ndnboost: Also rename BOOST_ to NDNBOOST_
diff --git a/include/ndn-cpp/common.hpp b/include/ndn-cpp/common.hpp
index a23356e..a0a4b09 100644
--- a/include/ndn-cpp/common.hpp
+++ b/include/ndn-cpp/common.hpp
@@ -32,6 +32,7 @@
 // (unset LANG; find . -type f -exec sed -i '' 's/\"boost\//\"ndnboost\//g' {} +)
 // (unset LANG; find . -type f -exec sed -i '' 's/\ boost\//\ ndnboost\//g' {} +)
 // (unset LANG; find . -type f -exec sed -i '' 's/(boost\//(ndnboost\//g' {} +)
+// (unset LANG; find . -type f -exec sed -i '' 's/BOOST_/NDNBOOST_/g' {} +)
 #include <ndnboost/shared_ptr.hpp>
 #include <ndnboost/make_shared.hpp>
 namespace ndn { namespace ptr_lib = ndnboost; }
diff --git a/include/ndnboost/algorithm/string/compare.hpp b/include/ndnboost/algorithm/string/compare.hpp
index e963120..4bebc21 100644
--- a/include/ndnboost/algorithm/string/compare.hpp
+++ b/include/ndnboost/algorithm/string/compare.hpp
@@ -8,8 +8,8 @@
 
 //  See http://www.boost.org/ for updates, documentation, and revision history.
 
-#ifndef BOOST_STRING_COMPARE_HPP
-#define BOOST_STRING_COMPARE_HPP
+#ifndef NDNBOOST_STRING_COMPARE_HPP
+#define NDNBOOST_STRING_COMPARE_HPP
 
 #include <ndnboost/algorithm/string/config.hpp>
 #include <locale>
@@ -196,4 +196,4 @@
 } // namespace ndnboost
 
 
-#endif  // BOOST_STRING_COMPARE_HPP
+#endif  // NDNBOOST_STRING_COMPARE_HPP
diff --git a/include/ndnboost/algorithm/string/concept.hpp b/include/ndnboost/algorithm/string/concept.hpp
index 31faa80..86698d3 100644
--- a/include/ndnboost/algorithm/string/concept.hpp
+++ b/include/ndnboost/algorithm/string/concept.hpp
@@ -8,8 +8,8 @@
 
 //  See http://www.boost.org/ for updates, documentation, and revision history.
 
-#ifndef BOOST_STRING_CONCEPT_HPP
-#define BOOST_STRING_CONCEPT_HPP
+#ifndef NDNBOOST_STRING_CONCEPT_HPP
+#define NDNBOOST_STRING_CONCEPT_HPP
 
 #include <ndnboost/concept_check.hpp>
 #include <ndnboost/range/iterator_range.hpp>
@@ -80,4 +80,4 @@
 
 
 
-#endif  // BOOST_STRING_CONCEPT_HPP
+#endif  // NDNBOOST_STRING_CONCEPT_HPP
diff --git a/include/ndnboost/algorithm/string/config.hpp b/include/ndnboost/algorithm/string/config.hpp
index 4ed3d05..0659c1f 100644
--- a/include/ndnboost/algorithm/string/config.hpp
+++ b/include/ndnboost/algorithm/string/config.hpp
@@ -8,21 +8,21 @@
 
 //  See http://www.boost.org/ for updates, documentation, and revision history.
 
-#ifndef BOOST_STRING_CONFIG_HPP
-#define BOOST_STRING_CONFIG_HPP
+#ifndef NDNBOOST_STRING_CONFIG_HPP
+#define NDNBOOST_STRING_CONFIG_HPP
 
 #include <ndnboost/config.hpp>
 #include <ndnboost/detail/workaround.hpp>
 
-#ifdef BOOST_STRING_DEDUCED_TYPENAME
+#ifdef NDNBOOST_STRING_DEDUCED_TYPENAME
 #   error "macro already defined!"
 #endif
 
-#define BOOST_STRING_TYPENAME BOOST_DEDUCED_TYPENAME
+#define NDNBOOST_STRING_TYPENAME NDNBOOST_DEDUCED_TYPENAME
 
 // Metrowerks workaround
-#if BOOST_WORKAROUND(__MWERKS__, <= 0x3003) // 8.x
+#if NDNBOOST_WORKAROUND(__MWERKS__, <= 0x3003) // 8.x
 #pragma parse_func_templ off
 #endif
 
-#endif  // BOOST_STRING_CONFIG_HPP
+#endif  // NDNBOOST_STRING_CONFIG_HPP
diff --git a/include/ndnboost/algorithm/string/constants.hpp b/include/ndnboost/algorithm/string/constants.hpp
index 232d0d8..21fe158 100644
--- a/include/ndnboost/algorithm/string/constants.hpp
+++ b/include/ndnboost/algorithm/string/constants.hpp
@@ -8,8 +8,8 @@
 
 //  See http://www.boost.org/ for updates, documentation, and revision history.
 
-#ifndef BOOST_STRING_CONSTANTS_HPP
-#define BOOST_STRING_CONSTANTS_HPP
+#ifndef NDNBOOST_STRING_CONSTANTS_HPP
+#define NDNBOOST_STRING_CONSTANTS_HPP
 
 namespace ndnboost {
     namespace algorithm {
@@ -32,5 +32,5 @@
 
 } // namespace ndnboost
 
-#endif  // BOOST_STRING_CONSTANTS_HPP
+#endif  // NDNBOOST_STRING_CONSTANTS_HPP
 
diff --git a/include/ndnboost/algorithm/string/detail/find_format.hpp b/include/ndnboost/algorithm/string/detail/find_format.hpp
index 395beaf..e59e40d 100644
--- a/include/ndnboost/algorithm/string/detail/find_format.hpp
+++ b/include/ndnboost/algorithm/string/detail/find_format.hpp
@@ -8,8 +8,8 @@
 
 //  See http://www.boost.org/ for updates, documentation, and revision history.
 
-#ifndef BOOST_STRING_FIND_FORMAT_DETAIL_HPP
-#define BOOST_STRING_FIND_FORMAT_DETAIL_HPP
+#ifndef NDNBOOST_STRING_FIND_FORMAT_DETAIL_HPP
+#define NDNBOOST_STRING_FIND_FORMAT_DETAIL_HPP
 
 #include <ndnboost/algorithm/string/config.hpp>
 #include <ndnboost/range/iterator_range.hpp>
@@ -38,7 +38,7 @@
                 const FormatResultT& FormatResult )
             {       
                 typedef find_format_store<
-                    BOOST_STRING_TYPENAME 
+                    NDNBOOST_STRING_TYPENAME 
                         range_const_iterator<InputT>::type, 
                         FormatterT,
                         FormatResultT > store_type;
@@ -102,7 +102,7 @@
                 const FormatResultT& FormatResult)
             {
                 typedef find_format_store<
-                    BOOST_STRING_TYPENAME 
+                    NDNBOOST_STRING_TYPENAME 
                         range_const_iterator<InputT>::type, 
                         FormatterT,
                         FormatResultT > store_type;
@@ -161,7 +161,7 @@
                 const FormatResultT& FormatResult)
             {
                 typedef find_format_store<
-                    BOOST_STRING_TYPENAME 
+                    NDNBOOST_STRING_TYPENAME 
                         range_iterator<InputT>::type, 
                         FormatterT,
                         FormatResultT > store_type;
@@ -201,4 +201,4 @@
     } // namespace algorithm
 } // namespace ndnboost
 
-#endif  // BOOST_STRING_FIND_FORMAT_DETAIL_HPP
+#endif  // NDNBOOST_STRING_FIND_FORMAT_DETAIL_HPP
diff --git a/include/ndnboost/algorithm/string/detail/find_format_all.hpp b/include/ndnboost/algorithm/string/detail/find_format_all.hpp
index ee0312a..22d0768 100644
--- a/include/ndnboost/algorithm/string/detail/find_format_all.hpp
+++ b/include/ndnboost/algorithm/string/detail/find_format_all.hpp
@@ -8,8 +8,8 @@
 
 //  See http://www.boost.org/ for updates, documentation, and revision history.
 
-#ifndef BOOST_STRING_FIND_FORMAT_ALL_DETAIL_HPP
-#define BOOST_STRING_FIND_FORMAT_ALL_DETAIL_HPP
+#ifndef NDNBOOST_STRING_FIND_FORMAT_ALL_DETAIL_HPP
+#define NDNBOOST_STRING_FIND_FORMAT_ALL_DETAIL_HPP
 
 #include <ndnboost/algorithm/string/config.hpp>
 #include <ndnboost/range/iterator_range.hpp>
@@ -39,7 +39,7 @@
                 const FindResultT& FindResult,
                 const FormatResultT& FormatResult )
             {       
-                typedef BOOST_STRING_TYPENAME 
+                typedef NDNBOOST_STRING_TYPENAME 
                     range_const_iterator<InputT>::type input_iterator_type; 
 
                 typedef find_format_store<
@@ -113,7 +113,7 @@
                 const FindResultT& FindResult,
                 const FormatResultT& FormatResult)
             {
-                typedef BOOST_STRING_TYPENAME 
+                typedef NDNBOOST_STRING_TYPENAME 
                     range_const_iterator<InputT>::type input_iterator_type; 
 
                 typedef find_format_store<
@@ -187,7 +187,7 @@
                 FindResultT FindResult,
                 FormatResultT FormatResult)
             {
-                typedef BOOST_STRING_TYPENAME 
+                typedef NDNBOOST_STRING_TYPENAME 
                     range_iterator<InputT>::type input_iterator_type; 
                 typedef find_format_store<
                         input_iterator_type, 
@@ -199,7 +199,7 @@
           
                 // Instantiate replacement storage
                 std::deque<
-                    BOOST_STRING_TYPENAME range_value<InputT>::type> Storage;
+                    NDNBOOST_STRING_TYPENAME range_value<InputT>::type> Storage;
 
                 // Initialize replacement iterators
                 input_iterator_type InsertIt=::ndnboost::begin(Input);
@@ -270,4 +270,4 @@
     } // namespace algorithm
 } // namespace ndnboost
 
-#endif  // BOOST_STRING_FIND_FORMAT_ALL_DETAIL_HPP
+#endif  // NDNBOOST_STRING_FIND_FORMAT_ALL_DETAIL_HPP
diff --git a/include/ndnboost/algorithm/string/detail/find_format_store.hpp b/include/ndnboost/algorithm/string/detail/find_format_store.hpp
index d0d38bf..89c137f 100644
--- a/include/ndnboost/algorithm/string/detail/find_format_store.hpp
+++ b/include/ndnboost/algorithm/string/detail/find_format_store.hpp
@@ -8,8 +8,8 @@
 
 //  See http://www.boost.org/ for updates, documentation, and revision history.
 
-#ifndef BOOST_STRING_FIND_FORMAT_STORE_DETAIL_HPP
-#define BOOST_STRING_FIND_FORMAT_STORE_DETAIL_HPP
+#ifndef NDNBOOST_STRING_FIND_FORMAT_STORE_DETAIL_HPP
+#define NDNBOOST_STRING_FIND_FORMAT_STORE_DETAIL_HPP
 
 #include <ndnboost/algorithm/string/config.hpp>
 #include <ndnboost/range/iterator_range.hpp>
@@ -20,7 +20,7 @@
 
 //  temporary format and find result storage --------------------------------//
 
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
+#if NDNBOOST_WORKAROUND(NDNBOOST_MSVC, >= 1400)
 #pragma warning(push)
 #pragma warning(disable:4512) //assignment operator could not be generated
 #endif
@@ -73,17 +73,17 @@
             template<typename InputT, typename FindResultT>
             bool check_find_result(InputT&, FindResultT& FindResult)
             {
-                typedef BOOST_STRING_TYPENAME 
+                typedef NDNBOOST_STRING_TYPENAME 
                     range_const_iterator<InputT>::type input_iterator_type; 
                 iterator_range<input_iterator_type> ResultRange(FindResult);
                 return !ResultRange.empty();
             }
 
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
+#if NDNBOOST_WORKAROUND(NDNBOOST_MSVC, >= 1400)
 #pragma warning(pop)
 #endif
         } // namespace detail
     } // namespace algorithm
 } // namespace ndnboost
 
-#endif  // BOOST_STRING_FIND_FORMAT_STORE_DETAIL_HPP
+#endif  // NDNBOOST_STRING_FIND_FORMAT_STORE_DETAIL_HPP
diff --git a/include/ndnboost/algorithm/string/detail/finder.hpp b/include/ndnboost/algorithm/string/detail/finder.hpp
index 330c7a5..6446e92 100644
--- a/include/ndnboost/algorithm/string/detail/finder.hpp
+++ b/include/ndnboost/algorithm/string/detail/finder.hpp
@@ -8,8 +8,8 @@
 
 //  See http://www.boost.org/ for updates, documentation, and revision history.
 
-#ifndef BOOST_STRING_FINDER_DETAIL_HPP
-#define BOOST_STRING_FINDER_DETAIL_HPP
+#ifndef NDNBOOST_STRING_FINDER_DETAIL_HPP
+#define NDNBOOST_STRING_FINDER_DETAIL_HPP
 
 #include <ndnboost/algorithm/string/config.hpp>
 #include <ndnboost/algorithm/string/constants.hpp>
@@ -127,7 +127,7 @@
                     if( ndnboost::empty(m_Search) )
                         return result_type( End, End );
 
-                    typedef BOOST_STRING_TYPENAME ndnboost::detail::
+                    typedef NDNBOOST_STRING_TYPENAME ndnboost::detail::
                         iterator_traits<ForwardIteratorT>::iterator_category category;
 
                     return findit( Begin, End, category() );
@@ -379,7 +379,7 @@
                 ForwardIteratorT End,
                 unsigned int N )
             {
-                typedef BOOST_STRING_TYPENAME ndnboost::detail::
+                typedef NDNBOOST_STRING_TYPENAME ndnboost::detail::
                     iterator_traits<ForwardIteratorT>::iterator_category category;
 
                 return ::ndnboost::algorithm::detail::find_head_impl( Begin, End, N, category() );
@@ -453,7 +453,7 @@
                 ForwardIteratorT End,
                 unsigned int N )
             {
-                typedef BOOST_STRING_TYPENAME ndnboost::detail::
+                typedef NDNBOOST_STRING_TYPENAME ndnboost::detail::
                     iterator_traits<ForwardIteratorT>::iterator_category category;
 
                 return ::ndnboost::algorithm::detail::find_tail_impl( Begin, End, N, category() );
@@ -625,9 +625,9 @@
                     ForwardIterator2T,
                     ForwardIterator2T ) const
                 {
-#if BOOST_WORKAROUND( __MWERKS__, <= 0x3003 ) 
+#if NDNBOOST_WORKAROUND( __MWERKS__, <= 0x3003 ) 
                     return iterator_range<const ForwardIterator2T>(this->m_Range);
-#elif BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
+#elif NDNBOOST_WORKAROUND(NDNBOOST_MSVC, <= 1300)
                     return iterator_range<ForwardIterator2T>(m_Range.begin(), m_Range.end());
 #else
                     return m_Range;
@@ -643,4 +643,4 @@
     } // namespace algorithm
 } // namespace ndnboost
 
-#endif  // BOOST_STRING_FINDER_DETAIL_HPP
+#endif  // NDNBOOST_STRING_FINDER_DETAIL_HPP
diff --git a/include/ndnboost/algorithm/string/detail/formatter.hpp b/include/ndnboost/algorithm/string/detail/formatter.hpp
index 0307310..14e5dee 100644
--- a/include/ndnboost/algorithm/string/detail/formatter.hpp
+++ b/include/ndnboost/algorithm/string/detail/formatter.hpp
@@ -8,8 +8,8 @@
 
 //  See http://www.boost.org for updates, documentation, and revision history.
 
-#ifndef BOOST_STRING_FORMATTER_DETAIL_HPP
-#define BOOST_STRING_FORMATTER_DETAIL_HPP
+#ifndef NDNBOOST_STRING_FORMATTER_DETAIL_HPP
+#define NDNBOOST_STRING_FORMATTER_DETAIL_HPP
 
 
 #include <ndnboost/range/iterator_range.hpp>
@@ -32,7 +32,7 @@
             struct const_formatF
             {
             private:
-                typedef BOOST_STRING_TYPENAME
+                typedef NDNBOOST_STRING_TYPENAME
                     range_const_iterator<RangeT>::type format_iterator;
                 typedef iterator_range<format_iterator> result_type;
             
@@ -42,7 +42,7 @@
                     m_Format(::ndnboost::begin(Format), ::ndnboost::end(Format)) {}
 
                 // Operation
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
+#if NDNBOOST_WORKAROUND(__BORLANDC__, NDNBOOST_TESTED_AT(0x564))
                 template<typename Range2T>
                 result_type& operator()(const Range2T&)
                 {
@@ -101,7 +101,7 @@
                   // Operation
                   template<typename RangeT>
                   inline iterator_range< 
-                      BOOST_STRING_TYPENAME range_const_iterator<RangeT>::type>
+                      NDNBOOST_STRING_TYPENAME range_const_iterator<RangeT>::type>
                   operator()(const RangeT& Replace) const
                   {
                       return m_Finder(::ndnboost::begin(Replace), ::ndnboost::end(Replace));
@@ -116,4 +116,4 @@
     } // namespace algorithm
 } // namespace ndnboost
 
-#endif  // BOOST_STRING_FORMATTER_DETAIL_HPP
+#endif  // NDNBOOST_STRING_FORMATTER_DETAIL_HPP
diff --git a/include/ndnboost/algorithm/string/detail/replace_storage.hpp b/include/ndnboost/algorithm/string/detail/replace_storage.hpp
index 6fb6c54..274d858 100644
--- a/include/ndnboost/algorithm/string/detail/replace_storage.hpp
+++ b/include/ndnboost/algorithm/string/detail/replace_storage.hpp
@@ -8,8 +8,8 @@
 
 //  See http://www.boost.org/ for updates, documentation, and revision history.
 
-#ifndef BOOST_STRING_REPLACE_STORAGE_DETAIL_HPP
-#define BOOST_STRING_REPLACE_STORAGE_DETAIL_HPP
+#ifndef NDNBOOST_STRING_REPLACE_STORAGE_DETAIL_HPP
+#define NDNBOOST_STRING_REPLACE_STORAGE_DETAIL_HPP
 
 #include <ndnboost/algorithm/string/config.hpp>
 #include <algorithm>
@@ -156,4 +156,4 @@
     } // namespace algorithm
 } // namespace ndnboost
 
-#endif  // BOOST_STRING_REPLACE_STORAGE_DETAIL_HPP
+#endif  // NDNBOOST_STRING_REPLACE_STORAGE_DETAIL_HPP
diff --git a/include/ndnboost/algorithm/string/detail/sequence.hpp b/include/ndnboost/algorithm/string/detail/sequence.hpp
index 0b39a8b..be67f29 100644
--- a/include/ndnboost/algorithm/string/detail/sequence.hpp
+++ b/include/ndnboost/algorithm/string/detail/sequence.hpp
@@ -8,8 +8,8 @@
 
 //  See http://www.boost.org/ for updates, documentation, and revision history.
 
-#ifndef BOOST_STRING_DETAIL_SEQUENCE_HPP
-#define BOOST_STRING_DETAIL_SEQUENCE_HPP
+#ifndef NDNBOOST_STRING_DETAIL_SEQUENCE_HPP
+#define NDNBOOST_STRING_DETAIL_SEQUENCE_HPP
 
 #include <ndnboost/algorithm/string/config.hpp>
 #include <ndnboost/mpl/bool.hpp>
@@ -28,7 +28,7 @@
             template< typename InputT, typename ForwardIteratorT >
             inline void insert(
                 InputT& Input,
-                BOOST_STRING_TYPENAME InputT::iterator At,
+                NDNBOOST_STRING_TYPENAME InputT::iterator At,
                 ForwardIteratorT Begin,
                 ForwardIteratorT End )
             {
@@ -38,7 +38,7 @@
             template< typename InputT, typename InsertT >
             inline void insert(
                 InputT& Input,
-                BOOST_STRING_TYPENAME InputT::iterator At,
+                NDNBOOST_STRING_TYPENAME InputT::iterator At,
                 const InsertT& Insert )
             {
                 ::ndnboost::algorithm::detail::insert( Input, At, ::ndnboost::begin(Insert), ::ndnboost::end(Insert) );
@@ -53,8 +53,8 @@
             template< typename InputT >
             inline typename InputT::iterator erase(
                 InputT& Input,
-                BOOST_STRING_TYPENAME InputT::iterator From,
-                BOOST_STRING_TYPENAME InputT::iterator To )
+                NDNBOOST_STRING_TYPENAME InputT::iterator From,
+                NDNBOOST_STRING_TYPENAME InputT::iterator To )
             {
                 return Input.erase( From, To );
             }
@@ -69,14 +69,14 @@
                 template< typename InputT, typename ForwardIteratorT >
                 void operator()(
                     InputT& Input,
-                    BOOST_STRING_TYPENAME InputT::iterator From,
-                    BOOST_STRING_TYPENAME InputT::iterator To,
+                    NDNBOOST_STRING_TYPENAME InputT::iterator From,
+                    NDNBOOST_STRING_TYPENAME InputT::iterator To,
                     ForwardIteratorT Begin,
                     ForwardIteratorT End )
                 {
                     // Copy data to the container ( as much as possible )
                     ForwardIteratorT InsertIt=Begin;
-                    BOOST_STRING_TYPENAME InputT::iterator InputIt=From;
+                    NDNBOOST_STRING_TYPENAME InputT::iterator InputIt=From;
                     for(; InsertIt!=End && InputIt!=To; InsertIt++, InputIt++ )
                     {
                         *InputIt=*InsertIt;
@@ -105,12 +105,12 @@
                 template< typename InputT, typename ForwardIteratorT >
                 void operator()(
                     InputT& Input,
-                    BOOST_STRING_TYPENAME InputT::iterator From,
-                    BOOST_STRING_TYPENAME InputT::iterator To,
+                    NDNBOOST_STRING_TYPENAME InputT::iterator From,
+                    NDNBOOST_STRING_TYPENAME InputT::iterator To,
                     ForwardIteratorT Begin,
                     ForwardIteratorT End ) 
                 {
-                    BOOST_STRING_TYPENAME InputT::iterator At=Input.erase( From, To );
+                    NDNBOOST_STRING_TYPENAME InputT::iterator At=Input.erase( From, To );
                     if ( Begin!=End )
                     {
                         if(!Input.empty())
@@ -132,8 +132,8 @@
                 template< typename InputT, typename ForwardIteratorT >
                 void operator()(
                     InputT& Input,
-                    BOOST_STRING_TYPENAME InputT::iterator From,
-                    BOOST_STRING_TYPENAME InputT::iterator To,
+                    NDNBOOST_STRING_TYPENAME InputT::iterator From,
+                    NDNBOOST_STRING_TYPENAME InputT::iterator To,
                     ForwardIteratorT Begin,
                     ForwardIteratorT End ) 
                 {
@@ -152,8 +152,8 @@
                 template< typename InputT, typename ForwardIteratorT >
                 void operator()(
                     InputT& Input,
-                    BOOST_STRING_TYPENAME InputT::iterator From,
-                    BOOST_STRING_TYPENAME InputT::iterator To,
+                    NDNBOOST_STRING_TYPENAME InputT::iterator From,
+                    NDNBOOST_STRING_TYPENAME InputT::iterator To,
                     ForwardIteratorT Begin,
                     ForwardIteratorT End )
                 {
@@ -166,8 +166,8 @@
             template< typename InputT, typename ForwardIteratorT >
             inline void replace(
                 InputT& Input,
-                BOOST_STRING_TYPENAME InputT::iterator From,
-                BOOST_STRING_TYPENAME InputT::iterator To,
+                NDNBOOST_STRING_TYPENAME InputT::iterator From,
+                NDNBOOST_STRING_TYPENAME InputT::iterator To,
                 ForwardIteratorT Begin,
                 ForwardIteratorT End )
             {
@@ -178,8 +178,8 @@
             template< typename InputT, typename InsertT >
             inline void replace(
                 InputT& Input,
-                BOOST_STRING_TYPENAME InputT::iterator From,
-                BOOST_STRING_TYPENAME InputT::iterator To,
+                NDNBOOST_STRING_TYPENAME InputT::iterator From,
+                NDNBOOST_STRING_TYPENAME InputT::iterator To,
                 const InsertT& Insert )
             {
                 if(From!=To)
@@ -197,4 +197,4 @@
 } // namespace ndnboost
 
 
-#endif  // BOOST_STRING_DETAIL_SEQUENCE_HPP
+#endif  // NDNBOOST_STRING_DETAIL_SEQUENCE_HPP
diff --git a/include/ndnboost/algorithm/string/detail/util.hpp b/include/ndnboost/algorithm/string/detail/util.hpp
index fa34548..c83893d 100644
--- a/include/ndnboost/algorithm/string/detail/util.hpp
+++ b/include/ndnboost/algorithm/string/detail/util.hpp
@@ -8,8 +8,8 @@
 
 //  See http://www.boost.org/ for updates, documentation, and revision history.
 
-#ifndef BOOST_STRING_UTIL_DETAIL_HPP
-#define BOOST_STRING_UTIL_DETAIL_HPP
+#ifndef NDNBOOST_STRING_UTIL_DETAIL_HPP
+#define NDNBOOST_STRING_UTIL_DETAIL_HPP
 
 #include <ndnboost/algorithm/string/config.hpp>
 #include <functional>
@@ -88,7 +88,7 @@
             // copy range functor
             template< 
                 typename SeqT, 
-                typename IteratorT=BOOST_STRING_TYPENAME SeqT::const_iterator >
+                typename IteratorT=NDNBOOST_STRING_TYPENAME SeqT::const_iterator >
             struct copy_iterator_rangeF : 
                 public std::unary_function< iterator_range<IteratorT>, SeqT >
             {
@@ -103,4 +103,4 @@
 } // namespace ndnboost
 
 
-#endif  // BOOST_STRING_UTIL_DETAIL_HPP
+#endif  // NDNBOOST_STRING_UTIL_DETAIL_HPP
diff --git a/include/ndnboost/algorithm/string/find_format.hpp b/include/ndnboost/algorithm/string/find_format.hpp
index 5352eba..7b7dd3e 100644
--- a/include/ndnboost/algorithm/string/find_format.hpp
+++ b/include/ndnboost/algorithm/string/find_format.hpp
@@ -8,8 +8,8 @@
 
 //  See http://www.boost.org/ for updates, documentation, and revision history.
 
-#ifndef BOOST_STRING_FIND_FORMAT_HPP
-#define BOOST_STRING_FIND_FORMAT_HPP
+#ifndef NDNBOOST_STRING_FIND_FORMAT_HPP
+#define NDNBOOST_STRING_FIND_FORMAT_HPP
 
 #include <deque>
 #include <ndnboost/detail/iterator.hpp>
@@ -62,18 +62,18 @@
             FormatterT Formatter )
         {
             // Concept check
-            BOOST_CONCEPT_ASSERT((
+            NDNBOOST_CONCEPT_ASSERT((
                 FinderConcept<
                     FinderT,
-                    BOOST_STRING_TYPENAME range_const_iterator<RangeT>::type>
+                    NDNBOOST_STRING_TYPENAME range_const_iterator<RangeT>::type>
                 ));
-            BOOST_CONCEPT_ASSERT((
+            NDNBOOST_CONCEPT_ASSERT((
                 FormatterConcept<
                     FormatterT,
-                    FinderT,BOOST_STRING_TYPENAME range_const_iterator<RangeT>::type>
+                    FinderT,NDNBOOST_STRING_TYPENAME range_const_iterator<RangeT>::type>
                 ));
 
-            iterator_range<BOOST_STRING_TYPENAME range_const_iterator<RangeT>::type> lit_input(::ndnboost::as_literal(Input));
+            iterator_range<NDNBOOST_STRING_TYPENAME range_const_iterator<RangeT>::type> lit_input(::ndnboost::as_literal(Input));
 
             return detail::find_format_copy_impl(
                 Output,
@@ -96,15 +96,15 @@
             FormatterT Formatter )
         {
             // Concept check
-            BOOST_CONCEPT_ASSERT((
+            NDNBOOST_CONCEPT_ASSERT((
                 FinderConcept<
                     FinderT,
-                    BOOST_STRING_TYPENAME range_const_iterator<SequenceT>::type>
+                    NDNBOOST_STRING_TYPENAME range_const_iterator<SequenceT>::type>
                 ));
-            BOOST_CONCEPT_ASSERT((
+            NDNBOOST_CONCEPT_ASSERT((
                 FormatterConcept<
                     FormatterT,
-                    FinderT,BOOST_STRING_TYPENAME range_const_iterator<SequenceT>::type>
+                    FinderT,NDNBOOST_STRING_TYPENAME range_const_iterator<SequenceT>::type>
                 ));
 
             return detail::find_format_copy_impl(
@@ -132,15 +132,15 @@
             FormatterT Formatter)
         {
             // Concept check
-            BOOST_CONCEPT_ASSERT((
+            NDNBOOST_CONCEPT_ASSERT((
                 FinderConcept<
                     FinderT,
-                    BOOST_STRING_TYPENAME range_const_iterator<SequenceT>::type>
+                    NDNBOOST_STRING_TYPENAME range_const_iterator<SequenceT>::type>
                 ));
-            BOOST_CONCEPT_ASSERT(( 
+            NDNBOOST_CONCEPT_ASSERT(( 
                 FormatterConcept<
                     FormatterT,
-                    FinderT,BOOST_STRING_TYPENAME range_const_iterator<SequenceT>::type>
+                    FinderT,NDNBOOST_STRING_TYPENAME range_const_iterator<SequenceT>::type>
                 ));
 
             detail::find_format_impl(
@@ -181,18 +181,18 @@
             FormatterT Formatter)
         {
             // Concept check
-            BOOST_CONCEPT_ASSERT(( 
+            NDNBOOST_CONCEPT_ASSERT(( 
                 FinderConcept<
                     FinderT,
-                    BOOST_STRING_TYPENAME range_const_iterator<RangeT>::type>
+                    NDNBOOST_STRING_TYPENAME range_const_iterator<RangeT>::type>
                 ));
-            BOOST_CONCEPT_ASSERT(( 
+            NDNBOOST_CONCEPT_ASSERT(( 
                 FormatterConcept<
                     FormatterT,
-                    FinderT,BOOST_STRING_TYPENAME range_const_iterator<RangeT>::type>
+                    FinderT,NDNBOOST_STRING_TYPENAME range_const_iterator<RangeT>::type>
                 ));
 
-            iterator_range<BOOST_STRING_TYPENAME range_const_iterator<RangeT>::type> lit_input(::ndnboost::as_literal(Input));
+            iterator_range<NDNBOOST_STRING_TYPENAME range_const_iterator<RangeT>::type> lit_input(::ndnboost::as_literal(Input));
 
             return detail::find_format_all_copy_impl(
                 Output,
@@ -216,15 +216,15 @@
             FormatterT Formatter )
         {
             // Concept check
-            BOOST_CONCEPT_ASSERT((
+            NDNBOOST_CONCEPT_ASSERT((
                 FinderConcept<
                     FinderT,
-                    BOOST_STRING_TYPENAME range_const_iterator<SequenceT>::type>
+                    NDNBOOST_STRING_TYPENAME range_const_iterator<SequenceT>::type>
                 ));
-            BOOST_CONCEPT_ASSERT((
+            NDNBOOST_CONCEPT_ASSERT((
                 FormatterConcept<
                     FormatterT,
-                    FinderT,BOOST_STRING_TYPENAME range_const_iterator<SequenceT>::type>
+                    FinderT,NDNBOOST_STRING_TYPENAME range_const_iterator<SequenceT>::type>
                 ));
 
             return detail::find_format_all_copy_impl(
@@ -254,15 +254,15 @@
             FormatterT Formatter )
         {
             // Concept check
-            BOOST_CONCEPT_ASSERT((
+            NDNBOOST_CONCEPT_ASSERT((
                 FinderConcept<
                     FinderT,
-                    BOOST_STRING_TYPENAME range_const_iterator<SequenceT>::type>
+                    NDNBOOST_STRING_TYPENAME range_const_iterator<SequenceT>::type>
                 ));
-            BOOST_CONCEPT_ASSERT((
+            NDNBOOST_CONCEPT_ASSERT((
                 FormatterConcept<
                     FormatterT,
-                    FinderT,BOOST_STRING_TYPENAME range_const_iterator<SequenceT>::type>
+                    FinderT,NDNBOOST_STRING_TYPENAME range_const_iterator<SequenceT>::type>
                 ));
 
             detail::find_format_all_impl(
@@ -284,4 +284,4 @@
 } // namespace ndnboost
 
 
-#endif  // BOOST_STRING_FIND_FORMAT_HPP
+#endif  // NDNBOOST_STRING_FIND_FORMAT_HPP
diff --git a/include/ndnboost/algorithm/string/finder.hpp b/include/ndnboost/algorithm/string/finder.hpp
index 420e015..4bc64d2 100644
--- a/include/ndnboost/algorithm/string/finder.hpp
+++ b/include/ndnboost/algorithm/string/finder.hpp
@@ -8,8 +8,8 @@
 
 //  See http://www.boost.org/ for updates, documentation, and revision history.
 
-#ifndef BOOST_STRING_FINDER_HPP
-#define BOOST_STRING_FINDER_HPP
+#ifndef NDNBOOST_STRING_FINDER_HPP
+#define NDNBOOST_STRING_FINDER_HPP
 
 #include <ndnboost/algorithm/string/config.hpp>
 
@@ -48,13 +48,13 @@
         */
         template<typename RangeT>
         inline detail::first_finderF<
-            BOOST_STRING_TYPENAME range_const_iterator<RangeT>::type,
+            NDNBOOST_STRING_TYPENAME range_const_iterator<RangeT>::type,
             is_equal>
         first_finder( const RangeT& Search )
         {
             return 
                 detail::first_finderF<
-                    BOOST_STRING_TYPENAME 
+                    NDNBOOST_STRING_TYPENAME 
                         range_const_iterator<RangeT>::type,
                         is_equal>( ::ndnboost::as_literal(Search), is_equal() ) ;
         }
@@ -65,14 +65,14 @@
         */
         template<typename RangeT,typename PredicateT>
         inline detail::first_finderF<
-            BOOST_STRING_TYPENAME range_const_iterator<RangeT>::type,
+            NDNBOOST_STRING_TYPENAME range_const_iterator<RangeT>::type,
             PredicateT>
         first_finder( 
             const RangeT& Search, PredicateT Comp )
         {
             return 
                 detail::first_finderF<
-                    BOOST_STRING_TYPENAME 
+                    NDNBOOST_STRING_TYPENAME 
                         range_const_iterator<RangeT>::type,
                     PredicateT>( ::ndnboost::as_literal(Search), Comp );
         }
@@ -89,13 +89,13 @@
         */
         template<typename RangeT>
         inline detail::last_finderF<
-            BOOST_STRING_TYPENAME range_const_iterator<RangeT>::type,
+            NDNBOOST_STRING_TYPENAME range_const_iterator<RangeT>::type,
             is_equal>
         last_finder( const RangeT& Search )
         {
             return 
                 detail::last_finderF<
-                    BOOST_STRING_TYPENAME 
+                    NDNBOOST_STRING_TYPENAME 
                         range_const_iterator<RangeT>::type,
                     is_equal>( ::ndnboost::as_literal(Search), is_equal() );
         }
@@ -105,13 +105,13 @@
         */
         template<typename RangeT, typename PredicateT>
         inline detail::last_finderF<
-            BOOST_STRING_TYPENAME range_const_iterator<RangeT>::type,
+            NDNBOOST_STRING_TYPENAME range_const_iterator<RangeT>::type,
             PredicateT>
         last_finder( const RangeT& Search, PredicateT Comp )
         {
             return 
                 detail::last_finderF<
-                    BOOST_STRING_TYPENAME 
+                    NDNBOOST_STRING_TYPENAME 
                         range_const_iterator<RangeT>::type,
                     PredicateT>( ::ndnboost::as_literal(Search), Comp ) ;
         }
@@ -129,7 +129,7 @@
         */
         template<typename RangeT>
         inline detail::nth_finderF<
-            BOOST_STRING_TYPENAME range_const_iterator<RangeT>::type,
+            NDNBOOST_STRING_TYPENAME range_const_iterator<RangeT>::type,
             is_equal>
         nth_finder( 
             const RangeT& Search, 
@@ -137,7 +137,7 @@
         {
             return 
                 detail::nth_finderF<
-                    BOOST_STRING_TYPENAME 
+                    NDNBOOST_STRING_TYPENAME 
                         range_const_iterator<RangeT>::type,
                     is_equal>( ::ndnboost::as_literal(Search), Nth, is_equal() ) ;
         }
@@ -147,7 +147,7 @@
         */
         template<typename RangeT, typename PredicateT>
         inline detail::nth_finderF<
-            BOOST_STRING_TYPENAME range_const_iterator<RangeT>::type,
+            NDNBOOST_STRING_TYPENAME range_const_iterator<RangeT>::type,
             PredicateT>
         nth_finder( 
             const RangeT& Search, 
@@ -156,7 +156,7 @@
         {
             return 
                 detail::nth_finderF<
-                    BOOST_STRING_TYPENAME 
+                    NDNBOOST_STRING_TYPENAME 
                         range_const_iterator<RangeT>::type,
                     PredicateT>( ::ndnboost::as_literal(Search), Nth, Comp );
         }
@@ -267,4 +267,4 @@
 } // namespace ndnboost
 
 
-#endif  // BOOST_STRING_FINDER_HPP
+#endif  // NDNBOOST_STRING_FINDER_HPP
diff --git a/include/ndnboost/algorithm/string/formatter.hpp b/include/ndnboost/algorithm/string/formatter.hpp
index 5739b40..746d268 100644
--- a/include/ndnboost/algorithm/string/formatter.hpp
+++ b/include/ndnboost/algorithm/string/formatter.hpp
@@ -8,8 +8,8 @@
 
 //  See http://www.boost.org/ for updates, documentation, and revision history.
 
-#ifndef BOOST_STRING_FORMATTER_HPP
-#define BOOST_STRING_FORMATTER_HPP
+#ifndef NDNBOOST_STRING_FORMATTER_HPP
+#define NDNBOOST_STRING_FORMATTER_HPP
 
 #include <ndnboost/detail/iterator.hpp>
 #include <ndnboost/range/value_type.hpp>
@@ -45,12 +45,12 @@
         template<typename RangeT>
         inline detail::const_formatF<
             iterator_range<
-                BOOST_STRING_TYPENAME range_const_iterator<RangeT>::type> >
+                NDNBOOST_STRING_TYPENAME range_const_iterator<RangeT>::type> >
         const_formatter(const RangeT& Format)
         {
             return detail::const_formatF<
                 iterator_range<
-                    BOOST_STRING_TYPENAME range_const_iterator<RangeT>::type> >(::ndnboost::as_literal(Format));
+                    NDNBOOST_STRING_TYPENAME range_const_iterator<RangeT>::type> >(::ndnboost::as_literal(Format));
         }
 
         //! Identity formatter
@@ -63,12 +63,12 @@
         template<typename RangeT>
         inline detail::identity_formatF<
             iterator_range<
-                BOOST_STRING_TYPENAME range_const_iterator<RangeT>::type> >
+                NDNBOOST_STRING_TYPENAME range_const_iterator<RangeT>::type> >
         identity_formatter()
         {
             return detail::identity_formatF<
                 iterator_range<
-                    BOOST_STRING_TYPENAME range_const_iterator<RangeT>::type> >();
+                    NDNBOOST_STRING_TYPENAME range_const_iterator<RangeT>::type> >();
         }
 
         //! Empty formatter
@@ -82,11 +82,11 @@
         */
         template<typename RangeT>
         inline detail::empty_formatF< 
-            BOOST_STRING_TYPENAME range_value<RangeT>::type>
+            NDNBOOST_STRING_TYPENAME range_value<RangeT>::type>
         empty_formatter(const RangeT&)
         {
             return detail::empty_formatF<
-                BOOST_STRING_TYPENAME range_value<RangeT>::type>();
+                NDNBOOST_STRING_TYPENAME range_value<RangeT>::type>();
         }
 
         //! Empty formatter
@@ -117,4 +117,4 @@
 } // namespace ndnboost
 
 
-#endif  // BOOST_FORMATTER_HPP
+#endif  // NDNBOOST_FORMATTER_HPP
diff --git a/include/ndnboost/algorithm/string/replace.hpp b/include/ndnboost/algorithm/string/replace.hpp
index 11afce4..0d15e64 100644
--- a/include/ndnboost/algorithm/string/replace.hpp
+++ b/include/ndnboost/algorithm/string/replace.hpp
@@ -8,8 +8,8 @@
 
 //  See http://www.boost.org/ for updates, documentation, and revision history.
 
-#ifndef BOOST_STRING_REPLACE_HPP
-#define BOOST_STRING_REPLACE_HPP
+#ifndef NDNBOOST_STRING_REPLACE_HPP
+#define NDNBOOST_STRING_REPLACE_HPP
 
 #include <ndnboost/algorithm/string/config.hpp>
 
@@ -57,7 +57,7 @@
             OutputIteratorT Output,
             const Range1T& Input,
             const iterator_range<
-                BOOST_STRING_TYPENAME 
+                NDNBOOST_STRING_TYPENAME 
                     range_const_iterator<Range1T>::type>& SearchRange,
             const Range2T& Format)
         {
@@ -76,7 +76,7 @@
         inline SequenceT replace_range_copy( 
             const SequenceT& Input,
             const iterator_range<
-                BOOST_STRING_TYPENAME 
+                NDNBOOST_STRING_TYPENAME 
                     range_const_iterator<SequenceT>::type>& SearchRange,
             const RangeT& Format)
         {
@@ -99,7 +99,7 @@
         inline void replace_range( 
             SequenceT& Input,
             const iterator_range<
-                BOOST_STRING_TYPENAME 
+                NDNBOOST_STRING_TYPENAME 
                     range_iterator<SequenceT>::type>& SearchRange,
             const RangeT& Format)
         {
@@ -925,4 +925,4 @@
 
 } // namespace ndnboost
 
-#endif  // BOOST_REPLACE_HPP
+#endif  // NDNBOOST_REPLACE_HPP
diff --git a/include/ndnboost/algorithm/string/sequence_traits.hpp b/include/ndnboost/algorithm/string/sequence_traits.hpp
index b0de2d7..a337fa3 100644
--- a/include/ndnboost/algorithm/string/sequence_traits.hpp
+++ b/include/ndnboost/algorithm/string/sequence_traits.hpp
@@ -8,8 +8,8 @@
 
 //  See http://www.boost.org/ for updates, documentation, and revision history.
 
-#ifndef BOOST_STRING_SEQUENCE_TRAITS_HPP
-#define BOOST_STRING_SEQUENCE_TRAITS_HPP
+#ifndef NDNBOOST_STRING_SEQUENCE_TRAITS_HPP
+#define NDNBOOST_STRING_SEQUENCE_TRAITS_HPP
 
 #include <ndnboost/config.hpp>
 #include <ndnboost/mpl/bool.hpp>
@@ -36,7 +36,7 @@
 
 //  sequence traits  -----------------------------------------------//
 
-#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#ifdef NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 
         //! Native replace tester
         /*!
@@ -76,7 +76,7 @@
         */
         no_type has_const_time_erase_tester(...);
 
-#endif //BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#endif //NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 
         //! Native replace trait
         /*!
@@ -86,20 +86,20 @@
         class has_native_replace
         {
 
-#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#ifdef NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
         private:
             static T* t;
         public:
-            BOOST_STATIC_CONSTANT(bool, value=(
+            NDNBOOST_STATIC_CONSTANT(bool, value=(
                 sizeof(has_native_replace_tester(t))==sizeof(yes_type) ) );
-#else  // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#else  // NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
         public:
-#    if BOOST_WORKAROUND( __IBMCPP__, <= 600 )
+#    if NDNBOOST_WORKAROUND( __IBMCPP__, <= 600 )
             enum { value = false };
 #    else
-            BOOST_STATIC_CONSTANT(bool, value=false);
-#    endif // BOOST_WORKAROUND( __IBMCPP__, <= 600 )
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+            NDNBOOST_STATIC_CONSTANT(bool, value=false);
+#    endif // NDNBOOST_WORKAROUND( __IBMCPP__, <= 600 )
+#endif // NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 
 
             typedef mpl::bool_<has_native_replace<T>::value> type;
@@ -114,20 +114,20 @@
         template< typename T >
         class has_stable_iterators
         {
-#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#ifdef NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
         private:
             static T* t;
         public:
-            BOOST_STATIC_CONSTANT(bool, value=(
+            NDNBOOST_STATIC_CONSTANT(bool, value=(
                 sizeof(has_stable_iterators_tester(t))==sizeof(yes_type) ) );
-#else  // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#else  // NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
         public:
-#    if BOOST_WORKAROUND( __IBMCPP__, <= 600 )
+#    if NDNBOOST_WORKAROUND( __IBMCPP__, <= 600 )
             enum { value = false };
 #    else
-            BOOST_STATIC_CONSTANT(bool, value=false);
-#    endif // BOOST_WORKAROUND( __IBMCPP__, <= 600 )
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+            NDNBOOST_STATIC_CONSTANT(bool, value=false);
+#    endif // NDNBOOST_WORKAROUND( __IBMCPP__, <= 600 )
+#endif // NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 
             typedef mpl::bool_<has_stable_iterators<T>::value> type;
         };
@@ -141,20 +141,20 @@
         template< typename T >
         class has_const_time_insert
         {
-#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#ifdef NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
         private:
             static T* t;
         public:
-            BOOST_STATIC_CONSTANT(bool, value=(
+            NDNBOOST_STATIC_CONSTANT(bool, value=(
                 sizeof(has_const_time_insert_tester(t))==sizeof(yes_type) ) );
-#else  // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#else  // NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
         public:
-#    if BOOST_WORKAROUND( __IBMCPP__, <= 600 )
+#    if NDNBOOST_WORKAROUND( __IBMCPP__, <= 600 )
             enum { value = false };
 #    else
-            BOOST_STATIC_CONSTANT(bool, value=false);
-#    endif // BOOST_WORKAROUND( __IBMCPP__, <= 600 )
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+            NDNBOOST_STATIC_CONSTANT(bool, value=false);
+#    endif // NDNBOOST_WORKAROUND( __IBMCPP__, <= 600 )
+#endif // NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 
             typedef mpl::bool_<has_const_time_insert<T>::value> type;
         };
@@ -168,20 +168,20 @@
         template< typename T >
         class has_const_time_erase
         {
-#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#ifdef NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
         private:
             static T* t;
         public:
-            BOOST_STATIC_CONSTANT(bool, value=(
+            NDNBOOST_STATIC_CONSTANT(bool, value=(
                 sizeof(has_const_time_erase_tester(t))==sizeof(yes_type) ) );
-#else  // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#else  // NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
         public:
-#    if BOOST_WORKAROUND( __IBMCPP__, <= 600 )
+#    if NDNBOOST_WORKAROUND( __IBMCPP__, <= 600 )
             enum { value = false };
 #    else
-            BOOST_STATIC_CONSTANT(bool, value=false);
-#    endif // BOOST_WORKAROUND( __IBMCPP__, <= 600 )
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+            NDNBOOST_STATIC_CONSTANT(bool, value=false);
+#    endif // NDNBOOST_WORKAROUND( __IBMCPP__, <= 600 )
+#endif // NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 
             typedef mpl::bool_<has_const_time_erase<T>::value> type;
         };
@@ -190,4 +190,4 @@
 } // namespace ndnboost
 
 
-#endif  // BOOST_STRING_SEQUENCE_TRAITS_HPP
+#endif  // NDNBOOST_STRING_SEQUENCE_TRAITS_HPP
diff --git a/include/ndnboost/algorithm/string/yes_no_type.hpp b/include/ndnboost/algorithm/string/yes_no_type.hpp
index 740c7b1..97f1d8d 100644
--- a/include/ndnboost/algorithm/string/yes_no_type.hpp
+++ b/include/ndnboost/algorithm/string/yes_no_type.hpp
@@ -8,8 +8,8 @@
 
 //  See http://www.boost.org/ for updates, documentation, and revision history.
 
-#ifndef BOOST_STRING_YES_NO_TYPE_DETAIL_HPP
-#define BOOST_STRING_YES_NO_TYPE_DETAIL_HPP
+#ifndef NDNBOOST_STRING_YES_NO_TYPE_DETAIL_HPP
+#define NDNBOOST_STRING_YES_NO_TYPE_DETAIL_HPP
 
 namespace ndnboost {
     namespace algorithm {
@@ -30,4 +30,4 @@
 } // namespace ndnboost
 
 
-#endif  // BOOST_STRING_YES_NO_TYPE_DETAIL_HPP
+#endif  // NDNBOOST_STRING_YES_NO_TYPE_DETAIL_HPP
diff --git a/include/ndnboost/aligned_storage.hpp b/include/ndnboost/aligned_storage.hpp
index a462bb9..676132e 100644
--- a/include/ndnboost/aligned_storage.hpp
+++ b/include/ndnboost/aligned_storage.hpp
@@ -10,8 +10,8 @@
 // accompanying file LICENSE_1_0.txt or copy at
 // http://www.boost.org/LICENSE_1_0.txt)
 
-#ifndef BOOST_ALIGNED_STORAGE_HPP
-#define BOOST_ALIGNED_STORAGE_HPP
+#ifndef NDNBOOST_ALIGNED_STORAGE_HPP
+#define NDNBOOST_ALIGNED_STORAGE_HPP
 
 #include <cstddef> // for std::size_t
 
@@ -30,7 +30,7 @@
 
 namespace detail { namespace aligned_storage {
 
-BOOST_STATIC_CONSTANT(
+NDNBOOST_STATIC_CONSTANT(
       std::size_t
     , alignment_of_max_align = ::ndnboost::alignment_of<max_align>::value
     );
@@ -83,11 +83,11 @@
 
     typedef detail::aligned_storage::aligned_storage_imp<size_, alignment_> type;
 
-    BOOST_STATIC_CONSTANT(
+    NDNBOOST_STATIC_CONSTANT(
           std::size_t
         , size = size_
         );
-    BOOST_STATIC_CONSTANT(
+    NDNBOOST_STATIC_CONSTANT(
           std::size_t
         , alignment = (
               alignment_ == std::size_t(-1)
@@ -132,7 +132,7 @@
         return static_cast<type*>(this)->address();
     }
 
-#if !BOOST_WORKAROUND(BOOST_MSVC, < 1300)
+#if !NDNBOOST_WORKAROUND(NDNBOOST_MSVC, < 1300)
 
     const void* address() const
     {
@@ -147,7 +147,7 @@
 
 };
 
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
+#if NDNBOOST_WORKAROUND(NDNBOOST_MSVC, < 1300)
 
 // MSVC6 seems not to like inline functions with const void* returns, so we
 // declare the following here:
@@ -160,16 +160,16 @@
 
 #endif // MSVC6 workaround
 
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#ifndef NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 //
 // Make sure that is_pod recognises aligned_storage<>::type
 // as a POD (Note that aligned_storage<> itself is not a POD):
 //
 template <std::size_t size_, std::size_t alignment_>
 struct is_pod<ndnboost::detail::aligned_storage::aligned_storage_imp<size_,alignment_> >
-   BOOST_TT_AUX_BOOL_C_BASE(true)
+   NDNBOOST_TT_AUX_BOOL_C_BASE(true)
 { 
-    BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(true)
+    NDNBOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(true)
 }; 
 #endif
 
@@ -178,4 +178,4 @@
 
 #include "ndnboost/type_traits/detail/bool_trait_undef.hpp"
 
-#endif // BOOST_ALIGNED_STORAGE_HPP
+#endif // NDNBOOST_ALIGNED_STORAGE_HPP
diff --git a/include/ndnboost/any.hpp b/include/ndnboost/any.hpp
index 5127932..eeefb64 100644
--- a/include/ndnboost/any.hpp
+++ b/include/ndnboost/any.hpp
@@ -1,7 +1,7 @@
 // See http://www.boost.org/libs/any for Documentation.
 
-#ifndef BOOST_ANY_INCLUDED
-#define BOOST_ANY_INCLUDED
+#ifndef NDNBOOST_ANY_INCLUDED
+#define NDNBOOST_ANY_INCLUDED
 
 #if defined(_MSC_VER) && (_MSC_VER >= 1020)
 # pragma once
@@ -26,13 +26,13 @@
 #include <ndnboost/type_traits/is_same.hpp>
 
 // See ndnboost/python/type_id.hpp
-// TODO: add BOOST_TYPEID_COMPARE_BY_NAME to config.hpp
+// TODO: add NDNBOOST_TYPEID_COMPARE_BY_NAME to config.hpp
 # if (defined(__GNUC__) && __GNUC__ >= 3) \
  || defined(_AIX) \
  || (   defined(__sgi) && defined(__host_mips)) \
  || (defined(__hpux) && defined(__HP_aCC)) \
  || (defined(linux) && defined(__INTEL_COMPILER) && defined(__ICC))
-#  define BOOST_AUX_ANY_TYPE_ID_NAME
+#  define NDNBOOST_AUX_ANY_TYPE_ID_NAME
 #include <cstring>
 # endif 
 
@@ -42,7 +42,7 @@
     {
     public: // structors
 
-        any() BOOST_NOEXCEPT
+        any() NDNBOOST_NOEXCEPT
           : content(0)
         {
         }
@@ -58,9 +58,9 @@
         {
         }
 
-#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
+#ifndef NDNBOOST_NO_CXX11_RVALUE_REFERENCES
         // Move constructor
-        any(any&& other) BOOST_NOEXCEPT
+        any(any&& other) NDNBOOST_NOEXCEPT
           : content(other.content)
         {
             other.content = 0;
@@ -74,21 +74,21 @@
         }
 #endif
 
-        ~any() BOOST_NOEXCEPT
+        ~any() NDNBOOST_NOEXCEPT
         {
             delete content;
         }
 
     public: // modifiers
 
-        any & swap(any & rhs) BOOST_NOEXCEPT
+        any & swap(any & rhs) NDNBOOST_NOEXCEPT
         {
             std::swap(content, rhs.content);
             return *this;
         }
 
 
-#ifdef BOOST_NO_CXX11_RVALUE_REFERENCES
+#ifdef NDNBOOST_NO_CXX11_RVALUE_REFERENCES
         template<typename ValueType>
         any & operator=(const ValueType & rhs)
         {
@@ -110,7 +110,7 @@
         }
 
         // move assignement
-        any & operator=(any&& rhs) BOOST_NOEXCEPT
+        any & operator=(any&& rhs) NDNBOOST_NOEXCEPT
         {
             rhs.swap(*this);
             any().swap(rhs);
@@ -128,7 +128,7 @@
 
     public: // queries
 
-        bool empty() const BOOST_NOEXCEPT
+        bool empty() const NDNBOOST_NOEXCEPT
         {
             return !content;
         }
@@ -138,7 +138,7 @@
             return content ? content->type() : typeid(void);
         }
 
-#ifndef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
+#ifndef NDNBOOST_NO_MEMBER_TEMPLATE_FRIENDS
     private: // types
 #else
     public: // types (public so any_cast can be non-friend)
@@ -170,7 +170,7 @@
             {
             }
 
-#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
+#ifndef NDNBOOST_NO_CXX11_RVALUE_REFERENCES
             holder(ValueType&& value)
               : held(static_cast< ValueType&& >(value))
             {
@@ -196,15 +196,15 @@
             holder & operator=(const holder &);
         };
 
-#ifndef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
+#ifndef NDNBOOST_NO_MEMBER_TEMPLATE_FRIENDS
 
     private: // representation
 
         template<typename ValueType>
-        friend ValueType * any_cast(any *) BOOST_NOEXCEPT;
+        friend ValueType * any_cast(any *) NDNBOOST_NOEXCEPT;
 
         template<typename ValueType>
-        friend ValueType * unsafe_any_cast(any *) BOOST_NOEXCEPT;
+        friend ValueType * unsafe_any_cast(any *) NDNBOOST_NOEXCEPT;
 
 #else
 
@@ -216,7 +216,7 @@
 
     };
  
-    inline void swap(any & lhs, any & rhs) BOOST_NOEXCEPT
+    inline void swap(any & lhs, any & rhs) NDNBOOST_NOEXCEPT
     {
         lhs.swap(rhs);
     }
@@ -232,10 +232,10 @@
     };
 
     template<typename ValueType>
-    ValueType * any_cast(any * operand) BOOST_NOEXCEPT
+    ValueType * any_cast(any * operand) NDNBOOST_NOEXCEPT
     {
         return operand && 
-#ifdef BOOST_AUX_ANY_TYPE_ID_NAME
+#ifdef NDNBOOST_AUX_ANY_TYPE_ID_NAME
             std::strcmp(operand->type().name(), typeid(ValueType).name()) == 0
 #else
             operand->type() == typeid(ValueType)
@@ -245,7 +245,7 @@
     }
 
     template<typename ValueType>
-    inline const ValueType * any_cast(const any * operand) BOOST_NOEXCEPT
+    inline const ValueType * any_cast(const any * operand) NDNBOOST_NOEXCEPT
     {
         return any_cast<ValueType>(const_cast<any *>(operand));
     }
@@ -253,16 +253,16 @@
     template<typename ValueType>
     ValueType any_cast(any & operand)
     {
-        typedef BOOST_DEDUCED_TYPENAME remove_reference<ValueType>::type nonref;
+        typedef NDNBOOST_DEDUCED_TYPENAME remove_reference<ValueType>::type nonref;
 
-#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#ifdef NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
         // If 'nonref' is still reference type, it means the user has not
         // specialized 'remove_reference'.
 
-        // Please use BOOST_BROKEN_COMPILER_TYPE_TRAITS_SPECIALIZATION macro
+        // Please use NDNBOOST_BROKEN_COMPILER_TYPE_TRAITS_SPECIALIZATION macro
         // to generate specialization of remove_reference for your class
         // See type traits library documentation for details
-        BOOST_STATIC_ASSERT(!is_reference<nonref>::value);
+        NDNBOOST_STATIC_ASSERT(!is_reference<nonref>::value);
 #endif
 
         nonref * result = any_cast<nonref>(&operand);
@@ -274,12 +274,12 @@
     template<typename ValueType>
     inline ValueType any_cast(const any & operand)
     {
-        typedef BOOST_DEDUCED_TYPENAME remove_reference<ValueType>::type nonref;
+        typedef NDNBOOST_DEDUCED_TYPENAME remove_reference<ValueType>::type nonref;
 
-#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#ifdef NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
         // The comment in the above version of 'any_cast' explains when this
         // assert is fired and what to do.
-        BOOST_STATIC_ASSERT(!is_reference<nonref>::value);
+        NDNBOOST_STATIC_ASSERT(!is_reference<nonref>::value);
 #endif
 
         return any_cast<const nonref &>(const_cast<any &>(operand));
@@ -291,13 +291,13 @@
     // use typeid() comparison, e.g., when our types may travel across
     // different shared libraries.
     template<typename ValueType>
-    inline ValueType * unsafe_any_cast(any * operand) BOOST_NOEXCEPT
+    inline ValueType * unsafe_any_cast(any * operand) NDNBOOST_NOEXCEPT
     {
         return &static_cast<any::holder<ValueType> *>(operand->content)->held;
     }
 
     template<typename ValueType>
-    inline const ValueType * unsafe_any_cast(const any * operand) BOOST_NOEXCEPT
+    inline const ValueType * unsafe_any_cast(const any * operand) NDNBOOST_NOEXCEPT
     {
         return unsafe_any_cast<ValueType>(const_cast<any *>(operand));
     }
diff --git a/include/ndnboost/array.hpp b/include/ndnboost/array.hpp
index ab70a47..e17fcbc 100644
--- a/include/ndnboost/array.hpp
+++ b/include/ndnboost/array.hpp
@@ -19,7 +19,7 @@
  *      See <http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#776> or Trac issue #3168
  *      Eventually, we should remove "assign" which is now a synonym for "fill" (Marshall Clow)
  * 10 Mar 2010 - added workaround for SUNCC and !STLPort [trac #3893] (Marshall Clow)
- * 29 Jan 2004 - c_array() added, BOOST_NO_PRIVATE_IN_AGGREGATE removed (Nico Josuttis)
+ * 29 Jan 2004 - c_array() added, NDNBOOST_NO_PRIVATE_IN_AGGREGATE removed (Nico Josuttis)
  * 23 Aug 2002 - fix for Non-MSVC compilers combined with MSVC libraries.
  * 05 Aug 2001 - minor update (Nico Josuttis)
  * 20 Jan 2001 - STLport fix (Beman Dawes)
@@ -27,12 +27,12 @@
  *
  * Jan 29, 2004
  */
-#ifndef BOOST_ARRAY_HPP
-#define BOOST_ARRAY_HPP
+#ifndef NDNBOOST_ARRAY_HPP
+#define NDNBOOST_ARRAY_HPP
 
 #include <ndnboost/detail/workaround.hpp>
 
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)  
+#if NDNBOOST_WORKAROUND(NDNBOOST_MSVC, >= 1400)  
 # pragma warning(push)  
 # pragma warning(disable:4996) // 'std::equal': Function call with parameters that may be unsafe
 # pragma warning(disable:4510) // ndnboost::array<T,N>' : default constructor could not be generated 
@@ -81,10 +81,10 @@
         const_iterator cend() const { return elems+N; }
 
         // reverse iterator support
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_MSVC_STD_ITERATOR) && !defined(BOOST_NO_STD_ITERATOR_TRAITS)
+#if !defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(NDNBOOST_MSVC_STD_ITERATOR) && !defined(NDNBOOST_NO_STD_ITERATOR_TRAITS)
         typedef std::reverse_iterator<iterator> reverse_iterator;
         typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
-#elif defined(_MSC_VER) && (_MSC_VER == 1300) && defined(BOOST_DINKUMWARE_STDLIB) && (BOOST_DINKUMWARE_STDLIB == 310)
+#elif defined(_MSC_VER) && (_MSC_VER == 1300) && defined(NDNBOOST_DINKUMWARE_STDLIB) && (NDNBOOST_DINKUMWARE_STDLIB == 310)
         // workaround for broken reverse_iterator in VC7
         typedef std::reverse_iterator<std::_Ptrit<value_type, difference_type, iterator,
                                       reference, iterator, reference> > reverse_iterator;
@@ -120,13 +120,13 @@
         // operator[]
         reference operator[](size_type i) 
         { 
-            BOOST_ASSERT_MSG( i < N, "out of range" );
+            NDNBOOST_ASSERT_MSG( i < N, "out of range" );
             return elems[i];
         }
         
         const_reference operator[](size_type i) const 
         {     
-            BOOST_ASSERT_MSG( i < N, "out of range" );
+            NDNBOOST_ASSERT_MSG( i < N, "out of range" );
             return elems[i]; 
         }
 
@@ -198,7 +198,7 @@
 
     };
 
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+#if !defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
     template< class T >
     class array< T, 0 > {
 
@@ -222,10 +222,10 @@
         const_iterator cend() const { return cbegin(); }
 
         // reverse iterator support
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_MSVC_STD_ITERATOR) && !defined(BOOST_NO_STD_ITERATOR_TRAITS)
+#if !defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(NDNBOOST_MSVC_STD_ITERATOR) && !defined(NDNBOOST_NO_STD_ITERATOR_TRAITS)
         typedef std::reverse_iterator<iterator> reverse_iterator;
         typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
-#elif defined(_MSC_VER) && (_MSC_VER == 1300) && defined(BOOST_DINKUMWARE_STDLIB) && (BOOST_DINKUMWARE_STDLIB == 310)
+#elif defined(_MSC_VER) && (_MSC_VER == 1300) && defined(NDNBOOST_DINKUMWARE_STDLIB) && (NDNBOOST_DINKUMWARE_STDLIB == 310)
         // workaround for broken reverse_iterator in VC7
         typedef std::reverse_iterator<std::_Ptrit<value_type, difference_type, iterator,
                                       reference, iterator, reference> > reverse_iterator;
@@ -324,7 +324,7 @@
         static reference failed_rangecheck () {
                 std::out_of_range e("attempt to access element of an empty array");
                 ndnboost::throw_exception(e);
-#if defined(BOOST_NO_EXCEPTIONS) || (!defined(BOOST_MSVC) && !defined(__PATHSCALE__))
+#if defined(NDNBOOST_NO_EXCEPTIONS) || (!defined(NDNBOOST_MSVC) && !defined(__PATHSCALE__))
                 //
                 // We need to return something here to keep
                 // some compilers happy: however we will never
@@ -439,8 +439,8 @@
 } /* namespace ndnboost */
 
 
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)  
+#if NDNBOOST_WORKAROUND(NDNBOOST_MSVC, >= 1400)  
 # pragma warning(pop)  
 #endif 
 
-#endif /*BOOST_ARRAY_HPP*/
+#endif /*NDNBOOST_ARRAY_HPP*/
diff --git a/include/ndnboost/assert.hpp b/include/ndnboost/assert.hpp
index 0132fca..7c7a672 100644
--- a/include/ndnboost/assert.hpp
+++ b/include/ndnboost/assert.hpp
@@ -1,7 +1,7 @@
 //
-//  ndnboost/assert.hpp - BOOST_ASSERT(expr)
-//                     BOOST_ASSERT_MSG(expr, msg)
-//                     BOOST_VERIFY(expr)
+//  ndnboost/assert.hpp - NDNBOOST_ASSERT(expr)
+//                     NDNBOOST_ASSERT_MSG(expr, msg)
+//                     NDNBOOST_VERIFY(expr)
 //
 //  Copyright (c) 2001, 2002 Peter Dimov and Multi Media Ltd.
 //  Copyright (c) 2007 Peter Dimov
@@ -23,16 +23,16 @@
 //
 
 //--------------------------------------------------------------------------------------//
-//                                     BOOST_ASSERT                                     //
+//                                     NDNBOOST_ASSERT                                     //
 //--------------------------------------------------------------------------------------//
 
-#undef BOOST_ASSERT
+#undef NDNBOOST_ASSERT
 
-#if defined(BOOST_DISABLE_ASSERTS)
+#if defined(NDNBOOST_DISABLE_ASSERTS)
 
-# define BOOST_ASSERT(expr) ((void)0)
+# define NDNBOOST_ASSERT(expr) ((void)0)
 
-#elif defined(BOOST_ENABLE_ASSERT_HANDLER)
+#elif defined(NDNBOOST_ENABLE_ASSERT_HANDLER)
 
 #include <ndnboost/current_function.hpp>
 
@@ -42,26 +42,26 @@
                         char const * function, char const * file, long line); // user defined
 } // namespace ndnboost
 
-#define BOOST_ASSERT(expr) ((expr) \
+#define NDNBOOST_ASSERT(expr) ((expr) \
   ? ((void)0) \
-  : ::ndnboost::assertion_failed(#expr, BOOST_CURRENT_FUNCTION, __FILE__, __LINE__))
+  : ::ndnboost::assertion_failed(#expr, NDNBOOST_CURRENT_FUNCTION, __FILE__, __LINE__))
 
 #else
 # include <assert.h> // .h to support old libraries w/o <cassert> - effect is the same
-# define BOOST_ASSERT(expr) assert(expr)
+# define NDNBOOST_ASSERT(expr) assert(expr)
 #endif
 
 //--------------------------------------------------------------------------------------//
-//                                   BOOST_ASSERT_MSG                                   //
+//                                   NDNBOOST_ASSERT_MSG                                   //
 //--------------------------------------------------------------------------------------//
 
-# undef BOOST_ASSERT_MSG
+# undef NDNBOOST_ASSERT_MSG
 
-#if defined(BOOST_DISABLE_ASSERTS) || defined(NDEBUG)
+#if defined(NDNBOOST_DISABLE_ASSERTS) || defined(NDEBUG)
 
-  #define BOOST_ASSERT_MSG(expr, msg) ((void)0)
+  #define NDNBOOST_ASSERT_MSG(expr, msg) ((void)0)
 
-#elif defined(BOOST_ENABLE_ASSERT_HANDLER)
+#elif defined(NDNBOOST_ENABLE_ASSERT_HANDLER)
 
   #include <ndnboost/current_function.hpp>
 
@@ -71,21 +71,21 @@
                               char const * function, char const * file, long line); // user defined
   } // namespace ndnboost
 
-  #define BOOST_ASSERT_MSG(expr, msg) ((expr) \
+  #define NDNBOOST_ASSERT_MSG(expr, msg) ((expr) \
     ? ((void)0) \
-    : ::ndnboost::assertion_failed_msg(#expr, msg, BOOST_CURRENT_FUNCTION, __FILE__, __LINE__))
+    : ::ndnboost::assertion_failed_msg(#expr, msg, NDNBOOST_CURRENT_FUNCTION, __FILE__, __LINE__))
 
 #else
-  #ifndef BOOST_ASSERT_HPP
-    #define BOOST_ASSERT_HPP
+  #ifndef NDNBOOST_ASSERT_HPP
+    #define NDNBOOST_ASSERT_HPP
     #include <cstdlib>
     #include <iostream>
     #include <ndnboost/current_function.hpp>
 
     //  IDE's like Visual Studio perform better if output goes to std::cout or
     //  some other stream, so allow user to configure output stream:
-    #ifndef BOOST_ASSERT_MSG_OSTREAM
-    # define BOOST_ASSERT_MSG_OSTREAM std::cerr
+    #ifndef NDNBOOST_ASSERT_MSG_OSTREAM
+    # define NDNBOOST_ASSERT_MSG_OSTREAM std::cerr
     #endif
 
     namespace ndnboost
@@ -97,7 +97,7 @@
           inline void assertion_failed_msg(char const * expr, char const * msg, char const * function,
             char const * file, long line)
           {
-            BOOST_ASSERT_MSG_OSTREAM
+            NDNBOOST_ASSERT_MSG_OSTREAM
               << "***** Internal Program Error - assertion (" << expr << ") failed in "
               << function << ":\n"
               << file << '(' << line << "): " << msg << std::endl;
@@ -113,24 +113,24 @@
     } // detail
   #endif
 
-  #define BOOST_ASSERT_MSG(expr, msg) ((expr) \
+  #define NDNBOOST_ASSERT_MSG(expr, msg) ((expr) \
     ? ((void)0) \
     : ::ndnboost::assertion::detail::assertion_failed_msg(#expr, msg, \
-          BOOST_CURRENT_FUNCTION, __FILE__, __LINE__))
+          NDNBOOST_CURRENT_FUNCTION, __FILE__, __LINE__))
 #endif
 
 //--------------------------------------------------------------------------------------//
-//                                     BOOST_VERIFY                                     //
+//                                     NDNBOOST_VERIFY                                     //
 //--------------------------------------------------------------------------------------//
 
-#undef BOOST_VERIFY
+#undef NDNBOOST_VERIFY
 
-#if defined(BOOST_DISABLE_ASSERTS) || ( !defined(BOOST_ENABLE_ASSERT_HANDLER) && defined(NDEBUG) )
+#if defined(NDNBOOST_DISABLE_ASSERTS) || ( !defined(NDNBOOST_ENABLE_ASSERT_HANDLER) && defined(NDEBUG) )
 
-# define BOOST_VERIFY(expr) ((void)(expr))
+# define NDNBOOST_VERIFY(expr) ((void)(expr))
 
 #else
 
-# define BOOST_VERIFY(expr) BOOST_ASSERT(expr)
+# define NDNBOOST_VERIFY(expr) NDNBOOST_ASSERT(expr)
 
 #endif
diff --git a/include/ndnboost/bind.hpp b/include/ndnboost/bind.hpp
index 4421619..3653c87 100644
--- a/include/ndnboost/bind.hpp
+++ b/include/ndnboost/bind.hpp
@@ -1,5 +1,5 @@
-#ifndef BOOST_BIND_HPP_INCLUDED
-#define BOOST_BIND_HPP_INCLUDED
+#ifndef NDNBOOST_BIND_HPP_INCLUDED
+#define NDNBOOST_BIND_HPP_INCLUDED
 
 // MS compatible compilers support #pragma once
 
@@ -21,4 +21,4 @@
 
 #include <ndnboost/bind/bind.hpp>
 
-#endif // #ifndef BOOST_BIND_HPP_INCLUDED
+#endif // #ifndef NDNBOOST_BIND_HPP_INCLUDED
diff --git a/include/ndnboost/bind/apply.hpp b/include/ndnboost/bind/apply.hpp
index 8519c06..a1d96bd 100644
--- a/include/ndnboost/bind/apply.hpp
+++ b/include/ndnboost/bind/apply.hpp
@@ -1,5 +1,5 @@
-#ifndef BOOST_BIND_APPLY_HPP_INCLUDED
-#define BOOST_BIND_APPLY_HPP_INCLUDED
+#ifndef NDNBOOST_BIND_APPLY_HPP_INCLUDED
+#define NDNBOOST_BIND_APPLY_HPP_INCLUDED
 
 //
 //  apply.hpp
@@ -71,4 +71,4 @@
 
 } // namespace ndnboost
 
-#endif // #ifndef BOOST_BIND_APPLY_HPP_INCLUDED
+#endif // #ifndef NDNBOOST_BIND_APPLY_HPP_INCLUDED
diff --git a/include/ndnboost/bind/arg.hpp b/include/ndnboost/bind/arg.hpp
index 7551575..d420e7f 100644
--- a/include/ndnboost/bind/arg.hpp
+++ b/include/ndnboost/bind/arg.hpp
@@ -1,5 +1,5 @@
-#ifndef BOOST_BIND_ARG_HPP_INCLUDED
-#define BOOST_BIND_ARG_HPP_INCLUDED
+#ifndef NDNBOOST_BIND_ARG_HPP_INCLUDED
+#define NDNBOOST_BIND_ARG_HPP_INCLUDED
 
 // MS compatible compilers support #pragma once
 
@@ -43,7 +43,7 @@
     return true;
 }
 
-#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
+#if !defined( NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
 
 template< int I > struct is_placeholder< arg<I> >
 {
@@ -59,4 +59,4 @@
 
 } // namespace ndnboost
 
-#endif // #ifndef BOOST_BIND_ARG_HPP_INCLUDED
+#endif // #ifndef NDNBOOST_BIND_ARG_HPP_INCLUDED
diff --git a/include/ndnboost/bind/bind.hpp b/include/ndnboost/bind/bind.hpp
index db16788..bf0bb2b 100644
--- a/include/ndnboost/bind/bind.hpp
+++ b/include/ndnboost/bind/bind.hpp
@@ -1,5 +1,5 @@
-#ifndef BOOST_BIND_BIND_HPP_INCLUDED
-#define BOOST_BIND_BIND_HPP_INCLUDED
+#ifndef NDNBOOST_BIND_BIND_HPP_INCLUDED
+#define NDNBOOST_BIND_BIND_HPP_INCLUDED
 
 // MS compatible compilers support #pragma once
 
@@ -33,14 +33,14 @@
 // Borland-specific bug, visit_each() silently fails to produce code
 
 #if defined(__BORLANDC__)
-#  define BOOST_BIND_VISIT_EACH ndnboost::visit_each
+#  define NDNBOOST_BIND_VISIT_EACH ndnboost::visit_each
 #else
-#  define BOOST_BIND_VISIT_EACH visit_each
+#  define NDNBOOST_BIND_VISIT_EACH visit_each
 #endif
 
 #include <ndnboost/bind/storage.hpp>
 
-#ifdef BOOST_MSVC
+#ifdef NDNBOOST_MSVC
 # pragma warning(push)
 # pragma warning(disable: 4512) // assignment operator could not be generated
 #endif
@@ -60,7 +60,7 @@
     typedef R type;
 };
 
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING)
+#if !defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(NDNBOOST_NO_FUNCTION_TEMPLATE_ORDERING)
 
 struct unspecified {};
 
@@ -207,7 +207,7 @@
     }
 };
 
-#ifdef BOOST_MSVC
+#ifdef NDNBOOST_MSVC
 // MSVC is bright enough to realise that the parameter rhs 
 // in operator==may be unused for some template argument types:
 #pragma warning(push)
@@ -853,13 +853,13 @@
     }
 };
 
-#ifdef BOOST_MSVC
+#ifdef NDNBOOST_MSVC
 #pragma warning(pop)
 #endif
 
 // bind_t
 
-#ifndef BOOST_NO_VOID_RETURNS
+#ifndef NDNBOOST_NO_VOID_RETURNS
 
 template<class R, class F, class L> class bind_t
 {
@@ -869,9 +869,9 @@
 
     bind_t(F f, L const & l): f_(f), l_(l) {}
 
-#define BOOST_BIND_RETURN return
+#define NDNBOOST_BIND_RETURN return
 #include <ndnboost/bind/bind_template.hpp>
-#undef BOOST_BIND_RETURN
+#undef NDNBOOST_BIND_RETURN
 
 };
 
@@ -888,9 +888,9 @@
 
     implementation(F f, L const & l): f_(f), l_(l) {}
 
-#define BOOST_BIND_RETURN return
+#define NDNBOOST_BIND_RETURN return
 #include <ndnboost/bind/bind_template.hpp>
-#undef BOOST_BIND_RETURN
+#undef NDNBOOST_BIND_RETURN
 
 };
 
@@ -911,19 +911,19 @@
 
     implementation(F f, L const & l): f_(f), l_(l) {}
 
-#define BOOST_BIND_RETURN
+#define NDNBOOST_BIND_RETURN
 #include <ndnboost/bind/bind_template.hpp>
-#undef BOOST_BIND_RETURN
+#undef NDNBOOST_BIND_RETURN
 
 };
 
 };
 
-template<class R2, class F, class L> class bind_t: public bind_t_generator<R2>::BOOST_NESTED_TEMPLATE implementation<F, L>
+template<class R2, class F, class L> class bind_t: public bind_t_generator<R2>::NDNBOOST_NESTED_TEMPLATE implementation<F, L>
 {
 public:
 
-    bind_t(F f, L const & l): bind_t_generator<R2>::BOOST_NESTED_TEMPLATE implementation<F, L>(f, l) {}
+    bind_t(F f, L const & l): bind_t_generator<R2>::NDNBOOST_NESTED_TEMPLATE implementation<F, L>(f, l) {}
 
 };
 
@@ -931,11 +931,11 @@
 
 // function_equal
 
-#ifndef BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
+#ifndef NDNBOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
 
 // put overloads in _bi, rely on ADL
 
-# ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
+# ifndef NDNBOOST_NO_FUNCTION_TEMPLATE_ORDERING
 
 template<class R, class F, class L> bool function_equal( bind_t<R, F, L> const & a, bind_t<R, F, L> const & b )
 {
@@ -949,15 +949,15 @@
     return a.compare(b);
 }
 
-# endif // #ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
+# endif // #ifndef NDNBOOST_NO_FUNCTION_TEMPLATE_ORDERING
 
-#else // BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
+#else // NDNBOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
 
 // put overloads in boost
 
 } // namespace _bi
 
-# ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
+# ifndef NDNBOOST_NO_FUNCTION_TEMPLATE_ORDERING
 
 template<class R, class F, class L> bool function_equal( _bi::bind_t<R, F, L> const & a, _bi::bind_t<R, F, L> const & b )
 {
@@ -971,18 +971,18 @@
     return a.compare(b);
 }
 
-# endif // #ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
+# endif // #ifndef NDNBOOST_NO_FUNCTION_TEMPLATE_ORDERING
 
 namespace _bi
 {
 
-#endif // BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
+#endif // NDNBOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
 
 // add_value
 
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) || (__SUNPRO_CC >= 0x530)
+#if !defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) || (__SUNPRO_CC >= 0x530)
 
-#if defined( __BORLANDC__ ) && BOOST_WORKAROUND( __BORLANDC__, BOOST_TESTED_AT(0x582) )
+#if defined( __BORLANDC__ ) && NDNBOOST_WORKAROUND( __BORLANDC__, NDNBOOST_TESTED_AT(0x582) )
 
 template<class T> struct add_value
 {
@@ -1181,7 +1181,7 @@
 
 // relational operators
 
-#define BOOST_BIND_OPERATOR( op, name ) \
+#define NDNBOOST_BIND_OPERATOR( op, name ) \
 \
 struct name \
 { \
@@ -1197,25 +1197,25 @@
     return bind_t<bool, name, list_type> ( name(), list_type(f, a2) ); \
 }
 
-BOOST_BIND_OPERATOR( ==, equal )
-BOOST_BIND_OPERATOR( !=, not_equal )
+NDNBOOST_BIND_OPERATOR( ==, equal )
+NDNBOOST_BIND_OPERATOR( !=, not_equal )
 
-BOOST_BIND_OPERATOR( <, less )
-BOOST_BIND_OPERATOR( <=, less_equal )
+NDNBOOST_BIND_OPERATOR( <, less )
+NDNBOOST_BIND_OPERATOR( <=, less_equal )
 
-BOOST_BIND_OPERATOR( >, greater )
-BOOST_BIND_OPERATOR( >=, greater_equal )
+NDNBOOST_BIND_OPERATOR( >, greater )
+NDNBOOST_BIND_OPERATOR( >=, greater_equal )
 
-BOOST_BIND_OPERATOR( &&, logical_and )
-BOOST_BIND_OPERATOR( ||, logical_or )
+NDNBOOST_BIND_OPERATOR( &&, logical_and )
+NDNBOOST_BIND_OPERATOR( ||, logical_or )
 
-#undef BOOST_BIND_OPERATOR
+#undef NDNBOOST_BIND_OPERATOR
 
-#if defined(__GNUC__) && BOOST_WORKAROUND(__GNUC__, < 3)
+#if defined(__GNUC__) && NDNBOOST_WORKAROUND(__GNUC__, < 3)
 
 // resolve ambiguity with rel_ops
 
-#define BOOST_BIND_OPERATOR( op, name ) \
+#define NDNBOOST_BIND_OPERATOR( op, name ) \
 \
 template<class R, class F, class L> \
     bind_t< bool, name, list2< bind_t<R, F, L>, bind_t<R, F, L> > > \
@@ -1225,22 +1225,22 @@
     return bind_t<bool, name, list_type> ( name(), list_type(f, g) ); \
 }
 
-BOOST_BIND_OPERATOR( !=, not_equal )
-BOOST_BIND_OPERATOR( <=, less_equal )
-BOOST_BIND_OPERATOR( >, greater )
-BOOST_BIND_OPERATOR( >=, greater_equal )
+NDNBOOST_BIND_OPERATOR( !=, not_equal )
+NDNBOOST_BIND_OPERATOR( <=, less_equal )
+NDNBOOST_BIND_OPERATOR( >, greater )
+NDNBOOST_BIND_OPERATOR( >=, greater_equal )
 
 #endif
 
 // visit_each, ADL
 
-#if !defined( BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP ) && !defined( __BORLANDC__ ) \
+#if !defined( NDNBOOST_NO_ARGUMENT_DEPENDENT_LOOKUP ) && !defined( __BORLANDC__ ) \
    && !(defined(__GNUC__) && __GNUC__ == 3 && __GNUC_MINOR__ <= 3)
 
 template<class V, class T> void visit_each( V & v, value<T> const & t, int )
 {
     using ndnboost::visit_each;
-    BOOST_BIND_VISIT_EACH( v, t.get(), 0 );
+    NDNBOOST_BIND_VISIT_EACH( v, t.get(), 0 );
 }
 
 template<class V, class R, class F, class L> void visit_each( V & v, bind_t<R, F, L> const & t, int )
@@ -1254,12 +1254,12 @@
 
 // visit_each, no ADL
 
-#if defined( BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP ) || defined( __BORLANDC__ ) \
+#if defined( NDNBOOST_NO_ARGUMENT_DEPENDENT_LOOKUP ) || defined( __BORLANDC__ ) \
   || (defined(__GNUC__) && __GNUC__ == 3 && __GNUC_MINOR__ <= 3)
 
 template<class V, class T> void visit_each( V & v, _bi::value<T> const & t, int )
 {
-    BOOST_BIND_VISIT_EACH( v, t.get(), 0 );
+    NDNBOOST_BIND_VISIT_EACH( v, t.get(), 0 );
 }
 
 template<class V, class R, class F, class L> void visit_each( V & v, _bi::bind_t<R, F, L> const & t, int )
@@ -1276,7 +1276,7 @@
     enum _vt { value = 0 };
 };
 
-#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
+#if !defined( NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
 
 template< class R, class F, class L > struct is_bind_expression< _bi::bind_t< R, F, L > >
 {
@@ -1287,15 +1287,15 @@
 
 // bind
 
-#ifndef BOOST_BIND
-#define BOOST_BIND bind
+#ifndef NDNBOOST_BIND
+#define NDNBOOST_BIND bind
 #endif
 
 // generic function objects
 
 template<class R, class F>
     _bi::bind_t<R, F, _bi::list0>
-    BOOST_BIND(F f)
+    NDNBOOST_BIND(F f)
 {
     typedef _bi::list0 list_type;
     return _bi::bind_t<R, F, list_type> (f, list_type());
@@ -1303,7 +1303,7 @@
 
 template<class R, class F, class A1>
     _bi::bind_t<R, F, typename _bi::list_av_1<A1>::type>
-    BOOST_BIND(F f, A1 a1)
+    NDNBOOST_BIND(F f, A1 a1)
 {
     typedef typename _bi::list_av_1<A1>::type list_type;
     return _bi::bind_t<R, F, list_type> (f, list_type(a1));
@@ -1311,7 +1311,7 @@
 
 template<class R, class F, class A1, class A2>
     _bi::bind_t<R, F, typename _bi::list_av_2<A1, A2>::type>
-    BOOST_BIND(F f, A1 a1, A2 a2)
+    NDNBOOST_BIND(F f, A1 a1, A2 a2)
 {
     typedef typename _bi::list_av_2<A1, A2>::type list_type;
     return _bi::bind_t<R, F, list_type> (f, list_type(a1, a2));
@@ -1319,7 +1319,7 @@
 
 template<class R, class F, class A1, class A2, class A3>
     _bi::bind_t<R, F, typename _bi::list_av_3<A1, A2, A3>::type>
-    BOOST_BIND(F f, A1 a1, A2 a2, A3 a3)
+    NDNBOOST_BIND(F f, A1 a1, A2 a2, A3 a3)
 {
     typedef typename _bi::list_av_3<A1, A2, A3>::type list_type;
     return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3));
@@ -1327,7 +1327,7 @@
 
 template<class R, class F, class A1, class A2, class A3, class A4>
     _bi::bind_t<R, F, typename _bi::list_av_4<A1, A2, A3, A4>::type>
-    BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4)
+    NDNBOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4)
 {
     typedef typename _bi::list_av_4<A1, A2, A3, A4>::type list_type;
     return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4));
@@ -1335,7 +1335,7 @@
 
 template<class R, class F, class A1, class A2, class A3, class A4, class A5>
     _bi::bind_t<R, F, typename _bi::list_av_5<A1, A2, A3, A4, A5>::type>
-    BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5)
+    NDNBOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5)
 {
     typedef typename _bi::list_av_5<A1, A2, A3, A4, A5>::type list_type;
     return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5));
@@ -1343,7 +1343,7 @@
 
 template<class R, class F, class A1, class A2, class A3, class A4, class A5, class A6>
     _bi::bind_t<R, F, typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type>
-    BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6)
+    NDNBOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6)
 {
     typedef typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type list_type;
     return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6));
@@ -1351,7 +1351,7 @@
 
 template<class R, class F, class A1, class A2, class A3, class A4, class A5, class A6, class A7>
     _bi::bind_t<R, F, typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type>
-    BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7)
+    NDNBOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7)
 {
     typedef typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type list_type;
     return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6, a7));
@@ -1359,7 +1359,7 @@
 
 template<class R, class F, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8>
     _bi::bind_t<R, F, typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type>
-    BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8)
+    NDNBOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8)
 {
     typedef typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type list_type;
     return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6, a7, a8));
@@ -1367,7 +1367,7 @@
 
 template<class R, class F, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9>
     _bi::bind_t<R, F, typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type>
-    BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9)
+    NDNBOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9)
 {
     typedef typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type list_type;
     return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6, a7, a8, a9));
@@ -1377,7 +1377,7 @@
 
 template<class R, class F>
     _bi::bind_t<R, F, _bi::list0>
-    BOOST_BIND(ndnboost::type<R>, F f)
+    NDNBOOST_BIND(ndnboost::type<R>, F f)
 {
     typedef _bi::list0 list_type;
     return _bi::bind_t<R, F, list_type> (f, list_type());
@@ -1385,7 +1385,7 @@
 
 template<class R, class F, class A1>
     _bi::bind_t<R, F, typename _bi::list_av_1<A1>::type>
-    BOOST_BIND(ndnboost::type<R>, F f, A1 a1)
+    NDNBOOST_BIND(ndnboost::type<R>, F f, A1 a1)
 {
     typedef typename _bi::list_av_1<A1>::type list_type;
     return _bi::bind_t<R, F, list_type> (f, list_type(a1));
@@ -1393,7 +1393,7 @@
 
 template<class R, class F, class A1, class A2>
     _bi::bind_t<R, F, typename _bi::list_av_2<A1, A2>::type>
-    BOOST_BIND(ndnboost::type<R>, F f, A1 a1, A2 a2)
+    NDNBOOST_BIND(ndnboost::type<R>, F f, A1 a1, A2 a2)
 {
     typedef typename _bi::list_av_2<A1, A2>::type list_type;
     return _bi::bind_t<R, F, list_type> (f, list_type(a1, a2));
@@ -1401,7 +1401,7 @@
 
 template<class R, class F, class A1, class A2, class A3>
     _bi::bind_t<R, F, typename _bi::list_av_3<A1, A2, A3>::type>
-    BOOST_BIND(ndnboost::type<R>, F f, A1 a1, A2 a2, A3 a3)
+    NDNBOOST_BIND(ndnboost::type<R>, F f, A1 a1, A2 a2, A3 a3)
 {
     typedef typename _bi::list_av_3<A1, A2, A3>::type list_type;
     return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3));
@@ -1409,7 +1409,7 @@
 
 template<class R, class F, class A1, class A2, class A3, class A4>
     _bi::bind_t<R, F, typename _bi::list_av_4<A1, A2, A3, A4>::type>
-    BOOST_BIND(ndnboost::type<R>, F f, A1 a1, A2 a2, A3 a3, A4 a4)
+    NDNBOOST_BIND(ndnboost::type<R>, F f, A1 a1, A2 a2, A3 a3, A4 a4)
 {
     typedef typename _bi::list_av_4<A1, A2, A3, A4>::type list_type;
     return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4));
@@ -1417,7 +1417,7 @@
 
 template<class R, class F, class A1, class A2, class A3, class A4, class A5>
     _bi::bind_t<R, F, typename _bi::list_av_5<A1, A2, A3, A4, A5>::type>
-    BOOST_BIND(ndnboost::type<R>, F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5)
+    NDNBOOST_BIND(ndnboost::type<R>, F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5)
 {
     typedef typename _bi::list_av_5<A1, A2, A3, A4, A5>::type list_type;
     return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5));
@@ -1425,7 +1425,7 @@
 
 template<class R, class F, class A1, class A2, class A3, class A4, class A5, class A6>
     _bi::bind_t<R, F, typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type>
-    BOOST_BIND(ndnboost::type<R>, F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6)
+    NDNBOOST_BIND(ndnboost::type<R>, F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6)
 {
     typedef typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type list_type;
     return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6));
@@ -1433,7 +1433,7 @@
 
 template<class R, class F, class A1, class A2, class A3, class A4, class A5, class A6, class A7>
     _bi::bind_t<R, F, typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type>
-    BOOST_BIND(ndnboost::type<R>, F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7)
+    NDNBOOST_BIND(ndnboost::type<R>, F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7)
 {
     typedef typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type list_type;
     return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6, a7));
@@ -1441,7 +1441,7 @@
 
 template<class R, class F, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8>
     _bi::bind_t<R, F, typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type>
-    BOOST_BIND(ndnboost::type<R>, F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8)
+    NDNBOOST_BIND(ndnboost::type<R>, F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8)
 {
     typedef typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type list_type;
     return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6, a7, a8));
@@ -1449,19 +1449,19 @@
 
 template<class R, class F, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9>
     _bi::bind_t<R, F, typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type>
-    BOOST_BIND(ndnboost::type<R>, F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9)
+    NDNBOOST_BIND(ndnboost::type<R>, F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9)
 {
     typedef typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type list_type;
     return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6, a7, a8, a9));
 }
 
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING)
+#if !defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(NDNBOOST_NO_FUNCTION_TEMPLATE_ORDERING)
 
 // adaptable function objects
 
 template<class F>
     _bi::bind_t<_bi::unspecified, F, _bi::list0>
-    BOOST_BIND(F f)
+    NDNBOOST_BIND(F f)
 {
     typedef _bi::list0 list_type;
     return _bi::bind_t<_bi::unspecified, F, list_type> (f, list_type());
@@ -1469,7 +1469,7 @@
 
 template<class F, class A1>
     _bi::bind_t<_bi::unspecified, F, typename _bi::list_av_1<A1>::type>
-    BOOST_BIND(F f, A1 a1)
+    NDNBOOST_BIND(F f, A1 a1)
 {
     typedef typename _bi::list_av_1<A1>::type list_type;
     return _bi::bind_t<_bi::unspecified, F, list_type> (f, list_type(a1));
@@ -1477,7 +1477,7 @@
 
 template<class F, class A1, class A2>
     _bi::bind_t<_bi::unspecified, F, typename _bi::list_av_2<A1, A2>::type>
-    BOOST_BIND(F f, A1 a1, A2 a2)
+    NDNBOOST_BIND(F f, A1 a1, A2 a2)
 {
     typedef typename _bi::list_av_2<A1, A2>::type list_type;
     return _bi::bind_t<_bi::unspecified, F, list_type> (f, list_type(a1, a2));
@@ -1485,7 +1485,7 @@
 
 template<class F, class A1, class A2, class A3>
     _bi::bind_t<_bi::unspecified, F, typename _bi::list_av_3<A1, A2, A3>::type>
-    BOOST_BIND(F f, A1 a1, A2 a2, A3 a3)
+    NDNBOOST_BIND(F f, A1 a1, A2 a2, A3 a3)
 {
     typedef typename _bi::list_av_3<A1, A2, A3>::type list_type;
     return _bi::bind_t<_bi::unspecified, F, list_type>(f, list_type(a1, a2, a3));
@@ -1493,7 +1493,7 @@
 
 template<class F, class A1, class A2, class A3, class A4>
     _bi::bind_t<_bi::unspecified, F, typename _bi::list_av_4<A1, A2, A3, A4>::type>
-    BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4)
+    NDNBOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4)
 {
     typedef typename _bi::list_av_4<A1, A2, A3, A4>::type list_type;
     return _bi::bind_t<_bi::unspecified, F, list_type>(f, list_type(a1, a2, a3, a4));
@@ -1501,7 +1501,7 @@
 
 template<class F, class A1, class A2, class A3, class A4, class A5>
     _bi::bind_t<_bi::unspecified, F, typename _bi::list_av_5<A1, A2, A3, A4, A5>::type>
-    BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5)
+    NDNBOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5)
 {
     typedef typename _bi::list_av_5<A1, A2, A3, A4, A5>::type list_type;
     return _bi::bind_t<_bi::unspecified, F, list_type>(f, list_type(a1, a2, a3, a4, a5));
@@ -1509,7 +1509,7 @@
 
 template<class F, class A1, class A2, class A3, class A4, class A5, class A6>
     _bi::bind_t<_bi::unspecified, F, typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type>
-    BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6)
+    NDNBOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6)
 {
     typedef typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type list_type;
     return _bi::bind_t<_bi::unspecified, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6));
@@ -1517,7 +1517,7 @@
 
 template<class F, class A1, class A2, class A3, class A4, class A5, class A6, class A7>
     _bi::bind_t<_bi::unspecified, F, typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type>
-    BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7)
+    NDNBOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7)
 {
     typedef typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type list_type;
     return _bi::bind_t<_bi::unspecified, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6, a7));
@@ -1525,7 +1525,7 @@
 
 template<class F, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8>
     _bi::bind_t<_bi::unspecified, F, typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type>
-    BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8)
+    NDNBOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8)
 {
     typedef typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type list_type;
     return _bi::bind_t<_bi::unspecified, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6, a7, a8));
@@ -1533,118 +1533,118 @@
 
 template<class F, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9>
     _bi::bind_t<_bi::unspecified, F, typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type>
-    BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9)
+    NDNBOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9)
 {
     typedef typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type list_type;
     return _bi::bind_t<_bi::unspecified, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6, a7, a8, a9));
 }
 
-#endif // !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING)
+#endif // !defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(NDNBOOST_NO_FUNCTION_TEMPLATE_ORDERING)
 
 // function pointers
 
-#define BOOST_BIND_CC
-#define BOOST_BIND_ST
+#define NDNBOOST_BIND_CC
+#define NDNBOOST_BIND_ST
 
 #include <ndnboost/bind/bind_cc.hpp>
 
-#undef BOOST_BIND_CC
-#undef BOOST_BIND_ST
+#undef NDNBOOST_BIND_CC
+#undef NDNBOOST_BIND_ST
 
-#ifdef BOOST_BIND_ENABLE_STDCALL
+#ifdef NDNBOOST_BIND_ENABLE_STDCALL
 
-#define BOOST_BIND_CC __stdcall
-#define BOOST_BIND_ST
+#define NDNBOOST_BIND_CC __stdcall
+#define NDNBOOST_BIND_ST
 
 #include <ndnboost/bind/bind_cc.hpp>
 
-#undef BOOST_BIND_CC
-#undef BOOST_BIND_ST
+#undef NDNBOOST_BIND_CC
+#undef NDNBOOST_BIND_ST
 
 #endif
 
-#ifdef BOOST_BIND_ENABLE_FASTCALL
+#ifdef NDNBOOST_BIND_ENABLE_FASTCALL
 
-#define BOOST_BIND_CC __fastcall
-#define BOOST_BIND_ST
+#define NDNBOOST_BIND_CC __fastcall
+#define NDNBOOST_BIND_ST
 
 #include <ndnboost/bind/bind_cc.hpp>
 
-#undef BOOST_BIND_CC
-#undef BOOST_BIND_ST
+#undef NDNBOOST_BIND_CC
+#undef NDNBOOST_BIND_ST
 
 #endif
 
-#ifdef BOOST_BIND_ENABLE_PASCAL
+#ifdef NDNBOOST_BIND_ENABLE_PASCAL
 
-#define BOOST_BIND_ST pascal
-#define BOOST_BIND_CC
+#define NDNBOOST_BIND_ST pascal
+#define NDNBOOST_BIND_CC
 
 #include <ndnboost/bind/bind_cc.hpp>
 
-#undef BOOST_BIND_ST
-#undef BOOST_BIND_CC
+#undef NDNBOOST_BIND_ST
+#undef NDNBOOST_BIND_CC
 
 #endif
 
 // member function pointers
 
-#define BOOST_BIND_MF_NAME(X) X
-#define BOOST_BIND_MF_CC
+#define NDNBOOST_BIND_MF_NAME(X) X
+#define NDNBOOST_BIND_MF_CC
 
 #include <ndnboost/bind/bind_mf_cc.hpp>
 #include <ndnboost/bind/bind_mf2_cc.hpp>
 
-#undef BOOST_BIND_MF_NAME
-#undef BOOST_BIND_MF_CC
+#undef NDNBOOST_BIND_MF_NAME
+#undef NDNBOOST_BIND_MF_CC
 
-#ifdef BOOST_MEM_FN_ENABLE_CDECL
+#ifdef NDNBOOST_MEM_FN_ENABLE_CDECL
 
-#define BOOST_BIND_MF_NAME(X) X##_cdecl
-#define BOOST_BIND_MF_CC __cdecl
+#define NDNBOOST_BIND_MF_NAME(X) X##_cdecl
+#define NDNBOOST_BIND_MF_CC __cdecl
 
 #include <ndnboost/bind/bind_mf_cc.hpp>
 #include <ndnboost/bind/bind_mf2_cc.hpp>
 
-#undef BOOST_BIND_MF_NAME
-#undef BOOST_BIND_MF_CC
+#undef NDNBOOST_BIND_MF_NAME
+#undef NDNBOOST_BIND_MF_CC
 
 #endif
 
-#ifdef BOOST_MEM_FN_ENABLE_STDCALL
+#ifdef NDNBOOST_MEM_FN_ENABLE_STDCALL
 
-#define BOOST_BIND_MF_NAME(X) X##_stdcall
-#define BOOST_BIND_MF_CC __stdcall
+#define NDNBOOST_BIND_MF_NAME(X) X##_stdcall
+#define NDNBOOST_BIND_MF_CC __stdcall
 
 #include <ndnboost/bind/bind_mf_cc.hpp>
 #include <ndnboost/bind/bind_mf2_cc.hpp>
 
-#undef BOOST_BIND_MF_NAME
-#undef BOOST_BIND_MF_CC
+#undef NDNBOOST_BIND_MF_NAME
+#undef NDNBOOST_BIND_MF_CC
 
 #endif
 
-#ifdef BOOST_MEM_FN_ENABLE_FASTCALL
+#ifdef NDNBOOST_MEM_FN_ENABLE_FASTCALL
 
-#define BOOST_BIND_MF_NAME(X) X##_fastcall
-#define BOOST_BIND_MF_CC __fastcall
+#define NDNBOOST_BIND_MF_NAME(X) X##_fastcall
+#define NDNBOOST_BIND_MF_CC __fastcall
 
 #include <ndnboost/bind/bind_mf_cc.hpp>
 #include <ndnboost/bind/bind_mf2_cc.hpp>
 
-#undef BOOST_BIND_MF_NAME
-#undef BOOST_BIND_MF_CC
+#undef NDNBOOST_BIND_MF_NAME
+#undef NDNBOOST_BIND_MF_CC
 
 #endif
 
 // data member pointers
 
-#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) || defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \
-    || ( defined(__BORLANDC__) && BOOST_WORKAROUND( __BORLANDC__, BOOST_TESTED_AT( 0x620 ) ) )
+#if defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) || defined(NDNBOOST_NO_FUNCTION_TEMPLATE_ORDERING) \
+    || ( defined(__BORLANDC__) && NDNBOOST_WORKAROUND( __BORLANDC__, NDNBOOST_TESTED_AT( 0x620 ) ) )
 
 template<class R, class T, class A1>
 _bi::bind_t< R, _mfi::dm<R, T>, typename _bi::list_av_1<A1>::type >
-    BOOST_BIND(R T::*f, A1 a1)
+    NDNBOOST_BIND(R T::*f, A1 a1)
 {
     typedef _mfi::dm<R, T> F;
     typedef typename _bi::list_av_1<A1>::type list_type;
@@ -1665,12 +1665,12 @@
 
 template< class M, class T > struct add_cref< M T::*, 1 >
 {
-#ifdef BOOST_MSVC
+#ifdef NDNBOOST_MSVC
 #pragma warning(push)
 #pragma warning(disable:4180)
 #endif
     typedef M const & type;
-#ifdef BOOST_MSVC
+#ifdef NDNBOOST_MSVC
 #pragma warning(pop)
 #endif
 };
@@ -1725,7 +1725,7 @@
     typename _bi::list_av_1<A1>::type
 >
 
-BOOST_BIND( M T::*f, A1 a1 )
+NDNBOOST_BIND( M T::*f, A1 a1 )
 {
     typedef typename _bi::dm_result< M T::*, A1 >::type result_type;
     typedef _mfi::dm<M, T> F;
@@ -1737,15 +1737,15 @@
 
 } // namespace ndnboost
 
-#ifndef BOOST_BIND_NO_PLACEHOLDERS
+#ifndef NDNBOOST_BIND_NO_PLACEHOLDERS
 
 # include <ndnboost/bind/placeholders.hpp>
 
 #endif
 
-#ifdef BOOST_MSVC
+#ifdef NDNBOOST_MSVC
 # pragma warning(default: 4512) // assignment operator could not be generated
 # pragma warning(pop)
 #endif
 
-#endif // #ifndef BOOST_BIND_BIND_HPP_INCLUDED
+#endif // #ifndef NDNBOOST_BIND_BIND_HPP_INCLUDED
diff --git a/include/ndnboost/bind/bind_cc.hpp b/include/ndnboost/bind/bind_cc.hpp
index 35f8ece..cb95e6a 100644
--- a/include/ndnboost/bind/bind_cc.hpp
+++ b/include/ndnboost/bind/bind_cc.hpp
@@ -13,28 +13,28 @@
 //
 
 template<class R>
-    _bi::bind_t<R, BOOST_BIND_ST R (BOOST_BIND_CC *) (), _bi::list0>
-    BOOST_BIND(BOOST_BIND_ST R (BOOST_BIND_CC *f) ())
+    _bi::bind_t<R, NDNBOOST_BIND_ST R (NDNBOOST_BIND_CC *) (), _bi::list0>
+    NDNBOOST_BIND(NDNBOOST_BIND_ST R (NDNBOOST_BIND_CC *f) ())
 {
-    typedef BOOST_BIND_ST R (BOOST_BIND_CC *F) ();
+    typedef NDNBOOST_BIND_ST R (NDNBOOST_BIND_CC *F) ();
     typedef _bi::list0 list_type;
     return _bi::bind_t<R, F, list_type> (f, list_type());
 }
 
 template<class R, class B1, class A1>
-    _bi::bind_t<R, BOOST_BIND_ST R (BOOST_BIND_CC *) (B1), typename _bi::list_av_1<A1>::type>
-    BOOST_BIND(BOOST_BIND_ST R (BOOST_BIND_CC *f) (B1), A1 a1)
+    _bi::bind_t<R, NDNBOOST_BIND_ST R (NDNBOOST_BIND_CC *) (B1), typename _bi::list_av_1<A1>::type>
+    NDNBOOST_BIND(NDNBOOST_BIND_ST R (NDNBOOST_BIND_CC *f) (B1), A1 a1)
 {
-    typedef BOOST_BIND_ST R (BOOST_BIND_CC *F) (B1);
+    typedef NDNBOOST_BIND_ST R (NDNBOOST_BIND_CC *F) (B1);
     typedef typename _bi::list_av_1<A1>::type list_type;
     return _bi::bind_t<R, F, list_type> (f, list_type(a1));
 }
 
 template<class R, class B1, class B2, class A1, class A2>
-    _bi::bind_t<R, BOOST_BIND_ST R (BOOST_BIND_CC *) (B1, B2), typename _bi::list_av_2<A1, A2>::type>
-    BOOST_BIND(BOOST_BIND_ST R (BOOST_BIND_CC *f) (B1, B2), A1 a1, A2 a2)
+    _bi::bind_t<R, NDNBOOST_BIND_ST R (NDNBOOST_BIND_CC *) (B1, B2), typename _bi::list_av_2<A1, A2>::type>
+    NDNBOOST_BIND(NDNBOOST_BIND_ST R (NDNBOOST_BIND_CC *f) (B1, B2), A1 a1, A2 a2)
 {
-    typedef BOOST_BIND_ST R (BOOST_BIND_CC *F) (B1, B2);
+    typedef NDNBOOST_BIND_ST R (NDNBOOST_BIND_CC *F) (B1, B2);
     typedef typename _bi::list_av_2<A1, A2>::type list_type;
     return _bi::bind_t<R, F, list_type> (f, list_type(a1, a2));
 }
@@ -42,10 +42,10 @@
 template<class R,
     class B1, class B2, class B3,
     class A1, class A2, class A3>
-    _bi::bind_t<R, BOOST_BIND_ST R (BOOST_BIND_CC *) (B1, B2, B3), typename _bi::list_av_3<A1, A2, A3>::type>
-    BOOST_BIND(BOOST_BIND_ST R (BOOST_BIND_CC *f) (B1, B2, B3), A1 a1, A2 a2, A3 a3)
+    _bi::bind_t<R, NDNBOOST_BIND_ST R (NDNBOOST_BIND_CC *) (B1, B2, B3), typename _bi::list_av_3<A1, A2, A3>::type>
+    NDNBOOST_BIND(NDNBOOST_BIND_ST R (NDNBOOST_BIND_CC *f) (B1, B2, B3), A1 a1, A2 a2, A3 a3)
 {
-    typedef BOOST_BIND_ST R (BOOST_BIND_CC *F) (B1, B2, B3);
+    typedef NDNBOOST_BIND_ST R (NDNBOOST_BIND_CC *F) (B1, B2, B3);
     typedef typename _bi::list_av_3<A1, A2, A3>::type list_type;
     return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3));
 }
@@ -53,10 +53,10 @@
 template<class R,
     class B1, class B2, class B3, class B4,
     class A1, class A2, class A3, class A4>
-    _bi::bind_t<R, BOOST_BIND_ST R (BOOST_BIND_CC *) (B1, B2, B3, B4), typename _bi::list_av_4<A1, A2, A3, A4>::type>
-    BOOST_BIND(BOOST_BIND_ST R (BOOST_BIND_CC *f) (B1, B2, B3, B4), A1 a1, A2 a2, A3 a3, A4 a4)
+    _bi::bind_t<R, NDNBOOST_BIND_ST R (NDNBOOST_BIND_CC *) (B1, B2, B3, B4), typename _bi::list_av_4<A1, A2, A3, A4>::type>
+    NDNBOOST_BIND(NDNBOOST_BIND_ST R (NDNBOOST_BIND_CC *f) (B1, B2, B3, B4), A1 a1, A2 a2, A3 a3, A4 a4)
 {
-    typedef BOOST_BIND_ST R (BOOST_BIND_CC *F) (B1, B2, B3, B4);
+    typedef NDNBOOST_BIND_ST R (NDNBOOST_BIND_CC *F) (B1, B2, B3, B4);
     typedef typename _bi::list_av_4<A1, A2, A3, A4>::type list_type;
     return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4));
 }
@@ -64,10 +64,10 @@
 template<class R,
     class B1, class B2, class B3, class B4, class B5,
     class A1, class A2, class A3, class A4, class A5>
-    _bi::bind_t<R, BOOST_BIND_ST R (BOOST_BIND_CC *) (B1, B2, B3, B4, B5), typename _bi::list_av_5<A1, A2, A3, A4, A5>::type>
-    BOOST_BIND(BOOST_BIND_ST R (BOOST_BIND_CC *f) (B1, B2, B3, B4, B5), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5)
+    _bi::bind_t<R, NDNBOOST_BIND_ST R (NDNBOOST_BIND_CC *) (B1, B2, B3, B4, B5), typename _bi::list_av_5<A1, A2, A3, A4, A5>::type>
+    NDNBOOST_BIND(NDNBOOST_BIND_ST R (NDNBOOST_BIND_CC *f) (B1, B2, B3, B4, B5), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5)
 {
-    typedef BOOST_BIND_ST R (BOOST_BIND_CC *F) (B1, B2, B3, B4, B5);
+    typedef NDNBOOST_BIND_ST R (NDNBOOST_BIND_CC *F) (B1, B2, B3, B4, B5);
     typedef typename _bi::list_av_5<A1, A2, A3, A4, A5>::type list_type;
     return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5));
 }
@@ -75,10 +75,10 @@
 template<class R,
     class B1, class B2, class B3, class B4, class B5, class B6,
     class A1, class A2, class A3, class A4, class A5, class A6>
-    _bi::bind_t<R, BOOST_BIND_ST R (BOOST_BIND_CC *) (B1, B2, B3, B4, B5, B6), typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type>
-    BOOST_BIND(BOOST_BIND_ST R (BOOST_BIND_CC *f) (B1, B2, B3, B4, B5, B6), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6)
+    _bi::bind_t<R, NDNBOOST_BIND_ST R (NDNBOOST_BIND_CC *) (B1, B2, B3, B4, B5, B6), typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type>
+    NDNBOOST_BIND(NDNBOOST_BIND_ST R (NDNBOOST_BIND_CC *f) (B1, B2, B3, B4, B5, B6), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6)
 {
-    typedef BOOST_BIND_ST R (BOOST_BIND_CC *F) (B1, B2, B3, B4, B5, B6);
+    typedef NDNBOOST_BIND_ST R (NDNBOOST_BIND_CC *F) (B1, B2, B3, B4, B5, B6);
     typedef typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type list_type;
     return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6));
 }
@@ -86,10 +86,10 @@
 template<class R,
     class B1, class B2, class B3, class B4, class B5, class B6, class B7,
     class A1, class A2, class A3, class A4, class A5, class A6, class A7>
-    _bi::bind_t<R, BOOST_BIND_ST R (BOOST_BIND_CC *) (B1, B2, B3, B4, B5, B6, B7), typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type>
-    BOOST_BIND(BOOST_BIND_ST R (BOOST_BIND_CC *f) (B1, B2, B3, B4, B5, B6, B7), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7)
+    _bi::bind_t<R, NDNBOOST_BIND_ST R (NDNBOOST_BIND_CC *) (B1, B2, B3, B4, B5, B6, B7), typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type>
+    NDNBOOST_BIND(NDNBOOST_BIND_ST R (NDNBOOST_BIND_CC *f) (B1, B2, B3, B4, B5, B6, B7), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7)
 {
-    typedef BOOST_BIND_ST R (BOOST_BIND_CC *F) (B1, B2, B3, B4, B5, B6, B7);
+    typedef NDNBOOST_BIND_ST R (NDNBOOST_BIND_CC *F) (B1, B2, B3, B4, B5, B6, B7);
     typedef typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type list_type;
     return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6, a7));
 }
@@ -97,10 +97,10 @@
 template<class R,
     class B1, class B2, class B3, class B4, class B5, class B6, class B7, class B8,
     class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8>
-    _bi::bind_t<R, BOOST_BIND_ST R (BOOST_BIND_CC *) (B1, B2, B3, B4, B5, B6, B7, B8), typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type>
-    BOOST_BIND(BOOST_BIND_ST R (BOOST_BIND_CC *f) (B1, B2, B3, B4, B5, B6, B7, B8), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8)
+    _bi::bind_t<R, NDNBOOST_BIND_ST R (NDNBOOST_BIND_CC *) (B1, B2, B3, B4, B5, B6, B7, B8), typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type>
+    NDNBOOST_BIND(NDNBOOST_BIND_ST R (NDNBOOST_BIND_CC *f) (B1, B2, B3, B4, B5, B6, B7, B8), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8)
 {
-    typedef BOOST_BIND_ST R (BOOST_BIND_CC *F) (B1, B2, B3, B4, B5, B6, B7, B8);
+    typedef NDNBOOST_BIND_ST R (NDNBOOST_BIND_CC *F) (B1, B2, B3, B4, B5, B6, B7, B8);
     typedef typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type list_type;
     return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6, a7, a8));
 }
@@ -108,10 +108,10 @@
 template<class R,
     class B1, class B2, class B3, class B4, class B5, class B6, class B7, class B8, class B9,
     class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9>
-    _bi::bind_t<R, BOOST_BIND_ST R (BOOST_BIND_CC *) (B1, B2, B3, B4, B5, B6, B7, B8, B9), typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type>
-    BOOST_BIND(BOOST_BIND_ST R (BOOST_BIND_CC *f) (B1, B2, B3, B4, B5, B6, B7, B8, B9), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9)
+    _bi::bind_t<R, NDNBOOST_BIND_ST R (NDNBOOST_BIND_CC *) (B1, B2, B3, B4, B5, B6, B7, B8, B9), typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type>
+    NDNBOOST_BIND(NDNBOOST_BIND_ST R (NDNBOOST_BIND_CC *f) (B1, B2, B3, B4, B5, B6, B7, B8, B9), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9)
 {
-    typedef BOOST_BIND_ST R (BOOST_BIND_CC *F) (B1, B2, B3, B4, B5, B6, B7, B8, B9);
+    typedef NDNBOOST_BIND_ST R (NDNBOOST_BIND_CC *F) (B1, B2, B3, B4, B5, B6, B7, B8, B9);
     typedef typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type list_type;
     return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6, a7, a8, a9));
 }
diff --git a/include/ndnboost/bind/bind_mf2_cc.hpp b/include/ndnboost/bind/bind_mf2_cc.hpp
index efb8b25..563deef 100644
--- a/include/ndnboost/bind/bind_mf2_cc.hpp
+++ b/include/ndnboost/bind/bind_mf2_cc.hpp
@@ -17,20 +17,20 @@
 
 template<class Rt2, class R, class T,
     class A1>
-    _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(mf0)<R, T>, typename _bi::list_av_1<A1>::type>
-    BOOST_BIND(ndnboost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (), A1 a1)
+    _bi::bind_t<Rt2, _mfi::NDNBOOST_BIND_MF_NAME(mf0)<R, T>, typename _bi::list_av_1<A1>::type>
+    NDNBOOST_BIND(ndnboost::type<Rt2>, R (NDNBOOST_BIND_MF_CC T::*f) (), A1 a1)
 {
-    typedef _mfi::BOOST_BIND_MF_NAME(mf0)<R, T> F;
+    typedef _mfi::NDNBOOST_BIND_MF_NAME(mf0)<R, T> F;
     typedef typename _bi::list_av_1<A1>::type list_type;
     return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1));
 }
 
 template<class Rt2, class R, class T,
     class A1>
-    _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(cmf0)<R, T>, typename _bi::list_av_1<A1>::type>
-    BOOST_BIND(ndnboost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) () const, A1 a1)
+    _bi::bind_t<Rt2, _mfi::NDNBOOST_BIND_MF_NAME(cmf0)<R, T>, typename _bi::list_av_1<A1>::type>
+    NDNBOOST_BIND(ndnboost::type<Rt2>, R (NDNBOOST_BIND_MF_CC T::*f) () const, A1 a1)
 {
-    typedef _mfi::BOOST_BIND_MF_NAME(cmf0)<R, T> F;
+    typedef _mfi::NDNBOOST_BIND_MF_NAME(cmf0)<R, T> F;
     typedef typename _bi::list_av_1<A1>::type list_type;
     return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1));
 }
@@ -40,10 +40,10 @@
 template<class Rt2, class R, class T,
     class B1,
     class A1, class A2>
-    _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(mf1)<R, T, B1>, typename _bi::list_av_2<A1, A2>::type>
-    BOOST_BIND(ndnboost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (B1), A1 a1, A2 a2)
+    _bi::bind_t<Rt2, _mfi::NDNBOOST_BIND_MF_NAME(mf1)<R, T, B1>, typename _bi::list_av_2<A1, A2>::type>
+    NDNBOOST_BIND(ndnboost::type<Rt2>, R (NDNBOOST_BIND_MF_CC T::*f) (B1), A1 a1, A2 a2)
 {
-    typedef _mfi::BOOST_BIND_MF_NAME(mf1)<R, T, B1> F;
+    typedef _mfi::NDNBOOST_BIND_MF_NAME(mf1)<R, T, B1> F;
     typedef typename _bi::list_av_2<A1, A2>::type list_type;
     return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2));
 }
@@ -51,10 +51,10 @@
 template<class Rt2, class R, class T,
     class B1,
     class A1, class A2>
-    _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(cmf1)<R, T, B1>, typename _bi::list_av_2<A1, A2>::type>
-    BOOST_BIND(ndnboost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (B1) const, A1 a1, A2 a2)
+    _bi::bind_t<Rt2, _mfi::NDNBOOST_BIND_MF_NAME(cmf1)<R, T, B1>, typename _bi::list_av_2<A1, A2>::type>
+    NDNBOOST_BIND(ndnboost::type<Rt2>, R (NDNBOOST_BIND_MF_CC T::*f) (B1) const, A1 a1, A2 a2)
 {
-    typedef _mfi::BOOST_BIND_MF_NAME(cmf1)<R, T, B1> F;
+    typedef _mfi::NDNBOOST_BIND_MF_NAME(cmf1)<R, T, B1> F;
     typedef typename _bi::list_av_2<A1, A2>::type list_type;
     return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2));
 }
@@ -64,10 +64,10 @@
 template<class Rt2, class R, class T,
     class B1, class B2,
     class A1, class A2, class A3>
-    _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(mf2)<R, T, B1, B2>, typename _bi::list_av_3<A1, A2, A3>::type>
-    BOOST_BIND(ndnboost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (B1, B2), A1 a1, A2 a2, A3 a3)
+    _bi::bind_t<Rt2, _mfi::NDNBOOST_BIND_MF_NAME(mf2)<R, T, B1, B2>, typename _bi::list_av_3<A1, A2, A3>::type>
+    NDNBOOST_BIND(ndnboost::type<Rt2>, R (NDNBOOST_BIND_MF_CC T::*f) (B1, B2), A1 a1, A2 a2, A3 a3)
 {
-    typedef _mfi::BOOST_BIND_MF_NAME(mf2)<R, T, B1, B2> F;
+    typedef _mfi::NDNBOOST_BIND_MF_NAME(mf2)<R, T, B1, B2> F;
     typedef typename _bi::list_av_3<A1, A2, A3>::type list_type;
     return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3));
 }
@@ -75,10 +75,10 @@
 template<class Rt2, class R, class T,
     class B1, class B2,
     class A1, class A2, class A3>
-    _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(cmf2)<R, T, B1, B2>, typename _bi::list_av_3<A1, A2, A3>::type>
-    BOOST_BIND(ndnboost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (B1, B2) const, A1 a1, A2 a2, A3 a3)
+    _bi::bind_t<Rt2, _mfi::NDNBOOST_BIND_MF_NAME(cmf2)<R, T, B1, B2>, typename _bi::list_av_3<A1, A2, A3>::type>
+    NDNBOOST_BIND(ndnboost::type<Rt2>, R (NDNBOOST_BIND_MF_CC T::*f) (B1, B2) const, A1 a1, A2 a2, A3 a3)
 {
-    typedef _mfi::BOOST_BIND_MF_NAME(cmf2)<R, T, B1, B2> F;
+    typedef _mfi::NDNBOOST_BIND_MF_NAME(cmf2)<R, T, B1, B2> F;
     typedef typename _bi::list_av_3<A1, A2, A3>::type list_type;
     return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3));
 }
@@ -88,10 +88,10 @@
 template<class Rt2, class R, class T,
     class B1, class B2, class B3,
     class A1, class A2, class A3, class A4>
-    _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(mf3)<R, T, B1, B2, B3>, typename _bi::list_av_4<A1, A2, A3, A4>::type>
-    BOOST_BIND(ndnboost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3), A1 a1, A2 a2, A3 a3, A4 a4)
+    _bi::bind_t<Rt2, _mfi::NDNBOOST_BIND_MF_NAME(mf3)<R, T, B1, B2, B3>, typename _bi::list_av_4<A1, A2, A3, A4>::type>
+    NDNBOOST_BIND(ndnboost::type<Rt2>, R (NDNBOOST_BIND_MF_CC T::*f) (B1, B2, B3), A1 a1, A2 a2, A3 a3, A4 a4)
 {
-    typedef _mfi::BOOST_BIND_MF_NAME(mf3)<R, T, B1, B2, B3> F;
+    typedef _mfi::NDNBOOST_BIND_MF_NAME(mf3)<R, T, B1, B2, B3> F;
     typedef typename _bi::list_av_4<A1, A2, A3, A4>::type list_type;
     return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3, a4));
 }
@@ -99,10 +99,10 @@
 template<class Rt2, class R, class T,
     class B1, class B2, class B3,
     class A1, class A2, class A3, class A4>
-    _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(cmf3)<R, T, B1, B2, B3>, typename _bi::list_av_4<A1, A2, A3, A4>::type>
-    BOOST_BIND(ndnboost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3) const, A1 a1, A2 a2, A3 a3, A4 a4)
+    _bi::bind_t<Rt2, _mfi::NDNBOOST_BIND_MF_NAME(cmf3)<R, T, B1, B2, B3>, typename _bi::list_av_4<A1, A2, A3, A4>::type>
+    NDNBOOST_BIND(ndnboost::type<Rt2>, R (NDNBOOST_BIND_MF_CC T::*f) (B1, B2, B3) const, A1 a1, A2 a2, A3 a3, A4 a4)
 {
-    typedef _mfi::BOOST_BIND_MF_NAME(cmf3)<R, T, B1, B2, B3> F;
+    typedef _mfi::NDNBOOST_BIND_MF_NAME(cmf3)<R, T, B1, B2, B3> F;
     typedef typename _bi::list_av_4<A1, A2, A3, A4>::type list_type;
     return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3, a4));
 }
@@ -112,10 +112,10 @@
 template<class Rt2, class R, class T,
     class B1, class B2, class B3, class B4,
     class A1, class A2, class A3, class A4, class A5>
-    _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(mf4)<R, T, B1, B2, B3, B4>, typename _bi::list_av_5<A1, A2, A3, A4, A5>::type>
-    BOOST_BIND(ndnboost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5)
+    _bi::bind_t<Rt2, _mfi::NDNBOOST_BIND_MF_NAME(mf4)<R, T, B1, B2, B3, B4>, typename _bi::list_av_5<A1, A2, A3, A4, A5>::type>
+    NDNBOOST_BIND(ndnboost::type<Rt2>, R (NDNBOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5)
 {
-    typedef _mfi::BOOST_BIND_MF_NAME(mf4)<R, T, B1, B2, B3, B4> F;
+    typedef _mfi::NDNBOOST_BIND_MF_NAME(mf4)<R, T, B1, B2, B3, B4> F;
     typedef typename _bi::list_av_5<A1, A2, A3, A4, A5>::type list_type;
     return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5));
 }
@@ -123,10 +123,10 @@
 template<class Rt2, class R, class T,
     class B1, class B2, class B3, class B4,
     class A1, class A2, class A3, class A4, class A5>
-    _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(cmf4)<R, T, B1, B2, B3, B4>, typename _bi::list_av_5<A1, A2, A3, A4, A5>::type>
-    BOOST_BIND(ndnboost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4) const, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5)
+    _bi::bind_t<Rt2, _mfi::NDNBOOST_BIND_MF_NAME(cmf4)<R, T, B1, B2, B3, B4>, typename _bi::list_av_5<A1, A2, A3, A4, A5>::type>
+    NDNBOOST_BIND(ndnboost::type<Rt2>, R (NDNBOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4) const, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5)
 {
-    typedef _mfi::BOOST_BIND_MF_NAME(cmf4)<R, T, B1, B2, B3, B4> F;
+    typedef _mfi::NDNBOOST_BIND_MF_NAME(cmf4)<R, T, B1, B2, B3, B4> F;
     typedef typename _bi::list_av_5<A1, A2, A3, A4, A5>::type list_type;
     return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5));
 }
@@ -136,10 +136,10 @@
 template<class Rt2, class R, class T,
     class B1, class B2, class B3, class B4, class B5,
     class A1, class A2, class A3, class A4, class A5, class A6>
-    _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(mf5)<R, T, B1, B2, B3, B4, B5>, typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type>
-    BOOST_BIND(ndnboost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6)
+    _bi::bind_t<Rt2, _mfi::NDNBOOST_BIND_MF_NAME(mf5)<R, T, B1, B2, B3, B4, B5>, typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type>
+    NDNBOOST_BIND(ndnboost::type<Rt2>, R (NDNBOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6)
 {
-    typedef _mfi::BOOST_BIND_MF_NAME(mf5)<R, T, B1, B2, B3, B4, B5> F;
+    typedef _mfi::NDNBOOST_BIND_MF_NAME(mf5)<R, T, B1, B2, B3, B4, B5> F;
     typedef typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type list_type;
     return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6));
 }
@@ -147,10 +147,10 @@
 template<class Rt2, class R, class T,
     class B1, class B2, class B3, class B4, class B5,
     class A1, class A2, class A3, class A4, class A5, class A6>
-    _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(cmf5)<R, T, B1, B2, B3, B4, B5>, typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type>
-    BOOST_BIND(ndnboost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5) const, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6)
+    _bi::bind_t<Rt2, _mfi::NDNBOOST_BIND_MF_NAME(cmf5)<R, T, B1, B2, B3, B4, B5>, typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type>
+    NDNBOOST_BIND(ndnboost::type<Rt2>, R (NDNBOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5) const, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6)
 {
-    typedef _mfi::BOOST_BIND_MF_NAME(cmf5)<R, T, B1, B2, B3, B4, B5> F;
+    typedef _mfi::NDNBOOST_BIND_MF_NAME(cmf5)<R, T, B1, B2, B3, B4, B5> F;
     typedef typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type list_type;
     return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6));
 }
@@ -160,10 +160,10 @@
 template<class Rt2, class R, class T,
     class B1, class B2, class B3, class B4, class B5, class B6,
     class A1, class A2, class A3, class A4, class A5, class A6, class A7>
-    _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(mf6)<R, T, B1, B2, B3, B4, B5, B6>, typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type>
-    BOOST_BIND(ndnboost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7)
+    _bi::bind_t<Rt2, _mfi::NDNBOOST_BIND_MF_NAME(mf6)<R, T, B1, B2, B3, B4, B5, B6>, typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type>
+    NDNBOOST_BIND(ndnboost::type<Rt2>, R (NDNBOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7)
 {
-    typedef _mfi::BOOST_BIND_MF_NAME(mf6)<R, T, B1, B2, B3, B4, B5, B6> F;
+    typedef _mfi::NDNBOOST_BIND_MF_NAME(mf6)<R, T, B1, B2, B3, B4, B5, B6> F;
     typedef typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type list_type;
     return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6, a7));
 }
@@ -171,10 +171,10 @@
 template<class Rt2, class R, class T,
     class B1, class B2, class B3, class B4, class B5, class B6,
     class A1, class A2, class A3, class A4, class A5, class A6, class A7>
-    _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(cmf6)<R, T, B1, B2, B3, B4, B5, B6>, typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type>
-    BOOST_BIND(ndnboost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6) const, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7)
+    _bi::bind_t<Rt2, _mfi::NDNBOOST_BIND_MF_NAME(cmf6)<R, T, B1, B2, B3, B4, B5, B6>, typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type>
+    NDNBOOST_BIND(ndnboost::type<Rt2>, R (NDNBOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6) const, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7)
 {
-    typedef _mfi::BOOST_BIND_MF_NAME(cmf6)<R, T, B1, B2, B3, B4, B5, B6> F;
+    typedef _mfi::NDNBOOST_BIND_MF_NAME(cmf6)<R, T, B1, B2, B3, B4, B5, B6> F;
     typedef typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type list_type;
     return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6, a7));
 }
@@ -184,10 +184,10 @@
 template<class Rt2, class R, class T,
     class B1, class B2, class B3, class B4, class B5, class B6, class B7,
     class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8>
-    _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(mf7)<R, T, B1, B2, B3, B4, B5, B6, B7>, typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type>
-    BOOST_BIND(ndnboost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8)
+    _bi::bind_t<Rt2, _mfi::NDNBOOST_BIND_MF_NAME(mf7)<R, T, B1, B2, B3, B4, B5, B6, B7>, typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type>
+    NDNBOOST_BIND(ndnboost::type<Rt2>, R (NDNBOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8)
 {
-    typedef _mfi::BOOST_BIND_MF_NAME(mf7)<R, T, B1, B2, B3, B4, B5, B6, B7> F;
+    typedef _mfi::NDNBOOST_BIND_MF_NAME(mf7)<R, T, B1, B2, B3, B4, B5, B6, B7> F;
     typedef typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type list_type;
     return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6, a7, a8));
 }
@@ -195,10 +195,10 @@
 template<class Rt2, class R, class T,
     class B1, class B2, class B3, class B4, class B5, class B6, class B7,
     class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8>
-    _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(cmf7)<R, T, B1, B2, B3, B4, B5, B6, B7>, typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type>
-    BOOST_BIND(ndnboost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7) const, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8)
+    _bi::bind_t<Rt2, _mfi::NDNBOOST_BIND_MF_NAME(cmf7)<R, T, B1, B2, B3, B4, B5, B6, B7>, typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type>
+    NDNBOOST_BIND(ndnboost::type<Rt2>, R (NDNBOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7) const, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8)
 {
-    typedef _mfi::BOOST_BIND_MF_NAME(cmf7)<R, T, B1, B2, B3, B4, B5, B6, B7> F;
+    typedef _mfi::NDNBOOST_BIND_MF_NAME(cmf7)<R, T, B1, B2, B3, B4, B5, B6, B7> F;
     typedef typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type list_type;
     return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6, a7, a8));
 }
@@ -208,10 +208,10 @@
 template<class Rt2, class R, class T,
     class B1, class B2, class B3, class B4, class B5, class B6, class B7, class B8,
     class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9>
-    _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(mf8)<R, T, B1, B2, B3, B4, B5, B6, B7, B8>, typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type>
-    BOOST_BIND(ndnboost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7, B8), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9)
+    _bi::bind_t<Rt2, _mfi::NDNBOOST_BIND_MF_NAME(mf8)<R, T, B1, B2, B3, B4, B5, B6, B7, B8>, typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type>
+    NDNBOOST_BIND(ndnboost::type<Rt2>, R (NDNBOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7, B8), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9)
 {
-    typedef _mfi::BOOST_BIND_MF_NAME(mf8)<R, T, B1, B2, B3, B4, B5, B6, B7, B8> F;
+    typedef _mfi::NDNBOOST_BIND_MF_NAME(mf8)<R, T, B1, B2, B3, B4, B5, B6, B7, B8> F;
     typedef typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type list_type;
     return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6, a7, a8, a9));
 }
@@ -219,10 +219,10 @@
 template<class Rt2, class R, class T,
     class B1, class B2, class B3, class B4, class B5, class B6, class B7, class B8,
     class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9>
-    _bi::bind_t<Rt2, _mfi::BOOST_BIND_MF_NAME(cmf8)<R, T, B1, B2, B3, B4, B5, B6, B7, B8>, typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type>
-    BOOST_BIND(ndnboost::type<Rt2>, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7, B8) const, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9)
+    _bi::bind_t<Rt2, _mfi::NDNBOOST_BIND_MF_NAME(cmf8)<R, T, B1, B2, B3, B4, B5, B6, B7, B8>, typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type>
+    NDNBOOST_BIND(ndnboost::type<Rt2>, R (NDNBOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7, B8) const, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9)
 {
-    typedef _mfi::BOOST_BIND_MF_NAME(cmf8)<R, T, B1, B2, B3, B4, B5, B6, B7, B8> F;
+    typedef _mfi::NDNBOOST_BIND_MF_NAME(cmf8)<R, T, B1, B2, B3, B4, B5, B6, B7, B8> F;
     typedef typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type list_type;
     return _bi::bind_t<Rt2, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6, a7, a8, a9));
 }
diff --git a/include/ndnboost/bind/bind_mf_cc.hpp b/include/ndnboost/bind/bind_mf_cc.hpp
index 88be822..34108e7 100644
--- a/include/ndnboost/bind/bind_mf_cc.hpp
+++ b/include/ndnboost/bind/bind_mf_cc.hpp
@@ -16,20 +16,20 @@
 
 template<class R, class T,
     class A1>
-    _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(mf0)<R, T>, typename _bi::list_av_1<A1>::type>
-    BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (), A1 a1)
+    _bi::bind_t<R, _mfi::NDNBOOST_BIND_MF_NAME(mf0)<R, T>, typename _bi::list_av_1<A1>::type>
+    NDNBOOST_BIND(R (NDNBOOST_BIND_MF_CC T::*f) (), A1 a1)
 {
-    typedef _mfi::BOOST_BIND_MF_NAME(mf0)<R, T> F;
+    typedef _mfi::NDNBOOST_BIND_MF_NAME(mf0)<R, T> F;
     typedef typename _bi::list_av_1<A1>::type list_type;
     return _bi::bind_t<R, F, list_type>(F(f), list_type(a1));
 }
 
 template<class R, class T,
     class A1>
-    _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(cmf0)<R, T>, typename _bi::list_av_1<A1>::type>
-    BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) () const, A1 a1)
+    _bi::bind_t<R, _mfi::NDNBOOST_BIND_MF_NAME(cmf0)<R, T>, typename _bi::list_av_1<A1>::type>
+    NDNBOOST_BIND(R (NDNBOOST_BIND_MF_CC T::*f) () const, A1 a1)
 {
-    typedef _mfi::BOOST_BIND_MF_NAME(cmf0)<R, T> F;
+    typedef _mfi::NDNBOOST_BIND_MF_NAME(cmf0)<R, T> F;
     typedef typename _bi::list_av_1<A1>::type list_type;
     return _bi::bind_t<R, F, list_type>(F(f), list_type(a1));
 }
@@ -39,10 +39,10 @@
 template<class R, class T,
     class B1,
     class A1, class A2>
-    _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(mf1)<R, T, B1>, typename _bi::list_av_2<A1, A2>::type>
-    BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1), A1 a1, A2 a2)
+    _bi::bind_t<R, _mfi::NDNBOOST_BIND_MF_NAME(mf1)<R, T, B1>, typename _bi::list_av_2<A1, A2>::type>
+    NDNBOOST_BIND(R (NDNBOOST_BIND_MF_CC T::*f) (B1), A1 a1, A2 a2)
 {
-    typedef _mfi::BOOST_BIND_MF_NAME(mf1)<R, T, B1> F;
+    typedef _mfi::NDNBOOST_BIND_MF_NAME(mf1)<R, T, B1> F;
     typedef typename _bi::list_av_2<A1, A2>::type list_type;
     return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2));
 }
@@ -50,10 +50,10 @@
 template<class R, class T,
     class B1,
     class A1, class A2>
-    _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(cmf1)<R, T, B1>, typename _bi::list_av_2<A1, A2>::type>
-    BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1) const, A1 a1, A2 a2)
+    _bi::bind_t<R, _mfi::NDNBOOST_BIND_MF_NAME(cmf1)<R, T, B1>, typename _bi::list_av_2<A1, A2>::type>
+    NDNBOOST_BIND(R (NDNBOOST_BIND_MF_CC T::*f) (B1) const, A1 a1, A2 a2)
 {
-    typedef _mfi::BOOST_BIND_MF_NAME(cmf1)<R, T, B1> F;
+    typedef _mfi::NDNBOOST_BIND_MF_NAME(cmf1)<R, T, B1> F;
     typedef typename _bi::list_av_2<A1, A2>::type list_type;
     return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2));
 }
@@ -63,10 +63,10 @@
 template<class R, class T,
     class B1, class B2,
     class A1, class A2, class A3>
-    _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(mf2)<R, T, B1, B2>, typename _bi::list_av_3<A1, A2, A3>::type>
-    BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2), A1 a1, A2 a2, A3 a3)
+    _bi::bind_t<R, _mfi::NDNBOOST_BIND_MF_NAME(mf2)<R, T, B1, B2>, typename _bi::list_av_3<A1, A2, A3>::type>
+    NDNBOOST_BIND(R (NDNBOOST_BIND_MF_CC T::*f) (B1, B2), A1 a1, A2 a2, A3 a3)
 {
-    typedef _mfi::BOOST_BIND_MF_NAME(mf2)<R, T, B1, B2> F;
+    typedef _mfi::NDNBOOST_BIND_MF_NAME(mf2)<R, T, B1, B2> F;
     typedef typename _bi::list_av_3<A1, A2, A3>::type list_type;
     return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3));
 }
@@ -74,10 +74,10 @@
 template<class R, class T,
     class B1, class B2,
     class A1, class A2, class A3>
-    _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(cmf2)<R, T, B1, B2>, typename _bi::list_av_3<A1, A2, A3>::type>
-    BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2) const, A1 a1, A2 a2, A3 a3)
+    _bi::bind_t<R, _mfi::NDNBOOST_BIND_MF_NAME(cmf2)<R, T, B1, B2>, typename _bi::list_av_3<A1, A2, A3>::type>
+    NDNBOOST_BIND(R (NDNBOOST_BIND_MF_CC T::*f) (B1, B2) const, A1 a1, A2 a2, A3 a3)
 {
-    typedef _mfi::BOOST_BIND_MF_NAME(cmf2)<R, T, B1, B2> F;
+    typedef _mfi::NDNBOOST_BIND_MF_NAME(cmf2)<R, T, B1, B2> F;
     typedef typename _bi::list_av_3<A1, A2, A3>::type list_type;
     return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3));
 }
@@ -87,10 +87,10 @@
 template<class R, class T,
     class B1, class B2, class B3,
     class A1, class A2, class A3, class A4>
-    _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(mf3)<R, T, B1, B2, B3>, typename _bi::list_av_4<A1, A2, A3, A4>::type>
-    BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3), A1 a1, A2 a2, A3 a3, A4 a4)
+    _bi::bind_t<R, _mfi::NDNBOOST_BIND_MF_NAME(mf3)<R, T, B1, B2, B3>, typename _bi::list_av_4<A1, A2, A3, A4>::type>
+    NDNBOOST_BIND(R (NDNBOOST_BIND_MF_CC T::*f) (B1, B2, B3), A1 a1, A2 a2, A3 a3, A4 a4)
 {
-    typedef _mfi::BOOST_BIND_MF_NAME(mf3)<R, T, B1, B2, B3> F;
+    typedef _mfi::NDNBOOST_BIND_MF_NAME(mf3)<R, T, B1, B2, B3> F;
     typedef typename _bi::list_av_4<A1, A2, A3, A4>::type list_type;
     return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3, a4));
 }
@@ -98,10 +98,10 @@
 template<class R, class T,
     class B1, class B2, class B3,
     class A1, class A2, class A3, class A4>
-    _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(cmf3)<R, T, B1, B2, B3>, typename _bi::list_av_4<A1, A2, A3, A4>::type>
-    BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3) const, A1 a1, A2 a2, A3 a3, A4 a4)
+    _bi::bind_t<R, _mfi::NDNBOOST_BIND_MF_NAME(cmf3)<R, T, B1, B2, B3>, typename _bi::list_av_4<A1, A2, A3, A4>::type>
+    NDNBOOST_BIND(R (NDNBOOST_BIND_MF_CC T::*f) (B1, B2, B3) const, A1 a1, A2 a2, A3 a3, A4 a4)
 {
-    typedef _mfi::BOOST_BIND_MF_NAME(cmf3)<R, T, B1, B2, B3> F;
+    typedef _mfi::NDNBOOST_BIND_MF_NAME(cmf3)<R, T, B1, B2, B3> F;
     typedef typename _bi::list_av_4<A1, A2, A3, A4>::type list_type;
     return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3, a4));
 }
@@ -111,10 +111,10 @@
 template<class R, class T,
     class B1, class B2, class B3, class B4,
     class A1, class A2, class A3, class A4, class A5>
-    _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(mf4)<R, T, B1, B2, B3, B4>, typename _bi::list_av_5<A1, A2, A3, A4, A5>::type>
-    BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5)
+    _bi::bind_t<R, _mfi::NDNBOOST_BIND_MF_NAME(mf4)<R, T, B1, B2, B3, B4>, typename _bi::list_av_5<A1, A2, A3, A4, A5>::type>
+    NDNBOOST_BIND(R (NDNBOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5)
 {
-    typedef _mfi::BOOST_BIND_MF_NAME(mf4)<R, T, B1, B2, B3, B4> F;
+    typedef _mfi::NDNBOOST_BIND_MF_NAME(mf4)<R, T, B1, B2, B3, B4> F;
     typedef typename _bi::list_av_5<A1, A2, A3, A4, A5>::type list_type;
     return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5));
 }
@@ -122,10 +122,10 @@
 template<class R, class T,
     class B1, class B2, class B3, class B4,
     class A1, class A2, class A3, class A4, class A5>
-    _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(cmf4)<R, T, B1, B2, B3, B4>, typename _bi::list_av_5<A1, A2, A3, A4, A5>::type>
-    BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4) const, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5)
+    _bi::bind_t<R, _mfi::NDNBOOST_BIND_MF_NAME(cmf4)<R, T, B1, B2, B3, B4>, typename _bi::list_av_5<A1, A2, A3, A4, A5>::type>
+    NDNBOOST_BIND(R (NDNBOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4) const, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5)
 {
-    typedef _mfi::BOOST_BIND_MF_NAME(cmf4)<R, T, B1, B2, B3, B4> F;
+    typedef _mfi::NDNBOOST_BIND_MF_NAME(cmf4)<R, T, B1, B2, B3, B4> F;
     typedef typename _bi::list_av_5<A1, A2, A3, A4, A5>::type list_type;
     return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5));
 }
@@ -135,10 +135,10 @@
 template<class R, class T,
     class B1, class B2, class B3, class B4, class B5,
     class A1, class A2, class A3, class A4, class A5, class A6>
-    _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(mf5)<R, T, B1, B2, B3, B4, B5>, typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type>
-    BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6)
+    _bi::bind_t<R, _mfi::NDNBOOST_BIND_MF_NAME(mf5)<R, T, B1, B2, B3, B4, B5>, typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type>
+    NDNBOOST_BIND(R (NDNBOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6)
 {
-    typedef _mfi::BOOST_BIND_MF_NAME(mf5)<R, T, B1, B2, B3, B4, B5> F;
+    typedef _mfi::NDNBOOST_BIND_MF_NAME(mf5)<R, T, B1, B2, B3, B4, B5> F;
     typedef typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type list_type;
     return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6));
 }
@@ -146,10 +146,10 @@
 template<class R, class T,
     class B1, class B2, class B3, class B4, class B5,
     class A1, class A2, class A3, class A4, class A5, class A6>
-    _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(cmf5)<R, T, B1, B2, B3, B4, B5>, typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type>
-    BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5) const, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6)
+    _bi::bind_t<R, _mfi::NDNBOOST_BIND_MF_NAME(cmf5)<R, T, B1, B2, B3, B4, B5>, typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type>
+    NDNBOOST_BIND(R (NDNBOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5) const, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6)
 {
-    typedef _mfi::BOOST_BIND_MF_NAME(cmf5)<R, T, B1, B2, B3, B4, B5> F;
+    typedef _mfi::NDNBOOST_BIND_MF_NAME(cmf5)<R, T, B1, B2, B3, B4, B5> F;
     typedef typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type list_type;
     return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6));
 }
@@ -159,10 +159,10 @@
 template<class R, class T,
     class B1, class B2, class B3, class B4, class B5, class B6,
     class A1, class A2, class A3, class A4, class A5, class A6, class A7>
-    _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(mf6)<R, T, B1, B2, B3, B4, B5, B6>, typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type>
-    BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7)
+    _bi::bind_t<R, _mfi::NDNBOOST_BIND_MF_NAME(mf6)<R, T, B1, B2, B3, B4, B5, B6>, typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type>
+    NDNBOOST_BIND(R (NDNBOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7)
 {
-    typedef _mfi::BOOST_BIND_MF_NAME(mf6)<R, T, B1, B2, B3, B4, B5, B6> F;
+    typedef _mfi::NDNBOOST_BIND_MF_NAME(mf6)<R, T, B1, B2, B3, B4, B5, B6> F;
     typedef typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type list_type;
     return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6, a7));
 }
@@ -170,10 +170,10 @@
 template<class R, class T,
     class B1, class B2, class B3, class B4, class B5, class B6,
     class A1, class A2, class A3, class A4, class A5, class A6, class A7>
-    _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(cmf6)<R, T, B1, B2, B3, B4, B5, B6>, typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type>
-    BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6) const, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7)
+    _bi::bind_t<R, _mfi::NDNBOOST_BIND_MF_NAME(cmf6)<R, T, B1, B2, B3, B4, B5, B6>, typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type>
+    NDNBOOST_BIND(R (NDNBOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6) const, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7)
 {
-    typedef _mfi::BOOST_BIND_MF_NAME(cmf6)<R, T, B1, B2, B3, B4, B5, B6> F;
+    typedef _mfi::NDNBOOST_BIND_MF_NAME(cmf6)<R, T, B1, B2, B3, B4, B5, B6> F;
     typedef typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type list_type;
     return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6, a7));
 }
@@ -183,10 +183,10 @@
 template<class R, class T,
     class B1, class B2, class B3, class B4, class B5, class B6, class B7,
     class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8>
-    _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(mf7)<R, T, B1, B2, B3, B4, B5, B6, B7>, typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type>
-    BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8)
+    _bi::bind_t<R, _mfi::NDNBOOST_BIND_MF_NAME(mf7)<R, T, B1, B2, B3, B4, B5, B6, B7>, typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type>
+    NDNBOOST_BIND(R (NDNBOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8)
 {
-    typedef _mfi::BOOST_BIND_MF_NAME(mf7)<R, T, B1, B2, B3, B4, B5, B6, B7> F;
+    typedef _mfi::NDNBOOST_BIND_MF_NAME(mf7)<R, T, B1, B2, B3, B4, B5, B6, B7> F;
     typedef typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type list_type;
     return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6, a7, a8));
 }
@@ -194,10 +194,10 @@
 template<class R, class T,
     class B1, class B2, class B3, class B4, class B5, class B6, class B7,
     class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8>
-    _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(cmf7)<R, T, B1, B2, B3, B4, B5, B6, B7>, typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type>
-    BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7) const, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8)
+    _bi::bind_t<R, _mfi::NDNBOOST_BIND_MF_NAME(cmf7)<R, T, B1, B2, B3, B4, B5, B6, B7>, typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type>
+    NDNBOOST_BIND(R (NDNBOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7) const, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8)
 {
-    typedef _mfi::BOOST_BIND_MF_NAME(cmf7)<R, T, B1, B2, B3, B4, B5, B6, B7> F;
+    typedef _mfi::NDNBOOST_BIND_MF_NAME(cmf7)<R, T, B1, B2, B3, B4, B5, B6, B7> F;
     typedef typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type list_type;
     return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6, a7, a8));
 }
@@ -207,10 +207,10 @@
 template<class R, class T,
     class B1, class B2, class B3, class B4, class B5, class B6, class B7, class B8,
     class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9>
-    _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(mf8)<R, T, B1, B2, B3, B4, B5, B6, B7, B8>, typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type>
-    BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7, B8), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9)
+    _bi::bind_t<R, _mfi::NDNBOOST_BIND_MF_NAME(mf8)<R, T, B1, B2, B3, B4, B5, B6, B7, B8>, typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type>
+    NDNBOOST_BIND(R (NDNBOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7, B8), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9)
 {
-    typedef _mfi::BOOST_BIND_MF_NAME(mf8)<R, T, B1, B2, B3, B4, B5, B6, B7, B8> F;
+    typedef _mfi::NDNBOOST_BIND_MF_NAME(mf8)<R, T, B1, B2, B3, B4, B5, B6, B7, B8> F;
     typedef typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type list_type;
     return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6, a7, a8, a9));
 }
@@ -218,10 +218,10 @@
 template<class R, class T,
     class B1, class B2, class B3, class B4, class B5, class B6, class B7, class B8,
     class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9>
-    _bi::bind_t<R, _mfi::BOOST_BIND_MF_NAME(cmf8)<R, T, B1, B2, B3, B4, B5, B6, B7, B8>, typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type>
-    BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7, B8) const, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9)
+    _bi::bind_t<R, _mfi::NDNBOOST_BIND_MF_NAME(cmf8)<R, T, B1, B2, B3, B4, B5, B6, B7, B8>, typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type>
+    NDNBOOST_BIND(R (NDNBOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7, B8) const, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9)
 {
-    typedef _mfi::BOOST_BIND_MF_NAME(cmf8)<R, T, B1, B2, B3, B4, B5, B6, B7, B8> F;
+    typedef _mfi::NDNBOOST_BIND_MF_NAME(cmf8)<R, T, B1, B2, B3, B4, B5, B6, B7, B8> F;
     typedef typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type list_type;
     return _bi::bind_t<R, F, list_type>(F(f), list_type(a1, a2, a3, a4, a5, a6, a7, a8, a9));
 }
diff --git a/include/ndnboost/bind/bind_template.hpp b/include/ndnboost/bind/bind_template.hpp
index 6946aa9..f3037ec 100644
--- a/include/ndnboost/bind/bind_template.hpp
+++ b/include/ndnboost/bind/bind_template.hpp
@@ -17,40 +17,40 @@
     result_type operator()()
     {
         list0 a;
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
+        NDNBOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
     }
 
     result_type operator()() const
     {
         list0 a;
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
+        NDNBOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
     }
 
     template<class A1> result_type operator()(A1 & a1)
     {
         list1<A1 &> a(a1);
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
+        NDNBOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
     }
 
     template<class A1> result_type operator()(A1 & a1) const
     {
         list1<A1 &> a(a1);
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
+        NDNBOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
     }
 
-#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \
- && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238)
+#if !defined(NDNBOOST_NO_FUNCTION_TEMPLATE_ORDERING) \
+ && !NDNBOOST_WORKAROUND(__EDG_VERSION__, <= 238)
 
     template<class A1> result_type operator()(A1 const & a1)
     {
         list1<A1 const &> a(a1);
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
+        NDNBOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
     }
 
     template<class A1> result_type operator()(A1 const & a1) const
     {
         list1<A1 const &> a(a1);
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
+        NDNBOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
     }
 
 #endif
@@ -58,54 +58,54 @@
     template<class A1, class A2> result_type operator()(A1 & a1, A2 & a2)
     {
         list2<A1 &, A2 &> a(a1, a2);
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
+        NDNBOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
     }
 
     template<class A1, class A2> result_type operator()(A1 & a1, A2 & a2) const
     {
         list2<A1 &, A2 &> a(a1, a2);
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
+        NDNBOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
     }
 
-#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \
- && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238)
+#if !defined(NDNBOOST_NO_FUNCTION_TEMPLATE_ORDERING) \
+ && !NDNBOOST_WORKAROUND(__EDG_VERSION__, <= 238)
 
     template<class A1, class A2> result_type operator()(A1 const & a1, A2 & a2)
     {
         list2<A1 const &, A2 &> a(a1, a2);
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
+        NDNBOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
     }
 
     template<class A1, class A2> result_type operator()(A1 const & a1, A2 & a2) const
     {
         list2<A1 const &, A2 &> a(a1, a2);
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
+        NDNBOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
     }
 
 
     template<class A1, class A2> result_type operator()(A1 & a1, A2 const & a2)
     {
         list2<A1 &, A2 const &> a(a1, a2);
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
+        NDNBOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
     }
 
     template<class A1, class A2> result_type operator()(A1 & a1, A2 const & a2) const
     {
         list2<A1 &, A2 const &> a(a1, a2);
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
+        NDNBOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
     }
 
 
     template<class A1, class A2> result_type operator()(A1 const & a1, A2 const & a2)
     {
         list2<A1 const &, A2 const &> a(a1, a2);
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
+        NDNBOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
     }
 
     template<class A1, class A2> result_type operator()(A1 const & a1, A2 const & a2) const
     {
         list2<A1 const &, A2 const &> a(a1, a2);
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
+        NDNBOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
     }
 
 #endif
@@ -113,28 +113,28 @@
     template<class A1, class A2, class A3> result_type operator()(A1 & a1, A2 & a2, A3 & a3)
     {
         list3<A1 &, A2 &, A3 &> a(a1, a2, a3);
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
+        NDNBOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
     }
 
     template<class A1, class A2, class A3> result_type operator()(A1 & a1, A2 & a2, A3 & a3) const
     {
         list3<A1 &, A2 &, A3 &> a(a1, a2, a3);
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
+        NDNBOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
     }
 
-#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \
- && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238)
+#if !defined(NDNBOOST_NO_FUNCTION_TEMPLATE_ORDERING) \
+ && !NDNBOOST_WORKAROUND(__EDG_VERSION__, <= 238)
 
     template<class A1, class A2, class A3> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3)
     {
         list3<A1 const &, A2 const &, A3 const &> a(a1, a2, a3);
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
+        NDNBOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
     }
 
     template<class A1, class A2, class A3> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3) const
     {
         list3<A1 const &, A2 const &, A3 const &> a(a1, a2, a3);
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
+        NDNBOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
     }
 
 #endif
@@ -142,28 +142,28 @@
     template<class A1, class A2, class A3, class A4> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4)
     {
         list4<A1 &, A2 &, A3 &, A4 &> a(a1, a2, a3, a4);
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
+        NDNBOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
     }
 
     template<class A1, class A2, class A3, class A4> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4) const
     {
         list4<A1 &, A2 &, A3 &, A4 &> a(a1, a2, a3, a4);
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
+        NDNBOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
     }
 
-#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \
- && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238)
+#if !defined(NDNBOOST_NO_FUNCTION_TEMPLATE_ORDERING) \
+ && !NDNBOOST_WORKAROUND(__EDG_VERSION__, <= 238)
 
     template<class A1, class A2, class A3, class A4> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4)
     {
         list4<A1 const &, A2 const &, A3 const &, A4 const &> a(a1, a2, a3, a4);
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
+        NDNBOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
     }
 
     template<class A1, class A2, class A3, class A4> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4) const
     {
         list4<A1 const &, A2 const &, A3 const &, A4 const &> a(a1, a2, a3, a4);
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
+        NDNBOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
     }
 
 #endif
@@ -171,28 +171,28 @@
     template<class A1, class A2, class A3, class A4, class A5> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5)
     {
         list5<A1 &, A2 &, A3 &, A4 &, A5 &> a(a1, a2, a3, a4, a5);
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
+        NDNBOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
     }
 
     template<class A1, class A2, class A3, class A4, class A5> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5) const
     {
         list5<A1 &, A2 &, A3 &, A4 &, A5 &> a(a1, a2, a3, a4, a5);
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
+        NDNBOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
     }
 
-#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \
- && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238)
+#if !defined(NDNBOOST_NO_FUNCTION_TEMPLATE_ORDERING) \
+ && !NDNBOOST_WORKAROUND(__EDG_VERSION__, <= 238)
 
     template<class A1, class A2, class A3, class A4, class A5> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5)
     {
         list5<A1 const &, A2 const &, A3 const &, A4 const &, A5 const &> a(a1, a2, a3, a4, a5);
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
+        NDNBOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
     }
 
     template<class A1, class A2, class A3, class A4, class A5> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5) const
     {
         list5<A1 const &, A2 const &, A3 const &, A4 const &, A5 const &> a(a1, a2, a3, a4, a5);
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
+        NDNBOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
     }
 
 #endif
@@ -200,28 +200,28 @@
     template<class A1, class A2, class A3, class A4, class A5, class A6> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6)
     {
         list6<A1 &, A2 &, A3 &, A4 &, A5 &, A6 &> a(a1, a2, a3, a4, a5, a6);
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
+        NDNBOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
     }
 
     template<class A1, class A2, class A3, class A4, class A5, class A6> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6) const
     {
         list6<A1 &, A2 &, A3 &, A4 &, A5 &, A6 &> a(a1, a2, a3, a4, a5, a6);
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
+        NDNBOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
     }
 
-#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \
- && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238)
+#if !defined(NDNBOOST_NO_FUNCTION_TEMPLATE_ORDERING) \
+ && !NDNBOOST_WORKAROUND(__EDG_VERSION__, <= 238)
 
     template<class A1, class A2, class A3, class A4, class A5, class A6> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6)
     {
         list6<A1 const &, A2 const &, A3 const &, A4 const &, A5 const &, A6 const &> a(a1, a2, a3, a4, a5, a6);
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
+        NDNBOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
     }
 
     template<class A1, class A2, class A3, class A4, class A5, class A6> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6) const
     {
         list6<A1 const &, A2 const &, A3 const &, A4 const &, A5 const &, A6 const &> a(a1, a2, a3, a4, a5, a6);
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
+        NDNBOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
     }
 
 #endif
@@ -229,28 +229,28 @@
     template<class A1, class A2, class A3, class A4, class A5, class A6, class A7> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7)
     {
         list7<A1 &, A2 &, A3 &, A4 &, A5 &, A6 &, A7 &> a(a1, a2, a3, a4, a5, a6, a7);
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
+        NDNBOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
     }
 
     template<class A1, class A2, class A3, class A4, class A5, class A6, class A7> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7) const
     {
         list7<A1 &, A2 &, A3 &, A4 &, A5 &, A6 &, A7 &> a(a1, a2, a3, a4, a5, a6, a7);
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
+        NDNBOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
     }
 
-#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \
- && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238)
+#if !defined(NDNBOOST_NO_FUNCTION_TEMPLATE_ORDERING) \
+ && !NDNBOOST_WORKAROUND(__EDG_VERSION__, <= 238)
 
     template<class A1, class A2, class A3, class A4, class A5, class A6, class A7> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6, A7 const & a7)
     {
         list7<A1 const &, A2 const &, A3 const &, A4 const &, A5 const &, A6 const &, A7 const &> a(a1, a2, a3, a4, a5, a6, a7);
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
+        NDNBOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
     }
 
     template<class A1, class A2, class A3, class A4, class A5, class A6, class A7> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6, A7 const & a7) const
     {
         list7<A1 const &, A2 const &, A3 const &, A4 const &, A5 const &, A6 const &, A7 const &> a(a1, a2, a3, a4, a5, a6, a7);
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
+        NDNBOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
     }
 
 #endif
@@ -258,28 +258,28 @@
     template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7, A8 & a8)
     {
         list8<A1 &, A2 &, A3 &, A4 &, A5 &, A6 &, A7 &, A8 &> a(a1, a2, a3, a4, a5, a6, a7, a8);
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
+        NDNBOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
     }
 
     template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7, A8 & a8) const
     {
         list8<A1 &, A2 &, A3 &, A4 &, A5 &, A6 &, A7 &, A8 &> a(a1, a2, a3, a4, a5, a6, a7, a8);
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
+        NDNBOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
     }
 
-#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \
- && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238)
+#if !defined(NDNBOOST_NO_FUNCTION_TEMPLATE_ORDERING) \
+ && !NDNBOOST_WORKAROUND(__EDG_VERSION__, <= 238)
 
     template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6, A7 const & a7, A8 const & a8)
     {
         list8<A1 const &, A2 const &, A3 const &, A4 const &, A5 const &, A6 const &, A7 const &, A8 const &> a(a1, a2, a3, a4, a5, a6, a7, a8);
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
+        NDNBOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
     }
 
     template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6, A7 const & a7, A8 const & a8) const
     {
         list8<A1 const &, A2 const &, A3 const &, A4 const &, A5 const &, A6 const &, A7 const &, A8 const &> a(a1, a2, a3, a4, a5, a6, a7, a8);
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
+        NDNBOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
     }
 
 #endif
@@ -287,50 +287,50 @@
     template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7, A8 & a8, A9 & a9)
     {
         list9<A1 &, A2 &, A3 &, A4 &, A5 &, A6 &, A7 &, A8 &, A9 &> a(a1, a2, a3, a4, a5, a6, a7, a8, a9);
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
+        NDNBOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
     }
 
     template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9> result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7, A8 & a8, A9 & a9) const
     {
         list9<A1 &, A2 &, A3 &, A4 &, A5 &, A6 &, A7 &, A8 &, A9 &> a(a1, a2, a3, a4, a5, a6, a7, a8, a9);
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
+        NDNBOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
     }
 
-#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \
- && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238)
+#if !defined(NDNBOOST_NO_FUNCTION_TEMPLATE_ORDERING) \
+ && !NDNBOOST_WORKAROUND(__EDG_VERSION__, <= 238)
 
     template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6, A7 const & a7, A8 const & a8, A9 const & a9)
     {
         list9<A1 const &, A2 const &, A3 const &, A4 const &, A5 const &, A6 const &, A7 const &, A8 const &, A9 const &> a(a1, a2, a3, a4, a5, a6, a7, a8, a9);
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
+        NDNBOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
     }
 
     template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6, A7 const & a7, A8 const & a8, A9 const & a9) const
     {
         list9<A1 const &, A2 const &, A3 const &, A4 const &, A5 const &, A6 const &, A7 const &, A8 const &, A9 const &> a(a1, a2, a3, a4, a5, a6, a7, a8, a9);
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
+        NDNBOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
     }
 
 #endif
 
     template<class A> result_type eval(A & a)
     {
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
+        NDNBOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
     }
 
     template<class A> result_type eval(A & a) const
     {
-        BOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
+        NDNBOOST_BIND_RETURN l_(type<result_type>(), f_, a, 0);
     }
 
     template<class V> void accept(V & v) const
     {
-#if !defined( BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP ) && !defined( __BORLANDC__ )
+#if !defined( NDNBOOST_NO_ARGUMENT_DEPENDENT_LOOKUP ) && !defined( __BORLANDC__ )
 
         using ndnboost::visit_each;
 
 #endif
-        BOOST_BIND_VISIT_EACH(v, f_, 0);
+        NDNBOOST_BIND_VISIT_EACH(v, f_, 0);
         l_.accept(v);
     }
 
diff --git a/include/ndnboost/bind/make_adaptable.hpp b/include/ndnboost/bind/make_adaptable.hpp
index 77742f0..619eddd 100644
--- a/include/ndnboost/bind/make_adaptable.hpp
+++ b/include/ndnboost/bind/make_adaptable.hpp
@@ -1,5 +1,5 @@
-#ifndef BOOST_BIND_MAKE_ADAPTABLE_HPP_INCLUDED
-#define BOOST_BIND_MAKE_ADAPTABLE_HPP_INCLUDED
+#ifndef NDNBOOST_BIND_MAKE_ADAPTABLE_HPP_INCLUDED
+#define NDNBOOST_BIND_MAKE_ADAPTABLE_HPP_INCLUDED
 
 //
 //  make_adaptable.hpp
@@ -184,4 +184,4 @@
 
 } // namespace ndnboost
 
-#endif // #ifndef BOOST_BIND_MAKE_ADAPTABLE_HPP_INCLUDED
+#endif // #ifndef NDNBOOST_BIND_MAKE_ADAPTABLE_HPP_INCLUDED
diff --git a/include/ndnboost/bind/mem_fn.hpp b/include/ndnboost/bind/mem_fn.hpp
index 7c07d4f..b2a915e 100644
--- a/include/ndnboost/bind/mem_fn.hpp
+++ b/include/ndnboost/bind/mem_fn.hpp
@@ -1,5 +1,5 @@
-#ifndef BOOST_BIND_MEM_FN_HPP_INCLUDED
-#define BOOST_BIND_MEM_FN_HPP_INCLUDED
+#ifndef NDNBOOST_BIND_MEM_FN_HPP_INCLUDED
+#define NDNBOOST_BIND_MEM_FN_HPP_INCLUDED
 
 // MS compatible compilers support #pragma once
 
@@ -28,10 +28,10 @@
 namespace ndnboost
 {
 
-#if defined(BOOST_NO_VOID_RETURNS)
+#if defined(NDNBOOST_NO_VOID_RETURNS)
 
-#define BOOST_MEM_FN_CLASS_F , class F
-#define BOOST_MEM_FN_TYPEDEF(X)
+#define NDNBOOST_MEM_FN_CLASS_F , class F
+#define NDNBOOST_MEM_FN_TYPEDEF(X)
 
 namespace _mfi // mem_fun_impl
 {
@@ -39,270 +39,270 @@
 template<class V> struct mf
 {
 
-#define BOOST_MEM_FN_RETURN return
+#define NDNBOOST_MEM_FN_RETURN return
 
-#define BOOST_MEM_FN_NAME(X) inner_##X
-#define BOOST_MEM_FN_CC
+#define NDNBOOST_MEM_FN_NAME(X) inner_##X
+#define NDNBOOST_MEM_FN_CC
 
 #include <ndnboost/bind/mem_fn_template.hpp>
 
-#undef BOOST_MEM_FN_CC
-#undef BOOST_MEM_FN_NAME
+#undef NDNBOOST_MEM_FN_CC
+#undef NDNBOOST_MEM_FN_NAME
 
-#ifdef BOOST_MEM_FN_ENABLE_CDECL
+#ifdef NDNBOOST_MEM_FN_ENABLE_CDECL
 
-#define BOOST_MEM_FN_NAME(X) inner_##X##_cdecl
-#define BOOST_MEM_FN_CC __cdecl
+#define NDNBOOST_MEM_FN_NAME(X) inner_##X##_cdecl
+#define NDNBOOST_MEM_FN_CC __cdecl
 
 #include <ndnboost/bind/mem_fn_template.hpp>
 
-#undef BOOST_MEM_FN_CC
-#undef BOOST_MEM_FN_NAME
+#undef NDNBOOST_MEM_FN_CC
+#undef NDNBOOST_MEM_FN_NAME
 
 #endif
 
-#ifdef BOOST_MEM_FN_ENABLE_STDCALL
+#ifdef NDNBOOST_MEM_FN_ENABLE_STDCALL
 
-#define BOOST_MEM_FN_NAME(X) inner_##X##_stdcall
-#define BOOST_MEM_FN_CC __stdcall
+#define NDNBOOST_MEM_FN_NAME(X) inner_##X##_stdcall
+#define NDNBOOST_MEM_FN_CC __stdcall
 
 #include <ndnboost/bind/mem_fn_template.hpp>
 
-#undef BOOST_MEM_FN_CC
-#undef BOOST_MEM_FN_NAME
+#undef NDNBOOST_MEM_FN_CC
+#undef NDNBOOST_MEM_FN_NAME
 
 #endif
 
-#ifdef BOOST_MEM_FN_ENABLE_FASTCALL
+#ifdef NDNBOOST_MEM_FN_ENABLE_FASTCALL
 
-#define BOOST_MEM_FN_NAME(X) inner_##X##_fastcall
-#define BOOST_MEM_FN_CC __fastcall
+#define NDNBOOST_MEM_FN_NAME(X) inner_##X##_fastcall
+#define NDNBOOST_MEM_FN_CC __fastcall
 
 #include <ndnboost/bind/mem_fn_template.hpp>
 
-#undef BOOST_MEM_FN_CC
-#undef BOOST_MEM_FN_NAME
+#undef NDNBOOST_MEM_FN_CC
+#undef NDNBOOST_MEM_FN_NAME
 
 #endif
 
-#undef BOOST_MEM_FN_RETURN
+#undef NDNBOOST_MEM_FN_RETURN
 
 }; // struct mf<V>
 
 template<> struct mf<void>
 {
 
-#define BOOST_MEM_FN_RETURN
+#define NDNBOOST_MEM_FN_RETURN
 
-#define BOOST_MEM_FN_NAME(X) inner_##X
-#define BOOST_MEM_FN_CC
+#define NDNBOOST_MEM_FN_NAME(X) inner_##X
+#define NDNBOOST_MEM_FN_CC
 
 #include <ndnboost/bind/mem_fn_template.hpp>
 
-#undef BOOST_MEM_FN_CC
-#undef BOOST_MEM_FN_NAME
+#undef NDNBOOST_MEM_FN_CC
+#undef NDNBOOST_MEM_FN_NAME
 
-#ifdef BOOST_MEM_FN_ENABLE_CDECL
+#ifdef NDNBOOST_MEM_FN_ENABLE_CDECL
 
-#define BOOST_MEM_FN_NAME(X) inner_##X##_cdecl
-#define BOOST_MEM_FN_CC __cdecl
+#define NDNBOOST_MEM_FN_NAME(X) inner_##X##_cdecl
+#define NDNBOOST_MEM_FN_CC __cdecl
 
 #include <ndnboost/bind/mem_fn_template.hpp>
 
-#undef BOOST_MEM_FN_CC
-#undef BOOST_MEM_FN_NAME
+#undef NDNBOOST_MEM_FN_CC
+#undef NDNBOOST_MEM_FN_NAME
 
 #endif
 
-#ifdef BOOST_MEM_FN_ENABLE_STDCALL
+#ifdef NDNBOOST_MEM_FN_ENABLE_STDCALL
 
-#define BOOST_MEM_FN_NAME(X) inner_##X##_stdcall
-#define BOOST_MEM_FN_CC __stdcall
+#define NDNBOOST_MEM_FN_NAME(X) inner_##X##_stdcall
+#define NDNBOOST_MEM_FN_CC __stdcall
 
 #include <ndnboost/bind/mem_fn_template.hpp>
 
-#undef BOOST_MEM_FN_CC
-#undef BOOST_MEM_FN_NAME
+#undef NDNBOOST_MEM_FN_CC
+#undef NDNBOOST_MEM_FN_NAME
 
 #endif
 
-#ifdef BOOST_MEM_FN_ENABLE_FASTCALL
+#ifdef NDNBOOST_MEM_FN_ENABLE_FASTCALL
 
-#define BOOST_MEM_FN_NAME(X) inner_##X##_fastcall
-#define BOOST_MEM_FN_CC __fastcall
+#define NDNBOOST_MEM_FN_NAME(X) inner_##X##_fastcall
+#define NDNBOOST_MEM_FN_CC __fastcall
 
 #include <ndnboost/bind/mem_fn_template.hpp>
 
-#undef BOOST_MEM_FN_CC
-#undef BOOST_MEM_FN_NAME
+#undef NDNBOOST_MEM_FN_CC
+#undef NDNBOOST_MEM_FN_NAME
 
 #endif
 
-#undef BOOST_MEM_FN_RETURN
+#undef NDNBOOST_MEM_FN_RETURN
 
 }; // struct mf<void>
 
-#undef BOOST_MEM_FN_CLASS_F
-#undef BOOST_MEM_FN_TYPEDEF_F
+#undef NDNBOOST_MEM_FN_CLASS_F
+#undef NDNBOOST_MEM_FN_TYPEDEF_F
 
-#define BOOST_MEM_FN_NAME(X) X
-#define BOOST_MEM_FN_NAME2(X) inner_##X
-#define BOOST_MEM_FN_CC
+#define NDNBOOST_MEM_FN_NAME(X) X
+#define NDNBOOST_MEM_FN_NAME2(X) inner_##X
+#define NDNBOOST_MEM_FN_CC
 
 #include <ndnboost/bind/mem_fn_vw.hpp>
 
-#undef BOOST_MEM_FN_NAME
-#undef BOOST_MEM_FN_NAME2
-#undef BOOST_MEM_FN_CC
+#undef NDNBOOST_MEM_FN_NAME
+#undef NDNBOOST_MEM_FN_NAME2
+#undef NDNBOOST_MEM_FN_CC
 
-#ifdef BOOST_MEM_FN_ENABLE_CDECL
+#ifdef NDNBOOST_MEM_FN_ENABLE_CDECL
 
-#define BOOST_MEM_FN_NAME(X) X##_cdecl
-#define BOOST_MEM_FN_NAME2(X) inner_##X##_cdecl
-#define BOOST_MEM_FN_CC __cdecl
+#define NDNBOOST_MEM_FN_NAME(X) X##_cdecl
+#define NDNBOOST_MEM_FN_NAME2(X) inner_##X##_cdecl
+#define NDNBOOST_MEM_FN_CC __cdecl
 
 #include <ndnboost/bind/mem_fn_vw.hpp>
 
-#undef BOOST_MEM_FN_NAME
-#undef BOOST_MEM_FN_NAME2
-#undef BOOST_MEM_FN_CC
+#undef NDNBOOST_MEM_FN_NAME
+#undef NDNBOOST_MEM_FN_NAME2
+#undef NDNBOOST_MEM_FN_CC
 
 #endif
 
-#ifdef BOOST_MEM_FN_ENABLE_STDCALL
+#ifdef NDNBOOST_MEM_FN_ENABLE_STDCALL
 
-#define BOOST_MEM_FN_NAME(X) X##_stdcall
-#define BOOST_MEM_FN_NAME2(X) inner_##X##_stdcall
-#define BOOST_MEM_FN_CC __stdcall
+#define NDNBOOST_MEM_FN_NAME(X) X##_stdcall
+#define NDNBOOST_MEM_FN_NAME2(X) inner_##X##_stdcall
+#define NDNBOOST_MEM_FN_CC __stdcall
 
 #include <ndnboost/bind/mem_fn_vw.hpp>
 
-#undef BOOST_MEM_FN_NAME
-#undef BOOST_MEM_FN_NAME2
-#undef BOOST_MEM_FN_CC
+#undef NDNBOOST_MEM_FN_NAME
+#undef NDNBOOST_MEM_FN_NAME2
+#undef NDNBOOST_MEM_FN_CC
 
 #endif
 
-#ifdef BOOST_MEM_FN_ENABLE_FASTCALL
+#ifdef NDNBOOST_MEM_FN_ENABLE_FASTCALL
 
-#define BOOST_MEM_FN_NAME(X) X##_fastcall
-#define BOOST_MEM_FN_NAME2(X) inner_##X##_fastcall
-#define BOOST_MEM_FN_CC __fastcall
+#define NDNBOOST_MEM_FN_NAME(X) X##_fastcall
+#define NDNBOOST_MEM_FN_NAME2(X) inner_##X##_fastcall
+#define NDNBOOST_MEM_FN_CC __fastcall
 
 #include <ndnboost/bind/mem_fn_vw.hpp>
 
-#undef BOOST_MEM_FN_NAME
-#undef BOOST_MEM_FN_NAME2
-#undef BOOST_MEM_FN_CC
+#undef NDNBOOST_MEM_FN_NAME
+#undef NDNBOOST_MEM_FN_NAME2
+#undef NDNBOOST_MEM_FN_CC
 
 #endif
 
 } // namespace _mfi
 
-#else // #ifdef BOOST_NO_VOID_RETURNS
+#else // #ifdef NDNBOOST_NO_VOID_RETURNS
 
-#define BOOST_MEM_FN_CLASS_F
-#define BOOST_MEM_FN_TYPEDEF(X) typedef X;
+#define NDNBOOST_MEM_FN_CLASS_F
+#define NDNBOOST_MEM_FN_TYPEDEF(X) typedef X;
 
 namespace _mfi
 {
 
-#define BOOST_MEM_FN_RETURN return
+#define NDNBOOST_MEM_FN_RETURN return
 
-#define BOOST_MEM_FN_NAME(X) X
-#define BOOST_MEM_FN_CC
+#define NDNBOOST_MEM_FN_NAME(X) X
+#define NDNBOOST_MEM_FN_CC
 
 #include <ndnboost/bind/mem_fn_template.hpp>
 
-#undef BOOST_MEM_FN_CC
-#undef BOOST_MEM_FN_NAME
+#undef NDNBOOST_MEM_FN_CC
+#undef NDNBOOST_MEM_FN_NAME
 
-#ifdef BOOST_MEM_FN_ENABLE_CDECL
+#ifdef NDNBOOST_MEM_FN_ENABLE_CDECL
 
-#define BOOST_MEM_FN_NAME(X) X##_cdecl
-#define BOOST_MEM_FN_CC __cdecl
+#define NDNBOOST_MEM_FN_NAME(X) X##_cdecl
+#define NDNBOOST_MEM_FN_CC __cdecl
 
 #include <ndnboost/bind/mem_fn_template.hpp>
 
-#undef BOOST_MEM_FN_CC
-#undef BOOST_MEM_FN_NAME
+#undef NDNBOOST_MEM_FN_CC
+#undef NDNBOOST_MEM_FN_NAME
 
 #endif
 
-#ifdef BOOST_MEM_FN_ENABLE_STDCALL
+#ifdef NDNBOOST_MEM_FN_ENABLE_STDCALL
 
-#define BOOST_MEM_FN_NAME(X) X##_stdcall
-#define BOOST_MEM_FN_CC __stdcall
+#define NDNBOOST_MEM_FN_NAME(X) X##_stdcall
+#define NDNBOOST_MEM_FN_CC __stdcall
 
 #include <ndnboost/bind/mem_fn_template.hpp>
 
-#undef BOOST_MEM_FN_CC
-#undef BOOST_MEM_FN_NAME
+#undef NDNBOOST_MEM_FN_CC
+#undef NDNBOOST_MEM_FN_NAME
 
 #endif
 
-#ifdef BOOST_MEM_FN_ENABLE_FASTCALL
+#ifdef NDNBOOST_MEM_FN_ENABLE_FASTCALL
 
-#define BOOST_MEM_FN_NAME(X) X##_fastcall
-#define BOOST_MEM_FN_CC __fastcall
+#define NDNBOOST_MEM_FN_NAME(X) X##_fastcall
+#define NDNBOOST_MEM_FN_CC __fastcall
 
 #include <ndnboost/bind/mem_fn_template.hpp>
 
-#undef BOOST_MEM_FN_CC
-#undef BOOST_MEM_FN_NAME
+#undef NDNBOOST_MEM_FN_CC
+#undef NDNBOOST_MEM_FN_NAME
 
 #endif
 
-#undef BOOST_MEM_FN_RETURN
+#undef NDNBOOST_MEM_FN_RETURN
 
 } // namespace _mfi
 
-#undef BOOST_MEM_FN_CLASS_F
-#undef BOOST_MEM_FN_TYPEDEF
+#undef NDNBOOST_MEM_FN_CLASS_F
+#undef NDNBOOST_MEM_FN_TYPEDEF
 
-#endif // #ifdef BOOST_NO_VOID_RETURNS
+#endif // #ifdef NDNBOOST_NO_VOID_RETURNS
 
-#define BOOST_MEM_FN_NAME(X) X
-#define BOOST_MEM_FN_CC
+#define NDNBOOST_MEM_FN_NAME(X) X
+#define NDNBOOST_MEM_FN_CC
 
 #include <ndnboost/bind/mem_fn_cc.hpp>
 
-#undef BOOST_MEM_FN_NAME
-#undef BOOST_MEM_FN_CC
+#undef NDNBOOST_MEM_FN_NAME
+#undef NDNBOOST_MEM_FN_CC
 
-#ifdef BOOST_MEM_FN_ENABLE_CDECL
+#ifdef NDNBOOST_MEM_FN_ENABLE_CDECL
 
-#define BOOST_MEM_FN_NAME(X) X##_cdecl
-#define BOOST_MEM_FN_CC __cdecl
+#define NDNBOOST_MEM_FN_NAME(X) X##_cdecl
+#define NDNBOOST_MEM_FN_CC __cdecl
 
 #include <ndnboost/bind/mem_fn_cc.hpp>
 
-#undef BOOST_MEM_FN_NAME
-#undef BOOST_MEM_FN_CC
+#undef NDNBOOST_MEM_FN_NAME
+#undef NDNBOOST_MEM_FN_CC
 
 #endif
 
-#ifdef BOOST_MEM_FN_ENABLE_STDCALL
+#ifdef NDNBOOST_MEM_FN_ENABLE_STDCALL
 
-#define BOOST_MEM_FN_NAME(X) X##_stdcall
-#define BOOST_MEM_FN_CC __stdcall
+#define NDNBOOST_MEM_FN_NAME(X) X##_stdcall
+#define NDNBOOST_MEM_FN_CC __stdcall
 
 #include <ndnboost/bind/mem_fn_cc.hpp>
 
-#undef BOOST_MEM_FN_NAME
-#undef BOOST_MEM_FN_CC
+#undef NDNBOOST_MEM_FN_NAME
+#undef NDNBOOST_MEM_FN_CC
 
 #endif
 
-#ifdef BOOST_MEM_FN_ENABLE_FASTCALL
+#ifdef NDNBOOST_MEM_FN_ENABLE_FASTCALL
 
-#define BOOST_MEM_FN_NAME(X) X##_fastcall
-#define BOOST_MEM_FN_CC __fastcall
+#define NDNBOOST_MEM_FN_NAME(X) X##_fastcall
+#define NDNBOOST_MEM_FN_CC __fastcall
 
 #include <ndnboost/bind/mem_fn_cc.hpp>
 
-#undef BOOST_MEM_FN_NAME
-#undef BOOST_MEM_FN_CC
+#undef NDNBOOST_MEM_FN_NAME
+#undef NDNBOOST_MEM_FN_CC
 
 #endif
 
@@ -352,7 +352,7 @@
         return call(u, &u);
     }
 
-#if !BOOST_WORKAROUND(BOOST_MSVC, <= 1300) && !BOOST_WORKAROUND(__MWERKS__, < 0x3200)
+#if !NDNBOOST_WORKAROUND(NDNBOOST_MSVC, <= 1300) && !NDNBOOST_WORKAROUND(__MWERKS__, < 0x3200)
 
     R & operator()(T & t) const
     {
@@ -386,4 +386,4 @@
 
 } // namespace ndnboost
 
-#endif // #ifndef BOOST_BIND_MEM_FN_HPP_INCLUDED
+#endif // #ifndef NDNBOOST_BIND_MEM_FN_HPP_INCLUDED
diff --git a/include/ndnboost/bind/mem_fn_cc.hpp b/include/ndnboost/bind/mem_fn_cc.hpp
index 8b6ea0b..a094d3b 100644
--- a/include/ndnboost/bind/mem_fn_cc.hpp
+++ b/include/ndnboost/bind/mem_fn_cc.hpp
@@ -12,92 +12,92 @@
 //  See http://www.boost.org/libs/bind/mem_fn.html for documentation.
 //
 
-template<class R, class T> _mfi::BOOST_MEM_FN_NAME(mf0)<R, T> mem_fn(R (BOOST_MEM_FN_CC T::*f) ())
+template<class R, class T> _mfi::NDNBOOST_MEM_FN_NAME(mf0)<R, T> mem_fn(R (NDNBOOST_MEM_FN_CC T::*f) ())
 {
-    return _mfi::BOOST_MEM_FN_NAME(mf0)<R, T>(f);
+    return _mfi::NDNBOOST_MEM_FN_NAME(mf0)<R, T>(f);
 }
 
-template<class R, class T> _mfi::BOOST_MEM_FN_NAME(cmf0)<R, T> mem_fn(R (BOOST_MEM_FN_CC T::*f) () const)
+template<class R, class T> _mfi::NDNBOOST_MEM_FN_NAME(cmf0)<R, T> mem_fn(R (NDNBOOST_MEM_FN_CC T::*f) () const)
 {
-    return _mfi::BOOST_MEM_FN_NAME(cmf0)<R, T>(f);
+    return _mfi::NDNBOOST_MEM_FN_NAME(cmf0)<R, T>(f);
 }
 
-template<class R, class T, class A1> _mfi::BOOST_MEM_FN_NAME(mf1)<R, T, A1> mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1))
+template<class R, class T, class A1> _mfi::NDNBOOST_MEM_FN_NAME(mf1)<R, T, A1> mem_fn(R (NDNBOOST_MEM_FN_CC T::*f) (A1))
 {
-    return _mfi::BOOST_MEM_FN_NAME(mf1)<R, T, A1>(f);
+    return _mfi::NDNBOOST_MEM_FN_NAME(mf1)<R, T, A1>(f);
 }
 
-template<class R, class T, class A1> _mfi::BOOST_MEM_FN_NAME(cmf1)<R, T, A1> mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1) const)
+template<class R, class T, class A1> _mfi::NDNBOOST_MEM_FN_NAME(cmf1)<R, T, A1> mem_fn(R (NDNBOOST_MEM_FN_CC T::*f) (A1) const)
 {
-    return _mfi::BOOST_MEM_FN_NAME(cmf1)<R, T, A1>(f);
+    return _mfi::NDNBOOST_MEM_FN_NAME(cmf1)<R, T, A1>(f);
 }
 
-template<class R, class T, class A1, class A2> _mfi::BOOST_MEM_FN_NAME(mf2)<R, T, A1, A2> mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2))
+template<class R, class T, class A1, class A2> _mfi::NDNBOOST_MEM_FN_NAME(mf2)<R, T, A1, A2> mem_fn(R (NDNBOOST_MEM_FN_CC T::*f) (A1, A2))
 {
-    return _mfi::BOOST_MEM_FN_NAME(mf2)<R, T, A1, A2>(f);
+    return _mfi::NDNBOOST_MEM_FN_NAME(mf2)<R, T, A1, A2>(f);
 }
 
-template<class R, class T, class A1, class A2> _mfi::BOOST_MEM_FN_NAME(cmf2)<R, T, A1, A2> mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2) const)
+template<class R, class T, class A1, class A2> _mfi::NDNBOOST_MEM_FN_NAME(cmf2)<R, T, A1, A2> mem_fn(R (NDNBOOST_MEM_FN_CC T::*f) (A1, A2) const)
 {
-    return _mfi::BOOST_MEM_FN_NAME(cmf2)<R, T, A1, A2>(f);
+    return _mfi::NDNBOOST_MEM_FN_NAME(cmf2)<R, T, A1, A2>(f);
 }
 
-template<class R, class T, class A1, class A2, class A3> _mfi::BOOST_MEM_FN_NAME(mf3)<R, T, A1, A2, A3> mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2, A3))
+template<class R, class T, class A1, class A2, class A3> _mfi::NDNBOOST_MEM_FN_NAME(mf3)<R, T, A1, A2, A3> mem_fn(R (NDNBOOST_MEM_FN_CC T::*f) (A1, A2, A3))
 {
-    return _mfi::BOOST_MEM_FN_NAME(mf3)<R, T, A1, A2, A3>(f);
+    return _mfi::NDNBOOST_MEM_FN_NAME(mf3)<R, T, A1, A2, A3>(f);
 }
 
-template<class R, class T, class A1, class A2, class A3> _mfi::BOOST_MEM_FN_NAME(cmf3)<R, T, A1, A2, A3> mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2, A3) const)
+template<class R, class T, class A1, class A2, class A3> _mfi::NDNBOOST_MEM_FN_NAME(cmf3)<R, T, A1, A2, A3> mem_fn(R (NDNBOOST_MEM_FN_CC T::*f) (A1, A2, A3) const)
 {
-    return _mfi::BOOST_MEM_FN_NAME(cmf3)<R, T, A1, A2, A3>(f);
+    return _mfi::NDNBOOST_MEM_FN_NAME(cmf3)<R, T, A1, A2, A3>(f);
 }
 
-template<class R, class T, class A1, class A2, class A3, class A4> _mfi::BOOST_MEM_FN_NAME(mf4)<R, T, A1, A2, A3, A4> mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2, A3, A4))
+template<class R, class T, class A1, class A2, class A3, class A4> _mfi::NDNBOOST_MEM_FN_NAME(mf4)<R, T, A1, A2, A3, A4> mem_fn(R (NDNBOOST_MEM_FN_CC T::*f) (A1, A2, A3, A4))
 {
-    return _mfi::BOOST_MEM_FN_NAME(mf4)<R, T, A1, A2, A3, A4>(f);
+    return _mfi::NDNBOOST_MEM_FN_NAME(mf4)<R, T, A1, A2, A3, A4>(f);
 }
 
-template<class R, class T, class A1, class A2, class A3, class A4> _mfi::BOOST_MEM_FN_NAME(cmf4)<R, T, A1, A2, A3, A4> mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2, A3, A4) const)
+template<class R, class T, class A1, class A2, class A3, class A4> _mfi::NDNBOOST_MEM_FN_NAME(cmf4)<R, T, A1, A2, A3, A4> mem_fn(R (NDNBOOST_MEM_FN_CC T::*f) (A1, A2, A3, A4) const)
 {
-    return _mfi::BOOST_MEM_FN_NAME(cmf4)<R, T, A1, A2, A3, A4>(f);
+    return _mfi::NDNBOOST_MEM_FN_NAME(cmf4)<R, T, A1, A2, A3, A4>(f);
 }
 
-template<class R, class T, class A1, class A2, class A3, class A4, class A5> _mfi::BOOST_MEM_FN_NAME(mf5)<R, T, A1, A2, A3, A4, A5> mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2, A3, A4, A5))
+template<class R, class T, class A1, class A2, class A3, class A4, class A5> _mfi::NDNBOOST_MEM_FN_NAME(mf5)<R, T, A1, A2, A3, A4, A5> mem_fn(R (NDNBOOST_MEM_FN_CC T::*f) (A1, A2, A3, A4, A5))
 {
-    return _mfi::BOOST_MEM_FN_NAME(mf5)<R, T, A1, A2, A3, A4, A5>(f);
+    return _mfi::NDNBOOST_MEM_FN_NAME(mf5)<R, T, A1, A2, A3, A4, A5>(f);
 }
 
-template<class R, class T, class A1, class A2, class A3, class A4, class A5> _mfi::BOOST_MEM_FN_NAME(cmf5)<R, T, A1, A2, A3, A4, A5> mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2, A3, A4, A5) const)
+template<class R, class T, class A1, class A2, class A3, class A4, class A5> _mfi::NDNBOOST_MEM_FN_NAME(cmf5)<R, T, A1, A2, A3, A4, A5> mem_fn(R (NDNBOOST_MEM_FN_CC T::*f) (A1, A2, A3, A4, A5) const)
 {
-    return _mfi::BOOST_MEM_FN_NAME(cmf5)<R, T, A1, A2, A3, A4, A5>(f);
+    return _mfi::NDNBOOST_MEM_FN_NAME(cmf5)<R, T, A1, A2, A3, A4, A5>(f);
 }
 
-template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6> _mfi::BOOST_MEM_FN_NAME(mf6)<R, T, A1, A2, A3, A4, A5, A6> mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2, A3, A4, A5, A6))
+template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6> _mfi::NDNBOOST_MEM_FN_NAME(mf6)<R, T, A1, A2, A3, A4, A5, A6> mem_fn(R (NDNBOOST_MEM_FN_CC T::*f) (A1, A2, A3, A4, A5, A6))
 {
-    return _mfi::BOOST_MEM_FN_NAME(mf6)<R, T, A1, A2, A3, A4, A5, A6>(f);
+    return _mfi::NDNBOOST_MEM_FN_NAME(mf6)<R, T, A1, A2, A3, A4, A5, A6>(f);
 }
 
-template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6> _mfi::BOOST_MEM_FN_NAME(cmf6)<R, T, A1, A2, A3, A4, A5, A6> mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2, A3, A4, A5, A6) const)
+template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6> _mfi::NDNBOOST_MEM_FN_NAME(cmf6)<R, T, A1, A2, A3, A4, A5, A6> mem_fn(R (NDNBOOST_MEM_FN_CC T::*f) (A1, A2, A3, A4, A5, A6) const)
 {
-    return _mfi::BOOST_MEM_FN_NAME(cmf6)<R, T, A1, A2, A3, A4, A5, A6>(f);
+    return _mfi::NDNBOOST_MEM_FN_NAME(cmf6)<R, T, A1, A2, A3, A4, A5, A6>(f);
 }
 
-template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6, class A7> _mfi::BOOST_MEM_FN_NAME(mf7)<R, T, A1, A2, A3, A4, A5, A6, A7> mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2, A3, A4, A5, A6, A7))
+template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6, class A7> _mfi::NDNBOOST_MEM_FN_NAME(mf7)<R, T, A1, A2, A3, A4, A5, A6, A7> mem_fn(R (NDNBOOST_MEM_FN_CC T::*f) (A1, A2, A3, A4, A5, A6, A7))
 {
-    return _mfi::BOOST_MEM_FN_NAME(mf7)<R, T, A1, A2, A3, A4, A5, A6, A7>(f);
+    return _mfi::NDNBOOST_MEM_FN_NAME(mf7)<R, T, A1, A2, A3, A4, A5, A6, A7>(f);
 }
 
-template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6, class A7> _mfi::BOOST_MEM_FN_NAME(cmf7)<R, T, A1, A2, A3, A4, A5, A6, A7> mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2, A3, A4, A5, A6, A7) const)
+template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6, class A7> _mfi::NDNBOOST_MEM_FN_NAME(cmf7)<R, T, A1, A2, A3, A4, A5, A6, A7> mem_fn(R (NDNBOOST_MEM_FN_CC T::*f) (A1, A2, A3, A4, A5, A6, A7) const)
 {
-    return _mfi::BOOST_MEM_FN_NAME(cmf7)<R, T, A1, A2, A3, A4, A5, A6, A7>(f);
+    return _mfi::NDNBOOST_MEM_FN_NAME(cmf7)<R, T, A1, A2, A3, A4, A5, A6, A7>(f);
 }
 
-template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8> _mfi::BOOST_MEM_FN_NAME(mf8)<R, T, A1, A2, A3, A4, A5, A6, A7, A8> mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2, A3, A4, A5, A6, A7, A8))
+template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8> _mfi::NDNBOOST_MEM_FN_NAME(mf8)<R, T, A1, A2, A3, A4, A5, A6, A7, A8> mem_fn(R (NDNBOOST_MEM_FN_CC T::*f) (A1, A2, A3, A4, A5, A6, A7, A8))
 {
-    return _mfi::BOOST_MEM_FN_NAME(mf8)<R, T, A1, A2, A3, A4, A5, A6, A7, A8>(f);
+    return _mfi::NDNBOOST_MEM_FN_NAME(mf8)<R, T, A1, A2, A3, A4, A5, A6, A7, A8>(f);
 }
 
-template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8> _mfi::BOOST_MEM_FN_NAME(cmf8)<R, T, A1, A2, A3, A4, A5, A6, A7, A8> mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2, A3, A4, A5, A6, A7, A8) const)
+template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8> _mfi::NDNBOOST_MEM_FN_NAME(cmf8)<R, T, A1, A2, A3, A4, A5, A6, A7, A8> mem_fn(R (NDNBOOST_MEM_FN_CC T::*f) (A1, A2, A3, A4, A5, A6, A7, A8) const)
 {
-    return _mfi::BOOST_MEM_FN_NAME(cmf8)<R, T, A1, A2, A3, A4, A5, A6, A7, A8>(f);
+    return _mfi::NDNBOOST_MEM_FN_NAME(cmf8)<R, T, A1, A2, A3, A4, A5, A6, A7, A8>(f);
 }
diff --git a/include/ndnboost/bind/mem_fn_template.hpp b/include/ndnboost/bind/mem_fn_template.hpp
index b26d585..3ea24e7 100644
--- a/include/ndnboost/bind/mem_fn_template.hpp
+++ b/include/ndnboost/bind/mem_fn_template.hpp
@@ -12,13 +12,13 @@
 //  See http://www.boost.org/libs/bind/mem_fn.html for documentation.
 //
 
-#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING)
-# define BOOST_MEM_FN_ENABLE_CONST_OVERLOADS
+#if !defined(NDNBOOST_NO_FUNCTION_TEMPLATE_ORDERING)
+# define NDNBOOST_MEM_FN_ENABLE_CONST_OVERLOADS
 #endif
 
 // mf0
 
-template<class R, class T BOOST_MEM_FN_CLASS_F> class BOOST_MEM_FN_NAME(mf0)
+template<class R, class T NDNBOOST_MEM_FN_CLASS_F> class NDNBOOST_MEM_FN_NAME(mf0)
 {
 public:
 
@@ -27,55 +27,55 @@
 
 private:
     
-    BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) ())
+    NDNBOOST_MEM_FN_TYPEDEF(R (NDNBOOST_MEM_FN_CC T::*F) ())
     F f_;
 
     template<class U> R call(U & u, T const *) const
     {
-        BOOST_MEM_FN_RETURN (u.*f_)();
+        NDNBOOST_MEM_FN_RETURN (u.*f_)();
     }
 
     template<class U> R call(U & u, void const *) const
     {
-        BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)();
+        NDNBOOST_MEM_FN_RETURN (get_pointer(u)->*f_)();
     }
 
 public:
     
-    explicit BOOST_MEM_FN_NAME(mf0)(F f): f_(f) {}
+    explicit NDNBOOST_MEM_FN_NAME(mf0)(F f): f_(f) {}
 
     R operator()(T * p) const
     {
-        BOOST_MEM_FN_RETURN (p->*f_)();
+        NDNBOOST_MEM_FN_RETURN (p->*f_)();
     }
 
     template<class U> R operator()(U & u) const
     {
         U const * p = 0;
-        BOOST_MEM_FN_RETURN call(u, p);
+        NDNBOOST_MEM_FN_RETURN call(u, p);
     }
 
-#ifdef BOOST_MEM_FN_ENABLE_CONST_OVERLOADS
+#ifdef NDNBOOST_MEM_FN_ENABLE_CONST_OVERLOADS
 
     template<class U> R operator()(U const & u) const
     {
         U const * p = 0;
-        BOOST_MEM_FN_RETURN call(u, p);
+        NDNBOOST_MEM_FN_RETURN call(u, p);
     }
 
 #endif
 
     R operator()(T & t) const
     {
-        BOOST_MEM_FN_RETURN (t.*f_)();
+        NDNBOOST_MEM_FN_RETURN (t.*f_)();
     }
 
-    bool operator==(BOOST_MEM_FN_NAME(mf0) const & rhs) const
+    bool operator==(NDNBOOST_MEM_FN_NAME(mf0) const & rhs) const
     {
         return f_ == rhs.f_;
     }
 
-    bool operator!=(BOOST_MEM_FN_NAME(mf0) const & rhs) const
+    bool operator!=(NDNBOOST_MEM_FN_NAME(mf0) const & rhs) const
     {
         return f_ != rhs.f_;
     }
@@ -83,7 +83,7 @@
 
 // cmf0
 
-template<class R, class T BOOST_MEM_FN_CLASS_F> class BOOST_MEM_FN_NAME(cmf0)
+template<class R, class T NDNBOOST_MEM_FN_CLASS_F> class NDNBOOST_MEM_FN_NAME(cmf0)
 {
 public:
 
@@ -92,40 +92,40 @@
 
 private:
     
-    BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) () const)
+    NDNBOOST_MEM_FN_TYPEDEF(R (NDNBOOST_MEM_FN_CC T::*F) () const)
     F f_;
 
     template<class U> R call(U & u, T const *) const
     {
-        BOOST_MEM_FN_RETURN (u.*f_)();
+        NDNBOOST_MEM_FN_RETURN (u.*f_)();
     }
 
     template<class U> R call(U & u, void const *) const
     {
-        BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)();
+        NDNBOOST_MEM_FN_RETURN (get_pointer(u)->*f_)();
     }
 
 public:
     
-    explicit BOOST_MEM_FN_NAME(cmf0)(F f): f_(f) {}
+    explicit NDNBOOST_MEM_FN_NAME(cmf0)(F f): f_(f) {}
 
     template<class U> R operator()(U const & u) const
     {
         U const * p = 0;
-        BOOST_MEM_FN_RETURN call(u, p);
+        NDNBOOST_MEM_FN_RETURN call(u, p);
     }
 
     R operator()(T const & t) const
     {
-        BOOST_MEM_FN_RETURN (t.*f_)();
+        NDNBOOST_MEM_FN_RETURN (t.*f_)();
     }
 
-    bool operator==(BOOST_MEM_FN_NAME(cmf0) const & rhs) const
+    bool operator==(NDNBOOST_MEM_FN_NAME(cmf0) const & rhs) const
     {
         return f_ == rhs.f_;
     }
 
-    bool operator!=(BOOST_MEM_FN_NAME(cmf0) const & rhs) const
+    bool operator!=(NDNBOOST_MEM_FN_NAME(cmf0) const & rhs) const
     {
         return f_ != rhs.f_;
     }
@@ -133,7 +133,7 @@
 
 // mf1
 
-template<class R, class T, class A1 BOOST_MEM_FN_CLASS_F> class BOOST_MEM_FN_NAME(mf1)
+template<class R, class T, class A1 NDNBOOST_MEM_FN_CLASS_F> class NDNBOOST_MEM_FN_NAME(mf1)
 {
 public:
 
@@ -143,55 +143,55 @@
 
 private:
     
-    BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1))
+    NDNBOOST_MEM_FN_TYPEDEF(R (NDNBOOST_MEM_FN_CC T::*F) (A1))
     F f_;
 
     template<class U, class B1> R call(U & u, T const *, B1 & b1) const
     {
-        BOOST_MEM_FN_RETURN (u.*f_)(b1);
+        NDNBOOST_MEM_FN_RETURN (u.*f_)(b1);
     }
 
     template<class U, class B1> R call(U & u, void const *, B1 & b1) const
     {
-        BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1);
+        NDNBOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1);
     }
 
 public:
     
-    explicit BOOST_MEM_FN_NAME(mf1)(F f): f_(f) {}
+    explicit NDNBOOST_MEM_FN_NAME(mf1)(F f): f_(f) {}
 
     R operator()(T * p, A1 a1) const
     {
-        BOOST_MEM_FN_RETURN (p->*f_)(a1);
+        NDNBOOST_MEM_FN_RETURN (p->*f_)(a1);
     }
 
     template<class U> R operator()(U & u, A1 a1) const
     {
         U const * p = 0;
-        BOOST_MEM_FN_RETURN call(u, p, a1);
+        NDNBOOST_MEM_FN_RETURN call(u, p, a1);
     }
 
-#ifdef BOOST_MEM_FN_ENABLE_CONST_OVERLOADS
+#ifdef NDNBOOST_MEM_FN_ENABLE_CONST_OVERLOADS
 
     template<class U> R operator()(U const & u, A1 a1) const
     {
         U const * p = 0;
-        BOOST_MEM_FN_RETURN call(u, p, a1);
+        NDNBOOST_MEM_FN_RETURN call(u, p, a1);
     }
 
 #endif
 
     R operator()(T & t, A1 a1) const
     {
-        BOOST_MEM_FN_RETURN (t.*f_)(a1);
+        NDNBOOST_MEM_FN_RETURN (t.*f_)(a1);
     }
 
-    bool operator==(BOOST_MEM_FN_NAME(mf1) const & rhs) const
+    bool operator==(NDNBOOST_MEM_FN_NAME(mf1) const & rhs) const
     {
         return f_ == rhs.f_;
     }
 
-    bool operator!=(BOOST_MEM_FN_NAME(mf1) const & rhs) const
+    bool operator!=(NDNBOOST_MEM_FN_NAME(mf1) const & rhs) const
     {
         return f_ != rhs.f_;
     }
@@ -199,7 +199,7 @@
 
 // cmf1
 
-template<class R, class T, class A1 BOOST_MEM_FN_CLASS_F> class BOOST_MEM_FN_NAME(cmf1)
+template<class R, class T, class A1 NDNBOOST_MEM_FN_CLASS_F> class NDNBOOST_MEM_FN_NAME(cmf1)
 {
 public:
 
@@ -209,40 +209,40 @@
 
 private:
     
-    BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1) const)
+    NDNBOOST_MEM_FN_TYPEDEF(R (NDNBOOST_MEM_FN_CC T::*F) (A1) const)
     F f_;
 
     template<class U, class B1> R call(U & u, T const *, B1 & b1) const
     {
-        BOOST_MEM_FN_RETURN (u.*f_)(b1);
+        NDNBOOST_MEM_FN_RETURN (u.*f_)(b1);
     }
 
     template<class U, class B1> R call(U & u, void const *, B1 & b1) const
     {
-        BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1);
+        NDNBOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1);
     }
 
 public:
     
-    explicit BOOST_MEM_FN_NAME(cmf1)(F f): f_(f) {}
+    explicit NDNBOOST_MEM_FN_NAME(cmf1)(F f): f_(f) {}
 
     template<class U> R operator()(U const & u, A1 a1) const
     {
         U const * p = 0;
-        BOOST_MEM_FN_RETURN call(u, p, a1);
+        NDNBOOST_MEM_FN_RETURN call(u, p, a1);
     }
 
     R operator()(T const & t, A1 a1) const
     {
-        BOOST_MEM_FN_RETURN (t.*f_)(a1);
+        NDNBOOST_MEM_FN_RETURN (t.*f_)(a1);
     }
 
-    bool operator==(BOOST_MEM_FN_NAME(cmf1) const & rhs) const
+    bool operator==(NDNBOOST_MEM_FN_NAME(cmf1) const & rhs) const
     {
         return f_ == rhs.f_;
     }
 
-    bool operator!=(BOOST_MEM_FN_NAME(cmf1) const & rhs) const
+    bool operator!=(NDNBOOST_MEM_FN_NAME(cmf1) const & rhs) const
     {
         return f_ != rhs.f_;
     }
@@ -250,7 +250,7 @@
 
 // mf2
 
-template<class R, class T, class A1, class A2 BOOST_MEM_FN_CLASS_F> class BOOST_MEM_FN_NAME(mf2)
+template<class R, class T, class A1, class A2 NDNBOOST_MEM_FN_CLASS_F> class NDNBOOST_MEM_FN_NAME(mf2)
 {
 public:
 
@@ -258,55 +258,55 @@
 
 private:
     
-    BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1, A2))
+    NDNBOOST_MEM_FN_TYPEDEF(R (NDNBOOST_MEM_FN_CC T::*F) (A1, A2))
     F f_;
 
     template<class U, class B1, class B2> R call(U & u, T const *, B1 & b1, B2 & b2) const
     {
-        BOOST_MEM_FN_RETURN (u.*f_)(b1, b2);
+        NDNBOOST_MEM_FN_RETURN (u.*f_)(b1, b2);
     }
 
     template<class U, class B1, class B2> R call(U & u, void const *, B1 & b1, B2 & b2) const
     {
-        BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2);
+        NDNBOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2);
     }
 
 public:
     
-    explicit BOOST_MEM_FN_NAME(mf2)(F f): f_(f) {}
+    explicit NDNBOOST_MEM_FN_NAME(mf2)(F f): f_(f) {}
 
     R operator()(T * p, A1 a1, A2 a2) const
     {
-        BOOST_MEM_FN_RETURN (p->*f_)(a1, a2);
+        NDNBOOST_MEM_FN_RETURN (p->*f_)(a1, a2);
     }
 
     template<class U> R operator()(U & u, A1 a1, A2 a2) const
     {
         U const * p = 0;
-        BOOST_MEM_FN_RETURN call(u, p, a1, a2);
+        NDNBOOST_MEM_FN_RETURN call(u, p, a1, a2);
     }
 
-#ifdef BOOST_MEM_FN_ENABLE_CONST_OVERLOADS
+#ifdef NDNBOOST_MEM_FN_ENABLE_CONST_OVERLOADS
 
     template<class U> R operator()(U const & u, A1 a1, A2 a2) const
     {
         U const * p = 0;
-        BOOST_MEM_FN_RETURN call(u, p, a1, a2);
+        NDNBOOST_MEM_FN_RETURN call(u, p, a1, a2);
     }
 
 #endif
 
     R operator()(T & t, A1 a1, A2 a2) const
     {
-        BOOST_MEM_FN_RETURN (t.*f_)(a1, a2);
+        NDNBOOST_MEM_FN_RETURN (t.*f_)(a1, a2);
     }
 
-    bool operator==(BOOST_MEM_FN_NAME(mf2) const & rhs) const
+    bool operator==(NDNBOOST_MEM_FN_NAME(mf2) const & rhs) const
     {
         return f_ == rhs.f_;
     }
 
-    bool operator!=(BOOST_MEM_FN_NAME(mf2) const & rhs) const
+    bool operator!=(NDNBOOST_MEM_FN_NAME(mf2) const & rhs) const
     {
         return f_ != rhs.f_;
     }
@@ -314,7 +314,7 @@
 
 // cmf2
 
-template<class R, class T, class A1, class A2 BOOST_MEM_FN_CLASS_F> class BOOST_MEM_FN_NAME(cmf2)
+template<class R, class T, class A1, class A2 NDNBOOST_MEM_FN_CLASS_F> class NDNBOOST_MEM_FN_NAME(cmf2)
 {
 public:
 
@@ -322,40 +322,40 @@
 
 private:
     
-    BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1, A2) const)
+    NDNBOOST_MEM_FN_TYPEDEF(R (NDNBOOST_MEM_FN_CC T::*F) (A1, A2) const)
     F f_;
 
     template<class U, class B1, class B2> R call(U & u, T const *, B1 & b1, B2 & b2) const
     {
-        BOOST_MEM_FN_RETURN (u.*f_)(b1, b2);
+        NDNBOOST_MEM_FN_RETURN (u.*f_)(b1, b2);
     }
 
     template<class U, class B1, class B2> R call(U & u, void const *, B1 & b1, B2 & b2) const
     {
-        BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2);
+        NDNBOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2);
     }
 
 public:
     
-    explicit BOOST_MEM_FN_NAME(cmf2)(F f): f_(f) {}
+    explicit NDNBOOST_MEM_FN_NAME(cmf2)(F f): f_(f) {}
 
     template<class U> R operator()(U const & u, A1 a1, A2 a2) const
     {
         U const * p = 0;
-        BOOST_MEM_FN_RETURN call(u, p, a1, a2);
+        NDNBOOST_MEM_FN_RETURN call(u, p, a1, a2);
     }
 
     R operator()(T const & t, A1 a1, A2 a2) const
     {
-        BOOST_MEM_FN_RETURN (t.*f_)(a1, a2);
+        NDNBOOST_MEM_FN_RETURN (t.*f_)(a1, a2);
     }
 
-    bool operator==(BOOST_MEM_FN_NAME(cmf2) const & rhs) const
+    bool operator==(NDNBOOST_MEM_FN_NAME(cmf2) const & rhs) const
     {
         return f_ == rhs.f_;
     }
 
-    bool operator!=(BOOST_MEM_FN_NAME(cmf2) const & rhs) const
+    bool operator!=(NDNBOOST_MEM_FN_NAME(cmf2) const & rhs) const
     {
         return f_ != rhs.f_;
     }
@@ -363,7 +363,7 @@
 
 // mf3
 
-template<class R, class T, class A1, class A2, class A3 BOOST_MEM_FN_CLASS_F> class BOOST_MEM_FN_NAME(mf3)
+template<class R, class T, class A1, class A2, class A3 NDNBOOST_MEM_FN_CLASS_F> class NDNBOOST_MEM_FN_NAME(mf3)
 {
 public:
 
@@ -371,55 +371,55 @@
 
 private:
     
-    BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3))
+    NDNBOOST_MEM_FN_TYPEDEF(R (NDNBOOST_MEM_FN_CC T::*F) (A1, A2, A3))
     F f_;
 
     template<class U, class B1, class B2, class B3> R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3) const
     {
-        BOOST_MEM_FN_RETURN (u.*f_)(b1, b2, b3);
+        NDNBOOST_MEM_FN_RETURN (u.*f_)(b1, b2, b3);
     }
 
     template<class U, class B1, class B2, class B3> R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3) const
     {
-        BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2, b3);
+        NDNBOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2, b3);
     }
 
 public:
     
-    explicit BOOST_MEM_FN_NAME(mf3)(F f): f_(f) {}
+    explicit NDNBOOST_MEM_FN_NAME(mf3)(F f): f_(f) {}
 
     R operator()(T * p, A1 a1, A2 a2, A3 a3) const
     {
-        BOOST_MEM_FN_RETURN (p->*f_)(a1, a2, a3);
+        NDNBOOST_MEM_FN_RETURN (p->*f_)(a1, a2, a3);
     }
 
     template<class U> R operator()(U & u, A1 a1, A2 a2, A3 a3) const
     {
         U const * p = 0;
-        BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3);
+        NDNBOOST_MEM_FN_RETURN call(u, p, a1, a2, a3);
     }
 
-#ifdef BOOST_MEM_FN_ENABLE_CONST_OVERLOADS
+#ifdef NDNBOOST_MEM_FN_ENABLE_CONST_OVERLOADS
 
     template<class U> R operator()(U const & u, A1 a1, A2 a2, A3 a3) const
     {
         U const * p = 0;
-        BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3);
+        NDNBOOST_MEM_FN_RETURN call(u, p, a1, a2, a3);
     }
 
 #endif
 
     R operator()(T & t, A1 a1, A2 a2, A3 a3) const
     {
-        BOOST_MEM_FN_RETURN (t.*f_)(a1, a2, a3);
+        NDNBOOST_MEM_FN_RETURN (t.*f_)(a1, a2, a3);
     }
 
-    bool operator==(BOOST_MEM_FN_NAME(mf3) const & rhs) const
+    bool operator==(NDNBOOST_MEM_FN_NAME(mf3) const & rhs) const
     {
         return f_ == rhs.f_;
     }
 
-    bool operator!=(BOOST_MEM_FN_NAME(mf3) const & rhs) const
+    bool operator!=(NDNBOOST_MEM_FN_NAME(mf3) const & rhs) const
     {
         return f_ != rhs.f_;
     }
@@ -427,7 +427,7 @@
 
 // cmf3
 
-template<class R, class T, class A1, class A2, class A3 BOOST_MEM_FN_CLASS_F> class BOOST_MEM_FN_NAME(cmf3)
+template<class R, class T, class A1, class A2, class A3 NDNBOOST_MEM_FN_CLASS_F> class NDNBOOST_MEM_FN_NAME(cmf3)
 {
 public:
 
@@ -435,40 +435,40 @@
 
 private:
 
-    BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3) const)
+    NDNBOOST_MEM_FN_TYPEDEF(R (NDNBOOST_MEM_FN_CC T::*F) (A1, A2, A3) const)
     F f_;
 
     template<class U, class B1, class B2, class B3> R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3) const
     {
-        BOOST_MEM_FN_RETURN (u.*f_)(b1, b2, b3);
+        NDNBOOST_MEM_FN_RETURN (u.*f_)(b1, b2, b3);
     }
 
     template<class U, class B1, class B2, class B3> R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3) const
     {
-        BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2, b3);
+        NDNBOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2, b3);
     }
 
 public:
 
-    explicit BOOST_MEM_FN_NAME(cmf3)(F f): f_(f) {}
+    explicit NDNBOOST_MEM_FN_NAME(cmf3)(F f): f_(f) {}
 
     template<class U> R operator()(U const & u, A1 a1, A2 a2, A3 a3) const
     {
         U const * p = 0;
-        BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3);
+        NDNBOOST_MEM_FN_RETURN call(u, p, a1, a2, a3);
     }
 
     R operator()(T const & t, A1 a1, A2 a2, A3 a3) const
     {
-        BOOST_MEM_FN_RETURN (t.*f_)(a1, a2, a3);
+        NDNBOOST_MEM_FN_RETURN (t.*f_)(a1, a2, a3);
     }
 
-    bool operator==(BOOST_MEM_FN_NAME(cmf3) const & rhs) const
+    bool operator==(NDNBOOST_MEM_FN_NAME(cmf3) const & rhs) const
     {
         return f_ == rhs.f_;
     }
 
-    bool operator!=(BOOST_MEM_FN_NAME(cmf3) const & rhs) const
+    bool operator!=(NDNBOOST_MEM_FN_NAME(cmf3) const & rhs) const
     {
         return f_ != rhs.f_;
     }
@@ -476,7 +476,7 @@
 
 // mf4
 
-template<class R, class T, class A1, class A2, class A3, class A4 BOOST_MEM_FN_CLASS_F> class BOOST_MEM_FN_NAME(mf4)
+template<class R, class T, class A1, class A2, class A3, class A4 NDNBOOST_MEM_FN_CLASS_F> class NDNBOOST_MEM_FN_NAME(mf4)
 {
 public:
 
@@ -484,55 +484,55 @@
 
 private:
     
-    BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4))
+    NDNBOOST_MEM_FN_TYPEDEF(R (NDNBOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4))
     F f_;
 
     template<class U, class B1, class B2, class B3, class B4> R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4) const
     {
-        BOOST_MEM_FN_RETURN (u.*f_)(b1, b2, b3, b4);
+        NDNBOOST_MEM_FN_RETURN (u.*f_)(b1, b2, b3, b4);
     }
 
     template<class U, class B1, class B2, class B3, class B4> R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4) const
     {
-        BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2, b3, b4);
+        NDNBOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2, b3, b4);
     }
 
 public:
     
-    explicit BOOST_MEM_FN_NAME(mf4)(F f): f_(f) {}
+    explicit NDNBOOST_MEM_FN_NAME(mf4)(F f): f_(f) {}
 
     R operator()(T * p, A1 a1, A2 a2, A3 a3, A4 a4) const
     {
-        BOOST_MEM_FN_RETURN (p->*f_)(a1, a2, a3, a4);
+        NDNBOOST_MEM_FN_RETURN (p->*f_)(a1, a2, a3, a4);
     }
 
     template<class U> R operator()(U & u, A1 a1, A2 a2, A3 a3, A4 a4) const
     {
         U const * p = 0;
-        BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4);
+        NDNBOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4);
     }
 
-#ifdef BOOST_MEM_FN_ENABLE_CONST_OVERLOADS
+#ifdef NDNBOOST_MEM_FN_ENABLE_CONST_OVERLOADS
 
     template<class U> R operator()(U const & u, A1 a1, A2 a2, A3 a3, A4 a4) const
     {
         U const * p = 0;
-        BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4);
+        NDNBOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4);
     }
 
 #endif
 
     R operator()(T & t, A1 a1, A2 a2, A3 a3, A4 a4) const
     {
-        BOOST_MEM_FN_RETURN (t.*f_)(a1, a2, a3, a4);
+        NDNBOOST_MEM_FN_RETURN (t.*f_)(a1, a2, a3, a4);
     }
 
-    bool operator==(BOOST_MEM_FN_NAME(mf4) const & rhs) const
+    bool operator==(NDNBOOST_MEM_FN_NAME(mf4) const & rhs) const
     {
         return f_ == rhs.f_;
     }
 
-    bool operator!=(BOOST_MEM_FN_NAME(mf4) const & rhs) const
+    bool operator!=(NDNBOOST_MEM_FN_NAME(mf4) const & rhs) const
     {
         return f_ != rhs.f_;
     }
@@ -540,7 +540,7 @@
 
 // cmf4
 
-template<class R, class T, class A1, class A2, class A3, class A4 BOOST_MEM_FN_CLASS_F> class BOOST_MEM_FN_NAME(cmf4)
+template<class R, class T, class A1, class A2, class A3, class A4 NDNBOOST_MEM_FN_CLASS_F> class NDNBOOST_MEM_FN_NAME(cmf4)
 {
 public:
 
@@ -548,40 +548,40 @@
 
 private:
     
-    BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4) const)
+    NDNBOOST_MEM_FN_TYPEDEF(R (NDNBOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4) const)
     F f_;
 
     template<class U, class B1, class B2, class B3, class B4> R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4) const
     {
-        BOOST_MEM_FN_RETURN (u.*f_)(b1, b2, b3, b4);
+        NDNBOOST_MEM_FN_RETURN (u.*f_)(b1, b2, b3, b4);
     }
 
     template<class U, class B1, class B2, class B3, class B4> R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4) const
     {
-        BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2, b3, b4);
+        NDNBOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2, b3, b4);
     }
 
 public:
     
-    explicit BOOST_MEM_FN_NAME(cmf4)(F f): f_(f) {}
+    explicit NDNBOOST_MEM_FN_NAME(cmf4)(F f): f_(f) {}
 
     template<class U> R operator()(U const & u, A1 a1, A2 a2, A3 a3, A4 a4) const
     {
         U const * p = 0;
-        BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4);
+        NDNBOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4);
     }
 
     R operator()(T const & t, A1 a1, A2 a2, A3 a3, A4 a4) const
     {
-        BOOST_MEM_FN_RETURN (t.*f_)(a1, a2, a3, a4);
+        NDNBOOST_MEM_FN_RETURN (t.*f_)(a1, a2, a3, a4);
     }
 
-    bool operator==(BOOST_MEM_FN_NAME(cmf4) const & rhs) const
+    bool operator==(NDNBOOST_MEM_FN_NAME(cmf4) const & rhs) const
     {
         return f_ == rhs.f_;
     }
 
-    bool operator!=(BOOST_MEM_FN_NAME(cmf4) const & rhs) const
+    bool operator!=(NDNBOOST_MEM_FN_NAME(cmf4) const & rhs) const
     {
         return f_ != rhs.f_;
     }
@@ -589,7 +589,7 @@
 
 // mf5
 
-template<class R, class T, class A1, class A2, class A3, class A4, class A5 BOOST_MEM_FN_CLASS_F> class BOOST_MEM_FN_NAME(mf5)
+template<class R, class T, class A1, class A2, class A3, class A4, class A5 NDNBOOST_MEM_FN_CLASS_F> class NDNBOOST_MEM_FN_NAME(mf5)
 {
 public:
 
@@ -597,55 +597,55 @@
 
 private:
     
-    BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5))
+    NDNBOOST_MEM_FN_TYPEDEF(R (NDNBOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5))
     F f_;
 
     template<class U, class B1, class B2, class B3, class B4, class B5> R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5) const
     {
-        BOOST_MEM_FN_RETURN (u.*f_)(b1, b2, b3, b4, b5);
+        NDNBOOST_MEM_FN_RETURN (u.*f_)(b1, b2, b3, b4, b5);
     }
 
     template<class U, class B1, class B2, class B3, class B4, class B5> R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5) const
     {
-        BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2, b3, b4, b5);
+        NDNBOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2, b3, b4, b5);
     }
 
 public:
     
-    explicit BOOST_MEM_FN_NAME(mf5)(F f): f_(f) {}
+    explicit NDNBOOST_MEM_FN_NAME(mf5)(F f): f_(f) {}
 
     R operator()(T * p, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) const
     {
-        BOOST_MEM_FN_RETURN (p->*f_)(a1, a2, a3, a4, a5);
+        NDNBOOST_MEM_FN_RETURN (p->*f_)(a1, a2, a3, a4, a5);
     }
 
     template<class U> R operator()(U & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) const
     {
         U const * p = 0;
-        BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4, a5);
+        NDNBOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4, a5);
     }
 
-#ifdef BOOST_MEM_FN_ENABLE_CONST_OVERLOADS
+#ifdef NDNBOOST_MEM_FN_ENABLE_CONST_OVERLOADS
 
     template<class U> R operator()(U const & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) const
     {
         U const * p = 0;
-        BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4, a5);
+        NDNBOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4, a5);
     }
 
 #endif
 
     R operator()(T & t, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) const
     {
-        BOOST_MEM_FN_RETURN (t.*f_)(a1, a2, a3, a4, a5);
+        NDNBOOST_MEM_FN_RETURN (t.*f_)(a1, a2, a3, a4, a5);
     }
 
-    bool operator==(BOOST_MEM_FN_NAME(mf5) const & rhs) const
+    bool operator==(NDNBOOST_MEM_FN_NAME(mf5) const & rhs) const
     {
         return f_ == rhs.f_;
     }
 
-    bool operator!=(BOOST_MEM_FN_NAME(mf5) const & rhs) const
+    bool operator!=(NDNBOOST_MEM_FN_NAME(mf5) const & rhs) const
     {
         return f_ != rhs.f_;
     }
@@ -653,7 +653,7 @@
 
 // cmf5
 
-template<class R, class T, class A1, class A2, class A3, class A4, class A5 BOOST_MEM_FN_CLASS_F> class BOOST_MEM_FN_NAME(cmf5)
+template<class R, class T, class A1, class A2, class A3, class A4, class A5 NDNBOOST_MEM_FN_CLASS_F> class NDNBOOST_MEM_FN_NAME(cmf5)
 {
 public:
 
@@ -661,40 +661,40 @@
 
 private:
     
-    BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5) const)
+    NDNBOOST_MEM_FN_TYPEDEF(R (NDNBOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5) const)
     F f_;
 
     template<class U, class B1, class B2, class B3, class B4, class B5> R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5) const
     {
-        BOOST_MEM_FN_RETURN (u.*f_)(b1, b2, b3, b4, b5);
+        NDNBOOST_MEM_FN_RETURN (u.*f_)(b1, b2, b3, b4, b5);
     }
 
     template<class U, class B1, class B2, class B3, class B4, class B5> R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5) const
     {
-        BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2, b3, b4, b5);
+        NDNBOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2, b3, b4, b5);
     }
 
 public:
     
-    explicit BOOST_MEM_FN_NAME(cmf5)(F f): f_(f) {}
+    explicit NDNBOOST_MEM_FN_NAME(cmf5)(F f): f_(f) {}
 
     template<class U> R operator()(U const & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) const
     {
         U const * p = 0;
-        BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4, a5);
+        NDNBOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4, a5);
     }
 
     R operator()(T const & t, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) const
     {
-        BOOST_MEM_FN_RETURN (t.*f_)(a1, a2, a3, a4, a5);
+        NDNBOOST_MEM_FN_RETURN (t.*f_)(a1, a2, a3, a4, a5);
     }
 
-    bool operator==(BOOST_MEM_FN_NAME(cmf5) const & rhs) const
+    bool operator==(NDNBOOST_MEM_FN_NAME(cmf5) const & rhs) const
     {
         return f_ == rhs.f_;
     }
 
-    bool operator!=(BOOST_MEM_FN_NAME(cmf5) const & rhs) const
+    bool operator!=(NDNBOOST_MEM_FN_NAME(cmf5) const & rhs) const
     {
         return f_ != rhs.f_;
     }
@@ -702,7 +702,7 @@
 
 // mf6
 
-template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6 BOOST_MEM_FN_CLASS_F> class BOOST_MEM_FN_NAME(mf6)
+template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6 NDNBOOST_MEM_FN_CLASS_F> class NDNBOOST_MEM_FN_NAME(mf6)
 {
 public:
 
@@ -710,55 +710,55 @@
 
 private:
 
-    BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5, A6))
+    NDNBOOST_MEM_FN_TYPEDEF(R (NDNBOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5, A6))
     F f_;
 
     template<class U, class B1, class B2, class B3, class B4, class B5, class B6> R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6) const
     {
-        BOOST_MEM_FN_RETURN (u.*f_)(b1, b2, b3, b4, b5, b6);
+        NDNBOOST_MEM_FN_RETURN (u.*f_)(b1, b2, b3, b4, b5, b6);
     }
 
     template<class U, class B1, class B2, class B3, class B4, class B5, class B6> R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6) const
     {
-        BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2, b3, b4, b5, b6);
+        NDNBOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2, b3, b4, b5, b6);
     }
 
 public:
 
-    explicit BOOST_MEM_FN_NAME(mf6)(F f): f_(f) {}
+    explicit NDNBOOST_MEM_FN_NAME(mf6)(F f): f_(f) {}
 
     R operator()(T * p, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) const
     {
-        BOOST_MEM_FN_RETURN (p->*f_)(a1, a2, a3, a4, a5, a6);
+        NDNBOOST_MEM_FN_RETURN (p->*f_)(a1, a2, a3, a4, a5, a6);
     }
 
     template<class U> R operator()(U & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) const
     {
         U const * p = 0;
-        BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4, a5, a6);
+        NDNBOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4, a5, a6);
     }
 
-#ifdef BOOST_MEM_FN_ENABLE_CONST_OVERLOADS
+#ifdef NDNBOOST_MEM_FN_ENABLE_CONST_OVERLOADS
 
     template<class U> R operator()(U const & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) const
     {
         U const * p = 0;
-        BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4, a5, a6);
+        NDNBOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4, a5, a6);
     }
 
 #endif
 
     R operator()(T & t, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) const
     {
-        BOOST_MEM_FN_RETURN (t.*f_)(a1, a2, a3, a4, a5, a6);
+        NDNBOOST_MEM_FN_RETURN (t.*f_)(a1, a2, a3, a4, a5, a6);
     }
 
-    bool operator==(BOOST_MEM_FN_NAME(mf6) const & rhs) const
+    bool operator==(NDNBOOST_MEM_FN_NAME(mf6) const & rhs) const
     {
         return f_ == rhs.f_;
     }
 
-    bool operator!=(BOOST_MEM_FN_NAME(mf6) const & rhs) const
+    bool operator!=(NDNBOOST_MEM_FN_NAME(mf6) const & rhs) const
     {
         return f_ != rhs.f_;
     }
@@ -766,7 +766,7 @@
 
 // cmf6
 
-template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6 BOOST_MEM_FN_CLASS_F> class BOOST_MEM_FN_NAME(cmf6)
+template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6 NDNBOOST_MEM_FN_CLASS_F> class NDNBOOST_MEM_FN_NAME(cmf6)
 {
 public:
 
@@ -774,40 +774,40 @@
 
 private:
     
-    BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5, A6) const)
+    NDNBOOST_MEM_FN_TYPEDEF(R (NDNBOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5, A6) const)
     F f_;
 
     template<class U, class B1, class B2, class B3, class B4, class B5, class B6> R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6) const
     {
-        BOOST_MEM_FN_RETURN (u.*f_)(b1, b2, b3, b4, b5, b6);
+        NDNBOOST_MEM_FN_RETURN (u.*f_)(b1, b2, b3, b4, b5, b6);
     }
 
     template<class U, class B1, class B2, class B3, class B4, class B5, class B6> R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6) const
     {
-        BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2, b3, b4, b5, b6);
+        NDNBOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2, b3, b4, b5, b6);
     }
 
 public:
     
-    explicit BOOST_MEM_FN_NAME(cmf6)(F f): f_(f) {}
+    explicit NDNBOOST_MEM_FN_NAME(cmf6)(F f): f_(f) {}
 
     template<class U> R operator()(U const & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) const
     {
         U const * p = 0;
-        BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4, a5, a6);
+        NDNBOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4, a5, a6);
     }
 
     R operator()(T const & t, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) const
     {
-        BOOST_MEM_FN_RETURN (t.*f_)(a1, a2, a3, a4, a5, a6);
+        NDNBOOST_MEM_FN_RETURN (t.*f_)(a1, a2, a3, a4, a5, a6);
     }
 
-    bool operator==(BOOST_MEM_FN_NAME(cmf6) const & rhs) const
+    bool operator==(NDNBOOST_MEM_FN_NAME(cmf6) const & rhs) const
     {
         return f_ == rhs.f_;
     }
 
-    bool operator!=(BOOST_MEM_FN_NAME(cmf6) const & rhs) const
+    bool operator!=(NDNBOOST_MEM_FN_NAME(cmf6) const & rhs) const
     {
         return f_ != rhs.f_;
     }
@@ -815,7 +815,7 @@
 
 // mf7
 
-template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6, class A7 BOOST_MEM_FN_CLASS_F> class BOOST_MEM_FN_NAME(mf7)
+template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6, class A7 NDNBOOST_MEM_FN_CLASS_F> class NDNBOOST_MEM_FN_NAME(mf7)
 {
 public:
 
@@ -823,55 +823,55 @@
 
 private:
     
-    BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5, A6, A7))
+    NDNBOOST_MEM_FN_TYPEDEF(R (NDNBOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5, A6, A7))
     F f_;
 
     template<class U, class B1, class B2, class B3, class B4, class B5, class B6, class B7> R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6, B7 & b7) const
     {
-        BOOST_MEM_FN_RETURN (u.*f_)(b1, b2, b3, b4, b5, b6, b7);
+        NDNBOOST_MEM_FN_RETURN (u.*f_)(b1, b2, b3, b4, b5, b6, b7);
     }
 
     template<class U, class B1, class B2, class B3, class B4, class B5, class B6, class B7> R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6, B7 & b7) const
     {
-        BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2, b3, b4, b5, b6, b7);
+        NDNBOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2, b3, b4, b5, b6, b7);
     }
 
 public:
     
-    explicit BOOST_MEM_FN_NAME(mf7)(F f): f_(f) {}
+    explicit NDNBOOST_MEM_FN_NAME(mf7)(F f): f_(f) {}
 
     R operator()(T * p, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) const
     {
-        BOOST_MEM_FN_RETURN (p->*f_)(a1, a2, a3, a4, a5, a6, a7);
+        NDNBOOST_MEM_FN_RETURN (p->*f_)(a1, a2, a3, a4, a5, a6, a7);
     }
 
     template<class U> R operator()(U & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) const
     {
         U const * p = 0;
-        BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4, a5, a6, a7);
+        NDNBOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4, a5, a6, a7);
     }
 
-#ifdef BOOST_MEM_FN_ENABLE_CONST_OVERLOADS
+#ifdef NDNBOOST_MEM_FN_ENABLE_CONST_OVERLOADS
 
     template<class U> R operator()(U const & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) const
     {
         U const * p = 0;
-        BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4, a5, a6, a7);
+        NDNBOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4, a5, a6, a7);
     }
 
 #endif
 
     R operator()(T & t, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) const
     {
-        BOOST_MEM_FN_RETURN (t.*f_)(a1, a2, a3, a4, a5, a6, a7);
+        NDNBOOST_MEM_FN_RETURN (t.*f_)(a1, a2, a3, a4, a5, a6, a7);
     }
 
-    bool operator==(BOOST_MEM_FN_NAME(mf7) const & rhs) const
+    bool operator==(NDNBOOST_MEM_FN_NAME(mf7) const & rhs) const
     {
         return f_ == rhs.f_;
     }
 
-    bool operator!=(BOOST_MEM_FN_NAME(mf7) const & rhs) const
+    bool operator!=(NDNBOOST_MEM_FN_NAME(mf7) const & rhs) const
     {
         return f_ != rhs.f_;
     }
@@ -879,7 +879,7 @@
 
 // cmf7
 
-template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6, class A7 BOOST_MEM_FN_CLASS_F> class BOOST_MEM_FN_NAME(cmf7)
+template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6, class A7 NDNBOOST_MEM_FN_CLASS_F> class NDNBOOST_MEM_FN_NAME(cmf7)
 {
 public:
 
@@ -887,40 +887,40 @@
 
 private:
     
-    BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5, A6, A7) const)
+    NDNBOOST_MEM_FN_TYPEDEF(R (NDNBOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5, A6, A7) const)
     F f_;
 
     template<class U, class B1, class B2, class B3, class B4, class B5, class B6, class B7> R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6, B7 & b7) const
     {
-        BOOST_MEM_FN_RETURN (u.*f_)(b1, b2, b3, b4, b5, b6, b7);
+        NDNBOOST_MEM_FN_RETURN (u.*f_)(b1, b2, b3, b4, b5, b6, b7);
     }
 
     template<class U, class B1, class B2, class B3, class B4, class B5, class B6, class B7> R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6, B7 & b7) const
     {
-        BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2, b3, b4, b5, b6, b7);
+        NDNBOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2, b3, b4, b5, b6, b7);
     }
 
 public:
     
-    explicit BOOST_MEM_FN_NAME(cmf7)(F f): f_(f) {}
+    explicit NDNBOOST_MEM_FN_NAME(cmf7)(F f): f_(f) {}
 
     template<class U> R operator()(U const & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) const
     {
         U const * p = 0;
-        BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4, a5, a6, a7);
+        NDNBOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4, a5, a6, a7);
     }
 
     R operator()(T const & t, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) const
     {
-        BOOST_MEM_FN_RETURN (t.*f_)(a1, a2, a3, a4, a5, a6, a7);
+        NDNBOOST_MEM_FN_RETURN (t.*f_)(a1, a2, a3, a4, a5, a6, a7);
     }
 
-    bool operator==(BOOST_MEM_FN_NAME(cmf7) const & rhs) const
+    bool operator==(NDNBOOST_MEM_FN_NAME(cmf7) const & rhs) const
     {
         return f_ == rhs.f_;
     }
 
-    bool operator!=(BOOST_MEM_FN_NAME(cmf7) const & rhs) const
+    bool operator!=(NDNBOOST_MEM_FN_NAME(cmf7) const & rhs) const
     {
         return f_ != rhs.f_;
     }
@@ -928,7 +928,7 @@
 
 // mf8
 
-template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8 BOOST_MEM_FN_CLASS_F> class BOOST_MEM_FN_NAME(mf8)
+template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8 NDNBOOST_MEM_FN_CLASS_F> class NDNBOOST_MEM_FN_NAME(mf8)
 {
 public:
 
@@ -936,55 +936,55 @@
 
 private:
     
-    BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5, A6, A7, A8))
+    NDNBOOST_MEM_FN_TYPEDEF(R (NDNBOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5, A6, A7, A8))
     F f_;
 
     template<class U, class B1, class B2, class B3, class B4, class B5, class B6, class B7, class B8> R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6, B7 & b7, B8 & b8) const
     {
-        BOOST_MEM_FN_RETURN (u.*f_)(b1, b2, b3, b4, b5, b6, b7, b8);
+        NDNBOOST_MEM_FN_RETURN (u.*f_)(b1, b2, b3, b4, b5, b6, b7, b8);
     }
 
     template<class U, class B1, class B2, class B3, class B4, class B5, class B6, class B7, class B8> R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6, B7 & b7, B8 & b8) const
     {
-        BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2, b3, b4, b5, b6, b7, b8);
+        NDNBOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2, b3, b4, b5, b6, b7, b8);
     }
 
 public:
     
-    explicit BOOST_MEM_FN_NAME(mf8)(F f): f_(f) {}
+    explicit NDNBOOST_MEM_FN_NAME(mf8)(F f): f_(f) {}
 
     R operator()(T * p, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) const
     {
-        BOOST_MEM_FN_RETURN (p->*f_)(a1, a2, a3, a4, a5, a6, a7, a8);
+        NDNBOOST_MEM_FN_RETURN (p->*f_)(a1, a2, a3, a4, a5, a6, a7, a8);
     }
 
     template<class U> R operator()(U & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) const
     {
         U const * p = 0;
-        BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4, a5, a6, a7, a8);
+        NDNBOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4, a5, a6, a7, a8);
     }
 
-#ifdef BOOST_MEM_FN_ENABLE_CONST_OVERLOADS
+#ifdef NDNBOOST_MEM_FN_ENABLE_CONST_OVERLOADS
 
     template<class U> R operator()(U const & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) const
     {
         U const * p = 0;
-        BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4, a5, a6, a7, a8);
+        NDNBOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4, a5, a6, a7, a8);
     }
 
 #endif
 
     R operator()(T & t, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) const
     {
-        BOOST_MEM_FN_RETURN (t.*f_)(a1, a2, a3, a4, a5, a6, a7, a8);
+        NDNBOOST_MEM_FN_RETURN (t.*f_)(a1, a2, a3, a4, a5, a6, a7, a8);
     }
 
-    bool operator==(BOOST_MEM_FN_NAME(mf8) const & rhs) const
+    bool operator==(NDNBOOST_MEM_FN_NAME(mf8) const & rhs) const
     {
         return f_ == rhs.f_;
     }
 
-    bool operator!=(BOOST_MEM_FN_NAME(mf8) const & rhs) const
+    bool operator!=(NDNBOOST_MEM_FN_NAME(mf8) const & rhs) const
     {
         return f_ != rhs.f_;
     }
@@ -992,7 +992,7 @@
 
 // cmf8
 
-template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8 BOOST_MEM_FN_CLASS_F> class BOOST_MEM_FN_NAME(cmf8)
+template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8 NDNBOOST_MEM_FN_CLASS_F> class NDNBOOST_MEM_FN_NAME(cmf8)
 {
 public:
 
@@ -1000,48 +1000,48 @@
 
 private:
     
-    BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5, A6, A7, A8) const)
+    NDNBOOST_MEM_FN_TYPEDEF(R (NDNBOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5, A6, A7, A8) const)
     F f_;
 
     template<class U, class B1, class B2, class B3, class B4, class B5, class B6, class B7, class B8> R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6, B7 & b7, B8 & b8) const
     {
-        BOOST_MEM_FN_RETURN (u.*f_)(b1, b2, b3, b4, b5, b6, b7, b8);
+        NDNBOOST_MEM_FN_RETURN (u.*f_)(b1, b2, b3, b4, b5, b6, b7, b8);
     }
 
     template<class U, class B1, class B2, class B3, class B4, class B5, class B6, class B7, class B8> R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6, B7 & b7, B8 & b8) const
     {
-        BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2, b3, b4, b5, b6, b7, b8);
+        NDNBOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2, b3, b4, b5, b6, b7, b8);
     }
 
 public:
     
-    explicit BOOST_MEM_FN_NAME(cmf8)(F f): f_(f) {}
+    explicit NDNBOOST_MEM_FN_NAME(cmf8)(F f): f_(f) {}
 
     R operator()(T const * p, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) const
     {
-        BOOST_MEM_FN_RETURN (p->*f_)(a1, a2, a3, a4, a5, a6, a7, a8);
+        NDNBOOST_MEM_FN_RETURN (p->*f_)(a1, a2, a3, a4, a5, a6, a7, a8);
     }
 
     template<class U> R operator()(U const & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) const
     {
         U const * p = 0;
-        BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4, a5, a6, a7, a8);
+        NDNBOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4, a5, a6, a7, a8);
     }
 
     R operator()(T const & t, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) const
     {
-        BOOST_MEM_FN_RETURN (t.*f_)(a1, a2, a3, a4, a5, a6, a7, a8);
+        NDNBOOST_MEM_FN_RETURN (t.*f_)(a1, a2, a3, a4, a5, a6, a7, a8);
     }
 
-    bool operator==(BOOST_MEM_FN_NAME(cmf8) const & rhs) const
+    bool operator==(NDNBOOST_MEM_FN_NAME(cmf8) const & rhs) const
     {
         return f_ == rhs.f_;
     }
 
-    bool operator!=(BOOST_MEM_FN_NAME(cmf8) const & rhs) const
+    bool operator!=(NDNBOOST_MEM_FN_NAME(cmf8) const & rhs) const
     {
         return f_ != rhs.f_;
     }
 };
 
-#undef BOOST_MEM_FN_ENABLE_CONST_OVERLOADS
+#undef NDNBOOST_MEM_FN_ENABLE_CONST_OVERLOADS
diff --git a/include/ndnboost/bind/mem_fn_vw.hpp b/include/ndnboost/bind/mem_fn_vw.hpp
index f3fc58d..0ffa660 100644
--- a/include/ndnboost/bind/mem_fn_vw.hpp
+++ b/include/ndnboost/bind/mem_fn_vw.hpp
@@ -12,119 +12,119 @@
 //  See http://www.boost.org/libs/bind/mem_fn.html for documentation.
 //
 
-template<class R, class T> struct BOOST_MEM_FN_NAME(mf0): public mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf0)<R, T, R (BOOST_MEM_FN_CC T::*) ()>
+template<class R, class T> struct NDNBOOST_MEM_FN_NAME(mf0): public mf<R>::NDNBOOST_NESTED_TEMPLATE NDNBOOST_MEM_FN_NAME2(mf0)<R, T, R (NDNBOOST_MEM_FN_CC T::*) ()>
 {
-    typedef R (BOOST_MEM_FN_CC T::*F) ();
-    explicit BOOST_MEM_FN_NAME(mf0)(F f): mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf0)<R, T, F>(f) {}
+    typedef R (NDNBOOST_MEM_FN_CC T::*F) ();
+    explicit NDNBOOST_MEM_FN_NAME(mf0)(F f): mf<R>::NDNBOOST_NESTED_TEMPLATE NDNBOOST_MEM_FN_NAME2(mf0)<R, T, F>(f) {}
 };
 
-template<class R, class T> struct BOOST_MEM_FN_NAME(cmf0): public mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf0)<R, T, R (BOOST_MEM_FN_CC T::*) () const>
+template<class R, class T> struct NDNBOOST_MEM_FN_NAME(cmf0): public mf<R>::NDNBOOST_NESTED_TEMPLATE NDNBOOST_MEM_FN_NAME2(cmf0)<R, T, R (NDNBOOST_MEM_FN_CC T::*) () const>
 {
-    typedef R (BOOST_MEM_FN_CC T::*F) () const;
-    explicit BOOST_MEM_FN_NAME(cmf0)(F f): mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf0)<R, T, F>(f) {}
+    typedef R (NDNBOOST_MEM_FN_CC T::*F) () const;
+    explicit NDNBOOST_MEM_FN_NAME(cmf0)(F f): mf<R>::NDNBOOST_NESTED_TEMPLATE NDNBOOST_MEM_FN_NAME2(cmf0)<R, T, F>(f) {}
 };
 
 
-template<class R, class T, class A1> struct BOOST_MEM_FN_NAME(mf1): public mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf1)<R, T, A1, R (BOOST_MEM_FN_CC T::*) (A1)>
+template<class R, class T, class A1> struct NDNBOOST_MEM_FN_NAME(mf1): public mf<R>::NDNBOOST_NESTED_TEMPLATE NDNBOOST_MEM_FN_NAME2(mf1)<R, T, A1, R (NDNBOOST_MEM_FN_CC T::*) (A1)>
 {
-    typedef R (BOOST_MEM_FN_CC T::*F) (A1);
-    explicit BOOST_MEM_FN_NAME(mf1)(F f): mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf1)<R, T, A1, F>(f) {}
+    typedef R (NDNBOOST_MEM_FN_CC T::*F) (A1);
+    explicit NDNBOOST_MEM_FN_NAME(mf1)(F f): mf<R>::NDNBOOST_NESTED_TEMPLATE NDNBOOST_MEM_FN_NAME2(mf1)<R, T, A1, F>(f) {}
 };
 
-template<class R, class T, class A1> struct BOOST_MEM_FN_NAME(cmf1): public mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf1)<R, T, A1, R (BOOST_MEM_FN_CC T::*) (A1) const>
+template<class R, class T, class A1> struct NDNBOOST_MEM_FN_NAME(cmf1): public mf<R>::NDNBOOST_NESTED_TEMPLATE NDNBOOST_MEM_FN_NAME2(cmf1)<R, T, A1, R (NDNBOOST_MEM_FN_CC T::*) (A1) const>
 {
-    typedef R (BOOST_MEM_FN_CC T::*F) (A1) const;
-    explicit BOOST_MEM_FN_NAME(cmf1)(F f): mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf1)<R, T, A1, F>(f) {}
+    typedef R (NDNBOOST_MEM_FN_CC T::*F) (A1) const;
+    explicit NDNBOOST_MEM_FN_NAME(cmf1)(F f): mf<R>::NDNBOOST_NESTED_TEMPLATE NDNBOOST_MEM_FN_NAME2(cmf1)<R, T, A1, F>(f) {}
 };
 
 
-template<class R, class T, class A1, class A2> struct BOOST_MEM_FN_NAME(mf2): public mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf2)<R, T, A1, A2, R (BOOST_MEM_FN_CC T::*) (A1, A2)>
+template<class R, class T, class A1, class A2> struct NDNBOOST_MEM_FN_NAME(mf2): public mf<R>::NDNBOOST_NESTED_TEMPLATE NDNBOOST_MEM_FN_NAME2(mf2)<R, T, A1, A2, R (NDNBOOST_MEM_FN_CC T::*) (A1, A2)>
 {
-    typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2);
-    explicit BOOST_MEM_FN_NAME(mf2)(F f): mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf2)<R, T, A1, A2, F>(f) {}
+    typedef R (NDNBOOST_MEM_FN_CC T::*F) (A1, A2);
+    explicit NDNBOOST_MEM_FN_NAME(mf2)(F f): mf<R>::NDNBOOST_NESTED_TEMPLATE NDNBOOST_MEM_FN_NAME2(mf2)<R, T, A1, A2, F>(f) {}
 };
 
-template<class R, class T, class A1, class A2> struct BOOST_MEM_FN_NAME(cmf2): public mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf2)<R, T, A1, A2, R (BOOST_MEM_FN_CC T::*) (A1, A2) const>
+template<class R, class T, class A1, class A2> struct NDNBOOST_MEM_FN_NAME(cmf2): public mf<R>::NDNBOOST_NESTED_TEMPLATE NDNBOOST_MEM_FN_NAME2(cmf2)<R, T, A1, A2, R (NDNBOOST_MEM_FN_CC T::*) (A1, A2) const>
 {
-    typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2) const;
-    explicit BOOST_MEM_FN_NAME(cmf2)(F f): mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf2)<R, T, A1, A2, F>(f) {}
+    typedef R (NDNBOOST_MEM_FN_CC T::*F) (A1, A2) const;
+    explicit NDNBOOST_MEM_FN_NAME(cmf2)(F f): mf<R>::NDNBOOST_NESTED_TEMPLATE NDNBOOST_MEM_FN_NAME2(cmf2)<R, T, A1, A2, F>(f) {}
 };
 
 
-template<class R, class T, class A1, class A2, class A3> struct BOOST_MEM_FN_NAME(mf3): public mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf3)<R, T, A1, A2, A3, R (BOOST_MEM_FN_CC T::*) (A1, A2, A3)>
+template<class R, class T, class A1, class A2, class A3> struct NDNBOOST_MEM_FN_NAME(mf3): public mf<R>::NDNBOOST_NESTED_TEMPLATE NDNBOOST_MEM_FN_NAME2(mf3)<R, T, A1, A2, A3, R (NDNBOOST_MEM_FN_CC T::*) (A1, A2, A3)>
 {
-    typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3);
-    explicit BOOST_MEM_FN_NAME(mf3)(F f): mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf3)<R, T, A1, A2, A3, F>(f) {}
+    typedef R (NDNBOOST_MEM_FN_CC T::*F) (A1, A2, A3);
+    explicit NDNBOOST_MEM_FN_NAME(mf3)(F f): mf<R>::NDNBOOST_NESTED_TEMPLATE NDNBOOST_MEM_FN_NAME2(mf3)<R, T, A1, A2, A3, F>(f) {}
 };
 
-template<class R, class T, class A1, class A2, class A3> struct BOOST_MEM_FN_NAME(cmf3): public mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf3)<R, T, A1, A2, A3, R (BOOST_MEM_FN_CC T::*) (A1, A2, A3) const>
+template<class R, class T, class A1, class A2, class A3> struct NDNBOOST_MEM_FN_NAME(cmf3): public mf<R>::NDNBOOST_NESTED_TEMPLATE NDNBOOST_MEM_FN_NAME2(cmf3)<R, T, A1, A2, A3, R (NDNBOOST_MEM_FN_CC T::*) (A1, A2, A3) const>
 {
-    typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3) const;
-    explicit BOOST_MEM_FN_NAME(cmf3)(F f): mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf3)<R, T, A1, A2, A3, F>(f) {}
+    typedef R (NDNBOOST_MEM_FN_CC T::*F) (A1, A2, A3) const;
+    explicit NDNBOOST_MEM_FN_NAME(cmf3)(F f): mf<R>::NDNBOOST_NESTED_TEMPLATE NDNBOOST_MEM_FN_NAME2(cmf3)<R, T, A1, A2, A3, F>(f) {}
 };
 
 
-template<class R, class T, class A1, class A2, class A3, class A4> struct BOOST_MEM_FN_NAME(mf4): public mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf4)<R, T, A1, A2, A3, A4, R (BOOST_MEM_FN_CC T::*) (A1, A2, A3, A4)>
+template<class R, class T, class A1, class A2, class A3, class A4> struct NDNBOOST_MEM_FN_NAME(mf4): public mf<R>::NDNBOOST_NESTED_TEMPLATE NDNBOOST_MEM_FN_NAME2(mf4)<R, T, A1, A2, A3, A4, R (NDNBOOST_MEM_FN_CC T::*) (A1, A2, A3, A4)>
 {
-    typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4);
-    explicit BOOST_MEM_FN_NAME(mf4)(F f): mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf4)<R, T, A1, A2, A3, A4, F>(f) {}
+    typedef R (NDNBOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4);
+    explicit NDNBOOST_MEM_FN_NAME(mf4)(F f): mf<R>::NDNBOOST_NESTED_TEMPLATE NDNBOOST_MEM_FN_NAME2(mf4)<R, T, A1, A2, A3, A4, F>(f) {}
 };
 
-template<class R, class T, class A1, class A2, class A3, class A4> struct BOOST_MEM_FN_NAME(cmf4): public mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf4)<R, T, A1, A2, A3, A4, R (BOOST_MEM_FN_CC T::*) (A1, A2, A3, A4) const>
+template<class R, class T, class A1, class A2, class A3, class A4> struct NDNBOOST_MEM_FN_NAME(cmf4): public mf<R>::NDNBOOST_NESTED_TEMPLATE NDNBOOST_MEM_FN_NAME2(cmf4)<R, T, A1, A2, A3, A4, R (NDNBOOST_MEM_FN_CC T::*) (A1, A2, A3, A4) const>
 {
-    typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4) const;
-    explicit BOOST_MEM_FN_NAME(cmf4)(F f): mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf4)<R, T, A1, A2, A3, A4, F>(f) {}
+    typedef R (NDNBOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4) const;
+    explicit NDNBOOST_MEM_FN_NAME(cmf4)(F f): mf<R>::NDNBOOST_NESTED_TEMPLATE NDNBOOST_MEM_FN_NAME2(cmf4)<R, T, A1, A2, A3, A4, F>(f) {}
 };
 
 
-template<class R, class T, class A1, class A2, class A3, class A4, class A5> struct BOOST_MEM_FN_NAME(mf5): public mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf5)<R, T, A1, A2, A3, A4, A5, R (BOOST_MEM_FN_CC T::*) (A1, A2, A3, A4, A5)>
+template<class R, class T, class A1, class A2, class A3, class A4, class A5> struct NDNBOOST_MEM_FN_NAME(mf5): public mf<R>::NDNBOOST_NESTED_TEMPLATE NDNBOOST_MEM_FN_NAME2(mf5)<R, T, A1, A2, A3, A4, A5, R (NDNBOOST_MEM_FN_CC T::*) (A1, A2, A3, A4, A5)>
 {
-    typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5);
-    explicit BOOST_MEM_FN_NAME(mf5)(F f): mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf5)<R, T, A1, A2, A3, A4, A5, F>(f) {}
+    typedef R (NDNBOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5);
+    explicit NDNBOOST_MEM_FN_NAME(mf5)(F f): mf<R>::NDNBOOST_NESTED_TEMPLATE NDNBOOST_MEM_FN_NAME2(mf5)<R, T, A1, A2, A3, A4, A5, F>(f) {}
 };
 
-template<class R, class T, class A1, class A2, class A3, class A4, class A5> struct BOOST_MEM_FN_NAME(cmf5): public mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf5)<R, T, A1, A2, A3, A4, A5, R (BOOST_MEM_FN_CC T::*) (A1, A2, A3, A4, A5) const>
+template<class R, class T, class A1, class A2, class A3, class A4, class A5> struct NDNBOOST_MEM_FN_NAME(cmf5): public mf<R>::NDNBOOST_NESTED_TEMPLATE NDNBOOST_MEM_FN_NAME2(cmf5)<R, T, A1, A2, A3, A4, A5, R (NDNBOOST_MEM_FN_CC T::*) (A1, A2, A3, A4, A5) const>
 {
-    typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5) const;
-    explicit BOOST_MEM_FN_NAME(cmf5)(F f): mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf5)<R, T, A1, A2, A3, A4, A5, F>(f) {}
+    typedef R (NDNBOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5) const;
+    explicit NDNBOOST_MEM_FN_NAME(cmf5)(F f): mf<R>::NDNBOOST_NESTED_TEMPLATE NDNBOOST_MEM_FN_NAME2(cmf5)<R, T, A1, A2, A3, A4, A5, F>(f) {}
 };
 
 
-template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6> struct BOOST_MEM_FN_NAME(mf6): public mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf6)<R, T, A1, A2, A3, A4, A5, A6, R (BOOST_MEM_FN_CC T::*) (A1, A2, A3, A4, A5, A6)>
+template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6> struct NDNBOOST_MEM_FN_NAME(mf6): public mf<R>::NDNBOOST_NESTED_TEMPLATE NDNBOOST_MEM_FN_NAME2(mf6)<R, T, A1, A2, A3, A4, A5, A6, R (NDNBOOST_MEM_FN_CC T::*) (A1, A2, A3, A4, A5, A6)>
 {
-    typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5, A6);
-    explicit BOOST_MEM_FN_NAME(mf6)(F f): mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf6)<R, T, A1, A2, A3, A4, A5, A6, F>(f) {}
+    typedef R (NDNBOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5, A6);
+    explicit NDNBOOST_MEM_FN_NAME(mf6)(F f): mf<R>::NDNBOOST_NESTED_TEMPLATE NDNBOOST_MEM_FN_NAME2(mf6)<R, T, A1, A2, A3, A4, A5, A6, F>(f) {}
 };
 
-template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6> struct BOOST_MEM_FN_NAME(cmf6): public mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf6)<R, T, A1, A2, A3, A4, A5, A6, R (BOOST_MEM_FN_CC T::*) (A1, A2, A3, A4, A5, A6) const>
+template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6> struct NDNBOOST_MEM_FN_NAME(cmf6): public mf<R>::NDNBOOST_NESTED_TEMPLATE NDNBOOST_MEM_FN_NAME2(cmf6)<R, T, A1, A2, A3, A4, A5, A6, R (NDNBOOST_MEM_FN_CC T::*) (A1, A2, A3, A4, A5, A6) const>
 {
-    typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5, A6) const;
-    explicit BOOST_MEM_FN_NAME(cmf6)(F f): mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf6)<R, T, A1, A2, A3, A4, A5, A6, F>(f) {}
+    typedef R (NDNBOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5, A6) const;
+    explicit NDNBOOST_MEM_FN_NAME(cmf6)(F f): mf<R>::NDNBOOST_NESTED_TEMPLATE NDNBOOST_MEM_FN_NAME2(cmf6)<R, T, A1, A2, A3, A4, A5, A6, F>(f) {}
 };
 
 
-template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6, class A7> struct BOOST_MEM_FN_NAME(mf7): public mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf7)<R, T, A1, A2, A3, A4, A5, A6, A7, R (BOOST_MEM_FN_CC T::*) (A1, A2, A3, A4, A5, A6, A7)>
+template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6, class A7> struct NDNBOOST_MEM_FN_NAME(mf7): public mf<R>::NDNBOOST_NESTED_TEMPLATE NDNBOOST_MEM_FN_NAME2(mf7)<R, T, A1, A2, A3, A4, A5, A6, A7, R (NDNBOOST_MEM_FN_CC T::*) (A1, A2, A3, A4, A5, A6, A7)>
 {
-    typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5, A6, A7);
-    explicit BOOST_MEM_FN_NAME(mf7)(F f): mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf7)<R, T, A1, A2, A3, A4, A5, A6, A7, F>(f) {}
+    typedef R (NDNBOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5, A6, A7);
+    explicit NDNBOOST_MEM_FN_NAME(mf7)(F f): mf<R>::NDNBOOST_NESTED_TEMPLATE NDNBOOST_MEM_FN_NAME2(mf7)<R, T, A1, A2, A3, A4, A5, A6, A7, F>(f) {}
 };
 
-template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6, class A7> struct BOOST_MEM_FN_NAME(cmf7): public mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf7)<R, T, A1, A2, A3, A4, A5, A6, A7, R (BOOST_MEM_FN_CC T::*) (A1, A2, A3, A4, A5, A6, A7) const>
+template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6, class A7> struct NDNBOOST_MEM_FN_NAME(cmf7): public mf<R>::NDNBOOST_NESTED_TEMPLATE NDNBOOST_MEM_FN_NAME2(cmf7)<R, T, A1, A2, A3, A4, A5, A6, A7, R (NDNBOOST_MEM_FN_CC T::*) (A1, A2, A3, A4, A5, A6, A7) const>
 {
-    typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5, A6, A7) const;
-    explicit BOOST_MEM_FN_NAME(cmf7)(F f): mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf7)<R, T, A1, A2, A3, A4, A5, A6, A7, F>(f) {}
+    typedef R (NDNBOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5, A6, A7) const;
+    explicit NDNBOOST_MEM_FN_NAME(cmf7)(F f): mf<R>::NDNBOOST_NESTED_TEMPLATE NDNBOOST_MEM_FN_NAME2(cmf7)<R, T, A1, A2, A3, A4, A5, A6, A7, F>(f) {}
 };
 
 
-template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8> struct BOOST_MEM_FN_NAME(mf8): public mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf8)<R, T, A1, A2, A3, A4, A5, A6, A7, A8, R (BOOST_MEM_FN_CC T::*) (A1, A2, A3, A4, A5, A6, A7, A8)>
+template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8> struct NDNBOOST_MEM_FN_NAME(mf8): public mf<R>::NDNBOOST_NESTED_TEMPLATE NDNBOOST_MEM_FN_NAME2(mf8)<R, T, A1, A2, A3, A4, A5, A6, A7, A8, R (NDNBOOST_MEM_FN_CC T::*) (A1, A2, A3, A4, A5, A6, A7, A8)>
 {
-    typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5, A6, A7, A8);
-    explicit BOOST_MEM_FN_NAME(mf8)(F f): mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf8)<R, T, A1, A2, A3, A4, A5, A6, A7, A8, F>(f) {}
+    typedef R (NDNBOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5, A6, A7, A8);
+    explicit NDNBOOST_MEM_FN_NAME(mf8)(F f): mf<R>::NDNBOOST_NESTED_TEMPLATE NDNBOOST_MEM_FN_NAME2(mf8)<R, T, A1, A2, A3, A4, A5, A6, A7, A8, F>(f) {}
 };
 
-template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8> struct BOOST_MEM_FN_NAME(cmf8): public mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf8)<R, T, A1, A2, A3, A4, A5, A6, A7, A8, R (BOOST_MEM_FN_CC T::*) (A1, A2, A3, A4, A5, A6, A7, A8) const>
+template<class R, class T, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8> struct NDNBOOST_MEM_FN_NAME(cmf8): public mf<R>::NDNBOOST_NESTED_TEMPLATE NDNBOOST_MEM_FN_NAME2(cmf8)<R, T, A1, A2, A3, A4, A5, A6, A7, A8, R (NDNBOOST_MEM_FN_CC T::*) (A1, A2, A3, A4, A5, A6, A7, A8) const>
 {
-    typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5, A6, A7, A8) const;
-    explicit BOOST_MEM_FN_NAME(cmf8)(F f): mf<R>::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf8)<R, T, A1, A2, A3, A4, A5, A6, A7, A8, F>(f) {}
+    typedef R (NDNBOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5, A6, A7, A8) const;
+    explicit NDNBOOST_MEM_FN_NAME(cmf8)(F f): mf<R>::NDNBOOST_NESTED_TEMPLATE NDNBOOST_MEM_FN_NAME2(cmf8)<R, T, A1, A2, A3, A4, A5, A6, A7, A8, F>(f) {}
 };
 
diff --git a/include/ndnboost/bind/placeholders.hpp b/include/ndnboost/bind/placeholders.hpp
index 0b9f0fc..9b383f5 100644
--- a/include/ndnboost/bind/placeholders.hpp
+++ b/include/ndnboost/bind/placeholders.hpp
@@ -1,5 +1,5 @@
-#ifndef BOOST_BIND_PLACEHOLDERS_HPP_INCLUDED
-#define BOOST_BIND_PLACEHOLDERS_HPP_INCLUDED
+#ifndef NDNBOOST_BIND_PLACEHOLDERS_HPP_INCLUDED
+#define NDNBOOST_BIND_PLACEHOLDERS_HPP_INCLUDED
 
 // MS compatible compilers support #pragma once
 
@@ -37,7 +37,7 @@
 static inline ndnboost::arg<8> _8() { return ndnboost::arg<8>(); }
 static inline ndnboost::arg<9> _9() { return ndnboost::arg<9>(); }
 
-#elif defined(BOOST_MSVC) || (defined(__DECCXX_VER) && __DECCXX_VER <= 60590031) || defined(__MWERKS__) || \
+#elif defined(NDNBOOST_MSVC) || (defined(__DECCXX_VER) && __DECCXX_VER <= 60590031) || defined(__MWERKS__) || \
     defined(__GNUC__) && (__GNUC__ == 4 && __GNUC_MINOR__ < 2)  
 
 static ndnboost::arg<1> _1;
@@ -66,4 +66,4 @@
 
 } // unnamed namespace
 
-#endif // #ifndef BOOST_BIND_PLACEHOLDERS_HPP_INCLUDED
+#endif // #ifndef NDNBOOST_BIND_PLACEHOLDERS_HPP_INCLUDED
diff --git a/include/ndnboost/bind/protect.hpp b/include/ndnboost/bind/protect.hpp
index 4d70f84..edfbb1e 100644
--- a/include/ndnboost/bind/protect.hpp
+++ b/include/ndnboost/bind/protect.hpp
@@ -1,5 +1,5 @@
-#ifndef BOOST_BIND_PROTECT_HPP_INCLUDED
-#define BOOST_BIND_PROTECT_HPP_INCLUDED
+#ifndef NDNBOOST_BIND_PROTECT_HPP_INCLUDED
+#define NDNBOOST_BIND_PROTECT_HPP_INCLUDED
 
 //
 //  protect.hpp
@@ -52,8 +52,8 @@
     }
 
 
-#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \
- && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238)
+#if !defined(NDNBOOST_NO_FUNCTION_TEMPLATE_ORDERING) \
+ && !NDNBOOST_WORKAROUND(__EDG_VERSION__, <= 238)
 
     template<class A1> result_type operator()(const A1 & a1)
     {
@@ -77,8 +77,8 @@
         return f_(a1, a2);
     }
 
-#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \
- && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238)
+#if !defined(NDNBOOST_NO_FUNCTION_TEMPLATE_ORDERING) \
+ && !NDNBOOST_WORKAROUND(__EDG_VERSION__, <= 238)
 
     template<class A1, class A2> result_type operator()(A1 const & a1, A2 & a2)
     {
@@ -122,8 +122,8 @@
         return f_(a1, a2, a3);
     }
     
-#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \
- && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238)
+#if !defined(NDNBOOST_NO_FUNCTION_TEMPLATE_ORDERING) \
+ && !NDNBOOST_WORKAROUND(__EDG_VERSION__, <= 238)
 
     template<class A1, class A2, class A3> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3)
     {
@@ -147,8 +147,8 @@
         return f_(a1, a2, a3, a4);
     }
     
-#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \
- && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238)
+#if !defined(NDNBOOST_NO_FUNCTION_TEMPLATE_ORDERING) \
+ && !NDNBOOST_WORKAROUND(__EDG_VERSION__, <= 238)
 
     template<class A1, class A2, class A3, class A4> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4)
     {
@@ -172,8 +172,8 @@
         return f_(a1, a2, a3, a4, a5);
     }
     
-#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \
- && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238)
+#if !defined(NDNBOOST_NO_FUNCTION_TEMPLATE_ORDERING) \
+ && !NDNBOOST_WORKAROUND(__EDG_VERSION__, <= 238)
 
     template<class A1, class A2, class A3, class A4, class A5> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5)
     {
@@ -197,8 +197,8 @@
         return f_(a1, a2, a3, a4, a5, a6);
     }
     
-#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \
- && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238)
+#if !defined(NDNBOOST_NO_FUNCTION_TEMPLATE_ORDERING) \
+ && !NDNBOOST_WORKAROUND(__EDG_VERSION__, <= 238)
 
     template<class A1, class A2, class A3, class A4, class A5, class A6> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6)
     {
@@ -222,8 +222,8 @@
         return f_(a1, a2, a3, a4, a5, a6, a7);
     }
     
-#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \
- && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238)
+#if !defined(NDNBOOST_NO_FUNCTION_TEMPLATE_ORDERING) \
+ && !NDNBOOST_WORKAROUND(__EDG_VERSION__, <= 238)
 
     template<class A1, class A2, class A3, class A4, class A5, class A6, class A7> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6, A7 const & a7)
     {
@@ -247,8 +247,8 @@
         return f_(a1, a2, a3, a4, a5, a6, a7, a8);
     }
     
-#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \
- && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238)
+#if !defined(NDNBOOST_NO_FUNCTION_TEMPLATE_ORDERING) \
+ && !NDNBOOST_WORKAROUND(__EDG_VERSION__, <= 238)
 
     template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6, A7 const & a7, A8 const & a8)
     {
@@ -272,8 +272,8 @@
         return f_(a1, a2, a3, a4, a5, a6, a7, a8, a9);
     }
     
-#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \
- && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238)
+#if !defined(NDNBOOST_NO_FUNCTION_TEMPLATE_ORDERING) \
+ && !NDNBOOST_WORKAROUND(__EDG_VERSION__, <= 238)
 
     template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9> result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6, A7 const & a7, A8 const & a8, A9 const & a9)
     {
@@ -301,4 +301,4 @@
 
 } // namespace ndnboost
 
-#endif // #ifndef BOOST_BIND_PROTECT_HPP_INCLUDED
+#endif // #ifndef NDNBOOST_BIND_PROTECT_HPP_INCLUDED
diff --git a/include/ndnboost/bind/storage.hpp b/include/ndnboost/bind/storage.hpp
index ef1a870..f50928f 100644
--- a/include/ndnboost/bind/storage.hpp
+++ b/include/ndnboost/bind/storage.hpp
@@ -1,5 +1,5 @@
-#ifndef BOOST_BIND_STORAGE_HPP_INCLUDED
-#define BOOST_BIND_STORAGE_HPP_INCLUDED
+#ifndef NDNBOOST_BIND_STORAGE_HPP_INCLUDED
+#define NDNBOOST_BIND_STORAGE_HPP_INCLUDED
 
 // MS compatible compilers support #pragma once
 
@@ -24,7 +24,7 @@
 #include <ndnboost/config.hpp>
 #include <ndnboost/bind/arg.hpp>
 
-#ifdef BOOST_MSVC
+#ifdef NDNBOOST_MSVC
 # pragma warning(push)
 # pragma warning(disable: 4512) // assignment operator could not be generated
 #endif
@@ -43,13 +43,13 @@
 
     template<class V> void accept(V & v) const
     {
-        BOOST_BIND_VISIT_EACH(v, a1_, 0);
+        NDNBOOST_BIND_VISIT_EACH(v, a1_, 0);
     }
 
     A1 a1_;
 };
 
-#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION ) && !defined( __BORLANDC__ )
+#if !defined( NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION ) && !defined( __BORLANDC__ )
 
 template<int I> struct storage1< ndnboost::arg<I> >
 {
@@ -82,13 +82,13 @@
     template<class V> void accept(V & v) const
     {
         inherited::accept(v);
-        BOOST_BIND_VISIT_EACH(v, a2_, 0);
+        NDNBOOST_BIND_VISIT_EACH(v, a2_, 0);
     }
 
     A2 a2_;
 };
 
-#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
+#if !defined( NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
 
 template<class A1, int I> struct storage2< A1, ndnboost::arg<I> >: public storage1<A1>
 {
@@ -131,13 +131,13 @@
     template<class V> void accept(V & v) const
     {
         inherited::accept(v);
-        BOOST_BIND_VISIT_EACH(v, a3_, 0);
+        NDNBOOST_BIND_VISIT_EACH(v, a3_, 0);
     }
 
     A3 a3_;
 };
 
-#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
+#if !defined( NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
 
 template<class A1, class A2, int I> struct storage3< A1, A2, ndnboost::arg<I> >: public storage2< A1, A2 >
 {
@@ -180,13 +180,13 @@
     template<class V> void accept(V & v) const
     {
         inherited::accept(v);
-        BOOST_BIND_VISIT_EACH(v, a4_, 0);
+        NDNBOOST_BIND_VISIT_EACH(v, a4_, 0);
     }
 
     A4 a4_;
 };
 
-#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
+#if !defined( NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
 
 template<class A1, class A2, class A3, int I> struct storage4< A1, A2, A3, ndnboost::arg<I> >: public storage3< A1, A2, A3 >
 {
@@ -229,13 +229,13 @@
     template<class V> void accept(V & v) const
     {
         inherited::accept(v);
-        BOOST_BIND_VISIT_EACH(v, a5_, 0);
+        NDNBOOST_BIND_VISIT_EACH(v, a5_, 0);
     }
 
     A5 a5_;
 };
 
-#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
+#if !defined( NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
 
 template<class A1, class A2, class A3, class A4, int I> struct storage5< A1, A2, A3, A4, ndnboost::arg<I> >: public storage4< A1, A2, A3, A4 >
 {
@@ -278,13 +278,13 @@
     template<class V> void accept(V & v) const
     {
         inherited::accept(v);
-        BOOST_BIND_VISIT_EACH(v, a6_, 0);
+        NDNBOOST_BIND_VISIT_EACH(v, a6_, 0);
     }
 
     A6 a6_;
 };
 
-#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
+#if !defined( NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
 
 template<class A1, class A2, class A3, class A4, class A5, int I> struct storage6< A1, A2, A3, A4, A5, ndnboost::arg<I> >: public storage5< A1, A2, A3, A4, A5 >
 {
@@ -327,13 +327,13 @@
     template<class V> void accept(V & v) const
     {
         inherited::accept(v);
-        BOOST_BIND_VISIT_EACH(v, a7_, 0);
+        NDNBOOST_BIND_VISIT_EACH(v, a7_, 0);
     }
 
     A7 a7_;
 };
 
-#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
+#if !defined( NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
 
 template<class A1, class A2, class A3, class A4, class A5, class A6, int I> struct storage7< A1, A2, A3, A4, A5, A6, ndnboost::arg<I> >: public storage6< A1, A2, A3, A4, A5, A6 >
 {
@@ -376,13 +376,13 @@
     template<class V> void accept(V & v) const
     {
         inherited::accept(v);
-        BOOST_BIND_VISIT_EACH(v, a8_, 0);
+        NDNBOOST_BIND_VISIT_EACH(v, a8_, 0);
     }
 
     A8 a8_;
 };
 
-#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
+#if !defined( NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
 
 template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, int I> struct storage8< A1, A2, A3, A4, A5, A6, A7, ndnboost::arg<I> >: public storage7< A1, A2, A3, A4, A5, A6, A7 >
 {
@@ -425,13 +425,13 @@
     template<class V> void accept(V & v) const
     {
         inherited::accept(v);
-        BOOST_BIND_VISIT_EACH(v, a9_, 0);
+        NDNBOOST_BIND_VISIT_EACH(v, a9_, 0);
     }
 
     A9 a9_;
 };
 
-#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
+#if !defined( NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
 
 template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, int I> struct storage9< A1, A2, A3, A4, A5, A6, A7, A8, ndnboost::arg<I> >: public storage8< A1, A2, A3, A4, A5, A6, A7, A8 >
 {
@@ -467,9 +467,9 @@
 
 } // namespace ndnboost
 
-#ifdef BOOST_MSVC
+#ifdef NDNBOOST_MSVC
 # pragma warning(default: 4512) // assignment operator could not be generated
 # pragma warning(pop)
 #endif
 
-#endif // #ifndef BOOST_BIND_STORAGE_HPP_INCLUDED
+#endif // #ifndef NDNBOOST_BIND_STORAGE_HPP_INCLUDED
diff --git a/include/ndnboost/blank.hpp b/include/ndnboost/blank.hpp
index aab39a4..cdd6e47 100644
--- a/include/ndnboost/blank.hpp
+++ b/include/ndnboost/blank.hpp
@@ -10,15 +10,15 @@
 // accompanying file LICENSE_1_0.txt or copy at
 // http://www.boost.org/LICENSE_1_0.txt)
 
-#ifndef BOOST_BLANK_HPP
-#define BOOST_BLANK_HPP
+#ifndef NDNBOOST_BLANK_HPP
+#define NDNBOOST_BLANK_HPP
 
 #include "ndnboost/blank_fwd.hpp"
 
-#if !defined(BOOST_NO_IOSTREAM)
+#if !defined(NDNBOOST_NO_IOSTREAM)
 #include <iosfwd> // for std::basic_ostream forward declare
 #include "ndnboost/detail/templated_streams.hpp"
-#endif // BOOST_NO_IOSTREAM
+#endif // NDNBOOST_NO_IOSTREAM
 
 #include "ndnboost/mpl/bool.hpp"
 #include "ndnboost/type_traits/is_empty.hpp"
@@ -87,11 +87,11 @@
 
 // streaming support
 //
-#if !defined(BOOST_NO_IOSTREAM)
+#if !defined(NDNBOOST_NO_IOSTREAM)
 
-BOOST_TEMPLATED_STREAM_TEMPLATE(E,T)
-inline BOOST_TEMPLATED_STREAM(ostream, E,T)& operator<<(
-      BOOST_TEMPLATED_STREAM(ostream, E,T)& out
+NDNBOOST_TEMPLATED_STREAM_TEMPLATE(E,T)
+inline NDNBOOST_TEMPLATED_STREAM(ostream, E,T)& operator<<(
+      NDNBOOST_TEMPLATED_STREAM(ostream, E,T)& out
     , const blank&
     )
 {
@@ -99,8 +99,8 @@
     return out;
 }
 
-#endif // BOOST_NO_IOSTREAM
+#endif // NDNBOOST_NO_IOSTREAM
 
 } // namespace ndnboost
 
-#endif // BOOST_BLANK_HPP
+#endif // NDNBOOST_BLANK_HPP
diff --git a/include/ndnboost/blank_fwd.hpp b/include/ndnboost/blank_fwd.hpp
index fee1d79..1b66827 100644
--- a/include/ndnboost/blank_fwd.hpp
+++ b/include/ndnboost/blank_fwd.hpp
@@ -10,8 +10,8 @@
 // accompanying file LICENSE_1_0.txt or copy at
 // http://www.boost.org/LICENSE_1_0.txt)
 
-#ifndef BOOST_BLANK_FWD_HPP
-#define BOOST_BLANK_FWD_HPP
+#ifndef NDNBOOST_BLANK_FWD_HPP
+#define NDNBOOST_BLANK_FWD_HPP
 
 namespace ndnboost {
 
@@ -19,4 +19,4 @@
 
 } // namespace ndnboost
 
-#endif // BOOST_BLANK_FWD_HPP
+#endif // NDNBOOST_BLANK_FWD_HPP
diff --git a/include/ndnboost/call_traits.hpp b/include/ndnboost/call_traits.hpp
index 72c441c..7abbd84 100644
--- a/include/ndnboost/call_traits.hpp
+++ b/include/ndnboost/call_traits.hpp
@@ -8,17 +8,17 @@
 //  See ndnboost/detail/call_traits.hpp and ndnboost/detail/ob_call_traits.hpp
 //  for full copyright notices.
 
-#ifndef BOOST_CALL_TRAITS_HPP
-#define BOOST_CALL_TRAITS_HPP
+#ifndef NDNBOOST_CALL_TRAITS_HPP
+#define NDNBOOST_CALL_TRAITS_HPP
 
-#ifndef BOOST_CONFIG_HPP
+#ifndef NDNBOOST_CONFIG_HPP
 #include <ndnboost/config.hpp>
 #endif
 
-#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#ifdef NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 #include <ndnboost/detail/ob_call_traits.hpp>
 #else
 #include <ndnboost/detail/call_traits.hpp>
 #endif
 
-#endif // BOOST_CALL_TRAITS_HPP
+#endif // NDNBOOST_CALL_TRAITS_HPP
diff --git a/include/ndnboost/checked_delete.hpp b/include/ndnboost/checked_delete.hpp
index 00ce3f9..0980511 100644
--- a/include/ndnboost/checked_delete.hpp
+++ b/include/ndnboost/checked_delete.hpp
@@ -1,5 +1,5 @@
-#ifndef BOOST_CHECKED_DELETE_HPP_INCLUDED
-#define BOOST_CHECKED_DELETE_HPP_INCLUDED
+#ifndef NDNBOOST_CHECKED_DELETE_HPP_INCLUDED
+#define NDNBOOST_CHECKED_DELETE_HPP_INCLUDED
 
 // MS compatible compilers support #pragma once
 
@@ -66,4 +66,4 @@
 
 } // namespace ndnboost
 
-#endif  // #ifndef BOOST_CHECKED_DELETE_HPP_INCLUDED
+#endif  // #ifndef NDNBOOST_CHECKED_DELETE_HPP_INCLUDED
diff --git a/include/ndnboost/concept/assert.hpp b/include/ndnboost/concept/assert.hpp
index 148c5ad..5db4cce 100644
--- a/include/ndnboost/concept/assert.hpp
+++ b/include/ndnboost/concept/assert.hpp
@@ -1,8 +1,8 @@
 // Copyright David Abrahams 2006. Distributed under the Boost
 // Software License, Version 1.0. (See accompanying
 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-#ifndef BOOST_CONCEPT_ASSERT_DWA2006430_HPP
-# define BOOST_CONCEPT_ASSERT_DWA2006430_HPP
+#ifndef NDNBOOST_CONCEPT_ASSERT_DWA2006430_HPP
+# define NDNBOOST_CONCEPT_ASSERT_DWA2006430_HPP
 
 # include <ndnboost/config.hpp>
 # include <ndnboost/detail/workaround.hpp>
@@ -15,22 +15,22 @@
 // The old protocol is deprecated, though, and backward compatibility
 // will no longer be the default in the next release.
 
-# if !defined(BOOST_NO_OLD_CONCEPT_SUPPORT)                                         \
-    && !defined(BOOST_NO_SFINAE)                                                    \
+# if !defined(NDNBOOST_NO_OLD_CONCEPT_SUPPORT)                                         \
+    && !defined(NDNBOOST_NO_SFINAE)                                                    \
                                                                                     \
-    && !(BOOST_WORKAROUND(__GNUC__, == 3) && BOOST_WORKAROUND(__GNUC_MINOR__, < 4)) \
-    && !(BOOST_WORKAROUND(__GNUC__, == 2))
+    && !(NDNBOOST_WORKAROUND(__GNUC__, == 3) && NDNBOOST_WORKAROUND(__GNUC_MINOR__, < 4)) \
+    && !(NDNBOOST_WORKAROUND(__GNUC__, == 2))
 
 // Note: gcc-2.96 through 3.3.x have some SFINAE, but no ability to
 // check for the presence of particularmember functions.
 
-#  define BOOST_OLD_CONCEPT_SUPPORT
+#  define NDNBOOST_OLD_CONCEPT_SUPPORT
 
 # endif
 
-# ifdef BOOST_MSVC
+# ifdef NDNBOOST_MSVC
 #  include <ndnboost/concept/detail/msvc.hpp>
-# elif BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
+# elif NDNBOOST_WORKAROUND(__BORLANDC__, NDNBOOST_TESTED_AT(0x564))
 #  include <ndnboost/concept/detail/borland.hpp>
 # else 
 #  include <ndnboost/concept/detail/general.hpp>
@@ -38,9 +38,9 @@
 
   // Usage, in class or function context:
   //
-  //     BOOST_CONCEPT_ASSERT((UnaryFunctionConcept<F,bool,int>));
+  //     NDNBOOST_CONCEPT_ASSERT((UnaryFunctionConcept<F,bool,int>));
   //
-# define BOOST_CONCEPT_ASSERT(ModelInParens) \
-    BOOST_CONCEPT_ASSERT_FN(void(*)ModelInParens)
+# define NDNBOOST_CONCEPT_ASSERT(ModelInParens) \
+    NDNBOOST_CONCEPT_ASSERT_FN(void(*)ModelInParens)
 
-#endif // BOOST_CONCEPT_ASSERT_DWA2006430_HPP
+#endif // NDNBOOST_CONCEPT_ASSERT_DWA2006430_HPP
diff --git a/include/ndnboost/concept/detail/backward_compatibility.hpp b/include/ndnboost/concept/detail/backward_compatibility.hpp
index f284564..536d011 100644
--- a/include/ndnboost/concept/detail/backward_compatibility.hpp
+++ b/include/ndnboost/concept/detail/backward_compatibility.hpp
@@ -1,16 +1,16 @@
 // Copyright David Abrahams 2009. Distributed under the Boost
 // Software License, Version 1.0. (See accompanying
 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-#ifndef BOOST_CONCEPT_BACKWARD_COMPATIBILITY_DWA200968_HPP
-# define BOOST_CONCEPT_BACKWARD_COMPATIBILITY_DWA200968_HPP
+#ifndef NDNBOOST_CONCEPT_BACKWARD_COMPATIBILITY_DWA200968_HPP
+# define NDNBOOST_CONCEPT_BACKWARD_COMPATIBILITY_DWA200968_HPP
 
 namespace ndnboost
 {
   namespace concepts {}
 
-# if defined(BOOST_HAS_CONCEPTS) && !defined(BOOST_CONCEPT_NO_BACKWARD_KEYWORD)
+# if defined(NDNBOOST_HAS_CONCEPTS) && !defined(NDNBOOST_CONCEPT_NO_BACKWARD_KEYWORD)
   namespace concept = concepts;
 # endif 
 } // namespace ndnboost::concept
 
-#endif // BOOST_CONCEPT_BACKWARD_COMPATIBILITY_DWA200968_HPP
+#endif // NDNBOOST_CONCEPT_BACKWARD_COMPATIBILITY_DWA200968_HPP
diff --git a/include/ndnboost/concept/detail/borland.hpp b/include/ndnboost/concept/detail/borland.hpp
index ade28ca..8518175 100644
--- a/include/ndnboost/concept/detail/borland.hpp
+++ b/include/ndnboost/concept/detail/borland.hpp
@@ -1,8 +1,8 @@
 // Copyright David Abrahams 2006. Distributed under the Boost
 // Software License, Version 1.0. (See accompanying
 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-#ifndef BOOST_CONCEPT_DETAIL_BORLAND_DWA2006429_HPP
-# define BOOST_CONCEPT_DETAIL_BORLAND_DWA2006429_HPP
+#ifndef NDNBOOST_CONCEPT_DETAIL_BORLAND_DWA2006429_HPP
+# define NDNBOOST_CONCEPT_DETAIL_BORLAND_DWA2006429_HPP
 
 # include <ndnboost/preprocessor/cat.hpp>
 # include <ndnboost/concept/detail/backward_compatibility.hpp>
@@ -18,13 +18,13 @@
     enum { instantiate = sizeof((((Model*)0)->~Model()), 3) };
 };
 
-#  define BOOST_CONCEPT_ASSERT_FN( ModelFnPtr )         \
+#  define NDNBOOST_CONCEPT_ASSERT_FN( ModelFnPtr )         \
   enum                                                  \
   {                                                     \
-      BOOST_PP_CAT(boost_concept_check,__LINE__) =      \
+      NDNBOOST_PP_CAT(boost_concept_check,__LINE__) =      \
       ndnboost::concepts::require<ModelFnPtr>::instantiate  \
   }
 
 }} // namespace ndnboost::concept
 
-#endif // BOOST_CONCEPT_DETAIL_BORLAND_DWA2006429_HPP
+#endif // NDNBOOST_CONCEPT_DETAIL_BORLAND_DWA2006429_HPP
diff --git a/include/ndnboost/concept/detail/concept_def.hpp b/include/ndnboost/concept/detail/concept_def.hpp
index 59da034..196162e 100644
--- a/include/ndnboost/concept/detail/concept_def.hpp
+++ b/include/ndnboost/concept/detail/concept_def.hpp
@@ -1,51 +1,51 @@
 // Copyright David Abrahams 2006. Distributed under the Boost
 // Software License, Version 1.0. (See accompanying
 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-#ifndef BOOST_CONCEPT_DETAIL_CONCEPT_DEF_DWA200651_HPP
-# define BOOST_CONCEPT_DETAIL_CONCEPT_DEF_DWA200651_HPP
+#ifndef NDNBOOST_CONCEPT_DETAIL_CONCEPT_DEF_DWA200651_HPP
+# define NDNBOOST_CONCEPT_DETAIL_CONCEPT_DEF_DWA200651_HPP
 # include <ndnboost/preprocessor/seq/for_each_i.hpp>
 # include <ndnboost/preprocessor/seq/enum.hpp>
 # include <ndnboost/preprocessor/comma_if.hpp>
 # include <ndnboost/preprocessor/cat.hpp>
-#endif // BOOST_CONCEPT_DETAIL_CONCEPT_DEF_DWA200651_HPP
+#endif // NDNBOOST_CONCEPT_DETAIL_CONCEPT_DEF_DWA200651_HPP
 
-// BOOST_concept(SomeName, (p1)(p2)...(pN))
+// NDNBOOST_concept(SomeName, (p1)(p2)...(pN))
 //
 // Expands to "template <class p1, class p2, ...class pN> struct SomeName"
 //
 // Also defines an equivalent SomeNameConcept for backward compatibility.
 // Maybe in the next release we can kill off the "Concept" suffix for good.
-#if BOOST_WORKAROUND(__GNUC__, <= 3)
-# define BOOST_concept(name, params)                                            \
-    template < BOOST_PP_SEQ_FOR_EACH_I(BOOST_CONCEPT_typename,~,params) >       \
+#if NDNBOOST_WORKAROUND(__GNUC__, <= 3)
+# define NDNBOOST_concept(name, params)                                            \
+    template < NDNBOOST_PP_SEQ_FOR_EACH_I(NDNBOOST_CONCEPT_typename,~,params) >       \
     struct name; /* forward declaration */                                      \
                                                                                 \
-    template < BOOST_PP_SEQ_FOR_EACH_I(BOOST_CONCEPT_typename,~,params) >       \
-    struct BOOST_PP_CAT(name,Concept)                                           \
-      : name< BOOST_PP_SEQ_ENUM(params) >                                       \
+    template < NDNBOOST_PP_SEQ_FOR_EACH_I(NDNBOOST_CONCEPT_typename,~,params) >       \
+    struct NDNBOOST_PP_CAT(name,Concept)                                           \
+      : name< NDNBOOST_PP_SEQ_ENUM(params) >                                       \
     {                                                                           \
         /* at least 2.96 and 3.4.3 both need this */                            \
-        BOOST_PP_CAT(name,Concept)();                                           \
+        NDNBOOST_PP_CAT(name,Concept)();                                           \
     };                                                                          \
                                                                                 \
-    template < BOOST_PP_SEQ_FOR_EACH_I(BOOST_CONCEPT_typename,~,params) >       \
+    template < NDNBOOST_PP_SEQ_FOR_EACH_I(NDNBOOST_CONCEPT_typename,~,params) >       \
     struct name                                                                
 #else
-# define BOOST_concept(name, params)                                            \
-    template < BOOST_PP_SEQ_FOR_EACH_I(BOOST_CONCEPT_typename,~,params) >       \
+# define NDNBOOST_concept(name, params)                                            \
+    template < NDNBOOST_PP_SEQ_FOR_EACH_I(NDNBOOST_CONCEPT_typename,~,params) >       \
     struct name; /* forward declaration */                                      \
                                                                                 \
-    template < BOOST_PP_SEQ_FOR_EACH_I(BOOST_CONCEPT_typename,~,params) >       \
-    struct BOOST_PP_CAT(name,Concept)                                           \
-      : name< BOOST_PP_SEQ_ENUM(params) >                                       \
+    template < NDNBOOST_PP_SEQ_FOR_EACH_I(NDNBOOST_CONCEPT_typename,~,params) >       \
+    struct NDNBOOST_PP_CAT(name,Concept)                                           \
+      : name< NDNBOOST_PP_SEQ_ENUM(params) >                                       \
     {                                                                           \
     };                                                                          \
                                                                                 \
-    template < BOOST_PP_SEQ_FOR_EACH_I(BOOST_CONCEPT_typename,~,params) >       \
+    template < NDNBOOST_PP_SEQ_FOR_EACH_I(NDNBOOST_CONCEPT_typename,~,params) >       \
     struct name                                                                
 #endif
     
-// Helper for BOOST_concept, above.
-# define BOOST_CONCEPT_typename(r, ignored, index, t) \
-    BOOST_PP_COMMA_IF(index) typename t
+// Helper for NDNBOOST_concept, above.
+# define NDNBOOST_CONCEPT_typename(r, ignored, index, t) \
+    NDNBOOST_PP_COMMA_IF(index) typename t
 
diff --git a/include/ndnboost/concept/detail/concept_undef.hpp b/include/ndnboost/concept/detail/concept_undef.hpp
index 713db89..b563876 100644
--- a/include/ndnboost/concept/detail/concept_undef.hpp
+++ b/include/ndnboost/concept/detail/concept_undef.hpp
@@ -1,5 +1,5 @@
 // Copyright David Abrahams 2006. Distributed under the Boost
 // Software License, Version 1.0. (See accompanying
 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-# undef BOOST_concept_typename
-# undef BOOST_concept
+# undef NDNBOOST_concept_typename
+# undef NDNBOOST_concept
diff --git a/include/ndnboost/concept/detail/general.hpp b/include/ndnboost/concept/detail/general.hpp
index defbf03..fcf579b 100644
--- a/include/ndnboost/concept/detail/general.hpp
+++ b/include/ndnboost/concept/detail/general.hpp
@@ -1,13 +1,13 @@
 // Copyright David Abrahams 2006. Distributed under the Boost
 // Software License, Version 1.0. (See accompanying
 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-#ifndef BOOST_CONCEPT_DETAIL_GENERAL_DWA2006429_HPP
-# define BOOST_CONCEPT_DETAIL_GENERAL_DWA2006429_HPP
+#ifndef NDNBOOST_CONCEPT_DETAIL_GENERAL_DWA2006429_HPP
+# define NDNBOOST_CONCEPT_DETAIL_GENERAL_DWA2006429_HPP
 
 # include <ndnboost/preprocessor/cat.hpp>
 # include <ndnboost/concept/detail/backward_compatibility.hpp>
 
-# ifdef BOOST_OLD_CONCEPT_SUPPORT
+# ifdef NDNBOOST_OLD_CONCEPT_SUPPORT
 #  include <ndnboost/concept/detail/has_constraints.hpp>
 #  include <ndnboost/mpl/if.hpp>
 # endif
@@ -38,7 +38,7 @@
     static void failed() { ((Model*)0)->~Model(); }
 };
 
-# ifdef BOOST_OLD_CONCEPT_SUPPORT
+# ifdef NDNBOOST_OLD_CONCEPT_SUPPORT
 
 template <class Model>
 struct constraint
@@ -65,11 +65,11 @@
   
 # endif
 
-#  define BOOST_CONCEPT_ASSERT_FN( ModelFnPtr )             \
+#  define NDNBOOST_CONCEPT_ASSERT_FN( ModelFnPtr )             \
     typedef ::ndnboost::concepts::detail::instantiate<          \
     &::ndnboost::concepts::requirement_<ModelFnPtr>::failed>    \
-      BOOST_PP_CAT(boost_concept_check,__LINE__)
+      NDNBOOST_PP_CAT(boost_concept_check,__LINE__)
 
 }}
 
-#endif // BOOST_CONCEPT_DETAIL_GENERAL_DWA2006429_HPP
+#endif // NDNBOOST_CONCEPT_DETAIL_GENERAL_DWA2006429_HPP
diff --git a/include/ndnboost/concept/detail/has_constraints.hpp b/include/ndnboost/concept/detail/has_constraints.hpp
index d70515e..289df91 100644
--- a/include/ndnboost/concept/detail/has_constraints.hpp
+++ b/include/ndnboost/concept/detail/has_constraints.hpp
@@ -1,8 +1,8 @@
 // Copyright David Abrahams 2006. Distributed under the Boost
 // Software License, Version 1.0. (See accompanying
 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-#ifndef BOOST_CONCEPT_DETAIL_HAS_CONSTRAINTS_DWA2006429_HPP
-# define BOOST_CONCEPT_DETAIL_HAS_CONSTRAINTS_DWA2006429_HPP
+#ifndef NDNBOOST_CONCEPT_DETAIL_HAS_CONSTRAINTS_DWA2006429_HPP
+# define NDNBOOST_CONCEPT_DETAIL_HAS_CONSTRAINTS_DWA2006429_HPP
 
 # include <ndnboost/mpl/bool.hpp>
 # include <ndnboost/detail/workaround.hpp>
@@ -21,7 +21,7 @@
   template <class Model, void (Model::*)()>
   struct wrap_constraints {};
     
-#if BOOST_WORKAROUND(__SUNPRO_CC, <= 0x580) || defined(__CUDACC__)
+#if NDNBOOST_WORKAROUND(__SUNPRO_CC, <= 0x580) || defined(__CUDACC__)
   // Work around the following bogus error in Sun Studio 11, by
   // turning off the has_constraints function entirely:
   //    Error: complex expression not allowed in dependent template
@@ -39,7 +39,7 @@
 template <class Model>
 struct not_satisfied
 {
-    BOOST_STATIC_CONSTANT(
+    NDNBOOST_STATIC_CONSTANT(
         bool
       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
     typedef mpl::bool_<value> type;
@@ -47,4 +47,4 @@
 
 }} // namespace ndnboost::concepts::detail
 
-#endif // BOOST_CONCEPT_DETAIL_HAS_CONSTRAINTS_DWA2006429_HPP
+#endif // NDNBOOST_CONCEPT_DETAIL_HAS_CONSTRAINTS_DWA2006429_HPP
diff --git a/include/ndnboost/concept/detail/msvc.hpp b/include/ndnboost/concept/detail/msvc.hpp
index c11e949..183dda4 100644
--- a/include/ndnboost/concept/detail/msvc.hpp
+++ b/include/ndnboost/concept/detail/msvc.hpp
@@ -1,13 +1,13 @@
 // Copyright David Abrahams 2006. Distributed under the Boost
 // Software License, Version 1.0. (See accompanying
 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-#ifndef BOOST_CONCEPT_CHECK_MSVC_DWA2006429_HPP
-# define BOOST_CONCEPT_CHECK_MSVC_DWA2006429_HPP
+#ifndef NDNBOOST_CONCEPT_CHECK_MSVC_DWA2006429_HPP
+# define NDNBOOST_CONCEPT_CHECK_MSVC_DWA2006429_HPP
 
 # include <ndnboost/preprocessor/cat.hpp>
 # include <ndnboost/concept/detail/backward_compatibility.hpp>
 
-# ifdef BOOST_OLD_CONCEPT_SUPPORT
+# ifdef NDNBOOST_OLD_CONCEPT_SUPPORT
 #  include <ndnboost/concept/detail/has_constraints.hpp>
 #  include <ndnboost/mpl/if.hpp>
 # endif
@@ -25,7 +25,7 @@
     }
 };
 
-# ifndef BOOST_NO_PARTIAL_SPECIALIZATION
+# ifndef NDNBOOST_NO_PARTIAL_SPECIALIZATION
 struct failed {};
 template <class Model>
 struct check<failed ************ Model::************>
@@ -37,7 +37,7 @@
 };
 # endif
 
-# ifdef BOOST_OLD_CONCEPT_SUPPORT
+# ifdef NDNBOOST_OLD_CONCEPT_SUPPORT
   
 namespace detail
 {
@@ -52,7 +52,7 @@
   : mpl::if_c<
         not_satisfied<Model>::value
       , detail::constraint
-# ifndef BOOST_NO_PARTIAL_SPECIALIZATION
+# ifndef NDNBOOST_NO_PARTIAL_SPECIALIZATION
       , check<Model>
 # else
       , check<failed ************ Model::************>
@@ -64,7 +64,7 @@
   
 template <class Model>
 struct require
-# ifndef BOOST_NO_PARTIAL_SPECIALIZATION
+# ifndef NDNBOOST_NO_PARTIAL_SPECIALIZATION
     : check<Model>
 # else
     : check<failed ************ Model::************>
@@ -73,7 +73,7 @@
   
 # endif
     
-# if BOOST_WORKAROUND(BOOST_MSVC, == 1310)
+# if NDNBOOST_WORKAROUND(NDNBOOST_MSVC, == 1310)
 
 //
 // The iterator library sees some really strange errors unless we
@@ -88,10 +88,10 @@
     }
 };
 
-# define BOOST_CONCEPT_ASSERT_FN( ModelFnPtr )      \
+# define NDNBOOST_CONCEPT_ASSERT_FN( ModelFnPtr )      \
 enum                                                \
 {                                                   \
-    BOOST_PP_CAT(boost_concept_check,__LINE__) =    \
+    NDNBOOST_PP_CAT(boost_concept_check,__LINE__) =    \
     sizeof(::ndnboost::concepts::require<ModelFnPtr>)    \
 }
   
@@ -101,14 +101,14 @@
 require<Model>
 require_(void(*)(Model));
   
-# define BOOST_CONCEPT_ASSERT_FN( ModelFnPtr )          \
+# define NDNBOOST_CONCEPT_ASSERT_FN( ModelFnPtr )          \
 enum                                                    \
 {                                                       \
-    BOOST_PP_CAT(boost_concept_check,__LINE__) =        \
+    NDNBOOST_PP_CAT(boost_concept_check,__LINE__) =        \
       sizeof(::ndnboost::concepts::require_((ModelFnPtr)0)) \
 }
   
 # endif
 }}
 
-#endif // BOOST_CONCEPT_CHECK_MSVC_DWA2006429_HPP
+#endif // NDNBOOST_CONCEPT_CHECK_MSVC_DWA2006429_HPP
diff --git a/include/ndnboost/concept/usage.hpp b/include/ndnboost/concept/usage.hpp
index 085cdd9..dfedbc0 100644
--- a/include/ndnboost/concept/usage.hpp
+++ b/include/ndnboost/concept/usage.hpp
@@ -1,8 +1,8 @@
 // Copyright David Abrahams 2006. Distributed under the Boost
 // Software License, Version 1.0. (See accompanying
 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-#ifndef BOOST_CONCEPT_USAGE_DWA2006919_HPP
-# define BOOST_CONCEPT_USAGE_DWA2006919_HPP
+#ifndef NDNBOOST_CONCEPT_USAGE_DWA2006919_HPP
+# define NDNBOOST_CONCEPT_USAGE_DWA2006919_HPP
 
 # include <ndnboost/concept/assert.hpp>
 # include <ndnboost/detail/workaround.hpp>
@@ -10,9 +10,9 @@
 
 namespace ndnboost { namespace concepts { 
 
-# if BOOST_WORKAROUND(__GNUC__, == 2)
+# if NDNBOOST_WORKAROUND(__GNUC__, == 2)
 
-#  define BOOST_CONCEPT_USAGE(model) ~model()
+#  define NDNBOOST_CONCEPT_USAGE(model) ~model()
 
 # else 
 
@@ -22,17 +22,17 @@
     ~usage_requirements() { ((Model*)0)->~Model(); }
 };
 
-#  if BOOST_WORKAROUND(__GNUC__, <= 3)
+#  if NDNBOOST_WORKAROUND(__GNUC__, <= 3)
 
-#   define BOOST_CONCEPT_USAGE(model)                                    \
+#   define NDNBOOST_CONCEPT_USAGE(model)                                    \
       model(); /* at least 2.96 and 3.4.3 both need this :( */           \
-      BOOST_CONCEPT_ASSERT((ndnboost::concepts::usage_requirements<model>)); \
+      NDNBOOST_CONCEPT_ASSERT((ndnboost::concepts::usage_requirements<model>)); \
       ~model()
 
 #  else
 
-#   define BOOST_CONCEPT_USAGE(model)                                    \
-      BOOST_CONCEPT_ASSERT((ndnboost::concepts::usage_requirements<model>)); \
+#   define NDNBOOST_CONCEPT_USAGE(model)                                    \
+      NDNBOOST_CONCEPT_ASSERT((ndnboost::concepts::usage_requirements<model>)); \
       ~model()
 
 #  endif
@@ -41,4 +41,4 @@
 
 }} // namespace ndnboost::concepts
 
-#endif // BOOST_CONCEPT_USAGE_DWA2006919_HPP
+#endif // NDNBOOST_CONCEPT_USAGE_DWA2006919_HPP
diff --git a/include/ndnboost/concept_check.hpp b/include/ndnboost/concept_check.hpp
index 0b7bf54..ca434f3 100644
--- a/include/ndnboost/concept_check.hpp
+++ b/include/ndnboost/concept_check.hpp
@@ -14,8 +14,8 @@
 
 // See http://www.boost.org/libs/concept_check for documentation.
 
-#ifndef BOOST_CONCEPT_CHECKS_HPP
-# define BOOST_CONCEPT_CHECKS_HPP
+#ifndef NDNBOOST_CONCEPT_CHECKS_HPP
+# define NDNBOOST_CONCEPT_CHECKS_HPP
 
 # include <ndnboost/concept/assert.hpp>
 
@@ -42,29 +42,29 @@
   template <class Model>
   inline void function_requires(Model* = 0)
   {
-      BOOST_CONCEPT_ASSERT((Model));
+      NDNBOOST_CONCEPT_ASSERT((Model));
   }
   template <class T> inline void ignore_unused_variable_warning(T const&) {}
 
-#  define BOOST_CLASS_REQUIRE(type_var, ns, concept)    \
-    BOOST_CONCEPT_ASSERT((ns::concept<type_var>))
+#  define NDNBOOST_CLASS_REQUIRE(type_var, ns, concept)    \
+    NDNBOOST_CONCEPT_ASSERT((ns::concept<type_var>))
 
-#  define BOOST_CLASS_REQUIRE2(type_var1, type_var2, ns, concept)   \
-    BOOST_CONCEPT_ASSERT((ns::concept<type_var1,type_var2>))
+#  define NDNBOOST_CLASS_REQUIRE2(type_var1, type_var2, ns, concept)   \
+    NDNBOOST_CONCEPT_ASSERT((ns::concept<type_var1,type_var2>))
 
-#  define BOOST_CLASS_REQUIRE3(tv1, tv2, tv3, ns, concept)  \
-    BOOST_CONCEPT_ASSERT((ns::concept<tv1,tv2,tv3>))
+#  define NDNBOOST_CLASS_REQUIRE3(tv1, tv2, tv3, ns, concept)  \
+    NDNBOOST_CONCEPT_ASSERT((ns::concept<tv1,tv2,tv3>))
 
-#  define BOOST_CLASS_REQUIRE4(tv1, tv2, tv3, tv4, ns, concept) \
-    BOOST_CONCEPT_ASSERT((ns::concept<tv1,tv2,tv3,tv4>))
+#  define NDNBOOST_CLASS_REQUIRE4(tv1, tv2, tv3, tv4, ns, concept) \
+    NDNBOOST_CONCEPT_ASSERT((ns::concept<tv1,tv2,tv3,tv4>))
 
 
   //
   // Begin concept definitions
   //
-  BOOST_concept(Integer, (T))
+  NDNBOOST_concept(Integer, (T))
   {
-      BOOST_CONCEPT_USAGE(Integer)
+      NDNBOOST_CONCEPT_USAGE(Integer)
         {
             x.error_type_must_be_an_integer_type();
         }
@@ -81,16 +81,16 @@
   template <> struct Integer<unsigned int> {};
   template <> struct Integer<long> {};
   template <> struct Integer<unsigned long> {};
-# if defined(BOOST_HAS_LONG_LONG)
+# if defined(NDNBOOST_HAS_LONG_LONG)
   template <> struct Integer< ::ndnboost::long_long_type> {};
   template <> struct Integer< ::ndnboost::ulong_long_type> {};
-# elif defined(BOOST_HAS_MS_INT64)
+# elif defined(NDNBOOST_HAS_MS_INT64)
   template <> struct Integer<__int64> {};
   template <> struct Integer<unsigned __int64> {};
 # endif
 
-  BOOST_concept(SignedInteger,(T)) {
-    BOOST_CONCEPT_USAGE(SignedInteger) {
+  NDNBOOST_concept(SignedInteger,(T)) {
+    NDNBOOST_CONCEPT_USAGE(SignedInteger) {
       x.error_type_must_be_a_signed_integer_type();
     }
    private:
@@ -100,14 +100,14 @@
   template <> struct SignedInteger<short> {};
   template <> struct SignedInteger<int> {};
   template <> struct SignedInteger<long> {};
-# if defined(BOOST_HAS_LONG_LONG)
+# if defined(NDNBOOST_HAS_LONG_LONG)
   template <> struct SignedInteger< ::ndnboost::long_long_type> {};
-# elif defined(BOOST_HAS_MS_INT64)
+# elif defined(NDNBOOST_HAS_MS_INT64)
   template <> struct SignedInteger<__int64> {};
 # endif
 
-  BOOST_concept(UnsignedInteger,(T)) {
-    BOOST_CONCEPT_USAGE(UnsignedInteger) {
+  NDNBOOST_concept(UnsignedInteger,(T)) {
+    NDNBOOST_CONCEPT_USAGE(UnsignedInteger) {
       x.error_type_must_be_an_unsigned_integer_type();
     }
    private:
@@ -118,26 +118,26 @@
   template <> struct UnsignedInteger<unsigned short> {};
   template <> struct UnsignedInteger<unsigned int> {};
   template <> struct UnsignedInteger<unsigned long> {};
-# if defined(BOOST_HAS_LONG_LONG)
+# if defined(NDNBOOST_HAS_LONG_LONG)
   template <> struct UnsignedInteger< ::ndnboost::ulong_long_type> {};
-# elif defined(BOOST_HAS_MS_INT64)
+# elif defined(NDNBOOST_HAS_MS_INT64)
   template <> struct UnsignedInteger<unsigned __int64> {};
 # endif
 
   //===========================================================================
   // Basic Concepts
 
-  BOOST_concept(DefaultConstructible,(TT))
+  NDNBOOST_concept(DefaultConstructible,(TT))
   {
-    BOOST_CONCEPT_USAGE(DefaultConstructible) {
+    NDNBOOST_CONCEPT_USAGE(DefaultConstructible) {
       TT a;               // require default constructor
       ignore_unused_variable_warning(a);
     }
   };
 
-  BOOST_concept(Assignable,(TT))
+  NDNBOOST_concept(Assignable,(TT))
   {
-    BOOST_CONCEPT_USAGE(Assignable) {
+    NDNBOOST_CONCEPT_USAGE(Assignable) {
 #if !defined(_ITERATOR_) // back_insert_iterator broken for VC++ STL
       a = b;             // require assignment operator
 #endif
@@ -157,9 +157,9 @@
   };
 
 
-  BOOST_concept(CopyConstructible,(TT))
+  NDNBOOST_concept(CopyConstructible,(TT))
   {
-    BOOST_CONCEPT_USAGE(CopyConstructible) {
+    NDNBOOST_CONCEPT_USAGE(CopyConstructible) {
       TT a(b);            // require copy constructor
       TT* ptr = &a;       // require address of operator
       const_constraints(a);
@@ -181,9 +181,9 @@
 # pragma warning( disable : 4610 ) // object 'class' can never be instantiated - user-defined constructor required
 #endif
   // The SGI STL version of Assignable requires copy constructor and operator=
-  BOOST_concept(SGIAssignable,(TT))
+  NDNBOOST_concept(SGIAssignable,(TT))
   {
-    BOOST_CONCEPT_USAGE(SGIAssignable) {
+    NDNBOOST_CONCEPT_USAGE(SGIAssignable) {
       TT c(a);
 #if !defined(_ITERATOR_) // back_insert_iterator broken for VC++ STL
       a = b;              // require assignment operator
@@ -206,9 +206,9 @@
 # pragma warning( pop )
 #endif
 
-  BOOST_concept(Convertible,(X)(Y))
+  NDNBOOST_concept(Convertible,(X)(Y))
   {
-    BOOST_CONCEPT_USAGE(Convertible) {
+    NDNBOOST_CONCEPT_USAGE(Convertible) {
       Y y = x;
       ignore_unused_variable_warning(y);
     }
@@ -231,9 +231,9 @@
     ignore_unused_variable_warning(x);
   }
 
-  BOOST_concept(EqualityComparable,(TT))
+  NDNBOOST_concept(EqualityComparable,(TT))
   {
-    BOOST_CONCEPT_USAGE(EqualityComparable) {
+    NDNBOOST_CONCEPT_USAGE(EqualityComparable) {
       require_boolean_expr(a == b);
       require_boolean_expr(a != b);
     }
@@ -241,9 +241,9 @@
     TT a, b;
   };
 
-  BOOST_concept(LessThanComparable,(TT))
+  NDNBOOST_concept(LessThanComparable,(TT))
   {
-    BOOST_CONCEPT_USAGE(LessThanComparable) {
+    NDNBOOST_CONCEPT_USAGE(LessThanComparable) {
       require_boolean_expr(a < b);
     }
    private:
@@ -251,9 +251,9 @@
   };
 
   // This is equivalent to SGI STL's LessThanComparable.
-  BOOST_concept(Comparable,(TT))
+  NDNBOOST_concept(Comparable,(TT))
   {
-    BOOST_CONCEPT_USAGE(Comparable) {
+    NDNBOOST_CONCEPT_USAGE(Comparable) {
       require_boolean_expr(a < b);
       require_boolean_expr(a > b);
       require_boolean_expr(a <= b);
@@ -263,45 +263,45 @@
     TT a, b;
   };
 
-#define BOOST_DEFINE_BINARY_PREDICATE_OP_CONSTRAINT(OP,NAME)    \
-  BOOST_concept(NAME, (First)(Second))                          \
+#define NDNBOOST_DEFINE_BINARY_PREDICATE_OP_CONSTRAINT(OP,NAME)    \
+  NDNBOOST_concept(NAME, (First)(Second))                          \
   {                                                             \
-      BOOST_CONCEPT_USAGE(NAME) { (void)constraints_(); }                         \
+      NDNBOOST_CONCEPT_USAGE(NAME) { (void)constraints_(); }                         \
      private:                                                   \
         bool constraints_() { return a OP b; }                  \
         First a;                                                \
         Second b;                                               \
   }
 
-#define BOOST_DEFINE_BINARY_OPERATOR_CONSTRAINT(OP,NAME)    \
-  BOOST_concept(NAME, (Ret)(First)(Second))                 \
+#define NDNBOOST_DEFINE_BINARY_OPERATOR_CONSTRAINT(OP,NAME)    \
+  NDNBOOST_concept(NAME, (Ret)(First)(Second))                 \
   {                                                         \
-      BOOST_CONCEPT_USAGE(NAME) { (void)constraints_(); }                     \
+      NDNBOOST_CONCEPT_USAGE(NAME) { (void)constraints_(); }                     \
   private:                                                  \
       Ret constraints_() { return a OP b; }                 \
       First a;                                              \
       Second b;                                             \
   }
 
-  BOOST_DEFINE_BINARY_PREDICATE_OP_CONSTRAINT(==, EqualOp);
-  BOOST_DEFINE_BINARY_PREDICATE_OP_CONSTRAINT(!=, NotEqualOp);
-  BOOST_DEFINE_BINARY_PREDICATE_OP_CONSTRAINT(<, LessThanOp);
-  BOOST_DEFINE_BINARY_PREDICATE_OP_CONSTRAINT(<=, LessEqualOp);
-  BOOST_DEFINE_BINARY_PREDICATE_OP_CONSTRAINT(>, GreaterThanOp);
-  BOOST_DEFINE_BINARY_PREDICATE_OP_CONSTRAINT(>=, GreaterEqualOp);
+  NDNBOOST_DEFINE_BINARY_PREDICATE_OP_CONSTRAINT(==, EqualOp);
+  NDNBOOST_DEFINE_BINARY_PREDICATE_OP_CONSTRAINT(!=, NotEqualOp);
+  NDNBOOST_DEFINE_BINARY_PREDICATE_OP_CONSTRAINT(<, LessThanOp);
+  NDNBOOST_DEFINE_BINARY_PREDICATE_OP_CONSTRAINT(<=, LessEqualOp);
+  NDNBOOST_DEFINE_BINARY_PREDICATE_OP_CONSTRAINT(>, GreaterThanOp);
+  NDNBOOST_DEFINE_BINARY_PREDICATE_OP_CONSTRAINT(>=, GreaterEqualOp);
 
-  BOOST_DEFINE_BINARY_OPERATOR_CONSTRAINT(+, PlusOp);
-  BOOST_DEFINE_BINARY_OPERATOR_CONSTRAINT(*, TimesOp);
-  BOOST_DEFINE_BINARY_OPERATOR_CONSTRAINT(/, DivideOp);
-  BOOST_DEFINE_BINARY_OPERATOR_CONSTRAINT(-, SubtractOp);
-  BOOST_DEFINE_BINARY_OPERATOR_CONSTRAINT(%, ModOp);
+  NDNBOOST_DEFINE_BINARY_OPERATOR_CONSTRAINT(+, PlusOp);
+  NDNBOOST_DEFINE_BINARY_OPERATOR_CONSTRAINT(*, TimesOp);
+  NDNBOOST_DEFINE_BINARY_OPERATOR_CONSTRAINT(/, DivideOp);
+  NDNBOOST_DEFINE_BINARY_OPERATOR_CONSTRAINT(-, SubtractOp);
+  NDNBOOST_DEFINE_BINARY_OPERATOR_CONSTRAINT(%, ModOp);
 
   //===========================================================================
   // Function Object Concepts
 
-  BOOST_concept(Generator,(Func)(Return))
+  NDNBOOST_concept(Generator,(Func)(Return))
   {
-      BOOST_CONCEPT_USAGE(Generator) { test(is_void<Return>()); }
+      NDNBOOST_CONCEPT_USAGE(Generator) { test(is_void<Return>()); }
 
    private:
       void test(ndnboost::mpl::false_)
@@ -319,9 +319,9 @@
       Func f;
   };
 
-  BOOST_concept(UnaryFunction,(Func)(Return)(Arg))
+  NDNBOOST_concept(UnaryFunction,(Func)(Return)(Arg))
   {
-      BOOST_CONCEPT_USAGE(UnaryFunction) { test(is_void<Return>()); }
+      NDNBOOST_CONCEPT_USAGE(UnaryFunction) { test(is_void<Return>()); }
 
    private:
       void test(ndnboost::mpl::false_)
@@ -336,8 +336,8 @@
           f(arg);
       }
 
-#if (BOOST_WORKAROUND(__GNUC__, BOOST_TESTED_AT(4) \
-                      && BOOST_WORKAROUND(__GNUC__, > 3)))
+#if (NDNBOOST_WORKAROUND(__GNUC__, NDNBOOST_TESTED_AT(4) \
+                      && NDNBOOST_WORKAROUND(__GNUC__, > 3)))
       // Declare a dummy construktor to make gcc happy.
       // It seems the compiler can not generate a sensible constructor when this is instantiated with a refence type.
       // (warning: non-static reference "const double& ndnboost::UnaryFunction<YourClassHere>::arg"
@@ -349,9 +349,9 @@
       Arg arg;
   };
 
-  BOOST_concept(BinaryFunction,(Func)(Return)(First)(Second))
+  NDNBOOST_concept(BinaryFunction,(Func)(Return)(First)(Second))
   {
-      BOOST_CONCEPT_USAGE(BinaryFunction) { test(is_void<Return>()); }
+      NDNBOOST_CONCEPT_USAGE(BinaryFunction) { test(is_void<Return>()); }
    private:
       void test(ndnboost::mpl::false_)
       {
@@ -365,8 +365,8 @@
           f(first,second);
       }
 
-#if (BOOST_WORKAROUND(__GNUC__, BOOST_TESTED_AT(4) \
-                      && BOOST_WORKAROUND(__GNUC__, > 3)))
+#if (NDNBOOST_WORKAROUND(__GNUC__, NDNBOOST_TESTED_AT(4) \
+                      && NDNBOOST_WORKAROUND(__GNUC__, > 3)))
       // Declare a dummy constructor to make gcc happy.
       // It seems the compiler can not generate a sensible constructor when this is instantiated with a refence type.
       // (warning: non-static reference "const double& ndnboost::BinaryFunction<YourClassHere>::arg"
@@ -379,14 +379,14 @@
       Second second;
   };
 
-  BOOST_concept(UnaryPredicate,(Func)(Arg))
+  NDNBOOST_concept(UnaryPredicate,(Func)(Arg))
   {
-    BOOST_CONCEPT_USAGE(UnaryPredicate) {
+    NDNBOOST_CONCEPT_USAGE(UnaryPredicate) {
       require_boolean_expr(f(arg)); // require operator() returning bool
     }
    private:
-#if (BOOST_WORKAROUND(__GNUC__, BOOST_TESTED_AT(4) \
-                      && BOOST_WORKAROUND(__GNUC__, > 3)))
+#if (NDNBOOST_WORKAROUND(__GNUC__, NDNBOOST_TESTED_AT(4) \
+                      && NDNBOOST_WORKAROUND(__GNUC__, > 3)))
       // Declare a dummy constructor to make gcc happy.
       // It seems the compiler can not generate a sensible constructor when this is instantiated with a refence type.
       // (warning: non-static reference "const double& ndnboost::UnaryPredicate<YourClassHere>::arg"
@@ -398,14 +398,14 @@
     Arg arg;
   };
 
-  BOOST_concept(BinaryPredicate,(Func)(First)(Second))
+  NDNBOOST_concept(BinaryPredicate,(Func)(First)(Second))
   {
-    BOOST_CONCEPT_USAGE(BinaryPredicate) {
+    NDNBOOST_CONCEPT_USAGE(BinaryPredicate) {
       require_boolean_expr(f(a, b)); // require operator() returning bool
     }
    private:
-#if (BOOST_WORKAROUND(__GNUC__, BOOST_TESTED_AT(4) \
-                      && BOOST_WORKAROUND(__GNUC__, > 3)))
+#if (NDNBOOST_WORKAROUND(__GNUC__, NDNBOOST_TESTED_AT(4) \
+                      && NDNBOOST_WORKAROUND(__GNUC__, > 3)))
       // Declare a dummy constructor to make gcc happy.
       // It seems the compiler can not generate a sensible constructor when this is instantiated with a refence type.
       // (warning: non-static reference "const double& ndnboost::BinaryPredicate<YourClassHere>::arg"
@@ -418,10 +418,10 @@
   };
 
   // use this when functor is used inside a container class like std::set
-  BOOST_concept(Const_BinaryPredicate,(Func)(First)(Second))
+  NDNBOOST_concept(Const_BinaryPredicate,(Func)(First)(Second))
     : BinaryPredicate<Func, First, Second>
   {
-    BOOST_CONCEPT_USAGE(Const_BinaryPredicate) {
+    NDNBOOST_CONCEPT_USAGE(Const_BinaryPredicate) {
       const_constraints(f);
     }
    private:
@@ -429,8 +429,8 @@
       // operator() must be a const member function
       require_boolean_expr(fun(a, b));
     }
-#if (BOOST_WORKAROUND(__GNUC__, BOOST_TESTED_AT(4) \
-                      && BOOST_WORKAROUND(__GNUC__, > 3)))
+#if (NDNBOOST_WORKAROUND(__GNUC__, NDNBOOST_TESTED_AT(4) \
+                      && NDNBOOST_WORKAROUND(__GNUC__, > 3)))
       // Declare a dummy constructor to make gcc happy.
       // It seems the compiler can not generate a sensible constructor when this is instantiated with a refence type.
       // (warning: non-static reference "const double& ndnboost::Const_BinaryPredicate<YourClassHere>::arg"
@@ -443,18 +443,18 @@
     Second b;
   };
 
-  BOOST_concept(AdaptableGenerator,(Func)(Return))
+  NDNBOOST_concept(AdaptableGenerator,(Func)(Return))
     : Generator<Func, typename Func::result_type>
   {
       typedef typename Func::result_type result_type;
 
-      BOOST_CONCEPT_USAGE(AdaptableGenerator)
+      NDNBOOST_CONCEPT_USAGE(AdaptableGenerator)
       {
-          BOOST_CONCEPT_ASSERT((Convertible<result_type, Return>));
+          NDNBOOST_CONCEPT_ASSERT((Convertible<result_type, Return>));
       }
   };
 
-  BOOST_concept(AdaptableUnaryFunction,(Func)(Return)(Arg))
+  NDNBOOST_concept(AdaptableUnaryFunction,(Func)(Return)(Arg))
     : UnaryFunction<Func, typename Func::result_type, typename Func::argument_type>
   {
       typedef typename Func::argument_type argument_type;
@@ -462,12 +462,12 @@
 
       ~AdaptableUnaryFunction()
       {
-          BOOST_CONCEPT_ASSERT((Convertible<result_type, Return>));
-          BOOST_CONCEPT_ASSERT((Convertible<Arg, argument_type>));
+          NDNBOOST_CONCEPT_ASSERT((Convertible<result_type, Return>));
+          NDNBOOST_CONCEPT_ASSERT((Convertible<Arg, argument_type>));
       }
   };
 
-  BOOST_concept(AdaptableBinaryFunction,(Func)(Return)(First)(Second))
+  NDNBOOST_concept(AdaptableBinaryFunction,(Func)(Return)(First)(Second))
     : BinaryFunction<
           Func
         , typename Func::result_type
@@ -481,19 +481,19 @@
 
       ~AdaptableBinaryFunction()
       {
-          BOOST_CONCEPT_ASSERT((Convertible<result_type, Return>));
-          BOOST_CONCEPT_ASSERT((Convertible<First, first_argument_type>));
-          BOOST_CONCEPT_ASSERT((Convertible<Second, second_argument_type>));
+          NDNBOOST_CONCEPT_ASSERT((Convertible<result_type, Return>));
+          NDNBOOST_CONCEPT_ASSERT((Convertible<First, first_argument_type>));
+          NDNBOOST_CONCEPT_ASSERT((Convertible<Second, second_argument_type>));
       }
   };
 
-  BOOST_concept(AdaptablePredicate,(Func)(Arg))
+  NDNBOOST_concept(AdaptablePredicate,(Func)(Arg))
     : UnaryPredicate<Func, Arg>
     , AdaptableUnaryFunction<Func, bool, Arg>
   {
   };
 
-  BOOST_concept(AdaptableBinaryPredicate,(Func)(First)(Second))
+  NDNBOOST_concept(AdaptableBinaryPredicate,(Func)(First)(Second))
     : BinaryPredicate<Func, First, Second>
     , AdaptableBinaryFunction<Func, bool, First, Second>
   {
@@ -502,7 +502,7 @@
   //===========================================================================
   // Iterator Concepts
 
-  BOOST_concept(InputIterator,(TT))
+  NDNBOOST_concept(InputIterator,(TT))
     : Assignable<TT>
     , EqualityComparable<TT>
   {
@@ -512,10 +512,10 @@
       typedef typename ndnboost::detail::iterator_traits<TT>::pointer pointer;
       typedef typename ndnboost::detail::iterator_traits<TT>::iterator_category iterator_category;
 
-      BOOST_CONCEPT_USAGE(InputIterator)
+      NDNBOOST_CONCEPT_USAGE(InputIterator)
       {
-        BOOST_CONCEPT_ASSERT((SignedInteger<difference_type>));
-        BOOST_CONCEPT_ASSERT((Convertible<iterator_category, std::input_iterator_tag>));
+        NDNBOOST_CONCEPT_ASSERT((SignedInteger<difference_type>));
+        NDNBOOST_CONCEPT_ASSERT((Convertible<iterator_category, std::input_iterator_tag>));
 
         TT j(i);
         (void)*i;           // require dereference operator
@@ -526,10 +526,10 @@
     TT i;
   };
 
-  BOOST_concept(OutputIterator,(TT)(ValueT))
+  NDNBOOST_concept(OutputIterator,(TT)(ValueT))
     : Assignable<TT>
   {
-    BOOST_CONCEPT_USAGE(OutputIterator) {
+    NDNBOOST_CONCEPT_USAGE(OutputIterator) {
 
       ++i;                // require preincrement operator
       i++;                // require postincrement operator
@@ -540,13 +540,13 @@
     ValueT t;
   };
 
-  BOOST_concept(ForwardIterator,(TT))
+  NDNBOOST_concept(ForwardIterator,(TT))
     : InputIterator<TT>
   {
-      BOOST_CONCEPT_USAGE(ForwardIterator)
+      NDNBOOST_CONCEPT_USAGE(ForwardIterator)
       {
-          BOOST_CONCEPT_ASSERT((Convertible<
-              BOOST_DEDUCED_TYPENAME ForwardIterator::iterator_category
+          NDNBOOST_CONCEPT_ASSERT((Convertible<
+              NDNBOOST_DEDUCED_TYPENAME ForwardIterator::iterator_category
             , std::forward_iterator_tag
           >));
 
@@ -558,23 +558,23 @@
       TT i;
   };
 
-  BOOST_concept(Mutable_ForwardIterator,(TT))
+  NDNBOOST_concept(Mutable_ForwardIterator,(TT))
     : ForwardIterator<TT>
   {
-      BOOST_CONCEPT_USAGE(Mutable_ForwardIterator) {
+      NDNBOOST_CONCEPT_USAGE(Mutable_ForwardIterator) {
         *i++ = *i;         // require postincrement and assignment
       }
    private:
       TT i;
   };
 
-  BOOST_concept(BidirectionalIterator,(TT))
+  NDNBOOST_concept(BidirectionalIterator,(TT))
     : ForwardIterator<TT>
   {
-      BOOST_CONCEPT_USAGE(BidirectionalIterator)
+      NDNBOOST_CONCEPT_USAGE(BidirectionalIterator)
       {
-          BOOST_CONCEPT_ASSERT((Convertible<
-              BOOST_DEDUCED_TYPENAME BidirectionalIterator::iterator_category
+          NDNBOOST_CONCEPT_ASSERT((Convertible<
+              NDNBOOST_DEDUCED_TYPENAME BidirectionalIterator::iterator_category
             , std::bidirectional_iterator_tag
           >));
 
@@ -585,11 +585,11 @@
       TT i;
   };
 
-  BOOST_concept(Mutable_BidirectionalIterator,(TT))
+  NDNBOOST_concept(Mutable_BidirectionalIterator,(TT))
     : BidirectionalIterator<TT>
     , Mutable_ForwardIterator<TT>
   {
-      BOOST_CONCEPT_USAGE(Mutable_BidirectionalIterator)
+      NDNBOOST_CONCEPT_USAGE(Mutable_BidirectionalIterator)
       {
           *i-- = *i;                  // require postdecrement and assignment
       }
@@ -597,14 +597,14 @@
       TT i;
   };
 
-  BOOST_concept(RandomAccessIterator,(TT))
+  NDNBOOST_concept(RandomAccessIterator,(TT))
     : BidirectionalIterator<TT>
     , Comparable<TT>
   {
-      BOOST_CONCEPT_USAGE(RandomAccessIterator)
+      NDNBOOST_CONCEPT_USAGE(RandomAccessIterator)
       {
-          BOOST_CONCEPT_ASSERT((Convertible<
-              BOOST_DEDUCED_TYPENAME BidirectionalIterator<TT>::iterator_category
+          NDNBOOST_CONCEPT_ASSERT((Convertible<
+              NDNBOOST_DEDUCED_TYPENAME BidirectionalIterator<TT>::iterator_category
             , std::random_access_iterator_tag
           >));
 
@@ -622,11 +622,11 @@
       typename ndnboost::detail::iterator_traits<TT>::difference_type n;
   };
 
-  BOOST_concept(Mutable_RandomAccessIterator,(TT))
+  NDNBOOST_concept(Mutable_RandomAccessIterator,(TT))
     : RandomAccessIterator<TT>
     , Mutable_BidirectionalIterator<TT>
   {
-      BOOST_CONCEPT_USAGE(Mutable_RandomAccessIterator)
+      NDNBOOST_CONCEPT_USAGE(Mutable_RandomAccessIterator)
       {
           i[n] = *i;                  // require element access and assignment
       }
@@ -638,7 +638,7 @@
   //===========================================================================
   // Container s
 
-  BOOST_concept(Container,(C))
+  NDNBOOST_concept(Container,(C))
     : Assignable<C>
   {
     typedef typename C::value_type value_type;
@@ -648,9 +648,9 @@
     typedef typename C::const_pointer const_pointer;
     typedef typename C::const_iterator const_iterator;
 
-      BOOST_CONCEPT_USAGE(Container)
+      NDNBOOST_CONCEPT_USAGE(Container)
       {
-          BOOST_CONCEPT_ASSERT((InputIterator<const_iterator>));
+          NDNBOOST_CONCEPT_ASSERT((InputIterator<const_iterator>));
           const_constraints(c);
       }
 
@@ -668,19 +668,19 @@
       size_type n;
   };
 
-  BOOST_concept(Mutable_Container,(C))
+  NDNBOOST_concept(Mutable_Container,(C))
     : Container<C>
   {
       typedef typename C::reference reference;
       typedef typename C::iterator iterator;
       typedef typename C::pointer pointer;
 
-      BOOST_CONCEPT_USAGE(Mutable_Container)
+      NDNBOOST_CONCEPT_USAGE(Mutable_Container)
       {
-          BOOST_CONCEPT_ASSERT((
+          NDNBOOST_CONCEPT_ASSERT((
                Assignable<typename Mutable_Container::value_type>));
 
-          BOOST_CONCEPT_ASSERT((InputIterator<iterator>));
+          NDNBOOST_CONCEPT_ASSERT((InputIterator<iterator>));
 
           i = c.begin();
           i = c.end();
@@ -692,45 +692,45 @@
       C c, c2;
   };
 
-  BOOST_concept(ForwardContainer,(C))
+  NDNBOOST_concept(ForwardContainer,(C))
     : Container<C>
   {
-      BOOST_CONCEPT_USAGE(ForwardContainer)
+      NDNBOOST_CONCEPT_USAGE(ForwardContainer)
       {
-          BOOST_CONCEPT_ASSERT((
+          NDNBOOST_CONCEPT_ASSERT((
                ForwardIterator<
                     typename ForwardContainer::const_iterator
                >));
       }
   };
 
-  BOOST_concept(Mutable_ForwardContainer,(C))
+  NDNBOOST_concept(Mutable_ForwardContainer,(C))
     : ForwardContainer<C>
     , Mutable_Container<C>
   {
-      BOOST_CONCEPT_USAGE(Mutable_ForwardContainer)
+      NDNBOOST_CONCEPT_USAGE(Mutable_ForwardContainer)
       {
-          BOOST_CONCEPT_ASSERT((
+          NDNBOOST_CONCEPT_ASSERT((
                Mutable_ForwardIterator<
                    typename Mutable_ForwardContainer::iterator
                >));
       }
   };
 
-  BOOST_concept(ReversibleContainer,(C))
+  NDNBOOST_concept(ReversibleContainer,(C))
     : ForwardContainer<C>
   {
       typedef typename
         C::const_reverse_iterator
       const_reverse_iterator;
 
-      BOOST_CONCEPT_USAGE(ReversibleContainer)
+      NDNBOOST_CONCEPT_USAGE(ReversibleContainer)
       {
-          BOOST_CONCEPT_ASSERT((
+          NDNBOOST_CONCEPT_ASSERT((
               BidirectionalIterator<
                   typename ReversibleContainer::const_iterator>));
 
-          BOOST_CONCEPT_ASSERT((BidirectionalIterator<const_reverse_iterator>));
+          NDNBOOST_CONCEPT_ASSERT((BidirectionalIterator<const_reverse_iterator>));
 
           const_constraints(c);
       }
@@ -743,17 +743,17 @@
       C c;
   };
 
-  BOOST_concept(Mutable_ReversibleContainer,(C))
+  NDNBOOST_concept(Mutable_ReversibleContainer,(C))
     : Mutable_ForwardContainer<C>
     , ReversibleContainer<C>
   {
       typedef typename C::reverse_iterator reverse_iterator;
 
-      BOOST_CONCEPT_USAGE(Mutable_ReversibleContainer)
+      NDNBOOST_CONCEPT_USAGE(Mutable_ReversibleContainer)
       {
           typedef typename Mutable_ForwardContainer<C>::iterator iterator;
-          BOOST_CONCEPT_ASSERT((Mutable_BidirectionalIterator<iterator>));
-          BOOST_CONCEPT_ASSERT((Mutable_BidirectionalIterator<reverse_iterator>));
+          NDNBOOST_CONCEPT_ASSERT((Mutable_BidirectionalIterator<iterator>));
+          NDNBOOST_CONCEPT_ASSERT((Mutable_BidirectionalIterator<reverse_iterator>));
 
           reverse_iterator i = c.rbegin();
           i = c.rend();
@@ -762,15 +762,15 @@
       C c;
   };
 
-  BOOST_concept(RandomAccessContainer,(C))
+  NDNBOOST_concept(RandomAccessContainer,(C))
     : ReversibleContainer<C>
   {
       typedef typename C::size_type size_type;
       typedef typename C::const_reference const_reference;
 
-      BOOST_CONCEPT_USAGE(RandomAccessContainer)
+      NDNBOOST_CONCEPT_USAGE(RandomAccessContainer)
       {
-          BOOST_CONCEPT_ASSERT((
+          NDNBOOST_CONCEPT_ASSERT((
               RandomAccessIterator<
                   typename RandomAccessContainer::const_iterator
               >));
@@ -788,17 +788,17 @@
       size_type n;
   };
 
-  BOOST_concept(Mutable_RandomAccessContainer,(C))
+  NDNBOOST_concept(Mutable_RandomAccessContainer,(C))
     : Mutable_ReversibleContainer<C>
     , RandomAccessContainer<C>
   {
    private:
       typedef Mutable_RandomAccessContainer self;
    public:
-      BOOST_CONCEPT_USAGE(Mutable_RandomAccessContainer)
+      NDNBOOST_CONCEPT_USAGE(Mutable_RandomAccessContainer)
       {
-          BOOST_CONCEPT_ASSERT((Mutable_RandomAccessIterator<typename self::iterator>));
-          BOOST_CONCEPT_ASSERT((Mutable_RandomAccessIterator<typename self::reverse_iterator>));
+          NDNBOOST_CONCEPT_ASSERT((Mutable_RandomAccessIterator<typename self::iterator>));
+          NDNBOOST_CONCEPT_ASSERT((Mutable_RandomAccessIterator<typename self::reverse_iterator>));
 
           typename self::reference r = c[i];
           ignore_unused_variable_warning(r);
@@ -810,14 +810,14 @@
   };
 
   // A Sequence is inherently mutable
-  BOOST_concept(Sequence,(S))
+  NDNBOOST_concept(Sequence,(S))
     : Mutable_ForwardContainer<S>
       // Matt Austern's book puts DefaultConstructible here, the C++
       // standard places it in Container --JGS
       // ... so why aren't we following the standard?  --DWA
     , DefaultConstructible<S>
   {
-      BOOST_CONCEPT_USAGE(Sequence)
+      NDNBOOST_CONCEPT_USAGE(Sequence)
       {
           S
               c(n),
@@ -851,10 +851,10 @@
       typename S::iterator p, q;
   };
 
-  BOOST_concept(FrontInsertionSequence,(S))
+  NDNBOOST_concept(FrontInsertionSequence,(S))
     : Sequence<S>
   {
-      BOOST_CONCEPT_USAGE(FrontInsertionSequence)
+      NDNBOOST_CONCEPT_USAGE(FrontInsertionSequence)
       {
           c.push_front(t);
           c.pop_front();
@@ -864,10 +864,10 @@
       typename S::value_type t;
   };
 
-  BOOST_concept(BackInsertionSequence,(S))
+  NDNBOOST_concept(BackInsertionSequence,(S))
     : Sequence<S>
   {
-      BOOST_CONCEPT_USAGE(BackInsertionSequence)
+      NDNBOOST_CONCEPT_USAGE(BackInsertionSequence)
       {
           c.push_back(t);
           c.pop_back();
@@ -885,7 +885,7 @@
       typename S::value_type t;
   };
 
-  BOOST_concept(AssociativeContainer,(C))
+  NDNBOOST_concept(AssociativeContainer,(C))
     : ForwardContainer<C>
     , DefaultConstructible<C>
   {
@@ -894,7 +894,7 @@
       typedef typename C::value_compare value_compare;
       typedef typename C::iterator iterator;
 
-      BOOST_CONCEPT_USAGE(AssociativeContainer)
+      NDNBOOST_CONCEPT_USAGE(AssociativeContainer)
       {
           i = c.find(k);
           r = c.equal_range(k);
@@ -902,10 +902,10 @@
           c.erase(i);
           c.erase(r.first, r.second);
           const_constraints(c);
-          BOOST_CONCEPT_ASSERT((BinaryPredicate<key_compare,key_type,key_type>));
+          NDNBOOST_CONCEPT_ASSERT((BinaryPredicate<key_compare,key_type,key_type>));
 
           typedef typename AssociativeContainer::value_type value_type_;
-          BOOST_CONCEPT_ASSERT((BinaryPredicate<value_compare,value_type_,value_type_>));
+          NDNBOOST_CONCEPT_ASSERT((BinaryPredicate<value_compare,value_type_,value_type_>));
       }
 
       // Redundant with the base concept, but it helps below.
@@ -927,10 +927,10 @@
       typename C::size_type n;
   };
 
-  BOOST_concept(UniqueAssociativeContainer,(C))
+  NDNBOOST_concept(UniqueAssociativeContainer,(C))
     : AssociativeContainer<C>
   {
-      BOOST_CONCEPT_USAGE(UniqueAssociativeContainer)
+      NDNBOOST_CONCEPT_USAGE(UniqueAssociativeContainer)
       {
           C c(first, last);
 
@@ -945,10 +945,10 @@
       typename C::value_type* first, *last;
   };
 
-  BOOST_concept(MultipleAssociativeContainer,(C))
+  NDNBOOST_concept(MultipleAssociativeContainer,(C))
     : AssociativeContainer<C>
   {
-      BOOST_CONCEPT_USAGE(MultipleAssociativeContainer)
+      NDNBOOST_CONCEPT_USAGE(MultipleAssociativeContainer)
       {
           C c(first, last);
 
@@ -964,35 +964,35 @@
       typename C::value_type* first, *last;
   };
 
-  BOOST_concept(SimpleAssociativeContainer,(C))
+  NDNBOOST_concept(SimpleAssociativeContainer,(C))
     : AssociativeContainer<C>
   {
-      BOOST_CONCEPT_USAGE(SimpleAssociativeContainer)
+      NDNBOOST_CONCEPT_USAGE(SimpleAssociativeContainer)
       {
           typedef typename C::key_type key_type;
           typedef typename C::value_type value_type;
-          BOOST_MPL_ASSERT((ndnboost::is_same<key_type,value_type>));
+          NDNBOOST_MPL_ASSERT((ndnboost::is_same<key_type,value_type>));
       }
   };
 
-  BOOST_concept(PairAssociativeContainer,(C))
+  NDNBOOST_concept(PairAssociativeContainer,(C))
     : AssociativeContainer<C>
   {
-      BOOST_CONCEPT_USAGE(PairAssociativeContainer)
+      NDNBOOST_CONCEPT_USAGE(PairAssociativeContainer)
       {
           typedef typename C::key_type key_type;
           typedef typename C::value_type value_type;
           typedef typename C::mapped_type mapped_type;
           typedef std::pair<const key_type, mapped_type> required_value_type;
-          BOOST_MPL_ASSERT((ndnboost::is_same<value_type,required_value_type>));
+          NDNBOOST_MPL_ASSERT((ndnboost::is_same<value_type,required_value_type>));
       }
   };
 
-  BOOST_concept(SortedAssociativeContainer,(C))
+  NDNBOOST_concept(SortedAssociativeContainer,(C))
     : AssociativeContainer<C>
     , ReversibleContainer<C>
   {
-      BOOST_CONCEPT_USAGE(SortedAssociativeContainer)
+      NDNBOOST_CONCEPT_USAGE(SortedAssociativeContainer)
       {
           C
               c(kc),
@@ -1039,9 +1039,9 @@
 
   // HashedAssociativeContainer
 
-  BOOST_concept(Collection,(C))
+  NDNBOOST_concept(Collection,(C))
   {
-      BOOST_CONCEPT_USAGE(Collection)
+      NDNBOOST_CONCEPT_USAGE(Collection)
       {
         ndnboost::function_requires<ndnboost::InputIteratorConcept<iterator> >();
         ndnboost::function_requires<ndnboost::InputIteratorConcept<const_iterator> >();
@@ -1079,5 +1079,5 @@
 
 # include <ndnboost/concept/detail/concept_undef.hpp>
 
-#endif // BOOST_CONCEPT_CHECKS_HPP
+#endif // NDNBOOST_CONCEPT_CHECKS_HPP
 
diff --git a/include/ndnboost/config.hpp b/include/ndnboost/config.hpp
index eeaf79f..0b38d4b 100644
--- a/include/ndnboost/config.hpp
+++ b/include/ndnboost/config.hpp
@@ -14,49 +14,49 @@
 //           DO NOT MODIFY THIS FILE!
 //
 
-#ifndef BOOST_CONFIG_HPP
-#define BOOST_CONFIG_HPP
+#ifndef NDNBOOST_CONFIG_HPP
+#define NDNBOOST_CONFIG_HPP
 
 // if we don't have a user config, then use the default location:
-#if !defined(BOOST_USER_CONFIG) && !defined(BOOST_NO_USER_CONFIG)
-#  define BOOST_USER_CONFIG <ndnboost/config/user.hpp>
+#if !defined(NDNBOOST_USER_CONFIG) && !defined(NDNBOOST_NO_USER_CONFIG)
+#  define NDNBOOST_USER_CONFIG <ndnboost/config/user.hpp>
 #endif
 // include it first:
-#ifdef BOOST_USER_CONFIG
-#  include BOOST_USER_CONFIG
+#ifdef NDNBOOST_USER_CONFIG
+#  include NDNBOOST_USER_CONFIG
 #endif
 
 // if we don't have a compiler config set, try and find one:
-#if !defined(BOOST_COMPILER_CONFIG) && !defined(BOOST_NO_COMPILER_CONFIG) && !defined(BOOST_NO_CONFIG)
+#if !defined(NDNBOOST_COMPILER_CONFIG) && !defined(NDNBOOST_NO_COMPILER_CONFIG) && !defined(NDNBOOST_NO_CONFIG)
 #  include <ndnboost/config/select_compiler_config.hpp>
 #endif
 // if we have a compiler config, include it now:
-#ifdef BOOST_COMPILER_CONFIG
-#  include BOOST_COMPILER_CONFIG
+#ifdef NDNBOOST_COMPILER_CONFIG
+#  include NDNBOOST_COMPILER_CONFIG
 #endif
 
 // if we don't have a std library config set, try and find one:
-#if !defined(BOOST_STDLIB_CONFIG) && !defined(BOOST_NO_STDLIB_CONFIG) && !defined(BOOST_NO_CONFIG) && defined(__cplusplus)
+#if !defined(NDNBOOST_STDLIB_CONFIG) && !defined(NDNBOOST_NO_STDLIB_CONFIG) && !defined(NDNBOOST_NO_CONFIG) && defined(__cplusplus)
 #  include <ndnboost/config/select_stdlib_config.hpp>
 #endif
 // if we have a std library config, include it now:
-#ifdef BOOST_STDLIB_CONFIG
-#  include BOOST_STDLIB_CONFIG
+#ifdef NDNBOOST_STDLIB_CONFIG
+#  include NDNBOOST_STDLIB_CONFIG
 #endif
 
 // if we don't have a platform config set, try and find one:
-#if !defined(BOOST_PLATFORM_CONFIG) && !defined(BOOST_NO_PLATFORM_CONFIG) && !defined(BOOST_NO_CONFIG)
+#if !defined(NDNBOOST_PLATFORM_CONFIG) && !defined(NDNBOOST_NO_PLATFORM_CONFIG) && !defined(NDNBOOST_NO_CONFIG)
 #  include <ndnboost/config/select_platform_config.hpp>
 #endif
 // if we have a platform config, include it now:
-#ifdef BOOST_PLATFORM_CONFIG
-#  include BOOST_PLATFORM_CONFIG
+#ifdef NDNBOOST_PLATFORM_CONFIG
+#  include NDNBOOST_PLATFORM_CONFIG
 #endif
 
 // get config suffix code:
 #include <ndnboost/config/suffix.hpp>
 
-#endif  // BOOST_CONFIG_HPP
+#endif  // NDNBOOST_CONFIG_HPP
 
 
 
diff --git a/include/ndnboost/config/abi_prefix.hpp b/include/ndnboost/config/abi_prefix.hpp
index 4f70b1b..f1299ed 100644
--- a/include/ndnboost/config/abi_prefix.hpp
+++ b/include/ndnboost/config/abi_prefix.hpp
@@ -6,8 +6,8 @@
 // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
 // http://www.boost.org/LICENSE_1_0.txt).
 
-#ifndef BOOST_CONFIG_ABI_PREFIX_HPP
-# define BOOST_CONFIG_ABI_PREFIX_HPP
+#ifndef NDNBOOST_CONFIG_ABI_PREFIX_HPP
+# define NDNBOOST_CONFIG_ABI_PREFIX_HPP
 #else
 # error double inclusion of header ndnboost/config/abi_prefix.hpp is an error
 #endif
@@ -15,8 +15,8 @@
 #include <ndnboost/config.hpp>
 
 // this must occur after all other includes and before any code appears:
-#ifdef BOOST_HAS_ABI_HEADERS
-#  include BOOST_ABI_PREFIX
+#ifdef NDNBOOST_HAS_ABI_HEADERS
+#  include NDNBOOST_ABI_PREFIX
 #endif
 
 #if defined( __BORLANDC__ )
diff --git a/include/ndnboost/config/abi_suffix.hpp b/include/ndnboost/config/abi_suffix.hpp
index 054843c..9d65b83 100644
--- a/include/ndnboost/config/abi_suffix.hpp
+++ b/include/ndnboost/config/abi_suffix.hpp
@@ -9,15 +9,15 @@
 // This header should be #included AFTER code that was preceded by a #include
 // <ndnboost/config/abi_prefix.hpp>.
 
-#ifndef BOOST_CONFIG_ABI_PREFIX_HPP
+#ifndef NDNBOOST_CONFIG_ABI_PREFIX_HPP
 # error Header ndnboost/config/abi_suffix.hpp must only be used after ndnboost/config/abi_prefix.hpp
 #else
-# undef BOOST_CONFIG_ABI_PREFIX_HPP
+# undef NDNBOOST_CONFIG_ABI_PREFIX_HPP
 #endif
 
 // the suffix header occurs after all of our code:
-#ifdef BOOST_HAS_ABI_HEADERS
-#  include BOOST_ABI_SUFFIX
+#ifdef NDNBOOST_HAS_ABI_HEADERS
+#  include NDNBOOST_ABI_SUFFIX
 #endif
 
 #if defined( __BORLANDC__ )
diff --git a/include/ndnboost/config/auto_link.hpp b/include/ndnboost/config/auto_link.hpp
index 002bfb9..95cb4ab 100644
--- a/include/ndnboost/config/auto_link.hpp
+++ b/include/ndnboost/config/auto_link.hpp
@@ -17,15 +17,15 @@
 
 Before including this header you must define one or more of define the following macros:
 
-BOOST_LIB_NAME:           Required: A string containing the basename of the library,
+NDNBOOST_LIB_NAME:           Required: A string containing the basename of the library,
                           for example boost_regex.
-BOOST_LIB_TOOLSET:        Optional: the base name of the toolset.
-BOOST_DYN_LINK:           Optional: when set link to dll rather than static library.
-BOOST_LIB_DIAGNOSTIC:     Optional: when set the header will print out the name
+NDNBOOST_LIB_TOOLSET:        Optional: the base name of the toolset.
+NDNBOOST_DYN_LINK:           Optional: when set link to dll rather than static library.
+NDNBOOST_LIB_DIAGNOSTIC:     Optional: when set the header will print out the name
                           of the library selected (useful for debugging).
-BOOST_AUTO_LINK_NOMANGLE: Specifies that we should link to BOOST_LIB_NAME.lib,
+NDNBOOST_AUTO_LINK_NOMANGLE: Specifies that we should link to NDNBOOST_LIB_NAME.lib,
                           rather than a mangled-name version.
-BOOST_AUTO_LINK_TAGGED:   Specifies that we link to libraries built with the --layout=tagged option.
+NDNBOOST_AUTO_LINK_TAGGED:   Specifies that we link to libraries built with the --layout=tagged option.
                           This is essentially the same as the default name-mangled version, but without
                           the compiler name and version, or the Boost version.  Just the build options.
 
@@ -39,26 +39,26 @@
 selected here, the name of the lib is selected according to the following
 formula:
 
-BOOST_LIB_PREFIX
-   + BOOST_LIB_NAME
+NDNBOOST_LIB_PREFIX
+   + NDNBOOST_LIB_NAME
    + "_"
-   + BOOST_LIB_TOOLSET
-   + BOOST_LIB_THREAD_OPT
-   + BOOST_LIB_RT_OPT
+   + NDNBOOST_LIB_TOOLSET
+   + NDNBOOST_LIB_THREAD_OPT
+   + NDNBOOST_LIB_RT_OPT
    "-"
-   + BOOST_LIB_VERSION
+   + NDNBOOST_LIB_VERSION
 
 These are defined as:
 
-BOOST_LIB_PREFIX:     "lib" for static libraries otherwise "".
+NDNBOOST_LIB_PREFIX:     "lib" for static libraries otherwise "".
 
-BOOST_LIB_NAME:       The base name of the lib ( for example boost_regex).
+NDNBOOST_LIB_NAME:       The base name of the lib ( for example boost_regex).
 
-BOOST_LIB_TOOLSET:    The compiler toolset name (vc6, vc7, bcb5 etc).
+NDNBOOST_LIB_TOOLSET:    The compiler toolset name (vc6, vc7, bcb5 etc).
 
-BOOST_LIB_THREAD_OPT: "-mt" for multithread builds, otherwise nothing.
+NDNBOOST_LIB_THREAD_OPT: "-mt" for multithread builds, otherwise nothing.
 
-BOOST_LIB_RT_OPT:     A suffix that indicates the runtime library used,
+NDNBOOST_LIB_RT_OPT:     A suffix that indicates the runtime library used,
                       contains one or more of the following letters after
                       a hyphen:
 
@@ -69,37 +69,37 @@
                       p      STLport build.
                       n      STLport build without its IOStreams.
 
-BOOST_LIB_VERSION:    The Boost version, in the form x_y, for Boost version x.y.
+NDNBOOST_LIB_VERSION:    The Boost version, in the form x_y, for Boost version x.y.
 
 
 ***************************************************************************/
 
 #ifdef __cplusplus
-#  ifndef BOOST_CONFIG_HPP
+#  ifndef NDNBOOST_CONFIG_HPP
 #     include <ndnboost/config.hpp>
 #  endif
 #elif defined(_MSC_VER) && !defined(__MWERKS__) && !defined(__EDG_VERSION__)
 //
 // C language compatability (no, honestly)
 //
-#  define BOOST_MSVC _MSC_VER
-#  define BOOST_STRINGIZE(X) BOOST_DO_STRINGIZE(X)
-#  define BOOST_DO_STRINGIZE(X) #X
+#  define NDNBOOST_MSVC _MSC_VER
+#  define NDNBOOST_STRINGIZE(X) NDNBOOST_DO_STRINGIZE(X)
+#  define NDNBOOST_DO_STRINGIZE(X) #X
 #endif
 //
 // Only include what follows for known and supported compilers:
 //
-#if defined(BOOST_MSVC) \
+#if defined(NDNBOOST_MSVC) \
     || defined(__BORLANDC__) \
     || (defined(__MWERKS__) && defined(_WIN32) && (__MWERKS__ >= 0x3000)) \
     || (defined(__ICL) && defined(_MSC_EXTENSIONS) && (_MSC_VER >= 1200))
 
-#ifndef BOOST_VERSION_HPP
+#ifndef NDNBOOST_VERSION_HPP
 #  include <ndnboost/version.hpp>
 #endif
 
-#ifndef BOOST_LIB_NAME
-#  error "Macro BOOST_LIB_NAME not set (internal error)"
+#ifndef NDNBOOST_LIB_NAME
+#  error "Macro NDNBOOST_LIB_NAME not set (internal error)"
 #endif
 
 //
@@ -113,79 +113,79 @@
 //
 // select toolset if not defined already:
 //
-#ifndef BOOST_LIB_TOOLSET
-#  if defined(BOOST_MSVC) && (BOOST_MSVC < 1200)
+#ifndef NDNBOOST_LIB_TOOLSET
+#  if defined(NDNBOOST_MSVC) && (NDNBOOST_MSVC < 1200)
     // Note: no compilers before 1200 are supported
-#  elif defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
+#  elif defined(NDNBOOST_MSVC) && (NDNBOOST_MSVC < 1300)
 
 #    ifdef UNDER_CE
        // eVC4:
-#      define BOOST_LIB_TOOLSET "evc4"
+#      define NDNBOOST_LIB_TOOLSET "evc4"
 #    else
        // vc6:
-#      define BOOST_LIB_TOOLSET "vc6"
+#      define NDNBOOST_LIB_TOOLSET "vc6"
 #    endif
 
-#  elif defined(BOOST_MSVC) && (BOOST_MSVC < 1310)
+#  elif defined(NDNBOOST_MSVC) && (NDNBOOST_MSVC < 1310)
 
      // vc7:
-#    define BOOST_LIB_TOOLSET "vc7"
+#    define NDNBOOST_LIB_TOOLSET "vc7"
 
-#  elif defined(BOOST_MSVC) && (BOOST_MSVC < 1400)
+#  elif defined(NDNBOOST_MSVC) && (NDNBOOST_MSVC < 1400)
 
      // vc71:
-#    define BOOST_LIB_TOOLSET "vc71"
+#    define NDNBOOST_LIB_TOOLSET "vc71"
 
-#  elif defined(BOOST_MSVC) && (BOOST_MSVC < 1500)
+#  elif defined(NDNBOOST_MSVC) && (NDNBOOST_MSVC < 1500)
 
      // vc80:
-#    define BOOST_LIB_TOOLSET "vc80"
+#    define NDNBOOST_LIB_TOOLSET "vc80"
 
-#  elif defined(BOOST_MSVC) && (BOOST_MSVC < 1600)
+#  elif defined(NDNBOOST_MSVC) && (NDNBOOST_MSVC < 1600)
 
      // vc90:
-#    define BOOST_LIB_TOOLSET "vc90"
+#    define NDNBOOST_LIB_TOOLSET "vc90"
 
-#  elif defined(BOOST_MSVC) && (BOOST_MSVC < 1700)
+#  elif defined(NDNBOOST_MSVC) && (NDNBOOST_MSVC < 1700)
 
      // vc10:
-#    define BOOST_LIB_TOOLSET "vc100"
+#    define NDNBOOST_LIB_TOOLSET "vc100"
 
-#  elif defined(BOOST_MSVC)
+#  elif defined(NDNBOOST_MSVC)
 
      // vc11:
-#    define BOOST_LIB_TOOLSET "vc110"
+#    define NDNBOOST_LIB_TOOLSET "vc110"
 
 #  elif defined(__BORLANDC__)
 
      // CBuilder 6:
-#    define BOOST_LIB_TOOLSET "bcb"
+#    define NDNBOOST_LIB_TOOLSET "bcb"
 
 #  elif defined(__ICL)
 
      // Intel C++, no version number:
-#    define BOOST_LIB_TOOLSET "iw"
+#    define NDNBOOST_LIB_TOOLSET "iw"
 
 #  elif defined(__MWERKS__) && (__MWERKS__ <= 0x31FF )
 
      // Metrowerks CodeWarrior 8.x
-#    define BOOST_LIB_TOOLSET "cw8"
+#    define NDNBOOST_LIB_TOOLSET "cw8"
 
 #  elif defined(__MWERKS__) && (__MWERKS__ <= 0x32FF )
 
      // Metrowerks CodeWarrior 9.x
-#    define BOOST_LIB_TOOLSET "cw9"
+#    define NDNBOOST_LIB_TOOLSET "cw9"
 
 #  endif
-#endif // BOOST_LIB_TOOLSET
+#endif // NDNBOOST_LIB_TOOLSET
 
 //
 // select thread opt:
 //
 #if defined(_MT) || defined(__MT__)
-#  define BOOST_LIB_THREAD_OPT "-mt"
+#  define NDNBOOST_LIB_THREAD_OPT "-mt"
 #else
-#  define BOOST_LIB_THREAD_OPT
+#  define NDNBOOST_LIB_THREAD_OPT
 #endif
 
 #if defined(_MSC_VER) || defined(__MWERKS__)
@@ -195,51 +195,51 @@
 #     if (defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)) && (defined(_STLP_OWN_IOSTREAMS) || defined(__STL_OWN_IOSTREAMS))
 
 #        if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))\
-               && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
-#            define BOOST_LIB_RT_OPT "-gydp"
+               && defined(NDNBOOST_DEBUG_PYTHON) && defined(NDNBOOST_LINKING_PYTHON)
+#            define NDNBOOST_LIB_RT_OPT "-gydp"
 #        elif defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))
-#            define BOOST_LIB_RT_OPT "-gdp"
+#            define NDNBOOST_LIB_RT_OPT "-gdp"
 #        elif defined(_DEBUG)\
-               && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
-#            define BOOST_LIB_RT_OPT "-gydp"
+               && defined(NDNBOOST_DEBUG_PYTHON) && defined(NDNBOOST_LINKING_PYTHON)
+#            define NDNBOOST_LIB_RT_OPT "-gydp"
 #            pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1")
 #            error "Build options aren't compatible with pre-built libraries"
 #        elif defined(_DEBUG)
-#            define BOOST_LIB_RT_OPT "-gdp"
+#            define NDNBOOST_LIB_RT_OPT "-gdp"
 #            pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1")
 #            error "Build options aren't compatible with pre-built libraries"
 #        else
-#            define BOOST_LIB_RT_OPT "-p"
+#            define NDNBOOST_LIB_RT_OPT "-p"
 #        endif
 
 #     elif defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)
 
 #        if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))\
-               && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
-#            define BOOST_LIB_RT_OPT "-gydpn"
+               && defined(NDNBOOST_DEBUG_PYTHON) && defined(NDNBOOST_LINKING_PYTHON)
+#            define NDNBOOST_LIB_RT_OPT "-gydpn"
 #        elif defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))
-#            define BOOST_LIB_RT_OPT "-gdpn"
+#            define NDNBOOST_LIB_RT_OPT "-gdpn"
 #        elif defined(_DEBUG)\
-               && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
-#            define BOOST_LIB_RT_OPT "-gydpn"
+               && defined(NDNBOOST_DEBUG_PYTHON) && defined(NDNBOOST_LINKING_PYTHON)
+#            define NDNBOOST_LIB_RT_OPT "-gydpn"
 #            pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1")
 #            error "Build options aren't compatible with pre-built libraries"
 #        elif defined(_DEBUG)
-#            define BOOST_LIB_RT_OPT "-gdpn"
+#            define NDNBOOST_LIB_RT_OPT "-gdpn"
 #            pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1")
 #            error "Build options aren't compatible with pre-built libraries"
 #        else
-#            define BOOST_LIB_RT_OPT "-pn"
+#            define NDNBOOST_LIB_RT_OPT "-pn"
 #        endif
 
 #     else
 
-#        if defined(_DEBUG) && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
-#            define BOOST_LIB_RT_OPT "-gyd"
+#        if defined(_DEBUG) && defined(NDNBOOST_DEBUG_PYTHON) && defined(NDNBOOST_LINKING_PYTHON)
+#            define NDNBOOST_LIB_RT_OPT "-gyd"
 #        elif defined(_DEBUG)
-#            define BOOST_LIB_RT_OPT "-gd"
+#            define NDNBOOST_LIB_RT_OPT "-gd"
 #        else
-#            define BOOST_LIB_RT_OPT
+#            define NDNBOOST_LIB_RT_OPT
 #        endif
 
 #     endif
@@ -249,52 +249,52 @@
 #     if (defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)) && (defined(_STLP_OWN_IOSTREAMS) || defined(__STL_OWN_IOSTREAMS))
 
 #        if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))\
-               && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
-#            define BOOST_LIB_RT_OPT "-sgydp"
+               && defined(NDNBOOST_DEBUG_PYTHON) && defined(NDNBOOST_LINKING_PYTHON)
+#            define NDNBOOST_LIB_RT_OPT "-sgydp"
 #        elif defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))
-#            define BOOST_LIB_RT_OPT "-sgdp"
+#            define NDNBOOST_LIB_RT_OPT "-sgdp"
 #        elif defined(_DEBUG)\
-               && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
-#             define BOOST_LIB_RT_OPT "-sgydp"
+               && defined(NDNBOOST_DEBUG_PYTHON) && defined(NDNBOOST_LINKING_PYTHON)
+#             define NDNBOOST_LIB_RT_OPT "-sgydp"
 #            pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1")
 #            error "Build options aren't compatible with pre-built libraries"
 #        elif defined(_DEBUG)
-#             define BOOST_LIB_RT_OPT "-sgdp"
+#             define NDNBOOST_LIB_RT_OPT "-sgdp"
 #            pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1")
 #            error "Build options aren't compatible with pre-built libraries"
 #        else
-#            define BOOST_LIB_RT_OPT "-sp"
+#            define NDNBOOST_LIB_RT_OPT "-sp"
 #        endif
 
 #     elif defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)
 
 #        if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))\
-               && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
-#            define BOOST_LIB_RT_OPT "-sgydpn"
+               && defined(NDNBOOST_DEBUG_PYTHON) && defined(NDNBOOST_LINKING_PYTHON)
+#            define NDNBOOST_LIB_RT_OPT "-sgydpn"
 #        elif defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))
-#            define BOOST_LIB_RT_OPT "-sgdpn"
+#            define NDNBOOST_LIB_RT_OPT "-sgdpn"
 #        elif defined(_DEBUG)\
-               && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
-#             define BOOST_LIB_RT_OPT "-sgydpn"
+               && defined(NDNBOOST_DEBUG_PYTHON) && defined(NDNBOOST_LINKING_PYTHON)
+#             define NDNBOOST_LIB_RT_OPT "-sgydpn"
 #            pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1")
 #            error "Build options aren't compatible with pre-built libraries"
 #        elif defined(_DEBUG)
-#             define BOOST_LIB_RT_OPT "-sgdpn"
+#             define NDNBOOST_LIB_RT_OPT "-sgdpn"
 #            pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1")
 #            error "Build options aren't compatible with pre-built libraries"
 #        else
-#            define BOOST_LIB_RT_OPT "-spn"
+#            define NDNBOOST_LIB_RT_OPT "-spn"
 #        endif
 
 #     else
 
 #        if defined(_DEBUG)\
-               && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
-#             define BOOST_LIB_RT_OPT "-sgyd"
+               && defined(NDNBOOST_DEBUG_PYTHON) && defined(NDNBOOST_LINKING_PYTHON)
+#             define NDNBOOST_LIB_RT_OPT "-sgyd"
 #        elif defined(_DEBUG)
-#             define BOOST_LIB_RT_OPT "-sgd"
+#             define NDNBOOST_LIB_RT_OPT "-sgd"
 #        else
-#            define BOOST_LIB_RT_OPT "-s"
+#            define NDNBOOST_LIB_RT_OPT "-s"
 #        endif
 
 #     endif
@@ -307,7 +307,7 @@
 // figure out whether we want the debug builds or not:
 //
 #if __BORLANDC__ > 0x561
-#pragma defineonoption BOOST_BORLAND_DEBUG -v
+#pragma defineonoption NDNBOOST_BORLAND_DEBUG -v
 #endif
 //
 // sanity check:
@@ -318,28 +318,28 @@
 
 #  ifdef _RTLDLL
 
-#     if defined(BOOST_BORLAND_DEBUG)\
-               && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
-#         define BOOST_LIB_RT_OPT "-yd"
-#     elif defined(BOOST_BORLAND_DEBUG)
-#         define BOOST_LIB_RT_OPT "-d"
-#     elif defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
-#         define BOOST_LIB_RT_OPT -y
+#     if defined(NDNBOOST_BORLAND_DEBUG)\
+               && defined(NDNBOOST_DEBUG_PYTHON) && defined(NDNBOOST_LINKING_PYTHON)
+#         define NDNBOOST_LIB_RT_OPT "-yd"
+#     elif defined(NDNBOOST_BORLAND_DEBUG)
+#         define NDNBOOST_LIB_RT_OPT "-d"
+#     elif defined(NDNBOOST_DEBUG_PYTHON) && defined(NDNBOOST_LINKING_PYTHON)
+#         define NDNBOOST_LIB_RT_OPT -y
 #     else
-#         define BOOST_LIB_RT_OPT
+#         define NDNBOOST_LIB_RT_OPT
 #     endif
 
 #  else
 
-#     if defined(BOOST_BORLAND_DEBUG)\
-               && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
-#         define BOOST_LIB_RT_OPT "-syd"
-#     elif defined(BOOST_BORLAND_DEBUG)
-#         define BOOST_LIB_RT_OPT "-sd"
-#     elif defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
-#         define BOOST_LIB_RT_OPT "-sy"
+#     if defined(NDNBOOST_BORLAND_DEBUG)\
+               && defined(NDNBOOST_DEBUG_PYTHON) && defined(NDNBOOST_LINKING_PYTHON)
+#         define NDNBOOST_LIB_RT_OPT "-syd"
+#     elif defined(NDNBOOST_BORLAND_DEBUG)
+#         define NDNBOOST_LIB_RT_OPT "-sd"
+#     elif defined(NDNBOOST_DEBUG_PYTHON) && defined(NDNBOOST_LINKING_PYTHON)
+#         define NDNBOOST_LIB_RT_OPT "-sy"
 #     else
-#         define BOOST_LIB_RT_OPT "-s"
+#         define NDNBOOST_LIB_RT_OPT "-s"
 #     endif
 
 #  endif
@@ -349,38 +349,38 @@
 //
 // select linkage opt:
 //
-#if (defined(_DLL) || defined(_RTLDLL)) && defined(BOOST_DYN_LINK)
-#  define BOOST_LIB_PREFIX
-#elif defined(BOOST_DYN_LINK)
+#if (defined(_DLL) || defined(_RTLDLL)) && defined(NDNBOOST_DYN_LINK)
+#  define NDNBOOST_LIB_PREFIX
+#elif defined(NDNBOOST_DYN_LINK)
 #  error "Mixing a dll boost library with a static runtime is a really bad idea..."
 #else
-#  define BOOST_LIB_PREFIX "lib"
+#  define NDNBOOST_LIB_PREFIX "lib"
 #endif
 
 //
 // now include the lib:
 //
-#if defined(BOOST_LIB_NAME) \
-      && defined(BOOST_LIB_PREFIX) \
-      && defined(BOOST_LIB_TOOLSET) \
-      && defined(BOOST_LIB_THREAD_OPT) \
-      && defined(BOOST_LIB_RT_OPT) \
-      && defined(BOOST_LIB_VERSION)
+#if defined(NDNBOOST_LIB_NAME) \
+      && defined(NDNBOOST_LIB_PREFIX) \
+      && defined(NDNBOOST_LIB_TOOLSET) \
+      && defined(NDNBOOST_LIB_THREAD_OPT) \
+      && defined(NDNBOOST_LIB_RT_OPT) \
+      && defined(NDNBOOST_LIB_VERSION)
 
-#ifdef BOOST_AUTO_LINK_TAGGED
-#  pragma comment(lib, BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT ".lib")
-#  ifdef BOOST_LIB_DIAGNOSTIC
-#     pragma message ("Linking to lib file: " BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT ".lib")
+#ifdef NDNBOOST_AUTO_LINK_TAGGED
+#  pragma comment(lib, NDNBOOST_LIB_PREFIX NDNBOOST_STRINGIZE(NDNBOOST_LIB_NAME) NDNBOOST_LIB_THREAD_OPT NDNBOOST_LIB_RT_OPT ".lib")
+#  ifdef NDNBOOST_LIB_DIAGNOSTIC
+#     pragma message ("Linking to lib file: " NDNBOOST_LIB_PREFIX NDNBOOST_STRINGIZE(NDNBOOST_LIB_NAME) NDNBOOST_LIB_THREAD_OPT NDNBOOST_LIB_RT_OPT ".lib")
 #  endif
-#elif defined(BOOST_AUTO_LINK_NOMANGLE)
-#  pragma comment(lib, BOOST_STRINGIZE(BOOST_LIB_NAME) ".lib")
-#  ifdef BOOST_LIB_DIAGNOSTIC
-#     pragma message ("Linking to lib file: " BOOST_STRINGIZE(BOOST_LIB_NAME) ".lib")
+#elif defined(NDNBOOST_AUTO_LINK_NOMANGLE)
+#  pragma comment(lib, NDNBOOST_STRINGIZE(NDNBOOST_LIB_NAME) ".lib")
+#  ifdef NDNBOOST_LIB_DIAGNOSTIC
+#     pragma message ("Linking to lib file: " NDNBOOST_STRINGIZE(NDNBOOST_LIB_NAME) ".lib")
 #  endif
 #else
-#  pragma comment(lib, BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) "-" BOOST_LIB_TOOLSET BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT "-" BOOST_LIB_VERSION ".lib")
-#  ifdef BOOST_LIB_DIAGNOSTIC
-#     pragma message ("Linking to lib file: " BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) "-" BOOST_LIB_TOOLSET BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT "-" BOOST_LIB_VERSION ".lib")
+#  pragma comment(lib, NDNBOOST_LIB_PREFIX NDNBOOST_STRINGIZE(NDNBOOST_LIB_NAME) "-" NDNBOOST_LIB_TOOLSET NDNBOOST_LIB_THREAD_OPT NDNBOOST_LIB_RT_OPT "-" NDNBOOST_LIB_VERSION ".lib")
+#  ifdef NDNBOOST_LIB_DIAGNOSTIC
+#     pragma message ("Linking to lib file: " NDNBOOST_LIB_PREFIX NDNBOOST_STRINGIZE(NDNBOOST_LIB_NAME) "-" NDNBOOST_LIB_TOOLSET NDNBOOST_LIB_THREAD_OPT NDNBOOST_LIB_RT_OPT "-" NDNBOOST_LIB_VERSION ".lib")
 #  endif
 #endif
 
@@ -394,30 +394,30 @@
 //
 // finally undef any macros we may have set:
 //
-#ifdef BOOST_LIB_PREFIX
-#  undef BOOST_LIB_PREFIX
+#ifdef NDNBOOST_LIB_PREFIX
+#  undef NDNBOOST_LIB_PREFIX
 #endif
-#if defined(BOOST_LIB_NAME)
-#  undef BOOST_LIB_NAME
+#if defined(NDNBOOST_LIB_NAME)
+#  undef NDNBOOST_LIB_NAME
 #endif
 // Don't undef this one: it can be set by the user and should be the 
 // same for all libraries:
-//#if defined(BOOST_LIB_TOOLSET)
-//#  undef BOOST_LIB_TOOLSET
+//#if defined(NDNBOOST_LIB_TOOLSET)
+//#  undef NDNBOOST_LIB_TOOLSET
 //#endif
-#if defined(BOOST_LIB_THREAD_OPT)
-#  undef BOOST_LIB_THREAD_OPT
+#if defined(NDNBOOST_LIB_THREAD_OPT)
+#  undef NDNBOOST_LIB_THREAD_OPT
 #endif
-#if defined(BOOST_LIB_RT_OPT)
-#  undef BOOST_LIB_RT_OPT
+#if defined(NDNBOOST_LIB_RT_OPT)
+#  undef NDNBOOST_LIB_RT_OPT
 #endif
-#if defined(BOOST_LIB_LINK_OPT)
-#  undef BOOST_LIB_LINK_OPT
+#if defined(NDNBOOST_LIB_LINK_OPT)
+#  undef NDNBOOST_LIB_LINK_OPT
 #endif
-#if defined(BOOST_LIB_DEBUG_OPT)
-#  undef BOOST_LIB_DEBUG_OPT
+#if defined(NDNBOOST_LIB_DEBUG_OPT)
+#  undef NDNBOOST_LIB_DEBUG_OPT
 #endif
-#if defined(BOOST_DYN_LINK)
-#  undef BOOST_DYN_LINK
+#if defined(NDNBOOST_DYN_LINK)
+#  undef NDNBOOST_DYN_LINK
 #endif
 
diff --git a/include/ndnboost/config/compiler/borland.hpp b/include/ndnboost/config/compiler/borland.hpp
index 99965c4..7826232 100644
--- a/include/ndnboost/config/compiler/borland.hpp
+++ b/include/ndnboost/config/compiler/borland.hpp
@@ -18,7 +18,7 @@
 
 // last known compiler version:
 #if (__BORLANDC__ > 0x613)
-//#  if defined(BOOST_ASSERT_CONFIG)
+//#  if defined(NDNBOOST_ASSERT_CONFIG)
 #     error "Unknown compiler version - please run the configure tests and report the results"
 //#  else
 //#     pragma message( "Unknown compiler version - please run the configure tests and report the results")
@@ -30,31 +30,31 @@
 //
 // Support macros to help with standard library detection
 #if (__BORLANDC__ < 0x560) || defined(_USE_OLD_RW_STL)
-#  define BOOST_BCB_WITH_ROGUE_WAVE
+#  define NDNBOOST_BCB_WITH_ROGUE_WAVE
 #elif __BORLANDC__ < 0x570
-#  define BOOST_BCB_WITH_STLPORT
+#  define NDNBOOST_BCB_WITH_STLPORT
 #else
-#  define BOOST_BCB_WITH_DINKUMWARE
+#  define NDNBOOST_BCB_WITH_DINKUMWARE
 #endif
 
 //
 // Version 5.0 and below:
 #   if __BORLANDC__ <= 0x0550
 // Borland C++Builder 4 and 5:
-#     define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
+#     define NDNBOOST_NO_MEMBER_TEMPLATE_FRIENDS
 #     if __BORLANDC__ == 0x0550
 // Borland C++Builder 5, command-line compiler 5.5:
-#       define BOOST_NO_OPERATORS_IN_NAMESPACE
+#       define NDNBOOST_NO_OPERATORS_IN_NAMESPACE
 #     endif
 // Variadic macros do not exist for C++ Builder versions 5 and below
-#define BOOST_NO_CXX11_VARIADIC_MACROS
+#define NDNBOOST_NO_CXX11_VARIADIC_MACROS
 #   endif
 
 // Version 5.51 and below:
 #if (__BORLANDC__ <= 0x551)
-#  define BOOST_NO_CV_SPECIALIZATIONS
-#  define BOOST_NO_CV_VOID_SPECIALIZATIONS
-#  define BOOST_NO_DEDUCED_TYPENAME
+#  define NDNBOOST_NO_CV_SPECIALIZATIONS
+#  define NDNBOOST_NO_CV_VOID_SPECIALIZATIONS
+#  define NDNBOOST_NO_DEDUCED_TYPENAME
 // workaround for missing WCHAR_MAX/WCHAR_MIN:
 #ifdef __cplusplus
 #include <climits>
@@ -91,52 +91,52 @@
 // new bug in 5.61:
 #if (__BORLANDC__ >= 0x561) && (__BORLANDC__ <= 0x580)
    // this seems to be needed by the command line compiler, but not the IDE:
-#  define BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS
+#  define NDNBOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS
 #endif
 
 // Borland C++ Builder 2006 Update 2 and below:
 #if (__BORLANDC__ <= 0x582)
-#  define BOOST_NO_SFINAE
-#  define BOOST_BCB_PARTIAL_SPECIALIZATION_BUG
-#  define BOOST_NO_TEMPLATE_TEMPLATES
+#  define NDNBOOST_NO_SFINAE
+#  define NDNBOOST_BCB_PARTIAL_SPECIALIZATION_BUG
+#  define NDNBOOST_NO_TEMPLATE_TEMPLATES
 
-#  define BOOST_NO_PRIVATE_IN_AGGREGATE
+#  define NDNBOOST_NO_PRIVATE_IN_AGGREGATE
 
 #  ifdef _WIN32
-#     define BOOST_NO_SWPRINTF
+#     define NDNBOOST_NO_SWPRINTF
 #  elif defined(linux) || defined(__linux__) || defined(__linux)
       // we should really be able to do without this
       // but the wcs* functions aren't imported into std::
-#     define BOOST_NO_STDC_NAMESPACE
+#     define NDNBOOST_NO_STDC_NAMESPACE
       // _CPPUNWIND doesn't get automatically set for some reason:
-#     pragma defineonoption BOOST_CPPUNWIND -x
+#     pragma defineonoption NDNBOOST_CPPUNWIND -x
 #  endif
 #endif
 
 #if (__BORLANDC__ <= 0x613)  // Beman has asked Alisdair for more info
    // we shouldn't really need this - but too many things choke
    // without it, this needs more investigation:
-#  define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
-#  define BOOST_NO_IS_ABSTRACT
-#  define BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS
-#  define BOOST_NO_USING_TEMPLATE
-#  define BOOST_SP_NO_SP_CONVERTIBLE
+#  define NDNBOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
+#  define NDNBOOST_NO_IS_ABSTRACT
+#  define NDNBOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS
+#  define NDNBOOST_NO_USING_TEMPLATE
+#  define NDNBOOST_SP_NO_SP_CONVERTIBLE
 
 // Temporary workaround
-#define BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
+#define NDNBOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
 #endif
 
 // Borland C++ Builder 2008 and below:
-#  define BOOST_NO_INTEGRAL_INT64_T
-#  define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
-#  define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS
-#  define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-#  define BOOST_NO_TWO_PHASE_NAME_LOOKUP
-#  define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE
-#  define BOOST_NO_NESTED_FRIENDSHIP
-#  define BOOST_NO_TYPENAME_WITH_CTOR
+#  define NDNBOOST_NO_INTEGRAL_INT64_T
+#  define NDNBOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
+#  define NDNBOOST_NO_DEPENDENT_NESTED_DERIVATIONS
+#  define NDNBOOST_NO_MEMBER_TEMPLATE_FRIENDS
+#  define NDNBOOST_NO_TWO_PHASE_NAME_LOOKUP
+#  define NDNBOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE
+#  define NDNBOOST_NO_NESTED_FRIENDSHIP
+#  define NDNBOOST_NO_TYPENAME_WITH_CTOR
 #if (__BORLANDC__ < 0x600)
-#  define BOOST_ILLEGAL_CV_REFERENCES
+#  define NDNBOOST_ILLEGAL_CV_REFERENCES
 #endif
 
 //
@@ -144,78 +144,78 @@
 //
 // Borland C++ Builder 2008 and below:
 #if (__BORLANDC__ >= 0x599)
-#  pragma defineonoption BOOST_CODEGEAR_0X_SUPPORT -Ax
+#  pragma defineonoption NDNBOOST_CODEGEAR_0X_SUPPORT -Ax
 #endif
 //
 // C++0x Macros:
 //
-#if !defined( BOOST_CODEGEAR_0X_SUPPORT ) || (__BORLANDC__ < 0x610)
-#  define BOOST_NO_CXX11_CHAR16_T
-#  define BOOST_NO_CXX11_CHAR32_T
-#  define BOOST_NO_CXX11_DECLTYPE
-#  define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
-#  define BOOST_NO_CXX11_EXTERN_TEMPLATE
-#  define BOOST_NO_CXX11_RVALUE_REFERENCES 
-#  define BOOST_NO_CXX11_SCOPED_ENUMS
-#  define BOOST_NO_CXX11_STATIC_ASSERT
+#if !defined( NDNBOOST_CODEGEAR_0X_SUPPORT ) || (__BORLANDC__ < 0x610)
+#  define NDNBOOST_NO_CXX11_CHAR16_T
+#  define NDNBOOST_NO_CXX11_CHAR32_T
+#  define NDNBOOST_NO_CXX11_DECLTYPE
+#  define NDNBOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
+#  define NDNBOOST_NO_CXX11_EXTERN_TEMPLATE
+#  define NDNBOOST_NO_CXX11_RVALUE_REFERENCES 
+#  define NDNBOOST_NO_CXX11_SCOPED_ENUMS
+#  define NDNBOOST_NO_CXX11_STATIC_ASSERT
 #else
-#  define BOOST_HAS_ALIGNOF
-#  define BOOST_HAS_CHAR16_T
-#  define BOOST_HAS_CHAR32_T
-#  define BOOST_HAS_DECLTYPE
-#  define BOOST_HAS_EXPLICIT_CONVERSION_OPS
-#  define BOOST_HAS_REF_QUALIFIER
-#  define BOOST_HAS_RVALUE_REFS
-#  define BOOST_HAS_STATIC_ASSERT
+#  define NDNBOOST_HAS_ALIGNOF
+#  define NDNBOOST_HAS_CHAR16_T
+#  define NDNBOOST_HAS_CHAR32_T
+#  define NDNBOOST_HAS_DECLTYPE
+#  define NDNBOOST_HAS_EXPLICIT_CONVERSION_OPS
+#  define NDNBOOST_HAS_REF_QUALIFIER
+#  define NDNBOOST_HAS_RVALUE_REFS
+#  define NDNBOOST_HAS_STATIC_ASSERT
 #endif
 
-#define BOOST_NO_CXX11_AUTO_DECLARATIONS
-#define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
-#define BOOST_NO_CXX11_CONSTEXPR
-#define BOOST_NO_CXX11_DECLTYPE_N3276
-#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
-#define BOOST_NO_CXX11_DELETED_FUNCTIONS
-#define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
-#define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
-#define BOOST_NO_CXX11_LAMBDAS
-#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
-#define BOOST_NO_CXX11_NULLPTR
-#define BOOST_NO_CXX11_RANGE_BASED_FOR
-#define BOOST_NO_CXX11_RAW_LITERALS
-#define BOOST_NO_CXX11_RVALUE_REFERENCES
-#define BOOST_NO_CXX11_SCOPED_ENUMS
-#define BOOST_NO_SFINAE_EXPR
-#define BOOST_NO_CXX11_TEMPLATE_ALIASES
-#define BOOST_NO_CXX11_UNICODE_LITERALS    // UTF-8 still not supported
-#define BOOST_NO_CXX11_VARIADIC_TEMPLATES
-#define BOOST_NO_CXX11_NOEXCEPT
-#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
-#define BOOST_NO_CXX11_USER_DEFINED_LITERALS
+#define NDNBOOST_NO_CXX11_AUTO_DECLARATIONS
+#define NDNBOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
+#define NDNBOOST_NO_CXX11_CONSTEXPR
+#define NDNBOOST_NO_CXX11_DECLTYPE_N3276
+#define NDNBOOST_NO_CXX11_DEFAULTED_FUNCTIONS
+#define NDNBOOST_NO_CXX11_DELETED_FUNCTIONS
+#define NDNBOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
+#define NDNBOOST_NO_CXX11_HDR_INITIALIZER_LIST
+#define NDNBOOST_NO_CXX11_LAMBDAS
+#define NDNBOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
+#define NDNBOOST_NO_CXX11_NULLPTR
+#define NDNBOOST_NO_CXX11_RANGE_BASED_FOR
+#define NDNBOOST_NO_CXX11_RAW_LITERALS
+#define NDNBOOST_NO_CXX11_RVALUE_REFERENCES
+#define NDNBOOST_NO_CXX11_SCOPED_ENUMS
+#define NDNBOOST_NO_SFINAE_EXPR
+#define NDNBOOST_NO_CXX11_TEMPLATE_ALIASES
+#define NDNBOOST_NO_CXX11_UNICODE_LITERALS    // UTF-8 still not supported
+#define NDNBOOST_NO_CXX11_VARIADIC_TEMPLATES
+#define NDNBOOST_NO_CXX11_NOEXCEPT
+#define NDNBOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
+#define NDNBOOST_NO_CXX11_USER_DEFINED_LITERALS
 
 #if __BORLANDC__ >= 0x590
-#  define BOOST_HAS_TR1_HASH
+#  define NDNBOOST_HAS_TR1_HASH
 
-#  define BOOST_HAS_MACRO_USE_FACET
+#  define NDNBOOST_HAS_MACRO_USE_FACET
 #endif
 
 //
 // Post 0x561 we have long long and stdint.h:
 #if __BORLANDC__ >= 0x561
 #  ifndef __NO_LONG_LONG
-#     define BOOST_HAS_LONG_LONG
+#     define NDNBOOST_HAS_LONG_LONG
 #  else
-#     define BOOST_NO_LONG_LONG
+#     define NDNBOOST_NO_LONG_LONG
 #  endif
    // On non-Win32 platforms let the platform config figure this out:
 #  ifdef _WIN32
-#      define BOOST_HAS_STDINT_H
+#      define NDNBOOST_HAS_STDINT_H
 #  endif
 #endif
 
 // Borland C++Builder 6 defaults to using STLPort.  If _USE_OLD_RW_STL is
 // defined, then we have 0x560 or greater with the Rogue Wave implementation
 // which presumably has the std::DBL_MAX bug.
-#if defined( BOOST_BCB_WITH_ROGUE_WAVE )
+#if defined( NDNBOOST_BCB_WITH_ROGUE_WAVE )
 // <climits> is partly broken, some macros define symbols that are really in
 // namespace std, so you end up having to use illegal constructs like
 // std::DBL_MAX, as a fix we'll just include float.h and have done with:
@@ -225,53 +225,53 @@
 // __int64:
 //
 #if (__BORLANDC__ >= 0x530) && !defined(__STRICT_ANSI__)
-#  define BOOST_HAS_MS_INT64
+#  define NDNBOOST_HAS_MS_INT64
 #endif
 //
 // check for exception handling support:
 //
-#if !defined(_CPPUNWIND) && !defined(BOOST_CPPUNWIND) && !defined(__EXCEPTIONS) && !defined(BOOST_NO_EXCEPTIONS)
-#  define BOOST_NO_EXCEPTIONS
+#if !defined(_CPPUNWIND) && !defined(NDNBOOST_CPPUNWIND) && !defined(__EXCEPTIONS) && !defined(NDNBOOST_NO_EXCEPTIONS)
+#  define NDNBOOST_NO_EXCEPTIONS
 #endif
 //
 // all versions have a <dirent.h>:
 //
 #ifndef __STRICT_ANSI__
-#  define BOOST_HAS_DIRENT_H
+#  define NDNBOOST_HAS_DIRENT_H
 #endif
 //
 // all versions support __declspec:
 //
 #if defined(__STRICT_ANSI__)
-// config/platform/win32.hpp will define BOOST_SYMBOL_EXPORT, etc., unless already defined  
-#  define BOOST_SYMBOL_EXPORT
+// config/platform/win32.hpp will define NDNBOOST_SYMBOL_EXPORT, etc., unless already defined  
+#  define NDNBOOST_SYMBOL_EXPORT
 #endif
 //
 // ABI fixing headers:
 //
 #if __BORLANDC__ != 0x600 // not implemented for version 6 compiler yet
-#ifndef BOOST_ABI_PREFIX
-#  define BOOST_ABI_PREFIX "ndnboost/config/abi/borland_prefix.hpp"
+#ifndef NDNBOOST_ABI_PREFIX
+#  define NDNBOOST_ABI_PREFIX "ndnboost/config/abi/borland_prefix.hpp"
 #endif
-#ifndef BOOST_ABI_SUFFIX
-#  define BOOST_ABI_SUFFIX "ndnboost/config/abi/borland_suffix.hpp"
+#ifndef NDNBOOST_ABI_SUFFIX
+#  define NDNBOOST_ABI_SUFFIX "ndnboost/config/abi/borland_suffix.hpp"
 #endif
 #endif
 //
 // Disable Win32 support in ANSI mode:
 //
 #if __BORLANDC__ < 0x600
-#  pragma defineonoption BOOST_DISABLE_WIN32 -A
+#  pragma defineonoption NDNBOOST_DISABLE_WIN32 -A
 #elif defined(__STRICT_ANSI__)
-#  define BOOST_DISABLE_WIN32
+#  define NDNBOOST_DISABLE_WIN32
 #endif
 //
 // MSVC compatibility mode does some nasty things:
 // TODO: look up if this doesn't apply to the whole 12xx range
 //
 #if defined(_MSC_VER) && (_MSC_VER <= 1200)
-#  define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
-#  define BOOST_NO_VOID_RETURNS
+#  define NDNBOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
+#  define NDNBOOST_NO_VOID_RETURNS
 #endif
 
 // Borland did not implement value-initialization completely, as I reported
@@ -279,9 +279,9 @@
 // zero-initialized", http://qc.embarcadero.com/wc/qcmain.aspx?d=51854
 // See also: http://www.boost.org/libs/utility/value_init.htm#compiler_issues
 // (Niels Dekker, LKEB, April 2010)
-#define BOOST_NO_COMPLETE_VALUE_INITIALIZATION
+#define NDNBOOST_NO_COMPLETE_VALUE_INITIALIZATION
 
-#define BOOST_COMPILER "Borland C++ version " BOOST_STRINGIZE(__BORLANDC__)
+#define NDNBOOST_COMPILER "Borland C++ version " NDNBOOST_STRINGIZE(__BORLANDC__)
 
 
 
diff --git a/include/ndnboost/config/compiler/clang.hpp b/include/ndnboost/config/compiler/clang.hpp
index 8e38821..d8ab35c 100644
--- a/include/ndnboost/config/compiler/clang.hpp
+++ b/include/ndnboost/config/compiler/clang.hpp
@@ -8,151 +8,151 @@
 
 // Clang compiler setup.
 
-#if !__has_feature(cxx_exceptions) && !defined(BOOST_NO_EXCEPTIONS)
-#  define BOOST_NO_EXCEPTIONS
+#if !__has_feature(cxx_exceptions) && !defined(NDNBOOST_NO_EXCEPTIONS)
+#  define NDNBOOST_NO_EXCEPTIONS
 #endif
 
-#if !__has_feature(cxx_rtti) && !defined(BOOST_NO_RTTI)
-#  define BOOST_NO_RTTI
+#if !__has_feature(cxx_rtti) && !defined(NDNBOOST_NO_RTTI)
+#  define NDNBOOST_NO_RTTI
 #endif
 
-#if !__has_feature(cxx_rtti) && !defined(BOOST_NO_TYPEID)
-#  define BOOST_NO_TYPEID
+#if !__has_feature(cxx_rtti) && !defined(NDNBOOST_NO_TYPEID)
+#  define NDNBOOST_NO_TYPEID
 #endif
 
 #if defined(__int64) && !defined(__GNUC__)
-#  define BOOST_HAS_MS_INT64
+#  define NDNBOOST_HAS_MS_INT64
 #endif
 
-#define BOOST_HAS_NRVO
+#define NDNBOOST_HAS_NRVO
 
 // Clang supports "long long" in all compilation modes.
-#define BOOST_HAS_LONG_LONG
+#define NDNBOOST_HAS_LONG_LONG
 
 //
 // Dynamic shared object (DSO) and dynamic-link library (DLL) support
 //
 #if !defined(_WIN32) && !defined(__WIN32__) && !defined(WIN32)
-#  define BOOST_SYMBOL_EXPORT __attribute__((__visibility__("default")))
-#  define BOOST_SYMBOL_IMPORT
-#  define BOOST_SYMBOL_VISIBLE __attribute__((__visibility__("default")))
+#  define NDNBOOST_SYMBOL_EXPORT __attribute__((__visibility__("default")))
+#  define NDNBOOST_SYMBOL_IMPORT
+#  define NDNBOOST_SYMBOL_VISIBLE __attribute__((__visibility__("default")))
 #endif
 
 // 
-// The BOOST_FALLTHROUGH macro can be used to annotate implicit fall-through 
+// The NDNBOOST_FALLTHROUGH macro can be used to annotate implicit fall-through 
 // between switch labels. 
 // 
 #if __cplusplus >= 201103L && defined(__has_warning) 
 #  if __has_feature(cxx_attributes) && __has_warning("-Wimplicit-fallthrough") 
-#    define BOOST_FALLTHROUGH [[clang::fallthrough]] 
+#    define NDNBOOST_FALLTHROUGH [[clang::fallthrough]] 
 #  endif 
 #endif 
 
 #if !__has_feature(cxx_auto_type)
-#  define BOOST_NO_CXX11_AUTO_DECLARATIONS
-#  define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
+#  define NDNBOOST_NO_CXX11_AUTO_DECLARATIONS
+#  define NDNBOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
 #endif
 
 #if !(defined(__GXX_EXPERIMENTAL_CXX0X__) || __cplusplus >= 201103L)
-#  define BOOST_NO_CXX11_CHAR16_T
-#  define BOOST_NO_CXX11_CHAR32_T
+#  define NDNBOOST_NO_CXX11_CHAR16_T
+#  define NDNBOOST_NO_CXX11_CHAR32_T
 #endif
 
 #if !__has_feature(cxx_constexpr)
-#  define BOOST_NO_CXX11_CONSTEXPR
+#  define NDNBOOST_NO_CXX11_CONSTEXPR
 #endif
 
 #if !__has_feature(cxx_decltype)
-#  define BOOST_NO_CXX11_DECLTYPE
+#  define NDNBOOST_NO_CXX11_DECLTYPE
 #endif
 
 #if !__has_feature(cxx_decltype_incomplete_return_types)
-#  define BOOST_NO_CXX11_DECLTYPE_N3276
+#  define NDNBOOST_NO_CXX11_DECLTYPE_N3276
 #endif
 
 #if !__has_feature(cxx_defaulted_functions)
-#  define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
+#  define NDNBOOST_NO_CXX11_DEFAULTED_FUNCTIONS
 #endif
 
 #if !__has_feature(cxx_deleted_functions)
-#  define BOOST_NO_CXX11_DELETED_FUNCTIONS
+#  define NDNBOOST_NO_CXX11_DELETED_FUNCTIONS
 #endif
 
 #if !__has_feature(cxx_explicit_conversions)
-#  define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
+#  define NDNBOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
 #endif
 
 #if !__has_feature(cxx_default_function_template_args)
-#  define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
+#  define NDNBOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
 #endif
 
 #if !__has_feature(cxx_generalized_initializers)
-#  define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
+#  define NDNBOOST_NO_CXX11_HDR_INITIALIZER_LIST
 #endif
 
 #if !__has_feature(cxx_lambdas)
-#  define BOOST_NO_CXX11_LAMBDAS
+#  define NDNBOOST_NO_CXX11_LAMBDAS
 #endif
 
 #if !__has_feature(cxx_local_type_template_args)
-#  define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
+#  define NDNBOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
 #endif
 
 #if !__has_feature(cxx_noexcept)
-#  define BOOST_NO_CXX11_NOEXCEPT
+#  define NDNBOOST_NO_CXX11_NOEXCEPT
 #endif
 
 #if !__has_feature(cxx_nullptr)
-#  define BOOST_NO_CXX11_NULLPTR
+#  define NDNBOOST_NO_CXX11_NULLPTR
 #endif
 
 #if !__has_feature(cxx_range_for)
-#  define BOOST_NO_CXX11_RANGE_BASED_FOR
+#  define NDNBOOST_NO_CXX11_RANGE_BASED_FOR
 #endif
 
 #if !__has_feature(cxx_raw_string_literals)
-#  define BOOST_NO_CXX11_RAW_LITERALS
+#  define NDNBOOST_NO_CXX11_RAW_LITERALS
 #endif
 
 #if !__has_feature(cxx_generalized_initializers)
-#  define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
+#  define NDNBOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
 #endif
 
 #if !__has_feature(cxx_rvalue_references)
-#  define BOOST_NO_CXX11_RVALUE_REFERENCES
+#  define NDNBOOST_NO_CXX11_RVALUE_REFERENCES
 #endif
 
 #if !__has_feature(cxx_strong_enums)
-#  define BOOST_NO_CXX11_SCOPED_ENUMS
+#  define NDNBOOST_NO_CXX11_SCOPED_ENUMS
 #endif
 
 #if !__has_feature(cxx_static_assert)
-#  define BOOST_NO_CXX11_STATIC_ASSERT
+#  define NDNBOOST_NO_CXX11_STATIC_ASSERT
 #endif
 
 #if !__has_feature(cxx_alias_templates)
-#  define BOOST_NO_CXX11_TEMPLATE_ALIASES
+#  define NDNBOOST_NO_CXX11_TEMPLATE_ALIASES
 #endif
 
 #if !__has_feature(cxx_unicode_literals)
-#  define BOOST_NO_CXX11_UNICODE_LITERALS
+#  define NDNBOOST_NO_CXX11_UNICODE_LITERALS
 #endif
 
 #if !__has_feature(cxx_variadic_templates)
-#  define BOOST_NO_CXX11_VARIADIC_TEMPLATES
+#  define NDNBOOST_NO_CXX11_VARIADIC_TEMPLATES
 #endif
 
 #if !__has_feature(cxx_user_literals)
-#  define BOOST_NO_CXX11_USER_DEFINED_LITERALS
+#  define NDNBOOST_NO_CXX11_USER_DEFINED_LITERALS
 #endif
 
 // Clang always supports variadic macros
 // Clang always supports extern templates
 
-#ifndef BOOST_COMPILER
-#  define BOOST_COMPILER "Clang version " __clang_version__
+#ifndef NDNBOOST_COMPILER
+#  define NDNBOOST_COMPILER "Clang version " __clang_version__
 #endif
 
 // Macro used to identify the Clang compiler.
-#define BOOST_CLANG 1
+#define NDNBOOST_CLANG 1
 
diff --git a/include/ndnboost/config/compiler/codegear.hpp b/include/ndnboost/config/compiler/codegear.hpp
index 7108663..f46c9ae 100644
--- a/include/ndnboost/config/compiler/codegear.hpp
+++ b/include/ndnboost/config/compiler/codegear.hpp
@@ -9,7 +9,7 @@
 
 //  CodeGear C++ compiler setup:
 
-#if !defined( BOOST_WITH_CODEGEAR_WARNINGS )
+#if !defined( NDNBOOST_WITH_CODEGEAR_WARNINGS )
 // these warnings occur frequently in optimized template code
 # pragma warn -8004 // var assigned value, but never used
 # pragma warn -8008 // condition always true/false
@@ -21,7 +21,7 @@
 // versions check:
 // last known and checked version is 0x621
 #if (__CODEGEARC__ > 0x621)
-#  if defined(BOOST_ASSERT_CONFIG)
+#  if defined(NDNBOOST_ASSERT_CONFIG)
 #     error "Unknown compiler version - please run the configure tests and report the results"
 #  else
 #     pragma message( "Unknown compiler version - please run the configure tests and report the results")
@@ -30,26 +30,26 @@
 
 // CodeGear C++ Builder 2009
 #if (__CODEGEARC__ <= 0x613)
-#  define BOOST_NO_INTEGRAL_INT64_T
-#  define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS
-#  define BOOST_NO_PRIVATE_IN_AGGREGATE
-#  define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE
+#  define NDNBOOST_NO_INTEGRAL_INT64_T
+#  define NDNBOOST_NO_DEPENDENT_NESTED_DERIVATIONS
+#  define NDNBOOST_NO_PRIVATE_IN_AGGREGATE
+#  define NDNBOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE
    // we shouldn't really need this - but too many things choke
    // without it, this needs more investigation:
-#  define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
-#  define BOOST_SP_NO_SP_CONVERTIBLE
+#  define NDNBOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
+#  define NDNBOOST_SP_NO_SP_CONVERTIBLE
 #endif
 
 // CodeGear C++ Builder 2010
 #if (__CODEGEARC__ <= 0x621)
-#  define BOOST_NO_TYPENAME_WITH_CTOR    // Cannot use typename keyword when making temporaries of a dependant type
-#  define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
-#  define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-#  define BOOST_NO_NESTED_FRIENDSHIP     // TC1 gives nested classes access rights as any other member
-#  define BOOST_NO_USING_TEMPLATE
-#  define BOOST_NO_TWO_PHASE_NAME_LOOKUP
+#  define NDNBOOST_NO_TYPENAME_WITH_CTOR    // Cannot use typename keyword when making temporaries of a dependant type
+#  define NDNBOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
+#  define NDNBOOST_NO_MEMBER_TEMPLATE_FRIENDS
+#  define NDNBOOST_NO_NESTED_FRIENDSHIP     // TC1 gives nested classes access rights as any other member
+#  define NDNBOOST_NO_USING_TEMPLATE
+#  define NDNBOOST_NO_TWO_PHASE_NAME_LOOKUP
 // Temporary hack, until specific MPL preprocessed headers are generated
-#  define BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
+#  define NDNBOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
 
 // CodeGear has not yet completely implemented value-initialization, for
 // example for array types, as I reported in 2010: Embarcadero Report 83751,
@@ -58,7 +58,7 @@
 // Last checked version: Embarcadero C++ 6.21
 // See also: http://www.boost.org/libs/utility/value_init.htm#compiler_issues
 // (Niels Dekker, LKEB, April 2010)
-#  define BOOST_NO_COMPLETE_VALUE_INITIALIZATION
+#  define NDNBOOST_NO_COMPLETE_VALUE_INITIALIZATION
 
 #  if defined(NDEBUG) && defined(__cplusplus)
       // fix broken <cstring> so that Boost.test works:
@@ -76,105 +76,105 @@
 // C++0x macros:
 //
 #if (__CODEGEARC__ <= 0x620)
-#define BOOST_NO_CXX11_STATIC_ASSERT
+#define NDNBOOST_NO_CXX11_STATIC_ASSERT
 #else
-#define BOOST_HAS_STATIC_ASSERT
+#define NDNBOOST_HAS_STATIC_ASSERT
 #endif
-#define BOOST_HAS_CHAR16_T
-#define BOOST_HAS_CHAR32_T
-#define BOOST_HAS_LONG_LONG
-// #define BOOST_HAS_ALIGNOF
-#define BOOST_HAS_DECLTYPE
-#define BOOST_HAS_EXPLICIT_CONVERSION_OPS
-// #define BOOST_HAS_RVALUE_REFS
-#define BOOST_HAS_SCOPED_ENUM
-// #define BOOST_HAS_STATIC_ASSERT
-#define BOOST_HAS_STD_TYPE_TRAITS
+#define NDNBOOST_HAS_CHAR16_T
+#define NDNBOOST_HAS_CHAR32_T
+#define NDNBOOST_HAS_LONG_LONG
+// #define NDNBOOST_HAS_ALIGNOF
+#define NDNBOOST_HAS_DECLTYPE
+#define NDNBOOST_HAS_EXPLICIT_CONVERSION_OPS
+// #define NDNBOOST_HAS_RVALUE_REFS
+#define NDNBOOST_HAS_SCOPED_ENUM
+// #define NDNBOOST_HAS_STATIC_ASSERT
+#define NDNBOOST_HAS_STD_TYPE_TRAITS
 
-#define BOOST_NO_CXX11_AUTO_DECLARATIONS
-#define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
-#define BOOST_NO_CXX11_CONSTEXPR
-#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
-#define BOOST_NO_CXX11_DELETED_FUNCTIONS
-#define BOOST_NO_CXX11_EXTERN_TEMPLATE
-#define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
-#define BOOST_NO_CXX11_LAMBDAS
-#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
-#define BOOST_NO_CXX11_NOEXCEPT
-#define BOOST_NO_CXX11_NULLPTR
-#define BOOST_NO_CXX11_RANGE_BASED_FOR
-#define BOOST_NO_CXX11_RAW_LITERALS
-#define BOOST_NO_CXX11_RVALUE_REFERENCES
-#define BOOST_NO_SFINAE_EXPR
-#define BOOST_NO_CXX11_TEMPLATE_ALIASES
-#define BOOST_NO_CXX11_UNICODE_LITERALS
-#define BOOST_NO_CXX11_VARIADIC_TEMPLATES
-#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
-#define BOOST_NO_CXX11_USER_DEFINED_LITERALS
+#define NDNBOOST_NO_CXX11_AUTO_DECLARATIONS
+#define NDNBOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
+#define NDNBOOST_NO_CXX11_CONSTEXPR
+#define NDNBOOST_NO_CXX11_DEFAULTED_FUNCTIONS
+#define NDNBOOST_NO_CXX11_DELETED_FUNCTIONS
+#define NDNBOOST_NO_CXX11_EXTERN_TEMPLATE
+#define NDNBOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
+#define NDNBOOST_NO_CXX11_LAMBDAS
+#define NDNBOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
+#define NDNBOOST_NO_CXX11_NOEXCEPT
+#define NDNBOOST_NO_CXX11_NULLPTR
+#define NDNBOOST_NO_CXX11_RANGE_BASED_FOR
+#define NDNBOOST_NO_CXX11_RAW_LITERALS
+#define NDNBOOST_NO_CXX11_RVALUE_REFERENCES
+#define NDNBOOST_NO_SFINAE_EXPR
+#define NDNBOOST_NO_CXX11_TEMPLATE_ALIASES
+#define NDNBOOST_NO_CXX11_UNICODE_LITERALS
+#define NDNBOOST_NO_CXX11_VARIADIC_TEMPLATES
+#define NDNBOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
+#define NDNBOOST_NO_CXX11_USER_DEFINED_LITERALS
 
 //
 // TR1 macros:
 //
-#define BOOST_HAS_TR1_HASH
-#define BOOST_HAS_TR1_TYPE_TRAITS
-#define BOOST_HAS_TR1_UNORDERED_MAP
-#define BOOST_HAS_TR1_UNORDERED_SET
+#define NDNBOOST_HAS_TR1_HASH
+#define NDNBOOST_HAS_TR1_TYPE_TRAITS
+#define NDNBOOST_HAS_TR1_UNORDERED_MAP
+#define NDNBOOST_HAS_TR1_UNORDERED_SET
 
-#define BOOST_HAS_MACRO_USE_FACET
+#define NDNBOOST_HAS_MACRO_USE_FACET
 
-#define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
+#define NDNBOOST_NO_CXX11_HDR_INITIALIZER_LIST
 
 // On non-Win32 platforms let the platform config figure this out:
 #ifdef _WIN32
-#  define BOOST_HAS_STDINT_H
+#  define NDNBOOST_HAS_STDINT_H
 #endif
 
 //
 // __int64:
 //
 #if !defined(__STRICT_ANSI__)
-#  define BOOST_HAS_MS_INT64
+#  define NDNBOOST_HAS_MS_INT64
 #endif
 //
 // check for exception handling support:
 //
-#if !defined(_CPPUNWIND) && !defined(BOOST_CPPUNWIND) && !defined(__EXCEPTIONS) && !defined(BOOST_NO_EXCEPTIONS)
-#  define BOOST_NO_EXCEPTIONS
+#if !defined(_CPPUNWIND) && !defined(NDNBOOST_CPPUNWIND) && !defined(__EXCEPTIONS) && !defined(NDNBOOST_NO_EXCEPTIONS)
+#  define NDNBOOST_NO_EXCEPTIONS
 #endif
 //
 // all versions have a <dirent.h>:
 //
 #if !defined(__STRICT_ANSI__)
-#  define BOOST_HAS_DIRENT_H
+#  define NDNBOOST_HAS_DIRENT_H
 #endif
 //
 // all versions support __declspec:
 //
 #if defined(__STRICT_ANSI__)
-// config/platform/win32.hpp will define BOOST_SYMBOL_EXPORT, etc., unless already defined  
-#  define BOOST_SYMBOL_EXPORT
+// config/platform/win32.hpp will define NDNBOOST_SYMBOL_EXPORT, etc., unless already defined  
+#  define NDNBOOST_SYMBOL_EXPORT
 #endif
 //
 // ABI fixing headers:
 //
-#ifndef BOOST_ABI_PREFIX
-#  define BOOST_ABI_PREFIX "ndnboost/config/abi/borland_prefix.hpp"
+#ifndef NDNBOOST_ABI_PREFIX
+#  define NDNBOOST_ABI_PREFIX "ndnboost/config/abi/borland_prefix.hpp"
 #endif
-#ifndef BOOST_ABI_SUFFIX
-#  define BOOST_ABI_SUFFIX "ndnboost/config/abi/borland_suffix.hpp"
+#ifndef NDNBOOST_ABI_SUFFIX
+#  define NDNBOOST_ABI_SUFFIX "ndnboost/config/abi/borland_suffix.hpp"
 #endif
 //
 // Disable Win32 support in ANSI mode:
 //
-#  pragma defineonoption BOOST_DISABLE_WIN32 -A
+#  pragma defineonoption NDNBOOST_DISABLE_WIN32 -A
 //
 // MSVC compatibility mode does some nasty things:
 // TODO: look up if this doesn't apply to the whole 12xx range
 //
 #if defined(_MSC_VER) && (_MSC_VER <= 1200)
-#  define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
-#  define BOOST_NO_VOID_RETURNS
+#  define NDNBOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
+#  define NDNBOOST_NO_VOID_RETURNS
 #endif
 
-#define BOOST_COMPILER "CodeGear C++ version " BOOST_STRINGIZE(__CODEGEARC__)
+#define NDNBOOST_COMPILER "CodeGear C++ version " NDNBOOST_STRINGIZE(__CODEGEARC__)
 
diff --git a/include/ndnboost/config/compiler/comeau.hpp b/include/ndnboost/config/compiler/comeau.hpp
index 09f608c..4238be9 100644
--- a/include/ndnboost/config/compiler/comeau.hpp
+++ b/include/ndnboost/config/compiler/comeau.hpp
@@ -19,14 +19,14 @@
 #  if defined(_MSC_VER) && _MSC_VER <= 1300
 #     if _MSC_VER > 100
          // only set this in non-strict mode:
-#        define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
+#        define NDNBOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
 #     endif
 #  endif
 
 // Void returns don't work when emulating VC 6 (Peter Dimov)
 // TODO: look up if this doesn't apply to the whole 12xx range
 #  if defined(_MSC_VER) && (_MSC_VER < 1300)
-#     define BOOST_NO_VOID_RETURNS
+#     define NDNBOOST_NO_VOID_RETURNS
 #  endif
 
 #endif  // version 4245
@@ -35,10 +35,10 @@
 // enable __int64 support in VC emulation mode
 //
 #  if defined(_MSC_VER) && (_MSC_VER >= 1200)
-#     define BOOST_HAS_MS_INT64
+#     define NDNBOOST_HAS_MS_INT64
 #  endif
 
-#define BOOST_COMPILER "Comeau compiler version " BOOST_STRINGIZE(__COMO_VERSION__)
+#define NDNBOOST_COMPILER "Comeau compiler version " NDNBOOST_STRINGIZE(__COMO_VERSION__)
 
 //
 // versions check:
@@ -49,7 +49,7 @@
 //
 // last known and checked version is 4245:
 #if (__COMO_VERSION__ > 4245)
-#  if defined(BOOST_ASSERT_CONFIG)
+#  if defined(NDNBOOST_ASSERT_CONFIG)
 #     error "Unknown compiler version - please run the configure tests and report the results"
 #  endif
 #endif
diff --git a/include/ndnboost/config/compiler/common_edg.hpp b/include/ndnboost/config/compiler/common_edg.hpp
index 4b5d2d2..25181ac 100644
--- a/include/ndnboost/config/compiler/common_edg.hpp
+++ b/include/ndnboost/config/compiler/common_edg.hpp
@@ -19,86 +19,86 @@
 #endif
 
 #if (__EDG_VERSION__ <= 238)
-#   define BOOST_NO_INTEGRAL_INT64_T
-#   define BOOST_NO_SFINAE
+#   define NDNBOOST_NO_INTEGRAL_INT64_T
+#   define NDNBOOST_NO_SFINAE
 #endif
 
 #if (__EDG_VERSION__ <= 240)
-#   define BOOST_NO_VOID_RETURNS
+#   define NDNBOOST_NO_VOID_RETURNS
 #endif
 
-#if (__EDG_VERSION__ <= 241) && !defined(BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP)
-#   define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
+#if (__EDG_VERSION__ <= 241) && !defined(NDNBOOST_NO_ARGUMENT_DEPENDENT_LOOKUP)
+#   define NDNBOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
 #endif
 
-#if (__EDG_VERSION__ <= 244) && !defined(BOOST_NO_TEMPLATE_TEMPLATES)
-#   define BOOST_NO_TEMPLATE_TEMPLATES
+#if (__EDG_VERSION__ <= 244) && !defined(NDNBOOST_NO_TEMPLATE_TEMPLATES)
+#   define NDNBOOST_NO_TEMPLATE_TEMPLATES
 #endif 
 
-#if (__EDG_VERSION__ < 300) && !defined(BOOST_NO_IS_ABSTRACT)
-#   define BOOST_NO_IS_ABSTRACT
+#if (__EDG_VERSION__ < 300) && !defined(NDNBOOST_NO_IS_ABSTRACT)
+#   define NDNBOOST_NO_IS_ABSTRACT
 #endif 
 
-#if (__EDG_VERSION__ <= 303) && !defined(BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL)
-#   define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
+#if (__EDG_VERSION__ <= 303) && !defined(NDNBOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL)
+#   define NDNBOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
 #endif 
 
 // See also kai.hpp which checks a Kai-specific symbol for EH
-# if !defined(__KCC) && !defined(__EXCEPTIONS) && !defined(BOOST_NO_EXCEPTIONS)
-#     define BOOST_NO_EXCEPTIONS
+# if !defined(__KCC) && !defined(__EXCEPTIONS) && !defined(NDNBOOST_NO_EXCEPTIONS)
+#     define NDNBOOST_NO_EXCEPTIONS
 # endif
 
 # if !defined(__NO_LONG_LONG)
-#     define BOOST_HAS_LONG_LONG
+#     define NDNBOOST_HAS_LONG_LONG
 # else
-#     define BOOST_NO_LONG_LONG
+#     define NDNBOOST_NO_LONG_LONG
 # endif
 
 //
 // C++0x features
 //
-//   See above for BOOST_NO_LONG_LONG
+//   See above for NDNBOOST_NO_LONG_LONG
 //
 #if (__EDG_VERSION__ < 310)
-#  define BOOST_NO_CXX11_EXTERN_TEMPLATE
+#  define NDNBOOST_NO_CXX11_EXTERN_TEMPLATE
 #endif
 #if (__EDG_VERSION__ <= 310)
 // No support for initializer lists
-#  define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
+#  define NDNBOOST_NO_CXX11_HDR_INITIALIZER_LIST
 #endif
 #if (__EDG_VERSION__ < 400)
-#  define BOOST_NO_CXX11_VARIADIC_MACROS
+#  define NDNBOOST_NO_CXX11_VARIADIC_MACROS
 #endif
 
-#define BOOST_NO_CXX11_AUTO_DECLARATIONS
-#define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
-#define BOOST_NO_CXX11_CHAR16_T
-#define BOOST_NO_CXX11_CHAR32_T
-#define BOOST_NO_CXX11_CONSTEXPR
-#define BOOST_NO_CXX11_DECLTYPE
-#define BOOST_NO_CXX11_DECLTYPE_N3276
-#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
-#define BOOST_NO_CXX11_DELETED_FUNCTIONS
-#define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
-#define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
-#define BOOST_NO_CXX11_LAMBDAS
-#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
-#define BOOST_NO_CXX11_NOEXCEPT
-#define BOOST_NO_CXX11_NULLPTR
-#define BOOST_NO_CXX11_RANGE_BASED_FOR
-#define BOOST_NO_CXX11_RAW_LITERALS
-#define BOOST_NO_CXX11_RVALUE_REFERENCES
-#define BOOST_NO_CXX11_SCOPED_ENUMS
-#define BOOST_NO_SFINAE_EXPR
-#define BOOST_NO_CXX11_STATIC_ASSERT
-#define BOOST_NO_CXX11_TEMPLATE_ALIASES
-#define BOOST_NO_CXX11_UNICODE_LITERALS
-#define BOOST_NO_CXX11_VARIADIC_TEMPLATES
-#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
-#define BOOST_NO_CXX11_USER_DEFINED_LITERALS
+#define NDNBOOST_NO_CXX11_AUTO_DECLARATIONS
+#define NDNBOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
+#define NDNBOOST_NO_CXX11_CHAR16_T
+#define NDNBOOST_NO_CXX11_CHAR32_T
+#define NDNBOOST_NO_CXX11_CONSTEXPR
+#define NDNBOOST_NO_CXX11_DECLTYPE
+#define NDNBOOST_NO_CXX11_DECLTYPE_N3276
+#define NDNBOOST_NO_CXX11_DEFAULTED_FUNCTIONS
+#define NDNBOOST_NO_CXX11_DELETED_FUNCTIONS
+#define NDNBOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
+#define NDNBOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
+#define NDNBOOST_NO_CXX11_LAMBDAS
+#define NDNBOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
+#define NDNBOOST_NO_CXX11_NOEXCEPT
+#define NDNBOOST_NO_CXX11_NULLPTR
+#define NDNBOOST_NO_CXX11_RANGE_BASED_FOR
+#define NDNBOOST_NO_CXX11_RAW_LITERALS
+#define NDNBOOST_NO_CXX11_RVALUE_REFERENCES
+#define NDNBOOST_NO_CXX11_SCOPED_ENUMS
+#define NDNBOOST_NO_SFINAE_EXPR
+#define NDNBOOST_NO_CXX11_STATIC_ASSERT
+#define NDNBOOST_NO_CXX11_TEMPLATE_ALIASES
+#define NDNBOOST_NO_CXX11_UNICODE_LITERALS
+#define NDNBOOST_NO_CXX11_VARIADIC_TEMPLATES
+#define NDNBOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
+#define NDNBOOST_NO_CXX11_USER_DEFINED_LITERALS
 
 #ifdef c_plusplus
 // EDG has "long long" in non-strict mode
 // However, some libraries have insufficient "long long" support
-// #define BOOST_HAS_LONG_LONG
+// #define NDNBOOST_HAS_LONG_LONG
 #endif
diff --git a/include/ndnboost/config/compiler/compaq_cxx.hpp b/include/ndnboost/config/compiler/compaq_cxx.hpp
index e0d5fe6..cf8b5e5 100644
--- a/include/ndnboost/config/compiler/compaq_cxx.hpp
+++ b/include/ndnboost/config/compiler/compaq_cxx.hpp
@@ -7,7 +7,7 @@
 
 //  Tru64 C++ compiler setup (now HP):
 
-#define BOOST_COMPILER "HP Tru64 C++ " BOOST_STRINGIZE(__DECCXX_VER)
+#define NDNBOOST_COMPILER "HP Tru64 C++ " NDNBOOST_STRINGIZE(__DECCXX_VER)
 
 #include "ndnboost/config/compiler/common_edg.hpp"
 
diff --git a/include/ndnboost/config/compiler/cray.hpp b/include/ndnboost/config/compiler/cray.hpp
index 43a5db9..ca86118 100644
--- a/include/ndnboost/config/compiler/cray.hpp
+++ b/include/ndnboost/config/compiler/cray.hpp
@@ -7,7 +7,7 @@
 
 //  Greenhills C compiler setup:
 
-#define BOOST_COMPILER "Cray C version " BOOST_STRINGIZE(_RELEASE)
+#define NDNBOOST_COMPILER "Cray C version " NDNBOOST_STRINGIZE(_RELEASE)
 
 #if _RELEASE < 7
 #  error "Boost is not configured for Cray compilers prior to version 7, please try the configure script."
@@ -25,40 +25,40 @@
 //
 // Cray peculiarities, probably version 7 specific:
 //
-#undef BOOST_NO_CXX11_AUTO_DECLARATIONS
-#undef BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
-#define BOOST_HAS_NRVO
-#define BOOST_NO_CXX11_VARIADIC_TEMPLATES
-#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
-#define BOOST_NO_CXX11_UNICODE_LITERALS
-#define BOOST_NO_TWO_PHASE_NAME_LOOKUP
-#define BOOST_HAS_NRVO
-#define BOOST_NO_CXX11_TEMPLATE_ALIASES
-#define BOOST_NO_CXX11_STATIC_ASSERT
-#define BOOST_NO_SFINAE_EXPR
-#define BOOST_NO_CXX11_SCOPED_ENUMS
-#define BOOST_NO_CXX11_RVALUE_REFERENCES
-#define BOOST_NO_CXX11_RANGE_BASED_FOR
-#define BOOST_NO_CXX11_RAW_LITERALS
-#define BOOST_NO_CXX11_NULLPTR
-#define BOOST_NO_CXX11_NOEXCEPT
-#define BOOST_NO_CXX11_LAMBDAS
-#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
-#define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
-#define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
-#define BOOST_NO_CXX11_DELETED_FUNCTIONS
-#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
-#define BOOST_NO_CXX11_DECLTYPE_N3276
-#define BOOST_NO_CXX11_DECLTYPE
-#define BOOST_NO_CXX11_CONSTEXPR
-#define BOOST_NO_CXX11_USER_DEFINED_LITERALS
-#define BOOST_NO_COMPLETE_VALUE_INITIALIZATION
-#define BOOST_NO_CXX11_CHAR32_T
-#define BOOST_NO_CXX11_CHAR16_T
-//#define BOOST_BCB_PARTIAL_SPECIALIZATION_BUG
-#define BOOST_MATH_DISABLE_STD_FPCLASSIFY
-//#define BOOST_HAS_FPCLASSIFY
+#undef NDNBOOST_NO_CXX11_AUTO_DECLARATIONS
+#undef NDNBOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
+#define NDNBOOST_HAS_NRVO
+#define NDNBOOST_NO_CXX11_VARIADIC_TEMPLATES
+#define NDNBOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
+#define NDNBOOST_NO_CXX11_UNICODE_LITERALS
+#define NDNBOOST_NO_TWO_PHASE_NAME_LOOKUP
+#define NDNBOOST_HAS_NRVO
+#define NDNBOOST_NO_CXX11_TEMPLATE_ALIASES
+#define NDNBOOST_NO_CXX11_STATIC_ASSERT
+#define NDNBOOST_NO_SFINAE_EXPR
+#define NDNBOOST_NO_CXX11_SCOPED_ENUMS
+#define NDNBOOST_NO_CXX11_RVALUE_REFERENCES
+#define NDNBOOST_NO_CXX11_RANGE_BASED_FOR
+#define NDNBOOST_NO_CXX11_RAW_LITERALS
+#define NDNBOOST_NO_CXX11_NULLPTR
+#define NDNBOOST_NO_CXX11_NOEXCEPT
+#define NDNBOOST_NO_CXX11_LAMBDAS
+#define NDNBOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
+#define NDNBOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
+#define NDNBOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
+#define NDNBOOST_NO_CXX11_DELETED_FUNCTIONS
+#define NDNBOOST_NO_CXX11_DEFAULTED_FUNCTIONS
+#define NDNBOOST_NO_CXX11_DECLTYPE_N3276
+#define NDNBOOST_NO_CXX11_DECLTYPE
+#define NDNBOOST_NO_CXX11_CONSTEXPR
+#define NDNBOOST_NO_CXX11_USER_DEFINED_LITERALS
+#define NDNBOOST_NO_COMPLETE_VALUE_INITIALIZATION
+#define NDNBOOST_NO_CXX11_CHAR32_T
+#define NDNBOOST_NO_CXX11_CHAR16_T
+//#define NDNBOOST_BCB_PARTIAL_SPECIALIZATION_BUG
+#define NDNBOOST_MATH_DISABLE_STD_FPCLASSIFY
+//#define NDNBOOST_HAS_FPCLASSIFY
 
-#define BOOST_SP_USE_PTHREADS 
-#define BOOST_AC_USE_PTHREADS 
+#define NDNBOOST_SP_USE_PTHREADS 
+#define NDNBOOST_AC_USE_PTHREADS 
 
diff --git a/include/ndnboost/config/compiler/digitalmars.hpp b/include/ndnboost/config/compiler/digitalmars.hpp
index 0206dc3..b1cb3b7 100644
--- a/include/ndnboost/config/compiler/digitalmars.hpp
+++ b/include/ndnboost/config/compiler/digitalmars.hpp
@@ -6,39 +6,39 @@
 //  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 
 //  Digital Mars C++ compiler setup:
-#define BOOST_COMPILER __DMC_VERSION_STRING__
+#define NDNBOOST_COMPILER __DMC_VERSION_STRING__
 
-#define BOOST_HAS_LONG_LONG
-#define BOOST_HAS_PRAGMA_ONCE
+#define NDNBOOST_HAS_LONG_LONG
+#define NDNBOOST_HAS_PRAGMA_ONCE
 
 #if (__DMC__ <= 0x833)
-#define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
-#define BOOST_NO_TEMPLATE_TEMPLATES
-#define BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING
-#define BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS
-#define BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS
+#define NDNBOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
+#define NDNBOOST_NO_TEMPLATE_TEMPLATES
+#define NDNBOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING
+#define NDNBOOST_NO_ARRAY_TYPE_SPECIALIZATIONS
+#define NDNBOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS
 #endif
-#if (__DMC__ <= 0x840) || !defined(BOOST_STRICT_CONFIG)
-#define BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS
-#define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-#define BOOST_NO_OPERATORS_IN_NAMESPACE
-#define BOOST_NO_UNREACHABLE_RETURN_DETECTION
-#define BOOST_NO_SFINAE
-#define BOOST_NO_USING_TEMPLATE
-#define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
+#if (__DMC__ <= 0x840) || !defined(NDNBOOST_STRICT_CONFIG)
+#define NDNBOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS
+#define NDNBOOST_NO_MEMBER_TEMPLATE_FRIENDS
+#define NDNBOOST_NO_OPERATORS_IN_NAMESPACE
+#define NDNBOOST_NO_UNREACHABLE_RETURN_DETECTION
+#define NDNBOOST_NO_SFINAE
+#define NDNBOOST_NO_USING_TEMPLATE
+#define NDNBOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
 #endif
 
 //
 // has macros:
 #if (__DMC__ >= 0x840)
-#define BOOST_HAS_DIRENT_H
-#define BOOST_HAS_STDINT_H
-#define BOOST_HAS_WINTHREADS
+#define NDNBOOST_HAS_DIRENT_H
+#define NDNBOOST_HAS_STDINT_H
+#define NDNBOOST_HAS_WINTHREADS
 #endif
 
 #if (__DMC__ >= 0x847)
-#define BOOST_HAS_EXPM1
-#define BOOST_HAS_LOG1P
+#define NDNBOOST_HAS_EXPM1
+#define NDNBOOST_HAS_LOG1P
 #endif
 
 //
@@ -48,48 +48,48 @@
 #include <cstddef>
 #endif
 #if !defined(__STL_IMPORT_VENDOR_CSTD) && !defined(_STLP_IMPORT_VENDOR_CSTD)
-#  define BOOST_NO_STDC_NAMESPACE
+#  define NDNBOOST_NO_STDC_NAMESPACE
 #endif
 
 
 // check for exception handling support:
-#if !defined(_CPPUNWIND) && !defined(BOOST_NO_EXCEPTIONS)
-#  define BOOST_NO_EXCEPTIONS
+#if !defined(_CPPUNWIND) && !defined(NDNBOOST_NO_EXCEPTIONS)
+#  define NDNBOOST_NO_EXCEPTIONS
 #endif
 
 //
 // C++0x features
 //
-#define BOOST_NO_CXX11_AUTO_DECLARATIONS
-#define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
-#define BOOST_NO_CXX11_CHAR16_T
-#define BOOST_NO_CXX11_CHAR32_T
-#define BOOST_NO_CXX11_CONSTEXPR
-#define BOOST_NO_CXX11_DECLTYPE
-#define BOOST_NO_CXX11_DECLTYPE_N3276
-#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
-#define BOOST_NO_CXX11_DELETED_FUNCTIONS
-#define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
-#define BOOST_NO_CXX11_EXTERN_TEMPLATE
-#define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
-#define BOOST_NO_CXX11_LAMBDAS
-#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
-#define BOOST_NO_CXX11_NOEXCEPT
-#define BOOST_NO_CXX11_NULLPTR
-#define BOOST_NO_CXX11_RANGE_BASED_FOR
-#define BOOST_NO_CXX11_RAW_LITERALS
-#define BOOST_NO_CXX11_RVALUE_REFERENCES
-#define BOOST_NO_CXX11_SCOPED_ENUMS
-#define BOOST_NO_SFINAE_EXPR
-#define BOOST_NO_CXX11_STATIC_ASSERT
-#define BOOST_NO_CXX11_TEMPLATE_ALIASES
-#define BOOST_NO_CXX11_UNICODE_LITERALS
-#define BOOST_NO_CXX11_VARIADIC_TEMPLATES
-#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
-#define BOOST_NO_CXX11_USER_DEFINED_LITERALS
+#define NDNBOOST_NO_CXX11_AUTO_DECLARATIONS
+#define NDNBOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
+#define NDNBOOST_NO_CXX11_CHAR16_T
+#define NDNBOOST_NO_CXX11_CHAR32_T
+#define NDNBOOST_NO_CXX11_CONSTEXPR
+#define NDNBOOST_NO_CXX11_DECLTYPE
+#define NDNBOOST_NO_CXX11_DECLTYPE_N3276
+#define NDNBOOST_NO_CXX11_DEFAULTED_FUNCTIONS
+#define NDNBOOST_NO_CXX11_DELETED_FUNCTIONS
+#define NDNBOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
+#define NDNBOOST_NO_CXX11_EXTERN_TEMPLATE
+#define NDNBOOST_NO_CXX11_HDR_INITIALIZER_LIST
+#define NDNBOOST_NO_CXX11_LAMBDAS
+#define NDNBOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
+#define NDNBOOST_NO_CXX11_NOEXCEPT
+#define NDNBOOST_NO_CXX11_NULLPTR
+#define NDNBOOST_NO_CXX11_RANGE_BASED_FOR
+#define NDNBOOST_NO_CXX11_RAW_LITERALS
+#define NDNBOOST_NO_CXX11_RVALUE_REFERENCES
+#define NDNBOOST_NO_CXX11_SCOPED_ENUMS
+#define NDNBOOST_NO_SFINAE_EXPR
+#define NDNBOOST_NO_CXX11_STATIC_ASSERT
+#define NDNBOOST_NO_CXX11_TEMPLATE_ALIASES
+#define NDNBOOST_NO_CXX11_UNICODE_LITERALS
+#define NDNBOOST_NO_CXX11_VARIADIC_TEMPLATES
+#define NDNBOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
+#define NDNBOOST_NO_CXX11_USER_DEFINED_LITERALS
 
 #if (__DMC__ < 0x812)
-#define BOOST_NO_CXX11_VARIADIC_MACROS
+#define NDNBOOST_NO_CXX11_VARIADIC_MACROS
 #endif
 
 #if __DMC__ < 0x800
@@ -98,7 +98,7 @@
 //
 // last known and checked version is ...:
 #if (__DMC__ > 0x848)
-#  if defined(BOOST_ASSERT_CONFIG)
+#  if defined(NDNBOOST_ASSERT_CONFIG)
 #     error "Unknown compiler version - please run the configure tests and report the results"
 #  endif
 #endif
diff --git a/include/ndnboost/config/compiler/gcc.hpp b/include/ndnboost/config/compiler/gcc.hpp
index b3d12ec..c2d5130 100644
--- a/include/ndnboost/config/compiler/gcc.hpp
+++ b/include/ndnboost/config/compiler/gcc.hpp
@@ -14,48 +14,48 @@
 //  GNU C++ compiler setup.
 
 //
-// Define BOOST_GCC so we know this is "real" GCC and not some pretender:
+// Define NDNBOOST_GCC so we know this is "real" GCC and not some pretender:
 //
 #if !defined(__CUDACC__)
-#define BOOST_GCC (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)
+#define NDNBOOST_GCC (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)
 #endif
 
 #if __GNUC__ < 3
 #   if __GNUC_MINOR__ == 91
        // egcs 1.1 won't parse shared_ptr.hpp without this:
-#      define BOOST_NO_AUTO_PTR
+#      define NDNBOOST_NO_AUTO_PTR
 #   endif
 #   if __GNUC_MINOR__ < 95
       //
       // Prior to gcc 2.95 member templates only partly
-      // work - define BOOST_MSVC6_MEMBER_TEMPLATES
+      // work - define NDNBOOST_MSVC6_MEMBER_TEMPLATES
       // instead since inline member templates mostly work.
       //
-#     define BOOST_NO_MEMBER_TEMPLATES
+#     define NDNBOOST_NO_MEMBER_TEMPLATES
 #     if __GNUC_MINOR__ >= 9
-#       define BOOST_MSVC6_MEMBER_TEMPLATES
+#       define NDNBOOST_MSVC6_MEMBER_TEMPLATES
 #     endif
 #   endif
 
 #   if __GNUC_MINOR__ < 96
-#     define BOOST_NO_SFINAE
+#     define NDNBOOST_NO_SFINAE
 #   endif
 
 #   if __GNUC_MINOR__ <= 97
-#     define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-#     define BOOST_NO_OPERATORS_IN_NAMESPACE
+#     define NDNBOOST_NO_MEMBER_TEMPLATE_FRIENDS
+#     define NDNBOOST_NO_OPERATORS_IN_NAMESPACE
 #   endif
 
-#   define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE
-#   define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
-#   define BOOST_NO_IS_ABSTRACT
-#   define BOOST_NO_CXX11_EXTERN_TEMPLATE
+#   define NDNBOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE
+#   define NDNBOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
+#   define NDNBOOST_NO_IS_ABSTRACT
+#   define NDNBOOST_NO_CXX11_EXTERN_TEMPLATE
 // Variadic macros do not exist for gcc versions before 3.0
-#   define BOOST_NO_CXX11_VARIADIC_MACROS
+#   define NDNBOOST_NO_CXX11_VARIADIC_MACROS
 #elif __GNUC__ == 3
 #  if defined (__PATHSCALE__)
-#     define BOOST_NO_TWO_PHASE_NAME_LOOKUP
-#     define BOOST_NO_IS_ABSTRACT
+#     define NDNBOOST_NO_TWO_PHASE_NAME_LOOKUP
+#     define NDNBOOST_NO_IS_ABSTRACT
 #  endif
    //
    // gcc-3.x problems:
@@ -63,20 +63,20 @@
    // Bug specific to gcc 3.1 and 3.2:
    //
 #  if ((__GNUC_MINOR__ == 1) || (__GNUC_MINOR__ == 2))
-#     define BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS
+#     define NDNBOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS
 #  endif
 #  if __GNUC_MINOR__ < 4
-#     define BOOST_NO_IS_ABSTRACT
+#     define NDNBOOST_NO_IS_ABSTRACT
 #  endif
-#  define BOOST_NO_CXX11_EXTERN_TEMPLATE
+#  define NDNBOOST_NO_CXX11_EXTERN_TEMPLATE
 #endif
 #if __GNUC__ < 4
 //
 // All problems to gcc-3.x and earlier here:
 //
-#define BOOST_NO_TWO_PHASE_NAME_LOOKUP
+#define NDNBOOST_NO_TWO_PHASE_NAME_LOOKUP
 #  ifdef __OPEN64__
-#     define BOOST_NO_IS_ABSTRACT
+#     define NDNBOOST_NO_IS_ABSTRACT
 #  endif
 #endif
 
@@ -89,11 +89,11 @@
 // reported by Michael Elizabeth Chastain in 2007,
 // http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33916 (fixed for GCC 4.2.4)
 // See also: http://www.boost.org/libs/utility/value_init.htm#compiler_issues
-#define BOOST_NO_COMPLETE_VALUE_INITIALIZATION
+#define NDNBOOST_NO_COMPLETE_VALUE_INITIALIZATION
 #endif
 
-#if !defined(__EXCEPTIONS) && !defined(BOOST_NO_EXCEPTIONS)
-# define BOOST_NO_EXCEPTIONS
+#if !defined(__EXCEPTIONS) && !defined(NDNBOOST_NO_EXCEPTIONS)
+# define NDNBOOST_NO_EXCEPTIONS
 #endif
 
 
@@ -103,19 +103,19 @@
 // later if no threading API is detected.
 //
 #if !defined(__MINGW32__) && !defined(linux) && !defined(__linux) && !defined(__linux__)
-# define BOOST_HAS_THREADS
+# define NDNBOOST_HAS_THREADS
 #endif 
 
 //
 // gcc has "long long"
 //
-#define BOOST_HAS_LONG_LONG
+#define NDNBOOST_HAS_LONG_LONG
 
 //
 // gcc implements the named return value optimization since version 3.1
 //
 #if __GNUC__ > 3 || ( __GNUC__ == 3 && __GNUC_MINOR__ >= 1 )
-#define BOOST_HAS_NRVO
+#define NDNBOOST_HAS_NRVO
 #endif
 
 //
@@ -126,17 +126,17 @@
      // All Win32 development environments, including 64-bit Windows and MinGW, define 
      // _WIN32 or one of its variant spellings. Note that Cygwin is a POSIX environment,
      // so does not define _WIN32 or its variants.
-#    define BOOST_HAS_DECLSPEC
-#    define BOOST_SYMBOL_EXPORT __attribute__((dllexport))
-#    define BOOST_SYMBOL_IMPORT __attribute__((dllimport))
+#    define NDNBOOST_HAS_DECLSPEC
+#    define NDNBOOST_SYMBOL_EXPORT __attribute__((dllexport))
+#    define NDNBOOST_SYMBOL_IMPORT __attribute__((dllimport))
 #  else
-#    define BOOST_SYMBOL_EXPORT __attribute__((visibility("default")))
-#    define BOOST_SYMBOL_IMPORT
+#    define NDNBOOST_SYMBOL_EXPORT __attribute__((visibility("default")))
+#    define NDNBOOST_SYMBOL_IMPORT
 #  endif
-#  define BOOST_SYMBOL_VISIBLE __attribute__((visibility("default")))
+#  define NDNBOOST_SYMBOL_VISIBLE __attribute__((visibility("default")))
 #else
-// config/platform/win32.hpp will define BOOST_SYMBOL_EXPORT, etc., unless already defined  
-#  define BOOST_SYMBOL_EXPORT
+// config/platform/win32.hpp will define NDNBOOST_SYMBOL_EXPORT, etc., unless already defined  
+#  define NDNBOOST_SYMBOL_EXPORT
 #endif
 
 //
@@ -144,11 +144,11 @@
 //
 #if __GNUC__ * 100 + __GNUC_MINOR__ >= 403
 #  ifndef __GXX_RTTI
-#     ifndef BOOST_NO_TYPEID
-#        define BOOST_NO_TYPEID
+#     ifndef NDNBOOST_NO_TYPEID
+#        define NDNBOOST_NO_TYPEID
 #     endif
-#     ifndef BOOST_NO_RTTI
-#        define BOOST_NO_RTTI
+#     ifndef NDNBOOST_NO_RTTI
+#        define NDNBOOST_NO_RTTI
 #     endif
 #  endif
 #endif
@@ -164,7 +164,7 @@
 // of the circumstances under which it's supported:
 //
 #if defined(__SIZEOF_INT128__) && !defined(__CUDACC__)
-#  define BOOST_HAS_INT128
+#  define NDNBOOST_HAS_INT128
 #endif
 
 // C++0x features in 4.3.n and later
@@ -173,91 +173,91 @@
 // C++0x features are only enabled when -std=c++0x or -std=gnu++0x are
 // passed on the command line, which in turn defines
 // __GXX_EXPERIMENTAL_CXX0X__.
-#  define BOOST_HAS_DECLTYPE
-#  define BOOST_HAS_RVALUE_REFS
-#  define BOOST_HAS_STATIC_ASSERT
-#  define BOOST_HAS_VARIADIC_TMPL
+#  define NDNBOOST_HAS_DECLTYPE
+#  define NDNBOOST_HAS_RVALUE_REFS
+#  define NDNBOOST_HAS_STATIC_ASSERT
+#  define NDNBOOST_HAS_VARIADIC_TMPL
 #else
-#  define BOOST_NO_CXX11_DECLTYPE
-#  define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
-#  define BOOST_NO_CXX11_RVALUE_REFERENCES
-#  define BOOST_NO_CXX11_STATIC_ASSERT
+#  define NDNBOOST_NO_CXX11_DECLTYPE
+#  define NDNBOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
+#  define NDNBOOST_NO_CXX11_RVALUE_REFERENCES
+#  define NDNBOOST_NO_CXX11_STATIC_ASSERT
 
 // Variadic templates compiler: 
 //   http://www.generic-programming.org/~dgregor/cpp/variadic-templates.html
 #  if defined(__VARIADIC_TEMPLATES) || (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4) && defined(__GXX_EXPERIMENTAL_CXX0X__))
-#    define BOOST_HAS_VARIADIC_TMPL
+#    define NDNBOOST_HAS_VARIADIC_TMPL
 #  else
-#    define BOOST_NO_CXX11_VARIADIC_TEMPLATES
+#    define NDNBOOST_NO_CXX11_VARIADIC_TEMPLATES
 #  endif
 #endif
 
 // C++0x features in 4.4.n and later
 //
 #if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 4) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
-#  define BOOST_NO_CXX11_AUTO_DECLARATIONS
-#  define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
-#  define BOOST_NO_CXX11_CHAR16_T
-#  define BOOST_NO_CXX11_CHAR32_T
-#  define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
-#  define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
-#  define BOOST_NO_CXX11_DELETED_FUNCTIONS
+#  define NDNBOOST_NO_CXX11_AUTO_DECLARATIONS
+#  define NDNBOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
+#  define NDNBOOST_NO_CXX11_CHAR16_T
+#  define NDNBOOST_NO_CXX11_CHAR32_T
+#  define NDNBOOST_NO_CXX11_HDR_INITIALIZER_LIST
+#  define NDNBOOST_NO_CXX11_DEFAULTED_FUNCTIONS
+#  define NDNBOOST_NO_CXX11_DELETED_FUNCTIONS
 #endif
 
 #if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 5)
-#  define BOOST_NO_SFINAE_EXPR
+#  define NDNBOOST_NO_SFINAE_EXPR
 #endif
 
 // C++0x features in 4.5.0 and later
 //
 #if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 5) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
-#  define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
-#  define BOOST_NO_CXX11_LAMBDAS
-#  define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
-#  define BOOST_NO_CXX11_RAW_LITERALS
-#  define BOOST_NO_CXX11_UNICODE_LITERALS
+#  define NDNBOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
+#  define NDNBOOST_NO_CXX11_LAMBDAS
+#  define NDNBOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
+#  define NDNBOOST_NO_CXX11_RAW_LITERALS
+#  define NDNBOOST_NO_CXX11_UNICODE_LITERALS
 #endif
 
 // C++0x features in 4.5.1 and later
 //
 #if (__GNUC__*10000 + __GNUC_MINOR__*100 + __GNUC_PATCHLEVEL__ < 40501) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
-// scoped enums have a serious bug in 4.4.0, so define BOOST_NO_CXX11_SCOPED_ENUMS before 4.5.1
+// scoped enums have a serious bug in 4.4.0, so define NDNBOOST_NO_CXX11_SCOPED_ENUMS before 4.5.1
 // See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38064
-#  define BOOST_NO_CXX11_SCOPED_ENUMS
+#  define NDNBOOST_NO_CXX11_SCOPED_ENUMS
 #endif
 
 // C++0x features in 4.6.n and later
 //
 #if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 6) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
-#define BOOST_NO_CXX11_CONSTEXPR
-#define BOOST_NO_CXX11_NOEXCEPT
-#define BOOST_NO_CXX11_NULLPTR
-#define BOOST_NO_CXX11_RANGE_BASED_FOR
-#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
+#define NDNBOOST_NO_CXX11_CONSTEXPR
+#define NDNBOOST_NO_CXX11_NOEXCEPT
+#define NDNBOOST_NO_CXX11_NULLPTR
+#define NDNBOOST_NO_CXX11_RANGE_BASED_FOR
+#define NDNBOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
 #endif
 
 // C++0x features in 4.7.n and later
 //
 #if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 7) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
-#  define BOOST_NO_CXX11_TEMPLATE_ALIASES
-#  define BOOST_NO_CXX11_USER_DEFINED_LITERALS
+#  define NDNBOOST_NO_CXX11_TEMPLATE_ALIASES
+#  define NDNBOOST_NO_CXX11_USER_DEFINED_LITERALS
 #endif
 
 // C++0x features in 4.8.1 and later
 //
 #if (__GNUC__*10000 + __GNUC_MINOR__*100 + __GNUC_PATCHLEVEL__ < 40801) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
-#  define BOOST_NO_CXX11_DECLTYPE_N3276
+#  define NDNBOOST_NO_CXX11_DECLTYPE_N3276
 #endif
 
-#ifndef BOOST_COMPILER
-#  define BOOST_COMPILER "GNU C++ version " __VERSION__
+#ifndef NDNBOOST_COMPILER
+#  define NDNBOOST_COMPILER "GNU C++ version " __VERSION__
 #endif
 
 // ConceptGCC compiler:
 //   http://www.generic-programming.org/software/ConceptGCC/
 #ifdef __GXX_CONCEPTS__
-#  define BOOST_HAS_CONCEPTS
-#  define BOOST_COMPILER "ConceptGCC version " __VERSION__
+#  define NDNBOOST_HAS_CONCEPTS
+#  define NDNBOOST_COMPILER "ConceptGCC version " __VERSION__
 #endif
 
 // versions check:
@@ -268,7 +268,7 @@
 //
 // last known and checked version is 4.6 (Pre-release):
 #if (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ > 6))
-#  if defined(BOOST_ASSERT_CONFIG)
+#  if defined(NDNBOOST_ASSERT_CONFIG)
 #     error "Unknown compiler version - please run the configure tests and report the results"
 #  else
 // we don't emit warnings here anymore since there are no defect macros defined for
diff --git a/include/ndnboost/config/compiler/gcc_xml.hpp b/include/ndnboost/config/compiler/gcc_xml.hpp
index 1af2fc1..17f9f78 100644
--- a/include/ndnboost/config/compiler/gcc_xml.hpp
+++ b/include/ndnboost/config/compiler/gcc_xml.hpp
@@ -8,7 +8,7 @@
 //  GCC-XML C++ compiler setup:
 
 #  if !defined(__GCCXML_GNUC__) || ((__GCCXML_GNUC__ <= 3) && (__GCCXML_GNUC_MINOR__ <= 3))
-#     define BOOST_NO_IS_ABSTRACT
+#     define NDNBOOST_NO_IS_ABSTRACT
 #  endif
 
 //
@@ -17,45 +17,45 @@
 // later if no threading API is detected.
 //
 #if !defined(__MINGW32__) && !defined(_MSC_VER) && !defined(linux) && !defined(__linux) && !defined(__linux__)
-# define BOOST_HAS_THREADS
+# define NDNBOOST_HAS_THREADS
 #endif 
 
 //
 // gcc has "long long"
 //
-#define BOOST_HAS_LONG_LONG
+#define NDNBOOST_HAS_LONG_LONG
 
 // C++0x features:
 //
-#  define BOOST_NO_CXX11_CONSTEXPR
-#  define BOOST_NO_CXX11_NULLPTR
-#  define BOOST_NO_CXX11_TEMPLATE_ALIASES
-#  define BOOST_NO_CXX11_DECLTYPE
-#  define BOOST_NO_CXX11_DECLTYPE_N3276
-#  define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
-#  define BOOST_NO_CXX11_RVALUE_REFERENCES
-#  define BOOST_NO_CXX11_STATIC_ASSERT
-#  define BOOST_NO_CXX11_VARIADIC_TEMPLATES
-#  define BOOST_NO_CXX11_VARIADIC_MACROS
-#  define BOOST_NO_CXX11_AUTO_DECLARATIONS
-#  define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
-#  define BOOST_NO_CXX11_CHAR16_T
-#  define BOOST_NO_CXX11_CHAR32_T
-#  define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
-#  define BOOST_NO_CXX11_DELETED_FUNCTIONS
-#  define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
-#  define BOOST_NO_CXX11_SCOPED_ENUMS  
-#  define BOOST_NO_SFINAE_EXPR
-#  define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
-#  define BOOST_NO_CXX11_LAMBDAS
-#  define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
-#  define BOOST_NO_CXX11_RANGE_BASED_FOR
-#  define BOOST_NO_CXX11_RAW_LITERALS
-#  define BOOST_NO_CXX11_UNICODE_LITERALS
-#  define BOOST_NO_CXX11_NOEXCEPT
-#  define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
-#  define BOOST_NO_CXX11_USER_DEFINED_LITERALS
+#  define NDNBOOST_NO_CXX11_CONSTEXPR
+#  define NDNBOOST_NO_CXX11_NULLPTR
+#  define NDNBOOST_NO_CXX11_TEMPLATE_ALIASES
+#  define NDNBOOST_NO_CXX11_DECLTYPE
+#  define NDNBOOST_NO_CXX11_DECLTYPE_N3276
+#  define NDNBOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
+#  define NDNBOOST_NO_CXX11_RVALUE_REFERENCES
+#  define NDNBOOST_NO_CXX11_STATIC_ASSERT
+#  define NDNBOOST_NO_CXX11_VARIADIC_TEMPLATES
+#  define NDNBOOST_NO_CXX11_VARIADIC_MACROS
+#  define NDNBOOST_NO_CXX11_AUTO_DECLARATIONS
+#  define NDNBOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
+#  define NDNBOOST_NO_CXX11_CHAR16_T
+#  define NDNBOOST_NO_CXX11_CHAR32_T
+#  define NDNBOOST_NO_CXX11_DEFAULTED_FUNCTIONS
+#  define NDNBOOST_NO_CXX11_DELETED_FUNCTIONS
+#  define NDNBOOST_NO_CXX11_HDR_INITIALIZER_LIST
+#  define NDNBOOST_NO_CXX11_SCOPED_ENUMS  
+#  define NDNBOOST_NO_SFINAE_EXPR
+#  define NDNBOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
+#  define NDNBOOST_NO_CXX11_LAMBDAS
+#  define NDNBOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
+#  define NDNBOOST_NO_CXX11_RANGE_BASED_FOR
+#  define NDNBOOST_NO_CXX11_RAW_LITERALS
+#  define NDNBOOST_NO_CXX11_UNICODE_LITERALS
+#  define NDNBOOST_NO_CXX11_NOEXCEPT
+#  define NDNBOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
+#  define NDNBOOST_NO_CXX11_USER_DEFINED_LITERALS
 
-#define BOOST_COMPILER "GCC-XML C++ version " __GCCXML__
+#define NDNBOOST_COMPILER "GCC-XML C++ version " __GCCXML__
 
 
diff --git a/include/ndnboost/config/compiler/greenhills.hpp b/include/ndnboost/config/compiler/greenhills.hpp
index 8d2da94..d16897d 100644
--- a/include/ndnboost/config/compiler/greenhills.hpp
+++ b/include/ndnboost/config/compiler/greenhills.hpp
@@ -7,7 +7,7 @@
 
 //  Greenhills C++ compiler setup:
 
-#define BOOST_COMPILER "Greenhills C++ version " BOOST_STRINGIZE(__ghs)
+#define NDNBOOST_COMPILER "Greenhills C++ version " NDNBOOST_STRINGIZE(__ghs)
 
 #include "ndnboost/config/compiler/common_edg.hpp"
 
@@ -20,7 +20,7 @@
 //
 // last known and checked version is 0:
 #if (__ghs > 0)
-#  if defined(BOOST_ASSERT_CONFIG)
+#  if defined(NDNBOOST_ASSERT_CONFIG)
 #     error "Unknown compiler version - please run the configure tests and report the results"
 #  endif
 #endif
diff --git a/include/ndnboost/config/compiler/hp_acc.hpp b/include/ndnboost/config/compiler/hp_acc.hpp
index f2c917a..d8438e8 100644
--- a/include/ndnboost/config/compiler/hp_acc.hpp
+++ b/include/ndnboost/config/compiler/hp_acc.hpp
@@ -17,42 +17,42 @@
 #endif
 
 #if (__HP_aCC <= 33100)
-#    define BOOST_NO_INTEGRAL_INT64_T
-#    define BOOST_NO_OPERATORS_IN_NAMESPACE
+#    define NDNBOOST_NO_INTEGRAL_INT64_T
+#    define NDNBOOST_NO_OPERATORS_IN_NAMESPACE
 #  if !defined(_NAMESPACE_STD)
-#     define BOOST_NO_STD_LOCALE
-#     define BOOST_NO_STRINGSTREAM
+#     define NDNBOOST_NO_STD_LOCALE
+#     define NDNBOOST_NO_STRINGSTREAM
 #  endif
 #endif
 
 #if (__HP_aCC <= 33300)
 // member templates are sufficiently broken that we disable them for now
-#    define BOOST_NO_MEMBER_TEMPLATES
-#    define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS
-#    define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE
+#    define NDNBOOST_NO_MEMBER_TEMPLATES
+#    define NDNBOOST_NO_DEPENDENT_NESTED_DERIVATIONS
+#    define NDNBOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE
 #endif
 
 #if (__HP_aCC <= 38000)
-#  define BOOST_NO_TWO_PHASE_NAME_LOOKUP
+#  define NDNBOOST_NO_TWO_PHASE_NAME_LOOKUP
 #endif
 
 #if (__HP_aCC > 50000) && (__HP_aCC < 60000)
-#    define BOOST_NO_UNREACHABLE_RETURN_DETECTION
-#    define BOOST_NO_TEMPLATE_TEMPLATES
-#    define BOOST_NO_SWPRINTF
-#    define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS
-#    define BOOST_NO_IS_ABSTRACT
-#    define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
+#    define NDNBOOST_NO_UNREACHABLE_RETURN_DETECTION
+#    define NDNBOOST_NO_TEMPLATE_TEMPLATES
+#    define NDNBOOST_NO_SWPRINTF
+#    define NDNBOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS
+#    define NDNBOOST_NO_IS_ABSTRACT
+#    define NDNBOOST_NO_MEMBER_TEMPLATE_FRIENDS
 #endif 
 
 // optional features rather than defects:
 #if (__HP_aCC >= 33900)
-#    define BOOST_HAS_LONG_LONG
-#    define BOOST_HAS_PARTIAL_STD_ALLOCATOR
+#    define NDNBOOST_HAS_LONG_LONG
+#    define NDNBOOST_HAS_PARTIAL_STD_ALLOCATOR
 #endif
 
 #if (__HP_aCC >= 50000 ) && (__HP_aCC <= 53800 ) || (__HP_aCC < 31300 )
-#    define BOOST_NO_MEMBER_TEMPLATE_KEYWORD
+#    define NDNBOOST_NO_MEMBER_TEMPLATE_KEYWORD
 #endif
 
 // This macro should not be defined when compiling in strict ansi
@@ -61,10 +61,10 @@
 // of aCC6 compiler will provide predefined macros reflecting the
 // compilation options, including the standard mode.
 #if (__HP_aCC >= 60000) || ((__HP_aCC > 38000) && defined(__hpxstd98))
-#    define BOOST_NO_TWO_PHASE_NAME_LOOKUP
+#    define NDNBOOST_NO_TWO_PHASE_NAME_LOOKUP
 #endif
 
-#define BOOST_COMPILER "HP aCC version " BOOST_STRINGIZE(__HP_aCC)
+#define NDNBOOST_COMPILER "HP aCC version " NDNBOOST_STRINGIZE(__HP_aCC)
 
 //
 // versions check:
@@ -88,37 +88,37 @@
 //
 // C++0x features
 //
-//   See boost\config\suffix.hpp for BOOST_NO_LONG_LONG
+//   See boost\config\suffix.hpp for NDNBOOST_NO_LONG_LONG
 //
 #if !defined(__EDG__)
 
-#define BOOST_NO_CXX11_AUTO_DECLARATIONS
-#define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
-#define BOOST_NO_CXX11_CHAR16_T
-#define BOOST_NO_CXX11_CHAR32_T
-#define BOOST_NO_CXX11_CONSTEXPR
-#define BOOST_NO_CXX11_DECLTYPE
-#define BOOST_NO_CXX11_DECLTYPE_N3276
-#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
-#define BOOST_NO_CXX11_DELETED_FUNCTIONS
-#define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
-#define BOOST_NO_CXX11_EXTERN_TEMPLATE
-#define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
-#define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
-#define BOOST_NO_CXX11_LAMBDAS
-#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
-#define BOOST_NO_CXX11_NOEXCEPT
-#define BOOST_NO_CXX11_NULLPTR
-#define BOOST_NO_CXX11_RANGE_BASED_FOR
-#define BOOST_NO_CXX11_RAW_LITERALS
-#define BOOST_NO_CXX11_RVALUE_REFERENCES
-#define BOOST_NO_CXX11_SCOPED_ENUMS
-#define BOOST_NO_SFINAE_EXPR
-#define BOOST_NO_CXX11_STATIC_ASSERT
-#define BOOST_NO_CXX11_TEMPLATE_ALIASES
-#define BOOST_NO_CXX11_UNICODE_LITERALS
-#define BOOST_NO_CXX11_VARIADIC_TEMPLATES
-#define BOOST_NO_CXX11_USER_DEFINED_LITERALS
+#define NDNBOOST_NO_CXX11_AUTO_DECLARATIONS
+#define NDNBOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
+#define NDNBOOST_NO_CXX11_CHAR16_T
+#define NDNBOOST_NO_CXX11_CHAR32_T
+#define NDNBOOST_NO_CXX11_CONSTEXPR
+#define NDNBOOST_NO_CXX11_DECLTYPE
+#define NDNBOOST_NO_CXX11_DECLTYPE_N3276
+#define NDNBOOST_NO_CXX11_DEFAULTED_FUNCTIONS
+#define NDNBOOST_NO_CXX11_DELETED_FUNCTIONS
+#define NDNBOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
+#define NDNBOOST_NO_CXX11_EXTERN_TEMPLATE
+#define NDNBOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
+#define NDNBOOST_NO_CXX11_HDR_INITIALIZER_LIST
+#define NDNBOOST_NO_CXX11_LAMBDAS
+#define NDNBOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
+#define NDNBOOST_NO_CXX11_NOEXCEPT
+#define NDNBOOST_NO_CXX11_NULLPTR
+#define NDNBOOST_NO_CXX11_RANGE_BASED_FOR
+#define NDNBOOST_NO_CXX11_RAW_LITERALS
+#define NDNBOOST_NO_CXX11_RVALUE_REFERENCES
+#define NDNBOOST_NO_CXX11_SCOPED_ENUMS
+#define NDNBOOST_NO_SFINAE_EXPR
+#define NDNBOOST_NO_CXX11_STATIC_ASSERT
+#define NDNBOOST_NO_CXX11_TEMPLATE_ALIASES
+#define NDNBOOST_NO_CXX11_UNICODE_LITERALS
+#define NDNBOOST_NO_CXX11_VARIADIC_TEMPLATES
+#define NDNBOOST_NO_CXX11_USER_DEFINED_LITERALS
 
 /* 
   See https://forums13.itrc.hp.com/service/forums/questionanswer.do?threadId=1443331 and
@@ -126,7 +126,7 @@
 */
 
 #if (__HP_aCC < 62500) || !defined(HP_CXX0x_SOURCE)
-  #define BOOST_NO_CXX11_VARIADIC_MACROS
+  #define NDNBOOST_NO_CXX11_VARIADIC_MACROS
 #endif
 
 #endif
@@ -135,7 +135,7 @@
 // last known and checked version for HP-UX/ia64 is 61300
 // last known and checked version for PA-RISC is 38000
 #if ((__HP_aCC > 61300) || ((__HP_aCC > 38000) && defined(__hpxstd98)))
-#  if defined(BOOST_ASSERT_CONFIG)
+#  if defined(NDNBOOST_ASSERT_CONFIG)
 #     error "Unknown compiler version - please run the configure tests and report the results"
 #  endif
 #endif
diff --git a/include/ndnboost/config/compiler/intel.hpp b/include/ndnboost/config/compiler/intel.hpp
index ea27b8d..9216831 100644
--- a/include/ndnboost/config/compiler/intel.hpp
+++ b/include/ndnboost/config/compiler/intel.hpp
@@ -17,42 +17,42 @@
 #include "ndnboost/config/compiler/common_edg.hpp"
 
 #if defined(__INTEL_COMPILER)
-#  define BOOST_INTEL_CXX_VERSION __INTEL_COMPILER
+#  define NDNBOOST_INTEL_CXX_VERSION __INTEL_COMPILER
 #elif defined(__ICL)
-#  define BOOST_INTEL_CXX_VERSION __ICL
+#  define NDNBOOST_INTEL_CXX_VERSION __ICL
 #elif defined(__ICC)
-#  define BOOST_INTEL_CXX_VERSION __ICC
+#  define NDNBOOST_INTEL_CXX_VERSION __ICC
 #elif defined(__ECC)
-#  define BOOST_INTEL_CXX_VERSION __ECC
+#  define NDNBOOST_INTEL_CXX_VERSION __ECC
 #endif
 
 // Flags determined by comparing output of 'icpc -dM -E' with and without '-std=c++0x'
-#if (!(defined(_WIN32) || defined(_WIN64)) && defined(__STDC_HOSTED__) && (__STDC_HOSTED__ && (BOOST_INTEL_CXX_VERSION <= 1200))) || defined(__GXX_EXPERIMENTAL_CPP0X__)
-#  define BOOST_INTEL_STDCXX0X
+#if (!(defined(_WIN32) || defined(_WIN64)) && defined(__STDC_HOSTED__) && (__STDC_HOSTED__ && (NDNBOOST_INTEL_CXX_VERSION <= 1200))) || defined(__GXX_EXPERIMENTAL_CPP0X__)
+#  define NDNBOOST_INTEL_STDCXX0X
 #endif
 #if defined(_MSC_VER) && (_MSC_VER >= 1600)
-#  define BOOST_INTEL_STDCXX0X
+#  define NDNBOOST_INTEL_STDCXX0X
 #endif
 
-#ifdef BOOST_INTEL_STDCXX0X
-#define BOOST_COMPILER "Intel C++ C++0x mode version " BOOST_STRINGIZE(BOOST_INTEL_CXX_VERSION)
+#ifdef NDNBOOST_INTEL_STDCXX0X
+#define NDNBOOST_COMPILER "Intel C++ C++0x mode version " NDNBOOST_STRINGIZE(NDNBOOST_INTEL_CXX_VERSION)
 #else
-#define BOOST_COMPILER "Intel C++ version " BOOST_STRINGIZE(BOOST_INTEL_CXX_VERSION)
+#define NDNBOOST_COMPILER "Intel C++ version " NDNBOOST_STRINGIZE(NDNBOOST_INTEL_CXX_VERSION)
 #endif
-#define BOOST_INTEL BOOST_INTEL_CXX_VERSION
+#define NDNBOOST_INTEL NDNBOOST_INTEL_CXX_VERSION
 
 #if defined(_WIN32) || defined(_WIN64)
-#  define BOOST_INTEL_WIN BOOST_INTEL
+#  define NDNBOOST_INTEL_WIN NDNBOOST_INTEL
 #else
-#  define BOOST_INTEL_LINUX BOOST_INTEL
+#  define NDNBOOST_INTEL_LINUX NDNBOOST_INTEL
 #endif
 
-#if (BOOST_INTEL_CXX_VERSION <= 500) && defined(_MSC_VER)
-#  define BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS
-#  define BOOST_NO_TEMPLATE_TEMPLATES
+#if (NDNBOOST_INTEL_CXX_VERSION <= 500) && defined(_MSC_VER)
+#  define NDNBOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS
+#  define NDNBOOST_NO_TEMPLATE_TEMPLATES
 #endif
 
-#if (BOOST_INTEL_CXX_VERSION <= 600)
+#if (NDNBOOST_INTEL_CXX_VERSION <= 600)
 
 #  if defined(_MSC_VER) && (_MSC_VER <= 1300) // added check for <= VC 7 (Peter Dimov)
 
@@ -64,28 +64,28 @@
 // details as they apply to particular versions of the compiler. When the
 // compiler does not predefine a macro indicating if an option has been set,
 // this config file simply assumes the option has been set.
-// Thus BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP will not be defined, even if
+// Thus NDNBOOST_NO_ARGUMENT_DEPENDENT_LOOKUP will not be defined, even if
 // the compiler option is not enabled.
 
-#     define BOOST_NO_SWPRINTF
+#     define NDNBOOST_NO_SWPRINTF
 #  endif
 
 // Void returns, 64 bit integrals don't work when emulating VC 6 (Peter Dimov)
 
 #  if defined(_MSC_VER) && (_MSC_VER <= 1200)
-#     define BOOST_NO_VOID_RETURNS
-#     define BOOST_NO_INTEGRAL_INT64_T
+#     define NDNBOOST_NO_VOID_RETURNS
+#     define NDNBOOST_NO_INTEGRAL_INT64_T
 #  endif
 
 #endif
 
-#if (BOOST_INTEL_CXX_VERSION <= 710) && defined(_WIN32)
-#  define BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS
+#if (NDNBOOST_INTEL_CXX_VERSION <= 710) && defined(_WIN32)
+#  define NDNBOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS
 #endif
 
 // See http://aspn.activestate.com/ASPN/Mail/Message/boost/1614864
-#if BOOST_INTEL_CXX_VERSION < 600
-#  define BOOST_NO_INTRINSIC_WCHAR_T
+#if NDNBOOST_INTEL_CXX_VERSION < 600
+#  define NDNBOOST_NO_INTRINSIC_WCHAR_T
 #else
 // We should test the macro _WCHAR_T_DEFINED to check if the compiler
 // supports wchar_t natively. *BUT* there is a problem here: the standard
@@ -96,79 +96,79 @@
 // Under UNIX, the situation is exactly the same, but the macro _WCHAR_T
 // is used instead.
 #  if ((_WCHAR_T_DEFINED + 0) == 0) && ((_WCHAR_T + 0) == 0)
-#    define BOOST_NO_INTRINSIC_WCHAR_T
+#    define NDNBOOST_NO_INTRINSIC_WCHAR_T
 #  endif
 #endif
 
-#if defined(__GNUC__) && !defined(BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL)
+#if defined(__GNUC__) && !defined(NDNBOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL)
 //
 // Figure out when Intel is emulating this gcc bug
 // (All Intel versions prior to 9.0.26, and versions
 // later than that if they are set up to emulate gcc 3.2
 // or earlier):
 //
-#  if ((__GNUC__ == 3) && (__GNUC_MINOR__ <= 2)) || (BOOST_INTEL < 900) || (__INTEL_COMPILER_BUILD_DATE < 20050912)
-#     define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
+#  if ((__GNUC__ == 3) && (__GNUC_MINOR__ <= 2)) || (NDNBOOST_INTEL < 900) || (__INTEL_COMPILER_BUILD_DATE < 20050912)
+#     define NDNBOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
 #  endif
 #endif
-#if (defined(__GNUC__) && (__GNUC__ < 4)) || defined(_WIN32) || (BOOST_INTEL_CXX_VERSION <= 1200)
+#if (defined(__GNUC__) && (__GNUC__ < 4)) || defined(_WIN32) || (NDNBOOST_INTEL_CXX_VERSION <= 1200)
 // GCC or VC emulation:
-#define BOOST_NO_TWO_PHASE_NAME_LOOKUP
+#define NDNBOOST_NO_TWO_PHASE_NAME_LOOKUP
 #endif
 //
-// Verify that we have actually got BOOST_NO_INTRINSIC_WCHAR_T
+// Verify that we have actually got NDNBOOST_NO_INTRINSIC_WCHAR_T
 // set correctly, if we don't do this now, we will get errors later
 // in type_traits code among other things, getting this correct
 // for the Intel compiler is actually remarkably fragile and tricky:
 //
 #ifdef __cplusplus
-#if defined(BOOST_NO_INTRINSIC_WCHAR_T)
+#if defined(NDNBOOST_NO_INTRINSIC_WCHAR_T)
 #include <cwchar>
 template< typename T > struct assert_no_intrinsic_wchar_t;
 template<> struct assert_no_intrinsic_wchar_t<wchar_t> { typedef void type; };
-// if you see an error here then you need to unset BOOST_NO_INTRINSIC_WCHAR_T
+// if you see an error here then you need to unset NDNBOOST_NO_INTRINSIC_WCHAR_T
 // where it is defined above:
 typedef assert_no_intrinsic_wchar_t<unsigned short>::type assert_no_intrinsic_wchar_t_;
 #else
 template< typename T > struct assert_intrinsic_wchar_t;
 template<> struct assert_intrinsic_wchar_t<wchar_t> {};
-// if you see an error here then define BOOST_NO_INTRINSIC_WCHAR_T on the command line:
+// if you see an error here then define NDNBOOST_NO_INTRINSIC_WCHAR_T on the command line:
 template<> struct assert_intrinsic_wchar_t<unsigned short> {};
 #endif
 #endif
 
 #if defined(_MSC_VER) && (_MSC_VER+0 >= 1000)
 #  if _MSC_VER >= 1200
-#     define BOOST_HAS_MS_INT64
+#     define NDNBOOST_HAS_MS_INT64
 #  endif
-#  define BOOST_NO_SWPRINTF
-#  define BOOST_NO_TWO_PHASE_NAME_LOOKUP
+#  define NDNBOOST_NO_SWPRINTF
+#  define NDNBOOST_NO_TWO_PHASE_NAME_LOOKUP
 #elif defined(_WIN32)
-#  define BOOST_DISABLE_WIN32
+#  define NDNBOOST_DISABLE_WIN32
 #endif
 
 // I checked version 6.0 build 020312Z, it implements the NRVO.
 // Correct this as you find out which version of the compiler
 // implemented the NRVO first.  (Daniel Frey)
-#if (BOOST_INTEL_CXX_VERSION >= 600)
-#  define BOOST_HAS_NRVO
+#if (NDNBOOST_INTEL_CXX_VERSION >= 600)
+#  define NDNBOOST_HAS_NRVO
 #endif
 
 //
 // versions check:
 // we don't support Intel prior to version 5.0:
-#if BOOST_INTEL_CXX_VERSION < 500
+#if NDNBOOST_INTEL_CXX_VERSION < 500
 #  error "Compiler not supported or configured - please reconfigure"
 #endif
 
 // Intel on MacOS requires
 #if defined(__APPLE__) && defined(__INTEL_COMPILER)
-#  define BOOST_NO_TWO_PHASE_NAME_LOOKUP
+#  define NDNBOOST_NO_TWO_PHASE_NAME_LOOKUP
 #endif
 
 // Intel on Altix Itanium
 #if defined(__itanium__) && defined(__INTEL_COMPILER)
-#  define BOOST_NO_TWO_PHASE_NAME_LOOKUP
+#  define NDNBOOST_NO_TWO_PHASE_NAME_LOOKUP
 #endif
 
 //
@@ -182,7 +182,7 @@
 // Apparently Intel 12.1 (compiler version number 9999 !!) has the same issue (compiler regression).
 #if defined(__INTEL_COMPILER)
 #  if (__INTEL_COMPILER <= 1110) || (__INTEL_COMPILER == 9999) || (defined(_WIN32) && (__INTEL_COMPILER < 1500))
-#    define BOOST_NO_COMPLETE_VALUE_INITIALIZATION
+#    define NDNBOOST_NO_COMPLETE_VALUE_INITIALIZATION
 #  endif
 #endif
 
@@ -190,76 +190,76 @@
 // Dynamic shared object (DSO) and dynamic-link library (DLL) support
 //
 #if defined(__GNUC__) && (__GNUC__ >= 4)
-#  define BOOST_SYMBOL_EXPORT __attribute__((visibility("default")))
-#  define BOOST_SYMBOL_IMPORT
-#  define BOOST_SYMBOL_VISIBLE __attribute__((visibility("default")))
+#  define NDNBOOST_SYMBOL_EXPORT __attribute__((visibility("default")))
+#  define NDNBOOST_SYMBOL_IMPORT
+#  define NDNBOOST_SYMBOL_VISIBLE __attribute__((visibility("default")))
 #endif
 //
 // C++0x features
 //     - ICC added static_assert in 11.0 (first version with C++0x support)
 //
-#if defined(BOOST_INTEL_STDCXX0X)
-#  undef  BOOST_NO_CXX11_STATIC_ASSERT
+#if defined(NDNBOOST_INTEL_STDCXX0X)
+#  undef  NDNBOOST_NO_CXX11_STATIC_ASSERT
 //
 // These pass our test cases, but aren't officially supported according to:
 // http://software.intel.com/en-us/articles/c0x-features-supported-by-intel-c-compiler/
 //
-//#  undef  BOOST_NO_CXX11_LAMBDAS
-//#  undef  BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
-//#  undef  BOOST_NO_CXX11_DECLTYPE
-//#  undef  BOOST_NO_CXX11_AUTO_DECLARATIONS
-//#  undef  BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
+//#  undef  NDNBOOST_NO_CXX11_LAMBDAS
+//#  undef  NDNBOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
+//#  undef  NDNBOOST_NO_CXX11_DECLTYPE
+//#  undef  NDNBOOST_NO_CXX11_AUTO_DECLARATIONS
+//#  undef  NDNBOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
 #endif
 
-#if defined(BOOST_INTEL_STDCXX0X) && (BOOST_INTEL_CXX_VERSION >= 1200)
-//#  undef  BOOST_NO_CXX11_RVALUE_REFERENCES // Enabling this breaks Filesystem and Exception libraries
-//#  undef  BOOST_NO_CXX11_SCOPED_ENUMS  // doesn't really work!!
-#  undef  BOOST_NO_CXX11_DELETED_FUNCTIONS
-#  undef  BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
-#  undef  BOOST_NO_CXX11_LAMBDAS
-#  undef  BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
-#  undef  BOOST_NO_CXX11_DECLTYPE
-#  undef  BOOST_NO_CXX11_AUTO_DECLARATIONS
-#  undef  BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
+#if defined(NDNBOOST_INTEL_STDCXX0X) && (NDNBOOST_INTEL_CXX_VERSION >= 1200)
+//#  undef  NDNBOOST_NO_CXX11_RVALUE_REFERENCES // Enabling this breaks Filesystem and Exception libraries
+//#  undef  NDNBOOST_NO_CXX11_SCOPED_ENUMS  // doesn't really work!!
+#  undef  NDNBOOST_NO_CXX11_DELETED_FUNCTIONS
+#  undef  NDNBOOST_NO_CXX11_DEFAULTED_FUNCTIONS
+#  undef  NDNBOOST_NO_CXX11_LAMBDAS
+#  undef  NDNBOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
+#  undef  NDNBOOST_NO_CXX11_DECLTYPE
+#  undef  NDNBOOST_NO_CXX11_AUTO_DECLARATIONS
+#  undef  NDNBOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
 #endif
 
 // icl Version 12.1.0.233 Build 20110811 and possibly some other builds
 // had an incorrect __INTEL_COMPILER value of 9999. Intel say this has been fixed. 
-#if defined(BOOST_INTEL_STDCXX0X) && (BOOST_INTEL_CXX_VERSION > 1200)
-#  undef  BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
-#  undef  BOOST_NO_CXX11_NULLPTR
-#  undef  BOOST_NO_CXX11_RVALUE_REFERENCES
-#  undef  BOOST_NO_SFINAE_EXPR
-#  undef  BOOST_NO_CXX11_TEMPLATE_ALIASES
-#  undef  BOOST_NO_CXX11_VARIADIC_TEMPLATES
+#if defined(NDNBOOST_INTEL_STDCXX0X) && (NDNBOOST_INTEL_CXX_VERSION > 1200)
+#  undef  NDNBOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
+#  undef  NDNBOOST_NO_CXX11_NULLPTR
+#  undef  NDNBOOST_NO_CXX11_RVALUE_REFERENCES
+#  undef  NDNBOOST_NO_SFINAE_EXPR
+#  undef  NDNBOOST_NO_CXX11_TEMPLATE_ALIASES
+#  undef  NDNBOOST_NO_CXX11_VARIADIC_TEMPLATES
 
 // http://software.intel.com/en-us/articles/c0x-features-supported-by-intel-c-compiler/
 // continues to list scoped enum support as "Partial" 
-//#  undef  BOOST_NO_CXX11_SCOPED_ENUMS 
+//#  undef  NDNBOOST_NO_CXX11_SCOPED_ENUMS 
 #endif
 
 #if defined(_MSC_VER) && (_MSC_VER <= 1700)
 //
 // Although the Intel compiler is capable of supporting these, it appears not to in MSVC compatibility mode:
 //
-#  define  BOOST_NO_CXX11_HDR_INITIALIZER_LIST
-#  define  BOOST_NO_CXX11_VARIADIC_TEMPLATES
-#  define  BOOST_NO_CXX11_DELETED_FUNCTIONS
-#  define  BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
-#  define  BOOST_NO_CXX11_TEMPLATE_ALIASES
+#  define  NDNBOOST_NO_CXX11_HDR_INITIALIZER_LIST
+#  define  NDNBOOST_NO_CXX11_VARIADIC_TEMPLATES
+#  define  NDNBOOST_NO_CXX11_DELETED_FUNCTIONS
+#  define  NDNBOOST_NO_CXX11_DEFAULTED_FUNCTIONS
+#  define  NDNBOOST_NO_CXX11_TEMPLATE_ALIASES
 #endif
 
-#if (BOOST_INTEL_CXX_VERSION < 1200)
+#if (NDNBOOST_INTEL_CXX_VERSION < 1200)
 //
 // fenv.h appears not to work with Intel prior to 12.0:
 //
-#  define BOOST_NO_FENV_H
+#  define NDNBOOST_NO_FENV_H
 #endif
 
 //
 // last known and checked version:
-#if (BOOST_INTEL_CXX_VERSION > 1200)
-#  if defined(BOOST_ASSERT_CONFIG)
+#if (NDNBOOST_INTEL_CXX_VERSION > 1200)
+#  if defined(NDNBOOST_ASSERT_CONFIG)
 #     error "Unknown compiler version - please run the configure tests and report the results"
 #  elif defined(_MSC_VER)
 //
diff --git a/include/ndnboost/config/compiler/kai.hpp b/include/ndnboost/config/compiler/kai.hpp
index c839638..38320f5 100644
--- a/include/ndnboost/config/compiler/kai.hpp
+++ b/include/ndnboost/config/compiler/kai.hpp
@@ -11,20 +11,20 @@
 
 #include "ndnboost/config/compiler/common_edg.hpp"
 
-#   if (__KCC_VERSION <= 4001) || !defined(BOOST_STRICT_CONFIG)
+#   if (__KCC_VERSION <= 4001) || !defined(NDNBOOST_STRICT_CONFIG)
       // at least on Sun, the contents of <cwchar> is not in namespace std
-#     define BOOST_NO_STDC_NAMESPACE
+#     define NDNBOOST_NO_STDC_NAMESPACE
 #   endif
 
 // see also common_edg.hpp which needs a special check for __KCC
-# if !defined(_EXCEPTIONS) && !defined(BOOST_NO_EXCEPTIONS)
-#     define BOOST_NO_EXCEPTIONS
+# if !defined(_EXCEPTIONS) && !defined(NDNBOOST_NO_EXCEPTIONS)
+#     define NDNBOOST_NO_EXCEPTIONS
 # endif
 
 //
 // last known and checked version is 4001:
 #if (__KCC_VERSION > 4001)
-#  if defined(BOOST_ASSERT_CONFIG)
+#  if defined(NDNBOOST_ASSERT_CONFIG)
 #     error "Unknown compiler version - please run the configure tests and report the results"
 #  endif
 #endif
diff --git a/include/ndnboost/config/compiler/metrowerks.hpp b/include/ndnboost/config/compiler/metrowerks.hpp
index 4ca8af8..a5161cd 100644
--- a/include/ndnboost/config/compiler/metrowerks.hpp
+++ b/include/ndnboost/config/compiler/metrowerks.hpp
@@ -14,114 +14,114 @@
 
 // locale support is disabled when linking with the dynamic runtime
 #   ifdef _MSL_NO_LOCALE
-#     define BOOST_NO_STD_LOCALE
+#     define NDNBOOST_NO_STD_LOCALE
 #   endif 
 
 #   if __MWERKS__ <= 0x2301  // 5.3
-#     define BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-#     define BOOST_NO_POINTER_TO_MEMBER_CONST
-#     define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS
-#     define BOOST_NO_MEMBER_TEMPLATE_KEYWORD
+#     define NDNBOOST_NO_FUNCTION_TEMPLATE_ORDERING
+#     define NDNBOOST_NO_POINTER_TO_MEMBER_CONST
+#     define NDNBOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS
+#     define NDNBOOST_NO_MEMBER_TEMPLATE_KEYWORD
 #   endif
 
 #   if __MWERKS__ <= 0x2401  // 6.2
-//#     define BOOST_NO_FUNCTION_TEMPLATE_ORDERING
+//#     define NDNBOOST_NO_FUNCTION_TEMPLATE_ORDERING
 #   endif
 
 #   if(__MWERKS__ <= 0x2407)  // 7.x
-#     define BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS
-#     define BOOST_NO_UNREACHABLE_RETURN_DETECTION
+#     define NDNBOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS
+#     define NDNBOOST_NO_UNREACHABLE_RETURN_DETECTION
 #   endif
 
 #   if(__MWERKS__ <= 0x3003)  // 8.x
-#     define BOOST_NO_SFINAE
+#     define NDNBOOST_NO_SFINAE
 #    endif
 
-// the "|| !defined(BOOST_STRICT_CONFIG)" part should apply to the last
+// the "|| !defined(NDNBOOST_STRICT_CONFIG)" part should apply to the last
 // tested version *only*:
-#   if(__MWERKS__ <= 0x3207) || !defined(BOOST_STRICT_CONFIG) // 9.6
-#     define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-#     define BOOST_NO_IS_ABSTRACT
+#   if(__MWERKS__ <= 0x3207) || !defined(NDNBOOST_STRICT_CONFIG) // 9.6
+#     define NDNBOOST_NO_MEMBER_TEMPLATE_FRIENDS
+#     define NDNBOOST_NO_IS_ABSTRACT
 #    endif
 
 #if !__option(wchar_type)
-#   define BOOST_NO_INTRINSIC_WCHAR_T
+#   define NDNBOOST_NO_INTRINSIC_WCHAR_T
 #endif
 
-#if !__option(exceptions) && !defined(BOOST_NO_EXCEPTIONS)
-#   define BOOST_NO_EXCEPTIONS
+#if !__option(exceptions) && !defined(NDNBOOST_NO_EXCEPTIONS)
+#   define NDNBOOST_NO_EXCEPTIONS
 #endif
 
 #if (__INTEL__ && _WIN32) || (__POWERPC__ && macintosh)
 #   if __MWERKS__ == 0x3000
-#     define BOOST_COMPILER_VERSION 8.0
+#     define NDNBOOST_COMPILER_VERSION 8.0
 #   elif __MWERKS__ == 0x3001
-#     define BOOST_COMPILER_VERSION 8.1
+#     define NDNBOOST_COMPILER_VERSION 8.1
 #   elif __MWERKS__ == 0x3002
-#     define BOOST_COMPILER_VERSION 8.2
+#     define NDNBOOST_COMPILER_VERSION 8.2
 #   elif __MWERKS__ == 0x3003
-#     define BOOST_COMPILER_VERSION 8.3
+#     define NDNBOOST_COMPILER_VERSION 8.3
 #   elif __MWERKS__ == 0x3200
-#     define BOOST_COMPILER_VERSION 9.0
+#     define NDNBOOST_COMPILER_VERSION 9.0
 #   elif __MWERKS__ == 0x3201
-#     define BOOST_COMPILER_VERSION 9.1
+#     define NDNBOOST_COMPILER_VERSION 9.1
 #   elif __MWERKS__ == 0x3202
-#     define BOOST_COMPILER_VERSION 9.2
+#     define NDNBOOST_COMPILER_VERSION 9.2
 #   elif __MWERKS__ == 0x3204
-#     define BOOST_COMPILER_VERSION 9.3
+#     define NDNBOOST_COMPILER_VERSION 9.3
 #   elif __MWERKS__ == 0x3205
-#     define BOOST_COMPILER_VERSION 9.4
+#     define NDNBOOST_COMPILER_VERSION 9.4
 #   elif __MWERKS__ == 0x3206
-#     define BOOST_COMPILER_VERSION 9.5
+#     define NDNBOOST_COMPILER_VERSION 9.5
 #   elif __MWERKS__ == 0x3207
-#     define BOOST_COMPILER_VERSION 9.6
+#     define NDNBOOST_COMPILER_VERSION 9.6
 #   else
-#     define BOOST_COMPILER_VERSION __MWERKS__
+#     define NDNBOOST_COMPILER_VERSION __MWERKS__
 #   endif
 #else
-#  define BOOST_COMPILER_VERSION __MWERKS__
+#  define NDNBOOST_COMPILER_VERSION __MWERKS__
 #endif
 
 //
 // C++0x features
 //
-//   See boost\config\suffix.hpp for BOOST_NO_LONG_LONG
+//   See boost\config\suffix.hpp for NDNBOOST_NO_LONG_LONG
 //
 #if __MWERKS__ > 0x3206 && __option(rvalue_refs)
-#  define BOOST_HAS_RVALUE_REFS
+#  define NDNBOOST_HAS_RVALUE_REFS
 #else
-#  define BOOST_NO_CXX11_RVALUE_REFERENCES              
+#  define NDNBOOST_NO_CXX11_RVALUE_REFERENCES              
 #endif
-#define BOOST_NO_CXX11_AUTO_DECLARATIONS
-#define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
-#define BOOST_NO_CXX11_CHAR16_T
-#define BOOST_NO_CXX11_CHAR32_T
-#define BOOST_NO_CXX11_CONSTEXPR
-#define BOOST_NO_CXX11_DECLTYPE
-#define BOOST_NO_CXX11_DECLTYPE_N3276
-#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
-#define BOOST_NO_CXX11_DELETED_FUNCTIONS
-#define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
-#define BOOST_NO_CXX11_EXTERN_TEMPLATE
-#define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
-#define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
-#define BOOST_NO_CXX11_LAMBDAS
-#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
-#define BOOST_NO_CXX11_NOEXCEPT
-#define BOOST_NO_CXX11_NULLPTR
-#define BOOST_NO_CXX11_RANGE_BASED_FOR
-#define BOOST_NO_CXX11_RAW_LITERALS
-#define BOOST_NO_CXX11_SCOPED_ENUMS
-#define BOOST_NO_SFINAE_EXPR
-#define BOOST_NO_CXX11_STATIC_ASSERT
-#define BOOST_NO_CXX11_TEMPLATE_ALIASES
-#define BOOST_NO_CXX11_UNICODE_LITERALS
-#define BOOST_NO_CXX11_VARIADIC_TEMPLATES
-#define BOOST_NO_CXX11_VARIADIC_MACROS
-#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
-#define BOOST_NO_CXX11_USER_DEFINED_LITERALS
+#define NDNBOOST_NO_CXX11_AUTO_DECLARATIONS
+#define NDNBOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
+#define NDNBOOST_NO_CXX11_CHAR16_T
+#define NDNBOOST_NO_CXX11_CHAR32_T
+#define NDNBOOST_NO_CXX11_CONSTEXPR
+#define NDNBOOST_NO_CXX11_DECLTYPE
+#define NDNBOOST_NO_CXX11_DECLTYPE_N3276
+#define NDNBOOST_NO_CXX11_DEFAULTED_FUNCTIONS
+#define NDNBOOST_NO_CXX11_DELETED_FUNCTIONS
+#define NDNBOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
+#define NDNBOOST_NO_CXX11_EXTERN_TEMPLATE
+#define NDNBOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
+#define NDNBOOST_NO_CXX11_HDR_INITIALIZER_LIST
+#define NDNBOOST_NO_CXX11_LAMBDAS
+#define NDNBOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
+#define NDNBOOST_NO_CXX11_NOEXCEPT
+#define NDNBOOST_NO_CXX11_NULLPTR
+#define NDNBOOST_NO_CXX11_RANGE_BASED_FOR
+#define NDNBOOST_NO_CXX11_RAW_LITERALS
+#define NDNBOOST_NO_CXX11_SCOPED_ENUMS
+#define NDNBOOST_NO_SFINAE_EXPR
+#define NDNBOOST_NO_CXX11_STATIC_ASSERT
+#define NDNBOOST_NO_CXX11_TEMPLATE_ALIASES
+#define NDNBOOST_NO_CXX11_UNICODE_LITERALS
+#define NDNBOOST_NO_CXX11_VARIADIC_TEMPLATES
+#define NDNBOOST_NO_CXX11_VARIADIC_MACROS
+#define NDNBOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
+#define NDNBOOST_NO_CXX11_USER_DEFINED_LITERALS
 
-#define BOOST_COMPILER "Metrowerks CodeWarrior C++ version " BOOST_STRINGIZE(BOOST_COMPILER_VERSION)
+#define NDNBOOST_COMPILER "Metrowerks CodeWarrior C++ version " NDNBOOST_STRINGIZE(NDNBOOST_COMPILER_VERSION)
 
 //
 // versions check:
@@ -132,7 +132,7 @@
 //
 // last known and checked version:
 #if (__MWERKS__ > 0x3205)
-#  if defined(BOOST_ASSERT_CONFIG)
+#  if defined(NDNBOOST_ASSERT_CONFIG)
 #     error "Unknown compiler version - please run the configure tests and report the results"
 #  endif
 #endif
diff --git a/include/ndnboost/config/compiler/mpw.hpp b/include/ndnboost/config/compiler/mpw.hpp
index 7ef38ef..83aa275 100644
--- a/include/ndnboost/config/compiler/mpw.hpp
+++ b/include/ndnboost/config/compiler/mpw.hpp
@@ -9,9 +9,9 @@
 //  MPW C++ compilers setup:
 
 #   if    defined(__SC__)
-#     define BOOST_COMPILER "MPW SCpp version " BOOST_STRINGIZE(__SC__)
+#     define NDNBOOST_COMPILER "MPW SCpp version " NDNBOOST_STRINGIZE(__SC__)
 #   elif defined(__MRC__)
-#     define BOOST_COMPILER "MPW MrCpp version " BOOST_STRINGIZE(__MRC__)
+#     define NDNBOOST_COMPILER "MPW MrCpp version " NDNBOOST_STRINGIZE(__MRC__)
 #   else
 #     error "Using MPW compiler configuration by mistake.  Please update."
 #   endif
@@ -19,56 +19,56 @@
 //
 // MPW 8.90:
 //
-#if (MPW_CPLUS <= 0x890) || !defined(BOOST_STRICT_CONFIG)
-#  define BOOST_NO_CV_SPECIALIZATIONS
-#  define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS
-#  define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS
-#  define BOOST_NO_INCLASS_MEMBER_INITIALIZATION
-#  define BOOST_NO_INTRINSIC_WCHAR_T
-#  define BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-#  define BOOST_NO_USING_TEMPLATE
+#if (MPW_CPLUS <= 0x890) || !defined(NDNBOOST_STRICT_CONFIG)
+#  define NDNBOOST_NO_CV_SPECIALIZATIONS
+#  define NDNBOOST_NO_DEPENDENT_NESTED_DERIVATIONS
+#  define NDNBOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS
+#  define NDNBOOST_NO_INCLASS_MEMBER_INITIALIZATION
+#  define NDNBOOST_NO_INTRINSIC_WCHAR_T
+#  define NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#  define NDNBOOST_NO_USING_TEMPLATE
 
-#  define BOOST_NO_CWCHAR
-#  define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
+#  define NDNBOOST_NO_CWCHAR
+#  define NDNBOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
 
-#  define BOOST_NO_STD_ALLOCATOR /* actually a bug with const reference overloading */
+#  define NDNBOOST_NO_STD_ALLOCATOR /* actually a bug with const reference overloading */
 
 #endif
 
 //
 // C++0x features
 //
-//   See boost\config\suffix.hpp for BOOST_NO_LONG_LONG
+//   See boost\config\suffix.hpp for NDNBOOST_NO_LONG_LONG
 //
-#define BOOST_NO_CXX11_AUTO_DECLARATIONS
-#define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
-#define BOOST_NO_CXX11_CHAR16_T
-#define BOOST_NO_CXX11_CHAR32_T
-#define BOOST_NO_CXX11_CONSTEXPR
-#define BOOST_NO_CXX11_DECLTYPE
-#define BOOST_NO_CXX11_DECLTYPE_N3276
-#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
-#define BOOST_NO_CXX11_DELETED_FUNCTIONS
-#define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
-#define BOOST_NO_CXX11_EXTERN_TEMPLATE
-#define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
-#define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
-#define BOOST_NO_CXX11_LAMBDAS
-#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
-#define BOOST_NO_CXX11_NOEXCEPT
-#define BOOST_NO_CXX11_NULLPTR
-#define BOOST_NO_CXX11_RANGE_BASED_FOR
-#define BOOST_NO_CXX11_RAW_LITERALS
-#define BOOST_NO_CXX11_RVALUE_REFERENCES
-#define BOOST_NO_CXX11_SCOPED_ENUMS
-#define BOOST_NO_SFINAE_EXPR
-#define BOOST_NO_CXX11_STATIC_ASSERT
-#define BOOST_NO_CXX11_TEMPLATE_ALIASES
-#define BOOST_NO_CXX11_UNICODE_LITERALS
-#define BOOST_NO_CXX11_VARIADIC_TEMPLATES
-#define BOOST_NO_CXX11_VARIADIC_MACROS
-#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
-#define BOOST_NO_CXX11_USER_DEFINED_LITERALS
+#define NDNBOOST_NO_CXX11_AUTO_DECLARATIONS
+#define NDNBOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
+#define NDNBOOST_NO_CXX11_CHAR16_T
+#define NDNBOOST_NO_CXX11_CHAR32_T
+#define NDNBOOST_NO_CXX11_CONSTEXPR
+#define NDNBOOST_NO_CXX11_DECLTYPE
+#define NDNBOOST_NO_CXX11_DECLTYPE_N3276
+#define NDNBOOST_NO_CXX11_DEFAULTED_FUNCTIONS
+#define NDNBOOST_NO_CXX11_DELETED_FUNCTIONS
+#define NDNBOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
+#define NDNBOOST_NO_CXX11_EXTERN_TEMPLATE
+#define NDNBOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
+#define NDNBOOST_NO_CXX11_HDR_INITIALIZER_LIST
+#define NDNBOOST_NO_CXX11_LAMBDAS
+#define NDNBOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
+#define NDNBOOST_NO_CXX11_NOEXCEPT
+#define NDNBOOST_NO_CXX11_NULLPTR
+#define NDNBOOST_NO_CXX11_RANGE_BASED_FOR
+#define NDNBOOST_NO_CXX11_RAW_LITERALS
+#define NDNBOOST_NO_CXX11_RVALUE_REFERENCES
+#define NDNBOOST_NO_CXX11_SCOPED_ENUMS
+#define NDNBOOST_NO_SFINAE_EXPR
+#define NDNBOOST_NO_CXX11_STATIC_ASSERT
+#define NDNBOOST_NO_CXX11_TEMPLATE_ALIASES
+#define NDNBOOST_NO_CXX11_UNICODE_LITERALS
+#define NDNBOOST_NO_CXX11_VARIADIC_TEMPLATES
+#define NDNBOOST_NO_CXX11_VARIADIC_MACROS
+#define NDNBOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
+#define NDNBOOST_NO_CXX11_USER_DEFINED_LITERALS
 
 //
 // versions check:
@@ -79,7 +79,7 @@
 //
 // last known and checked version is 0x890:
 #if (MPW_CPLUS > 0x890)
-#  if defined(BOOST_ASSERT_CONFIG)
+#  if defined(NDNBOOST_ASSERT_CONFIG)
 #     error "Unknown compiler version - please run the configure tests and report the results"
 #  endif
 #endif
diff --git a/include/ndnboost/config/compiler/nvcc.hpp b/include/ndnboost/config/compiler/nvcc.hpp
index 5b9bb39..c3507cf 100644
--- a/include/ndnboost/config/compiler/nvcc.hpp
+++ b/include/ndnboost/config/compiler/nvcc.hpp
@@ -7,13 +7,13 @@
 
 //  NVIDIA CUDA C++ compiler setup
 
-#ifndef BOOST_COMPILER
-#  define BOOST_COMPILER "NVIDIA CUDA C++ Compiler"
+#ifndef NDNBOOST_COMPILER
+#  define NDNBOOST_COMPILER "NVIDIA CUDA C++ Compiler"
 #endif
 
 // NVIDIA Specific support
-// BOOST_GPU_ENABLED : Flag a function or a method as being enabled on the host and device
-#define BOOST_GPU_ENABLED __host__ __device__
+// NDNBOOST_GPU_ENABLED : Flag a function or a method as being enabled on the host and device
+#define NDNBOOST_GPU_ENABLED __host__ __device__
 
 // Boost support macro for NVCC 
 // NVCC Basically behaves like some flavor of MSVC6 + some specific quirks
diff --git a/include/ndnboost/config/compiler/pathscale.hpp b/include/ndnboost/config/compiler/pathscale.hpp
index 07d1460..9ddaeb8 100644
--- a/include/ndnboost/config/compiler/pathscale.hpp
+++ b/include/ndnboost/config/compiler/pathscale.hpp
@@ -8,74 +8,74 @@
 
 // PathScale EKOPath C++ Compiler
 
-#ifndef BOOST_COMPILER
-#  define BOOST_COMPILER "PathScale EKOPath C++ Compiler version " __PATHSCALE__
+#ifndef NDNBOOST_COMPILER
+#  define NDNBOOST_COMPILER "PathScale EKOPath C++ Compiler version " __PATHSCALE__
 #endif
 
 #if __PATHCC__ >= 4
-#  define BOOST_MSVC6_MEMBER_TEMPLATES
-#  define BOOST_HAS_UNISTD_H
-#  define BOOST_HAS_STDINT_H
-#  define BOOST_HAS_SIGACTION
-#  define BOOST_HAS_SCHED_YIELD
-#  define BOOST_HAS_THREADS
-#  define BOOST_HAS_PTHREADS
-#  define BOOST_HAS_PTHREAD_YIELD
-#  define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
-#  define BOOST_HAS_PARTIAL_STD_ALLOCATOR
-#  define BOOST_HAS_NRVO
-#  define BOOST_HAS_NL_TYPES_H
-#  define BOOST_HAS_NANOSLEEP
-#  define BOOST_HAS_LONG_LONG
-#  define BOOST_HAS_LOG1P
-#  define BOOST_HAS_GETTIMEOFDAY
-#  define BOOST_HAS_EXPM1
-#  define BOOST_HAS_DIRENT_H
-#  define BOOST_HAS_CLOCK_GETTIME
-#  define BOOST_NO_CXX11_VARIADIC_TEMPLATES
-#  define BOOST_NO_CXX11_UNICODE_LITERALS
-#  define BOOST_NO_CXX11_TEMPLATE_ALIASES
-#  define BOOST_NO_CXX11_STATIC_ASSERT
-#  define BOOST_NO_SFINAE_EXPR
-#  define BOOST_NO_CXX11_SCOPED_ENUMS
-#  define BOOST_NO_CXX11_RVALUE_REFERENCES
-#  define BOOST_NO_CXX11_RANGE_BASED_FOR
-#  define BOOST_NO_CXX11_RAW_LITERALS
-#  define BOOST_NO_CXX11_NULLPTR
-#  define BOOST_NO_CXX11_NUMERIC_LIMITS
-#  define BOOST_NO_CXX11_NOEXCEPT
-#  define BOOST_NO_CXX11_LAMBDAS
-#  define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
-#  define BOOST_NO_MS_INT64_NUMERIC_LIMITS
-#  define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
-#  define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
-#  define BOOST_NO_CXX11_DELETED_FUNCTIONS
-#  define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
-#  define BOOST_NO_CXX11_DECLTYPE
-#  define BOOST_NO_CXX11_DECLTYPE_N3276
-#  define BOOST_NO_CXX11_CONSTEXPR
-#  define BOOST_NO_COMPLETE_VALUE_INITIALIZATION
-#  define BOOST_NO_CXX11_CHAR32_T
-#  define BOOST_NO_CXX11_CHAR16_T
-#  define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
-#  define BOOST_NO_CXX11_AUTO_DECLARATIONS
-#  define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
-#  define BOOST_NO_CXX11_HDR_UNORDERED_SET
-#  define BOOST_NO_CXX11_HDR_UNORDERED_MAP
-#  define BOOST_NO_CXX11_HDR_TYPEINDEX
-#  define BOOST_NO_CXX11_HDR_TUPLE
-#  define BOOST_NO_CXX11_HDR_THREAD
-#  define BOOST_NO_CXX11_HDR_SYSTEM_ERROR
-#  define BOOST_NO_CXX11_HDR_REGEX
-#  define BOOST_NO_CXX11_HDR_RATIO
-#  define BOOST_NO_CXX11_HDR_RANDOM
-#  define BOOST_NO_CXX11_HDR_MUTEX
-#  define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
-#  define BOOST_NO_CXX11_HDR_FUTURE
-#  define BOOST_NO_CXX11_HDR_FORWARD_LIST
-#  define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE
-#  define BOOST_NO_CXX11_HDR_CODECVT
-#  define BOOST_NO_CXX11_HDR_CHRONO
-#  define BOOST_NO_CXX11_USER_DEFINED_LITERALS
+#  define NDNBOOST_MSVC6_MEMBER_TEMPLATES
+#  define NDNBOOST_HAS_UNISTD_H
+#  define NDNBOOST_HAS_STDINT_H
+#  define NDNBOOST_HAS_SIGACTION
+#  define NDNBOOST_HAS_SCHED_YIELD
+#  define NDNBOOST_HAS_THREADS
+#  define NDNBOOST_HAS_PTHREADS
+#  define NDNBOOST_HAS_PTHREAD_YIELD
+#  define NDNBOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
+#  define NDNBOOST_HAS_PARTIAL_STD_ALLOCATOR
+#  define NDNBOOST_HAS_NRVO
+#  define NDNBOOST_HAS_NL_TYPES_H
+#  define NDNBOOST_HAS_NANOSLEEP
+#  define NDNBOOST_HAS_LONG_LONG
+#  define NDNBOOST_HAS_LOG1P
+#  define NDNBOOST_HAS_GETTIMEOFDAY
+#  define NDNBOOST_HAS_EXPM1
+#  define NDNBOOST_HAS_DIRENT_H
+#  define NDNBOOST_HAS_CLOCK_GETTIME
+#  define NDNBOOST_NO_CXX11_VARIADIC_TEMPLATES
+#  define NDNBOOST_NO_CXX11_UNICODE_LITERALS
+#  define NDNBOOST_NO_CXX11_TEMPLATE_ALIASES
+#  define NDNBOOST_NO_CXX11_STATIC_ASSERT
+#  define NDNBOOST_NO_SFINAE_EXPR
+#  define NDNBOOST_NO_CXX11_SCOPED_ENUMS
+#  define NDNBOOST_NO_CXX11_RVALUE_REFERENCES
+#  define NDNBOOST_NO_CXX11_RANGE_BASED_FOR
+#  define NDNBOOST_NO_CXX11_RAW_LITERALS
+#  define NDNBOOST_NO_CXX11_NULLPTR
+#  define NDNBOOST_NO_CXX11_NUMERIC_LIMITS
+#  define NDNBOOST_NO_CXX11_NOEXCEPT
+#  define NDNBOOST_NO_CXX11_LAMBDAS
+#  define NDNBOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
+#  define NDNBOOST_NO_MS_INT64_NUMERIC_LIMITS
+#  define NDNBOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
+#  define NDNBOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
+#  define NDNBOOST_NO_CXX11_DELETED_FUNCTIONS
+#  define NDNBOOST_NO_CXX11_DEFAULTED_FUNCTIONS
+#  define NDNBOOST_NO_CXX11_DECLTYPE
+#  define NDNBOOST_NO_CXX11_DECLTYPE_N3276
+#  define NDNBOOST_NO_CXX11_CONSTEXPR
+#  define NDNBOOST_NO_COMPLETE_VALUE_INITIALIZATION
+#  define NDNBOOST_NO_CXX11_CHAR32_T
+#  define NDNBOOST_NO_CXX11_CHAR16_T
+#  define NDNBOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
+#  define NDNBOOST_NO_CXX11_AUTO_DECLARATIONS
+#  define NDNBOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
+#  define NDNBOOST_NO_CXX11_HDR_UNORDERED_SET
+#  define NDNBOOST_NO_CXX11_HDR_UNORDERED_MAP
+#  define NDNBOOST_NO_CXX11_HDR_TYPEINDEX
+#  define NDNBOOST_NO_CXX11_HDR_TUPLE
+#  define NDNBOOST_NO_CXX11_HDR_THREAD
+#  define NDNBOOST_NO_CXX11_HDR_SYSTEM_ERROR
+#  define NDNBOOST_NO_CXX11_HDR_REGEX
+#  define NDNBOOST_NO_CXX11_HDR_RATIO
+#  define NDNBOOST_NO_CXX11_HDR_RANDOM
+#  define NDNBOOST_NO_CXX11_HDR_MUTEX
+#  define NDNBOOST_NO_CXX11_HDR_INITIALIZER_LIST
+#  define NDNBOOST_NO_CXX11_HDR_FUTURE
+#  define NDNBOOST_NO_CXX11_HDR_FORWARD_LIST
+#  define NDNBOOST_NO_CXX11_HDR_CONDITION_VARIABLE
+#  define NDNBOOST_NO_CXX11_HDR_CODECVT
+#  define NDNBOOST_NO_CXX11_HDR_CHRONO
+#  define NDNBOOST_NO_CXX11_USER_DEFINED_LITERALS
 #endif
 
diff --git a/include/ndnboost/config/compiler/pgi.hpp b/include/ndnboost/config/compiler/pgi.hpp
index 64c0d75..07a92de 100644
--- a/include/ndnboost/config/compiler/pgi.hpp
+++ b/include/ndnboost/config/compiler/pgi.hpp
@@ -7,8 +7,8 @@
 
 //  PGI C++ compiler setup:
 
-#define BOOST_COMPILER_VERSION __PGIC__##__PGIC_MINOR__
-#define BOOST_COMPILER "PGI compiler version " BOOST_STRINGIZE(BOOST_COMPILER_VERSION)
+#define NDNBOOST_COMPILER_VERSION __PGIC__##__PGIC_MINOR__
+#define NDNBOOST_COMPILER "PGI compiler version " NDNBOOST_STRINGIZE(NDNBOOST_COMPILER_VERSION)
 
 //
 // Threading support:
@@ -19,41 +19,41 @@
 #if __PGIC__ >= 11
 
 // options requested by configure --enable-test
-#define BOOST_HAS_PTHREADS
-#define BOOST_HAS_THREADS
-#define BOOST_HAS_PTHREAD_YIELD
-#define BOOST_HAS_NRVO
-#define BOOST_HAS_LONG_LONG
+#define NDNBOOST_HAS_PTHREADS
+#define NDNBOOST_HAS_THREADS
+#define NDNBOOST_HAS_PTHREAD_YIELD
+#define NDNBOOST_HAS_NRVO
+#define NDNBOOST_HAS_LONG_LONG
 
 // options --enable-test wants undefined
-#undef BOOST_NO_STDC_NAMESPACE
-#undef BOOST_NO_EXCEPTION_STD_NAMESPACE
-#undef BOOST_DEDUCED_TYPENAME
+#undef NDNBOOST_NO_STDC_NAMESPACE
+#undef NDNBOOST_NO_EXCEPTION_STD_NAMESPACE
+#undef NDNBOOST_DEDUCED_TYPENAME
 
-#define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
-#define BOOST_NO_TWO_PHASE_NAME_LOOKUP
-#define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
-#define BOOST_NO_CXX11_AUTO_DECLARATIONS
+#define NDNBOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
+#define NDNBOOST_NO_TWO_PHASE_NAME_LOOKUP
+#define NDNBOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
+#define NDNBOOST_NO_CXX11_AUTO_DECLARATIONS
 
 #elif __PGIC__ >= 10
 
 // options requested by configure --enable-test
-#define BOOST_HAS_THREADS
-#define BOOST_HAS_NRVO
-#define BOOST_HAS_LONG_LONG
+#define NDNBOOST_HAS_THREADS
+#define NDNBOOST_HAS_NRVO
+#define NDNBOOST_HAS_LONG_LONG
 
 // options --enable-test wants undefined
-#undef BOOST_NO_STDC_NAMESPACE
-#undef BOOST_NO_EXCEPTION_STD_NAMESPACE
-#undef BOOST_DEDUCED_TYPENAME
+#undef NDNBOOST_NO_STDC_NAMESPACE
+#undef NDNBOOST_NO_EXCEPTION_STD_NAMESPACE
+#undef NDNBOOST_DEDUCED_TYPENAME
 
 #elif __PGIC__ >= 7
 
-#define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
-#define BOOST_NO_TWO_PHASE_NAME_LOOKUP
-#define BOOST_NO_SWPRINTF
-#define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
-#define BOOST_NO_CXX11_AUTO_DECLARATIONS
+#define NDNBOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
+#define NDNBOOST_NO_TWO_PHASE_NAME_LOOKUP
+#define NDNBOOST_NO_SWPRINTF
+#define NDNBOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
+#define NDNBOOST_NO_CXX11_AUTO_DECLARATIONS
 
 #else
 
@@ -63,55 +63,55 @@
 //
 // C++0x features
 //
-//   See boost\config\suffix.hpp for BOOST_NO_LONG_LONG
+//   See boost\config\suffix.hpp for NDNBOOST_NO_LONG_LONG
 //
-#define BOOST_NO_CXX11_CHAR16_T
-#define BOOST_NO_CXX11_CHAR32_T
-#define BOOST_NO_CXX11_CONSTEXPR
-#define BOOST_NO_CXX11_DECLTYPE
-#define BOOST_NO_CXX11_DECLTYPE_N3276
-#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
-#define BOOST_NO_CXX11_DELETED_FUNCTIONS
-#define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
-#define BOOST_NO_CXX11_EXTERN_TEMPLATE
-#define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
-#define BOOST_NO_CXX11_LAMBDAS
-#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
-#define BOOST_NO_CXX11_NOEXCEPT
-#define BOOST_NO_CXX11_NULLPTR
-#define BOOST_NO_CXX11_NUMERIC_LIMITS
-#define BOOST_NO_CXX11_RANGE_BASED_FOR
-#define BOOST_NO_CXX11_RAW_LITERALS
-#define BOOST_NO_CXX11_RVALUE_REFERENCES
-#define BOOST_NO_CXX11_SCOPED_ENUMS
-#define BOOST_NO_SFINAE_EXPR
-#define BOOST_NO_CXX11_STATIC_ASSERT
-#define BOOST_NO_SWPRINTF
-#define BOOST_NO_CXX11_TEMPLATE_ALIASES
-#define BOOST_NO_CXX11_UNICODE_LITERALS
-#define BOOST_NO_CXX11_VARIADIC_TEMPLATES
-#define BOOST_NO_CXX11_VARIADIC_MACROS
-#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
+#define NDNBOOST_NO_CXX11_CHAR16_T
+#define NDNBOOST_NO_CXX11_CHAR32_T
+#define NDNBOOST_NO_CXX11_CONSTEXPR
+#define NDNBOOST_NO_CXX11_DECLTYPE
+#define NDNBOOST_NO_CXX11_DECLTYPE_N3276
+#define NDNBOOST_NO_CXX11_DEFAULTED_FUNCTIONS
+#define NDNBOOST_NO_CXX11_DELETED_FUNCTIONS
+#define NDNBOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
+#define NDNBOOST_NO_CXX11_EXTERN_TEMPLATE
+#define NDNBOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
+#define NDNBOOST_NO_CXX11_LAMBDAS
+#define NDNBOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
+#define NDNBOOST_NO_CXX11_NOEXCEPT
+#define NDNBOOST_NO_CXX11_NULLPTR
+#define NDNBOOST_NO_CXX11_NUMERIC_LIMITS
+#define NDNBOOST_NO_CXX11_RANGE_BASED_FOR
+#define NDNBOOST_NO_CXX11_RAW_LITERALS
+#define NDNBOOST_NO_CXX11_RVALUE_REFERENCES
+#define NDNBOOST_NO_CXX11_SCOPED_ENUMS
+#define NDNBOOST_NO_SFINAE_EXPR
+#define NDNBOOST_NO_CXX11_STATIC_ASSERT
+#define NDNBOOST_NO_SWPRINTF
+#define NDNBOOST_NO_CXX11_TEMPLATE_ALIASES
+#define NDNBOOST_NO_CXX11_UNICODE_LITERALS
+#define NDNBOOST_NO_CXX11_VARIADIC_TEMPLATES
+#define NDNBOOST_NO_CXX11_VARIADIC_MACROS
+#define NDNBOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
 
-#define BOOST_NO_CXX11_HDR_UNORDERED_SET
-#define BOOST_NO_CXX11_HDR_UNORDERED_MAP
-#define BOOST_NO_CXX11_HDR_TYPEINDEX
-#define BOOST_NO_CXX11_HDR_TYPE_TRAITS
-#define BOOST_NO_CXX11_HDR_TUPLE
-#define BOOST_NO_CXX11_HDR_THREAD
-#define BOOST_NO_CXX11_HDR_SYSTEM_ERROR
-#define BOOST_NO_CXX11_HDR_REGEX
-#define BOOST_NO_CXX11_HDR_RATIO
-#define BOOST_NO_CXX11_HDR_RANDOM
-#define BOOST_NO_CXX11_HDR_MUTEX
-#define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
-#define BOOST_NO_CXX11_HDR_FUTURE
-#define BOOST_NO_CXX11_HDR_FORWARD_LIST
-#define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE
-#define BOOST_NO_CXX11_HDR_CODECVT
-#define BOOST_NO_CXX11_HDR_CHRONO
-#define BOOST_NO_CXX11_HDR_ARRAY
-#define BOOST_NO_CXX11_USER_DEFINED_LITERALS
+#define NDNBOOST_NO_CXX11_HDR_UNORDERED_SET
+#define NDNBOOST_NO_CXX11_HDR_UNORDERED_MAP
+#define NDNBOOST_NO_CXX11_HDR_TYPEINDEX
+#define NDNBOOST_NO_CXX11_HDR_TYPE_TRAITS
+#define NDNBOOST_NO_CXX11_HDR_TUPLE
+#define NDNBOOST_NO_CXX11_HDR_THREAD
+#define NDNBOOST_NO_CXX11_HDR_SYSTEM_ERROR
+#define NDNBOOST_NO_CXX11_HDR_REGEX
+#define NDNBOOST_NO_CXX11_HDR_RATIO
+#define NDNBOOST_NO_CXX11_HDR_RANDOM
+#define NDNBOOST_NO_CXX11_HDR_MUTEX
+#define NDNBOOST_NO_CXX11_HDR_INITIALIZER_LIST
+#define NDNBOOST_NO_CXX11_HDR_FUTURE
+#define NDNBOOST_NO_CXX11_HDR_FORWARD_LIST
+#define NDNBOOST_NO_CXX11_HDR_CONDITION_VARIABLE
+#define NDNBOOST_NO_CXX11_HDR_CODECVT
+#define NDNBOOST_NO_CXX11_HDR_CHRONO
+#define NDNBOOST_NO_CXX11_HDR_ARRAY
+#define NDNBOOST_NO_CXX11_USER_DEFINED_LITERALS
 
 //
 // version check:
diff --git a/include/ndnboost/config/compiler/sgi_mipspro.hpp b/include/ndnboost/config/compiler/sgi_mipspro.hpp
index 048ea44..1ebe245 100644
--- a/include/ndnboost/config/compiler/sgi_mipspro.hpp
+++ b/include/ndnboost/config/compiler/sgi_mipspro.hpp
@@ -7,7 +7,7 @@
 
 //  SGI C++ compiler setup:
 
-#define BOOST_COMPILER "SGI Irix compiler version " BOOST_STRINGIZE(_COMPILER_VERSION)
+#define NDNBOOST_COMPILER "SGI Irix compiler version " NDNBOOST_STRINGIZE(_COMPILER_VERSION)
 
 #include "ndnboost/config/compiler/common_edg.hpp"
 
@@ -16,11 +16,11 @@
 // Turn this on unconditionally here, it will get turned off again later
 // if no threading API is detected.
 //
-#define BOOST_HAS_THREADS
-#define BOOST_NO_TWO_PHASE_NAME_LOOKUP
+#define NDNBOOST_HAS_THREADS
+#define NDNBOOST_NO_TWO_PHASE_NAME_LOOKUP
 
-#undef BOOST_NO_SWPRINTF
-#undef BOOST_DEDUCED_TYPENAME
+#undef NDNBOOST_NO_SWPRINTF
+#undef NDNBOOST_DEDUCED_TYPENAME
 
 //
 // version check:
diff --git a/include/ndnboost/config/compiler/sunpro_cc.hpp b/include/ndnboost/config/compiler/sunpro_cc.hpp
index 88421ee..6b344e1 100644
--- a/include/ndnboost/config/compiler/sunpro_cc.hpp
+++ b/include/ndnboost/config/compiler/sunpro_cc.hpp
@@ -12,8 +12,8 @@
 //  Sun C++ compiler setup:
 
 #    if __SUNPRO_CC <= 0x500
-#      define BOOST_NO_MEMBER_TEMPLATES
-#      define BOOST_NO_FUNCTION_TEMPLATE_ORDERING
+#      define NDNBOOST_NO_MEMBER_TEMPLATES
+#      define NDNBOOST_NO_FUNCTION_TEMPLATE_ORDERING
 #    endif
 
 #    if (__SUNPRO_CC <= 0x520)
@@ -24,14 +24,14 @@
        // inline initialization it often gets the value
        // wrong, especially where the value is computed
        // from other constants (J Maddock 6th May 2001)
-#      define BOOST_NO_INCLASS_MEMBER_INITIALIZATION
+#      define NDNBOOST_NO_INCLASS_MEMBER_INITIALIZATION
 
        // Although sunpro 5.2 supports the syntax for
        // partial specialization, it often seems to
        // bind to the wrong specialization.  Better
        // to disable it until suppport becomes more stable
        // (J Maddock 6th May 2001).
-#      define BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#      define NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 #    endif
 
 #    if (__SUNPRO_CC <= 0x530) 
@@ -41,7 +41,7 @@
        //    >> Assertion:   (../links/dbg_cstabs.cc, line 611)
        //         while processing ../test.cpp at line 0.
        // (Jens Maurer according to Gottfried Ganssauge 04 Mar 2002)
-#      define BOOST_NO_INCLASS_MEMBER_INITIALIZATION
+#      define NDNBOOST_NO_INCLASS_MEMBER_INITIALIZATION
 
        // SunPro 5.3 has better support for partial specialization,
        // but breaks when compiling std::less<shared_ptr<T> >
@@ -51,22 +51,22 @@
        // Heintzelman; partial specialization re-enabled
        // (Peter Dimov 17 Jan 2002)
 
-//#      define BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+//#      define NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 
        // integral constant expressions with 64 bit numbers fail
-#      define BOOST_NO_INTEGRAL_INT64_T
+#      define NDNBOOST_NO_INTEGRAL_INT64_T
 #    endif
 
 #    if (__SUNPRO_CC < 0x570) 
-#      define BOOST_NO_TEMPLATE_TEMPLATES
+#      define NDNBOOST_NO_TEMPLATE_TEMPLATES
        // see http://lists.boost.org/MailArchives/boost/msg47184.php
        // and http://lists.boost.org/MailArchives/boost/msg47220.php
-#      define BOOST_NO_INCLASS_MEMBER_INITIALIZATION
-#      define BOOST_NO_SFINAE
-#      define BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS
+#      define NDNBOOST_NO_INCLASS_MEMBER_INITIALIZATION
+#      define NDNBOOST_NO_SFINAE
+#      define NDNBOOST_NO_ARRAY_TYPE_SPECIALIZATIONS
 #    endif
 #    if (__SUNPRO_CC <= 0x580) 
-#      define BOOST_NO_IS_ABSTRACT
+#      define NDNBOOST_NO_IS_ABSTRACT
 #    endif
 
 #    if (__SUNPRO_CC <= 0x5100)
@@ -74,16 +74,16 @@
        // some user defined types, as was reported in April 2010
        // (CR 6947016), and confirmed by Steve Clamage.
        // (Niels Dekker, LKEB, May 2010).
-#      define BOOST_NO_COMPLETE_VALUE_INITIALIZATION
+#      define NDNBOOST_NO_COMPLETE_VALUE_INITIALIZATION
 #    endif
 
 //
 // Dynamic shared object (DSO) and dynamic-link library (DLL) support
 //
 #if __SUNPRO_CC > 0x500
-#  define BOOST_SYMBOL_EXPORT __global
-#  define BOOST_SYMBOL_IMPORT __global
-#  define BOOST_SYMBOL_VISIBLE __global
+#  define NDNBOOST_SYMBOL_EXPORT __global
+#  define NDNBOOST_SYMBOL_IMPORT __global
+#  define NDNBOOST_SYMBOL_VISIBLE __global
 #endif
 
 
@@ -91,49 +91,49 @@
 //
 // Issues that effect all known versions:
 //
-#define BOOST_NO_TWO_PHASE_NAME_LOOKUP
-#define BOOST_NO_ADL_BARRIER
+#define NDNBOOST_NO_TWO_PHASE_NAME_LOOKUP
+#define NDNBOOST_NO_ADL_BARRIER
 
 //
 // C++0x features
 //
-#  define BOOST_HAS_LONG_LONG
+#  define NDNBOOST_HAS_LONG_LONG
 
-#define BOOST_NO_CXX11_AUTO_DECLARATIONS
-#define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
-#define BOOST_NO_CXX11_CHAR16_T
-#define BOOST_NO_CXX11_CHAR32_T
-#define BOOST_NO_CXX11_CONSTEXPR
-#define BOOST_NO_CXX11_DECLTYPE
-#define BOOST_NO_CXX11_DECLTYPE_N3276
-#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
-#define BOOST_NO_CXX11_DELETED_FUNCTIONS
-#define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
-#define BOOST_NO_CXX11_EXTERN_TEMPLATE
-#define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
-#define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
-#define BOOST_NO_CXX11_LAMBDAS
-#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
-#define BOOST_NO_CXX11_NOEXCEPT
-#define BOOST_NO_CXX11_NULLPTR
-#define BOOST_NO_CXX11_RANGE_BASED_FOR
-#define BOOST_NO_CXX11_RAW_LITERALS
-#define BOOST_NO_CXX11_RVALUE_REFERENCES
-#define BOOST_NO_CXX11_SCOPED_ENUMS
-#define BOOST_NO_SFINAE_EXPR
-#define BOOST_NO_CXX11_STATIC_ASSERT
-#define BOOST_NO_CXX11_TEMPLATE_ALIASES
-#define BOOST_NO_CXX11_UNICODE_LITERALS
-#define BOOST_NO_CXX11_VARIADIC_TEMPLATES
-#define BOOST_NO_CXX11_VARIADIC_MACROS
-#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
-#define BOOST_NO_CXX11_USER_DEFINED_LITERALS
+#define NDNBOOST_NO_CXX11_AUTO_DECLARATIONS
+#define NDNBOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
+#define NDNBOOST_NO_CXX11_CHAR16_T
+#define NDNBOOST_NO_CXX11_CHAR32_T
+#define NDNBOOST_NO_CXX11_CONSTEXPR
+#define NDNBOOST_NO_CXX11_DECLTYPE
+#define NDNBOOST_NO_CXX11_DECLTYPE_N3276
+#define NDNBOOST_NO_CXX11_DEFAULTED_FUNCTIONS
+#define NDNBOOST_NO_CXX11_DELETED_FUNCTIONS
+#define NDNBOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
+#define NDNBOOST_NO_CXX11_EXTERN_TEMPLATE
+#define NDNBOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
+#define NDNBOOST_NO_CXX11_HDR_INITIALIZER_LIST
+#define NDNBOOST_NO_CXX11_LAMBDAS
+#define NDNBOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
+#define NDNBOOST_NO_CXX11_NOEXCEPT
+#define NDNBOOST_NO_CXX11_NULLPTR
+#define NDNBOOST_NO_CXX11_RANGE_BASED_FOR
+#define NDNBOOST_NO_CXX11_RAW_LITERALS
+#define NDNBOOST_NO_CXX11_RVALUE_REFERENCES
+#define NDNBOOST_NO_CXX11_SCOPED_ENUMS
+#define NDNBOOST_NO_SFINAE_EXPR
+#define NDNBOOST_NO_CXX11_STATIC_ASSERT
+#define NDNBOOST_NO_CXX11_TEMPLATE_ALIASES
+#define NDNBOOST_NO_CXX11_UNICODE_LITERALS
+#define NDNBOOST_NO_CXX11_VARIADIC_TEMPLATES
+#define NDNBOOST_NO_CXX11_VARIADIC_MACROS
+#define NDNBOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
+#define NDNBOOST_NO_CXX11_USER_DEFINED_LITERALS
 
 //
 // Version
 //
 
-#define BOOST_COMPILER "Sun compiler version " BOOST_STRINGIZE(__SUNPRO_CC)
+#define NDNBOOST_COMPILER "Sun compiler version " NDNBOOST_STRINGIZE(__SUNPRO_CC)
 
 //
 // versions check:
@@ -144,7 +144,7 @@
 //
 // last known and checked version is 0x590:
 #if (__SUNPRO_CC > 0x590)
-#  if defined(BOOST_ASSERT_CONFIG)
+#  if defined(NDNBOOST_ASSERT_CONFIG)
 #     error "Unknown compiler version - please run the configure tests and report the results"
 #  endif
 #endif
diff --git a/include/ndnboost/config/compiler/vacpp.hpp b/include/ndnboost/config/compiler/vacpp.hpp
index 47b9903..a667657 100644
--- a/include/ndnboost/config/compiler/vacpp.hpp
+++ b/include/ndnboost/config/compiler/vacpp.hpp
@@ -12,21 +12,21 @@
 //  Visual Age (IBM) C++ compiler setup:
 
 #if __IBMCPP__ <= 501
-#  define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-#  define BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS
+#  define NDNBOOST_NO_MEMBER_TEMPLATE_FRIENDS
+#  define NDNBOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS
 #endif
 
 #if (__IBMCPP__ <= 502) 
 // Actually the compiler supports inclass member initialization but it
 // requires a definition for the class member and it doesn't recognize
 // it as an integral constant expression when used as a template argument.
-#  define BOOST_NO_INCLASS_MEMBER_INITIALIZATION
-#  define BOOST_NO_INTEGRAL_INT64_T
-#  define BOOST_NO_MEMBER_TEMPLATE_KEYWORD
+#  define NDNBOOST_NO_INCLASS_MEMBER_INITIALIZATION
+#  define NDNBOOST_NO_INTEGRAL_INT64_T
+#  define NDNBOOST_NO_MEMBER_TEMPLATE_KEYWORD
 #endif
 
-#if (__IBMCPP__ <= 600) || !defined(BOOST_STRICT_CONFIG)
-#  define BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS
+#if (__IBMCPP__ <= 600) || !defined(NDNBOOST_STRICT_CONFIG)
+#  define NDNBOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS
 #endif
 
 #if (__IBMCPP__ <= 1110)
@@ -34,17 +34,17 @@
 // a temporary object T(), when T is a non-POD aggregate class type. 
 // Michael Wong (IBM Canada Ltd) has confirmed this issue and gave it 
 // high priority. -- Niels Dekker (LKEB), May 2010.
-#  define BOOST_NO_COMPLETE_VALUE_INITIALIZATION
+#  define NDNBOOST_NO_COMPLETE_VALUE_INITIALIZATION
 #endif
 
 //
 // On AIX thread support seems to be indicated by _THREAD_SAFE:
 //
 #ifdef _THREAD_SAFE
-#  define BOOST_HAS_THREADS
+#  define NDNBOOST_HAS_THREADS
 #endif
 
-#define BOOST_COMPILER "IBM Visual Age version " BOOST_STRINGIZE(__IBMCPP__)
+#define NDNBOOST_COMPILER "IBM Visual Age version " NDNBOOST_STRINGIZE(__IBMCPP__)
 
 //
 // versions check:
@@ -55,76 +55,76 @@
 //
 // last known and checked version is 1210:
 #if (__IBMCPP__ > 1210)
-#  if defined(BOOST_ASSERT_CONFIG)
+#  if defined(NDNBOOST_ASSERT_CONFIG)
 #     error "Unknown compiler version - please run the configure tests and report the results"
 #  endif
 #endif
 
 // Some versions of the compiler have issues with default arguments on partial specializations
 #if __IBMCPP__ <= 1010
-#define BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS
+#define NDNBOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS
 #endif
 
 //
 // C++0x features
 //
-//   See boost\config\suffix.hpp for BOOST_NO_LONG_LONG
+//   See boost\config\suffix.hpp for NDNBOOST_NO_LONG_LONG
 //
 #if ! __IBMCPP_AUTO_TYPEDEDUCTION
-#  define BOOST_NO_CXX11_AUTO_DECLARATIONS
-#  define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
+#  define NDNBOOST_NO_CXX11_AUTO_DECLARATIONS
+#  define NDNBOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
 #endif
 #if ! __IBMCPP_UTF_LITERAL__
-#  define BOOST_NO_CXX11_CHAR16_T
-#  define BOOST_NO_CXX11_CHAR32_T
+#  define NDNBOOST_NO_CXX11_CHAR16_T
+#  define NDNBOOST_NO_CXX11_CHAR32_T
 #endif
 #if ! __IBMCPP_CONSTEXPR
-#  define BOOST_NO_CXX11_CONSTEXPR
+#  define NDNBOOST_NO_CXX11_CONSTEXPR
 #endif
 #if ! __IBMCPP_DECLTYPE
-#  define BOOST_NO_CXX11_DECLTYPE
+#  define NDNBOOST_NO_CXX11_DECLTYPE
 #else
-#  define BOOST_HAS_DECLTYPE
+#  define NDNBOOST_HAS_DECLTYPE
 #endif
-#define BOOST_NO_CXX11_DECLTYPE_N3276
-#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
-#define BOOST_NO_CXX11_DELETED_FUNCTIONS
+#define NDNBOOST_NO_CXX11_DECLTYPE_N3276
+#define NDNBOOST_NO_CXX11_DEFAULTED_FUNCTIONS
+#define NDNBOOST_NO_CXX11_DELETED_FUNCTIONS
 #if ! __IBMCPP_EXPLICIT_CONVERSION_OPERATORS
-#  define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
+#  define NDNBOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
 #endif
 #if ! __IBMCPP_EXTERN_TEMPLATE
-#  define BOOST_NO_CXX11_EXTERN_TEMPLATE
+#  define NDNBOOST_NO_CXX11_EXTERN_TEMPLATE
 #endif
 #if ! __IBMCPP_VARIADIC_TEMPLATES
 // not enabled separately at this time
-#  define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
+#  define NDNBOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
 #endif
-#define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
-#define BOOST_NO_CXX11_LAMBDAS
-#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
-#define BOOST_NO_CXX11_NOEXCEPT
-#define BOOST_NO_CXX11_NULLPTR
-#define BOOST_NO_CXX11_RANGE_BASED_FOR
-#define BOOST_NO_CXX11_RAW_LITERALS
-#define BOOST_NO_CXX11_USER_DEFINED_LITERALS
+#define NDNBOOST_NO_CXX11_HDR_INITIALIZER_LIST
+#define NDNBOOST_NO_CXX11_LAMBDAS
+#define NDNBOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
+#define NDNBOOST_NO_CXX11_NOEXCEPT
+#define NDNBOOST_NO_CXX11_NULLPTR
+#define NDNBOOST_NO_CXX11_RANGE_BASED_FOR
+#define NDNBOOST_NO_CXX11_RAW_LITERALS
+#define NDNBOOST_NO_CXX11_USER_DEFINED_LITERALS
 #if ! __IBMCPP_RVALUE_REFERENCES
-#  define BOOST_NO_CXX11_RVALUE_REFERENCES
+#  define NDNBOOST_NO_CXX11_RVALUE_REFERENCES
 #endif
 #if ! __IBMCPP_SCOPED_ENUM
-#  define BOOST_NO_CXX11_SCOPED_ENUMS
+#  define NDNBOOST_NO_CXX11_SCOPED_ENUMS
 #endif
-#define BOOST_NO_SFINAE_EXPR
-#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
+#define NDNBOOST_NO_SFINAE_EXPR
+#define NDNBOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
 #if ! __IBMCPP_STATIC_ASSERT
-#  define BOOST_NO_CXX11_STATIC_ASSERT
+#  define NDNBOOST_NO_CXX11_STATIC_ASSERT
 #endif
-#define BOOST_NO_CXX11_TEMPLATE_ALIASES
-#define BOOST_NO_CXX11_UNICODE_LITERALS
+#define NDNBOOST_NO_CXX11_TEMPLATE_ALIASES
+#define NDNBOOST_NO_CXX11_UNICODE_LITERALS
 #if ! __IBMCPP_VARIADIC_TEMPLATES
-#  define BOOST_NO_CXX11_VARIADIC_TEMPLATES
+#  define NDNBOOST_NO_CXX11_VARIADIC_TEMPLATES
 #endif
 #if ! __C99_MACRO_WITH_VA_ARGS
-#  define BOOST_NO_CXX11_VARIADIC_MACROS
+#  define NDNBOOST_NO_CXX11_VARIADIC_MACROS
 #endif
 
 
diff --git a/include/ndnboost/config/compiler/visualc.hpp b/include/ndnboost/config/compiler/visualc.hpp
index a7d3025..1ba9d16 100644
--- a/include/ndnboost/config/compiler/visualc.hpp
+++ b/include/ndnboost/config/compiler/visualc.hpp
@@ -20,15 +20,15 @@
 //  No other comparisons (==, >, or <=) are safe.
 //
 
-#define BOOST_MSVC _MSC_VER
+#define NDNBOOST_MSVC _MSC_VER
 
 //
-// Helper macro BOOST_MSVC_FULL_VER for use in Boost code:
+// Helper macro NDNBOOST_MSVC_FULL_VER for use in Boost code:
 //
 #if _MSC_FULL_VER > 100000000
-#  define BOOST_MSVC_FULL_VER _MSC_FULL_VER
+#  define NDNBOOST_MSVC_FULL_VER _MSC_FULL_VER
 #else
-#  define BOOST_MSVC_FULL_VER (_MSC_FULL_VER * 10)
+#  define NDNBOOST_MSVC_FULL_VER (_MSC_FULL_VER * 10)
 #endif
 
 // Attempt to suppress VC6 warnings about the length of decorated names (obsolete):
@@ -43,53 +43,53 @@
 
 #if _MSC_VER < 1300  // 1200 == VC++ 6.0, 1200-1202 == eVC++4
 #  pragma warning( disable : 4786 ) // ident trunc to '255' chars in debug info
-#  define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS
-#  define BOOST_NO_VOID_RETURNS
-#  define BOOST_NO_EXCEPTION_STD_NAMESPACE
+#  define NDNBOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS
+#  define NDNBOOST_NO_VOID_RETURNS
+#  define NDNBOOST_NO_EXCEPTION_STD_NAMESPACE
 
 #  if _MSC_VER == 1202
-#    define BOOST_NO_STD_TYPEINFO
+#    define NDNBOOST_NO_STD_TYPEINFO
 #  endif
 
 #endif
 
 /// Visual Studio has no fenv.h
-#define BOOST_NO_FENV_H
+#define NDNBOOST_NO_FENV_H
 
 #if (_MSC_VER < 1310)  // 130X == VC++ 7.0
 
-#  if !defined(_MSC_EXTENSIONS) && !defined(BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS)      // VC7 bug with /Za
-#    define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS
+#  if !defined(_MSC_EXTENSIONS) && !defined(NDNBOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS)      // VC7 bug with /Za
+#    define NDNBOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS
 #  endif
 
-#  define BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS
-#  define BOOST_NO_INCLASS_MEMBER_INITIALIZATION
-#  define BOOST_NO_PRIVATE_IN_AGGREGATE
-#  define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
-#  define BOOST_NO_INTEGRAL_INT64_T
-#  define BOOST_NO_DEDUCED_TYPENAME
-#  define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE
+#  define NDNBOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS
+#  define NDNBOOST_NO_INCLASS_MEMBER_INITIALIZATION
+#  define NDNBOOST_NO_PRIVATE_IN_AGGREGATE
+#  define NDNBOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
+#  define NDNBOOST_NO_INTEGRAL_INT64_T
+#  define NDNBOOST_NO_DEDUCED_TYPENAME
+#  define NDNBOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE
 
 //    VC++ 6/7 has member templates but they have numerous problems including
 //    cases of silent failure, so for safety we define:
-#  define BOOST_NO_MEMBER_TEMPLATES
+#  define NDNBOOST_NO_MEMBER_TEMPLATES
 //    For VC++ experts wishing to attempt workarounds, we define:
-#  define BOOST_MSVC6_MEMBER_TEMPLATES
+#  define NDNBOOST_MSVC6_MEMBER_TEMPLATES
 
-#  define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-#  define BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-#  define BOOST_NO_CV_VOID_SPECIALIZATIONS
-#  define BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-#  define BOOST_NO_USING_TEMPLATE
-#  define BOOST_NO_SWPRINTF
-#  define BOOST_NO_TEMPLATE_TEMPLATES
-#  define BOOST_NO_SFINAE
-#  define BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS
-#  define BOOST_NO_IS_ABSTRACT
-#  define BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS
+#  define NDNBOOST_NO_MEMBER_TEMPLATE_FRIENDS
+#  define NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#  define NDNBOOST_NO_CV_VOID_SPECIALIZATIONS
+#  define NDNBOOST_NO_FUNCTION_TEMPLATE_ORDERING
+#  define NDNBOOST_NO_USING_TEMPLATE
+#  define NDNBOOST_NO_SWPRINTF
+#  define NDNBOOST_NO_TEMPLATE_TEMPLATES
+#  define NDNBOOST_NO_SFINAE
+#  define NDNBOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS
+#  define NDNBOOST_NO_IS_ABSTRACT
+#  define NDNBOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS
 // TODO: what version is meant here? Have there really been any fixes in cl 12.01 (as e.g. shipped with eVC4)?
 #  if (_MSC_VER >= 1300)
-#     define BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS
+#     define NDNBOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS
 #  endif
 
 #endif
@@ -97,25 +97,25 @@
 #if _MSC_VER < 1400 
 // although a conforming signature for swprint exists in VC7.1
 // it appears not to actually work:
-#  define BOOST_NO_SWPRINTF
+#  define NDNBOOST_NO_SWPRINTF
 // Our extern template tests also fail for this compiler:
-#  define BOOST_NO_CXX11_EXTERN_TEMPLATE
+#  define NDNBOOST_NO_CXX11_EXTERN_TEMPLATE
 // Variadic macros do not exist for VC7.1 and lower
-#  define BOOST_NO_CXX11_VARIADIC_MACROS
+#  define NDNBOOST_NO_CXX11_VARIADIC_MACROS
 #endif
 
 #if defined(UNDER_CE)
 // Windows CE does not have a conforming signature for swprintf
-#  define BOOST_NO_SWPRINTF
+#  define NDNBOOST_NO_SWPRINTF
 #endif
 
 #if _MSC_VER < 1500  // 140X == VC++ 8.0
-#  define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
+#  define NDNBOOST_NO_MEMBER_TEMPLATE_FRIENDS
 #endif
 
 #if _MSC_VER < 1600  // 150X == VC++ 9.0
    // A bug in VC9:
-#  define BOOST_NO_ADL_BARRIER
+#  define NDNBOOST_NO_ADL_BARRIER
 #endif
 
 
@@ -132,128 +132,128 @@
 // https://connect.microsoft.com/VisualStudio/feedback/details/100744
 // See also: http://www.boost.org/libs/utility/value_init.htm#compiler_issues
 // (Niels Dekker, LKEB, May 2010)
-#  define BOOST_NO_COMPLETE_VALUE_INITIALIZATION
+#  define NDNBOOST_NO_COMPLETE_VALUE_INITIALIZATION
 
 #ifndef _NATIVE_WCHAR_T_DEFINED
-#  define BOOST_NO_INTRINSIC_WCHAR_T
+#  define NDNBOOST_NO_INTRINSIC_WCHAR_T
 #endif
 
 #if defined(_WIN32_WCE) || defined(UNDER_CE)
-#  define BOOST_NO_SWPRINTF
+#  define NDNBOOST_NO_SWPRINTF
 #endif
 
 // we have ThreadEx or GetSystemTimeAsFileTime unless we're running WindowsCE
 #if !defined(_WIN32_WCE) && !defined(UNDER_CE)
-#  define BOOST_HAS_THREADEX
-#  define BOOST_HAS_GETSYSTEMTIMEASFILETIME
+#  define NDNBOOST_HAS_THREADEX
+#  define NDNBOOST_HAS_GETSYSTEMTIMEASFILETIME
 #endif
 
 //   
 // check for exception handling support:   
-#if !defined(_CPPUNWIND) && !defined(BOOST_NO_EXCEPTIONS)
-#  define BOOST_NO_EXCEPTIONS   
+#if !defined(_CPPUNWIND) && !defined(NDNBOOST_NO_EXCEPTIONS)
+#  define NDNBOOST_NO_EXCEPTIONS   
 #endif 
 
 //
 // __int64 support:
 //
 #if (_MSC_VER >= 1200)
-#   define BOOST_HAS_MS_INT64
+#   define NDNBOOST_HAS_MS_INT64
 #endif
 #if (_MSC_VER >= 1310) && (defined(_MSC_EXTENSIONS) || (_MSC_VER >= 1400))
-#   define BOOST_HAS_LONG_LONG
+#   define NDNBOOST_HAS_LONG_LONG
 #else
-#   define BOOST_NO_LONG_LONG
+#   define NDNBOOST_NO_LONG_LONG
 #endif
 #if (_MSC_VER >= 1400) && !defined(_DEBUG)
-#   define BOOST_HAS_NRVO
+#   define NDNBOOST_HAS_NRVO
 #endif
 //
 // disable Win32 API's if compiler extentions are
 // turned off:
 //
-#if !defined(_MSC_EXTENSIONS) && !defined(BOOST_DISABLE_WIN32)
-#  define BOOST_DISABLE_WIN32
+#if !defined(_MSC_EXTENSIONS) && !defined(NDNBOOST_DISABLE_WIN32)
+#  define NDNBOOST_DISABLE_WIN32
 #endif
-#if !defined(_CPPRTTI) && !defined(BOOST_NO_RTTI)
-#  define BOOST_NO_RTTI
+#if !defined(_CPPRTTI) && !defined(NDNBOOST_NO_RTTI)
+#  define NDNBOOST_NO_RTTI
 #endif
 
 //
 // TR1 features:
 //
 #if _MSC_VER >= 1700
-// # define BOOST_HAS_TR1_HASH			// don't know if this is true yet.
-// # define BOOST_HAS_TR1_TYPE_TRAITS	// don't know if this is true yet.
-# define BOOST_HAS_TR1_UNORDERED_MAP
-# define BOOST_HAS_TR1_UNORDERED_SET
+// # define NDNBOOST_HAS_TR1_HASH			// don't know if this is true yet.
+// # define NDNBOOST_HAS_TR1_TYPE_TRAITS	// don't know if this is true yet.
+# define NDNBOOST_HAS_TR1_UNORDERED_MAP
+# define NDNBOOST_HAS_TR1_UNORDERED_SET
 #endif
 
 //
 // C++0x features
 //
-//   See above for BOOST_NO_LONG_LONG
+//   See above for NDNBOOST_NO_LONG_LONG
 
 // C++ features supported by VC++ 10 (aka 2010)
 //
 #if _MSC_VER < 1600
-#  define BOOST_NO_CXX11_AUTO_DECLARATIONS
-#  define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
-#  define BOOST_NO_CXX11_LAMBDAS
-#  define BOOST_NO_CXX11_RVALUE_REFERENCES
-#  define BOOST_NO_CXX11_STATIC_ASSERT
-#  define BOOST_NO_CXX11_NULLPTR
-#  define BOOST_NO_CXX11_DECLTYPE
+#  define NDNBOOST_NO_CXX11_AUTO_DECLARATIONS
+#  define NDNBOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
+#  define NDNBOOST_NO_CXX11_LAMBDAS
+#  define NDNBOOST_NO_CXX11_RVALUE_REFERENCES
+#  define NDNBOOST_NO_CXX11_STATIC_ASSERT
+#  define NDNBOOST_NO_CXX11_NULLPTR
+#  define NDNBOOST_NO_CXX11_DECLTYPE
 #endif // _MSC_VER < 1600
 
 #if _MSC_VER >= 1600
-#  define BOOST_HAS_STDINT_H
+#  define NDNBOOST_HAS_STDINT_H
 #endif
 
 // C++ features supported by VC++ 11 (aka 2012)
 //
 #if _MSC_VER < 1700
-#  define BOOST_NO_CXX11_RANGE_BASED_FOR
-#  define BOOST_NO_CXX11_SCOPED_ENUMS
+#  define NDNBOOST_NO_CXX11_RANGE_BASED_FOR
+#  define NDNBOOST_NO_CXX11_SCOPED_ENUMS
 #endif // _MSC_VER < 1700
 
 // C++11 features supported by VC++ 11 (aka 2012) November 2012 CTP
 // Because the CTP is unsupported, unrelease, and only alpha quality,
-// it is only supported if BOOST_MSVC_ENABLE_2012_NOV_CTP is defined.
+// it is only supported if NDNBOOST_MSVC_ENABLE_2012_NOV_CTP is defined.
 //
-#if _MSC_FULL_VER < 170051025 || !defined(BOOST_MSVC_ENABLE_2012_NOV_CTP)
-#  define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
-#  define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
-#  define BOOST_NO_CXX11_RAW_LITERALS
-#  define BOOST_NO_CXX11_VARIADIC_TEMPLATES
-#  define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
+#if _MSC_FULL_VER < 170051025 || !defined(NDNBOOST_MSVC_ENABLE_2012_NOV_CTP)
+#  define NDNBOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
+#  define NDNBOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
+#  define NDNBOOST_NO_CXX11_RAW_LITERALS
+#  define NDNBOOST_NO_CXX11_VARIADIC_TEMPLATES
+#  define NDNBOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
 #endif
 
 // C++11 features not supported by any versions
-#define BOOST_NO_CXX11_CHAR16_T
-#define BOOST_NO_CXX11_CHAR32_T
-#define BOOST_NO_CXX11_CONSTEXPR
-#define BOOST_NO_CXX11_DECLTYPE_N3276
-#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
-#define BOOST_NO_CXX11_DELETED_FUNCTIONS
-#define BOOST_NO_CXX11_NOEXCEPT
-#define BOOST_NO_CXX11_TEMPLATE_ALIASES
-#define BOOST_NO_CXX11_UNICODE_LITERALS
-#define BOOST_NO_SFINAE_EXPR
-#define BOOST_NO_TWO_PHASE_NAME_LOOKUP
-#define BOOST_NO_CXX11_USER_DEFINED_LITERALS
+#define NDNBOOST_NO_CXX11_CHAR16_T
+#define NDNBOOST_NO_CXX11_CHAR32_T
+#define NDNBOOST_NO_CXX11_CONSTEXPR
+#define NDNBOOST_NO_CXX11_DECLTYPE_N3276
+#define NDNBOOST_NO_CXX11_DEFAULTED_FUNCTIONS
+#define NDNBOOST_NO_CXX11_DELETED_FUNCTIONS
+#define NDNBOOST_NO_CXX11_NOEXCEPT
+#define NDNBOOST_NO_CXX11_TEMPLATE_ALIASES
+#define NDNBOOST_NO_CXX11_UNICODE_LITERALS
+#define NDNBOOST_NO_SFINAE_EXPR
+#define NDNBOOST_NO_TWO_PHASE_NAME_LOOKUP
+#define NDNBOOST_NO_CXX11_USER_DEFINED_LITERALS
 
 //
 // prefix and suffix headers:
 //
-#ifndef BOOST_ABI_PREFIX
-#  define BOOST_ABI_PREFIX "ndnboost/config/abi/msvc_prefix.hpp"
+#ifndef NDNBOOST_ABI_PREFIX
+#  define NDNBOOST_ABI_PREFIX "ndnboost/config/abi/msvc_prefix.hpp"
 #endif
-#ifndef BOOST_ABI_SUFFIX
-#  define BOOST_ABI_SUFFIX "ndnboost/config/abi/msvc_suffix.hpp"
+#ifndef NDNBOOST_ABI_SUFFIX
+#  define NDNBOOST_ABI_SUFFIX "ndnboost/config/abi/msvc_suffix.hpp"
 #endif
 
-#ifndef BOOST_COMPILER
+#ifndef NDNBOOST_COMPILER
 // TODO:
 // these things are mostly bogus. 1200 means version 12.0 of the compiler. The 
 // artificial versions assigned to them only refer to the versions of some IDE
@@ -264,24 +264,24 @@
 #   if _MSC_VER < 1200
       // Note: these are so far off, they are not really supported
 #   elif _MSC_VER < 1300 // eVC++ 4 comes with 1200-1202
-#     define BOOST_COMPILER_VERSION evc4.0
+#     define NDNBOOST_COMPILER_VERSION evc4.0
 #   elif _MSC_VER < 1400
       // Note: I'm not aware of any CE compiler with version 13xx
-#      if defined(BOOST_ASSERT_CONFIG)
+#      if defined(NDNBOOST_ASSERT_CONFIG)
 #         error "Unknown EVC++ compiler version - please run the configure tests and report the results"
 #      else
 #         pragma message("Unknown EVC++ compiler version - please run the configure tests and report the results")
 #      endif
 #   elif _MSC_VER < 1500
-#     define BOOST_COMPILER_VERSION evc8
+#     define NDNBOOST_COMPILER_VERSION evc8
 #   elif _MSC_VER < 1600
-#     define BOOST_COMPILER_VERSION evc9
+#     define NDNBOOST_COMPILER_VERSION evc9
 #   elif _MSC_VER < 1700
-#     define BOOST_COMPILER_VERSION evc10
+#     define NDNBOOST_COMPILER_VERSION evc10
 #   elif _MSC_VER < 1800 
-#     define BOOST_COMPILER_VERSION evc11 
+#     define NDNBOOST_COMPILER_VERSION evc11 
 #   else
-#      if defined(BOOST_ASSERT_CONFIG)
+#      if defined(NDNBOOST_ASSERT_CONFIG)
 #         error "Unknown EVC++ compiler version - please run the configure tests and report the results"
 #      else
 #         pragma message("Unknown EVC++ compiler version - please run the configure tests and report the results")
@@ -290,33 +290,33 @@
 # else
 #   if _MSC_VER < 1200
       // Note: these are so far off, they are not really supported
-#     define BOOST_COMPILER_VERSION 5.0
+#     define NDNBOOST_COMPILER_VERSION 5.0
 #   elif _MSC_VER < 1300
-#       define BOOST_COMPILER_VERSION 6.0
+#       define NDNBOOST_COMPILER_VERSION 6.0
 #   elif _MSC_VER < 1310
-#     define BOOST_COMPILER_VERSION 7.0
+#     define NDNBOOST_COMPILER_VERSION 7.0
 #   elif _MSC_VER < 1400
-#     define BOOST_COMPILER_VERSION 7.1
+#     define NDNBOOST_COMPILER_VERSION 7.1
 #   elif _MSC_VER < 1500
-#     define BOOST_COMPILER_VERSION 8.0
+#     define NDNBOOST_COMPILER_VERSION 8.0
 #   elif _MSC_VER < 1600
-#     define BOOST_COMPILER_VERSION 9.0
+#     define NDNBOOST_COMPILER_VERSION 9.0
 #   elif _MSC_VER < 1700
-#     define BOOST_COMPILER_VERSION 10.0
+#     define NDNBOOST_COMPILER_VERSION 10.0
 #   elif _MSC_VER < 1800 
-#     define BOOST_COMPILER_VERSION 11.0 
+#     define NDNBOOST_COMPILER_VERSION 11.0 
 #   else
-#     define BOOST_COMPILER_VERSION _MSC_VER
+#     define NDNBOOST_COMPILER_VERSION _MSC_VER
 #   endif
 # endif
 
-#  define BOOST_COMPILER "Microsoft Visual C++ version " BOOST_STRINGIZE(BOOST_COMPILER_VERSION)
+#  define NDNBOOST_COMPILER "Microsoft Visual C++ version " NDNBOOST_STRINGIZE(NDNBOOST_COMPILER_VERSION)
 #endif
 
 //
 // last known and checked version is 1700 (VC11, aka 2011):
 #if (_MSC_VER > 1700)
-#  if defined(BOOST_ASSERT_CONFIG)
+#  if defined(NDNBOOST_ASSERT_CONFIG)
 #     error "Unknown compiler version - please run the configure tests and report the results"
 #  else
 #     pragma message("Unknown compiler version - please run the configure tests and report the results")
diff --git a/include/ndnboost/config/no_tr1/cmath.hpp b/include/ndnboost/config/no_tr1/cmath.hpp
index 635e543..df3bdb7 100644
--- a/include/ndnboost/config/no_tr1/cmath.hpp
+++ b/include/ndnboost/config/no_tr1/cmath.hpp
@@ -10,19 +10,19 @@
 // dependencies:
 //
 
-#ifndef BOOST_CONFIG_CMATH
-#  define BOOST_CONFIG_CMATH
+#ifndef NDNBOOST_CONFIG_CMATH
+#  define NDNBOOST_CONFIG_CMATH
 
-#  ifndef BOOST_TR1_NO_RECURSION
-#     define BOOST_TR1_NO_RECURSION
-#     define BOOST_CONFIG_NO_CMATH_RECURSION
+#  ifndef NDNBOOST_TR1_NO_RECURSION
+#     define NDNBOOST_TR1_NO_RECURSION
+#     define NDNBOOST_CONFIG_NO_CMATH_RECURSION
 #  endif
 
 #  include <cmath>
 
-#  ifdef BOOST_CONFIG_NO_CMATH_RECURSION
-#     undef BOOST_TR1_NO_RECURSION
-#     undef BOOST_CONFIG_NO_CMATH_RECURSION
+#  ifdef NDNBOOST_CONFIG_NO_CMATH_RECURSION
+#     undef NDNBOOST_TR1_NO_RECURSION
+#     undef NDNBOOST_CONFIG_NO_CMATH_RECURSION
 #  endif
 
 #endif
diff --git a/include/ndnboost/config/no_tr1/complex.hpp b/include/ndnboost/config/no_tr1/complex.hpp
index 4f7c97c..7c22667 100644
--- a/include/ndnboost/config/no_tr1/complex.hpp
+++ b/include/ndnboost/config/no_tr1/complex.hpp
@@ -10,19 +10,19 @@
 // dependencies:
 //
 
-#ifndef BOOST_CONFIG_COMPLEX
-#  define BOOST_CONFIG_COMPLEX
+#ifndef NDNBOOST_CONFIG_COMPLEX
+#  define NDNBOOST_CONFIG_COMPLEX
 
-#  ifndef BOOST_TR1_NO_RECURSION
-#     define BOOST_TR1_NO_RECURSION
-#     define BOOST_CONFIG_NO_COMPLEX_RECURSION
+#  ifndef NDNBOOST_TR1_NO_RECURSION
+#     define NDNBOOST_TR1_NO_RECURSION
+#     define NDNBOOST_CONFIG_NO_COMPLEX_RECURSION
 #  endif
 
 #  include <complex>
 
-#  ifdef BOOST_CONFIG_NO_COMPLEX_RECURSION
-#     undef BOOST_TR1_NO_RECURSION
-#     undef BOOST_CONFIG_NO_COMPLEX_RECURSION
+#  ifdef NDNBOOST_CONFIG_NO_COMPLEX_RECURSION
+#     undef NDNBOOST_TR1_NO_RECURSION
+#     undef NDNBOOST_CONFIG_NO_COMPLEX_RECURSION
 #  endif
 
 #endif
diff --git a/include/ndnboost/config/no_tr1/functional.hpp b/include/ndnboost/config/no_tr1/functional.hpp
index 5679772..8e7fb5c 100644
--- a/include/ndnboost/config/no_tr1/functional.hpp
+++ b/include/ndnboost/config/no_tr1/functional.hpp
@@ -10,19 +10,19 @@
 // dependencies:
 //
 
-#ifndef BOOST_CONFIG_FUNCTIONAL
-#  define BOOST_CONFIG_FUNCTIONAL
+#ifndef NDNBOOST_CONFIG_FUNCTIONAL
+#  define NDNBOOST_CONFIG_FUNCTIONAL
 
-#  ifndef BOOST_TR1_NO_RECURSION
-#     define BOOST_TR1_NO_RECURSION
-#     define BOOST_CONFIG_NO_FUNCTIONAL_RECURSION
+#  ifndef NDNBOOST_TR1_NO_RECURSION
+#     define NDNBOOST_TR1_NO_RECURSION
+#     define NDNBOOST_CONFIG_NO_FUNCTIONAL_RECURSION
 #  endif
 
 #  include <functional>
 
-#  ifdef BOOST_CONFIG_NO_FUNCTIONAL_RECURSION
-#     undef BOOST_TR1_NO_RECURSION
-#     undef BOOST_CONFIG_NO_FUNCTIONAL_RECURSION
+#  ifdef NDNBOOST_CONFIG_NO_FUNCTIONAL_RECURSION
+#     undef NDNBOOST_TR1_NO_RECURSION
+#     undef NDNBOOST_CONFIG_NO_FUNCTIONAL_RECURSION
 #  endif
 
 #endif
diff --git a/include/ndnboost/config/no_tr1/memory.hpp b/include/ndnboost/config/no_tr1/memory.hpp
index e035156..153226c 100644
--- a/include/ndnboost/config/no_tr1/memory.hpp
+++ b/include/ndnboost/config/no_tr1/memory.hpp
@@ -10,19 +10,19 @@
 // dependencies:
 //
 
-#ifndef BOOST_CONFIG_MEMORY
-#  define BOOST_CONFIG_MEMORY
+#ifndef NDNBOOST_CONFIG_MEMORY
+#  define NDNBOOST_CONFIG_MEMORY
 
-#  ifndef BOOST_TR1_NO_RECURSION
-#     define BOOST_TR1_NO_RECURSION
-#     define BOOST_CONFIG_NO_MEMORY_RECURSION
+#  ifndef NDNBOOST_TR1_NO_RECURSION
+#     define NDNBOOST_TR1_NO_RECURSION
+#     define NDNBOOST_CONFIG_NO_MEMORY_RECURSION
 #  endif
 
 #  include <memory>
 
-#  ifdef BOOST_CONFIG_NO_MEMORY_RECURSION
-#     undef BOOST_TR1_NO_RECURSION
-#     undef BOOST_CONFIG_NO_MEMORY_RECURSION
+#  ifdef NDNBOOST_CONFIG_NO_MEMORY_RECURSION
+#     undef NDNBOOST_TR1_NO_RECURSION
+#     undef NDNBOOST_CONFIG_NO_MEMORY_RECURSION
 #  endif
 
 #endif
diff --git a/include/ndnboost/config/no_tr1/utility.hpp b/include/ndnboost/config/no_tr1/utility.hpp
index de60035..d55b65f 100644
--- a/include/ndnboost/config/no_tr1/utility.hpp
+++ b/include/ndnboost/config/no_tr1/utility.hpp
@@ -10,19 +10,19 @@
 // dependencies:
 //
 
-#ifndef BOOST_CONFIG_UTILITY
-#  define BOOST_CONFIG_UTILITY
+#ifndef NDNBOOST_CONFIG_UTILITY
+#  define NDNBOOST_CONFIG_UTILITY
 
-#  ifndef BOOST_TR1_NO_RECURSION
-#     define BOOST_TR1_NO_RECURSION
-#     define BOOST_CONFIG_NO_UTILITY_RECURSION
+#  ifndef NDNBOOST_TR1_NO_RECURSION
+#     define NDNBOOST_TR1_NO_RECURSION
+#     define NDNBOOST_CONFIG_NO_UTILITY_RECURSION
 #  endif
 
 #  include <utility>
 
-#  ifdef BOOST_CONFIG_NO_UTILITY_RECURSION
-#     undef BOOST_TR1_NO_RECURSION
-#     undef BOOST_CONFIG_NO_UTILITY_RECURSION
+#  ifdef NDNBOOST_CONFIG_NO_UTILITY_RECURSION
+#     undef NDNBOOST_TR1_NO_RECURSION
+#     undef NDNBOOST_CONFIG_NO_UTILITY_RECURSION
 #  endif
 
 #endif
diff --git a/include/ndnboost/config/platform/aix.hpp b/include/ndnboost/config/platform/aix.hpp
index 43521cf..2c8bd90 100644
--- a/include/ndnboost/config/platform/aix.hpp
+++ b/include/ndnboost/config/platform/aix.hpp
@@ -7,23 +7,23 @@
 
 //  IBM/Aix specific config options:
 
-#define BOOST_PLATFORM "IBM Aix"
+#define NDNBOOST_PLATFORM "IBM Aix"
 
-#define BOOST_HAS_UNISTD_H
-#define BOOST_HAS_NL_TYPES_H
-#define BOOST_HAS_NANOSLEEP
-#define BOOST_HAS_CLOCK_GETTIME
+#define NDNBOOST_HAS_UNISTD_H
+#define NDNBOOST_HAS_NL_TYPES_H
+#define NDNBOOST_HAS_NANOSLEEP
+#define NDNBOOST_HAS_CLOCK_GETTIME
 
 // This needs support in "ndnboost/cstdint.hpp" exactly like FreeBSD.
 // This platform has header named <inttypes.h> which includes all
 // the things needed.
-#define BOOST_HAS_STDINT_H
+#define NDNBOOST_HAS_STDINT_H
 
 // Threading API's:
-#define BOOST_HAS_PTHREADS
-#define BOOST_HAS_PTHREAD_DELAY_NP
-#define BOOST_HAS_SCHED_YIELD
-//#define BOOST_HAS_PTHREAD_YIELD
+#define NDNBOOST_HAS_PTHREADS
+#define NDNBOOST_HAS_PTHREAD_DELAY_NP
+#define NDNBOOST_HAS_SCHED_YIELD
+//#define NDNBOOST_HAS_PTHREAD_YIELD
 
 // boilerplate code:
 #include <ndnboost/config/posix_features.hpp>
diff --git a/include/ndnboost/config/platform/amigaos.hpp b/include/ndnboost/config/platform/amigaos.hpp
index 34bcf41..26d2dd6 100644
--- a/include/ndnboost/config/platform/amigaos.hpp
+++ b/include/ndnboost/config/platform/amigaos.hpp
@@ -5,11 +5,11 @@
 
 //  See http://www.boost.org for most recent version.
 
-#define BOOST_PLATFORM "AmigaOS"
+#define NDNBOOST_PLATFORM "AmigaOS"
 
-#define BOOST_DISABLE_THREADS
-#define BOOST_NO_CWCHAR
-#define BOOST_NO_STD_WSTRING
-#define BOOST_NO_INTRINSIC_WCHAR_T
+#define NDNBOOST_DISABLE_THREADS
+#define NDNBOOST_NO_CWCHAR
+#define NDNBOOST_NO_STD_WSTRING
+#define NDNBOOST_NO_INTRINSIC_WCHAR_T
  
 
diff --git a/include/ndnboost/config/platform/beos.hpp b/include/ndnboost/config/platform/beos.hpp
index 5a5fcdc..3dab0b0 100644
--- a/include/ndnboost/config/platform/beos.hpp
+++ b/include/ndnboost/config/platform/beos.hpp
@@ -7,16 +7,16 @@
 
 //  BeOS specific config options:
 
-#define BOOST_PLATFORM "BeOS"
+#define NDNBOOST_PLATFORM "BeOS"
 
-#define BOOST_NO_CWCHAR
-#define BOOST_NO_CWCTYPE
-#define BOOST_HAS_UNISTD_H
+#define NDNBOOST_NO_CWCHAR
+#define NDNBOOST_NO_CWCTYPE
+#define NDNBOOST_HAS_UNISTD_H
 
-#define BOOST_HAS_BETHREADS
+#define NDNBOOST_HAS_BETHREADS
 
-#ifndef BOOST_DISABLE_THREADS
-#  define BOOST_HAS_THREADS
+#ifndef NDNBOOST_DISABLE_THREADS
+#  define NDNBOOST_HAS_THREADS
 #endif
 
 // boilerplate code:
diff --git a/include/ndnboost/config/platform/bsd.hpp b/include/ndnboost/config/platform/bsd.hpp
index 0510d28..df54511 100644
--- a/include/ndnboost/config/platform/bsd.hpp
+++ b/include/ndnboost/config/platform/bsd.hpp
@@ -14,13 +14,13 @@
 #endif
 
 #ifdef __FreeBSD__
-#define BOOST_PLATFORM "FreeBSD " BOOST_STRINGIZE(__FreeBSD__)
+#define NDNBOOST_PLATFORM "FreeBSD " NDNBOOST_STRINGIZE(__FreeBSD__)
 #elif defined(__NetBSD__)
-#define BOOST_PLATFORM "NetBSD " BOOST_STRINGIZE(__NetBSD__)
+#define NDNBOOST_PLATFORM "NetBSD " NDNBOOST_STRINGIZE(__NetBSD__)
 #elif defined(__OpenBSD__)
-#define BOOST_PLATFORM "OpenBSD " BOOST_STRINGIZE(__OpenBSD__)
+#define NDNBOOST_PLATFORM "OpenBSD " NDNBOOST_STRINGIZE(__OpenBSD__)
 #elif defined(__DragonFly__)
-#define BOOST_PLATFORM "DragonFly " BOOST_STRINGIZE(__DragonFly__)
+#define NDNBOOST_PLATFORM "DragonFly " NDNBOOST_STRINGIZE(__DragonFly__)
 #endif
 
 //
@@ -29,7 +29,7 @@
 // advertise the fact in <unistd.h>:
 //
 #if (defined(__FreeBSD__) && (__FreeBSD__ >= 3)) || defined(__DragonFly__)
-#  define BOOST_HAS_NL_TYPES_H
+#  define NDNBOOST_HAS_NL_TYPES_H
 #endif
 
 //
@@ -38,7 +38,7 @@
 //
 #if (defined(__FreeBSD__) && (__FreeBSD__ <= 3))\
    || defined(__OpenBSD__) || defined(__DragonFly__) 
-#  define BOOST_HAS_PTHREADS
+#  define NDNBOOST_HAS_PTHREADS
 #endif
 
 //
@@ -57,26 +57,26 @@
 
 #if !((defined(__FreeBSD__) && (__FreeBSD__ >= 5)) \
       || (defined(__NetBSD_GCC__) && (__NetBSD_GCC__ >= 2095003)) || defined(__DragonFly__))
-#  define BOOST_NO_CWCHAR
+#  define NDNBOOST_NO_CWCHAR
 #endif
 //
 // The BSD <ctype.h> has macros only, no functions:
 //
 #if !defined(__OpenBSD__) || defined(__DragonFly__)
-#  define BOOST_NO_CTYPE_FUNCTIONS
+#  define NDNBOOST_NO_CTYPE_FUNCTIONS
 #endif
 
 //
 // thread API's not auto detected:
 //
-#define BOOST_HAS_SCHED_YIELD
-#define BOOST_HAS_NANOSLEEP
-#define BOOST_HAS_GETTIMEOFDAY
-#define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
-#define BOOST_HAS_SIGACTION
+#define NDNBOOST_HAS_SCHED_YIELD
+#define NDNBOOST_HAS_NANOSLEEP
+#define NDNBOOST_HAS_GETTIMEOFDAY
+#define NDNBOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
+#define NDNBOOST_HAS_SIGACTION
 
 // boilerplate code:
-#define BOOST_HAS_UNISTD_H
+#define NDNBOOST_HAS_UNISTD_H
 #include <ndnboost/config/posix_features.hpp>
 
 
diff --git a/include/ndnboost/config/platform/cray.hpp b/include/ndnboost/config/platform/cray.hpp
index b25003d..200cdab 100644
--- a/include/ndnboost/config/platform/cray.hpp
+++ b/include/ndnboost/config/platform/cray.hpp
@@ -8,10 +8,10 @@
 
 //  SGI Irix specific config options:
 
-#define BOOST_PLATFORM "Cray"
+#define NDNBOOST_PLATFORM "Cray"
 
 // boilerplate code:
-#define BOOST_HAS_UNISTD_H
+#define NDNBOOST_HAS_UNISTD_H
 #include <ndnboost/config/posix_features.hpp>
 
 
diff --git a/include/ndnboost/config/platform/cygwin.hpp b/include/ndnboost/config/platform/cygwin.hpp
index 96eda3b..30022ff 100644
--- a/include/ndnboost/config/platform/cygwin.hpp
+++ b/include/ndnboost/config/platform/cygwin.hpp
@@ -7,28 +7,28 @@
 
 //  cygwin specific config options:
 
-#define BOOST_PLATFORM "Cygwin"
-#define BOOST_HAS_DIRENT_H
-#define BOOST_HAS_LOG1P
-#define BOOST_HAS_EXPM1
+#define NDNBOOST_PLATFORM "Cygwin"
+#define NDNBOOST_HAS_DIRENT_H
+#define NDNBOOST_HAS_LOG1P
+#define NDNBOOST_HAS_EXPM1
 
 //
 // Threading API:
 // See if we have POSIX threads, if we do use them, otherwise
 // revert to native Win threads.
-#define BOOST_HAS_UNISTD_H
+#define NDNBOOST_HAS_UNISTD_H
 #include <unistd.h>
-#if defined(_POSIX_THREADS) && (_POSIX_THREADS+0 >= 0) && !defined(BOOST_HAS_WINTHREADS)
-#  define BOOST_HAS_PTHREADS
-#  define BOOST_HAS_SCHED_YIELD
-#  define BOOST_HAS_GETTIMEOFDAY
-#  define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
-#  define BOOST_HAS_SIGACTION
+#if defined(_POSIX_THREADS) && (_POSIX_THREADS+0 >= 0) && !defined(NDNBOOST_HAS_WINTHREADS)
+#  define NDNBOOST_HAS_PTHREADS
+#  define NDNBOOST_HAS_SCHED_YIELD
+#  define NDNBOOST_HAS_GETTIMEOFDAY
+#  define NDNBOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
+#  define NDNBOOST_HAS_SIGACTION
 #else
-#  if !defined(BOOST_HAS_WINTHREADS)
-#     define BOOST_HAS_WINTHREADS
+#  if !defined(NDNBOOST_HAS_WINTHREADS)
+#     define NDNBOOST_HAS_WINTHREADS
 #  endif
-#  define BOOST_HAS_FTIME
+#  define NDNBOOST_HAS_FTIME
 #endif
 
 //
@@ -36,11 +36,11 @@
 //
 #include <sys/types.h>
 #ifdef _STDINT_H
-#define BOOST_HAS_STDINT_H
+#define NDNBOOST_HAS_STDINT_H
 #endif
 
 /// Cygwin has no fenv.h
-#define BOOST_NO_FENV_H
+#define NDNBOOST_NO_FENV_H
 
 // boilerplate code:
 #include <ndnboost/config/posix_features.hpp>
@@ -48,8 +48,8 @@
 //
 // Cygwin lies about XSI conformance, there is no nl_types.h:
 //
-#ifdef BOOST_HAS_NL_TYPES_H
-#  undef BOOST_HAS_NL_TYPES_H
+#ifdef NDNBOOST_HAS_NL_TYPES_H
+#  undef NDNBOOST_HAS_NL_TYPES_H
 #endif
  
 
diff --git a/include/ndnboost/config/platform/hpux.hpp b/include/ndnboost/config/platform/hpux.hpp
index 3c717c3..e540a2e 100644
--- a/include/ndnboost/config/platform/hpux.hpp
+++ b/include/ndnboost/config/platform/hpux.hpp
@@ -11,77 +11,77 @@
 
 //  hpux specific config options:
 
-#define BOOST_PLATFORM "HP-UX"
+#define NDNBOOST_PLATFORM "HP-UX"
 
 // In principle, HP-UX has a nice <stdint.h> under the name <inttypes.h>
 // However, it has the following problem:
 // Use of UINT32_C(0) results in "0u l" for the preprocessed source
 // (verifyable with gcc 2.95.3)
 #if (defined(__GNUC__) && (__GNUC__ >= 3)) || defined(__HP_aCC)
-#  define BOOST_HAS_STDINT_H
+#  define NDNBOOST_HAS_STDINT_H
 #endif
 
 #if !(defined(__HP_aCC) || !defined(_INCLUDE__STDC_A1_SOURCE))
-#  define BOOST_NO_SWPRINTF
+#  define NDNBOOST_NO_SWPRINTF
 #endif
 #if defined(__HP_aCC) && !defined(_INCLUDE__STDC_A1_SOURCE)
-#  define BOOST_NO_CWCTYPE
+#  define NDNBOOST_NO_CWCTYPE
 #endif
 
 #if defined(__GNUC__)
 #  if (__GNUC__ < 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ < 3))
       // GNU C on HP-UX does not support threads (checked up to gcc 3.3)
-#     define BOOST_DISABLE_THREADS
-#  elif !defined(BOOST_DISABLE_THREADS)
+#     define NDNBOOST_DISABLE_THREADS
+#  elif !defined(NDNBOOST_DISABLE_THREADS)
       // threads supported from gcc-3.3 onwards:
-#     define BOOST_HAS_THREADS
-#     define BOOST_HAS_PTHREADS
+#     define NDNBOOST_HAS_THREADS
+#     define NDNBOOST_HAS_PTHREADS
 #  endif
-#elif defined(__HP_aCC) && !defined(BOOST_DISABLE_THREADS)
-#  define BOOST_HAS_PTHREADS
+#elif defined(__HP_aCC) && !defined(NDNBOOST_DISABLE_THREADS)
+#  define NDNBOOST_HAS_PTHREADS
 #endif
 
 // boilerplate code:
-#define BOOST_HAS_UNISTD_H
+#define NDNBOOST_HAS_UNISTD_H
 #include <ndnboost/config/posix_features.hpp>
 
 // the following are always available:
-#ifndef BOOST_HAS_GETTIMEOFDAY
-#  define BOOST_HAS_GETTIMEOFDAY
+#ifndef NDNBOOST_HAS_GETTIMEOFDAY
+#  define NDNBOOST_HAS_GETTIMEOFDAY
 #endif
-#ifndef BOOST_HAS_SCHED_YIELD
-#    define BOOST_HAS_SCHED_YIELD
+#ifndef NDNBOOST_HAS_SCHED_YIELD
+#    define NDNBOOST_HAS_SCHED_YIELD
 #endif
-#ifndef BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
-#    define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
+#ifndef NDNBOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
+#    define NDNBOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
 #endif
-#ifndef BOOST_HAS_NL_TYPES_H
-#    define BOOST_HAS_NL_TYPES_H
+#ifndef NDNBOOST_HAS_NL_TYPES_H
+#    define NDNBOOST_HAS_NL_TYPES_H
 #endif
-#ifndef BOOST_HAS_NANOSLEEP
-#    define BOOST_HAS_NANOSLEEP
+#ifndef NDNBOOST_HAS_NANOSLEEP
+#    define NDNBOOST_HAS_NANOSLEEP
 #endif
-#ifndef BOOST_HAS_GETTIMEOFDAY
-#    define BOOST_HAS_GETTIMEOFDAY
+#ifndef NDNBOOST_HAS_GETTIMEOFDAY
+#    define NDNBOOST_HAS_GETTIMEOFDAY
 #endif
-#ifndef BOOST_HAS_DIRENT_H
-#    define BOOST_HAS_DIRENT_H
+#ifndef NDNBOOST_HAS_DIRENT_H
+#    define NDNBOOST_HAS_DIRENT_H
 #endif
-#ifndef BOOST_HAS_CLOCK_GETTIME
-#    define BOOST_HAS_CLOCK_GETTIME
+#ifndef NDNBOOST_HAS_CLOCK_GETTIME
+#    define NDNBOOST_HAS_CLOCK_GETTIME
 #endif
-#ifndef BOOST_HAS_SIGACTION
-#  define BOOST_HAS_SIGACTION
+#ifndef NDNBOOST_HAS_SIGACTION
+#  define NDNBOOST_HAS_SIGACTION
 #endif
-#ifndef BOOST_HAS_NRVO 
+#ifndef NDNBOOST_HAS_NRVO 
 #  ifndef __parisc
-#    define BOOST_HAS_NRVO
+#    define NDNBOOST_HAS_NRVO
 #  endif
 #endif
-#ifndef BOOST_HAS_LOG1P 
-#  define BOOST_HAS_LOG1P
+#ifndef NDNBOOST_HAS_LOG1P 
+#  define NDNBOOST_HAS_LOG1P
 #endif
-#ifndef BOOST_HAS_EXPM1
-#  define BOOST_HAS_EXPM1
+#ifndef NDNBOOST_HAS_EXPM1
+#  define NDNBOOST_HAS_EXPM1
 #endif
 
diff --git a/include/ndnboost/config/platform/irix.hpp b/include/ndnboost/config/platform/irix.hpp
index 8064127..852d821 100644
--- a/include/ndnboost/config/platform/irix.hpp
+++ b/include/ndnboost/config/platform/irix.hpp
@@ -9,22 +9,22 @@
 
 //  SGI Irix specific config options:
 
-#define BOOST_PLATFORM "SGI Irix"
+#define NDNBOOST_PLATFORM "SGI Irix"
 
-#define BOOST_NO_SWPRINTF 
+#define NDNBOOST_NO_SWPRINTF 
 //
 // these are not auto detected by POSIX feature tests:
 //
-#define BOOST_HAS_GETTIMEOFDAY
-#define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
+#define NDNBOOST_HAS_GETTIMEOFDAY
+#define NDNBOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
 
 #ifdef __GNUC__
    // GNU C on IRIX does not support threads (checked up to gcc 3.3)
-#  define BOOST_DISABLE_THREADS
+#  define NDNBOOST_DISABLE_THREADS
 #endif
 
 // boilerplate code:
-#define BOOST_HAS_UNISTD_H
+#define NDNBOOST_HAS_UNISTD_H
 #include <ndnboost/config/posix_features.hpp>
 
 
diff --git a/include/ndnboost/config/platform/linux.hpp b/include/ndnboost/config/platform/linux.hpp
index b5769ad..1073635 100644
--- a/include/ndnboost/config/platform/linux.hpp
+++ b/include/ndnboost/config/platform/linux.hpp
@@ -8,7 +8,7 @@
 
 //  linux specific config options:
 
-#define BOOST_PLATFORM "linux"
+#define NDNBOOST_PLATFORM "linux"
 
 // make sure we have __GLIBC_PREREQ if available at all
 #ifdef __cplusplus
@@ -26,7 +26,7 @@
    // int64_t only if __GNUC__.  Thus, assume a fully usable <stdint.h>
    // only when using GCC.
 #  if defined __GNUC__
-#    define BOOST_HAS_STDINT_H
+#    define NDNBOOST_HAS_STDINT_H
 #  endif
 #endif
 
@@ -37,11 +37,11 @@
    // e.g. version 25 is 21 (dec)
    //
 #  if __LIBCOMO_VERSION__ <= 20
-#    define BOOST_NO_STDC_NAMESPACE
+#    define NDNBOOST_NO_STDC_NAMESPACE
 #  endif
 
 #  if __LIBCOMO_VERSION__ <= 21
-#    define BOOST_NO_SWPRINTF
+#    define NDNBOOST_NO_SWPRINTF
 #  endif
 
 #endif
@@ -51,11 +51,11 @@
 // gettimeofday, earlier versions may or may not have it:
 //
 #if defined(__GLIBC__) && (__GLIBC__ >= 2)
-#  define BOOST_HAS_GETTIMEOFDAY
+#  define NDNBOOST_HAS_GETTIMEOFDAY
 #endif
 
 #ifdef __USE_POSIX199309
-#  define BOOST_HAS_NANOSLEEP
+#  define NDNBOOST_HAS_NANOSLEEP
 #endif
 
 #if defined(__GLIBC__) && defined(__GLIBC_PREREQ)
@@ -63,16 +63,16 @@
 
    // swprintf is available since glibc 2.2.0
 #  if !__GLIBC_PREREQ(2,2) || (!defined(__USE_ISOC99) && !defined(__USE_UNIX98))
-#    define BOOST_NO_SWPRINTF
+#    define NDNBOOST_NO_SWPRINTF
 #  endif
 #else
-#  define BOOST_NO_SWPRINTF
+#  define NDNBOOST_NO_SWPRINTF
 #endif
 
 // boilerplate code:
-#define BOOST_HAS_UNISTD_H
+#define NDNBOOST_HAS_UNISTD_H
 #include <ndnboost/config/posix_features.hpp>
-#define BOOST_HAS_PTHREAD_YIELD
+#define NDNBOOST_HAS_PTHREAD_YIELD
 
 #ifndef __GNUC__
 //
diff --git a/include/ndnboost/config/platform/macos.hpp b/include/ndnboost/config/platform/macos.hpp
index f755410..c6922db 100644
--- a/include/ndnboost/config/platform/macos.hpp
+++ b/include/ndnboost/config/platform/macos.hpp
@@ -9,14 +9,14 @@
 
 //  Mac OS specific config options:
 
-#define BOOST_PLATFORM "Mac OS"
+#define NDNBOOST_PLATFORM "Mac OS"
 
 #if __MACH__ && !defined(_MSL_USING_MSL_C)
 
 // Using the Mac OS X system BSD-style C library.
 
-#  ifndef BOOST_HAS_UNISTD_H
-#    define BOOST_HAS_UNISTD_H
+#  ifndef NDNBOOST_HAS_UNISTD_H
+#    define NDNBOOST_HAS_UNISTD_H
 #  endif
 //
 // Begin by including our boilerplate code for POSIX
@@ -26,8 +26,8 @@
 // should also always be able to do this on MaxOS X.
 //
 #  include <ndnboost/config/posix_features.hpp>
-#  ifndef BOOST_HAS_STDINT_H
-#     define BOOST_HAS_STDINT_H
+#  ifndef NDNBOOST_HAS_STDINT_H
+#     define NDNBOOST_HAS_STDINT_H
 #  endif
 
 //
@@ -35,23 +35,23 @@
 // of these only pthreads are advertised in <unistd.h>, so set the 
 // other options explicitly:
 //
-#  define BOOST_HAS_SCHED_YIELD
-#  define BOOST_HAS_GETTIMEOFDAY
-#  define BOOST_HAS_SIGACTION
+#  define NDNBOOST_HAS_SCHED_YIELD
+#  define NDNBOOST_HAS_GETTIMEOFDAY
+#  define NDNBOOST_HAS_SIGACTION
 
 #  if (__GNUC__ < 3) && !defined( __APPLE_CC__)
 
 // GCC strange "ignore std" mode works better if you pretend everything
 // is in the std namespace, for the most part.
 
-#    define BOOST_NO_STDC_NAMESPACE
+#    define NDNBOOST_NO_STDC_NAMESPACE
 #  endif
 
 #  if (__GNUC__ == 4)
 
 // Both gcc and intel require these.  
-#    define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
-#    define BOOST_HAS_NANOSLEEP
+#    define NDNBOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
+#    define NDNBOOST_HAS_NANOSLEEP
 
 #  endif
 
@@ -63,21 +63,21 @@
 // not support this yet.
 #  if ( defined(TARGET_API_MAC_CARBON) && TARGET_API_MAC_CARBON ) || ( defined(TARGET_CARBON) && TARGET_CARBON )
 
-#  if !defined(BOOST_HAS_PTHREADS)
+#  if !defined(NDNBOOST_HAS_PTHREADS)
 // MPTasks support is deprecated/removed from Boost:
-//#    define BOOST_HAS_MPTASKS
+//#    define NDNBOOST_HAS_MPTASKS
 #  elif ( __dest_os == __mac_os_x )
 // We are doing a Carbon/Mach-O/MSL build which has pthreads, but only the
 // gettimeofday and no posix.
-#  define BOOST_HAS_GETTIMEOFDAY
+#  define NDNBOOST_HAS_GETTIMEOFDAY
 #  endif
 
-#ifdef BOOST_HAS_PTHREADS
-#  define BOOST_HAS_THREADS
+#ifdef NDNBOOST_HAS_PTHREADS
+#  define NDNBOOST_HAS_THREADS
 #endif
 
 // The remote call manager depends on this.
-#    define BOOST_BIND_ENABLE_PASCAL
+#    define NDNBOOST_BIND_ENABLE_PASCAL
 
 #  endif
 
diff --git a/include/ndnboost/config/platform/qnxnto.hpp b/include/ndnboost/config/platform/qnxnto.hpp
index c8b59be..972bf5c 100644
--- a/include/ndnboost/config/platform/qnxnto.hpp
+++ b/include/ndnboost/config/platform/qnxnto.hpp
@@ -7,23 +7,23 @@
 
 //  QNX specific config options:
 
-#define BOOST_PLATFORM "QNX"
+#define NDNBOOST_PLATFORM "QNX"
 
-#define BOOST_HAS_UNISTD_H
+#define NDNBOOST_HAS_UNISTD_H
 #include <ndnboost/config/posix_features.hpp>
 
 // QNX claims XOpen version 5 compatibility, but doesn't have an nl_types.h
 // or log1p and expm1:
-#undef  BOOST_HAS_NL_TYPES_H
-#undef  BOOST_HAS_LOG1P
-#undef  BOOST_HAS_EXPM1
+#undef  NDNBOOST_HAS_NL_TYPES_H
+#undef  NDNBOOST_HAS_LOG1P
+#undef  NDNBOOST_HAS_EXPM1
 
-#define BOOST_HAS_PTHREADS
-#define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
+#define NDNBOOST_HAS_PTHREADS
+#define NDNBOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
 
-#define BOOST_HAS_GETTIMEOFDAY
-#define BOOST_HAS_CLOCK_GETTIME
-#define BOOST_HAS_NANOSLEEP
+#define NDNBOOST_HAS_GETTIMEOFDAY
+#define NDNBOOST_HAS_CLOCK_GETTIME
+#define NDNBOOST_HAS_NANOSLEEP
 
 
 
diff --git a/include/ndnboost/config/platform/solaris.hpp b/include/ndnboost/config/platform/solaris.hpp
index 2de1151..e9ce41e 100644
--- a/include/ndnboost/config/platform/solaris.hpp
+++ b/include/ndnboost/config/platform/solaris.hpp
@@ -8,19 +8,19 @@
 
 //  sun specific config options:
 
-#define BOOST_PLATFORM "Sun Solaris"
+#define NDNBOOST_PLATFORM "Sun Solaris"
 
-#define BOOST_HAS_GETTIMEOFDAY
+#define NDNBOOST_HAS_GETTIMEOFDAY
 
 // boilerplate code:
-#define BOOST_HAS_UNISTD_H
+#define NDNBOOST_HAS_UNISTD_H
 #include <ndnboost/config/posix_features.hpp>
 
 //
 // pthreads don't actually work with gcc unless _PTHREADS is defined:
 //
 #if defined(__GNUC__) && defined(_POSIX_THREADS) && !defined(_PTHREADS)
-# undef BOOST_HAS_PTHREADS
+# undef NDNBOOST_HAS_PTHREADS
 #endif
 
 
diff --git a/include/ndnboost/config/platform/symbian.hpp b/include/ndnboost/config/platform/symbian.hpp
index 3ccdb4b..1b32193 100644
--- a/include/ndnboost/config/platform/symbian.hpp
+++ b/include/ndnboost/config/platform/symbian.hpp
@@ -10,54 +10,54 @@
 //  symbian specific config options:
 
 
-#define BOOST_PLATFORM "Symbian"
-#define BOOST_SYMBIAN 1
+#define NDNBOOST_PLATFORM "Symbian"
+#define NDNBOOST_SYMBIAN 1
 
 
 #if defined(__S60_3X__)
 // Open C / C++ plugin was introdused in this SDK, earlier versions don't have CRT / STL
-#  define BOOST_S60_3rd_EDITION_FP2_OR_LATER_SDK
+#  define NDNBOOST_S60_3rd_EDITION_FP2_OR_LATER_SDK
 // make sure we have __GLIBC_PREREQ if available at all
 #ifdef __cplusplus
 #include <cstdlib>
 #else
 #include <stdlib.h>
 #endif// boilerplate code:
-#  define BOOST_HAS_UNISTD_H
+#  define NDNBOOST_HAS_UNISTD_H
 #  include <ndnboost/config/posix_features.hpp>
 // S60 SDK defines _POSIX_VERSION as POSIX.1
-#  ifndef BOOST_HAS_STDINT_H
-#    define BOOST_HAS_STDINT_H
+#  ifndef NDNBOOST_HAS_STDINT_H
+#    define NDNBOOST_HAS_STDINT_H
 #  endif
-#  ifndef BOOST_HAS_GETTIMEOFDAY
-#    define BOOST_HAS_GETTIMEOFDAY
+#  ifndef NDNBOOST_HAS_GETTIMEOFDAY
+#    define NDNBOOST_HAS_GETTIMEOFDAY
 #  endif
-#  ifndef BOOST_HAS_DIRENT_H
-#    define BOOST_HAS_DIRENT_H
+#  ifndef NDNBOOST_HAS_DIRENT_H
+#    define NDNBOOST_HAS_DIRENT_H
 #  endif
-#  ifndef BOOST_HAS_SIGACTION
-#    define BOOST_HAS_SIGACTION
+#  ifndef NDNBOOST_HAS_SIGACTION
+#    define NDNBOOST_HAS_SIGACTION
 #  endif
-#  ifndef BOOST_HAS_PTHREADS
-#    define BOOST_HAS_PTHREADS
+#  ifndef NDNBOOST_HAS_PTHREADS
+#    define NDNBOOST_HAS_PTHREADS
 #  endif
-#  ifndef BOOST_HAS_NANOSLEEP
-#    define BOOST_HAS_NANOSLEEP
+#  ifndef NDNBOOST_HAS_NANOSLEEP
+#    define NDNBOOST_HAS_NANOSLEEP
 #  endif
-#  ifndef BOOST_HAS_SCHED_YIELD
-#    define BOOST_HAS_SCHED_YIELD
+#  ifndef NDNBOOST_HAS_SCHED_YIELD
+#    define NDNBOOST_HAS_SCHED_YIELD
 #  endif
-#  ifndef BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
-#    define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
+#  ifndef NDNBOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
+#    define NDNBOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
 #  endif
-#  ifndef BOOST_HAS_LOG1P
-#    define BOOST_HAS_LOG1P
+#  ifndef NDNBOOST_HAS_LOG1P
+#    define NDNBOOST_HAS_LOG1P
 #  endif
-#  ifndef BOOST_HAS_EXPM1
-#    define BOOST_HAS_EXPM1
+#  ifndef NDNBOOST_HAS_EXPM1
+#    define NDNBOOST_HAS_EXPM1
 #  endif
-#  ifndef BOOST_POSIX_API
-#    define BOOST_POSIX_API
+#  ifndef NDNBOOST_POSIX_API
+#    define NDNBOOST_POSIX_API
 #  endif
 // endianess support
 #  include <sys/endian.h>
@@ -80,18 +80,18 @@
 #    define __BYTE_ORDER __LITTLE_ENDIAN // Symbian is LE
 #  endif
 // Known limitations
-#  define BOOST_ASIO_DISABLE_SERIAL_PORT
-#  define BOOST_DATE_TIME_NO_LOCALE
-#  define BOOST_NO_STD_WSTRING
-#  define BOOST_EXCEPTION_DISABLE
-#  define BOOST_NO_EXCEPTIONS
+#  define NDNBOOST_ASIO_DISABLE_SERIAL_PORT
+#  define NDNBOOST_DATE_TIME_NO_LOCALE
+#  define NDNBOOST_NO_STD_WSTRING
+#  define NDNBOOST_EXCEPTION_DISABLE
+#  define NDNBOOST_NO_EXCEPTIONS
 
 #else // TODO: More platform support e.g. UIQ
 #  error "Unsuppoted Symbian SDK"
 #endif
 
-#if defined(__WINSCW__) && !defined(BOOST_DISABLE_WIN32)
-#  define BOOST_DISABLE_WIN32 // winscw defines WIN32 macro
+#if defined(__WINSCW__) && !defined(NDNBOOST_DISABLE_WIN32)
+#  define NDNBOOST_DISABLE_WIN32 // winscw defines WIN32 macro
 #endif
 
 
diff --git a/include/ndnboost/config/platform/vms.hpp b/include/ndnboost/config/platform/vms.hpp
index f70efcf..f5f7457 100644
--- a/include/ndnboost/config/platform/vms.hpp
+++ b/include/ndnboost/config/platform/vms.hpp
@@ -3,23 +3,23 @@
 //  Boost Software License, Version 1.0. (See accompanying file  
 //  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 
 
-#ifndef BOOST_CONFIG_PLATFORM_VMS_HPP 
-#define BOOST_CONFIG_PLATFORM_VMS_HPP 
+#ifndef NDNBOOST_CONFIG_PLATFORM_VMS_HPP 
+#define NDNBOOST_CONFIG_PLATFORM_VMS_HPP 
 
-#define BOOST_PLATFORM "OpenVMS" 
+#define NDNBOOST_PLATFORM "OpenVMS" 
 
-#undef  BOOST_HAS_STDINT_H 
-#define BOOST_HAS_UNISTD_H 
-#define BOOST_HAS_NL_TYPES_H 
-#define BOOST_HAS_GETTIMEOFDAY 
-#define BOOST_HAS_DIRENT_H 
-#define BOOST_HAS_PTHREADS 
-#define BOOST_HAS_NANOSLEEP 
-#define BOOST_HAS_CLOCK_GETTIME 
-#define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE 
-#define BOOST_HAS_LOG1P 
-#define BOOST_HAS_EXPM1 
-#define BOOST_HAS_THREADS 
-#undef  BOOST_HAS_SCHED_YIELD 
+#undef  NDNBOOST_HAS_STDINT_H 
+#define NDNBOOST_HAS_UNISTD_H 
+#define NDNBOOST_HAS_NL_TYPES_H 
+#define NDNBOOST_HAS_GETTIMEOFDAY 
+#define NDNBOOST_HAS_DIRENT_H 
+#define NDNBOOST_HAS_PTHREADS 
+#define NDNBOOST_HAS_NANOSLEEP 
+#define NDNBOOST_HAS_CLOCK_GETTIME 
+#define NDNBOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE 
+#define NDNBOOST_HAS_LOG1P 
+#define NDNBOOST_HAS_EXPM1 
+#define NDNBOOST_HAS_THREADS 
+#undef  NDNBOOST_HAS_SCHED_YIELD 
 
 #endif 
diff --git a/include/ndnboost/config/platform/vxworks.hpp b/include/ndnboost/config/platform/vxworks.hpp
index b94c329..425044e 100644
--- a/include/ndnboost/config/platform/vxworks.hpp
+++ b/include/ndnboost/config/platform/vxworks.hpp
@@ -124,55 +124,55 @@
 
 // vxWorks specific config options:
 // --------------------------------
-#define BOOST_PLATFORM "vxWorks"
+#define NDNBOOST_PLATFORM "vxWorks"
 
 // Special behaviour for DKMs:
 #ifdef _WRS_KERNEL
   // DKMs do not have the <cwchar>-header,
   // but apparently they do have an intrinsic wchar_t meanwhile!
-#  define BOOST_NO_CWCHAR
+#  define NDNBOOST_NO_CWCHAR
 
   // Lots of wide-functions and -headers are unavailable for DKMs as well:
-#  define BOOST_NO_CWCTYPE
-#  define BOOST_NO_SWPRINTF
-#  define BOOST_NO_STD_WSTRING
-#  define BOOST_NO_STD_WSTREAMBUF
+#  define NDNBOOST_NO_CWCTYPE
+#  define NDNBOOST_NO_SWPRINTF
+#  define NDNBOOST_NO_STD_WSTRING
+#  define NDNBOOST_NO_STD_WSTREAMBUF
 #endif
 
 // Generally available headers:
-#define BOOST_HAS_UNISTD_H
-#define BOOST_HAS_STDINT_H
-#define BOOST_HAS_DIRENT_H
-#define BOOST_HAS_SLIST
+#define NDNBOOST_HAS_UNISTD_H
+#define NDNBOOST_HAS_STDINT_H
+#define NDNBOOST_HAS_DIRENT_H
+#define NDNBOOST_HAS_SLIST
 
 // vxWorks does not have installed an iconv-library by default,
 // so unfortunately no Unicode support from scratch is available!
 // Thus, instead it is suggested to switch to ICU, as this seems
 // to be the most complete and portable option...
-#define BOOST_LOCALE_WITH_ICU
+#define NDNBOOST_LOCALE_WITH_ICU
 
 // Generally available functionality:
-#define BOOST_HAS_THREADS
-#define BOOST_HAS_NANOSLEEP
-#define BOOST_HAS_GETTIMEOFDAY
-#define BOOST_HAS_CLOCK_GETTIME
-#define BOOST_HAS_MACRO_USE_FACET
+#define NDNBOOST_HAS_THREADS
+#define NDNBOOST_HAS_NANOSLEEP
+#define NDNBOOST_HAS_GETTIMEOFDAY
+#define NDNBOOST_HAS_CLOCK_GETTIME
+#define NDNBOOST_HAS_MACRO_USE_FACET
 
 // Generally unavailable functionality, delivered by boost's test function:
-//#define BOOST_NO_DEDUCED_TYPENAME // Commented this out, boost's test gives an errorneous result!
-#define BOOST_NO_CXX11_EXTERN_TEMPLATE
-#define BOOST_NO_CXX11_VARIADIC_MACROS
+//#define NDNBOOST_NO_DEDUCED_TYPENAME // Commented this out, boost's test gives an errorneous result!
+#define NDNBOOST_NO_CXX11_EXTERN_TEMPLATE
+#define NDNBOOST_NO_CXX11_VARIADIC_MACROS
 
 // Generally available threading API's:
-#define BOOST_HAS_PTHREADS
-#define BOOST_HAS_SCHED_YIELD
-#define BOOST_HAS_SIGACTION
+#define NDNBOOST_HAS_PTHREADS
+#define NDNBOOST_HAS_SCHED_YIELD
+#define NDNBOOST_HAS_SIGACTION
 
 // Functionality available for RTPs only:
 #ifdef __RTP__
-#  define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
-#  define BOOST_HAS_LOG1P
-#  define BOOST_HAS_EXPM1
+#  define NDNBOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
+#  define NDNBOOST_HAS_LOG1P
+#  define NDNBOOST_HAS_EXPM1
 #endif
 
 // Functionality available for DKMs only:
@@ -192,7 +192,7 @@
 #endif
 
 // vxWorks doesn't work with asio serial ports:
-#define BOOST_ASIO_DISABLE_SERIAL_PORT
+#define NDNBOOST_ASIO_DISABLE_SERIAL_PORT
 // TODO: The problem here seems to bee that vxWorks uses its own, very specific
 //       ways to handle serial ports, incompatible with POSIX or anything...
 //       Maybe a specific implementation would be possible, but until the
@@ -366,4 +366,4 @@
 #include <ndnboost/config/posix_features.hpp>
 
 // vxWorks lies about XSI conformance, there is no nl_types.h:
-#undef BOOST_HAS_NL_TYPES_H
+#undef NDNBOOST_HAS_NL_TYPES_H
diff --git a/include/ndnboost/config/platform/win32.hpp b/include/ndnboost/config/platform/win32.hpp
index 82b27c8..bc4e1da 100644
--- a/include/ndnboost/config/platform/win32.hpp
+++ b/include/ndnboost/config/platform/win32.hpp
@@ -10,64 +10,64 @@
 
 //  Win32 specific config options:
 
-#define BOOST_PLATFORM "Win32"
+#define NDNBOOST_PLATFORM "Win32"
 
 //  Get the information about the MinGW runtime, i.e. __MINGW32_*VERSION.
 #if defined(__MINGW32__)
 #  include <_mingw.h>
 #endif
 
-#if defined(__GNUC__) && !defined(BOOST_NO_SWPRINTF)
-#  define BOOST_NO_SWPRINTF
+#if defined(__GNUC__) && !defined(NDNBOOST_NO_SWPRINTF)
+#  define NDNBOOST_NO_SWPRINTF
 #endif
 
-//  Default defines for BOOST_SYMBOL_EXPORT and BOOST_SYMBOL_IMPORT
+//  Default defines for NDNBOOST_SYMBOL_EXPORT and NDNBOOST_SYMBOL_IMPORT
 //  If a compiler doesn't support __declspec(dllexport)/__declspec(dllimport),
-//  its ndnboost/config/compiler/ file must define BOOST_SYMBOL_EXPORT and
-//  BOOST_SYMBOL_IMPORT
-#ifndef BOOST_SYMBOL_EXPORT
-#  define BOOST_HAS_DECLSPEC
-#  define BOOST_SYMBOL_EXPORT __declspec(dllexport)
-#  define BOOST_SYMBOL_IMPORT __declspec(dllimport)
+//  its ndnboost/config/compiler/ file must define NDNBOOST_SYMBOL_EXPORT and
+//  NDNBOOST_SYMBOL_IMPORT
+#ifndef NDNBOOST_SYMBOL_EXPORT
+#  define NDNBOOST_HAS_DECLSPEC
+#  define NDNBOOST_SYMBOL_EXPORT __declspec(dllexport)
+#  define NDNBOOST_SYMBOL_IMPORT __declspec(dllimport)
 #endif
 
 #if defined(__MINGW32__) && ((__MINGW32_MAJOR_VERSION > 2) || ((__MINGW32_MAJOR_VERSION == 2) && (__MINGW32_MINOR_VERSION >= 0)))
-#  define BOOST_HAS_STDINT_H
+#  define NDNBOOST_HAS_STDINT_H
 #  ifndef __STDC_LIMIT_MACROS
 #     define __STDC_LIMIT_MACROS
 #  endif
-#  define BOOST_HAS_DIRENT_H
-#  define BOOST_HAS_UNISTD_H
+#  define NDNBOOST_HAS_DIRENT_H
+#  define NDNBOOST_HAS_UNISTD_H
 #endif
 
 #if defined(__MINGW32__) && (__GNUC__ >= 4)
-#  define BOOST_HAS_EXPM1
-#  define BOOST_HAS_LOG1P
-#  define BOOST_HAS_GETTIMEOFDAY
+#  define NDNBOOST_HAS_EXPM1
+#  define NDNBOOST_HAS_LOG1P
+#  define NDNBOOST_HAS_GETTIMEOFDAY
 #endif
 //
 // Win32 will normally be using native Win32 threads,
 // but there is a pthread library avaliable as an option,
-// we used to disable this when BOOST_DISABLE_WIN32 was 
+// we used to disable this when NDNBOOST_DISABLE_WIN32 was 
 // defined but no longer - this should allow some
 // files to be compiled in strict mode - while maintaining
-// a consistent setting of BOOST_HAS_THREADS across
+// a consistent setting of NDNBOOST_HAS_THREADS across
 // all translation units (needed for shared_ptr etc).
 //
 
 #ifdef _WIN32_WCE
-#  define BOOST_NO_ANSI_APIS
+#  define NDNBOOST_NO_ANSI_APIS
 #else
-#  define BOOST_HAS_GETSYSTEMTIMEASFILETIME
+#  define NDNBOOST_HAS_GETSYSTEMTIMEASFILETIME
 #endif
 
-#ifndef BOOST_HAS_PTHREADS
-#  define BOOST_HAS_WINTHREADS
+#ifndef NDNBOOST_HAS_PTHREADS
+#  define NDNBOOST_HAS_WINTHREADS
 #endif
 
-#ifndef BOOST_DISABLE_WIN32
+#ifndef NDNBOOST_DISABLE_WIN32
 // WEK: Added
-#define BOOST_HAS_FTIME
-#define BOOST_WINDOWS 1
+#define NDNBOOST_HAS_FTIME
+#define NDNBOOST_WINDOWS 1
 
 #endif
diff --git a/include/ndnboost/config/posix_features.hpp b/include/ndnboost/config/posix_features.hpp
index d129547..72cc724 100644
--- a/include/ndnboost/config/posix_features.hpp
+++ b/include/ndnboost/config/posix_features.hpp
@@ -14,27 +14,27 @@
 // to the user to do this *before* including any header, although
 // in most cases the compiler will do this for you).
 
-#  if defined(BOOST_HAS_UNISTD_H)
+#  if defined(NDNBOOST_HAS_UNISTD_H)
 #     include <unistd.h>
 
       // XOpen has <nl_types.h>, but is this the correct version check?
 #     if defined(_XOPEN_VERSION) && (_XOPEN_VERSION >= 3)
-#        define BOOST_HAS_NL_TYPES_H
+#        define NDNBOOST_HAS_NL_TYPES_H
 #     endif
 
       // POSIX version 6 requires <stdint.h>
 #     if defined(_POSIX_VERSION) && (_POSIX_VERSION >= 200100)
-#        define BOOST_HAS_STDINT_H
+#        define NDNBOOST_HAS_STDINT_H
 #     endif
 
       // POSIX version 2 requires <dirent.h>
 #     if defined(_POSIX_VERSION) && (_POSIX_VERSION >= 199009L)
-#        define BOOST_HAS_DIRENT_H
+#        define NDNBOOST_HAS_DIRENT_H
 #     endif
 
       // POSIX version 3 requires <signal.h> to have sigaction:
 #     if defined(_POSIX_VERSION) && (_POSIX_VERSION >= 199506L)
-#        define BOOST_HAS_SIGACTION
+#        define NDNBOOST_HAS_SIGACTION
 #     endif
       // POSIX defines _POSIX_THREADS > 0 for pthread support,
       // however some platforms define _POSIX_THREADS without
@@ -42,49 +42,49 @@
       // Strictly speaking this may catch platforms with a
       // non-functioning stub <pthreads.h>, but such occurrences should
       // occur very rarely if at all.
-#     if defined(_POSIX_THREADS) && (_POSIX_THREADS+0 >= 0) && !defined(BOOST_HAS_WINTHREADS) && !defined(BOOST_HAS_MPTASKS)
-#        define BOOST_HAS_PTHREADS
+#     if defined(_POSIX_THREADS) && (_POSIX_THREADS+0 >= 0) && !defined(NDNBOOST_HAS_WINTHREADS) && !defined(NDNBOOST_HAS_MPTASKS)
+#        define NDNBOOST_HAS_PTHREADS
 #     endif
 
-      // BOOST_HAS_NANOSLEEP:
+      // NDNBOOST_HAS_NANOSLEEP:
       // This is predicated on _POSIX_TIMERS or _XOPEN_REALTIME:
 #     if (defined(_POSIX_TIMERS) && (_POSIX_TIMERS+0 >= 0)) \
              || (defined(_XOPEN_REALTIME) && (_XOPEN_REALTIME+0 >= 0))
-#        define BOOST_HAS_NANOSLEEP
+#        define NDNBOOST_HAS_NANOSLEEP
 #     endif
 
-      // BOOST_HAS_CLOCK_GETTIME:
+      // NDNBOOST_HAS_CLOCK_GETTIME:
       // This is predicated on _POSIX_TIMERS (also on _XOPEN_REALTIME
       // but at least one platform - linux - defines that flag without
       // defining clock_gettime):
 #     if (defined(_POSIX_TIMERS) && (_POSIX_TIMERS+0 >= 0))
-#        define BOOST_HAS_CLOCK_GETTIME
+#        define NDNBOOST_HAS_CLOCK_GETTIME
 #     endif
 
-      // BOOST_HAS_SCHED_YIELD:
+      // NDNBOOST_HAS_SCHED_YIELD:
       // This is predicated on _POSIX_PRIORITY_SCHEDULING or
       // on _POSIX_THREAD_PRIORITY_SCHEDULING or on _XOPEN_REALTIME.
 #     if defined(_POSIX_PRIORITY_SCHEDULING) && (_POSIX_PRIORITY_SCHEDULING+0 > 0)\
             || (defined(_POSIX_THREAD_PRIORITY_SCHEDULING) && (_POSIX_THREAD_PRIORITY_SCHEDULING+0 > 0))\
             || (defined(_XOPEN_REALTIME) && (_XOPEN_REALTIME+0 >= 0))
-#        define BOOST_HAS_SCHED_YIELD
+#        define NDNBOOST_HAS_SCHED_YIELD
 #     endif
 
-      // BOOST_HAS_GETTIMEOFDAY:
-      // BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE:
+      // NDNBOOST_HAS_GETTIMEOFDAY:
+      // NDNBOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE:
       // These are predicated on _XOPEN_VERSION, and appears to be first released
       // in issue 4, version 2 (_XOPEN_VERSION > 500).
       // Likewise for the functions log1p and expm1.
 #     if defined(_XOPEN_VERSION) && (_XOPEN_VERSION+0 >= 500)
-#        define BOOST_HAS_GETTIMEOFDAY
+#        define NDNBOOST_HAS_GETTIMEOFDAY
 #        if defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE+0 >= 500)
-#           define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
+#           define NDNBOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
 #        endif
-#        ifndef BOOST_HAS_LOG1P
-#           define BOOST_HAS_LOG1P
+#        ifndef NDNBOOST_HAS_LOG1P
+#           define NDNBOOST_HAS_LOG1P
 #        endif
-#        ifndef BOOST_HAS_EXPM1
-#           define BOOST_HAS_EXPM1
+#        ifndef NDNBOOST_HAS_EXPM1
+#           define NDNBOOST_HAS_EXPM1
 #        endif
 #     endif
 
diff --git a/include/ndnboost/config/requires_threads.hpp b/include/ndnboost/config/requires_threads.hpp
index be04a8e..7b793a6 100644
--- a/include/ndnboost/config/requires_threads.hpp
+++ b/include/ndnboost/config/requires_threads.hpp
@@ -4,19 +4,19 @@
 //  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 
 
-#ifndef BOOST_CONFIG_REQUIRES_THREADS_HPP
-#define BOOST_CONFIG_REQUIRES_THREADS_HPP
+#ifndef NDNBOOST_CONFIG_REQUIRES_THREADS_HPP
+#define NDNBOOST_CONFIG_REQUIRES_THREADS_HPP
 
-#ifndef BOOST_CONFIG_HPP
+#ifndef NDNBOOST_CONFIG_HPP
 #  include <ndnboost/config.hpp>
 #endif
 
-#if defined(BOOST_DISABLE_THREADS)
+#if defined(NDNBOOST_DISABLE_THREADS)
 
 //
 // special case to handle versions of gcc which don't currently support threads:
 //
-#if defined(__GNUC__) && ((__GNUC__ < 3) || (__GNUC_MINOR__ <= 3) || !defined(BOOST_STRICT_CONFIG))
+#if defined(__GNUC__) && ((__GNUC__ < 3) || (__GNUC_MINOR__ <= 3) || !defined(NDNBOOST_STRICT_CONFIG))
 //
 // this is checked up to gcc 3.3:
 //
@@ -26,9 +26,9 @@
 
 #endif
 
-#  error "Threading support unavaliable: it has been explicitly disabled with BOOST_DISABLE_THREADS"
+#  error "Threading support unavaliable: it has been explicitly disabled with NDNBOOST_DISABLE_THREADS"
 
-#elif !defined(BOOST_HAS_THREADS)
+#elif !defined(NDNBOOST_HAS_THREADS)
 
 # if defined __COMO__
 //  Comeau C++
@@ -87,6 +87,6 @@
 
 #endif // compilers
 
-#endif // BOOST_HAS_THREADS
+#endif // NDNBOOST_HAS_THREADS
 
-#endif // BOOST_CONFIG_REQUIRES_THREADS_HPP
+#endif // NDNBOOST_CONFIG_REQUIRES_THREADS_HPP
diff --git a/include/ndnboost/config/select_compiler_config.hpp b/include/ndnboost/config/select_compiler_config.hpp
index 2d3cde3..9ddaf2d 100644
--- a/include/ndnboost/config/select_compiler_config.hpp
+++ b/include/ndnboost/config/select_compiler_config.hpp
@@ -11,100 +11,100 @@
 //  See http://www.boost.org/ for most recent version.
 
 // locate which compiler we are using and define
-// BOOST_COMPILER_CONFIG as needed: 
+// NDNBOOST_COMPILER_CONFIG as needed: 
 
 #if defined(__GCCXML__)
 // GCC-XML emulates other compilers, it has to appear first here!
-#   define BOOST_COMPILER_CONFIG "ndnboost/config/compiler/gcc_xml.hpp"
+#   define NDNBOOST_COMPILER_CONFIG "ndnboost/config/compiler/gcc_xml.hpp"
 
 #elif defined(_CRAYC)
 // EDG based Cray compiler:
-#   define BOOST_COMPILER_CONFIG "ndnboost/config/compiler/cray.hpp"
+#   define NDNBOOST_COMPILER_CONFIG "ndnboost/config/compiler/cray.hpp"
 
 #elif defined __CUDACC__
 //  NVIDIA CUDA C++ compiler for GPU
-#   define BOOST_COMPILER_CONFIG "ndnboost/config/compiler/nvcc.hpp"
+#   define NDNBOOST_COMPILER_CONFIG "ndnboost/config/compiler/nvcc.hpp"
 
 #elif defined __COMO__
 //  Comeau C++
-#   define BOOST_COMPILER_CONFIG "ndnboost/config/compiler/comeau.hpp"
+#   define NDNBOOST_COMPILER_CONFIG "ndnboost/config/compiler/comeau.hpp"
 
 #elif defined(__PATHSCALE__) && (__PATHCC__ >= 4)
 // PathScale EKOPath compiler (has to come before clang and gcc)
-#   define BOOST_COMPILER_CONFIG "ndnboost/config/compiler/pathscale.hpp"
+#   define NDNBOOST_COMPILER_CONFIG "ndnboost/config/compiler/pathscale.hpp"
 
 #elif defined(__INTEL_COMPILER) || defined(__ICL) || defined(__ICC) || defined(__ECC)
 //  Intel
-#   define BOOST_COMPILER_CONFIG "ndnboost/config/compiler/intel.hpp"
+#   define NDNBOOST_COMPILER_CONFIG "ndnboost/config/compiler/intel.hpp"
 
 #elif defined __clang__
 //  Clang C++ emulates GCC, so it has to appear early.
-#   define BOOST_COMPILER_CONFIG "ndnboost/config/compiler/clang.hpp"
+#   define NDNBOOST_COMPILER_CONFIG "ndnboost/config/compiler/clang.hpp"
 
 #elif defined __DMC__
 //  Digital Mars C++
-#   define BOOST_COMPILER_CONFIG "ndnboost/config/compiler/digitalmars.hpp"
+#   define NDNBOOST_COMPILER_CONFIG "ndnboost/config/compiler/digitalmars.hpp"
 
 # elif defined __GNUC__
 //  GNU C++:
-#   define BOOST_COMPILER_CONFIG "ndnboost/config/compiler/gcc.hpp"
+#   define NDNBOOST_COMPILER_CONFIG "ndnboost/config/compiler/gcc.hpp"
 
 #elif defined __KCC
 //  Kai C++
-#   define BOOST_COMPILER_CONFIG "ndnboost/config/compiler/kai.hpp"
+#   define NDNBOOST_COMPILER_CONFIG "ndnboost/config/compiler/kai.hpp"
 
 #elif defined __sgi
 //  SGI MIPSpro C++
-#   define BOOST_COMPILER_CONFIG "ndnboost/config/compiler/sgi_mipspro.hpp"
+#   define NDNBOOST_COMPILER_CONFIG "ndnboost/config/compiler/sgi_mipspro.hpp"
 
 #elif defined __DECCXX
 //  Compaq Tru64 Unix cxx
-#   define BOOST_COMPILER_CONFIG "ndnboost/config/compiler/compaq_cxx.hpp"
+#   define NDNBOOST_COMPILER_CONFIG "ndnboost/config/compiler/compaq_cxx.hpp"
 
 #elif defined __ghs
 //  Greenhills C++
-#   define BOOST_COMPILER_CONFIG "ndnboost/config/compiler/greenhills.hpp"
+#   define NDNBOOST_COMPILER_CONFIG "ndnboost/config/compiler/greenhills.hpp"
 
 #elif defined __CODEGEARC__
 //  CodeGear - must be checked for before Borland
-#   define BOOST_COMPILER_CONFIG "ndnboost/config/compiler/codegear.hpp"
+#   define NDNBOOST_COMPILER_CONFIG "ndnboost/config/compiler/codegear.hpp"
 
 #elif defined __BORLANDC__
 //  Borland
-#   define BOOST_COMPILER_CONFIG "ndnboost/config/compiler/borland.hpp"
+#   define NDNBOOST_COMPILER_CONFIG "ndnboost/config/compiler/borland.hpp"
 
 #elif defined  __MWERKS__
 //  Metrowerks CodeWarrior
-#   define BOOST_COMPILER_CONFIG "ndnboost/config/compiler/metrowerks.hpp"
+#   define NDNBOOST_COMPILER_CONFIG "ndnboost/config/compiler/metrowerks.hpp"
 
 #elif defined  __SUNPRO_CC
 //  Sun Workshop Compiler C++
-#   define BOOST_COMPILER_CONFIG "ndnboost/config/compiler/sunpro_cc.hpp"
+#   define NDNBOOST_COMPILER_CONFIG "ndnboost/config/compiler/sunpro_cc.hpp"
 
 #elif defined __HP_aCC
 //  HP aCC
-#   define BOOST_COMPILER_CONFIG "ndnboost/config/compiler/hp_acc.hpp"
+#   define NDNBOOST_COMPILER_CONFIG "ndnboost/config/compiler/hp_acc.hpp"
 
 #elif defined(__MRC__) || defined(__SC__)
 //  MPW MrCpp or SCpp
-#   define BOOST_COMPILER_CONFIG "ndnboost/config/compiler/mpw.hpp"
+#   define NDNBOOST_COMPILER_CONFIG "ndnboost/config/compiler/mpw.hpp"
 
 #elif defined(__IBMCPP__)
 //  IBM Visual Age
-#   define BOOST_COMPILER_CONFIG "ndnboost/config/compiler/vacpp.hpp"
+#   define NDNBOOST_COMPILER_CONFIG "ndnboost/config/compiler/vacpp.hpp"
 
 #elif defined(__PGI)
 //  Portland Group Inc.
-#   define BOOST_COMPILER_CONFIG "ndnboost/config/compiler/pgi.hpp"
+#   define NDNBOOST_COMPILER_CONFIG "ndnboost/config/compiler/pgi.hpp"
 
 #elif defined _MSC_VER
 //  Microsoft Visual C++
 //
 //  Must remain the last #elif since some other vendors (Metrowerks, for
 //  example) also #define _MSC_VER
-#   define BOOST_COMPILER_CONFIG "ndnboost/config/compiler/visualc.hpp"
+#   define NDNBOOST_COMPILER_CONFIG "ndnboost/config/compiler/visualc.hpp"
 
-#elif defined (BOOST_ASSERT_CONFIG)
+#elif defined (NDNBOOST_ASSERT_CONFIG)
 // this must come last - generate an error if we don't
 // recognise the compiler:
 #  error "Unknown compiler - please configure (http://www.boost.org/libs/config/config.htm#configuring) and report the results to the main boost mailing list (http://www.boost.org/more/mailing_lists.htm#main)"
diff --git a/include/ndnboost/config/select_platform_config.hpp b/include/ndnboost/config/select_platform_config.hpp
index 59d56f3..b043871 100644
--- a/include/ndnboost/config/select_platform_config.hpp
+++ b/include/ndnboost/config/select_platform_config.hpp
@@ -8,74 +8,74 @@
 
 //  See http://www.boost.org for most recent version.
 
-// locate which platform we are on and define BOOST_PLATFORM_CONFIG as needed.
+// locate which platform we are on and define NDNBOOST_PLATFORM_CONFIG as needed.
 // Note that we define the headers to include using "header_name" not
 // <header_name> in order to prevent macro expansion within the header
 // name (for example "linux" is a macro on linux systems).
 
 #if (defined(linux) || defined(__linux) || defined(__linux__) || defined(__GNU__) || defined(__GLIBC__)) && !defined(_CRAYC)
 // linux, also other platforms (Hurd etc) that use GLIBC, should these really have their own config headers though?
-#  define BOOST_PLATFORM_CONFIG "ndnboost/config/platform/linux.hpp"
+#  define NDNBOOST_PLATFORM_CONFIG "ndnboost/config/platform/linux.hpp"
 
 #elif defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__)
 // BSD:
-#  define BOOST_PLATFORM_CONFIG "ndnboost/config/platform/bsd.hpp"
+#  define NDNBOOST_PLATFORM_CONFIG "ndnboost/config/platform/bsd.hpp"
 
 #elif defined(sun) || defined(__sun)
 // solaris:
-#  define BOOST_PLATFORM_CONFIG "ndnboost/config/platform/solaris.hpp"
+#  define NDNBOOST_PLATFORM_CONFIG "ndnboost/config/platform/solaris.hpp"
 
 #elif defined(__sgi)
 // SGI Irix:
-#  define BOOST_PLATFORM_CONFIG "ndnboost/config/platform/irix.hpp"
+#  define NDNBOOST_PLATFORM_CONFIG "ndnboost/config/platform/irix.hpp"
 
 #elif defined(__hpux)
 // hp unix:
-#  define BOOST_PLATFORM_CONFIG "ndnboost/config/platform/hpux.hpp"
+#  define NDNBOOST_PLATFORM_CONFIG "ndnboost/config/platform/hpux.hpp"
 
 #elif defined(__CYGWIN__)
 // cygwin is not win32:
-#  define BOOST_PLATFORM_CONFIG "ndnboost/config/platform/cygwin.hpp"
+#  define NDNBOOST_PLATFORM_CONFIG "ndnboost/config/platform/cygwin.hpp"
 
 #elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
 // win32:
-#  define BOOST_PLATFORM_CONFIG "ndnboost/config/platform/win32.hpp"
+#  define NDNBOOST_PLATFORM_CONFIG "ndnboost/config/platform/win32.hpp"
 
 #elif defined(__BEOS__)
 // BeOS
-#  define BOOST_PLATFORM_CONFIG "ndnboost/config/platform/beos.hpp"
+#  define NDNBOOST_PLATFORM_CONFIG "ndnboost/config/platform/beos.hpp"
 
 #elif defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__)
 // MacOS
-#  define BOOST_PLATFORM_CONFIG "ndnboost/config/platform/macos.hpp"
+#  define NDNBOOST_PLATFORM_CONFIG "ndnboost/config/platform/macos.hpp"
 
 #elif defined(__IBMCPP__) || defined(_AIX)
 // IBM
-#  define BOOST_PLATFORM_CONFIG "ndnboost/config/platform/aix.hpp"
+#  define NDNBOOST_PLATFORM_CONFIG "ndnboost/config/platform/aix.hpp"
 
 #elif defined(__amigaos__)
 // AmigaOS
-#  define BOOST_PLATFORM_CONFIG "ndnboost/config/platform/amigaos.hpp"
+#  define NDNBOOST_PLATFORM_CONFIG "ndnboost/config/platform/amigaos.hpp"
 
 #elif defined(__QNXNTO__)
 // QNX:
-#  define BOOST_PLATFORM_CONFIG "ndnboost/config/platform/qnxnto.hpp"
+#  define NDNBOOST_PLATFORM_CONFIG "ndnboost/config/platform/qnxnto.hpp"
 
 #elif defined(__VXWORKS__)
 // vxWorks:
-#  define BOOST_PLATFORM_CONFIG "ndnboost/config/platform/vxworks.hpp"
+#  define NDNBOOST_PLATFORM_CONFIG "ndnboost/config/platform/vxworks.hpp"
 
 #elif defined(__SYMBIAN32__) 
 // Symbian: 
-#  define BOOST_PLATFORM_CONFIG "ndnboost/config/platform/symbian.hpp" 
+#  define NDNBOOST_PLATFORM_CONFIG "ndnboost/config/platform/symbian.hpp" 
 
 #elif defined(_CRAYC)
 // Cray:
-#  define BOOST_PLATFORM_CONFIG "ndnboost/config/platform/cray.hpp" 
+#  define NDNBOOST_PLATFORM_CONFIG "ndnboost/config/platform/cray.hpp" 
 
 #elif defined(__VMS) 
 // VMS:
-#  define BOOST_PLATFORM_CONFIG "ndnboost/config/platform/vms.hpp" 
+#  define NDNBOOST_PLATFORM_CONFIG "ndnboost/config/platform/vms.hpp" 
 #else
 
 #  if defined(unix) \
@@ -85,15 +85,15 @@
 
    // generic unix platform:
 
-#  ifndef BOOST_HAS_UNISTD_H
-#     define BOOST_HAS_UNISTD_H
+#  ifndef NDNBOOST_HAS_UNISTD_H
+#     define NDNBOOST_HAS_UNISTD_H
 #  endif
 
 #  include <ndnboost/config/posix_features.hpp>
 
 #  endif
 
-#  if defined (BOOST_ASSERT_CONFIG)
+#  if defined (NDNBOOST_ASSERT_CONFIG)
       // this must come last - generate an error if we don't
       // recognise the platform:
 #     error "Unknown platform - please configure and report the results to boost.org"
diff --git a/include/ndnboost/config/select_stdlib_config.hpp b/include/ndnboost/config/select_stdlib_config.hpp
index f0167a3..c7caede 100644
--- a/include/ndnboost/config/select_stdlib_config.hpp
+++ b/include/ndnboost/config/select_stdlib_config.hpp
@@ -9,7 +9,7 @@
 
 //  See http://www.boost.org for most recent version.
 
-// locate which std lib we are using and define BOOST_STDLIB_CONFIG as needed:
+// locate which std lib we are using and define NDNBOOST_STDLIB_CONFIG as needed:
 
 // First include <cstddef> to determine if some version of STLport is in use as the std lib
 // (do not rely on this header being included since users can short-circuit this header 
@@ -24,7 +24,7 @@
 // STLPort library; this _must_ come first, otherwise since
 // STLport typically sits on top of some other library, we
 // can end up detecting that first rather than STLport:
-#  define BOOST_STDLIB_CONFIG "ndnboost/config/stdlib/stlport.hpp"
+#  define NDNBOOST_STDLIB_CONFIG "ndnboost/config/stdlib/stlport.hpp"
 
 #else
 
@@ -38,41 +38,41 @@
 
 #if defined(__LIBCOMO__)
 // Comeau STL:
-#define BOOST_STDLIB_CONFIG "ndnboost/config/stdlib/libcomo.hpp"
+#define NDNBOOST_STDLIB_CONFIG "ndnboost/config/stdlib/libcomo.hpp"
 
 #elif defined(__STD_RWCOMPILER_H__) || defined(_RWSTD_VER)
 // Rogue Wave library:
-#  define BOOST_STDLIB_CONFIG "ndnboost/config/stdlib/roguewave.hpp"
+#  define NDNBOOST_STDLIB_CONFIG "ndnboost/config/stdlib/roguewave.hpp"
 
 #elif defined(_LIBCPP_VERSION)
 // libc++
-#  define BOOST_STDLIB_CONFIG "ndnboost/config/stdlib/libcpp.hpp"
+#  define NDNBOOST_STDLIB_CONFIG "ndnboost/config/stdlib/libcpp.hpp"
 
 #elif defined(__GLIBCPP__) || defined(__GLIBCXX__)
 // GNU libstdc++ 3
-#  define BOOST_STDLIB_CONFIG "ndnboost/config/stdlib/libstdcpp3.hpp"
+#  define NDNBOOST_STDLIB_CONFIG "ndnboost/config/stdlib/libstdcpp3.hpp"
 
 #elif defined(__STL_CONFIG_H)
 // generic SGI STL
-#  define BOOST_STDLIB_CONFIG "ndnboost/config/stdlib/sgi.hpp"
+#  define NDNBOOST_STDLIB_CONFIG "ndnboost/config/stdlib/sgi.hpp"
 
 #elif defined(__MSL_CPP__)
 // MSL standard lib:
-#  define BOOST_STDLIB_CONFIG "ndnboost/config/stdlib/msl.hpp"
+#  define NDNBOOST_STDLIB_CONFIG "ndnboost/config/stdlib/msl.hpp"
 
 #elif defined(__IBMCPP__)
 // take the default VACPP std lib
-#  define BOOST_STDLIB_CONFIG "ndnboost/config/stdlib/vacpp.hpp"
+#  define NDNBOOST_STDLIB_CONFIG "ndnboost/config/stdlib/vacpp.hpp"
 
 #elif defined(MSIPL_COMPILE_H)
 // Modena C++ standard library
-#  define BOOST_STDLIB_CONFIG "ndnboost/config/stdlib/modena.hpp"
+#  define NDNBOOST_STDLIB_CONFIG "ndnboost/config/stdlib/modena.hpp"
 
 #elif (defined(_YVALS) && !defined(__IBMCPP__)) || defined(_CPPLIB_VER)
 // Dinkumware Library (this has to appear after any possible replacement libraries):
-#  define BOOST_STDLIB_CONFIG "ndnboost/config/stdlib/dinkumware.hpp"
+#  define NDNBOOST_STDLIB_CONFIG "ndnboost/config/stdlib/dinkumware.hpp"
 
-#elif defined (BOOST_ASSERT_CONFIG)
+#elif defined (NDNBOOST_ASSERT_CONFIG)
 // this must come last - generate an error if we don't
 // recognise the library:
 #  error "Unknown standard library - please configure and report the results to boost.org"
diff --git a/include/ndnboost/config/stdlib/dinkumware.hpp b/include/ndnboost/config/stdlib/dinkumware.hpp
index ec7b985..06ce536 100644
--- a/include/ndnboost/config/stdlib/dinkumware.hpp
+++ b/include/ndnboost/config/stdlib/dinkumware.hpp
@@ -23,43 +23,43 @@
    // full dinkumware 3.06 and above
    // fully conforming provided the compiler supports it:
 #  if !(defined(_GLOBAL_USING) && (_GLOBAL_USING+0 > 0)) && !defined(__BORLANDC__) && !defined(_STD) && !(defined(__ICC) && (__ICC >= 700))   // can be defined in yvals.h
-#     define BOOST_NO_STDC_NAMESPACE
+#     define NDNBOOST_NO_STDC_NAMESPACE
 #  endif
-#  if !(defined(_HAS_MEMBER_TEMPLATES_REBIND) && (_HAS_MEMBER_TEMPLATES_REBIND+0 > 0)) && !(defined(_MSC_VER) && (_MSC_VER > 1300)) && defined(BOOST_MSVC)
-#     define BOOST_NO_STD_ALLOCATOR
+#  if !(defined(_HAS_MEMBER_TEMPLATES_REBIND) && (_HAS_MEMBER_TEMPLATES_REBIND+0 > 0)) && !(defined(_MSC_VER) && (_MSC_VER > 1300)) && defined(NDNBOOST_MSVC)
+#     define NDNBOOST_NO_STD_ALLOCATOR
 #  endif
-#  define BOOST_HAS_PARTIAL_STD_ALLOCATOR
-#  if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
+#  define NDNBOOST_HAS_PARTIAL_STD_ALLOCATOR
+#  if defined(NDNBOOST_MSVC) && (NDNBOOST_MSVC < 1300)
       // if this lib version is set up for vc6 then there is no std::use_facet:
-#     define BOOST_NO_STD_USE_FACET
-#     define BOOST_HAS_TWO_ARG_USE_FACET
+#     define NDNBOOST_NO_STD_USE_FACET
+#     define NDNBOOST_HAS_TWO_ARG_USE_FACET
       // C lib functions aren't in namespace std either:
-#     define BOOST_NO_STDC_NAMESPACE
+#     define NDNBOOST_NO_STDC_NAMESPACE
       // and nor is <exception>
-#     define BOOST_NO_EXCEPTION_STD_NAMESPACE
+#     define NDNBOOST_NO_EXCEPTION_STD_NAMESPACE
 #  endif
 // There's no numeric_limits<long long> support unless _LONGLONG is defined:
 #  if !defined(_LONGLONG) && (_CPPLIB_VER <= 310)
-#     define BOOST_NO_MS_INT64_NUMERIC_LIMITS
+#     define NDNBOOST_NO_MS_INT64_NUMERIC_LIMITS
 #  endif
 // 3.06 appears to have (non-sgi versions of) <hash_set> & <hash_map>,
 // and no <slist> at all
 #else
-#  define BOOST_MSVC_STD_ITERATOR 1
-#  define BOOST_NO_STD_ITERATOR
-#  define BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS
-#  define BOOST_NO_STD_ALLOCATOR
-#  define BOOST_NO_STDC_NAMESPACE
-#  define BOOST_NO_STD_USE_FACET
-#  define BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN
-#  define BOOST_HAS_MACRO_USE_FACET
+#  define NDNBOOST_MSVC_STD_ITERATOR 1
+#  define NDNBOOST_NO_STD_ITERATOR
+#  define NDNBOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS
+#  define NDNBOOST_NO_STD_ALLOCATOR
+#  define NDNBOOST_NO_STDC_NAMESPACE
+#  define NDNBOOST_NO_STD_USE_FACET
+#  define NDNBOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN
+#  define NDNBOOST_HAS_MACRO_USE_FACET
 #  ifndef _CPPLIB_VER
       // Updated Dinkum library defines this, and provides
       // its own min and max definitions, as does MTA version.
 #     ifndef __MTA__ 
-#        define BOOST_NO_STD_MIN_MAX
+#        define NDNBOOST_NO_STD_MIN_MAX
 #     endif
-#     define BOOST_NO_MS_INT64_NUMERIC_LIMITS
+#     define NDNBOOST_NO_MS_INT64_NUMERIC_LIMITS
 #  endif
 #endif
 
@@ -69,7 +69,7 @@
 // of vc7.1 (Intel and Comeau):
 //
 #if defined(_MSC_VER) && (_MSC_VER >= 1310) && !defined(__BORLANDC__)
-#  define BOOST_STD_EXTENSION_NAMESPACE stdext
+#  define NDNBOOST_STD_EXTENSION_NAMESPACE stdext
 #endif
 
 
@@ -77,72 +77,72 @@
    // if we're using a dinkum lib that's
    // been configured for VC6/7 then there is
    // no iterator traits (true even for icl)
-#  define BOOST_NO_STD_ITERATOR_TRAITS
+#  define NDNBOOST_NO_STD_ITERATOR_TRAITS
 #endif
 
 #if defined(__ICL) && (__ICL < 800) && defined(_CPPLIB_VER) && (_CPPLIB_VER <= 310)
 // Intel C++ chokes over any non-trivial use of <locale>
 // this may be an overly restrictive define, but regex fails without it:
-#  define BOOST_NO_STD_LOCALE
+#  define NDNBOOST_NO_STD_LOCALE
 #endif
 
 #include <typeinfo>
 #if ( (!_HAS_EXCEPTIONS && !defined(__ghs__)) || (!_HAS_NAMESPACE && defined(__ghs__)) ) && !defined(__TI_COMPILER_VERSION__)
-#  define BOOST_NO_STD_TYPEINFO    
+#  define NDNBOOST_NO_STD_TYPEINFO    
 #endif  
 
 //  C++0x headers implemented in 520 (as shipped by Microsoft)
 //
 #if !defined(_CPPLIB_VER) || _CPPLIB_VER < 520
-#  define BOOST_NO_CXX11_HDR_ARRAY
-#  define BOOST_NO_CXX11_HDR_CODECVT
-#  define BOOST_NO_CXX11_HDR_FORWARD_LIST
-#  define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
-#  define BOOST_NO_CXX11_HDR_RANDOM
-#  define BOOST_NO_CXX11_HDR_REGEX
-#  define BOOST_NO_CXX11_HDR_SYSTEM_ERROR
-#  define BOOST_NO_CXX11_HDR_UNORDERED_MAP
-#  define BOOST_NO_CXX11_HDR_UNORDERED_SET
-#  define BOOST_NO_CXX11_HDR_TUPLE
-#  define BOOST_NO_CXX11_HDR_TYPEINDEX
-#  define BOOST_NO_CXX11_HDR_FUNCTIONAL
-#  define BOOST_NO_CXX11_NUMERIC_LIMITS
-#  define BOOST_NO_CXX11_SMART_PTR
+#  define NDNBOOST_NO_CXX11_HDR_ARRAY
+#  define NDNBOOST_NO_CXX11_HDR_CODECVT
+#  define NDNBOOST_NO_CXX11_HDR_FORWARD_LIST
+#  define NDNBOOST_NO_CXX11_HDR_INITIALIZER_LIST
+#  define NDNBOOST_NO_CXX11_HDR_RANDOM
+#  define NDNBOOST_NO_CXX11_HDR_REGEX
+#  define NDNBOOST_NO_CXX11_HDR_SYSTEM_ERROR
+#  define NDNBOOST_NO_CXX11_HDR_UNORDERED_MAP
+#  define NDNBOOST_NO_CXX11_HDR_UNORDERED_SET
+#  define NDNBOOST_NO_CXX11_HDR_TUPLE
+#  define NDNBOOST_NO_CXX11_HDR_TYPEINDEX
+#  define NDNBOOST_NO_CXX11_HDR_FUNCTIONAL
+#  define NDNBOOST_NO_CXX11_NUMERIC_LIMITS
+#  define NDNBOOST_NO_CXX11_SMART_PTR
 #endif
 
-#if (!defined(_HAS_TR1_IMPORTS) || (_HAS_TR1_IMPORTS+0 == 0)) && !defined(BOOST_NO_CXX11_HDR_TUPLE)
-#  define BOOST_NO_CXX11_HDR_TUPLE
+#if (!defined(_HAS_TR1_IMPORTS) || (_HAS_TR1_IMPORTS+0 == 0)) && !defined(NDNBOOST_NO_CXX11_HDR_TUPLE)
+#  define NDNBOOST_NO_CXX11_HDR_TUPLE
 #endif
 
 //  C++0x headers implemented in 540 (as shipped by Microsoft)
 //
 #if !defined(_CPPLIB_VER) || _CPPLIB_VER < 540
-#  define BOOST_NO_CXX11_HDR_TYPE_TRAITS
-#  define BOOST_NO_CXX11_HDR_CHRONO
-#  define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE
-#  define BOOST_NO_CXX11_HDR_FUTURE
-#  define BOOST_NO_CXX11_HDR_MUTEX
-#  define BOOST_NO_CXX11_HDR_RATIO
-#  define BOOST_NO_CXX11_HDR_THREAD
-#  define BOOST_NO_CXX11_ALLOCATOR
-#  define BOOST_NO_CXX11_ATOMIC_SMART_PTR
+#  define NDNBOOST_NO_CXX11_HDR_TYPE_TRAITS
+#  define NDNBOOST_NO_CXX11_HDR_CHRONO
+#  define NDNBOOST_NO_CXX11_HDR_CONDITION_VARIABLE
+#  define NDNBOOST_NO_CXX11_HDR_FUTURE
+#  define NDNBOOST_NO_CXX11_HDR_MUTEX
+#  define NDNBOOST_NO_CXX11_HDR_RATIO
+#  define NDNBOOST_NO_CXX11_HDR_THREAD
+#  define NDNBOOST_NO_CXX11_ALLOCATOR
+#  define NDNBOOST_NO_CXX11_ATOMIC_SMART_PTR
 #endif
 
 //
 //  C++0x headers not yet (fully) implemented:
 //
-#  define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
+#  define NDNBOOST_NO_CXX11_HDR_INITIALIZER_LIST
 
 #ifdef _CPPLIB_VER
-#  define BOOST_DINKUMWARE_STDLIB _CPPLIB_VER
+#  define NDNBOOST_DINKUMWARE_STDLIB _CPPLIB_VER
 #else
-#  define BOOST_DINKUMWARE_STDLIB 1
+#  define NDNBOOST_DINKUMWARE_STDLIB 1
 #endif
 
 #ifdef _CPPLIB_VER
-#  define BOOST_STDLIB "Dinkumware standard library version " BOOST_STRINGIZE(_CPPLIB_VER)
+#  define NDNBOOST_STDLIB "Dinkumware standard library version " NDNBOOST_STRINGIZE(_CPPLIB_VER)
 #else
-#  define BOOST_STDLIB "Dinkumware standard library version 1.x"
+#  define NDNBOOST_STDLIB "Dinkumware standard library version 1.x"
 #endif
 
 
diff --git a/include/ndnboost/config/stdlib/libcomo.hpp b/include/ndnboost/config/stdlib/libcomo.hpp
index c3fe9f0..0f20a16 100644
--- a/include/ndnboost/config/stdlib/libcomo.hpp
+++ b/include/ndnboost/config/stdlib/libcomo.hpp
@@ -21,43 +21,43 @@
 // NOTE: versions of libcomo prior to beta28 have octal version numbering,
 // e.g. version 25 is 21 (dec)
 #if __LIBCOMO_VERSION__ <= 22
-#  define BOOST_NO_STD_WSTREAMBUF
+#  define NDNBOOST_NO_STD_WSTREAMBUF
 #endif
 
 #if (__LIBCOMO_VERSION__ <= 31) && defined(_WIN32)
-#define BOOST_NO_SWPRINTF
+#define NDNBOOST_NO_SWPRINTF
 #endif
 
 #if __LIBCOMO_VERSION__ >= 31
-#  define BOOST_HAS_HASH
-#  define BOOST_HAS_SLIST
+#  define NDNBOOST_HAS_HASH
+#  define NDNBOOST_HAS_SLIST
 #endif
 
 //  C++0x headers not yet implemented
 //
-#  define BOOST_NO_CXX11_HDR_ARRAY
-#  define BOOST_NO_CXX11_HDR_CHRONO
-#  define BOOST_NO_CXX11_HDR_CODECVT
-#  define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE
-#  define BOOST_NO_CXX11_HDR_FORWARD_LIST
-#  define BOOST_NO_CXX11_HDR_FUTURE
-#  define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
-#  define BOOST_NO_CXX11_HDR_MUTEX
-#  define BOOST_NO_CXX11_HDR_RANDOM
-#  define BOOST_NO_CXX11_HDR_RATIO
-#  define BOOST_NO_CXX11_HDR_REGEX
-#  define BOOST_NO_CXX11_HDR_SYSTEM_ERROR
-#  define BOOST_NO_CXX11_HDR_THREAD
-#  define BOOST_NO_CXX11_HDR_TUPLE
-#  define BOOST_NO_CXX11_HDR_TYPE_TRAITS
-#  define BOOST_NO_CXX11_HDR_TYPEINDEX
-#  define BOOST_NO_CXX11_HDR_UNORDERED_MAP
-#  define BOOST_NO_CXX11_HDR_UNORDERED_SET
-#  define BOOST_NO_CXX11_NUMERIC_LIMITS
-#  define BOOST_NO_CXX11_ALLOCATOR
-#  define BOOST_NO_CXX11_ATOMIC_SMART_PTR
-#  define BOOST_NO_CXX11_SMART_PTR
-#  define BOOST_NO_CXX11_HDR_FUNCTIONAL
+#  define NDNBOOST_NO_CXX11_HDR_ARRAY
+#  define NDNBOOST_NO_CXX11_HDR_CHRONO
+#  define NDNBOOST_NO_CXX11_HDR_CODECVT
+#  define NDNBOOST_NO_CXX11_HDR_CONDITION_VARIABLE
+#  define NDNBOOST_NO_CXX11_HDR_FORWARD_LIST
+#  define NDNBOOST_NO_CXX11_HDR_FUTURE
+#  define NDNBOOST_NO_CXX11_HDR_INITIALIZER_LIST
+#  define NDNBOOST_NO_CXX11_HDR_MUTEX
+#  define NDNBOOST_NO_CXX11_HDR_RANDOM
+#  define NDNBOOST_NO_CXX11_HDR_RATIO
+#  define NDNBOOST_NO_CXX11_HDR_REGEX
+#  define NDNBOOST_NO_CXX11_HDR_SYSTEM_ERROR
+#  define NDNBOOST_NO_CXX11_HDR_THREAD
+#  define NDNBOOST_NO_CXX11_HDR_TUPLE
+#  define NDNBOOST_NO_CXX11_HDR_TYPE_TRAITS
+#  define NDNBOOST_NO_CXX11_HDR_TYPEINDEX
+#  define NDNBOOST_NO_CXX11_HDR_UNORDERED_MAP
+#  define NDNBOOST_NO_CXX11_HDR_UNORDERED_SET
+#  define NDNBOOST_NO_CXX11_NUMERIC_LIMITS
+#  define NDNBOOST_NO_CXX11_ALLOCATOR
+#  define NDNBOOST_NO_CXX11_ATOMIC_SMART_PTR
+#  define NDNBOOST_NO_CXX11_SMART_PTR
+#  define NDNBOOST_NO_CXX11_HDR_FUNCTIONAL
 
 //
 // Intrinsic type_traits support.
@@ -65,8 +65,8 @@
 // has intrinsic compiler support with SGI's compilers.
 // Whatever map SGI style type traits to boost equivalents:
 //
-#define BOOST_HAS_SGI_TYPE_TRAITS
+#define NDNBOOST_HAS_SGI_TYPE_TRAITS
 
-#define BOOST_STDLIB "Comeau standard library " BOOST_STRINGIZE(__LIBCOMO_VERSION__)
+#define NDNBOOST_STDLIB "Comeau standard library " NDNBOOST_STRINGIZE(__LIBCOMO_VERSION__)
 
 
diff --git a/include/ndnboost/config/stdlib/libcpp.hpp b/include/ndnboost/config/stdlib/libcpp.hpp
index 3d57440..a4ee678 100644
--- a/include/ndnboost/config/stdlib/libcpp.hpp
+++ b/include/ndnboost/config/stdlib/libcpp.hpp
@@ -15,23 +15,23 @@
 #  endif
 #endif
 
-#define BOOST_STDLIB "libc++ version " BOOST_STRINGIZE(_LIBCPP_VERSION)
+#define NDNBOOST_STDLIB "libc++ version " NDNBOOST_STRINGIZE(_LIBCPP_VERSION)
 
-#define BOOST_HAS_THREADS
+#define NDNBOOST_HAS_THREADS
 
 #ifdef _LIBCPP_HAS_NO_VARIADICS
-#    define BOOST_NO_CXX11_HDR_TUPLE
+#    define NDNBOOST_NO_CXX11_HDR_TUPLE
 #endif
 
 //
 // These appear to be unusable/incomplete so far:
 //
-#  define BOOST_NO_CXX11_HDR_CHRONO
-#  define BOOST_NO_CXX11_HDR_FUTURE
-#  define BOOST_NO_CXX11_HDR_TYPE_TRAITS
-#  define BOOST_NO_CXX11_ATOMIC_SMART_PTR
+#  define NDNBOOST_NO_CXX11_HDR_CHRONO
+#  define NDNBOOST_NO_CXX11_HDR_FUTURE
+#  define NDNBOOST_NO_CXX11_HDR_TYPE_TRAITS
+#  define NDNBOOST_NO_CXX11_ATOMIC_SMART_PTR
 
 // libc++ uses a non-standard messages_base
-#define BOOST_NO_STD_MESSAGES
+#define NDNBOOST_NO_STD_MESSAGES
 
 //  --- end ---
diff --git a/include/ndnboost/config/stdlib/libstdcpp3.hpp b/include/ndnboost/config/stdlib/libstdcpp3.hpp
index 976ab76..6a0d990 100644
--- a/include/ndnboost/config/stdlib/libstdcpp3.hpp
+++ b/include/ndnboost/config/stdlib/libstdcpp3.hpp
@@ -9,19 +9,19 @@
 //  config for libstdc++ v3
 //  not much to go in here:
 
-#define BOOST_GNU_STDLIB 1
+#define NDNBOOST_GNU_STDLIB 1
 
 #ifdef __GLIBCXX__
-#define BOOST_STDLIB "GNU libstdc++ version " BOOST_STRINGIZE(__GLIBCXX__)
+#define NDNBOOST_STDLIB "GNU libstdc++ version " NDNBOOST_STRINGIZE(__GLIBCXX__)
 #else
-#define BOOST_STDLIB "GNU libstdc++ version " BOOST_STRINGIZE(__GLIBCPP__)
+#define NDNBOOST_STDLIB "GNU libstdc++ version " NDNBOOST_STRINGIZE(__GLIBCPP__)
 #endif
 
 #if !defined(_GLIBCPP_USE_WCHAR_T) && !defined(_GLIBCXX_USE_WCHAR_T)
-#  define BOOST_NO_CWCHAR
-#  define BOOST_NO_CWCTYPE
-#  define BOOST_NO_STD_WSTRING
-#  define BOOST_NO_STD_WSTREAMBUF
+#  define NDNBOOST_NO_CWCHAR
+#  define NDNBOOST_NO_CWCTYPE
+#  define NDNBOOST_NO_STD_WSTRING
+#  define NDNBOOST_NO_STD_WSTREAMBUF
 #endif
 
 #if defined(__osf__) && !defined(_REENTRANT) \
@@ -42,29 +42,29 @@
       // as well.  We do this because some gcc-3.4 std lib headers define _REENTANT
       // while others do not...
       //
-#     define BOOST_HAS_THREADS
+#     define NDNBOOST_HAS_THREADS
 #  else
-#     define BOOST_DISABLE_THREADS
+#     define NDNBOOST_DISABLE_THREADS
 #  endif
 #elif defined(__GLIBCPP__) \
         && !defined(_GLIBCPP_HAVE_GTHR_DEFAULT) \
         && !defined(_GLIBCPP__PTHREADS)
    // disable thread support if the std lib was built single threaded:
-#  define BOOST_DISABLE_THREADS
+#  define NDNBOOST_DISABLE_THREADS
 #endif
 
 #if (defined(linux) || defined(__linux) || defined(__linux__)) && defined(__arm__) && defined(_GLIBCPP_HAVE_GTHR_DEFAULT)
 // linux on arm apparently doesn't define _REENTRANT
 // so just turn on threading support whenever the std lib is thread safe:
-#  define BOOST_HAS_THREADS
+#  define NDNBOOST_HAS_THREADS
 #endif
 
 #if !defined(_GLIBCPP_USE_LONG_LONG) \
     && !defined(_GLIBCXX_USE_LONG_LONG)\
-    && defined(BOOST_HAS_LONG_LONG)
+    && defined(NDNBOOST_HAS_LONG_LONG)
 // May have been set by compiler/*.hpp, but "long long" without library
 // support is useless.
-#  undef BOOST_HAS_LONG_LONG
+#  undef NDNBOOST_HAS_LONG_LONG
 #endif
 
 // Apple doesn't seem to reliably defined a *unix* macro
@@ -78,16 +78,16 @@
 #endif
 
 #if defined(__GLIBCXX__) || (defined(__GLIBCPP__) && __GLIBCPP__>=20020514) // GCC >= 3.1.0
-#  define BOOST_STD_EXTENSION_NAMESPACE __gnu_cxx
-#  define BOOST_HAS_SLIST
-#  define BOOST_HAS_HASH
-#  define BOOST_SLIST_HEADER <ext/slist>
+#  define NDNBOOST_STD_EXTENSION_NAMESPACE __gnu_cxx
+#  define NDNBOOST_HAS_SLIST
+#  define NDNBOOST_HAS_HASH
+#  define NDNBOOST_SLIST_HEADER <ext/slist>
 # if !defined(__GNUC__) || __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3)
-#   define BOOST_HASH_SET_HEADER <ext/hash_set>
-#   define BOOST_HASH_MAP_HEADER <ext/hash_map>
+#   define NDNBOOST_HASH_SET_HEADER <ext/hash_set>
+#   define NDNBOOST_HASH_MAP_HEADER <ext/hash_map>
 # else
-#   define BOOST_HASH_SET_HEADER <backward/hash_set>
-#   define BOOST_HASH_MAP_HEADER <backward/hash_map>
+#   define NDNBOOST_HASH_SET_HEADER <backward/hash_set>
+#   define NDNBOOST_HASH_MAP_HEADER <backward/hash_map>
 # endif
 #endif
 
@@ -106,46 +106,46 @@
 //  C++0x headers in GCC 4.3.0 and later
 //
 #if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
-#  define BOOST_NO_CXX11_HDR_ARRAY
-#  define BOOST_NO_CXX11_HDR_REGEX
-#  define BOOST_NO_CXX11_HDR_TUPLE
-#  define BOOST_NO_CXX11_HDR_UNORDERED_MAP
-#  define BOOST_NO_CXX11_HDR_UNORDERED_SET
-#  define BOOST_NO_CXX11_HDR_FUNCTIONAL
+#  define NDNBOOST_NO_CXX11_HDR_ARRAY
+#  define NDNBOOST_NO_CXX11_HDR_REGEX
+#  define NDNBOOST_NO_CXX11_HDR_TUPLE
+#  define NDNBOOST_NO_CXX11_HDR_UNORDERED_MAP
+#  define NDNBOOST_NO_CXX11_HDR_UNORDERED_SET
+#  define NDNBOOST_NO_CXX11_HDR_FUNCTIONAL
 #endif
 
 //  C++0x headers in GCC 4.4.0 and later
 //
 #if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 4) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
-#  define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE
-#  define BOOST_NO_CXX11_HDR_FORWARD_LIST
-#  define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
-#  define BOOST_NO_CXX11_HDR_MUTEX
-#  define BOOST_NO_CXX11_HDR_RATIO
-#  define BOOST_NO_CXX11_HDR_SYSTEM_ERROR
-#  define BOOST_NO_CXX11_SMART_PTR
+#  define NDNBOOST_NO_CXX11_HDR_CONDITION_VARIABLE
+#  define NDNBOOST_NO_CXX11_HDR_FORWARD_LIST
+#  define NDNBOOST_NO_CXX11_HDR_INITIALIZER_LIST
+#  define NDNBOOST_NO_CXX11_HDR_MUTEX
+#  define NDNBOOST_NO_CXX11_HDR_RATIO
+#  define NDNBOOST_NO_CXX11_HDR_SYSTEM_ERROR
+#  define NDNBOOST_NO_CXX11_SMART_PTR
 #else
-#  define BOOST_HAS_TR1_COMPLEX_INVERSE_TRIG 
-#  define BOOST_HAS_TR1_COMPLEX_OVERLOADS 
+#  define NDNBOOST_HAS_TR1_COMPLEX_INVERSE_TRIG 
+#  define NDNBOOST_HAS_TR1_COMPLEX_OVERLOADS 
 #endif
 
-#if (!defined(_GLIBCXX_HAS_GTHREADS) || !defined(_GLIBCXX_USE_C99_STDINT_TR1)) && (!defined(BOOST_NO_CXX11_HDR_CONDITION_VARIABLE) || !defined(BOOST_NO_CXX11_HDR_MUTEX))
-#  define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE
-#  define BOOST_NO_CXX11_HDR_MUTEX
+#if (!defined(_GLIBCXX_HAS_GTHREADS) || !defined(_GLIBCXX_USE_C99_STDINT_TR1)) && (!defined(NDNBOOST_NO_CXX11_HDR_CONDITION_VARIABLE) || !defined(NDNBOOST_NO_CXX11_HDR_MUTEX))
+#  define NDNBOOST_NO_CXX11_HDR_CONDITION_VARIABLE
+#  define NDNBOOST_NO_CXX11_HDR_MUTEX
 #endif
 
 //  C++0x features in GCC 4.5.0 and later
 //
 #if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 5) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
-#  define BOOST_NO_CXX11_NUMERIC_LIMITS
-#  define BOOST_NO_CXX11_HDR_FUTURE
-#  define BOOST_NO_CXX11_HDR_RANDOM
+#  define NDNBOOST_NO_CXX11_NUMERIC_LIMITS
+#  define NDNBOOST_NO_CXX11_HDR_FUTURE
+#  define NDNBOOST_NO_CXX11_HDR_RANDOM
 #endif
 
 //  C++0x features in GCC 4.6.0 and later
 //
 #if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 6) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
-#  define BOOST_NO_CXX11_HDR_TYPEINDEX
+#  define NDNBOOST_NO_CXX11_HDR_TYPEINDEX
 #endif
 
 //  C++0x features in GCC 4.7.0 and later
@@ -153,14 +153,14 @@
 #if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 7) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
 // Note that although <chrono> existed prior to 4.7, "stead_clock" is spelled "monotonic_clock"
 // so 4.7.0 is the first truely conforming one.
-#  define BOOST_NO_CXX11_HDR_CHRONO
-#  define BOOST_NO_CXX11_ALLOCATOR
+#  define NDNBOOST_NO_CXX11_HDR_CHRONO
+#  define NDNBOOST_NO_CXX11_ALLOCATOR
 #endif
 //  C++0x headers not yet (fully!) implemented
 //
-#  define BOOST_NO_CXX11_HDR_THREAD
-#  define BOOST_NO_CXX11_HDR_TYPE_TRAITS
-#  define BOOST_NO_CXX11_HDR_CODECVT
-#  define BOOST_NO_CXX11_ATOMIC_SMART_PTR
+#  define NDNBOOST_NO_CXX11_HDR_THREAD
+#  define NDNBOOST_NO_CXX11_HDR_TYPE_TRAITS
+#  define NDNBOOST_NO_CXX11_HDR_CODECVT
+#  define NDNBOOST_NO_CXX11_ATOMIC_SMART_PTR
 
 //  --- end ---
diff --git a/include/ndnboost/config/stdlib/modena.hpp b/include/ndnboost/config/stdlib/modena.hpp
index ec29e89..96fb952 100644
--- a/include/ndnboost/config/stdlib/modena.hpp
+++ b/include/ndnboost/config/stdlib/modena.hpp
@@ -15,40 +15,40 @@
 #endif
 
 #ifndef MSIPL_NL_TYPES
-#define BOOST_NO_STD_MESSAGES
+#define NDNBOOST_NO_STD_MESSAGES
 #endif
 
 #ifndef MSIPL_WCHART
-#define BOOST_NO_STD_WSTRING
+#define NDNBOOST_NO_STD_WSTRING
 #endif
 
 //  C++0x headers not yet implemented
 //
-#  define BOOST_NO_CXX11_HDR_ARRAY
-#  define BOOST_NO_CXX11_HDR_CHRONO
-#  define BOOST_NO_CXX11_HDR_CODECVT
-#  define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE
-#  define BOOST_NO_CXX11_HDR_FORWARD_LIST
-#  define BOOST_NO_CXX11_HDR_FUTURE
-#  define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
-#  define BOOST_NO_CXX11_HDR_MUTEX
-#  define BOOST_NO_CXX11_HDR_RANDOM
-#  define BOOST_NO_CXX11_HDR_RATIO
-#  define BOOST_NO_CXX11_HDR_REGEX
-#  define BOOST_NO_CXX11_HDR_SYSTEM_ERROR
-#  define BOOST_NO_CXX11_HDR_THREAD
-#  define BOOST_NO_CXX11_HDR_TUPLE
-#  define BOOST_NO_CXX11_HDR_TYPE_TRAITS
-#  define BOOST_NO_CXX11_HDR_TYPEINDEX
-#  define BOOST_NO_CXX11_HDR_UNORDERED_MAP
-#  define BOOST_NO_CXX11_HDR_UNORDERED_SET
-#  define BOOST_NO_CXX11_NUMERIC_LIMITS
-#  define BOOST_NO_CXX11_ALLOCATOR
-#  define BOOST_NO_CXX11_ATOMIC_SMART_PTR
-#  define BOOST_NO_CXX11_SMART_PTR
-#  define BOOST_NO_CXX11_HDR_FUNCTIONAL
+#  define NDNBOOST_NO_CXX11_HDR_ARRAY
+#  define NDNBOOST_NO_CXX11_HDR_CHRONO
+#  define NDNBOOST_NO_CXX11_HDR_CODECVT
+#  define NDNBOOST_NO_CXX11_HDR_CONDITION_VARIABLE
+#  define NDNBOOST_NO_CXX11_HDR_FORWARD_LIST
+#  define NDNBOOST_NO_CXX11_HDR_FUTURE
+#  define NDNBOOST_NO_CXX11_HDR_INITIALIZER_LIST
+#  define NDNBOOST_NO_CXX11_HDR_MUTEX
+#  define NDNBOOST_NO_CXX11_HDR_RANDOM
+#  define NDNBOOST_NO_CXX11_HDR_RATIO
+#  define NDNBOOST_NO_CXX11_HDR_REGEX
+#  define NDNBOOST_NO_CXX11_HDR_SYSTEM_ERROR
+#  define NDNBOOST_NO_CXX11_HDR_THREAD
+#  define NDNBOOST_NO_CXX11_HDR_TUPLE
+#  define NDNBOOST_NO_CXX11_HDR_TYPE_TRAITS
+#  define NDNBOOST_NO_CXX11_HDR_TYPEINDEX
+#  define NDNBOOST_NO_CXX11_HDR_UNORDERED_MAP
+#  define NDNBOOST_NO_CXX11_HDR_UNORDERED_SET
+#  define NDNBOOST_NO_CXX11_NUMERIC_LIMITS
+#  define NDNBOOST_NO_CXX11_ALLOCATOR
+#  define NDNBOOST_NO_CXX11_ATOMIC_SMART_PTR
+#  define NDNBOOST_NO_CXX11_SMART_PTR
+#  define NDNBOOST_NO_CXX11_HDR_FUNCTIONAL
 
-#define BOOST_STDLIB "Modena C++ standard library"
+#define NDNBOOST_STDLIB "Modena C++ standard library"
 
 
 
diff --git a/include/ndnboost/config/stdlib/msl.hpp b/include/ndnboost/config/stdlib/msl.hpp
index 444d620..e692e2f 100644
--- a/include/ndnboost/config/stdlib/msl.hpp
+++ b/include/ndnboost/config/stdlib/msl.hpp
@@ -16,63 +16,63 @@
 #endif
 
 #if __MSL_CPP__ >= 0x6000  // Pro 6
-#  define BOOST_HAS_HASH
-#  define BOOST_STD_EXTENSION_NAMESPACE Metrowerks
+#  define NDNBOOST_HAS_HASH
+#  define NDNBOOST_STD_EXTENSION_NAMESPACE Metrowerks
 #endif
-#define BOOST_HAS_SLIST
+#define NDNBOOST_HAS_SLIST
 
 #if __MSL_CPP__ < 0x6209
-#  define BOOST_NO_STD_MESSAGES
+#  define NDNBOOST_NO_STD_MESSAGES
 #endif
 
 // check C lib version for <stdint.h>
 #include <cstddef>
 
 #if defined(__MSL__) && (__MSL__ >= 0x5000)
-#  define BOOST_HAS_STDINT_H
+#  define NDNBOOST_HAS_STDINT_H
 #  if !defined(__PALMOS_TRAPS__)
-#    define BOOST_HAS_UNISTD_H
+#    define NDNBOOST_HAS_UNISTD_H
 #  endif
    // boilerplate code:
 #  include <ndnboost/config/posix_features.hpp>
 #endif
 
 #if defined(_MWMT) || _MSL_THREADSAFE
-#  define BOOST_HAS_THREADS
+#  define NDNBOOST_HAS_THREADS
 #endif
 
 #ifdef _MSL_NO_EXPLICIT_FUNC_TEMPLATE_ARG
-#  define BOOST_NO_STD_USE_FACET
-#  define BOOST_HAS_TWO_ARG_USE_FACET
+#  define NDNBOOST_NO_STD_USE_FACET
+#  define NDNBOOST_HAS_TWO_ARG_USE_FACET
 #endif
 
 //  C++0x headers not yet implemented
 //
-#  define BOOST_NO_CXX11_HDR_ARRAY
-#  define BOOST_NO_CXX11_HDR_CHRONO
-#  define BOOST_NO_CXX11_HDR_CODECVT
-#  define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE
-#  define BOOST_NO_CXX11_HDR_FORWARD_LIST
-#  define BOOST_NO_CXX11_HDR_FUTURE
-#  define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
-#  define BOOST_NO_CXX11_HDR_MUTEX
-#  define BOOST_NO_CXX11_HDR_RANDOM
-#  define BOOST_NO_CXX11_HDR_RATIO
-#  define BOOST_NO_CXX11_HDR_REGEX
-#  define BOOST_NO_CXX11_HDR_SYSTEM_ERROR
-#  define BOOST_NO_CXX11_HDR_THREAD
-#  define BOOST_NO_CXX11_HDR_TUPLE
-#  define BOOST_NO_CXX11_HDR_TYPE_TRAITS
-#  define BOOST_NO_CXX11_HDR_TYPEINDEX
-#  define BOOST_NO_CXX11_HDR_UNORDERED_MAP
-#  define BOOST_NO_CXX11_HDR_UNORDERED_SET
-#  define BOOST_NO_CXX11_NUMERIC_LIMITS
-#  define BOOST_NO_CXX11_ALLOCATOR
-#  define BOOST_NO_CXX11_ATOMIC_SMART_PTR
-#  define BOOST_NO_CXX11_SMART_PTR
-#  define BOOST_NO_CXX11_HDR_FUNCTIONAL
+#  define NDNBOOST_NO_CXX11_HDR_ARRAY
+#  define NDNBOOST_NO_CXX11_HDR_CHRONO
+#  define NDNBOOST_NO_CXX11_HDR_CODECVT
+#  define NDNBOOST_NO_CXX11_HDR_CONDITION_VARIABLE
+#  define NDNBOOST_NO_CXX11_HDR_FORWARD_LIST
+#  define NDNBOOST_NO_CXX11_HDR_FUTURE
+#  define NDNBOOST_NO_CXX11_HDR_INITIALIZER_LIST
+#  define NDNBOOST_NO_CXX11_HDR_MUTEX
+#  define NDNBOOST_NO_CXX11_HDR_RANDOM
+#  define NDNBOOST_NO_CXX11_HDR_RATIO
+#  define NDNBOOST_NO_CXX11_HDR_REGEX
+#  define NDNBOOST_NO_CXX11_HDR_SYSTEM_ERROR
+#  define NDNBOOST_NO_CXX11_HDR_THREAD
+#  define NDNBOOST_NO_CXX11_HDR_TUPLE
+#  define NDNBOOST_NO_CXX11_HDR_TYPE_TRAITS
+#  define NDNBOOST_NO_CXX11_HDR_TYPEINDEX
+#  define NDNBOOST_NO_CXX11_HDR_UNORDERED_MAP
+#  define NDNBOOST_NO_CXX11_HDR_UNORDERED_SET
+#  define NDNBOOST_NO_CXX11_NUMERIC_LIMITS
+#  define NDNBOOST_NO_CXX11_ALLOCATOR
+#  define NDNBOOST_NO_CXX11_ATOMIC_SMART_PTR
+#  define NDNBOOST_NO_CXX11_SMART_PTR
+#  define NDNBOOST_NO_CXX11_HDR_FUNCTIONAL
 
-#define BOOST_STDLIB "Metrowerks Standard Library version " BOOST_STRINGIZE(__MSL_CPP__)
+#define NDNBOOST_STDLIB "Metrowerks Standard Library version " NDNBOOST_STRINGIZE(__MSL_CPP__)
 
 
 
diff --git a/include/ndnboost/config/stdlib/roguewave.hpp b/include/ndnboost/config/stdlib/roguewave.hpp
index 0571076..955c491 100644
--- a/include/ndnboost/config/stdlib/roguewave.hpp
+++ b/include/ndnboost/config/stdlib/roguewave.hpp
@@ -10,7 +10,7 @@
 
 //  Rogue Wave std lib:
 
-#define BOOST_RW_STDLIB 1 
+#define NDNBOOST_RW_STDLIB 1 
 
 #if !defined(__STD_RWCOMPILER_H__) && !defined(_RWSTD_VER)
 #  include <ndnboost/config/no_tr1/utility.hpp>
@@ -22,22 +22,22 @@
 // figure out a consistent version number:
 //
 #ifndef _RWSTD_VER
-#  define BOOST_RWSTD_VER 0x010000
+#  define NDNBOOST_RWSTD_VER 0x010000
 #elif _RWSTD_VER < 0x010000
-#  define BOOST_RWSTD_VER (_RWSTD_VER << 8)
+#  define NDNBOOST_RWSTD_VER (_RWSTD_VER << 8)
 #else
-#  define BOOST_RWSTD_VER _RWSTD_VER
+#  define NDNBOOST_RWSTD_VER _RWSTD_VER
 #endif
 
 #ifndef _RWSTD_VER
-#  define BOOST_STDLIB "Rogue Wave standard library version (Unknown version)"
+#  define NDNBOOST_STDLIB "Rogue Wave standard library version (Unknown version)"
 #elif _RWSTD_VER < 0x04010200
- #  define BOOST_STDLIB "Rogue Wave standard library version " BOOST_STRINGIZE(_RWSTD_VER)
+ #  define NDNBOOST_STDLIB "Rogue Wave standard library version " NDNBOOST_STRINGIZE(_RWSTD_VER)
 #else
 #  ifdef _RWSTD_VER_STR
-#    define BOOST_STDLIB "Apache STDCXX standard library version " _RWSTD_VER_STR
+#    define NDNBOOST_STDLIB "Apache STDCXX standard library version " _RWSTD_VER_STR
 #  else
-#    define BOOST_STDLIB "Apache STDCXX standard library version " BOOST_STRINGIZE(_RWSTD_VER)
+#    define NDNBOOST_STDLIB "Apache STDCXX standard library version " NDNBOOST_STRINGIZE(_RWSTD_VER)
 #  endif
 #endif
 
@@ -46,53 +46,53 @@
 // does not have compile time constants, even though specializations of that
 // template do:
 //
-#if BOOST_RWSTD_VER < 0x020200
-#  define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
+#if NDNBOOST_RWSTD_VER < 0x020200
+#  define NDNBOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
 #endif
 
 // Sun CC 5.5 patch 113817-07 adds long long specialization, but does not change the
 // library version number (http://sunsolve6.sun.com/search/document.do?assetkey=1-21-113817):
-#if BOOST_RWSTD_VER <= 0x020101 && (!defined(__SUNPRO_CC) || (__SUNPRO_CC < 0x550))
-#  define BOOST_NO_LONG_LONG_NUMERIC_LIMITS
+#if NDNBOOST_RWSTD_VER <= 0x020101 && (!defined(__SUNPRO_CC) || (__SUNPRO_CC < 0x550))
+#  define NDNBOOST_NO_LONG_LONG_NUMERIC_LIMITS
 # endif
 
 //
 // Borland version of numeric_limits lacks __int64 specialisation:
 //
 #ifdef __BORLANDC__
-#  define BOOST_NO_MS_INT64_NUMERIC_LIMITS
+#  define NDNBOOST_NO_MS_INT64_NUMERIC_LIMITS
 #endif
 
 //
 // No std::iterator if it can't figure out default template args:
 //
-#if defined(_RWSTD_NO_SIMPLE_DEFAULT_TEMPLATES) || defined(RWSTD_NO_SIMPLE_DEFAULT_TEMPLATES) || (BOOST_RWSTD_VER < 0x020000)
-#  define BOOST_NO_STD_ITERATOR
+#if defined(_RWSTD_NO_SIMPLE_DEFAULT_TEMPLATES) || defined(RWSTD_NO_SIMPLE_DEFAULT_TEMPLATES) || (NDNBOOST_RWSTD_VER < 0x020000)
+#  define NDNBOOST_NO_STD_ITERATOR
 #endif
 
 //
 // No iterator traits without partial specialization:
 //
 #if defined(_RWSTD_NO_CLASS_PARTIAL_SPEC) || defined(RWSTD_NO_CLASS_PARTIAL_SPEC)
-#  define BOOST_NO_STD_ITERATOR_TRAITS
+#  define NDNBOOST_NO_STD_ITERATOR_TRAITS
 #endif
 
 //
 // Prior to version 2.0, std::auto_ptr was buggy, and there were no
 // new-style iostreams, and no conformant std::allocator:
 //
-#if (BOOST_RWSTD_VER < 0x020000)
-#  define BOOST_NO_AUTO_PTR
-#  define BOOST_NO_STRINGSTREAM
-#  define BOOST_NO_STD_ALLOCATOR
-#  define BOOST_NO_STD_LOCALE
+#if (NDNBOOST_RWSTD_VER < 0x020000)
+#  define NDNBOOST_NO_AUTO_PTR
+#  define NDNBOOST_NO_STRINGSTREAM
+#  define NDNBOOST_NO_STD_ALLOCATOR
+#  define NDNBOOST_NO_STD_LOCALE
 #endif
 
 //
 // No template iterator constructors without member template support:
 //
 #if defined(RWSTD_NO_MEMBER_TEMPLATES) || defined(_RWSTD_NO_MEMBER_TEMPLATES)
-#  define BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS
+#  define NDNBOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS
 #endif
 
 //
@@ -101,38 +101,38 @@
 // on HP aCC systems even though the allocator is in fact broken):
 //
 #if !defined(_RWSTD_ALLOCATOR) || (defined(__HP_aCC) && __HP_aCC <= 33100)
-#  define BOOST_NO_STD_ALLOCATOR
+#  define NDNBOOST_NO_STD_ALLOCATOR
 #endif
 
 //
 // If we have a std::locale, we still may not have std::use_facet:
 //
-#if defined(_RWSTD_NO_TEMPLATE_ON_RETURN_TYPE) && !defined(BOOST_NO_STD_LOCALE)
-#  define BOOST_NO_STD_USE_FACET
-#  define BOOST_HAS_TWO_ARG_USE_FACET
+#if defined(_RWSTD_NO_TEMPLATE_ON_RETURN_TYPE) && !defined(NDNBOOST_NO_STD_LOCALE)
+#  define NDNBOOST_NO_STD_USE_FACET
+#  define NDNBOOST_HAS_TWO_ARG_USE_FACET
 #endif
 
 //
 // There's no std::distance prior to version 2, or without
 // partial specialization support:
 //
-#if (BOOST_RWSTD_VER < 0x020000) || defined(_RWSTD_NO_CLASS_PARTIAL_SPEC)
-    #define BOOST_NO_STD_DISTANCE
+#if (NDNBOOST_RWSTD_VER < 0x020000) || defined(_RWSTD_NO_CLASS_PARTIAL_SPEC)
+    #define NDNBOOST_NO_STD_DISTANCE
 #endif
 
 //
 // Some versions of the rogue wave library don't have assignable
 // OutputIterators:
 //
-#if BOOST_RWSTD_VER < 0x020100
-#  define BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN
+#if NDNBOOST_RWSTD_VER < 0x020100
+#  define NDNBOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN
 #endif
 
 //
-// Disable BOOST_HAS_LONG_LONG when the library has no support for it.
+// Disable NDNBOOST_HAS_LONG_LONG when the library has no support for it.
 //
-#if !defined(_RWSTD_LONG_LONG) && defined(BOOST_HAS_LONG_LONG)
-#  undef BOOST_HAS_LONG_LONG
+#if !defined(_RWSTD_LONG_LONG) && defined(NDNBOOST_HAS_LONG_LONG)
+#  undef NDNBOOST_HAS_LONG_LONG
 #endif
 
 //
@@ -145,7 +145,7 @@
 //
 // Define macros specific to RW V2.2 on HP-UX
 //
-#if defined(__HP_aCC) && (BOOST_RWSTD_VER == 0x02020100)
+#if defined(__HP_aCC) && (NDNBOOST_RWSTD_VER == 0x02020100)
 #  ifndef __HP_TC1_MAKE_PAIR
 #    define __HP_TC1_MAKE_PAIR
 #  endif
@@ -155,32 +155,32 @@
 #endif
 
 #if _RWSTD_VER < 0x05000000
-#  define BOOST_NO_CXX11_HDR_ARRAY
+#  define NDNBOOST_NO_CXX11_HDR_ARRAY
 #endif
 // type_traits header is incomplete:
-#  define BOOST_NO_CXX11_HDR_TYPE_TRAITS
+#  define NDNBOOST_NO_CXX11_HDR_TYPE_TRAITS
 //
 //  C++0x headers not yet implemented
 //
-#  define BOOST_NO_CXX11_HDR_CHRONO
-#  define BOOST_NO_CXX11_HDR_CODECVT
-#  define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE
-#  define BOOST_NO_CXX11_HDR_FORWARD_LIST
-#  define BOOST_NO_CXX11_HDR_FUTURE
-#  define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
-#  define BOOST_NO_CXX11_HDR_MUTEX
-#  define BOOST_NO_CXX11_HDR_RANDOM
-#  define BOOST_NO_CXX11_HDR_RATIO
-#  define BOOST_NO_CXX11_HDR_REGEX
-#  define BOOST_NO_CXX11_HDR_SYSTEM_ERROR
-#  define BOOST_NO_CXX11_HDR_THREAD
-#  define BOOST_NO_CXX11_HDR_TUPLE
-#  define BOOST_NO_CXX11_HDR_TYPEINDEX
-#  define BOOST_NO_CXX11_HDR_UNORDERED_MAP
-#  define BOOST_NO_CXX11_HDR_UNORDERED_SET
-#  define BOOST_NO_CXX11_NUMERIC_LIMITS
-#  define BOOST_NO_CXX11_ALLOCATOR
-#  define BOOST_NO_CXX11_ATOMIC_SMART_PTR
-#  define BOOST_NO_CXX11_SMART_PTR
-#  define BOOST_NO_CXX11_HDR_FUNCTIONAL
+#  define NDNBOOST_NO_CXX11_HDR_CHRONO
+#  define NDNBOOST_NO_CXX11_HDR_CODECVT
+#  define NDNBOOST_NO_CXX11_HDR_CONDITION_VARIABLE
+#  define NDNBOOST_NO_CXX11_HDR_FORWARD_LIST
+#  define NDNBOOST_NO_CXX11_HDR_FUTURE
+#  define NDNBOOST_NO_CXX11_HDR_INITIALIZER_LIST
+#  define NDNBOOST_NO_CXX11_HDR_MUTEX
+#  define NDNBOOST_NO_CXX11_HDR_RANDOM
+#  define NDNBOOST_NO_CXX11_HDR_RATIO
+#  define NDNBOOST_NO_CXX11_HDR_REGEX
+#  define NDNBOOST_NO_CXX11_HDR_SYSTEM_ERROR
+#  define NDNBOOST_NO_CXX11_HDR_THREAD
+#  define NDNBOOST_NO_CXX11_HDR_TUPLE
+#  define NDNBOOST_NO_CXX11_HDR_TYPEINDEX
+#  define NDNBOOST_NO_CXX11_HDR_UNORDERED_MAP
+#  define NDNBOOST_NO_CXX11_HDR_UNORDERED_SET
+#  define NDNBOOST_NO_CXX11_NUMERIC_LIMITS
+#  define NDNBOOST_NO_CXX11_ALLOCATOR
+#  define NDNBOOST_NO_CXX11_ATOMIC_SMART_PTR
+#  define NDNBOOST_NO_CXX11_SMART_PTR
+#  define NDNBOOST_NO_CXX11_HDR_FUNCTIONAL
 
diff --git a/include/ndnboost/config/stdlib/sgi.hpp b/include/ndnboost/config/stdlib/sgi.hpp
index 8ac5d03..be14f4e 100644
--- a/include/ndnboost/config/stdlib/sgi.hpp
+++ b/include/ndnboost/config/stdlib/sgi.hpp
@@ -20,7 +20,7 @@
 // No std::iterator traits without partial specialisation:
 //
 #if !defined(__STL_CLASS_PARTIAL_SPECIALIZATION)
-#  define BOOST_NO_STD_ITERATOR_TRAITS
+#  define NDNBOOST_NO_STD_ITERATOR_TRAITS
 #endif
 
 //
@@ -37,7 +37,7 @@
    // than by running the configure script).
    // Also, the unofficial GNU C++ 2.96 included in RedHat 7.1 doesn't
    // have <sstream>.
-#  define BOOST_NO_STRINGSTREAM
+#  define NDNBOOST_NO_STRINGSTREAM
 #endif
 
 // Apple doesn't seem to reliably defined a *unix* macro
@@ -56,21 +56,21 @@
 // incorrect assumption in some cases):
 //
 #if !defined(__SGI_STL_OWN_IOSTREAMS) && !defined(__STL_USE_NEW_IOSTREAMS)
-#  define BOOST_NO_STD_LOCALE
+#  define NDNBOOST_NO_STD_LOCALE
 #endif
 
 //
 // Original native SGI streams have non-standard std::messages facet:
 //
 #if defined(__sgi) && (_COMPILER_VERSION <= 650) && !defined(__SGI_STL_OWN_IOSTREAMS)
-#  define BOOST_NO_STD_LOCALE
+#  define NDNBOOST_NO_STD_LOCALE
 #endif
 
 //
 // SGI's new iostreams have missing "const" in messages<>::open
 //
 #if defined(__sgi) && (_COMPILER_VERSION <= 740) && defined(__STL_USE_NEW_IOSTREAMS)
-#  define BOOST_NO_STD_MESSAGES
+#  define NDNBOOST_NO_STD_MESSAGES
 #endif
 
 //
@@ -78,15 +78,15 @@
 // without member templates:
 //
 #if !defined(__STL_MEMBER_TEMPLATES)
-#  define BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS
-#  define BOOST_NO_STD_ALLOCATOR
+#  define NDNBOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS
+#  define NDNBOOST_NO_STD_ALLOCATOR
 #endif
 
 //
 // We always have SGI style hash_set, hash_map, and slist:
 //
-#define BOOST_HAS_HASH
-#define BOOST_HAS_SLIST
+#define NDNBOOST_HAS_HASH
+#define NDNBOOST_HAS_SLIST
 
 //
 // If this is GNU libstdc++2, then no <limits> and no std::wstring:
@@ -94,10 +94,10 @@
 #if (defined(__GNUC__) && (__GNUC__ < 3))
 #  include <string>
 #  if defined(__BASTRING__)
-#     define BOOST_NO_LIMITS
+#     define NDNBOOST_NO_LIMITS
 // Note: <ndnboost/limits.hpp> will provide compile-time constants
-#     undef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
-#     define BOOST_NO_STD_WSTRING
+#     undef NDNBOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
+#     define NDNBOOST_NO_STD_WSTRING
 #  endif
 #endif
 
@@ -105,7 +105,7 @@
 // There is no standard iterator unless we have namespace support:
 //
 #if !defined(__STL_USE_NAMESPACES)
-#  define BOOST_NO_STD_ITERATOR
+#  define NDNBOOST_NO_STD_ITERATOR
 #endif
 
 //
@@ -114,35 +114,35 @@
 // has intrinsic compiler support with SGI's compilers.
 // Whatever map SGI style type traits to boost equivalents:
 //
-#define BOOST_HAS_SGI_TYPE_TRAITS
+#define NDNBOOST_HAS_SGI_TYPE_TRAITS
 
 //  C++0x headers not yet implemented
 //
-#  define BOOST_NO_CXX11_HDR_ARRAY
-#  define BOOST_NO_CXX11_HDR_CHRONO
-#  define BOOST_NO_CXX11_HDR_CODECVT
-#  define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE
-#  define BOOST_NO_CXX11_HDR_FORWARD_LIST
-#  define BOOST_NO_CXX11_HDR_FUTURE
-#  define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
-#  define BOOST_NO_CXX11_HDR_MUTEX
-#  define BOOST_NO_CXX11_HDR_RANDOM
-#  define BOOST_NO_CXX11_HDR_RATIO
-#  define BOOST_NO_CXX11_HDR_REGEX
-#  define BOOST_NO_CXX11_HDR_SYSTEM_ERROR
-#  define BOOST_NO_CXX11_HDR_THREAD
-#  define BOOST_NO_CXX11_HDR_TUPLE
-#  define BOOST_NO_CXX11_HDR_TYPE_TRAITS
-#  define BOOST_NO_CXX11_HDR_TYPEINDEX
-#  define BOOST_NO_CXX11_HDR_UNORDERED_MAP
-#  define BOOST_NO_CXX11_HDR_UNORDERED_SET
-#  define BOOST_NO_CXX11_NUMERIC_LIMITS
-#  define BOOST_NO_CXX11_ALLOCATOR
-#  define BOOST_NO_CXX11_ATOMIC_SMART_PTR
-#  define BOOST_NO_CXX11_SMART_PTR
-#  define BOOST_NO_CXX11_HDR_FUNCTIONAL
+#  define NDNBOOST_NO_CXX11_HDR_ARRAY
+#  define NDNBOOST_NO_CXX11_HDR_CHRONO
+#  define NDNBOOST_NO_CXX11_HDR_CODECVT
+#  define NDNBOOST_NO_CXX11_HDR_CONDITION_VARIABLE
+#  define NDNBOOST_NO_CXX11_HDR_FORWARD_LIST
+#  define NDNBOOST_NO_CXX11_HDR_FUTURE
+#  define NDNBOOST_NO_CXX11_HDR_INITIALIZER_LIST
+#  define NDNBOOST_NO_CXX11_HDR_MUTEX
+#  define NDNBOOST_NO_CXX11_HDR_RANDOM
+#  define NDNBOOST_NO_CXX11_HDR_RATIO
+#  define NDNBOOST_NO_CXX11_HDR_REGEX
+#  define NDNBOOST_NO_CXX11_HDR_SYSTEM_ERROR
+#  define NDNBOOST_NO_CXX11_HDR_THREAD
+#  define NDNBOOST_NO_CXX11_HDR_TUPLE
+#  define NDNBOOST_NO_CXX11_HDR_TYPE_TRAITS
+#  define NDNBOOST_NO_CXX11_HDR_TYPEINDEX
+#  define NDNBOOST_NO_CXX11_HDR_UNORDERED_MAP
+#  define NDNBOOST_NO_CXX11_HDR_UNORDERED_SET
+#  define NDNBOOST_NO_CXX11_NUMERIC_LIMITS
+#  define NDNBOOST_NO_CXX11_ALLOCATOR
+#  define NDNBOOST_NO_CXX11_ATOMIC_SMART_PTR
+#  define NDNBOOST_NO_CXX11_SMART_PTR
+#  define NDNBOOST_NO_CXX11_HDR_FUNCTIONAL
 
-#define BOOST_STDLIB "SGI standard library"
+#define NDNBOOST_STDLIB "SGI standard library"
 
 
 
diff --git a/include/ndnboost/config/stdlib/stlport.hpp b/include/ndnboost/config/stdlib/stlport.hpp
index 649267a..05dd719 100644
--- a/include/ndnboost/config/stdlib/stlport.hpp
+++ b/include/ndnboost/config/stdlib/stlport.hpp
@@ -27,11 +27,11 @@
 #endif
 
 //
-// __STL_STATIC_CONST_INIT_BUG implies BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
+// __STL_STATIC_CONST_INIT_BUG implies NDNBOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
 // for versions prior to 4.1(beta)
 //
 #if (defined(__STL_STATIC_CONST_INIT_BUG) || defined(_STLP_STATIC_CONST_INIT_BUG)) && (__SGI_STL_PORT <= 0x400)
-#  define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
+#  define NDNBOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
 #endif
 
 //
@@ -39,22 +39,22 @@
 // std::iterator traits:
 //
 #if !(defined(_STLP_CLASS_PARTIAL_SPECIALIZATION) || defined(__STL_CLASS_PARTIAL_SPECIALIZATION))
-#  define BOOST_NO_STD_ITERATOR_TRAITS
+#  define NDNBOOST_NO_STD_ITERATOR_TRAITS
 #endif
 
 //
 // No new style iostreams on GCC without STLport's iostreams enabled:
 //
 #if (defined(__GNUC__) && (__GNUC__ < 3)) && !(defined(__SGI_STL_OWN_IOSTREAMS) || defined(_STLP_OWN_IOSTREAMS))
-#  define BOOST_NO_STRINGSTREAM
+#  define NDNBOOST_NO_STRINGSTREAM
 #endif
 
 //
 // No new iostreams implies no std::locale, and no std::stringstream:
 //
 #if defined(__STL_NO_IOSTREAMS) || defined(__STL_NO_NEW_IOSTREAMS) || defined(_STLP_NO_IOSTREAMS) || defined(_STLP_NO_NEW_IOSTREAMS)
-#  define BOOST_NO_STD_LOCALE
-#  define BOOST_NO_STRINGSTREAM
+#  define NDNBOOST_NO_STD_LOCALE
+#  define NDNBOOST_NO_STRINGSTREAM
 #endif
 
 //
@@ -62,38 +62,38 @@
 // then the io stream facets are not available in namespace std::
 //
 #ifdef _STLPORT_VERSION
-#  if !(_STLPORT_VERSION >= 0x500) && !defined(_STLP_OWN_IOSTREAMS) && defined(_STLP_USE_NAMESPACES) && defined(BOOST_NO_USING_TEMPLATE) && !defined(__BORLANDC__)
-#     define BOOST_NO_STD_LOCALE
+#  if !(_STLPORT_VERSION >= 0x500) && !defined(_STLP_OWN_IOSTREAMS) && defined(_STLP_USE_NAMESPACES) && defined(NDNBOOST_NO_USING_TEMPLATE) && !defined(__BORLANDC__)
+#     define NDNBOOST_NO_STD_LOCALE
 #  endif
 #else
-#  if !defined(__SGI_STL_OWN_IOSTREAMS) && defined(__STL_USE_NAMESPACES) && defined(BOOST_NO_USING_TEMPLATE) && !defined(__BORLANDC__)
-#     define BOOST_NO_STD_LOCALE
+#  if !defined(__SGI_STL_OWN_IOSTREAMS) && defined(__STL_USE_NAMESPACES) && defined(NDNBOOST_NO_USING_TEMPLATE) && !defined(__BORLANDC__)
+#     define NDNBOOST_NO_STD_LOCALE
 #  endif
 #endif
 
 #if defined(_STLPORT_VERSION) && (_STLPORT_VERSION >= 0x520)
-#  define BOOST_HAS_TR1_UNORDERED_SET
-#  define BOOST_HAS_TR1_UNORDERED_MAP
+#  define NDNBOOST_HAS_TR1_UNORDERED_SET
+#  define NDNBOOST_HAS_TR1_UNORDERED_MAP
 #endif
 //
 // Without member template support enabled, their are no template
 // iterate constructors, and no std::allocator:
 //
 #if !(defined(__STL_MEMBER_TEMPLATES) || defined(_STLP_MEMBER_TEMPLATES))
-#  define BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS
-#  define BOOST_NO_STD_ALLOCATOR
+#  define NDNBOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS
+#  define NDNBOOST_NO_STD_ALLOCATOR
 #endif
 //
 // however we always have at least a partial allocator:
 //
-#define BOOST_HAS_PARTIAL_STD_ALLOCATOR
+#define NDNBOOST_HAS_PARTIAL_STD_ALLOCATOR
 
 #if !defined(_STLP_MEMBER_TEMPLATE_CLASSES) || defined(_STLP_DONT_SUPPORT_REBIND_MEMBER_TEMPLATE)
-#  define BOOST_NO_STD_ALLOCATOR
+#  define NDNBOOST_NO_STD_ALLOCATOR
 #endif
 
-#if defined(_STLP_NO_MEMBER_TEMPLATE_KEYWORD) && defined(BOOST_MSVC) && (BOOST_MSVC <= 1300)
-#  define BOOST_NO_STD_ALLOCATOR
+#if defined(_STLP_NO_MEMBER_TEMPLATE_KEYWORD) && defined(NDNBOOST_MSVC) && (NDNBOOST_MSVC <= 1300)
+#  define NDNBOOST_NO_STD_ALLOCATOR
 #endif
 
 //
@@ -101,11 +101,11 @@
 // the support for the relevant specilazations of std:: templates.
 //
 #if !defined(_STLP_HAS_WCHAR_T) && !defined(_STLP_WCHAR_T_IS_USHORT)
-#  ifndef  BOOST_NO_STD_WSTRING
-#     define BOOST_NO_STD_WSTRING
+#  ifndef  NDNBOOST_NO_STD_WSTRING
+#     define NDNBOOST_NO_STD_WSTRING
 #  endif
-#  ifndef  BOOST_NO_STD_WSTREAMBUF
-#     define BOOST_NO_STD_WSTREAMBUF
+#  ifndef  NDNBOOST_NO_STD_WSTREAMBUF
+#     define NDNBOOST_NO_STD_WSTREAMBUF
 #  endif
 #endif
 
@@ -113,26 +113,26 @@
 // We always have SGI style hash_set, hash_map, and slist:
 //
 #ifndef _STLP_NO_EXTENSIONS
-#define BOOST_HAS_HASH
-#define BOOST_HAS_SLIST
+#define NDNBOOST_HAS_HASH
+#define NDNBOOST_HAS_SLIST
 #endif
 
 //
 // STLport does a good job of importing names into namespace std::,
-// but doesn't always get them all, define BOOST_NO_STDC_NAMESPACE, since our
+// but doesn't always get them all, define NDNBOOST_NO_STDC_NAMESPACE, since our
 // workaround does not conflict with STLports:
 //
 //
 // Harold Howe says:
-// Borland switched to STLport in BCB6. Defining BOOST_NO_STDC_NAMESPACE with
+// Borland switched to STLport in BCB6. Defining NDNBOOST_NO_STDC_NAMESPACE with
 // BCB6 does cause problems. If we detect C++ Builder, then don't define 
-// BOOST_NO_STDC_NAMESPACE
+// NDNBOOST_NO_STDC_NAMESPACE
 //
 #if !defined(__BORLANDC__) && !defined(__DMC__)
 //
 // If STLport is using it's own namespace, and the real names are in
 // the global namespace, then we duplicate STLport's using declarations
-// (by defining BOOST_NO_STDC_NAMESPACE), we do this because STLport doesn't
+// (by defining NDNBOOST_NO_STDC_NAMESPACE), we do this because STLport doesn't
 // necessarily import all the names we need into namespace std::
 // 
 #  if (defined(__STL_IMPORT_VENDOR_CSTD) \
@@ -140,8 +140,8 @@
          || defined(_STLP_IMPORT_VENDOR_CSTD) \
          || defined(_STLP_USE_OWN_NAMESPACE)) \
       && (defined(__STL_VENDOR_GLOBAL_CSTD) || defined (_STLP_VENDOR_GLOBAL_CSTD))
-#     define BOOST_NO_STDC_NAMESPACE
-#     define BOOST_NO_EXCEPTION_STD_NAMESPACE
+#     define NDNBOOST_NO_STDC_NAMESPACE
+#     define NDNBOOST_NO_EXCEPTION_STD_NAMESPACE
 #  endif
 #elif defined(__BORLANDC__) && __BORLANDC__ < 0x560
 // STLport doesn't import std::abs correctly:
@@ -164,18 +164,18 @@
 // std::use_facet may be non-standard, uses a class instead:
 //
 #if defined(__STL_NO_EXPLICIT_FUNCTION_TMPL_ARGS) || defined(_STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS)
-#  define BOOST_NO_STD_USE_FACET
-#  define BOOST_HAS_STLP_USE_FACET
+#  define NDNBOOST_NO_STD_USE_FACET
+#  define NDNBOOST_HAS_STLP_USE_FACET
 #endif
 
 //
 // If STLport thinks there are no wide functions, <cwchar> etc. is not working; but
-// only if BOOST_NO_STDC_NAMESPACE is not defined (if it is then we do the import 
+// only if NDNBOOST_NO_STDC_NAMESPACE is not defined (if it is then we do the import 
 // into std:: ourselves).
 //
-#if defined(_STLP_NO_NATIVE_WIDE_FUNCTIONS) && !defined(BOOST_NO_STDC_NAMESPACE)
-#  define BOOST_NO_CWCHAR
-#  define BOOST_NO_CWCTYPE
+#if defined(_STLP_NO_NATIVE_WIDE_FUNCTIONS) && !defined(NDNBOOST_NO_STDC_NAMESPACE)
+#  define NDNBOOST_NO_CWCHAR
+#  define NDNBOOST_NO_CWCTYPE
 #endif
 
 //
@@ -184,8 +184,8 @@
 // well (we would be missing required specializations otherwise).
 //
 #if !defined( _STLP_HAS_WCHAR_T) || defined(_STLP_WCHAR_T_IS_USHORT)
-#  undef  BOOST_NO_INTRINSIC_WCHAR_T
-#  define BOOST_NO_INTRINSIC_WCHAR_T
+#  undef  NDNBOOST_NO_INTRINSIC_WCHAR_T
+#  define NDNBOOST_NO_INTRINSIC_WCHAR_T
 #endif
 
 //
@@ -193,7 +193,7 @@
 // hashtables and the like:
 //
 #if defined(__BORLANDC__) && (__BORLANDC__ == 0x560)
-#  undef BOOST_HAS_HASH
+#  undef NDNBOOST_HAS_HASH
 #endif
 
 //
@@ -201,38 +201,38 @@
 //
 #if defined(__GNUC__) && (__GNUC__ < 3)
 #  include <algorithm> // for std::min and std::max
-#  define BOOST_USING_STD_MIN() ((void)0)
-#  define BOOST_USING_STD_MAX() ((void)0)
+#  define NDNBOOST_USING_STD_MIN() ((void)0)
+#  define NDNBOOST_USING_STD_MAX() ((void)0)
 namespace ndnboost { using std::min; using std::max; }
 #endif
 
 //  C++0x headers not yet implemented
 //
-#  define BOOST_NO_CXX11_HDR_ARRAY
-#  define BOOST_NO_CXX11_HDR_CHRONO
-#  define BOOST_NO_CXX11_HDR_CODECVT
-#  define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE
-#  define BOOST_NO_CXX11_HDR_FORWARD_LIST
-#  define BOOST_NO_CXX11_HDR_FUTURE
-#  define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
-#  define BOOST_NO_CXX11_HDR_MUTEX
-#  define BOOST_NO_CXX11_HDR_RANDOM
-#  define BOOST_NO_CXX11_HDR_RATIO
-#  define BOOST_NO_CXX11_HDR_REGEX
-#  define BOOST_NO_CXX11_HDR_SYSTEM_ERROR
-#  define BOOST_NO_CXX11_HDR_THREAD
-#  define BOOST_NO_CXX11_HDR_TUPLE
-#  define BOOST_NO_CXX11_HDR_TYPE_TRAITS
-#  define BOOST_NO_CXX11_HDR_TYPEINDEX
-#  define BOOST_NO_CXX11_HDR_UNORDERED_MAP
-#  define BOOST_NO_CXX11_HDR_UNORDERED_SET
-#  define BOOST_NO_CXX11_NUMERIC_LIMITS
-#  define BOOST_NO_CXX11_ALLOCATOR
-#  define BOOST_NO_CXX11_ATOMIC_SMART_PTR
-#  define BOOST_NO_CXX11_SMART_PTR
-#  define BOOST_NO_CXX11_HDR_FUNCTIONAL
+#  define NDNBOOST_NO_CXX11_HDR_ARRAY
+#  define NDNBOOST_NO_CXX11_HDR_CHRONO
+#  define NDNBOOST_NO_CXX11_HDR_CODECVT
+#  define NDNBOOST_NO_CXX11_HDR_CONDITION_VARIABLE
+#  define NDNBOOST_NO_CXX11_HDR_FORWARD_LIST
+#  define NDNBOOST_NO_CXX11_HDR_FUTURE
+#  define NDNBOOST_NO_CXX11_HDR_INITIALIZER_LIST
+#  define NDNBOOST_NO_CXX11_HDR_MUTEX
+#  define NDNBOOST_NO_CXX11_HDR_RANDOM
+#  define NDNBOOST_NO_CXX11_HDR_RATIO
+#  define NDNBOOST_NO_CXX11_HDR_REGEX
+#  define NDNBOOST_NO_CXX11_HDR_SYSTEM_ERROR
+#  define NDNBOOST_NO_CXX11_HDR_THREAD
+#  define NDNBOOST_NO_CXX11_HDR_TUPLE
+#  define NDNBOOST_NO_CXX11_HDR_TYPE_TRAITS
+#  define NDNBOOST_NO_CXX11_HDR_TYPEINDEX
+#  define NDNBOOST_NO_CXX11_HDR_UNORDERED_MAP
+#  define NDNBOOST_NO_CXX11_HDR_UNORDERED_SET
+#  define NDNBOOST_NO_CXX11_NUMERIC_LIMITS
+#  define NDNBOOST_NO_CXX11_ALLOCATOR
+#  define NDNBOOST_NO_CXX11_ATOMIC_SMART_PTR
+#  define NDNBOOST_NO_CXX11_SMART_PTR
+#  define NDNBOOST_NO_CXX11_HDR_FUNCTIONAL
 
-#define BOOST_STDLIB "STLPort standard library version " BOOST_STRINGIZE(__SGI_STL_PORT)
+#define NDNBOOST_STDLIB "STLPort standard library version " NDNBOOST_STRINGIZE(__SGI_STL_PORT)
 
 
 
diff --git a/include/ndnboost/config/stdlib/vacpp.hpp b/include/ndnboost/config/stdlib/vacpp.hpp
index 9d16946..d4719b7 100644
--- a/include/ndnboost/config/stdlib/vacpp.hpp
+++ b/include/ndnboost/config/stdlib/vacpp.hpp
@@ -6,11 +6,11 @@
 //  See http://www.boost.org for most recent version.
 
 #if __IBMCPP__ <= 501
-#  define BOOST_NO_STD_ALLOCATOR
+#  define NDNBOOST_NO_STD_ALLOCATOR
 #endif
 
-#define BOOST_HAS_MACRO_USE_FACET
-#define BOOST_NO_STD_MESSAGES
+#define NDNBOOST_HAS_MACRO_USE_FACET
+#define NDNBOOST_NO_STD_MESSAGES
 
 // Apple doesn't seem to reliably defined a *unix* macro
 #if !defined(CYGWIN) && (  defined(__unix__)  \
@@ -24,31 +24,31 @@
 
 //  C++0x headers not yet implemented
 //
-#  define BOOST_NO_CXX11_HDR_ARRAY
-#  define BOOST_NO_CXX11_HDR_CHRONO
-#  define BOOST_NO_CXX11_HDR_CODECVT
-#  define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE
-#  define BOOST_NO_CXX11_HDR_FORWARD_LIST
-#  define BOOST_NO_CXX11_HDR_FUTURE
-#  define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
-#  define BOOST_NO_CXX11_HDR_MUTEX
-#  define BOOST_NO_CXX11_HDR_RANDOM
-#  define BOOST_NO_CXX11_HDR_RATIO
-#  define BOOST_NO_CXX11_HDR_REGEX
-#  define BOOST_NO_CXX11_HDR_SYSTEM_ERROR
-#  define BOOST_NO_CXX11_HDR_THREAD
-#  define BOOST_NO_CXX11_HDR_TUPLE
-#  define BOOST_NO_CXX11_HDR_TYPE_TRAITS
-#  define BOOST_NO_CXX11_HDR_TYPEINDEX
-#  define BOOST_NO_CXX11_HDR_UNORDERED_MAP
-#  define BOOST_NO_CXX11_HDR_UNORDERED_SET
-#  define BOOST_NO_CXX11_NUMERIC_LIMITS
-#  define BOOST_NO_CXX11_ALLOCATOR
-#  define BOOST_NO_CXX11_ATOMIC_SMART_PTR
-#  define BOOST_NO_CXX11_SMART_PTR
-#  define BOOST_NO_CXX11_HDR_FUNCTIONAL
+#  define NDNBOOST_NO_CXX11_HDR_ARRAY
+#  define NDNBOOST_NO_CXX11_HDR_CHRONO
+#  define NDNBOOST_NO_CXX11_HDR_CODECVT
+#  define NDNBOOST_NO_CXX11_HDR_CONDITION_VARIABLE
+#  define NDNBOOST_NO_CXX11_HDR_FORWARD_LIST
+#  define NDNBOOST_NO_CXX11_HDR_FUTURE
+#  define NDNBOOST_NO_CXX11_HDR_INITIALIZER_LIST
+#  define NDNBOOST_NO_CXX11_HDR_MUTEX
+#  define NDNBOOST_NO_CXX11_HDR_RANDOM
+#  define NDNBOOST_NO_CXX11_HDR_RATIO
+#  define NDNBOOST_NO_CXX11_HDR_REGEX
+#  define NDNBOOST_NO_CXX11_HDR_SYSTEM_ERROR
+#  define NDNBOOST_NO_CXX11_HDR_THREAD
+#  define NDNBOOST_NO_CXX11_HDR_TUPLE
+#  define NDNBOOST_NO_CXX11_HDR_TYPE_TRAITS
+#  define NDNBOOST_NO_CXX11_HDR_TYPEINDEX
+#  define NDNBOOST_NO_CXX11_HDR_UNORDERED_MAP
+#  define NDNBOOST_NO_CXX11_HDR_UNORDERED_SET
+#  define NDNBOOST_NO_CXX11_NUMERIC_LIMITS
+#  define NDNBOOST_NO_CXX11_ALLOCATOR
+#  define NDNBOOST_NO_CXX11_ATOMIC_SMART_PTR
+#  define NDNBOOST_NO_CXX11_SMART_PTR
+#  define NDNBOOST_NO_CXX11_HDR_FUNCTIONAL
 
-#define BOOST_STDLIB "Visual Age default standard library"
+#define NDNBOOST_STDLIB "Visual Age default standard library"
 
 
 
diff --git a/include/ndnboost/config/suffix.hpp b/include/ndnboost/config/suffix.hpp
index 9f89029..7dfd7dc 100644
--- a/include/ndnboost/config/suffix.hpp
+++ b/include/ndnboost/config/suffix.hpp
@@ -23,8 +23,8 @@
 //  It should contain boilerplate code only - no compiler specific
 //  code unless it is unavoidable - no changes unless unavoidable.
 
-#ifndef BOOST_CONFIG_SUFFIX_HPP
-#define BOOST_CONFIG_SUFFIX_HPP
+#ifndef NDNBOOST_CONFIG_SUFFIX_HPP
+#define NDNBOOST_CONFIG_SUFFIX_HPP
 
 #if defined(__GNUC__) && (__GNUC__ >= 4)
 //
@@ -37,14 +37,14 @@
 //
 // ensure that visibility macros are always defined, thus symplifying use
 //
-#ifndef BOOST_SYMBOL_EXPORT
-# define BOOST_SYMBOL_EXPORT
+#ifndef NDNBOOST_SYMBOL_EXPORT
+# define NDNBOOST_SYMBOL_EXPORT
 #endif
-#ifndef BOOST_SYMBOL_IMPORT
-# define BOOST_SYMBOL_IMPORT
+#ifndef NDNBOOST_SYMBOL_IMPORT
+# define NDNBOOST_SYMBOL_IMPORT
 #endif
-#ifndef BOOST_SYMBOL_VISIBLE
-# define BOOST_SYMBOL_VISIBLE
+#ifndef NDNBOOST_SYMBOL_VISIBLE
+# define NDNBOOST_SYMBOL_VISIBLE
 #endif
 
 //
@@ -53,181 +53,181 @@
 // remember that since these just declare a bunch of macros, there should be
 // no namespace issues from this.
 //
-#if !defined(BOOST_HAS_LONG_LONG) && !defined(BOOST_NO_LONG_LONG)                                              \
-   && !defined(BOOST_MSVC) && !defined(__BORLANDC__)
+#if !defined(NDNBOOST_HAS_LONG_LONG) && !defined(NDNBOOST_NO_LONG_LONG)                                              \
+   && !defined(NDNBOOST_MSVC) && !defined(__BORLANDC__)
 # include <limits.h>
 # if (defined(ULLONG_MAX) || defined(ULONG_LONG_MAX) || defined(ULONGLONG_MAX))
-#   define BOOST_HAS_LONG_LONG
+#   define NDNBOOST_HAS_LONG_LONG
 # else
-#   define BOOST_NO_LONG_LONG
+#   define NDNBOOST_NO_LONG_LONG
 # endif
 #endif
 
 // GCC 3.x will clean up all of those nasty macro definitions that
-// BOOST_NO_CTYPE_FUNCTIONS is intended to help work around, so undefine
+// NDNBOOST_NO_CTYPE_FUNCTIONS is intended to help work around, so undefine
 // it under GCC 3.x.
-#if defined(__GNUC__) && (__GNUC__ >= 3) && defined(BOOST_NO_CTYPE_FUNCTIONS)
-#  undef BOOST_NO_CTYPE_FUNCTIONS
+#if defined(__GNUC__) && (__GNUC__ >= 3) && defined(NDNBOOST_NO_CTYPE_FUNCTIONS)
+#  undef NDNBOOST_NO_CTYPE_FUNCTIONS
 #endif
 
 //
 // Assume any extensions are in namespace std:: unless stated otherwise:
 //
-#  ifndef BOOST_STD_EXTENSION_NAMESPACE
-#    define BOOST_STD_EXTENSION_NAMESPACE std
+#  ifndef NDNBOOST_STD_EXTENSION_NAMESPACE
+#    define NDNBOOST_STD_EXTENSION_NAMESPACE std
 #  endif
 
 //
 // If cv-qualified specializations are not allowed, then neither are cv-void ones:
 //
-#  if defined(BOOST_NO_CV_SPECIALIZATIONS) \
-      && !defined(BOOST_NO_CV_VOID_SPECIALIZATIONS)
-#     define BOOST_NO_CV_VOID_SPECIALIZATIONS
+#  if defined(NDNBOOST_NO_CV_SPECIALIZATIONS) \
+      && !defined(NDNBOOST_NO_CV_VOID_SPECIALIZATIONS)
+#     define NDNBOOST_NO_CV_VOID_SPECIALIZATIONS
 #  endif
 
 //
 // If there is no numeric_limits template, then it can't have any compile time
 // constants either!
 //
-#  if defined(BOOST_NO_LIMITS) \
-      && !defined(BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS)
-#     define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
-#     define BOOST_NO_MS_INT64_NUMERIC_LIMITS
-#     define BOOST_NO_LONG_LONG_NUMERIC_LIMITS
+#  if defined(NDNBOOST_NO_LIMITS) \
+      && !defined(NDNBOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS)
+#     define NDNBOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
+#     define NDNBOOST_NO_MS_INT64_NUMERIC_LIMITS
+#     define NDNBOOST_NO_LONG_LONG_NUMERIC_LIMITS
 #  endif
 
 //
 // if there is no long long then there is no specialisation
 // for numeric_limits<long long> either:
 //
-#if !defined(BOOST_HAS_LONG_LONG) && !defined(BOOST_NO_LONG_LONG_NUMERIC_LIMITS)
-#  define BOOST_NO_LONG_LONG_NUMERIC_LIMITS
+#if !defined(NDNBOOST_HAS_LONG_LONG) && !defined(NDNBOOST_NO_LONG_LONG_NUMERIC_LIMITS)
+#  define NDNBOOST_NO_LONG_LONG_NUMERIC_LIMITS
 #endif
 
 //
 // if there is no __int64 then there is no specialisation
 // for numeric_limits<__int64> either:
 //
-#if !defined(BOOST_HAS_MS_INT64) && !defined(BOOST_NO_MS_INT64_NUMERIC_LIMITS)
-#  define BOOST_NO_MS_INT64_NUMERIC_LIMITS
+#if !defined(NDNBOOST_HAS_MS_INT64) && !defined(NDNBOOST_NO_MS_INT64_NUMERIC_LIMITS)
+#  define NDNBOOST_NO_MS_INT64_NUMERIC_LIMITS
 #endif
 
 //
 // if member templates are supported then so is the
 // VC6 subset of member templates:
 //
-#  if !defined(BOOST_NO_MEMBER_TEMPLATES) \
-       && !defined(BOOST_MSVC6_MEMBER_TEMPLATES)
-#     define BOOST_MSVC6_MEMBER_TEMPLATES
+#  if !defined(NDNBOOST_NO_MEMBER_TEMPLATES) \
+       && !defined(NDNBOOST_MSVC6_MEMBER_TEMPLATES)
+#     define NDNBOOST_MSVC6_MEMBER_TEMPLATES
 #  endif
 
 //
 // Without partial specialization, can't test for partial specialisation bugs:
 //
-#  if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
-      && !defined(BOOST_BCB_PARTIAL_SPECIALIZATION_BUG)
-#     define BOOST_BCB_PARTIAL_SPECIALIZATION_BUG
+#  if defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
+      && !defined(NDNBOOST_BCB_PARTIAL_SPECIALIZATION_BUG)
+#     define NDNBOOST_BCB_PARTIAL_SPECIALIZATION_BUG
 #  endif
 
 //
 // Without partial specialization, we can't have array-type partial specialisations:
 //
-#  if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
-      && !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)
-#     define BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS
+#  if defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
+      && !defined(NDNBOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)
+#     define NDNBOOST_NO_ARRAY_TYPE_SPECIALIZATIONS
 #  endif
 
 //
 // Without partial specialization, std::iterator_traits can't work:
 //
-#  if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
-      && !defined(BOOST_NO_STD_ITERATOR_TRAITS)
-#     define BOOST_NO_STD_ITERATOR_TRAITS
+#  if defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
+      && !defined(NDNBOOST_NO_STD_ITERATOR_TRAITS)
+#     define NDNBOOST_NO_STD_ITERATOR_TRAITS
 #  endif
 
 //
 // Without partial specialization, partial 
 // specialization with default args won't work either:
 //
-#  if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
-      && !defined(BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS)
-#     define BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS
+#  if defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
+      && !defined(NDNBOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS)
+#     define NDNBOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS
 #  endif
 
 //
 // Without member template support, we can't have template constructors
 // in the standard library either:
 //
-#  if defined(BOOST_NO_MEMBER_TEMPLATES) \
-      && !defined(BOOST_MSVC6_MEMBER_TEMPLATES) \
-      && !defined(BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS)
-#     define BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS
+#  if defined(NDNBOOST_NO_MEMBER_TEMPLATES) \
+      && !defined(NDNBOOST_MSVC6_MEMBER_TEMPLATES) \
+      && !defined(NDNBOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS)
+#     define NDNBOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS
 #  endif
 
 //
 // Without member template support, we can't have a conforming
 // std::allocator template either:
 //
-#  if defined(BOOST_NO_MEMBER_TEMPLATES) \
-      && !defined(BOOST_MSVC6_MEMBER_TEMPLATES) \
-      && !defined(BOOST_NO_STD_ALLOCATOR)
-#     define BOOST_NO_STD_ALLOCATOR
+#  if defined(NDNBOOST_NO_MEMBER_TEMPLATES) \
+      && !defined(NDNBOOST_MSVC6_MEMBER_TEMPLATES) \
+      && !defined(NDNBOOST_NO_STD_ALLOCATOR)
+#     define NDNBOOST_NO_STD_ALLOCATOR
 #  endif
 
 //
 // without ADL support then using declarations will break ADL as well:
 //
-#if defined(BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP) && !defined(BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL)
-#  define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
+#if defined(NDNBOOST_NO_ARGUMENT_DEPENDENT_LOOKUP) && !defined(NDNBOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL)
+#  define NDNBOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
 #endif
 
 //
 // Without typeid support we have no dynamic RTTI either:
 //
-#if defined(BOOST_NO_TYPEID) && !defined(BOOST_NO_RTTI)
-#  define BOOST_NO_RTTI
+#if defined(NDNBOOST_NO_TYPEID) && !defined(NDNBOOST_NO_RTTI)
+#  define NDNBOOST_NO_RTTI
 #endif
 
 //
 // If we have a standard allocator, then we have a partial one as well:
 //
-#if !defined(BOOST_NO_STD_ALLOCATOR)
-#  define BOOST_HAS_PARTIAL_STD_ALLOCATOR
+#if !defined(NDNBOOST_NO_STD_ALLOCATOR)
+#  define NDNBOOST_HAS_PARTIAL_STD_ALLOCATOR
 #endif
 
 //
 // We can't have a working std::use_facet if there is no std::locale:
 //
-#  if defined(BOOST_NO_STD_LOCALE) && !defined(BOOST_NO_STD_USE_FACET)
-#     define BOOST_NO_STD_USE_FACET
+#  if defined(NDNBOOST_NO_STD_LOCALE) && !defined(NDNBOOST_NO_STD_USE_FACET)
+#     define NDNBOOST_NO_STD_USE_FACET
 #  endif
 
 //
 // We can't have a std::messages facet if there is no std::locale:
 //
-#  if defined(BOOST_NO_STD_LOCALE) && !defined(BOOST_NO_STD_MESSAGES)
-#     define BOOST_NO_STD_MESSAGES
+#  if defined(NDNBOOST_NO_STD_LOCALE) && !defined(NDNBOOST_NO_STD_MESSAGES)
+#     define NDNBOOST_NO_STD_MESSAGES
 #  endif
 
 //
 // We can't have a working std::wstreambuf if there is no std::locale:
 //
-#  if defined(BOOST_NO_STD_LOCALE) && !defined(BOOST_NO_STD_WSTREAMBUF)
-#     define BOOST_NO_STD_WSTREAMBUF
+#  if defined(NDNBOOST_NO_STD_LOCALE) && !defined(NDNBOOST_NO_STD_WSTREAMBUF)
+#     define NDNBOOST_NO_STD_WSTREAMBUF
 #  endif
 
 //
 // We can't have a <cwctype> if there is no <cwchar>:
 //
-#  if defined(BOOST_NO_CWCHAR) && !defined(BOOST_NO_CWCTYPE)
-#     define BOOST_NO_CWCTYPE
+#  if defined(NDNBOOST_NO_CWCHAR) && !defined(NDNBOOST_NO_CWCTYPE)
+#     define NDNBOOST_NO_CWCTYPE
 #  endif
 
 //
 // We can't have a swprintf if there is no <cwchar>:
 //
-#  if defined(BOOST_NO_CWCHAR) && !defined(BOOST_NO_SWPRINTF)
-#     define BOOST_NO_SWPRINTF
+#  if defined(NDNBOOST_NO_CWCHAR) && !defined(NDNBOOST_NO_SWPRINTF)
+#     define NDNBOOST_NO_SWPRINTF
 #  endif
 
 //
@@ -235,9 +235,9 @@
 // threading support also, unless there is some other
 // thread API enabled:
 //
-#if defined(BOOST_DISABLE_WIN32) && defined(_WIN32) \
-   && !defined(BOOST_DISABLE_THREADS) && !defined(BOOST_HAS_PTHREADS)
-#  define BOOST_DISABLE_THREADS
+#if defined(NDNBOOST_DISABLE_WIN32) && defined(_WIN32) \
+   && !defined(NDNBOOST_DISABLE_THREADS) && !defined(NDNBOOST_HAS_PTHREADS)
+#  define NDNBOOST_DISABLE_THREADS
 #endif
 
 //
@@ -248,37 +248,37 @@
 //
 #if (defined(__MT__) || defined(_MT) || defined(_REENTRANT) \
     || defined(_PTHREADS) || defined(__APPLE__) || defined(__DragonFly__)) \
-    && !defined(BOOST_HAS_THREADS)
-#  define BOOST_HAS_THREADS
+    && !defined(NDNBOOST_HAS_THREADS)
+#  define NDNBOOST_HAS_THREADS
 #endif
 
 //
-// Turn threading support off if BOOST_DISABLE_THREADS is defined:
+// Turn threading support off if NDNBOOST_DISABLE_THREADS is defined:
 //
-#if defined(BOOST_DISABLE_THREADS) && defined(BOOST_HAS_THREADS)
-#  undef BOOST_HAS_THREADS
+#if defined(NDNBOOST_DISABLE_THREADS) && defined(NDNBOOST_HAS_THREADS)
+#  undef NDNBOOST_HAS_THREADS
 #endif
 
 //
 // Turn threading support off if we don't recognise the threading API:
 //
-#if defined(BOOST_HAS_THREADS) && !defined(BOOST_HAS_PTHREADS)\
-      && !defined(BOOST_HAS_WINTHREADS) && !defined(BOOST_HAS_BETHREADS)\
-      && !defined(BOOST_HAS_MPTASKS)
-#  undef BOOST_HAS_THREADS
+#if defined(NDNBOOST_HAS_THREADS) && !defined(NDNBOOST_HAS_PTHREADS)\
+      && !defined(NDNBOOST_HAS_WINTHREADS) && !defined(NDNBOOST_HAS_BETHREADS)\
+      && !defined(NDNBOOST_HAS_MPTASKS)
+#  undef NDNBOOST_HAS_THREADS
 #endif
 
 //
 // Turn threading detail macros off if we don't (want to) use threading
 //
-#ifndef BOOST_HAS_THREADS
-#  undef BOOST_HAS_PTHREADS
-#  undef BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
-#  undef BOOST_HAS_PTHREAD_YIELD
-#  undef BOOST_HAS_PTHREAD_DELAY_NP
-#  undef BOOST_HAS_WINTHREADS
-#  undef BOOST_HAS_BETHREADS
-#  undef BOOST_HAS_MPTASKS
+#ifndef NDNBOOST_HAS_THREADS
+#  undef NDNBOOST_HAS_PTHREADS
+#  undef NDNBOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
+#  undef NDNBOOST_HAS_PTHREAD_YIELD
+#  undef NDNBOOST_HAS_PTHREAD_DELAY_NP
+#  undef NDNBOOST_HAS_WINTHREADS
+#  undef NDNBOOST_HAS_BETHREADS
+#  undef NDNBOOST_HAS_MPTASKS
 #endif
 
 //
@@ -286,60 +286,60 @@
 // have a <stdint.h>:
 //
 #  if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901)
-#     define BOOST_HAS_STDINT_H
-#     ifndef BOOST_HAS_LOG1P
-#        define BOOST_HAS_LOG1P
+#     define NDNBOOST_HAS_STDINT_H
+#     ifndef NDNBOOST_HAS_LOG1P
+#        define NDNBOOST_HAS_LOG1P
 #     endif
-#     ifndef BOOST_HAS_EXPM1
-#        define BOOST_HAS_EXPM1
+#     ifndef NDNBOOST_HAS_EXPM1
+#        define NDNBOOST_HAS_EXPM1
 #     endif
 #  endif
 
 //
-// Define BOOST_NO_SLIST and BOOST_NO_HASH if required.
+// Define NDNBOOST_NO_SLIST and NDNBOOST_NO_HASH if required.
 // Note that this is for backwards compatibility only.
 //
-#  if !defined(BOOST_HAS_SLIST) && !defined(BOOST_NO_SLIST)
-#     define BOOST_NO_SLIST
+#  if !defined(NDNBOOST_HAS_SLIST) && !defined(NDNBOOST_NO_SLIST)
+#     define NDNBOOST_NO_SLIST
 #  endif
 
-#  if !defined(BOOST_HAS_HASH) && !defined(BOOST_NO_HASH)
-#     define BOOST_NO_HASH
+#  if !defined(NDNBOOST_HAS_HASH) && !defined(NDNBOOST_NO_HASH)
+#     define NDNBOOST_NO_HASH
 #  endif
 
 //
-// Set BOOST_SLIST_HEADER if not set already:
+// Set NDNBOOST_SLIST_HEADER if not set already:
 //
-#if defined(BOOST_HAS_SLIST) && !defined(BOOST_SLIST_HEADER)
-#  define BOOST_SLIST_HEADER <slist>
+#if defined(NDNBOOST_HAS_SLIST) && !defined(NDNBOOST_SLIST_HEADER)
+#  define NDNBOOST_SLIST_HEADER <slist>
 #endif
 
 //
-// Set BOOST_HASH_SET_HEADER if not set already:
+// Set NDNBOOST_HASH_SET_HEADER if not set already:
 //
-#if defined(BOOST_HAS_HASH) && !defined(BOOST_HASH_SET_HEADER)
-#  define BOOST_HASH_SET_HEADER <hash_set>
+#if defined(NDNBOOST_HAS_HASH) && !defined(NDNBOOST_HASH_SET_HEADER)
+#  define NDNBOOST_HASH_SET_HEADER <hash_set>
 #endif
 
 //
-// Set BOOST_HASH_MAP_HEADER if not set already:
+// Set NDNBOOST_HASH_MAP_HEADER if not set already:
 //
-#if defined(BOOST_HAS_HASH) && !defined(BOOST_HASH_MAP_HEADER)
-#  define BOOST_HASH_MAP_HEADER <hash_map>
+#if defined(NDNBOOST_HAS_HASH) && !defined(NDNBOOST_HASH_MAP_HEADER)
+#  define NDNBOOST_HASH_MAP_HEADER <hash_map>
 #endif
 
-//  BOOST_HAS_ABI_HEADERS
+//  NDNBOOST_HAS_ABI_HEADERS
 //  This macro gets set if we have headers that fix the ABI,
 //  and prevent ODR violations when linking to external libraries:
-#if defined(BOOST_ABI_PREFIX) && defined(BOOST_ABI_SUFFIX) && !defined(BOOST_HAS_ABI_HEADERS)
-#  define BOOST_HAS_ABI_HEADERS
+#if defined(NDNBOOST_ABI_PREFIX) && defined(NDNBOOST_ABI_SUFFIX) && !defined(NDNBOOST_HAS_ABI_HEADERS)
+#  define NDNBOOST_HAS_ABI_HEADERS
 #endif
 
-#if defined(BOOST_HAS_ABI_HEADERS) && defined(BOOST_DISABLE_ABI_HEADERS)
-#  undef BOOST_HAS_ABI_HEADERS
+#if defined(NDNBOOST_HAS_ABI_HEADERS) && defined(NDNBOOST_DISABLE_ABI_HEADERS)
+#  undef NDNBOOST_HAS_ABI_HEADERS
 #endif
 
-//  BOOST_NO_STDC_NAMESPACE workaround  --------------------------------------//
+//  NDNBOOST_NO_STDC_NAMESPACE workaround  --------------------------------------//
 //  Because std::size_t usage is so common, even in boost headers which do not
 //  otherwise use the C library, the <cstddef> workaround is included here so
 //  that ugly workaround code need not appear in many other boost headers.
@@ -348,53 +348,53 @@
 //  works as expected with standard conforming compilers.  The resulting
 //  double inclusion of <cstddef> is harmless.
 
-# if defined(BOOST_NO_STDC_NAMESPACE) && defined(__cplusplus)
+# if defined(NDNBOOST_NO_STDC_NAMESPACE) && defined(__cplusplus)
 #   include <cstddef>
     namespace std { using ::ptrdiff_t; using ::size_t; }
 # endif
 
 //  Workaround for the unfortunate min/max macros defined by some platform headers
 
-#define BOOST_PREVENT_MACRO_SUBSTITUTION
+#define NDNBOOST_PREVENT_MACRO_SUBSTITUTION
 
-#ifndef BOOST_USING_STD_MIN
-#  define BOOST_USING_STD_MIN() using std::min
+#ifndef NDNBOOST_USING_STD_MIN
+#  define NDNBOOST_USING_STD_MIN() using std::min
 #endif
 
-#ifndef BOOST_USING_STD_MAX
-#  define BOOST_USING_STD_MAX() using std::max
+#ifndef NDNBOOST_USING_STD_MAX
+#  define NDNBOOST_USING_STD_MAX() using std::max
 #endif
 
-//  BOOST_NO_STD_MIN_MAX workaround  -----------------------------------------//
+//  NDNBOOST_NO_STD_MIN_MAX workaround  -----------------------------------------//
 
-#  if defined(BOOST_NO_STD_MIN_MAX) && defined(__cplusplus)
+#  if defined(NDNBOOST_NO_STD_MIN_MAX) && defined(__cplusplus)
 
 namespace std {
   template <class _Tp>
-  inline const _Tp& min BOOST_PREVENT_MACRO_SUBSTITUTION (const _Tp& __a, const _Tp& __b) {
+  inline const _Tp& min NDNBOOST_PREVENT_MACRO_SUBSTITUTION (const _Tp& __a, const _Tp& __b) {
     return __b < __a ? __b : __a;
   }
   template <class _Tp>
-  inline const _Tp& max BOOST_PREVENT_MACRO_SUBSTITUTION (const _Tp& __a, const _Tp& __b) {
+  inline const _Tp& max NDNBOOST_PREVENT_MACRO_SUBSTITUTION (const _Tp& __a, const _Tp& __b) {
     return  __a < __b ? __b : __a;
   }
 }
 
 #  endif
 
-// BOOST_STATIC_CONSTANT workaround --------------------------------------- //
+// NDNBOOST_STATIC_CONSTANT workaround --------------------------------------- //
 // On compilers which don't allow in-class initialization of static integral
 // constant members, we must use enums as a workaround if we want the constants
 // to be available at compile-time. This macro gives us a convenient way to
 // declare such constants.
 
-#  ifdef BOOST_NO_INCLASS_MEMBER_INITIALIZATION
-#       define BOOST_STATIC_CONSTANT(type, assignment) enum { assignment }
+#  ifdef NDNBOOST_NO_INCLASS_MEMBER_INITIALIZATION
+#       define NDNBOOST_STATIC_CONSTANT(type, assignment) enum { assignment }
 #  else
-#     define BOOST_STATIC_CONSTANT(type, assignment) static const type assignment
+#     define NDNBOOST_STATIC_CONSTANT(type, assignment) static const type assignment
 #  endif
 
-// BOOST_USE_FACET / HAS_FACET workaround ----------------------------------//
+// NDNBOOST_USE_FACET / HAS_FACET workaround ----------------------------------//
 // When the standard library does not have a conforming std::use_facet there
 // are various workarounds available, but they differ from library to library.
 // The same problem occurs with has_facet.
@@ -403,27 +403,27 @@
 //    replace
 //       std::use_facet<Type>(loc);
 //    with
-//       BOOST_USE_FACET(Type, loc);
-//    Note do not add a std:: prefix to the front of BOOST_USE_FACET!
-//  Use for BOOST_HAS_FACET is analogous.
+//       NDNBOOST_USE_FACET(Type, loc);
+//    Note do not add a std:: prefix to the front of NDNBOOST_USE_FACET!
+//  Use for NDNBOOST_HAS_FACET is analogous.
 
-#if defined(BOOST_NO_STD_USE_FACET)
-#  ifdef BOOST_HAS_TWO_ARG_USE_FACET
-#     define BOOST_USE_FACET(Type, loc) std::use_facet(loc, static_cast<Type*>(0))
-#     define BOOST_HAS_FACET(Type, loc) std::has_facet(loc, static_cast<Type*>(0))
-#  elif defined(BOOST_HAS_MACRO_USE_FACET)
-#     define BOOST_USE_FACET(Type, loc) std::_USE(loc, Type)
-#     define BOOST_HAS_FACET(Type, loc) std::_HAS(loc, Type)
-#  elif defined(BOOST_HAS_STLP_USE_FACET)
-#     define BOOST_USE_FACET(Type, loc) (*std::_Use_facet<Type >(loc))
-#     define BOOST_HAS_FACET(Type, loc) std::has_facet< Type >(loc)
+#if defined(NDNBOOST_NO_STD_USE_FACET)
+#  ifdef NDNBOOST_HAS_TWO_ARG_USE_FACET
+#     define NDNBOOST_USE_FACET(Type, loc) std::use_facet(loc, static_cast<Type*>(0))
+#     define NDNBOOST_HAS_FACET(Type, loc) std::has_facet(loc, static_cast<Type*>(0))
+#  elif defined(NDNBOOST_HAS_MACRO_USE_FACET)
+#     define NDNBOOST_USE_FACET(Type, loc) std::_USE(loc, Type)
+#     define NDNBOOST_HAS_FACET(Type, loc) std::_HAS(loc, Type)
+#  elif defined(NDNBOOST_HAS_STLP_USE_FACET)
+#     define NDNBOOST_USE_FACET(Type, loc) (*std::_Use_facet<Type >(loc))
+#     define NDNBOOST_HAS_FACET(Type, loc) std::has_facet< Type >(loc)
 #  endif
 #else
-#  define BOOST_USE_FACET(Type, loc) std::use_facet< Type >(loc)
-#  define BOOST_HAS_FACET(Type, loc) std::has_facet< Type >(loc)
+#  define NDNBOOST_USE_FACET(Type, loc) std::use_facet< Type >(loc)
+#  define NDNBOOST_HAS_FACET(Type, loc) std::has_facet< Type >(loc)
 #endif
 
-// BOOST_NESTED_TEMPLATE workaround ------------------------------------------//
+// NDNBOOST_NESTED_TEMPLATE workaround ------------------------------------------//
 // Member templates are supported by some compilers even though they can't use
 // the A::template member<U> syntax, as a workaround replace:
 //
@@ -431,26 +431,26 @@
 //
 // with:
 //
-// typedef typename A::BOOST_NESTED_TEMPLATE rebind<U> binder;
+// typedef typename A::NDNBOOST_NESTED_TEMPLATE rebind<U> binder;
 
-#ifndef BOOST_NO_MEMBER_TEMPLATE_KEYWORD
-#  define BOOST_NESTED_TEMPLATE template
+#ifndef NDNBOOST_NO_MEMBER_TEMPLATE_KEYWORD
+#  define NDNBOOST_NESTED_TEMPLATE template
 #else
-#  define BOOST_NESTED_TEMPLATE
+#  define NDNBOOST_NESTED_TEMPLATE
 #endif
 
-// BOOST_UNREACHABLE_RETURN(x) workaround -------------------------------------//
-// Normally evaluates to nothing, unless BOOST_NO_UNREACHABLE_RETURN_DETECTION
+// NDNBOOST_UNREACHABLE_RETURN(x) workaround -------------------------------------//
+// Normally evaluates to nothing, unless NDNBOOST_NO_UNREACHABLE_RETURN_DETECTION
 // is defined, in which case it evaluates to return x; Use when you have a return
 // statement that can never be reached.
 
-#ifdef BOOST_NO_UNREACHABLE_RETURN_DETECTION
-#  define BOOST_UNREACHABLE_RETURN(x) return x;
+#ifdef NDNBOOST_NO_UNREACHABLE_RETURN_DETECTION
+#  define NDNBOOST_UNREACHABLE_RETURN(x) return x;
 #else
-#  define BOOST_UNREACHABLE_RETURN(x)
+#  define NDNBOOST_UNREACHABLE_RETURN(x)
 #endif
 
-// BOOST_DEDUCED_TYPENAME workaround ------------------------------------------//
+// NDNBOOST_DEDUCED_TYPENAME workaround ------------------------------------------//
 //
 // Some compilers don't support the use of `typename' for dependent
 // types in deduced contexts, e.g.
@@ -459,18 +459,18 @@
 //                                  ^^^^^^^^
 // Replace these declarations with:
 //
-//     template <class T> void f(T, BOOST_DEDUCED_TYPENAME T::type);
+//     template <class T> void f(T, NDNBOOST_DEDUCED_TYPENAME T::type);
 
-#ifndef BOOST_NO_DEDUCED_TYPENAME
-#  define BOOST_DEDUCED_TYPENAME typename
+#ifndef NDNBOOST_NO_DEDUCED_TYPENAME
+#  define NDNBOOST_DEDUCED_TYPENAME typename
 #else
-#  define BOOST_DEDUCED_TYPENAME
+#  define NDNBOOST_DEDUCED_TYPENAME
 #endif
 
-#ifndef BOOST_NO_TYPENAME_WITH_CTOR
-#  define BOOST_CTOR_TYPENAME typename
+#ifndef NDNBOOST_NO_TYPENAME_WITH_CTOR
+#  define NDNBOOST_CTOR_TYPENAME typename
 #else
-#  define BOOST_CTOR_TYPENAME
+#  define NDNBOOST_CTOR_TYPENAME
 #endif
 
 // long long workaround ------------------------------------------//
@@ -478,7 +478,7 @@
 // but it's use may generate either warnings (with -ansi), or errors
 // (with -pedantic -ansi) unless it's use is prefixed by __extension__
 //
-#if defined(BOOST_HAS_LONG_LONG) && defined(__cplusplus)
+#if defined(NDNBOOST_HAS_LONG_LONG) && defined(__cplusplus)
 namespace ndnboost{
 #  ifdef __GNUC__
    __extension__ typedef long long long_long_type;
@@ -490,7 +490,7 @@
 }
 #endif
 // same again for __int128:
-#if defined(BOOST_HAS_INT128) && defined(__cplusplus)
+#if defined(NDNBOOST_HAS_INT128) && defined(__cplusplus)
 namespace ndnboost{
 #  ifdef __GNUC__
    __extension__ typedef __int128 int128_type;
@@ -502,7 +502,7 @@
 }
 #endif
 
-// BOOST_[APPEND_]EXPLICIT_TEMPLATE_[NON_]TYPE macros --------------------------//
+// NDNBOOST_[APPEND_]EXPLICIT_TEMPLATE_[NON_]TYPE macros --------------------------//
 //
 // Some compilers have problems with function templates whose template
 // parameters don't appear in the function parameter list (basically
@@ -537,52 +537,52 @@
 // To fix it, write
 //
 //   template <int n>
-//   void f(BOOST_EXPLICIT_TEMPLATE_NON_TYPE(int, n)) { ... }
+//   void f(NDNBOOST_EXPLICIT_TEMPLATE_NON_TYPE(int, n)) { ... }
 //
 //   template <typename T>
-//   void g(BOOST_EXPLICIT_TEMPLATE_TYPE(T)) { ... }
+//   void g(NDNBOOST_EXPLICIT_TEMPLATE_TYPE(T)) { ... }
 //
 
 
-#if defined(BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS) && defined(__cplusplus)
+#if defined(NDNBOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS) && defined(__cplusplus)
 
 #  include "ndnboost/type.hpp"
 #  include "ndnboost/non_type.hpp"
 
-#  define BOOST_EXPLICIT_TEMPLATE_TYPE(t)              ndnboost::type<t>* = 0
-#  define BOOST_EXPLICIT_TEMPLATE_TYPE_SPEC(t)         ndnboost::type<t>*
-#  define BOOST_EXPLICIT_TEMPLATE_NON_TYPE(t, v)       ndnboost::non_type<t, v>* = 0
-#  define BOOST_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v)  ndnboost::non_type<t, v>*
+#  define NDNBOOST_EXPLICIT_TEMPLATE_TYPE(t)              ndnboost::type<t>* = 0
+#  define NDNBOOST_EXPLICIT_TEMPLATE_TYPE_SPEC(t)         ndnboost::type<t>*
+#  define NDNBOOST_EXPLICIT_TEMPLATE_NON_TYPE(t, v)       ndnboost::non_type<t, v>* = 0
+#  define NDNBOOST_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v)  ndnboost::non_type<t, v>*
 
-#  define BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE(t)        \
-             , BOOST_EXPLICIT_TEMPLATE_TYPE(t)
-#  define BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE_SPEC(t)   \
-             , BOOST_EXPLICIT_TEMPLATE_TYPE_SPEC(t)
-#  define BOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE(t, v) \
-             , BOOST_EXPLICIT_TEMPLATE_NON_TYPE(t, v)
-#  define BOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v)    \
-             , BOOST_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v)
+#  define NDNBOOST_APPEND_EXPLICIT_TEMPLATE_TYPE(t)        \
+             , NDNBOOST_EXPLICIT_TEMPLATE_TYPE(t)
+#  define NDNBOOST_APPEND_EXPLICIT_TEMPLATE_TYPE_SPEC(t)   \
+             , NDNBOOST_EXPLICIT_TEMPLATE_TYPE_SPEC(t)
+#  define NDNBOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE(t, v) \
+             , NDNBOOST_EXPLICIT_TEMPLATE_NON_TYPE(t, v)
+#  define NDNBOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v)    \
+             , NDNBOOST_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v)
 
 #else
 
 // no workaround needed: expand to nothing
 
-#  define BOOST_EXPLICIT_TEMPLATE_TYPE(t)
-#  define BOOST_EXPLICIT_TEMPLATE_TYPE_SPEC(t)
-#  define BOOST_EXPLICIT_TEMPLATE_NON_TYPE(t, v)
-#  define BOOST_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v)
+#  define NDNBOOST_EXPLICIT_TEMPLATE_TYPE(t)
+#  define NDNBOOST_EXPLICIT_TEMPLATE_TYPE_SPEC(t)
+#  define NDNBOOST_EXPLICIT_TEMPLATE_NON_TYPE(t, v)
+#  define NDNBOOST_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v)
 
-#  define BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE(t)
-#  define BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE_SPEC(t)
-#  define BOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE(t, v)
-#  define BOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v)
+#  define NDNBOOST_APPEND_EXPLICIT_TEMPLATE_TYPE(t)
+#  define NDNBOOST_APPEND_EXPLICIT_TEMPLATE_TYPE_SPEC(t)
+#  define NDNBOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE(t, v)
+#  define NDNBOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v)
 
 
-#endif // defined BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS
+#endif // defined NDNBOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS
 
-// When BOOST_NO_STD_TYPEINFO is defined, we can just import
+// When NDNBOOST_NO_STD_TYPEINFO is defined, we can just import
 // the global definition into std namespace:
-#if defined(BOOST_NO_STD_TYPEINFO) && defined(__cplusplus)
+#if defined(NDNBOOST_NO_STD_TYPEINFO) && defined(__cplusplus)
 #include <typeinfo>
 namespace std{ using ::type_info; }
 #endif
@@ -590,166 +590,166 @@
 // ---------------------------------------------------------------------------//
 
 //
-// Helper macro BOOST_STRINGIZE:
+// Helper macro NDNBOOST_STRINGIZE:
 // Converts the parameter X to a string after macro replacement
 // on X has been performed.
 //
-#define BOOST_STRINGIZE(X) BOOST_DO_STRINGIZE(X)
-#define BOOST_DO_STRINGIZE(X) #X
+#define NDNBOOST_STRINGIZE(X) NDNBOOST_DO_STRINGIZE(X)
+#define NDNBOOST_DO_STRINGIZE(X) #X
 
 //
-// Helper macro BOOST_JOIN:
+// Helper macro NDNBOOST_JOIN:
 // The following piece of macro magic joins the two
 // arguments together, even when one of the arguments is
 // itself a macro (see 16.3.1 in C++ standard).  The key
 // is that macro expansion of macro arguments does not
-// occur in BOOST_DO_JOIN2 but does in BOOST_DO_JOIN.
+// occur in NDNBOOST_DO_JOIN2 but does in NDNBOOST_DO_JOIN.
 //
-#define BOOST_JOIN( X, Y ) BOOST_DO_JOIN( X, Y )
-#define BOOST_DO_JOIN( X, Y ) BOOST_DO_JOIN2(X,Y)
-#define BOOST_DO_JOIN2( X, Y ) X##Y
+#define NDNBOOST_JOIN( X, Y ) NDNBOOST_DO_JOIN( X, Y )
+#define NDNBOOST_DO_JOIN( X, Y ) NDNBOOST_DO_JOIN2(X,Y)
+#define NDNBOOST_DO_JOIN2( X, Y ) X##Y
 
 //
 // Set some default values for compiler/library/platform names.
 // These are for debugging config setup only:
 //
-#  ifndef BOOST_COMPILER
-#     define BOOST_COMPILER "Unknown ISO C++ Compiler"
+#  ifndef NDNBOOST_COMPILER
+#     define NDNBOOST_COMPILER "Unknown ISO C++ Compiler"
 #  endif
-#  ifndef BOOST_STDLIB
-#     define BOOST_STDLIB "Unknown ISO standard library"
+#  ifndef NDNBOOST_STDLIB
+#     define NDNBOOST_STDLIB "Unknown ISO standard library"
 #  endif
-#  ifndef BOOST_PLATFORM
+#  ifndef NDNBOOST_PLATFORM
 #     if defined(unix) || defined(__unix) || defined(_XOPEN_SOURCE) \
          || defined(_POSIX_SOURCE)
-#        define BOOST_PLATFORM "Generic Unix"
+#        define NDNBOOST_PLATFORM "Generic Unix"
 #     else
-#        define BOOST_PLATFORM "Unknown"
+#        define NDNBOOST_PLATFORM "Unknown"
 #     endif
 #  endif
 
 //
 // Set some default values GPU support
 //
-#  ifndef BOOST_GPU_ENABLED
-#  define BOOST_GPU_ENABLED 
+#  ifndef NDNBOOST_GPU_ENABLED
+#  define NDNBOOST_GPU_ENABLED 
 #  endif
 
-// BOOST_FORCEINLINE ---------------------------------------------//
+// NDNBOOST_FORCEINLINE ---------------------------------------------//
 // Macro to use in place of 'inline' to force a function to be inline
-#if !defined(BOOST_FORCEINLINE)
+#if !defined(NDNBOOST_FORCEINLINE)
 #  if defined(_MSC_VER)
-#    define BOOST_FORCEINLINE __forceinline
+#    define NDNBOOST_FORCEINLINE __forceinline
 #  elif defined(__GNUC__) && __GNUC__ > 3
      // Clang also defines __GNUC__ (as 4)
-#    define BOOST_FORCEINLINE inline __attribute__ ((__always_inline__))
+#    define NDNBOOST_FORCEINLINE inline __attribute__ ((__always_inline__))
 #  else
-#    define BOOST_FORCEINLINE inline
+#    define NDNBOOST_FORCEINLINE inline
 #  endif
 #endif
 
 //
-// Set BOOST_NO_DECLTYPE_N3276 when BOOST_NO_DECLTYPE is defined
+// Set NDNBOOST_NO_DECLTYPE_N3276 when NDNBOOST_NO_DECLTYPE is defined
 //
-#if defined(BOOST_NO_CXX11_DECLTYPE) && !defined(BOOST_NO_CXX11_DECLTYPE_N3276)
-#define	BOOST_NO_CXX11_DECLTYPE_N3276 BOOST_NO_CXX11_DECLTYPE
+#if defined(NDNBOOST_NO_CXX11_DECLTYPE) && !defined(NDNBOOST_NO_CXX11_DECLTYPE_N3276)
+#define	NDNBOOST_NO_CXX11_DECLTYPE_N3276 NDNBOOST_NO_CXX11_DECLTYPE
 #endif
 
 //  -------------------- Deprecated macros for 1.50 ---------------------------
 //  These will go away in a future release
 
-//  Use BOOST_NO_CXX11_HDR_UNORDERED_SET or BOOST_NO_CXX11_HDR_UNORDERED_MAP
-//           instead of BOOST_NO_STD_UNORDERED
-#if defined(BOOST_NO_CXX11_HDR_UNORDERED_MAP) || defined (BOOST_NO_CXX11_HDR_UNORDERED_SET)
-# ifndef BOOST_NO_CXX11_STD_UNORDERED
-#  define BOOST_NO_CXX11_STD_UNORDERED
+//  Use NDNBOOST_NO_CXX11_HDR_UNORDERED_SET or NDNBOOST_NO_CXX11_HDR_UNORDERED_MAP
+//           instead of NDNBOOST_NO_STD_UNORDERED
+#if defined(NDNBOOST_NO_CXX11_HDR_UNORDERED_MAP) || defined (NDNBOOST_NO_CXX11_HDR_UNORDERED_SET)
+# ifndef NDNBOOST_NO_CXX11_STD_UNORDERED
+#  define NDNBOOST_NO_CXX11_STD_UNORDERED
 # endif
 #endif
 
-//  Use BOOST_NO_CXX11_HDR_INITIALIZER_LIST instead of BOOST_NO_INITIALIZER_LISTS
-#if defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST) && !defined(BOOST_NO_INITIALIZER_LISTS)
-#  define BOOST_NO_INITIALIZER_LISTS
+//  Use NDNBOOST_NO_CXX11_HDR_INITIALIZER_LIST instead of NDNBOOST_NO_INITIALIZER_LISTS
+#if defined(NDNBOOST_NO_CXX11_HDR_INITIALIZER_LIST) && !defined(NDNBOOST_NO_INITIALIZER_LISTS)
+#  define NDNBOOST_NO_INITIALIZER_LISTS
 #endif
 
-//  Use BOOST_NO_CXX11_HDR_ARRAY instead of BOOST_NO_0X_HDR_ARRAY
-#if defined(BOOST_NO_CXX11_HDR_ARRAY) && !defined(BOOST_NO_0X_HDR_ARRAY)
-#  define BOOST_NO_0X_HDR_ARRAY
+//  Use NDNBOOST_NO_CXX11_HDR_ARRAY instead of NDNBOOST_NO_0X_HDR_ARRAY
+#if defined(NDNBOOST_NO_CXX11_HDR_ARRAY) && !defined(NDNBOOST_NO_0X_HDR_ARRAY)
+#  define NDNBOOST_NO_0X_HDR_ARRAY
 #endif
-//  Use BOOST_NO_CXX11_HDR_CHRONO instead of BOOST_NO_0X_HDR_CHRONO
-#if defined(BOOST_NO_CXX11_HDR_CHRONO) && !defined(BOOST_NO_0X_HDR_CHRONO)
-#  define BOOST_NO_0X_HDR_CHRONO
+//  Use NDNBOOST_NO_CXX11_HDR_CHRONO instead of NDNBOOST_NO_0X_HDR_CHRONO
+#if defined(NDNBOOST_NO_CXX11_HDR_CHRONO) && !defined(NDNBOOST_NO_0X_HDR_CHRONO)
+#  define NDNBOOST_NO_0X_HDR_CHRONO
 #endif
-//  Use BOOST_NO_CXX11_HDR_CODECVT instead of BOOST_NO_0X_HDR_CODECVT
-#if defined(BOOST_NO_CXX11_HDR_CODECVT) && !defined(BOOST_NO_0X_HDR_CODECVT)
-#  define BOOST_NO_0X_HDR_CODECVT
+//  Use NDNBOOST_NO_CXX11_HDR_CODECVT instead of NDNBOOST_NO_0X_HDR_CODECVT
+#if defined(NDNBOOST_NO_CXX11_HDR_CODECVT) && !defined(NDNBOOST_NO_0X_HDR_CODECVT)
+#  define NDNBOOST_NO_0X_HDR_CODECVT
 #endif
-//  Use BOOST_NO_CXX11_HDR_CONDITION_VARIABLE instead of BOOST_NO_0X_HDR_CONDITION_VARIABLE
-#if defined(BOOST_NO_CXX11_HDR_CONDITION_VARIABLE) && !defined(BOOST_NO_0X_HDR_CONDITION_VARIABLE)
-#  define BOOST_NO_0X_HDR_CONDITION_VARIABLE
+//  Use NDNBOOST_NO_CXX11_HDR_CONDITION_VARIABLE instead of NDNBOOST_NO_0X_HDR_CONDITION_VARIABLE
+#if defined(NDNBOOST_NO_CXX11_HDR_CONDITION_VARIABLE) && !defined(NDNBOOST_NO_0X_HDR_CONDITION_VARIABLE)
+#  define NDNBOOST_NO_0X_HDR_CONDITION_VARIABLE
 #endif
-//  Use BOOST_NO_CXX11_HDR_FORWARD_LIST instead of BOOST_NO_0X_HDR_FORWARD_LIST
-#if defined(BOOST_NO_CXX11_HDR_FORWARD_LIST) && !defined(BOOST_NO_0X_HDR_FORWARD_LIST)
-#  define BOOST_NO_0X_HDR_FORWARD_LIST
+//  Use NDNBOOST_NO_CXX11_HDR_FORWARD_LIST instead of NDNBOOST_NO_0X_HDR_FORWARD_LIST
+#if defined(NDNBOOST_NO_CXX11_HDR_FORWARD_LIST) && !defined(NDNBOOST_NO_0X_HDR_FORWARD_LIST)
+#  define NDNBOOST_NO_0X_HDR_FORWARD_LIST
 #endif
-//  Use BOOST_NO_CXX11_HDR_FUTURE instead of BOOST_NO_0X_HDR_FUTURE
-#if defined(BOOST_NO_CXX11_HDR_FUTURE) && !defined(BOOST_NO_0X_HDR_FUTURE)
-#  define BOOST_NO_0X_HDR_FUTURE
+//  Use NDNBOOST_NO_CXX11_HDR_FUTURE instead of NDNBOOST_NO_0X_HDR_FUTURE
+#if defined(NDNBOOST_NO_CXX11_HDR_FUTURE) && !defined(NDNBOOST_NO_0X_HDR_FUTURE)
+#  define NDNBOOST_NO_0X_HDR_FUTURE
 #endif
 
-//  Use BOOST_NO_CXX11_HDR_INITIALIZER_LIST 
-//  instead of BOOST_NO_0X_HDR_INITIALIZER_LIST or BOOST_NO_INITIALIZER_LISTS
-#ifdef BOOST_NO_CXX11_HDR_INITIALIZER_LIST
-# ifndef BOOST_NO_0X_HDR_INITIALIZER_LIST
-#  define BOOST_NO_0X_HDR_INITIALIZER_LIST
+//  Use NDNBOOST_NO_CXX11_HDR_INITIALIZER_LIST 
+//  instead of NDNBOOST_NO_0X_HDR_INITIALIZER_LIST or NDNBOOST_NO_INITIALIZER_LISTS
+#ifdef NDNBOOST_NO_CXX11_HDR_INITIALIZER_LIST
+# ifndef NDNBOOST_NO_0X_HDR_INITIALIZER_LIST
+#  define NDNBOOST_NO_0X_HDR_INITIALIZER_LIST
 # endif
-# ifndef BOOST_NO_INITIALIZER_LISTS
-#  define BOOST_NO_INITIALIZER_LISTS
+# ifndef NDNBOOST_NO_INITIALIZER_LISTS
+#  define NDNBOOST_NO_INITIALIZER_LISTS
 # endif
 #endif
 
-//  Use BOOST_NO_CXX11_HDR_MUTEX instead of BOOST_NO_0X_HDR_MUTEX
-#if defined(BOOST_NO_CXX11_HDR_MUTEX) && !defined(BOOST_NO_0X_HDR_MUTEX)
-#  define BOOST_NO_0X_HDR_MUTEX
+//  Use NDNBOOST_NO_CXX11_HDR_MUTEX instead of NDNBOOST_NO_0X_HDR_MUTEX
+#if defined(NDNBOOST_NO_CXX11_HDR_MUTEX) && !defined(NDNBOOST_NO_0X_HDR_MUTEX)
+#  define NDNBOOST_NO_0X_HDR_MUTEX
 #endif
-//  Use BOOST_NO_CXX11_HDR_RANDOM instead of BOOST_NO_0X_HDR_RANDOM
-#if defined(BOOST_NO_CXX11_HDR_RANDOM) && !defined(BOOST_NO_0X_HDR_RANDOM)
-#  define BOOST_NO_0X_HDR_RANDOM
+//  Use NDNBOOST_NO_CXX11_HDR_RANDOM instead of NDNBOOST_NO_0X_HDR_RANDOM
+#if defined(NDNBOOST_NO_CXX11_HDR_RANDOM) && !defined(NDNBOOST_NO_0X_HDR_RANDOM)
+#  define NDNBOOST_NO_0X_HDR_RANDOM
 #endif
-//  Use BOOST_NO_CXX11_HDR_RATIO instead of BOOST_NO_0X_HDR_RATIO
-#if defined(BOOST_NO_CXX11_HDR_RATIO) && !defined(BOOST_NO_0X_HDR_RATIO)
-#  define BOOST_NO_0X_HDR_RATIO
+//  Use NDNBOOST_NO_CXX11_HDR_RATIO instead of NDNBOOST_NO_0X_HDR_RATIO
+#if defined(NDNBOOST_NO_CXX11_HDR_RATIO) && !defined(NDNBOOST_NO_0X_HDR_RATIO)
+#  define NDNBOOST_NO_0X_HDR_RATIO
 #endif
-//  Use BOOST_NO_CXX11_HDR_REGEX instead of BOOST_NO_0X_HDR_REGEX
-#if defined(BOOST_NO_CXX11_HDR_REGEX) && !defined(BOOST_NO_0X_HDR_REGEX)
-#  define BOOST_NO_0X_HDR_REGEX
+//  Use NDNBOOST_NO_CXX11_HDR_REGEX instead of NDNBOOST_NO_0X_HDR_REGEX
+#if defined(NDNBOOST_NO_CXX11_HDR_REGEX) && !defined(NDNBOOST_NO_0X_HDR_REGEX)
+#  define NDNBOOST_NO_0X_HDR_REGEX
 #endif
-//  Use BOOST_NO_CXX11_HDR_SYSTEM_ERROR instead of BOOST_NO_0X_HDR_SYSTEM_ERROR
-#if defined(BOOST_NO_CXX11_HDR_SYSTEM_ERROR) && !defined(BOOST_NO_0X_HDR_SYSTEM_ERROR)
-#  define BOOST_NO_0X_HDR_SYSTEM_ERROR
+//  Use NDNBOOST_NO_CXX11_HDR_SYSTEM_ERROR instead of NDNBOOST_NO_0X_HDR_SYSTEM_ERROR
+#if defined(NDNBOOST_NO_CXX11_HDR_SYSTEM_ERROR) && !defined(NDNBOOST_NO_0X_HDR_SYSTEM_ERROR)
+#  define NDNBOOST_NO_0X_HDR_SYSTEM_ERROR
 #endif
-//  Use BOOST_NO_CXX11_HDR_THREAD instead of BOOST_NO_0X_HDR_THREAD
-#if defined(BOOST_NO_CXX11_HDR_THREAD) && !defined(BOOST_NO_0X_HDR_THREAD)
-#  define BOOST_NO_0X_HDR_THREAD
+//  Use NDNBOOST_NO_CXX11_HDR_THREAD instead of NDNBOOST_NO_0X_HDR_THREAD
+#if defined(NDNBOOST_NO_CXX11_HDR_THREAD) && !defined(NDNBOOST_NO_0X_HDR_THREAD)
+#  define NDNBOOST_NO_0X_HDR_THREAD
 #endif
-//  Use BOOST_NO_CXX11_HDR_TUPLE instead of BOOST_NO_0X_HDR_TUPLE
-#if defined(BOOST_NO_CXX11_HDR_TUPLE) && !defined(BOOST_NO_0X_HDR_TUPLE)
-#  define BOOST_NO_0X_HDR_TUPLE
+//  Use NDNBOOST_NO_CXX11_HDR_TUPLE instead of NDNBOOST_NO_0X_HDR_TUPLE
+#if defined(NDNBOOST_NO_CXX11_HDR_TUPLE) && !defined(NDNBOOST_NO_0X_HDR_TUPLE)
+#  define NDNBOOST_NO_0X_HDR_TUPLE
 #endif
-//  Use BOOST_NO_CXX11_HDR_TYPE_TRAITS instead of BOOST_NO_0X_HDR_TYPE_TRAITS
-#if defined(BOOST_NO_CXX11_HDR_TYPE_TRAITS) && !defined(BOOST_NO_0X_HDR_TYPE_TRAITS)
-#  define BOOST_NO_0X_HDR_TYPE_TRAITS
+//  Use NDNBOOST_NO_CXX11_HDR_TYPE_TRAITS instead of NDNBOOST_NO_0X_HDR_TYPE_TRAITS
+#if defined(NDNBOOST_NO_CXX11_HDR_TYPE_TRAITS) && !defined(NDNBOOST_NO_0X_HDR_TYPE_TRAITS)
+#  define NDNBOOST_NO_0X_HDR_TYPE_TRAITS
 #endif
-//  Use BOOST_NO_CXX11_HDR_TYPEINDEX instead of BOOST_NO_0X_HDR_TYPEINDEX
-#if defined(BOOST_NO_CXX11_HDR_TYPEINDEX) && !defined(BOOST_NO_0X_HDR_TYPEINDEX)
-#  define BOOST_NO_0X_HDR_TYPEINDEX
+//  Use NDNBOOST_NO_CXX11_HDR_TYPEINDEX instead of NDNBOOST_NO_0X_HDR_TYPEINDEX
+#if defined(NDNBOOST_NO_CXX11_HDR_TYPEINDEX) && !defined(NDNBOOST_NO_0X_HDR_TYPEINDEX)
+#  define NDNBOOST_NO_0X_HDR_TYPEINDEX
 #endif
-//  Use BOOST_NO_CXX11_HDR_UNORDERED_MAP instead of BOOST_NO_0X_HDR_UNORDERED_MAP
-#if defined(BOOST_NO_CXX11_HDR_UNORDERED_MAP) && !defined(BOOST_NO_0X_HDR_UNORDERED_MAP)
-#  define BOOST_NO_0X_HDR_UNORDERED_MAP
+//  Use NDNBOOST_NO_CXX11_HDR_UNORDERED_MAP instead of NDNBOOST_NO_0X_HDR_UNORDERED_MAP
+#if defined(NDNBOOST_NO_CXX11_HDR_UNORDERED_MAP) && !defined(NDNBOOST_NO_0X_HDR_UNORDERED_MAP)
+#  define NDNBOOST_NO_0X_HDR_UNORDERED_MAP
 #endif
-//  Use BOOST_NO_CXX11_HDR_UNORDERED_SET instead of BOOST_NO_0X_HDR_UNORDERED_SET
-#if defined(BOOST_NO_CXX11_HDR_UNORDERED_SET) && !defined(BOOST_NO_0X_HDR_UNORDERED_SET)
-#  define BOOST_NO_0X_HDR_UNORDERED_SET
+//  Use NDNBOOST_NO_CXX11_HDR_UNORDERED_SET instead of NDNBOOST_NO_0X_HDR_UNORDERED_SET
+#if defined(NDNBOOST_NO_CXX11_HDR_UNORDERED_SET) && !defined(NDNBOOST_NO_0X_HDR_UNORDERED_SET)
+#  define NDNBOOST_NO_0X_HDR_UNORDERED_SET
 #endif
 
 //  ------------------ End of deprecated macros for 1.50 ---------------------------
@@ -757,176 +757,176 @@
 //  -------------------- Deprecated macros for 1.51 ---------------------------
 //  These will go away in a future release
 
-//  Use     BOOST_NO_CXX11_AUTO_DECLARATIONS instead of   BOOST_NO_AUTO_DECLARATIONS
-#if defined(BOOST_NO_CXX11_AUTO_DECLARATIONS) && !defined(BOOST_NO_AUTO_DECLARATIONS)
-#  define BOOST_NO_AUTO_DECLARATIONS
+//  Use     NDNBOOST_NO_CXX11_AUTO_DECLARATIONS instead of   NDNBOOST_NO_AUTO_DECLARATIONS
+#if defined(NDNBOOST_NO_CXX11_AUTO_DECLARATIONS) && !defined(NDNBOOST_NO_AUTO_DECLARATIONS)
+#  define NDNBOOST_NO_AUTO_DECLARATIONS
 #endif
-//  Use     BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS instead of   BOOST_NO_AUTO_MULTIDECLARATIONS
-#if defined(BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS) && !defined(BOOST_NO_AUTO_MULTIDECLARATIONS)
-#  define BOOST_NO_AUTO_MULTIDECLARATIONS
+//  Use     NDNBOOST_NO_CXX11_AUTO_MULTIDECLARATIONS instead of   NDNBOOST_NO_AUTO_MULTIDECLARATIONS
+#if defined(NDNBOOST_NO_CXX11_AUTO_MULTIDECLARATIONS) && !defined(NDNBOOST_NO_AUTO_MULTIDECLARATIONS)
+#  define NDNBOOST_NO_AUTO_MULTIDECLARATIONS
 #endif
-//  Use     BOOST_NO_CXX11_CHAR16_T instead of   BOOST_NO_CHAR16_T
-#if defined(BOOST_NO_CXX11_CHAR16_T) && !defined(BOOST_NO_CHAR16_T)
-#  define BOOST_NO_CHAR16_T
+//  Use     NDNBOOST_NO_CXX11_CHAR16_T instead of   NDNBOOST_NO_CHAR16_T
+#if defined(NDNBOOST_NO_CXX11_CHAR16_T) && !defined(NDNBOOST_NO_CHAR16_T)
+#  define NDNBOOST_NO_CHAR16_T
 #endif
-//  Use     BOOST_NO_CXX11_CHAR32_T instead of   BOOST_NO_CHAR32_T
-#if defined(BOOST_NO_CXX11_CHAR32_T) && !defined(BOOST_NO_CHAR32_T)
-#  define BOOST_NO_CHAR32_T
+//  Use     NDNBOOST_NO_CXX11_CHAR32_T instead of   NDNBOOST_NO_CHAR32_T
+#if defined(NDNBOOST_NO_CXX11_CHAR32_T) && !defined(NDNBOOST_NO_CHAR32_T)
+#  define NDNBOOST_NO_CHAR32_T
 #endif
-//  Use     BOOST_NO_CXX11_TEMPLATE_ALIASES instead of   BOOST_NO_TEMPLATE_ALIASES
-#if defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) && !defined(BOOST_NO_TEMPLATE_ALIASES)
-#  define BOOST_NO_TEMPLATE_ALIASES
+//  Use     NDNBOOST_NO_CXX11_TEMPLATE_ALIASES instead of   NDNBOOST_NO_TEMPLATE_ALIASES
+#if defined(NDNBOOST_NO_CXX11_TEMPLATE_ALIASES) && !defined(NDNBOOST_NO_TEMPLATE_ALIASES)
+#  define NDNBOOST_NO_TEMPLATE_ALIASES
 #endif
-//  Use     BOOST_NO_CXX11_CONSTEXPR instead of   BOOST_NO_CONSTEXPR
-#if defined(BOOST_NO_CXX11_CONSTEXPR) && !defined(BOOST_NO_CONSTEXPR)
-#  define BOOST_NO_CONSTEXPR
+//  Use     NDNBOOST_NO_CXX11_CONSTEXPR instead of   NDNBOOST_NO_CONSTEXPR
+#if defined(NDNBOOST_NO_CXX11_CONSTEXPR) && !defined(NDNBOOST_NO_CONSTEXPR)
+#  define NDNBOOST_NO_CONSTEXPR
 #endif
-//  Use     BOOST_NO_CXX11_DECLTYPE_N3276 instead of   BOOST_NO_DECLTYPE_N3276
-#if defined(BOOST_NO_CXX11_DECLTYPE_N3276) && !defined(BOOST_NO_DECLTYPE_N3276)
-#  define BOOST_NO_DECLTYPE_N3276
+//  Use     NDNBOOST_NO_CXX11_DECLTYPE_N3276 instead of   NDNBOOST_NO_DECLTYPE_N3276
+#if defined(NDNBOOST_NO_CXX11_DECLTYPE_N3276) && !defined(NDNBOOST_NO_DECLTYPE_N3276)
+#  define NDNBOOST_NO_DECLTYPE_N3276
 #endif
-//  Use     BOOST_NO_CXX11_DECLTYPE instead of   BOOST_NO_DECLTYPE
-#if defined(BOOST_NO_CXX11_DECLTYPE) && !defined(BOOST_NO_DECLTYPE)
-#  define BOOST_NO_DECLTYPE
+//  Use     NDNBOOST_NO_CXX11_DECLTYPE instead of   NDNBOOST_NO_DECLTYPE
+#if defined(NDNBOOST_NO_CXX11_DECLTYPE) && !defined(NDNBOOST_NO_DECLTYPE)
+#  define NDNBOOST_NO_DECLTYPE
 #endif
-//  Use     BOOST_NO_CXX11_DEFAULTED_FUNCTIONS instead of   BOOST_NO_DEFAULTED_FUNCTIONS
-#if defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS) && !defined(BOOST_NO_DEFAULTED_FUNCTIONS)
-#  define BOOST_NO_DEFAULTED_FUNCTIONS
+//  Use     NDNBOOST_NO_CXX11_DEFAULTED_FUNCTIONS instead of   NDNBOOST_NO_DEFAULTED_FUNCTIONS
+#if defined(NDNBOOST_NO_CXX11_DEFAULTED_FUNCTIONS) && !defined(NDNBOOST_NO_DEFAULTED_FUNCTIONS)
+#  define NDNBOOST_NO_DEFAULTED_FUNCTIONS
 #endif
-//  Use     BOOST_NO_CXX11_DELETED_FUNCTIONS instead of   BOOST_NO_DELETED_FUNCTIONS
-#if defined(BOOST_NO_CXX11_DELETED_FUNCTIONS) && !defined(BOOST_NO_DELETED_FUNCTIONS)
-#  define BOOST_NO_DELETED_FUNCTIONS
+//  Use     NDNBOOST_NO_CXX11_DELETED_FUNCTIONS instead of   NDNBOOST_NO_DELETED_FUNCTIONS
+#if defined(NDNBOOST_NO_CXX11_DELETED_FUNCTIONS) && !defined(NDNBOOST_NO_DELETED_FUNCTIONS)
+#  define NDNBOOST_NO_DELETED_FUNCTIONS
 #endif
-//  Use     BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS instead of   BOOST_NO_EXPLICIT_CONVERSION_OPERATORS
-#if defined(BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS) && !defined(BOOST_NO_EXPLICIT_CONVERSION_OPERATORS)
-#  define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS
+//  Use     NDNBOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS instead of   NDNBOOST_NO_EXPLICIT_CONVERSION_OPERATORS
+#if defined(NDNBOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS) && !defined(NDNBOOST_NO_EXPLICIT_CONVERSION_OPERATORS)
+#  define NDNBOOST_NO_EXPLICIT_CONVERSION_OPERATORS
 #endif
-//  Use     BOOST_NO_CXX11_EXTERN_TEMPLATE instead of   BOOST_NO_EXTERN_TEMPLATE
-#if defined(BOOST_NO_CXX11_EXTERN_TEMPLATE) && !defined(BOOST_NO_EXTERN_TEMPLATE)
-#  define BOOST_NO_EXTERN_TEMPLATE
+//  Use     NDNBOOST_NO_CXX11_EXTERN_TEMPLATE instead of   NDNBOOST_NO_EXTERN_TEMPLATE
+#if defined(NDNBOOST_NO_CXX11_EXTERN_TEMPLATE) && !defined(NDNBOOST_NO_EXTERN_TEMPLATE)
+#  define NDNBOOST_NO_EXTERN_TEMPLATE
 #endif
-//  Use     BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS instead of   BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS
-#if defined(BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS) && !defined(BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS)
-#  define BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS
+//  Use     NDNBOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS instead of   NDNBOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS
+#if defined(NDNBOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS) && !defined(NDNBOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS)
+#  define NDNBOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS
 #endif
-//  Use     BOOST_NO_CXX11_LAMBDAS instead of   BOOST_NO_LAMBDAS
-#if defined(BOOST_NO_CXX11_LAMBDAS) && !defined(BOOST_NO_LAMBDAS)
-#  define BOOST_NO_LAMBDAS
+//  Use     NDNBOOST_NO_CXX11_LAMBDAS instead of   NDNBOOST_NO_LAMBDAS
+#if defined(NDNBOOST_NO_CXX11_LAMBDAS) && !defined(NDNBOOST_NO_LAMBDAS)
+#  define NDNBOOST_NO_LAMBDAS
 #endif
-//  Use     BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS instead of   BOOST_NO_LOCAL_CLASS_TEMPLATE_PARAMETERS
-#if defined(BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS) && !defined(BOOST_NO_LOCAL_CLASS_TEMPLATE_PARAMETERS)
-#  define BOOST_NO_LOCAL_CLASS_TEMPLATE_PARAMETERS
+//  Use     NDNBOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS instead of   NDNBOOST_NO_LOCAL_CLASS_TEMPLATE_PARAMETERS
+#if defined(NDNBOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS) && !defined(NDNBOOST_NO_LOCAL_CLASS_TEMPLATE_PARAMETERS)
+#  define NDNBOOST_NO_LOCAL_CLASS_TEMPLATE_PARAMETERS
 #endif
-//  Use     BOOST_NO_CXX11_NOEXCEPT instead of   BOOST_NO_NOEXCEPT
-#if defined(BOOST_NO_CXX11_NOEXCEPT) && !defined(BOOST_NO_NOEXCEPT)
-#  define BOOST_NO_NOEXCEPT
+//  Use     NDNBOOST_NO_CXX11_NOEXCEPT instead of   NDNBOOST_NO_NOEXCEPT
+#if defined(NDNBOOST_NO_CXX11_NOEXCEPT) && !defined(NDNBOOST_NO_NOEXCEPT)
+#  define NDNBOOST_NO_NOEXCEPT
 #endif
-//  Use     BOOST_NO_CXX11_NULLPTR instead of   BOOST_NO_NULLPTR
-#if defined(BOOST_NO_CXX11_NULLPTR) && !defined(BOOST_NO_NULLPTR)
-#  define BOOST_NO_NULLPTR
+//  Use     NDNBOOST_NO_CXX11_NULLPTR instead of   NDNBOOST_NO_NULLPTR
+#if defined(NDNBOOST_NO_CXX11_NULLPTR) && !defined(NDNBOOST_NO_NULLPTR)
+#  define NDNBOOST_NO_NULLPTR
 #endif
-//  Use     BOOST_NO_CXX11_RAW_LITERALS instead of   BOOST_NO_RAW_LITERALS
-#if defined(BOOST_NO_CXX11_RAW_LITERALS) && !defined(BOOST_NO_RAW_LITERALS)
-#  define BOOST_NO_RAW_LITERALS
+//  Use     NDNBOOST_NO_CXX11_RAW_LITERALS instead of   NDNBOOST_NO_RAW_LITERALS
+#if defined(NDNBOOST_NO_CXX11_RAW_LITERALS) && !defined(NDNBOOST_NO_RAW_LITERALS)
+#  define NDNBOOST_NO_RAW_LITERALS
 #endif
-//  Use     BOOST_NO_CXX11_RVALUE_REFERENCES instead of   BOOST_NO_RVALUE_REFERENCES
-#if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && !defined(BOOST_NO_RVALUE_REFERENCES)
-#  define BOOST_NO_RVALUE_REFERENCES
+//  Use     NDNBOOST_NO_CXX11_RVALUE_REFERENCES instead of   NDNBOOST_NO_RVALUE_REFERENCES
+#if defined(NDNBOOST_NO_CXX11_RVALUE_REFERENCES) && !defined(NDNBOOST_NO_RVALUE_REFERENCES)
+#  define NDNBOOST_NO_RVALUE_REFERENCES
 #endif
-//  Use     BOOST_NO_CXX11_SCOPED_ENUMS instead of   BOOST_NO_SCOPED_ENUMS
-#if defined(BOOST_NO_CXX11_SCOPED_ENUMS) && !defined(BOOST_NO_SCOPED_ENUMS)
-#  define BOOST_NO_SCOPED_ENUMS
+//  Use     NDNBOOST_NO_CXX11_SCOPED_ENUMS instead of   NDNBOOST_NO_SCOPED_ENUMS
+#if defined(NDNBOOST_NO_CXX11_SCOPED_ENUMS) && !defined(NDNBOOST_NO_SCOPED_ENUMS)
+#  define NDNBOOST_NO_SCOPED_ENUMS
 #endif
-//  Use     BOOST_NO_CXX11_STATIC_ASSERT instead of   BOOST_NO_STATIC_ASSERT
-#if defined(BOOST_NO_CXX11_STATIC_ASSERT) && !defined(BOOST_NO_STATIC_ASSERT)
-#  define BOOST_NO_STATIC_ASSERT
+//  Use     NDNBOOST_NO_CXX11_STATIC_ASSERT instead of   NDNBOOST_NO_STATIC_ASSERT
+#if defined(NDNBOOST_NO_CXX11_STATIC_ASSERT) && !defined(NDNBOOST_NO_STATIC_ASSERT)
+#  define NDNBOOST_NO_STATIC_ASSERT
 #endif
-//  Use     BOOST_NO_CXX11_STD_UNORDERED instead of   BOOST_NO_STD_UNORDERED
-#if defined(BOOST_NO_CXX11_STD_UNORDERED) && !defined(BOOST_NO_STD_UNORDERED)
-#  define BOOST_NO_STD_UNORDERED
+//  Use     NDNBOOST_NO_CXX11_STD_UNORDERED instead of   NDNBOOST_NO_STD_UNORDERED
+#if defined(NDNBOOST_NO_CXX11_STD_UNORDERED) && !defined(NDNBOOST_NO_STD_UNORDERED)
+#  define NDNBOOST_NO_STD_UNORDERED
 #endif
-//  Use     BOOST_NO_CXX11_UNICODE_LITERALS instead of   BOOST_NO_UNICODE_LITERALS
-#if defined(BOOST_NO_CXX11_UNICODE_LITERALS) && !defined(BOOST_NO_UNICODE_LITERALS)
-#  define BOOST_NO_UNICODE_LITERALS
+//  Use     NDNBOOST_NO_CXX11_UNICODE_LITERALS instead of   NDNBOOST_NO_UNICODE_LITERALS
+#if defined(NDNBOOST_NO_CXX11_UNICODE_LITERALS) && !defined(NDNBOOST_NO_UNICODE_LITERALS)
+#  define NDNBOOST_NO_UNICODE_LITERALS
 #endif
-//  Use     BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX instead of   BOOST_NO_UNIFIED_INITIALIZATION_SYNTAX
-#if defined(BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX) && !defined(BOOST_NO_UNIFIED_INITIALIZATION_SYNTAX)
-#  define BOOST_NO_UNIFIED_INITIALIZATION_SYNTAX
+//  Use     NDNBOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX instead of   NDNBOOST_NO_UNIFIED_INITIALIZATION_SYNTAX
+#if defined(NDNBOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX) && !defined(NDNBOOST_NO_UNIFIED_INITIALIZATION_SYNTAX)
+#  define NDNBOOST_NO_UNIFIED_INITIALIZATION_SYNTAX
 #endif
-//  Use     BOOST_NO_CXX11_VARIADIC_TEMPLATES instead of   BOOST_NO_VARIADIC_TEMPLATES
-#if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && !defined(BOOST_NO_VARIADIC_TEMPLATES)
-#  define BOOST_NO_VARIADIC_TEMPLATES
+//  Use     NDNBOOST_NO_CXX11_VARIADIC_TEMPLATES instead of   NDNBOOST_NO_VARIADIC_TEMPLATES
+#if defined(NDNBOOST_NO_CXX11_VARIADIC_TEMPLATES) && !defined(NDNBOOST_NO_VARIADIC_TEMPLATES)
+#  define NDNBOOST_NO_VARIADIC_TEMPLATES
 #endif
-//  Use     BOOST_NO_CXX11_VARIADIC_MACROS instead of   BOOST_NO_VARIADIC_MACROS
-#if defined(BOOST_NO_CXX11_VARIADIC_MACROS) && !defined(BOOST_NO_VARIADIC_MACROS)
-#  define BOOST_NO_VARIADIC_MACROS
+//  Use     NDNBOOST_NO_CXX11_VARIADIC_MACROS instead of   NDNBOOST_NO_VARIADIC_MACROS
+#if defined(NDNBOOST_NO_CXX11_VARIADIC_MACROS) && !defined(NDNBOOST_NO_VARIADIC_MACROS)
+#  define NDNBOOST_NO_VARIADIC_MACROS
 #endif
-//  Use     BOOST_NO_CXX11_NUMERIC_LIMITS instead of   BOOST_NO_NUMERIC_LIMITS_LOWEST
-#if defined(BOOST_NO_CXX11_NUMERIC_LIMITS) && !defined(BOOST_NO_NUMERIC_LIMITS_LOWEST)
-#  define BOOST_NO_NUMERIC_LIMITS_LOWEST
+//  Use     NDNBOOST_NO_CXX11_NUMERIC_LIMITS instead of   NDNBOOST_NO_NUMERIC_LIMITS_LOWEST
+#if defined(NDNBOOST_NO_CXX11_NUMERIC_LIMITS) && !defined(NDNBOOST_NO_NUMERIC_LIMITS_LOWEST)
+#  define NDNBOOST_NO_NUMERIC_LIMITS_LOWEST
 #endif
 //  ------------------ End of deprecated macros for 1.51 ---------------------------
 
 
 
 //
-// Helper macros BOOST_NOEXCEPT, BOOST_NOEXCEPT_IF, BOOST_NOEXCEPT_EXPR
+// Helper macros NDNBOOST_NOEXCEPT, NDNBOOST_NOEXCEPT_IF, NDNBOOST_NOEXCEPT_EXPR
 // These aid the transition to C++11 while still supporting C++03 compilers
 //
-#ifdef BOOST_NO_CXX11_NOEXCEPT
-#  define BOOST_NOEXCEPT
-#  define BOOST_NOEXCEPT_OR_NOTHROW throw()
-#  define BOOST_NOEXCEPT_IF(Predicate)
-#  define BOOST_NOEXCEPT_EXPR(Expression) false
+#ifdef NDNBOOST_NO_CXX11_NOEXCEPT
+#  define NDNBOOST_NOEXCEPT
+#  define NDNBOOST_NOEXCEPT_OR_NOTHROW throw()
+#  define NDNBOOST_NOEXCEPT_IF(Predicate)
+#  define NDNBOOST_NOEXCEPT_EXPR(Expression) false
 #else
-#  define BOOST_NOEXCEPT noexcept
-#  define BOOST_NOEXCEPT_OR_NOTHROW noexcept
-#  define BOOST_NOEXCEPT_IF(Predicate) noexcept((Predicate))
-#  define BOOST_NOEXCEPT_EXPR(Expression) noexcept((Expression))
+#  define NDNBOOST_NOEXCEPT noexcept
+#  define NDNBOOST_NOEXCEPT_OR_NOTHROW noexcept
+#  define NDNBOOST_NOEXCEPT_IF(Predicate) noexcept((Predicate))
+#  define NDNBOOST_NOEXCEPT_EXPR(Expression) noexcept((Expression))
 #endif
 //
-// Helper macro BOOST_FALLTHROUGH 
-// Fallback definition of BOOST_FALLTHROUGH macro used to mark intended 
+// Helper macro NDNBOOST_FALLTHROUGH 
+// Fallback definition of NDNBOOST_FALLTHROUGH macro used to mark intended 
 // fall-through between case labels in a switch statement. We use a definition 
 // that requires a semicolon after it to avoid at least one type of misuse even 
 // on unsupported compilers. 
 // 
-#ifndef BOOST_FALLTHROUGH 
-#  define BOOST_FALLTHROUGH ((void)0) 
+#ifndef NDNBOOST_FALLTHROUGH 
+#  define NDNBOOST_FALLTHROUGH ((void)0) 
 #endif 
 
 //
 // constexpr workarounds
 // 
-#if defined(BOOST_NO_CXX11_CONSTEXPR)
-#define BOOST_CONSTEXPR
-#define BOOST_CONSTEXPR_OR_CONST const
+#if defined(NDNBOOST_NO_CXX11_CONSTEXPR)
+#define NDNBOOST_CONSTEXPR
+#define NDNBOOST_CONSTEXPR_OR_CONST const
 #else
-#define BOOST_CONSTEXPR constexpr
-#define BOOST_CONSTEXPR_OR_CONST constexpr
+#define NDNBOOST_CONSTEXPR constexpr
+#define NDNBOOST_CONSTEXPR_OR_CONST constexpr
 #endif
 
-#define BOOST_STATIC_CONSTEXPR  static BOOST_CONSTEXPR_OR_CONST
+#define NDNBOOST_STATIC_CONSTEXPR  static NDNBOOST_CONSTEXPR_OR_CONST
 
 //
-// Set BOOST_HAS_STATIC_ASSERT when BOOST_NO_CXX11_STATIC_ASSERT is not defined
+// Set NDNBOOST_HAS_STATIC_ASSERT when NDNBOOST_NO_CXX11_STATIC_ASSERT is not defined
 //
-#if !defined(BOOST_NO_CXX11_STATIC_ASSERT) && !defined(BOOST_HAS_STATIC_ASSERT)
-#  define BOOST_HAS_STATIC_ASSERT
+#if !defined(NDNBOOST_NO_CXX11_STATIC_ASSERT) && !defined(NDNBOOST_HAS_STATIC_ASSERT)
+#  define NDNBOOST_HAS_STATIC_ASSERT
 #endif
 
 //
-// Set BOOST_HAS_RVALUE_REFS when BOOST_NO_CXX11_RVALUE_REFERENCES is not defined
+// Set NDNBOOST_HAS_RVALUE_REFS when NDNBOOST_NO_CXX11_RVALUE_REFERENCES is not defined
 //
-#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && !defined(BOOST_HAS_RVALUE_REFS)
-#define BOOST_HAS_RVALUE_REFS
+#if !defined(NDNBOOST_NO_CXX11_RVALUE_REFERENCES) && !defined(NDNBOOST_HAS_RVALUE_REFS)
+#define NDNBOOST_HAS_RVALUE_REFS
 #endif
 
 //
-// Set BOOST_HAS_VARIADIC_TMPL when BOOST_NO_CXX11_VARIADIC_TEMPLATES is not defined
+// Set NDNBOOST_HAS_VARIADIC_TMPL when NDNBOOST_NO_CXX11_VARIADIC_TEMPLATES is not defined
 //
-#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && !defined(BOOST_HAS_VARIADIC_TMPL)
-#define BOOST_HAS_VARIADIC_TMPL
+#if !defined(NDNBOOST_NO_CXX11_VARIADIC_TEMPLATES) && !defined(NDNBOOST_HAS_VARIADIC_TMPL)
+#define NDNBOOST_HAS_VARIADIC_TMPL
 #endif
 
 
diff --git a/include/ndnboost/config/user.hpp b/include/ndnboost/config/user.hpp
index 2a5c15c..ce06075 100644
--- a/include/ndnboost/config/user.hpp
+++ b/include/ndnboost/config/user.hpp
@@ -14,32 +14,32 @@
 //
 
 // define this to locate a compiler config file:
-// #define BOOST_COMPILER_CONFIG <myheader>
+// #define NDNBOOST_COMPILER_CONFIG <myheader>
 
 // define this to locate a stdlib config file:
-// #define BOOST_STDLIB_CONFIG   <myheader>
+// #define NDNBOOST_STDLIB_CONFIG   <myheader>
 
 // define this to locate a platform config file:
-// #define BOOST_PLATFORM_CONFIG <myheader>
+// #define NDNBOOST_PLATFORM_CONFIG <myheader>
 
 // define this to disable compiler config,
 // use if your compiler config has nothing to set:
-// #define BOOST_NO_COMPILER_CONFIG
+// #define NDNBOOST_NO_COMPILER_CONFIG
 
 // define this to disable stdlib config,
 // use if your stdlib config has nothing to set:
-// #define BOOST_NO_STDLIB_CONFIG
+// #define NDNBOOST_NO_STDLIB_CONFIG
 
 // define this to disable platform config,
 // use if your platform config has nothing to set:
-// #define BOOST_NO_PLATFORM_CONFIG
+// #define NDNBOOST_NO_PLATFORM_CONFIG
 
 // define this to disable all config options,
 // excluding the user config.  Use if your
 // setup is fully ISO compliant, and has no
 // useful extensions, or for autoconf generated
 // setups:
-// #define BOOST_NO_CONFIG
+// #define NDNBOOST_NO_CONFIG
 
 // define this to make the config "optimistic"
 // about unknown compiler versions.  Normally
@@ -48,39 +48,39 @@
 // setting this flag, causes the config to assume
 // that unknown compiler versions are fully conformant
 // with the standard:
-// #define BOOST_STRICT_CONFIG
+// #define NDNBOOST_STRICT_CONFIG
 
 // define this to cause the config to halt compilation
 // with an #error if it encounters anything unknown --
 // either an unknown compiler version or an unknown
 // compiler/platform/library:
-// #define BOOST_ASSERT_CONFIG
+// #define NDNBOOST_ASSERT_CONFIG
 
 
 // define if you want to disable threading support, even
 // when available:
-// #define BOOST_DISABLE_THREADS
+// #define NDNBOOST_DISABLE_THREADS
 
 // define when you want to disable Win32 specific features
 // even when available:
-// #define BOOST_DISABLE_WIN32
+// #define NDNBOOST_DISABLE_WIN32
 
-// BOOST_DISABLE_ABI_HEADERS: Stops boost headers from including any 
+// NDNBOOST_DISABLE_ABI_HEADERS: Stops boost headers from including any 
 // prefix/suffix headers that normally control things like struct 
 // packing and alignment. 
-// #define BOOST_DISABLE_ABI_HEADERS
+// #define NDNBOOST_DISABLE_ABI_HEADERS
 
-// BOOST_ABI_PREFIX: A prefix header to include in place of whatever
+// NDNBOOST_ABI_PREFIX: A prefix header to include in place of whatever
 // boost.config would normally select, any replacement should set up 
 // struct packing and alignment options as required. 
-// #define BOOST_ABI_PREFIX my-header-name
+// #define NDNBOOST_ABI_PREFIX my-header-name
 
-// BOOST_ABI_SUFFIX: A suffix header to include in place of whatever 
+// NDNBOOST_ABI_SUFFIX: A suffix header to include in place of whatever 
 // boost.config would normally select, any replacement should undo 
 // the effects of the prefix header. 
-// #define BOOST_ABI_SUFFIX my-header-name
+// #define NDNBOOST_ABI_SUFFIX my-header-name
 
-// BOOST_ALL_DYN_LINK: Forces all libraries that have separate source, 
+// NDNBOOST_ALL_DYN_LINK: Forces all libraries that have separate source, 
 // to be linked as dll's rather than static libraries on Microsoft Windows 
 // (this macro is used to turn on __declspec(dllimport) modifiers, so that 
 // the compiler knows which symbols to look for in a dll rather than in a 
@@ -88,37 +88,37 @@
 // be statically linked (Boost.Test for example) and others which may only 
 // be dynamically linked (Boost.Threads for example), in these cases this 
 // macro has no effect.
-// #define BOOST_ALL_DYN_LINK
+// #define NDNBOOST_ALL_DYN_LINK
  
-// BOOST_WHATEVER_DYN_LINK: Forces library "whatever" to be linked as a dll 
+// NDNBOOST_WHATEVER_DYN_LINK: Forces library "whatever" to be linked as a dll 
 // rather than a static library on Microsoft Windows: replace the WHATEVER 
 // part of the macro name with the name of the library that you want to 
-// dynamically link to, for example use BOOST_DATE_TIME_DYN_LINK or 
-// BOOST_REGEX_DYN_LINK etc (this macro is used to turn on __declspec(dllimport) 
+// dynamically link to, for example use NDNBOOST_DATE_TIME_DYN_LINK or 
+// NDNBOOST_REGEX_DYN_LINK etc (this macro is used to turn on __declspec(dllimport) 
 // modifiers, so that the compiler knows which symbols to look for in a dll 
 // rather than in a static library).  
 // Note that there may be some libraries that can only be statically linked 
 // (Boost.Test for example) and others which may only be dynamically linked 
 // (Boost.Threads for example), in these cases this macro is unsupported.
-// #define BOOST_WHATEVER_DYN_LINK
+// #define NDNBOOST_WHATEVER_DYN_LINK
  
-// BOOST_ALL_NO_LIB: Tells the config system not to automatically select 
+// NDNBOOST_ALL_NO_LIB: Tells the config system not to automatically select 
 // which libraries to link against.  
 // Normally if a compiler supports #pragma lib, then the correct library 
 // build variant will be automatically selected and linked against, 
 // simply by the act of including one of that library's headers.  
 // This macro turns that feature off.
-// #define BOOST_ALL_NO_LIB
+// #define NDNBOOST_ALL_NO_LIB
  
-// BOOST_WHATEVER_NO_LIB: Tells the config system not to automatically 
+// NDNBOOST_WHATEVER_NO_LIB: Tells the config system not to automatically 
 // select which library to link against for library "whatever", 
 // replace WHATEVER in the macro name with the name of the library; 
-// for example BOOST_DATE_TIME_NO_LIB or BOOST_REGEX_NO_LIB.  
+// for example NDNBOOST_DATE_TIME_NO_LIB or NDNBOOST_REGEX_NO_LIB.  
 // Normally if a compiler supports #pragma lib, then the correct library 
 // build variant will be automatically selected and linked against, simply 
 // by the act of including one of that library's headers.  This macro turns 
 // that feature off.
-// #define BOOST_WHATEVER_NO_LIB
+// #define NDNBOOST_WHATEVER_NO_LIB
  
 
 
diff --git a/include/ndnboost/config/warning_disable.hpp b/include/ndnboost/config/warning_disable.hpp
index fea8e82..ef37a0a 100644
--- a/include/ndnboost/config/warning_disable.hpp
+++ b/include/ndnboost/config/warning_disable.hpp
@@ -27,8 +27,8 @@
 //  before or by this one :-(
 //
 
-#ifndef BOOST_CONFIG_WARNING_DISABLE_HPP
-#define BOOST_CONFIG_WARNING_DISABLE_HPP
+#ifndef NDNBOOST_CONFIG_WARNING_DISABLE_HPP
+#define NDNBOOST_CONFIG_WARNING_DISABLE_HPP
 
 #if defined(_MSC_VER) && (_MSC_VER >= 1400) 
    // Error 'function': was declared deprecated
@@ -44,4 +44,4 @@
 #  pragma warning(disable:1786)
 #endif
 
-#endif // BOOST_CONFIG_WARNING_DISABLE_HPP
+#endif // NDNBOOST_CONFIG_WARNING_DISABLE_HPP
diff --git a/include/ndnboost/container/container_fwd.hpp b/include/ndnboost/container/container_fwd.hpp
index 7dda7bd..824b465 100644
--- a/include/ndnboost/container/container_fwd.hpp
+++ b/include/ndnboost/container/container_fwd.hpp
@@ -8,8 +8,8 @@
 //
 //////////////////////////////////////////////////////////////////////////////
 
-#ifndef BOOST_CONTAINER_CONTAINER_FWD_HPP
-#define BOOST_CONTAINER_CONTAINER_FWD_HPP
+#ifndef NDNBOOST_CONTAINER_CONTAINER_FWD_HPP
+#define NDNBOOST_CONTAINER_CONTAINER_FWD_HPP
 
 #if (defined _MSC_VER) && (_MSC_VER >= 1200)
 #  pragma once
@@ -170,4 +170,4 @@
 
 }}  //namespace ndnboost { namespace container {
 
-#endif //#ifndef BOOST_CONTAINER_CONTAINER_FWD_HPP
+#endif //#ifndef NDNBOOST_CONTAINER_CONTAINER_FWD_HPP
diff --git a/include/ndnboost/cstdint.hpp b/include/ndnboost/cstdint.hpp
index 22cc447..8abc944 100644
--- a/include/ndnboost/cstdint.hpp
+++ b/include/ndnboost/cstdint.hpp
@@ -10,7 +10,7 @@
 //  See http://www.boost.org/libs/integer for documentation.
 
 //  Revision History
-//   31 Oct 01  use BOOST_HAS_LONG_LONG to check for "long long" (Jens M.)
+//   31 Oct 01  use NDNBOOST_HAS_LONG_LONG to check for "long long" (Jens M.)
 //   16 Apr 01  check LONGLONG_MAX when looking for "long long" (Jens Maurer)
 //   23 Jan 01  prefer "long" over "int" for int32_t and intmax_t (Jens Maurer)
 //   12 Nov 00  Merged <ndnboost/stdint.h> (Jens Maurer)
@@ -20,8 +20,8 @@
 //    8 Aug 99  Initial version (Beman Dawes)
 
 
-#ifndef BOOST_CSTDINT_HPP
-#define BOOST_CSTDINT_HPP
+#ifndef NDNBOOST_CSTDINT_HPP
+#define NDNBOOST_CSTDINT_HPP
 
 //
 // Since we always define the INT#_C macros as per C++0x, 
@@ -41,7 +41,7 @@
 // so we disable use of stdint.h when GLIBC does not define __GLIBC_HAVE_LONG_LONG.
 // See https://svn.boost.org/trac/boost/ticket/3548 and http://sources.redhat.com/bugzilla/show_bug.cgi?id=10990
 //
-#if defined(BOOST_HAS_STDINT_H) && (!defined(__GLIBC__) || defined(__GLIBC_HAVE_LONG_LONG))
+#if defined(NDNBOOST_HAS_STDINT_H) && (!defined(__GLIBC__) || defined(__GLIBC_HAVE_LONG_LONG))
 
 // The following #include is an implementation artifact; not part of interface.
 # ifdef __hpux
@@ -49,7 +49,7 @@
 #   include <inttypes.h>
 #   ifdef __STDC_32_MODE__
       // this is triggered with GCC, because it defines __cplusplus < 199707L
-#     define BOOST_NO_INT64_T
+#     define NDNBOOST_NO_INT64_T
 #   endif 
 # elif defined(__FreeBSD__) || defined(__IBMCPP__) || defined(_AIX)
 #   include <inttypes.h>
@@ -86,7 +86,7 @@
 typedef ::uintleast32_t uint_least32_t;
 typedef ::uintfast32_t uint_fast32_t;
 
-# ifndef BOOST_NO_INT64_T
+# ifndef NDNBOOST_NO_INT64_T
 
 typedef ::intleast64_t int_least64_t;
 typedef ::intfast64_t int_fast64_t;
@@ -121,7 +121,7 @@
   using ::uint_least32_t;     
   using ::uint_fast32_t;      
                      
-# ifndef BOOST_NO_INT64_T
+# ifndef NDNBOOST_NO_INT64_T
 
   using ::int64_t;            
   using ::int_least64_t;      
@@ -164,7 +164,7 @@
   typedef uint32_t uint_least32_t;     
   typedef uint32_t uint_fast32_t;      
          
-# ifndef BOOST_NO_INT64_T          
+# ifndef NDNBOOST_NO_INT64_T          
 
   using ::int64_t;            
   typedef int64_t int_least64_t;      
@@ -185,7 +185,7 @@
 
 } // namespace ndnboost
 
-#else  // BOOST_HAS_STDINT_H
+#else  // NDNBOOST_HAS_STDINT_H
 
 # include <ndnboost/limits.hpp> // implementation artifact; not part of interface
 # include <limits.h>         // needed for limits macros
@@ -291,8 +291,8 @@
 
 //  64-bit types + intmax_t and uintmax_t  ----------------------------------//
 
-# if defined(BOOST_HAS_LONG_LONG) && \
-   !defined(BOOST_MSVC) && !defined(__BORLANDC__) && \
+# if defined(NDNBOOST_HAS_LONG_LONG) && \
+   !defined(NDNBOOST_MSVC) && !defined(__BORLANDC__) && \
    (!defined(__GLIBCPP__) || defined(_GLIBCPP_USE_LONG_LONG)) && \
    (defined(ULLONG_MAX) || defined(ULONG_LONG_MAX) || defined(ULONGLONG_MAX))
 #    if defined(__hpux)
@@ -326,7 +326,7 @@
 #    else
 #       error defaults not correct; you must hand modify ndnboost/cstdint.hpp
 #    endif
-# elif defined(__GNUC__) && defined(BOOST_HAS_LONG_LONG)
+# elif defined(__GNUC__) && defined(NDNBOOST_HAS_LONG_LONG)
      __extension__ typedef long long            intmax_t;
      __extension__ typedef unsigned long long   uintmax_t;
      __extension__ typedef long long            int64_t;
@@ -335,7 +335,7 @@
      __extension__ typedef unsigned long long   uint64_t;
      __extension__ typedef unsigned long long   uint_least64_t;
      __extension__ typedef unsigned long long   uint_fast64_t;
-# elif defined(BOOST_HAS_MS_INT64)
+# elif defined(NDNBOOST_HAS_MS_INT64)
      //
      // we have Borland/Intel/Microsoft __int64:
      //
@@ -348,7 +348,7 @@
      typedef unsigned __int64    uint_least64_t;
      typedef unsigned __int64    uint_fast64_t;
 # else // assume no 64-bit integers
-#  define BOOST_NO_INT64_T
+#  define NDNBOOST_NO_INT64_T
      typedef int32_t              intmax_t;
      typedef uint32_t             uintmax_t;
 # endif
@@ -356,9 +356,9 @@
 } // namespace ndnboost
 
 
-#endif // BOOST_HAS_STDINT_H
+#endif // NDNBOOST_HAS_STDINT_H
 
-#endif // BOOST_CSTDINT_HPP
+#endif // NDNBOOST_CSTDINT_HPP
 
 
 /****************************************************
@@ -367,13 +367,13 @@
 
 Added 23rd September 2000 (John Maddock).
 Modified 11th September 2001 to be excluded when
-BOOST_HAS_STDINT_H is defined (John Maddock).
+NDNBOOST_HAS_STDINT_H is defined (John Maddock).
 Modified 11th Dec 2009 to always define the
 INT#_C macros if they're not already defined (John Maddock).
 
 ******************************************************/
 
-#if !defined(BOOST__STDC_CONSTANT_MACROS_DEFINED) && \
+#if !defined(NDNBOOST__STDC_CONSTANT_MACROS_DEFINED) && \
    (!defined(INT8_C) || !defined(INT16_C) || !defined(INT32_C) || !defined(INT64_C))
 //
 // For the following code we get several warnings along the lines of: 
@@ -387,8 +387,8 @@
 #endif 
 
 #include <limits.h>
-# define BOOST__STDC_CONSTANT_MACROS_DEFINED
-# if defined(BOOST_HAS_MS_INT64)
+# define NDNBOOST__STDC_CONSTANT_MACROS_DEFINED
+# if defined(NDNBOOST_HAS_MS_INT64)
 //
 // Borland/Intel/Microsoft compilers have width specific suffixes:
 //
@@ -454,7 +454,7 @@
 
 //  64-bit types + intmax_t and uintmax_t  ----------------------------------//
 #ifndef INT64_C
-#  if defined(BOOST_HAS_LONG_LONG) && \
+#  if defined(NDNBOOST_HAS_LONG_LONG) && \
     (defined(ULLONG_MAX) || defined(ULONG_LONG_MAX) || defined(ULONGLONG_MAX) || defined(_LLONG_MAX))
 
 #    if defined(__hpux)
@@ -479,7 +479,7 @@
 #    else
 #       error defaults not correct; you must hand modify ndnboost/cstdint.hpp
 #    endif
-#  elif defined(BOOST_HAS_LONG_LONG)
+#  elif defined(NDNBOOST_HAS_LONG_LONG)
      // Usual macros not defined, work things out for ourselves:
 #    if(~0uLL == 18446744073709551615ULL)
 #       define INT64_C(value) value##LL
@@ -491,7 +491,7 @@
 #    error defaults not correct; you must hand modify ndnboost/cstdint.hpp
 #  endif
 
-#  ifdef BOOST_NO_INT64_T
+#  ifdef NDNBOOST_NO_INT64_T
 #   define INTMAX_C(value) INT32_C(value)
 #   define UINTMAX_C(value) UINT32_C(value)
 #  else
diff --git a/include/ndnboost/cstdlib.hpp b/include/ndnboost/cstdlib.hpp
index f57725f..c3d124c 100644
--- a/include/ndnboost/cstdlib.hpp
+++ b/include/ndnboost/cstdlib.hpp
@@ -9,8 +9,8 @@
 //  Revision History
 //   26 Feb 01  Initial version (Beman Dawes)
 
-#ifndef BOOST_CSTDLIB_HPP
-#define BOOST_CSTDLIB_HPP
+#ifndef NDNBOOST_CSTDLIB_HPP
+#define NDNBOOST_CSTDLIB_HPP
 
 #include <cstdlib>
 
diff --git a/include/ndnboost/current_function.hpp b/include/ndnboost/current_function.hpp
index cd7f516..111f9fa 100644
--- a/include/ndnboost/current_function.hpp
+++ b/include/ndnboost/current_function.hpp
@@ -1,5 +1,5 @@
-#ifndef BOOST_CURRENT_FUNCTION_HPP_INCLUDED
-#define BOOST_CURRENT_FUNCTION_HPP_INCLUDED
+#ifndef NDNBOOST_CURRENT_FUNCTION_HPP_INCLUDED
+#define NDNBOOST_CURRENT_FUNCTION_HPP_INCLUDED
 
 // MS compatible compilers support #pragma once
 
@@ -8,7 +8,7 @@
 #endif
 
 //
-//  ndnboost/current_function.hpp - BOOST_CURRENT_FUNCTION
+//  ndnboost/current_function.hpp - NDNBOOST_CURRENT_FUNCTION
 //
 //  Copyright (c) 2002 Peter Dimov and Multi Media Ltd.
 //
@@ -30,31 +30,31 @@
 
 #if defined(__GNUC__) || (defined(__MWERKS__) && (__MWERKS__ >= 0x3000)) || (defined(__ICC) && (__ICC >= 600)) || defined(__ghs__)
 
-# define BOOST_CURRENT_FUNCTION __PRETTY_FUNCTION__
+# define NDNBOOST_CURRENT_FUNCTION __PRETTY_FUNCTION__
 
 #elif defined(__DMC__) && (__DMC__ >= 0x810)
 
-# define BOOST_CURRENT_FUNCTION __PRETTY_FUNCTION__
+# define NDNBOOST_CURRENT_FUNCTION __PRETTY_FUNCTION__
 
 #elif defined(__FUNCSIG__)
 
-# define BOOST_CURRENT_FUNCTION __FUNCSIG__
+# define NDNBOOST_CURRENT_FUNCTION __FUNCSIG__
 
 #elif (defined(__INTEL_COMPILER) && (__INTEL_COMPILER >= 600)) || (defined(__IBMCPP__) && (__IBMCPP__ >= 500))
 
-# define BOOST_CURRENT_FUNCTION __FUNCTION__
+# define NDNBOOST_CURRENT_FUNCTION __FUNCTION__
 
 #elif defined(__BORLANDC__) && (__BORLANDC__ >= 0x550)
 
-# define BOOST_CURRENT_FUNCTION __FUNC__
+# define NDNBOOST_CURRENT_FUNCTION __FUNC__
 
 #elif defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901)
 
-# define BOOST_CURRENT_FUNCTION __func__
+# define NDNBOOST_CURRENT_FUNCTION __func__
 
 #else
 
-# define BOOST_CURRENT_FUNCTION "(unknown)"
+# define NDNBOOST_CURRENT_FUNCTION "(unknown)"
 
 #endif
 
@@ -64,5 +64,5 @@
 
 } // namespace ndnboost
 
-#endif // #ifndef BOOST_CURRENT_FUNCTION_HPP_INCLUDED
+#endif // #ifndef NDNBOOST_CURRENT_FUNCTION_HPP_INCLUDED
 
diff --git a/include/ndnboost/detail/call_traits.hpp b/include/ndnboost/detail/call_traits.hpp
index 0a2cdb2..410f4ae 100644
--- a/include/ndnboost/detail/call_traits.hpp
+++ b/include/ndnboost/detail/call_traits.hpp
@@ -15,10 +15,10 @@
       (issue raised by Steve Cleary).
 */
 
-#ifndef BOOST_DETAIL_CALL_TRAITS_HPP
-#define BOOST_DETAIL_CALL_TRAITS_HPP
+#ifndef NDNBOOST_DETAIL_CALL_TRAITS_HPP
+#define NDNBOOST_DETAIL_CALL_TRAITS_HPP
 
-#ifndef BOOST_CONFIG_HPP
+#ifndef NDNBOOST_CONFIG_HPP
 #include <ndnboost/config.hpp>
 #endif
 #include <cstddef>
@@ -100,7 +100,7 @@
    typedef T& param_type;  // hh removed const
 };
 
-#if BOOST_WORKAROUND( __BORLANDC__,  < 0x5A0 )
+#if NDNBOOST_WORKAROUND( __BORLANDC__,  < 0x5A0 )
 // these are illegal specialisations; cv-qualifies applied to
 // references have no effect according to [8.3.2p1],
 // C++ Builder requires them though as it treats cv-qualified
@@ -139,7 +139,7 @@
    typedef T * const param_type;  // hh removed const
 };
 #endif
-#if !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)
+#if !defined(NDNBOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)
 template <typename T, std::size_t N>
 struct call_traits<T [N]>
 {
@@ -169,4 +169,4 @@
 
 }
 
-#endif // BOOST_DETAIL_CALL_TRAITS_HPP
+#endif // NDNBOOST_DETAIL_CALL_TRAITS_HPP
diff --git a/include/ndnboost/detail/container_fwd.hpp b/include/ndnboost/detail/container_fwd.hpp
index 0254e7b..7081f07 100644
--- a/include/ndnboost/detail/container_fwd.hpp
+++ b/include/ndnboost/detail/container_fwd.hpp
@@ -5,11 +5,11 @@
 
 // Note: if you change this include guard, you also need to change
 // container_fwd_compile_fail.cpp
-#if !defined(BOOST_DETAIL_CONTAINER_FWD_HPP)
-#define BOOST_DETAIL_CONTAINER_FWD_HPP
+#if !defined(NDNBOOST_DETAIL_CONTAINER_FWD_HPP)
+#define NDNBOOST_DETAIL_CONTAINER_FWD_HPP
 
 #if defined(_MSC_VER) && (_MSC_VER >= 1020) && \
-    !defined(BOOST_DETAIL_TEST_CONFIG_ONLY)
+    !defined(NDNBOOST_DETAIL_TEST_CONFIG_ONLY)
 # pragma once
 #endif
 
@@ -18,31 +18,31 @@
 
 ////////////////////////////////////////////////////////////////////////////////
 //                                                                            //
-// Define BOOST_DETAIL_NO_CONTAINER_FWD if you don't want this header to      //
+// Define NDNBOOST_DETAIL_NO_CONTAINER_FWD if you don't want this header to      //
 // forward declare standard containers.                                       //
 //                                                                            //
-// BOOST_DETAIL_CONTAINER_FWD to make it foward declare containers even if it //
+// NDNBOOST_DETAIL_CONTAINER_FWD to make it foward declare containers even if it //
 // normally doesn't.                                                          //
 //                                                                            //
-// BOOST_DETAIL_NO_CONTAINER_FWD overrides BOOST_DETAIL_CONTAINER_FWD.        //
+// NDNBOOST_DETAIL_NO_CONTAINER_FWD overrides NDNBOOST_DETAIL_CONTAINER_FWD.        //
 //                                                                            //
 ////////////////////////////////////////////////////////////////////////////////
 
-#if !defined(BOOST_DETAIL_NO_CONTAINER_FWD)
-#  if defined(BOOST_DETAIL_CONTAINER_FWD)
+#if !defined(NDNBOOST_DETAIL_NO_CONTAINER_FWD)
+#  if defined(NDNBOOST_DETAIL_CONTAINER_FWD)
      // Force forward declarations.
 #  elif defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)
      // STLport
-#    define BOOST_DETAIL_NO_CONTAINER_FWD
+#    define NDNBOOST_DETAIL_NO_CONTAINER_FWD
 #  elif defined(__LIBCOMO__)
      // Comeau STL:
-#    define BOOST_DETAIL_NO_CONTAINER_FWD
+#    define NDNBOOST_DETAIL_NO_CONTAINER_FWD
 #  elif defined(__STD_RWCOMPILER_H__) || defined(_RWSTD_VER)
      // Rogue Wave library:
-#    define BOOST_DETAIL_NO_CONTAINER_FWD
+#    define NDNBOOST_DETAIL_NO_CONTAINER_FWD
 #  elif defined(_LIBCPP_VERSION)
      // libc++
-#    define BOOST_DETAIL_NO_CONTAINER_FWD
+#    define NDNBOOST_DETAIL_NO_CONTAINER_FWD
 #  elif defined(__GLIBCPP__) || defined(__GLIBCXX__)
      // GNU libstdc++ 3
      //
@@ -52,10 +52,10 @@
         || defined(_GLIBCXX_DEBUG) \
         || defined(_GLIBCXX_PARALLEL) \
         || defined(_GLIBCXX_PROFILE)
-#      define BOOST_DETAIL_NO_CONTAINER_FWD
+#      define NDNBOOST_DETAIL_NO_CONTAINER_FWD
 #    else
 #      if defined(__GLIBCXX__) && __GLIBCXX__ >= 20040530
-#        define BOOST_CONTAINER_FWD_COMPLEX_STRUCT
+#        define NDNBOOST_CONTAINER_FWD_COMPLEX_STRUCT
 #      endif
 #    endif
 #  elif defined(__STL_CONFIG_H)
@@ -63,30 +63,30 @@
      //
      // Forward declaration seems to be okay, but it has a couple of odd
      // implementations.
-#    define BOOST_CONTAINER_FWD_BAD_BITSET
+#    define NDNBOOST_CONTAINER_FWD_BAD_BITSET
 #    if !defined(__STL_NON_TYPE_TMPL_PARAM_BUG)
-#      define BOOST_CONTAINER_FWD_BAD_DEQUE
+#      define NDNBOOST_CONTAINER_FWD_BAD_DEQUE
 #     endif
 #  elif defined(__MSL_CPP__)
      // MSL standard lib:
-#    define BOOST_DETAIL_NO_CONTAINER_FWD
+#    define NDNBOOST_DETAIL_NO_CONTAINER_FWD
 #  elif defined(__IBMCPP__)
      // The default VACPP std lib, forward declaration seems to be fine.
 #  elif defined(MSIPL_COMPILE_H)
      // Modena C++ standard library
-#    define BOOST_DETAIL_NO_CONTAINER_FWD
+#    define NDNBOOST_DETAIL_NO_CONTAINER_FWD
 #  elif (defined(_YVALS) && !defined(__IBMCPP__)) || defined(_CPPLIB_VER)
      // Dinkumware Library (this has to appear after any possible replacement
      // libraries)
 #  else
-#    define BOOST_DETAIL_NO_CONTAINER_FWD
+#    define NDNBOOST_DETAIL_NO_CONTAINER_FWD
 #  endif
 #endif
 
-#if !defined(BOOST_DETAIL_TEST_CONFIG_ONLY)
+#if !defined(NDNBOOST_DETAIL_TEST_CONFIG_ONLY)
 
-#if defined(BOOST_DETAIL_NO_CONTAINER_FWD) && \
-    !defined(BOOST_DETAIL_TEST_FORCE_CONTAINER_FWD)
+#if defined(NDNBOOST_DETAIL_NO_CONTAINER_FWD) && \
+    !defined(NDNBOOST_DETAIL_TEST_FORCE_CONTAINER_FWD)
 
 #include <deque>
 #include <list>
@@ -101,15 +101,15 @@
 
 #include <cstddef>
 
-#if defined(BOOST_CONTAINER_FWD_BAD_DEQUE)
+#if defined(NDNBOOST_CONTAINER_FWD_BAD_DEQUE)
 #include <deque>
 #endif
 
-#if defined(BOOST_CONTAINER_FWD_BAD_BITSET)
+#if defined(NDNBOOST_CONTAINER_FWD_BAD_BITSET)
 #include <bitset>
 #endif
 
-#if defined(BOOST_MSVC)
+#if defined(NDNBOOST_MSVC)
 #pragma warning(push)
 #pragma warning(disable:4099) // struct/class mismatch in fwd declarations
 #endif
@@ -119,20 +119,20 @@
     template <class T> class allocator;
     template <class charT, class traits, class Allocator> class basic_string;
 
-#if BOOST_WORKAROUND(__GNUC__, < 3) && !defined(__SGI_STL_PORT) && !defined(_STLPORT_VERSION)
+#if NDNBOOST_WORKAROUND(__GNUC__, < 3) && !defined(__SGI_STL_PORT) && !defined(_STLPORT_VERSION)
 
     template <class charT> struct string_char_traits;
 #else
     template <class charT> struct char_traits;
 #endif
 
-#if defined(BOOST_CONTAINER_FWD_COMPLEX_STRUCT)
+#if defined(NDNBOOST_CONTAINER_FWD_COMPLEX_STRUCT)
     template <class T> struct complex;
 #else
     template <class T> class complex;
 #endif
 
-#if !defined(BOOST_CONTAINER_FWD_BAD_DEQUE)
+#if !defined(NDNBOOST_CONTAINER_FWD_BAD_DEQUE)
     template <class T, class Allocator> class deque;
 #endif
 
@@ -144,19 +144,19 @@
     template <class Key, class Compare, class Allocator> class set;
     template <class Key, class Compare, class Allocator> class multiset;
 
-#if !defined(BOOST_CONTAINER_FWD_BAD_BITSET)
+#if !defined(NDNBOOST_CONTAINER_FWD_BAD_BITSET)
     template <size_t N> class bitset;
 #endif
     template <class T1, class T2> struct pair;
 }
 
-#if defined(BOOST_MSVC)
+#if defined(NDNBOOST_MSVC)
 #pragma warning(pop)
 #endif
 
-#endif // BOOST_DETAIL_NO_CONTAINER_FWD &&
-       // !defined(BOOST_DETAIL_TEST_FORCE_CONTAINER_FWD)
+#endif // NDNBOOST_DETAIL_NO_CONTAINER_FWD &&
+       // !defined(NDNBOOST_DETAIL_TEST_FORCE_CONTAINER_FWD)
 
-#endif // BOOST_DETAIL_TEST_CONFIG_ONLY
+#endif // NDNBOOST_DETAIL_TEST_CONFIG_ONLY
 
 #endif
diff --git a/include/ndnboost/detail/endian.hpp b/include/ndnboost/detail/endian.hpp
index 1dcb237..c07bd00 100644
--- a/include/ndnboost/detail/endian.hpp
+++ b/include/ndnboost/detail/endian.hpp
@@ -22,11 +22,11 @@
  * which this code was originally taken.
  *
  * Modified by Caleb Epstein to use <endian.h> with GNU libc and to
- * defined the BOOST_ENDIAN macro.
+ * defined the NDNBOOST_ENDIAN macro.
  */
 
-#ifndef BOOST_DETAIL_ENDIAN_HPP
-#define BOOST_DETAIL_ENDIAN_HPP
+#ifndef NDNBOOST_DETAIL_ENDIAN_HPP
+#define NDNBOOST_DETAIL_ENDIAN_HPP
 
 //
 // Special cases come first:
@@ -36,15 +36,15 @@
 // __BYTE_ORDER
 # include <endian.h>
 # if (__BYTE_ORDER == __LITTLE_ENDIAN)
-#  define BOOST_LITTLE_ENDIAN
+#  define NDNBOOST_LITTLE_ENDIAN
 # elif (__BYTE_ORDER == __BIG_ENDIAN)
-#  define BOOST_BIG_ENDIAN
+#  define NDNBOOST_BIG_ENDIAN
 # elif (__BYTE_ORDER == __PDP_ENDIAN)
-#  define BOOST_PDP_ENDIAN
+#  define NDNBOOST_PDP_ENDIAN
 # else
 #  error Unknown machine endianness detected.
 # endif
-# define BOOST_BYTE_ORDER __BYTE_ORDER
+# define NDNBOOST_BYTE_ORDER __BYTE_ORDER
 
 #elif defined(__NetBSD__) || defined(__FreeBSD__) || \
     defined(__OpenBSD__) || (__DragonFly__)
@@ -56,15 +56,15 @@
 #  include <sys/endian.h>
 #  endif
 # if (_BYTE_ORDER == _LITTLE_ENDIAN)
-#  define BOOST_LITTLE_ENDIAN
+#  define NDNBOOST_LITTLE_ENDIAN
 # elif (_BYTE_ORDER == _BIG_ENDIAN)
-#  define BOOST_BIG_ENDIAN
+#  define NDNBOOST_BIG_ENDIAN
 # elif (_BYTE_ORDER == _PDP_ENDIAN)
-#  define BOOST_PDP_ENDIAN
+#  define NDNBOOST_PDP_ENDIAN
 # else
 #  error Unknown machine endianness detected.
 # endif
-# define BOOST_BYTE_ORDER _BYTE_ORDER
+# define NDNBOOST_BYTE_ORDER _BYTE_ORDER
 
 #elif defined( __ANDROID__ )
 // Adroid specific code, see: https://svn.boost.org/trac/boost/ticket/7528
@@ -72,39 +72,39 @@
 // http://stackoverflow.com/questions/6212951/endianness-of-android-ndk
 # include "machine/_types.h"
 # ifdef __ARMEB__
-#  define BOOST_BIG_ENDIAN
-#  define BOOST_BYTE_ORDER 4321
+#  define NDNBOOST_BIG_ENDIAN
+#  define NDNBOOST_BYTE_ORDER 4321
 # else
-#  define BOOST_LITTLE_ENDIAN
-#  define BOOST_BYTE_ORDER 1234
+#  define NDNBOOST_LITTLE_ENDIAN
+#  define NDNBOOST_BYTE_ORDER 1234
 # endif // __ARMEB__
 
 #elif defined( _XBOX )
 //
 // XBox is always big endian??
 //
-# define BOOST_BIG_ENDIAN
-# define BOOST_BYTE_ORDER 4321
+# define NDNBOOST_BIG_ENDIAN
+# define NDNBOOST_BYTE_ORDER 4321
 
 #elif defined(_BIG_ENDIAN) && !defined(_LITTLE_ENDIAN) || \
     defined(__BIG_ENDIAN__) && !defined(__LITTLE_ENDIAN__) || \
     defined(__BIGENDIAN__) && !defined(__LITTLEENDIAN__) || \
     defined(_STLP_BIG_ENDIAN) && !defined(_STLP_LITTLE_ENDIAN)
-# define BOOST_BIG_ENDIAN
-# define BOOST_BYTE_ORDER 4321
+# define NDNBOOST_BIG_ENDIAN
+# define NDNBOOST_BYTE_ORDER 4321
 #elif defined(_LITTLE_ENDIAN) && !defined(_BIG_ENDIAN) || \
     defined(__LITTLE_ENDIAN__) && !defined(__BIG_ENDIAN__) || \
     defined(__LITTLEENDIAN__) && !defined(__BIGENDIAN__) || \
     defined(_STLP_LITTLE_ENDIAN) && !defined(_STLP_BIG_ENDIAN)
-# define BOOST_LITTLE_ENDIAN
-# define BOOST_BYTE_ORDER 1234
+# define NDNBOOST_LITTLE_ENDIAN
+# define NDNBOOST_BYTE_ORDER 1234
 #elif defined(__sparc) || defined(__sparc__) \
    || defined(_POWER) || defined(__powerpc__) \
    || defined(__ppc__) || defined(__hpux) || defined(__hppa) \
    || defined(_MIPSEB) || defined(_POWER) \
    || defined(__s390__) || defined(__ARMEB__)
-# define BOOST_BIG_ENDIAN
-# define BOOST_BYTE_ORDER 4321
+# define NDNBOOST_BIG_ENDIAN
+# define NDNBOOST_BYTE_ORDER 4321
 #elif defined(__i386__) || defined(__alpha__) \
    || defined(__ia64) || defined(__ia64__) \
    || defined(_M_IX86) || defined(_M_IA64) \
@@ -115,8 +115,8 @@
    || defined(__ARMEL__) \
    || (defined(_WIN32) && defined(__ARM__) && defined(_MSC_VER)) // ARM Windows CE don't define anything reasonably unique, but there are no big-endian Windows versions 
 
-# define BOOST_LITTLE_ENDIAN
-# define BOOST_BYTE_ORDER 1234
+# define NDNBOOST_LITTLE_ENDIAN
+# define NDNBOOST_BYTE_ORDER 1234
 #else
 # error The file ndnboost/detail/endian.hpp needs to be set up for your CPU type.
 #endif
diff --git a/include/ndnboost/detail/fenv.hpp b/include/ndnboost/detail/fenv.hpp
index 4618b54..90edcb0 100644
--- a/include/ndnboost/detail/fenv.hpp
+++ b/include/ndnboost/detail/fenv.hpp
@@ -7,12 +7,12 @@
 
 #include <ndnboost/config.hpp>
 
-#if defined(BOOST_NO_FENV_H)
+#if defined(NDNBOOST_NO_FENV_H)
   #error This platform does not have a floating point environment
 #endif
 
-#if !defined(BOOST_DETAIL_FENV_HPP)
-#define BOOST_DETAIL_FENV_HPP
+#if !defined(NDNBOOST_DETAIL_FENV_HPP)
+#define NDNBOOST_DETAIL_FENV_HPP
 
 /* If we're using clang + glibc, we have to get hacky. 
  * See http://llvm.org/bugs/show_bug.cgi?id=6907 */
@@ -70,5 +70,5 @@
 
 #endif
 
-#endif /* BOOST_DETAIL_FENV_HPP */
+#endif /* NDNBOOST_DETAIL_FENV_HPP */
  
diff --git a/include/ndnboost/detail/indirect_traits.hpp b/include/ndnboost/detail/indirect_traits.hpp
index fa2d671..95d95df 100644
--- a/include/ndnboost/detail/indirect_traits.hpp
+++ b/include/ndnboost/detail/indirect_traits.hpp
@@ -26,7 +26,7 @@
 # include <ndnboost/mpl/not.hpp>
 # include <ndnboost/mpl/aux_/lambda_support.hpp>
 
-#  ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#  ifdef NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 #   include <ndnboost/detail/is_function_ref_tester.hpp>
 #  endif 
 
@@ -34,7 +34,7 @@
 
 namespace indirect_traits {
 
-#  ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#  ifndef NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 template <class T>
 struct is_reference_to_const : mpl::false_
 {
@@ -45,7 +45,7 @@
 {
 };
 
-#   if defined(BOOST_MSVC) && _MSC_FULL_VER <= 13102140 // vc7.01 alpha workaround
+#   if defined(NDNBOOST_MSVC) && _MSC_FULL_VER <= 13102140 // vc7.01 alpha workaround
 template<class T>
 struct is_reference_to_const<T const volatile&> : mpl::true_
 {
@@ -90,7 +90,7 @@
 struct is_reference_to_member_function_pointer
     : is_reference_to_member_function_pointer_impl<T>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_reference_to_member_function_pointer,(T))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_reference_to_member_function_pointer,(T))
 };
 
 template <class T>
@@ -138,7 +138,7 @@
 {
 };
 
-#   if defined(BOOST_MSVC) && _MSC_FULL_VER <= 13102140 // vc7.01 alpha workaround
+#   if defined(NDNBOOST_MSVC) && _MSC_FULL_VER <= 13102140 // vc7.01 alpha workaround
 template <class T>
 struct is_reference_to_volatile<T const volatile&> : mpl::true_
 {
@@ -182,7 +182,7 @@
           >
       >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_reference_to_class,(T))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_reference_to_class,(T))
 };
 
 template <class T>
@@ -196,7 +196,7 @@
           >
       >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_pointer_to_class,(T))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_pointer_to_class,(T))
 };
 
 #  else
@@ -251,7 +251,7 @@
 struct is_reference_to_function_aux
 {
     static T t;
-    BOOST_STATIC_CONSTANT(
+    NDNBOOST_STATIC_CONSTANT(
         bool, value = sizeof(detail::is_function_ref_tester(t,0)) == sizeof(::ndnboost::type_traits::yes_type));
     typedef mpl::bool_<value> type;
  };
@@ -266,7 +266,7 @@
 struct is_pointer_to_function_aux
 {
     static T t;
-    BOOST_STATIC_CONSTANT(
+    NDNBOOST_STATIC_CONSTANT(
         bool, value
         = sizeof(::ndnboost::type_traits::is_function_ptr_tester(t)) == sizeof(::ndnboost::type_traits::yes_type));
     typedef mpl::bool_<value> type;
@@ -276,7 +276,7 @@
 struct is_pointer_to_function
     : mpl::if_<is_pointer<T>, is_pointer_to_function_aux<T>, mpl::bool_<false> >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_pointer_to_function,(T))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_pointer_to_function,(T))
 };
 
 struct false_helper1
@@ -298,7 +298,7 @@
     struct apply
     {
         static T t;
-        BOOST_STATIC_CONSTANT(
+        NDNBOOST_STATIC_CONSTANT(
             bool, value
             = sizeof(reference_to_const_helper(t)) == sizeof(inner_yes_type));
         typedef mpl::bool_<value> type;
@@ -330,7 +330,7 @@
     struct apply
     {
         static T t;
-        BOOST_STATIC_CONSTANT(
+        NDNBOOST_STATIC_CONSTANT(
             bool, value
             = sizeof(reference_to_const_helper(t)) == sizeof(inner_no_type));
         
@@ -348,7 +348,7 @@
 struct is_reference_to_non_const
     : is_reference_to_non_const_helper1<is_reference<T>::value>::template apply<T>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_reference_to_non_const,(T))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_reference_to_non_const,(T))
 };
 
 
@@ -364,7 +364,7 @@
     struct apply
     {
         static T t;
-        BOOST_STATIC_CONSTANT(
+        NDNBOOST_STATIC_CONSTANT(
             bool, value
             = sizeof(reference_to_volatile_helper(t)) == sizeof(inner_yes_type));
         typedef mpl::bool_<value> type;
@@ -391,7 +391,7 @@
 struct reference_to_pointer_impl
 {
     static T t;
-    BOOST_STATIC_CONSTANT(
+    NDNBOOST_STATIC_CONSTANT(
         bool, value
         = (sizeof((reference_to_pointer_helper)(t)) == sizeof(inner_yes_type))
         );
@@ -403,14 +403,14 @@
 struct is_reference_to_pointer
   : mpl::eval_if<is_reference<T>, reference_to_pointer_impl<T>, mpl::false_>::type
 {   
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_reference_to_pointer,(T))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_reference_to_pointer,(T))
 };
 
 template <class T>
 struct is_reference_to_function_pointer
   : mpl::eval_if<is_reference<T>, is_pointer_to_function_aux<T>, mpl::false_>::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_reference_to_function_pointer,(T))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_reference_to_function_pointer,(T))
 };
 
 
@@ -427,7 +427,7 @@
 struct is_pointer_to_member_function_aux
 {
     static T t;
-    BOOST_STATIC_CONSTANT(
+    NDNBOOST_STATIC_CONSTANT(
         bool, value
         = sizeof((member_function_pointer_helper)(t)) == sizeof(inner_yes_type));
     typedef mpl::bool_<value> type;
@@ -441,7 +441,7 @@
         , mpl::bool_<false>
      >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_reference_to_member_function_pointer,(T))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_reference_to_member_function_pointer,(T))
 };
 
 template <typename V>
@@ -452,13 +452,13 @@
 struct is_reference_to_class
 {
     static T t;
-    BOOST_STATIC_CONSTANT(
+    NDNBOOST_STATIC_CONSTANT(
         bool, value
         = (is_reference<T>::value
            & (sizeof(reference_to_class_helper(t)) == sizeof(inner_yes_type)))
         );
     typedef mpl::bool_<value> type;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_reference_to_class,(T))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_reference_to_class,(T))
 };
 
 template <typename V>
@@ -469,14 +469,14 @@
 struct is_pointer_to_class
 {
     static T t;
-    BOOST_STATIC_CONSTANT(
+    NDNBOOST_STATIC_CONSTANT(
         bool, value
         = (is_pointer<T>::value
            && sizeof(pointer_to_class_helper(t)) == sizeof(inner_yes_type))
         );
     typedef mpl::bool_<value> type;
 };
-#  endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION 
+#  endif // NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION 
 
 }
 
diff --git a/include/ndnboost/detail/interlocked.hpp b/include/ndnboost/detail/interlocked.hpp
index 1616414..5c480d5 100644
--- a/include/ndnboost/detail/interlocked.hpp
+++ b/include/ndnboost/detail/interlocked.hpp
@@ -1,5 +1,5 @@
-#ifndef BOOST_DETAIL_INTERLOCKED_HPP_INCLUDED
-#define BOOST_DETAIL_INTERLOCKED_HPP_INCLUDED
+#ifndef NDNBOOST_DETAIL_INTERLOCKED_HPP_INCLUDED
+#define NDNBOOST_DETAIL_INTERLOCKED_HPP_INCLUDED
 
 // MS compatible compilers support #pragma once
 
@@ -19,17 +19,17 @@
 
 #include <ndnboost/config.hpp>
 
-#if defined( BOOST_USE_WINDOWS_H )
+#if defined( NDNBOOST_USE_WINDOWS_H )
 
 # include <windows.h>
 
-# define BOOST_INTERLOCKED_INCREMENT InterlockedIncrement
-# define BOOST_INTERLOCKED_DECREMENT InterlockedDecrement
-# define BOOST_INTERLOCKED_COMPARE_EXCHANGE InterlockedCompareExchange
-# define BOOST_INTERLOCKED_EXCHANGE InterlockedExchange
-# define BOOST_INTERLOCKED_EXCHANGE_ADD InterlockedExchangeAdd
-# define BOOST_INTERLOCKED_COMPARE_EXCHANGE_POINTER InterlockedCompareExchangePointer
-# define BOOST_INTERLOCKED_EXCHANGE_POINTER InterlockedExchangePointer
+# define NDNBOOST_INTERLOCKED_INCREMENT InterlockedIncrement
+# define NDNBOOST_INTERLOCKED_DECREMENT InterlockedDecrement
+# define NDNBOOST_INTERLOCKED_COMPARE_EXCHANGE InterlockedCompareExchange
+# define NDNBOOST_INTERLOCKED_EXCHANGE InterlockedExchange
+# define NDNBOOST_INTERLOCKED_EXCHANGE_ADD InterlockedExchangeAdd
+# define NDNBOOST_INTERLOCKED_COMPARE_EXCHANGE_POINTER InterlockedCompareExchangePointer
+# define NDNBOOST_INTERLOCKED_EXCHANGE_POINTER InterlockedExchangePointer
 
 #elif defined(_WIN32_WCE)
 
@@ -41,11 +41,11 @@
 extern "C" long __cdecl _InterlockedExchange( long volatile *, long );
 extern "C" long __cdecl _InterlockedExchangeAdd( long volatile *, long );
 
-# define BOOST_INTERLOCKED_INCREMENT _InterlockedIncrement
-# define BOOST_INTERLOCKED_DECREMENT _InterlockedDecrement
-# define BOOST_INTERLOCKED_COMPARE_EXCHANGE _InterlockedCompareExchange
-# define BOOST_INTERLOCKED_EXCHANGE _InterlockedExchange
-# define BOOST_INTERLOCKED_EXCHANGE_ADD _InterlockedExchangeAdd
+# define NDNBOOST_INTERLOCKED_INCREMENT _InterlockedIncrement
+# define NDNBOOST_INTERLOCKED_DECREMENT _InterlockedDecrement
+# define NDNBOOST_INTERLOCKED_COMPARE_EXCHANGE _InterlockedCompareExchange
+# define NDNBOOST_INTERLOCKED_EXCHANGE _InterlockedExchange
+# define NDNBOOST_INTERLOCKED_EXCHANGE_ADD _InterlockedExchangeAdd
 
 #else
 // under Windows CE we still have old-style Interlocked* functions
@@ -56,22 +56,22 @@
 extern "C" long __cdecl InterlockedExchange( long*, long );
 extern "C" long __cdecl InterlockedExchangeAdd( long*, long );
 
-# define BOOST_INTERLOCKED_INCREMENT InterlockedIncrement
-# define BOOST_INTERLOCKED_DECREMENT InterlockedDecrement
-# define BOOST_INTERLOCKED_COMPARE_EXCHANGE InterlockedCompareExchange
-# define BOOST_INTERLOCKED_EXCHANGE InterlockedExchange
-# define BOOST_INTERLOCKED_EXCHANGE_ADD InterlockedExchangeAdd
+# define NDNBOOST_INTERLOCKED_INCREMENT InterlockedIncrement
+# define NDNBOOST_INTERLOCKED_DECREMENT InterlockedDecrement
+# define NDNBOOST_INTERLOCKED_COMPARE_EXCHANGE InterlockedCompareExchange
+# define NDNBOOST_INTERLOCKED_EXCHANGE InterlockedExchange
+# define NDNBOOST_INTERLOCKED_EXCHANGE_ADD InterlockedExchangeAdd
 
 #endif
 
-# define BOOST_INTERLOCKED_COMPARE_EXCHANGE_POINTER(dest,exchange,compare) \
-    ((void*)BOOST_INTERLOCKED_COMPARE_EXCHANGE((long*)(dest),(long)(exchange),(long)(compare)))
-# define BOOST_INTERLOCKED_EXCHANGE_POINTER(dest,exchange) \
-    ((void*)BOOST_INTERLOCKED_EXCHANGE((long*)(dest),(long)(exchange)))
+# define NDNBOOST_INTERLOCKED_COMPARE_EXCHANGE_POINTER(dest,exchange,compare) \
+    ((void*)NDNBOOST_INTERLOCKED_COMPARE_EXCHANGE((long*)(dest),(long)(exchange),(long)(compare)))
+# define NDNBOOST_INTERLOCKED_EXCHANGE_POINTER(dest,exchange) \
+    ((void*)NDNBOOST_INTERLOCKED_EXCHANGE((long*)(dest),(long)(exchange)))
 
-#elif defined( BOOST_MSVC ) || defined( BOOST_INTEL_WIN )
+#elif defined( NDNBOOST_MSVC ) || defined( NDNBOOST_INTEL_WIN )
 
-#if defined( BOOST_MSVC ) && BOOST_MSVC >= 1600
+#if defined( NDNBOOST_MSVC ) && NDNBOOST_MSVC >= 1600
 
 #include <intrin.h>
 
@@ -107,30 +107,30 @@
 #  pragma intrinsic( _InterlockedCompareExchangePointer )
 #  pragma intrinsic( _InterlockedExchangePointer )
 
-#  define BOOST_INTERLOCKED_COMPARE_EXCHANGE_POINTER _InterlockedCompareExchangePointer
-#  define BOOST_INTERLOCKED_EXCHANGE_POINTER _InterlockedExchangePointer
+#  define NDNBOOST_INTERLOCKED_COMPARE_EXCHANGE_POINTER _InterlockedCompareExchangePointer
+#  define NDNBOOST_INTERLOCKED_EXCHANGE_POINTER _InterlockedExchangePointer
 
 # else
 
-#  define BOOST_INTERLOCKED_COMPARE_EXCHANGE_POINTER(dest,exchange,compare) \
-    ((void*)BOOST_INTERLOCKED_COMPARE_EXCHANGE((long volatile*)(dest),(long)(exchange),(long)(compare)))
-#  define BOOST_INTERLOCKED_EXCHANGE_POINTER(dest,exchange) \
-    ((void*)BOOST_INTERLOCKED_EXCHANGE((long volatile*)(dest),(long)(exchange)))
+#  define NDNBOOST_INTERLOCKED_COMPARE_EXCHANGE_POINTER(dest,exchange,compare) \
+    ((void*)NDNBOOST_INTERLOCKED_COMPARE_EXCHANGE((long volatile*)(dest),(long)(exchange),(long)(compare)))
+#  define NDNBOOST_INTERLOCKED_EXCHANGE_POINTER(dest,exchange) \
+    ((void*)NDNBOOST_INTERLOCKED_EXCHANGE((long volatile*)(dest),(long)(exchange)))
 
 # endif
 
-# define BOOST_INTERLOCKED_INCREMENT _InterlockedIncrement
-# define BOOST_INTERLOCKED_DECREMENT _InterlockedDecrement
-# define BOOST_INTERLOCKED_COMPARE_EXCHANGE _InterlockedCompareExchange
-# define BOOST_INTERLOCKED_EXCHANGE _InterlockedExchange
-# define BOOST_INTERLOCKED_EXCHANGE_ADD _InterlockedExchangeAdd
+# define NDNBOOST_INTERLOCKED_INCREMENT _InterlockedIncrement
+# define NDNBOOST_INTERLOCKED_DECREMENT _InterlockedDecrement
+# define NDNBOOST_INTERLOCKED_COMPARE_EXCHANGE _InterlockedCompareExchange
+# define NDNBOOST_INTERLOCKED_EXCHANGE _InterlockedExchange
+# define NDNBOOST_INTERLOCKED_EXCHANGE_ADD _InterlockedExchangeAdd
 
 #elif defined( WIN32 ) || defined( _WIN32 ) || defined( __WIN32__ ) || defined( __CYGWIN__ )
 
 #if defined(__MINGW64__)
-#define BOOST_INTERLOCKED_IMPORT
+#define NDNBOOST_INTERLOCKED_IMPORT
 #else
-#define BOOST_INTERLOCKED_IMPORT __declspec(dllimport)
+#define NDNBOOST_INTERLOCKED_IMPORT __declspec(dllimport)
 #endif
 
 
@@ -140,35 +140,35 @@
 namespace detail
 {
 
-extern "C" BOOST_INTERLOCKED_IMPORT long __stdcall InterlockedIncrement( long volatile * );
-extern "C" BOOST_INTERLOCKED_IMPORT long __stdcall InterlockedDecrement( long volatile * );
-extern "C" BOOST_INTERLOCKED_IMPORT long __stdcall InterlockedCompareExchange( long volatile *, long, long );
-extern "C" BOOST_INTERLOCKED_IMPORT long __stdcall InterlockedExchange( long volatile *, long );
-extern "C" BOOST_INTERLOCKED_IMPORT long __stdcall InterlockedExchangeAdd( long volatile *, long );
+extern "C" NDNBOOST_INTERLOCKED_IMPORT long __stdcall InterlockedIncrement( long volatile * );
+extern "C" NDNBOOST_INTERLOCKED_IMPORT long __stdcall InterlockedDecrement( long volatile * );
+extern "C" NDNBOOST_INTERLOCKED_IMPORT long __stdcall InterlockedCompareExchange( long volatile *, long, long );
+extern "C" NDNBOOST_INTERLOCKED_IMPORT long __stdcall InterlockedExchange( long volatile *, long );
+extern "C" NDNBOOST_INTERLOCKED_IMPORT long __stdcall InterlockedExchangeAdd( long volatile *, long );
 
 # if defined(_M_IA64) || defined(_M_AMD64)
-extern "C" BOOST_INTERLOCKED_IMPORT void* __stdcall InterlockedCompareExchangePointer( void* volatile *, void*, void* );
-extern "C" BOOST_INTERLOCKED_IMPORT void* __stdcall InterlockedExchangePointer( void* volatile *, void* );
+extern "C" NDNBOOST_INTERLOCKED_IMPORT void* __stdcall InterlockedCompareExchangePointer( void* volatile *, void*, void* );
+extern "C" NDNBOOST_INTERLOCKED_IMPORT void* __stdcall InterlockedExchangePointer( void* volatile *, void* );
 # endif
 
 } // namespace detail
 
 } // namespace ndnboost
 
-# define BOOST_INTERLOCKED_INCREMENT ::ndnboost::detail::InterlockedIncrement
-# define BOOST_INTERLOCKED_DECREMENT ::ndnboost::detail::InterlockedDecrement
-# define BOOST_INTERLOCKED_COMPARE_EXCHANGE ::ndnboost::detail::InterlockedCompareExchange
-# define BOOST_INTERLOCKED_EXCHANGE ::ndnboost::detail::InterlockedExchange
-# define BOOST_INTERLOCKED_EXCHANGE_ADD ::ndnboost::detail::InterlockedExchangeAdd
+# define NDNBOOST_INTERLOCKED_INCREMENT ::ndnboost::detail::InterlockedIncrement
+# define NDNBOOST_INTERLOCKED_DECREMENT ::ndnboost::detail::InterlockedDecrement
+# define NDNBOOST_INTERLOCKED_COMPARE_EXCHANGE ::ndnboost::detail::InterlockedCompareExchange
+# define NDNBOOST_INTERLOCKED_EXCHANGE ::ndnboost::detail::InterlockedExchange
+# define NDNBOOST_INTERLOCKED_EXCHANGE_ADD ::ndnboost::detail::InterlockedExchangeAdd
 
 # if defined(_M_IA64) || defined(_M_AMD64)
-#  define BOOST_INTERLOCKED_COMPARE_EXCHANGE_POINTER ::ndnboost::detail::InterlockedCompareExchangePointer
-#  define BOOST_INTERLOCKED_EXCHANGE_POINTER ::ndnboost::detail::InterlockedExchangePointer
+#  define NDNBOOST_INTERLOCKED_COMPARE_EXCHANGE_POINTER ::ndnboost::detail::InterlockedCompareExchangePointer
+#  define NDNBOOST_INTERLOCKED_EXCHANGE_POINTER ::ndnboost::detail::InterlockedExchangePointer
 # else
-#  define BOOST_INTERLOCKED_COMPARE_EXCHANGE_POINTER(dest,exchange,compare) \
-    ((void*)BOOST_INTERLOCKED_COMPARE_EXCHANGE((long volatile*)(dest),(long)(exchange),(long)(compare)))
-#  define BOOST_INTERLOCKED_EXCHANGE_POINTER(dest,exchange) \
-    ((void*)BOOST_INTERLOCKED_EXCHANGE((long volatile*)(dest),(long)(exchange)))
+#  define NDNBOOST_INTERLOCKED_COMPARE_EXCHANGE_POINTER(dest,exchange,compare) \
+    ((void*)NDNBOOST_INTERLOCKED_COMPARE_EXCHANGE((long volatile*)(dest),(long)(exchange),(long)(compare)))
+#  define NDNBOOST_INTERLOCKED_EXCHANGE_POINTER(dest,exchange) \
+    ((void*)NDNBOOST_INTERLOCKED_EXCHANGE((long volatile*)(dest),(long)(exchange)))
 # endif
 
 #else
@@ -177,4 +177,4 @@
 
 #endif
 
-#endif // #ifndef BOOST_DETAIL_INTERLOCKED_HPP_INCLUDED
+#endif // #ifndef NDNBOOST_DETAIL_INTERLOCKED_HPP_INCLUDED
diff --git a/include/ndnboost/detail/is_function_ref_tester.hpp b/include/ndnboost/detail/is_function_ref_tester.hpp
index b8301ec..001ff5f 100644
--- a/include/ndnboost/detail/is_function_ref_tester.hpp
+++ b/include/ndnboost/detail/is_function_ref_tester.hpp
@@ -5,17 +5,17 @@
 // accompanying file LICENSE_1_0.txt or copy at
 // http://www.boost.org/LICENSE_1_0.txt)
 
-#if !defined(BOOST_PP_IS_ITERATING)
+#if !defined(NDNBOOST_PP_IS_ITERATING)
 
 ///// header body
 
-#ifndef BOOST_DETAIL_IS_FUNCTION_REF_TESTER_HPP_INCLUDED
-#define BOOST_DETAIL_IS_FUNCTION_REF_TESTER_HPP_INCLUDED
+#ifndef NDNBOOST_DETAIL_IS_FUNCTION_REF_TESTER_HPP_INCLUDED
+#define NDNBOOST_DETAIL_IS_FUNCTION_REF_TESTER_HPP_INCLUDED
 
 #include "ndnboost/type_traits/detail/yes_no_type.hpp"
 #include "ndnboost/type_traits/config.hpp"
 
-#if defined(BOOST_TT_PREPROCESSING_MODE)
+#if defined(NDNBOOST_TT_PREPROCESSING_MODE)
 #   include "ndnboost/preprocessor/iterate.hpp"
 #   include "ndnboost/preprocessor/enum_params.hpp"
 #   include "ndnboost/preprocessor/comma_if.hpp"
@@ -26,9 +26,9 @@
 namespace is_function_ref_tester_ {
 
 template <class T>
-ndnboost::type_traits::no_type BOOST_TT_DECL is_function_ref_tester(T& ...);
+ndnboost::type_traits::no_type NDNBOOST_TT_DECL is_function_ref_tester(T& ...);
 
-#if !defined(BOOST_TT_PREPROCESSING_MODE)
+#if !defined(NDNBOOST_TT_PREPROCESSING_MODE)
 // preprocessor-generated part, don't edit by hand!
 
 template <class R>
@@ -111,26 +111,26 @@
 
 #else
 
-#define BOOST_PP_ITERATION_PARAMS_1 \
+#define NDNBOOST_PP_ITERATION_PARAMS_1 \
     (3, (0, 25, "ndnboost/detail/is_function_ref_tester.hpp"))
-#include BOOST_PP_ITERATE()
+#include NDNBOOST_PP_ITERATE()
 
-#endif // BOOST_TT_PREPROCESSING_MODE
+#endif // NDNBOOST_TT_PREPROCESSING_MODE
 
 } // namespace detail
 } // namespace python
 } // namespace ndnboost
 
-#endif // BOOST_DETAIL_IS_FUNCTION_REF_TESTER_HPP_INCLUDED
+#endif // NDNBOOST_DETAIL_IS_FUNCTION_REF_TESTER_HPP_INCLUDED
 
 ///// iteration
 
 #else
-#define i BOOST_PP_FRAME_ITERATION(1)
+#define i NDNBOOST_PP_FRAME_ITERATION(1)
 
-template <class R BOOST_PP_COMMA_IF(i) BOOST_PP_ENUM_PARAMS(i,class T) >
-ndnboost::type_traits::yes_type is_function_ref_tester(R (&)(BOOST_PP_ENUM_PARAMS(i,T)), int);
+template <class R NDNBOOST_PP_COMMA_IF(i) NDNBOOST_PP_ENUM_PARAMS(i,class T) >
+ndnboost::type_traits::yes_type is_function_ref_tester(R (&)(NDNBOOST_PP_ENUM_PARAMS(i,T)), int);
 
 #undef i
-#endif // BOOST_PP_IS_ITERATING
+#endif // NDNBOOST_PP_IS_ITERATING
 
diff --git a/include/ndnboost/detail/is_incrementable.hpp b/include/ndnboost/detail/is_incrementable.hpp
index a15ccb6..0471db9 100644
--- a/include/ndnboost/detail/is_incrementable.hpp
+++ b/include/ndnboost/detail/is_incrementable.hpp
@@ -34,7 +34,7 @@
   struct any { template <class T> any(T const&); };
 
   // This is a last-resort operator++ for when none other is found
-# if BOOST_WORKAROUND(__GNUC__, == 4) && __GNUC_MINOR__ == 0 && __GNUC_PATCHLEVEL__ == 2
+# if NDNBOOST_WORKAROUND(__GNUC__, == 4) && __GNUC_MINOR__ == 0 && __GNUC_PATCHLEVEL__ == 2
   
 }
 
@@ -55,16 +55,16 @@
   
 # endif 
 
-# if BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3202)) \
-    || BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
-#  define BOOST_comma(a,b) (a)
+# if NDNBOOST_WORKAROUND(__MWERKS__, NDNBOOST_TESTED_AT(0x3202)) \
+    || NDNBOOST_WORKAROUND(NDNBOOST_MSVC, <= 1300)
+#  define NDNBOOST_comma(a,b) (a)
 # else 
   // In case an operator++ is found that returns void, we'll use ++x,0
   tag operator,(tag,int);  
-#  define BOOST_comma(a,b) (a,b)
+#  define NDNBOOST_comma(a,b) (a,b)
 # endif 
 
-# if defined(BOOST_MSVC)
+# if defined(NDNBOOST_MSVC)
 #  pragma warning(push)
 #  pragma warning(disable:4913) // Warning about operator,
 # endif 
@@ -81,9 +81,9 @@
   {
       static typename ndnboost::remove_cv<T>::type& x;
 
-      BOOST_STATIC_CONSTANT(
+      NDNBOOST_STATIC_CONSTANT(
           bool
-        , value = sizeof(is_incrementable_::check_(BOOST_comma(++x,0))) == 1
+        , value = sizeof(is_incrementable_::check_(NDNBOOST_comma(++x,0))) == 1
       );
   };
 
@@ -92,40 +92,40 @@
   {
       static typename ndnboost::remove_cv<T>::type& x;
 
-      BOOST_STATIC_CONSTANT(
+      NDNBOOST_STATIC_CONSTANT(
           bool
-        , value = sizeof(is_incrementable_::check_(BOOST_comma(x++,0))) == 1
+        , value = sizeof(is_incrementable_::check_(NDNBOOST_comma(x++,0))) == 1
       );
   };
 
-# if defined(BOOST_MSVC)
+# if defined(NDNBOOST_MSVC)
 #  pragma warning(pop)
 # endif 
 
 }
 
-# undef BOOST_comma
+# undef NDNBOOST_comma
 
 template<typename T> 
 struct is_incrementable 
-BOOST_TT_AUX_BOOL_C_BASE(::ndnboost::detail::is_incrementable_::impl<T>::value)
+NDNBOOST_TT_AUX_BOOL_C_BASE(::ndnboost::detail::is_incrementable_::impl<T>::value)
 { 
-    BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(::ndnboost::detail::is_incrementable_::impl<T>::value)
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_incrementable,(T))
+    NDNBOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(::ndnboost::detail::is_incrementable_::impl<T>::value)
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_incrementable,(T))
 };
 
 template<typename T> 
 struct is_postfix_incrementable 
-BOOST_TT_AUX_BOOL_C_BASE(::ndnboost::detail::is_incrementable_::impl<T>::value)
+NDNBOOST_TT_AUX_BOOL_C_BASE(::ndnboost::detail::is_incrementable_::impl<T>::value)
 { 
-    BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(::ndnboost::detail::is_incrementable_::postfix_impl<T>::value)
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_postfix_incrementable,(T))
+    NDNBOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(::ndnboost::detail::is_incrementable_::postfix_impl<T>::value)
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_postfix_incrementable,(T))
 };
 
 } // namespace detail
 
-BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1, ::ndnboost::detail::is_incrementable)
-BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1, ::ndnboost::detail::is_postfix_incrementable)
+NDNBOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1, ::ndnboost::detail::is_incrementable)
+NDNBOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1, ::ndnboost::detail::is_postfix_incrementable)
 
 } // namespace ndnboost
 
diff --git a/include/ndnboost/detail/iterator.hpp b/include/ndnboost/detail/iterator.hpp
index 6cfb5aa..c2bb102 100644
--- a/include/ndnboost/detail/iterator.hpp
+++ b/include/ndnboost/detail/iterator.hpp
@@ -26,7 +26,7 @@
 // 03 Mar 2001 - Put all implementation into namespace
 //               ndnboost::detail::iterator_traits_. Some progress made on fixes
 //               for Intel compiler. (David Abrahams)
-// 02 Mar 2001 - Changed BOOST_MSVC to BOOST_MSVC_STD_ITERATOR in a few
+// 02 Mar 2001 - Changed NDNBOOST_MSVC to NDNBOOST_MSVC_STD_ITERATOR in a few
 //               places. (Jeremy Siek)
 // 19 Feb 2001 - Improved workarounds for stock MSVC6; use yes_type and
 //               no_type from type_traits.hpp; stopped trying to remove_cv
@@ -63,16 +63,16 @@
 # if defined(__SGI_STL_PORT)
 
 #  if (__SGI_STL_PORT <= 0x410) && !defined(__STL_CLASS_PARTIAL_SPECIALIZATION) && defined(__STL_DEBUG)
-#   define BOOST_BAD_CONTAINER_ITERATOR_CATEGORY_TYPEDEF
+#   define NDNBOOST_BAD_CONTAINER_ITERATOR_CATEGORY_TYPEDEF
 #  endif
 
-#  define BOOST_BAD_OUTPUT_ITERATOR_SPECIALIZATION
+#  define NDNBOOST_BAD_OUTPUT_ITERATOR_SPECIALIZATION
 
 # endif // STLPort <= 4.1b4 && no partial specialization
 
-# if !defined(BOOST_NO_STD_ITERATOR_TRAITS)             \
-  && !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
-  && !defined(BOOST_MSVC_STD_ITERATOR)
+# if !defined(NDNBOOST_NO_STD_ITERATOR_TRAITS)             \
+  && !defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
+  && !defined(NDNBOOST_MSVC_STD_ITERATOR)
     
 namespace ndnboost { namespace detail {
 
@@ -87,10 +87,10 @@
 
 # else
 
-#  if  !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)  \
-    && !defined(BOOST_MSVC_STD_ITERATOR)
+#  if  !defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)  \
+    && !defined(NDNBOOST_MSVC_STD_ITERATOR)
 
-// This is the case where everything conforms except BOOST_NO_STD_ITERATOR_TRAITS
+// This is the case where everything conforms except NDNBOOST_NO_STD_ITERATOR_TRAITS
 
 namespace ndnboost { namespace detail {
 
@@ -135,11 +135,11 @@
 # include <ndnboost/type_traits/detail/yes_no_type.hpp>
 # include <ndnboost/type_traits/is_pointer.hpp>
 
-# ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+# ifdef NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 #  include <ndnboost/type_traits/is_same.hpp>
 #  include <ndnboost/type_traits/remove_pointer.hpp>
 # endif
-# ifdef BOOST_BAD_OUTPUT_ITERATOR_SPECIALIZATION
+# ifdef NDNBOOST_BAD_OUTPUT_ITERATOR_SPECIALIZATION
 #  include <ndnboost/type_traits/is_base_and_derived.hpp>
 # endif
 
@@ -152,11 +152,11 @@
 
 namespace ndnboost { namespace detail {
 
-BOOST_MPL_HAS_XXX_TRAIT_DEF(value_type)
-BOOST_MPL_HAS_XXX_TRAIT_DEF(reference)
-BOOST_MPL_HAS_XXX_TRAIT_DEF(pointer)
-BOOST_MPL_HAS_XXX_TRAIT_DEF(difference_type)
-BOOST_MPL_HAS_XXX_TRAIT_DEF(iterator_category)
+NDNBOOST_MPL_HAS_XXX_TRAIT_DEF(value_type)
+NDNBOOST_MPL_HAS_XXX_TRAIT_DEF(reference)
+NDNBOOST_MPL_HAS_XXX_TRAIT_DEF(pointer)
+NDNBOOST_MPL_HAS_XXX_TRAIT_DEF(difference_type)
+NDNBOOST_MPL_HAS_XXX_TRAIT_DEF(iterator_category)
 
 // is_mutable_iterator --
 //
@@ -170,7 +170,7 @@
 // This one detects ordinary mutable iterators - the result of
 // operator* is convertible to the value_type.
 template <class T>
-type_traits::yes_type is_mutable_iterator_helper(T const*, BOOST_DEDUCED_TYPENAME T::value_type*);
+type_traits::yes_type is_mutable_iterator_helper(T const*, NDNBOOST_DEDUCED_TYPENAME T::value_type*);
 
 // Since you can't take the address of an rvalue, the guts of
 // is_mutable_iterator_impl will fail if we use &*t directly.  This
@@ -191,7 +191,7 @@
 {
     static T t;
     
-    BOOST_STATIC_CONSTANT(
+    NDNBOOST_STATIC_CONSTANT(
         bool, value = sizeof(
             detail::is_mutable_iterator_helper(
                 (T*)0
@@ -201,7 +201,7 @@
     );
 };
 
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(
+NDNBOOST_TT_AUX_BOOL_TRAIT_DEF1(
     is_mutable_iterator,T,::ndnboost::detail::is_mutable_iterator_impl<T>::value)
 
 
@@ -222,12 +222,12 @@
     };
 };
 
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(
+NDNBOOST_TT_AUX_BOOL_TRAIT_DEF1(
     is_full_iterator_traits,T,::ndnboost::detail::is_full_iterator_traits_impl<T>::value)
 
 
-#   ifdef BOOST_BAD_CONTAINER_ITERATOR_CATEGORY_TYPEDEF
-BOOST_MPL_HAS_XXX_TRAIT_DEF(_Iterator_category)
+#   ifdef NDNBOOST_BAD_CONTAINER_ITERATOR_CATEGORY_TYPEDEF
+NDNBOOST_MPL_HAS_XXX_TRAIT_DEF(_Iterator_category)
     
 // is_stlport_40_debug_iterator --
 //
@@ -246,7 +246,7 @@
     };
 };
 
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(
+NDNBOOST_TT_AUX_BOOL_TRAIT_DEF1(
     is_stlport_40_debug_iterator,T,::ndnboost::detail::is_stlport_40_debug_iterator_impl<T>::value)
 
 template <class T>
@@ -258,11 +258,11 @@
     typedef typename T::difference_type difference_type;
     typedef typename T::_Iterator_category iterator_category;
 };
-#   endif // BOOST_BAD_CONTAINER_ITERATOR_CATEGORY_TYPEDEF 
+#   endif // NDNBOOST_BAD_CONTAINER_ITERATOR_CATEGORY_TYPEDEF 
 
 template <class T> struct pointer_iterator_traits;
 
-#   ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#   ifndef NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 template <class T>
 struct pointer_iterator_traits<T*>
 {
@@ -279,13 +279,13 @@
 // some basic types, remove_pointer is manually defined in
 // type_traits/broken_compiler_spec.hpp. For others, do it yourself.
 
-template<class P> class please_invoke_BOOST_TT_BROKEN_COMPILER_SPEC_on_cv_unqualified_pointee;
+template<class P> class please_invoke_NDNBOOST_TT_BROKEN_COMPILER_SPEC_on_cv_unqualified_pointee;
 
 template<class P>
 struct pointer_value_type
   : mpl::if_<
         is_same<P, typename remove_pointer<P>::type>
-      , please_invoke_BOOST_TT_BROKEN_COMPILER_SPEC_on_cv_unqualified_pointee<P>
+      , please_invoke_NDNBOOST_TT_BROKEN_COMPILER_SPEC_on_cv_unqualified_pointee<P>
       , typename remove_const<
             typename remove_pointer<P>::type
         >::type
@@ -298,7 +298,7 @@
 struct pointer_reference
   : mpl::if_<
         is_same<P, typename remove_pointer<P>::type>
-      , please_invoke_BOOST_TT_BROKEN_COMPILER_SPEC_on_cv_unqualified_pointee<P>
+      , please_invoke_NDNBOOST_TT_BROKEN_COMPILER_SPEC_on_cv_unqualified_pointee<P>
       , typename remove_pointer<P>::type&
     >
 {
@@ -315,7 +315,7 @@
     typedef typename pointer_reference<T>::type reference;
 };
 
-#   endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#   endif // NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 
 // We'll sort iterator types into one of these classifications, from which we
 // can determine the difference_type, pointer, reference, and value_type
@@ -347,7 +347,7 @@
     typedef const typename std::iterator_traits<Iterator>::value_type& reference;
 };
 
-#   ifdef BOOST_BAD_OUTPUT_ITERATOR_SPECIALIZATION
+#   ifdef NDNBOOST_BAD_OUTPUT_ITERATOR_SPECIALIZATION
 template <class Iterator>
 struct is_bad_output_iterator
     : is_base_and_derived<
@@ -384,7 +384,7 @@
         is_full_iterator_traits<Iterator>
         // Use a standard iterator_traits implementation
         , standard_iterator_traits<Iterator>
-#   ifdef BOOST_BAD_CONTAINER_ITERATOR_CATEGORY_TYPEDEF
+#   ifdef NDNBOOST_BAD_CONTAINER_ITERATOR_CATEGORY_TYPEDEF
         // Check for STLPort 4.0 broken _Iterator_category type
         , mpl::if_<
              is_stlport_40_debug_iterator<Iterator>
@@ -392,7 +392,7 @@
 #   endif
         // Otherwise, assume it's a Dinkum iterator
         , msvc_stdlib_iterator_traits<Iterator>
-#   ifdef BOOST_BAD_CONTAINER_ITERATOR_CATEGORY_TYPEDEF
+#   ifdef NDNBOOST_BAD_CONTAINER_ITERATOR_CATEGORY_TYPEDEF
         >::type
 #   endif 
     >::type
@@ -415,7 +415,7 @@
     // Explicit forwarding from base class needed to keep MSVC6 happy
     // under some circumstances.
  private:
-#   ifdef BOOST_BAD_OUTPUT_ITERATOR_SPECIALIZATION
+#   ifdef NDNBOOST_BAD_OUTPUT_ITERATOR_SPECIALIZATION
     typedef 
     typename mpl::if_<
         is_bad_output_iterator<Iterator>
@@ -488,7 +488,7 @@
 # endif
 
 
-# undef BOOST_BAD_CONTAINER_ITERATOR_CATEGORY_TYPEDEF
-# undef BOOST_BAD_OUTPUT_ITERATOR_SPECIALIZATION
+# undef NDNBOOST_BAD_CONTAINER_ITERATOR_CATEGORY_TYPEDEF
+# undef NDNBOOST_BAD_OUTPUT_ITERATOR_SPECIALIZATION
 
 #endif // ITERATOR_DWA122600_HPP_
diff --git a/include/ndnboost/detail/lcast_precision.hpp b/include/ndnboost/detail/lcast_precision.hpp
index b763a83..2b0b2aa 100644
--- a/include/ndnboost/detail/lcast_precision.hpp
+++ b/include/ndnboost/detail/lcast_precision.hpp
@@ -5,8 +5,8 @@
 // (See accompanying file LICENSE_1_0.txt
 // or copy at http://www.boost.org/LICENSE_1_0.txt)
 
-#ifndef BOOST_DETAIL_LCAST_PRECISION_HPP_INCLUDED
-#define BOOST_DETAIL_LCAST_PRECISION_HPP_INCLUDED
+#ifndef NDNBOOST_DETAIL_LCAST_PRECISION_HPP_INCLUDED
+#define NDNBOOST_DETAIL_LCAST_PRECISION_HPP_INCLUDED
 
 #include <climits>
 #include <ios>
@@ -15,19 +15,19 @@
 #include <ndnboost/config.hpp>
 #include <ndnboost/integer_traits.hpp>
 
-#ifndef BOOST_NO_IS_ABSTRACT
+#ifndef NDNBOOST_NO_IS_ABSTRACT
 // Fix for SF:1358600 - lexical_cast & pure virtual functions & VC 8 STL
 #include <ndnboost/mpl/if.hpp>
 #include <ndnboost/type_traits/is_abstract.hpp>
 #endif
 
-#if defined(BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS) || \
-  (defined(BOOST_MSVC) && (BOOST_MSVC<1310))
+#if defined(NDNBOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS) || \
+  (defined(NDNBOOST_MSVC) && (NDNBOOST_MSVC<1310))
 
-#define BOOST_LCAST_NO_COMPILE_TIME_PRECISION
+#define NDNBOOST_LCAST_NO_COMPILE_TIME_PRECISION
 #endif
 
-#ifdef BOOST_LCAST_NO_COMPILE_TIME_PRECISION
+#ifdef NDNBOOST_LCAST_NO_COMPILE_TIME_PRECISION
 #include <ndnboost/assert.hpp>
 #else
 #include <ndnboost/static_assert.hpp>
@@ -37,58 +37,58 @@
 
 class lcast_abstract_stub {};
 
-#ifndef BOOST_LCAST_NO_COMPILE_TIME_PRECISION
+#ifndef NDNBOOST_LCAST_NO_COMPILE_TIME_PRECISION
 // Calculate an argument to pass to std::ios_base::precision from
 // lexical_cast. See alternative implementation for broken standard
 // libraries in lcast_get_precision below. Keep them in sync, please.
 template<class T>
 struct lcast_precision
 {
-#ifdef BOOST_NO_IS_ABSTRACT
+#ifdef NDNBOOST_NO_IS_ABSTRACT
     typedef std::numeric_limits<T> limits; // No fix for SF:1358600.
 #else
-    typedef BOOST_DEDUCED_TYPENAME ndnboost::mpl::if_<
+    typedef NDNBOOST_DEDUCED_TYPENAME ndnboost::mpl::if_<
         ndnboost::is_abstract<T>
       , std::numeric_limits<lcast_abstract_stub>
       , std::numeric_limits<T>
       >::type limits;
 #endif
 
-    BOOST_STATIC_CONSTANT(bool, use_default_precision =
+    NDNBOOST_STATIC_CONSTANT(bool, use_default_precision =
             !limits::is_specialized || limits::is_exact
         );
 
-    BOOST_STATIC_CONSTANT(bool, is_specialized_bin =
+    NDNBOOST_STATIC_CONSTANT(bool, is_specialized_bin =
             !use_default_precision &&
             limits::radix == 2 && limits::digits > 0
         );
 
-    BOOST_STATIC_CONSTANT(bool, is_specialized_dec =
+    NDNBOOST_STATIC_CONSTANT(bool, is_specialized_dec =
             !use_default_precision &&
             limits::radix == 10 && limits::digits10 > 0
         );
 
-    BOOST_STATIC_CONSTANT(std::streamsize, streamsize_max =
+    NDNBOOST_STATIC_CONSTANT(std::streamsize, streamsize_max =
             ndnboost::integer_traits<std::streamsize>::const_max
         );
 
-    BOOST_STATIC_CONSTANT(unsigned int, precision_dec = limits::digits10 + 1U);
+    NDNBOOST_STATIC_CONSTANT(unsigned int, precision_dec = limits::digits10 + 1U);
 
-    BOOST_STATIC_ASSERT(!is_specialized_dec ||
+    NDNBOOST_STATIC_ASSERT(!is_specialized_dec ||
             precision_dec <= streamsize_max + 0UL
         );
 
-    BOOST_STATIC_CONSTANT(unsigned long, precision_bin =
+    NDNBOOST_STATIC_CONSTANT(unsigned long, precision_bin =
             2UL + limits::digits * 30103UL / 100000UL
         );
 
-    BOOST_STATIC_ASSERT(!is_specialized_bin ||
+    NDNBOOST_STATIC_ASSERT(!is_specialized_bin ||
             (limits::digits + 0UL < ULONG_MAX / 30103UL &&
             precision_bin > limits::digits10 + 0UL &&
             precision_bin <= streamsize_max + 0UL)
         );
 
-    BOOST_STATIC_CONSTANT(std::streamsize, value =
+    NDNBOOST_STATIC_CONSTANT(std::streamsize, value =
             is_specialized_bin ? precision_bin
                                : is_specialized_dec ? precision_dec : 6
         );
@@ -98,14 +98,14 @@
 template<class T>
 inline std::streamsize lcast_get_precision(T* = 0)
 {
-#ifndef BOOST_LCAST_NO_COMPILE_TIME_PRECISION
+#ifndef NDNBOOST_LCAST_NO_COMPILE_TIME_PRECISION
     return lcast_precision<T>::value;
 #else // Follow lcast_precision algorithm at run-time:
 
-#ifdef BOOST_NO_IS_ABSTRACT
+#ifdef NDNBOOST_NO_IS_ABSTRACT
     typedef std::numeric_limits<T> limits; // No fix for SF:1358600.
 #else
-    typedef BOOST_DEDUCED_TYPENAME ndnboost::mpl::if_<
+    typedef NDNBOOST_DEDUCED_TYPENAME ndnboost::mpl::if_<
         ndnboost::is_abstract<T>
       , std::numeric_limits<lcast_abstract_stub>
       , std::numeric_limits<T>
@@ -134,7 +134,7 @@
             unsigned long const precision = 2UL + digits * 30103UL / 100000UL;
             // unsigned long is selected because it is at least 32-bits
             // and thus ULONG_MAX / 30103UL is big enough for all types.
-            BOOST_ASSERT(
+            NDNBOOST_ASSERT(
                     digits < ULONG_MAX / 30103UL &&
                     precision > limits::digits10 + 0UL &&
                     precision <= streamsize_max + 0UL
@@ -145,7 +145,7 @@
         {   // Decimal Floating-point type, most likely a User Defined Type
             // rather than a real floating-point hardware type.
             unsigned int const precision = limits::digits10 + 1U;
-            BOOST_ASSERT(precision <= streamsize_max + 0UL);
+            NDNBOOST_ASSERT(precision <= streamsize_max + 0UL);
             return precision;
         }
     }
@@ -180,5 +180,5 @@
 
 }}
 
-#endif //  BOOST_DETAIL_LCAST_PRECISION_HPP_INCLUDED
+#endif //  NDNBOOST_DETAIL_LCAST_PRECISION_HPP_INCLUDED
 
diff --git a/include/ndnboost/detail/lightweight_mutex.hpp b/include/ndnboost/detail/lightweight_mutex.hpp
index 69e3e38..2860c1a 100644
--- a/include/ndnboost/detail/lightweight_mutex.hpp
+++ b/include/ndnboost/detail/lightweight_mutex.hpp
@@ -1,5 +1,5 @@
-#ifndef BOOST_DETAIL_LIGHTWEIGHT_MUTEX_HPP_INCLUDED
-#define BOOST_DETAIL_LIGHTWEIGHT_MUTEX_HPP_INCLUDED
+#ifndef NDNBOOST_DETAIL_LIGHTWEIGHT_MUTEX_HPP_INCLUDED
+#define NDNBOOST_DETAIL_LIGHTWEIGHT_MUTEX_HPP_INCLUDED
 
 // MS compatible compilers support #pragma once
 
@@ -19,4 +19,4 @@
 
 #include <ndnboost/smart_ptr/detail/lightweight_mutex.hpp>
 
-#endif // #ifndef BOOST_DETAIL_LIGHTWEIGHT_MUTEX_HPP_INCLUDED
+#endif // #ifndef NDNBOOST_DETAIL_LIGHTWEIGHT_MUTEX_HPP_INCLUDED
diff --git a/include/ndnboost/detail/lightweight_test.hpp b/include/ndnboost/detail/lightweight_test.hpp
index 252a2be..40e7cd6 100644
--- a/include/ndnboost/detail/lightweight_test.hpp
+++ b/include/ndnboost/detail/lightweight_test.hpp
@@ -1,5 +1,5 @@
-#ifndef BOOST_DETAIL_LIGHTWEIGHT_TEST_HPP_INCLUDED
-#define BOOST_DETAIL_LIGHTWEIGHT_TEST_HPP_INCLUDED
+#ifndef NDNBOOST_DETAIL_LIGHTWEIGHT_TEST_HPP_INCLUDED
+#define NDNBOOST_DETAIL_LIGHTWEIGHT_TEST_HPP_INCLUDED
 
 // MS compatible compilers support #pragma once
 
@@ -23,38 +23,38 @@
 //    If expression is false increases the error count 
 //    and outputs a message containing 'expression'
 //
-//  BOOST_TEST(expression)
+//  NDNBOOST_TEST(expression)
 //
 //    ---------------
 //
 //    Increases error count and outputs a message containing 'message'
 //
-//  BOOST_ERROR(message)
+//  NDNBOOST_ERROR(message)
 //
 //    ---------------
 //
 //    If 'expr1' != 'expr2' increases the error count 
 //    and outputs a message containing both expressions
 //
-//  BOOST_TEST_EQ(expr1, expr2)
+//  NDNBOOST_TEST_EQ(expr1, expr2)
 //
 //    ---------------
 //
 //    If 'expr1' == 'expr2' increases the error count 
 //    and outputs a message containing both expressions
 //
-//  BOOST_TEST_NE(expr1, expr2)
+//  NDNBOOST_TEST_NE(expr1, expr2)
 //
 //    ---------------
 //
-//    If BOOST_NO_EXCEPTIONS is NOT defined and if 'expr' does not
+//    If NDNBOOST_NO_EXCEPTIONS is NOT defined and if 'expr' does not
 //    throw an exception of type 'excep', increases the error count
 //    and outputs a message containing the expression.
 //
-//    If BOOST_NO_EXCEPTIONS is defined, this macro expands to nothing
+//    If NDNBOOST_NO_EXCEPTIONS is defined, this macro expands to nothing
 //    and 'expr' is not evaluated.
 //
-//  BOOST_TEST_THROWS(expr, excep)
+//  NDNBOOST_TEST_THROWS(expr, excep)
 //
 //    ---------------
 //
@@ -70,8 +70,8 @@
 
 //  IDE's like Visual Studio perform better if output goes to std::cout or
 //  some other stream, so allow user to configure output stream:
-#ifndef BOOST_LIGHTWEIGHT_TEST_OSTREAM
-# define BOOST_LIGHTWEIGHT_TEST_OSTREAM std::cerr
+#ifndef NDNBOOST_LIGHTWEIGHT_TEST_OSTREAM
+# define NDNBOOST_LIGHTWEIGHT_TEST_OSTREAM std::cerr
 #endif
 
 namespace ndnboost
@@ -86,7 +86,7 @@
   report_errors_reminder() : called_report_errors_function(false) {}
  ~report_errors_reminder()
   {
-    BOOST_ASSERT(called_report_errors_function);  // verify report_errors() was called  
+    NDNBOOST_ASSERT(called_report_errors_function);  // verify report_errors() was called  
   }
 };
 
@@ -105,7 +105,7 @@
 
 inline void test_failed_impl(char const * expr, char const * file, int line, char const * function)
 {
-    BOOST_LIGHTWEIGHT_TEST_OSTREAM
+    NDNBOOST_LIGHTWEIGHT_TEST_OSTREAM
       << file << "(" << line << "): test '" << expr << "' failed in function '"
       << function << "'" << std::endl;
     ++test_errors();
@@ -113,7 +113,7 @@
 
 inline void error_impl(char const * msg, char const * file, int line, char const * function)
 {
-    BOOST_LIGHTWEIGHT_TEST_OSTREAM
+    NDNBOOST_LIGHTWEIGHT_TEST_OSTREAM
       << file << "(" << line << "): " << msg << " in function '"
       << function << "'" << std::endl;
     ++test_errors();
@@ -121,7 +121,7 @@
 
 inline void throw_failed_impl(char const * excep, char const * file, int line, char const * function)
 {
-   BOOST_LIGHTWEIGHT_TEST_OSTREAM
+   NDNBOOST_LIGHTWEIGHT_TEST_OSTREAM
     << file << "(" << line << "): Exception '" << excep << "' not thrown in function '"
     << function << "'" << std::endl;
    ++test_errors();
@@ -135,7 +135,7 @@
     }
     else
     {
-        BOOST_LIGHTWEIGHT_TEST_OSTREAM
+        NDNBOOST_LIGHTWEIGHT_TEST_OSTREAM
             << file << "(" << line << "): test '" << expr1 << " == " << expr2
             << "' failed in function '" << function << "': "
             << "'" << t << "' != '" << u << "'" << std::endl;
@@ -151,7 +151,7 @@
     }
     else
     {
-        BOOST_LIGHTWEIGHT_TEST_OSTREAM
+        NDNBOOST_LIGHTWEIGHT_TEST_OSTREAM
             << file << "(" << line << "): test '" << expr1 << " != " << expr2
             << "' failed in function '" << function << "': "
             << "'" << t << "' == '" << u << "'" << std::endl;
@@ -169,13 +169,13 @@
 
     if( errors == 0 )
     {
-        BOOST_LIGHTWEIGHT_TEST_OSTREAM
+        NDNBOOST_LIGHTWEIGHT_TEST_OSTREAM
           << "No errors detected." << std::endl;
         return 0;
     }
     else
     {
-        BOOST_LIGHTWEIGHT_TEST_OSTREAM
+        NDNBOOST_LIGHTWEIGHT_TEST_OSTREAM
           << errors << " error" << (errors == 1? "": "s") << " detected." << std::endl;
         return 1;
     }
@@ -183,26 +183,26 @@
 
 } // namespace ndnboost
 
-#define BOOST_TEST(expr) ((expr)? (void)0: ::ndnboost::detail::test_failed_impl(#expr, __FILE__, __LINE__, BOOST_CURRENT_FUNCTION))
-#define BOOST_ERROR(msg) ::ndnboost::detail::error_impl(msg, __FILE__, __LINE__, BOOST_CURRENT_FUNCTION)
-#define BOOST_TEST_EQ(expr1,expr2) ( ::ndnboost::detail::test_eq_impl(#expr1, #expr2, __FILE__, __LINE__, BOOST_CURRENT_FUNCTION, expr1, expr2) )
-#define BOOST_TEST_NE(expr1,expr2) ( ::ndnboost::detail::test_ne_impl(#expr1, #expr2, __FILE__, __LINE__, BOOST_CURRENT_FUNCTION, expr1, expr2) )
-#ifndef BOOST_NO_EXCEPTIONS
-   #define BOOST_TEST_THROWS( EXPR, EXCEP )                    \
+#define NDNBOOST_TEST(expr) ((expr)? (void)0: ::ndnboost::detail::test_failed_impl(#expr, __FILE__, __LINE__, NDNBOOST_CURRENT_FUNCTION))
+#define NDNBOOST_ERROR(msg) ::ndnboost::detail::error_impl(msg, __FILE__, __LINE__, NDNBOOST_CURRENT_FUNCTION)
+#define NDNBOOST_TEST_EQ(expr1,expr2) ( ::ndnboost::detail::test_eq_impl(#expr1, #expr2, __FILE__, __LINE__, NDNBOOST_CURRENT_FUNCTION, expr1, expr2) )
+#define NDNBOOST_TEST_NE(expr1,expr2) ( ::ndnboost::detail::test_ne_impl(#expr1, #expr2, __FILE__, __LINE__, NDNBOOST_CURRENT_FUNCTION, expr1, expr2) )
+#ifndef NDNBOOST_NO_EXCEPTIONS
+   #define NDNBOOST_TEST_THROWS( EXPR, EXCEP )                    \
       try {                                                    \
          EXPR;                                                 \
          ::ndnboost::detail::throw_failed_impl                    \
-         (#EXCEP, __FILE__, __LINE__, BOOST_CURRENT_FUNCTION); \
+         (#EXCEP, __FILE__, __LINE__, NDNBOOST_CURRENT_FUNCTION); \
       }                                                        \
       catch(EXCEP const&) {                                    \
       }                                                        \
       catch(...) {                                             \
          ::ndnboost::detail::throw_failed_impl                    \
-         (#EXCEP, __FILE__, __LINE__, BOOST_CURRENT_FUNCTION); \
+         (#EXCEP, __FILE__, __LINE__, NDNBOOST_CURRENT_FUNCTION); \
       }                                                        \
    //
 #else
-   #define BOOST_TEST_THROWS( EXPR, EXCEP )
+   #define NDNBOOST_TEST_THROWS( EXPR, EXCEP )
 #endif
 
-#endif // #ifndef BOOST_DETAIL_LIGHTWEIGHT_TEST_HPP_INCLUDED
+#endif // #ifndef NDNBOOST_DETAIL_LIGHTWEIGHT_TEST_HPP_INCLUDED
diff --git a/include/ndnboost/detail/no_exceptions_support.hpp b/include/ndnboost/detail/no_exceptions_support.hpp
index a56958e..037b18c 100644
--- a/include/ndnboost/detail/no_exceptions_support.hpp
+++ b/include/ndnboost/detail/no_exceptions_support.hpp
@@ -1,5 +1,5 @@
-#ifndef BOOST_DETAIL_NO_EXCEPTIONS_SUPPORT_HPP_
-#define BOOST_DETAIL_NO_EXCEPTIONS_SUPPORT_HPP_
+#ifndef NDNBOOST_DETAIL_NO_EXCEPTIONS_SUPPORT_HPP_
+#define NDNBOOST_DETAIL_NO_EXCEPTIONS_SUPPORT_HPP_
 
 #if (defined _MSC_VER) && (_MSC_VER >= 1200)
 #  pragma once
@@ -13,7 +13,7 @@
 //
 //
 // This file contains helper macros used when exception support may be
-// disabled (as indicated by macro BOOST_NO_EXCEPTIONS).
+// disabled (as indicated by macro NDNBOOST_NO_EXCEPTIONS).
 //
 // Before picking up these macros you may consider using RAII techniques
 // to deal with exceptions - their syntax can be always the same with 
@@ -23,15 +23,15 @@
 /* Example of use:
 
 void foo() {
-  BOOST_TRY {
+  NDNBOOST_TRY {
     ...
-  } BOOST_CATCH(const std::bad_alloc&) {
+  } NDNBOOST_CATCH(const std::bad_alloc&) {
       ...
-      BOOST_RETHROW
-  } BOOST_CATCH(const std::exception& e) {
+      NDNBOOST_RETHROW
+  } NDNBOOST_CATCH(const std::exception& e) {
       ...
   }
-  BOOST_CATCH_END
+  NDNBOOST_CATCH_END
 }
 
 With exception support enabled it will expand into:
@@ -66,21 +66,21 @@
 #include <ndnboost/config.hpp>
 #include <ndnboost/detail/workaround.hpp>
 
-#if !(defined BOOST_NO_EXCEPTIONS)
-#    define BOOST_TRY { try
-#    define BOOST_CATCH(x) catch(x)
-#    define BOOST_RETHROW throw;
-#    define BOOST_CATCH_END }
+#if !(defined NDNBOOST_NO_EXCEPTIONS)
+#    define NDNBOOST_TRY { try
+#    define NDNBOOST_CATCH(x) catch(x)
+#    define NDNBOOST_RETHROW throw;
+#    define NDNBOOST_CATCH_END }
 #else
-#    if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
-#        define BOOST_TRY { if ("")
-#        define BOOST_CATCH(x) else if (!"")
+#    if NDNBOOST_WORKAROUND(__BORLANDC__, NDNBOOST_TESTED_AT(0x564))
+#        define NDNBOOST_TRY { if ("")
+#        define NDNBOOST_CATCH(x) else if (!"")
 #    else
-#        define BOOST_TRY { if (true)
-#        define BOOST_CATCH(x) else if (false)
+#        define NDNBOOST_TRY { if (true)
+#        define NDNBOOST_CATCH(x) else if (false)
 #    endif
-#    define BOOST_RETHROW
-#    define BOOST_CATCH_END }
+#    define NDNBOOST_RETHROW
+#    define NDNBOOST_CATCH_END }
 #endif
 
 
diff --git a/include/ndnboost/detail/ob_call_traits.hpp b/include/ndnboost/detail/ob_call_traits.hpp
index 45f3743..ddbbb0c 100644
--- a/include/ndnboost/detail/ob_call_traits.hpp
+++ b/include/ndnboost/detail/ob_call_traits.hpp
@@ -16,23 +16,23 @@
       & Ulrich Eisenecker.
 */
 
-#ifndef BOOST_OB_CALL_TRAITS_HPP
-#define BOOST_OB_CALL_TRAITS_HPP
+#ifndef NDNBOOST_OB_CALL_TRAITS_HPP
+#define NDNBOOST_OB_CALL_TRAITS_HPP
 
-#ifndef BOOST_CONFIG_HPP
+#ifndef NDNBOOST_CONFIG_HPP
 #include <ndnboost/config.hpp>
 #endif
 
-#ifndef BOOST_ARITHMETIC_TYPE_TRAITS_HPP
+#ifndef NDNBOOST_ARITHMETIC_TYPE_TRAITS_HPP
 #include <ndnboost/type_traits/arithmetic_traits.hpp>
 #endif
-#ifndef BOOST_COMPOSITE_TYPE_TRAITS_HPP
+#ifndef NDNBOOST_COMPOSITE_TYPE_TRAITS_HPP
 #include <ndnboost/type_traits/composite_traits.hpp>
 #endif
 
 namespace ndnboost{
 
-#ifdef BOOST_MSVC6_MEMBER_TEMPLATES
+#ifdef NDNBOOST_MSVC6_MEMBER_TEMPLATES
 //
 // use member templates to emulate
 // partial specialisation:
@@ -165,4 +165,4 @@
 
 }
 
-#endif // BOOST_OB_CALL_TRAITS_HPP
+#endif // NDNBOOST_OB_CALL_TRAITS_HPP
diff --git a/include/ndnboost/detail/reference_content.hpp b/include/ndnboost/detail/reference_content.hpp
index 52d2c02..098d4ea 100644
--- a/include/ndnboost/detail/reference_content.hpp
+++ b/include/ndnboost/detail/reference_content.hpp
@@ -10,12 +10,12 @@
 // accompanying file LICENSE_1_0.txt or copy at
 // http://www.boost.org/LICENSE_1_0.txt)
 
-#ifndef BOOST_DETAIL_REFERENCE_CONTENT_HPP
-#define BOOST_DETAIL_REFERENCE_CONTENT_HPP
+#ifndef NDNBOOST_DETAIL_REFERENCE_CONTENT_HPP
+#define NDNBOOST_DETAIL_REFERENCE_CONTENT_HPP
 
 #include "ndnboost/config.hpp"
 
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+#if !defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
 #   include "ndnboost/mpl/bool.hpp"
 #   include "ndnboost/type_traits/has_nothrow_copy.hpp"
 #else
@@ -78,7 +78,7 @@
 
 template <typename T = mpl::void_> struct make_reference_content;
 
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+#if !defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
 
 template <typename T>
 struct make_reference_content
@@ -92,7 +92,7 @@
     typedef reference_content<T&> type;
 };
 
-#else // defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+#else // defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
 
 template <typename T>
 struct make_reference_content
@@ -104,7 +104,7 @@
 {
 };
 
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION workaround
+#endif // NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION workaround
 
 template <>
 struct make_reference_content< mpl::void_ >
@@ -124,7 +124,7 @@
 // reference_content<T&> type traits specializations
 //
 
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+#if !defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
 
 template <typename T>
 struct has_nothrow_copy<
@@ -134,8 +134,8 @@
 {
 };
 
-#endif // !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+#endif // !defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
 
 } // namespace ndnboost
 
-#endif // BOOST_DETAIL_REFERENCE_CONTENT_HPP
+#endif // NDNBOOST_DETAIL_REFERENCE_CONTENT_HPP
diff --git a/include/ndnboost/detail/sp_typeinfo.hpp b/include/ndnboost/detail/sp_typeinfo.hpp
index 2239709..7ed63aa 100644
--- a/include/ndnboost/detail/sp_typeinfo.hpp
+++ b/include/ndnboost/detail/sp_typeinfo.hpp
@@ -1,5 +1,5 @@
-#ifndef BOOST_DETAIL_SP_TYPEINFO_HPP_INCLUDED
-#define BOOST_DETAIL_SP_TYPEINFO_HPP_INCLUDED
+#ifndef NDNBOOST_DETAIL_SP_TYPEINFO_HPP_INCLUDED
+#define NDNBOOST_DETAIL_SP_TYPEINFO_HPP_INCLUDED
 
 // MS compatible compilers support #pragma once
 
@@ -17,7 +17,7 @@
 
 #include <ndnboost/config.hpp>
 
-#if defined( BOOST_NO_TYPEID )
+#if defined( NDNBOOST_NO_TYPEID )
 
 #include <ndnboost/current_function.hpp>
 #include <functional>
@@ -70,7 +70,7 @@
 
     static char const * name()
     {
-        return BOOST_CURRENT_FUNCTION;
+        return NDNBOOST_CURRENT_FUNCTION;
     }
 };
 
@@ -102,7 +102,7 @@
 
 } // namespace ndnboost
 
-#define BOOST_SP_TYPEID(T) (ndnboost::detail::sp_typeid_<T>::ti_)
+#define NDNBOOST_SP_TYPEID(T) (ndnboost::detail::sp_typeid_<T>::ti_)
 
 #else
 
@@ -114,7 +114,7 @@
 namespace detail
 {
 
-#if defined( BOOST_NO_STD_TYPEINFO )
+#if defined( NDNBOOST_NO_STD_TYPEINFO )
 
 typedef ::type_info sp_typeinfo;
 
@@ -128,8 +128,8 @@
 
 } // namespace ndnboost
 
-#define BOOST_SP_TYPEID(T) typeid(T)
+#define NDNBOOST_SP_TYPEID(T) typeid(T)
 
 #endif
 
-#endif  // #ifndef BOOST_DETAIL_SP_TYPEINFO_HPP_INCLUDED
+#endif  // #ifndef NDNBOOST_DETAIL_SP_TYPEINFO_HPP_INCLUDED
diff --git a/include/ndnboost/detail/workaround.hpp b/include/ndnboost/detail/workaround.hpp
index 6568e47..7e4ace0 100644
--- a/include/ndnboost/detail/workaround.hpp
+++ b/include/ndnboost/detail/workaround.hpp
@@ -9,34 +9,34 @@
 //
 // Usage:
 //
-//     #if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
+//     #if NDNBOOST_WORKAROUND(NDNBOOST_MSVC, < 1300)
 //        // workaround for eVC4 and VC6
 //        ... // workaround code here
 //     #endif
 //
-// When BOOST_STRICT_CONFIG is defined, expands to 0. Otherwise, the
+// When NDNBOOST_STRICT_CONFIG is defined, expands to 0. Otherwise, the
 // first argument must be undefined or expand to a numeric
 // value. The above expands to:
 //
-//     (BOOST_MSVC) != 0 && (BOOST_MSVC) < 1300
+//     (NDNBOOST_MSVC) != 0 && (NDNBOOST_MSVC) < 1300
 //
 // When used for workarounds that apply to the latest known version 
 // and all earlier versions of a compiler, the following convention 
 // should be observed:
 //
-//     #if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1301))
+//     #if NDNBOOST_WORKAROUND(NDNBOOST_MSVC, NDNBOOST_TESTED_AT(1301))
 //
 // The version number in this case corresponds to the last version in
 // which the workaround was known to have been required. When
-// BOOST_DETECT_OUTDATED_WORKAROUNDS is not the defined, the macro
-// BOOST_TESTED_AT(x) expands to "!= 0", which effectively activates
+// NDNBOOST_DETECT_OUTDATED_WORKAROUNDS is not the defined, the macro
+// NDNBOOST_TESTED_AT(x) expands to "!= 0", which effectively activates
 // the workaround for any version of the compiler. When
-// BOOST_DETECT_OUTDATED_WORKAROUNDS is defined, a compiler warning or
+// NDNBOOST_DETECT_OUTDATED_WORKAROUNDS is defined, a compiler warning or
 // error will be issued if the compiler version exceeds the argument
-// to BOOST_TESTED_AT().  This can be used to locate workarounds which
+// to NDNBOOST_TESTED_AT().  This can be used to locate workarounds which
 // may be obsoleted by newer versions.
 
-# ifndef BOOST_STRICT_CONFIG
+# ifndef NDNBOOST_STRICT_CONFIG
 
 #include <ndnboost/config.hpp>
 
@@ -60,15 +60,15 @@
 #else
 #define _MSC_FULL_VER_WORKAROUND_GUARD 0
 #endif
-#ifndef BOOST_MSVC
-#define BOOST_MSVC_WORKAROUND_GUARD 1
+#ifndef NDNBOOST_MSVC
+#define NDNBOOST_MSVC_WORKAROUND_GUARD 1
 #else
-#define BOOST_MSVC_WORKAROUND_GUARD 0
+#define NDNBOOST_MSVC_WORKAROUND_GUARD 0
 #endif
-#ifndef BOOST_MSVC_FULL_VER
-#define BOOST_MSVC_FULL_VER_WORKAROUND_GUARD 1
+#ifndef NDNBOOST_MSVC_FULL_VER
+#define NDNBOOST_MSVC_FULL_VER_WORKAROUND_GUARD 1
 #else
-#define BOOST_MSVC_FULL_VER_WORKAROUND_GUARD 0
+#define NDNBOOST_MSVC_FULL_VER_WORKAROUND_GUARD 0
 #endif
 #ifndef __GNUC__
 #define __GNUC___WORKAROUND_GUARD 1
@@ -171,10 +171,10 @@
 #else
 #define _RWSTD_VER_WORKAROUND_GUARD 0
 #endif
-#ifndef BOOST_RWSTD_VER
-#define BOOST_RWSTD_VER_WORKAROUND_GUARD 1
+#ifndef NDNBOOST_RWSTD_VER
+#define NDNBOOST_RWSTD_VER_WORKAROUND_GUARD 1
 #else
-#define BOOST_RWSTD_VER_WORKAROUND_GUARD 0
+#define NDNBOOST_RWSTD_VER_WORKAROUND_GUARD 0
 #endif
 #ifndef __GLIBCPP__
 #define __GLIBCPP___WORKAROUND_GUARD 1
@@ -207,60 +207,60 @@
 #define _CPPLIB_VER_WORKAROUND_GUARD 0
 #endif
 
-#ifndef BOOST_INTEL_CXX_VERSION
-#define BOOST_INTEL_CXX_VERSION_WORKAROUND_GUARD 1
+#ifndef NDNBOOST_INTEL_CXX_VERSION
+#define NDNBOOST_INTEL_CXX_VERSION_WORKAROUND_GUARD 1
 #else
-#define BOOST_INTEL_CXX_VERSION_WORKAROUND_GUARD 0
+#define NDNBOOST_INTEL_CXX_VERSION_WORKAROUND_GUARD 0
 #endif
-#ifndef BOOST_INTEL_WIN
-#define BOOST_INTEL_WIN_WORKAROUND_GUARD 1
+#ifndef NDNBOOST_INTEL_WIN
+#define NDNBOOST_INTEL_WIN_WORKAROUND_GUARD 1
 #else
-#define BOOST_INTEL_WIN_WORKAROUND_GUARD 0
+#define NDNBOOST_INTEL_WIN_WORKAROUND_GUARD 0
 #endif
-#ifndef BOOST_DINKUMWARE_STDLIB
-#define BOOST_DINKUMWARE_STDLIB_WORKAROUND_GUARD 1
+#ifndef NDNBOOST_DINKUMWARE_STDLIB
+#define NDNBOOST_DINKUMWARE_STDLIB_WORKAROUND_GUARD 1
 #else
-#define BOOST_DINKUMWARE_STDLIB_WORKAROUND_GUARD 0
+#define NDNBOOST_DINKUMWARE_STDLIB_WORKAROUND_GUARD 0
 #endif
-#ifndef BOOST_INTEL
-#define BOOST_INTEL_WORKAROUND_GUARD 1
+#ifndef NDNBOOST_INTEL
+#define NDNBOOST_INTEL_WORKAROUND_GUARD 1
 #else
-#define BOOST_INTEL_WORKAROUND_GUARD 0
+#define NDNBOOST_INTEL_WORKAROUND_GUARD 0
 #endif
 // Always define to zero, if it's used it'll be defined my MPL:
-#define BOOST_MPL_CFG_GCC_WORKAROUND_GUARD 0
+#define NDNBOOST_MPL_CFG_GCC_WORKAROUND_GUARD 0
 
-#  define BOOST_WORKAROUND(symbol, test)                \
+#  define NDNBOOST_WORKAROUND(symbol, test)                \
          ((symbol ## _WORKAROUND_GUARD + 0 == 0) &&     \
          (symbol != 0) && (1 % (( (symbol test) ) + 1)))
 //                              ^ ^           ^ ^
 // The extra level of parenthesis nesting above, along with the
-// BOOST_OPEN_PAREN indirection below, is required to satisfy the
+// NDNBOOST_OPEN_PAREN indirection below, is required to satisfy the
 // broken preprocessor in MWCW 8.3 and earlier.
 //
 // The basic mechanism works as follows:
 //      (symbol test) + 1        =>   if (symbol test) then 2 else 1
 //      1 % ((symbol test) + 1)  =>   if (symbol test) then 1 else 0
 //
-// The complication with % is for cooperation with BOOST_TESTED_AT().
-// When "test" is BOOST_TESTED_AT(x) and
-// BOOST_DETECT_OUTDATED_WORKAROUNDS is #defined,
+// The complication with % is for cooperation with NDNBOOST_TESTED_AT().
+// When "test" is NDNBOOST_TESTED_AT(x) and
+// NDNBOOST_DETECT_OUTDATED_WORKAROUNDS is #defined,
 //
 //      symbol test              =>   if (symbol <= x) then 1 else -1
 //      (symbol test) + 1        =>   if (symbol <= x) then 2 else 0
 //      1 % ((symbol test) + 1)  =>   if (symbol <= x) then 1 else divide-by-zero
 //
 
-#  ifdef BOOST_DETECT_OUTDATED_WORKAROUNDS
-#   define BOOST_OPEN_PAREN (
-#   define BOOST_TESTED_AT(value)  > value) ?(-1): BOOST_OPEN_PAREN 1
+#  ifdef NDNBOOST_DETECT_OUTDATED_WORKAROUNDS
+#   define NDNBOOST_OPEN_PAREN (
+#   define NDNBOOST_TESTED_AT(value)  > value) ?(-1): NDNBOOST_OPEN_PAREN 1
 #  else
-#   define BOOST_TESTED_AT(value) != ((value)-(value))
+#   define NDNBOOST_TESTED_AT(value) != ((value)-(value))
 #  endif
 
 # else
 
-#  define BOOST_WORKAROUND(symbol, test) 0
+#  define NDNBOOST_WORKAROUND(symbol, test) 0
 
 # endif 
 
diff --git a/include/ndnboost/exception/current_exception_cast.hpp b/include/ndnboost/exception/current_exception_cast.hpp
index f4da16b..2dc62ea 100644
--- a/include/ndnboost/exception/current_exception_cast.hpp
+++ b/include/ndnboost/exception/current_exception_cast.hpp
@@ -5,10 +5,10 @@
 
 #ifndef UUID_7E83C166200811DE885E826156D89593
 #define UUID_7E83C166200811DE885E826156D89593
-#if (__GNUC__*100+__GNUC_MINOR__>301) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
+#if (__GNUC__*100+__GNUC_MINOR__>301) && !defined(NDNBOOST_EXCEPTION_ENABLE_WARNINGS)
 #pragma GCC system_header
 #endif
-#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
+#if defined(_MSC_VER) && !defined(NDNBOOST_EXCEPTION_ENABLE_WARNINGS)
 #pragma warning(push,1)
 #endif
 
@@ -37,7 +37,7 @@
         }
     }
 
-#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
+#if defined(_MSC_VER) && !defined(NDNBOOST_EXCEPTION_ENABLE_WARNINGS)
 #pragma warning(pop)
 #endif
 #endif
diff --git a/include/ndnboost/exception/detail/attribute_noreturn.hpp b/include/ndnboost/exception/detail/attribute_noreturn.hpp
index ae9f031..abf526f 100644
--- a/include/ndnboost/exception/detail/attribute_noreturn.hpp
+++ b/include/ndnboost/exception/detail/attribute_noreturn.hpp
@@ -7,11 +7,11 @@
 #define UUID_61531AB0680611DEADD5846855D89593
 
 #if defined(_MSC_VER)
-#define BOOST_ATTRIBUTE_NORETURN __declspec(noreturn)
+#define NDNBOOST_ATTRIBUTE_NORETURN __declspec(noreturn)
 #elif defined(__GNUC__)
-#define BOOST_ATTRIBUTE_NORETURN __attribute__((__noreturn__))
+#define NDNBOOST_ATTRIBUTE_NORETURN __attribute__((__noreturn__))
 #else
-#define BOOST_ATTRIBUTE_NORETURN
+#define NDNBOOST_ATTRIBUTE_NORETURN
 #endif
 
 #endif
diff --git a/include/ndnboost/exception/detail/error_info_impl.hpp b/include/ndnboost/exception/detail/error_info_impl.hpp
index 9847814..3127f2a 100644
--- a/include/ndnboost/exception/detail/error_info_impl.hpp
+++ b/include/ndnboost/exception/detail/error_info_impl.hpp
@@ -5,10 +5,10 @@
 
 #ifndef UUID_CE6983AC753411DDA764247956D89593
 #define UUID_CE6983AC753411DDA764247956D89593
-#if (__GNUC__*100+__GNUC_MINOR__>301) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
+#if (__GNUC__*100+__GNUC_MINOR__>301) && !defined(NDNBOOST_EXCEPTION_ENABLE_WARNINGS)
 #pragma GCC system_header
 #endif
-#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
+#if defined(_MSC_VER) && !defined(NDNBOOST_EXCEPTION_ENABLE_WARNINGS)
 #pragma warning(push,1)
 #endif
 
@@ -68,7 +68,7 @@
         };
     }
 
-#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
+#if defined(_MSC_VER) && !defined(NDNBOOST_EXCEPTION_ENABLE_WARNINGS)
 #pragma warning(pop)
 #endif
 #endif
diff --git a/include/ndnboost/exception/detail/type_info.hpp b/include/ndnboost/exception/detail/type_info.hpp
index d1c671f..4c9eb47 100644
--- a/include/ndnboost/exception/detail/type_info.hpp
+++ b/include/ndnboost/exception/detail/type_info.hpp
@@ -5,17 +5,17 @@
 
 #ifndef UUID_C3E1741C754311DDB2834CCA55D89593
 #define UUID_C3E1741C754311DDB2834CCA55D89593
-#if (__GNUC__*100+__GNUC_MINOR__>301) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
+#if (__GNUC__*100+__GNUC_MINOR__>301) && !defined(NDNBOOST_EXCEPTION_ENABLE_WARNINGS)
 #pragma GCC system_header
 #endif
-#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
+#if defined(_MSC_VER) && !defined(NDNBOOST_EXCEPTION_ENABLE_WARNINGS)
 #pragma warning(push,1)
 #endif
 
 #include <ndnboost/detail/sp_typeinfo.hpp>
 #include <ndnboost/current_function.hpp>
 #include <ndnboost/config.hpp>
-#ifndef BOOST_NO_TYPEID
+#ifndef NDNBOOST_NO_TYPEID
 #include <ndnboost/units/detail/utility.hpp>
 #endif
 #include <string>
@@ -28,8 +28,8 @@
     std::string
     tag_type_name()
         {
-#ifdef BOOST_NO_TYPEID
-        return BOOST_CURRENT_FUNCTION;
+#ifdef NDNBOOST_NO_TYPEID
+        return NDNBOOST_CURRENT_FUNCTION;
 #else
         return units::detail::demangle(typeid(T*).name());
 #endif
@@ -40,8 +40,8 @@
     std::string
     type_name()
         {
-#ifdef BOOST_NO_TYPEID
-        return BOOST_CURRENT_FUNCTION;
+#ifdef NDNBOOST_NO_TYPEID
+        return NDNBOOST_CURRENT_FUNCTION;
 #else
         return units::detail::demangle(typeid(T).name());
 #endif
@@ -71,13 +71,13 @@
         }
     }
 
-#define BOOST_EXCEPTION_STATIC_TYPEID(T) ::ndnboost::exception_detail::type_info_(BOOST_SP_TYPEID(T))
+#define NDNBOOST_EXCEPTION_STATIC_TYPEID(T) ::ndnboost::exception_detail::type_info_(NDNBOOST_SP_TYPEID(T))
 
-#ifndef BOOST_NO_RTTI
-#define BOOST_EXCEPTION_DYNAMIC_TYPEID(x) ::ndnboost::exception_detail::type_info_(typeid(x))
+#ifndef NDNBOOST_NO_RTTI
+#define NDNBOOST_EXCEPTION_DYNAMIC_TYPEID(x) ::ndnboost::exception_detail::type_info_(typeid(x))
 #endif
 
-#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
+#if defined(_MSC_VER) && !defined(NDNBOOST_EXCEPTION_ENABLE_WARNINGS)
 #pragma warning(pop)
 #endif
 #endif
diff --git a/include/ndnboost/exception/exception.hpp b/include/ndnboost/exception/exception.hpp
index 1597252..cb1a8cb 100644
--- a/include/ndnboost/exception/exception.hpp
+++ b/include/ndnboost/exception/exception.hpp
@@ -5,10 +5,10 @@
 
 #ifndef UUID_274DA366004E11DCB1DDFE2E56D89593
 #define UUID_274DA366004E11DCB1DDFE2E56D89593
-#if (__GNUC__*100+__GNUC_MINOR__>301) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
+#if (__GNUC__*100+__GNUC_MINOR__>301) && !defined(NDNBOOST_EXCEPTION_ENABLE_WARNINGS)
 #pragma GCC system_header
 #endif
-#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
+#if defined(_MSC_VER) && !defined(NDNBOOST_EXCEPTION_ENABLE_WARNINGS)
 #pragma warning(push,1)
 #endif
 
@@ -477,7 +477,7 @@
         }
     }
 
-#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
+#if defined(_MSC_VER) && !defined(NDNBOOST_EXCEPTION_ENABLE_WARNINGS)
 #pragma warning(pop)
 #endif
 #endif
diff --git a/include/ndnboost/exception/get_error_info.hpp b/include/ndnboost/exception/get_error_info.hpp
index 9a798ed..14f6c56 100644
--- a/include/ndnboost/exception/get_error_info.hpp
+++ b/include/ndnboost/exception/get_error_info.hpp
@@ -5,10 +5,10 @@
 
 #ifndef UUID_1A590226753311DD9E4CCF6156D89593
 #define UUID_1A590226753311DD9E4CCF6156D89593
-#if (__GNUC__*100+__GNUC_MINOR__>301) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
+#if (__GNUC__*100+__GNUC_MINOR__>301) && !defined(NDNBOOST_EXCEPTION_ENABLE_WARNINGS)
 #pragma GCC system_header
 #endif
-#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
+#if defined(_MSC_VER) && !defined(NDNBOOST_EXCEPTION_ENABLE_WARNINGS)
 #pragma warning(push,1)
 #endif
 
@@ -32,10 +32,10 @@
             get( exception const & x )
                 {
                 if( exception_detail::error_info_container * c=x.data_.get() )
-                    if( shared_ptr<exception_detail::error_info_base> eib = c->get(BOOST_EXCEPTION_STATIC_TYPEID(ErrorInfo)) )
+                    if( shared_ptr<exception_detail::error_info_base> eib = c->get(NDNBOOST_EXCEPTION_STATIC_TYPEID(ErrorInfo)) )
                         {
-#ifndef BOOST_NO_RTTI
-                        BOOST_ASSERT( 0!=dynamic_cast<ErrorInfo *>(eib.get()) );
+#ifndef NDNBOOST_NO_RTTI
+                        NDNBOOST_ASSERT( 0!=dynamic_cast<ErrorInfo *>(eib.get()) );
 #endif
                         ErrorInfo * w = static_cast<ErrorInfo *>(eib.get());
                         return &w->value();
@@ -95,7 +95,7 @@
             };
         }
 
-#ifdef BOOST_NO_RTTI
+#ifdef NDNBOOST_NO_RTTI
     template <class ErrorInfo>
     inline
     typename ErrorInfo::value_type const *
@@ -124,7 +124,7 @@
 #endif
     }
 
-#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
+#if defined(_MSC_VER) && !defined(NDNBOOST_EXCEPTION_ENABLE_WARNINGS)
 #pragma warning(pop)
 #endif
 #endif
diff --git a/include/ndnboost/function.hpp b/include/ndnboost/function.hpp
index a351102..ebb0926 100644
--- a/include/ndnboost/function.hpp
+++ b/include/ndnboost/function.hpp
@@ -15,52 +15,52 @@
 #include <ndnboost/preprocessor/iterate.hpp>
 #include <ndnboost/detail/workaround.hpp>
 
-#ifndef BOOST_FUNCTION_MAX_ARGS
-#  define BOOST_FUNCTION_MAX_ARGS 10
-#endif // BOOST_FUNCTION_MAX_ARGS
+#ifndef NDNBOOST_FUNCTION_MAX_ARGS
+#  define NDNBOOST_FUNCTION_MAX_ARGS 10
+#endif // NDNBOOST_FUNCTION_MAX_ARGS
 
 // Include the prologue here so that the use of file-level iteration
 // in anything that may be included by function_template.hpp doesn't break
 #include <ndnboost/function/detail/prologue.hpp>
 
 // Older Visual Age C++ version do not handle the file iteration well
-#if BOOST_WORKAROUND(__IBMCPP__, >= 500) && BOOST_WORKAROUND(__IBMCPP__, < 800)
-#  if BOOST_FUNCTION_MAX_ARGS >= 0
+#if NDNBOOST_WORKAROUND(__IBMCPP__, >= 500) && NDNBOOST_WORKAROUND(__IBMCPP__, < 800)
+#  if NDNBOOST_FUNCTION_MAX_ARGS >= 0
 #    include <ndnboost/function/function0.hpp>
 #  endif
-#  if BOOST_FUNCTION_MAX_ARGS >= 1
+#  if NDNBOOST_FUNCTION_MAX_ARGS >= 1
 #    include <ndnboost/function/function1.hpp>
 #  endif
-#  if BOOST_FUNCTION_MAX_ARGS >= 2
+#  if NDNBOOST_FUNCTION_MAX_ARGS >= 2
 #    include <ndnboost/function/function2.hpp>
 #  endif
-#  if BOOST_FUNCTION_MAX_ARGS >= 3
+#  if NDNBOOST_FUNCTION_MAX_ARGS >= 3
 #    include <ndnboost/function/function3.hpp>
 #  endif
-#  if BOOST_FUNCTION_MAX_ARGS >= 4
+#  if NDNBOOST_FUNCTION_MAX_ARGS >= 4
 #    include <ndnboost/function/function4.hpp>
 #  endif
-#  if BOOST_FUNCTION_MAX_ARGS >= 5
+#  if NDNBOOST_FUNCTION_MAX_ARGS >= 5
 #    include <ndnboost/function/function5.hpp>
 #  endif
-#  if BOOST_FUNCTION_MAX_ARGS >= 6
+#  if NDNBOOST_FUNCTION_MAX_ARGS >= 6
 #    include <ndnboost/function/function6.hpp>
 #  endif
-#  if BOOST_FUNCTION_MAX_ARGS >= 7
+#  if NDNBOOST_FUNCTION_MAX_ARGS >= 7
 #    include <ndnboost/function/function7.hpp>
 #  endif
-#  if BOOST_FUNCTION_MAX_ARGS >= 8
+#  if NDNBOOST_FUNCTION_MAX_ARGS >= 8
 #    include <ndnboost/function/function8.hpp>
 #  endif
-#  if BOOST_FUNCTION_MAX_ARGS >= 9
+#  if NDNBOOST_FUNCTION_MAX_ARGS >= 9
 #    include <ndnboost/function/function9.hpp>
 #  endif
-#  if BOOST_FUNCTION_MAX_ARGS >= 10
+#  if NDNBOOST_FUNCTION_MAX_ARGS >= 10
 #    include <ndnboost/function/function10.hpp>
 #  endif
 #else
 // What is the '3' for?
-#  define BOOST_PP_ITERATION_PARAMS_1 (3,(0,BOOST_FUNCTION_MAX_ARGS,<ndnboost/function/detail/function_iterate.hpp>))
-#  include BOOST_PP_ITERATE()
-#  undef BOOST_PP_ITERATION_PARAMS_1
+#  define NDNBOOST_PP_ITERATION_PARAMS_1 (3,(0,NDNBOOST_FUNCTION_MAX_ARGS,<ndnboost/function/detail/function_iterate.hpp>))
+#  include NDNBOOST_PP_ITERATE()
+#  undef NDNBOOST_PP_ITERATION_PARAMS_1
 #endif
diff --git a/include/ndnboost/function/detail/function_iterate.hpp b/include/ndnboost/function/detail/function_iterate.hpp
index 5c41196..344f283 100644
--- a/include/ndnboost/function/detail/function_iterate.hpp
+++ b/include/ndnboost/function/detail/function_iterate.hpp
@@ -6,11 +6,11 @@
 //  http://www.boost.org/LICENSE_1_0.txt)
 
 // For more information, see http://www.boost.org
-#if !defined(BOOST_PP_IS_ITERATING)
+#if !defined(NDNBOOST_PP_IS_ITERATING)
 # error Boost.Function - do not include this file!
 #endif
 
-#define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION()
+#define NDNBOOST_FUNCTION_NUM_ARGS NDNBOOST_PP_ITERATION()
 #include <ndnboost/function/detail/maybe_include.hpp>
-#undef BOOST_FUNCTION_NUM_ARGS
+#undef NDNBOOST_FUNCTION_NUM_ARGS
 
diff --git a/include/ndnboost/function/detail/gen_maybe_include.pl b/include/ndnboost/function/detail/gen_maybe_include.pl
index ab4367d..53dcf8f 100644
--- a/include/ndnboost/function/detail/gen_maybe_include.pl
+++ b/include/ndnboost/function/detail/gen_maybe_include.pl
@@ -26,9 +26,9 @@
     else {
 	print OUT "#elif";
     }
-    print OUT " BOOST_FUNCTION_NUM_ARGS == $on_arg\n";
-    print OUT "#  ifndef BOOST_FUNCTION_$on_arg\n";
-    print OUT "#    define BOOST_FUNCTION_$on_arg\n";
+    print OUT " NDNBOOST_FUNCTION_NUM_ARGS == $on_arg\n";
+    print OUT "#  ifndef NDNBOOST_FUNCTION_$on_arg\n";
+    print OUT "#    define NDNBOOST_FUNCTION_$on_arg\n";
     print OUT "#    include <ndnboost/function/function_template.hpp>\n";
     print OUT "#  endif\n";
 }
diff --git a/include/ndnboost/function/detail/maybe_include.hpp b/include/ndnboost/function/detail/maybe_include.hpp
index a2f003e..90b998e 100644
--- a/include/ndnboost/function/detail/maybe_include.hpp
+++ b/include/ndnboost/function/detail/maybe_include.hpp
@@ -7,259 +7,259 @@
 
 // For more information, see http://www.boost.org
 
-#if BOOST_FUNCTION_NUM_ARGS == 0
-#  ifndef BOOST_FUNCTION_0
-#    define BOOST_FUNCTION_0
+#if NDNBOOST_FUNCTION_NUM_ARGS == 0
+#  ifndef NDNBOOST_FUNCTION_0
+#    define NDNBOOST_FUNCTION_0
 #    include <ndnboost/function/function_template.hpp>
 #  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 1
-#  ifndef BOOST_FUNCTION_1
-#    define BOOST_FUNCTION_1
+#elif NDNBOOST_FUNCTION_NUM_ARGS == 1
+#  ifndef NDNBOOST_FUNCTION_1
+#    define NDNBOOST_FUNCTION_1
 #    include <ndnboost/function/function_template.hpp>
 #  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 2
-#  ifndef BOOST_FUNCTION_2
-#    define BOOST_FUNCTION_2
+#elif NDNBOOST_FUNCTION_NUM_ARGS == 2
+#  ifndef NDNBOOST_FUNCTION_2
+#    define NDNBOOST_FUNCTION_2
 #    include <ndnboost/function/function_template.hpp>
 #  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 3
-#  ifndef BOOST_FUNCTION_3
-#    define BOOST_FUNCTION_3
+#elif NDNBOOST_FUNCTION_NUM_ARGS == 3
+#  ifndef NDNBOOST_FUNCTION_3
+#    define NDNBOOST_FUNCTION_3
 #    include <ndnboost/function/function_template.hpp>
 #  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 4
-#  ifndef BOOST_FUNCTION_4
-#    define BOOST_FUNCTION_4
+#elif NDNBOOST_FUNCTION_NUM_ARGS == 4
+#  ifndef NDNBOOST_FUNCTION_4
+#    define NDNBOOST_FUNCTION_4
 #    include <ndnboost/function/function_template.hpp>
 #  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 5
-#  ifndef BOOST_FUNCTION_5
-#    define BOOST_FUNCTION_5
+#elif NDNBOOST_FUNCTION_NUM_ARGS == 5
+#  ifndef NDNBOOST_FUNCTION_5
+#    define NDNBOOST_FUNCTION_5
 #    include <ndnboost/function/function_template.hpp>
 #  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 6
-#  ifndef BOOST_FUNCTION_6
-#    define BOOST_FUNCTION_6
+#elif NDNBOOST_FUNCTION_NUM_ARGS == 6
+#  ifndef NDNBOOST_FUNCTION_6
+#    define NDNBOOST_FUNCTION_6
 #    include <ndnboost/function/function_template.hpp>
 #  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 7
-#  ifndef BOOST_FUNCTION_7
-#    define BOOST_FUNCTION_7
+#elif NDNBOOST_FUNCTION_NUM_ARGS == 7
+#  ifndef NDNBOOST_FUNCTION_7
+#    define NDNBOOST_FUNCTION_7
 #    include <ndnboost/function/function_template.hpp>
 #  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 8
-#  ifndef BOOST_FUNCTION_8
-#    define BOOST_FUNCTION_8
+#elif NDNBOOST_FUNCTION_NUM_ARGS == 8
+#  ifndef NDNBOOST_FUNCTION_8
+#    define NDNBOOST_FUNCTION_8
 #    include <ndnboost/function/function_template.hpp>
 #  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 9
-#  ifndef BOOST_FUNCTION_9
-#    define BOOST_FUNCTION_9
+#elif NDNBOOST_FUNCTION_NUM_ARGS == 9
+#  ifndef NDNBOOST_FUNCTION_9
+#    define NDNBOOST_FUNCTION_9
 #    include <ndnboost/function/function_template.hpp>
 #  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 10
-#  ifndef BOOST_FUNCTION_10
-#    define BOOST_FUNCTION_10
+#elif NDNBOOST_FUNCTION_NUM_ARGS == 10
+#  ifndef NDNBOOST_FUNCTION_10
+#    define NDNBOOST_FUNCTION_10
 #    include <ndnboost/function/function_template.hpp>
 #  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 11
-#  ifndef BOOST_FUNCTION_11
-#    define BOOST_FUNCTION_11
+#elif NDNBOOST_FUNCTION_NUM_ARGS == 11
+#  ifndef NDNBOOST_FUNCTION_11
+#    define NDNBOOST_FUNCTION_11
 #    include <ndnboost/function/function_template.hpp>
 #  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 12
-#  ifndef BOOST_FUNCTION_12
-#    define BOOST_FUNCTION_12
+#elif NDNBOOST_FUNCTION_NUM_ARGS == 12
+#  ifndef NDNBOOST_FUNCTION_12
+#    define NDNBOOST_FUNCTION_12
 #    include <ndnboost/function/function_template.hpp>
 #  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 13
-#  ifndef BOOST_FUNCTION_13
-#    define BOOST_FUNCTION_13
+#elif NDNBOOST_FUNCTION_NUM_ARGS == 13
+#  ifndef NDNBOOST_FUNCTION_13
+#    define NDNBOOST_FUNCTION_13
 #    include <ndnboost/function/function_template.hpp>
 #  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 14
-#  ifndef BOOST_FUNCTION_14
-#    define BOOST_FUNCTION_14
+#elif NDNBOOST_FUNCTION_NUM_ARGS == 14
+#  ifndef NDNBOOST_FUNCTION_14
+#    define NDNBOOST_FUNCTION_14
 #    include <ndnboost/function/function_template.hpp>
 #  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 15
-#  ifndef BOOST_FUNCTION_15
-#    define BOOST_FUNCTION_15
+#elif NDNBOOST_FUNCTION_NUM_ARGS == 15
+#  ifndef NDNBOOST_FUNCTION_15
+#    define NDNBOOST_FUNCTION_15
 #    include <ndnboost/function/function_template.hpp>
 #  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 16
-#  ifndef BOOST_FUNCTION_16
-#    define BOOST_FUNCTION_16
+#elif NDNBOOST_FUNCTION_NUM_ARGS == 16
+#  ifndef NDNBOOST_FUNCTION_16
+#    define NDNBOOST_FUNCTION_16
 #    include <ndnboost/function/function_template.hpp>
 #  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 17
-#  ifndef BOOST_FUNCTION_17
-#    define BOOST_FUNCTION_17
+#elif NDNBOOST_FUNCTION_NUM_ARGS == 17
+#  ifndef NDNBOOST_FUNCTION_17
+#    define NDNBOOST_FUNCTION_17
 #    include <ndnboost/function/function_template.hpp>
 #  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 18
-#  ifndef BOOST_FUNCTION_18
-#    define BOOST_FUNCTION_18
+#elif NDNBOOST_FUNCTION_NUM_ARGS == 18
+#  ifndef NDNBOOST_FUNCTION_18
+#    define NDNBOOST_FUNCTION_18
 #    include <ndnboost/function/function_template.hpp>
 #  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 19
-#  ifndef BOOST_FUNCTION_19
-#    define BOOST_FUNCTION_19
+#elif NDNBOOST_FUNCTION_NUM_ARGS == 19
+#  ifndef NDNBOOST_FUNCTION_19
+#    define NDNBOOST_FUNCTION_19
 #    include <ndnboost/function/function_template.hpp>
 #  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 20
-#  ifndef BOOST_FUNCTION_20
-#    define BOOST_FUNCTION_20
+#elif NDNBOOST_FUNCTION_NUM_ARGS == 20
+#  ifndef NDNBOOST_FUNCTION_20
+#    define NDNBOOST_FUNCTION_20
 #    include <ndnboost/function/function_template.hpp>
 #  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 21
-#  ifndef BOOST_FUNCTION_21
-#    define BOOST_FUNCTION_21
+#elif NDNBOOST_FUNCTION_NUM_ARGS == 21
+#  ifndef NDNBOOST_FUNCTION_21
+#    define NDNBOOST_FUNCTION_21
 #    include <ndnboost/function/function_template.hpp>
 #  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 22
-#  ifndef BOOST_FUNCTION_22
-#    define BOOST_FUNCTION_22
+#elif NDNBOOST_FUNCTION_NUM_ARGS == 22
+#  ifndef NDNBOOST_FUNCTION_22
+#    define NDNBOOST_FUNCTION_22
 #    include <ndnboost/function/function_template.hpp>
 #  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 23
-#  ifndef BOOST_FUNCTION_23
-#    define BOOST_FUNCTION_23
+#elif NDNBOOST_FUNCTION_NUM_ARGS == 23
+#  ifndef NDNBOOST_FUNCTION_23
+#    define NDNBOOST_FUNCTION_23
 #    include <ndnboost/function/function_template.hpp>
 #  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 24
-#  ifndef BOOST_FUNCTION_24
-#    define BOOST_FUNCTION_24
+#elif NDNBOOST_FUNCTION_NUM_ARGS == 24
+#  ifndef NDNBOOST_FUNCTION_24
+#    define NDNBOOST_FUNCTION_24
 #    include <ndnboost/function/function_template.hpp>
 #  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 25
-#  ifndef BOOST_FUNCTION_25
-#    define BOOST_FUNCTION_25
+#elif NDNBOOST_FUNCTION_NUM_ARGS == 25
+#  ifndef NDNBOOST_FUNCTION_25
+#    define NDNBOOST_FUNCTION_25
 #    include <ndnboost/function/function_template.hpp>
 #  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 26
-#  ifndef BOOST_FUNCTION_26
-#    define BOOST_FUNCTION_26
+#elif NDNBOOST_FUNCTION_NUM_ARGS == 26
+#  ifndef NDNBOOST_FUNCTION_26
+#    define NDNBOOST_FUNCTION_26
 #    include <ndnboost/function/function_template.hpp>
 #  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 27
-#  ifndef BOOST_FUNCTION_27
-#    define BOOST_FUNCTION_27
+#elif NDNBOOST_FUNCTION_NUM_ARGS == 27
+#  ifndef NDNBOOST_FUNCTION_27
+#    define NDNBOOST_FUNCTION_27
 #    include <ndnboost/function/function_template.hpp>
 #  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 28
-#  ifndef BOOST_FUNCTION_28
-#    define BOOST_FUNCTION_28
+#elif NDNBOOST_FUNCTION_NUM_ARGS == 28
+#  ifndef NDNBOOST_FUNCTION_28
+#    define NDNBOOST_FUNCTION_28
 #    include <ndnboost/function/function_template.hpp>
 #  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 29
-#  ifndef BOOST_FUNCTION_29
-#    define BOOST_FUNCTION_29
+#elif NDNBOOST_FUNCTION_NUM_ARGS == 29
+#  ifndef NDNBOOST_FUNCTION_29
+#    define NDNBOOST_FUNCTION_29
 #    include <ndnboost/function/function_template.hpp>
 #  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 30
-#  ifndef BOOST_FUNCTION_30
-#    define BOOST_FUNCTION_30
+#elif NDNBOOST_FUNCTION_NUM_ARGS == 30
+#  ifndef NDNBOOST_FUNCTION_30
+#    define NDNBOOST_FUNCTION_30
 #    include <ndnboost/function/function_template.hpp>
 #  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 31
-#  ifndef BOOST_FUNCTION_31
-#    define BOOST_FUNCTION_31
+#elif NDNBOOST_FUNCTION_NUM_ARGS == 31
+#  ifndef NDNBOOST_FUNCTION_31
+#    define NDNBOOST_FUNCTION_31
 #    include <ndnboost/function/function_template.hpp>
 #  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 32
-#  ifndef BOOST_FUNCTION_32
-#    define BOOST_FUNCTION_32
+#elif NDNBOOST_FUNCTION_NUM_ARGS == 32
+#  ifndef NDNBOOST_FUNCTION_32
+#    define NDNBOOST_FUNCTION_32
 #    include <ndnboost/function/function_template.hpp>
 #  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 33
-#  ifndef BOOST_FUNCTION_33
-#    define BOOST_FUNCTION_33
+#elif NDNBOOST_FUNCTION_NUM_ARGS == 33
+#  ifndef NDNBOOST_FUNCTION_33
+#    define NDNBOOST_FUNCTION_33
 #    include <ndnboost/function/function_template.hpp>
 #  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 34
-#  ifndef BOOST_FUNCTION_34
-#    define BOOST_FUNCTION_34
+#elif NDNBOOST_FUNCTION_NUM_ARGS == 34
+#  ifndef NDNBOOST_FUNCTION_34
+#    define NDNBOOST_FUNCTION_34
 #    include <ndnboost/function/function_template.hpp>
 #  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 35
-#  ifndef BOOST_FUNCTION_35
-#    define BOOST_FUNCTION_35
+#elif NDNBOOST_FUNCTION_NUM_ARGS == 35
+#  ifndef NDNBOOST_FUNCTION_35
+#    define NDNBOOST_FUNCTION_35
 #    include <ndnboost/function/function_template.hpp>
 #  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 36
-#  ifndef BOOST_FUNCTION_36
-#    define BOOST_FUNCTION_36
+#elif NDNBOOST_FUNCTION_NUM_ARGS == 36
+#  ifndef NDNBOOST_FUNCTION_36
+#    define NDNBOOST_FUNCTION_36
 #    include <ndnboost/function/function_template.hpp>
 #  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 37
-#  ifndef BOOST_FUNCTION_37
-#    define BOOST_FUNCTION_37
+#elif NDNBOOST_FUNCTION_NUM_ARGS == 37
+#  ifndef NDNBOOST_FUNCTION_37
+#    define NDNBOOST_FUNCTION_37
 #    include <ndnboost/function/function_template.hpp>
 #  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 38
-#  ifndef BOOST_FUNCTION_38
-#    define BOOST_FUNCTION_38
+#elif NDNBOOST_FUNCTION_NUM_ARGS == 38
+#  ifndef NDNBOOST_FUNCTION_38
+#    define NDNBOOST_FUNCTION_38
 #    include <ndnboost/function/function_template.hpp>
 #  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 39
-#  ifndef BOOST_FUNCTION_39
-#    define BOOST_FUNCTION_39
+#elif NDNBOOST_FUNCTION_NUM_ARGS == 39
+#  ifndef NDNBOOST_FUNCTION_39
+#    define NDNBOOST_FUNCTION_39
 #    include <ndnboost/function/function_template.hpp>
 #  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 40
-#  ifndef BOOST_FUNCTION_40
-#    define BOOST_FUNCTION_40
+#elif NDNBOOST_FUNCTION_NUM_ARGS == 40
+#  ifndef NDNBOOST_FUNCTION_40
+#    define NDNBOOST_FUNCTION_40
 #    include <ndnboost/function/function_template.hpp>
 #  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 41
-#  ifndef BOOST_FUNCTION_41
-#    define BOOST_FUNCTION_41
+#elif NDNBOOST_FUNCTION_NUM_ARGS == 41
+#  ifndef NDNBOOST_FUNCTION_41
+#    define NDNBOOST_FUNCTION_41
 #    include <ndnboost/function/function_template.hpp>
 #  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 42
-#  ifndef BOOST_FUNCTION_42
-#    define BOOST_FUNCTION_42
+#elif NDNBOOST_FUNCTION_NUM_ARGS == 42
+#  ifndef NDNBOOST_FUNCTION_42
+#    define NDNBOOST_FUNCTION_42
 #    include <ndnboost/function/function_template.hpp>
 #  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 43
-#  ifndef BOOST_FUNCTION_43
-#    define BOOST_FUNCTION_43
+#elif NDNBOOST_FUNCTION_NUM_ARGS == 43
+#  ifndef NDNBOOST_FUNCTION_43
+#    define NDNBOOST_FUNCTION_43
 #    include <ndnboost/function/function_template.hpp>
 #  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 44
-#  ifndef BOOST_FUNCTION_44
-#    define BOOST_FUNCTION_44
+#elif NDNBOOST_FUNCTION_NUM_ARGS == 44
+#  ifndef NDNBOOST_FUNCTION_44
+#    define NDNBOOST_FUNCTION_44
 #    include <ndnboost/function/function_template.hpp>
 #  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 45
-#  ifndef BOOST_FUNCTION_45
-#    define BOOST_FUNCTION_45
+#elif NDNBOOST_FUNCTION_NUM_ARGS == 45
+#  ifndef NDNBOOST_FUNCTION_45
+#    define NDNBOOST_FUNCTION_45
 #    include <ndnboost/function/function_template.hpp>
 #  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 46
-#  ifndef BOOST_FUNCTION_46
-#    define BOOST_FUNCTION_46
+#elif NDNBOOST_FUNCTION_NUM_ARGS == 46
+#  ifndef NDNBOOST_FUNCTION_46
+#    define NDNBOOST_FUNCTION_46
 #    include <ndnboost/function/function_template.hpp>
 #  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 47
-#  ifndef BOOST_FUNCTION_47
-#    define BOOST_FUNCTION_47
+#elif NDNBOOST_FUNCTION_NUM_ARGS == 47
+#  ifndef NDNBOOST_FUNCTION_47
+#    define NDNBOOST_FUNCTION_47
 #    include <ndnboost/function/function_template.hpp>
 #  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 48
-#  ifndef BOOST_FUNCTION_48
-#    define BOOST_FUNCTION_48
+#elif NDNBOOST_FUNCTION_NUM_ARGS == 48
+#  ifndef NDNBOOST_FUNCTION_48
+#    define NDNBOOST_FUNCTION_48
 #    include <ndnboost/function/function_template.hpp>
 #  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 49
-#  ifndef BOOST_FUNCTION_49
-#    define BOOST_FUNCTION_49
+#elif NDNBOOST_FUNCTION_NUM_ARGS == 49
+#  ifndef NDNBOOST_FUNCTION_49
+#    define NDNBOOST_FUNCTION_49
 #    include <ndnboost/function/function_template.hpp>
 #  endif
-#elif BOOST_FUNCTION_NUM_ARGS == 50
-#  ifndef BOOST_FUNCTION_50
-#    define BOOST_FUNCTION_50
+#elif NDNBOOST_FUNCTION_NUM_ARGS == 50
+#  ifndef NDNBOOST_FUNCTION_50
+#    define NDNBOOST_FUNCTION_50
 #    include <ndnboost/function/function_template.hpp>
 #  endif
 #else
diff --git a/include/ndnboost/function/detail/prologue.hpp b/include/ndnboost/function/detail/prologue.hpp
index 458324c..fac6e8e 100644
--- a/include/ndnboost/function/detail/prologue.hpp
+++ b/include/ndnboost/function/detail/prologue.hpp
@@ -7,8 +7,8 @@
 
 // For more information, see http://www.boost.org
 
-#ifndef BOOST_FUNCTION_PROLOGUE_HPP
-#define BOOST_FUNCTION_PROLOGUE_HPP
+#ifndef NDNBOOST_FUNCTION_PROLOGUE_HPP
+#define NDNBOOST_FUNCTION_PROLOGUE_HPP
 #  include <cassert>
 #  include <algorithm>
 #  include <ndnboost/config/no_tr1/functional.hpp> // unary_function, binary_function
@@ -23,4 +23,4 @@
 #  include <ndnboost/preprocessor/repeat.hpp>
 #  include <ndnboost/preprocessor/inc.hpp>
 #  include <ndnboost/type_traits/is_void.hpp>
-#endif // BOOST_FUNCTION_PROLOGUE_HPP
+#endif // NDNBOOST_FUNCTION_PROLOGUE_HPP
diff --git a/include/ndnboost/function/function0.hpp b/include/ndnboost/function/function0.hpp
index 79211dc..ea15d62 100644
--- a/include/ndnboost/function/function0.hpp
+++ b/include/ndnboost/function/function0.hpp
@@ -7,6 +7,6 @@
 
 // For more information, see http://www.boost.org
 
-#define BOOST_FUNCTION_NUM_ARGS 0
+#define NDNBOOST_FUNCTION_NUM_ARGS 0
 #include <ndnboost/function/detail/maybe_include.hpp>
-#undef BOOST_FUNCTION_NUM_ARGS
+#undef NDNBOOST_FUNCTION_NUM_ARGS
diff --git a/include/ndnboost/function/function1.hpp b/include/ndnboost/function/function1.hpp
index 83fbc19..bf4a605 100644
--- a/include/ndnboost/function/function1.hpp
+++ b/include/ndnboost/function/function1.hpp
@@ -7,6 +7,6 @@
 
 // For more information, see http://www.boost.org
 
-#define BOOST_FUNCTION_NUM_ARGS 1
+#define NDNBOOST_FUNCTION_NUM_ARGS 1
 #include <ndnboost/function/detail/maybe_include.hpp>
-#undef BOOST_FUNCTION_NUM_ARGS
+#undef NDNBOOST_FUNCTION_NUM_ARGS
diff --git a/include/ndnboost/function/function10.hpp b/include/ndnboost/function/function10.hpp
index bbd3dec..fd0ee32 100644
--- a/include/ndnboost/function/function10.hpp
+++ b/include/ndnboost/function/function10.hpp
@@ -7,6 +7,6 @@
 
 // For more information, see http://www.boost.org
 
-#define BOOST_FUNCTION_NUM_ARGS 10
+#define NDNBOOST_FUNCTION_NUM_ARGS 10
 #include <ndnboost/function/detail/maybe_include.hpp>
-#undef BOOST_FUNCTION_NUM_ARGS
+#undef NDNBOOST_FUNCTION_NUM_ARGS
diff --git a/include/ndnboost/function/function2.hpp b/include/ndnboost/function/function2.hpp
index 65dbfda..603c2d0 100644
--- a/include/ndnboost/function/function2.hpp
+++ b/include/ndnboost/function/function2.hpp
@@ -7,6 +7,6 @@
 
 // For more information, see http://www.boost.org
 
-#define BOOST_FUNCTION_NUM_ARGS 2
+#define NDNBOOST_FUNCTION_NUM_ARGS 2
 #include <ndnboost/function/detail/maybe_include.hpp>
-#undef BOOST_FUNCTION_NUM_ARGS
+#undef NDNBOOST_FUNCTION_NUM_ARGS
diff --git a/include/ndnboost/function/function3.hpp b/include/ndnboost/function/function3.hpp
index 3244755..3ec62d5 100644
--- a/include/ndnboost/function/function3.hpp
+++ b/include/ndnboost/function/function3.hpp
@@ -7,6 +7,6 @@
 
 // For more information, see http://www.boost.org
 
-#define BOOST_FUNCTION_NUM_ARGS 3
+#define NDNBOOST_FUNCTION_NUM_ARGS 3
 #include <ndnboost/function/detail/maybe_include.hpp>
-#undef BOOST_FUNCTION_NUM_ARGS
+#undef NDNBOOST_FUNCTION_NUM_ARGS
diff --git a/include/ndnboost/function/function4.hpp b/include/ndnboost/function/function4.hpp
index 467b03b..e3a2be5 100644
--- a/include/ndnboost/function/function4.hpp
+++ b/include/ndnboost/function/function4.hpp
@@ -7,6 +7,6 @@
 
 // For more information, see http://www.boost.org
 
-#define BOOST_FUNCTION_NUM_ARGS 4
+#define NDNBOOST_FUNCTION_NUM_ARGS 4
 #include <ndnboost/function/detail/maybe_include.hpp>
-#undef BOOST_FUNCTION_NUM_ARGS
+#undef NDNBOOST_FUNCTION_NUM_ARGS
diff --git a/include/ndnboost/function/function5.hpp b/include/ndnboost/function/function5.hpp
index 77cf420..3d53e5a 100644
--- a/include/ndnboost/function/function5.hpp
+++ b/include/ndnboost/function/function5.hpp
@@ -7,6 +7,6 @@
 
 // For more information, see http://www.boost.org
 
-#define BOOST_FUNCTION_NUM_ARGS 5
+#define NDNBOOST_FUNCTION_NUM_ARGS 5
 #include <ndnboost/function/detail/maybe_include.hpp>
-#undef BOOST_FUNCTION_NUM_ARGS
+#undef NDNBOOST_FUNCTION_NUM_ARGS
diff --git a/include/ndnboost/function/function6.hpp b/include/ndnboost/function/function6.hpp
index eae829d..12746ea 100644
--- a/include/ndnboost/function/function6.hpp
+++ b/include/ndnboost/function/function6.hpp
@@ -7,6 +7,6 @@
 
 // For more information, see http://www.boost.org
 
-#define BOOST_FUNCTION_NUM_ARGS 6
+#define NDNBOOST_FUNCTION_NUM_ARGS 6
 #include <ndnboost/function/detail/maybe_include.hpp>
-#undef BOOST_FUNCTION_NUM_ARGS
+#undef NDNBOOST_FUNCTION_NUM_ARGS
diff --git a/include/ndnboost/function/function7.hpp b/include/ndnboost/function/function7.hpp
index 0c7a5aa..ed92ed2 100644
--- a/include/ndnboost/function/function7.hpp
+++ b/include/ndnboost/function/function7.hpp
@@ -7,6 +7,6 @@
 
 // For more information, see http://www.boost.org
 
-#define BOOST_FUNCTION_NUM_ARGS 7
+#define NDNBOOST_FUNCTION_NUM_ARGS 7
 #include <ndnboost/function/detail/maybe_include.hpp>
-#undef BOOST_FUNCTION_NUM_ARGS
+#undef NDNBOOST_FUNCTION_NUM_ARGS
diff --git a/include/ndnboost/function/function8.hpp b/include/ndnboost/function/function8.hpp
index c9cc28b..4817e51 100644
--- a/include/ndnboost/function/function8.hpp
+++ b/include/ndnboost/function/function8.hpp
@@ -7,6 +7,6 @@
 
 // For more information, see http://www.boost.org
 
-#define BOOST_FUNCTION_NUM_ARGS 8
+#define NDNBOOST_FUNCTION_NUM_ARGS 8
 #include <ndnboost/function/detail/maybe_include.hpp>
-#undef BOOST_FUNCTION_NUM_ARGS
+#undef NDNBOOST_FUNCTION_NUM_ARGS
diff --git a/include/ndnboost/function/function9.hpp b/include/ndnboost/function/function9.hpp
index 33c8836..a0cd21b 100644
--- a/include/ndnboost/function/function9.hpp
+++ b/include/ndnboost/function/function9.hpp
@@ -7,6 +7,6 @@
 
 // For more information, see http://www.boost.org
 
-#define BOOST_FUNCTION_NUM_ARGS 9
+#define NDNBOOST_FUNCTION_NUM_ARGS 9
 #include <ndnboost/function/detail/maybe_include.hpp>
-#undef BOOST_FUNCTION_NUM_ARGS
+#undef NDNBOOST_FUNCTION_NUM_ARGS
diff --git a/include/ndnboost/function/function_base.hpp b/include/ndnboost/function/function_base.hpp
index 30af1a3..f992eb3 100644
--- a/include/ndnboost/function/function_base.hpp
+++ b/include/ndnboost/function/function_base.hpp
@@ -8,8 +8,8 @@
 
 // For more information, see http://www.boost.org
 
-#ifndef BOOST_FUNCTION_BASE_HEADER
-#define BOOST_FUNCTION_BASE_HEADER
+#ifndef NDNBOOST_FUNCTION_BASE_HEADER
+#define NDNBOOST_FUNCTION_BASE_HEADER
 
 #include <stdexcept>
 #include <string>
@@ -30,7 +30,7 @@
 #include <ndnboost/mpl/if.hpp>
 #include <ndnboost/detail/workaround.hpp>
 #include <ndnboost/type_traits/alignment_of.hpp>
-#ifndef BOOST_NO_SFINAE
+#ifndef NDNBOOST_NO_SFINAE
 #  include "ndnboost/utility/enable_if.hpp"
 #else
 #  include "ndnboost/mpl/bool.hpp"
@@ -38,49 +38,49 @@
 #include <ndnboost/function_equal.hpp>
 #include <ndnboost/function/function_fwd.hpp>
 
-#if defined(BOOST_MSVC)
+#if defined(NDNBOOST_MSVC)
 #   pragma warning( push )
 #   pragma warning( disable : 4793 ) // complaint about native code generation
 #   pragma warning( disable : 4127 ) // "conditional expression is constant"
 #endif       
 
-// Define BOOST_FUNCTION_STD_NS to the namespace that contains type_info.
-#ifdef BOOST_NO_STD_TYPEINFO
+// Define NDNBOOST_FUNCTION_STD_NS to the namespace that contains type_info.
+#ifdef NDNBOOST_NO_STD_TYPEINFO
 // Embedded VC++ does not have type_info in namespace std
-#  define BOOST_FUNCTION_STD_NS
+#  define NDNBOOST_FUNCTION_STD_NS
 #else
-#  define BOOST_FUNCTION_STD_NS std
+#  define NDNBOOST_FUNCTION_STD_NS std
 #endif
 
 // Borrowed from Boost.Python library: determines the cases where we
 // need to use std::type_info::name to compare instead of operator==.
-#if defined( BOOST_NO_TYPEID )
-#  define BOOST_FUNCTION_COMPARE_TYPE_ID(X,Y) ((X)==(Y))
+#if defined( NDNBOOST_NO_TYPEID )
+#  define NDNBOOST_FUNCTION_COMPARE_TYPE_ID(X,Y) ((X)==(Y))
 #elif (defined(__GNUC__) && __GNUC__ >= 3) \
  || defined(_AIX) \
  || (   defined(__sgi) && defined(__host_mips))
 #  include <cstring>
-#  define BOOST_FUNCTION_COMPARE_TYPE_ID(X,Y) \
+#  define NDNBOOST_FUNCTION_COMPARE_TYPE_ID(X,Y) \
      (std::strcmp((X).name(),(Y).name()) == 0)
 # else
-#  define BOOST_FUNCTION_COMPARE_TYPE_ID(X,Y) ((X)==(Y))
+#  define NDNBOOST_FUNCTION_COMPARE_TYPE_ID(X,Y) ((X)==(Y))
 #endif
 
-#if defined(BOOST_MSVC) && BOOST_MSVC <= 1300 || defined(__ICL) && __ICL <= 600 || defined(__MWERKS__) && __MWERKS__ < 0x2406 && !defined(BOOST_STRICT_CONFIG)
-#  define BOOST_FUNCTION_TARGET_FIX(x) x
+#if defined(NDNBOOST_MSVC) && NDNBOOST_MSVC <= 1300 || defined(__ICL) && __ICL <= 600 || defined(__MWERKS__) && __MWERKS__ < 0x2406 && !defined(NDNBOOST_STRICT_CONFIG)
+#  define NDNBOOST_FUNCTION_TARGET_FIX(x) x
 #else
-#  define BOOST_FUNCTION_TARGET_FIX(x)
+#  define NDNBOOST_FUNCTION_TARGET_FIX(x)
 #endif // not MSVC
 
-#if !BOOST_WORKAROUND(__BORLANDC__, < 0x5A0)
-#  define BOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL(Functor,Type)              \
+#if !NDNBOOST_WORKAROUND(__BORLANDC__, < 0x5A0)
+#  define NDNBOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL(Functor,Type)              \
       typename ::ndnboost::enable_if_c<(::ndnboost::type_traits::ice_not<          \
                             (::ndnboost::is_integral<Functor>::value)>::value), \
                            Type>::type
 #else
 // BCC doesn't recognize this depends on a template argument and complains
 // about the use of 'typename'
-#  define BOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL(Functor,Type)     \
+#  define NDNBOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL(Functor,Type)     \
       ::ndnboost::enable_if_c<(::ndnboost::type_traits::ice_not<          \
                    (::ndnboost::is_integral<Functor>::value)>::value), \
                        Type>::type
@@ -222,7 +222,7 @@
 
               // Check whether we have the same type. We can add
               // cv-qualifiers, but we can't take them away.
-              if (BOOST_FUNCTION_COMPARE_TYPE_ID(check_type, BOOST_SP_TYPEID(F))
+              if (NDNBOOST_FUNCTION_COMPARE_TYPE_ID(check_type, NDNBOOST_SP_TYPEID(F))
                   && (!in_buffer.obj_ref.is_const_qualified 
                       || out_buffer.type.const_qualified)
                   && (!in_buffer.obj_ref.is_volatile_qualified
@@ -234,7 +234,7 @@
             return;
 
           case get_functor_type_tag:
-            out_buffer.type.type = &BOOST_SP_TYPEID(F);
+            out_buffer.type.type = &NDNBOOST_SP_TYPEID(F);
             out_buffer.type.const_qualified = in_buffer.obj_ref.is_const_qualified;
             out_buffer.type.volatile_qualified = in_buffer.obj_ref.is_volatile_qualified;
             return;
@@ -249,7 +249,7 @@
       template<typename F>
       struct function_allows_small_object_optimization
       {
-        BOOST_STATIC_CONSTANT
+        NDNBOOST_STATIC_CONSTANT
           (bool, 
            value = ((sizeof(F) <= sizeof(function_buffer) &&
                      (alignment_of<function_buffer>::value 
@@ -296,12 +296,12 @@
           else if (op == check_functor_type_tag) {
             const detail::sp_typeinfo& check_type 
               = *out_buffer.type.type;
-            if (BOOST_FUNCTION_COMPARE_TYPE_ID(check_type, BOOST_SP_TYPEID(Functor)))
+            if (NDNBOOST_FUNCTION_COMPARE_TYPE_ID(check_type, NDNBOOST_SP_TYPEID(Functor)))
               out_buffer.obj_ptr = &in_buffer.func_ptr;
             else
               out_buffer.obj_ptr = 0;
           } else /* op == get_functor_type_tag */ {
-            out_buffer.type.type = &BOOST_SP_TYPEID(Functor);
+            out_buffer.type.type = &NDNBOOST_SP_TYPEID(Functor);
             out_buffer.type.const_qualified = false;
             out_buffer.type.volatile_qualified = false;
           }
@@ -330,12 +330,12 @@
           } else if (op == check_functor_type_tag) {
             const detail::sp_typeinfo& check_type 
               = *out_buffer.type.type;
-            if (BOOST_FUNCTION_COMPARE_TYPE_ID(check_type, BOOST_SP_TYPEID(Functor)))
+            if (NDNBOOST_FUNCTION_COMPARE_TYPE_ID(check_type, NDNBOOST_SP_TYPEID(Functor)))
               out_buffer.obj_ptr = &in_buffer.data;
             else
               out_buffer.obj_ptr = 0;
           } else /* op == get_functor_type_tag */ {
-            out_buffer.type.type = &BOOST_SP_TYPEID(Functor);
+            out_buffer.type.type = &NDNBOOST_SP_TYPEID(Functor);
             out_buffer.type.const_qualified = false;
             out_buffer.type.volatile_qualified = false;            
           }
@@ -391,12 +391,12 @@
           } else if (op == check_functor_type_tag) {
             const detail::sp_typeinfo& check_type
               = *out_buffer.type.type;
-            if (BOOST_FUNCTION_COMPARE_TYPE_ID(check_type, BOOST_SP_TYPEID(Functor)))
+            if (NDNBOOST_FUNCTION_COMPARE_TYPE_ID(check_type, NDNBOOST_SP_TYPEID(Functor)))
               out_buffer.obj_ptr = in_buffer.obj_ptr;
             else
               out_buffer.obj_ptr = 0;
           } else /* op == get_functor_type_tag */ {
-            out_buffer.type.type = &BOOST_SP_TYPEID(Functor);
+            out_buffer.type.type = &NDNBOOST_SP_TYPEID(Functor);
             out_buffer.type.const_qualified = false;
             out_buffer.type.volatile_qualified = false;
           }
@@ -431,7 +431,7 @@
           typedef typename get_function_tag<functor_type>::type tag_type;
           switch (op) {
           case get_functor_type_tag:
-            out_buffer.type.type = &BOOST_SP_TYPEID(functor_type);
+            out_buffer.type.type = &NDNBOOST_SP_TYPEID(functor_type);
             out_buffer.type.const_qualified = false;
             out_buffer.type.volatile_qualified = false;
             return;
@@ -502,12 +502,12 @@
           } else if (op == check_functor_type_tag) {
             const detail::sp_typeinfo& check_type 
               = *out_buffer.type.type;
-            if (BOOST_FUNCTION_COMPARE_TYPE_ID(check_type, BOOST_SP_TYPEID(Functor)))
+            if (NDNBOOST_FUNCTION_COMPARE_TYPE_ID(check_type, NDNBOOST_SP_TYPEID(Functor)))
               out_buffer.obj_ptr = in_buffer.obj_ptr;
             else
               out_buffer.obj_ptr = 0;
           } else /* op == get_functor_type_tag */ {
-            out_buffer.type.type = &BOOST_SP_TYPEID(Functor);
+            out_buffer.type.type = &NDNBOOST_SP_TYPEID(Functor);
             out_buffer.type.const_qualified = false;
             out_buffer.type.volatile_qualified = false;
           }
@@ -534,7 +534,7 @@
           typedef typename get_function_tag<functor_type>::type tag_type;
           switch (op) {
           case get_functor_type_tag:
-            out_buffer.type.type = &BOOST_SP_TYPEID(functor_type);
+            out_buffer.type.type = &NDNBOOST_SP_TYPEID(functor_type);
             out_buffer.type.const_qualified = false;
             out_buffer.type.volatile_qualified = false;
             return;
@@ -549,7 +549,7 @@
       // A type that is only used for comparisons against zero
       struct useless_clear_type {};
 
-#ifdef BOOST_NO_SFINAE
+#ifdef NDNBOOST_NO_SFINAE
       // These routines perform comparisons between a Boost.Function
       // object and an arbitrary function object (when the last
       // parameter is mpl::bool_<false>) or against zero (when the
@@ -606,7 +606,7 @@
             return fp != g.get_pointer();
           else return true;
         }
-#endif // BOOST_NO_SFINAE
+#endif // NDNBOOST_NO_SFINAE
 
       /**
        * Stores the "manager" portion of the vtable for a
@@ -635,11 +635,11 @@
   /** Determine if the function is empty (i.e., has no target). */
   bool empty() const { return !vtable; }
 
-  /** Retrieve the type of the stored function object, or BOOST_SP_TYPEID(void)
+  /** Retrieve the type of the stored function object, or NDNBOOST_SP_TYPEID(void)
       if this is empty. */
   const detail::sp_typeinfo& target_type() const
   {
-    if (!vtable) return BOOST_SP_TYPEID(void);
+    if (!vtable) return NDNBOOST_SP_TYPEID(void);
 
     detail::function::function_buffer type;
     get_vtable()->manager(functor, type, detail::function::get_functor_type_tag);
@@ -652,7 +652,7 @@
       if (!vtable) return 0;
 
       detail::function::function_buffer type_result;
-      type_result.type.type = &BOOST_SP_TYPEID(Functor);
+      type_result.type.type = &NDNBOOST_SP_TYPEID(Functor);
       type_result.type.const_qualified = is_const<Functor>::value;
       type_result.type.volatile_qualified = is_volatile<Functor>::value;
       get_vtable()->manager(functor, type_result, 
@@ -661,7 +661,7 @@
     }
 
   template<typename Functor>
-#if defined(BOOST_MSVC) && BOOST_WORKAROUND(BOOST_MSVC, < 1300)
+#if defined(NDNBOOST_MSVC) && NDNBOOST_WORKAROUND(NDNBOOST_MSVC, < 1300)
     const Functor* target( Functor * = 0 ) const
 #else
     const Functor* target() const
@@ -670,7 +670,7 @@
       if (!vtable) return 0;
 
       detail::function::function_buffer type_result;
-      type_result.type.type = &BOOST_SP_TYPEID(Functor);
+      type_result.type.type = &NDNBOOST_SP_TYPEID(Functor);
       type_result.type.const_qualified = true;
       type_result.type.volatile_qualified = is_volatile<Functor>::value;
       get_vtable()->manager(functor, type_result, 
@@ -683,7 +683,7 @@
   template<typename F>
     bool contains(const F& f) const
     {
-#if defined(BOOST_MSVC) && BOOST_WORKAROUND(BOOST_MSVC, < 1300)
+#if defined(NDNBOOST_MSVC) && NDNBOOST_WORKAROUND(NDNBOOST_MSVC, < 1300)
       if (const F* fp = this->target( (F*)0 ))
 #else
       if (const F* fp = this->template target<F>())
@@ -700,7 +700,7 @@
   // problems with instantiation of function return types before it
   // has been verified that the argument types match up.
   template<typename Functor>
-    BOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL(Functor, bool)
+    NDNBOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL(Functor, bool)
     operator==(Functor g) const
     {
       if (const Functor* fp = target<Functor>())
@@ -709,7 +709,7 @@
     }
 
   template<typename Functor>
-    BOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL(Functor, bool)
+    NDNBOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL(Functor, bool)
     operator!=(Functor g) const
     {
       if (const Functor* fp = target<Functor>())
@@ -742,7 +742,7 @@
   bad_function_call() : std::runtime_error("call to empty ndnboost::function") {}
 };
 
-#ifndef BOOST_NO_SFINAE
+#ifndef NDNBOOST_NO_SFINAE
 inline bool operator==(const function_base& f,
                        detail::function::useless_clear_type*)
 {
@@ -768,7 +768,7 @@
 }
 #endif
 
-#ifdef BOOST_NO_SFINAE
+#ifdef NDNBOOST_NO_SFINAE
 // Comparisons between ndnboost::function objects and arbitrary function objects
 template<typename Functor>
   inline bool operator==(const function_base& f, Functor g)
@@ -804,7 +804,7 @@
 // objects. GCC 3.3 and before has an obnoxious bug that prevents this
 // from working.
 template<typename Functor>
-  BOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL(Functor, bool)
+  NDNBOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL(Functor, bool)
   operator==(const function_base& f, Functor g)
   {
     if (const Functor* fp = f.template target<Functor>())
@@ -813,7 +813,7 @@
   }
 
 template<typename Functor>
-  BOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL(Functor, bool)
+  NDNBOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL(Functor, bool)
   operator==(Functor g, const function_base& f)
   {
     if (const Functor* fp = f.template target<Functor>())
@@ -822,7 +822,7 @@
   }
 
 template<typename Functor>
-  BOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL(Functor, bool)
+  NDNBOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL(Functor, bool)
   operator!=(const function_base& f, Functor g)
   {
     if (const Functor* fp = f.template target<Functor>())
@@ -831,7 +831,7 @@
   }
 
 template<typename Functor>
-  BOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL(Functor, bool)
+  NDNBOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL(Functor, bool)
   operator!=(Functor g, const function_base& f)
   {
     if (const Functor* fp = f.template target<Functor>())
@@ -841,7 +841,7 @@
 #  endif
 
 template<typename Functor>
-  BOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL(Functor, bool)
+  NDNBOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL(Functor, bool)
   operator==(const function_base& f, reference_wrapper<Functor> g)
   {
     if (const Functor* fp = f.template target<Functor>())
@@ -850,7 +850,7 @@
   }
 
 template<typename Functor>
-  BOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL(Functor, bool)
+  NDNBOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL(Functor, bool)
   operator==(reference_wrapper<Functor> g, const function_base& f)
   {
     if (const Functor* fp = f.template target<Functor>())
@@ -859,7 +859,7 @@
   }
 
 template<typename Functor>
-  BOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL(Functor, bool)
+  NDNBOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL(Functor, bool)
   operator!=(const function_base& f, reference_wrapper<Functor> g)
   {
     if (const Functor* fp = f.template target<Functor>())
@@ -868,7 +868,7 @@
   }
 
 template<typename Functor>
-  BOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL(Functor, bool)
+  NDNBOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL(Functor, bool)
   operator!=(reference_wrapper<Functor> g, const function_base& f)
   {
     if (const Functor* fp = f.template target<Functor>())
@@ -885,7 +885,7 @@
       return f->empty();
     }
 
-#if BOOST_WORKAROUND(BOOST_MSVC, <= 1310)
+#if NDNBOOST_WORKAROUND(NDNBOOST_MSVC, <= 1310)
     inline bool has_empty_target(const void*)
     {
       return false;
@@ -900,11 +900,11 @@
 } // end namespace detail
 } // end namespace ndnboost
 
-#undef BOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL
-#undef BOOST_FUNCTION_COMPARE_TYPE_ID
+#undef NDNBOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL
+#undef NDNBOOST_FUNCTION_COMPARE_TYPE_ID
 
-#if defined(BOOST_MSVC)
+#if defined(NDNBOOST_MSVC)
 #   pragma warning( pop )
 #endif       
 
-#endif // BOOST_FUNCTION_BASE_HEADER
+#endif // NDNBOOST_FUNCTION_BASE_HEADER
diff --git a/include/ndnboost/function/function_fwd.hpp b/include/ndnboost/function/function_fwd.hpp
index 11df6eb..3ebc33c 100644
--- a/include/ndnboost/function/function_fwd.hpp
+++ b/include/ndnboost/function/function_fwd.hpp
@@ -6,11 +6,11 @@
 //  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 //
 // For more information, see http://www.boost.org
-#ifndef BOOST_FUNCTION_FWD_HPP
-#define BOOST_FUNCTION_FWD_HPP
+#ifndef NDNBOOST_FUNCTION_FWD_HPP
+#define NDNBOOST_FUNCTION_FWD_HPP
 #include <ndnboost/config.hpp>
 
-#if defined(__sgi) && defined(_COMPILER_VERSION) && _COMPILER_VERSION <= 730 && !defined(BOOST_STRICT_CONFIG)
+#if defined(__sgi) && defined(_COMPILER_VERSION) && _COMPILER_VERSION <= 730 && !defined(NDNBOOST_STRICT_CONFIG)
 // Work around a compiler bug.
 // ndnboost::python::objects::function has to be seen by the compiler before the
 // ndnboost::function class template.
@@ -19,16 +19,16 @@
 }}}
 #endif
 
-#if defined (BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)                    \
- || defined(BOOST_BCB_PARTIAL_SPECIALIZATION_BUG)                         \
- || !(defined(BOOST_STRICT_CONFIG) || !defined(__SUNPRO_CC) || __SUNPRO_CC > 0x540)
-#  define BOOST_FUNCTION_NO_FUNCTION_TYPE_SYNTAX
+#if defined (NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)                    \
+ || defined(NDNBOOST_BCB_PARTIAL_SPECIALIZATION_BUG)                         \
+ || !(defined(NDNBOOST_STRICT_CONFIG) || !defined(__SUNPRO_CC) || __SUNPRO_CC > 0x540)
+#  define NDNBOOST_FUNCTION_NO_FUNCTION_TYPE_SYNTAX
 #endif
 
 namespace ndnboost {
   class bad_function_call;
 
-#if !defined(BOOST_FUNCTION_NO_FUNCTION_TYPE_SYNTAX)
+#if !defined(NDNBOOST_FUNCTION_NO_FUNCTION_TYPE_SYNTAX)
   // Preferred syntax
   template<typename Signature> class function;
 
diff --git a/include/ndnboost/function/function_template.hpp b/include/ndnboost/function/function_template.hpp
index 6256b73..11642e6 100644
--- a/include/ndnboost/function/function_template.hpp
+++ b/include/ndnboost/function/function_template.hpp
@@ -13,69 +13,69 @@
 #include <ndnboost/function/detail/prologue.hpp>
 #include <ndnboost/detail/no_exceptions_support.hpp>
 
-#if defined(BOOST_MSVC)
+#if defined(NDNBOOST_MSVC)
 #   pragma warning( push )
 #   pragma warning( disable : 4127 ) // "conditional expression is constant"
 #endif       
 
-#define BOOST_FUNCTION_TEMPLATE_PARMS BOOST_PP_ENUM_PARAMS(BOOST_FUNCTION_NUM_ARGS, typename T)
+#define NDNBOOST_FUNCTION_TEMPLATE_PARMS NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_FUNCTION_NUM_ARGS, typename T)
 
-#define BOOST_FUNCTION_TEMPLATE_ARGS BOOST_PP_ENUM_PARAMS(BOOST_FUNCTION_NUM_ARGS, T)
+#define NDNBOOST_FUNCTION_TEMPLATE_ARGS NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_FUNCTION_NUM_ARGS, T)
 
-#define BOOST_FUNCTION_PARM(J,I,D) BOOST_PP_CAT(T,I) BOOST_PP_CAT(a,I)
+#define NDNBOOST_FUNCTION_PARM(J,I,D) NDNBOOST_PP_CAT(T,I) NDNBOOST_PP_CAT(a,I)
 
-#define BOOST_FUNCTION_PARMS BOOST_PP_ENUM(BOOST_FUNCTION_NUM_ARGS,BOOST_FUNCTION_PARM,BOOST_PP_EMPTY)
+#define NDNBOOST_FUNCTION_PARMS NDNBOOST_PP_ENUM(NDNBOOST_FUNCTION_NUM_ARGS,NDNBOOST_FUNCTION_PARM,NDNBOOST_PP_EMPTY)
 
-#define BOOST_FUNCTION_ARGS BOOST_PP_ENUM_PARAMS(BOOST_FUNCTION_NUM_ARGS, a)
+#define NDNBOOST_FUNCTION_ARGS NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_FUNCTION_NUM_ARGS, a)
 
-#define BOOST_FUNCTION_ARG_TYPE(J,I,D) \
-  typedef BOOST_PP_CAT(T,I) BOOST_PP_CAT(BOOST_PP_CAT(arg, BOOST_PP_INC(I)),_type);
+#define NDNBOOST_FUNCTION_ARG_TYPE(J,I,D) \
+  typedef NDNBOOST_PP_CAT(T,I) NDNBOOST_PP_CAT(NDNBOOST_PP_CAT(arg, NDNBOOST_PP_INC(I)),_type);
 
-#define BOOST_FUNCTION_ARG_TYPES BOOST_PP_REPEAT(BOOST_FUNCTION_NUM_ARGS,BOOST_FUNCTION_ARG_TYPE,BOOST_PP_EMPTY)
+#define NDNBOOST_FUNCTION_ARG_TYPES NDNBOOST_PP_REPEAT(NDNBOOST_FUNCTION_NUM_ARGS,NDNBOOST_FUNCTION_ARG_TYPE,NDNBOOST_PP_EMPTY)
 
 // Comma if nonzero number of arguments
-#if BOOST_FUNCTION_NUM_ARGS == 0
-#  define BOOST_FUNCTION_COMMA
+#if NDNBOOST_FUNCTION_NUM_ARGS == 0
+#  define NDNBOOST_FUNCTION_COMMA
 #else
-#  define BOOST_FUNCTION_COMMA ,
-#endif // BOOST_FUNCTION_NUM_ARGS > 0
+#  define NDNBOOST_FUNCTION_COMMA ,
+#endif // NDNBOOST_FUNCTION_NUM_ARGS > 0
 
 // Class names used in this version of the code
-#define BOOST_FUNCTION_FUNCTION BOOST_JOIN(function,BOOST_FUNCTION_NUM_ARGS)
-#define BOOST_FUNCTION_FUNCTION_INVOKER \
-  BOOST_JOIN(function_invoker,BOOST_FUNCTION_NUM_ARGS)
-#define BOOST_FUNCTION_VOID_FUNCTION_INVOKER \
-  BOOST_JOIN(void_function_invoker,BOOST_FUNCTION_NUM_ARGS)
-#define BOOST_FUNCTION_FUNCTION_OBJ_INVOKER \
-  BOOST_JOIN(function_obj_invoker,BOOST_FUNCTION_NUM_ARGS)
-#define BOOST_FUNCTION_VOID_FUNCTION_OBJ_INVOKER \
-  BOOST_JOIN(void_function_obj_invoker,BOOST_FUNCTION_NUM_ARGS)
-#define BOOST_FUNCTION_FUNCTION_REF_INVOKER \
-  BOOST_JOIN(function_ref_invoker,BOOST_FUNCTION_NUM_ARGS)
-#define BOOST_FUNCTION_VOID_FUNCTION_REF_INVOKER \
-  BOOST_JOIN(void_function_ref_invoker,BOOST_FUNCTION_NUM_ARGS)
-#define BOOST_FUNCTION_MEMBER_INVOKER \
-  BOOST_JOIN(function_mem_invoker,BOOST_FUNCTION_NUM_ARGS)
-#define BOOST_FUNCTION_VOID_MEMBER_INVOKER \
-  BOOST_JOIN(function_void_mem_invoker,BOOST_FUNCTION_NUM_ARGS)
-#define BOOST_FUNCTION_GET_FUNCTION_INVOKER \
-  BOOST_JOIN(get_function_invoker,BOOST_FUNCTION_NUM_ARGS)
-#define BOOST_FUNCTION_GET_FUNCTION_OBJ_INVOKER \
-  BOOST_JOIN(get_function_obj_invoker,BOOST_FUNCTION_NUM_ARGS)
-#define BOOST_FUNCTION_GET_FUNCTION_REF_INVOKER \
-  BOOST_JOIN(get_function_ref_invoker,BOOST_FUNCTION_NUM_ARGS)
-#define BOOST_FUNCTION_GET_MEMBER_INVOKER \
-  BOOST_JOIN(get_member_invoker,BOOST_FUNCTION_NUM_ARGS)
-#define BOOST_FUNCTION_GET_INVOKER \
-  BOOST_JOIN(get_invoker,BOOST_FUNCTION_NUM_ARGS)
-#define BOOST_FUNCTION_VTABLE BOOST_JOIN(basic_vtable,BOOST_FUNCTION_NUM_ARGS)
+#define NDNBOOST_FUNCTION_FUNCTION NDNBOOST_JOIN(function,NDNBOOST_FUNCTION_NUM_ARGS)
+#define NDNBOOST_FUNCTION_FUNCTION_INVOKER \
+  NDNBOOST_JOIN(function_invoker,NDNBOOST_FUNCTION_NUM_ARGS)
+#define NDNBOOST_FUNCTION_VOID_FUNCTION_INVOKER \
+  NDNBOOST_JOIN(void_function_invoker,NDNBOOST_FUNCTION_NUM_ARGS)
+#define NDNBOOST_FUNCTION_FUNCTION_OBJ_INVOKER \
+  NDNBOOST_JOIN(function_obj_invoker,NDNBOOST_FUNCTION_NUM_ARGS)
+#define NDNBOOST_FUNCTION_VOID_FUNCTION_OBJ_INVOKER \
+  NDNBOOST_JOIN(void_function_obj_invoker,NDNBOOST_FUNCTION_NUM_ARGS)
+#define NDNBOOST_FUNCTION_FUNCTION_REF_INVOKER \
+  NDNBOOST_JOIN(function_ref_invoker,NDNBOOST_FUNCTION_NUM_ARGS)
+#define NDNBOOST_FUNCTION_VOID_FUNCTION_REF_INVOKER \
+  NDNBOOST_JOIN(void_function_ref_invoker,NDNBOOST_FUNCTION_NUM_ARGS)
+#define NDNBOOST_FUNCTION_MEMBER_INVOKER \
+  NDNBOOST_JOIN(function_mem_invoker,NDNBOOST_FUNCTION_NUM_ARGS)
+#define NDNBOOST_FUNCTION_VOID_MEMBER_INVOKER \
+  NDNBOOST_JOIN(function_void_mem_invoker,NDNBOOST_FUNCTION_NUM_ARGS)
+#define NDNBOOST_FUNCTION_GET_FUNCTION_INVOKER \
+  NDNBOOST_JOIN(get_function_invoker,NDNBOOST_FUNCTION_NUM_ARGS)
+#define NDNBOOST_FUNCTION_GET_FUNCTION_OBJ_INVOKER \
+  NDNBOOST_JOIN(get_function_obj_invoker,NDNBOOST_FUNCTION_NUM_ARGS)
+#define NDNBOOST_FUNCTION_GET_FUNCTION_REF_INVOKER \
+  NDNBOOST_JOIN(get_function_ref_invoker,NDNBOOST_FUNCTION_NUM_ARGS)
+#define NDNBOOST_FUNCTION_GET_MEMBER_INVOKER \
+  NDNBOOST_JOIN(get_member_invoker,NDNBOOST_FUNCTION_NUM_ARGS)
+#define NDNBOOST_FUNCTION_GET_INVOKER \
+  NDNBOOST_JOIN(get_invoker,NDNBOOST_FUNCTION_NUM_ARGS)
+#define NDNBOOST_FUNCTION_VTABLE NDNBOOST_JOIN(basic_vtable,NDNBOOST_FUNCTION_NUM_ARGS)
 
-#ifndef BOOST_NO_VOID_RETURNS
-#  define BOOST_FUNCTION_VOID_RETURN_TYPE void
-#  define BOOST_FUNCTION_RETURN(X) X
+#ifndef NDNBOOST_NO_VOID_RETURNS
+#  define NDNBOOST_FUNCTION_VOID_RETURN_TYPE void
+#  define NDNBOOST_FUNCTION_RETURN(X) X
 #else
-#  define BOOST_FUNCTION_VOID_RETURN_TYPE ndnboost::detail::function::unusable
-#  define BOOST_FUNCTION_RETURN(X) X; return BOOST_FUNCTION_VOID_RETURN_TYPE ()
+#  define NDNBOOST_FUNCTION_VOID_RETURN_TYPE ndnboost::detail::function::unusable
+#  define NDNBOOST_FUNCTION_RETURN(X) X; return NDNBOOST_FUNCTION_VOID_RETURN_TYPE ()
 #endif
 
 namespace ndnboost {
@@ -83,45 +83,45 @@
     namespace function {
       template<
         typename FunctionPtr,
-        typename R BOOST_FUNCTION_COMMA
-        BOOST_FUNCTION_TEMPLATE_PARMS
+        typename R NDNBOOST_FUNCTION_COMMA
+        NDNBOOST_FUNCTION_TEMPLATE_PARMS
         >
-      struct BOOST_FUNCTION_FUNCTION_INVOKER
+      struct NDNBOOST_FUNCTION_FUNCTION_INVOKER
       {
-        static R invoke(function_buffer& function_ptr BOOST_FUNCTION_COMMA
-                        BOOST_FUNCTION_PARMS)
+        static R invoke(function_buffer& function_ptr NDNBOOST_FUNCTION_COMMA
+                        NDNBOOST_FUNCTION_PARMS)
         {
           FunctionPtr f = reinterpret_cast<FunctionPtr>(function_ptr.func_ptr);
-          return f(BOOST_FUNCTION_ARGS);
+          return f(NDNBOOST_FUNCTION_ARGS);
         }
       };
 
       template<
         typename FunctionPtr,
-        typename R BOOST_FUNCTION_COMMA
-        BOOST_FUNCTION_TEMPLATE_PARMS
+        typename R NDNBOOST_FUNCTION_COMMA
+        NDNBOOST_FUNCTION_TEMPLATE_PARMS
         >
-      struct BOOST_FUNCTION_VOID_FUNCTION_INVOKER
+      struct NDNBOOST_FUNCTION_VOID_FUNCTION_INVOKER
       {
-        static BOOST_FUNCTION_VOID_RETURN_TYPE
-        invoke(function_buffer& function_ptr BOOST_FUNCTION_COMMA
-               BOOST_FUNCTION_PARMS)
+        static NDNBOOST_FUNCTION_VOID_RETURN_TYPE
+        invoke(function_buffer& function_ptr NDNBOOST_FUNCTION_COMMA
+               NDNBOOST_FUNCTION_PARMS)
 
         {
           FunctionPtr f = reinterpret_cast<FunctionPtr>(function_ptr.func_ptr);
-          BOOST_FUNCTION_RETURN(f(BOOST_FUNCTION_ARGS));
+          NDNBOOST_FUNCTION_RETURN(f(NDNBOOST_FUNCTION_ARGS));
         }
       };
 
       template<
         typename FunctionObj,
-        typename R BOOST_FUNCTION_COMMA
-        BOOST_FUNCTION_TEMPLATE_PARMS
+        typename R NDNBOOST_FUNCTION_COMMA
+        NDNBOOST_FUNCTION_TEMPLATE_PARMS
       >
-      struct BOOST_FUNCTION_FUNCTION_OBJ_INVOKER
+      struct NDNBOOST_FUNCTION_FUNCTION_OBJ_INVOKER
       {
-        static R invoke(function_buffer& function_obj_ptr BOOST_FUNCTION_COMMA
-                        BOOST_FUNCTION_PARMS)
+        static R invoke(function_buffer& function_obj_ptr NDNBOOST_FUNCTION_COMMA
+                        NDNBOOST_FUNCTION_PARMS)
 
         {
           FunctionObj* f;
@@ -129,20 +129,20 @@
             f = reinterpret_cast<FunctionObj*>(&function_obj_ptr.data);
           else
             f = reinterpret_cast<FunctionObj*>(function_obj_ptr.obj_ptr);
-          return (*f)(BOOST_FUNCTION_ARGS);
+          return (*f)(NDNBOOST_FUNCTION_ARGS);
         }
       };
 
       template<
         typename FunctionObj,
-        typename R BOOST_FUNCTION_COMMA
-        BOOST_FUNCTION_TEMPLATE_PARMS
+        typename R NDNBOOST_FUNCTION_COMMA
+        NDNBOOST_FUNCTION_TEMPLATE_PARMS
       >
-      struct BOOST_FUNCTION_VOID_FUNCTION_OBJ_INVOKER
+      struct NDNBOOST_FUNCTION_VOID_FUNCTION_OBJ_INVOKER
       {
-        static BOOST_FUNCTION_VOID_RETURN_TYPE
-        invoke(function_buffer& function_obj_ptr BOOST_FUNCTION_COMMA
-               BOOST_FUNCTION_PARMS)
+        static NDNBOOST_FUNCTION_VOID_RETURN_TYPE
+        invoke(function_buffer& function_obj_ptr NDNBOOST_FUNCTION_COMMA
+               NDNBOOST_FUNCTION_PARMS)
 
         {
           FunctionObj* f;
@@ -150,165 +150,165 @@
             f = reinterpret_cast<FunctionObj*>(&function_obj_ptr.data);
           else
             f = reinterpret_cast<FunctionObj*>(function_obj_ptr.obj_ptr);
-          BOOST_FUNCTION_RETURN((*f)(BOOST_FUNCTION_ARGS));
+          NDNBOOST_FUNCTION_RETURN((*f)(NDNBOOST_FUNCTION_ARGS));
         }
       };
 
       template<
         typename FunctionObj,
-        typename R BOOST_FUNCTION_COMMA
-        BOOST_FUNCTION_TEMPLATE_PARMS
+        typename R NDNBOOST_FUNCTION_COMMA
+        NDNBOOST_FUNCTION_TEMPLATE_PARMS
       >
-      struct BOOST_FUNCTION_FUNCTION_REF_INVOKER
+      struct NDNBOOST_FUNCTION_FUNCTION_REF_INVOKER
       {
-        static R invoke(function_buffer& function_obj_ptr BOOST_FUNCTION_COMMA
-                        BOOST_FUNCTION_PARMS)
+        static R invoke(function_buffer& function_obj_ptr NDNBOOST_FUNCTION_COMMA
+                        NDNBOOST_FUNCTION_PARMS)
 
         {
           FunctionObj* f = 
             reinterpret_cast<FunctionObj*>(function_obj_ptr.obj_ptr);
-          return (*f)(BOOST_FUNCTION_ARGS);
+          return (*f)(NDNBOOST_FUNCTION_ARGS);
         }
       };
 
       template<
         typename FunctionObj,
-        typename R BOOST_FUNCTION_COMMA
-        BOOST_FUNCTION_TEMPLATE_PARMS
+        typename R NDNBOOST_FUNCTION_COMMA
+        NDNBOOST_FUNCTION_TEMPLATE_PARMS
       >
-      struct BOOST_FUNCTION_VOID_FUNCTION_REF_INVOKER
+      struct NDNBOOST_FUNCTION_VOID_FUNCTION_REF_INVOKER
       {
-        static BOOST_FUNCTION_VOID_RETURN_TYPE
-        invoke(function_buffer& function_obj_ptr BOOST_FUNCTION_COMMA
-               BOOST_FUNCTION_PARMS)
+        static NDNBOOST_FUNCTION_VOID_RETURN_TYPE
+        invoke(function_buffer& function_obj_ptr NDNBOOST_FUNCTION_COMMA
+               NDNBOOST_FUNCTION_PARMS)
 
         {
           FunctionObj* f = 
             reinterpret_cast<FunctionObj*>(function_obj_ptr.obj_ptr);
-          BOOST_FUNCTION_RETURN((*f)(BOOST_FUNCTION_ARGS));
+          NDNBOOST_FUNCTION_RETURN((*f)(NDNBOOST_FUNCTION_ARGS));
         }
       };
 
-#if BOOST_FUNCTION_NUM_ARGS > 0
+#if NDNBOOST_FUNCTION_NUM_ARGS > 0
       /* Handle invocation of member pointers. */
       template<
         typename MemberPtr,
-        typename R BOOST_FUNCTION_COMMA
-        BOOST_FUNCTION_TEMPLATE_PARMS
+        typename R NDNBOOST_FUNCTION_COMMA
+        NDNBOOST_FUNCTION_TEMPLATE_PARMS
       >
-      struct BOOST_FUNCTION_MEMBER_INVOKER
+      struct NDNBOOST_FUNCTION_MEMBER_INVOKER
       {
-        static R invoke(function_buffer& function_obj_ptr BOOST_FUNCTION_COMMA
-                        BOOST_FUNCTION_PARMS)
+        static R invoke(function_buffer& function_obj_ptr NDNBOOST_FUNCTION_COMMA
+                        NDNBOOST_FUNCTION_PARMS)
 
         {
           MemberPtr* f = 
             reinterpret_cast<MemberPtr*>(&function_obj_ptr.data);
-          return ndnboost::mem_fn(*f)(BOOST_FUNCTION_ARGS);
+          return ndnboost::mem_fn(*f)(NDNBOOST_FUNCTION_ARGS);
         }
       };
 
       template<
         typename MemberPtr,
-        typename R BOOST_FUNCTION_COMMA
-        BOOST_FUNCTION_TEMPLATE_PARMS
+        typename R NDNBOOST_FUNCTION_COMMA
+        NDNBOOST_FUNCTION_TEMPLATE_PARMS
       >
-      struct BOOST_FUNCTION_VOID_MEMBER_INVOKER
+      struct NDNBOOST_FUNCTION_VOID_MEMBER_INVOKER
       {
-        static BOOST_FUNCTION_VOID_RETURN_TYPE
-        invoke(function_buffer& function_obj_ptr BOOST_FUNCTION_COMMA
-               BOOST_FUNCTION_PARMS)
+        static NDNBOOST_FUNCTION_VOID_RETURN_TYPE
+        invoke(function_buffer& function_obj_ptr NDNBOOST_FUNCTION_COMMA
+               NDNBOOST_FUNCTION_PARMS)
 
         {
           MemberPtr* f = 
             reinterpret_cast<MemberPtr*>(&function_obj_ptr.data);
-          BOOST_FUNCTION_RETURN(ndnboost::mem_fn(*f)(BOOST_FUNCTION_ARGS));
+          NDNBOOST_FUNCTION_RETURN(ndnboost::mem_fn(*f)(NDNBOOST_FUNCTION_ARGS));
         }
       };
 #endif
 
       template<
         typename FunctionPtr,
-        typename R BOOST_FUNCTION_COMMA
-        BOOST_FUNCTION_TEMPLATE_PARMS
+        typename R NDNBOOST_FUNCTION_COMMA
+        NDNBOOST_FUNCTION_TEMPLATE_PARMS
       >
-      struct BOOST_FUNCTION_GET_FUNCTION_INVOKER
+      struct NDNBOOST_FUNCTION_GET_FUNCTION_INVOKER
       {
         typedef typename mpl::if_c<(is_void<R>::value),
-                            BOOST_FUNCTION_VOID_FUNCTION_INVOKER<
+                            NDNBOOST_FUNCTION_VOID_FUNCTION_INVOKER<
                             FunctionPtr,
-                            R BOOST_FUNCTION_COMMA
-                            BOOST_FUNCTION_TEMPLATE_ARGS
+                            R NDNBOOST_FUNCTION_COMMA
+                            NDNBOOST_FUNCTION_TEMPLATE_ARGS
                           >,
-                          BOOST_FUNCTION_FUNCTION_INVOKER<
+                          NDNBOOST_FUNCTION_FUNCTION_INVOKER<
                             FunctionPtr,
-                            R BOOST_FUNCTION_COMMA
-                            BOOST_FUNCTION_TEMPLATE_ARGS
+                            R NDNBOOST_FUNCTION_COMMA
+                            NDNBOOST_FUNCTION_TEMPLATE_ARGS
                           >
                        >::type type;
       };
 
       template<
         typename FunctionObj,
-        typename R BOOST_FUNCTION_COMMA
-        BOOST_FUNCTION_TEMPLATE_PARMS
+        typename R NDNBOOST_FUNCTION_COMMA
+        NDNBOOST_FUNCTION_TEMPLATE_PARMS
        >
-      struct BOOST_FUNCTION_GET_FUNCTION_OBJ_INVOKER
+      struct NDNBOOST_FUNCTION_GET_FUNCTION_OBJ_INVOKER
       {
         typedef typename mpl::if_c<(is_void<R>::value),
-                            BOOST_FUNCTION_VOID_FUNCTION_OBJ_INVOKER<
+                            NDNBOOST_FUNCTION_VOID_FUNCTION_OBJ_INVOKER<
                             FunctionObj,
-                            R BOOST_FUNCTION_COMMA
-                            BOOST_FUNCTION_TEMPLATE_ARGS
+                            R NDNBOOST_FUNCTION_COMMA
+                            NDNBOOST_FUNCTION_TEMPLATE_ARGS
                           >,
-                          BOOST_FUNCTION_FUNCTION_OBJ_INVOKER<
+                          NDNBOOST_FUNCTION_FUNCTION_OBJ_INVOKER<
                             FunctionObj,
-                            R BOOST_FUNCTION_COMMA
-                            BOOST_FUNCTION_TEMPLATE_ARGS
+                            R NDNBOOST_FUNCTION_COMMA
+                            NDNBOOST_FUNCTION_TEMPLATE_ARGS
                           >
                        >::type type;
       };
 
       template<
         typename FunctionObj,
-        typename R BOOST_FUNCTION_COMMA
-        BOOST_FUNCTION_TEMPLATE_PARMS
+        typename R NDNBOOST_FUNCTION_COMMA
+        NDNBOOST_FUNCTION_TEMPLATE_PARMS
        >
-      struct BOOST_FUNCTION_GET_FUNCTION_REF_INVOKER
+      struct NDNBOOST_FUNCTION_GET_FUNCTION_REF_INVOKER
       {
         typedef typename mpl::if_c<(is_void<R>::value),
-                            BOOST_FUNCTION_VOID_FUNCTION_REF_INVOKER<
+                            NDNBOOST_FUNCTION_VOID_FUNCTION_REF_INVOKER<
                             FunctionObj,
-                            R BOOST_FUNCTION_COMMA
-                            BOOST_FUNCTION_TEMPLATE_ARGS
+                            R NDNBOOST_FUNCTION_COMMA
+                            NDNBOOST_FUNCTION_TEMPLATE_ARGS
                           >,
-                          BOOST_FUNCTION_FUNCTION_REF_INVOKER<
+                          NDNBOOST_FUNCTION_FUNCTION_REF_INVOKER<
                             FunctionObj,
-                            R BOOST_FUNCTION_COMMA
-                            BOOST_FUNCTION_TEMPLATE_ARGS
+                            R NDNBOOST_FUNCTION_COMMA
+                            NDNBOOST_FUNCTION_TEMPLATE_ARGS
                           >
                        >::type type;
       };
 
-#if BOOST_FUNCTION_NUM_ARGS > 0
+#if NDNBOOST_FUNCTION_NUM_ARGS > 0
       /* Retrieve the appropriate invoker for a member pointer.  */
       template<
         typename MemberPtr,
-        typename R BOOST_FUNCTION_COMMA
-        BOOST_FUNCTION_TEMPLATE_PARMS
+        typename R NDNBOOST_FUNCTION_COMMA
+        NDNBOOST_FUNCTION_TEMPLATE_PARMS
        >
-      struct BOOST_FUNCTION_GET_MEMBER_INVOKER
+      struct NDNBOOST_FUNCTION_GET_MEMBER_INVOKER
       {
         typedef typename mpl::if_c<(is_void<R>::value),
-                            BOOST_FUNCTION_VOID_MEMBER_INVOKER<
+                            NDNBOOST_FUNCTION_VOID_MEMBER_INVOKER<
                             MemberPtr,
-                            R BOOST_FUNCTION_COMMA
-                            BOOST_FUNCTION_TEMPLATE_ARGS
+                            R NDNBOOST_FUNCTION_COMMA
+                            NDNBOOST_FUNCTION_TEMPLATE_ARGS
                           >,
-                          BOOST_FUNCTION_MEMBER_INVOKER<
+                          NDNBOOST_FUNCTION_MEMBER_INVOKER<
                             MemberPtr,
-                            R BOOST_FUNCTION_COMMA
-                            BOOST_FUNCTION_TEMPLATE_ARGS
+                            R NDNBOOST_FUNCTION_COMMA
+                            NDNBOOST_FUNCTION_TEMPLATE_ARGS
                           >
                        >::type type;
       };
@@ -324,20 +324,20 @@
          contains two typedefs, "invoker_type" and "manager_type",
          which correspond to the invoker and manager types. */
       template<typename Tag>
-      struct BOOST_FUNCTION_GET_INVOKER { };
+      struct NDNBOOST_FUNCTION_GET_INVOKER { };
 
       /* Retrieve the invoker for a function pointer. */
       template<>
-      struct BOOST_FUNCTION_GET_INVOKER<function_ptr_tag>
+      struct NDNBOOST_FUNCTION_GET_INVOKER<function_ptr_tag>
       {
         template<typename FunctionPtr,
-                 typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS>
+                 typename R NDNBOOST_FUNCTION_COMMA NDNBOOST_FUNCTION_TEMPLATE_PARMS>
         struct apply
         {
-          typedef typename BOOST_FUNCTION_GET_FUNCTION_INVOKER<
+          typedef typename NDNBOOST_FUNCTION_GET_FUNCTION_INVOKER<
                              FunctionPtr,
-                             R BOOST_FUNCTION_COMMA
-                             BOOST_FUNCTION_TEMPLATE_ARGS
+                             R NDNBOOST_FUNCTION_COMMA
+                             NDNBOOST_FUNCTION_TEMPLATE_ARGS
                            >::type
             invoker_type;
 
@@ -345,14 +345,14 @@
         };
 
         template<typename FunctionPtr,
-                 typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS,
+                 typename R NDNBOOST_FUNCTION_COMMA NDNBOOST_FUNCTION_TEMPLATE_PARMS,
                  typename Allocator>
         struct apply_a
         {
-          typedef typename BOOST_FUNCTION_GET_FUNCTION_INVOKER<
+          typedef typename NDNBOOST_FUNCTION_GET_FUNCTION_INVOKER<
                              FunctionPtr,
-                             R BOOST_FUNCTION_COMMA
-                             BOOST_FUNCTION_TEMPLATE_ARGS
+                             R NDNBOOST_FUNCTION_COMMA
+                             NDNBOOST_FUNCTION_TEMPLATE_ARGS
                            >::type
             invoker_type;
 
@@ -360,19 +360,19 @@
         };
       };
 
-#if BOOST_FUNCTION_NUM_ARGS > 0
+#if NDNBOOST_FUNCTION_NUM_ARGS > 0
       /* Retrieve the invoker for a member pointer. */
       template<>
-      struct BOOST_FUNCTION_GET_INVOKER<member_ptr_tag>
+      struct NDNBOOST_FUNCTION_GET_INVOKER<member_ptr_tag>
       {
         template<typename MemberPtr,
-                 typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS>
+                 typename R NDNBOOST_FUNCTION_COMMA NDNBOOST_FUNCTION_TEMPLATE_PARMS>
         struct apply
         {
-          typedef typename BOOST_FUNCTION_GET_MEMBER_INVOKER<
+          typedef typename NDNBOOST_FUNCTION_GET_MEMBER_INVOKER<
                              MemberPtr,
-                             R BOOST_FUNCTION_COMMA
-                             BOOST_FUNCTION_TEMPLATE_ARGS
+                             R NDNBOOST_FUNCTION_COMMA
+                             NDNBOOST_FUNCTION_TEMPLATE_ARGS
                            >::type
             invoker_type;
 
@@ -380,14 +380,14 @@
         };
 
         template<typename MemberPtr,
-                 typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS,
+                 typename R NDNBOOST_FUNCTION_COMMA NDNBOOST_FUNCTION_TEMPLATE_PARMS,
                  typename Allocator>
         struct apply_a
         {
-          typedef typename BOOST_FUNCTION_GET_MEMBER_INVOKER<
+          typedef typename NDNBOOST_FUNCTION_GET_MEMBER_INVOKER<
                              MemberPtr,
-                             R BOOST_FUNCTION_COMMA
-                             BOOST_FUNCTION_TEMPLATE_ARGS
+                             R NDNBOOST_FUNCTION_COMMA
+                             NDNBOOST_FUNCTION_TEMPLATE_ARGS
                            >::type
             invoker_type;
 
@@ -398,16 +398,16 @@
 
       /* Retrieve the invoker for a function object. */
       template<>
-      struct BOOST_FUNCTION_GET_INVOKER<function_obj_tag>
+      struct NDNBOOST_FUNCTION_GET_INVOKER<function_obj_tag>
       {
         template<typename FunctionObj,
-                 typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS>
+                 typename R NDNBOOST_FUNCTION_COMMA NDNBOOST_FUNCTION_TEMPLATE_PARMS>
         struct apply
         {
-          typedef typename BOOST_FUNCTION_GET_FUNCTION_OBJ_INVOKER<
+          typedef typename NDNBOOST_FUNCTION_GET_FUNCTION_OBJ_INVOKER<
                              FunctionObj,
-                             R BOOST_FUNCTION_COMMA
-                             BOOST_FUNCTION_TEMPLATE_ARGS
+                             R NDNBOOST_FUNCTION_COMMA
+                             NDNBOOST_FUNCTION_TEMPLATE_ARGS
                            >::type
             invoker_type;
 
@@ -415,14 +415,14 @@
         };
 
         template<typename FunctionObj,
-                 typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS,
+                 typename R NDNBOOST_FUNCTION_COMMA NDNBOOST_FUNCTION_TEMPLATE_PARMS,
                  typename Allocator>
         struct apply_a
         {
-          typedef typename BOOST_FUNCTION_GET_FUNCTION_OBJ_INVOKER<
+          typedef typename NDNBOOST_FUNCTION_GET_FUNCTION_OBJ_INVOKER<
                              FunctionObj,
-                             R BOOST_FUNCTION_COMMA
-                             BOOST_FUNCTION_TEMPLATE_ARGS
+                             R NDNBOOST_FUNCTION_COMMA
+                             NDNBOOST_FUNCTION_TEMPLATE_ARGS
                            >::type
             invoker_type;
 
@@ -432,16 +432,16 @@
 
       /* Retrieve the invoker for a reference to a function object. */
       template<>
-      struct BOOST_FUNCTION_GET_INVOKER<function_obj_ref_tag>
+      struct NDNBOOST_FUNCTION_GET_INVOKER<function_obj_ref_tag>
       {
         template<typename RefWrapper,
-                 typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS>
+                 typename R NDNBOOST_FUNCTION_COMMA NDNBOOST_FUNCTION_TEMPLATE_PARMS>
         struct apply
         {
-          typedef typename BOOST_FUNCTION_GET_FUNCTION_REF_INVOKER<
+          typedef typename NDNBOOST_FUNCTION_GET_FUNCTION_REF_INVOKER<
                              typename RefWrapper::type,
-                             R BOOST_FUNCTION_COMMA
-                             BOOST_FUNCTION_TEMPLATE_ARGS
+                             R NDNBOOST_FUNCTION_COMMA
+                             NDNBOOST_FUNCTION_TEMPLATE_ARGS
                            >::type
             invoker_type;
 
@@ -449,14 +449,14 @@
         };
 
         template<typename RefWrapper,
-                 typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS,
+                 typename R NDNBOOST_FUNCTION_COMMA NDNBOOST_FUNCTION_TEMPLATE_PARMS,
                  typename Allocator>
         struct apply_a
         {
-          typedef typename BOOST_FUNCTION_GET_FUNCTION_REF_INVOKER<
+          typedef typename NDNBOOST_FUNCTION_GET_FUNCTION_REF_INVOKER<
                              typename RefWrapper::type,
-                             R BOOST_FUNCTION_COMMA
-                             BOOST_FUNCTION_TEMPLATE_ARGS
+                             R NDNBOOST_FUNCTION_COMMA
+                             NDNBOOST_FUNCTION_TEMPLATE_ARGS
                            >::type
             invoker_type;
 
@@ -472,18 +472,18 @@
        * members. It therefore cannot have any constructors,
        * destructors, base classes, etc.
        */
-      template<typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS>
-      struct BOOST_FUNCTION_VTABLE
+      template<typename R NDNBOOST_FUNCTION_COMMA NDNBOOST_FUNCTION_TEMPLATE_PARMS>
+      struct NDNBOOST_FUNCTION_VTABLE
       {
-#ifndef BOOST_NO_VOID_RETURNS
+#ifndef NDNBOOST_NO_VOID_RETURNS
         typedef R         result_type;
 #else
         typedef typename function_return_type<R>::type result_type;
-#endif // BOOST_NO_VOID_RETURNS
+#endif // NDNBOOST_NO_VOID_RETURNS
 
         typedef result_type (*invoker_type)(function_buffer&
-                                            BOOST_FUNCTION_COMMA
-                                            BOOST_FUNCTION_TEMPLATE_ARGS);
+                                            NDNBOOST_FUNCTION_COMMA
+                                            NDNBOOST_FUNCTION_TEMPLATE_ARGS);
 
         template<typename F>
         bool assign_to(F f, function_buffer& functor) const
@@ -528,7 +528,7 @@
         }
 
         // Member pointers
-#if BOOST_FUNCTION_NUM_ARGS > 0
+#if NDNBOOST_FUNCTION_NUM_ARGS > 0
         template<typename MemberPtr>
         bool assign_to(MemberPtr f, function_buffer& functor, member_ptr_tag) const
         {
@@ -555,7 +555,7 @@
             return false;
           }
         }
-#endif // BOOST_FUNCTION_NUM_ARGS > 0
+#endif // NDNBOOST_FUNCTION_NUM_ARGS > 0
 
         // Function objects
         // Assign to a function object using the small object optimization
@@ -646,16 +646,16 @@
   } // end namespace detail
 
   template<
-    typename R BOOST_FUNCTION_COMMA
-    BOOST_FUNCTION_TEMPLATE_PARMS
+    typename R NDNBOOST_FUNCTION_COMMA
+    NDNBOOST_FUNCTION_TEMPLATE_PARMS
   >
-  class BOOST_FUNCTION_FUNCTION : public function_base
+  class NDNBOOST_FUNCTION_FUNCTION : public function_base
 
-#if BOOST_FUNCTION_NUM_ARGS == 1
+#if NDNBOOST_FUNCTION_NUM_ARGS == 1
 
     , public std::unary_function<T0,R>
 
-#elif BOOST_FUNCTION_NUM_ARGS == 2
+#elif NDNBOOST_FUNCTION_NUM_ARGS == 2
 
     , public std::binary_function<T0,T1,R>
 
@@ -663,16 +663,16 @@
 
   {
   public:
-#ifndef BOOST_NO_VOID_RETURNS
+#ifndef NDNBOOST_NO_VOID_RETURNS
     typedef R         result_type;
 #else
     typedef  typename ndnboost::detail::function::function_return_type<R>::type
       result_type;
-#endif // BOOST_NO_VOID_RETURNS
+#endif // NDNBOOST_NO_VOID_RETURNS
 
   private:
-    typedef ndnboost::detail::function::BOOST_FUNCTION_VTABLE<
-              R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_ARGS>
+    typedef ndnboost::detail::function::NDNBOOST_FUNCTION_VTABLE<
+              R NDNBOOST_FUNCTION_COMMA NDNBOOST_FUNCTION_TEMPLATE_ARGS>
       vtable_type;
 
     vtable_type* get_vtable() const {
@@ -683,7 +683,7 @@
     struct clear_type {};
 
   public:
-    BOOST_STATIC_CONSTANT(int, args = BOOST_FUNCTION_NUM_ARGS);
+    NDNBOOST_STATIC_CONSTANT(int, args = NDNBOOST_FUNCTION_NUM_ARGS);
 
     // add signature for ndnboost::lambda
     template<typename Args>
@@ -692,178 +692,178 @@
       typedef result_type type;
     };
 
-#if BOOST_FUNCTION_NUM_ARGS == 1
+#if NDNBOOST_FUNCTION_NUM_ARGS == 1
     typedef T0 argument_type;
-#elif BOOST_FUNCTION_NUM_ARGS == 2
+#elif NDNBOOST_FUNCTION_NUM_ARGS == 2
     typedef T0 first_argument_type;
     typedef T1 second_argument_type;
 #endif
 
-    BOOST_STATIC_CONSTANT(int, arity = BOOST_FUNCTION_NUM_ARGS);
-    BOOST_FUNCTION_ARG_TYPES
+    NDNBOOST_STATIC_CONSTANT(int, arity = NDNBOOST_FUNCTION_NUM_ARGS);
+    NDNBOOST_FUNCTION_ARG_TYPES
 
-    typedef BOOST_FUNCTION_FUNCTION self_type;
+    typedef NDNBOOST_FUNCTION_FUNCTION self_type;
 
-    BOOST_FUNCTION_FUNCTION() : function_base() { }
+    NDNBOOST_FUNCTION_FUNCTION() : function_base() { }
 
     // MSVC chokes if the following two constructors are collapsed into
     // one with a default parameter.
     template<typename Functor>
-    BOOST_FUNCTION_FUNCTION(Functor BOOST_FUNCTION_TARGET_FIX(const &) f
-#ifndef BOOST_NO_SFINAE
+    NDNBOOST_FUNCTION_FUNCTION(Functor NDNBOOST_FUNCTION_TARGET_FIX(const &) f
+#ifndef NDNBOOST_NO_SFINAE
                             ,typename enable_if_c<
                             (ndnboost::type_traits::ice_not<
                              (is_integral<Functor>::value)>::value),
                                         int>::type = 0
-#endif // BOOST_NO_SFINAE
+#endif // NDNBOOST_NO_SFINAE
                             ) :
       function_base()
     {
       this->assign_to(f);
     }
     template<typename Functor,typename Allocator>
-    BOOST_FUNCTION_FUNCTION(Functor BOOST_FUNCTION_TARGET_FIX(const &) f, Allocator a
-#ifndef BOOST_NO_SFINAE
+    NDNBOOST_FUNCTION_FUNCTION(Functor NDNBOOST_FUNCTION_TARGET_FIX(const &) f, Allocator a
+#ifndef NDNBOOST_NO_SFINAE
                             ,typename enable_if_c<
                             (ndnboost::type_traits::ice_not<
                              (is_integral<Functor>::value)>::value),
                                         int>::type = 0
-#endif // BOOST_NO_SFINAE
+#endif // NDNBOOST_NO_SFINAE
                             ) :
       function_base()
     {
       this->assign_to_a(f,a);
     }
 
-#ifndef BOOST_NO_SFINAE
-    BOOST_FUNCTION_FUNCTION(clear_type*) : function_base() { }
+#ifndef NDNBOOST_NO_SFINAE
+    NDNBOOST_FUNCTION_FUNCTION(clear_type*) : function_base() { }
 #else
-    BOOST_FUNCTION_FUNCTION(int zero) : function_base()
+    NDNBOOST_FUNCTION_FUNCTION(int zero) : function_base()
     {
-      BOOST_ASSERT(zero == 0);
+      NDNBOOST_ASSERT(zero == 0);
     }
 #endif
 
-    BOOST_FUNCTION_FUNCTION(const BOOST_FUNCTION_FUNCTION& f) : function_base()
+    NDNBOOST_FUNCTION_FUNCTION(const NDNBOOST_FUNCTION_FUNCTION& f) : function_base()
     {
       this->assign_to_own(f);
     }
     
-#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
-    BOOST_FUNCTION_FUNCTION(BOOST_FUNCTION_FUNCTION&& f) : function_base()
+#ifndef NDNBOOST_NO_CXX11_RVALUE_REFERENCES
+    NDNBOOST_FUNCTION_FUNCTION(NDNBOOST_FUNCTION_FUNCTION&& f) : function_base()
     {
       this->move_assign(f);
     }
 #endif
     
-    ~BOOST_FUNCTION_FUNCTION() { clear(); }
+    ~NDNBOOST_FUNCTION_FUNCTION() { clear(); }
 
-    result_type operator()(BOOST_FUNCTION_PARMS) const
+    result_type operator()(NDNBOOST_FUNCTION_PARMS) const
     {
       if (this->empty())
         ndnboost::throw_exception(bad_function_call());
 
       return get_vtable()->invoker
-               (this->functor BOOST_FUNCTION_COMMA BOOST_FUNCTION_ARGS);
+               (this->functor NDNBOOST_FUNCTION_COMMA NDNBOOST_FUNCTION_ARGS);
     }
 
-    // The distinction between when to use BOOST_FUNCTION_FUNCTION and
+    // The distinction between when to use NDNBOOST_FUNCTION_FUNCTION and
     // when to use self_type is obnoxious. MSVC cannot handle self_type as
     // the return type of these assignment operators, but Borland C++ cannot
-    // handle BOOST_FUNCTION_FUNCTION as the type of the temporary to
+    // handle NDNBOOST_FUNCTION_FUNCTION as the type of the temporary to
     // construct.
     template<typename Functor>
-#ifndef BOOST_NO_SFINAE
+#ifndef NDNBOOST_NO_SFINAE
     typename enable_if_c<
                (ndnboost::type_traits::ice_not<
                  (is_integral<Functor>::value)>::value),
-               BOOST_FUNCTION_FUNCTION&>::type
+               NDNBOOST_FUNCTION_FUNCTION&>::type
 #else
-    BOOST_FUNCTION_FUNCTION&
+    NDNBOOST_FUNCTION_FUNCTION&
 #endif
-    operator=(Functor BOOST_FUNCTION_TARGET_FIX(const &) f)
+    operator=(Functor NDNBOOST_FUNCTION_TARGET_FIX(const &) f)
     {
       this->clear();
-      BOOST_TRY  {
+      NDNBOOST_TRY  {
         this->assign_to(f);
-      } BOOST_CATCH (...) {
+      } NDNBOOST_CATCH (...) {
         vtable = 0;
-        BOOST_RETHROW;
+        NDNBOOST_RETHROW;
       }
-      BOOST_CATCH_END
+      NDNBOOST_CATCH_END
       return *this;
     }
     template<typename Functor,typename Allocator>
-    void assign(Functor BOOST_FUNCTION_TARGET_FIX(const &) f, Allocator a)
+    void assign(Functor NDNBOOST_FUNCTION_TARGET_FIX(const &) f, Allocator a)
     {
       this->clear();
-      BOOST_TRY{
+      NDNBOOST_TRY{
         this->assign_to_a(f,a);
-      } BOOST_CATCH (...) {
+      } NDNBOOST_CATCH (...) {
         vtable = 0;
-        BOOST_RETHROW;
+        NDNBOOST_RETHROW;
       }
-      BOOST_CATCH_END
+      NDNBOOST_CATCH_END
     }
 
-#ifndef BOOST_NO_SFINAE
-    BOOST_FUNCTION_FUNCTION& operator=(clear_type*)
+#ifndef NDNBOOST_NO_SFINAE
+    NDNBOOST_FUNCTION_FUNCTION& operator=(clear_type*)
     {
       this->clear();
       return *this;
     }
 #else
-    BOOST_FUNCTION_FUNCTION& operator=(int zero)
+    NDNBOOST_FUNCTION_FUNCTION& operator=(int zero)
     {
-      BOOST_ASSERT(zero == 0);
+      NDNBOOST_ASSERT(zero == 0);
       this->clear();
       return *this;
     }
 #endif
 
-    // Assignment from another BOOST_FUNCTION_FUNCTION
-    BOOST_FUNCTION_FUNCTION& operator=(const BOOST_FUNCTION_FUNCTION& f)
+    // Assignment from another NDNBOOST_FUNCTION_FUNCTION
+    NDNBOOST_FUNCTION_FUNCTION& operator=(const NDNBOOST_FUNCTION_FUNCTION& f)
     {
       if (&f == this)
         return *this;
 
       this->clear();
-      BOOST_TRY {
+      NDNBOOST_TRY {
         this->assign_to_own(f);
-      } BOOST_CATCH (...) {
+      } NDNBOOST_CATCH (...) {
         vtable = 0;
-        BOOST_RETHROW;
+        NDNBOOST_RETHROW;
       }
-      BOOST_CATCH_END
+      NDNBOOST_CATCH_END
       return *this;
     }
     
-#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
-    // Move assignment from another BOOST_FUNCTION_FUNCTION
-    BOOST_FUNCTION_FUNCTION& operator=(BOOST_FUNCTION_FUNCTION&& f)
+#ifndef NDNBOOST_NO_CXX11_RVALUE_REFERENCES
+    // Move assignment from another NDNBOOST_FUNCTION_FUNCTION
+    NDNBOOST_FUNCTION_FUNCTION& operator=(NDNBOOST_FUNCTION_FUNCTION&& f)
     {
       
       if (&f == this)
         return *this;
 
       this->clear();
-      BOOST_TRY {
+      NDNBOOST_TRY {
         this->move_assign(f);
-      } BOOST_CATCH (...) {
+      } NDNBOOST_CATCH (...) {
         vtable = 0;
-        BOOST_RETHROW;
+        NDNBOOST_RETHROW;
       }
-      BOOST_CATCH_END
+      NDNBOOST_CATCH_END
       return *this;
     }
 #endif
 
-    void swap(BOOST_FUNCTION_FUNCTION& other)
+    void swap(NDNBOOST_FUNCTION_FUNCTION& other)
     {
       if (&other == this)
         return;
 
-      BOOST_FUNCTION_FUNCTION tmp;
+      NDNBOOST_FUNCTION_FUNCTION tmp;
       tmp.move_assign(*this);
       this->move_assign(other);
       other.move_assign(tmp);
@@ -879,7 +879,7 @@
       }
     }
 
-#if (defined __SUNPRO_CC) && (__SUNPRO_CC <= 0x530) && !(defined BOOST_NO_COMPILER_CONFIG)
+#if (defined __SUNPRO_CC) && (__SUNPRO_CC <= 0x530) && !(defined NDNBOOST_NO_COMPILER_CONFIG)
     // Sun C++ 5.3 can't handle the safe_bool idiom, so don't use it
     operator bool () const { return !this->empty(); }
 #else
@@ -899,7 +899,7 @@
 #endif
 
   private:
-    void assign_to_own(const BOOST_FUNCTION_FUNCTION& f)
+    void assign_to_own(const NDNBOOST_FUNCTION_FUNCTION& f)
     {
       if (!f.empty()) {
         this->vtable = f.vtable;
@@ -917,10 +917,10 @@
       using detail::function::vtable_base;
 
       typedef typename detail::function::get_function_tag<Functor>::type tag;
-      typedef detail::function::BOOST_FUNCTION_GET_INVOKER<tag> get_invoker;
+      typedef detail::function::NDNBOOST_FUNCTION_GET_INVOKER<tag> get_invoker;
       typedef typename get_invoker::
-                         template apply<Functor, R BOOST_FUNCTION_COMMA 
-                        BOOST_FUNCTION_TEMPLATE_ARGS>
+                         template apply<Functor, R NDNBOOST_FUNCTION_COMMA 
+                        NDNBOOST_FUNCTION_TEMPLATE_ARGS>
         handler_type;
       
       typedef typename handler_type::invoker_type invoker_type;
@@ -950,10 +950,10 @@
       using detail::function::vtable_base;
 
       typedef typename detail::function::get_function_tag<Functor>::type tag;
-      typedef detail::function::BOOST_FUNCTION_GET_INVOKER<tag> get_invoker;
+      typedef detail::function::NDNBOOST_FUNCTION_GET_INVOKER<tag> get_invoker;
       typedef typename get_invoker::
-                         template apply_a<Functor, R BOOST_FUNCTION_COMMA 
-                         BOOST_FUNCTION_TEMPLATE_ARGS,
+                         template apply_a<Functor, R NDNBOOST_FUNCTION_COMMA 
+                         NDNBOOST_FUNCTION_TEMPLATE_ARGS,
                          Allocator>
         handler_type;
       
@@ -981,12 +981,12 @@
     // Moves the value from the specified argument to *this. If the argument 
     // has its function object allocated on the heap, move_assign will pass 
     // its buffer to *this, and set the argument's buffer pointer to NULL. 
-    void move_assign(BOOST_FUNCTION_FUNCTION& f) 
+    void move_assign(NDNBOOST_FUNCTION_FUNCTION& f) 
     { 
       if (&f == this)
         return;
 
-      BOOST_TRY {
+      NDNBOOST_TRY {
         if (!f.empty()) {
           this->vtable = f.vtable;
           if (this->has_trivial_copy_and_destroy())
@@ -998,57 +998,57 @@
         } else {
           clear();
         }
-      } BOOST_CATCH (...) {
+      } NDNBOOST_CATCH (...) {
         vtable = 0;
-        BOOST_RETHROW;
+        NDNBOOST_RETHROW;
       }
-      BOOST_CATCH_END
+      NDNBOOST_CATCH_END
     }
   };
 
-  template<typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS>
-  inline void swap(BOOST_FUNCTION_FUNCTION<
-                     R BOOST_FUNCTION_COMMA
-                     BOOST_FUNCTION_TEMPLATE_ARGS
+  template<typename R NDNBOOST_FUNCTION_COMMA NDNBOOST_FUNCTION_TEMPLATE_PARMS>
+  inline void swap(NDNBOOST_FUNCTION_FUNCTION<
+                     R NDNBOOST_FUNCTION_COMMA
+                     NDNBOOST_FUNCTION_TEMPLATE_ARGS
                    >& f1,
-                   BOOST_FUNCTION_FUNCTION<
-                     R BOOST_FUNCTION_COMMA
-                     BOOST_FUNCTION_TEMPLATE_ARGS
+                   NDNBOOST_FUNCTION_FUNCTION<
+                     R NDNBOOST_FUNCTION_COMMA
+                     NDNBOOST_FUNCTION_TEMPLATE_ARGS
                    >& f2)
   {
     f1.swap(f2);
   }
 
 // Poison comparisons between ndnboost::function objects of the same type.
-template<typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS>
-  void operator==(const BOOST_FUNCTION_FUNCTION<
-                          R BOOST_FUNCTION_COMMA
-                          BOOST_FUNCTION_TEMPLATE_ARGS>&,
-                  const BOOST_FUNCTION_FUNCTION<
-                          R BOOST_FUNCTION_COMMA
-                          BOOST_FUNCTION_TEMPLATE_ARGS>&);
-template<typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS>
-  void operator!=(const BOOST_FUNCTION_FUNCTION<
-                          R BOOST_FUNCTION_COMMA
-                          BOOST_FUNCTION_TEMPLATE_ARGS>&,
-                  const BOOST_FUNCTION_FUNCTION<
-                          R BOOST_FUNCTION_COMMA
-                          BOOST_FUNCTION_TEMPLATE_ARGS>& );
+template<typename R NDNBOOST_FUNCTION_COMMA NDNBOOST_FUNCTION_TEMPLATE_PARMS>
+  void operator==(const NDNBOOST_FUNCTION_FUNCTION<
+                          R NDNBOOST_FUNCTION_COMMA
+                          NDNBOOST_FUNCTION_TEMPLATE_ARGS>&,
+                  const NDNBOOST_FUNCTION_FUNCTION<
+                          R NDNBOOST_FUNCTION_COMMA
+                          NDNBOOST_FUNCTION_TEMPLATE_ARGS>&);
+template<typename R NDNBOOST_FUNCTION_COMMA NDNBOOST_FUNCTION_TEMPLATE_PARMS>
+  void operator!=(const NDNBOOST_FUNCTION_FUNCTION<
+                          R NDNBOOST_FUNCTION_COMMA
+                          NDNBOOST_FUNCTION_TEMPLATE_ARGS>&,
+                  const NDNBOOST_FUNCTION_FUNCTION<
+                          R NDNBOOST_FUNCTION_COMMA
+                          NDNBOOST_FUNCTION_TEMPLATE_ARGS>& );
 
-#if !defined(BOOST_FUNCTION_NO_FUNCTION_TYPE_SYNTAX)
+#if !defined(NDNBOOST_FUNCTION_NO_FUNCTION_TYPE_SYNTAX)
 
-#if BOOST_FUNCTION_NUM_ARGS == 0
-#define BOOST_FUNCTION_PARTIAL_SPEC R (void)
+#if NDNBOOST_FUNCTION_NUM_ARGS == 0
+#define NDNBOOST_FUNCTION_PARTIAL_SPEC R (void)
 #else
-#define BOOST_FUNCTION_PARTIAL_SPEC R (BOOST_PP_ENUM_PARAMS(BOOST_FUNCTION_NUM_ARGS,T))
+#define NDNBOOST_FUNCTION_PARTIAL_SPEC R (NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_FUNCTION_NUM_ARGS,T))
 #endif
 
-template<typename R BOOST_FUNCTION_COMMA
-         BOOST_FUNCTION_TEMPLATE_PARMS>
-class function<BOOST_FUNCTION_PARTIAL_SPEC>
-  : public BOOST_FUNCTION_FUNCTION<R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_ARGS>
+template<typename R NDNBOOST_FUNCTION_COMMA
+         NDNBOOST_FUNCTION_TEMPLATE_PARMS>
+class function<NDNBOOST_FUNCTION_PARTIAL_SPEC>
+  : public NDNBOOST_FUNCTION_FUNCTION<R NDNBOOST_FUNCTION_COMMA NDNBOOST_FUNCTION_TEMPLATE_ARGS>
 {
-  typedef BOOST_FUNCTION_FUNCTION<R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_ARGS> base_type;
+  typedef NDNBOOST_FUNCTION_FUNCTION<R NDNBOOST_FUNCTION_COMMA NDNBOOST_FUNCTION_TEMPLATE_ARGS> base_type;
   typedef function self_type;
 
   struct clear_type {};
@@ -1059,7 +1059,7 @@
 
   template<typename Functor>
   function(Functor f
-#ifndef BOOST_NO_SFINAE
+#ifndef NDNBOOST_NO_SFINAE
            ,typename enable_if_c<
                             (ndnboost::type_traits::ice_not<
                           (is_integral<Functor>::value)>::value),
@@ -1071,7 +1071,7 @@
   }
   template<typename Functor,typename Allocator>
   function(Functor f, Allocator a
-#ifndef BOOST_NO_SFINAE
+#ifndef NDNBOOST_NO_SFINAE
            ,typename enable_if_c<
                             (ndnboost::type_traits::ice_not<
                           (is_integral<Functor>::value)>::value),
@@ -1082,7 +1082,7 @@
   {
   }
 
-#ifndef BOOST_NO_SFINAE
+#ifndef NDNBOOST_NO_SFINAE
   function(clear_type*) : base_type() {}
 #endif
 
@@ -1090,7 +1090,7 @@
 
   function(const base_type& f) : base_type(static_cast<const base_type&>(f)){}
 
-#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
+#ifndef NDNBOOST_NO_CXX11_RVALUE_REFERENCES
   // Move constructors
   function(self_type&& f): base_type(static_cast<base_type&&>(f)){}
   function(base_type&& f): base_type(static_cast<base_type&&>(f)){}
@@ -1102,7 +1102,7 @@
     return *this;
   }
 
-#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
+#ifndef NDNBOOST_NO_CXX11_RVALUE_REFERENCES
   self_type& operator=(self_type&& f)
   {
     self_type(static_cast<self_type&&>(f)).swap(*this);
@@ -1111,7 +1111,7 @@
 #endif  
 
   template<typename Functor>
-#ifndef BOOST_NO_SFINAE
+#ifndef NDNBOOST_NO_SFINAE
   typename enable_if_c<
                             (ndnboost::type_traits::ice_not<
                          (is_integral<Functor>::value)>::value),
@@ -1125,7 +1125,7 @@
     return *this;
   }
 
-#ifndef BOOST_NO_SFINAE
+#ifndef NDNBOOST_NO_SFINAE
   self_type& operator=(clear_type*)
   {
     this->clear();
@@ -1139,7 +1139,7 @@
     return *this;
   }
   
-#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
+#ifndef NDNBOOST_NO_CXX11_RVALUE_REFERENCES
   self_type& operator=(base_type&& f)
   {
     self_type(static_cast<base_type&&>(f)).swap(*this);
@@ -1148,38 +1148,38 @@
 #endif 
 };
 
-#undef BOOST_FUNCTION_PARTIAL_SPEC
+#undef NDNBOOST_FUNCTION_PARTIAL_SPEC
 #endif // have partial specialization
 
 } // end namespace ndnboost
 
 // Cleanup after ourselves...
-#undef BOOST_FUNCTION_VTABLE
-#undef BOOST_FUNCTION_COMMA
-#undef BOOST_FUNCTION_FUNCTION
-#undef BOOST_FUNCTION_FUNCTION_INVOKER
-#undef BOOST_FUNCTION_VOID_FUNCTION_INVOKER
-#undef BOOST_FUNCTION_FUNCTION_OBJ_INVOKER
-#undef BOOST_FUNCTION_VOID_FUNCTION_OBJ_INVOKER
-#undef BOOST_FUNCTION_FUNCTION_REF_INVOKER
-#undef BOOST_FUNCTION_VOID_FUNCTION_REF_INVOKER
-#undef BOOST_FUNCTION_MEMBER_INVOKER
-#undef BOOST_FUNCTION_VOID_MEMBER_INVOKER
-#undef BOOST_FUNCTION_GET_FUNCTION_INVOKER
-#undef BOOST_FUNCTION_GET_FUNCTION_OBJ_INVOKER
-#undef BOOST_FUNCTION_GET_FUNCTION_REF_INVOKER
-#undef BOOST_FUNCTION_GET_MEM_FUNCTION_INVOKER
-#undef BOOST_FUNCTION_GET_INVOKER
-#undef BOOST_FUNCTION_TEMPLATE_PARMS
-#undef BOOST_FUNCTION_TEMPLATE_ARGS
-#undef BOOST_FUNCTION_PARMS
-#undef BOOST_FUNCTION_PARM
-#undef BOOST_FUNCTION_ARGS
-#undef BOOST_FUNCTION_ARG_TYPE
-#undef BOOST_FUNCTION_ARG_TYPES
-#undef BOOST_FUNCTION_VOID_RETURN_TYPE
-#undef BOOST_FUNCTION_RETURN
+#undef NDNBOOST_FUNCTION_VTABLE
+#undef NDNBOOST_FUNCTION_COMMA
+#undef NDNBOOST_FUNCTION_FUNCTION
+#undef NDNBOOST_FUNCTION_FUNCTION_INVOKER
+#undef NDNBOOST_FUNCTION_VOID_FUNCTION_INVOKER
+#undef NDNBOOST_FUNCTION_FUNCTION_OBJ_INVOKER
+#undef NDNBOOST_FUNCTION_VOID_FUNCTION_OBJ_INVOKER
+#undef NDNBOOST_FUNCTION_FUNCTION_REF_INVOKER
+#undef NDNBOOST_FUNCTION_VOID_FUNCTION_REF_INVOKER
+#undef NDNBOOST_FUNCTION_MEMBER_INVOKER
+#undef NDNBOOST_FUNCTION_VOID_MEMBER_INVOKER
+#undef NDNBOOST_FUNCTION_GET_FUNCTION_INVOKER
+#undef NDNBOOST_FUNCTION_GET_FUNCTION_OBJ_INVOKER
+#undef NDNBOOST_FUNCTION_GET_FUNCTION_REF_INVOKER
+#undef NDNBOOST_FUNCTION_GET_MEM_FUNCTION_INVOKER
+#undef NDNBOOST_FUNCTION_GET_INVOKER
+#undef NDNBOOST_FUNCTION_TEMPLATE_PARMS
+#undef NDNBOOST_FUNCTION_TEMPLATE_ARGS
+#undef NDNBOOST_FUNCTION_PARMS
+#undef NDNBOOST_FUNCTION_PARM
+#undef NDNBOOST_FUNCTION_ARGS
+#undef NDNBOOST_FUNCTION_ARG_TYPE
+#undef NDNBOOST_FUNCTION_ARG_TYPES
+#undef NDNBOOST_FUNCTION_VOID_RETURN_TYPE
+#undef NDNBOOST_FUNCTION_RETURN
 
-#if defined(BOOST_MSVC)
+#if defined(NDNBOOST_MSVC)
 #   pragma warning( pop )
 #endif       
diff --git a/include/ndnboost/function/function_typeof.hpp b/include/ndnboost/function/function_typeof.hpp
index e3d26c5..3dc0744 100644
--- a/include/ndnboost/function/function_typeof.hpp
+++ b/include/ndnboost/function/function_typeof.hpp
@@ -6,40 +6,40 @@
 //  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 //
 // For more information, see http://www.boost.org
-#ifndef BOOST_FUNCTION_TYPEOF_HPP
-#define BOOST_FUNCTION_TYPEOF_HPP
+#ifndef NDNBOOST_FUNCTION_TYPEOF_HPP
+#define NDNBOOST_FUNCTION_TYPEOF_HPP
 #include <ndnboost/function/function_fwd.hpp>
 #include <ndnboost/typeof/typeof.hpp>
 
-#include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()
+#include NDNBOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()
 
-BOOST_TYPEOF_REGISTER_TYPE(ndnboost::bad_function_call)
+NDNBOOST_TYPEOF_REGISTER_TYPE(ndnboost::bad_function_call)
 
-#if !defined(BOOST_FUNCTION_NO_FUNCTION_TYPE_SYNTAX)
-BOOST_TYPEOF_REGISTER_TEMPLATE(ndnboost::function, (typename))
+#if !defined(NDNBOOST_FUNCTION_NO_FUNCTION_TYPE_SYNTAX)
+NDNBOOST_TYPEOF_REGISTER_TEMPLATE(ndnboost::function, (typename))
 #endif
 
-BOOST_TYPEOF_REGISTER_TEMPLATE(ndnboost::function0, (typename))
-BOOST_TYPEOF_REGISTER_TEMPLATE(ndnboost::function1, (typename)(typename))
-BOOST_TYPEOF_REGISTER_TEMPLATE(ndnboost::function2, (typename)(typename)(typename))
-BOOST_TYPEOF_REGISTER_TEMPLATE(ndnboost::function3, 
+NDNBOOST_TYPEOF_REGISTER_TEMPLATE(ndnboost::function0, (typename))
+NDNBOOST_TYPEOF_REGISTER_TEMPLATE(ndnboost::function1, (typename)(typename))
+NDNBOOST_TYPEOF_REGISTER_TEMPLATE(ndnboost::function2, (typename)(typename)(typename))
+NDNBOOST_TYPEOF_REGISTER_TEMPLATE(ndnboost::function3, 
   (typename)(typename)(typename)(typename))
-BOOST_TYPEOF_REGISTER_TEMPLATE(ndnboost::function4, 
+NDNBOOST_TYPEOF_REGISTER_TEMPLATE(ndnboost::function4, 
   (typename)(typename)(typename)(typename)(typename))
-BOOST_TYPEOF_REGISTER_TEMPLATE(ndnboost::function5, 
+NDNBOOST_TYPEOF_REGISTER_TEMPLATE(ndnboost::function5, 
   (typename)(typename)(typename)(typename)(typename)(typename))
-BOOST_TYPEOF_REGISTER_TEMPLATE(ndnboost::function6, 
+NDNBOOST_TYPEOF_REGISTER_TEMPLATE(ndnboost::function6, 
   (typename)(typename)(typename)(typename)(typename)(typename)(typename))
-BOOST_TYPEOF_REGISTER_TEMPLATE(ndnboost::function7, 
+NDNBOOST_TYPEOF_REGISTER_TEMPLATE(ndnboost::function7, 
   (typename)(typename)(typename)(typename)(typename)(typename)(typename)
   (typename))
-BOOST_TYPEOF_REGISTER_TEMPLATE(ndnboost::function8, 
+NDNBOOST_TYPEOF_REGISTER_TEMPLATE(ndnboost::function8, 
   (typename)(typename)(typename)(typename)(typename)(typename)(typename)
   (typename)(typename))
-BOOST_TYPEOF_REGISTER_TEMPLATE(ndnboost::function9, 
+NDNBOOST_TYPEOF_REGISTER_TEMPLATE(ndnboost::function9, 
   (typename)(typename)(typename)(typename)(typename)(typename)(typename)
   (typename)(typename)(typename))
-BOOST_TYPEOF_REGISTER_TEMPLATE(ndnboost::function10, 
+NDNBOOST_TYPEOF_REGISTER_TEMPLATE(ndnboost::function10, 
   (typename)(typename)(typename)(typename)(typename)(typename)(typename)
   (typename)(typename)(typename)(typename))
 #endif
diff --git a/include/ndnboost/function/gen_function_N.pl b/include/ndnboost/function/gen_function_N.pl
index 7fc53c9..c3f4401 100644
--- a/include/ndnboost/function/gen_function_N.pl
+++ b/include/ndnboost/function/gen_function_N.pl
@@ -19,8 +19,8 @@
 $totalNumArgs = $ARGV[0];
 for ($numArgs = 0; $numArgs <= $totalNumArgs; ++$numArgs) {
   open OUT, ">function$numArgs.hpp";
-  print OUT "#define BOOST_FUNCTION_NUM_ARGS $numArgs\n";
+  print OUT "#define NDNBOOST_FUNCTION_NUM_ARGS $numArgs\n";
   print OUT "#include <ndnboost/function/detail/maybe_include.hpp>\n";
-  print OUT "#undef BOOST_FUNCTION_NUM_ARGS\n";
+  print OUT "#undef NDNBOOST_FUNCTION_NUM_ARGS\n";
   close OUT;
 }
diff --git a/include/ndnboost/function_equal.hpp b/include/ndnboost/function_equal.hpp
index c492d56..43e612c 100644
--- a/include/ndnboost/function_equal.hpp
+++ b/include/ndnboost/function_equal.hpp
@@ -7,8 +7,8 @@
 //  http://www.boost.org/LICENSE_1_0.txt)
 
 // For more information, see http://www.boost.org
-#ifndef BOOST_FUNCTION_EQUAL_HPP
-#define BOOST_FUNCTION_EQUAL_HPP
+#ifndef NDNBOOST_FUNCTION_EQUAL_HPP
+#define NDNBOOST_FUNCTION_EQUAL_HPP
 
 namespace ndnboost {
 
@@ -25,4 +25,4 @@
 
 } // end namespace ndnboost
 
-#endif // BOOST_FUNCTION_EQUAL_HPP
+#endif // NDNBOOST_FUNCTION_EQUAL_HPP
diff --git a/include/ndnboost/function_types/components.hpp b/include/ndnboost/function_types/components.hpp
index 6c4d43a..6fec107 100644
--- a/include/ndnboost/function_types/components.hpp
+++ b/include/ndnboost/function_types/components.hpp
@@ -6,8 +6,8 @@
 
 //------------------------------------------------------------------------------
 
-#ifndef BOOST_FT_COMPONENTS_HPP_INCLUDED
-#define BOOST_FT_COMPONENTS_HPP_INCLUDED
+#ifndef NDNBOOST_FT_COMPONENTS_HPP_INCLUDED
+#define NDNBOOST_FT_COMPONENTS_HPP_INCLUDED
 
 #include <cstddef>
 
@@ -23,7 +23,7 @@
 #include <ndnboost/mpl/integral_c.hpp>
 #include <ndnboost/mpl/vector/vector0.hpp>
 
-#if BOOST_WORKAROUND(__BORLANDC__, <= 0x565)
+#if NDNBOOST_WORKAROUND(__BORLANDC__, <= 0x565)
 #   include <ndnboost/type_traits/remove_cv.hpp>
 
 #   include <ndnboost/mpl/identity.hpp>
@@ -41,22 +41,22 @@
 #   include <ndnboost/function_types/detail/classifier.hpp>
 #endif
 
-#ifndef BOOST_FT_NO_CV_FUNC_SUPPORT
+#ifndef NDNBOOST_FT_NO_CV_FUNC_SUPPORT
 #   include <ndnboost/mpl/remove.hpp>
 #endif
 
 #include <ndnboost/function_types/config/config.hpp>
 
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-#   if   BOOST_FT_MAX_ARITY < 10
+#ifndef NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#   if   NDNBOOST_FT_MAX_ARITY < 10
 #     include <ndnboost/mpl/vector/vector10.hpp>
-#   elif BOOST_FT_MAX_ARITY < 20
+#   elif NDNBOOST_FT_MAX_ARITY < 20
 #     include <ndnboost/mpl/vector/vector20.hpp>
-#   elif BOOST_FT_MAX_ARITY < 30
+#   elif NDNBOOST_FT_MAX_ARITY < 30
 #     include <ndnboost/mpl/vector/vector30.hpp>
-#   elif BOOST_FT_MAX_ARITY < 40
+#   elif NDNBOOST_FT_MAX_ARITY < 40
 #     include <ndnboost/mpl/vector/vector40.hpp>
-#   elif BOOST_FT_MAX_ARITY < 50
+#   elif NDNBOOST_FT_MAX_ARITY < 50
 #     include <ndnboost/mpl/vector/vector50.hpp>
 #   endif
 #else
@@ -81,14 +81,14 @@
     namespace detail 
     {
       template<typename T, typename L> struct components_impl;
-#if BOOST_WORKAROUND(__BORLANDC__, <= 0x565)
+#if NDNBOOST_WORKAROUND(__BORLANDC__, <= 0x565)
       template<typename T, typename OrigT, typename L> struct components_bcc;
 #endif
     }
 
     template<typename T, typename ClassTypeTransform> 
     struct components
-#if !BOOST_WORKAROUND(__BORLANDC__, <= 0x565)
+#if !NDNBOOST_WORKAROUND(__BORLANDC__, <= 0x565)
       : detail::components_impl<T, ClassTypeTransform>
 #else
       : detail::components_bcc<typename remove_cv<T>::type,T,
@@ -97,7 +97,7 @@
     { 
       typedef components<T,ClassTypeTransform> type;
 
-      BOOST_MPL_AUX_LAMBDA_SUPPORT(2,components,(T,ClassTypeTransform))
+      NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2,components,(T,ClassTypeTransform))
     };
 
 // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
@@ -148,7 +148,7 @@
         , pointer_tag, /* --> */ reference_tag >
     { };
 
-#if !BOOST_FT_NO_CV_FUNC_SUPPORT
+#if !NDNBOOST_FT_NO_CV_FUNC_SUPPORT
     // Retry the type with a member pointer attached to detect cv functions
     class a_class;
 
@@ -260,8 +260,8 @@
           typename detail::class_transform<C,L>::type > types;
     };
 
-#if !BOOST_WORKAROUND(__BORLANDC__, <= 0x565)
-#   define BOOST_FT_variations BOOST_FT_pointer|BOOST_FT_member_pointer
+#if !NDNBOOST_WORKAROUND(__BORLANDC__, <= 0x565)
+#   define NDNBOOST_FT_variations NDNBOOST_FT_pointer|NDNBOOST_FT_member_pointer
 
     template<typename T, class C, typename L>
     struct components_impl<T C::*, L>
@@ -269,7 +269,7 @@
     { };
 
 #else  
-#   define BOOST_FT_variations BOOST_FT_pointer
+#   define NDNBOOST_FT_variations NDNBOOST_FT_pointer
 
     // This workaround removes the member pointer from the type to allow 
     // detection of member function pointers with BCC. 
@@ -288,13 +288,13 @@
     // we remove the qualifiers, So we cannot exploit the same bug to make the 
     // library work for cv-qualified function types).
     template<typename T> struct encode_cv
-    { typedef char (& type)[1]; BOOST_STATIC_CONSTANT(std::size_t, value = 1); };
+    { typedef char (& type)[1]; NDNBOOST_STATIC_CONSTANT(std::size_t, value = 1); };
     template<typename T> struct encode_cv<T const *>
-    { typedef char (& type)[2]; BOOST_STATIC_CONSTANT(std::size_t, value = 2); };
+    { typedef char (& type)[2]; NDNBOOST_STATIC_CONSTANT(std::size_t, value = 2); };
     template<typename T> struct encode_cv<T volatile *>
-    { typedef char (& type)[3]; BOOST_STATIC_CONSTANT(std::size_t, value = 3); };
+    { typedef char (& type)[3]; NDNBOOST_STATIC_CONSTANT(std::size_t, value = 3); };
     template<typename T> struct encode_cv<T const volatile *> 
-    { typedef char (& type)[4]; BOOST_STATIC_CONSTANT(std::size_t, value = 4); };
+    { typedef char (& type)[4]; NDNBOOST_STATIC_CONSTANT(std::size_t, value = 4); };
 
     // For member function pointers we have to use a function template (partial
     // template specialization for a member pointer drops the cv qualification 
@@ -304,7 +304,7 @@
 
     template<typename T> struct encode_mfp_cv
     { 
-      BOOST_STATIC_CONSTANT(std::size_t, value = 
+      NDNBOOST_STATIC_CONSTANT(std::size_t, value = 
           sizeof(detail::mfp_cv_tester((T)0L))); 
     };
 
@@ -415,12 +415,12 @@
 
 #endif // end of BORLAND WORKAROUND
 
-#define BOOST_FT_al_path ndnboost/function_types/detail/components_impl
+#define NDNBOOST_FT_al_path ndnboost/function_types/detail/components_impl
 #include <ndnboost/function_types/detail/pp_loop.hpp>
 
   } } // namespace function_types::detail
 
-  BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(2,function_types::components)
+  NDNBOOST_TT_AUX_TEMPLATE_ARITY_SPEC(2,function_types::components)
 
 } // namespace ::boost
 
diff --git a/include/ndnboost/function_types/config/cc_names.hpp b/include/ndnboost/function_types/config/cc_names.hpp
index ab69d64..8620a0a 100644
--- a/include/ndnboost/function_types/config/cc_names.hpp
+++ b/include/ndnboost/function_types/config/cc_names.hpp
@@ -6,25 +6,25 @@
 
 //------------------------------------------------------------------------------
 
-#ifndef BOOST_FT_CONFIG_CC_NAMES_HPP_INCLUDED
-#define BOOST_FT_CONFIG_CC_NAMES_HPP_INCLUDED
+#ifndef NDNBOOST_FT_CONFIG_CC_NAMES_HPP_INCLUDED
+#define NDNBOOST_FT_CONFIG_CC_NAMES_HPP_INCLUDED
 
-#define BOOST_FT_BUILTIN_CC_NAMES \
-  (( IMPLICIT           , implicit_cc , BOOST_PP_EMPTY                ))\
-  (( CDECL              , cdecl_cc    , BOOST_PP_IDENTITY(__cdecl   ) ))\
-  (( STDCALL            , stdcall_cc  , BOOST_PP_IDENTITY(__stdcall ) ))\
-  (( PASCAL             , pascal_cc   , BOOST_PP_IDENTITY(pascal    ) ))\
-  (( FASTCALL           , fastcall_cc , BOOST_PP_IDENTITY(__fastcall) ))\
-  (( CLRCALL            , clrcall_cc  , BOOST_PP_IDENTITY(__clrcall ) ))\
-  (( THISCALL           , thiscall_cc , BOOST_PP_IDENTITY(__thiscall) ))\
-  (( IMPLICIT_THISCALL  , thiscall_cc , BOOST_PP_EMPTY                )) 
+#define NDNBOOST_FT_BUILTIN_CC_NAMES \
+  (( IMPLICIT           , implicit_cc , NDNBOOST_PP_EMPTY                ))\
+  (( CDECL              , cdecl_cc    , NDNBOOST_PP_IDENTITY(__cdecl   ) ))\
+  (( STDCALL            , stdcall_cc  , NDNBOOST_PP_IDENTITY(__stdcall ) ))\
+  (( PASCAL             , pascal_cc   , NDNBOOST_PP_IDENTITY(pascal    ) ))\
+  (( FASTCALL           , fastcall_cc , NDNBOOST_PP_IDENTITY(__fastcall) ))\
+  (( CLRCALL            , clrcall_cc  , NDNBOOST_PP_IDENTITY(__clrcall ) ))\
+  (( THISCALL           , thiscall_cc , NDNBOOST_PP_IDENTITY(__thiscall) ))\
+  (( IMPLICIT_THISCALL  , thiscall_cc , NDNBOOST_PP_EMPTY                )) 
 
 // append user-defined cc names to builtin ones
-#ifdef BOOST_FT_CC_NAMES 
-#   define BOOST_FT_CC_NAMES_SEQ BOOST_FT_BUILTIN_CC_NAMES BOOST_FT_CC_NAMES
-#   define BOOST_FT_CC_PREPROCESSING 1
+#ifdef NDNBOOST_FT_CC_NAMES 
+#   define NDNBOOST_FT_CC_NAMES_SEQ NDNBOOST_FT_BUILTIN_CC_NAMES NDNBOOST_FT_CC_NAMES
+#   define NDNBOOST_FT_CC_PREPROCESSING 1
 #else
-#   define BOOST_FT_CC_NAMES_SEQ BOOST_FT_BUILTIN_CC_NAMES
+#   define NDNBOOST_FT_CC_NAMES_SEQ NDNBOOST_FT_BUILTIN_CC_NAMES
 #endif
 
 #endif
diff --git a/include/ndnboost/function_types/config/compiler.hpp b/include/ndnboost/function_types/config/compiler.hpp
index 9b06d18..87170a1 100644
--- a/include/ndnboost/function_types/config/compiler.hpp
+++ b/include/ndnboost/function_types/config/compiler.hpp
@@ -6,87 +6,87 @@
 
 //------------------------------------------------------------------------------
 
-#ifndef BOOST_FT_CONFIG_COMPILER_HPP_INCLUDED
-#define BOOST_FT_CONFIG_COMPILER_HPP_INCLUDED
+#ifndef NDNBOOST_FT_CONFIG_COMPILER_HPP_INCLUDED
+#define NDNBOOST_FT_CONFIG_COMPILER_HPP_INCLUDED
 
 #include <ndnboost/config.hpp>
 #include <ndnboost/detail/workaround.hpp>
 
-#if defined(BOOST_MSVC)
+#if defined(NDNBOOST_MSVC)
 
-#   if BOOST_MSVC < 1310
+#   if NDNBOOST_MSVC < 1310
 #     error "unsupported compiler version"
 #   endif
 
-#   ifdef BOOST_FT_AUTODETECT_CALLING_CONVENTIONS
+#   ifdef NDNBOOST_FT_AUTODETECT_CALLING_CONVENTIONS
 
       // enable clrcall calling covention (call to .NET managed code) when
       // compiling with /clr 
-#     if BOOST_MSVC >= 1400 && defined(__cplusplus_cli)
-#       ifndef BOOST_FT_CC_CLRCALL
-#       define BOOST_FT_CC_CLRCALL callable_builtin
+#     if NDNBOOST_MSVC >= 1400 && defined(__cplusplus_cli)
+#       ifndef NDNBOOST_FT_CC_CLRCALL
+#       define NDNBOOST_FT_CC_CLRCALL callable_builtin
 #       endif
 #     endif
 
       // Intel x86 architecture specific calling conventions
 #     ifdef _M_IX86
-#       define BOOST_FT_COMMON_X86_CCs callable_builtin
-#       if BOOST_MSVC < 1400
+#       define NDNBOOST_FT_COMMON_X86_CCs callable_builtin
+#       if NDNBOOST_MSVC < 1400
           // version 7.1 is missing a keyword to specify the thiscall cc ...
-#         ifndef BOOST_FT_CC_IMPLICIT_THISCALL
-#         define BOOST_FT_CC_IMPLICIT_THISCALL non_variadic|member|callable_builtin
-#         ifndef BOOST_FT_CONFIG_OK
+#         ifndef NDNBOOST_FT_CC_IMPLICIT_THISCALL
+#         define NDNBOOST_FT_CC_IMPLICIT_THISCALL non_variadic|member|callable_builtin
+#         ifndef NDNBOOST_FT_CONFIG_OK
 #           pragma message("INFO| /Gd /Gr /Gz will compiler options will cause")
 #           pragma message("INFO| a compile error.")
 #           pragma message("INFO| Reconfigure Boost.FunctionTypes in this case.")
 #           pragma message("INFO| This message can be suppressed by defining")
-#           pragma message("INFO| BOOST_FT_CONFIG_OK.")
+#           pragma message("INFO| NDNBOOST_FT_CONFIG_OK.")
 #         endif
 #         endif
 #       else 
           // ...introduced in version 8
-#         ifndef BOOST_FT_CC_THISCALL
-#         define BOOST_FT_CC_THISCALL non_variadic|member|callable_builtin
+#         ifndef NDNBOOST_FT_CC_THISCALL
+#         define NDNBOOST_FT_CC_THISCALL non_variadic|member|callable_builtin
 #         endif
 #       endif
 #     endif
 #   endif
 
-#elif defined(__GNUC__) && !defined(BOOST_INTEL_LINUX)
+#elif defined(__GNUC__) && !defined(NDNBOOST_INTEL_LINUX)
 
 #   if __GNUC__ < 3
 #     error "unsupported compiler version"
 #   endif
 
-#   ifdef BOOST_FT_AUTODETECT_CALLING_CONVENTIONS
+#   ifdef NDNBOOST_FT_AUTODETECT_CALLING_CONVENTIONS
 
 #     if defined(__i386__)
 #       // see http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20439
 #       // see http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29328
-#       if BOOST_WORKAROUND(__GNUC__,BOOST_TESTED_AT(4))
-#         ifndef BOOST_FT_CC_IMPLICIT 
-#         define BOOST_FT_CC_IMPLICIT member|callable_builtin
+#       if NDNBOOST_WORKAROUND(__GNUC__,NDNBOOST_TESTED_AT(4))
+#         ifndef NDNBOOST_FT_CC_IMPLICIT 
+#         define NDNBOOST_FT_CC_IMPLICIT member|callable_builtin
 #         endif
-#         define BOOST_FT_COMMON_X86_CCs non_member|callable_builtin
+#         define NDNBOOST_FT_COMMON_X86_CCs non_member|callable_builtin
 #       else
-#         define BOOST_FT_COMMON_X86_CCs callable_builtin
+#         define NDNBOOST_FT_COMMON_X86_CCs callable_builtin
 #       endif
 #     else
-#       ifndef BOOST_FT_CC_IMPLICIT
-#       define BOOST_FT_CC_IMPLICIT callable_builtin
+#       ifndef NDNBOOST_FT_CC_IMPLICIT
+#       define NDNBOOST_FT_CC_IMPLICIT callable_builtin
 #       endif
 #     endif
 #   endif
 
-#   if (defined(BOOST_FT_CC_CDECL) || defined(BOOST_FT_COMMON_X86_CCs)) \
+#   if (defined(NDNBOOST_FT_CC_CDECL) || defined(NDNBOOST_FT_COMMON_X86_CCs)) \
         && !defined(__cdecl)
 #     define __cdecl __attribute__((__cdecl__))
 #   endif
-#   if (defined(BOOST_FT_CC_STDCALL) || defined(BOOST_FT_COMMON_X86_CCs)) \
+#   if (defined(NDNBOOST_FT_CC_STDCALL) || defined(NDNBOOST_FT_COMMON_X86_CCs)) \
         && !defined(__stdcall)
 #     define __stdcall __attribute__((__stdcall__))
 #   endif
-#   if (defined(BOOST_FT_CC_FASTCALL) || defined(BOOST_FT_COMMON_X86_CCs)) \
+#   if (defined(NDNBOOST_FT_CC_FASTCALL) || defined(NDNBOOST_FT_COMMON_X86_CCs)) \
         && !defined(__fastcall)
 #     define __fastcall __attribute__((__fastcall__))
 #   endif
@@ -99,16 +99,16 @@
 #     pragma message("WARNING: library untested with this compiler version")
 #   endif
 
-#   ifdef BOOST_FT_AUTODETECT_CALLING_CONVENTIONS
-#     define BOOST_FT_COMMON_X86_CCs callable_builtin
+#   ifdef NDNBOOST_FT_AUTODETECT_CALLING_CONVENTIONS
+#     define NDNBOOST_FT_COMMON_X86_CCs callable_builtin
 #   endif
 
     // syntactic specialities of cc specifier
-#   define BOOST_FT_SYNTAX(result,lparen,cc_spec,type_mod,name,rparen) \
+#   define NDNBOOST_FT_SYNTAX(result,lparen,cc_spec,type_mod,name,rparen) \
                         result() cc_spec() lparen() type_mod() name() rparen()
 #else
     // only enable default calling convention
-#   define BOOST_FT_CC_IMPLICIT callable_builtin
+#   define NDNBOOST_FT_CC_IMPLICIT callable_builtin
 #endif
 
 
diff --git a/include/ndnboost/function_types/config/config.hpp b/include/ndnboost/function_types/config/config.hpp
index fb428a4..5e85532 100644
--- a/include/ndnboost/function_types/config/config.hpp
+++ b/include/ndnboost/function_types/config/config.hpp
@@ -6,53 +6,53 @@
 
 //------------------------------------------------------------------------------
 
-#ifndef BOOST_FT_CONFIG_HPP_INCLUDED
-#define BOOST_FT_CONFIG_HPP_INCLUDED
+#ifndef NDNBOOST_FT_CONFIG_HPP_INCLUDED
+#define NDNBOOST_FT_CONFIG_HPP_INCLUDED
 
 #include <ndnboost/function_types/config/compiler.hpp>
 #include <ndnboost/function_types/config/cc_names.hpp>
 
 // maximum allowed arity
-#ifndef BOOST_FT_MAX_ARITY
-#define BOOST_FT_MAX_ARITY 20
+#ifndef NDNBOOST_FT_MAX_ARITY
+#define NDNBOOST_FT_MAX_ARITY 20
 #endif
 
 // the most common calling conventions for x86 architecture can be enabled at
 // once in the compiler config
-#ifdef BOOST_FT_COMMON_X86_CCs
-#   ifndef BOOST_FT_CC_CDECL
-#   define BOOST_FT_CC_CDECL BOOST_FT_COMMON_X86_CCs
+#ifdef NDNBOOST_FT_COMMON_X86_CCs
+#   ifndef NDNBOOST_FT_CC_CDECL
+#   define NDNBOOST_FT_CC_CDECL NDNBOOST_FT_COMMON_X86_CCs
 #   endif
-#   ifndef BOOST_FT_CC_STDCALL
-#   define BOOST_FT_CC_STDCALL non_variadic|BOOST_FT_COMMON_X86_CCs
+#   ifndef NDNBOOST_FT_CC_STDCALL
+#   define NDNBOOST_FT_CC_STDCALL non_variadic|NDNBOOST_FT_COMMON_X86_CCs
 #   endif
-#   ifndef BOOST_FT_CC_FASTCALL
-#   define BOOST_FT_CC_FASTCALL non_variadic|BOOST_FT_COMMON_X86_CCs
+#   ifndef NDNBOOST_FT_CC_FASTCALL
+#   define NDNBOOST_FT_CC_FASTCALL non_variadic|NDNBOOST_FT_COMMON_X86_CCs
 #   endif
 #endif
 
 // where to place the cc specifier (the common way)
-#ifndef BOOST_FT_SYNTAX
-#   define BOOST_FT_SYNTAX(result,lparen,cc_spec,type_mod,name,rparen) \
+#ifndef NDNBOOST_FT_SYNTAX
+#   define NDNBOOST_FT_SYNTAX(result,lparen,cc_spec,type_mod,name,rparen) \
                         result() lparen() cc_spec() type_mod() name() rparen()
 #endif
 
 // param for nullary functions
 // set to "void" for compilers that require nullary functions to read 
 // "R (void)" in template partial specialization
-#ifndef BOOST_FT_NULLARY_PARAM
-#define BOOST_FT_NULLARY_PARAM 
+#ifndef NDNBOOST_FT_NULLARY_PARAM
+#define NDNBOOST_FT_NULLARY_PARAM 
 #endif
 
 // there is a pending defect report on cv qualified function types, so support
 // for these types is disabled, unless for compilers where it's known to work
-#ifndef BOOST_FT_NO_CV_FUNC_SUPPORT
-#define BOOST_FT_NO_CV_FUNC_SUPPORT 1
+#ifndef NDNBOOST_FT_NO_CV_FUNC_SUPPORT
+#define NDNBOOST_FT_NO_CV_FUNC_SUPPORT 1
 #endif
 
 // full preprocessing implies preprocessing of the ccs
-#if defined(BOOST_FT_PREPROCESSING_MODE) && !defined(BOOST_FT_CC_PREPROCESSING)
-#   define BOOST_FT_CC_PREPROCESSING 1
+#if defined(NDNBOOST_FT_PREPROCESSING_MODE) && !defined(NDNBOOST_FT_CC_PREPROCESSING)
+#   define NDNBOOST_FT_CC_PREPROCESSING 1
 #endif
 
 #endif
diff --git a/include/ndnboost/function_types/detail/class_transform.hpp b/include/ndnboost/function_types/detail/class_transform.hpp
index 56ace17..d2964d6 100644
--- a/include/ndnboost/function_types/detail/class_transform.hpp
+++ b/include/ndnboost/function_types/detail/class_transform.hpp
@@ -6,8 +6,8 @@
 
 //------------------------------------------------------------------------------
 
-#ifndef BOOST_FT_DETAIL_CLASS_TRANSFORM_HPP_INCLUDED
-#define BOOST_FT_DETAIL_CLASS_TRANSFORM_HPP_INCLUDED
+#ifndef NDNBOOST_FT_DETAIL_CLASS_TRANSFORM_HPP_INCLUDED
+#define NDNBOOST_FT_DETAIL_CLASS_TRANSFORM_HPP_INCLUDED
 
 #include <ndnboost/mpl/apply.hpp>
 #include <ndnboost/mpl/always.hpp>
@@ -28,7 +28,7 @@
 { typedef typename mpl::apply1<L,T>::type type; };
 
 
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#ifndef NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 // We can short-circuit the mechanism implemented in the primary template for 
 // the most common lambda expression and save both the "un-lambdaing" and the
 // type traits invocation (we know that T can only be a class type).
diff --git a/include/ndnboost/function_types/detail/classifier.hpp b/include/ndnboost/function_types/detail/classifier.hpp
index 200e818..f6ebd25 100644
--- a/include/ndnboost/function_types/detail/classifier.hpp
+++ b/include/ndnboost/function_types/detail/classifier.hpp
@@ -6,8 +6,8 @@
 
 //------------------------------------------------------------------------------
 
-#ifndef BOOST_FT_DETAIL_CLASSIFIER_HPP_INCLUDED
-#define BOOST_FT_DETAIL_CLASSIFIER_HPP_INCLUDED
+#ifndef NDNBOOST_FT_DETAIL_CLASSIFIER_HPP_INCLUDED
+#define NDNBOOST_FT_DETAIL_CLASSIFIER_HPP_INCLUDED
 
 #include <ndnboost/type.hpp>
 #include <ndnboost/config.hpp>
@@ -31,28 +31,28 @@
   >::type type;
 };
 
-char BOOST_TT_DECL classifier_impl(...);
+char NDNBOOST_TT_DECL classifier_impl(...);
 
-#define BOOST_FT_variations BOOST_FT_function|BOOST_FT_pointer|\
-                            BOOST_FT_member_pointer
+#define NDNBOOST_FT_variations NDNBOOST_FT_function|NDNBOOST_FT_pointer|\
+                            NDNBOOST_FT_member_pointer
 
-#define BOOST_FT_type_function(cc,name) BOOST_FT_SYNTAX( \
-    R BOOST_PP_EMPTY,BOOST_PP_LPAREN,cc,* BOOST_PP_EMPTY,name,BOOST_PP_RPAREN)
+#define NDNBOOST_FT_type_function(cc,name) NDNBOOST_FT_SYNTAX( \
+    R NDNBOOST_PP_EMPTY,NDNBOOST_PP_LPAREN,cc,* NDNBOOST_PP_EMPTY,name,NDNBOOST_PP_RPAREN)
 
-#define BOOST_FT_type_function_pointer(cc,name) BOOST_FT_SYNTAX( \
-    R BOOST_PP_EMPTY,BOOST_PP_LPAREN,cc,** BOOST_PP_EMPTY,name,BOOST_PP_RPAREN)
+#define NDNBOOST_FT_type_function_pointer(cc,name) NDNBOOST_FT_SYNTAX( \
+    R NDNBOOST_PP_EMPTY,NDNBOOST_PP_LPAREN,cc,** NDNBOOST_PP_EMPTY,name,NDNBOOST_PP_RPAREN)
 
-#define BOOST_FT_type_member_function_pointer(cc,name) BOOST_FT_SYNTAX( \
-    R BOOST_PP_EMPTY,BOOST_PP_LPAREN,cc,T0::** BOOST_PP_EMPTY,name,BOOST_PP_RPAREN)
+#define NDNBOOST_FT_type_member_function_pointer(cc,name) NDNBOOST_FT_SYNTAX( \
+    R NDNBOOST_PP_EMPTY,NDNBOOST_PP_LPAREN,cc,T0::** NDNBOOST_PP_EMPTY,name,NDNBOOST_PP_RPAREN)
 
-#define BOOST_FT_al_path ndnboost/function_types/detail/classifier_impl
+#define NDNBOOST_FT_al_path ndnboost/function_types/detail/classifier_impl
 #include <ndnboost/function_types/detail/pp_loop.hpp>
 
 template<typename T> struct classifier_bits
 {
   static typename ndnboost::add_reference<T>::type tester;
 
-  BOOST_STATIC_CONSTANT(bits_t,value = (bits_t)sizeof(
+  NDNBOOST_STATIC_CONSTANT(bits_t,value = (bits_t)sizeof(
     ndnboost::function_types::detail::classifier_impl(& tester) 
   )-1);
 };
diff --git a/include/ndnboost/function_types/detail/classifier_impl/arity10_0.hpp b/include/ndnboost/function_types/detail/classifier_impl/arity10_0.hpp
index e27f3c2..7d177a2 100644
--- a/include/ndnboost/function_types/detail/classifier_impl/arity10_0.hpp
+++ b/include/ndnboost/function_types/detail/classifier_impl/arity10_0.hpp
@@ -8,48 +8,48 @@
 
 // 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
 
 template< typename R >
-typename encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,0> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (BOOST_FT_nullary_param BOOST_FT_ell) BOOST_FT_cv);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,0> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (NDNBOOST_FT_nullary_param NDNBOOST_FT_ell) NDNBOOST_FT_cv);
 template< typename R , typename T0 >
-typename encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,1> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 BOOST_FT_ell) BOOST_FT_cv);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,1> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 NDNBOOST_FT_ell) NDNBOOST_FT_cv);
 template< typename R , typename T0 , typename T1 >
-typename encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,2> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 BOOST_FT_ell) BOOST_FT_cv);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,2> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , T1 NDNBOOST_FT_ell) NDNBOOST_FT_cv);
 template< typename R , typename T0 , typename T1 , typename T2 >
-typename encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,3> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 BOOST_FT_ell) BOOST_FT_cv);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,3> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , T1 , T2 NDNBOOST_FT_ell) NDNBOOST_FT_cv);
 template< typename R , typename T0 , typename T1 , typename T2 , typename T3 >
-typename encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,4> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 BOOST_FT_ell) BOOST_FT_cv);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,4> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , T1 , T2 , T3 NDNBOOST_FT_ell) NDNBOOST_FT_cv);
 template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 >
-typename encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,5> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 BOOST_FT_ell) BOOST_FT_cv);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,5> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 NDNBOOST_FT_ell) NDNBOOST_FT_cv);
 template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 >
-typename encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,6> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 BOOST_FT_ell) BOOST_FT_cv);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,6> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 NDNBOOST_FT_ell) NDNBOOST_FT_cv);
 template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 >
-typename encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,7> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 BOOST_FT_ell) BOOST_FT_cv);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,7> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 NDNBOOST_FT_ell) NDNBOOST_FT_cv);
 template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 >
-typename encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,8> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 BOOST_FT_ell) BOOST_FT_cv);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,8> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 NDNBOOST_FT_ell) NDNBOOST_FT_cv);
 template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 >
-typename encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,9> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 BOOST_FT_ell) BOOST_FT_cv);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,9> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 NDNBOOST_FT_ell) NDNBOOST_FT_cv);
 template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 >
-typename encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,10> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 BOOST_FT_ell) BOOST_FT_cv);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,10> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 NDNBOOST_FT_ell) NDNBOOST_FT_cv);
 
diff --git a/include/ndnboost/function_types/detail/classifier_impl/arity10_1.hpp b/include/ndnboost/function_types/detail/classifier_impl/arity10_1.hpp
index cca8027..627ec51 100644
--- a/include/ndnboost/function_types/detail/classifier_impl/arity10_1.hpp
+++ b/include/ndnboost/function_types/detail/classifier_impl/arity10_1.hpp
@@ -8,45 +8,45 @@
 
 // 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
 
 template< typename R , typename T0 >
-typename encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,1> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) ( BOOST_FT_ell) BOOST_FT_cv);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,1> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) ( NDNBOOST_FT_ell) NDNBOOST_FT_cv);
 template< typename R , typename T0 , typename T1 >
-typename encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,2> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 BOOST_FT_ell) BOOST_FT_cv);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,2> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T1 NDNBOOST_FT_ell) NDNBOOST_FT_cv);
 template< typename R , typename T0 , typename T1 , typename T2 >
-typename encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,3> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 BOOST_FT_ell) BOOST_FT_cv);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,3> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T1 , T2 NDNBOOST_FT_ell) NDNBOOST_FT_cv);
 template< typename R , typename T0 , typename T1 , typename T2 , typename T3 >
-typename encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,4> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 BOOST_FT_ell) BOOST_FT_cv);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,4> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T1 , T2 , T3 NDNBOOST_FT_ell) NDNBOOST_FT_cv);
 template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 >
-typename encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,5> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 BOOST_FT_ell) BOOST_FT_cv);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,5> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T1 , T2 , T3 , T4 NDNBOOST_FT_ell) NDNBOOST_FT_cv);
 template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 >
-typename encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,6> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 BOOST_FT_ell) BOOST_FT_cv);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,6> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 NDNBOOST_FT_ell) NDNBOOST_FT_cv);
 template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 >
-typename encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,7> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 BOOST_FT_ell) BOOST_FT_cv);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,7> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 NDNBOOST_FT_ell) NDNBOOST_FT_cv);
 template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 >
-typename encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,8> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 BOOST_FT_ell) BOOST_FT_cv);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,8> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 NDNBOOST_FT_ell) NDNBOOST_FT_cv);
 template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 >
-typename encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,9> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 BOOST_FT_ell) BOOST_FT_cv);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,9> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 NDNBOOST_FT_ell) NDNBOOST_FT_cv);
 template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 >
-typename encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,10> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 BOOST_FT_ell) BOOST_FT_cv);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,10> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 NDNBOOST_FT_ell) NDNBOOST_FT_cv);
 
diff --git a/include/ndnboost/function_types/detail/classifier_impl/arity20_0.hpp b/include/ndnboost/function_types/detail/classifier_impl/arity20_0.hpp
index ec05bbd..3641eec 100644
--- a/include/ndnboost/function_types/detail/classifier_impl/arity20_0.hpp
+++ b/include/ndnboost/function_types/detail/classifier_impl/arity20_0.hpp
@@ -8,46 +8,46 @@
 
 // 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/classifier_impl/arity10_0.hpp>
 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,11> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 BOOST_FT_ell) BOOST_FT_cv);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,11> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 NDNBOOST_FT_ell) NDNBOOST_FT_cv);
 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,12> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 BOOST_FT_ell) BOOST_FT_cv);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,12> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 NDNBOOST_FT_ell) NDNBOOST_FT_cv);
 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,13> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 BOOST_FT_ell) BOOST_FT_cv);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,13> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 NDNBOOST_FT_ell) NDNBOOST_FT_cv);
 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,14> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 BOOST_FT_ell) BOOST_FT_cv);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,14> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 NDNBOOST_FT_ell) NDNBOOST_FT_cv);
 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,15> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 BOOST_FT_ell) BOOST_FT_cv);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,15> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 NDNBOOST_FT_ell) NDNBOOST_FT_cv);
 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,16> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 BOOST_FT_ell) BOOST_FT_cv);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,16> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 NDNBOOST_FT_ell) NDNBOOST_FT_cv);
 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,17> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 BOOST_FT_ell) BOOST_FT_cv);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,17> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 NDNBOOST_FT_ell) NDNBOOST_FT_cv);
 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,18> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 BOOST_FT_ell) BOOST_FT_cv);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,18> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 NDNBOOST_FT_ell) NDNBOOST_FT_cv);
 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,19> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 BOOST_FT_ell) BOOST_FT_cv);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,19> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 NDNBOOST_FT_ell) NDNBOOST_FT_cv);
 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,20> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 BOOST_FT_ell) BOOST_FT_cv);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,20> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 NDNBOOST_FT_ell) NDNBOOST_FT_cv);
 
diff --git a/include/ndnboost/function_types/detail/classifier_impl/arity20_1.hpp b/include/ndnboost/function_types/detail/classifier_impl/arity20_1.hpp
index b871d27..cd799e5 100644
--- a/include/ndnboost/function_types/detail/classifier_impl/arity20_1.hpp
+++ b/include/ndnboost/function_types/detail/classifier_impl/arity20_1.hpp
@@ -8,46 +8,46 @@
 
 // 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/classifier_impl/arity10_1.hpp>
 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,11> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 BOOST_FT_ell) BOOST_FT_cv);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,11> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 NDNBOOST_FT_ell) NDNBOOST_FT_cv);
 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,12> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 BOOST_FT_ell) BOOST_FT_cv);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,12> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 NDNBOOST_FT_ell) NDNBOOST_FT_cv);
 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,13> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 BOOST_FT_ell) BOOST_FT_cv);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,13> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 NDNBOOST_FT_ell) NDNBOOST_FT_cv);
 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,14> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 BOOST_FT_ell) BOOST_FT_cv);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,14> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 NDNBOOST_FT_ell) NDNBOOST_FT_cv);
 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,15> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 BOOST_FT_ell) BOOST_FT_cv);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,15> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 NDNBOOST_FT_ell) NDNBOOST_FT_cv);
 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,16> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 BOOST_FT_ell) BOOST_FT_cv);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,16> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 NDNBOOST_FT_ell) NDNBOOST_FT_cv);
 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,17> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 BOOST_FT_ell) BOOST_FT_cv);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,17> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 NDNBOOST_FT_ell) NDNBOOST_FT_cv);
 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,18> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 BOOST_FT_ell) BOOST_FT_cv);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,18> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 NDNBOOST_FT_ell) NDNBOOST_FT_cv);
 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,19> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 BOOST_FT_ell) BOOST_FT_cv);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,19> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 NDNBOOST_FT_ell) NDNBOOST_FT_cv);
 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,20> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 BOOST_FT_ell) BOOST_FT_cv);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,20> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 NDNBOOST_FT_ell) NDNBOOST_FT_cv);
 
diff --git a/include/ndnboost/function_types/detail/classifier_impl/arity30_0.hpp b/include/ndnboost/function_types/detail/classifier_impl/arity30_0.hpp
index b4a4fb3..ce9f2b3 100644
--- a/include/ndnboost/function_types/detail/classifier_impl/arity30_0.hpp
+++ b/include/ndnboost/function_types/detail/classifier_impl/arity30_0.hpp
@@ -8,46 +8,46 @@
 
 // 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/classifier_impl/arity20_0.hpp>
 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,21> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 BOOST_FT_ell) BOOST_FT_cv);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,21> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 NDNBOOST_FT_ell) NDNBOOST_FT_cv);
 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,22> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 BOOST_FT_ell) BOOST_FT_cv);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,22> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 NDNBOOST_FT_ell) NDNBOOST_FT_cv);
 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,23> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 BOOST_FT_ell) BOOST_FT_cv);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,23> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 NDNBOOST_FT_ell) NDNBOOST_FT_cv);
 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,24> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 BOOST_FT_ell) BOOST_FT_cv);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,24> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 NDNBOOST_FT_ell) NDNBOOST_FT_cv);
 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,25> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 BOOST_FT_ell) BOOST_FT_cv);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,25> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 NDNBOOST_FT_ell) NDNBOOST_FT_cv);
 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,26> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , 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 BOOST_FT_ell) BOOST_FT_cv);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,26> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv);
 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,27> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , 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 BOOST_FT_ell) BOOST_FT_cv);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,27> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv);
 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,28> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , 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 BOOST_FT_ell) BOOST_FT_cv);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,28> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv);
 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,29> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , 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 BOOST_FT_ell) BOOST_FT_cv);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,29> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv);
 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,30> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , 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 BOOST_FT_ell) BOOST_FT_cv);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,30> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv);
 
diff --git a/include/ndnboost/function_types/detail/classifier_impl/arity30_1.hpp b/include/ndnboost/function_types/detail/classifier_impl/arity30_1.hpp
index 4d1cd6f..70c7836 100644
--- a/include/ndnboost/function_types/detail/classifier_impl/arity30_1.hpp
+++ b/include/ndnboost/function_types/detail/classifier_impl/arity30_1.hpp
@@ -8,46 +8,46 @@
 
 // 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/classifier_impl/arity20_1.hpp>
 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,21> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 BOOST_FT_ell) BOOST_FT_cv);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,21> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 NDNBOOST_FT_ell) NDNBOOST_FT_cv);
 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,22> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 BOOST_FT_ell) BOOST_FT_cv);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,22> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 NDNBOOST_FT_ell) NDNBOOST_FT_cv);
 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,23> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, 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 BOOST_FT_ell) BOOST_FT_cv);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,23> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv);
 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,24> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, 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 BOOST_FT_ell) BOOST_FT_cv);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,24> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv);
 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,25> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, 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 BOOST_FT_ell) BOOST_FT_cv);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,25> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv);
 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,26> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, 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 BOOST_FT_ell) BOOST_FT_cv);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,26> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv);
 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,27> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, 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 BOOST_FT_ell) BOOST_FT_cv);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,27> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv);
 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,28> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, 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 BOOST_FT_ell) BOOST_FT_cv);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,28> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv);
 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,29> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, 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 BOOST_FT_ell) BOOST_FT_cv);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,29> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv);
 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,30> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, 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 BOOST_FT_ell) BOOST_FT_cv);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,30> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv);
 
diff --git a/include/ndnboost/function_types/detail/classifier_impl/arity40_0.hpp b/include/ndnboost/function_types/detail/classifier_impl/arity40_0.hpp
index 773d84b..b5d946c 100644
--- a/include/ndnboost/function_types/detail/classifier_impl/arity40_0.hpp
+++ b/include/ndnboost/function_types/detail/classifier_impl/arity40_0.hpp
@@ -8,46 +8,46 @@
 
 // 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/classifier_impl/arity30_0.hpp>
 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,31> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , 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 BOOST_FT_ell) BOOST_FT_cv);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,31> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv);
 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,32> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , 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 BOOST_FT_ell) BOOST_FT_cv);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,32> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv);
 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,33> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , 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 BOOST_FT_ell) BOOST_FT_cv);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,33> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv);
 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,34> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , 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 BOOST_FT_ell) BOOST_FT_cv);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,34> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv);
 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,35> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , 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 BOOST_FT_ell) BOOST_FT_cv);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,35> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv);
 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,36> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , 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 BOOST_FT_ell) BOOST_FT_cv);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,36> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv);
 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,37> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , 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 BOOST_FT_ell) BOOST_FT_cv);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,37> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv);
 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,38> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , 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 BOOST_FT_ell) BOOST_FT_cv);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,38> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv);
 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,39> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , 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 BOOST_FT_ell) BOOST_FT_cv);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,39> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv);
 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,40> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , 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 BOOST_FT_ell) BOOST_FT_cv);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,40> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv);
 
diff --git a/include/ndnboost/function_types/detail/classifier_impl/arity40_1.hpp b/include/ndnboost/function_types/detail/classifier_impl/arity40_1.hpp
index 29dabd0..d24e336 100644
--- a/include/ndnboost/function_types/detail/classifier_impl/arity40_1.hpp
+++ b/include/ndnboost/function_types/detail/classifier_impl/arity40_1.hpp
@@ -8,46 +8,46 @@
 
 // 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/classifier_impl/arity30_1.hpp>
 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,31> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, 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 BOOST_FT_ell) BOOST_FT_cv);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,31> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv);
 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,32> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, 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 BOOST_FT_ell) BOOST_FT_cv);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,32> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv);
 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,33> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, 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 BOOST_FT_ell) BOOST_FT_cv);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,33> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv);
 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,34> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, 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 BOOST_FT_ell) BOOST_FT_cv);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,34> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv);
 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,35> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, 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 BOOST_FT_ell) BOOST_FT_cv);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,35> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv);
 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,36> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, 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 BOOST_FT_ell) BOOST_FT_cv);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,36> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv);
 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,37> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, 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 BOOST_FT_ell) BOOST_FT_cv);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,37> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv);
 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,38> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, 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 BOOST_FT_ell) BOOST_FT_cv);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,38> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv);
 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,39> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, 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 BOOST_FT_ell) BOOST_FT_cv);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,39> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv);
 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,40> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, 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 BOOST_FT_ell) BOOST_FT_cv);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,40> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv);
 
diff --git a/include/ndnboost/function_types/detail/classifier_impl/arity50_0.hpp b/include/ndnboost/function_types/detail/classifier_impl/arity50_0.hpp
index 712f66c..2f3b8f4 100644
--- a/include/ndnboost/function_types/detail/classifier_impl/arity50_0.hpp
+++ b/include/ndnboost/function_types/detail/classifier_impl/arity50_0.hpp
@@ -8,46 +8,46 @@
 
 // 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/classifier_impl/arity40_0.hpp>
 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,41> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , 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);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,41> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , 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< 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,42> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , 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);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,42> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , 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< 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,43> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , 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);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,43> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , 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< 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,44> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , 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);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,44> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , 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< 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,45> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , 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);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,45> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , 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< 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,46> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , 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);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,46> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , 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< 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,47> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , 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);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,47> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , 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< 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,48> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , 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);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,48> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , 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< 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,49> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , 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);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,49> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , 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< 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 >
-typename encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,50> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , 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);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,50> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , 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);
 
diff --git a/include/ndnboost/function_types/detail/classifier_impl/arity50_1.hpp b/include/ndnboost/function_types/detail/classifier_impl/arity50_1.hpp
index bb710a5..57d33df 100644
--- a/include/ndnboost/function_types/detail/classifier_impl/arity50_1.hpp
+++ b/include/ndnboost/function_types/detail/classifier_impl/arity50_1.hpp
@@ -8,45 +8,45 @@
 
 // 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/classifier_impl/arity40_1.hpp>
 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,41> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, 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);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,41> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, 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< 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,42> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, 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);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,42> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, 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< 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,43> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, 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);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,43> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, 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< 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,44> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, 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);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,44> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, 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< 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,45> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, 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);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,45> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, 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< 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,46> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, 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);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,46> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, 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< 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,47> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, 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);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,47> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, 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< 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,48> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, 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);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,48> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, 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< 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 encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,49> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, 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);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,49> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, 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< 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 >
-typename encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,50> ::type
-classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, 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);
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,50> ::type
+classifier_impl(NDNBOOST_FT_syntax(NDNBOOST_FT_cc, 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);
diff --git a/include/ndnboost/function_types/detail/classifier_impl/master.hpp b/include/ndnboost/function_types/detail/classifier_impl/master.hpp
index 0ddacf6..10c2ec4 100644
--- a/include/ndnboost/function_types/detail/classifier_impl/master.hpp
+++ b/include/ndnboost/function_types/detail/classifier_impl/master.hpp
@@ -8,24 +8,24 @@
 
 // no include guards, this file is intended for multiple inclusion
 
-#if BOOST_FT_ARITY_LOOP_PREFIX
+#if NDNBOOST_FT_ARITY_LOOP_PREFIX
 
-#   ifndef BOOST_FT_DETAIL_CLASSIFIER_IMPL_MASTER_HPP_INCLUDED
-#   define BOOST_FT_DETAIL_CLASSIFIER_IMPL_MASTER_HPP_INCLUDED
+#   ifndef NDNBOOST_FT_DETAIL_CLASSIFIER_IMPL_MASTER_HPP_INCLUDED
+#   define NDNBOOST_FT_DETAIL_CLASSIFIER_IMPL_MASTER_HPP_INCLUDED
 #     include <ndnboost/preprocessor/facilities/identity.hpp>
 #   endif
 
-#   define BOOST_FT_type_name
+#   define NDNBOOST_FT_type_name
 
-#elif BOOST_FT_ARITY_LOOP_IS_ITERATING
+#elif NDNBOOST_FT_ARITY_LOOP_IS_ITERATING
 
-template< BOOST_FT_tplargs(BOOST_PP_IDENTITY(typename)) >
-typename encode_charr<BOOST_FT_flags,BOOST_FT_cc_id,BOOST_FT_arity>::type
-classifier_impl(BOOST_FT_type);
+template< NDNBOOST_FT_tplargs(NDNBOOST_PP_IDENTITY(typename)) >
+typename encode_charr<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,NDNBOOST_FT_arity>::type
+classifier_impl(NDNBOOST_FT_type);
 
-#elif BOOST_FT_ARITY_LOOP_SUFFIX
+#elif NDNBOOST_FT_ARITY_LOOP_SUFFIX
 
-#   undef BOOST_FT_type_name
+#   undef NDNBOOST_FT_type_name
 
 #else
 #   error "attempt to use arity loop master file without loop"
diff --git a/include/ndnboost/function_types/detail/components_as_mpl_sequence.hpp b/include/ndnboost/function_types/detail/components_as_mpl_sequence.hpp
index 3d94e4e..c9c2af0 100644
--- a/include/ndnboost/function_types/detail/components_as_mpl_sequence.hpp
+++ b/include/ndnboost/function_types/detail/components_as_mpl_sequence.hpp
@@ -6,8 +6,8 @@
 
 //------------------------------------------------------------------------------
 
-#ifndef BOOST_FT_DETAIL_COMPONENTS_AS_MPL_SEQUENCE_HPP_INCLUDED
-#define BOOST_FT_DETAIL_COMPONENTS_AS_MPL_SEQUENCE_HPP_INCLUDED
+#ifndef NDNBOOST_FT_DETAIL_COMPONENTS_AS_MPL_SEQUENCE_HPP_INCLUDED
+#define NDNBOOST_FT_DETAIL_COMPONENTS_AS_MPL_SEQUENCE_HPP_INCLUDED
 
 #include <ndnboost/mpl/size_fwd.hpp>
 #include <ndnboost/mpl/empty_fwd.hpp>
diff --git a/include/ndnboost/function_types/detail/components_impl/arity10_0.hpp b/include/ndnboost/function_types/detail/components_impl/arity10_0.hpp
index f96c6a9..ec7993d 100644
--- a/include/ndnboost/function_types/detail/components_impl/arity10_0.hpp
+++ b/include/ndnboost/function_types/detail/components_impl/arity10_0.hpp
@@ -8,123 +8,123 @@
 
 // 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
 
 template< typename R, typename L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (BOOST_FT_nullary_param BOOST_FT_ell) BOOST_FT_cv, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (NDNBOOST_FT_nullary_param NDNBOOST_FT_ell) NDNBOOST_FT_cv, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (BOOST_FT_nullary_param BOOST_FT_ell) BOOST_FT_cv, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (NDNBOOST_FT_nullary_param NDNBOOST_FT_ell) NDNBOOST_FT_cv, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,0> function_arity;
-typedef mpl::vector1< R BOOST_FT_nullary_param > types;
+typedef mpl::vector1< R NDNBOOST_FT_nullary_param > types;
 };
 template< typename R , typename T0, typename L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 BOOST_FT_ell) BOOST_FT_cv, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 BOOST_FT_ell) BOOST_FT_cv, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,1> function_arity;
 typedef mpl::vector2< R , T0 > types;
 };
 template< typename R , typename T0 , typename T1, typename L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 BOOST_FT_ell) BOOST_FT_cv, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , T1 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 BOOST_FT_ell) BOOST_FT_cv, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , T1 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,2> function_arity;
 typedef mpl::vector3< R , T0 , T1 > types;
 };
 template< typename R , typename T0 , typename T1 , typename T2, typename L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 BOOST_FT_ell) BOOST_FT_cv, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , T1 , T2 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 BOOST_FT_ell) BOOST_FT_cv, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , T1 , T2 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,3> function_arity;
 typedef mpl::vector4< R , T0 , T1 , T2 > types;
 };
 template< typename R , typename T0 , typename T1 , typename T2 , typename T3, typename L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 BOOST_FT_ell) BOOST_FT_cv, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , T1 , T2 , T3 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 BOOST_FT_ell) BOOST_FT_cv, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , T1 , T2 , T3 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,4> function_arity;
 typedef mpl::vector5< R , T0 , T1 , T2 , T3 > types;
 };
 template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4, typename L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 BOOST_FT_ell) BOOST_FT_cv, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 BOOST_FT_ell) BOOST_FT_cv, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,5> function_arity;
 typedef mpl::vector6< R , T0 , T1 , T2 , T3 , T4 > types;
 };
 template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5, typename L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 BOOST_FT_ell) BOOST_FT_cv, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 BOOST_FT_ell) BOOST_FT_cv, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,6> function_arity;
 typedef mpl::vector7< R , T0 , T1 , T2 , T3 , T4 , T5 > types;
 };
 template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6, typename L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 BOOST_FT_ell) BOOST_FT_cv, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 BOOST_FT_ell) BOOST_FT_cv, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,7> function_arity;
 typedef mpl::vector8< R , T0 , T1 , T2 , T3 , T4 , T5 , T6 > types;
 };
 template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7, typename L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 BOOST_FT_ell) BOOST_FT_cv, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 BOOST_FT_ell) BOOST_FT_cv, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,8> function_arity;
 typedef mpl::vector9< R , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 > types;
 };
 template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8, typename L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 BOOST_FT_ell) BOOST_FT_cv, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 BOOST_FT_ell) BOOST_FT_cv, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,9> function_arity;
 typedef mpl::vector10< R , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 > types;
 };
 template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9, typename L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 BOOST_FT_ell) BOOST_FT_cv, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 BOOST_FT_ell) BOOST_FT_cv, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,10> function_arity;
 typedef mpl::vector11< R , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 > types;
diff --git a/include/ndnboost/function_types/detail/components_impl/arity10_1.hpp b/include/ndnboost/function_types/detail/components_impl/arity10_1.hpp
index 1b06a97..8b8968a 100644
--- a/include/ndnboost/function_types/detail/components_impl/arity10_1.hpp
+++ b/include/ndnboost/function_types/detail/components_impl/arity10_1.hpp
@@ -8,115 +8,115 @@
 
 // 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
 
 template< typename R , typename T0, typename L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) ( BOOST_FT_ell) BOOST_FT_cv, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) ( NDNBOOST_FT_ell) NDNBOOST_FT_cv, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) ( BOOST_FT_ell) BOOST_FT_cv, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) ( NDNBOOST_FT_ell) NDNBOOST_FT_cv, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,1> function_arity;
-typedef mpl::vector2< R, typename class_transform<T0 BOOST_FT_cv, L> ::type > types;
+typedef mpl::vector2< R, typename class_transform<T0 NDNBOOST_FT_cv, L> ::type > types;
 };
 template< typename R , typename T0 , typename T1, typename L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 BOOST_FT_ell) BOOST_FT_cv, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T1 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 BOOST_FT_ell) BOOST_FT_cv, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T1 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,2> function_arity;
-typedef mpl::vector3< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , T1 > types;
+typedef mpl::vector3< R, typename class_transform<T0 NDNBOOST_FT_cv, L> ::type , T1 > types;
 };
 template< typename R , typename T0 , typename T1 , typename T2, typename L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 BOOST_FT_ell) BOOST_FT_cv, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T1 , T2 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 BOOST_FT_ell) BOOST_FT_cv, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T1 , T2 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,3> function_arity;
-typedef mpl::vector4< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , T1 , T2 > types;
+typedef mpl::vector4< R, typename class_transform<T0 NDNBOOST_FT_cv, L> ::type , T1 , T2 > types;
 };
 template< typename R , typename T0 , typename T1 , typename T2 , typename T3, typename L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 BOOST_FT_ell) BOOST_FT_cv, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T1 , T2 , T3 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 BOOST_FT_ell) BOOST_FT_cv, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T1 , T2 , T3 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,4> function_arity;
-typedef mpl::vector5< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , T1 , T2 , T3 > types;
+typedef mpl::vector5< R, typename class_transform<T0 NDNBOOST_FT_cv, L> ::type , T1 , T2 , T3 > types;
 };
 template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4, typename L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 BOOST_FT_ell) BOOST_FT_cv, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T1 , T2 , T3 , T4 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 BOOST_FT_ell) BOOST_FT_cv, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T1 , T2 , T3 , T4 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,5> function_arity;
-typedef mpl::vector6< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , T1 , T2 , T3 , T4 > types;
+typedef mpl::vector6< R, typename class_transform<T0 NDNBOOST_FT_cv, L> ::type , T1 , T2 , T3 , T4 > types;
 };
 template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5, typename L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 BOOST_FT_ell) BOOST_FT_cv, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 BOOST_FT_ell) BOOST_FT_cv, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,6> function_arity;
-typedef mpl::vector7< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , T1 , T2 , T3 , T4 , T5 > types;
+typedef mpl::vector7< R, typename class_transform<T0 NDNBOOST_FT_cv, L> ::type , T1 , T2 , T3 , T4 , T5 > types;
 };
 template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6, typename L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 BOOST_FT_ell) BOOST_FT_cv, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 BOOST_FT_ell) BOOST_FT_cv, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,7> function_arity;
-typedef mpl::vector8< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , T1 , T2 , T3 , T4 , T5 , T6 > types;
+typedef mpl::vector8< R, typename class_transform<T0 NDNBOOST_FT_cv, L> ::type , T1 , T2 , T3 , T4 , T5 , T6 > types;
 };
 template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7, typename L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 BOOST_FT_ell) BOOST_FT_cv, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 BOOST_FT_ell) BOOST_FT_cv, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,8> function_arity;
-typedef mpl::vector9< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 > types;
+typedef mpl::vector9< R, typename class_transform<T0 NDNBOOST_FT_cv, L> ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 > types;
 };
 template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8, typename L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 BOOST_FT_ell) BOOST_FT_cv, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 BOOST_FT_ell) BOOST_FT_cv, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,9> function_arity;
-typedef mpl::vector10< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 > types;
+typedef mpl::vector10< R, typename class_transform<T0 NDNBOOST_FT_cv, L> ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 > types;
 };
 template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9, typename L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 BOOST_FT_ell) BOOST_FT_cv, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 BOOST_FT_ell) BOOST_FT_cv, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,10> function_arity;
-typedef mpl::vector11< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 > types;
+typedef mpl::vector11< R, typename class_transform<T0 NDNBOOST_FT_cv, L> ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 > types;
 };
 
diff --git a/include/ndnboost/function_types/detail/components_impl/arity20_0.hpp b/include/ndnboost/function_types/detail/components_impl/arity20_0.hpp
index f3670c6..ba530de 100644
--- a/include/ndnboost/function_types/detail/components_impl/arity20_0.hpp
+++ b/include/ndnboost/function_types/detail/components_impl/arity20_0.hpp
@@ -8,114 +8,114 @@
 
 // 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/components_impl/arity10_0.hpp>
 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 BOOST_FT_ell) BOOST_FT_cv, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 BOOST_FT_ell) BOOST_FT_cv, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,11> function_arity;
 typedef mpl::vector12< R , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 > types;
 };
 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 BOOST_FT_ell) BOOST_FT_cv, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 BOOST_FT_ell) BOOST_FT_cv, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,12> function_arity;
 typedef mpl::vector13< R , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 > types;
 };
 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 BOOST_FT_ell) BOOST_FT_cv, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 BOOST_FT_ell) BOOST_FT_cv, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,13> function_arity;
 typedef mpl::vector14< R , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 > types;
 };
 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 BOOST_FT_ell) BOOST_FT_cv, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 BOOST_FT_ell) BOOST_FT_cv, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,14> function_arity;
 typedef mpl::vector15< R , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 > types;
 };
 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 BOOST_FT_ell) BOOST_FT_cv, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 BOOST_FT_ell) BOOST_FT_cv, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,15> function_arity;
 typedef mpl::vector16< R , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 > types;
 };
 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 BOOST_FT_ell) BOOST_FT_cv, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 BOOST_FT_ell) BOOST_FT_cv, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,16> function_arity;
 typedef mpl::vector17< R , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 > types;
 };
 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 BOOST_FT_ell) BOOST_FT_cv, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 BOOST_FT_ell) BOOST_FT_cv, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,17> function_arity;
 typedef mpl::vector18< R , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 > types;
 };
 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 BOOST_FT_ell) BOOST_FT_cv, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 BOOST_FT_ell) BOOST_FT_cv, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,18> function_arity;
 typedef mpl::vector19< R , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 > types;
 };
 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 BOOST_FT_ell) BOOST_FT_cv, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 BOOST_FT_ell) BOOST_FT_cv, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,19> function_arity;
 typedef mpl::vector20< R , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 > types;
 };
 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 BOOST_FT_ell) BOOST_FT_cv, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 BOOST_FT_ell) BOOST_FT_cv, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,20> function_arity;
 typedef mpl::vector21< R , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 > types;
diff --git a/include/ndnboost/function_types/detail/components_impl/arity20_1.hpp b/include/ndnboost/function_types/detail/components_impl/arity20_1.hpp
index 3c688e5..836763a 100644
--- a/include/ndnboost/function_types/detail/components_impl/arity20_1.hpp
+++ b/include/ndnboost/function_types/detail/components_impl/arity20_1.hpp
@@ -8,116 +8,116 @@
 
 // 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/components_impl/arity10_1.hpp>
 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 BOOST_FT_ell) BOOST_FT_cv, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 BOOST_FT_ell) BOOST_FT_cv, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,11> function_arity;
-typedef mpl::vector12< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 > types;
+typedef mpl::vector12< R, typename class_transform<T0 NDNBOOST_FT_cv, L> ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 > types;
 };
 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 BOOST_FT_ell) BOOST_FT_cv, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 BOOST_FT_ell) BOOST_FT_cv, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,12> function_arity;
-typedef mpl::vector13< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 > types;
+typedef mpl::vector13< R, typename class_transform<T0 NDNBOOST_FT_cv, L> ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 > types;
 };
 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 BOOST_FT_ell) BOOST_FT_cv, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 BOOST_FT_ell) BOOST_FT_cv, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,13> function_arity;
-typedef mpl::vector14< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 > types;
+typedef mpl::vector14< R, typename class_transform<T0 NDNBOOST_FT_cv, L> ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 > types;
 };
 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 BOOST_FT_ell) BOOST_FT_cv, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 BOOST_FT_ell) BOOST_FT_cv, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,14> function_arity;
-typedef mpl::vector15< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 > types;
+typedef mpl::vector15< R, typename class_transform<T0 NDNBOOST_FT_cv, L> ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 > types;
 };
 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 BOOST_FT_ell) BOOST_FT_cv, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 BOOST_FT_ell) BOOST_FT_cv, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,15> function_arity;
-typedef mpl::vector16< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 > types;
+typedef mpl::vector16< R, typename class_transform<T0 NDNBOOST_FT_cv, L> ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 > types;
 };
 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 BOOST_FT_ell) BOOST_FT_cv, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 BOOST_FT_ell) BOOST_FT_cv, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,16> function_arity;
-typedef mpl::vector17< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 > types;
+typedef mpl::vector17< R, typename class_transform<T0 NDNBOOST_FT_cv, L> ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 > types;
 };
 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 BOOST_FT_ell) BOOST_FT_cv, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 BOOST_FT_ell) BOOST_FT_cv, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,17> function_arity;
-typedef mpl::vector18< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 > types;
+typedef mpl::vector18< R, typename class_transform<T0 NDNBOOST_FT_cv, L> ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 > types;
 };
 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 BOOST_FT_ell) BOOST_FT_cv, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 BOOST_FT_ell) BOOST_FT_cv, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,18> function_arity;
-typedef mpl::vector19< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 > types;
+typedef mpl::vector19< R, typename class_transform<T0 NDNBOOST_FT_cv, L> ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 > types;
 };
 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 BOOST_FT_ell) BOOST_FT_cv, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 BOOST_FT_ell) BOOST_FT_cv, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,19> function_arity;
-typedef mpl::vector20< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 > types;
+typedef mpl::vector20< R, typename class_transform<T0 NDNBOOST_FT_cv, L> ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 > types;
 };
 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 BOOST_FT_ell) BOOST_FT_cv, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 BOOST_FT_ell) BOOST_FT_cv, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,20> function_arity;
-typedef mpl::vector21< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 > types;
+typedef mpl::vector21< R, typename class_transform<T0 NDNBOOST_FT_cv, L> ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 > types;
 };
 
diff --git a/include/ndnboost/function_types/detail/components_impl/arity30_0.hpp b/include/ndnboost/function_types/detail/components_impl/arity30_0.hpp
index f60ba9d..f44979c 100644
--- a/include/ndnboost/function_types/detail/components_impl/arity30_0.hpp
+++ b/include/ndnboost/function_types/detail/components_impl/arity30_0.hpp
@@ -8,114 +8,114 @@
 
 // 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/components_impl/arity20_0.hpp>
 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 BOOST_FT_ell) BOOST_FT_cv, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 BOOST_FT_ell) BOOST_FT_cv, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,21> function_arity;
 typedef mpl::vector22< R , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 > types;
 };
 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 BOOST_FT_ell) BOOST_FT_cv, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 BOOST_FT_ell) BOOST_FT_cv, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,22> function_arity;
 typedef mpl::vector23< R , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 > types;
 };
 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 BOOST_FT_ell) BOOST_FT_cv, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 BOOST_FT_ell) BOOST_FT_cv, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,23> function_arity;
 typedef mpl::vector24< R , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 > types;
 };
 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 BOOST_FT_ell) BOOST_FT_cv, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 BOOST_FT_ell) BOOST_FT_cv, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,24> function_arity;
 typedef mpl::vector25< R , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 > types;
 };
 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 BOOST_FT_ell) BOOST_FT_cv, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 BOOST_FT_ell) BOOST_FT_cv, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,25> function_arity;
 typedef mpl::vector26< R , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 > types;
 };
 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , 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 BOOST_FT_ell) BOOST_FT_cv, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , 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 BOOST_FT_ell) BOOST_FT_cv, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,26> function_arity;
 typedef mpl::vector27< R , T0 , 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 > types;
 };
 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , 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 BOOST_FT_ell) BOOST_FT_cv, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , 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 BOOST_FT_ell) BOOST_FT_cv, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,27> function_arity;
 typedef mpl::vector28< R , T0 , 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 > types;
 };
 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , 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 BOOST_FT_ell) BOOST_FT_cv, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , 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 BOOST_FT_ell) BOOST_FT_cv, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,28> function_arity;
 typedef mpl::vector29< R , T0 , 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 > types;
 };
 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , 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 BOOST_FT_ell) BOOST_FT_cv, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , 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 BOOST_FT_ell) BOOST_FT_cv, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,29> function_arity;
 typedef mpl::vector30< R , T0 , 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 > types;
 };
 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , 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 BOOST_FT_ell) BOOST_FT_cv, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , 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 BOOST_FT_ell) BOOST_FT_cv, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,30> function_arity;
 typedef mpl::vector31< R , T0 , 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 > types;
diff --git a/include/ndnboost/function_types/detail/components_impl/arity30_1.hpp b/include/ndnboost/function_types/detail/components_impl/arity30_1.hpp
index ac7798f..bcc393f 100644
--- a/include/ndnboost/function_types/detail/components_impl/arity30_1.hpp
+++ b/include/ndnboost/function_types/detail/components_impl/arity30_1.hpp
@@ -8,116 +8,116 @@
 
 // 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/components_impl/arity20_1.hpp>
 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 BOOST_FT_ell) BOOST_FT_cv, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 BOOST_FT_ell) BOOST_FT_cv, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,21> function_arity;
-typedef mpl::vector22< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 > types;
+typedef mpl::vector22< R, typename class_transform<T0 NDNBOOST_FT_cv, L> ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 > types;
 };
 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 BOOST_FT_ell) BOOST_FT_cv, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 BOOST_FT_ell) BOOST_FT_cv, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,22> function_arity;
-typedef mpl::vector23< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 > types;
+typedef mpl::vector23< R, typename class_transform<T0 NDNBOOST_FT_cv, L> ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 > types;
 };
 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, 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 BOOST_FT_ell) BOOST_FT_cv, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, 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 BOOST_FT_ell) BOOST_FT_cv, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,23> function_arity;
-typedef mpl::vector24< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 > types;
+typedef mpl::vector24< R, typename class_transform<T0 NDNBOOST_FT_cv, L> ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 > types;
 };
 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, 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 BOOST_FT_ell) BOOST_FT_cv, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, 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 BOOST_FT_ell) BOOST_FT_cv, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,24> function_arity;
-typedef mpl::vector25< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 > types;
+typedef mpl::vector25< R, typename class_transform<T0 NDNBOOST_FT_cv, L> ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 > types;
 };
 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, 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 BOOST_FT_ell) BOOST_FT_cv, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, 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 BOOST_FT_ell) BOOST_FT_cv, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,25> function_arity;
-typedef mpl::vector26< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 > types;
+typedef mpl::vector26< R, typename class_transform<T0 NDNBOOST_FT_cv, L> ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 > types;
 };
 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, 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 BOOST_FT_ell) BOOST_FT_cv, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, 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 BOOST_FT_ell) BOOST_FT_cv, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,26> function_arity;
-typedef mpl::vector27< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , 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 > types;
+typedef mpl::vector27< R, typename class_transform<T0 NDNBOOST_FT_cv, L> ::type , 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 > types;
 };
 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, 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 BOOST_FT_ell) BOOST_FT_cv, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, 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 BOOST_FT_ell) BOOST_FT_cv, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,27> function_arity;
-typedef mpl::vector28< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , 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 > types;
+typedef mpl::vector28< R, typename class_transform<T0 NDNBOOST_FT_cv, L> ::type , 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 > types;
 };
 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, 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 BOOST_FT_ell) BOOST_FT_cv, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, 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 BOOST_FT_ell) BOOST_FT_cv, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,28> function_arity;
-typedef mpl::vector29< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , 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 > types;
+typedef mpl::vector29< R, typename class_transform<T0 NDNBOOST_FT_cv, L> ::type , 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 > types;
 };
 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, 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 BOOST_FT_ell) BOOST_FT_cv, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, 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 BOOST_FT_ell) BOOST_FT_cv, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,29> function_arity;
-typedef mpl::vector30< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , 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 > types;
+typedef mpl::vector30< R, typename class_transform<T0 NDNBOOST_FT_cv, L> ::type , 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 > types;
 };
 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, 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 BOOST_FT_ell) BOOST_FT_cv, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, 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 BOOST_FT_ell) BOOST_FT_cv, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,30> function_arity;
-typedef mpl::vector31< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , 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 > types;
+typedef mpl::vector31< R, typename class_transform<T0 NDNBOOST_FT_cv, L> ::type , 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 > types;
 };
 
diff --git a/include/ndnboost/function_types/detail/components_impl/arity40_0.hpp b/include/ndnboost/function_types/detail/components_impl/arity40_0.hpp
index a457bd7..64850a8 100644
--- a/include/ndnboost/function_types/detail/components_impl/arity40_0.hpp
+++ b/include/ndnboost/function_types/detail/components_impl/arity40_0.hpp
@@ -8,114 +8,114 @@
 
 // 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/components_impl/arity30_0.hpp>
 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , 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 BOOST_FT_ell) BOOST_FT_cv, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , 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 BOOST_FT_ell) BOOST_FT_cv, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,31> function_arity;
 typedef mpl::vector32< R , T0 , 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 > types;
 };
 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , 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 BOOST_FT_ell) BOOST_FT_cv, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , 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 BOOST_FT_ell) BOOST_FT_cv, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,32> function_arity;
 typedef mpl::vector33< R , T0 , 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 > types;
 };
 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , 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 BOOST_FT_ell) BOOST_FT_cv, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , 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 BOOST_FT_ell) BOOST_FT_cv, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,33> function_arity;
 typedef mpl::vector34< R , T0 , 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 > types;
 };
 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , 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 BOOST_FT_ell) BOOST_FT_cv, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , 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 BOOST_FT_ell) BOOST_FT_cv, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,34> function_arity;
 typedef mpl::vector35< R , T0 , 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 > types;
 };
 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , 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 BOOST_FT_ell) BOOST_FT_cv, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , 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 BOOST_FT_ell) BOOST_FT_cv, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,35> function_arity;
 typedef mpl::vector36< R , T0 , 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 > types;
 };
 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , 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 BOOST_FT_ell) BOOST_FT_cv, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , 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 BOOST_FT_ell) BOOST_FT_cv, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,36> function_arity;
 typedef mpl::vector37< R , T0 , 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 > types;
 };
 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , 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 BOOST_FT_ell) BOOST_FT_cv, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , 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 BOOST_FT_ell) BOOST_FT_cv, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,37> function_arity;
 typedef mpl::vector38< R , T0 , 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 > types;
 };
 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , 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 BOOST_FT_ell) BOOST_FT_cv, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , 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 BOOST_FT_ell) BOOST_FT_cv, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,38> function_arity;
 typedef mpl::vector39< R , T0 , 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 > types;
 };
 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , 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 BOOST_FT_ell) BOOST_FT_cv, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , 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 BOOST_FT_ell) BOOST_FT_cv, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,39> function_arity;
 typedef mpl::vector40< R , T0 , 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 > types;
 };
 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , 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 BOOST_FT_ell) BOOST_FT_cv, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , 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 BOOST_FT_ell) BOOST_FT_cv, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,40> function_arity;
 typedef mpl::vector41< R , T0 , 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 > types;
diff --git a/include/ndnboost/function_types/detail/components_impl/arity40_1.hpp b/include/ndnboost/function_types/detail/components_impl/arity40_1.hpp
index f70ec30..5f7f49e 100644
--- a/include/ndnboost/function_types/detail/components_impl/arity40_1.hpp
+++ b/include/ndnboost/function_types/detail/components_impl/arity40_1.hpp
@@ -8,116 +8,116 @@
 
 // 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/components_impl/arity30_1.hpp>
 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, 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 BOOST_FT_ell) BOOST_FT_cv, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, 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 BOOST_FT_ell) BOOST_FT_cv, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,31> function_arity;
-typedef mpl::vector32< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , 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 > types;
+typedef mpl::vector32< R, typename class_transform<T0 NDNBOOST_FT_cv, L> ::type , 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 > types;
 };
 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, 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 BOOST_FT_ell) BOOST_FT_cv, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, 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 BOOST_FT_ell) BOOST_FT_cv, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,32> function_arity;
-typedef mpl::vector33< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , 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 > types;
+typedef mpl::vector33< R, typename class_transform<T0 NDNBOOST_FT_cv, L> ::type , 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 > types;
 };
 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, 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 BOOST_FT_ell) BOOST_FT_cv, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, 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 BOOST_FT_ell) BOOST_FT_cv, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,33> function_arity;
-typedef mpl::vector34< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , 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 > types;
+typedef mpl::vector34< R, typename class_transform<T0 NDNBOOST_FT_cv, L> ::type , 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 > types;
 };
 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, 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 BOOST_FT_ell) BOOST_FT_cv, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, 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 BOOST_FT_ell) BOOST_FT_cv, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,34> function_arity;
-typedef mpl::vector35< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , 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 > types;
+typedef mpl::vector35< R, typename class_transform<T0 NDNBOOST_FT_cv, L> ::type , 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 > types;
 };
 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, 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 BOOST_FT_ell) BOOST_FT_cv, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, 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 BOOST_FT_ell) BOOST_FT_cv, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,35> function_arity;
-typedef mpl::vector36< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , 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 > types;
+typedef mpl::vector36< R, typename class_transform<T0 NDNBOOST_FT_cv, L> ::type , 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 > types;
 };
 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, 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 BOOST_FT_ell) BOOST_FT_cv, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, 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 BOOST_FT_ell) BOOST_FT_cv, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,36> function_arity;
-typedef mpl::vector37< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , 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 > types;
+typedef mpl::vector37< R, typename class_transform<T0 NDNBOOST_FT_cv, L> ::type , 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 > types;
 };
 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, 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 BOOST_FT_ell) BOOST_FT_cv, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, 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 BOOST_FT_ell) BOOST_FT_cv, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,37> function_arity;
-typedef mpl::vector38< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , 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 > types;
+typedef mpl::vector38< R, typename class_transform<T0 NDNBOOST_FT_cv, L> ::type , 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 > types;
 };
 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, 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 BOOST_FT_ell) BOOST_FT_cv, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, 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 BOOST_FT_ell) BOOST_FT_cv, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,38> function_arity;
-typedef mpl::vector39< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , 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 > types;
+typedef mpl::vector39< R, typename class_transform<T0 NDNBOOST_FT_cv, L> ::type , 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 > types;
 };
 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, 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 BOOST_FT_ell) BOOST_FT_cv, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, 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 BOOST_FT_ell) BOOST_FT_cv, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,39> function_arity;
-typedef mpl::vector40< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , 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 > types;
+typedef mpl::vector40< R, typename class_transform<T0 NDNBOOST_FT_cv, L> ::type , 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 > types;
 };
 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, 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 BOOST_FT_ell) BOOST_FT_cv, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, 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 BOOST_FT_ell) BOOST_FT_cv, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,40> function_arity;
-typedef mpl::vector41< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , 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 > types;
+typedef mpl::vector41< R, typename class_transform<T0 NDNBOOST_FT_cv, L> ::type , 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 > types;
 };
 
diff --git a/include/ndnboost/function_types/detail/components_impl/arity50_0.hpp b/include/ndnboost/function_types/detail/components_impl/arity50_0.hpp
index b2fda73..769f6b4 100644
--- a/include/ndnboost/function_types/detail/components_impl/arity50_0.hpp
+++ b/include/ndnboost/function_types/detail/components_impl/arity50_0.hpp
@@ -8,114 +8,114 @@
 
 // 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/components_impl/arity40_0.hpp>
 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , 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, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , 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, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , 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, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , 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, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,41> function_arity;
 typedef mpl::vector42< R , T0 , 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 > types;
 };
 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , 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, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , 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, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , 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, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , 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, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,42> function_arity;
 typedef mpl::vector43< R , T0 , 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 > types;
 };
 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , 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, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , 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, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , 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, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , 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, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,43> function_arity;
 typedef mpl::vector44< R , T0 , 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 > types;
 };
 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , 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, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , 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, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , 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, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , 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, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,44> function_arity;
 typedef mpl::vector45< R , T0 , 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 > types;
 };
 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , 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, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , 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, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , 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, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , 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, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,45> function_arity;
 typedef mpl::vector46< R , T0 , 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 > types;
 };
 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , 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, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , 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, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , 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, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , 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, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,46> function_arity;
 typedef mpl::vector47< R , T0 , 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 > types;
 };
 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , 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, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , 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, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , 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, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , 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, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,47> function_arity;
 typedef mpl::vector48< R , T0 , 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 > types;
 };
 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , 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, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , 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, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , 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, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , 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, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,48> function_arity;
 typedef mpl::vector49< R , T0 , 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 > types;
 };
 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , 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, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , 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, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , 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, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , 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, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,49> function_arity;
 typedef mpl::vector50< R , T0 , 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 > types;
 };
 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, typename L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , 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, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , 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, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , 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, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, NDNBOOST_PP_EMPTY) (T0 , 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, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,50> function_arity;
 typedef mpl::vector51< R , T0 , 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 > types;
diff --git a/include/ndnboost/function_types/detail/components_impl/arity50_1.hpp b/include/ndnboost/function_types/detail/components_impl/arity50_1.hpp
index 67fd9c8..d37a56f 100644
--- a/include/ndnboost/function_types/detail/components_impl/arity50_1.hpp
+++ b/include/ndnboost/function_types/detail/components_impl/arity50_1.hpp
@@ -8,116 +8,116 @@
 
 // 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/components_impl/arity40_1.hpp>
 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, 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, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, 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, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, 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, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, 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, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,41> function_arity;
-typedef mpl::vector42< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , 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 > types;
+typedef mpl::vector42< R, typename class_transform<T0 NDNBOOST_FT_cv, L> ::type , 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 > types;
 };
 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, 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, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, 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, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, 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, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, 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, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,42> function_arity;
-typedef mpl::vector43< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , 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 > types;
+typedef mpl::vector43< R, typename class_transform<T0 NDNBOOST_FT_cv, L> ::type , 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 > types;
 };
 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, 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, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, 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, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, 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, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, 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, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,43> function_arity;
-typedef mpl::vector44< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , 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 > types;
+typedef mpl::vector44< R, typename class_transform<T0 NDNBOOST_FT_cv, L> ::type , 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 > types;
 };
 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, 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, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, 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, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, 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, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, 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, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,44> function_arity;
-typedef mpl::vector45< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , 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 > types;
+typedef mpl::vector45< R, typename class_transform<T0 NDNBOOST_FT_cv, L> ::type , 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 > types;
 };
 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, 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, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, 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, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, 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, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, 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, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,45> function_arity;
-typedef mpl::vector46< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , 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 > types;
+typedef mpl::vector46< R, typename class_transform<T0 NDNBOOST_FT_cv, L> ::type , 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 > types;
 };
 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, 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, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, 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, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, 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, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, 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, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,46> function_arity;
-typedef mpl::vector47< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , 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 > types;
+typedef mpl::vector47< R, typename class_transform<T0 NDNBOOST_FT_cv, L> ::type , 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 > types;
 };
 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, 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, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, 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, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, 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, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, 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, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,47> function_arity;
-typedef mpl::vector48< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , 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 > types;
+typedef mpl::vector48< R, typename class_transform<T0 NDNBOOST_FT_cv, L> ::type , 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 > types;
 };
 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, 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, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, 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, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, 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, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, 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, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,48> function_arity;
-typedef mpl::vector49< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , 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 > types;
+typedef mpl::vector49< R, typename class_transform<T0 NDNBOOST_FT_cv, L> ::type , 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 > types;
 };
 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 L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, 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, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, 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, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, 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, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, 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, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,49> function_arity;
-typedef mpl::vector50< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , 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 > types;
+typedef mpl::vector50< R, typename class_transform<T0 NDNBOOST_FT_cv, L> ::type , 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 > types;
 };
 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, typename L>
-struct components_impl<BOOST_FT_syntax(BOOST_FT_cc, 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, L>
+struct components_impl<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, 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, L>
 {
-typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-typedef constant<BOOST_FT_full_mask> mask;
-typedef function_types::components<BOOST_FT_syntax(BOOST_FT_cc, 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, L> type;
+typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+typedef constant<NDNBOOST_FT_full_mask> mask;
+typedef function_types::components<NDNBOOST_FT_syntax(NDNBOOST_FT_cc, 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, L> type;
 typedef components_mpl_sequence_tag tag;
 typedef mpl::integral_c<std::size_t,50> function_arity;
-typedef mpl::vector51< R, typename class_transform<T0 BOOST_FT_cv, L> ::type , 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 > types;
+typedef mpl::vector51< R, typename class_transform<T0 NDNBOOST_FT_cv, L> ::type , 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 > types;
 };
 
diff --git a/include/ndnboost/function_types/detail/components_impl/master.hpp b/include/ndnboost/function_types/detail/components_impl/master.hpp
index cf3ca88..caaf63e 100644
--- a/include/ndnboost/function_types/detail/components_impl/master.hpp
+++ b/include/ndnboost/function_types/detail/components_impl/master.hpp
@@ -8,10 +8,10 @@
 
 // no include guards, this file is intended for multiple inclusion
 
-#if   BOOST_FT_ARITY_LOOP_PREFIX
+#if   NDNBOOST_FT_ARITY_LOOP_PREFIX
 
-#   ifndef BOOST_FT_DETAIL_COMPONENTS_IMPL_MASTER_HPP_INCLUDED
-#   define BOOST_FT_DETAIL_COMPONENTS_IMPL_MASTER_HPP_INCLUDED
+#   ifndef NDNBOOST_FT_DETAIL_COMPONENTS_IMPL_MASTER_HPP_INCLUDED
+#   define NDNBOOST_FT_DETAIL_COMPONENTS_IMPL_MASTER_HPP_INCLUDED
 #     include <ndnboost/preprocessor/cat.hpp>
 #     include <ndnboost/preprocessor/facilities/empty.hpp>
 #     include <ndnboost/preprocessor/facilities/identity.hpp>
@@ -19,41 +19,41 @@
 #     include <ndnboost/preprocessor/punctuation/comma_if.hpp>
 #   endif
 
-#   define BOOST_FT_type_name
+#   define NDNBOOST_FT_type_name
 
-#   if !BOOST_FT_mfp
+#   if !NDNBOOST_FT_mfp
 
-#     define BOOST_FT_types \
-          R BOOST_PP_COMMA_IF(BOOST_FT_arity) BOOST_FT_params(BOOST_PP_EMPTY)
+#     define NDNBOOST_FT_types \
+          R NDNBOOST_PP_COMMA_IF(NDNBOOST_FT_arity) NDNBOOST_FT_params(NDNBOOST_PP_EMPTY)
 #   else
 
-#     define BOOST_FT_types \
-          R, typename class_transform<T0 BOOST_FT_cv, L>::type \
-          BOOST_PP_COMMA_IF(BOOST_PP_DEC(BOOST_FT_arity)) \
-          BOOST_FT_params(BOOST_PP_EMPTY)
+#     define NDNBOOST_FT_types \
+          R, typename class_transform<T0 NDNBOOST_FT_cv, L>::type \
+          NDNBOOST_PP_COMMA_IF(NDNBOOST_PP_DEC(NDNBOOST_FT_arity)) \
+          NDNBOOST_FT_params(NDNBOOST_PP_EMPTY)
 
 #   endif
 
-#elif BOOST_FT_ARITY_LOOP_IS_ITERATING
+#elif NDNBOOST_FT_ARITY_LOOP_IS_ITERATING
 
-template< BOOST_FT_tplargs(BOOST_PP_IDENTITY(typename)), typename L>
-struct components_impl<BOOST_FT_type, L>
+template< NDNBOOST_FT_tplargs(NDNBOOST_PP_IDENTITY(typename)), typename L>
+struct components_impl<NDNBOOST_FT_type, L>
 {
-  typedef encode_bits<BOOST_FT_flags,BOOST_FT_cc_id> bits;
-  typedef constant<BOOST_FT_full_mask> mask;
+  typedef encode_bits<NDNBOOST_FT_flags,NDNBOOST_FT_cc_id> bits;
+  typedef constant<NDNBOOST_FT_full_mask> mask;
 
-  typedef function_types::components<BOOST_FT_type, L> type;
+  typedef function_types::components<NDNBOOST_FT_type, L> type;
   typedef components_mpl_sequence_tag tag;
 
-  typedef mpl::integral_c<std::size_t,BOOST_FT_arity> function_arity;
+  typedef mpl::integral_c<std::size_t,NDNBOOST_FT_arity> function_arity;
 
-  typedef BOOST_PP_CAT(mpl::vector,BOOST_FT_n)< BOOST_FT_types > types;
+  typedef NDNBOOST_PP_CAT(mpl::vector,NDNBOOST_FT_n)< NDNBOOST_FT_types > types;
 };
 
-#elif BOOST_FT_ARITY_LOOP_SUFFIX
+#elif NDNBOOST_FT_ARITY_LOOP_SUFFIX
 
-#   undef BOOST_FT_types
-#   undef BOOST_FT_type_name
+#   undef NDNBOOST_FT_types
+#   undef NDNBOOST_FT_type_name
 
 #else
 #   error "attempt to use arity loop master file without loop"
diff --git a/include/ndnboost/function_types/detail/cv_traits.hpp b/include/ndnboost/function_types/detail/cv_traits.hpp
index 297ddf4..60e7bf1 100644
--- a/include/ndnboost/function_types/detail/cv_traits.hpp
+++ b/include/ndnboost/function_types/detail/cv_traits.hpp
@@ -6,14 +6,14 @@
 
 //------------------------------------------------------------------------------
 
-#ifndef BOOST_FT_DETAIL_CV_TRAITS_HPP_INCLUDED
-#define BOOST_FT_DETAIL_CV_TRAITS_HPP_INCLUDED
+#ifndef NDNBOOST_FT_DETAIL_CV_TRAITS_HPP_INCLUDED
+#define NDNBOOST_FT_DETAIL_CV_TRAITS_HPP_INCLUDED
 
 #include <cstddef>
 #include <ndnboost/detail/workaround.hpp>
 
-#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
-    || BOOST_WORKAROUND(__BORLANDC__, <= 0x582)
+#if defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
+    || NDNBOOST_WORKAROUND(__BORLANDC__, <= 0x582)
 #   include <ndnboost/type_traits/remove_cv.hpp>
 #   include <ndnboost/type_traits/remove_pointer.hpp>
 #   include <ndnboost/type_traits/remove_reference.hpp>
@@ -23,8 +23,8 @@
 
 namespace ndnboost { namespace function_types { namespace detail {
 
-#if ! (defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
-    || BOOST_WORKAROUND(__BORLANDC__, <= 0x582))
+#if ! (defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
+    || NDNBOOST_WORKAROUND(__BORLANDC__, <= 0x582))
 
 template<typename T> struct cv_traits 
 { typedef non_cv tag; typedef T type; };
@@ -107,7 +107,7 @@
 struct cv_code
 {
   static T _t;
-  BOOST_STATIC_CONSTANT(std::size_t, value = 
+  NDNBOOST_STATIC_CONSTANT(std::size_t, value = 
       sizeof(::ndnboost::function_types::detail::switch_cv(
          ::ndnboost::function_types::detail::ref_to_ptr(_t) ) ));
 };
diff --git a/include/ndnboost/function_types/detail/encoding/aliases_def.hpp b/include/ndnboost/function_types/detail/encoding/aliases_def.hpp
index 4d48331..34164d4 100644
--- a/include/ndnboost/function_types/detail/encoding/aliases_def.hpp
+++ b/include/ndnboost/function_types/detail/encoding/aliases_def.hpp
@@ -8,9 +8,9 @@
 
 // no include guards, this file is intended for multiple inclusions
 
-#define callable_builtin BOOST_FT_callable_builtin
-#define member           BOOST_FT_member_pointer
-#define non_member       BOOST_FT_non_member
-#define variadic         BOOST_FT_variadic
-#define non_variadic     BOOST_FT_non_variadic
+#define callable_builtin NDNBOOST_FT_callable_builtin
+#define member           NDNBOOST_FT_member_pointer
+#define non_member       NDNBOOST_FT_non_member
+#define variadic         NDNBOOST_FT_variadic
+#define non_variadic     NDNBOOST_FT_non_variadic
 
diff --git a/include/ndnboost/function_types/detail/encoding/def.hpp b/include/ndnboost/function_types/detail/encoding/def.hpp
index 08074fb..f733447 100644
--- a/include/ndnboost/function_types/detail/encoding/def.hpp
+++ b/include/ndnboost/function_types/detail/encoding/def.hpp
@@ -19,33 +19,33 @@
 // bit 6: member function pointer
 // bit 7: member object pointer
 
-#define BOOST_FT_type_mask                            0x000000ff // 1111 1111 
-#define BOOST_FT_callable_builtin                     0x00000001 // 0000 0001
-#define BOOST_FT_non_member                           0x00000002 // 0000 0010
-#define BOOST_FT_function                             0x00000007 // 0000 0111
-#define BOOST_FT_pointer                              0x0000000b // 0000 1011
-#define BOOST_FT_reference                            0x00000013 // 0001 0011
-#define BOOST_FT_non_member_callable_builtin          0x00000003 // 0000 0011
-#define BOOST_FT_member_pointer                       0x00000020 // 0010 0000
-#define BOOST_FT_member_function_pointer              0x00000061 // 0110 0001
-#define BOOST_FT_member_object_pointer                0x000000a3 // 1010 0001
-#define BOOST_FT_member_object_pointer_flags          0x000002a3
+#define NDNBOOST_FT_type_mask                            0x000000ff // 1111 1111 
+#define NDNBOOST_FT_callable_builtin                     0x00000001 // 0000 0001
+#define NDNBOOST_FT_non_member                           0x00000002 // 0000 0010
+#define NDNBOOST_FT_function                             0x00000007 // 0000 0111
+#define NDNBOOST_FT_pointer                              0x0000000b // 0000 1011
+#define NDNBOOST_FT_reference                            0x00000013 // 0001 0011
+#define NDNBOOST_FT_non_member_callable_builtin          0x00000003 // 0000 0011
+#define NDNBOOST_FT_member_pointer                       0x00000020 // 0010 0000
+#define NDNBOOST_FT_member_function_pointer              0x00000061 // 0110 0001
+#define NDNBOOST_FT_member_object_pointer                0x000000a3 // 1010 0001
+#define NDNBOOST_FT_member_object_pointer_flags          0x000002a3
 
-#define BOOST_FT_variadic                             0x00000100
-#define BOOST_FT_non_variadic                         0x00000200
-#define BOOST_FT_variadic_mask                        0x00000300
+#define NDNBOOST_FT_variadic                             0x00000100
+#define NDNBOOST_FT_non_variadic                         0x00000200
+#define NDNBOOST_FT_variadic_mask                        0x00000300
 
-#define BOOST_FT_const                                0x00000400
-#define BOOST_FT_volatile                             0x00000800
+#define NDNBOOST_FT_const                                0x00000400
+#define NDNBOOST_FT_volatile                             0x00000800
 
-#define BOOST_FT_default_cc                           0x00008000
-#define BOOST_FT_cc_mask                              0x00ff8000
+#define NDNBOOST_FT_default_cc                           0x00008000
+#define NDNBOOST_FT_cc_mask                              0x00ff8000
 
-#define BOOST_FT_kind_mask                            0x000000fc 
+#define NDNBOOST_FT_kind_mask                            0x000000fc 
 
-#define BOOST_FT_flags_mask                           0x00000fff
-#define BOOST_FT_full_mask                            0x00ff0fff
+#define NDNBOOST_FT_flags_mask                           0x00000fff
+#define NDNBOOST_FT_full_mask                            0x00ff0fff
 
-#define BOOST_FT_arity_shift                          24
-#define BOOST_FT_arity_mask                           0x7f000000
+#define NDNBOOST_FT_arity_shift                          24
+#define NDNBOOST_FT_arity_mask                           0x7f000000
 
diff --git a/include/ndnboost/function_types/detail/encoding/undef.hpp b/include/ndnboost/function_types/detail/encoding/undef.hpp
index 1920d6f..5f12327 100644
--- a/include/ndnboost/function_types/detail/encoding/undef.hpp
+++ b/include/ndnboost/function_types/detail/encoding/undef.hpp
@@ -8,31 +8,31 @@
 
 // no include guards, this file is intended for multiple inclusion
 
-#undef BOOST_FT_type_mask
-#undef BOOST_FT_kind_mask
-#undef BOOST_FT_callable_builtin
-#undef BOOST_FT_non_member
-#undef BOOST_FT_function
-#undef BOOST_FT_pointer
-#undef BOOST_FT_reference
-#undef BOOST_FT_non_member_callable_builtin
-#undef BOOST_FT_member_pointer
-#undef BOOST_FT_member_function_pointer
-#undef BOOST_FT_member_object_pointer
-#undef BOOST_FT_member_object_pointer_flags
+#undef NDNBOOST_FT_type_mask
+#undef NDNBOOST_FT_kind_mask
+#undef NDNBOOST_FT_callable_builtin
+#undef NDNBOOST_FT_non_member
+#undef NDNBOOST_FT_function
+#undef NDNBOOST_FT_pointer
+#undef NDNBOOST_FT_reference
+#undef NDNBOOST_FT_non_member_callable_builtin
+#undef NDNBOOST_FT_member_pointer
+#undef NDNBOOST_FT_member_function_pointer
+#undef NDNBOOST_FT_member_object_pointer
+#undef NDNBOOST_FT_member_object_pointer_flags
 
-#undef BOOST_FT_variadic
-#undef BOOST_FT_non_variadic
-#undef BOOST_FT_variadic_mask
+#undef NDNBOOST_FT_variadic
+#undef NDNBOOST_FT_non_variadic
+#undef NDNBOOST_FT_variadic_mask
 
-#undef BOOST_FT_const
-#undef BOOST_FT_volatile
+#undef NDNBOOST_FT_const
+#undef NDNBOOST_FT_volatile
 
-#undef BOOST_FT_default_cc
-#undef BOOST_FT_cc_mask
+#undef NDNBOOST_FT_default_cc
+#undef NDNBOOST_FT_cc_mask
 
-#undef BOOST_FT_flags_mask
-#undef BOOST_FT_full_mask
+#undef NDNBOOST_FT_flags_mask
+#undef NDNBOOST_FT_full_mask
 
-#undef BOOST_FT_arity_mask
+#undef NDNBOOST_FT_arity_mask
 
diff --git a/include/ndnboost/function_types/detail/pp_arity_loop.hpp b/include/ndnboost/function_types/detail/pp_arity_loop.hpp
index 37989e9..62b591e 100644
--- a/include/ndnboost/function_types/detail/pp_arity_loop.hpp
+++ b/include/ndnboost/function_types/detail/pp_arity_loop.hpp
@@ -8,67 +8,67 @@
 
 // no include guards, this file is intended for multiple inclusion
 
-#ifndef BOOST_FT_PREPROCESSING_MODE
-// input:  BOOST_FT_mfp        0 or 1 <=> member function pointer?
-// input:  BOOST_FT_type_name  BOOST_FT_type --> "R (* ..._type_name)()" (pass2)
+#ifndef NDNBOOST_FT_PREPROCESSING_MODE
+// input:  NDNBOOST_FT_mfp        0 or 1 <=> member function pointer?
+// input:  NDNBOOST_FT_type_name  NDNBOOST_FT_type --> "R (* ..._type_name)()" (pass2)
 #endif
-// 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
 
 #ifdef __WAVE__
 #   pragma wave option(preserve: 0)
 #endif
 
-#ifndef BOOST_FT_ARITY_LOOP_IS_ITERATING
+#ifndef NDNBOOST_FT_ARITY_LOOP_IS_ITERATING
 
-#   define BOOST_FT_AL_PREPROCESSED \
-        BOOST_FT_AL_FILE(BOOST_FT_al_path,BOOST_FT_FROM_ARITY,BOOST_FT_mfp)
+#   define NDNBOOST_FT_AL_PREPROCESSED \
+        NDNBOOST_FT_AL_FILE(NDNBOOST_FT_al_path,NDNBOOST_FT_FROM_ARITY,NDNBOOST_FT_mfp)
 
-#   define BOOST_FT_AL_FILE(base_path,max_arity,mfp) \
-        BOOST_FT_AL_FILE_I(base_path,max_arity,mfp)
-#   define BOOST_FT_AL_FILE_I(base_path,max_arity,mfp) \
+#   define NDNBOOST_FT_AL_FILE(base_path,max_arity,mfp) \
+        NDNBOOST_FT_AL_FILE_I(base_path,max_arity,mfp)
+#   define NDNBOOST_FT_AL_FILE_I(base_path,max_arity,mfp) \
         <base_path/arity ## max_arity ## _ ## mfp.hpp>
 
-#   if !defined(BOOST_FT_PREPROCESSING_MODE)
+#   if !defined(NDNBOOST_FT_PREPROCESSING_MODE)
 
-#     if BOOST_FT_MAX_ARITY < 10
-#       define BOOST_FT_FROM_ARITY 0 
-#     elif BOOST_FT_MAX_ARITY < 20
-#       define BOOST_FT_FROM_ARITY 10
-#     elif BOOST_FT_MAX_ARITY < 30
-#       define BOOST_FT_FROM_ARITY 20
-#     elif BOOST_FT_MAX_ARITY < 40
-#       define BOOST_FT_FROM_ARITY 30
+#     if NDNBOOST_FT_MAX_ARITY < 10
+#       define NDNBOOST_FT_FROM_ARITY 0 
+#     elif NDNBOOST_FT_MAX_ARITY < 20
+#       define NDNBOOST_FT_FROM_ARITY 10
+#     elif NDNBOOST_FT_MAX_ARITY < 30
+#       define NDNBOOST_FT_FROM_ARITY 20
+#     elif NDNBOOST_FT_MAX_ARITY < 40
+#       define NDNBOOST_FT_FROM_ARITY 30
 #     endif
 
-#     if BOOST_FT_FROM_ARITY
-#       include BOOST_FT_AL_PREPROCESSED
+#     if NDNBOOST_FT_FROM_ARITY
+#       include NDNBOOST_FT_AL_PREPROCESSED
 #     endif
 
-#   elif !defined(BOOST_FT_FROM_ARITY) // single pass preprocessing
-#     define BOOST_FT_FROM_ARITY 0
+#   elif !defined(NDNBOOST_FT_FROM_ARITY) // single pass preprocessing
+#     define NDNBOOST_FT_FROM_ARITY 0
 
-#   elif BOOST_FT_FROM_ARITY > 0       // arity20 includes arity10
-BOOST_PP_EXPAND(#) include BOOST_FT_AL_PREPROCESSED
+#   elif NDNBOOST_FT_FROM_ARITY > 0       // arity20 includes arity10
+NDNBOOST_PP_EXPAND(#) include NDNBOOST_FT_AL_PREPROCESSED
 #   endif
 
-#   undef BOOST_FT_AL_PREPROCESSED
+#   undef NDNBOOST_FT_AL_PREPROCESSED
 
-#   undef BOOST_FT_AL_FILE
-#   undef BOOST_FT_AL_FILE_I
+#   undef NDNBOOST_FT_AL_FILE
+#   undef NDNBOOST_FT_AL_FILE_I
 
-#   if BOOST_FT_MAX_ARITY > BOOST_FT_FROM_ARITY
+#   if NDNBOOST_FT_MAX_ARITY > NDNBOOST_FT_FROM_ARITY
 
-#     ifndef BOOST_FT_DETAIL_ARITY_LOOP_HPP_INCLUDED
-#     define BOOST_FT_DETAIL_ARITY_LOOP_HPP_INCLUDED
+#     ifndef NDNBOOST_FT_DETAIL_ARITY_LOOP_HPP_INCLUDED
+#     define NDNBOOST_FT_DETAIL_ARITY_LOOP_HPP_INCLUDED
 #         include <ndnboost/preprocessor/cat.hpp>
 #         include <ndnboost/preprocessor/tuple/eat.hpp>
 #         include <ndnboost/preprocessor/control/if.hpp>
@@ -81,67 +81,67 @@
 #         include <ndnboost/preprocessor/repetition/enum_trailing_params.hpp>
 #     endif
 
-#     define BOOST_FT_AL_INCLUDE_FILE <BOOST_FT_al_path/master.hpp>
+#     define NDNBOOST_FT_AL_INCLUDE_FILE <NDNBOOST_FT_al_path/master.hpp>
 
-#     define BOOST_FT_ARITY_LOOP_PREFIX 1
-#     include BOOST_FT_AL_INCLUDE_FILE
-#     undef  BOOST_FT_ARITY_LOOP_PREFIX
+#     define NDNBOOST_FT_ARITY_LOOP_PREFIX 1
+#     include NDNBOOST_FT_AL_INCLUDE_FILE
+#     undef  NDNBOOST_FT_ARITY_LOOP_PREFIX
 
-#     if !BOOST_PP_IS_ITERATING
-#       define BOOST_PP_FILENAME_1 BOOST_FT_AL_INCLUDE_FILE
-#     elif BOOST_PP_ITERATION_DEPTH() == 1
-#       define BOOST_PP_FILENAME_2 BOOST_FT_AL_INCLUDE_FILE
+#     if !NDNBOOST_PP_IS_ITERATING
+#       define NDNBOOST_PP_FILENAME_1 NDNBOOST_FT_AL_INCLUDE_FILE
+#     elif NDNBOOST_PP_ITERATION_DEPTH() == 1
+#       define NDNBOOST_PP_FILENAME_2 NDNBOOST_FT_AL_INCLUDE_FILE
 #     else
 #       error "loops nested too deeply"
 #     endif
 
-#     define BOOST_FT_arity BOOST_PP_ITERATION()
-#     define BOOST_FT_n     BOOST_PP_INC(BOOST_FT_arity)
+#     define NDNBOOST_FT_arity NDNBOOST_PP_ITERATION()
+#     define NDNBOOST_FT_n     NDNBOOST_PP_INC(NDNBOOST_FT_arity)
 
-#     define BOOST_FT_type \
-          BOOST_FT_syntax(BOOST_FT_cc,BOOST_FT_type_name BOOST_PP_EMPTY)\
-               (BOOST_FT_params(BOOST_PP_EMPTY) BOOST_FT_ell) BOOST_FT_cv
+#     define NDNBOOST_FT_type \
+          NDNBOOST_FT_syntax(NDNBOOST_FT_cc,NDNBOOST_FT_type_name NDNBOOST_PP_EMPTY)\
+               (NDNBOOST_FT_params(NDNBOOST_PP_EMPTY) NDNBOOST_FT_ell) NDNBOOST_FT_cv
 
-#     define BOOST_FT_tplargs(prefx) \
-          prefx() R BOOST_PP_ENUM_TRAILING_PARAMS(BOOST_FT_arity,prefx() T)
+#     define NDNBOOST_FT_tplargs(prefx) \
+          prefx() R NDNBOOST_PP_ENUM_TRAILING_PARAMS(NDNBOOST_FT_arity,prefx() T)
 
-#     if !BOOST_FT_mfp
+#     if !NDNBOOST_FT_mfp
 
-#       define BOOST_FT_params(prefx) \
-            BOOST_PP_IF(BOOST_FT_arity,BOOST_PP_ENUM_PARAMS, \
-                BOOST_FT_nullary_param BOOST_PP_TUPLE_EAT(2))( \
-                    BOOST_FT_arity,prefx() T) 
+#       define NDNBOOST_FT_params(prefx) \
+            NDNBOOST_PP_IF(NDNBOOST_FT_arity,NDNBOOST_PP_ENUM_PARAMS, \
+                NDNBOOST_FT_nullary_param NDNBOOST_PP_TUPLE_EAT(2))( \
+                    NDNBOOST_FT_arity,prefx() T) 
 #     else
 
-#       define BOOST_FT_params(prefx) \
-            BOOST_PP_ENUM_SHIFTED_PARAMS(BOOST_FT_arity,prefx() T)
+#       define NDNBOOST_FT_params(prefx) \
+            NDNBOOST_PP_ENUM_SHIFTED_PARAMS(NDNBOOST_FT_arity,prefx() T)
 
 #     endif
 
-#     if !BOOST_FT_FROM_ARITY 
-#       define BOOST_PP_ITERATION_LIMITS (BOOST_FT_mfp, BOOST_FT_MAX_ARITY)
+#     if !NDNBOOST_FT_FROM_ARITY 
+#       define NDNBOOST_PP_ITERATION_LIMITS (NDNBOOST_FT_mfp, NDNBOOST_FT_MAX_ARITY)
 #     else
-#       define BOOST_PP_ITERATION_LIMITS \
-            (BOOST_FT_FROM_ARITY+1, BOOST_FT_MAX_ARITY)
+#       define NDNBOOST_PP_ITERATION_LIMITS \
+            (NDNBOOST_FT_FROM_ARITY+1, NDNBOOST_FT_MAX_ARITY)
 #     endif
 
-#     define BOOST_FT_ARITY_LOOP_IS_ITERATING 1
-#     include BOOST_PP_ITERATE()
-#     undef  BOOST_FT_ARITY_LOOP_IS_ITERATING
+#     define NDNBOOST_FT_ARITY_LOOP_IS_ITERATING 1
+#     include NDNBOOST_PP_ITERATE()
+#     undef  NDNBOOST_FT_ARITY_LOOP_IS_ITERATING
 
-#     undef BOOST_FT_arity
-#     undef BOOST_FT_params
-#     undef BOOST_FT_tplargs
-#     undef BOOST_FT_type
+#     undef NDNBOOST_FT_arity
+#     undef NDNBOOST_FT_params
+#     undef NDNBOOST_FT_tplargs
+#     undef NDNBOOST_FT_type
 
-#     define BOOST_FT_ARITY_LOOP_SUFFIX 1
-#     include BOOST_FT_AL_INCLUDE_FILE
-#     undef  BOOST_FT_ARITY_LOOP_SUFFIX
+#     define NDNBOOST_FT_ARITY_LOOP_SUFFIX 1
+#     include NDNBOOST_FT_AL_INCLUDE_FILE
+#     undef  NDNBOOST_FT_ARITY_LOOP_SUFFIX
 
-#     undef BOOST_FT_AL_INCLUDE_FILE
+#     undef NDNBOOST_FT_AL_INCLUDE_FILE
 #   endif
 
-#   undef BOOST_FT_FROM_ARITY
+#   undef NDNBOOST_FT_FROM_ARITY
 
 #else
 #   error "attempt to nest arity loops"
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
 
diff --git a/include/ndnboost/function_types/detail/pp_cc_loop/preprocessed.hpp b/include/ndnboost/function_types/detail/pp_cc_loop/preprocessed.hpp
index da4079c..391ec1a 100644
--- a/include/ndnboost/function_types/detail/pp_cc_loop/preprocessed.hpp
+++ b/include/ndnboost/function_types/detail/pp_cc_loop/preprocessed.hpp
@@ -9,112 +9,112 @@
 // no include guards, this file is intended for multiple inclusions
 
 // this file has been generated from the master.hpp file in the same directory
-# define BOOST_FT_cc_id 1
-# define BOOST_FT_cc_name implicit_cc
-# define BOOST_FT_cc BOOST_PP_EMPTY
-# define BOOST_FT_cond BOOST_FT_CC_IMPLICIT
-# if BOOST_FT_cond
-# define BOOST_FT_config_valid 1
-# include BOOST_FT_cc_file
+# define NDNBOOST_FT_cc_id 1
+# define NDNBOOST_FT_cc_name implicit_cc
+# define NDNBOOST_FT_cc NDNBOOST_PP_EMPTY
+# define NDNBOOST_FT_cond NDNBOOST_FT_CC_IMPLICIT
+# if NDNBOOST_FT_cond
+# define NDNBOOST_FT_config_valid 1
+# include NDNBOOST_FT_cc_file
 # endif
-# undef BOOST_FT_cond
-# undef BOOST_FT_cc_name
-# undef BOOST_FT_cc
-# undef BOOST_FT_cc_id
-# define BOOST_FT_cc_id 2
-# define BOOST_FT_cc_name cdecl_cc
-# define BOOST_FT_cc BOOST_PP_IDENTITY(__cdecl )
-# define BOOST_FT_cond BOOST_FT_CC_CDECL
-# if BOOST_FT_cond
-# define BOOST_FT_config_valid 1
-# include BOOST_FT_cc_file
+# undef NDNBOOST_FT_cond
+# undef NDNBOOST_FT_cc_name
+# undef NDNBOOST_FT_cc
+# undef NDNBOOST_FT_cc_id
+# define NDNBOOST_FT_cc_id 2
+# define NDNBOOST_FT_cc_name cdecl_cc
+# define NDNBOOST_FT_cc NDNBOOST_PP_IDENTITY(__cdecl )
+# define NDNBOOST_FT_cond NDNBOOST_FT_CC_CDECL
+# if NDNBOOST_FT_cond
+# define NDNBOOST_FT_config_valid 1
+# include NDNBOOST_FT_cc_file
 # endif
-# undef BOOST_FT_cond
-# undef BOOST_FT_cc_name
-# undef BOOST_FT_cc
-# undef BOOST_FT_cc_id
-# define BOOST_FT_cc_id 3
-# define BOOST_FT_cc_name stdcall_cc
-# define BOOST_FT_cc BOOST_PP_IDENTITY(__stdcall )
-# define BOOST_FT_cond BOOST_FT_CC_STDCALL
-# if BOOST_FT_cond
-# define BOOST_FT_config_valid 1
-# include BOOST_FT_cc_file
+# undef NDNBOOST_FT_cond
+# undef NDNBOOST_FT_cc_name
+# undef NDNBOOST_FT_cc
+# undef NDNBOOST_FT_cc_id
+# define NDNBOOST_FT_cc_id 3
+# define NDNBOOST_FT_cc_name stdcall_cc
+# define NDNBOOST_FT_cc NDNBOOST_PP_IDENTITY(__stdcall )
+# define NDNBOOST_FT_cond NDNBOOST_FT_CC_STDCALL
+# if NDNBOOST_FT_cond
+# define NDNBOOST_FT_config_valid 1
+# include NDNBOOST_FT_cc_file
 # endif
-# undef BOOST_FT_cond
-# undef BOOST_FT_cc_name
-# undef BOOST_FT_cc
-# undef BOOST_FT_cc_id
-# define BOOST_FT_cc_id 4
-# define BOOST_FT_cc_name pascal_cc
-# define BOOST_FT_cc BOOST_PP_IDENTITY(pascal )
-# define BOOST_FT_cond BOOST_FT_CC_PASCAL
-# if BOOST_FT_cond
-# define BOOST_FT_config_valid 1
-# include BOOST_FT_cc_file
+# undef NDNBOOST_FT_cond
+# undef NDNBOOST_FT_cc_name
+# undef NDNBOOST_FT_cc
+# undef NDNBOOST_FT_cc_id
+# define NDNBOOST_FT_cc_id 4
+# define NDNBOOST_FT_cc_name pascal_cc
+# define NDNBOOST_FT_cc NDNBOOST_PP_IDENTITY(pascal )
+# define NDNBOOST_FT_cond NDNBOOST_FT_CC_PASCAL
+# if NDNBOOST_FT_cond
+# define NDNBOOST_FT_config_valid 1
+# include NDNBOOST_FT_cc_file
 # endif
-# undef BOOST_FT_cond
-# undef BOOST_FT_cc_name
-# undef BOOST_FT_cc
-# undef BOOST_FT_cc_id
-# define BOOST_FT_cc_id 5
-# define BOOST_FT_cc_name fastcall_cc
-# define BOOST_FT_cc BOOST_PP_IDENTITY(__fastcall)
-# define BOOST_FT_cond BOOST_FT_CC_FASTCALL
-# if BOOST_FT_cond
-# define BOOST_FT_config_valid 1
-# include BOOST_FT_cc_file
+# undef NDNBOOST_FT_cond
+# undef NDNBOOST_FT_cc_name
+# undef NDNBOOST_FT_cc
+# undef NDNBOOST_FT_cc_id
+# define NDNBOOST_FT_cc_id 5
+# define NDNBOOST_FT_cc_name fastcall_cc
+# define NDNBOOST_FT_cc NDNBOOST_PP_IDENTITY(__fastcall)
+# define NDNBOOST_FT_cond NDNBOOST_FT_CC_FASTCALL
+# if NDNBOOST_FT_cond
+# define NDNBOOST_FT_config_valid 1
+# include NDNBOOST_FT_cc_file
 # endif
-# undef BOOST_FT_cond
-# undef BOOST_FT_cc_name
-# undef BOOST_FT_cc
-# undef BOOST_FT_cc_id
-# define BOOST_FT_cc_id 6
-# define BOOST_FT_cc_name clrcall_cc
-# define BOOST_FT_cc BOOST_PP_IDENTITY(__clrcall )
-# define BOOST_FT_cond BOOST_FT_CC_CLRCALL
-# if BOOST_FT_cond
-# define BOOST_FT_config_valid 1
-# include BOOST_FT_cc_file
+# undef NDNBOOST_FT_cond
+# undef NDNBOOST_FT_cc_name
+# undef NDNBOOST_FT_cc
+# undef NDNBOOST_FT_cc_id
+# define NDNBOOST_FT_cc_id 6
+# define NDNBOOST_FT_cc_name clrcall_cc
+# define NDNBOOST_FT_cc NDNBOOST_PP_IDENTITY(__clrcall )
+# define NDNBOOST_FT_cond NDNBOOST_FT_CC_CLRCALL
+# if NDNBOOST_FT_cond
+# define NDNBOOST_FT_config_valid 1
+# include NDNBOOST_FT_cc_file
 # endif
-# undef BOOST_FT_cond
-# undef BOOST_FT_cc_name
-# undef BOOST_FT_cc
-# undef BOOST_FT_cc_id
-# define BOOST_FT_cc_id 7
-# define BOOST_FT_cc_name thiscall_cc
-# define BOOST_FT_cc BOOST_PP_IDENTITY(__thiscall)
-# define BOOST_FT_cond BOOST_FT_CC_THISCALL
-# if BOOST_FT_cond
-# define BOOST_FT_config_valid 1
-# include BOOST_FT_cc_file
+# undef NDNBOOST_FT_cond
+# undef NDNBOOST_FT_cc_name
+# undef NDNBOOST_FT_cc
+# undef NDNBOOST_FT_cc_id
+# define NDNBOOST_FT_cc_id 7
+# define NDNBOOST_FT_cc_name thiscall_cc
+# define NDNBOOST_FT_cc NDNBOOST_PP_IDENTITY(__thiscall)
+# define NDNBOOST_FT_cond NDNBOOST_FT_CC_THISCALL
+# if NDNBOOST_FT_cond
+# define NDNBOOST_FT_config_valid 1
+# include NDNBOOST_FT_cc_file
 # endif
-# undef BOOST_FT_cond
-# undef BOOST_FT_cc_name
-# undef BOOST_FT_cc
-# undef BOOST_FT_cc_id
-# define BOOST_FT_cc_id 8
-# define BOOST_FT_cc_name thiscall_cc
-# define BOOST_FT_cc BOOST_PP_EMPTY
-# define BOOST_FT_cond BOOST_FT_CC_IMPLICIT_THISCALL
-# if BOOST_FT_cond
-# define BOOST_FT_config_valid 1
-# include BOOST_FT_cc_file
+# undef NDNBOOST_FT_cond
+# undef NDNBOOST_FT_cc_name
+# undef NDNBOOST_FT_cc
+# undef NDNBOOST_FT_cc_id
+# define NDNBOOST_FT_cc_id 8
+# define NDNBOOST_FT_cc_name thiscall_cc
+# define NDNBOOST_FT_cc NDNBOOST_PP_EMPTY
+# define NDNBOOST_FT_cond NDNBOOST_FT_CC_IMPLICIT_THISCALL
+# if NDNBOOST_FT_cond
+# define NDNBOOST_FT_config_valid 1
+# include NDNBOOST_FT_cc_file
 # endif
-# undef BOOST_FT_cond
-# undef BOOST_FT_cc_name
-# undef BOOST_FT_cc
-# undef BOOST_FT_cc_id
-# ifndef BOOST_FT_config_valid
-# define BOOST_FT_cc_id 1
-# define BOOST_FT_cc_name implicit_cc
-# define BOOST_FT_cc BOOST_PP_EMPTY
-# define BOOST_FT_cond 0x00000001
-# include BOOST_FT_cc_file
-# undef BOOST_FT_cond
-# undef BOOST_FT_cc_name
-# undef BOOST_FT_cc
-# undef BOOST_FT_cc_id
+# undef NDNBOOST_FT_cond
+# undef NDNBOOST_FT_cc_name
+# undef NDNBOOST_FT_cc
+# undef NDNBOOST_FT_cc_id
+# ifndef NDNBOOST_FT_config_valid
+# define NDNBOOST_FT_cc_id 1
+# define NDNBOOST_FT_cc_name implicit_cc
+# define NDNBOOST_FT_cc NDNBOOST_PP_EMPTY
+# define NDNBOOST_FT_cond 0x00000001
+# include NDNBOOST_FT_cc_file
+# undef NDNBOOST_FT_cond
+# undef NDNBOOST_FT_cc_name
+# undef NDNBOOST_FT_cc
+# undef NDNBOOST_FT_cc_id
 # else
-# undef BOOST_FT_config_valid
+# undef NDNBOOST_FT_config_valid
 # endif
diff --git a/include/ndnboost/function_types/detail/pp_loop.hpp b/include/ndnboost/function_types/detail/pp_loop.hpp
index 1ce6ab7..1b6e7ba 100644
--- a/include/ndnboost/function_types/detail/pp_loop.hpp
+++ b/include/ndnboost/function_types/detail/pp_loop.hpp
@@ -8,8 +8,8 @@
 
 // no include guards, this file is intended for multiple inclusions
 
-#ifndef BOOST_FT_DETAIL_PP_LOOP_HPP_INCLUDED
-#define BOOST_FT_DETAIL_PP_LOOP_HPP_INCLUDED
+#ifndef NDNBOOST_FT_DETAIL_PP_LOOP_HPP_INCLUDED
+#define NDNBOOST_FT_DETAIL_PP_LOOP_HPP_INCLUDED
 #   include <ndnboost/preprocessor/facilities/expand.hpp>
 #   include <ndnboost/preprocessor/facilities/empty.hpp>
 #   include <ndnboost/preprocessor/punctuation/paren.hpp>
@@ -18,53 +18,53 @@
 #include <ndnboost/function_types/detail/encoding/def.hpp>
 #include <ndnboost/function_types/detail/encoding/aliases_def.hpp>
 
-#if defined(BOOST_FT_PREPROCESSING_MODE)
-#   define BOOST_FT_loop <ndnboost/function_types/detail/pp_cc_loop/master.hpp>
+#if defined(NDNBOOST_FT_PREPROCESSING_MODE)
+#   define NDNBOOST_FT_loop <ndnboost/function_types/detail/pp_cc_loop/master.hpp>
 #else
-#   define BOOST_FT_loop \
+#   define NDNBOOST_FT_loop \
         <ndnboost/function_types/detail/pp_cc_loop/preprocessed.hpp>
 #endif
 
-#if defined(BOOST_FT_al_path)
+#if defined(NDNBOOST_FT_al_path)
 
-#   define BOOST_FT_cc_file \
+#   define NDNBOOST_FT_cc_file \
         <ndnboost/function_types/detail/pp_variate_loop/preprocessed.hpp>
-#   define BOOST_FT_variate_file \
+#   define NDNBOOST_FT_variate_file \
         <ndnboost/function_types/detail/pp_arity_loop.hpp>
 
-#   ifndef BOOST_FT_type_function
-#   define BOOST_FT_type_function(cc,name) BOOST_FT_SYNTAX( \
-      R BOOST_PP_EMPTY,BOOST_PP_EMPTY,cc,BOOST_PP_EMPTY,name,BOOST_PP_EMPTY)
+#   ifndef NDNBOOST_FT_type_function
+#   define NDNBOOST_FT_type_function(cc,name) NDNBOOST_FT_SYNTAX( \
+      R NDNBOOST_PP_EMPTY,NDNBOOST_PP_EMPTY,cc,NDNBOOST_PP_EMPTY,name,NDNBOOST_PP_EMPTY)
 #   endif
-#   ifndef BOOST_FT_type_function_pointer
-#   define BOOST_FT_type_function_pointer(cc,name) BOOST_FT_SYNTAX( \
-      R BOOST_PP_EMPTY,BOOST_PP_LPAREN,cc,* BOOST_PP_EMPTY,name,BOOST_PP_RPAREN)
+#   ifndef NDNBOOST_FT_type_function_pointer
+#   define NDNBOOST_FT_type_function_pointer(cc,name) NDNBOOST_FT_SYNTAX( \
+      R NDNBOOST_PP_EMPTY,NDNBOOST_PP_LPAREN,cc,* NDNBOOST_PP_EMPTY,name,NDNBOOST_PP_RPAREN)
 #   endif
-#   ifndef BOOST_FT_type_function_reference
-#   define BOOST_FT_type_function_reference(cc,name) BOOST_FT_SYNTAX( \
-      R BOOST_PP_EMPTY,BOOST_PP_LPAREN,cc,& BOOST_PP_EMPTY,name,BOOST_PP_RPAREN)
+#   ifndef NDNBOOST_FT_type_function_reference
+#   define NDNBOOST_FT_type_function_reference(cc,name) NDNBOOST_FT_SYNTAX( \
+      R NDNBOOST_PP_EMPTY,NDNBOOST_PP_LPAREN,cc,& NDNBOOST_PP_EMPTY,name,NDNBOOST_PP_RPAREN)
 #   endif
-#   ifndef BOOST_FT_type_member_function_pointer
-#   define BOOST_FT_type_member_function_pointer(cc,name) BOOST_FT_SYNTAX( \
-      R BOOST_PP_EMPTY,BOOST_PP_LPAREN,cc,T0::* BOOST_PP_EMPTY,name,BOOST_PP_RPAREN)
+#   ifndef NDNBOOST_FT_type_member_function_pointer
+#   define NDNBOOST_FT_type_member_function_pointer(cc,name) NDNBOOST_FT_SYNTAX( \
+      R NDNBOOST_PP_EMPTY,NDNBOOST_PP_LPAREN,cc,T0::* NDNBOOST_PP_EMPTY,name,NDNBOOST_PP_RPAREN)
 #   endif
 
-#   include BOOST_FT_loop
+#   include NDNBOOST_FT_loop
 
-#   undef BOOST_FT_type_function
-#   undef BOOST_FT_type_function_pointer
-#   undef BOOST_FT_type_function_reference
-#   undef BOOST_FT_type_member_function_pointer
+#   undef NDNBOOST_FT_type_function
+#   undef NDNBOOST_FT_type_function_pointer
+#   undef NDNBOOST_FT_type_function_reference
+#   undef NDNBOOST_FT_type_member_function_pointer
 
-#   undef BOOST_FT_variations
-#   undef BOOST_FT_variate_file
-#   undef BOOST_FT_cc_file
-#   undef BOOST_FT_al_path
+#   undef NDNBOOST_FT_variations
+#   undef NDNBOOST_FT_variate_file
+#   undef NDNBOOST_FT_cc_file
+#   undef NDNBOOST_FT_al_path
 
-#elif defined(BOOST_FT_cc_file)
+#elif defined(NDNBOOST_FT_cc_file)
 
-#   include BOOST_FT_loop
-#   undef BOOST_FT_cc_file
+#   include NDNBOOST_FT_loop
+#   undef NDNBOOST_FT_cc_file
 
 #else
 
@@ -72,7 +72,7 @@
 
 #endif
 
-#undef BOOST_FT_loop
+#undef NDNBOOST_FT_loop
 
 #include <ndnboost/function_types/detail/encoding/aliases_undef.hpp>
 #include <ndnboost/function_types/detail/encoding/undef.hpp>
diff --git a/include/ndnboost/function_types/detail/pp_retag_default_cc/master.hpp b/include/ndnboost/function_types/detail/pp_retag_default_cc/master.hpp
index 2b0f2f8..292a5bd 100644
--- a/include/ndnboost/function_types/detail/pp_retag_default_cc/master.hpp
+++ b/include/ndnboost/function_types/detail/pp_retag_default_cc/master.hpp
@@ -13,7 +13,7 @@
 #   pragma wave option(preserve: 0)
 #endif
 
-#if !defined(BOOST_PP_VALUE)
+#if !defined(NDNBOOST_PP_VALUE)
 #   include <ndnboost/preprocessor/slot/slot.hpp>
 #   include <ndnboost/preprocessor/iteration/self.hpp>
 
@@ -26,12 +26,12 @@
 {
   template<class Tag, class RefTag> struct selector_bits
   {
-#   define  BOOST_PP_VALUE non_member|member|non_variadic|variadic
-#   include BOOST_PP_ASSIGN_SLOT(1)
+#   define  NDNBOOST_PP_VALUE non_member|member|non_variadic|variadic
+#   include NDNBOOST_PP_ASSIGN_SLOT(1)
 
-    BOOST_STATIC_CONSTANT(bits_t, value = (
-        (::ndnboost::function_types::detail::bits<Tag>::value & BOOST_FT_default_cc) 
-      | (::ndnboost::function_types::detail::bits<RefTag>::value & BOOST_PP_SLOT(1))
+    NDNBOOST_STATIC_CONSTANT(bits_t, value = (
+        (::ndnboost::function_types::detail::bits<Tag>::value & NDNBOOST_FT_default_cc) 
+      | (::ndnboost::function_types::detail::bits<RefTag>::value & NDNBOOST_PP_SLOT(1))
     ));
   };
 
@@ -50,54 +50,54 @@
   };
 
   class test_class;
-  typedef constant<BOOST_FT_cc_mask> cc_mask_constant;
+  typedef constant<NDNBOOST_FT_cc_mask> cc_mask_constant;
 
-#   define BOOST_FT_self \
+#   define NDNBOOST_FT_self \
       <ndnboost/function_types/detail/pp_retag_default_cc/master.hpp>
 
-#   define  default_cc_ BOOST_FT_default_cc
+#   define  default_cc_ NDNBOOST_FT_default_cc
 
-#   define  BOOST_PP_VALUE default_cc_|non_member|non_variadic
-#   define  BOOST_FT_tester void (*tester)()
-#   define  BOOST_PP_INDIRECT_SELF BOOST_FT_self
-#   include BOOST_PP_INCLUDE_SELF()
+#   define  NDNBOOST_PP_VALUE default_cc_|non_member|non_variadic
+#   define  NDNBOOST_FT_tester void (*tester)()
+#   define  NDNBOOST_PP_INDIRECT_SELF NDNBOOST_FT_self
+#   include NDNBOOST_PP_INCLUDE_SELF()
 
-#   define  BOOST_PP_VALUE default_cc_|non_member|variadic
-#   define  BOOST_FT_tester void (*tester)(...)
-#   define  BOOST_PP_INDIRECT_SELF BOOST_FT_self
-#   include BOOST_PP_INCLUDE_SELF()
+#   define  NDNBOOST_PP_VALUE default_cc_|non_member|variadic
+#   define  NDNBOOST_FT_tester void (*tester)(...)
+#   define  NDNBOOST_PP_INDIRECT_SELF NDNBOOST_FT_self
+#   include NDNBOOST_PP_INCLUDE_SELF()
 
-#   define  BOOST_PP_VALUE default_cc_|member|non_variadic
-#   define  BOOST_FT_tester void (test_class::*tester)()
-#   define  BOOST_PP_INDIRECT_SELF BOOST_FT_self
-#   include BOOST_PP_INCLUDE_SELF()
+#   define  NDNBOOST_PP_VALUE default_cc_|member|non_variadic
+#   define  NDNBOOST_FT_tester void (test_class::*tester)()
+#   define  NDNBOOST_PP_INDIRECT_SELF NDNBOOST_FT_self
+#   include NDNBOOST_PP_INCLUDE_SELF()
 
-#   define  BOOST_PP_VALUE default_cc_|member|variadic
-#   define  BOOST_FT_tester void (test_class::*tester)(...)
-#   define  BOOST_PP_INDIRECT_SELF BOOST_FT_self
-#   include BOOST_PP_INCLUDE_SELF()
+#   define  NDNBOOST_PP_VALUE default_cc_|member|variadic
+#   define  NDNBOOST_FT_tester void (test_class::*tester)(...)
+#   define  NDNBOOST_PP_INDIRECT_SELF NDNBOOST_FT_self
+#   include NDNBOOST_PP_INCLUDE_SELF()
 
 #   undef   default_cc_
 
-#   undef BOOST_FT_self
+#   undef NDNBOOST_FT_self
 
 } } } // namespace ::ndnboost::function_types::detail
 
 #   include <ndnboost/function_types/detail/encoding/aliases_undef.hpp>
 #   include <ndnboost/function_types/detail/encoding/undef.hpp>
 
-#else // if defined(BOOST_PP_VALUE)
+#else // if defined(NDNBOOST_PP_VALUE)
 
-#   include BOOST_PP_ASSIGN_SLOT(1)
+#   include NDNBOOST_PP_ASSIGN_SLOT(1)
 
-  template<> struct default_cc_tag<BOOST_PP_SLOT(1)> 
+  template<> struct default_cc_tag<NDNBOOST_PP_SLOT(1)> 
   {
-    typedef BOOST_FT_tester;
+    typedef NDNBOOST_FT_tester;
     typedef mpl::bitand_<components<tester>::bits,cc_mask_constant> bits;
     typedef cc_mask_constant mask;
   };
 
-#   undef BOOST_FT_tester
+#   undef NDNBOOST_FT_tester
 
 #endif
 
diff --git a/include/ndnboost/function_types/detail/pp_retag_default_cc/preprocessed.hpp b/include/ndnboost/function_types/detail/pp_retag_default_cc/preprocessed.hpp
index 0c0c7ab..8a2b7e9 100644
--- a/include/ndnboost/function_types/detail/pp_retag_default_cc/preprocessed.hpp
+++ b/include/ndnboost/function_types/detail/pp_retag_default_cc/preprocessed.hpp
@@ -14,7 +14,7 @@
 {
 template<class Tag, class RefTag> struct selector_bits
 {
-BOOST_STATIC_CONSTANT(bits_t, value = (
+NDNBOOST_STATIC_CONSTANT(bits_t, value = (
 (::ndnboost::function_types::detail::bits<Tag> ::value & 0x00008000) 
 | (::ndnboost::function_types::detail::bits<RefTag> ::value & 802)
 ));
diff --git a/include/ndnboost/function_types/detail/pp_tags/cc_tag.hpp b/include/ndnboost/function_types/detail/pp_tags/cc_tag.hpp
index 81f1d89..5b80a07 100644
--- a/include/ndnboost/function_types/detail/pp_tags/cc_tag.hpp
+++ b/include/ndnboost/function_types/detail/pp_tags/cc_tag.hpp
@@ -8,10 +8,10 @@
 
 // no include guards, this file is intended for multiple inclusions
 
-  struct BOOST_FT_cc_name
+  struct NDNBOOST_FT_cc_name
   {
-    typedef detail::encode_bits<0,BOOST_FT_cc_id> bits;
-    typedef detail::constant<BOOST_FT_cc_mask> mask;
+    typedef detail::encode_bits<0,NDNBOOST_FT_cc_id> bits;
+    typedef detail::constant<NDNBOOST_FT_cc_mask> mask;
   };
 
 
diff --git a/include/ndnboost/function_types/detail/pp_tags/master.hpp b/include/ndnboost/function_types/detail/pp_tags/master.hpp
index 8d45ea4..5e86342 100644
--- a/include/ndnboost/function_types/detail/pp_tags/master.hpp
+++ b/include/ndnboost/function_types/detail/pp_tags/master.hpp
@@ -13,7 +13,7 @@
 #   pragma wave option(preserve: 0)
 #endif
 
-#if !defined(BOOST_FT_PREPROCESSING_MODE) || defined(BOOST_FT_CONFIG_HPP_INCLUDED)
+#if !defined(NDNBOOST_FT_PREPROCESSING_MODE) || defined(NDNBOOST_FT_CONFIG_HPP_INCLUDED)
 #   error "this file used with two-pass preprocessing, only"
 #endif
 
@@ -22,103 +22,103 @@
 
 namespace ndnboost { namespace function_types {
 
-typedef detail::property_tag<BOOST_FT_non_variadic,BOOST_FT_variadic_mask> non_variadic;
-typedef detail::property_tag<BOOST_FT_variadic,BOOST_FT_variadic_mask>     variadic;
+typedef detail::property_tag<NDNBOOST_FT_non_variadic,NDNBOOST_FT_variadic_mask> non_variadic;
+typedef detail::property_tag<NDNBOOST_FT_variadic,NDNBOOST_FT_variadic_mask>     variadic;
                                                                        
-typedef detail::property_tag<0,BOOST_FT_const>                     non_const;
-typedef detail::property_tag<BOOST_FT_const,BOOST_FT_const>        const_qualified;
+typedef detail::property_tag<0,NDNBOOST_FT_const>                     non_const;
+typedef detail::property_tag<NDNBOOST_FT_const,NDNBOOST_FT_const>        const_qualified;
                                                                        
-typedef detail::property_tag<0,BOOST_FT_volatile>                  non_volatile;
-typedef detail::property_tag<BOOST_FT_volatile,BOOST_FT_volatile>  volatile_qualified; 
+typedef detail::property_tag<0,NDNBOOST_FT_volatile>                  non_volatile;
+typedef detail::property_tag<NDNBOOST_FT_volatile,NDNBOOST_FT_volatile>  volatile_qualified; 
 
-typedef detail::property_tag<BOOST_FT_default_cc,BOOST_FT_cc_mask> default_cc;
+typedef detail::property_tag<NDNBOOST_FT_default_cc,NDNBOOST_FT_cc_mask> default_cc;
 
-#define BOOST_PP_VALUE BOOST_FT_const|BOOST_FT_volatile 
-#include BOOST_PP_ASSIGN_SLOT(1)
+#define NDNBOOST_PP_VALUE NDNBOOST_FT_const|NDNBOOST_FT_volatile 
+#include NDNBOOST_PP_ASSIGN_SLOT(1)
 
-typedef detail::property_tag<0                , BOOST_PP_SLOT(1)> non_cv;
-typedef detail::property_tag<BOOST_FT_const   , BOOST_PP_SLOT(1)> const_non_volatile;
-typedef detail::property_tag<BOOST_FT_volatile, BOOST_PP_SLOT(1)> volatile_non_const;
-typedef detail::property_tag<BOOST_PP_SLOT(1) , BOOST_PP_SLOT(1)> cv_qualified;
+typedef detail::property_tag<0                , NDNBOOST_PP_SLOT(1)> non_cv;
+typedef detail::property_tag<NDNBOOST_FT_const   , NDNBOOST_PP_SLOT(1)> const_non_volatile;
+typedef detail::property_tag<NDNBOOST_FT_volatile, NDNBOOST_PP_SLOT(1)> volatile_non_const;
+typedef detail::property_tag<NDNBOOST_PP_SLOT(1) , NDNBOOST_PP_SLOT(1)> cv_qualified;
 
 namespace detail {
 
-  typedef constant<BOOST_FT_full_mask> full_mask;
+  typedef constant<NDNBOOST_FT_full_mask> full_mask;
 
   template <bits_t Flags, bits_t CCID> struct encode_bits_impl
   {
-    BOOST_STATIC_CONSTANT( bits_t, value = 
-      Flags | (BOOST_FT_default_cc * CCID) << 1 );
+    NDNBOOST_STATIC_CONSTANT( bits_t, value = 
+      Flags | (NDNBOOST_FT_default_cc * CCID) << 1 );
   };
 
   template <bits_t Flags, bits_t CCID, std::size_t Arity> 
   struct encode_charr_impl
   {
-    BOOST_STATIC_CONSTANT(std::size_t, value = (std::size_t)(1+
-      Flags | (BOOST_FT_default_cc * CCID) << 1 | Arity << BOOST_FT_arity_shift
+    NDNBOOST_STATIC_CONSTANT(std::size_t, value = (std::size_t)(1+
+      Flags | (NDNBOOST_FT_default_cc * CCID) << 1 | Arity << NDNBOOST_FT_arity_shift
     ));
   };
 
   template <bits_t Bits> struct decode_bits
   {
-    BOOST_STATIC_CONSTANT(bits_t, flags = Bits & BOOST_FT_flags_mask);
+    NDNBOOST_STATIC_CONSTANT(bits_t, flags = Bits & NDNBOOST_FT_flags_mask);
 
-    BOOST_STATIC_CONSTANT(bits_t, cc_id = 
-      ( (Bits & BOOST_FT_full_mask) / BOOST_FT_default_cc) >> 1 
+    NDNBOOST_STATIC_CONSTANT(bits_t, cc_id = 
+      ( (Bits & NDNBOOST_FT_full_mask) / NDNBOOST_FT_default_cc) >> 1 
     );
 
-    BOOST_STATIC_CONSTANT(bits_t, tag_bits = (Bits & BOOST_FT_full_mask));
+    NDNBOOST_STATIC_CONSTANT(bits_t, tag_bits = (Bits & NDNBOOST_FT_full_mask));
 
-    BOOST_STATIC_CONSTANT(std::size_t, arity = (std::size_t)
-      (Bits >> BOOST_FT_arity_shift) 
+    NDNBOOST_STATIC_CONSTANT(std::size_t, arity = (std::size_t)
+      (Bits >> NDNBOOST_FT_arity_shift) 
     );
   };
 
   template <bits_t LHS_bits, bits_t LHS_mask, bits_t RHS_bits, bits_t RHS_mask>
   struct tag_ice
   {
-    BOOST_STATIC_CONSTANT(bool, match =
-      RHS_bits == (LHS_bits & RHS_mask & (RHS_bits |~BOOST_FT_type_mask))
+    NDNBOOST_STATIC_CONSTANT(bool, match =
+      RHS_bits == (LHS_bits & RHS_mask & (RHS_bits |~NDNBOOST_FT_type_mask))
     );
 
-    BOOST_STATIC_CONSTANT(bits_t, combined_bits = 
+    NDNBOOST_STATIC_CONSTANT(bits_t, combined_bits = 
       (LHS_bits & ~RHS_mask) | RHS_bits
     );
 
-    BOOST_STATIC_CONSTANT(bits_t, combined_mask =
+    NDNBOOST_STATIC_CONSTANT(bits_t, combined_mask =
       LHS_mask | RHS_mask
     );
 
-    BOOST_STATIC_CONSTANT(bits_t, extracted_bits =
+    NDNBOOST_STATIC_CONSTANT(bits_t, extracted_bits =
       LHS_bits & RHS_mask
     );
 
   };
 
-#define BOOST_FT_mask BOOST_FT_type_mask
-  typedef property_tag<BOOST_FT_callable_builtin,BOOST_FT_mask>            callable_builtin_tag;
-  typedef property_tag<BOOST_FT_non_member_callable_builtin,BOOST_FT_mask> nonmember_callable_builtin_tag;
-  typedef property_tag<BOOST_FT_function,BOOST_FT_mask>       function_tag;
-  typedef property_tag<BOOST_FT_reference,BOOST_FT_mask>      reference_tag;
-  typedef property_tag<BOOST_FT_pointer,BOOST_FT_mask>        pointer_tag;
-  typedef property_tag<BOOST_FT_member_function_pointer,BOOST_FT_mask> member_function_pointer_tag;
-  typedef property_tag<BOOST_FT_member_object_pointer,BOOST_FT_mask> member_object_pointer_tag;
-  typedef property_tag<BOOST_FT_member_object_pointer_flags,BOOST_FT_full_mask> member_object_pointer_base;
-  typedef property_tag<BOOST_FT_member_pointer,BOOST_FT_mask> member_pointer_tag;
-#undef  BOOST_FT_mask 
+#define NDNBOOST_FT_mask NDNBOOST_FT_type_mask
+  typedef property_tag<NDNBOOST_FT_callable_builtin,NDNBOOST_FT_mask>            callable_builtin_tag;
+  typedef property_tag<NDNBOOST_FT_non_member_callable_builtin,NDNBOOST_FT_mask> nonmember_callable_builtin_tag;
+  typedef property_tag<NDNBOOST_FT_function,NDNBOOST_FT_mask>       function_tag;
+  typedef property_tag<NDNBOOST_FT_reference,NDNBOOST_FT_mask>      reference_tag;
+  typedef property_tag<NDNBOOST_FT_pointer,NDNBOOST_FT_mask>        pointer_tag;
+  typedef property_tag<NDNBOOST_FT_member_function_pointer,NDNBOOST_FT_mask> member_function_pointer_tag;
+  typedef property_tag<NDNBOOST_FT_member_object_pointer,NDNBOOST_FT_mask> member_object_pointer_tag;
+  typedef property_tag<NDNBOOST_FT_member_object_pointer_flags,NDNBOOST_FT_full_mask> member_object_pointer_base;
+  typedef property_tag<NDNBOOST_FT_member_pointer,NDNBOOST_FT_mask> member_pointer_tag;
+#undef  NDNBOOST_FT_mask 
 
-#define BOOST_PP_VALUE BOOST_FT_function|BOOST_FT_non_variadic|BOOST_FT_default_cc
-#include BOOST_PP_ASSIGN_SLOT(1)
-#define BOOST_PP_VALUE BOOST_FT_type_mask|BOOST_FT_variadic_mask|BOOST_FT_cc_mask
-#include BOOST_PP_ASSIGN_SLOT(2)
+#define NDNBOOST_PP_VALUE NDNBOOST_FT_function|NDNBOOST_FT_non_variadic|NDNBOOST_FT_default_cc
+#include NDNBOOST_PP_ASSIGN_SLOT(1)
+#define NDNBOOST_PP_VALUE NDNBOOST_FT_type_mask|NDNBOOST_FT_variadic_mask|NDNBOOST_FT_cc_mask
+#include NDNBOOST_PP_ASSIGN_SLOT(2)
 
-  typedef property_tag< BOOST_PP_SLOT(1) , BOOST_PP_SLOT(2) > nv_dcc_func;
+  typedef property_tag< NDNBOOST_PP_SLOT(1) , NDNBOOST_PP_SLOT(2) > nv_dcc_func;
 
-#define BOOST_PP_VALUE \
-    BOOST_FT_member_function_pointer|BOOST_FT_non_variadic|BOOST_FT_default_cc
-#include BOOST_PP_ASSIGN_SLOT(1)
+#define NDNBOOST_PP_VALUE \
+    NDNBOOST_FT_member_function_pointer|NDNBOOST_FT_non_variadic|NDNBOOST_FT_default_cc
+#include NDNBOOST_PP_ASSIGN_SLOT(1)
 
-  typedef property_tag< BOOST_PP_SLOT(1) , BOOST_PP_SLOT(2) > nv_dcc_mfp;
+  typedef property_tag< NDNBOOST_PP_SLOT(1) , NDNBOOST_PP_SLOT(2) > nv_dcc_mfp;
 
 } // namespace detail
 
diff --git a/include/ndnboost/function_types/detail/pp_tags/preprocessed.hpp b/include/ndnboost/function_types/detail/pp_tags/preprocessed.hpp
index 8aa1c36..f449959 100644
--- a/include/ndnboost/function_types/detail/pp_tags/preprocessed.hpp
+++ b/include/ndnboost/function_types/detail/pp_tags/preprocessed.hpp
@@ -25,40 +25,40 @@
 typedef constant<0x00ff0fff> full_mask;
 template <bits_t Flags, bits_t CCID> struct encode_bits_impl
 {
-BOOST_STATIC_CONSTANT( bits_t, value = 
+NDNBOOST_STATIC_CONSTANT( bits_t, value = 
 Flags | (0x00008000 * CCID) << 1 );
 };
 template <bits_t Flags, bits_t CCID, std::size_t Arity> 
 struct encode_charr_impl
 {
-BOOST_STATIC_CONSTANT(std::size_t, value = (std::size_t)(1+
+NDNBOOST_STATIC_CONSTANT(std::size_t, value = (std::size_t)(1+
 Flags | (0x00008000 * CCID) << 1 | Arity << 24
 ));
 };
 template <bits_t Bits> struct decode_bits
 {
-BOOST_STATIC_CONSTANT(bits_t, flags = Bits & 0x00000fff);
-BOOST_STATIC_CONSTANT(bits_t, cc_id = 
+NDNBOOST_STATIC_CONSTANT(bits_t, flags = Bits & 0x00000fff);
+NDNBOOST_STATIC_CONSTANT(bits_t, cc_id = 
 ( (Bits & 0x00ff0fff) / 0x00008000) >> 1 
 );
-BOOST_STATIC_CONSTANT(bits_t, tag_bits = (Bits & 0x00ff0fff));
-BOOST_STATIC_CONSTANT(std::size_t, arity = (std::size_t)
+NDNBOOST_STATIC_CONSTANT(bits_t, tag_bits = (Bits & 0x00ff0fff));
+NDNBOOST_STATIC_CONSTANT(std::size_t, arity = (std::size_t)
 (Bits >> 24) 
 );
 };
 template <bits_t LHS_bits, bits_t LHS_mask, bits_t RHS_bits, bits_t RHS_mask>
 struct tag_ice
 {
-BOOST_STATIC_CONSTANT(bool, match =
+NDNBOOST_STATIC_CONSTANT(bool, match =
 RHS_bits == (LHS_bits & RHS_mask & (RHS_bits | ~0x000000ff))
 );
-BOOST_STATIC_CONSTANT(bits_t, combined_bits = 
+NDNBOOST_STATIC_CONSTANT(bits_t, combined_bits = 
 (LHS_bits & ~RHS_mask) | RHS_bits
 );
-BOOST_STATIC_CONSTANT(bits_t, combined_mask =
+NDNBOOST_STATIC_CONSTANT(bits_t, combined_mask =
 LHS_mask | RHS_mask
 );
-BOOST_STATIC_CONSTANT(bits_t, extracted_bits =
+NDNBOOST_STATIC_CONSTANT(bits_t, extracted_bits =
 LHS_bits & RHS_mask
 );
 };
diff --git a/include/ndnboost/function_types/detail/pp_variate_loop/master.hpp b/include/ndnboost/function_types/detail/pp_variate_loop/master.hpp
index f452019..880a518 100644
--- a/include/ndnboost/function_types/detail/pp_variate_loop/master.hpp
+++ b/include/ndnboost/function_types/detail/pp_variate_loop/master.hpp
@@ -11,142 +11,142 @@
 #   pragma wave option(preserve: 0)
 #endif
 
-#if !defined(BOOST_FT_PREPROCESSING_MODE)
+#if !defined(NDNBOOST_FT_PREPROCESSING_MODE)
 #   error "this file is only for two-pass preprocessing"
 #endif
 
-#if !defined(BOOST_PP_VALUE)
+#if !defined(NDNBOOST_PP_VALUE)
 #   include <ndnboost/preprocessor/slot/slot.hpp>
 #   include <ndnboost/preprocessor/facilities/empty.hpp>
 #   include <ndnboost/preprocessor/facilities/expand.hpp>
 #   include <ndnboost/function_types/detail/encoding/def.hpp>
 
-BOOST_PP_EXPAND(#) define BOOST_FT_mfp 0
-BOOST_PP_EXPAND(#) define BOOST_FT_syntax BOOST_FT_type_function
+NDNBOOST_PP_EXPAND(#) define NDNBOOST_FT_mfp 0
+NDNBOOST_PP_EXPAND(#) define NDNBOOST_FT_syntax NDNBOOST_FT_type_function
 
-#   define  BOOST_PP_VALUE \
-      BOOST_FT_function|BOOST_FT_non_variadic
+#   define  NDNBOOST_PP_VALUE \
+      NDNBOOST_FT_function|NDNBOOST_FT_non_variadic
 #   include __FILE__
-#   define  BOOST_PP_VALUE \
-      BOOST_FT_function|BOOST_FT_variadic
+#   define  NDNBOOST_PP_VALUE \
+      NDNBOOST_FT_function|NDNBOOST_FT_variadic
 #   include __FILE__
 
-BOOST_PP_EXPAND(#) if !BOOST_FT_NO_CV_FUNC_SUPPORT
-#   define  BOOST_PP_VALUE \
-      BOOST_FT_function|BOOST_FT_non_variadic|BOOST_FT_const
+NDNBOOST_PP_EXPAND(#) if !NDNBOOST_FT_NO_CV_FUNC_SUPPORT
+#   define  NDNBOOST_PP_VALUE \
+      NDNBOOST_FT_function|NDNBOOST_FT_non_variadic|NDNBOOST_FT_const
 #   include __FILE__
-#   define  BOOST_PP_VALUE \
-      BOOST_FT_function|BOOST_FT_variadic|BOOST_FT_const
+#   define  NDNBOOST_PP_VALUE \
+      NDNBOOST_FT_function|NDNBOOST_FT_variadic|NDNBOOST_FT_const
 #   include __FILE__
-#   define  BOOST_PP_VALUE \
-      BOOST_FT_function|BOOST_FT_non_variadic|BOOST_FT_volatile
+#   define  NDNBOOST_PP_VALUE \
+      NDNBOOST_FT_function|NDNBOOST_FT_non_variadic|NDNBOOST_FT_volatile
 #   include __FILE__
-#   define  BOOST_PP_VALUE \
-      BOOST_FT_function|BOOST_FT_variadic|BOOST_FT_volatile
+#   define  NDNBOOST_PP_VALUE \
+      NDNBOOST_FT_function|NDNBOOST_FT_variadic|NDNBOOST_FT_volatile
 #   include __FILE__
-#   define  BOOST_PP_VALUE \
-      BOOST_FT_function|BOOST_FT_non_variadic|BOOST_FT_const|BOOST_FT_volatile
+#   define  NDNBOOST_PP_VALUE \
+      NDNBOOST_FT_function|NDNBOOST_FT_non_variadic|NDNBOOST_FT_const|NDNBOOST_FT_volatile
 #   include __FILE__
-#   define  BOOST_PP_VALUE \
-      BOOST_FT_function|BOOST_FT_variadic|BOOST_FT_const|BOOST_FT_volatile
+#   define  NDNBOOST_PP_VALUE \
+      NDNBOOST_FT_function|NDNBOOST_FT_variadic|NDNBOOST_FT_const|NDNBOOST_FT_volatile
 #   include __FILE__
-BOOST_PP_EXPAND(#) endif
+NDNBOOST_PP_EXPAND(#) endif
 
 
-BOOST_PP_EXPAND(#) undef  BOOST_FT_syntax
-BOOST_PP_EXPAND(#) define BOOST_FT_syntax BOOST_FT_type_function_pointer
+NDNBOOST_PP_EXPAND(#) undef  NDNBOOST_FT_syntax
+NDNBOOST_PP_EXPAND(#) define NDNBOOST_FT_syntax NDNBOOST_FT_type_function_pointer
 
-#   define  BOOST_PP_VALUE \
-      BOOST_FT_pointer|BOOST_FT_non_variadic
+#   define  NDNBOOST_PP_VALUE \
+      NDNBOOST_FT_pointer|NDNBOOST_FT_non_variadic
 #   include __FILE__
-#   define  BOOST_PP_VALUE \
-      BOOST_FT_pointer|BOOST_FT_variadic
+#   define  NDNBOOST_PP_VALUE \
+      NDNBOOST_FT_pointer|NDNBOOST_FT_variadic
 #   include __FILE__
 
-BOOST_PP_EXPAND(#) undef  BOOST_FT_syntax
-BOOST_PP_EXPAND(#) define BOOST_FT_syntax BOOST_FT_type_function_reference
+NDNBOOST_PP_EXPAND(#) undef  NDNBOOST_FT_syntax
+NDNBOOST_PP_EXPAND(#) define NDNBOOST_FT_syntax NDNBOOST_FT_type_function_reference
 
-#   define BOOST_PP_VALUE \
-      BOOST_FT_reference|BOOST_FT_non_variadic
+#   define NDNBOOST_PP_VALUE \
+      NDNBOOST_FT_reference|NDNBOOST_FT_non_variadic
 #   include __FILE__
-#   define BOOST_PP_VALUE \
-      BOOST_FT_reference|BOOST_FT_variadic
+#   define NDNBOOST_PP_VALUE \
+      NDNBOOST_FT_reference|NDNBOOST_FT_variadic
 #   include __FILE__
 
-BOOST_PP_EXPAND(#) undef  BOOST_FT_syntax
-BOOST_PP_EXPAND(#) undef  BOOST_FT_mfp
+NDNBOOST_PP_EXPAND(#) undef  NDNBOOST_FT_syntax
+NDNBOOST_PP_EXPAND(#) undef  NDNBOOST_FT_mfp
 
-BOOST_PP_EXPAND(#) define BOOST_FT_mfp 1
-BOOST_PP_EXPAND(#) define BOOST_FT_syntax BOOST_FT_type_member_function_pointer
+NDNBOOST_PP_EXPAND(#) define NDNBOOST_FT_mfp 1
+NDNBOOST_PP_EXPAND(#) define NDNBOOST_FT_syntax NDNBOOST_FT_type_member_function_pointer
 
-#   define  BOOST_PP_VALUE \
-      BOOST_FT_member_function_pointer|BOOST_FT_non_variadic
+#   define  NDNBOOST_PP_VALUE \
+      NDNBOOST_FT_member_function_pointer|NDNBOOST_FT_non_variadic
 #   include __FILE__
-#   define  BOOST_PP_VALUE \
-      BOOST_FT_member_function_pointer|BOOST_FT_variadic
+#   define  NDNBOOST_PP_VALUE \
+      NDNBOOST_FT_member_function_pointer|NDNBOOST_FT_variadic
 #   include __FILE__
-#   define  BOOST_PP_VALUE \
-      BOOST_FT_member_function_pointer|BOOST_FT_non_variadic|BOOST_FT_const
+#   define  NDNBOOST_PP_VALUE \
+      NDNBOOST_FT_member_function_pointer|NDNBOOST_FT_non_variadic|NDNBOOST_FT_const
 #   include __FILE__
-#   define  BOOST_PP_VALUE \
-      BOOST_FT_member_function_pointer|BOOST_FT_variadic|BOOST_FT_const
+#   define  NDNBOOST_PP_VALUE \
+      NDNBOOST_FT_member_function_pointer|NDNBOOST_FT_variadic|NDNBOOST_FT_const
 #   include __FILE__
-#   define  BOOST_PP_VALUE \
-      BOOST_FT_member_function_pointer|BOOST_FT_non_variadic|BOOST_FT_volatile
+#   define  NDNBOOST_PP_VALUE \
+      NDNBOOST_FT_member_function_pointer|NDNBOOST_FT_non_variadic|NDNBOOST_FT_volatile
 #   include __FILE__
-#   define  BOOST_PP_VALUE \
-      BOOST_FT_member_function_pointer|BOOST_FT_variadic|BOOST_FT_volatile
+#   define  NDNBOOST_PP_VALUE \
+      NDNBOOST_FT_member_function_pointer|NDNBOOST_FT_variadic|NDNBOOST_FT_volatile
 #   include __FILE__
-#   define  BOOST_PP_VALUE \
-      BOOST_FT_member_function_pointer|BOOST_FT_non_variadic|BOOST_FT_const|BOOST_FT_volatile
+#   define  NDNBOOST_PP_VALUE \
+      NDNBOOST_FT_member_function_pointer|NDNBOOST_FT_non_variadic|NDNBOOST_FT_const|NDNBOOST_FT_volatile
 #   include __FILE__
-#   define  BOOST_PP_VALUE \
-      BOOST_FT_member_function_pointer|BOOST_FT_variadic|BOOST_FT_const|BOOST_FT_volatile
+#   define  NDNBOOST_PP_VALUE \
+      NDNBOOST_FT_member_function_pointer|NDNBOOST_FT_variadic|NDNBOOST_FT_const|NDNBOOST_FT_volatile
 #   include __FILE__
 
-BOOST_PP_EXPAND(#) undef  BOOST_FT_syntax
-BOOST_PP_EXPAND(#) undef  BOOST_FT_mfp
+NDNBOOST_PP_EXPAND(#) undef  NDNBOOST_FT_syntax
+NDNBOOST_PP_EXPAND(#) undef  NDNBOOST_FT_mfp
 
 #   include <ndnboost/function_types/detail/encoding/undef.hpp>
 #else 
 
-#   include BOOST_PP_ASSIGN_SLOT(1)
+#   include NDNBOOST_PP_ASSIGN_SLOT(1)
 
-#   define  BOOST_PP_VALUE BOOST_PP_SLOT(1) & BOOST_FT_kind_mask
-#   include BOOST_PP_ASSIGN_SLOT(2)
+#   define  NDNBOOST_PP_VALUE NDNBOOST_PP_SLOT(1) & NDNBOOST_FT_kind_mask
+#   include NDNBOOST_PP_ASSIGN_SLOT(2)
 
-BOOST_PP_EXPAND(#) if !!(BOOST_PP_SLOT(2) & (BOOST_FT_variations))
-BOOST_PP_EXPAND(#) if (BOOST_PP_SLOT(1) & (BOOST_FT_cond)) == (BOOST_FT_cond)
+NDNBOOST_PP_EXPAND(#) if !!(NDNBOOST_PP_SLOT(2) & (NDNBOOST_FT_variations))
+NDNBOOST_PP_EXPAND(#) if (NDNBOOST_PP_SLOT(1) & (NDNBOOST_FT_cond)) == (NDNBOOST_FT_cond)
 
-#   if ( BOOST_PP_SLOT(1) & (BOOST_FT_variadic) )
-BOOST_PP_EXPAND(#)   define BOOST_FT_ell ...
-BOOST_PP_EXPAND(#)   define BOOST_FT_nullary_param
+#   if ( NDNBOOST_PP_SLOT(1) & (NDNBOOST_FT_variadic) )
+NDNBOOST_PP_EXPAND(#)   define NDNBOOST_FT_ell ...
+NDNBOOST_PP_EXPAND(#)   define NDNBOOST_FT_nullary_param
 #   else
-BOOST_PP_EXPAND(#)   define BOOST_FT_ell
-BOOST_PP_EXPAND(#)   define BOOST_FT_nullary_param BOOST_FT_NULLARY_PARAM
+NDNBOOST_PP_EXPAND(#)   define NDNBOOST_FT_ell
+NDNBOOST_PP_EXPAND(#)   define NDNBOOST_FT_nullary_param NDNBOOST_FT_NULLARY_PARAM
 #   endif
 
-#   if !( BOOST_PP_SLOT(1) & (BOOST_FT_volatile) )
-#     if !( BOOST_PP_SLOT(1) & (BOOST_FT_const) )
-BOOST_PP_EXPAND(#)   define BOOST_FT_cv 
+#   if !( NDNBOOST_PP_SLOT(1) & (NDNBOOST_FT_volatile) )
+#     if !( NDNBOOST_PP_SLOT(1) & (NDNBOOST_FT_const) )
+NDNBOOST_PP_EXPAND(#)   define NDNBOOST_FT_cv 
 #     else
-BOOST_PP_EXPAND(#)   define BOOST_FT_cv const
+NDNBOOST_PP_EXPAND(#)   define NDNBOOST_FT_cv const
 #     endif
 #   else
-#     if !( BOOST_PP_SLOT(1) & (BOOST_FT_const) )
-BOOST_PP_EXPAND(#)   define BOOST_FT_cv volatile
+#     if !( NDNBOOST_PP_SLOT(1) & (NDNBOOST_FT_const) )
+NDNBOOST_PP_EXPAND(#)   define NDNBOOST_FT_cv volatile
 #     else
-BOOST_PP_EXPAND(#)   define BOOST_FT_cv const volatile
+NDNBOOST_PP_EXPAND(#)   define NDNBOOST_FT_cv const volatile
 #     endif
 #   endif
-BOOST_PP_EXPAND(#)   define BOOST_FT_flags BOOST_PP_SLOT(1)
-BOOST_PP_EXPAND(#)   include BOOST_FT_variate_file
+NDNBOOST_PP_EXPAND(#)   define NDNBOOST_FT_flags NDNBOOST_PP_SLOT(1)
+NDNBOOST_PP_EXPAND(#)   include NDNBOOST_FT_variate_file
 
-BOOST_PP_EXPAND(#)   undef BOOST_FT_cv
-BOOST_PP_EXPAND(#)   undef BOOST_FT_ell
-BOOST_PP_EXPAND(#)   undef BOOST_FT_nullary_param
-BOOST_PP_EXPAND(#)   undef BOOST_FT_flags
-BOOST_PP_EXPAND(#) endif
-BOOST_PP_EXPAND(#) endif
+NDNBOOST_PP_EXPAND(#)   undef NDNBOOST_FT_cv
+NDNBOOST_PP_EXPAND(#)   undef NDNBOOST_FT_ell
+NDNBOOST_PP_EXPAND(#)   undef NDNBOOST_FT_nullary_param
+NDNBOOST_PP_EXPAND(#)   undef NDNBOOST_FT_flags
+NDNBOOST_PP_EXPAND(#) endif
+NDNBOOST_PP_EXPAND(#) endif
 #endif
 
diff --git a/include/ndnboost/function_types/detail/pp_variate_loop/preprocessed.hpp b/include/ndnboost/function_types/detail/pp_variate_loop/preprocessed.hpp
index 7e7c4f9..83cc0c6 100644
--- a/include/ndnboost/function_types/detail/pp_variate_loop/preprocessed.hpp
+++ b/include/ndnboost/function_types/detail/pp_variate_loop/preprocessed.hpp
@@ -7,277 +7,277 @@
 //------------------------------------------------------------------------------
 
 // this file has been generated from the master.hpp file in the same directory
-# define BOOST_FT_mfp 0
-# define BOOST_FT_syntax BOOST_FT_type_function
-# if ! ! (4 & (BOOST_FT_variations))
-# if (519 & (BOOST_FT_cond)) == (BOOST_FT_cond)
-# define BOOST_FT_ell
-# define BOOST_FT_nullary_param BOOST_FT_NULLARY_PARAM
-# define BOOST_FT_cv 
-# define BOOST_FT_flags 519
-# include BOOST_FT_variate_file
-# undef BOOST_FT_cv
-# undef BOOST_FT_ell
-# undef BOOST_FT_nullary_param
-# undef BOOST_FT_flags
+# define NDNBOOST_FT_mfp 0
+# define NDNBOOST_FT_syntax NDNBOOST_FT_type_function
+# if ! ! (4 & (NDNBOOST_FT_variations))
+# if (519 & (NDNBOOST_FT_cond)) == (NDNBOOST_FT_cond)
+# define NDNBOOST_FT_ell
+# define NDNBOOST_FT_nullary_param NDNBOOST_FT_NULLARY_PARAM
+# define NDNBOOST_FT_cv 
+# define NDNBOOST_FT_flags 519
+# include NDNBOOST_FT_variate_file
+# undef NDNBOOST_FT_cv
+# undef NDNBOOST_FT_ell
+# undef NDNBOOST_FT_nullary_param
+# undef NDNBOOST_FT_flags
 # endif
 # endif
-# if ! ! (4 & (BOOST_FT_variations))
-# if (263 & (BOOST_FT_cond)) == (BOOST_FT_cond)
-# define BOOST_FT_ell ...
-# define BOOST_FT_nullary_param
-# define BOOST_FT_cv 
-# define BOOST_FT_flags 263
-# include BOOST_FT_variate_file
-# undef BOOST_FT_cv
-# undef BOOST_FT_ell
-# undef BOOST_FT_nullary_param
-# undef BOOST_FT_flags
+# if ! ! (4 & (NDNBOOST_FT_variations))
+# if (263 & (NDNBOOST_FT_cond)) == (NDNBOOST_FT_cond)
+# define NDNBOOST_FT_ell ...
+# define NDNBOOST_FT_nullary_param
+# define NDNBOOST_FT_cv 
+# define NDNBOOST_FT_flags 263
+# include NDNBOOST_FT_variate_file
+# undef NDNBOOST_FT_cv
+# undef NDNBOOST_FT_ell
+# undef NDNBOOST_FT_nullary_param
+# undef NDNBOOST_FT_flags
 # endif
 # endif
-# if !BOOST_FT_NO_CV_FUNC_SUPPORT
-# if ! ! (4 & (BOOST_FT_variations))
-# if (1543 & (BOOST_FT_cond)) == (BOOST_FT_cond)
-# define BOOST_FT_ell
-# define BOOST_FT_nullary_param BOOST_FT_NULLARY_PARAM
-# define BOOST_FT_cv const
-# define BOOST_FT_flags 1543
-# include BOOST_FT_variate_file
-# undef BOOST_FT_cv
-# undef BOOST_FT_ell
-# undef BOOST_FT_nullary_param
-# undef BOOST_FT_flags
+# if !NDNBOOST_FT_NO_CV_FUNC_SUPPORT
+# if ! ! (4 & (NDNBOOST_FT_variations))
+# if (1543 & (NDNBOOST_FT_cond)) == (NDNBOOST_FT_cond)
+# define NDNBOOST_FT_ell
+# define NDNBOOST_FT_nullary_param NDNBOOST_FT_NULLARY_PARAM
+# define NDNBOOST_FT_cv const
+# define NDNBOOST_FT_flags 1543
+# include NDNBOOST_FT_variate_file
+# undef NDNBOOST_FT_cv
+# undef NDNBOOST_FT_ell
+# undef NDNBOOST_FT_nullary_param
+# undef NDNBOOST_FT_flags
 # endif
 # endif
-# if ! ! (4 & (BOOST_FT_variations))
-# if (1287 & (BOOST_FT_cond)) == (BOOST_FT_cond)
-# define BOOST_FT_ell ...
-# define BOOST_FT_nullary_param
-# define BOOST_FT_cv const
-# define BOOST_FT_flags 1287
-# include BOOST_FT_variate_file
-# undef BOOST_FT_cv
-# undef BOOST_FT_ell
-# undef BOOST_FT_nullary_param
-# undef BOOST_FT_flags
+# if ! ! (4 & (NDNBOOST_FT_variations))
+# if (1287 & (NDNBOOST_FT_cond)) == (NDNBOOST_FT_cond)
+# define NDNBOOST_FT_ell ...
+# define NDNBOOST_FT_nullary_param
+# define NDNBOOST_FT_cv const
+# define NDNBOOST_FT_flags 1287
+# include NDNBOOST_FT_variate_file
+# undef NDNBOOST_FT_cv
+# undef NDNBOOST_FT_ell
+# undef NDNBOOST_FT_nullary_param
+# undef NDNBOOST_FT_flags
 # endif
 # endif
-# if ! ! (4 & (BOOST_FT_variations))
-# if (2567 & (BOOST_FT_cond)) == (BOOST_FT_cond)
-# define BOOST_FT_ell
-# define BOOST_FT_nullary_param BOOST_FT_NULLARY_PARAM
-# define BOOST_FT_cv volatile
-# define BOOST_FT_flags 2567
-# include BOOST_FT_variate_file
-# undef BOOST_FT_cv
-# undef BOOST_FT_ell
-# undef BOOST_FT_nullary_param
-# undef BOOST_FT_flags
+# if ! ! (4 & (NDNBOOST_FT_variations))
+# if (2567 & (NDNBOOST_FT_cond)) == (NDNBOOST_FT_cond)
+# define NDNBOOST_FT_ell
+# define NDNBOOST_FT_nullary_param NDNBOOST_FT_NULLARY_PARAM
+# define NDNBOOST_FT_cv volatile
+# define NDNBOOST_FT_flags 2567
+# include NDNBOOST_FT_variate_file
+# undef NDNBOOST_FT_cv
+# undef NDNBOOST_FT_ell
+# undef NDNBOOST_FT_nullary_param
+# undef NDNBOOST_FT_flags
 # endif
 # endif
-# if ! ! (4 & (BOOST_FT_variations))
-# if (2311 & (BOOST_FT_cond)) == (BOOST_FT_cond)
-# define BOOST_FT_ell ...
-# define BOOST_FT_nullary_param
-# define BOOST_FT_cv volatile
-# define BOOST_FT_flags 2311
-# include BOOST_FT_variate_file
-# undef BOOST_FT_cv
-# undef BOOST_FT_ell
-# undef BOOST_FT_nullary_param
-# undef BOOST_FT_flags
+# if ! ! (4 & (NDNBOOST_FT_variations))
+# if (2311 & (NDNBOOST_FT_cond)) == (NDNBOOST_FT_cond)
+# define NDNBOOST_FT_ell ...
+# define NDNBOOST_FT_nullary_param
+# define NDNBOOST_FT_cv volatile
+# define NDNBOOST_FT_flags 2311
+# include NDNBOOST_FT_variate_file
+# undef NDNBOOST_FT_cv
+# undef NDNBOOST_FT_ell
+# undef NDNBOOST_FT_nullary_param
+# undef NDNBOOST_FT_flags
 # endif
 # endif
-# if ! ! (4 & (BOOST_FT_variations))
-# if (3591 & (BOOST_FT_cond)) == (BOOST_FT_cond)
-# define BOOST_FT_ell
-# define BOOST_FT_nullary_param BOOST_FT_NULLARY_PARAM
-# define BOOST_FT_cv const volatile
-# define BOOST_FT_flags 3591
-# include BOOST_FT_variate_file
-# undef BOOST_FT_cv
-# undef BOOST_FT_ell
-# undef BOOST_FT_nullary_param
-# undef BOOST_FT_flags
+# if ! ! (4 & (NDNBOOST_FT_variations))
+# if (3591 & (NDNBOOST_FT_cond)) == (NDNBOOST_FT_cond)
+# define NDNBOOST_FT_ell
+# define NDNBOOST_FT_nullary_param NDNBOOST_FT_NULLARY_PARAM
+# define NDNBOOST_FT_cv const volatile
+# define NDNBOOST_FT_flags 3591
+# include NDNBOOST_FT_variate_file
+# undef NDNBOOST_FT_cv
+# undef NDNBOOST_FT_ell
+# undef NDNBOOST_FT_nullary_param
+# undef NDNBOOST_FT_flags
 # endif
 # endif
-# if ! ! (4 & (BOOST_FT_variations))
-# if (3335 & (BOOST_FT_cond)) == (BOOST_FT_cond)
-# define BOOST_FT_ell ...
-# define BOOST_FT_nullary_param
-# define BOOST_FT_cv const volatile
-# define BOOST_FT_flags 3335
-# include BOOST_FT_variate_file
-# undef BOOST_FT_cv
-# undef BOOST_FT_ell
-# undef BOOST_FT_nullary_param
-# undef BOOST_FT_flags
+# if ! ! (4 & (NDNBOOST_FT_variations))
+# if (3335 & (NDNBOOST_FT_cond)) == (NDNBOOST_FT_cond)
+# define NDNBOOST_FT_ell ...
+# define NDNBOOST_FT_nullary_param
+# define NDNBOOST_FT_cv const volatile
+# define NDNBOOST_FT_flags 3335
+# include NDNBOOST_FT_variate_file
+# undef NDNBOOST_FT_cv
+# undef NDNBOOST_FT_ell
+# undef NDNBOOST_FT_nullary_param
+# undef NDNBOOST_FT_flags
 # endif
 # endif
 # endif
-# undef BOOST_FT_syntax
-# define BOOST_FT_syntax BOOST_FT_type_function_pointer
-# if ! ! (8 & (BOOST_FT_variations))
-# if (523 & (BOOST_FT_cond)) == (BOOST_FT_cond)
-# define BOOST_FT_ell
-# define BOOST_FT_nullary_param BOOST_FT_NULLARY_PARAM
-# define BOOST_FT_cv 
-# define BOOST_FT_flags 523
-# include BOOST_FT_variate_file
-# undef BOOST_FT_cv
-# undef BOOST_FT_ell
-# undef BOOST_FT_nullary_param
-# undef BOOST_FT_flags
+# undef NDNBOOST_FT_syntax
+# define NDNBOOST_FT_syntax NDNBOOST_FT_type_function_pointer
+# if ! ! (8 & (NDNBOOST_FT_variations))
+# if (523 & (NDNBOOST_FT_cond)) == (NDNBOOST_FT_cond)
+# define NDNBOOST_FT_ell
+# define NDNBOOST_FT_nullary_param NDNBOOST_FT_NULLARY_PARAM
+# define NDNBOOST_FT_cv 
+# define NDNBOOST_FT_flags 523
+# include NDNBOOST_FT_variate_file
+# undef NDNBOOST_FT_cv
+# undef NDNBOOST_FT_ell
+# undef NDNBOOST_FT_nullary_param
+# undef NDNBOOST_FT_flags
 # endif
 # endif
-# if ! ! (8 & (BOOST_FT_variations))
-# if (267 & (BOOST_FT_cond)) == (BOOST_FT_cond)
-# define BOOST_FT_ell ...
-# define BOOST_FT_nullary_param
-# define BOOST_FT_cv 
-# define BOOST_FT_flags 267
-# include BOOST_FT_variate_file
-# undef BOOST_FT_cv
-# undef BOOST_FT_ell
-# undef BOOST_FT_nullary_param
-# undef BOOST_FT_flags
+# if ! ! (8 & (NDNBOOST_FT_variations))
+# if (267 & (NDNBOOST_FT_cond)) == (NDNBOOST_FT_cond)
+# define NDNBOOST_FT_ell ...
+# define NDNBOOST_FT_nullary_param
+# define NDNBOOST_FT_cv 
+# define NDNBOOST_FT_flags 267
+# include NDNBOOST_FT_variate_file
+# undef NDNBOOST_FT_cv
+# undef NDNBOOST_FT_ell
+# undef NDNBOOST_FT_nullary_param
+# undef NDNBOOST_FT_flags
 # endif
 # endif
-# undef BOOST_FT_syntax
-# define BOOST_FT_syntax BOOST_FT_type_function_reference
-# if ! ! (16 & (BOOST_FT_variations))
-# if (531 & (BOOST_FT_cond)) == (BOOST_FT_cond)
-# define BOOST_FT_ell
-# define BOOST_FT_nullary_param BOOST_FT_NULLARY_PARAM
-# define BOOST_FT_cv 
-# define BOOST_FT_flags 531
-# include BOOST_FT_variate_file
-# undef BOOST_FT_cv
-# undef BOOST_FT_ell
-# undef BOOST_FT_nullary_param
-# undef BOOST_FT_flags
+# undef NDNBOOST_FT_syntax
+# define NDNBOOST_FT_syntax NDNBOOST_FT_type_function_reference
+# if ! ! (16 & (NDNBOOST_FT_variations))
+# if (531 & (NDNBOOST_FT_cond)) == (NDNBOOST_FT_cond)
+# define NDNBOOST_FT_ell
+# define NDNBOOST_FT_nullary_param NDNBOOST_FT_NULLARY_PARAM
+# define NDNBOOST_FT_cv 
+# define NDNBOOST_FT_flags 531
+# include NDNBOOST_FT_variate_file
+# undef NDNBOOST_FT_cv
+# undef NDNBOOST_FT_ell
+# undef NDNBOOST_FT_nullary_param
+# undef NDNBOOST_FT_flags
 # endif
 # endif
-# if ! ! (16 & (BOOST_FT_variations))
-# if (275 & (BOOST_FT_cond)) == (BOOST_FT_cond)
-# define BOOST_FT_ell ...
-# define BOOST_FT_nullary_param
-# define BOOST_FT_cv 
-# define BOOST_FT_flags 275
-# include BOOST_FT_variate_file
-# undef BOOST_FT_cv
-# undef BOOST_FT_ell
-# undef BOOST_FT_nullary_param
-# undef BOOST_FT_flags
+# if ! ! (16 & (NDNBOOST_FT_variations))
+# if (275 & (NDNBOOST_FT_cond)) == (NDNBOOST_FT_cond)
+# define NDNBOOST_FT_ell ...
+# define NDNBOOST_FT_nullary_param
+# define NDNBOOST_FT_cv 
+# define NDNBOOST_FT_flags 275
+# include NDNBOOST_FT_variate_file
+# undef NDNBOOST_FT_cv
+# undef NDNBOOST_FT_ell
+# undef NDNBOOST_FT_nullary_param
+# undef NDNBOOST_FT_flags
 # endif
 # endif
-# undef BOOST_FT_syntax
-# undef BOOST_FT_mfp
-# define BOOST_FT_mfp 1
-# define BOOST_FT_syntax BOOST_FT_type_member_function_pointer
-# if ! ! (96 & (BOOST_FT_variations))
-# if (609 & (BOOST_FT_cond)) == (BOOST_FT_cond)
-# define BOOST_FT_ell
-# define BOOST_FT_nullary_param BOOST_FT_NULLARY_PARAM
-# define BOOST_FT_cv 
-# define BOOST_FT_flags 609
-# include BOOST_FT_variate_file
-# undef BOOST_FT_cv
-# undef BOOST_FT_ell
-# undef BOOST_FT_nullary_param
-# undef BOOST_FT_flags
+# undef NDNBOOST_FT_syntax
+# undef NDNBOOST_FT_mfp
+# define NDNBOOST_FT_mfp 1
+# define NDNBOOST_FT_syntax NDNBOOST_FT_type_member_function_pointer
+# if ! ! (96 & (NDNBOOST_FT_variations))
+# if (609 & (NDNBOOST_FT_cond)) == (NDNBOOST_FT_cond)
+# define NDNBOOST_FT_ell
+# define NDNBOOST_FT_nullary_param NDNBOOST_FT_NULLARY_PARAM
+# define NDNBOOST_FT_cv 
+# define NDNBOOST_FT_flags 609
+# include NDNBOOST_FT_variate_file
+# undef NDNBOOST_FT_cv
+# undef NDNBOOST_FT_ell
+# undef NDNBOOST_FT_nullary_param
+# undef NDNBOOST_FT_flags
 # endif
 # endif
-# if ! ! (96 & (BOOST_FT_variations))
-# if (353 & (BOOST_FT_cond)) == (BOOST_FT_cond)
-# define BOOST_FT_ell ...
-# define BOOST_FT_nullary_param
-# define BOOST_FT_cv 
-# define BOOST_FT_flags 353
-# include BOOST_FT_variate_file
-# undef BOOST_FT_cv
-# undef BOOST_FT_ell
-# undef BOOST_FT_nullary_param
-# undef BOOST_FT_flags
+# if ! ! (96 & (NDNBOOST_FT_variations))
+# if (353 & (NDNBOOST_FT_cond)) == (NDNBOOST_FT_cond)
+# define NDNBOOST_FT_ell ...
+# define NDNBOOST_FT_nullary_param
+# define NDNBOOST_FT_cv 
+# define NDNBOOST_FT_flags 353
+# include NDNBOOST_FT_variate_file
+# undef NDNBOOST_FT_cv
+# undef NDNBOOST_FT_ell
+# undef NDNBOOST_FT_nullary_param
+# undef NDNBOOST_FT_flags
 # endif
 # endif
-# if ! ! (96 & (BOOST_FT_variations))
-# if (1633 & (BOOST_FT_cond)) == (BOOST_FT_cond)
-# define BOOST_FT_ell
-# define BOOST_FT_nullary_param BOOST_FT_NULLARY_PARAM
-# define BOOST_FT_cv const
-# define BOOST_FT_flags 1633
-# include BOOST_FT_variate_file
-# undef BOOST_FT_cv
-# undef BOOST_FT_ell
-# undef BOOST_FT_nullary_param
-# undef BOOST_FT_flags
+# if ! ! (96 & (NDNBOOST_FT_variations))
+# if (1633 & (NDNBOOST_FT_cond)) == (NDNBOOST_FT_cond)
+# define NDNBOOST_FT_ell
+# define NDNBOOST_FT_nullary_param NDNBOOST_FT_NULLARY_PARAM
+# define NDNBOOST_FT_cv const
+# define NDNBOOST_FT_flags 1633
+# include NDNBOOST_FT_variate_file
+# undef NDNBOOST_FT_cv
+# undef NDNBOOST_FT_ell
+# undef NDNBOOST_FT_nullary_param
+# undef NDNBOOST_FT_flags
 # endif
 # endif
-# if ! ! (96 & (BOOST_FT_variations))
-# if (1377 & (BOOST_FT_cond)) == (BOOST_FT_cond)
-# define BOOST_FT_ell ...
-# define BOOST_FT_nullary_param
-# define BOOST_FT_cv const
-# define BOOST_FT_flags 1377
-# include BOOST_FT_variate_file
-# undef BOOST_FT_cv
-# undef BOOST_FT_ell
-# undef BOOST_FT_nullary_param
-# undef BOOST_FT_flags
+# if ! ! (96 & (NDNBOOST_FT_variations))
+# if (1377 & (NDNBOOST_FT_cond)) == (NDNBOOST_FT_cond)
+# define NDNBOOST_FT_ell ...
+# define NDNBOOST_FT_nullary_param
+# define NDNBOOST_FT_cv const
+# define NDNBOOST_FT_flags 1377
+# include NDNBOOST_FT_variate_file
+# undef NDNBOOST_FT_cv
+# undef NDNBOOST_FT_ell
+# undef NDNBOOST_FT_nullary_param
+# undef NDNBOOST_FT_flags
 # endif
 # endif
-# if ! ! (96 & (BOOST_FT_variations))
-# if (2657 & (BOOST_FT_cond)) == (BOOST_FT_cond)
-# define BOOST_FT_ell
-# define BOOST_FT_nullary_param BOOST_FT_NULLARY_PARAM
-# define BOOST_FT_cv volatile
-# define BOOST_FT_flags 2657
-# include BOOST_FT_variate_file
-# undef BOOST_FT_cv
-# undef BOOST_FT_ell
-# undef BOOST_FT_nullary_param
-# undef BOOST_FT_flags
+# if ! ! (96 & (NDNBOOST_FT_variations))
+# if (2657 & (NDNBOOST_FT_cond)) == (NDNBOOST_FT_cond)
+# define NDNBOOST_FT_ell
+# define NDNBOOST_FT_nullary_param NDNBOOST_FT_NULLARY_PARAM
+# define NDNBOOST_FT_cv volatile
+# define NDNBOOST_FT_flags 2657
+# include NDNBOOST_FT_variate_file
+# undef NDNBOOST_FT_cv
+# undef NDNBOOST_FT_ell
+# undef NDNBOOST_FT_nullary_param
+# undef NDNBOOST_FT_flags
 # endif
 # endif
-# if ! ! (96 & (BOOST_FT_variations))
-# if (2401 & (BOOST_FT_cond)) == (BOOST_FT_cond)
-# define BOOST_FT_ell ...
-# define BOOST_FT_nullary_param
-# define BOOST_FT_cv volatile
-# define BOOST_FT_flags 2401
-# include BOOST_FT_variate_file
-# undef BOOST_FT_cv
-# undef BOOST_FT_ell
-# undef BOOST_FT_nullary_param
-# undef BOOST_FT_flags
+# if ! ! (96 & (NDNBOOST_FT_variations))
+# if (2401 & (NDNBOOST_FT_cond)) == (NDNBOOST_FT_cond)
+# define NDNBOOST_FT_ell ...
+# define NDNBOOST_FT_nullary_param
+# define NDNBOOST_FT_cv volatile
+# define NDNBOOST_FT_flags 2401
+# include NDNBOOST_FT_variate_file
+# undef NDNBOOST_FT_cv
+# undef NDNBOOST_FT_ell
+# undef NDNBOOST_FT_nullary_param
+# undef NDNBOOST_FT_flags
 # endif
 # endif
-# if ! ! (96 & (BOOST_FT_variations))
-# if (3681 & (BOOST_FT_cond)) == (BOOST_FT_cond)
-# define BOOST_FT_ell
-# define BOOST_FT_nullary_param BOOST_FT_NULLARY_PARAM
-# define BOOST_FT_cv const volatile
-# define BOOST_FT_flags 3681
-# include BOOST_FT_variate_file
-# undef BOOST_FT_cv
-# undef BOOST_FT_ell
-# undef BOOST_FT_nullary_param
-# undef BOOST_FT_flags
+# if ! ! (96 & (NDNBOOST_FT_variations))
+# if (3681 & (NDNBOOST_FT_cond)) == (NDNBOOST_FT_cond)
+# define NDNBOOST_FT_ell
+# define NDNBOOST_FT_nullary_param NDNBOOST_FT_NULLARY_PARAM
+# define NDNBOOST_FT_cv const volatile
+# define NDNBOOST_FT_flags 3681
+# include NDNBOOST_FT_variate_file
+# undef NDNBOOST_FT_cv
+# undef NDNBOOST_FT_ell
+# undef NDNBOOST_FT_nullary_param
+# undef NDNBOOST_FT_flags
 # endif
 # endif
-# if ! ! (96 & (BOOST_FT_variations))
-# if (3425 & (BOOST_FT_cond)) == (BOOST_FT_cond)
-# define BOOST_FT_ell ...
-# define BOOST_FT_nullary_param
-# define BOOST_FT_cv const volatile
-# define BOOST_FT_flags 3425
-# include BOOST_FT_variate_file
-# undef BOOST_FT_cv
-# undef BOOST_FT_ell
-# undef BOOST_FT_nullary_param
-# undef BOOST_FT_flags
+# if ! ! (96 & (NDNBOOST_FT_variations))
+# if (3425 & (NDNBOOST_FT_cond)) == (NDNBOOST_FT_cond)
+# define NDNBOOST_FT_ell ...
+# define NDNBOOST_FT_nullary_param
+# define NDNBOOST_FT_cv const volatile
+# define NDNBOOST_FT_flags 3425
+# include NDNBOOST_FT_variate_file
+# undef NDNBOOST_FT_cv
+# undef NDNBOOST_FT_ell
+# undef NDNBOOST_FT_nullary_param
+# undef NDNBOOST_FT_flags
 # endif
 # endif
-# undef BOOST_FT_syntax
-# undef BOOST_FT_mfp
+# undef NDNBOOST_FT_syntax
+# undef NDNBOOST_FT_mfp
diff --git a/include/ndnboost/function_types/detail/retag_default_cc.hpp b/include/ndnboost/function_types/detail/retag_default_cc.hpp
index 39dcb02..a5549cc 100644
--- a/include/ndnboost/function_types/detail/retag_default_cc.hpp
+++ b/include/ndnboost/function_types/detail/retag_default_cc.hpp
@@ -6,14 +6,14 @@
 
 //------------------------------------------------------------------------------
 
-#ifndef BOOST_FT_DETAIL_RETAG_DEFAULT_CC_HPP_INCLUDED
-#define BOOST_FT_DETAIL_RETAG_DEFAULT_CC_HPP_INCLUDED
+#ifndef NDNBOOST_FT_DETAIL_RETAG_DEFAULT_CC_HPP_INCLUDED
+#define NDNBOOST_FT_DETAIL_RETAG_DEFAULT_CC_HPP_INCLUDED
 
 #include <ndnboost/mpl/bitand.hpp>
 
 #include <ndnboost/function_types/components.hpp>
 
-#if defined(BOOST_FT_PREPROCESSING_MODE)
+#if defined(NDNBOOST_FT_PREPROCESSING_MODE)
 #   include <ndnboost/function_types/detail/pp_retag_default_cc/master.hpp>
 #else
 #   include <ndnboost/function_types/detail/pp_retag_default_cc/preprocessed.hpp>
diff --git a/include/ndnboost/function_types/detail/synthesize.hpp b/include/ndnboost/function_types/detail/synthesize.hpp
index 660a522..aba6ff3 100644
--- a/include/ndnboost/function_types/detail/synthesize.hpp
+++ b/include/ndnboost/function_types/detail/synthesize.hpp
@@ -6,8 +6,8 @@
 
 //------------------------------------------------------------------------------
 
-#ifndef BOOST_FT_DETAIL_SYNTHESIZE_HPP_INCLUDED
-#define BOOST_FT_DETAIL_SYNTHESIZE_HPP_INCLUDED
+#ifndef NDNBOOST_FT_DETAIL_SYNTHESIZE_HPP_INCLUDED
+#define NDNBOOST_FT_DETAIL_SYNTHESIZE_HPP_INCLUDED
 
 #include <cstddef>
 
@@ -69,8 +69,8 @@
   typedef R C::* type;
 };
 
-#define BOOST_FT_variations BOOST_FT_function|BOOST_FT_member_pointer
-#define BOOST_FT_al_path ndnboost/function_types/detail/synthesize_impl
+#define NDNBOOST_FT_variations NDNBOOST_FT_function|NDNBOOST_FT_member_pointer
+#define NDNBOOST_FT_al_path ndnboost/function_types/detail/synthesize_impl
 #include <ndnboost/function_types/detail/pp_loop.hpp>
 
 } } } // namespace ::ndnboost::function_types::detail
diff --git a/include/ndnboost/function_types/detail/synthesize_impl/arity10_0.hpp b/include/ndnboost/function_types/detail/synthesize_impl/arity10_0.hpp
index ad22e50..54db3be 100644
--- a/include/ndnboost/function_types/detail/synthesize_impl/arity10_0.hpp
+++ b/include/ndnboost/function_types/detail/synthesize_impl/arity10_0.hpp
@@ -8,44 +8,44 @@
 
 // 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
 
-# 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 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,0)
+struct NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,0)
 {
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (BOOST_FT_nullary_param BOOST_FT_ell) BOOST_FT_cv ;
+typedef NDNBOOST_FT_syntax(NDNBOOST_FT_cc,type NDNBOOST_PP_EMPTY) (NDNBOOST_FT_nullary_param NDNBOOST_FT_ell) NDNBOOST_FT_cv ;
 };
 template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 1 > 
+struct synthesize_impl_o< NDNBOOST_FT_flags, NDNBOOST_FT_cc_id, 1 > 
 { 
 template<typename S> struct synthesize_impl_i
 {
 private:
 typedef typename mpl::begin<S> ::type iter_0;
 public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,0) 
+typedef typename detail::NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,0) 
 < typename mpl::deref< iter_0 > ::type 
 > ::type type;
 };
 };
 template< typename R , typename T0 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,1)
+struct NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,1)
 {
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 BOOST_FT_ell) BOOST_FT_cv ;
+typedef NDNBOOST_FT_syntax(NDNBOOST_FT_cc,type NDNBOOST_PP_EMPTY) (T0 NDNBOOST_FT_ell) NDNBOOST_FT_cv ;
 };
 template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 2 > 
+struct synthesize_impl_o< NDNBOOST_FT_flags, NDNBOOST_FT_cc_id, 2 > 
 { 
 template<typename S> struct synthesize_impl_i
 {
@@ -53,19 +53,19 @@
 typedef typename mpl::begin<S> ::type iter_0;
 typedef typename mpl::next< iter_0 > ::type iter_1;
 public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,1) 
+typedef typename detail::NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,1) 
 < typename mpl::deref< iter_0 > ::type 
 , typename mpl::deref< iter_1 > ::type
 > ::type type;
 };
 };
 template< typename R , typename T0 , typename T1 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,2)
+struct NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,2)
 {
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 BOOST_FT_ell) BOOST_FT_cv ;
+typedef NDNBOOST_FT_syntax(NDNBOOST_FT_cc,type NDNBOOST_PP_EMPTY) (T0 , T1 NDNBOOST_FT_ell) NDNBOOST_FT_cv ;
 };
 template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 3 > 
+struct synthesize_impl_o< NDNBOOST_FT_flags, NDNBOOST_FT_cc_id, 3 > 
 { 
 template<typename S> struct synthesize_impl_i
 {
@@ -74,7 +74,7 @@
 typedef typename mpl::next< iter_0 > ::type iter_1;
 typedef typename mpl::next< iter_1 > ::type iter_2;
 public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,2) 
+typedef typename detail::NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,2) 
 < typename mpl::deref< iter_0 > ::type 
 , typename mpl::deref< iter_1 > ::type
 , typename mpl::deref< iter_2 > ::type
@@ -82,12 +82,12 @@
 };
 };
 template< typename R , typename T0 , typename T1 , typename T2 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,3)
+struct NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,3)
 {
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 BOOST_FT_ell) BOOST_FT_cv ;
+typedef NDNBOOST_FT_syntax(NDNBOOST_FT_cc,type NDNBOOST_PP_EMPTY) (T0 , T1 , T2 NDNBOOST_FT_ell) NDNBOOST_FT_cv ;
 };
 template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 4 > 
+struct synthesize_impl_o< NDNBOOST_FT_flags, NDNBOOST_FT_cc_id, 4 > 
 { 
 template<typename S> struct synthesize_impl_i
 {
@@ -97,7 +97,7 @@
 typedef typename mpl::next< iter_1 > ::type iter_2;
 typedef typename mpl::next< iter_2 > ::type iter_3;
 public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,3) 
+typedef typename detail::NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,3) 
 < typename mpl::deref< iter_0 > ::type 
 , typename mpl::deref< iter_1 > ::type
 , typename mpl::deref< iter_2 > ::type
@@ -106,12 +106,12 @@
 };
 };
 template< typename R , typename T0 , typename T1 , typename T2 , typename T3 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,4)
+struct NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,4)
 {
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 BOOST_FT_ell) BOOST_FT_cv ;
+typedef NDNBOOST_FT_syntax(NDNBOOST_FT_cc,type NDNBOOST_PP_EMPTY) (T0 , T1 , T2 , T3 NDNBOOST_FT_ell) NDNBOOST_FT_cv ;
 };
 template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 5 > 
+struct synthesize_impl_o< NDNBOOST_FT_flags, NDNBOOST_FT_cc_id, 5 > 
 { 
 template<typename S> struct synthesize_impl_i
 {
@@ -122,7 +122,7 @@
 typedef typename mpl::next< iter_2 > ::type iter_3;
 typedef typename mpl::next< iter_3 > ::type iter_4;
 public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,4) 
+typedef typename detail::NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,4) 
 < typename mpl::deref< iter_0 > ::type 
 , typename mpl::deref< iter_1 > ::type
 , typename mpl::deref< iter_2 > ::type
@@ -132,12 +132,12 @@
 };
 };
 template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,5)
+struct NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,5)
 {
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 BOOST_FT_ell) BOOST_FT_cv ;
+typedef NDNBOOST_FT_syntax(NDNBOOST_FT_cc,type NDNBOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 NDNBOOST_FT_ell) NDNBOOST_FT_cv ;
 };
 template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 6 > 
+struct synthesize_impl_o< NDNBOOST_FT_flags, NDNBOOST_FT_cc_id, 6 > 
 { 
 template<typename S> struct synthesize_impl_i
 {
@@ -149,7 +149,7 @@
 typedef typename mpl::next< iter_3 > ::type iter_4;
 typedef typename mpl::next< iter_4 > ::type iter_5;
 public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,5) 
+typedef typename detail::NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,5) 
 < typename mpl::deref< iter_0 > ::type 
 , typename mpl::deref< iter_1 > ::type
 , typename mpl::deref< iter_2 > ::type
@@ -160,12 +160,12 @@
 };
 };
 template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,6)
+struct NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,6)
 {
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 BOOST_FT_ell) BOOST_FT_cv ;
+typedef NDNBOOST_FT_syntax(NDNBOOST_FT_cc,type NDNBOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 NDNBOOST_FT_ell) NDNBOOST_FT_cv ;
 };
 template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 7 > 
+struct synthesize_impl_o< NDNBOOST_FT_flags, NDNBOOST_FT_cc_id, 7 > 
 { 
 template<typename S> struct synthesize_impl_i
 {
@@ -178,7 +178,7 @@
 typedef typename mpl::next< iter_4 > ::type iter_5;
 typedef typename mpl::next< iter_5 > ::type iter_6;
 public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,6) 
+typedef typename detail::NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,6) 
 < typename mpl::deref< iter_0 > ::type 
 , typename mpl::deref< iter_1 > ::type
 , typename mpl::deref< iter_2 > ::type
@@ -190,12 +190,12 @@
 };
 };
 template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,7)
+struct NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,7)
 {
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 BOOST_FT_ell) BOOST_FT_cv ;
+typedef NDNBOOST_FT_syntax(NDNBOOST_FT_cc,type NDNBOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 NDNBOOST_FT_ell) NDNBOOST_FT_cv ;
 };
 template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 8 > 
+struct synthesize_impl_o< NDNBOOST_FT_flags, NDNBOOST_FT_cc_id, 8 > 
 { 
 template<typename S> struct synthesize_impl_i
 {
@@ -209,7 +209,7 @@
 typedef typename mpl::next< iter_5 > ::type iter_6;
 typedef typename mpl::next< iter_6 > ::type iter_7;
 public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,7) 
+typedef typename detail::NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,7) 
 < typename mpl::deref< iter_0 > ::type 
 , typename mpl::deref< iter_1 > ::type
 , typename mpl::deref< iter_2 > ::type
@@ -222,12 +222,12 @@
 };
 };
 template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,8)
+struct NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,8)
 {
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 BOOST_FT_ell) BOOST_FT_cv ;
+typedef NDNBOOST_FT_syntax(NDNBOOST_FT_cc,type NDNBOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 NDNBOOST_FT_ell) NDNBOOST_FT_cv ;
 };
 template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 9 > 
+struct synthesize_impl_o< NDNBOOST_FT_flags, NDNBOOST_FT_cc_id, 9 > 
 { 
 template<typename S> struct synthesize_impl_i
 {
@@ -242,7 +242,7 @@
 typedef typename mpl::next< iter_6 > ::type iter_7;
 typedef typename mpl::next< iter_7 > ::type iter_8;
 public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,8) 
+typedef typename detail::NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,8) 
 < typename mpl::deref< iter_0 > ::type 
 , typename mpl::deref< iter_1 > ::type
 , typename mpl::deref< iter_2 > ::type
@@ -256,12 +256,12 @@
 };
 };
 template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,9)
+struct NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,9)
 {
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 BOOST_FT_ell) BOOST_FT_cv ;
+typedef NDNBOOST_FT_syntax(NDNBOOST_FT_cc,type NDNBOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 NDNBOOST_FT_ell) NDNBOOST_FT_cv ;
 };
 template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 10 > 
+struct synthesize_impl_o< NDNBOOST_FT_flags, NDNBOOST_FT_cc_id, 10 > 
 { 
 template<typename S> struct synthesize_impl_i
 {
@@ -277,7 +277,7 @@
 typedef typename mpl::next< iter_7 > ::type iter_8;
 typedef typename mpl::next< iter_8 > ::type iter_9;
 public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,9) 
+typedef typename detail::NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,9) 
 < typename mpl::deref< iter_0 > ::type 
 , typename mpl::deref< iter_1 > ::type
 , typename mpl::deref< iter_2 > ::type
@@ -292,12 +292,12 @@
 };
 };
 template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,10)
+struct NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,10)
 {
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 BOOST_FT_ell) BOOST_FT_cv ;
+typedef NDNBOOST_FT_syntax(NDNBOOST_FT_cc,type NDNBOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 NDNBOOST_FT_ell) NDNBOOST_FT_cv ;
 };
 template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 11 > 
+struct synthesize_impl_o< NDNBOOST_FT_flags, NDNBOOST_FT_cc_id, 11 > 
 { 
 template<typename S> struct synthesize_impl_i
 {
@@ -314,7 +314,7 @@
 typedef typename mpl::next< iter_8 > ::type iter_9;
 typedef typename mpl::next< iter_9 > ::type iter_10;
 public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,10) 
+typedef typename detail::NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,10) 
 < typename mpl::deref< iter_0 > ::type 
 , typename mpl::deref< iter_1 > ::type
 , typename mpl::deref< iter_2 > ::type
@@ -329,6 +329,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
 
diff --git a/include/ndnboost/function_types/detail/synthesize_impl/arity10_1.hpp b/include/ndnboost/function_types/detail/synthesize_impl/arity10_1.hpp
index bbd5963..8ebb2c8 100644
--- a/include/ndnboost/function_types/detail/synthesize_impl/arity10_1.hpp
+++ b/include/ndnboost/function_types/detail/synthesize_impl/arity10_1.hpp
@@ -8,26 +8,26 @@
 
 // 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
 
-# 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 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,1)
+struct NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,1)
 {
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) ( BOOST_FT_ell) BOOST_FT_cv ;
+typedef NDNBOOST_FT_syntax(NDNBOOST_FT_cc,type NDNBOOST_PP_EMPTY) ( NDNBOOST_FT_ell) NDNBOOST_FT_cv ;
 };
 template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 2 > 
+struct synthesize_impl_o< NDNBOOST_FT_flags, NDNBOOST_FT_cc_id, 2 > 
 { 
 template<typename S> struct synthesize_impl_i
 {
@@ -35,7 +35,7 @@
 typedef typename mpl::begin<S> ::type iter_0;
 typedef typename mpl::next< iter_0 > ::type iter_1;
 public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,1) 
+typedef typename detail::NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,1) 
 < typename mpl::deref< iter_0 > ::type 
 , typename detail::cv_traits< 
 typename mpl::deref< iter_1 > ::type > ::type
@@ -43,12 +43,12 @@
 };
 };
 template< typename R , typename T0 , typename T1 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,2)
+struct NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,2)
 {
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 BOOST_FT_ell) BOOST_FT_cv ;
+typedef NDNBOOST_FT_syntax(NDNBOOST_FT_cc,type NDNBOOST_PP_EMPTY) (T1 NDNBOOST_FT_ell) NDNBOOST_FT_cv ;
 };
 template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 3 > 
+struct synthesize_impl_o< NDNBOOST_FT_flags, NDNBOOST_FT_cc_id, 3 > 
 { 
 template<typename S> struct synthesize_impl_i
 {
@@ -57,7 +57,7 @@
 typedef typename mpl::next< iter_0 > ::type iter_1;
 typedef typename mpl::next< iter_1 > ::type iter_2;
 public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,2) 
+typedef typename detail::NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,2) 
 < typename mpl::deref< iter_0 > ::type 
 , typename detail::cv_traits< 
 typename mpl::deref< iter_1 > ::type > ::type
@@ -66,12 +66,12 @@
 };
 };
 template< typename R , typename T0 , typename T1 , typename T2 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,3)
+struct NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,3)
 {
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 BOOST_FT_ell) BOOST_FT_cv ;
+typedef NDNBOOST_FT_syntax(NDNBOOST_FT_cc,type NDNBOOST_PP_EMPTY) (T1 , T2 NDNBOOST_FT_ell) NDNBOOST_FT_cv ;
 };
 template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 4 > 
+struct synthesize_impl_o< NDNBOOST_FT_flags, NDNBOOST_FT_cc_id, 4 > 
 { 
 template<typename S> struct synthesize_impl_i
 {
@@ -81,7 +81,7 @@
 typedef typename mpl::next< iter_1 > ::type iter_2;
 typedef typename mpl::next< iter_2 > ::type iter_3;
 public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,3) 
+typedef typename detail::NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,3) 
 < typename mpl::deref< iter_0 > ::type 
 , typename detail::cv_traits< 
 typename mpl::deref< iter_1 > ::type > ::type
@@ -91,12 +91,12 @@
 };
 };
 template< typename R , typename T0 , typename T1 , typename T2 , typename T3 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,4)
+struct NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,4)
 {
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 BOOST_FT_ell) BOOST_FT_cv ;
+typedef NDNBOOST_FT_syntax(NDNBOOST_FT_cc,type NDNBOOST_PP_EMPTY) (T1 , T2 , T3 NDNBOOST_FT_ell) NDNBOOST_FT_cv ;
 };
 template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 5 > 
+struct synthesize_impl_o< NDNBOOST_FT_flags, NDNBOOST_FT_cc_id, 5 > 
 { 
 template<typename S> struct synthesize_impl_i
 {
@@ -107,7 +107,7 @@
 typedef typename mpl::next< iter_2 > ::type iter_3;
 typedef typename mpl::next< iter_3 > ::type iter_4;
 public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,4) 
+typedef typename detail::NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,4) 
 < typename mpl::deref< iter_0 > ::type 
 , typename detail::cv_traits< 
 typename mpl::deref< iter_1 > ::type > ::type
@@ -118,12 +118,12 @@
 };
 };
 template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,5)
+struct NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,5)
 {
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 BOOST_FT_ell) BOOST_FT_cv ;
+typedef NDNBOOST_FT_syntax(NDNBOOST_FT_cc,type NDNBOOST_PP_EMPTY) (T1 , T2 , T3 , T4 NDNBOOST_FT_ell) NDNBOOST_FT_cv ;
 };
 template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 6 > 
+struct synthesize_impl_o< NDNBOOST_FT_flags, NDNBOOST_FT_cc_id, 6 > 
 { 
 template<typename S> struct synthesize_impl_i
 {
@@ -135,7 +135,7 @@
 typedef typename mpl::next< iter_3 > ::type iter_4;
 typedef typename mpl::next< iter_4 > ::type iter_5;
 public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,5) 
+typedef typename detail::NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,5) 
 < typename mpl::deref< iter_0 > ::type 
 , typename detail::cv_traits< 
 typename mpl::deref< iter_1 > ::type > ::type
@@ -147,12 +147,12 @@
 };
 };
 template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,6)
+struct NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,6)
 {
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 BOOST_FT_ell) BOOST_FT_cv ;
+typedef NDNBOOST_FT_syntax(NDNBOOST_FT_cc,type NDNBOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 NDNBOOST_FT_ell) NDNBOOST_FT_cv ;
 };
 template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 7 > 
+struct synthesize_impl_o< NDNBOOST_FT_flags, NDNBOOST_FT_cc_id, 7 > 
 { 
 template<typename S> struct synthesize_impl_i
 {
@@ -165,7 +165,7 @@
 typedef typename mpl::next< iter_4 > ::type iter_5;
 typedef typename mpl::next< iter_5 > ::type iter_6;
 public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,6) 
+typedef typename detail::NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,6) 
 < typename mpl::deref< iter_0 > ::type 
 , typename detail::cv_traits< 
 typename mpl::deref< iter_1 > ::type > ::type
@@ -178,12 +178,12 @@
 };
 };
 template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,7)
+struct NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,7)
 {
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 BOOST_FT_ell) BOOST_FT_cv ;
+typedef NDNBOOST_FT_syntax(NDNBOOST_FT_cc,type NDNBOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 NDNBOOST_FT_ell) NDNBOOST_FT_cv ;
 };
 template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 8 > 
+struct synthesize_impl_o< NDNBOOST_FT_flags, NDNBOOST_FT_cc_id, 8 > 
 { 
 template<typename S> struct synthesize_impl_i
 {
@@ -197,7 +197,7 @@
 typedef typename mpl::next< iter_5 > ::type iter_6;
 typedef typename mpl::next< iter_6 > ::type iter_7;
 public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,7) 
+typedef typename detail::NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,7) 
 < typename mpl::deref< iter_0 > ::type 
 , typename detail::cv_traits< 
 typename mpl::deref< iter_1 > ::type > ::type
@@ -211,12 +211,12 @@
 };
 };
 template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,8)
+struct NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,8)
 {
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 BOOST_FT_ell) BOOST_FT_cv ;
+typedef NDNBOOST_FT_syntax(NDNBOOST_FT_cc,type NDNBOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 NDNBOOST_FT_ell) NDNBOOST_FT_cv ;
 };
 template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 9 > 
+struct synthesize_impl_o< NDNBOOST_FT_flags, NDNBOOST_FT_cc_id, 9 > 
 { 
 template<typename S> struct synthesize_impl_i
 {
@@ -231,7 +231,7 @@
 typedef typename mpl::next< iter_6 > ::type iter_7;
 typedef typename mpl::next< iter_7 > ::type iter_8;
 public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,8) 
+typedef typename detail::NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,8) 
 < typename mpl::deref< iter_0 > ::type 
 , typename detail::cv_traits< 
 typename mpl::deref< iter_1 > ::type > ::type
@@ -246,12 +246,12 @@
 };
 };
 template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,9)
+struct NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,9)
 {
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv ;
 };
 template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 10 > 
+struct synthesize_impl_o< NDNBOOST_FT_flags, NDNBOOST_FT_cc_id, 10 > 
 { 
 template<typename S> struct synthesize_impl_i
 {
@@ -267,7 +267,7 @@
 typedef typename mpl::next< iter_7 > ::type iter_8;
 typedef typename mpl::next< iter_8 > ::type iter_9;
 public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,9) 
+typedef typename detail::NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,9) 
 < typename mpl::deref< iter_0 > ::type 
 , typename detail::cv_traits< 
 typename mpl::deref< iter_1 > ::type > ::type
@@ -283,12 +283,12 @@
 };
 };
 template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,10)
+struct NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,10)
 {
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv ;
 };
 template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 11 > 
+struct synthesize_impl_o< NDNBOOST_FT_flags, NDNBOOST_FT_cc_id, 11 > 
 { 
 template<typename S> struct synthesize_impl_i
 {
@@ -305,7 +305,7 @@
 typedef typename mpl::next< iter_8 > ::type iter_9;
 typedef typename mpl::next< iter_9 > ::type iter_10;
 public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,10) 
+typedef typename detail::NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,10) 
 < typename mpl::deref< iter_0 > ::type 
 , typename detail::cv_traits< 
 typename mpl::deref< iter_1 > ::type > ::type
@@ -321,6 +321,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
 
diff --git a/include/ndnboost/function_types/detail/synthesize_impl/arity20_0.hpp b/include/ndnboost/function_types/detail/synthesize_impl/arity20_0.hpp
index 86988d7..0ad2a0f 100644
--- a/include/ndnboost/function_types/detail/synthesize_impl/arity20_0.hpp
+++ b/include/ndnboost/function_types/detail/synthesize_impl/arity20_0.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/arity10_0.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 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,11)
+struct NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,11)
 {
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 BOOST_FT_ell) BOOST_FT_cv ;
+typedef NDNBOOST_FT_syntax(NDNBOOST_FT_cc,type NDNBOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 NDNBOOST_FT_ell) NDNBOOST_FT_cv ;
 };
 template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 12 > 
+struct synthesize_impl_o< NDNBOOST_FT_flags, NDNBOOST_FT_cc_id, 12 > 
 { 
 template<typename S> struct synthesize_impl_i
 {
@@ -46,7 +46,7 @@
 typedef typename mpl::next< iter_9 > ::type iter_10;
 typedef typename mpl::next< iter_10 > ::type iter_11;
 public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,11) 
+typedef typename detail::NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,11) 
 < typename mpl::deref< iter_0 > ::type 
 , typename mpl::deref< iter_1 > ::type
 , typename mpl::deref< iter_2 > ::type
@@ -63,12 +63,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 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,12)
+struct NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,12)
 {
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 BOOST_FT_ell) BOOST_FT_cv ;
+typedef NDNBOOST_FT_syntax(NDNBOOST_FT_cc,type NDNBOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 NDNBOOST_FT_ell) NDNBOOST_FT_cv ;
 };
 template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 13 > 
+struct synthesize_impl_o< NDNBOOST_FT_flags, NDNBOOST_FT_cc_id, 13 > 
 { 
 template<typename S> struct synthesize_impl_i
 {
@@ -87,7 +87,7 @@
 typedef typename mpl::next< iter_10 > ::type iter_11;
 typedef typename mpl::next< iter_11 > ::type iter_12;
 public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,12) 
+typedef typename detail::NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,12) 
 < typename mpl::deref< iter_0 > ::type 
 , typename mpl::deref< iter_1 > ::type
 , typename mpl::deref< iter_2 > ::type
@@ -105,12 +105,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 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,13)
+struct NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,13)
 {
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 BOOST_FT_ell) BOOST_FT_cv ;
+typedef NDNBOOST_FT_syntax(NDNBOOST_FT_cc,type NDNBOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 NDNBOOST_FT_ell) NDNBOOST_FT_cv ;
 };
 template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 14 > 
+struct synthesize_impl_o< NDNBOOST_FT_flags, NDNBOOST_FT_cc_id, 14 > 
 { 
 template<typename S> struct synthesize_impl_i
 {
@@ -130,7 +130,7 @@
 typedef typename mpl::next< iter_11 > ::type iter_12;
 typedef typename mpl::next< iter_12 > ::type iter_13;
 public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,13) 
+typedef typename detail::NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,13) 
 < typename mpl::deref< iter_0 > ::type 
 , typename mpl::deref< iter_1 > ::type
 , typename mpl::deref< iter_2 > ::type
@@ -149,12 +149,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 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,14)
+struct NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,14)
 {
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 BOOST_FT_ell) BOOST_FT_cv ;
+typedef NDNBOOST_FT_syntax(NDNBOOST_FT_cc,type NDNBOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 NDNBOOST_FT_ell) NDNBOOST_FT_cv ;
 };
 template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 15 > 
+struct synthesize_impl_o< NDNBOOST_FT_flags, NDNBOOST_FT_cc_id, 15 > 
 { 
 template<typename S> struct synthesize_impl_i
 {
@@ -175,7 +175,7 @@
 typedef typename mpl::next< iter_12 > ::type iter_13;
 typedef typename mpl::next< iter_13 > ::type iter_14;
 public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,14) 
+typedef typename detail::NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,14) 
 < typename mpl::deref< iter_0 > ::type 
 , typename mpl::deref< iter_1 > ::type
 , typename mpl::deref< iter_2 > ::type
@@ -195,12 +195,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 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,15)
+struct NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,15)
 {
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 BOOST_FT_ell) BOOST_FT_cv ;
+typedef NDNBOOST_FT_syntax(NDNBOOST_FT_cc,type NDNBOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 NDNBOOST_FT_ell) NDNBOOST_FT_cv ;
 };
 template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 16 > 
+struct synthesize_impl_o< NDNBOOST_FT_flags, NDNBOOST_FT_cc_id, 16 > 
 { 
 template<typename S> struct synthesize_impl_i
 {
@@ -222,7 +222,7 @@
 typedef typename mpl::next< iter_13 > ::type iter_14;
 typedef typename mpl::next< iter_14 > ::type iter_15;
 public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,15) 
+typedef typename detail::NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,15) 
 < typename mpl::deref< iter_0 > ::type 
 , typename mpl::deref< iter_1 > ::type
 , typename mpl::deref< iter_2 > ::type
@@ -243,12 +243,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 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,16)
+struct NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,16)
 {
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 BOOST_FT_ell) BOOST_FT_cv ;
+typedef NDNBOOST_FT_syntax(NDNBOOST_FT_cc,type NDNBOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 NDNBOOST_FT_ell) NDNBOOST_FT_cv ;
 };
 template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 17 > 
+struct synthesize_impl_o< NDNBOOST_FT_flags, NDNBOOST_FT_cc_id, 17 > 
 { 
 template<typename S> struct synthesize_impl_i
 {
@@ -271,7 +271,7 @@
 typedef typename mpl::next< iter_14 > ::type iter_15;
 typedef typename mpl::next< iter_15 > ::type iter_16;
 public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,16) 
+typedef typename detail::NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,16) 
 < typename mpl::deref< iter_0 > ::type 
 , typename mpl::deref< iter_1 > ::type
 , typename mpl::deref< iter_2 > ::type
@@ -293,12 +293,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 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,17)
+struct NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,17)
 {
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 BOOST_FT_ell) BOOST_FT_cv ;
+typedef NDNBOOST_FT_syntax(NDNBOOST_FT_cc,type NDNBOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 NDNBOOST_FT_ell) NDNBOOST_FT_cv ;
 };
 template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 18 > 
+struct synthesize_impl_o< NDNBOOST_FT_flags, NDNBOOST_FT_cc_id, 18 > 
 { 
 template<typename S> struct synthesize_impl_i
 {
@@ -322,7 +322,7 @@
 typedef typename mpl::next< iter_15 > ::type iter_16;
 typedef typename mpl::next< iter_16 > ::type iter_17;
 public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,17) 
+typedef typename detail::NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,17) 
 < typename mpl::deref< iter_0 > ::type 
 , typename mpl::deref< iter_1 > ::type
 , typename mpl::deref< iter_2 > ::type
@@ -345,12 +345,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 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,18)
+struct NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,18)
 {
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 BOOST_FT_ell) BOOST_FT_cv ;
+typedef NDNBOOST_FT_syntax(NDNBOOST_FT_cc,type NDNBOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 NDNBOOST_FT_ell) NDNBOOST_FT_cv ;
 };
 template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 19 > 
+struct synthesize_impl_o< NDNBOOST_FT_flags, NDNBOOST_FT_cc_id, 19 > 
 { 
 template<typename S> struct synthesize_impl_i
 {
@@ -375,7 +375,7 @@
 typedef typename mpl::next< iter_16 > ::type iter_17;
 typedef typename mpl::next< iter_17 > ::type iter_18;
 public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,18) 
+typedef typename detail::NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,18) 
 < typename mpl::deref< iter_0 > ::type 
 , typename mpl::deref< iter_1 > ::type
 , typename mpl::deref< iter_2 > ::type
@@ -399,12 +399,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 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,19)
+struct NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,19)
 {
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 BOOST_FT_ell) BOOST_FT_cv ;
+typedef NDNBOOST_FT_syntax(NDNBOOST_FT_cc,type NDNBOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 NDNBOOST_FT_ell) NDNBOOST_FT_cv ;
 };
 template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 20 > 
+struct synthesize_impl_o< NDNBOOST_FT_flags, NDNBOOST_FT_cc_id, 20 > 
 { 
 template<typename S> struct synthesize_impl_i
 {
@@ -430,7 +430,7 @@
 typedef typename mpl::next< iter_17 > ::type iter_18;
 typedef typename mpl::next< iter_18 > ::type iter_19;
 public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,19) 
+typedef typename detail::NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,19) 
 < typename mpl::deref< iter_0 > ::type 
 , typename mpl::deref< iter_1 > ::type
 , typename mpl::deref< iter_2 > ::type
@@ -455,12 +455,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 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,20)
+struct NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,20)
 {
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 BOOST_FT_ell) BOOST_FT_cv ;
+typedef NDNBOOST_FT_syntax(NDNBOOST_FT_cc,type NDNBOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 NDNBOOST_FT_ell) NDNBOOST_FT_cv ;
 };
 template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 21 > 
+struct synthesize_impl_o< NDNBOOST_FT_flags, NDNBOOST_FT_cc_id, 21 > 
 { 
 template<typename S> struct synthesize_impl_i
 {
@@ -487,7 +487,7 @@
 typedef typename mpl::next< iter_18 > ::type iter_19;
 typedef typename mpl::next< iter_19 > ::type iter_20;
 public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,20) 
+typedef typename detail::NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,20) 
 < typename mpl::deref< iter_0 > ::type 
 , typename mpl::deref< iter_1 > ::type
 , typename mpl::deref< iter_2 > ::type
@@ -512,6 +512,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
 
diff --git a/include/ndnboost/function_types/detail/synthesize_impl/arity20_1.hpp b/include/ndnboost/function_types/detail/synthesize_impl/arity20_1.hpp
index f1e6645..9776c83 100644
--- a/include/ndnboost/function_types/detail/synthesize_impl/arity20_1.hpp
+++ b/include/ndnboost/function_types/detail/synthesize_impl/arity20_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/arity10_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 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,11)
+struct NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,11)
 {
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv ;
 };
 template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 12 > 
+struct synthesize_impl_o< NDNBOOST_FT_flags, NDNBOOST_FT_cc_id, 12 > 
 { 
 template<typename S> struct synthesize_impl_i
 {
@@ -46,7 +46,7 @@
 typedef typename mpl::next< iter_9 > ::type iter_10;
 typedef typename mpl::next< iter_10 > ::type iter_11;
 public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,11) 
+typedef typename detail::NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,11) 
 < typename mpl::deref< iter_0 > ::type 
 , typename detail::cv_traits< 
 typename mpl::deref< iter_1 > ::type > ::type
@@ -64,12 +64,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 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,12)
+struct NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,12)
 {
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv ;
 };
 template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 13 > 
+struct synthesize_impl_o< NDNBOOST_FT_flags, NDNBOOST_FT_cc_id, 13 > 
 { 
 template<typename S> struct synthesize_impl_i
 {
@@ -88,7 +88,7 @@
 typedef typename mpl::next< iter_10 > ::type iter_11;
 typedef typename mpl::next< iter_11 > ::type iter_12;
 public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,12) 
+typedef typename detail::NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,12) 
 < typename mpl::deref< iter_0 > ::type 
 , typename detail::cv_traits< 
 typename mpl::deref< iter_1 > ::type > ::type
@@ -107,12 +107,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 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,13)
+struct NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,13)
 {
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv ;
 };
 template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 14 > 
+struct synthesize_impl_o< NDNBOOST_FT_flags, NDNBOOST_FT_cc_id, 14 > 
 { 
 template<typename S> struct synthesize_impl_i
 {
@@ -132,7 +132,7 @@
 typedef typename mpl::next< iter_11 > ::type iter_12;
 typedef typename mpl::next< iter_12 > ::type iter_13;
 public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,13) 
+typedef typename detail::NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,13) 
 < typename mpl::deref< iter_0 > ::type 
 , typename detail::cv_traits< 
 typename mpl::deref< iter_1 > ::type > ::type
@@ -152,12 +152,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 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,14)
+struct NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,14)
 {
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv ;
 };
 template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 15 > 
+struct synthesize_impl_o< NDNBOOST_FT_flags, NDNBOOST_FT_cc_id, 15 > 
 { 
 template<typename S> struct synthesize_impl_i
 {
@@ -178,7 +178,7 @@
 typedef typename mpl::next< iter_12 > ::type iter_13;
 typedef typename mpl::next< iter_13 > ::type iter_14;
 public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,14) 
+typedef typename detail::NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,14) 
 < typename mpl::deref< iter_0 > ::type 
 , typename detail::cv_traits< 
 typename mpl::deref< iter_1 > ::type > ::type
@@ -199,12 +199,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 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,15)
+struct NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,15)
 {
-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 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv ;
 };
 template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 16 > 
+struct synthesize_impl_o< NDNBOOST_FT_flags, NDNBOOST_FT_cc_id, 16 > 
 { 
 template<typename S> struct synthesize_impl_i
 {
@@ -226,7 +226,7 @@
 typedef typename mpl::next< iter_13 > ::type iter_14;
 typedef typename mpl::next< iter_14 > ::type iter_15;
 public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,15) 
+typedef typename detail::NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,15) 
 < typename mpl::deref< iter_0 > ::type 
 , typename detail::cv_traits< 
 typename mpl::deref< iter_1 > ::type > ::type
@@ -248,12 +248,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 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,16)
+struct NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,16)
 {
-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 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv ;
 };
 template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 17 > 
+struct synthesize_impl_o< NDNBOOST_FT_flags, NDNBOOST_FT_cc_id, 17 > 
 { 
 template<typename S> struct synthesize_impl_i
 {
@@ -276,7 +276,7 @@
 typedef typename mpl::next< iter_14 > ::type iter_15;
 typedef typename mpl::next< iter_15 > ::type iter_16;
 public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,16) 
+typedef typename detail::NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,16) 
 < typename mpl::deref< iter_0 > ::type 
 , typename detail::cv_traits< 
 typename mpl::deref< iter_1 > ::type > ::type
@@ -299,12 +299,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 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,17)
+struct NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,17)
 {
-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 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv ;
 };
 template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 18 > 
+struct synthesize_impl_o< NDNBOOST_FT_flags, NDNBOOST_FT_cc_id, 18 > 
 { 
 template<typename S> struct synthesize_impl_i
 {
@@ -328,7 +328,7 @@
 typedef typename mpl::next< iter_15 > ::type iter_16;
 typedef typename mpl::next< iter_16 > ::type iter_17;
 public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,17) 
+typedef typename detail::NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,17) 
 < typename mpl::deref< iter_0 > ::type 
 , typename detail::cv_traits< 
 typename mpl::deref< iter_1 > ::type > ::type
@@ -352,12 +352,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 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,18)
+struct NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,18)
 {
-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 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv ;
 };
 template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 19 > 
+struct synthesize_impl_o< NDNBOOST_FT_flags, NDNBOOST_FT_cc_id, 19 > 
 { 
 template<typename S> struct synthesize_impl_i
 {
@@ -382,7 +382,7 @@
 typedef typename mpl::next< iter_16 > ::type iter_17;
 typedef typename mpl::next< iter_17 > ::type iter_18;
 public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,18) 
+typedef typename detail::NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,18) 
 < typename mpl::deref< iter_0 > ::type 
 , typename detail::cv_traits< 
 typename mpl::deref< iter_1 > ::type > ::type
@@ -407,12 +407,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 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,19)
+struct NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,19)
 {
-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 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv ;
 };
 template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 20 > 
+struct synthesize_impl_o< NDNBOOST_FT_flags, NDNBOOST_FT_cc_id, 20 > 
 { 
 template<typename S> struct synthesize_impl_i
 {
@@ -438,7 +438,7 @@
 typedef typename mpl::next< iter_17 > ::type iter_18;
 typedef typename mpl::next< iter_18 > ::type iter_19;
 public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,19) 
+typedef typename detail::NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,19) 
 < typename mpl::deref< iter_0 > ::type 
 , typename detail::cv_traits< 
 typename mpl::deref< iter_1 > ::type > ::type
@@ -464,12 +464,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 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,20)
+struct NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,20)
 {
-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 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv ;
 };
 template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 21 > 
+struct synthesize_impl_o< NDNBOOST_FT_flags, NDNBOOST_FT_cc_id, 21 > 
 { 
 template<typename S> struct synthesize_impl_i
 {
@@ -496,7 +496,7 @@
 typedef typename mpl::next< iter_18 > ::type iter_19;
 typedef typename mpl::next< iter_19 > ::type iter_20;
 public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,20) 
+typedef typename detail::NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,20) 
 < typename mpl::deref< iter_0 > ::type 
 , typename detail::cv_traits< 
 typename mpl::deref< iter_1 > ::type > ::type
@@ -522,6 +522,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
 
diff --git a/include/ndnboost/function_types/detail/synthesize_impl/arity30_0.hpp b/include/ndnboost/function_types/detail/synthesize_impl/arity30_0.hpp
index 0810409..a4838fd 100644
--- a/include/ndnboost/function_types/detail/synthesize_impl/arity30_0.hpp
+++ b/include/ndnboost/function_types/detail/synthesize_impl/arity30_0.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/arity20_0.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 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,21)
+struct NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,21)
 {
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 BOOST_FT_ell) BOOST_FT_cv ;
+typedef NDNBOOST_FT_syntax(NDNBOOST_FT_cc,type NDNBOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 NDNBOOST_FT_ell) NDNBOOST_FT_cv ;
 };
 template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 22 > 
+struct synthesize_impl_o< NDNBOOST_FT_flags, NDNBOOST_FT_cc_id, 22 > 
 { 
 template<typename S> struct synthesize_impl_i
 {
@@ -56,7 +56,7 @@
 typedef typename mpl::next< iter_19 > ::type iter_20;
 typedef typename mpl::next< iter_20 > ::type iter_21;
 public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,21) 
+typedef typename detail::NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,21) 
 < typename mpl::deref< iter_0 > ::type 
 , typename mpl::deref< iter_1 > ::type
 , typename mpl::deref< iter_2 > ::type
@@ -83,12 +83,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 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,22)
+struct NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,22)
 {
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 BOOST_FT_ell) BOOST_FT_cv ;
+typedef NDNBOOST_FT_syntax(NDNBOOST_FT_cc,type NDNBOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 NDNBOOST_FT_ell) NDNBOOST_FT_cv ;
 };
 template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 23 > 
+struct synthesize_impl_o< NDNBOOST_FT_flags, NDNBOOST_FT_cc_id, 23 > 
 { 
 template<typename S> struct synthesize_impl_i
 {
@@ -117,7 +117,7 @@
 typedef typename mpl::next< iter_20 > ::type iter_21;
 typedef typename mpl::next< iter_21 > ::type iter_22;
 public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,22) 
+typedef typename detail::NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,22) 
 < typename mpl::deref< iter_0 > ::type 
 , typename mpl::deref< iter_1 > ::type
 , typename mpl::deref< iter_2 > ::type
@@ -145,12 +145,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 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,23)
+struct NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,23)
 {
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 BOOST_FT_ell) BOOST_FT_cv ;
+typedef NDNBOOST_FT_syntax(NDNBOOST_FT_cc,type NDNBOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 NDNBOOST_FT_ell) NDNBOOST_FT_cv ;
 };
 template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 24 > 
+struct synthesize_impl_o< NDNBOOST_FT_flags, NDNBOOST_FT_cc_id, 24 > 
 { 
 template<typename S> struct synthesize_impl_i
 {
@@ -180,7 +180,7 @@
 typedef typename mpl::next< iter_21 > ::type iter_22;
 typedef typename mpl::next< iter_22 > ::type iter_23;
 public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,23) 
+typedef typename detail::NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,23) 
 < typename mpl::deref< iter_0 > ::type 
 , typename mpl::deref< iter_1 > ::type
 , typename mpl::deref< iter_2 > ::type
@@ -209,12 +209,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 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,24)
+struct NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,24)
 {
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 BOOST_FT_ell) BOOST_FT_cv ;
+typedef NDNBOOST_FT_syntax(NDNBOOST_FT_cc,type NDNBOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 NDNBOOST_FT_ell) NDNBOOST_FT_cv ;
 };
 template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 25 > 
+struct synthesize_impl_o< NDNBOOST_FT_flags, NDNBOOST_FT_cc_id, 25 > 
 { 
 template<typename S> struct synthesize_impl_i
 {
@@ -245,7 +245,7 @@
 typedef typename mpl::next< iter_22 > ::type iter_23;
 typedef typename mpl::next< iter_23 > ::type iter_24;
 public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,24) 
+typedef typename detail::NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,24) 
 < typename mpl::deref< iter_0 > ::type 
 , typename mpl::deref< iter_1 > ::type
 , typename mpl::deref< iter_2 > ::type
@@ -275,12 +275,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 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,25)
+struct NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,25)
 {
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 BOOST_FT_ell) BOOST_FT_cv ;
+typedef NDNBOOST_FT_syntax(NDNBOOST_FT_cc,type NDNBOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 NDNBOOST_FT_ell) NDNBOOST_FT_cv ;
 };
 template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 26 > 
+struct synthesize_impl_o< NDNBOOST_FT_flags, NDNBOOST_FT_cc_id, 26 > 
 { 
 template<typename S> struct synthesize_impl_i
 {
@@ -312,7 +312,7 @@
 typedef typename mpl::next< iter_23 > ::type iter_24;
 typedef typename mpl::next< iter_24 > ::type iter_25;
 public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,25) 
+typedef typename detail::NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,25) 
 < typename mpl::deref< iter_0 > ::type 
 , typename mpl::deref< iter_1 > ::type
 , typename mpl::deref< iter_2 > ::type
@@ -343,12 +343,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 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,26)
+struct NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,26)
 {
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , 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 BOOST_FT_ell) BOOST_FT_cv ;
+typedef NDNBOOST_FT_syntax(NDNBOOST_FT_cc,type NDNBOOST_PP_EMPTY) (T0 , 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv ;
 };
 template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 27 > 
+struct synthesize_impl_o< NDNBOOST_FT_flags, NDNBOOST_FT_cc_id, 27 > 
 { 
 template<typename S> struct synthesize_impl_i
 {
@@ -381,7 +381,7 @@
 typedef typename mpl::next< iter_24 > ::type iter_25;
 typedef typename mpl::next< iter_25 > ::type iter_26;
 public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,26) 
+typedef typename detail::NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,26) 
 < typename mpl::deref< iter_0 > ::type 
 , typename mpl::deref< iter_1 > ::type
 , typename mpl::deref< iter_2 > ::type
@@ -413,12 +413,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 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,27)
+struct NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,27)
 {
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , 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 BOOST_FT_ell) BOOST_FT_cv ;
+typedef NDNBOOST_FT_syntax(NDNBOOST_FT_cc,type NDNBOOST_PP_EMPTY) (T0 , 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv ;
 };
 template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 28 > 
+struct synthesize_impl_o< NDNBOOST_FT_flags, NDNBOOST_FT_cc_id, 28 > 
 { 
 template<typename S> struct synthesize_impl_i
 {
@@ -452,7 +452,7 @@
 typedef typename mpl::next< iter_25 > ::type iter_26;
 typedef typename mpl::next< iter_26 > ::type iter_27;
 public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,27) 
+typedef typename detail::NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,27) 
 < typename mpl::deref< iter_0 > ::type 
 , typename mpl::deref< iter_1 > ::type
 , typename mpl::deref< iter_2 > ::type
@@ -485,12 +485,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 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,28)
+struct NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,28)
 {
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , 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 BOOST_FT_ell) BOOST_FT_cv ;
+typedef NDNBOOST_FT_syntax(NDNBOOST_FT_cc,type NDNBOOST_PP_EMPTY) (T0 , 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv ;
 };
 template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 29 > 
+struct synthesize_impl_o< NDNBOOST_FT_flags, NDNBOOST_FT_cc_id, 29 > 
 { 
 template<typename S> struct synthesize_impl_i
 {
@@ -525,7 +525,7 @@
 typedef typename mpl::next< iter_26 > ::type iter_27;
 typedef typename mpl::next< iter_27 > ::type iter_28;
 public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,28) 
+typedef typename detail::NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,28) 
 < typename mpl::deref< iter_0 > ::type 
 , typename mpl::deref< iter_1 > ::type
 , typename mpl::deref< iter_2 > ::type
@@ -559,12 +559,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 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,29)
+struct NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,29)
 {
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , 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 BOOST_FT_ell) BOOST_FT_cv ;
+typedef NDNBOOST_FT_syntax(NDNBOOST_FT_cc,type NDNBOOST_PP_EMPTY) (T0 , 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv ;
 };
 template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 30 > 
+struct synthesize_impl_o< NDNBOOST_FT_flags, NDNBOOST_FT_cc_id, 30 > 
 { 
 template<typename S> struct synthesize_impl_i
 {
@@ -600,7 +600,7 @@
 typedef typename mpl::next< iter_27 > ::type iter_28;
 typedef typename mpl::next< iter_28 > ::type iter_29;
 public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,29) 
+typedef typename detail::NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,29) 
 < typename mpl::deref< iter_0 > ::type 
 , typename mpl::deref< iter_1 > ::type
 , typename mpl::deref< iter_2 > ::type
@@ -635,12 +635,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 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,30)
+struct NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,30)
 {
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , 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 BOOST_FT_ell) BOOST_FT_cv ;
+typedef NDNBOOST_FT_syntax(NDNBOOST_FT_cc,type NDNBOOST_PP_EMPTY) (T0 , 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv ;
 };
 template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 31 > 
+struct synthesize_impl_o< NDNBOOST_FT_flags, NDNBOOST_FT_cc_id, 31 > 
 { 
 template<typename S> struct synthesize_impl_i
 {
@@ -677,7 +677,7 @@
 typedef typename mpl::next< iter_28 > ::type iter_29;
 typedef typename mpl::next< iter_29 > ::type iter_30;
 public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,30) 
+typedef typename detail::NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,30) 
 < typename mpl::deref< iter_0 > ::type 
 , typename mpl::deref< iter_1 > ::type
 , typename mpl::deref< iter_2 > ::type
@@ -712,6 +712,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
 
diff --git a/include/ndnboost/function_types/detail/synthesize_impl/arity30_1.hpp b/include/ndnboost/function_types/detail/synthesize_impl/arity30_1.hpp
index 0a7530d..f5829d6 100644
--- a/include/ndnboost/function_types/detail/synthesize_impl/arity30_1.hpp
+++ b/include/ndnboost/function_types/detail/synthesize_impl/arity30_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/arity20_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 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,21)
+struct NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,21)
 {
-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 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv ;
 };
 template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 22 > 
+struct synthesize_impl_o< NDNBOOST_FT_flags, NDNBOOST_FT_cc_id, 22 > 
 { 
 template<typename S> struct synthesize_impl_i
 {
@@ -56,7 +56,7 @@
 typedef typename mpl::next< iter_19 > ::type iter_20;
 typedef typename mpl::next< iter_20 > ::type iter_21;
 public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,21) 
+typedef typename detail::NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,21) 
 < typename mpl::deref< iter_0 > ::type 
 , typename detail::cv_traits< 
 typename mpl::deref< iter_1 > ::type > ::type
@@ -84,12 +84,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 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,22)
+struct NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,22)
 {
-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 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv ;
 };
 template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 23 > 
+struct synthesize_impl_o< NDNBOOST_FT_flags, NDNBOOST_FT_cc_id, 23 > 
 { 
 template<typename S> struct synthesize_impl_i
 {
@@ -118,7 +118,7 @@
 typedef typename mpl::next< iter_20 > ::type iter_21;
 typedef typename mpl::next< iter_21 > ::type iter_22;
 public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,22) 
+typedef typename detail::NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,22) 
 < typename mpl::deref< iter_0 > ::type 
 , typename detail::cv_traits< 
 typename mpl::deref< iter_1 > ::type > ::type
@@ -147,12 +147,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 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,23)
+struct NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,23)
 {
-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 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv ;
 };
 template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 24 > 
+struct synthesize_impl_o< NDNBOOST_FT_flags, NDNBOOST_FT_cc_id, 24 > 
 { 
 template<typename S> struct synthesize_impl_i
 {
@@ -182,7 +182,7 @@
 typedef typename mpl::next< iter_21 > ::type iter_22;
 typedef typename mpl::next< iter_22 > ::type iter_23;
 public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,23) 
+typedef typename detail::NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,23) 
 < typename mpl::deref< iter_0 > ::type 
 , typename detail::cv_traits< 
 typename mpl::deref< iter_1 > ::type > ::type
@@ -212,12 +212,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 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,24)
+struct NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,24)
 {
-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 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv ;
 };
 template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 25 > 
+struct synthesize_impl_o< NDNBOOST_FT_flags, NDNBOOST_FT_cc_id, 25 > 
 { 
 template<typename S> struct synthesize_impl_i
 {
@@ -248,7 +248,7 @@
 typedef typename mpl::next< iter_22 > ::type iter_23;
 typedef typename mpl::next< iter_23 > ::type iter_24;
 public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,24) 
+typedef typename detail::NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,24) 
 < typename mpl::deref< iter_0 > ::type 
 , typename detail::cv_traits< 
 typename mpl::deref< iter_1 > ::type > ::type
@@ -279,12 +279,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 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,25)
+struct NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,25)
 {
-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 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv ;
 };
 template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 26 > 
+struct synthesize_impl_o< NDNBOOST_FT_flags, NDNBOOST_FT_cc_id, 26 > 
 { 
 template<typename S> struct synthesize_impl_i
 {
@@ -316,7 +316,7 @@
 typedef typename mpl::next< iter_23 > ::type iter_24;
 typedef typename mpl::next< iter_24 > ::type iter_25;
 public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,25) 
+typedef typename detail::NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,25) 
 < typename mpl::deref< iter_0 > ::type 
 , typename detail::cv_traits< 
 typename mpl::deref< iter_1 > ::type > ::type
@@ -348,12 +348,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 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,26)
+struct NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,26)
 {
-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 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv ;
 };
 template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 27 > 
+struct synthesize_impl_o< NDNBOOST_FT_flags, NDNBOOST_FT_cc_id, 27 > 
 { 
 template<typename S> struct synthesize_impl_i
 {
@@ -386,7 +386,7 @@
 typedef typename mpl::next< iter_24 > ::type iter_25;
 typedef typename mpl::next< iter_25 > ::type iter_26;
 public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,26) 
+typedef typename detail::NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,26) 
 < typename mpl::deref< iter_0 > ::type 
 , typename detail::cv_traits< 
 typename mpl::deref< iter_1 > ::type > ::type
@@ -419,12 +419,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 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,27)
+struct NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,27)
 {
-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 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv ;
 };
 template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 28 > 
+struct synthesize_impl_o< NDNBOOST_FT_flags, NDNBOOST_FT_cc_id, 28 > 
 { 
 template<typename S> struct synthesize_impl_i
 {
@@ -458,7 +458,7 @@
 typedef typename mpl::next< iter_25 > ::type iter_26;
 typedef typename mpl::next< iter_26 > ::type iter_27;
 public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,27) 
+typedef typename detail::NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,27) 
 < typename mpl::deref< iter_0 > ::type 
 , typename detail::cv_traits< 
 typename mpl::deref< iter_1 > ::type > ::type
@@ -492,12 +492,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 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,28)
+struct NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,28)
 {
-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 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv ;
 };
 template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 29 > 
+struct synthesize_impl_o< NDNBOOST_FT_flags, NDNBOOST_FT_cc_id, 29 > 
 { 
 template<typename S> struct synthesize_impl_i
 {
@@ -532,7 +532,7 @@
 typedef typename mpl::next< iter_26 > ::type iter_27;
 typedef typename mpl::next< iter_27 > ::type iter_28;
 public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,28) 
+typedef typename detail::NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,28) 
 < typename mpl::deref< iter_0 > ::type 
 , typename detail::cv_traits< 
 typename mpl::deref< iter_1 > ::type > ::type
@@ -567,12 +567,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 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,29)
+struct NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,29)
 {
-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 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv ;
 };
 template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 30 > 
+struct synthesize_impl_o< NDNBOOST_FT_flags, NDNBOOST_FT_cc_id, 30 > 
 { 
 template<typename S> struct synthesize_impl_i
 {
@@ -608,7 +608,7 @@
 typedef typename mpl::next< iter_27 > ::type iter_28;
 typedef typename mpl::next< iter_28 > ::type iter_29;
 public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,29) 
+typedef typename detail::NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,29) 
 < typename mpl::deref< iter_0 > ::type 
 , typename detail::cv_traits< 
 typename mpl::deref< iter_1 > ::type > ::type
@@ -644,12 +644,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 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,30)
+struct NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,30)
 {
-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 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv ;
 };
 template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 31 > 
+struct synthesize_impl_o< NDNBOOST_FT_flags, NDNBOOST_FT_cc_id, 31 > 
 { 
 template<typename S> struct synthesize_impl_i
 {
@@ -686,7 +686,7 @@
 typedef typename mpl::next< iter_28 > ::type iter_29;
 typedef typename mpl::next< iter_29 > ::type iter_30;
 public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,30) 
+typedef typename detail::NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,30) 
 < typename mpl::deref< iter_0 > ::type 
 , typename detail::cv_traits< 
 typename mpl::deref< iter_1 > ::type > ::type
@@ -722,6 +722,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
 
diff --git a/include/ndnboost/function_types/detail/synthesize_impl/arity40_0.hpp b/include/ndnboost/function_types/detail/synthesize_impl/arity40_0.hpp
index d1ef292..6ff1c3f 100644
--- a/include/ndnboost/function_types/detail/synthesize_impl/arity40_0.hpp
+++ b/include/ndnboost/function_types/detail/synthesize_impl/arity40_0.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/arity30_0.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 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,31)
+struct NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,31)
 {
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , 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 BOOST_FT_ell) BOOST_FT_cv ;
+typedef NDNBOOST_FT_syntax(NDNBOOST_FT_cc,type NDNBOOST_PP_EMPTY) (T0 , 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv ;
 };
 template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 32 > 
+struct synthesize_impl_o< NDNBOOST_FT_flags, NDNBOOST_FT_cc_id, 32 > 
 { 
 template<typename S> struct synthesize_impl_i
 {
@@ -66,7 +66,7 @@
 typedef typename mpl::next< iter_29 > ::type iter_30;
 typedef typename mpl::next< iter_30 > ::type iter_31;
 public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,31) 
+typedef typename detail::NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,31) 
 < typename mpl::deref< iter_0 > ::type 
 , typename mpl::deref< iter_1 > ::type
 , typename mpl::deref< iter_2 > ::type
@@ -103,12 +103,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 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,32)
+struct NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,32)
 {
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , 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 BOOST_FT_ell) BOOST_FT_cv ;
+typedef NDNBOOST_FT_syntax(NDNBOOST_FT_cc,type NDNBOOST_PP_EMPTY) (T0 , 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv ;
 };
 template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 33 > 
+struct synthesize_impl_o< NDNBOOST_FT_flags, NDNBOOST_FT_cc_id, 33 > 
 { 
 template<typename S> struct synthesize_impl_i
 {
@@ -147,7 +147,7 @@
 typedef typename mpl::next< iter_30 > ::type iter_31;
 typedef typename mpl::next< iter_31 > ::type iter_32;
 public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,32) 
+typedef typename detail::NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,32) 
 < typename mpl::deref< iter_0 > ::type 
 , typename mpl::deref< iter_1 > ::type
 , typename mpl::deref< iter_2 > ::type
@@ -185,12 +185,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 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,33)
+struct NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,33)
 {
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , 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 BOOST_FT_ell) BOOST_FT_cv ;
+typedef NDNBOOST_FT_syntax(NDNBOOST_FT_cc,type NDNBOOST_PP_EMPTY) (T0 , 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv ;
 };
 template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 34 > 
+struct synthesize_impl_o< NDNBOOST_FT_flags, NDNBOOST_FT_cc_id, 34 > 
 { 
 template<typename S> struct synthesize_impl_i
 {
@@ -230,7 +230,7 @@
 typedef typename mpl::next< iter_31 > ::type iter_32;
 typedef typename mpl::next< iter_32 > ::type iter_33;
 public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,33) 
+typedef typename detail::NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,33) 
 < typename mpl::deref< iter_0 > ::type 
 , typename mpl::deref< iter_1 > ::type
 , typename mpl::deref< iter_2 > ::type
@@ -269,12 +269,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 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,34)
+struct NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,34)
 {
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , 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 BOOST_FT_ell) BOOST_FT_cv ;
+typedef NDNBOOST_FT_syntax(NDNBOOST_FT_cc,type NDNBOOST_PP_EMPTY) (T0 , 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv ;
 };
 template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 35 > 
+struct synthesize_impl_o< NDNBOOST_FT_flags, NDNBOOST_FT_cc_id, 35 > 
 { 
 template<typename S> struct synthesize_impl_i
 {
@@ -315,7 +315,7 @@
 typedef typename mpl::next< iter_32 > ::type iter_33;
 typedef typename mpl::next< iter_33 > ::type iter_34;
 public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,34) 
+typedef typename detail::NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,34) 
 < typename mpl::deref< iter_0 > ::type 
 , typename mpl::deref< iter_1 > ::type
 , typename mpl::deref< iter_2 > ::type
@@ -355,12 +355,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 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,35)
+struct NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,35)
 {
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , 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 BOOST_FT_ell) BOOST_FT_cv ;
+typedef NDNBOOST_FT_syntax(NDNBOOST_FT_cc,type NDNBOOST_PP_EMPTY) (T0 , 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv ;
 };
 template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 36 > 
+struct synthesize_impl_o< NDNBOOST_FT_flags, NDNBOOST_FT_cc_id, 36 > 
 { 
 template<typename S> struct synthesize_impl_i
 {
@@ -402,7 +402,7 @@
 typedef typename mpl::next< iter_33 > ::type iter_34;
 typedef typename mpl::next< iter_34 > ::type iter_35;
 public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,35) 
+typedef typename detail::NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,35) 
 < typename mpl::deref< iter_0 > ::type 
 , typename mpl::deref< iter_1 > ::type
 , typename mpl::deref< iter_2 > ::type
@@ -443,12 +443,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 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,36)
+struct NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,36)
 {
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , 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 BOOST_FT_ell) BOOST_FT_cv ;
+typedef NDNBOOST_FT_syntax(NDNBOOST_FT_cc,type NDNBOOST_PP_EMPTY) (T0 , 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv ;
 };
 template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 37 > 
+struct synthesize_impl_o< NDNBOOST_FT_flags, NDNBOOST_FT_cc_id, 37 > 
 { 
 template<typename S> struct synthesize_impl_i
 {
@@ -491,7 +491,7 @@
 typedef typename mpl::next< iter_34 > ::type iter_35;
 typedef typename mpl::next< iter_35 > ::type iter_36;
 public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,36) 
+typedef typename detail::NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,36) 
 < typename mpl::deref< iter_0 > ::type 
 , typename mpl::deref< iter_1 > ::type
 , typename mpl::deref< iter_2 > ::type
@@ -533,12 +533,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 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,37)
+struct NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,37)
 {
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , 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 BOOST_FT_ell) BOOST_FT_cv ;
+typedef NDNBOOST_FT_syntax(NDNBOOST_FT_cc,type NDNBOOST_PP_EMPTY) (T0 , 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv ;
 };
 template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 38 > 
+struct synthesize_impl_o< NDNBOOST_FT_flags, NDNBOOST_FT_cc_id, 38 > 
 { 
 template<typename S> struct synthesize_impl_i
 {
@@ -582,7 +582,7 @@
 typedef typename mpl::next< iter_35 > ::type iter_36;
 typedef typename mpl::next< iter_36 > ::type iter_37;
 public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,37) 
+typedef typename detail::NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,37) 
 < typename mpl::deref< iter_0 > ::type 
 , typename mpl::deref< iter_1 > ::type
 , typename mpl::deref< iter_2 > ::type
@@ -625,12 +625,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 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,38)
+struct NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,38)
 {
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , 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 BOOST_FT_ell) BOOST_FT_cv ;
+typedef NDNBOOST_FT_syntax(NDNBOOST_FT_cc,type NDNBOOST_PP_EMPTY) (T0 , 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv ;
 };
 template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 39 > 
+struct synthesize_impl_o< NDNBOOST_FT_flags, NDNBOOST_FT_cc_id, 39 > 
 { 
 template<typename S> struct synthesize_impl_i
 {
@@ -675,7 +675,7 @@
 typedef typename mpl::next< iter_36 > ::type iter_37;
 typedef typename mpl::next< iter_37 > ::type iter_38;
 public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,38) 
+typedef typename detail::NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,38) 
 < typename mpl::deref< iter_0 > ::type 
 , typename mpl::deref< iter_1 > ::type
 , typename mpl::deref< iter_2 > ::type
@@ -719,12 +719,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 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,39)
+struct NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,39)
 {
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , 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 BOOST_FT_ell) BOOST_FT_cv ;
+typedef NDNBOOST_FT_syntax(NDNBOOST_FT_cc,type NDNBOOST_PP_EMPTY) (T0 , 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv ;
 };
 template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 40 > 
+struct synthesize_impl_o< NDNBOOST_FT_flags, NDNBOOST_FT_cc_id, 40 > 
 { 
 template<typename S> struct synthesize_impl_i
 {
@@ -770,7 +770,7 @@
 typedef typename mpl::next< iter_37 > ::type iter_38;
 typedef typename mpl::next< iter_38 > ::type iter_39;
 public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,39) 
+typedef typename detail::NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,39) 
 < typename mpl::deref< iter_0 > ::type 
 , typename mpl::deref< iter_1 > ::type
 , typename mpl::deref< iter_2 > ::type
@@ -815,12 +815,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 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,40)
+struct NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,40)
 {
-typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , 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 BOOST_FT_ell) BOOST_FT_cv ;
+typedef NDNBOOST_FT_syntax(NDNBOOST_FT_cc,type NDNBOOST_PP_EMPTY) (T0 , 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv ;
 };
 template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 41 > 
+struct synthesize_impl_o< NDNBOOST_FT_flags, NDNBOOST_FT_cc_id, 41 > 
 { 
 template<typename S> struct synthesize_impl_i
 {
@@ -867,7 +867,7 @@
 typedef typename mpl::next< iter_38 > ::type iter_39;
 typedef typename mpl::next< iter_39 > ::type iter_40;
 public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,40) 
+typedef typename detail::NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,40) 
 < typename mpl::deref< iter_0 > ::type 
 , typename mpl::deref< iter_1 > ::type
 , typename mpl::deref< iter_2 > ::type
@@ -912,6 +912,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
 
diff --git a/include/ndnboost/function_types/detail/synthesize_impl/arity40_1.hpp b/include/ndnboost/function_types/detail/synthesize_impl/arity40_1.hpp
index b620c04..9585f58 100644
--- a/include/ndnboost/function_types/detail/synthesize_impl/arity40_1.hpp
+++ b/include/ndnboost/function_types/detail/synthesize_impl/arity40_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/arity30_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 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,31)
+struct NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,31)
 {
-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 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv ;
 };
 template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 32 > 
+struct synthesize_impl_o< NDNBOOST_FT_flags, NDNBOOST_FT_cc_id, 32 > 
 { 
 template<typename S> struct synthesize_impl_i
 {
@@ -66,7 +66,7 @@
 typedef typename mpl::next< iter_29 > ::type iter_30;
 typedef typename mpl::next< iter_30 > ::type iter_31;
 public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,31) 
+typedef typename detail::NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,31) 
 < typename mpl::deref< iter_0 > ::type 
 , typename detail::cv_traits< 
 typename mpl::deref< iter_1 > ::type > ::type
@@ -104,12 +104,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 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,32)
+struct NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,32)
 {
-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 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv ;
 };
 template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 33 > 
+struct synthesize_impl_o< NDNBOOST_FT_flags, NDNBOOST_FT_cc_id, 33 > 
 { 
 template<typename S> struct synthesize_impl_i
 {
@@ -148,7 +148,7 @@
 typedef typename mpl::next< iter_30 > ::type iter_31;
 typedef typename mpl::next< iter_31 > ::type iter_32;
 public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,32) 
+typedef typename detail::NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,32) 
 < typename mpl::deref< iter_0 > ::type 
 , typename detail::cv_traits< 
 typename mpl::deref< iter_1 > ::type > ::type
@@ -187,12 +187,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 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,33)
+struct NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,33)
 {
-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 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv ;
 };
 template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 34 > 
+struct synthesize_impl_o< NDNBOOST_FT_flags, NDNBOOST_FT_cc_id, 34 > 
 { 
 template<typename S> struct synthesize_impl_i
 {
@@ -232,7 +232,7 @@
 typedef typename mpl::next< iter_31 > ::type iter_32;
 typedef typename mpl::next< iter_32 > ::type iter_33;
 public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,33) 
+typedef typename detail::NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,33) 
 < typename mpl::deref< iter_0 > ::type 
 , typename detail::cv_traits< 
 typename mpl::deref< iter_1 > ::type > ::type
@@ -272,12 +272,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 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,34)
+struct NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,34)
 {
-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 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv ;
 };
 template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 35 > 
+struct synthesize_impl_o< NDNBOOST_FT_flags, NDNBOOST_FT_cc_id, 35 > 
 { 
 template<typename S> struct synthesize_impl_i
 {
@@ -318,7 +318,7 @@
 typedef typename mpl::next< iter_32 > ::type iter_33;
 typedef typename mpl::next< iter_33 > ::type iter_34;
 public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,34) 
+typedef typename detail::NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,34) 
 < typename mpl::deref< iter_0 > ::type 
 , typename detail::cv_traits< 
 typename mpl::deref< iter_1 > ::type > ::type
@@ -359,12 +359,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 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,35)
+struct NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,35)
 {
-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 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv ;
 };
 template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 36 > 
+struct synthesize_impl_o< NDNBOOST_FT_flags, NDNBOOST_FT_cc_id, 36 > 
 { 
 template<typename S> struct synthesize_impl_i
 {
@@ -406,7 +406,7 @@
 typedef typename mpl::next< iter_33 > ::type iter_34;
 typedef typename mpl::next< iter_34 > ::type iter_35;
 public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,35) 
+typedef typename detail::NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,35) 
 < typename mpl::deref< iter_0 > ::type 
 , typename detail::cv_traits< 
 typename mpl::deref< iter_1 > ::type > ::type
@@ -448,12 +448,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 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,36)
+struct NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,36)
 {
-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 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv ;
 };
 template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 37 > 
+struct synthesize_impl_o< NDNBOOST_FT_flags, NDNBOOST_FT_cc_id, 37 > 
 { 
 template<typename S> struct synthesize_impl_i
 {
@@ -496,7 +496,7 @@
 typedef typename mpl::next< iter_34 > ::type iter_35;
 typedef typename mpl::next< iter_35 > ::type iter_36;
 public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,36) 
+typedef typename detail::NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,36) 
 < typename mpl::deref< iter_0 > ::type 
 , typename detail::cv_traits< 
 typename mpl::deref< iter_1 > ::type > ::type
@@ -539,12 +539,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 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,37)
+struct NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,37)
 {
-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 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv ;
 };
 template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 38 > 
+struct synthesize_impl_o< NDNBOOST_FT_flags, NDNBOOST_FT_cc_id, 38 > 
 { 
 template<typename S> struct synthesize_impl_i
 {
@@ -588,7 +588,7 @@
 typedef typename mpl::next< iter_35 > ::type iter_36;
 typedef typename mpl::next< iter_36 > ::type iter_37;
 public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,37) 
+typedef typename detail::NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,37) 
 < typename mpl::deref< iter_0 > ::type 
 , typename detail::cv_traits< 
 typename mpl::deref< iter_1 > ::type > ::type
@@ -632,12 +632,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 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,38)
+struct NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,38)
 {
-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 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv ;
 };
 template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 39 > 
+struct synthesize_impl_o< NDNBOOST_FT_flags, NDNBOOST_FT_cc_id, 39 > 
 { 
 template<typename S> struct synthesize_impl_i
 {
@@ -682,7 +682,7 @@
 typedef typename mpl::next< iter_36 > ::type iter_37;
 typedef typename mpl::next< iter_37 > ::type iter_38;
 public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,38) 
+typedef typename detail::NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,38) 
 < typename mpl::deref< iter_0 > ::type 
 , typename detail::cv_traits< 
 typename mpl::deref< iter_1 > ::type > ::type
@@ -727,12 +727,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 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,39)
+struct NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,39)
 {
-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 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv ;
 };
 template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 40 > 
+struct synthesize_impl_o< NDNBOOST_FT_flags, NDNBOOST_FT_cc_id, 40 > 
 { 
 template<typename S> struct synthesize_impl_i
 {
@@ -778,7 +778,7 @@
 typedef typename mpl::next< iter_37 > ::type iter_38;
 typedef typename mpl::next< iter_38 > ::type iter_39;
 public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,39) 
+typedef typename detail::NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,39) 
 < typename mpl::deref< iter_0 > ::type 
 , typename detail::cv_traits< 
 typename mpl::deref< iter_1 > ::type > ::type
@@ -824,12 +824,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 >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,40)
+struct NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,40)
 {
-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 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 NDNBOOST_FT_ell) NDNBOOST_FT_cv ;
 };
 template< > 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 41 > 
+struct synthesize_impl_o< NDNBOOST_FT_flags, NDNBOOST_FT_cc_id, 41 > 
 { 
 template<typename S> struct synthesize_impl_i
 {
@@ -876,7 +876,7 @@
 typedef typename mpl::next< iter_38 > ::type iter_39;
 typedef typename mpl::next< iter_39 > ::type iter_40;
 public:
-typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,40) 
+typedef typename detail::NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,40) 
 < typename mpl::deref< iter_0 > ::type 
 , typename detail::cv_traits< 
 typename mpl::deref< iter_1 > ::type > ::type
@@ -922,6 +922,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
 
diff --git a/include/ndnboost/function_types/detail/synthesize_impl/arity50_0.hpp b/include/ndnboost/function_types/detail/synthesize_impl/arity50_0.hpp
index 3e2c6a8..d29b6b5 100644
--- a/include/ndnboost/function_types/detail/synthesize_impl/arity50_0.hpp
+++ b/include/ndnboost/function_types/detail/synthesize_impl/arity50_0.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_0.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) (T0 , 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) (T0 , 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 mpl::deref< iter_1 > ::type
 , typename mpl::deref< iter_2 > ::type
@@ -123,12 +123,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) (T0 , 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) (T0 , 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
 {
@@ -177,7 +177,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 mpl::deref< iter_1 > ::type
 , typename mpl::deref< iter_2 > ::type
@@ -225,12 +225,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) (T0 , 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) (T0 , 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
 {
@@ -280,7 +280,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 mpl::deref< iter_1 > ::type
 , typename mpl::deref< iter_2 > ::type
@@ -329,12 +329,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) (T0 , 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) (T0 , 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
 {
@@ -385,7 +385,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 mpl::deref< iter_1 > ::type
 , typename mpl::deref< iter_2 > ::type
@@ -435,12 +435,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) (T0 , 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) (T0 , 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
 {
@@ -492,7 +492,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 mpl::deref< iter_1 > ::type
 , typename mpl::deref< iter_2 > ::type
@@ -543,12 +543,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) (T0 , 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) (T0 , 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
 {
@@ -601,7 +601,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 mpl::deref< iter_1 > ::type
 , typename mpl::deref< iter_2 > ::type
@@ -653,12 +653,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) (T0 , 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) (T0 , 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
 {
@@ -712,7 +712,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 mpl::deref< iter_1 > ::type
 , typename mpl::deref< iter_2 > ::type
@@ -765,12 +765,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) (T0 , 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) (T0 , 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
 {
@@ -825,7 +825,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 mpl::deref< iter_1 > ::type
 , typename mpl::deref< iter_2 > ::type
@@ -879,12 +879,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) (T0 , 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) (T0 , 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
 {
@@ -940,7 +940,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 mpl::deref< iter_1 > ::type
 , typename mpl::deref< iter_2 > ::type
@@ -995,12 +995,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) (T0 , 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) (T0 , 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
 {
@@ -1057,7 +1057,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 mpl::deref< iter_1 > ::type
 , typename mpl::deref< iter_2 > ::type
@@ -1112,6 +1112,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
 
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
 
diff --git a/include/ndnboost/function_types/detail/synthesize_impl/master.hpp b/include/ndnboost/function_types/detail/synthesize_impl/master.hpp
index fa06789..d08b9cb 100644
--- a/include/ndnboost/function_types/detail/synthesize_impl/master.hpp
+++ b/include/ndnboost/function_types/detail/synthesize_impl/master.hpp
@@ -8,10 +8,10 @@
 
 // no include guards, this file is intended for multiple inclusion
 
-#if   BOOST_FT_ARITY_LOOP_PREFIX
+#if   NDNBOOST_FT_ARITY_LOOP_PREFIX
 
-#   ifndef BOOST_FT_DETAIL_SYNTHESIZE_IMPL_MASTER_HPP_INCLUDED
-#   define BOOST_FT_DETAIL_SYNTHESIZE_IMPL_MASTER_HPP_INCLUDED
+#   ifndef NDNBOOST_FT_DETAIL_SYNTHESIZE_IMPL_MASTER_HPP_INCLUDED
+#   define NDNBOOST_FT_DETAIL_SYNTHESIZE_IMPL_MASTER_HPP_INCLUDED
 #     include <ndnboost/preprocessor/cat.hpp>
 #     include <ndnboost/preprocessor/arithmetic/dec.hpp>
 #     include <ndnboost/preprocessor/iteration/local.hpp>
@@ -19,67 +19,67 @@
 #     include <ndnboost/preprocessor/facilities/identity.hpp>
 #   endif
 
-#   define BOOST_FT_type_name type
+#   define NDNBOOST_FT_type_name type
 
-#   ifdef BOOST_FT_flags
-#     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
+#   ifdef NDNBOOST_FT_flags
+#     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
 #   else
-BOOST_PP_EXPAND(#) define BOOST_FT_make_type(flags,cc,arity) BOOST_FT_make_type_impl(flags,cc,arity)
-BOOST_PP_EXPAND(#) define BOOST_FT_make_type_impl(flags,cc,arity) make_type_ ## flags ## _ ## cc ## _ ## arity
+NDNBOOST_PP_EXPAND(#) define NDNBOOST_FT_make_type(flags,cc,arity) NDNBOOST_FT_make_type_impl(flags,cc,arity)
+NDNBOOST_PP_EXPAND(#) define NDNBOOST_FT_make_type_impl(flags,cc,arity) make_type_ ## flags ## _ ## cc ## _ ## arity
 #   endif
 
-#   define BOOST_FT_iter(i) BOOST_PP_CAT(iter_,i)
+#   define NDNBOOST_FT_iter(i) NDNBOOST_PP_CAT(iter_,i)
 
-#elif BOOST_FT_ARITY_LOOP_IS_ITERATING
+#elif NDNBOOST_FT_ARITY_LOOP_IS_ITERATING
 
-template< BOOST_FT_tplargs(BOOST_PP_IDENTITY(typename)) >
-struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,BOOST_FT_arity)
+template< NDNBOOST_FT_tplargs(NDNBOOST_PP_IDENTITY(typename)) >
+struct NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,NDNBOOST_FT_arity)
 {
-  typedef BOOST_FT_type ;
+  typedef NDNBOOST_FT_type ;
 };
 
 template<> 
-struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, BOOST_FT_n > 
+struct synthesize_impl_o< NDNBOOST_FT_flags, NDNBOOST_FT_cc_id, NDNBOOST_FT_n > 
 { 
   template<typename S> struct synthesize_impl_i
   {
   private:
-    typedef typename mpl::begin<S>::type BOOST_FT_iter(0);
-#   if BOOST_FT_n > 1
-#     define BOOST_PP_LOCAL_MACRO(i) typedef typename mpl::next< \
-          BOOST_FT_iter(BOOST_PP_DEC(i)) >::type BOOST_FT_iter(i);
-#     define BOOST_PP_LOCAL_LIMITS (1,BOOST_FT_n-1)
-#     include BOOST_PP_LOCAL_ITERATE()
+    typedef typename mpl::begin<S>::type NDNBOOST_FT_iter(0);
+#   if NDNBOOST_FT_n > 1
+#     define NDNBOOST_PP_LOCAL_MACRO(i) typedef typename mpl::next< \
+          NDNBOOST_FT_iter(NDNBOOST_PP_DEC(i)) >::type NDNBOOST_FT_iter(i);
+#     define NDNBOOST_PP_LOCAL_LIMITS (1,NDNBOOST_FT_n-1)
+#     include NDNBOOST_PP_LOCAL_ITERATE()
 #   endif
   public:
-    typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,BOOST_FT_arity) 
-    < typename mpl::deref< BOOST_FT_iter(0) >::type 
-#   if BOOST_FT_mfp
+    typedef typename detail::NDNBOOST_FT_make_type(NDNBOOST_FT_flags,NDNBOOST_FT_cc_id,NDNBOOST_FT_arity) 
+    < typename mpl::deref< NDNBOOST_FT_iter(0) >::type 
+#   if NDNBOOST_FT_mfp
     , typename detail::cv_traits< 
-          typename mpl::deref< BOOST_FT_iter(1) >::type >::type
+          typename mpl::deref< NDNBOOST_FT_iter(1) >::type >::type
 #   endif
-#   if BOOST_FT_n > (BOOST_FT_mfp+1)
-#     define BOOST_PP_LOCAL_LIMITS (BOOST_FT_mfp+1,BOOST_FT_n-1)
-#     define BOOST_PP_LOCAL_MACRO(i) \
-        , typename mpl::deref< BOOST_FT_iter(i) >::type
-#     include BOOST_PP_LOCAL_ITERATE()
+#   if NDNBOOST_FT_n > (NDNBOOST_FT_mfp+1)
+#     define NDNBOOST_PP_LOCAL_LIMITS (NDNBOOST_FT_mfp+1,NDNBOOST_FT_n-1)
+#     define NDNBOOST_PP_LOCAL_MACRO(i) \
+        , typename mpl::deref< NDNBOOST_FT_iter(i) >::type
+#     include NDNBOOST_PP_LOCAL_ITERATE()
 #   endif
     >::type type;
   };
 };
 
-#elif BOOST_FT_ARITY_LOOP_SUFFIX
+#elif NDNBOOST_FT_ARITY_LOOP_SUFFIX
 
-#   ifdef BOOST_FT_flags
-#     undef BOOST_FT_make_type
-#     undef BOOST_FT_make_type_impl
+#   ifdef NDNBOOST_FT_flags
+#     undef NDNBOOST_FT_make_type
+#     undef NDNBOOST_FT_make_type_impl
 #   else
-BOOST_PP_EXPAND(#) undef BOOST_FT_make_type
-BOOST_PP_EXPAND(#) undef BOOST_FT_make_type_impl
+NDNBOOST_PP_EXPAND(#) undef NDNBOOST_FT_make_type
+NDNBOOST_PP_EXPAND(#) undef NDNBOOST_FT_make_type_impl
 #   endif
-#   undef BOOST_FT_iter
-#   undef BOOST_FT_type_name
+#   undef NDNBOOST_FT_iter
+#   undef NDNBOOST_FT_type_name
 
 #else
 #   error "attempt to use arity loop master file without loop"
diff --git a/include/ndnboost/function_types/detail/to_sequence.hpp b/include/ndnboost/function_types/detail/to_sequence.hpp
index de51a4b..7b57ed4 100644
--- a/include/ndnboost/function_types/detail/to_sequence.hpp
+++ b/include/ndnboost/function_types/detail/to_sequence.hpp
@@ -6,8 +6,8 @@
 
 //------------------------------------------------------------------------------
 
-#ifndef BOOST_FT_DETAIL_TO_SEQUENCE_HPP_INCLUDED
-#define BOOST_FT_DETAIL_TO_SEQUENCE_HPP_INCLUDED
+#ifndef NDNBOOST_FT_DETAIL_TO_SEQUENCE_HPP_INCLUDED
+#define NDNBOOST_FT_DETAIL_TO_SEQUENCE_HPP_INCLUDED
 
 #include <ndnboost/mpl/eval_if.hpp>
 #include <ndnboost/mpl/identity.hpp>
@@ -32,7 +32,7 @@
   type;
 };
 
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#ifndef NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 // reduce template instantiations, if possible
 template<typename T, typename U>
 struct to_sequence< components<T,U> > 
diff --git a/include/ndnboost/function_types/function_type.hpp b/include/ndnboost/function_types/function_type.hpp
index bad90ba..3746214 100644
--- a/include/ndnboost/function_types/function_type.hpp
+++ b/include/ndnboost/function_types/function_type.hpp
@@ -6,8 +6,8 @@
 
 //------------------------------------------------------------------------------
 
-#ifndef BOOST_FT_FUNCTION_TYPE_HPP_INCLUDED
-#define BOOST_FT_FUNCTION_TYPE_HPP_INCLUDED
+#ifndef NDNBOOST_FT_FUNCTION_TYPE_HPP_INCLUDED
+#define NDNBOOST_FT_FUNCTION_TYPE_HPP_INCLUDED
 
 #include <ndnboost/function_types/detail/synthesize.hpp>
 #include <ndnboost/function_types/detail/to_sequence.hpp>
@@ -19,10 +19,10 @@
     template<typename Types, typename Tag = null_tag> struct function_type
       : detail::synthesize_func<typename detail::to_sequence<Types>::type, Tag>
     {
-      BOOST_MPL_AUX_LAMBDA_SUPPORT(2,function_type,(Types,Tag))
+      NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2,function_type,(Types,Tag))
     };
   }
-  BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(2,function_types::function_type)
+  NDNBOOST_TT_AUX_TEMPLATE_ARITY_SPEC(2,function_types::function_type)
 }
 
 #endif
diff --git a/include/ndnboost/function_types/is_callable_builtin.hpp b/include/ndnboost/function_types/is_callable_builtin.hpp
index 7d138ea..a2b2247 100644
--- a/include/ndnboost/function_types/is_callable_builtin.hpp
+++ b/include/ndnboost/function_types/is_callable_builtin.hpp
@@ -6,8 +6,8 @@
 
 //------------------------------------------------------------------------------
 
-#ifndef BOOST_FT_IS_CALLABLE_BUILTIN_HPP_INCLUDED
-#define BOOST_FT_IS_CALLABLE_BUILTIN_HPP_INCLUDED
+#ifndef NDNBOOST_FT_IS_CALLABLE_BUILTIN_HPP_INCLUDED
+#define NDNBOOST_FT_IS_CALLABLE_BUILTIN_HPP_INCLUDED
 
 #include <ndnboost/mpl/aux_/lambda_support.hpp>
 #include <ndnboost/type_traits/detail/template_arity_spec.hpp>
@@ -25,10 +25,10 @@
         , function_types::tag<Tag, detail::callable_builtin_tag> 
         >
     { 
-      BOOST_MPL_AUX_LAMBDA_SUPPORT(2,is_callable_builtin,(T,Tag))
+      NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2,is_callable_builtin,(T,Tag))
     };
   }
-  BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(2,function_types::is_callable_builtin)
+  NDNBOOST_TT_AUX_TEMPLATE_ARITY_SPEC(2,function_types::is_callable_builtin)
 }
 
 #endif
diff --git a/include/ndnboost/function_types/is_function.hpp b/include/ndnboost/function_types/is_function.hpp
index f6eb020..1e76215 100644
--- a/include/ndnboost/function_types/is_function.hpp
+++ b/include/ndnboost/function_types/is_function.hpp
@@ -5,8 +5,8 @@
 // Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
 //------------------------------------------------------------------------------
 
-#ifndef BOOST_FT_IS_FUNCTION_HPP_INCLUDED
-#define BOOST_FT_IS_FUNCTION_HPP_INCLUDED
+#ifndef NDNBOOST_FT_IS_FUNCTION_HPP_INCLUDED
+#define NDNBOOST_FT_IS_FUNCTION_HPP_INCLUDED
 
 #include <ndnboost/mpl/aux_/lambda_support.hpp>
 #include <ndnboost/type_traits/detail/template_arity_spec.hpp>
@@ -24,10 +24,10 @@
         , function_types::tag<Tag ,detail::function_tag> 
         >
     { 
-      BOOST_MPL_AUX_LAMBDA_SUPPORT(2,is_function,(T,Tag))
+      NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2,is_function,(T,Tag))
     };
   }
-  BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(2,function_types::is_function)
+  NDNBOOST_TT_AUX_TEMPLATE_ARITY_SPEC(2,function_types::is_function)
 } 
 
 #endif
diff --git a/include/ndnboost/function_types/is_function_pointer.hpp b/include/ndnboost/function_types/is_function_pointer.hpp
index 6853aa3..ddff50c 100644
--- a/include/ndnboost/function_types/is_function_pointer.hpp
+++ b/include/ndnboost/function_types/is_function_pointer.hpp
@@ -6,8 +6,8 @@
 
 //------------------------------------------------------------------------------
 
-#ifndef BOOST_FT_IS_FUNCTION_POINTER_HPP_INCLUDED
-#define BOOST_FT_IS_FUNCTION_POINTER_HPP_INCLUDED
+#ifndef NDNBOOST_FT_IS_FUNCTION_POINTER_HPP_INCLUDED
+#define NDNBOOST_FT_IS_FUNCTION_POINTER_HPP_INCLUDED
 
 #include <ndnboost/mpl/aux_/lambda_support.hpp>
 #include <ndnboost/type_traits/detail/template_arity_spec.hpp>
@@ -25,10 +25,10 @@
         , function_types::tag<Tag ,detail::pointer_tag> 
         >
     { 
-      BOOST_MPL_AUX_LAMBDA_SUPPORT(2,is_function_pointer,(T,Tag))
+      NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2,is_function_pointer,(T,Tag))
     };
   }
-  BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(2,function_types::is_function_pointer)
+  NDNBOOST_TT_AUX_TEMPLATE_ARITY_SPEC(2,function_types::is_function_pointer)
 }
 
 #endif
diff --git a/include/ndnboost/function_types/is_function_reference.hpp b/include/ndnboost/function_types/is_function_reference.hpp
index 61d7050..7350283 100644
--- a/include/ndnboost/function_types/is_function_reference.hpp
+++ b/include/ndnboost/function_types/is_function_reference.hpp
@@ -6,8 +6,8 @@
 
 //------------------------------------------------------------------------------
 
-#ifndef BOOST_FT_IS_FUNCTION_REFERENCE_HPP_INCLUDED
-#define BOOST_FT_IS_FUNCTION_REFERENCE_HPP_INCLUDED
+#ifndef NDNBOOST_FT_IS_FUNCTION_REFERENCE_HPP_INCLUDED
+#define NDNBOOST_FT_IS_FUNCTION_REFERENCE_HPP_INCLUDED
 
 #include <ndnboost/mpl/aux_/lambda_support.hpp>
 #include <ndnboost/type_traits/detail/template_arity_spec.hpp>
@@ -24,10 +24,10 @@
         < function_types::components<T>
         , function_types::tag<Tag ,detail::reference_tag> >
     { 
-      BOOST_MPL_AUX_LAMBDA_SUPPORT(2,is_function_reference,(T,Tag))
+      NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2,is_function_reference,(T,Tag))
     };
   }
-  BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(2,function_types::is_function_reference)
+  NDNBOOST_TT_AUX_TEMPLATE_ARITY_SPEC(2,function_types::is_function_reference)
 } 
 
 #endif
diff --git a/include/ndnboost/function_types/parameter_types.hpp b/include/ndnboost/function_types/parameter_types.hpp
index 5e35b02..a604ce4 100644
--- a/include/ndnboost/function_types/parameter_types.hpp
+++ b/include/ndnboost/function_types/parameter_types.hpp
@@ -6,8 +6,8 @@
 
 //------------------------------------------------------------------------------
 
-#ifndef BOOST_FT_PARAMETER_TYPES_HPP_INCLUDED
-#define BOOST_FT_PARAMETER_TYPES_HPP_INCLUDED
+#ifndef NDNBOOST_FT_PARAMETER_TYPES_HPP_INCLUDED
+#define NDNBOOST_FT_PARAMETER_TYPES_HPP_INCLUDED
 
 #include <ndnboost/blank.hpp>
 #include <ndnboost/mpl/if.hpp>
@@ -45,10 +45,10 @@
         , detail::parameter_types_impl<T,ClassTypeTransform>, ndnboost::blank
         >::type
     {
-      BOOST_MPL_AUX_LAMBDA_SUPPORT(2,parameter_types,(T,ClassTypeTransform)) 
+      NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2,parameter_types,(T,ClassTypeTransform)) 
     };
   }
-  BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(2,function_types::parameter_types)
+  NDNBOOST_TT_AUX_TEMPLATE_ARITY_SPEC(2,function_types::parameter_types)
 }
 
 #endif
diff --git a/include/ndnboost/function_types/property_tags.hpp b/include/ndnboost/function_types/property_tags.hpp
index ef14d38..2662fcc 100644
--- a/include/ndnboost/function_types/property_tags.hpp
+++ b/include/ndnboost/function_types/property_tags.hpp
@@ -6,8 +6,8 @@
 
 //------------------------------------------------------------------------------
 
-#ifndef BOOST_FT_DETAIL_TAGS_HPP_INCLUDED
-#define BOOST_FT_DETAIL_TAGS_HPP_INCLUDED
+#ifndef NDNBOOST_FT_DETAIL_TAGS_HPP_INCLUDED
+#define NDNBOOST_FT_DETAIL_TAGS_HPP_INCLUDED
 
 #include <cstddef>
 
@@ -102,7 +102,7 @@
         detail::compound_tag<Tag3,Tag4> >
 { };
 
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#ifndef NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 template<class Tag1, class Tag2, class Tag3> struct tag<Tag1,Tag2,Tag3,null_tag>
   : detail::compound_tag<detail::compound_tag<Tag1,Tag2>,Tag3>
 { };
@@ -141,7 +141,7 @@
 #include <ndnboost/function_types/detail/pp_tags/preprocessed.hpp>
 
 namespace ndnboost { namespace function_types {
-#define BOOST_FT_cc_file <ndnboost/function_types/detail/pp_tags/cc_tag.hpp>
+#define NDNBOOST_FT_cc_file <ndnboost/function_types/detail/pp_tags/cc_tag.hpp>
 #include <ndnboost/function_types/detail/pp_loop.hpp>
 } } // namespace ndnboost::function_types
 
diff --git a/include/ndnboost/function_types/result_type.hpp b/include/ndnboost/function_types/result_type.hpp
index 1fcdd53..22fb10f 100644
--- a/include/ndnboost/function_types/result_type.hpp
+++ b/include/ndnboost/function_types/result_type.hpp
@@ -6,8 +6,8 @@
 
 //------------------------------------------------------------------------------
 
-#ifndef BOOST_FT_RESULT_TYPE_HPP_INCLUDED
-#define BOOST_FT_RESULT_TYPE_HPP_INCLUDED
+#ifndef NDNBOOST_FT_RESULT_TYPE_HPP_INCLUDED
+#define NDNBOOST_FT_RESULT_TYPE_HPP_INCLUDED
 
 #include <ndnboost/blank.hpp>
 #include <ndnboost/mpl/if.hpp>
@@ -40,10 +40,10 @@
         , detail::result_type_impl<T>, ndnboost::blank
         >::type
     { 
-      BOOST_MPL_AUX_LAMBDA_SUPPORT(1,result_type,(T)) 
+      NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(1,result_type,(T)) 
     };
   }
-  BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1,function_types::result_type)
+  NDNBOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1,function_types::result_type)
 }
 
 #endif
diff --git a/include/ndnboost/functional.hpp b/include/ndnboost/functional.hpp
index 34586bd..b14457d 100644
--- a/include/ndnboost/functional.hpp
+++ b/include/ndnboost/functional.hpp
@@ -9,8 +9,8 @@
 // $Id: functional.hpp 36246 2006-12-02 14:17:26Z andreas_huber69 $
 // ------------------------------------------------------------------------------
 
-#ifndef BOOST_FUNCTIONAL_HPP
-#define BOOST_FUNCTIONAL_HPP
+#ifndef NDNBOOST_FUNCTIONAL_HPP
+#define NDNBOOST_FUNCTIONAL_HPP
 
 #include <ndnboost/config.hpp>
 #include <ndnboost/call_traits.hpp>
@@ -18,7 +18,7 @@
 
 namespace ndnboost
 {
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#ifndef NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
     // --------------------------------------------------------------------------
     // The following traits classes allow us to avoid the need for ptr_fun
     // because the types of arguments and the result of a function can be 
@@ -116,7 +116,7 @@
         typedef A1 first_argument_type;
         typedef A2 second_argument_type;
     };
-#else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#else // NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
     // --------------------------------------------------------------------------
     // If we have no partial specialisation available, decay to a situation
     // that is no worse than in the Standard, i.e., ptr_fun will be required.
@@ -140,7 +140,7 @@
         typedef typename Operation::first_argument_type  first_argument_type;
         typedef typename Operation::second_argument_type second_argument_type;
     };    
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#endif // NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
     
     // --------------------------------------------------------------------------
     // unary_negate, not1
@@ -384,7 +384,7 @@
         return mem_fun1_t<S,T,A>(f);
     }
 
-#ifndef BOOST_NO_POINTER_TO_MEMBER_CONST
+#ifndef NDNBOOST_NO_POINTER_TO_MEMBER_CONST
     template<class S, class T>
     inline const_mem_fun_t<S,T> mem_fun(S (T::*f)() const)
     {
@@ -396,7 +396,7 @@
     {
         return const_mem_fun1_t<S,T,A>(f);
     }
-#endif // BOOST_NO_POINTER_TO_MEMBER_CONST
+#endif // NDNBOOST_NO_POINTER_TO_MEMBER_CONST
 
     // --------------------------------------------------------------------------
     // mem_fun_ref, etc
@@ -479,7 +479,7 @@
         return mem_fun1_ref_t<S,T,A>(f);
     }
 
-#ifndef BOOST_NO_POINTER_TO_MEMBER_CONST
+#ifndef NDNBOOST_NO_POINTER_TO_MEMBER_CONST
     template<class S, class T>
     inline const_mem_fun_ref_t<S,T> mem_fun_ref(S (T::*f)() const)
     {
@@ -491,7 +491,7 @@
     {
         return const_mem_fun1_ref_t<S,T,A>(f);
     }   
-#endif // BOOST_NO_POINTER_TO_MEMBER_CONST
+#endif // NDNBOOST_NO_POINTER_TO_MEMBER_CONST
 
     // --------------------------------------------------------------------------
     // ptr_fun
diff --git a/include/ndnboost/functional/hash/hash_fwd.hpp b/include/ndnboost/functional/hash/hash_fwd.hpp
index 06babfb..10d2715 100644
--- a/include/ndnboost/functional/hash/hash_fwd.hpp
+++ b/include/ndnboost/functional/hash/hash_fwd.hpp
@@ -7,8 +7,8 @@
 //  http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2005/n1756.pdf
 //  issue 6.18. 
 
-#if !defined(BOOST_FUNCTIONAL_HASH_FWD_HPP)
-#define BOOST_FUNCTIONAL_HASH_FWD_HPP
+#if !defined(NDNBOOST_FUNCTIONAL_HASH_FWD_HPP)
+#define NDNBOOST_FUNCTIONAL_HASH_FWD_HPP
 
 #if defined(_MSC_VER) && (_MSC_VER >= 1020)
 # pragma once
@@ -22,7 +22,7 @@
 {
     template <class T> struct hash;
 
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
+#if NDNBOOST_WORKAROUND(NDNBOOST_MSVC, < 1300)
     template <class T> void hash_combine(std::size_t& seed, T& v);
 #else
     template <class T> void hash_combine(std::size_t& seed, T const& v);
@@ -31,7 +31,7 @@
     template <class It> std::size_t hash_range(It, It);
     template <class It> void hash_range(std::size_t&, It, It);
 
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x551))
+#if NDNBOOST_WORKAROUND(__BORLANDC__, NDNBOOST_TESTED_AT(0x551))
     template <class T> inline std::size_t hash_range(T*, T*);
     template <class T> inline void hash_range(std::size_t&, T*, T*);
 #endif
diff --git a/include/ndnboost/get_pointer.hpp b/include/ndnboost/get_pointer.hpp
index 24ea6c7..f20867b 100644
--- a/include/ndnboost/get_pointer.hpp
+++ b/include/ndnboost/get_pointer.hpp
@@ -29,7 +29,7 @@
     return p.get();
 }
 
-#if !defined( BOOST_NO_CXX11_SMART_PTR )
+#if !defined( NDNBOOST_NO_CXX11_SMART_PTR )
 
 template<class T> T * get_pointer( std::unique_ptr<T> const& p )
 {
diff --git a/include/ndnboost/integer.hpp b/include/ndnboost/integer.hpp
index 56e3ffe..b49c459 100644
--- a/include/ndnboost/integer.hpp
+++ b/include/ndnboost/integer.hpp
@@ -12,14 +12,14 @@
 //   30 Jul 00  Add typename syntax fix (Jens Maurer)
 //   28 Aug 99  Initial version
 
-#ifndef BOOST_INTEGER_HPP
-#define BOOST_INTEGER_HPP
+#ifndef NDNBOOST_INTEGER_HPP
+#define NDNBOOST_INTEGER_HPP
 
 #include <ndnboost/integer_fwd.hpp>  // self include
 
 #include <ndnboost/integer_traits.hpp>  // for ndnboost::::ndnboost::integer_traits
 #include <ndnboost/limits.hpp>          // for ::std::numeric_limits
-#include <ndnboost/cstdint.hpp>         // for ndnboost::int64_t and BOOST_NO_INTEGRAL_INT64_T
+#include <ndnboost/cstdint.hpp>         // for ndnboost::int64_t and NDNBOOST_NO_INTEGRAL_INT64_T
 #include <ndnboost/static_assert.hpp>
 
 //
@@ -57,18 +57,18 @@
   //  specializatons: 1=long, 2=int, 3=short, 4=signed char,
   //     6=unsigned long, 7=unsigned int, 8=unsigned short, 9=unsigned char
   //  no specializations for 0 and 5: requests for a type > long are in error
-#ifdef BOOST_HAS_LONG_LONG
+#ifdef NDNBOOST_HAS_LONG_LONG
   template<> struct int_least_helper<1> { typedef ndnboost::long_long_type least; };
-#elif defined(BOOST_HAS_MS_INT64)
+#elif defined(NDNBOOST_HAS_MS_INT64)
   template<> struct int_least_helper<1> { typedef __int64 least; };
 #endif
   template<> struct int_least_helper<2> { typedef long least; };
   template<> struct int_least_helper<3> { typedef int least; };
   template<> struct int_least_helper<4> { typedef short least; };
   template<> struct int_least_helper<5> { typedef signed char least; };
-#ifdef BOOST_HAS_LONG_LONG
+#ifdef NDNBOOST_HAS_LONG_LONG
   template<> struct uint_least_helper<1> { typedef ndnboost::ulong_long_type least; };
-#elif defined(BOOST_HAS_MS_INT64)
+#elif defined(NDNBOOST_HAS_MS_INT64)
   template<> struct uint_least_helper<1> { typedef unsigned __int64 least; };
 #endif
   template<> struct uint_least_helper<2> { typedef unsigned long least; };
@@ -95,7 +95,7 @@
   template <> struct exact_signed_base_helper<sizeof(long)* CHAR_BIT> { typedef long exact; };
   template <> struct exact_unsigned_base_helper<sizeof(unsigned long)* CHAR_BIT> { typedef unsigned long exact; };
 #endif
-#if defined(BOOST_HAS_LONG_LONG) &&\
+#if defined(NDNBOOST_HAS_LONG_LONG) &&\
    ((defined(ULLONG_MAX) && (ULLONG_MAX != ULONG_MAX)) ||\
     (defined(ULONG_LONG_MAX) && (ULONG_LONG_MAX != ULONG_MAX)) ||\
     (defined(ULONGLONG_MAX) && (ULONGLONG_MAX != ULONG_MAX)) ||\
@@ -113,11 +113,11 @@
   template< int Bits >   // bits (including sign) required
   struct int_t : public detail::exact_signed_base_helper<Bits>
   {
-      BOOST_STATIC_ASSERT_MSG(Bits <= (int)(sizeof(ndnboost::intmax_t) * CHAR_BIT),
+      NDNBOOST_STATIC_ASSERT_MSG(Bits <= (int)(sizeof(ndnboost::intmax_t) * CHAR_BIT),
          "No suitable signed integer type with the requested number of bits is available.");
       typedef typename detail::int_least_helper
         <
-#ifdef BOOST_HAS_LONG_LONG
+#ifdef NDNBOOST_HAS_LONG_LONG
           (Bits <= (int)(sizeof(ndnboost::long_long_type) * CHAR_BIT)) +
 #else
            1 +
@@ -134,11 +134,11 @@
   template< int Bits >   // bits required
   struct uint_t : public detail::exact_unsigned_base_helper<Bits>
   {
-     BOOST_STATIC_ASSERT_MSG(Bits <= (int)(sizeof(ndnboost::uintmax_t) * CHAR_BIT),
+     NDNBOOST_STATIC_ASSERT_MSG(Bits <= (int)(sizeof(ndnboost::uintmax_t) * CHAR_BIT),
          "No suitable unsigned integer type with the requested number of bits is available.");
-#if (defined(__BORLANDC__) || defined(__CODEGEAR__)) && defined(BOOST_NO_INTEGRAL_INT64_T)
+#if (defined(__BORLANDC__) || defined(__CODEGEAR__)) && defined(NDNBOOST_NO_INTEGRAL_INT64_T)
      // It's really not clear why this workaround should be needed... shrug I guess!  JM
-     BOOST_STATIC_CONSTANT(int, s = 
+     NDNBOOST_STATIC_CONSTANT(int, s = 
            6 +
           (Bits <= ::std::numeric_limits<unsigned long>::digits) +
           (Bits <= ::std::numeric_limits<unsigned int>::digits) +
@@ -148,7 +148,7 @@
 #else
       typedef typename detail::uint_least_helper
         < 
-#ifdef BOOST_HAS_LONG_LONG
+#ifdef NDNBOOST_HAS_LONG_LONG
           (Bits <= (int)(sizeof(ndnboost::long_long_type) * CHAR_BIT)) +
 #else
            1 +
@@ -166,7 +166,7 @@
   //  integer templates specifying extreme value  ----------------------------//
 
   //  signed
-#if !defined(BOOST_NO_INTEGRAL_INT64_T) && defined(BOOST_HAS_LONG_LONG)
+#if !defined(NDNBOOST_NO_INTEGRAL_INT64_T) && defined(NDNBOOST_HAS_LONG_LONG)
   template< ndnboost::long_long_type MaxValue >   // maximum value to require support
 #else
   template< long MaxValue >   // maximum value to require support
@@ -175,7 +175,7 @@
   {
       typedef typename detail::int_least_helper
         <
-#if !defined(BOOST_NO_INTEGRAL_INT64_T) && defined(BOOST_HAS_LONG_LONG)
+#if !defined(NDNBOOST_NO_INTEGRAL_INT64_T) && defined(NDNBOOST_HAS_LONG_LONG)
           (MaxValue <= ::ndnboost::integer_traits<ndnboost::long_long_type>::const_max) +
 #else
            1 +
@@ -188,7 +188,7 @@
       typedef typename int_fast_t<least>::type  fast;
   };
 
-#if !defined(BOOST_NO_INTEGRAL_INT64_T) && defined(BOOST_HAS_LONG_LONG)
+#if !defined(NDNBOOST_NO_INTEGRAL_INT64_T) && defined(NDNBOOST_HAS_LONG_LONG)
   template< ndnboost::long_long_type MinValue >   // minimum value to require support
 #else
   template< long MinValue >   // minimum value to require support
@@ -197,7 +197,7 @@
   {
       typedef typename detail::int_least_helper
         <
-#if !defined(BOOST_NO_INTEGRAL_INT64_T) && defined(BOOST_HAS_LONG_LONG)
+#if !defined(NDNBOOST_NO_INTEGRAL_INT64_T) && defined(NDNBOOST_HAS_LONG_LONG)
           (MinValue >= ::ndnboost::integer_traits<ndnboost::long_long_type>::const_min) +
 #else
            1 +
@@ -211,7 +211,7 @@
   };
 
   //  unsigned
-#if !defined(BOOST_NO_INTEGRAL_INT64_T) && defined(BOOST_HAS_LONG_LONG)
+#if !defined(NDNBOOST_NO_INTEGRAL_INT64_T) && defined(NDNBOOST_HAS_LONG_LONG)
   template< ndnboost::ulong_long_type MaxValue >   // minimum value to require support
 #else
   template< unsigned long MaxValue >   // minimum value to require support
@@ -220,16 +220,16 @@
   {
 #if (defined(__BORLANDC__) || defined(__CODEGEAR__))
      // It's really not clear why this workaround should be needed... shrug I guess!  JM
-#if defined(BOOST_NO_INTEGRAL_INT64_T)
-      BOOST_STATIC_CONSTANT(unsigned, which = 
+#if defined(NDNBOOST_NO_INTEGRAL_INT64_T)
+      NDNBOOST_STATIC_CONSTANT(unsigned, which = 
            1 +
           (MaxValue <= ::ndnboost::integer_traits<unsigned long>::const_max) +
           (MaxValue <= ::ndnboost::integer_traits<unsigned int>::const_max) +
           (MaxValue <= ::ndnboost::integer_traits<unsigned short>::const_max) +
           (MaxValue <= ::ndnboost::integer_traits<unsigned char>::const_max));
       typedef typename detail::int_least_helper< ::ndnboost::uint_value_t<MaxValue>::which>::least least;
-#else // BOOST_NO_INTEGRAL_INT64_T
-      BOOST_STATIC_CONSTANT(unsigned, which = 
+#else // NDNBOOST_NO_INTEGRAL_INT64_T
+      NDNBOOST_STATIC_CONSTANT(unsigned, which = 
            1 +
           (MaxValue <= ::ndnboost::integer_traits<ndnboost::ulong_long_type>::const_max) +
           (MaxValue <= ::ndnboost::integer_traits<unsigned long>::const_max) +
@@ -237,11 +237,11 @@
           (MaxValue <= ::ndnboost::integer_traits<unsigned short>::const_max) +
           (MaxValue <= ::ndnboost::integer_traits<unsigned char>::const_max));
       typedef typename detail::uint_least_helper< ::ndnboost::uint_value_t<MaxValue>::which>::least least;
-#endif // BOOST_NO_INTEGRAL_INT64_T
+#endif // NDNBOOST_NO_INTEGRAL_INT64_T
 #else
       typedef typename detail::uint_least_helper
         < 
-#if !defined(BOOST_NO_INTEGRAL_INT64_T) && defined(BOOST_HAS_LONG_LONG)
+#if !defined(NDNBOOST_NO_INTEGRAL_INT64_T) && defined(NDNBOOST_HAS_LONG_LONG)
           (MaxValue <= ::ndnboost::integer_traits<ndnboost::ulong_long_type>::const_max) +
 #else
            1 +
@@ -258,4 +258,4 @@
 
 } // namespace ndnboost
 
-#endif  // BOOST_INTEGER_HPP
+#endif  // NDNBOOST_INTEGER_HPP
diff --git a/include/ndnboost/integer/static_log2.hpp b/include/ndnboost/integer/static_log2.hpp
index cf890f8..5140f37 100644
--- a/include/ndnboost/integer/static_log2.hpp
+++ b/include/ndnboost/integer/static_log2.hpp
@@ -13,8 +13,8 @@
 // ------------------------------------------------------------------------- //
 
 
-#ifndef BOOST_INTEGER_STATIC_LOG2_HPP
-#define BOOST_INTEGER_STATIC_LOG2_HPP
+#ifndef NDNBOOST_INTEGER_STATIC_LOG2_HPP
+#define NDNBOOST_INTEGER_STATIC_LOG2_HPP
 
 #include "ndnboost/integer_fwd.hpp" // for ndnboost::intmax_t
 
@@ -47,8 +47,8 @@
      template <result_type n>
      struct choose_initial_n {
 
-         BOOST_STATIC_CONSTANT(bool, c = (argument_type(1) << n << n) != 0);
-         BOOST_STATIC_CONSTANT(
+         NDNBOOST_STATIC_CONSTANT(bool, c = (argument_type(1) << n << n) != 0);
+         NDNBOOST_STATIC_CONSTANT(
              result_type,
              value = !c*n + choose_initial_n<2*c*n>::value
          );
@@ -57,7 +57,7 @@
 
      template <>
      struct choose_initial_n<0> {
-         BOOST_STATIC_CONSTANT(result_type, value = 0);
+         NDNBOOST_STATIC_CONSTANT(result_type, value = 0);
      };
 
 
@@ -84,8 +84,8 @@
      template <argument_type x, result_type n = initial_n>
      struct static_log2_impl {
 
-         BOOST_STATIC_CONSTANT(bool, c = (x >> n) > 0); // x >= 2**n ?
-         BOOST_STATIC_CONSTANT(
+         NDNBOOST_STATIC_CONSTANT(bool, c = (x >> n) > 0); // x >= 2**n ?
+         NDNBOOST_STATIC_CONSTANT(
              result_type,
              value = c*n + (static_log2_impl< (x>>c*n), n/2 >::value)
          );
@@ -94,7 +94,7 @@
 
      template <>
      struct static_log2_impl<1, 0> {
-        BOOST_STATIC_CONSTANT(result_type, value = 0);
+        NDNBOOST_STATIC_CONSTANT(result_type, value = 0);
      };
 
      }
@@ -109,7 +109,7 @@
  template <static_log2_argument_type x>
  struct static_log2 {
 
-     BOOST_STATIC_CONSTANT(
+     NDNBOOST_STATIC_CONSTANT(
          static_log2_result_type,
          value = detail::static_log2_impl::static_log2_impl<x>::value
      );
diff --git a/include/ndnboost/integer_fwd.hpp b/include/ndnboost/integer_fwd.hpp
index ec7dd4c..16c6e65 100644
--- a/include/ndnboost/integer_fwd.hpp
+++ b/include/ndnboost/integer_fwd.hpp
@@ -6,13 +6,13 @@
 
 //  See http://www.boost.org/libs/integer for documentation.
 
-#ifndef BOOST_INTEGER_FWD_HPP
-#define BOOST_INTEGER_FWD_HPP
+#ifndef NDNBOOST_INTEGER_FWD_HPP
+#define NDNBOOST_INTEGER_FWD_HPP
 
 #include <climits>  // for UCHAR_MAX, etc.
 #include <cstddef>  // for std::size_t
 
-#include <ndnboost/config.hpp>  // for BOOST_NO_INTRINSIC_WCHAR_T
+#include <ndnboost/config.hpp>  // for NDNBOOST_NO_INTRINSIC_WCHAR_T
 #include <ndnboost/limits.hpp>  // for std::numeric_limits
 #include <ndnboost/cstdint.hpp>  // For intmax_t
 
@@ -20,7 +20,7 @@
 namespace ndnboost
 {
 
-#ifdef BOOST_NO_INTEGRAL_INT64_T
+#ifdef NDNBOOST_NO_INTEGRAL_INT64_T
      typedef unsigned long static_log2_argument_type;
      typedef          int  static_log2_result_type;
      typedef long          static_min_max_signed_type;
@@ -54,7 +54,7 @@
 template <  >
     class integer_traits< unsigned char >;
 
-#ifndef BOOST_NO_INTRINSIC_WCHAR_T
+#ifndef NDNBOOST_NO_INTRINSIC_WCHAR_T
 template <  >
     class integer_traits< wchar_t >;
 #endif
@@ -77,13 +77,13 @@
 template <  >
     class integer_traits< unsigned long >;
 
-#if !defined(BOOST_NO_INTEGRAL_INT64_T) && !defined(BOOST_NO_INT64_T) && defined(BOOST_HAS_LONG_LONG)
+#if !defined(NDNBOOST_NO_INTEGRAL_INT64_T) && !defined(NDNBOOST_NO_INT64_T) && defined(NDNBOOST_HAS_LONG_LONG)
 template <  >
 class integer_traits<  ::ndnboost::long_long_type>;
 
 template <  >
 class integer_traits<  ::ndnboost::ulong_long_type >;
-#elif !defined(BOOST_NO_INTEGRAL_INT64_T) && !defined(BOOST_NO_INT64_T) && defined(BOOST_HAS_MS_INT64)
+#elif !defined(NDNBOOST_NO_INTEGRAL_INT64_T) && !defined(NDNBOOST_NO_INT64_T) && defined(NDNBOOST_HAS_MS_INT64)
 template <  >
 class integer_traits<__int64>;
 
@@ -103,21 +103,21 @@
 template< int Bits >
     struct uint_t;
 
-#if !defined(BOOST_NO_INTEGRAL_INT64_T) && defined(BOOST_HAS_LONG_LONG)
+#if !defined(NDNBOOST_NO_INTEGRAL_INT64_T) && defined(NDNBOOST_HAS_LONG_LONG)
     template< ndnboost::long_long_type MaxValue >   // maximum value to require support
 #else
   template< long MaxValue >   // maximum value to require support
 #endif
     struct int_max_value_t;
 
-#if !defined(BOOST_NO_INTEGRAL_INT64_T) && defined(BOOST_HAS_LONG_LONG)
+#if !defined(NDNBOOST_NO_INTEGRAL_INT64_T) && defined(NDNBOOST_HAS_LONG_LONG)
   template< ndnboost::long_long_type MinValue >   // minimum value to require support
 #else
   template< long MinValue >   // minimum value to require support
 #endif
     struct int_min_value_t;
 
-#if !defined(BOOST_NO_INTEGRAL_INT64_T) && defined(BOOST_HAS_LONG_LONG)
+#if !defined(NDNBOOST_NO_INTEGRAL_INT64_T) && defined(NDNBOOST_HAS_LONG_LONG)
   template< ndnboost::ulong_long_type MaxValue >   // maximum value to require support
 #else
   template< unsigned long MaxValue >   // maximum value to require support
@@ -161,4 +161,4 @@
 }  // namespace ndnboost
 
 
-#endif  // BOOST_INTEGER_FWD_HPP
+#endif  // NDNBOOST_INTEGER_FWD_HPP
diff --git a/include/ndnboost/integer_traits.hpp b/include/ndnboost/integer_traits.hpp
index 6abf5d1..f8a6afd 100644
--- a/include/ndnboost/integer_traits.hpp
+++ b/include/ndnboost/integer_traits.hpp
@@ -13,8 +13,8 @@
 //  See http://www.boost.org/libs/integer for documentation.
 
 
-#ifndef BOOST_INTEGER_TRAITS_HPP
-#define BOOST_INTEGER_TRAITS_HPP
+#ifndef NDNBOOST_INTEGER_TRAITS_HPP
+#define NDNBOOST_INTEGER_TRAITS_HPP
 
 #include <ndnboost/config.hpp>
 #include <ndnboost/limits.hpp>
@@ -23,7 +23,7 @@
 #include <limits.h>
 // we need wchar.h for WCHAR_MAX/MIN but not all platforms provide it,
 // and some may have <wchar.h> but not <cwchar> ...
-#if !defined(BOOST_NO_INTRINSIC_WCHAR_T) && (!defined(BOOST_NO_CWCHAR) || defined(sun) || defined(__sun) || defined(__QNX__))
+#if !defined(NDNBOOST_NO_INTRINSIC_WCHAR_T) && (!defined(NDNBOOST_NO_CWCHAR) || defined(sun) || defined(__sun) || defined(__QNX__))
 #include <wchar.h>
 #endif
 
@@ -44,7 +44,7 @@
 class integer_traits : public std::numeric_limits<T>
 {
 public:
-  BOOST_STATIC_CONSTANT(bool, is_integral = false);
+  NDNBOOST_STATIC_CONSTANT(bool, is_integral = false);
 };
 
 namespace detail {
@@ -52,12 +52,12 @@
 class integer_traits_base
 {
 public:
-  BOOST_STATIC_CONSTANT(bool, is_integral = true);
-  BOOST_STATIC_CONSTANT(T, const_min = min_val);
-  BOOST_STATIC_CONSTANT(T, const_max = max_val);
+  NDNBOOST_STATIC_CONSTANT(bool, is_integral = true);
+  NDNBOOST_STATIC_CONSTANT(T, const_min = min_val);
+  NDNBOOST_STATIC_CONSTANT(T, const_max = max_val);
 };
 
-#ifndef BOOST_NO_INCLASS_MEMBER_INITIALIZATION
+#ifndef NDNBOOST_NO_INCLASS_MEMBER_INITIALIZATION
 //  A definition is required even for integral static constants
 template<class T, T min_val, T max_val>
 const bool integer_traits_base<T, min_val, max_val>::is_integral;
@@ -95,7 +95,7 @@
     public detail::integer_traits_base<unsigned char, 0, UCHAR_MAX>
 { };
 
-#ifndef BOOST_NO_INTRINSIC_WCHAR_T
+#ifndef NDNBOOST_NO_INTRINSIC_WCHAR_T
 template<>
 class integer_traits<wchar_t>
   : public std::numeric_limits<wchar_t>,
@@ -128,7 +128,7 @@
 #error No WCHAR_MIN and WCHAR_MAX present, please adjust integer_traits<> for your compiler.
 #endif
 { };
-#endif // BOOST_NO_INTRINSIC_WCHAR_T
+#endif // NDNBOOST_NO_INTRINSIC_WCHAR_T
 
 template<>
 class integer_traits<short>
@@ -166,8 +166,8 @@
     public detail::integer_traits_base<unsigned long, 0, ULONG_MAX>
 { };
 
-#if !defined(BOOST_NO_INTEGRAL_INT64_T) && !defined(BOOST_NO_INT64_T)
-#if defined(ULLONG_MAX) && defined(BOOST_HAS_LONG_LONG)
+#if !defined(NDNBOOST_NO_INTEGRAL_INT64_T) && !defined(NDNBOOST_NO_INT64_T)
+#if defined(ULLONG_MAX) && defined(NDNBOOST_HAS_LONG_LONG)
 
 template<>
 class integer_traits< ::ndnboost::long_long_type>
@@ -181,7 +181,7 @@
     public detail::integer_traits_base< ::ndnboost::ulong_long_type, 0, ULLONG_MAX>
 { };
 
-#elif defined(ULONG_LONG_MAX) && defined(BOOST_HAS_LONG_LONG)
+#elif defined(ULONG_LONG_MAX) && defined(NDNBOOST_HAS_LONG_LONG)
 
 template<>
 class integer_traits< ::ndnboost::long_long_type>  : public std::numeric_limits< ::ndnboost::long_long_type>,    public detail::integer_traits_base< ::ndnboost::long_long_type, LONG_LONG_MIN, LONG_LONG_MAX>{ };
@@ -191,7 +191,7 @@
     public detail::integer_traits_base< ::ndnboost::ulong_long_type, 0, ULONG_LONG_MAX>
 { };
 
-#elif defined(ULONGLONG_MAX) && defined(BOOST_HAS_LONG_LONG)
+#elif defined(ULONGLONG_MAX) && defined(NDNBOOST_HAS_LONG_LONG)
 
 template<>
 class integer_traits< ::ndnboost::long_long_type>
@@ -205,7 +205,7 @@
     public detail::integer_traits_base< ::ndnboost::ulong_long_type, 0, ULONGLONG_MAX>
 { };
 
-#elif defined(_LLONG_MAX) && defined(_C2) && defined(BOOST_HAS_LONG_LONG)
+#elif defined(_LLONG_MAX) && defined(_C2) && defined(NDNBOOST_HAS_LONG_LONG)
 
 template<>
 class integer_traits< ::ndnboost::long_long_type>
@@ -219,7 +219,7 @@
     public detail::integer_traits_base< ::ndnboost::ulong_long_type, 0, _ULLONG_MAX>
 { };
 
-#elif defined(BOOST_HAS_LONG_LONG)
+#elif defined(NDNBOOST_HAS_LONG_LONG)
 //
 // we have long long but no constants, this happens for example with gcc in -ansi mode,
 // we'll just have to work out the values for ourselves (assumes 2's compliment representation):
@@ -236,7 +236,7 @@
     public detail::integer_traits_base< ::ndnboost::ulong_long_type, 0, ~0uLL>
 { };
 
-#elif defined(BOOST_HAS_MS_INT64)
+#elif defined(NDNBOOST_HAS_MS_INT64)
 
 template<>
 class integer_traits< __int64>
@@ -255,7 +255,7 @@
 
 } // namespace ndnboost
 
-#endif /* BOOST_INTEGER_TRAITS_HPP */
+#endif /* NDNBOOST_INTEGER_TRAITS_HPP */
 
 
 
diff --git a/include/ndnboost/intrusive/detail/config_begin.hpp b/include/ndnboost/intrusive/detail/config_begin.hpp
index 5350c1c..4e7ce04 100644
--- a/include/ndnboost/intrusive/detail/config_begin.hpp
+++ b/include/ndnboost/intrusive/detail/config_begin.hpp
@@ -10,12 +10,12 @@
 //
 /////////////////////////////////////////////////////////////////////////////
 
-#ifndef BOOST_INTRUSIVE_CONFIG_INCLUDED
-#define BOOST_INTRUSIVE_CONFIG_INCLUDED
+#ifndef NDNBOOST_INTRUSIVE_CONFIG_INCLUDED
+#define NDNBOOST_INTRUSIVE_CONFIG_INCLUDED
 #include <ndnboost/config.hpp>
 #endif
 
-#ifdef BOOST_MSVC
+#ifdef NDNBOOST_MSVC
 
    #pragma warning (push)
    //
@@ -48,5 +48,5 @@
    #pragma warning (disable : 4512) //'typeid' used on polymorphic type 'ndnboost::exception' with /GR-
 #endif
 
-//#define BOOST_INTRUSIVE_USE_ITERATOR_FACADE
-//#define BOOST_INTRUSIVE_USE_ITERATOR_ENABLE_IF_CONVERTIBLE
+//#define NDNBOOST_INTRUSIVE_USE_ITERATOR_FACADE
+//#define NDNBOOST_INTRUSIVE_USE_ITERATOR_ENABLE_IF_CONVERTIBLE
diff --git a/include/ndnboost/intrusive/detail/config_end.hpp b/include/ndnboost/intrusive/detail/config_end.hpp
index d653030..6aa1214 100644
--- a/include/ndnboost/intrusive/detail/config_end.hpp
+++ b/include/ndnboost/intrusive/detail/config_end.hpp
@@ -10,6 +10,6 @@
 //
 /////////////////////////////////////////////////////////////////////////////
 
-#if defined BOOST_MSVC
+#if defined NDNBOOST_MSVC
    #pragma warning (pop)
 #endif
diff --git a/include/ndnboost/intrusive/detail/has_member_function_callable_with.hpp b/include/ndnboost/intrusive/detail/has_member_function_callable_with.hpp
index a9cdff9..56da5b9 100644
--- a/include/ndnboost/intrusive/detail/has_member_function_callable_with.hpp
+++ b/include/ndnboost/intrusive/detail/has_member_function_callable_with.hpp
@@ -10,10 +10,10 @@
 
 // sample.h
 
-#if !defined(BOOST_PP_IS_ITERATING)
+#if !defined(NDNBOOST_PP_IS_ITERATING)
 
-   #ifndef BOOST_INTRUSIVE_DETAIL_HAS_MEMBER_FUNCTION_CALLABLE_WITH_DETAILS_INCLUDED
-   #define BOOST_INTRUSIVE_DETAIL_HAS_MEMBER_FUNCTION_CALLABLE_WITH_DETAILS_INCLUDED
+   #ifndef NDNBOOST_INTRUSIVE_DETAIL_HAS_MEMBER_FUNCTION_CALLABLE_WITH_DETAILS_INCLUDED
+   #define NDNBOOST_INTRUSIVE_DETAIL_HAS_MEMBER_FUNCTION_CALLABLE_WITH_DETAILS_INCLUDED
 
       #include <ndnboost/intrusive/detail/config_begin.hpp>
       #include <ndnboost/intrusive/detail/workaround.hpp>
@@ -25,9 +25,9 @@
       //Mark that we don't support 0 arg calls due to compiler ICE in GCC 3.4/4.0/4.1 and
       //wrong SFINAE for GCC 4.2/4.3
       #if defined(__GNUC__) && !defined(__clang__) && ((__GNUC__*100 + __GNUC_MINOR__*10) >= 340) && ((__GNUC__*100 + __GNUC_MINOR__*10) <= 430)
-      #define BOOST_INTRUSIVE_DETAIL_HAS_MEMBER_FUNCTION_CALLABLE_WITH_0_ARGS_UNSUPPORTED
-      #elif defined(BOOST_INTEL) && (BOOST_INTEL < 1200 )
-      #define BOOST_INTRUSIVE_DETAIL_HAS_MEMBER_FUNCTION_CALLABLE_WITH_0_ARGS_UNSUPPORTED
+      #define NDNBOOST_INTRUSIVE_DETAIL_HAS_MEMBER_FUNCTION_CALLABLE_WITH_0_ARGS_UNSUPPORTED
+      #elif defined(NDNBOOST_INTEL) && (NDNBOOST_INTEL < 1200 )
+      #define NDNBOOST_INTRUSIVE_DETAIL_HAS_MEMBER_FUNCTION_CALLABLE_WITH_0_ARGS_UNSUPPORTED
       #endif
 
       namespace ndnboost_intrusive_has_member_function_callable_with {
@@ -54,36 +54,36 @@
 
       #include <ndnboost/intrusive/detail/config_end.hpp>
 
-   #endif   //BOOST_INTRUSIVE_DETAIL_HAS_MEMBER_FUNCTION_CALLABLE_WITH_DETAILS_INCLUDED
+   #endif   //NDNBOOST_INTRUSIVE_DETAIL_HAS_MEMBER_FUNCTION_CALLABLE_WITH_DETAILS_INCLUDED
 
-#else //!BOOST_PP_IS_ITERATING
+#else //!NDNBOOST_PP_IS_ITERATING
 
-   #ifndef  BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME
-   #error "BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME not defined!"
+   #ifndef  NDNBOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME
+   #error "NDNBOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME not defined!"
    #endif
 
-   #ifndef  BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_BEGIN
-   #error "BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_BEGIN not defined!"
+   #ifndef  NDNBOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_BEGIN
+   #error "NDNBOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_BEGIN not defined!"
    #endif
 
-   #ifndef  BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_END
-   #error "BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_END not defined!"
+   #ifndef  NDNBOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_END
+   #error "NDNBOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_END not defined!"
    #endif
 
-   #if BOOST_PP_ITERATION_START() != 0
-   #error "BOOST_PP_ITERATION_START() must be zero (0)"
+   #if NDNBOOST_PP_ITERATION_START() != 0
+   #error "NDNBOOST_PP_ITERATION_START() must be zero (0)"
    #endif
 
-   #if BOOST_PP_ITERATION() == 0
+   #if NDNBOOST_PP_ITERATION() == 0
 
-      BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_BEGIN
+      NDNBOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_BEGIN
 
       template <typename Type>
-      class BOOST_PP_CAT(has_member_function_named_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME)
+      class NDNBOOST_PP_CAT(has_member_function_named_, NDNBOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME)
       {
          struct BaseMixin
          {
-            void BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME();
+            void NDNBOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME();
          };
 
          struct Base : public ::ndnboost::intrusive::detail::remove_cv<Type>::type, public BaseMixin { Base(); };
@@ -91,7 +91,7 @@
 
          template <typename U>
          static ndnboost_intrusive_has_member_function_callable_with::no_type  deduce
-            (U*, Helper<void (BaseMixin::*)(), &U::BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME>* = 0);
+            (U*, Helper<void (BaseMixin::*)(), &U::NDNBOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME>* = 0);
          static ndnboost_intrusive_has_member_function_callable_with::yes_type deduce(...);
 
          public:
@@ -99,16 +99,16 @@
             sizeof(ndnboost_intrusive_has_member_function_callable_with::yes_type) == sizeof(deduce((Base*)(0)));
       };
 
-      #if !defined(BOOST_INTRUSIVE_PERFECT_FORWARDING)
+      #if !defined(NDNBOOST_INTRUSIVE_PERFECT_FORWARDING)
 
          template<typename Fun, bool HasFunc
-                  BOOST_PP_ENUM_TRAILING(BOOST_PP_ITERATION_FINISH(), BOOST_INTRUSIVE_PP_TEMPLATE_PARAM_VOID_DEFAULT, _)>
-         struct BOOST_PP_CAT(BOOST_PP_CAT(has_member_function_callable_with_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME), _impl);
+                  NDNBOOST_PP_ENUM_TRAILING(NDNBOOST_PP_ITERATION_FINISH(), NDNBOOST_INTRUSIVE_PP_TEMPLATE_PARAM_VOID_DEFAULT, _)>
+         struct NDNBOOST_PP_CAT(NDNBOOST_PP_CAT(has_member_function_callable_with_, NDNBOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME), _impl);
          //!
 
-         template<typename Fun BOOST_PP_ENUM_TRAILING_PARAMS(BOOST_PP_ITERATION_FINISH(), class P)>
-         struct BOOST_PP_CAT(BOOST_PP_CAT(has_member_function_callable_with_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME), _impl)
-            <Fun, false BOOST_PP_ENUM_TRAILING_PARAMS(BOOST_PP_ITERATION_FINISH(), P)>
+         template<typename Fun NDNBOOST_PP_ENUM_TRAILING_PARAMS(NDNBOOST_PP_ITERATION_FINISH(), class P)>
+         struct NDNBOOST_PP_CAT(NDNBOOST_PP_CAT(has_member_function_callable_with_, NDNBOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME), _impl)
+            <Fun, false NDNBOOST_PP_ENUM_TRAILING_PARAMS(NDNBOOST_PP_ITERATION_FINISH(), P)>
          {
             static const bool value = false;
          };
@@ -116,46 +116,46 @@
 
          #if !defined(_MSC_VER) || (_MSC_VER < 1600)
 
-            #if defined(BOOST_INTRUSIVE_DETAIL_HAS_MEMBER_FUNCTION_CALLABLE_WITH_0_ARGS_UNSUPPORTED)
+            #if defined(NDNBOOST_INTRUSIVE_DETAIL_HAS_MEMBER_FUNCTION_CALLABLE_WITH_0_ARGS_UNSUPPORTED)
 
             template<typename Fun>
-            struct BOOST_PP_CAT(BOOST_PP_CAT(has_member_function_callable_with_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME),_impl)
-               <Fun, true BOOST_PP_ENUM_TRAILING(BOOST_PP_SUB(BOOST_PP_ITERATION_FINISH(), BOOST_PP_ITERATION()), BOOST_INTRUSIVE_PP_IDENTITY, void)>
+            struct NDNBOOST_PP_CAT(NDNBOOST_PP_CAT(has_member_function_callable_with_, NDNBOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME),_impl)
+               <Fun, true NDNBOOST_PP_ENUM_TRAILING(NDNBOOST_PP_SUB(NDNBOOST_PP_ITERATION_FINISH(), NDNBOOST_PP_ITERATION()), NDNBOOST_INTRUSIVE_PP_IDENTITY, void)>
             {
                //Mark that we don't support 0 arg calls due to compiler ICE in GCC 3.4/4.0/4.1 and
                //wrong SFINAE for GCC 4.2/4.3
                static const bool value = true;
             };
 
-            #else //defined(BOOST_INTRUSIVE_DETAIL_HAS_MEMBER_FUNCTION_CALLABLE_WITH_0_ARGS_UNSUPPORTED)
+            #else //defined(NDNBOOST_INTRUSIVE_DETAIL_HAS_MEMBER_FUNCTION_CALLABLE_WITH_0_ARGS_UNSUPPORTED)
 
             //Special case for 0 args
             template< class F
                   , std::size_t N =
                         sizeof((ndnboost::move_detail::declval<F>().
-                           BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME (), 0))>
-            struct BOOST_PP_CAT(zeroarg_checker_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME)
+                           NDNBOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME (), 0))>
+            struct NDNBOOST_PP_CAT(zeroarg_checker_, NDNBOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME)
             {
                ndnboost_intrusive_has_member_function_callable_with::yes_type dummy;
-               BOOST_PP_CAT(zeroarg_checker_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME)(int);
+               NDNBOOST_PP_CAT(zeroarg_checker_, NDNBOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME)(int);
             };
 
             //For buggy compilers like MSVC 7.1+ ((F*)0)->func() does not
             //SFINAE-out the zeroarg_checker_ instantiation but sizeof yields to 0.
             template<class F>
-            struct BOOST_PP_CAT(zeroarg_checker_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME)<F, 0>
+            struct NDNBOOST_PP_CAT(zeroarg_checker_, NDNBOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME)<F, 0>
             {
                ndnboost_intrusive_has_member_function_callable_with::no_type dummy;
-               BOOST_PP_CAT(zeroarg_checker_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME)(int);
+               NDNBOOST_PP_CAT(zeroarg_checker_, NDNBOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME)(int);
             };
 
             template<typename Fun>
-            struct BOOST_PP_CAT(BOOST_PP_CAT(has_member_function_callable_with_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME),_impl)
-               <Fun, true BOOST_PP_ENUM_TRAILING(BOOST_PP_SUB(BOOST_PP_ITERATION_FINISH(), BOOST_PP_ITERATION()), BOOST_INTRUSIVE_PP_IDENTITY, void)>
+            struct NDNBOOST_PP_CAT(NDNBOOST_PP_CAT(has_member_function_callable_with_, NDNBOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME),_impl)
+               <Fun, true NDNBOOST_PP_ENUM_TRAILING(NDNBOOST_PP_SUB(NDNBOOST_PP_ITERATION_FINISH(), NDNBOOST_PP_ITERATION()), NDNBOOST_INTRUSIVE_PP_IDENTITY, void)>
             {
                template<class U>
-               static BOOST_PP_CAT(zeroarg_checker_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME)<U>
-                  Test(BOOST_PP_CAT(zeroarg_checker_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME)<U>*);
+               static NDNBOOST_PP_CAT(zeroarg_checker_, NDNBOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME)<U>
+                  Test(NDNBOOST_PP_CAT(zeroarg_checker_, NDNBOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME)<U>*);
 
                template <class U>
                static ndnboost_intrusive_has_member_function_callable_with::no_type Test(...);
@@ -163,15 +163,15 @@
                static const bool value = sizeof(Test< Fun >(0))
                                     == sizeof(ndnboost_intrusive_has_member_function_callable_with::yes_type);
             };
-            #endif   //defined(BOOST_INTRUSIVE_DETAIL_HAS_MEMBER_FUNCTION_CALLABLE_WITH_0_ARGS_UNSUPPORTED)
+            #endif   //defined(NDNBOOST_INTRUSIVE_DETAIL_HAS_MEMBER_FUNCTION_CALLABLE_WITH_0_ARGS_UNSUPPORTED)
 
          #else //#if !defined(_MSC_VER) || (_MSC_VER < 1600)
             template<typename Fun>
-            struct BOOST_PP_CAT(BOOST_PP_CAT(has_member_function_callable_with_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME),_impl)
-               <Fun, true BOOST_PP_ENUM_TRAILING(BOOST_PP_SUB(BOOST_PP_ITERATION_FINISH(), BOOST_PP_ITERATION()), BOOST_INTRUSIVE_PP_IDENTITY, void)>
+            struct NDNBOOST_PP_CAT(NDNBOOST_PP_CAT(has_member_function_callable_with_, NDNBOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME),_impl)
+               <Fun, true NDNBOOST_PP_ENUM_TRAILING(NDNBOOST_PP_SUB(NDNBOOST_PP_ITERATION_FINISH(), NDNBOOST_PP_ITERATION()), NDNBOOST_INTRUSIVE_PP_IDENTITY, void)>
             {
                template<class U>
-               static decltype( ndnboost::move_detail::declval<Fun>().BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME()
+               static decltype( ndnboost::move_detail::declval<Fun>().NDNBOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME()
                               , ndnboost_intrusive_has_member_function_callable_with::yes_type())
                   Test(Fun*);
 
@@ -183,13 +183,13 @@
             };
          #endif   //#if !defined(_MSC_VER) || (_MSC_VER < 1600)
 
-      #else   //#if !defined(BOOST_INTRUSIVE_PERFECT_FORWARDING)
+      #else   //#if !defined(NDNBOOST_INTRUSIVE_PERFECT_FORWARDING)
 
          template<typename Fun, bool HasFunc, class ...Args>
-         struct BOOST_PP_CAT(BOOST_PP_CAT(has_member_function_callable_with_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME),_impl);
+         struct NDNBOOST_PP_CAT(NDNBOOST_PP_CAT(has_member_function_callable_with_, NDNBOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME),_impl);
 
          template<typename Fun, class ...Args>
-         struct BOOST_PP_CAT(BOOST_PP_CAT(has_member_function_callable_with_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME),_impl)
+         struct NDNBOOST_PP_CAT(NDNBOOST_PP_CAT(has_member_function_callable_with_, NDNBOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME),_impl)
             <Fun, false, Args...>
          {
             static const bool value = false;
@@ -199,29 +199,29 @@
          template< class F
                , std::size_t N =
                      sizeof((ndnboost::move_detail::declval<F>().
-                        BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME (), 0))>
-         struct BOOST_PP_CAT(zeroarg_checker_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME)
+                        NDNBOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME (), 0))>
+         struct NDNBOOST_PP_CAT(zeroarg_checker_, NDNBOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME)
          {
             ndnboost_intrusive_has_member_function_callable_with::yes_type dummy;
-            BOOST_PP_CAT(zeroarg_checker_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME)(int);
+            NDNBOOST_PP_CAT(zeroarg_checker_, NDNBOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME)(int);
          };
 
          //For buggy compilers like MSVC 7.1+ ((F*)0)->func() does not
          //SFINAE-out the zeroarg_checker_ instantiation but sizeof yields to 0.
          template<class F>
-         struct BOOST_PP_CAT(zeroarg_checker_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME)<F, 0>
+         struct NDNBOOST_PP_CAT(zeroarg_checker_, NDNBOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME)<F, 0>
          {
             ndnboost_intrusive_has_member_function_callable_with::no_type dummy;
-            BOOST_PP_CAT(zeroarg_checker_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME)(int);
+            NDNBOOST_PP_CAT(zeroarg_checker_, NDNBOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME)(int);
          };
 
          template<typename Fun>
-         struct BOOST_PP_CAT(BOOST_PP_CAT(has_member_function_callable_with_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME),_impl)
+         struct NDNBOOST_PP_CAT(NDNBOOST_PP_CAT(has_member_function_callable_with_, NDNBOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME),_impl)
             <Fun, true>
          {
             template<class U>
-            static BOOST_PP_CAT(zeroarg_checker_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME)
-               <U> Test(BOOST_PP_CAT(zeroarg_checker_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME)<U>*);
+            static NDNBOOST_PP_CAT(zeroarg_checker_, NDNBOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME)
+               <U> Test(NDNBOOST_PP_CAT(zeroarg_checker_, NDNBOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME)<U>*);
 
             template <class U>
             static ndnboost_intrusive_has_member_function_callable_with::no_type Test(...);
@@ -231,19 +231,19 @@
          };
 
          template<typename Fun, class ...DontCares>
-         struct BOOST_PP_CAT( funwrap_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME )
+         struct NDNBOOST_PP_CAT( funwrap_, NDNBOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME )
             : Fun
          {
-            BOOST_PP_CAT( funwrap_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME )();
-            using Fun::BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME;
+            NDNBOOST_PP_CAT( funwrap_, NDNBOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME )();
+            using Fun::NDNBOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME;
 
             ndnboost_intrusive_has_member_function_callable_with::private_type
-               BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME
+               NDNBOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME
                   ( DontCares...)  const;
          };
 
          template<typename Fun, class ...Args>
-         struct BOOST_PP_CAT( BOOST_PP_CAT(has_member_function_callable_with_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME), _impl)
+         struct NDNBOOST_PP_CAT( NDNBOOST_PP_CAT(has_member_function_callable_with_, NDNBOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME), _impl)
             <Fun, true , Args...>
          {
             template<class T>
@@ -252,106 +252,106 @@
                typedef ndnboost_intrusive_has_member_function_callable_with::dont_care type;
             };
 
-            typedef BOOST_PP_CAT( funwrap_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME )
+            typedef NDNBOOST_PP_CAT( funwrap_, NDNBOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME )
                <Fun, typename make_dontcare<Args>::type...> FunWrap;
 
             static bool const value = (sizeof(ndnboost_intrusive_has_member_function_callable_with::no_type) ==
                                        sizeof(ndnboost_intrusive_has_member_function_callable_with::is_private_type
                                                 ( (::ndnboost::move_detail::declval< FunWrap >().
-                                          BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME
+                                          NDNBOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME
                                              ( ::ndnboost::move_detail::declval<Args>()... ), 0) )
                                              )
                                        );
          };
 
          template<typename Fun, class ...Args>
-         struct BOOST_PP_CAT( has_member_function_callable_with_
-                            , BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME)
-            : public BOOST_PP_CAT( BOOST_PP_CAT(has_member_function_callable_with_
-                                 , BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME),_impl)
+         struct NDNBOOST_PP_CAT( has_member_function_callable_with_
+                            , NDNBOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME)
+            : public NDNBOOST_PP_CAT( NDNBOOST_PP_CAT(has_member_function_callable_with_
+                                 , NDNBOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME),_impl)
                < Fun
-               , BOOST_PP_CAT( has_member_function_named_
-                             , BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME )<Fun>::value
+               , NDNBOOST_PP_CAT( has_member_function_named_
+                             , NDNBOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME )<Fun>::value
                , Args... >
          {};
 
-      #endif   //#if !defined(BOOST_INTRUSIVE_PERFECT_FORWARDING)
+      #endif   //#if !defined(NDNBOOST_INTRUSIVE_PERFECT_FORWARDING)
 
-      BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_END
+      NDNBOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_END
 
-   #else   //BOOST_PP_ITERATION() == 0
+   #else   //NDNBOOST_PP_ITERATION() == 0
 
-      #if !defined(BOOST_INTRUSIVE_PERFECT_FORWARDING)
+      #if !defined(NDNBOOST_INTRUSIVE_PERFECT_FORWARDING)
 
-         BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_BEGIN
+         NDNBOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_BEGIN
 
          template<typename Fun>
-         struct BOOST_PP_CAT( BOOST_PP_CAT(funwrap, BOOST_PP_ITERATION())
-                           , BOOST_PP_CAT(_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME))
+         struct NDNBOOST_PP_CAT( NDNBOOST_PP_CAT(funwrap, NDNBOOST_PP_ITERATION())
+                           , NDNBOOST_PP_CAT(_, NDNBOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME))
             : Fun
          {
-            BOOST_PP_CAT( BOOST_PP_CAT(funwrap, BOOST_PP_ITERATION())
-                        , BOOST_PP_CAT(_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME))();
+            NDNBOOST_PP_CAT( NDNBOOST_PP_CAT(funwrap, NDNBOOST_PP_ITERATION())
+                        , NDNBOOST_PP_CAT(_, NDNBOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME))();
 
-            using Fun::BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME;
+            using Fun::NDNBOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME;
             ndnboost_intrusive_has_member_function_callable_with::private_type
-               BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME
-                  ( BOOST_PP_ENUM(BOOST_PP_ITERATION()
-                  , BOOST_INTRUSIVE_PP_IDENTITY
+               NDNBOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME
+                  ( NDNBOOST_PP_ENUM(NDNBOOST_PP_ITERATION()
+                  , NDNBOOST_INTRUSIVE_PP_IDENTITY
                   , ndnboost_intrusive_has_member_function_callable_with::dont_care))  const;
          };
 
-         template<typename Fun BOOST_PP_ENUM_TRAILING_PARAMS(BOOST_PP_ITERATION(), class P)>
-         struct BOOST_PP_CAT( BOOST_PP_CAT(has_member_function_callable_with_
-                            , BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME),_impl)
+         template<typename Fun NDNBOOST_PP_ENUM_TRAILING_PARAMS(NDNBOOST_PP_ITERATION(), class P)>
+         struct NDNBOOST_PP_CAT( NDNBOOST_PP_CAT(has_member_function_callable_with_
+                            , NDNBOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME),_impl)
             <Fun, true
-            BOOST_PP_ENUM_TRAILING_PARAMS(BOOST_PP_ITERATION(), P)
-            BOOST_PP_ENUM_TRAILING( BOOST_PP_SUB(BOOST_PP_ITERATION_FINISH(), BOOST_PP_ITERATION())
-                                  , BOOST_INTRUSIVE_PP_IDENTITY
+            NDNBOOST_PP_ENUM_TRAILING_PARAMS(NDNBOOST_PP_ITERATION(), P)
+            NDNBOOST_PP_ENUM_TRAILING( NDNBOOST_PP_SUB(NDNBOOST_PP_ITERATION_FINISH(), NDNBOOST_PP_ITERATION())
+                                  , NDNBOOST_INTRUSIVE_PP_IDENTITY
                                   , void)>
          {
-            typedef BOOST_PP_CAT( BOOST_PP_CAT(funwrap, BOOST_PP_ITERATION())
-                              , BOOST_PP_CAT(_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME))<Fun>
+            typedef NDNBOOST_PP_CAT( NDNBOOST_PP_CAT(funwrap, NDNBOOST_PP_ITERATION())
+                              , NDNBOOST_PP_CAT(_, NDNBOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME))<Fun>
                      FunWrap;
             static bool const value =
             (sizeof(ndnboost_intrusive_has_member_function_callable_with::no_type) ==
                sizeof(ndnboost_intrusive_has_member_function_callable_with::is_private_type
                         (  (ndnboost::move_detail::declval<FunWrap>().
-                              BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME
-                                 ( BOOST_PP_ENUM( BOOST_PP_ITERATION(), BOOST_INTRUSIVE_PP_DECLVAL, _) ), 0
+                              NDNBOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME
+                                 ( NDNBOOST_PP_ENUM( NDNBOOST_PP_ITERATION(), NDNBOOST_INTRUSIVE_PP_DECLVAL, _) ), 0
                            )
                         )
                      )
             );
          };
 
-         BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_END
-      #endif   //#if !defined(BOOST_INTRUSIVE_PERFECT_FORWARDING)
+         NDNBOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_END
+      #endif   //#if !defined(NDNBOOST_INTRUSIVE_PERFECT_FORWARDING)
 
-   #endif   //BOOST_PP_ITERATION() == 0
+   #endif   //NDNBOOST_PP_ITERATION() == 0
 
-   #if BOOST_PP_ITERATION() == BOOST_PP_ITERATION_FINISH()
+   #if NDNBOOST_PP_ITERATION() == NDNBOOST_PP_ITERATION_FINISH()
 
-      #if !defined(BOOST_INTRUSIVE_PERFECT_FORWARDING)
+      #if !defined(NDNBOOST_INTRUSIVE_PERFECT_FORWARDING)
 
-         BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_BEGIN
+         NDNBOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_BEGIN
 
          template<typename Fun
-                  BOOST_PP_ENUM_TRAILING(BOOST_PP_ITERATION_FINISH(), BOOST_INTRUSIVE_PP_TEMPLATE_PARAM_VOID_DEFAULT, _)>
-         struct BOOST_PP_CAT(has_member_function_callable_with_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME)
-            : public BOOST_PP_CAT(BOOST_PP_CAT(has_member_function_callable_with_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME), _impl)
-               <Fun, BOOST_PP_CAT(has_member_function_named_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME)<Fun>::value
-               BOOST_PP_ENUM_TRAILING_PARAMS(BOOST_PP_ITERATION_FINISH(), P) >
+                  NDNBOOST_PP_ENUM_TRAILING(NDNBOOST_PP_ITERATION_FINISH(), NDNBOOST_INTRUSIVE_PP_TEMPLATE_PARAM_VOID_DEFAULT, _)>
+         struct NDNBOOST_PP_CAT(has_member_function_callable_with_, NDNBOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME)
+            : public NDNBOOST_PP_CAT(NDNBOOST_PP_CAT(has_member_function_callable_with_, NDNBOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME), _impl)
+               <Fun, NDNBOOST_PP_CAT(has_member_function_named_, NDNBOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME)<Fun>::value
+               NDNBOOST_PP_ENUM_TRAILING_PARAMS(NDNBOOST_PP_ITERATION_FINISH(), P) >
          {};
 
-         BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_END
+         NDNBOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_END
 
-      #endif //#if !defined(BOOST_INTRUSIVE_PERFECT_FORWARDING)
+      #endif //#if !defined(NDNBOOST_INTRUSIVE_PERFECT_FORWARDING)
 
-      #undef BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME
-      #undef BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_BEGIN
-      #undef BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_END
+      #undef NDNBOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME
+      #undef NDNBOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_BEGIN
+      #undef NDNBOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_END
 
-   #endif   //#if BOOST_PP_ITERATION() == BOOST_PP_ITERATION_FINISH()
+   #endif   //#if NDNBOOST_PP_ITERATION() == NDNBOOST_PP_ITERATION_FINISH()
 
-#endif   //!BOOST_PP_IS_ITERATING
+#endif   //!NDNBOOST_PP_IS_ITERATING
diff --git a/include/ndnboost/intrusive/detail/memory_util.hpp b/include/ndnboost/intrusive/detail/memory_util.hpp
index 81cc105..4d88ef9 100644
--- a/include/ndnboost/intrusive/detail/memory_util.hpp
+++ b/include/ndnboost/intrusive/detail/memory_util.hpp
@@ -14,8 +14,8 @@
 //
 //////////////////////////////////////////////////////////////////////////////
 
-#ifndef BOOST_INTRUSIVE_ALLOCATOR_MEMORY_UTIL_HPP
-#define BOOST_INTRUSIVE_ALLOCATOR_MEMORY_UTIL_HPP
+#ifndef NDNBOOST_INTRUSIVE_ALLOCATOR_MEMORY_UTIL_HPP
+#define NDNBOOST_INTRUSIVE_ALLOCATOR_MEMORY_UTIL_HPP
 
 #if (defined _MSC_VER) && (_MSC_VER >= 1200)
 #  pragma once
@@ -53,7 +53,7 @@
 };
 
 // Infrastructure for providing a default type for T::TNAME if absent.
-#define BOOST_INTRUSIVE_INSTANTIATE_DEFAULT_TYPE_TMPLT(TNAME)              \
+#define NDNBOOST_INTRUSIVE_INSTANTIATE_DEFAULT_TYPE_TMPLT(TNAME)              \
    template <typename T, typename DefaultType>                             \
    struct boost_intrusive_default_type_ ## TNAME                           \
    {                                                                       \
@@ -97,12 +97,12 @@
    };                                                                      \
 //
 
-#define BOOST_INTRUSIVE_OBTAIN_TYPE_WITH_DEFAULT(INSTANTIATION_NS_PREFIX, T, TNAME, TIMPL)   \
+#define NDNBOOST_INTRUSIVE_OBTAIN_TYPE_WITH_DEFAULT(INSTANTIATION_NS_PREFIX, T, TNAME, TIMPL)   \
       typename INSTANTIATION_NS_PREFIX                                                       \
          boost_intrusive_default_type_ ## TNAME< T, TIMPL >::type                            \
 //
 
-#define BOOST_INTRUSIVE_OBTAIN_TYPE_WITH_EVAL_DEFAULT(INSTANTIATION_NS_PREFIX, T, TNAME, TIMPL) \
+#define NDNBOOST_INTRUSIVE_OBTAIN_TYPE_WITH_EVAL_DEFAULT(INSTANTIATION_NS_PREFIX, T, TNAME, TIMPL) \
       typename INSTANTIATION_NS_PREFIX                                                          \
          boost_intrusive_eval_default_type_ ## TNAME< T, TIMPL >::type                          \
 //
@@ -111,36 +111,36 @@
 
 #include <ndnboost/intrusive/detail/has_member_function_callable_with.hpp>
 
-#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME pointer_to
-#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_BEGIN namespace ndnboost { namespace intrusive { namespace detail {
-#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_END   }}}
-#define BOOST_PP_ITERATION_PARAMS_1 (3, (0, 1, <ndnboost/intrusive/detail/has_member_function_callable_with.hpp>))
-#include BOOST_PP_ITERATE()
+#define NDNBOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME pointer_to
+#define NDNBOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_BEGIN namespace ndnboost { namespace intrusive { namespace detail {
+#define NDNBOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_END   }}}
+#define NDNBOOST_PP_ITERATION_PARAMS_1 (3, (0, 1, <ndnboost/intrusive/detail/has_member_function_callable_with.hpp>))
+#include NDNBOOST_PP_ITERATE()
 
-#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME static_cast_from
-#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_BEGIN namespace ndnboost { namespace intrusive { namespace detail {
-#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_END   }}}
-#define BOOST_PP_ITERATION_PARAMS_1 (3, (0, 1, <ndnboost/intrusive/detail/has_member_function_callable_with.hpp>))
-#include BOOST_PP_ITERATE()
+#define NDNBOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME static_cast_from
+#define NDNBOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_BEGIN namespace ndnboost { namespace intrusive { namespace detail {
+#define NDNBOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_END   }}}
+#define NDNBOOST_PP_ITERATION_PARAMS_1 (3, (0, 1, <ndnboost/intrusive/detail/has_member_function_callable_with.hpp>))
+#include NDNBOOST_PP_ITERATE()
 
-#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME const_cast_from
-#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_BEGIN namespace ndnboost { namespace intrusive { namespace detail {
-#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_END   }}}
-#define BOOST_PP_ITERATION_PARAMS_1 (3, (0, 1, <ndnboost/intrusive/detail/has_member_function_callable_with.hpp>))
-#include BOOST_PP_ITERATE()
+#define NDNBOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME const_cast_from
+#define NDNBOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_BEGIN namespace ndnboost { namespace intrusive { namespace detail {
+#define NDNBOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_END   }}}
+#define NDNBOOST_PP_ITERATION_PARAMS_1 (3, (0, 1, <ndnboost/intrusive/detail/has_member_function_callable_with.hpp>))
+#include NDNBOOST_PP_ITERATE()
 
-#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME dynamic_cast_from
-#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_BEGIN namespace ndnboost { namespace intrusive { namespace detail {
-#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_END   }}}
-#define BOOST_PP_ITERATION_PARAMS_1 (3, (0, 1, <ndnboost/intrusive/detail/has_member_function_callable_with.hpp>))
-#include BOOST_PP_ITERATE()
+#define NDNBOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME dynamic_cast_from
+#define NDNBOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_BEGIN namespace ndnboost { namespace intrusive { namespace detail {
+#define NDNBOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_END   }}}
+#define NDNBOOST_PP_ITERATION_PARAMS_1 (3, (0, 1, <ndnboost/intrusive/detail/has_member_function_callable_with.hpp>))
+#include NDNBOOST_PP_ITERATE()
 
 namespace ndnboost {
 namespace intrusive {
 namespace detail {
 
-BOOST_INTRUSIVE_INSTANTIATE_DEFAULT_TYPE_TMPLT(element_type)
-BOOST_INTRUSIVE_INSTANTIATE_DEFAULT_TYPE_TMPLT(difference_type)
+NDNBOOST_INTRUSIVE_INSTANTIATE_DEFAULT_TYPE_TMPLT(element_type)
+NDNBOOST_INTRUSIVE_INSTANTIATE_DEFAULT_TYPE_TMPLT(difference_type)
 
 //////////////////////
 //struct first_param
@@ -149,7 +149,7 @@
 template <typename T> struct first_param
 {  typedef void type;   };
 
-#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
+#if !defined(NDNBOOST_NO_CXX11_VARIADIC_TEMPLATES)
 
    template <template <typename, typename...> class TemplateClass, typename T, typename... Args>
    struct first_param< TemplateClass<T, Args...> >
@@ -159,21 +159,21 @@
 
 #else //C++03 compilers
 
-   #define BOOST_PP_LOCAL_MACRO(n)                                                  \
+   #define NDNBOOST_PP_LOCAL_MACRO(n)                                                  \
    template < template <typename                                                    \
-               BOOST_PP_ENUM_TRAILING(n, BOOST_INTRUSIVE_PP_IDENTITY, typename) >   \
+               NDNBOOST_PP_ENUM_TRAILING(n, NDNBOOST_INTRUSIVE_PP_IDENTITY, typename) >   \
             class TemplateClass                                                     \
-            , typename T BOOST_PP_ENUM_TRAILING_PARAMS(n, class P)>                 \
+            , typename T NDNBOOST_PP_ENUM_TRAILING_PARAMS(n, class P)>                 \
    struct first_param                                                               \
-      < TemplateClass<T BOOST_PP_ENUM_TRAILING_PARAMS(n, P)> >                      \
+      < TemplateClass<T NDNBOOST_PP_ENUM_TRAILING_PARAMS(n, P)> >                      \
    {                                                                                \
       typedef T type;                                                               \
    };                                                                               \
    //
-   #define BOOST_PP_LOCAL_LIMITS (0, BOOST_INTRUSIVE_MAX_CONSTRUCTOR_PARAMETERS)
-   #include BOOST_PP_LOCAL_ITERATE()
+   #define NDNBOOST_PP_LOCAL_LIMITS (0, NDNBOOST_INTRUSIVE_MAX_CONSTRUCTOR_PARAMETERS)
+   #include NDNBOOST_PP_LOCAL_ITERATE()
 
-#endif   //!defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
+#endif   //!defined(NDNBOOST_NO_CXX11_VARIADIC_TEMPLATES)
 
 ///////////////////////////
 //struct type_rebind_mode
@@ -245,7 +245,7 @@
 // OtherArgs>, where OtherArgs comprises zero or more type parameters.
 // Many pointers fit this form, hence many pointers will get a
 // reasonable default for rebind.
-#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
+#if !defined(NDNBOOST_NO_CXX11_VARIADIC_TEMPLATES)
 
 template <template <class, class...> class Ptr, typename T, class... Tn, class U>
 struct type_rebinder<Ptr<T, Tn...>, U, 0u >
@@ -262,22 +262,22 @@
 
 #else //C++03 compilers
 
-#define BOOST_PP_LOCAL_MACRO(n)                                                  \
+#define NDNBOOST_PP_LOCAL_MACRO(n)                                                  \
 template < template <typename                                                    \
-            BOOST_PP_ENUM_TRAILING(n, BOOST_INTRUSIVE_PP_IDENTITY, typename) >   \
+            NDNBOOST_PP_ENUM_TRAILING(n, NDNBOOST_INTRUSIVE_PP_IDENTITY, typename) >   \
            class Ptr                                                             \
-         , typename T BOOST_PP_ENUM_TRAILING_PARAMS(n, class P)                  \
+         , typename T NDNBOOST_PP_ENUM_TRAILING_PARAMS(n, class P)                  \
          , class U>                                                              \
 struct type_rebinder                                                             \
-   < Ptr<T BOOST_PP_ENUM_TRAILING_PARAMS(n, P)>, U, 0u >                         \
+   < Ptr<T NDNBOOST_PP_ENUM_TRAILING_PARAMS(n, P)>, U, 0u >                         \
 {                                                                                \
-   typedef Ptr<U BOOST_PP_ENUM_TRAILING_PARAMS(n, P)> type;                      \
+   typedef Ptr<U NDNBOOST_PP_ENUM_TRAILING_PARAMS(n, P)> type;                      \
 };                                                                               \
 //
-#define BOOST_PP_LOCAL_LIMITS (0, BOOST_INTRUSIVE_MAX_CONSTRUCTOR_PARAMETERS)
-#include BOOST_PP_LOCAL_ITERATE()
+#define NDNBOOST_PP_LOCAL_LIMITS (0, NDNBOOST_INTRUSIVE_MAX_CONSTRUCTOR_PARAMETERS)
+#include NDNBOOST_PP_LOCAL_ITERATE()
 
-#endif   //!defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
+#endif   //!defined(NDNBOOST_NO_CXX11_VARIADIC_TEMPLATES)
 
 }  //namespace detail {
 }  //namespace intrusive {
@@ -285,4 +285,4 @@
 
 #include <ndnboost/intrusive/detail/config_end.hpp>
 
-#endif // ! defined(BOOST_INTRUSIVE_ALLOCATOR_MEMORY_UTIL_HPP)
+#endif // ! defined(NDNBOOST_INTRUSIVE_ALLOCATOR_MEMORY_UTIL_HPP)
diff --git a/include/ndnboost/intrusive/detail/mpl.hpp b/include/ndnboost/intrusive/detail/mpl.hpp
index 9dc637d..cfe340c 100644
--- a/include/ndnboost/intrusive/detail/mpl.hpp
+++ b/include/ndnboost/intrusive/detail/mpl.hpp
@@ -10,8 +10,8 @@
 //
 /////////////////////////////////////////////////////////////////////////////
 
-#ifndef BOOST_INTRUSIVE_DETAIL_MPL_HPP
-#define BOOST_INTRUSIVE_DETAIL_MPL_HPP
+#ifndef NDNBOOST_INTRUSIVE_DETAIL_MPL_HPP
+#define NDNBOOST_INTRUSIVE_DETAIL_MPL_HPP
 
 #include <ndnboost/intrusive/detail/config_begin.hpp>
 #include <cstddef>
@@ -124,14 +124,14 @@
    typedef T type;
 };
 
-#if defined(BOOST_MSVC) || defined(__BORLANDC_)
-#define BOOST_INTRUSIVE_TT_DECL __cdecl
+#if defined(NDNBOOST_MSVC) || defined(__BORLANDC_)
+#define NDNBOOST_INTRUSIVE_TT_DECL __cdecl
 #else
-#define BOOST_INTRUSIVE_TT_DECL
+#define NDNBOOST_INTRUSIVE_TT_DECL
 #endif
 
 #if defined(_MSC_EXTENSIONS) && !defined(__BORLAND__) && !defined(_WIN64) && !defined(UNDER_CE)
-#define BOOST_INTRUSIVE_TT_TEST_MSC_FUNC_SIGS
+#define NDNBOOST_INTRUSIVE_TT_TEST_MSC_FUNC_SIGS
 #endif
 
 template <typename T>
@@ -140,7 +140,7 @@
 
 // see boost ticket #4094
 // avoid duplicate definitions of is_unary_or_binary_function_impl
-#ifndef BOOST_INTRUSIVE_TT_TEST_MSC_FUNC_SIGS
+#ifndef NDNBOOST_INTRUSIVE_TT_TEST_MSC_FUNC_SIGS
 
 template <typename R>
 struct is_unary_or_binary_function_impl<R (*)()>
@@ -150,7 +150,7 @@
 struct is_unary_or_binary_function_impl<R (*)(...)>
 {  static const bool value = true;  };
 
-#else // BOOST_INTRUSIVE_TT_TEST_MSC_FUNC_SIGS
+#else // NDNBOOST_INTRUSIVE_TT_TEST_MSC_FUNC_SIGS
 
 template <typename R>
 struct is_unary_or_binary_function_impl<R (__stdcall*)()>
@@ -176,7 +176,7 @@
 
 // see boost ticket #4094
 // avoid duplicate definitions of is_unary_or_binary_function_impl
-#ifndef BOOST_INTRUSIVE_TT_TEST_MSC_FUNC_SIGS
+#ifndef NDNBOOST_INTRUSIVE_TT_TEST_MSC_FUNC_SIGS
 
 template <typename R, class T0>
 struct is_unary_or_binary_function_impl<R (*)(T0)>
@@ -186,7 +186,7 @@
 struct is_unary_or_binary_function_impl<R (*)(T0...)>
 {  static const bool value = true;  };
 
-#else // BOOST_INTRUSIVE_TT_TEST_MSC_FUNC_SIGS
+#else // NDNBOOST_INTRUSIVE_TT_TEST_MSC_FUNC_SIGS
 
 template <typename R, class T0>
 struct is_unary_or_binary_function_impl<R (__stdcall*)(T0)>
@@ -212,7 +212,7 @@
 
 // see boost ticket #4094
 // avoid duplicate definitions of is_unary_or_binary_function_impl
-#ifndef BOOST_INTRUSIVE_TT_TEST_MSC_FUNC_SIGS
+#ifndef NDNBOOST_INTRUSIVE_TT_TEST_MSC_FUNC_SIGS
 
 template <typename R, class T0, class T1>
 struct is_unary_or_binary_function_impl<R (*)(T0, T1)>
@@ -222,7 +222,7 @@
 struct is_unary_or_binary_function_impl<R (*)(T0, T1...)>
 {  static const bool value = true;  };
 
-#else // BOOST_INTRUSIVE_TT_TEST_MSC_FUNC_SIGS
+#else // NDNBOOST_INTRUSIVE_TT_TEST_MSC_FUNC_SIGS
 
 template <typename R, class T0, class T1>
 struct is_unary_or_binary_function_impl<R (__stdcall*)(T0, T1)>
@@ -380,4 +380,4 @@
 
 #include <ndnboost/intrusive/detail/config_end.hpp>
 
-#endif //BOOST_INTRUSIVE_DETAIL_MPL_HPP
+#endif //NDNBOOST_INTRUSIVE_DETAIL_MPL_HPP
diff --git a/include/ndnboost/intrusive/detail/preprocessor.hpp b/include/ndnboost/intrusive/detail/preprocessor.hpp
index b673fac..cdf8a38 100644
--- a/include/ndnboost/intrusive/detail/preprocessor.hpp
+++ b/include/ndnboost/intrusive/detail/preprocessor.hpp
@@ -8,8 +8,8 @@
 //
 //////////////////////////////////////////////////////////////////////////////
 
-#ifndef BOOST_INTRUSIVE_DETAIL_PREPROCESSOR_HPP
-#define BOOST_INTRUSIVE_DETAIL_PREPROCESSOR_HPP
+#ifndef NDNBOOST_INTRUSIVE_DETAIL_PREPROCESSOR_HPP
+#define NDNBOOST_INTRUSIVE_DETAIL_PREPROCESSOR_HPP
 
 #if (defined _MSC_VER) && (_MSC_VER >= 1200)
 #  pragma once
@@ -35,18 +35,18 @@
 #include <ndnboost/preprocessor/arithmetic/add.hpp>
 #include <ndnboost/preprocessor/iteration/iterate.hpp>
 
-#define BOOST_INTRUSIVE_MAX_CONSTRUCTOR_PARAMETERS 10
+#define NDNBOOST_INTRUSIVE_MAX_CONSTRUCTOR_PARAMETERS 10
 
-#define BOOST_INTRUSIVE_PP_IDENTITY(z, n, data) data
+#define NDNBOOST_INTRUSIVE_PP_IDENTITY(z, n, data) data
 
-#define BOOST_INTRUSIVE_PP_DECLVAL(z, n, data) \
-ndnboost::move_detail::declval< BOOST_PP_CAT(P, n) >() \
+#define NDNBOOST_INTRUSIVE_PP_DECLVAL(z, n, data) \
+ndnboost::move_detail::declval< NDNBOOST_PP_CAT(P, n) >() \
 //!
 
-#define BOOST_INTRUSIVE_PP_TEMPLATE_PARAM_VOID_DEFAULT(z, n, data)   \
-  BOOST_PP_CAT(class P, n) = void                                      \
+#define NDNBOOST_INTRUSIVE_PP_TEMPLATE_PARAM_VOID_DEFAULT(z, n, data)   \
+  NDNBOOST_PP_CAT(class P, n) = void                                      \
 //!
 
 #include <ndnboost/intrusive/detail/config_end.hpp>
 
-#endif //#ifndef BOOST_INTRUSIVE_DETAIL_PREPROCESSOR_HPP
+#endif //#ifndef NDNBOOST_INTRUSIVE_DETAIL_PREPROCESSOR_HPP
diff --git a/include/ndnboost/intrusive/detail/workaround.hpp b/include/ndnboost/intrusive/detail/workaround.hpp
index 6da7711..4f73b1c 100644
--- a/include/ndnboost/intrusive/detail/workaround.hpp
+++ b/include/ndnboost/intrusive/detail/workaround.hpp
@@ -8,15 +8,15 @@
 //
 //////////////////////////////////////////////////////////////////////////////
 
-#ifndef BOOST_INTRUSIVE_DETAIL_WRKRND_HPP
-#define BOOST_INTRUSIVE_DETAIL_WRKRND_HPP
+#ifndef NDNBOOST_INTRUSIVE_DETAIL_WRKRND_HPP
+#define NDNBOOST_INTRUSIVE_DETAIL_WRKRND_HPP
 
 #include <ndnboost/intrusive/detail/config_begin.hpp>
 
-#if    !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
-   #define BOOST_INTRUSIVE_PERFECT_FORWARDING
+#if    !defined(NDNBOOST_NO_CXX11_RVALUE_REFERENCES) && !defined(NDNBOOST_NO_CXX11_VARIADIC_TEMPLATES)
+   #define NDNBOOST_INTRUSIVE_PERFECT_FORWARDING
 #endif
 
 #include <ndnboost/intrusive/detail/config_end.hpp>
 
-#endif   //#ifndef BOOST_INTRUSIVE_DETAIL_WRKRND_HPP
+#endif   //#ifndef NDNBOOST_INTRUSIVE_DETAIL_WRKRND_HPP
diff --git a/include/ndnboost/intrusive/pointer_traits.hpp b/include/ndnboost/intrusive/pointer_traits.hpp
index 4a89397..3901ff8 100644
--- a/include/ndnboost/intrusive/pointer_traits.hpp
+++ b/include/ndnboost/intrusive/pointer_traits.hpp
@@ -14,8 +14,8 @@
 //
 //////////////////////////////////////////////////////////////////////////////
 
-#ifndef BOOST_INTRUSIVE_POINTER_TRAITS_HPP
-#define BOOST_INTRUSIVE_POINTER_TRAITS_HPP
+#ifndef NDNBOOST_INTRUSIVE_POINTER_TRAITS_HPP
+#define NDNBOOST_INTRUSIVE_POINTER_TRAITS_HPP
 
 #if (defined _MSC_VER) && (_MSC_VER >= 1200)
 #  pragma once
@@ -37,7 +37,7 @@
 template <typename Ptr>
 struct pointer_traits
 {
-   #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED
+   #ifdef NDNBOOST_INTRUSIVE_DOXYGEN_INVOKED
       //!The pointer type
       //!queried by this pointer_traits instantiation
       typedef Ptr             pointer;
@@ -67,11 +67,11 @@
    #else
       typedef Ptr                                                             pointer;
       //
-      typedef BOOST_INTRUSIVE_OBTAIN_TYPE_WITH_EVAL_DEFAULT
+      typedef NDNBOOST_INTRUSIVE_OBTAIN_TYPE_WITH_EVAL_DEFAULT
          ( ndnboost::intrusive::detail::, Ptr, element_type
          , ndnboost::intrusive::detail::first_param<Ptr>)                        element_type;
       //
-      typedef BOOST_INTRUSIVE_OBTAIN_TYPE_WITH_DEFAULT
+      typedef NDNBOOST_INTRUSIVE_OBTAIN_TYPE_WITH_DEFAULT
          (ndnboost::intrusive::detail::, Ptr, difference_type, std::ptrdiff_t)   difference_type;
       //
       typedef typename ndnboost::intrusive::detail::unvoid<element_type>::type&  reference;
@@ -81,10 +81,10 @@
          typedef typename ndnboost::intrusive::detail::type_rebinder<Ptr, U>::type  type;
       };
 
-      #if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES)
+      #if !defined(NDNBOOST_NO_CXX11_TEMPLATE_ALIASES)
          template <class U> using rebind = typename ndnboost::intrusive::detail::type_rebinder<Ptr, U>::type;
       #endif
-   #endif   //#if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES)
+   #endif   //#if !defined(NDNBOOST_NO_CXX11_TEMPLATE_ALIASES)
 
    //! <b>Remark</b>: If element_type is (possibly cv-qualified) void, r type is unspecified; otherwise,
    //!   it is element_type &.
@@ -216,7 +216,7 @@
    typedef T*           pointer;
    typedef std::ptrdiff_t difference_type;
 
-   #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED
+   #ifdef NDNBOOST_INTRUSIVE_DOXYGEN_INVOKED
       typedef T &          reference;
       //!typedef for <pre>U *</pre>
       //!
@@ -225,7 +225,7 @@
       template <class U> using rebind = U*;
    #else
       typedef typename ndnboost::intrusive::detail::unvoid<element_type>::type& reference;
-      #if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES)
+      #if !defined(NDNBOOST_NO_CXX11_TEMPLATE_ALIASES)
          template <class U> using rebind = U*;
       #endif
    #endif
@@ -262,4 +262,4 @@
 
 #include <ndnboost/intrusive/detail/config_end.hpp>
 
-#endif // ! defined(BOOST_INTRUSIVE_POINTER_TRAITS_HPP)
+#endif // ! defined(NDNBOOST_INTRUSIVE_POINTER_TRAITS_HPP)
diff --git a/include/ndnboost/io/ios_state.hpp b/include/ndnboost/io/ios_state.hpp
index bee1422..90d802a 100644
--- a/include/ndnboost/io/ios_state.hpp
+++ b/include/ndnboost/io/ios_state.hpp
@@ -6,14 +6,14 @@
 
 //  See <http://www.boost.org/libs/io/> for the library's home page.
 
-#ifndef BOOST_IO_IOS_STATE_HPP
-#define BOOST_IO_IOS_STATE_HPP
+#ifndef NDNBOOST_IO_IOS_STATE_HPP
+#define NDNBOOST_IO_IOS_STATE_HPP
 
 #include <ndnboost/io_fwd.hpp>  // self include
 #include <ndnboost/detail/workaround.hpp>
 
 #include <ios>        // for std::ios_base, std::basic_ios, etc.
-#ifndef BOOST_NO_STD_LOCALE
+#ifndef NDNBOOST_NO_STD_LOCALE
 #include <locale>     // for std::locale
 #endif
 #include <ostream>    // for std::basic_ostream
@@ -141,7 +141,7 @@
     explicit  basic_ios_exception_saver( state_type &s )
         : s_save_( s ), a_save_( s.exceptions() )
         {}
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x582))
+#if NDNBOOST_WORKAROUND(__BORLANDC__, NDNBOOST_TESTED_AT(0x582))
     basic_ios_exception_saver( state_type &s, aspect_type a )
 #else
     basic_ios_exception_saver( state_type &s, aspect_type const &a )
@@ -235,7 +235,7 @@
     basic_ios_fill_saver& operator=(const basic_ios_fill_saver&);
 };
 
-#ifndef BOOST_NO_STD_LOCALE
+#ifndef NDNBOOST_NO_STD_LOCALE
 template < typename Ch, class Tr >
 class basic_ios_locale_saver
 {
@@ -362,7 +362,7 @@
         , a3_save_( s.width() ), a4_save_( s.rdstate() )
         , a5_save_( s.exceptions() ), a6_save_( s.tie() )
         , a7_save_( s.rdbuf() ), a8_save_( s.fill() )
-        #ifndef BOOST_NO_STD_LOCALE
+        #ifndef NDNBOOST_NO_STD_LOCALE
         , a9_save_( s.getloc() )
         #endif
         {}
@@ -372,7 +372,7 @@
 
     void  restore()
     {
-        #ifndef BOOST_NO_STD_LOCALE
+        #ifndef NDNBOOST_NO_STD_LOCALE
         s_save_.imbue( a9_save_ );
         #endif
         s_save_.fill( a8_save_ );
@@ -395,7 +395,7 @@
     ::std::basic_ostream<Ch, Tr> * const    a6_save_;
     ::std::basic_streambuf<Ch, Tr> * const  a7_save_;
     typename state_type::char_type const    a8_save_;
-    #ifndef BOOST_NO_STD_LOCALE
+    #ifndef NDNBOOST_NO_STD_LOCALE
     ::std::locale const                     a9_save_;
     #endif
 
@@ -436,4 +436,4 @@
 }  // namespace ndnboost
 
 
-#endif  // BOOST_IO_IOS_STATE_HPP
+#endif  // NDNBOOST_IO_IOS_STATE_HPP
diff --git a/include/ndnboost/io_fwd.hpp b/include/ndnboost/io_fwd.hpp
index c58e9e3..755a58a 100644
--- a/include/ndnboost/io_fwd.hpp
+++ b/include/ndnboost/io_fwd.hpp
@@ -6,8 +6,8 @@
 
 //  See <http://www.boost.org/libs/io/> for the library's home page.
 
-#ifndef BOOST_IO_FWD_HPP
-#define BOOST_IO_FWD_HPP
+#ifndef NDNBOOST_IO_FWD_HPP
+#define NDNBOOST_IO_FWD_HPP
 
 #include <iosfwd>  // for std::char_traits (declaration)
 
@@ -64,4 +64,4 @@
 }  // namespace ndnboost
 
 
-#endif  // BOOST_IO_FWD_HPP
+#endif  // NDNBOOST_IO_FWD_HPP
diff --git a/include/ndnboost/is_placeholder.hpp b/include/ndnboost/is_placeholder.hpp
index e358ca6..cc40821 100644
--- a/include/ndnboost/is_placeholder.hpp
+++ b/include/ndnboost/is_placeholder.hpp
@@ -1,5 +1,5 @@
-#ifndef BOOST_IS_PLACEHOLDER_HPP_INCLUDED
-#define BOOST_IS_PLACEHOLDER_HPP_INCLUDED
+#ifndef NDNBOOST_IS_PLACEHOLDER_HPP_INCLUDED
+#define NDNBOOST_IS_PLACEHOLDER_HPP_INCLUDED
 
 // MS compatible compilers support #pragma once
 
@@ -28,4 +28,4 @@
 
 } // namespace ndnboost
 
-#endif // #ifndef BOOST_IS_PLACEHOLDER_HPP_INCLUDED
+#endif // #ifndef NDNBOOST_IS_PLACEHOLDER_HPP_INCLUDED
diff --git a/include/ndnboost/iterator.hpp b/include/ndnboost/iterator.hpp
index bec9260..ded629c 100644
--- a/include/ndnboost/iterator.hpp
+++ b/include/ndnboost/iterator.hpp
@@ -11,8 +11,8 @@
 //  28 Jun 00 Workarounds to deal with known MSVC bugs (David Abrahams)
 //  26 Jun 00 Initial version (Jeremy Siek)
 
-#ifndef BOOST_ITERATOR_HPP
-#define BOOST_ITERATOR_HPP
+#ifndef NDNBOOST_ITERATOR_HPP
+#define NDNBOOST_ITERATOR_HPP
 
 #include <iterator>
 #include <cstddef>           // std::ptrdiff_t
@@ -20,7 +20,7 @@
 
 namespace ndnboost
 {
-# if defined(BOOST_NO_STD_ITERATOR) && !defined(BOOST_MSVC_STD_ITERATOR)
+# if defined(NDNBOOST_NO_STD_ITERATOR) && !defined(NDNBOOST_MSVC_STD_ITERATOR)
   template <class Category, class T,
     class Distance = std::ptrdiff_t,
     class Pointer = T*, class Reference = T&>
@@ -38,7 +38,7 @@
   // prevent derivation from an identically-named class in a different namespace.
   namespace detail {
    template <class Category, class T, class Distance, class Pointer, class Reference>
-#  if !defined(BOOST_MSVC_STD_ITERATOR)
+#  if !defined(NDNBOOST_MSVC_STD_ITERATOR)
    struct iterator_base : std::iterator<Category, T, Distance, Pointer, Reference> {};
 #  else
    struct iterator_base : std::iterator<Category, T, Distance>
@@ -56,4 +56,4 @@
 # endif
 } // namespace ndnboost
 
-#endif // BOOST_ITERATOR_HPP
+#endif // NDNBOOST_ITERATOR_HPP
diff --git a/include/ndnboost/iterator/detail/config_def.hpp b/include/ndnboost/iterator/detail/config_def.hpp
index 861072b..f4af926 100644
--- a/include/ndnboost/iterator/detail/config_def.hpp
+++ b/include/ndnboost/iterator/detail/config_def.hpp
@@ -16,18 +16,18 @@
 #include <ndnboost/config.hpp> // for prior
 #include <ndnboost/detail/workaround.hpp>
 
-#ifdef BOOST_ITERATOR_CONFIG_DEF
+#ifdef NDNBOOST_ITERATOR_CONFIG_DEF
 # error you have nested config_def #inclusion.
 #else 
-# define BOOST_ITERATOR_CONFIG_DEF
+# define NDNBOOST_ITERATOR_CONFIG_DEF
 #endif 
 
 // We enable this always now.  Otherwise, the simple case in
 // libs/iterator/test/constant_iterator_arrow.cpp fails to compile
 // because the operator-> return is improperly deduced as a non-const
 // pointer.
-#if 1 || defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)           \
-    || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x531))
+#if 1 || defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)           \
+    || NDNBOOST_WORKAROUND(__BORLANDC__, NDNBOOST_TESTED_AT(0x531))
 
 // Recall that in general, compilers without partial specialization
 // can't strip constness.  Consider counting_iterator, which normally
@@ -42,17 +42,17 @@
 // return the value_type from operator[] directly, but is not
 // strictly necessary.  Not sure how best to resolve this one.
 
-# define BOOST_ITERATOR_REF_CONSTNESS_KILLS_WRITABILITY 1
+# define NDNBOOST_ITERATOR_REF_CONSTNESS_KILLS_WRITABILITY 1
 
 #endif
 
-#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)                                       \
-    || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x5A0))                   \
-    || (BOOST_WORKAROUND(BOOST_INTEL_CXX_VERSION, <= 700) && defined(_MSC_VER)) \
-    || BOOST_WORKAROUND(__DECCXX_VER, BOOST_TESTED_AT(60590042))                \
-    || BOOST_WORKAROUND(__SUNPRO_CC, BOOST_TESTED_AT(0x590))
+#if NDNBOOST_WORKAROUND(NDNBOOST_MSVC, <= 1300)                                       \
+    || NDNBOOST_WORKAROUND(__BORLANDC__, NDNBOOST_TESTED_AT(0x5A0))                   \
+    || (NDNBOOST_WORKAROUND(NDNBOOST_INTEL_CXX_VERSION, <= 700) && defined(_MSC_VER)) \
+    || NDNBOOST_WORKAROUND(__DECCXX_VER, NDNBOOST_TESTED_AT(60590042))                \
+    || NDNBOOST_WORKAROUND(__SUNPRO_CC, NDNBOOST_TESTED_AT(0x590))
     
-# define BOOST_NO_LVALUE_RETURN_DETECTION
+# define NDNBOOST_NO_LVALUE_RETURN_DETECTION
 
 # if 0 // test code
   struct v  {};
@@ -84,14 +84,14 @@
 
 #endif
 
-#if BOOST_WORKAROUND(__MWERKS__, <=0x2407)
-#  define BOOST_NO_IS_CONVERTIBLE // "is_convertible doesn't work for simple types"
+#if NDNBOOST_WORKAROUND(__MWERKS__, <=0x2407)
+#  define NDNBOOST_NO_IS_CONVERTIBLE // "is_convertible doesn't work for simple types"
 #endif
 
-#if BOOST_WORKAROUND(__GNUC__, == 2)                                                                            \
-    || BOOST_WORKAROUND(__GNUC__, == 3) && BOOST_WORKAROUND(__GNUC_MINOR__, < 4) && !defined(__EDG_VERSION__)   \
-    || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x551))
-#  define BOOST_NO_IS_CONVERTIBLE_TEMPLATE // The following program fails to compile:
+#if NDNBOOST_WORKAROUND(__GNUC__, == 2)                                                                            \
+    || NDNBOOST_WORKAROUND(__GNUC__, == 3) && NDNBOOST_WORKAROUND(__GNUC_MINOR__, < 4) && !defined(__EDG_VERSION__)   \
+    || NDNBOOST_WORKAROUND(__BORLANDC__, NDNBOOST_TESTED_AT(0x551))
+#  define NDNBOOST_NO_IS_CONVERTIBLE_TEMPLATE // The following program fails to compile:
 
 #  if 0 // test code
     #include <ndnboost/type_traits/is_convertible.hpp>
@@ -112,18 +112,18 @@
 #endif
 
 
-#if !defined(BOOST_MSVC) && (defined(BOOST_NO_SFINAE) || defined(BOOST_NO_IS_CONVERTIBLE) || defined(BOOST_NO_IS_CONVERTIBLE_TEMPLATE))
-# define BOOST_NO_STRICT_ITERATOR_INTEROPERABILITY
+#if !defined(NDNBOOST_MSVC) && (defined(NDNBOOST_NO_SFINAE) || defined(NDNBOOST_NO_IS_CONVERTIBLE) || defined(NDNBOOST_NO_IS_CONVERTIBLE_TEMPLATE))
+# define NDNBOOST_NO_STRICT_ITERATOR_INTEROPERABILITY
 #endif 
 
-# if !BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
-#  define BOOST_ARG_DEPENDENT_TYPENAME typename
+# if !NDNBOOST_WORKAROUND(NDNBOOST_MSVC, <= 1300)
+#  define NDNBOOST_ARG_DEPENDENT_TYPENAME typename
 # else
-#  define BOOST_ARG_DEPENDENT_TYPENAME
+#  define NDNBOOST_ARG_DEPENDENT_TYPENAME
 # endif
 
-# if BOOST_WORKAROUND(__GNUC__, == 2) && BOOST_WORKAROUND(__GNUC_MINOR__, BOOST_TESTED_AT(95)) \
-    || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
+# if NDNBOOST_WORKAROUND(__GNUC__, == 2) && NDNBOOST_WORKAROUND(__GNUC_MINOR__, NDNBOOST_TESTED_AT(95)) \
+    || NDNBOOST_WORKAROUND(__BORLANDC__, NDNBOOST_TESTED_AT(0x564))
 
 // GCC-2.95 eagerly instantiates templated constructors and conversion
 // operators in convertibility checks, causing premature errors.
@@ -131,7 +131,7 @@
 // Borland's problems are harder to diagnose due to lack of an
 // instantiation stack backtrace.  They may be due in part to the fact
 // that it drops cv-qualification willy-nilly in templates.
-#  define BOOST_NO_ONE_WAY_ITERATOR_INTEROP
+#  define NDNBOOST_NO_ONE_WAY_ITERATOR_INTEROP
 # endif 
 
 // no include guard; multiple inclusion intended
diff --git a/include/ndnboost/iterator/detail/config_undef.hpp b/include/ndnboost/iterator/detail/config_undef.hpp
index 9dcd1d5..0e828aa 100644
--- a/include/ndnboost/iterator/detail/config_undef.hpp
+++ b/include/ndnboost/iterator/detail/config_undef.hpp
@@ -11,15 +11,15 @@
 // 23/02/03 thw
 //
 
-#undef BOOST_NO_IS_CONVERTIBLE
-#undef BOOST_NO_IS_CONVERTIBLE_TEMPLATE
-#undef BOOST_NO_STRICT_ITERATOR_INTEROPERABILITY
-#undef BOOST_ARG_DEPENDENT_TYPENAME
-#undef BOOST_NO_LVALUE_RETURN_DETECTION
-#undef BOOST_NO_ONE_WAY_ITERATOR_INTEROP
+#undef NDNBOOST_NO_IS_CONVERTIBLE
+#undef NDNBOOST_NO_IS_CONVERTIBLE_TEMPLATE
+#undef NDNBOOST_NO_STRICT_ITERATOR_INTEROPERABILITY
+#undef NDNBOOST_ARG_DEPENDENT_TYPENAME
+#undef NDNBOOST_NO_LVALUE_RETURN_DETECTION
+#undef NDNBOOST_NO_ONE_WAY_ITERATOR_INTEROP
 
-#ifdef BOOST_ITERATOR_CONFIG_DEF
-# undef BOOST_ITERATOR_CONFIG_DEF
+#ifdef NDNBOOST_ITERATOR_CONFIG_DEF
+# undef NDNBOOST_ITERATOR_CONFIG_DEF
 #else
 # error missing or nested #include config_def
 #endif 
diff --git a/include/ndnboost/iterator/detail/enable_if.hpp b/include/ndnboost/iterator/detail/enable_if.hpp
index 1b26330..2b041ab 100644
--- a/include/ndnboost/iterator/detail/enable_if.hpp
+++ b/include/ndnboost/iterator/detail/enable_if.hpp
@@ -4,8 +4,8 @@
 // Distributed under the Boost Software License, Version 1.0. (See
 // accompanying file LICENSE_1_0.txt or copy at
 // http://www.boost.org/LICENSE_1_0.txt)
-#ifndef BOOST_ENABLE_IF_23022003THW_HPP
-#define BOOST_ENABLE_IF_23022003THW_HPP
+#ifndef NDNBOOST_ENABLE_IF_23022003THW_HPP
+#define NDNBOOST_ENABLE_IF_23022003THW_HPP
 
 #include <ndnboost/detail/workaround.hpp>
 #include <ndnboost/mpl/identity.hpp>
@@ -47,7 +47,7 @@
       template<typename T>
       struct base
       {
-#ifdef BOOST_NO_SFINAE
+#ifdef NDNBOOST_NO_SFINAE
 
         typedef T type;
 
@@ -66,13 +66,13 @@
     template <class Cond,
               class Return>
     struct enable_if
-# if !defined(BOOST_NO_SFINAE) && !defined(BOOST_NO_IS_CONVERTIBLE)
+# if !defined(NDNBOOST_NO_SFINAE) && !defined(NDNBOOST_NO_IS_CONVERTIBLE)
       : enabled<(Cond::value)>::template base<Return>
 # else
       : mpl::identity<Return>
 # endif 
     {
-# if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
+# if NDNBOOST_WORKAROUND(NDNBOOST_MSVC, < 1300)
         typedef Return type;
 # endif 
     };
@@ -83,4 +83,4 @@
 
 #include <ndnboost/iterator/detail/config_undef.hpp>
 
-#endif // BOOST_ENABLE_IF_23022003THW_HPP
+#endif // NDNBOOST_ENABLE_IF_23022003THW_HPP
diff --git a/include/ndnboost/iterator/detail/facade_iterator_category.hpp b/include/ndnboost/iterator/detail/facade_iterator_category.hpp
index fa21f5a..c658c9f 100644
--- a/include/ndnboost/iterator/detail/facade_iterator_category.hpp
+++ b/include/ndnboost/iterator/detail/facade_iterator_category.hpp
@@ -22,7 +22,7 @@
 
 # include <ndnboost/iterator/detail/config_def.hpp> // try to keep this last
 
-# ifdef BOOST_ITERATOR_REF_CONSTNESS_KILLS_WRITABILITY
+# ifdef NDNBOOST_ITERATOR_REF_CONSTNESS_KILLS_WRITABILITY
 #  include <ndnboost/detail/indirect_traits.hpp>
 # endif
 
@@ -57,7 +57,7 @@
 //
 template <class ValueParam, class Reference>
 struct iterator_writability_disabled
-# ifdef BOOST_ITERATOR_REF_CONSTNESS_KILLS_WRITABILITY // Adding Thomas' logic?
+# ifdef NDNBOOST_ITERATOR_REF_CONSTNESS_KILLS_WRITABILITY // Adding Thomas' logic?
   : mpl::or_<
         is_const<Reference>
       , ndnboost::detail::indirect_traits::is_reference_to_const<Reference>
@@ -138,21 +138,21 @@
 struct iterator_category_with_traversal
   : Category, Traversal
 {
-# if !BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
+# if !NDNBOOST_WORKAROUND(NDNBOOST_MSVC, <= 1300)
     // Make sure this isn't used to build any categories where
     // convertibility to Traversal is redundant.  Should just use the
     // Category element in that case.
-    BOOST_MPL_ASSERT_NOT((
+    NDNBOOST_MPL_ASSERT_NOT((
         is_convertible<
               typename iterator_category_to_traversal<Category>::type
             , Traversal
           >));
 
-    BOOST_MPL_ASSERT((is_iterator_category<Category>));
-    BOOST_MPL_ASSERT_NOT((is_iterator_category<Traversal>));
-    BOOST_MPL_ASSERT_NOT((is_iterator_traversal<Category>));
-#  if !BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1310))
-    BOOST_MPL_ASSERT((is_iterator_traversal<Traversal>));
+    NDNBOOST_MPL_ASSERT((is_iterator_category<Category>));
+    NDNBOOST_MPL_ASSERT_NOT((is_iterator_category<Traversal>));
+    NDNBOOST_MPL_ASSERT_NOT((is_iterator_traversal<Category>));
+#  if !NDNBOOST_WORKAROUND(NDNBOOST_MSVC, NDNBOOST_TESTED_AT(1310))
+    NDNBOOST_MPL_ASSERT((is_iterator_traversal<Traversal>));
 #  endif 
 # endif 
 };
@@ -162,8 +162,8 @@
 template <class Traversal, class ValueParam, class Reference>
 struct facade_iterator_category_impl
 {
-# if !BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
-    BOOST_MPL_ASSERT_NOT((is_iterator_category<Traversal>));
+# if !NDNBOOST_WORKAROUND(NDNBOOST_MSVC, <= 1300)
+    NDNBOOST_MPL_ASSERT_NOT((is_iterator_category<Traversal>));
 # endif 
     
     typedef typename iterator_facade_default_category<
diff --git a/include/ndnboost/iterator/interoperable.hpp b/include/ndnboost/iterator/interoperable.hpp
index daede1c..25b2104 100644
--- a/include/ndnboost/iterator/interoperable.hpp
+++ b/include/ndnboost/iterator/interoperable.hpp
@@ -4,8 +4,8 @@
 // Distributed under the Boost Software License, Version 1.0. (See
 // accompanying file LICENSE_1_0.txt or copy at
 // http://www.boost.org/LICENSE_1_0.txt)
-#ifndef BOOST_INTEROPERABLE_23022003THW_HPP
-# define BOOST_INTEROPERABLE_23022003THW_HPP
+#ifndef NDNBOOST_INTEROPERABLE_23022003THW_HPP
+# define NDNBOOST_INTEROPERABLE_23022003THW_HPP
 
 # include <ndnboost/mpl/bool.hpp>
 # include <ndnboost/mpl/or.hpp>
@@ -33,7 +33,7 @@
   //
   template <typename A, typename B>
   struct is_interoperable
-# ifdef BOOST_NO_STRICT_ITERATOR_INTEROPERABILITY
+# ifdef NDNBOOST_NO_STRICT_ITERATOR_INTEROPERABILITY
     : mpl::true_
 # else
     : mpl::or_<
@@ -47,4 +47,4 @@
 
 # include <ndnboost/iterator/detail/config_undef.hpp>
 
-#endif // BOOST_INTEROPERABLE_23022003THW_HPP
+#endif // NDNBOOST_INTEROPERABLE_23022003THW_HPP
diff --git a/include/ndnboost/iterator/iterator_adaptor.hpp b/include/ndnboost/iterator/iterator_adaptor.hpp
index 59aafbf..1a9bd54 100644
--- a/include/ndnboost/iterator/iterator_adaptor.hpp
+++ b/include/ndnboost/iterator/iterator_adaptor.hpp
@@ -4,8 +4,8 @@
 // Distributed under the Boost Software License, Version 1.0. (See
 // accompanying file LICENSE_1_0.txt or copy at
 // http://www.boost.org/LICENSE_1_0.txt)
-#ifndef BOOST_ITERATOR_ADAPTOR_23022003THW_HPP
-#define BOOST_ITERATOR_ADAPTOR_23022003THW_HPP
+#ifndef NDNBOOST_ITERATOR_ADAPTOR_23022003THW_HPP
+#define NDNBOOST_ITERATOR_ADAPTOR_23022003THW_HPP
 
 #include <ndnboost/static_assert.hpp>
 #include <ndnboost/iterator.hpp>
@@ -22,7 +22,7 @@
 #include <ndnboost/type_traits/is_same.hpp>
 #include <ndnboost/type_traits/is_convertible.hpp>
 
-#ifdef BOOST_ITERATOR_REF_CONSTNESS_KILLS_WRITABILITY
+#ifdef NDNBOOST_ITERATOR_REF_CONSTNESS_KILLS_WRITABILITY
 # include <ndnboost/type_traits/remove_reference.hpp>
 #endif
 
@@ -38,7 +38,7 @@
   // explicitly in order to specify that the default should be used.
   struct use_default;
   
-# ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+# ifndef NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
   // the incompleteness of use_default causes massive problems for
   // is_convertible (naturally).  This workaround is fortunately not
   // needed for vc6/vc7.
@@ -99,7 +99,7 @@
   // false positives for user/library defined iterator types. See comments
   // on operator implementation for consequences.
   //
-#  if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
+#  if NDNBOOST_WORKAROUND(NDNBOOST_MSVC, <= 1300)
   
   template<typename From, typename To>
   struct enable_if_convertible
@@ -114,7 +114,7 @@
      >::type type;
   };
   
-#  elif defined(BOOST_NO_IS_CONVERTIBLE) || defined(BOOST_NO_SFINAE)
+#  elif defined(NDNBOOST_NO_IS_CONVERTIBLE) || defined(NDNBOOST_NO_SFINAE)
   
   template <class From, class To>
   struct enable_if_convertible
@@ -122,7 +122,7 @@
       typedef ndnboost::detail::enable_type type;
   };
   
-#  elif BOOST_WORKAROUND(_MSC_FULL_VER, BOOST_TESTED_AT(13102292)) && BOOST_MSVC > 1300
+#  elif NDNBOOST_WORKAROUND(_MSC_FULL_VER, NDNBOOST_TESTED_AT(13102292)) && NDNBOOST_MSVC > 1300
   
   // For some reason vc7.1 needs us to "cut off" instantiation
   // of is_convertible in a few cases.
@@ -181,7 +181,7 @@
         typedef iterator_facade<
             Derived
             
-# ifdef BOOST_ITERATOR_REF_CONSTNESS_KILLS_WRITABILITY
+# ifdef NDNBOOST_ITERATOR_REF_CONSTNESS_KILLS_WRITABILITY
           , typename ndnboost::detail::ia_dflt_help<
                 Value
               , mpl::eval_if<
@@ -221,7 +221,7 @@
     template <class Tr1, class Tr2>
     inline void iterator_adaptor_assert_traversal ()
     {
-      BOOST_STATIC_ASSERT((is_convertible<Tr1, Tr2>::value));
+      NDNBOOST_STATIC_ASSERT((is_convertible<Tr1, Tr2>::value));
     }
   }
   
@@ -311,7 +311,7 @@
       bool equal(iterator_adaptor<OtherDerived, OtherIterator, V, C, R, D> const& x) const
       {
         // Maybe readd with same_distance
-        //           BOOST_STATIC_ASSERT(
+        //           NDNBOOST_STATIC_ASSERT(
         //               (detail::same_category_and_difference<Derived,OtherDerived>::value)
         //               );
           return m_iterator == x.base();
@@ -321,12 +321,12 @@
           typename super_t::iterator_category
       >::type my_traversal;
 
-# define BOOST_ITERATOR_ADAPTOR_ASSERT_TRAVERSAL(cat) \
+# define NDNBOOST_ITERATOR_ADAPTOR_ASSERT_TRAVERSAL(cat) \
       ndnboost::detail::iterator_adaptor_assert_traversal<my_traversal, cat>();
 
       void advance(typename super_t::difference_type n)
       {
-          BOOST_ITERATOR_ADAPTOR_ASSERT_TRAVERSAL(random_access_traversal_tag)
+          NDNBOOST_ITERATOR_ADAPTOR_ASSERT_TRAVERSAL(random_access_traversal_tag)
           m_iterator += n;
       }
   
@@ -334,7 +334,7 @@
 
       void decrement() 
       {
-          BOOST_ITERATOR_ADAPTOR_ASSERT_TRAVERSAL(bidirectional_traversal_tag)
+          NDNBOOST_ITERATOR_ADAPTOR_ASSERT_TRAVERSAL(bidirectional_traversal_tag)
            --m_iterator;
       }
 
@@ -344,15 +344,15 @@
       typename super_t::difference_type distance_to(
           iterator_adaptor<OtherDerived, OtherIterator, V, C, R, D> const& y) const
       {
-          BOOST_ITERATOR_ADAPTOR_ASSERT_TRAVERSAL(random_access_traversal_tag)
+          NDNBOOST_ITERATOR_ADAPTOR_ASSERT_TRAVERSAL(random_access_traversal_tag)
           // Maybe readd with same_distance
-          //           BOOST_STATIC_ASSERT(
+          //           NDNBOOST_STATIC_ASSERT(
           //               (detail::same_category_and_difference<Derived,OtherDerived>::value)
           //               );
           return y.base() - m_iterator;
       }
 
-# undef BOOST_ITERATOR_ADAPTOR_ASSERT_TRAVERSAL
+# undef NDNBOOST_ITERATOR_ADAPTOR_ASSERT_TRAVERSAL
       
    private: // data members
       Base m_iterator;
@@ -362,4 +362,4 @@
 
 #include <ndnboost/iterator/detail/config_undef.hpp>
 
-#endif // BOOST_ITERATOR_ADAPTOR_23022003THW_HPP
+#endif // NDNBOOST_ITERATOR_ADAPTOR_23022003THW_HPP
diff --git a/include/ndnboost/iterator/iterator_categories.hpp b/include/ndnboost/iterator/iterator_categories.hpp
index 9adc13d..1602e54 100644
--- a/include/ndnboost/iterator/iterator_categories.hpp
+++ b/include/ndnboost/iterator/iterator_categories.hpp
@@ -3,8 +3,8 @@
 // accompanying file LICENSE_1_0.txt or copy at
 // http://www.boost.org/LICENSE_1_0.txt)
 
-#ifndef BOOST_ITERATOR_CATEGORIES_HPP
-# define BOOST_ITERATOR_CATEGORIES_HPP
+#ifndef NDNBOOST_ITERATOR_CATEGORIES_HPP
+# define NDNBOOST_ITERATOR_CATEGORIES_HPP
 
 # include <ndnboost/config.hpp>
 # include <ndnboost/detail/iterator.hpp>
@@ -97,7 +97,7 @@
       >
   {};
 
-# if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
+# if NDNBOOST_WORKAROUND(NDNBOOST_MSVC, < 1300)
   template <>
   struct old_category_to_traversal<int>
   {
@@ -131,7 +131,7 @@
   {
   };
   
-# if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
+# if NDNBOOST_WORKAROUND(NDNBOOST_MSVC, < 1300)
   template <>
   struct pure_traversal_tag<int>
   {
@@ -162,8 +162,8 @@
     >
 {};
 
-# ifdef BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT
-// Hack because BOOST_MPL_AUX_LAMBDA_SUPPORT doesn't seem to work
+# ifdef NDNBOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT
+// Hack because NDNBOOST_MPL_AUX_LAMBDA_SUPPORT doesn't seem to work
 // out well.  Instantiating the nested apply template also
 // requires instantiating iterator_traits on the
 // placeholder. Instead we just specialize it as a metafunction
@@ -185,4 +185,4 @@
 
 #include <ndnboost/iterator/detail/config_undef.hpp>
 
-#endif // BOOST_ITERATOR_CATEGORIES_HPP
+#endif // NDNBOOST_ITERATOR_CATEGORIES_HPP
diff --git a/include/ndnboost/iterator/iterator_concepts.hpp b/include/ndnboost/iterator/iterator_concepts.hpp
index cbfba5e..58d4589 100644
--- a/include/ndnboost/iterator/iterator_concepts.hpp
+++ b/include/ndnboost/iterator/iterator_concepts.hpp
@@ -3,8 +3,8 @@
 // accompanying file LICENSE_1_0.txt or copy at
 // http://www.boost.org/LICENSE_1_0.txt)
 
-#ifndef BOOST_ITERATOR_CONCEPTS_HPP
-#define BOOST_ITERATOR_CONCEPTS_HPP
+#ifndef NDNBOOST_ITERATOR_CONCEPTS_HPP
+#define NDNBOOST_ITERATOR_CONCEPTS_HPP
 
 #include <ndnboost/concept_check.hpp>
 #include <ndnboost/iterator/iterator_categories.hpp>
@@ -39,15 +39,15 @@
   //===========================================================================
   // Iterator Access Concepts
 
-  BOOST_concept(ReadableIterator,(Iterator))
+  NDNBOOST_concept(ReadableIterator,(Iterator))
     : ndnboost::Assignable<Iterator>
     , ndnboost::CopyConstructible<Iterator>
 
   {
-      typedef BOOST_DEDUCED_TYPENAME ndnboost::detail::iterator_traits<Iterator>::value_type value_type;
-      typedef BOOST_DEDUCED_TYPENAME ndnboost::detail::iterator_traits<Iterator>::reference reference;
+      typedef NDNBOOST_DEDUCED_TYPENAME ndnboost::detail::iterator_traits<Iterator>::value_type value_type;
+      typedef NDNBOOST_DEDUCED_TYPENAME ndnboost::detail::iterator_traits<Iterator>::reference reference;
 
-      BOOST_CONCEPT_USAGE(ReadableIterator)
+      NDNBOOST_CONCEPT_USAGE(ReadableIterator)
       {
 
           value_type v = *i;
@@ -59,12 +59,12 @@
   
   template <
       typename Iterator
-    , typename ValueType = BOOST_DEDUCED_TYPENAME ndnboost::detail::iterator_traits<Iterator>::value_type
+    , typename ValueType = NDNBOOST_DEDUCED_TYPENAME ndnboost::detail::iterator_traits<Iterator>::value_type
   >
   struct WritableIterator
     : ndnboost::CopyConstructible<Iterator>
   {
-      BOOST_CONCEPT_USAGE(WritableIterator)
+      NDNBOOST_CONCEPT_USAGE(WritableIterator)
       {
           *i = v;
       }
@@ -75,13 +75,13 @@
 
   template <
       typename Iterator
-    , typename ValueType = BOOST_DEDUCED_TYPENAME ndnboost::detail::iterator_traits<Iterator>::value_type
+    , typename ValueType = NDNBOOST_DEDUCED_TYPENAME ndnboost::detail::iterator_traits<Iterator>::value_type
   >
   struct WritableIteratorConcept : WritableIterator<Iterator,ValueType> {};
   
-  BOOST_concept(SwappableIterator,(Iterator))
+  NDNBOOST_concept(SwappableIterator,(Iterator))
   {
-      BOOST_CONCEPT_USAGE(SwappableIterator)
+      NDNBOOST_CONCEPT_USAGE(SwappableIterator)
       {
           std::iter_swap(i1, i2);
       }
@@ -90,11 +90,11 @@
       Iterator i2;
   };
 
-  BOOST_concept(LvalueIterator,(Iterator))
+  NDNBOOST_concept(LvalueIterator,(Iterator))
   {
       typedef typename ndnboost::detail::iterator_traits<Iterator>::value_type value_type;
       
-      BOOST_CONCEPT_USAGE(LvalueIterator)
+      NDNBOOST_CONCEPT_USAGE(LvalueIterator)
       {
         value_type& r = const_cast<value_type&>(*i);
         ndnboost::ignore_unused_variable_warning(r);
@@ -107,19 +107,19 @@
   //===========================================================================
   // Iterator Traversal Concepts
 
-  BOOST_concept(IncrementableIterator,(Iterator))
+  NDNBOOST_concept(IncrementableIterator,(Iterator))
     : ndnboost::Assignable<Iterator>
     , ndnboost::CopyConstructible<Iterator>
   {
       typedef typename ndnboost::iterator_traversal<Iterator>::type traversal_category;
 
-      BOOST_CONCEPT_ASSERT((
+      NDNBOOST_CONCEPT_ASSERT((
         ndnboost::Convertible<
             traversal_category
           , ndnboost::incrementable_traversal_tag
         >));
 
-      BOOST_CONCEPT_USAGE(IncrementableIterator)
+      NDNBOOST_CONCEPT_USAGE(IncrementableIterator)
       {
           ++i;
           (void)i++;
@@ -128,44 +128,44 @@
       Iterator i;
   };
 
-  BOOST_concept(SinglePassIterator,(Iterator))
+  NDNBOOST_concept(SinglePassIterator,(Iterator))
     : IncrementableIterator<Iterator>
     , ndnboost::EqualityComparable<Iterator>
 
   {
-      BOOST_CONCEPT_ASSERT((
+      NDNBOOST_CONCEPT_ASSERT((
           ndnboost::Convertible<
-             BOOST_DEDUCED_TYPENAME SinglePassIterator::traversal_category
+             NDNBOOST_DEDUCED_TYPENAME SinglePassIterator::traversal_category
            , ndnboost::single_pass_traversal_tag
           > ));
   };
 
-  BOOST_concept(ForwardTraversal,(Iterator))
+  NDNBOOST_concept(ForwardTraversal,(Iterator))
     : SinglePassIterator<Iterator>
     , ndnboost::DefaultConstructible<Iterator>
   {
       typedef typename ndnboost::detail::iterator_traits<Iterator>::difference_type difference_type;
       
-      BOOST_MPL_ASSERT((ndnboost::is_integral<difference_type>));
-      BOOST_MPL_ASSERT_RELATION(std::numeric_limits<difference_type>::is_signed, ==, true);
+      NDNBOOST_MPL_ASSERT((ndnboost::is_integral<difference_type>));
+      NDNBOOST_MPL_ASSERT_RELATION(std::numeric_limits<difference_type>::is_signed, ==, true);
 
-      BOOST_CONCEPT_ASSERT((
+      NDNBOOST_CONCEPT_ASSERT((
           ndnboost::Convertible<
-             BOOST_DEDUCED_TYPENAME ForwardTraversal::traversal_category
+             NDNBOOST_DEDUCED_TYPENAME ForwardTraversal::traversal_category
            , ndnboost::forward_traversal_tag
           > ));
   };
   
-  BOOST_concept(BidirectionalTraversal,(Iterator))
+  NDNBOOST_concept(BidirectionalTraversal,(Iterator))
     : ForwardTraversal<Iterator>
   {
-      BOOST_CONCEPT_ASSERT((
+      NDNBOOST_CONCEPT_ASSERT((
           ndnboost::Convertible<
-             BOOST_DEDUCED_TYPENAME BidirectionalTraversal::traversal_category
+             NDNBOOST_DEDUCED_TYPENAME BidirectionalTraversal::traversal_category
            , ndnboost::bidirectional_traversal_tag
           > ));
 
-      BOOST_CONCEPT_USAGE(BidirectionalTraversal)
+      NDNBOOST_CONCEPT_USAGE(BidirectionalTraversal)
       {
           --i;
           (void)i--;
@@ -174,16 +174,16 @@
       Iterator i;
   };
 
-  BOOST_concept(RandomAccessTraversal,(Iterator))
+  NDNBOOST_concept(RandomAccessTraversal,(Iterator))
     : BidirectionalTraversal<Iterator>
   {
-      BOOST_CONCEPT_ASSERT((
+      NDNBOOST_CONCEPT_ASSERT((
           ndnboost::Convertible<
-             BOOST_DEDUCED_TYPENAME RandomAccessTraversal::traversal_category
+             NDNBOOST_DEDUCED_TYPENAME RandomAccessTraversal::traversal_category
            , ndnboost::random_access_traversal_tag
           > ));
 
-      BOOST_CONCEPT_USAGE(RandomAccessTraversal)
+      NDNBOOST_CONCEPT_USAGE(RandomAccessTraversal)
       {
           i += n;
           i = i + n;
@@ -245,7 +245,7 @@
 
   } // namespace detail
 
-  BOOST_concept(InteroperableIterator,(Iterator)(ConstIterator))
+  NDNBOOST_concept(InteroperableIterator,(Iterator)(ConstIterator))
   {
    private:
       typedef typename ndnboost::detail::pure_traversal_tag<
@@ -261,10 +261,10 @@
       >::type const_traversal_category;
       
   public:
-      BOOST_CONCEPT_ASSERT((SinglePassIterator<Iterator>));
-      BOOST_CONCEPT_ASSERT((SinglePassIterator<ConstIterator>));
+      NDNBOOST_CONCEPT_ASSERT((SinglePassIterator<Iterator>));
+      NDNBOOST_CONCEPT_ASSERT((SinglePassIterator<ConstIterator>));
 
-      BOOST_CONCEPT_USAGE(InteroperableIterator)
+      NDNBOOST_CONCEPT_USAGE(InteroperableIterator)
       {
           detail::interop_single_pass_constraints(i, ci);
           detail::interop_rand_access_constraints(i, ci, traversal_category(), const_traversal_category());
@@ -281,4 +281,4 @@
 
 #include <ndnboost/concept/detail/concept_undef.hpp>
 
-#endif // BOOST_ITERATOR_CONCEPTS_HPP
+#endif // NDNBOOST_ITERATOR_CONCEPTS_HPP
diff --git a/include/ndnboost/iterator/iterator_facade.hpp b/include/ndnboost/iterator/iterator_facade.hpp
index c61f3ad..eca6466 100644
--- a/include/ndnboost/iterator/iterator_facade.hpp
+++ b/include/ndnboost/iterator/iterator_facade.hpp
@@ -4,8 +4,8 @@
 // Distributed under the Boost Software License, Version 1.0. (See
 // accompanying file LICENSE_1_0.txt or copy at
 // http://www.boost.org/LICENSE_1_0.txt)
-#ifndef BOOST_ITERATOR_FACADE_23022003THW_HPP
-#define BOOST_ITERATOR_FACADE_23022003THW_HPP
+#ifndef NDNBOOST_ITERATOR_FACADE_23022003THW_HPP
+#define NDNBOOST_ITERATOR_FACADE_23022003THW_HPP
 
 #include <ndnboost/iterator.hpp>
 #include <ndnboost/iterator/interoperable.hpp>
@@ -65,7 +65,7 @@
       , class Return
     >
     struct enable_if_interoperable
-#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
+#if NDNBOOST_WORKAROUND(NDNBOOST_MSVC, <= 1300)
     {
         typedef typename mpl::if_<
             mpl::or_<
@@ -112,17 +112,17 @@
           , add_pointer<value_type>
         >::type pointer;
       
-# if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)                          \
-    && (BOOST_WORKAROUND(_STLPORT_VERSION, BOOST_TESTED_AT(0x452))              \
-        || BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, BOOST_TESTED_AT(310)))     \
-    || BOOST_WORKAROUND(BOOST_RWSTD_VER, BOOST_TESTED_AT(0x20101))              \
-    || BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, <= 310)
+# if defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)                          \
+    && (NDNBOOST_WORKAROUND(_STLPORT_VERSION, NDNBOOST_TESTED_AT(0x452))              \
+        || NDNBOOST_WORKAROUND(NDNBOOST_DINKUMWARE_STDLIB, NDNBOOST_TESTED_AT(310)))     \
+    || NDNBOOST_WORKAROUND(NDNBOOST_RWSTD_VER, NDNBOOST_TESTED_AT(0x20101))              \
+    || NDNBOOST_WORKAROUND(NDNBOOST_DINKUMWARE_STDLIB, <= 310)
 
         // To interoperate with some broken library/compiler
         // combinations, user-defined iterators must be derived from
         // std::iterator.  It is possible to implement a standard
         // library for broken compilers without this limitation.
-#  define BOOST_ITERATOR_FACADE_NEEDS_ITERATOR_BASE 1
+#  define NDNBOOST_ITERATOR_FACADE_NEEDS_ITERATOR_BASE 1
 
         typedef
            iterator<iterator_category, value_type, Difference, pointer, Reference>
@@ -215,7 +215,7 @@
         Iterator stored_iterator;
     };
 
-# ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+# ifdef NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 
     template <class Reference, class Value>
     struct is_non_proxy_reference_impl
@@ -232,7 +232,7 @@
           , char[2]
         >::type& helper(R const&);
         
-        BOOST_STATIC_CONSTANT(bool, value = sizeof(helper(r)) == 1);
+        NDNBOOST_STATIC_CONSTANT(bool, value = sizeof(helper(r)) == 1);
     };
         
     template <class Reference, class Value>
@@ -325,7 +325,7 @@
         }
     };
 
-# if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
+# if NDNBOOST_WORKAROUND(NDNBOOST_MSVC, < 1300)
     // Deal with ETI
     template<>
     struct operator_arrow_dispatch<int, int>
@@ -406,9 +406,9 @@
         template <class I1, class I2>
         struct apply
           :
-# ifdef BOOST_NO_ONE_WAY_ITERATOR_INTEROP
+# ifdef NDNBOOST_NO_ONE_WAY_ITERATOR_INTEROP
           iterator_difference<I1>
-# elif BOOST_WORKAROUND(BOOST_MSVC, < 1300)
+# elif NDNBOOST_WORKAROUND(NDNBOOST_MSVC, < 1300)
           mpl::if_<
               is_convertible<I2,I1>
             , typename I1::difference_type
@@ -428,8 +428,8 @@
 
 
   // Macros which describe the declarations of binary operators
-# ifdef BOOST_NO_STRICT_ITERATOR_INTEROPERABILITY
-#  define BOOST_ITERATOR_FACADE_INTEROP_HEAD(prefix, op, result_type)       \
+# ifdef NDNBOOST_NO_STRICT_ITERATOR_INTEROPERABILITY
+#  define NDNBOOST_ITERATOR_FACADE_INTEROP_HEAD(prefix, op, result_type)       \
     template <                                                              \
         class Derived1, class V1, class TC1, class Reference1, class Difference1 \
       , class Derived2, class V2, class TC2, class Reference2, class Difference2 \
@@ -439,7 +439,7 @@
         iterator_facade<Derived1, V1, TC1, Reference1, Difference1> const& lhs   \
       , iterator_facade<Derived2, V2, TC2, Reference2, Difference2> const& rhs)
 # else 
-#  define BOOST_ITERATOR_FACADE_INTEROP_HEAD(prefix, op, result_type)   \
+#  define NDNBOOST_ITERATOR_FACADE_INTEROP_HEAD(prefix, op, result_type)   \
     template <                                                          \
         class Derived1, class V1, class TC1, class Reference1, class Difference1 \
       , class Derived2, class V2, class TC2, class Reference2, class Difference2 \
@@ -453,7 +453,7 @@
       , iterator_facade<Derived2, V2, TC2, Reference2, Difference2> const& rhs)
 # endif 
 
-#  define BOOST_ITERATOR_FACADE_PLUS_HEAD(prefix,args)              \
+#  define NDNBOOST_ITERATOR_FACADE_PLUS_HEAD(prefix,args)              \
     template <class Derived, class V, class TC, class R, class D>   \
     prefix Derived operator+ args
 
@@ -468,7 +468,7 @@
   //
   class iterator_core_access
   {
-# if defined(BOOST_NO_MEMBER_TEMPLATE_FRIENDS)                  
+# if defined(NDNBOOST_NO_MEMBER_TEMPLATE_FRIENDS)                  
       // Tasteless as this may seem, making all members public allows member templates
       // to work in the absence of member template friends.
    public:
@@ -476,30 +476,30 @@
       
       template <class I, class V, class TC, class R, class D> friend class iterator_facade;
 
-#  define BOOST_ITERATOR_FACADE_RELATION(op)                                \
-      BOOST_ITERATOR_FACADE_INTEROP_HEAD(friend,op, ndnboost::detail::always_bool2);
+#  define NDNBOOST_ITERATOR_FACADE_RELATION(op)                                \
+      NDNBOOST_ITERATOR_FACADE_INTEROP_HEAD(friend,op, ndnboost::detail::always_bool2);
 
-      BOOST_ITERATOR_FACADE_RELATION(==)
-      BOOST_ITERATOR_FACADE_RELATION(!=)
+      NDNBOOST_ITERATOR_FACADE_RELATION(==)
+      NDNBOOST_ITERATOR_FACADE_RELATION(!=)
 
-      BOOST_ITERATOR_FACADE_RELATION(<)
-      BOOST_ITERATOR_FACADE_RELATION(>)
-      BOOST_ITERATOR_FACADE_RELATION(<=)
-      BOOST_ITERATOR_FACADE_RELATION(>=)
-#  undef BOOST_ITERATOR_FACADE_RELATION
+      NDNBOOST_ITERATOR_FACADE_RELATION(<)
+      NDNBOOST_ITERATOR_FACADE_RELATION(>)
+      NDNBOOST_ITERATOR_FACADE_RELATION(<=)
+      NDNBOOST_ITERATOR_FACADE_RELATION(>=)
+#  undef NDNBOOST_ITERATOR_FACADE_RELATION
 
-      BOOST_ITERATOR_FACADE_INTEROP_HEAD(
+      NDNBOOST_ITERATOR_FACADE_INTEROP_HEAD(
           friend, -, ndnboost::detail::choose_difference_type)
       ;
 
-      BOOST_ITERATOR_FACADE_PLUS_HEAD(
+      NDNBOOST_ITERATOR_FACADE_PLUS_HEAD(
           friend inline
           , (iterator_facade<Derived, V, TC, R, D> const&
            , typename Derived::difference_type)
       )
       ;
 
-      BOOST_ITERATOR_FACADE_PLUS_HEAD(
+      NDNBOOST_ITERATOR_FACADE_PLUS_HEAD(
           friend inline
         , (typename Derived::difference_type
            , iterator_facade<Derived, V, TC, R, D> const&)
@@ -590,11 +590,11 @@
     , class Difference  = std::ptrdiff_t
   >
   class iterator_facade
-# ifdef BOOST_ITERATOR_FACADE_NEEDS_ITERATOR_BASE
+# ifdef NDNBOOST_ITERATOR_FACADE_NEEDS_ITERATOR_BASE
     : public ndnboost::detail::iterator_facade_types<
          Value, CategoryOrTraversal, Reference, Difference
       >::base
-#  undef BOOST_ITERATOR_FACADE_NEEDS_ITERATOR_BASE
+#  undef NDNBOOST_ITERATOR_FACADE_NEEDS_ITERATOR_BASE
 # endif
   {
    private:
@@ -661,7 +661,7 @@
           return this->derived();
       }
 
-# if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
+# if NDNBOOST_WORKAROUND(NDNBOOST_MSVC, < 1300)
       typename ndnboost::detail::postfix_increment_result<Derived,Value,Reference,CategoryOrTraversal>::type
       operator++(int)
       {
@@ -703,7 +703,7 @@
           return result -= x;
       }
 
-# if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
+# if NDNBOOST_WORKAROUND(NDNBOOST_MSVC, < 1300)
       // There appears to be a bug which trashes the data of classes
       // derived from iterator_facade when they are assigned unless we
       // define this assignment operator.  This bug is only revealed
@@ -716,7 +716,7 @@
 # endif
   };
 
-# if !BOOST_WORKAROUND(BOOST_MSVC, < 1300)
+# if !NDNBOOST_WORKAROUND(NDNBOOST_MSVC, < 1300)
   template <class I, class V, class TC, class R, class D>
   inline typename ndnboost::detail::postfix_increment_result<I,V,R,TC>::type
   operator++(
@@ -748,7 +748,7 @@
   // that do not provide them. (Actually it's even worse, they do not provide
   // them for only a few iterators.)
   //
-  // ?? Maybe a BOOST_ITERATOR_NO_FULL_INTEROPERABILITY macro should
+  // ?? Maybe a NDNBOOST_ITERATOR_NO_FULL_INTEROPERABILITY macro should
   //    enable the user to turn off mixed type operators
   //
   // The library takes care to provide only the right operator overloads.
@@ -801,74 +801,74 @@
   // ----------------
   //
 
-# ifdef BOOST_NO_ONE_WAY_ITERATOR_INTEROP
-#  define BOOST_ITERATOR_CONVERTIBLE(a,b) mpl::true_()
+# ifdef NDNBOOST_NO_ONE_WAY_ITERATOR_INTEROP
+#  define NDNBOOST_ITERATOR_CONVERTIBLE(a,b) mpl::true_()
 # else
-#  define BOOST_ITERATOR_CONVERTIBLE(a,b) is_convertible<a,b>()
+#  define NDNBOOST_ITERATOR_CONVERTIBLE(a,b) is_convertible<a,b>()
 # endif
 
-# define BOOST_ITERATOR_FACADE_INTEROP(op, result_type, return_prefix, base_op) \
-  BOOST_ITERATOR_FACADE_INTEROP_HEAD(inline, op, result_type)                   \
+# define NDNBOOST_ITERATOR_FACADE_INTEROP(op, result_type, return_prefix, base_op) \
+  NDNBOOST_ITERATOR_FACADE_INTEROP_HEAD(inline, op, result_type)                   \
   {                                                                             \
       /* For those compilers that do not support enable_if */                   \
-      BOOST_STATIC_ASSERT((                                                     \
+      NDNBOOST_STATIC_ASSERT((                                                     \
           is_interoperable< Derived1, Derived2 >::value                         \
       ));                                                                       \
       return_prefix iterator_core_access::base_op(                              \
           *static_cast<Derived1 const*>(&lhs)                                   \
         , *static_cast<Derived2 const*>(&rhs)                                   \
-        , BOOST_ITERATOR_CONVERTIBLE(Derived2,Derived1)                         \
+        , NDNBOOST_ITERATOR_CONVERTIBLE(Derived2,Derived1)                         \
       );                                                                        \
   }
 
-# define BOOST_ITERATOR_FACADE_RELATION(op, return_prefix, base_op) \
-  BOOST_ITERATOR_FACADE_INTEROP(                                    \
+# define NDNBOOST_ITERATOR_FACADE_RELATION(op, return_prefix, base_op) \
+  NDNBOOST_ITERATOR_FACADE_INTEROP(                                    \
       op                                                            \
     , ndnboost::detail::always_bool2                                   \
     , return_prefix                                                 \
     , base_op                                                       \
   )
 
-  BOOST_ITERATOR_FACADE_RELATION(==, return, equal)
-  BOOST_ITERATOR_FACADE_RELATION(!=, return !, equal)
+  NDNBOOST_ITERATOR_FACADE_RELATION(==, return, equal)
+  NDNBOOST_ITERATOR_FACADE_RELATION(!=, return !, equal)
 
-  BOOST_ITERATOR_FACADE_RELATION(<, return 0 >, distance_from)
-  BOOST_ITERATOR_FACADE_RELATION(>, return 0 <, distance_from)
-  BOOST_ITERATOR_FACADE_RELATION(<=, return 0 >=, distance_from)
-  BOOST_ITERATOR_FACADE_RELATION(>=, return 0 <=, distance_from)
-# undef BOOST_ITERATOR_FACADE_RELATION
+  NDNBOOST_ITERATOR_FACADE_RELATION(<, return 0 >, distance_from)
+  NDNBOOST_ITERATOR_FACADE_RELATION(>, return 0 <, distance_from)
+  NDNBOOST_ITERATOR_FACADE_RELATION(<=, return 0 >=, distance_from)
+  NDNBOOST_ITERATOR_FACADE_RELATION(>=, return 0 <=, distance_from)
+# undef NDNBOOST_ITERATOR_FACADE_RELATION
 
   // operator- requires an additional part in the static assertion
-  BOOST_ITERATOR_FACADE_INTEROP(
+  NDNBOOST_ITERATOR_FACADE_INTEROP(
       -
     , ndnboost::detail::choose_difference_type
     , return
     , distance_from
   )
-# undef BOOST_ITERATOR_FACADE_INTEROP
-# undef BOOST_ITERATOR_FACADE_INTEROP_HEAD
+# undef NDNBOOST_ITERATOR_FACADE_INTEROP
+# undef NDNBOOST_ITERATOR_FACADE_INTEROP_HEAD
 
-# define BOOST_ITERATOR_FACADE_PLUS(args)           \
-  BOOST_ITERATOR_FACADE_PLUS_HEAD(inline, args)     \
+# define NDNBOOST_ITERATOR_FACADE_PLUS(args)           \
+  NDNBOOST_ITERATOR_FACADE_PLUS_HEAD(inline, args)     \
   {                                                 \
       Derived tmp(static_cast<Derived const&>(i));  \
       return tmp += n;                              \
   }
 
-BOOST_ITERATOR_FACADE_PLUS((
+NDNBOOST_ITERATOR_FACADE_PLUS((
   iterator_facade<Derived, V, TC, R, D> const& i
   , typename Derived::difference_type n
 ))
 
-BOOST_ITERATOR_FACADE_PLUS((
+NDNBOOST_ITERATOR_FACADE_PLUS((
     typename Derived::difference_type n
     , iterator_facade<Derived, V, TC, R, D> const& i
 ))
-# undef BOOST_ITERATOR_FACADE_PLUS
-# undef BOOST_ITERATOR_FACADE_PLUS_HEAD
+# undef NDNBOOST_ITERATOR_FACADE_PLUS
+# undef NDNBOOST_ITERATOR_FACADE_PLUS_HEAD
 
 } // namespace ndnboost
 
 #include <ndnboost/iterator/detail/config_undef.hpp>
 
-#endif // BOOST_ITERATOR_FACADE_23022003THW_HPP
+#endif // NDNBOOST_ITERATOR_FACADE_23022003THW_HPP
diff --git a/include/ndnboost/iterator/iterator_traits.hpp b/include/ndnboost/iterator/iterator_traits.hpp
index 78565d3..39735b3 100644
--- a/include/ndnboost/iterator/iterator_traits.hpp
+++ b/include/ndnboost/iterator/iterator_traits.hpp
@@ -14,13 +14,13 @@
 // iterator_category which has the same name as its
 // std::iterator_category() function, probably due in part to the
 // "std:: is visible globally" hack it uses.  Use
-// BOOST_ITERATOR_CATEGORY to write code that's portable to older
+// NDNBOOST_ITERATOR_CATEGORY to write code that's portable to older
 // GCCs.
 
-# if BOOST_WORKAROUND(__GNUC__, <= 2)
-#  define BOOST_ITERATOR_CATEGORY iterator_category_
+# if NDNBOOST_WORKAROUND(__GNUC__, <= 2)
+#  define NDNBOOST_ITERATOR_CATEGORY iterator_category_
 # else
-#  define BOOST_ITERATOR_CATEGORY iterator_category
+#  define NDNBOOST_ITERATOR_CATEGORY iterator_category
 # endif
 
 
@@ -50,12 +50,12 @@
 };
 
 template <class Iterator>
-struct BOOST_ITERATOR_CATEGORY
+struct NDNBOOST_ITERATOR_CATEGORY
 {
     typedef typename ndnboost::detail::iterator_traits<Iterator>::iterator_category type;
 };
 
-# if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
+# if NDNBOOST_WORKAROUND(NDNBOOST_MSVC, < 1300)
 template <>
 struct iterator_value<int>
 {
@@ -81,7 +81,7 @@
 };
   
 template <>
-struct BOOST_ITERATOR_CATEGORY<int>
+struct NDNBOOST_ITERATOR_CATEGORY<int>
 {
     typedef void type;
 };
diff --git a/include/ndnboost/iterator/reverse_iterator.hpp b/include/ndnboost/iterator/reverse_iterator.hpp
index 924112f..c9b765d 100644
--- a/include/ndnboost/iterator/reverse_iterator.hpp
+++ b/include/ndnboost/iterator/reverse_iterator.hpp
@@ -4,8 +4,8 @@
 // Distributed under the Boost Software License, Version 1.0. (See
 // accompanying file LICENSE_1_0.txt or copy at
 // http://www.boost.org/LICENSE_1_0.txt)
-#ifndef BOOST_REVERSE_ITERATOR_23022003THW_HPP
-#define BOOST_REVERSE_ITERATOR_23022003THW_HPP
+#ifndef NDNBOOST_REVERSE_ITERATOR_23022003THW_HPP
+#define NDNBOOST_REVERSE_ITERATOR_23022003THW_HPP
 
 #include <ndnboost/next_prior.hpp>
 #include <ndnboost/iterator.hpp>
@@ -66,4 +66,4 @@
 
 } // namespace ndnboost
 
-#endif // BOOST_REVERSE_ITERATOR_23022003THW_HPP
+#endif // NDNBOOST_REVERSE_ITERATOR_23022003THW_HPP
diff --git a/include/ndnboost/lambda/bind.hpp b/include/ndnboost/lambda/bind.hpp
index 3ec3bab..3b2c814 100644
--- a/include/ndnboost/lambda/bind.hpp
+++ b/include/ndnboost/lambda/bind.hpp
@@ -9,8 +9,8 @@
 //
 // For more information, see http://www.boost.org 
 
-#ifndef BOOST_LAMBDA_BIND_HPP
-#define BOOST_LAMBDA_BIND_HPP
+#ifndef NDNBOOST_LAMBDA_BIND_HPP
+#define NDNBOOST_LAMBDA_BIND_HPP
 
 #include "ndnboost/lambda/core.hpp"
 
diff --git a/include/ndnboost/lambda/core.hpp b/include/ndnboost/lambda/core.hpp
index 1ff8342..301ec43 100644
--- a/include/ndnboost/lambda/core.hpp
+++ b/include/ndnboost/lambda/core.hpp
@@ -19,8 +19,8 @@
 // call operator for placeholder variables.
 // -------------------------------------------------------------------------
 
-#ifndef BOOST_LAMBDA_CORE_HPP
-#define BOOST_LAMBDA_CORE_HPP
+#ifndef NDNBOOST_LAMBDA_CORE_HPP
+#define NDNBOOST_LAMBDA_CORE_HPP
 
 #include "ndnboost/type_traits/transform_traits.hpp"
 #include "ndnboost/type_traits/cv_traits.hpp"
@@ -76,4 +76,4 @@
 } // boost
    
    
-#endif //BOOST_LAMBDA_CORE_HPP
+#endif //NDNBOOST_LAMBDA_CORE_HPP
diff --git a/include/ndnboost/lambda/detail/actions.hpp b/include/ndnboost/lambda/detail/actions.hpp
index 8892bb1..322820b 100644
--- a/include/ndnboost/lambda/detail/actions.hpp
+++ b/include/ndnboost/lambda/detail/actions.hpp
@@ -10,8 +10,8 @@
 
 // ----------------------------------------------------------------
 
-#ifndef BOOST_LAMBDA_ACTIONS_HPP
-#define BOOST_LAMBDA_ACTIONS_HPP
+#ifndef NDNBOOST_LAMBDA_ACTIONS_HPP
+#define NDNBOOST_LAMBDA_ACTIONS_HPP
 
 namespace ndnboost { 
 namespace lambda {
@@ -42,14 +42,14 @@
   // deduction.
 
 template <class Action> struct is_protectable {
-  BOOST_STATIC_CONSTANT(bool, value = false);
+  NDNBOOST_STATIC_CONSTANT(bool, value = false);
 };
 
 // NOTE: comma action is protectable. Other protectable actions
 // are listed in operator_actions.hpp
 
 template<> struct is_protectable<other_action<comma_action> > {
-  BOOST_STATIC_CONSTANT(bool, value = true);
+  NDNBOOST_STATIC_CONSTANT(bool, value = true);
 };
 
 
diff --git a/include/ndnboost/lambda/detail/arity_code.hpp b/include/ndnboost/lambda/detail/arity_code.hpp
index 2b762c3..5735608 100644
--- a/include/ndnboost/lambda/detail/arity_code.hpp
+++ b/include/ndnboost/lambda/detail/arity_code.hpp
@@ -10,8 +10,8 @@
 
 // --------------------------------------------------
 
-#ifndef BOOST_LAMBDA_ARITY_CODE_HPP
-#define BOOST_LAMBDA_ARITY_CODE_HPP
+#ifndef NDNBOOST_LAMBDA_ARITY_CODE_HPP
+#define NDNBOOST_LAMBDA_ARITY_CODE_HPP
 
 #include "ndnboost/type_traits/cv_traits.hpp"
 #include "ndnboost/type_traits/transform_traits.hpp"
@@ -46,7 +46,7 @@
 
 template <class T> struct get_arity {
 
-  BOOST_STATIC_CONSTANT(int, value = detail::get_arity_<typename ndnboost::remove_cv<typename ndnboost::remove_reference<T>::type>::type>::value);
+  NDNBOOST_STATIC_CONSTANT(int, value = detail::get_arity_<typename ndnboost::remove_cv<typename ndnboost::remove_reference<T>::type>::type>::value);
 
 };
 
@@ -54,35 +54,35 @@
 
 template<class T>
 struct get_arity_ {
-  BOOST_STATIC_CONSTANT(int, value = 0);
+  NDNBOOST_STATIC_CONSTANT(int, value = 0);
 };
 
 template<class T>
 struct get_arity_<lambda_functor<T> > {
-  BOOST_STATIC_CONSTANT(int, value = get_arity<T>::value);
+  NDNBOOST_STATIC_CONSTANT(int, value = get_arity<T>::value);
 };
 
 template<class Action, class Args>
 struct get_arity_<lambda_functor_base<Action, Args> > {
-  BOOST_STATIC_CONSTANT(int, value = get_tuple_arity<Args>::value);
+  NDNBOOST_STATIC_CONSTANT(int, value = get_tuple_arity<Args>::value);
 };
 
 template<int I>
 struct get_arity_<placeholder<I> > {
-  BOOST_STATIC_CONSTANT(int, value = I);
+  NDNBOOST_STATIC_CONSTANT(int, value = I);
 };
 
 } // detail 
 
 template<class T>
 struct get_tuple_arity {
-  BOOST_STATIC_CONSTANT(int, value = get_arity<typename T::head_type>::value | get_tuple_arity<typename T::tail_type>::value);
+  NDNBOOST_STATIC_CONSTANT(int, value = get_arity<typename T::head_type>::value | get_tuple_arity<typename T::tail_type>::value);
 };
 
 
 template<>
 struct get_tuple_arity<null_type> {
-  BOOST_STATIC_CONSTANT(int, value = 0);
+  NDNBOOST_STATIC_CONSTANT(int, value = 0);
 };
 
 
@@ -90,17 +90,17 @@
 
 template<class T, int I>
 struct has_placeholder {
-  BOOST_STATIC_CONSTANT(bool, value = (get_arity<T>::value & I) != 0);
+  NDNBOOST_STATIC_CONSTANT(bool, value = (get_arity<T>::value & I) != 0);
 }; 
 
 template<int I, int J>
 struct includes_placeholder {
-  BOOST_STATIC_CONSTANT(bool, value = (J & I) != 0);
+  NDNBOOST_STATIC_CONSTANT(bool, value = (J & I) != 0);
 };
 
 template<int I, int J>
 struct lacks_placeholder {
-  BOOST_STATIC_CONSTANT(bool, value = ((J & I) == 0));
+  NDNBOOST_STATIC_CONSTANT(bool, value = ((J & I) == 0));
 };
 
 
diff --git a/include/ndnboost/lambda/detail/bind_functions.hpp b/include/ndnboost/lambda/detail/bind_functions.hpp
index 4288067..ec7f4e9 100644
--- a/include/ndnboost/lambda/detail/bind_functions.hpp
+++ b/include/ndnboost/lambda/detail/bind_functions.hpp
@@ -10,14 +10,14 @@
 
 // ----------------------------------------------------------------
 
-#ifndef BOOST_LAMBDA_BIND_FUNCTIONS_HPP
-#define BOOST_LAMBDA_BIND_FUNCTIONS_HPP
+#ifndef NDNBOOST_LAMBDA_BIND_FUNCTIONS_HPP
+#define NDNBOOST_LAMBDA_BIND_FUNCTIONS_HPP
 
 
 namespace ndnboost { 
 namespace lambda {
 
-#ifdef BOOST_LAMBDA_INCORRECT_BIND_OVERLOADING
+#ifdef NDNBOOST_LAMBDA_INCORRECT_BIND_OVERLOADING
 
   // gcc 2.96 instantiates bind functions it does not even call.
   // These instantiations lead to incorrect types in the return type, 
@@ -36,7 +36,7 @@
 }
 #endif
 // 1-argument bind functions --------------------------
-#ifndef BOOST_REF_TO_FUNC_CONFLICTS_WITH_REF_TO_T
+#ifndef NDNBOOST_REF_TO_FUNC_CONFLICTS_WITH_REF_TO_T
 template <class Result>
 inline const
 lambda_functor<
@@ -58,7 +58,7 @@
 }
 #endif
 
- #ifndef BOOST_LAMBDA_INCORRECT_BIND_OVERLOADING 
+ #ifndef NDNBOOST_LAMBDA_INCORRECT_BIND_OVERLOADING 
 template <class Arg1>
 inline const
 lambda_functor<
@@ -177,7 +177,7 @@
 #endif 
 
 // 2-argument bind functions --------------------------
-#ifndef BOOST_REF_TO_FUNC_CONFLICTS_WITH_REF_TO_T
+#ifndef NDNBOOST_REF_TO_FUNC_CONFLICTS_WITH_REF_TO_T
 template <class Result, class Par1, class Arg2>
 inline const
 lambda_functor<
@@ -199,7 +199,7 @@
 }
 #endif
 
-#ifndef BOOST_LAMBDA_INCORRECT_BIND_OVERLOADING 
+#ifndef NDNBOOST_LAMBDA_INCORRECT_BIND_OVERLOADING 
 template <class Arg1, class Arg2>
 inline const
 lambda_functor<
@@ -318,7 +318,7 @@
  #endif 
 
 // 3-argument bind functions --------------------------
-#ifndef BOOST_REF_TO_FUNC_CONFLICTS_WITH_REF_TO_T
+#ifndef NDNBOOST_REF_TO_FUNC_CONFLICTS_WITH_REF_TO_T
 template <class Result, class Par1, class Par2, class Arg2, class Arg3>
 inline const
 lambda_functor<
@@ -346,7 +346,7 @@
 }
 #endif
 
- #ifndef BOOST_LAMBDA_INCORRECT_BIND_OVERLOADING 
+ #ifndef NDNBOOST_LAMBDA_INCORRECT_BIND_OVERLOADING 
 template <class Arg1, class Arg2, class Arg3>
 inline const
 lambda_functor<
@@ -487,7 +487,7 @@
  #endif 
 
 // 4-argument bind functions --------------------------
-#ifndef BOOST_REF_TO_FUNC_CONFLICTS_WITH_REF_TO_T
+#ifndef NDNBOOST_REF_TO_FUNC_CONFLICTS_WITH_REF_TO_T
 template <class Result, class Par1, class Par2, class Par3, class Arg2,
           class Arg3, class Arg4>
 inline const
@@ -517,7 +517,7 @@
 }
 #endif
 
- #ifndef BOOST_LAMBDA_INCORRECT_BIND_OVERLOADING 
+ #ifndef NDNBOOST_LAMBDA_INCORRECT_BIND_OVERLOADING 
 template <class Arg1, class Arg2, class Arg3, class Arg4>
 inline const
 lambda_functor<
@@ -662,7 +662,7 @@
  #endif 
 
 // 5-argument bind functions --------------------------
-#ifndef BOOST_REF_TO_FUNC_CONFLICTS_WITH_REF_TO_T
+#ifndef NDNBOOST_REF_TO_FUNC_CONFLICTS_WITH_REF_TO_T
 template <class Result, class Par1, class Par2, class Par3, class Par4,
           class Arg2, class Arg3, class Arg4, class Arg5>
 inline const
@@ -695,7 +695,7 @@
 }
 #endif
 
- #ifndef BOOST_LAMBDA_INCORRECT_BIND_OVERLOADING 
+ #ifndef NDNBOOST_LAMBDA_INCORRECT_BIND_OVERLOADING 
 template <class Arg1, class Arg2, class Arg3, class Arg4, class Arg5>
 inline const
 lambda_functor<
@@ -849,7 +849,7 @@
  #endif 
 
 // 6-argument bind functions --------------------------
-#ifndef BOOST_REF_TO_FUNC_CONFLICTS_WITH_REF_TO_T
+#ifndef NDNBOOST_REF_TO_FUNC_CONFLICTS_WITH_REF_TO_T
 template <class Result, class Par1, class Par2, class Par3, class Par4,
           class Par5, class Arg2, class Arg3, class Arg4, class Arg5,
           class Arg6>
@@ -883,7 +883,7 @@
 }
 #endif
 
- #ifndef BOOST_LAMBDA_INCORRECT_BIND_OVERLOADING 
+ #ifndef NDNBOOST_LAMBDA_INCORRECT_BIND_OVERLOADING 
 template <class Arg1, class Arg2, class Arg3, class Arg4, class Arg5,
           class Arg6>
 inline const
@@ -1040,7 +1040,7 @@
  #endif 
 
 // 7-argument bind functions --------------------------
-#ifndef BOOST_REF_TO_FUNC_CONFLICTS_WITH_REF_TO_T
+#ifndef NDNBOOST_REF_TO_FUNC_CONFLICTS_WITH_REF_TO_T
 template <class Result, class Par1, class Par2, class Par3, class Par4,
           class Par5, class Par6, class Arg2, class Arg3, class Arg4,
           class Arg5, class Arg6, class Arg7>
@@ -1075,7 +1075,7 @@
 }
 #endif
 
- #ifndef BOOST_LAMBDA_INCORRECT_BIND_OVERLOADING 
+ #ifndef NDNBOOST_LAMBDA_INCORRECT_BIND_OVERLOADING 
 template <class Arg1, class Arg2, class Arg3, class Arg4, class Arg5,
           class Arg6, class Arg7>
 inline const
@@ -1239,7 +1239,7 @@
  #endif 
 
 // 8-argument bind functions --------------------------
-#ifndef BOOST_REF_TO_FUNC_CONFLICTS_WITH_REF_TO_T
+#ifndef NDNBOOST_REF_TO_FUNC_CONFLICTS_WITH_REF_TO_T
 template <class Result, class Par1, class Par2, class Par3, class Par4,
           class Par5, class Par6, class Par7, class Arg2, class Arg3,
           class Arg4, class Arg5, class Arg6, class Arg7, class Arg8>
@@ -1274,7 +1274,7 @@
 }
 #endif
 
- #ifndef BOOST_LAMBDA_INCORRECT_BIND_OVERLOADING 
+ #ifndef NDNBOOST_LAMBDA_INCORRECT_BIND_OVERLOADING 
 template <class Arg1, class Arg2, class Arg3, class Arg4, class Arg5,
           class Arg6, class Arg7, class Arg8>
 inline const
@@ -1438,7 +1438,7 @@
  #endif 
 
 // 9-argument bind functions --------------------------
-#ifndef BOOST_REF_TO_FUNC_CONFLICTS_WITH_REF_TO_T
+#ifndef NDNBOOST_REF_TO_FUNC_CONFLICTS_WITH_REF_TO_T
 template <class Result, class Par1, class Par2, class Par3, class Par4,
           class Par5, class Par6, class Par7, class Par8, class Arg2,
           class Arg3, class Arg4, class Arg5, class Arg6, class Arg7,
@@ -1477,7 +1477,7 @@
 }
 #endif
 
- #ifndef BOOST_LAMBDA_INCORRECT_BIND_OVERLOADING 
+ #ifndef NDNBOOST_LAMBDA_INCORRECT_BIND_OVERLOADING 
 template <class Arg1, class Arg2, class Arg3, class Arg4, class Arg5,
           class Arg6, class Arg7, class Arg8, class Arg9>
 inline const
@@ -1653,7 +1653,7 @@
  #endif 
 
 // 10-argument bind functions --------------------------
-#ifndef BOOST_REF_TO_FUNC_CONFLICTS_WITH_REF_TO_T
+#ifndef NDNBOOST_REF_TO_FUNC_CONFLICTS_WITH_REF_TO_T
 template <class Result, class Par1, class Par2, class Par3, class Par4,
           class Par5, class Par6, class Par7, class Par8, class Par9,
           class Arg2, class Arg3, class Arg4, class Arg5, class Arg6,
@@ -1693,7 +1693,7 @@
 }
 #endif
 
- #ifndef BOOST_LAMBDA_INCORRECT_BIND_OVERLOADING 
+ #ifndef NDNBOOST_LAMBDA_INCORRECT_BIND_OVERLOADING 
 template <class Arg1, class Arg2, class Arg3, class Arg4, class Arg5,
           class Arg6, class Arg7, class Arg8, class Arg9, class Arg10>
 inline const
diff --git a/include/ndnboost/lambda/detail/function_adaptors.hpp b/include/ndnboost/lambda/detail/function_adaptors.hpp
index df5367e..c527354 100644
--- a/include/ndnboost/lambda/detail/function_adaptors.hpp
+++ b/include/ndnboost/lambda/detail/function_adaptors.hpp
@@ -9,8 +9,8 @@
 // For more information, see www.boost.org
 
 
-#ifndef BOOST_LAMBDA_FUNCTION_ADAPTORS_HPP
-#define BOOST_LAMBDA_FUNCTION_ADAPTORS_HPP
+#ifndef NDNBOOST_LAMBDA_FUNCTION_ADAPTORS_HPP
+#define NDNBOOST_LAMBDA_FUNCTION_ADAPTORS_HPP
 
 #include "ndnboost/mpl/has_xxx.hpp"
 #include "ndnboost/tuple/tuple.hpp"
@@ -26,7 +26,7 @@
 
 namespace detail {
 
-BOOST_MPL_HAS_XXX_TEMPLATE_DEF(sig)
+NDNBOOST_MPL_HAS_XXX_TEMPLATE_DEF(sig)
 
 template<class Tuple>
 struct remove_references_from_elements {
@@ -47,7 +47,7 @@
 
   typedef typename detail::remove_reference_and_cv<Func>::type plainF;
 
-#if !defined(BOOST_NO_RESULT_OF)
+#if !defined(NDNBOOST_NO_RESULT_OF)
   // Support functors that use the ndnboost::result_of return type convention.
   template<class Tuple, int Length, bool HasSig>
   struct result_converter;
@@ -166,7 +166,7 @@
       , detail::has_sig<plainF>::value
       >
   {};
-#else // BOOST_NO_RESULT_OF
+#else // NDNBOOST_NO_RESULT_OF
 
   template <class Args> class sig {
     typedef typename detail::remove_reference_and_cv<Func>::type plainF;
diff --git a/include/ndnboost/lambda/detail/is_instance_of.hpp b/include/ndnboost/lambda/detail/is_instance_of.hpp
index 3e91c66..1b03597 100644
--- a/include/ndnboost/lambda/detail/is_instance_of.hpp
+++ b/include/ndnboost/lambda/detail/is_instance_of.hpp
@@ -10,10 +10,10 @@
 
 // ---------------------------------------------------------------
 
-#ifndef BOOST_LAMBDA_IS_INSTANCE_OF
-#define BOOST_LAMBDA_IS_INSTANCE_OF
+#ifndef NDNBOOST_LAMBDA_IS_INSTANCE_OF
+#define NDNBOOST_LAMBDA_IS_INSTANCE_OF
 
-#include "ndnboost/config.hpp" // for BOOST_STATIC_CONSTANT
+#include "ndnboost/config.hpp" // for NDNBOOST_STATIC_CONSTANT
 #include "ndnboost/type_traits/conversion_traits.hpp" // for is_convertible
 #include "ndnboost/preprocessor/enum_shifted_params.hpp"
 #include "ndnboost/preprocessor/repeat_2nd.hpp"
@@ -38,60 +38,60 @@
 // Now we only have one version of is_instance_of templates, which delagate
 // all the nasty compiler tricks to is_convertible. 
 
-#define BOOST_LAMBDA_CLASS(z, N,A) BOOST_PP_COMMA_IF(N) class
-#define BOOST_LAMBDA_CLASS_ARG(z, N,A) BOOST_PP_COMMA_IF(N) class A##N 
-#define BOOST_LAMBDA_ARG(z, N,A) BOOST_PP_COMMA_IF(N) A##N 
+#define NDNBOOST_LAMBDA_CLASS(z, N,A) NDNBOOST_PP_COMMA_IF(N) class
+#define NDNBOOST_LAMBDA_CLASS_ARG(z, N,A) NDNBOOST_PP_COMMA_IF(N) class A##N 
+#define NDNBOOST_LAMBDA_ARG(z, N,A) NDNBOOST_PP_COMMA_IF(N) A##N 
 
-#define BOOST_LAMBDA_CLASS_LIST(n, NAME) BOOST_PP_REPEAT(n, BOOST_LAMBDA_CLASS, NAME)
+#define NDNBOOST_LAMBDA_CLASS_LIST(n, NAME) NDNBOOST_PP_REPEAT(n, NDNBOOST_LAMBDA_CLASS, NAME)
 
-#define BOOST_LAMBDA_CLASS_ARG_LIST(n, NAME) BOOST_PP_REPEAT(n, BOOST_LAMBDA_CLASS_ARG, NAME)
+#define NDNBOOST_LAMBDA_CLASS_ARG_LIST(n, NAME) NDNBOOST_PP_REPEAT(n, NDNBOOST_LAMBDA_CLASS_ARG, NAME)
 
-#define BOOST_LAMBDA_ARG_LIST(n, NAME) BOOST_PP_REPEAT(n, BOOST_LAMBDA_ARG, NAME)
+#define NDNBOOST_LAMBDA_ARG_LIST(n, NAME) NDNBOOST_PP_REPEAT(n, NDNBOOST_LAMBDA_ARG, NAME)
 
 namespace ndnboost {
 namespace lambda {
 
-#define BOOST_LAMBDA_IS_INSTANCE_OF_TEMPLATE(INDEX)                         \
+#define NDNBOOST_LAMBDA_IS_INSTANCE_OF_TEMPLATE(INDEX)                         \
                                                                             \
 namespace detail {                                                          \
                                                                             \
-template <template<BOOST_LAMBDA_CLASS_LIST(INDEX,T)> class F>               \
-struct BOOST_PP_CAT(conversion_tester_,INDEX) {                             \
-  template<BOOST_LAMBDA_CLASS_ARG_LIST(INDEX,A)>                            \
-  BOOST_PP_CAT(conversion_tester_,INDEX)                                    \
-    (const F<BOOST_LAMBDA_ARG_LIST(INDEX,A)>&);                             \
+template <template<NDNBOOST_LAMBDA_CLASS_LIST(INDEX,T)> class F>               \
+struct NDNBOOST_PP_CAT(conversion_tester_,INDEX) {                             \
+  template<NDNBOOST_LAMBDA_CLASS_ARG_LIST(INDEX,A)>                            \
+  NDNBOOST_PP_CAT(conversion_tester_,INDEX)                                    \
+    (const F<NDNBOOST_LAMBDA_ARG_LIST(INDEX,A)>&);                             \
 };                                                                          \
                                                                             \
 } /* end detail */                                                          \
                                                                             \
-template <class From, template <BOOST_LAMBDA_CLASS_LIST(INDEX,T)> class To> \
-struct BOOST_PP_CAT(is_instance_of_,INDEX)                                  \
+template <class From, template <NDNBOOST_LAMBDA_CLASS_LIST(INDEX,T)> class To> \
+struct NDNBOOST_PP_CAT(is_instance_of_,INDEX)                                  \
 {                                                                           \
  private:                                                                   \
    typedef ::ndnboost::is_convertible<                                         \
      From,                                                                  \
-     BOOST_PP_CAT(detail::conversion_tester_,INDEX)<To>                     \
+     NDNBOOST_PP_CAT(detail::conversion_tester_,INDEX)<To>                     \
    > helper_type;                                                           \
                                                                             \
 public:                                                                     \
-  BOOST_STATIC_CONSTANT(bool, value = helper_type::value);                  \
+  NDNBOOST_STATIC_CONSTANT(bool, value = helper_type::value);                  \
 };
 
 
-#define BOOST_LAMBDA_HELPER(z, N, A) BOOST_LAMBDA_IS_INSTANCE_OF_TEMPLATE( BOOST_PP_INC(N) )
+#define NDNBOOST_LAMBDA_HELPER(z, N, A) NDNBOOST_LAMBDA_IS_INSTANCE_OF_TEMPLATE( NDNBOOST_PP_INC(N) )
 
 // Generate the traits for 1-4 argument templates
 
-BOOST_PP_REPEAT_2ND(4,BOOST_LAMBDA_HELPER,FOO)
+NDNBOOST_PP_REPEAT_2ND(4,NDNBOOST_LAMBDA_HELPER,FOO)
 
-#undef BOOST_LAMBDA_HELPER
-#undef BOOST_LAMBDA_IS_INSTANCE_OF_TEMPLATE
-#undef BOOST_LAMBDA_CLASS
-#undef BOOST_LAMBDA_ARG
-#undef BOOST_LAMBDA_CLASS_ARG
-#undef BOOST_LAMBDA_CLASS_LIST
-#undef BOOST_LAMBDA_ARG_LIST
-#undef BOOST_LAMBDA_CLASS_ARG_LIST
+#undef NDNBOOST_LAMBDA_HELPER
+#undef NDNBOOST_LAMBDA_IS_INSTANCE_OF_TEMPLATE
+#undef NDNBOOST_LAMBDA_CLASS
+#undef NDNBOOST_LAMBDA_ARG
+#undef NDNBOOST_LAMBDA_CLASS_ARG
+#undef NDNBOOST_LAMBDA_CLASS_LIST
+#undef NDNBOOST_LAMBDA_ARG_LIST
+#undef NDNBOOST_LAMBDA_CLASS_ARG_LIST
 
 } // lambda
 } // boost
diff --git a/include/ndnboost/lambda/detail/lambda_config.hpp b/include/ndnboost/lambda/detail/lambda_config.hpp
index c994383..ce5dce2 100644
--- a/include/ndnboost/lambda/detail/lambda_config.hpp
+++ b/include/ndnboost/lambda/detail/lambda_config.hpp
@@ -10,8 +10,8 @@
 
 // ---------------------------------------------------------------
 
-#ifndef BOOST_LAMBDA_LAMBDA_CONFIG_HPP
-#define BOOST_LAMBDA_LAMBDA_CONFIG_HPP
+#ifndef NDNBOOST_LAMBDA_LAMBDA_CONFIG_HPP
+#define NDNBOOST_LAMBDA_LAMBDA_CONFIG_HPP
 
 // add to ndnboost/config.hpp
 // for now
@@ -19,22 +19,22 @@
 
 # if defined __GNUC__
 #   if (__GNUC__ == 3 && __GNUC_MINOR__ >= 4) 
-#     define BOOST_REF_TO_FUNC_CONFLICTS_WITH_REF_TO_T
-#     define BOOST_LAMBDA_INCORRECT_BIND_OVERLOADING
+#     define NDNBOOST_REF_TO_FUNC_CONFLICTS_WITH_REF_TO_T
+#     define NDNBOOST_LAMBDA_INCORRECT_BIND_OVERLOADING
 #   endif
 #   if (__GNUC__ == 2 && __GNUC_MINOR__ <= 97) 
-#     define BOOST_NO_TEMPLATED_STREAMS
-#     define BOOST_LAMBDA_INCORRECT_BIND_OVERLOADING
+#     define NDNBOOST_NO_TEMPLATED_STREAMS
+#     define NDNBOOST_LAMBDA_INCORRECT_BIND_OVERLOADING
 #   endif
 #   if (__GNUC__ == 2 && __GNUC_MINOR__ <= 95) 
-#     define BOOST_LAMBDA_FAILS_IN_TEMPLATE_KEYWORD_AFTER_SCOPE_OPER
+#     define NDNBOOST_LAMBDA_FAILS_IN_TEMPLATE_KEYWORD_AFTER_SCOPE_OPER
 #   endif
 # endif  // __GNUC__
  
 
 #if defined __KCC
 
-#define BOOST_NO_FDECL_TEMPLATES_AS_TEMPLATE_TEMPLATE_PARAMS
+#define NDNBOOST_NO_FDECL_TEMPLATES_AS_TEMPLATE_TEMPLATE_PARAMS
 
 #endif  // __KCC
 
diff --git a/include/ndnboost/lambda/detail/lambda_functor_base.hpp b/include/ndnboost/lambda/detail/lambda_functor_base.hpp
index 2c90f56..bfb012f 100644
--- a/include/ndnboost/lambda/detail/lambda_functor_base.hpp
+++ b/include/ndnboost/lambda/detail/lambda_functor_base.hpp
@@ -10,8 +10,8 @@
 
 // ------------------------------------------------------------
 
-#ifndef BOOST_LAMBDA_LAMBDA_FUNCTOR_BASE_HPP
-#define BOOST_LAMBDA_LAMBDA_FUNCTOR_BASE_HPP
+#ifndef NDNBOOST_LAMBDA_LAMBDA_FUNCTOR_BASE_HPP
+#define NDNBOOST_LAMBDA_LAMBDA_FUNCTOR_BASE_HPP
 
 #include "ndnboost/type_traits/add_reference.hpp"
 #include "ndnboost/type_traits/add_const.hpp"
@@ -22,7 +22,7 @@
 namespace ndnboost { 
 namespace lambda {
 
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
+#if NDNBOOST_WORKAROUND(NDNBOOST_MSVC, >= 1400)
 #pragma warning(push)
 #pragma warning(disable:4512) //assignment operator could not be generated
 #endif
@@ -52,7 +52,7 @@
   RET call(CALL_FORMAL_ARGS) const { CALL_USE_ARGS; return elem; }
 };
 
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
+#if NDNBOOST_WORKAROUND(NDNBOOST_MSVC, >= 1400)
 #pragma warning(pop)
 #endif
 
@@ -156,16 +156,16 @@
   // sig template for nullary case even if the nullary operator() is not
   // called
 template <class T> struct is_null_type 
-{ BOOST_STATIC_CONSTANT(bool, value = false); };
+{ NDNBOOST_STATIC_CONSTANT(bool, value = false); };
 
 template <> struct is_null_type<null_type> 
-{ BOOST_STATIC_CONSTANT(bool, value = true); };
+{ NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template<class Tuple> struct has_null_type {
-  BOOST_STATIC_CONSTANT(bool, value = (is_null_type<typename Tuple::head_type>::value || has_null_type<typename Tuple::tail_type>::value));
+  NDNBOOST_STATIC_CONSTANT(bool, value = (is_null_type<typename Tuple::head_type>::value || has_null_type<typename Tuple::tail_type>::value));
 };
 template<> struct has_null_type<null_type> {
-  BOOST_STATIC_CONSTANT(bool, value = false);
+  NDNBOOST_STATIC_CONSTANT(bool, value = false);
 };
 
 
@@ -367,12 +367,12 @@
 };
 
 
-#if defined BOOST_LAMBDA_LAMBDA_FUNCTOR_BASE_FIRST_PART  
-#error "Multiple defines of BOOST_LAMBDA_LAMBDA_FUNCTOR_BASE_FIRST_PART"  
+#if defined NDNBOOST_LAMBDA_LAMBDA_FUNCTOR_BASE_FIRST_PART  
+#error "Multiple defines of NDNBOOST_LAMBDA_LAMBDA_FUNCTOR_BASE_FIRST_PART"  
 #endif  
   
   
-#define BOOST_LAMBDA_LAMBDA_FUNCTOR_BASE_FIRST_PART(ARITY)             \
+#define NDNBOOST_LAMBDA_LAMBDA_FUNCTOR_BASE_FIRST_PART(ARITY)             \
 template<class Act, class Args>                                        \
 class lambda_functor_base<action<ARITY, Act>, Args>                    \
 {                                                                      \
@@ -398,7 +398,7 @@
     using detail::element_or_null;                                     \
     using detail::deduce_argument_types;                                
 
-BOOST_LAMBDA_LAMBDA_FUNCTOR_BASE_FIRST_PART(1)
+NDNBOOST_LAMBDA_LAMBDA_FUNCTOR_BASE_FIRST_PART(1)
 
   typedef typename
     deduce_argument_types<Args, tuple<CALL_REFERENCE_TYPES> >::type rets_t;
@@ -411,7 +411,7 @@
 };
 
 
-BOOST_LAMBDA_LAMBDA_FUNCTOR_BASE_FIRST_PART(2)
+NDNBOOST_LAMBDA_LAMBDA_FUNCTOR_BASE_FIRST_PART(2)
   
   typedef typename 
     deduce_argument_types<Args, tuple<CALL_REFERENCE_TYPES> >::type rets_t;
@@ -425,7 +425,7 @@
   }
 };
 
-BOOST_LAMBDA_LAMBDA_FUNCTOR_BASE_FIRST_PART(3)
+NDNBOOST_LAMBDA_LAMBDA_FUNCTOR_BASE_FIRST_PART(3)
 
   typedef typename 
     deduce_argument_types<Args, tuple<CALL_REFERENCE_TYPES> >::type rets_t;
@@ -442,7 +442,7 @@
   }
 };
 
-BOOST_LAMBDA_LAMBDA_FUNCTOR_BASE_FIRST_PART(4)
+NDNBOOST_LAMBDA_LAMBDA_FUNCTOR_BASE_FIRST_PART(4)
   typedef typename 
     deduce_argument_types<Args, tuple<CALL_REFERENCE_TYPES> >::type rets_t;
   typedef typename element_or_null<0, rets_t>::type rt0;
@@ -459,7 +459,7 @@
   }
 };
 
-BOOST_LAMBDA_LAMBDA_FUNCTOR_BASE_FIRST_PART(5)
+NDNBOOST_LAMBDA_LAMBDA_FUNCTOR_BASE_FIRST_PART(5)
   typedef typename 
     deduce_argument_types<Args, tuple<CALL_REFERENCE_TYPES> >::type rets_t;
   typedef typename element_or_null<0, rets_t>::type rt0;
@@ -478,7 +478,7 @@
   }
 };
 
-BOOST_LAMBDA_LAMBDA_FUNCTOR_BASE_FIRST_PART(6)
+NDNBOOST_LAMBDA_LAMBDA_FUNCTOR_BASE_FIRST_PART(6)
 
   typedef typename 
     deduce_argument_types<Args, tuple<CALL_REFERENCE_TYPES> >::type rets_t;
@@ -501,7 +501,7 @@
   }
 };
 
-BOOST_LAMBDA_LAMBDA_FUNCTOR_BASE_FIRST_PART(7)
+NDNBOOST_LAMBDA_LAMBDA_FUNCTOR_BASE_FIRST_PART(7)
   typedef typename 
     deduce_argument_types<Args, tuple<CALL_REFERENCE_TYPES> >::type rets_t;
   typedef typename element_or_null<0, rets_t>::type rt0;
@@ -525,7 +525,7 @@
   }
 };
 
-BOOST_LAMBDA_LAMBDA_FUNCTOR_BASE_FIRST_PART(8)
+NDNBOOST_LAMBDA_LAMBDA_FUNCTOR_BASE_FIRST_PART(8)
   typedef typename 
     deduce_argument_types<Args, tuple<CALL_REFERENCE_TYPES> >::type rets_t;
   typedef typename element_or_null<0, rets_t>::type rt0;
@@ -550,7 +550,7 @@
   }
 };
 
-BOOST_LAMBDA_LAMBDA_FUNCTOR_BASE_FIRST_PART(9)
+NDNBOOST_LAMBDA_LAMBDA_FUNCTOR_BASE_FIRST_PART(9)
   typedef typename 
     deduce_argument_types<Args, tuple<CALL_REFERENCE_TYPES> >::type rets_t;
   typedef typename element_or_null<0, rets_t>::type rt0;
@@ -577,7 +577,7 @@
   }
 };
 
-BOOST_LAMBDA_LAMBDA_FUNCTOR_BASE_FIRST_PART(10) 
+NDNBOOST_LAMBDA_LAMBDA_FUNCTOR_BASE_FIRST_PART(10) 
   typedef typename 
     deduce_argument_types<Args, tuple<CALL_REFERENCE_TYPES> >::type rets_t;
   typedef typename element_or_null<0, rets_t>::type rt0;
@@ -606,7 +606,7 @@
   }
 };
 
-#undef BOOST_LAMBDA_LAMBDA_FUNCTOR_BASE_FIRST_PART
+#undef NDNBOOST_LAMBDA_LAMBDA_FUNCTOR_BASE_FIRST_PART
 
 
 } // namespace lambda
diff --git a/include/ndnboost/lambda/detail/lambda_functors.hpp b/include/ndnboost/lambda/detail/lambda_functors.hpp
index a6a9a7c..020e86e 100644
--- a/include/ndnboost/lambda/detail/lambda_functors.hpp
+++ b/include/ndnboost/lambda/detail/lambda_functors.hpp
@@ -10,31 +10,31 @@
 
 // ------------------------------------------------
 
-#ifndef BOOST_LAMBDA_LAMBDA_FUNCTORS_HPP
-#define BOOST_LAMBDA_LAMBDA_FUNCTORS_HPP
+#ifndef NDNBOOST_LAMBDA_LAMBDA_FUNCTORS_HPP
+#define NDNBOOST_LAMBDA_LAMBDA_FUNCTORS_HPP
 
 #include <ndnboost/config.hpp>
 #include <ndnboost/detail/workaround.hpp>
 #include <ndnboost/utility/result_of.hpp>
 
-#if BOOST_WORKAROUND(BOOST_MSVC, == 1310)
+#if NDNBOOST_WORKAROUND(NDNBOOST_MSVC, == 1310)
 
 #include <ndnboost/mpl/or.hpp>
 #include <ndnboost/utility/enable_if.hpp>
 #include <ndnboost/type_traits/is_array.hpp>
 
-#define BOOST_LAMBDA_DISABLE_IF_ARRAY1(A1, R1)\
+#define NDNBOOST_LAMBDA_DISABLE_IF_ARRAY1(A1, R1)\
   typename lazy_disable_if<is_array<A1>, typename R1 >::type
-#define BOOST_LAMBDA_DISABLE_IF_ARRAY2(A1, A2, R1, R2) \
+#define NDNBOOST_LAMBDA_DISABLE_IF_ARRAY2(A1, A2, R1, R2) \
   typename lazy_disable_if<mpl::or_<is_array<A1>, is_array<A2> >, typename R1, R2 >::type
-#define BOOST_LAMBDA_DISABLE_IF_ARRAY3(A1, A2, A3, R1, R2, R3) \
+#define NDNBOOST_LAMBDA_DISABLE_IF_ARRAY3(A1, A2, A3, R1, R2, R3) \
   typename lazy_disable_if<mpl::or_<is_array<A1>, is_array<A2>, is_array<A3> >, typename R1, R2, R3 >::type
 
 #else
 
-#define BOOST_LAMBDA_DISABLE_IF_ARRAY1(A1, R1) typename R1::type
-#define BOOST_LAMBDA_DISABLE_IF_ARRAY2(A1, A2, R1, R2) typename R1, R2::type
-#define BOOST_LAMBDA_DISABLE_IF_ARRAY3(A1, A2, A3, R1, R2, R3) typename R1, R2, R3::type
+#define NDNBOOST_LAMBDA_DISABLE_IF_ARRAY1(A1, R1) typename R1::type
+#define NDNBOOST_LAMBDA_DISABLE_IF_ARRAY2(A1, A2, R1, R2) typename R1, R2::type
+#define NDNBOOST_LAMBDA_DISABLE_IF_ARRAY3(A1, A2, A3, R1, R2, R3) typename R1, R2, R3::type
 
 #endif
 
@@ -82,7 +82,7 @@
 
   template<class RET, CALL_TEMPLATE_ARGS> 
   RET call(CALL_FORMAL_ARGS) const { 
-    BOOST_STATIC_ASSERT(ndnboost::is_reference<RET>::value); 
+    NDNBOOST_STATIC_ASSERT(ndnboost::is_reference<RET>::value); 
     CALL_USE_ARGS; // does nothing, prevents warnings for unused args
     return a; 
   }
@@ -130,7 +130,7 @@
 // other lambda_functors.
 // -------------------------------------------------------------------
 
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
+#if NDNBOOST_WORKAROUND(NDNBOOST_MSVC, >= 1400)
 #pragma warning(push)
 #pragma warning(disable:4512) //assignment operator could not be generated
 #endif
@@ -140,7 +140,7 @@
 class lambda_functor : public T 
 {
 
-BOOST_STATIC_CONSTANT(int, arity_bits = get_arity<T>::value);
+NDNBOOST_STATIC_CONSTANT(int, arity_bits = get_arity<T>::value);
  
 public:
   typedef T inherited;
@@ -196,7 +196,7 @@
   }
 
   template<class A>
-  BOOST_LAMBDA_DISABLE_IF_ARRAY1(A, inherited::template sig<tuple<A const&> >)
+  NDNBOOST_LAMBDA_DISABLE_IF_ARRAY1(A, inherited::template sig<tuple<A const&> >)
   operator()(A const& a) const { 
     return inherited::template call<
       typename inherited::template sig<tuple<A const&> >::type
@@ -212,7 +212,7 @@
   }
 
   template<class A, class B>
-  BOOST_LAMBDA_DISABLE_IF_ARRAY2(A, B, inherited::template sig<tuple<A const&, B&> >)
+  NDNBOOST_LAMBDA_DISABLE_IF_ARRAY2(A, B, inherited::template sig<tuple<A const&, B&> >)
   operator()(A const& a, B& b) const { 
     return inherited::template call<
       typename inherited::template sig<tuple<A const&, B&> >::type
@@ -220,7 +220,7 @@
   }
 
   template<class A, class B>
-  BOOST_LAMBDA_DISABLE_IF_ARRAY2(A, B, inherited::template sig<tuple<A&, B const&> >)
+  NDNBOOST_LAMBDA_DISABLE_IF_ARRAY2(A, B, inherited::template sig<tuple<A&, B const&> >)
   operator()(A& a, B const& b) const { 
     return inherited::template call<
       typename inherited::template sig<tuple<A&, B const&> >::type
@@ -228,7 +228,7 @@
   }
 
   template<class A, class B>
-  BOOST_LAMBDA_DISABLE_IF_ARRAY2(A, B, inherited::template sig<tuple<A const&, B const&> >)
+  NDNBOOST_LAMBDA_DISABLE_IF_ARRAY2(A, B, inherited::template sig<tuple<A const&, B const&> >)
   operator()(A const& a, B const& b) const { 
     return inherited::template call<
       typename inherited::template sig<tuple<A const&, B const&> >::type
@@ -245,7 +245,7 @@
   }
 
   template<class A, class B, class C>
-  BOOST_LAMBDA_DISABLE_IF_ARRAY3(A, B, C, inherited::template sig<tuple<A const&, B const&, C const&> >)
+  NDNBOOST_LAMBDA_DISABLE_IF_ARRAY3(A, B, C, inherited::template sig<tuple<A const&, B const&, C const&> >)
   operator()(A const& a, B const& b, C const& c) const
   { 
     return inherited::template call<
@@ -291,7 +291,7 @@
   } 
 };
 
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
+#if NDNBOOST_WORKAROUND(NDNBOOST_MSVC, >= 1400)
 #pragma warning(pop)
 #endif
 
@@ -300,7 +300,7 @@
 
 namespace ndnboost {
 
-#if !defined(BOOST_RESULT_OF_USE_DECLTYPE) || defined(BOOST_NO_DECLTYPE)
+#if !defined(NDNBOOST_RESULT_OF_USE_DECLTYPE) || defined(NDNBOOST_NO_DECLTYPE)
 
 template<class T>
 struct result_of<ndnboost::lambda::lambda_functor<T>()>
diff --git a/include/ndnboost/lambda/detail/lambda_fwd.hpp b/include/ndnboost/lambda/detail/lambda_fwd.hpp
index e0253b7..098cef6 100644
--- a/include/ndnboost/lambda/detail/lambda_fwd.hpp
+++ b/include/ndnboost/lambda/detail/lambda_fwd.hpp
@@ -10,8 +10,8 @@
 
 // -------------------------------------------------------
 
-#ifndef BOOST_LAMBDA_FWD_HPP
-#define BOOST_LAMBDA_FWD_HPP
+#ifndef NDNBOOST_LAMBDA_FWD_HPP
+#define NDNBOOST_LAMBDA_FWD_HPP
 
 namespace ndnboost { 
 namespace lambda { 
diff --git a/include/ndnboost/lambda/detail/lambda_traits.hpp b/include/ndnboost/lambda/detail/lambda_traits.hpp
index aa241b6..0236e09 100644
--- a/include/ndnboost/lambda/detail/lambda_traits.hpp
+++ b/include/ndnboost/lambda/detail/lambda_traits.hpp
@@ -9,8 +9,8 @@
 // For more information, see www.boost.org
 // -------------------------------------------------------------------------
 
-#ifndef BOOST_LAMBDA_LAMBDA_TRAITS_HPP
-#define BOOST_LAMBDA_LAMBDA_TRAITS_HPP
+#ifndef NDNBOOST_LAMBDA_LAMBDA_TRAITS_HPP
+#define NDNBOOST_LAMBDA_LAMBDA_TRAITS_HPP
 
 #include "ndnboost/type_traits/transform_traits.hpp"
 #include "ndnboost/type_traits/cv_traits.hpp"
@@ -65,14 +65,14 @@
 template<class T>
 struct IF_value_
 {
-  BOOST_STATIC_CONSTANT(int, value = T::value);
+  NDNBOOST_STATIC_CONSTANT(int, value = T::value);
 };
 
 
 template<bool C, class T, class E>
 struct IF_value
 {
-  BOOST_STATIC_CONSTANT(int, value = (IF_value_<typename IF<C, T, E>::RET>::value));
+  NDNBOOST_STATIC_CONSTANT(int, value = (IF_value_<typename IF<C, T, E>::RET>::value));
 };
 
 
@@ -120,18 +120,18 @@
 // is_lambda_functor -------------------------------------------------   
 
 template <class T> struct is_lambda_functor_ {
-  BOOST_STATIC_CONSTANT(bool, value = false);
+  NDNBOOST_STATIC_CONSTANT(bool, value = false);
 };
    
 template <class Arg> struct is_lambda_functor_<lambda_functor<Arg> > {
-  BOOST_STATIC_CONSTANT(bool, value = true);
+  NDNBOOST_STATIC_CONSTANT(bool, value = true);
 };
    
 } // end detail
 
    
 template <class T> struct is_lambda_functor {
-  BOOST_STATIC_CONSTANT(bool, 
+  NDNBOOST_STATIC_CONSTANT(bool, 
      value = 
        detail::is_lambda_functor_<
          typename detail::remove_reference_and_cv<T>::type
@@ -544,7 +544,7 @@
     T0, T1, T2, T3, T4, T5, T6, T7, T8, T9
   >::type args_t;
 
-  BOOST_STATIC_CONSTANT(int, nof_elems = ndnboost::tuples::length<args_t>::value);
+  NDNBOOST_STATIC_CONSTANT(int, nof_elems = ndnboost::tuples::length<args_t>::value);
 
   typedef 
     action<
@@ -575,4 +575,4 @@
 
 
    
-#endif // BOOST_LAMBDA_TRAITS_HPP
+#endif // NDNBOOST_LAMBDA_TRAITS_HPP
diff --git a/include/ndnboost/lambda/detail/member_ptr.hpp b/include/ndnboost/lambda/detail/member_ptr.hpp
index 37c10ab..a6abb74 100644
--- a/include/ndnboost/lambda/detail/member_ptr.hpp
+++ b/include/ndnboost/lambda/detail/member_ptr.hpp
@@ -11,8 +11,8 @@
 
 // --------------------------------------------------------------------------
 
-#if !defined(BOOST_LAMBDA_MEMBER_PTR_HPP)
-#define BOOST_LAMBDA_MEMBER_PTR_HPP
+#if !defined(NDNBOOST_LAMBDA_MEMBER_PTR_HPP)
+#define NDNBOOST_LAMBDA_MEMBER_PTR_HPP
 
 namespace ndnboost { 
 namespace lambda {
@@ -30,8 +30,8 @@
   typedef typename ndnboost::add_reference<T>::type type;
   typedef detail::unspecified class_type;
   typedef detail::unspecified qualified_class_type;
-  BOOST_STATIC_CONSTANT(bool, is_data_member = false);
-  BOOST_STATIC_CONSTANT(bool, is_function_member = false);
+  NDNBOOST_STATIC_CONSTANT(bool, is_data_member = false);
+  NDNBOOST_STATIC_CONSTANT(bool, is_function_member = false);
 };
 
 template<class T, class U>
@@ -39,8 +39,8 @@
   typedef typename ndnboost::add_reference<T>::type type;
   typedef U class_type;
   typedef U qualified_class_type;
-  BOOST_STATIC_CONSTANT(bool, is_data_member = true);
-  BOOST_STATIC_CONSTANT(bool, is_function_member = false);
+  NDNBOOST_STATIC_CONSTANT(bool, is_data_member = true);
+  NDNBOOST_STATIC_CONSTANT(bool, is_function_member = false);
 };
 
 template<class T, class U>
@@ -48,8 +48,8 @@
   typedef typename ndnboost::add_reference<const T>::type type;
   typedef U class_type;
   typedef const U qualified_class_type;
-  BOOST_STATIC_CONSTANT(bool, is_data_member = true);
-  BOOST_STATIC_CONSTANT(bool, is_function_member = false);
+  NDNBOOST_STATIC_CONSTANT(bool, is_data_member = true);
+  NDNBOOST_STATIC_CONSTANT(bool, is_function_member = false);
 };
 
 template<class T, class U>
@@ -57,8 +57,8 @@
   typedef typename ndnboost::add_reference<volatile T>::type type;
   typedef U class_type;
   typedef volatile U qualified_class_type;
-  BOOST_STATIC_CONSTANT(bool, is_data_member = true);
-  BOOST_STATIC_CONSTANT(bool, is_function_member = false);
+  NDNBOOST_STATIC_CONSTANT(bool, is_data_member = true);
+  NDNBOOST_STATIC_CONSTANT(bool, is_function_member = false);
 };
 
 template<class T, class U>
@@ -66,8 +66,8 @@
   typedef typename ndnboost::add_reference<const volatile T>::type type;
   typedef U class_type;
   typedef const volatile U qualified_class_type;
-  BOOST_STATIC_CONSTANT(bool, is_data_member = true);
-  BOOST_STATIC_CONSTANT(bool, is_function_member = false);
+  NDNBOOST_STATIC_CONSTANT(bool, is_data_member = true);
+  NDNBOOST_STATIC_CONSTANT(bool, is_function_member = false);
 };
 
 // -- nonconst member functions --
@@ -76,48 +76,48 @@
   typedef T type;
   typedef U class_type;
   typedef U qualified_class_type;
-  BOOST_STATIC_CONSTANT(bool, is_data_member = false);
-  BOOST_STATIC_CONSTANT(bool, is_function_member = true);
+  NDNBOOST_STATIC_CONSTANT(bool, is_data_member = false);
+  NDNBOOST_STATIC_CONSTANT(bool, is_function_member = true);
 };
 template<class T, class U, class A1>
 struct member_pointer<T (U::*)(A1)> {
   typedef T type;
   typedef U class_type;
   typedef U qualified_class_type;
-  BOOST_STATIC_CONSTANT(bool, is_data_member = false);
-  BOOST_STATIC_CONSTANT(bool, is_function_member = true);
+  NDNBOOST_STATIC_CONSTANT(bool, is_data_member = false);
+  NDNBOOST_STATIC_CONSTANT(bool, is_function_member = true);
 };
 template<class T, class U, class A1, class A2>
 struct member_pointer<T (U::*)(A1, A2)> {
   typedef T type;
   typedef U class_type;
   typedef U qualified_class_type;
-  BOOST_STATIC_CONSTANT(bool, is_data_member = false);
-  BOOST_STATIC_CONSTANT(bool, is_function_member = true);
+  NDNBOOST_STATIC_CONSTANT(bool, is_data_member = false);
+  NDNBOOST_STATIC_CONSTANT(bool, is_function_member = true);
 };
 template<class T, class U, class A1, class A2, class A3>
 struct member_pointer<T (U::*)(A1, A2, A3)> {
   typedef T type;
   typedef U class_type;
   typedef U qualified_class_type;
-  BOOST_STATIC_CONSTANT(bool, is_data_member = false);
-  BOOST_STATIC_CONSTANT(bool, is_function_member = true);
+  NDNBOOST_STATIC_CONSTANT(bool, is_data_member = false);
+  NDNBOOST_STATIC_CONSTANT(bool, is_function_member = true);
 };
 template<class T, class U, class A1, class A2, class A3, class A4>
 struct member_pointer<T (U::*)(A1, A2, A3, A4)> {
   typedef T type;
   typedef U class_type;
   typedef U qualified_class_type;
-  BOOST_STATIC_CONSTANT(bool, is_data_member = false);
-  BOOST_STATIC_CONSTANT(bool, is_function_member = true);
+  NDNBOOST_STATIC_CONSTANT(bool, is_data_member = false);
+  NDNBOOST_STATIC_CONSTANT(bool, is_function_member = true);
 };
 template<class T, class U, class A1, class A2, class A3, class A4, class A5>
 struct member_pointer<T (U::*)(A1, A2, A3, A4, A5)> {
   typedef T type;
   typedef U class_type;
   typedef U qualified_class_type;
-  BOOST_STATIC_CONSTANT(bool, is_data_member = false);
-  BOOST_STATIC_CONSTANT(bool, is_function_member = true);
+  NDNBOOST_STATIC_CONSTANT(bool, is_data_member = false);
+  NDNBOOST_STATIC_CONSTANT(bool, is_function_member = true);
 };
 template<class T, class U, class A1, class A2, class A3, class A4, class A5,
          class A6>
@@ -125,8 +125,8 @@
   typedef T type;
   typedef U class_type;
   typedef U qualified_class_type;
-  BOOST_STATIC_CONSTANT(bool, is_data_member = false);
-  BOOST_STATIC_CONSTANT(bool, is_function_member = true);
+  NDNBOOST_STATIC_CONSTANT(bool, is_data_member = false);
+  NDNBOOST_STATIC_CONSTANT(bool, is_function_member = true);
 };
 template<class T, class U, class A1, class A2, class A3, class A4, class A5,
          class A6, class A7>
@@ -134,8 +134,8 @@
   typedef T type;
   typedef U class_type;
   typedef U qualified_class_type;
-  BOOST_STATIC_CONSTANT(bool, is_data_member = false);
-  BOOST_STATIC_CONSTANT(bool, is_function_member = true);
+  NDNBOOST_STATIC_CONSTANT(bool, is_data_member = false);
+  NDNBOOST_STATIC_CONSTANT(bool, is_function_member = true);
 };
 template<class T, class U, class A1, class A2, class A3, class A4, class A5,
          class A6, class A7, class A8>
@@ -143,8 +143,8 @@
   typedef T type;
   typedef U class_type;
   typedef U qualified_class_type;
-  BOOST_STATIC_CONSTANT(bool, is_data_member = false);
-  BOOST_STATIC_CONSTANT(bool, is_function_member = true);
+  NDNBOOST_STATIC_CONSTANT(bool, is_data_member = false);
+  NDNBOOST_STATIC_CONSTANT(bool, is_function_member = true);
 };
 template<class T, class U, class A1, class A2, class A3, class A4, class A5,
          class A6, class A7, class A8, class A9>
@@ -152,8 +152,8 @@
   typedef T type;
   typedef U class_type;
   typedef U qualified_class_type;
-  BOOST_STATIC_CONSTANT(bool, is_data_member = false);
-  BOOST_STATIC_CONSTANT(bool, is_function_member = true);
+  NDNBOOST_STATIC_CONSTANT(bool, is_data_member = false);
+  NDNBOOST_STATIC_CONSTANT(bool, is_function_member = true);
 };
 // -- const member functions --
 template<class T, class U>
@@ -161,48 +161,48 @@
   typedef T type;
   typedef U class_type;
   typedef const U qualified_class_type;
-  BOOST_STATIC_CONSTANT(bool, is_data_member = false);
-  BOOST_STATIC_CONSTANT(bool, is_function_member = true);
+  NDNBOOST_STATIC_CONSTANT(bool, is_data_member = false);
+  NDNBOOST_STATIC_CONSTANT(bool, is_function_member = true);
 };
 template<class T, class U, class A1>
 struct member_pointer<T (U::*)(A1) const> {
   typedef T type;
   typedef U class_type;
   typedef const U qualified_class_type;
-  BOOST_STATIC_CONSTANT(bool, is_data_member = false);
-  BOOST_STATIC_CONSTANT(bool, is_function_member = true);
+  NDNBOOST_STATIC_CONSTANT(bool, is_data_member = false);
+  NDNBOOST_STATIC_CONSTANT(bool, is_function_member = true);
 };
 template<class T, class U, class A1, class A2>
 struct member_pointer<T (U::*)(A1, A2) const> {
   typedef T type;
   typedef U class_type;
   typedef const U qualified_class_type;
-  BOOST_STATIC_CONSTANT(bool, is_data_member = false);
-  BOOST_STATIC_CONSTANT(bool, is_function_member = true);
+  NDNBOOST_STATIC_CONSTANT(bool, is_data_member = false);
+  NDNBOOST_STATIC_CONSTANT(bool, is_function_member = true);
 };
 template<class T, class U, class A1, class A2, class A3>
 struct member_pointer<T (U::*)(A1, A2, A3) const> {
   typedef T type;
   typedef U class_type;
   typedef const U qualified_class_type;
-  BOOST_STATIC_CONSTANT(bool, is_data_member = false);
-  BOOST_STATIC_CONSTANT(bool, is_function_member = true);
+  NDNBOOST_STATIC_CONSTANT(bool, is_data_member = false);
+  NDNBOOST_STATIC_CONSTANT(bool, is_function_member = true);
 };
 template<class T, class U, class A1, class A2, class A3, class A4>
 struct member_pointer<T (U::*)(A1, A2, A3, A4) const> {
   typedef T type;
   typedef U class_type;
   typedef const U qualified_class_type;
-  BOOST_STATIC_CONSTANT(bool, is_data_member = false);
-  BOOST_STATIC_CONSTANT(bool, is_function_member = true);
+  NDNBOOST_STATIC_CONSTANT(bool, is_data_member = false);
+  NDNBOOST_STATIC_CONSTANT(bool, is_function_member = true);
 };
 template<class T, class U, class A1, class A2, class A3, class A4, class A5>
 struct member_pointer<T (U::*)(A1, A2, A3, A4, A5) const> {
   typedef T type;
   typedef U class_type;
   typedef const U qualified_class_type;
-  BOOST_STATIC_CONSTANT(bool, is_data_member = false);
-  BOOST_STATIC_CONSTANT(bool, is_function_member = true);
+  NDNBOOST_STATIC_CONSTANT(bool, is_data_member = false);
+  NDNBOOST_STATIC_CONSTANT(bool, is_function_member = true);
 };
 template<class T, class U, class A1, class A2, class A3, class A4, class A5,
          class A6>
@@ -210,8 +210,8 @@
   typedef T type;
   typedef U class_type;
   typedef const U qualified_class_type;
-  BOOST_STATIC_CONSTANT(bool, is_data_member = false);
-  BOOST_STATIC_CONSTANT(bool, is_function_member = true);
+  NDNBOOST_STATIC_CONSTANT(bool, is_data_member = false);
+  NDNBOOST_STATIC_CONSTANT(bool, is_function_member = true);
 };
 template<class T, class U, class A1, class A2, class A3, class A4, class A5,
          class A6, class A7>
@@ -219,8 +219,8 @@
   typedef T type;
   typedef U class_type;
   typedef const U qualified_class_type;
-  BOOST_STATIC_CONSTANT(bool, is_data_member = false);
-  BOOST_STATIC_CONSTANT(bool, is_function_member = true);
+  NDNBOOST_STATIC_CONSTANT(bool, is_data_member = false);
+  NDNBOOST_STATIC_CONSTANT(bool, is_function_member = true);
 };
 template<class T, class U, class A1, class A2, class A3, class A4, class A5,
          class A6, class A7, class A8>
@@ -228,8 +228,8 @@
   typedef T type;
   typedef U class_type;
   typedef const U qualified_class_type;
-  BOOST_STATIC_CONSTANT(bool, is_data_member = false);
-  BOOST_STATIC_CONSTANT(bool, is_function_member = true);
+  NDNBOOST_STATIC_CONSTANT(bool, is_data_member = false);
+  NDNBOOST_STATIC_CONSTANT(bool, is_function_member = true);
 };
 template<class T, class U, class A1, class A2, class A3, class A4, class A5,
          class A6, class A7, class A8, class A9>
@@ -237,8 +237,8 @@
   typedef T type;
   typedef U class_type;
   typedef const U qualified_class_type;
-  BOOST_STATIC_CONSTANT(bool, is_data_member = false);
-  BOOST_STATIC_CONSTANT(bool, is_function_member = true);
+  NDNBOOST_STATIC_CONSTANT(bool, is_data_member = false);
+  NDNBOOST_STATIC_CONSTANT(bool, is_function_member = true);
 };
   // -- volatile --
 template<class T, class U>
@@ -246,48 +246,48 @@
   typedef T type;
   typedef U class_type;
   typedef volatile U qualified_class_type;
-  BOOST_STATIC_CONSTANT(bool, is_data_member = false);
-  BOOST_STATIC_CONSTANT(bool, is_function_member = true);
+  NDNBOOST_STATIC_CONSTANT(bool, is_data_member = false);
+  NDNBOOST_STATIC_CONSTANT(bool, is_function_member = true);
 };
 template<class T, class U, class A1>
 struct member_pointer<T (U::*)(A1) volatile> {
   typedef T type;
   typedef U class_type;
   typedef volatile U qualified_class_type;
-  BOOST_STATIC_CONSTANT(bool, is_data_member = false);
-  BOOST_STATIC_CONSTANT(bool, is_function_member = true);
+  NDNBOOST_STATIC_CONSTANT(bool, is_data_member = false);
+  NDNBOOST_STATIC_CONSTANT(bool, is_function_member = true);
 };
 template<class T, class U, class A1, class A2>
 struct member_pointer<T (U::*)(A1, A2) volatile> {
   typedef T type;
   typedef U class_type;
   typedef volatile U qualified_class_type;
-  BOOST_STATIC_CONSTANT(bool, is_data_member = false);
-  BOOST_STATIC_CONSTANT(bool, is_function_member = true);
+  NDNBOOST_STATIC_CONSTANT(bool, is_data_member = false);
+  NDNBOOST_STATIC_CONSTANT(bool, is_function_member = true);
 };
 template<class T, class U, class A1, class A2, class A3>
 struct member_pointer<T (U::*)(A1, A2, A3) volatile> {
   typedef T type;
   typedef U class_type;
   typedef volatile U qualified_class_type;
-  BOOST_STATIC_CONSTANT(bool, is_data_member = false);
-  BOOST_STATIC_CONSTANT(bool, is_function_member = true);
+  NDNBOOST_STATIC_CONSTANT(bool, is_data_member = false);
+  NDNBOOST_STATIC_CONSTANT(bool, is_function_member = true);
 };
 template<class T, class U, class A1, class A2, class A3, class A4>
 struct member_pointer<T (U::*)(A1, A2, A3, A4) volatile> {
   typedef T type;
   typedef U class_type;
   typedef volatile U qualified_class_type;
-  BOOST_STATIC_CONSTANT(bool, is_data_member = false);
-  BOOST_STATIC_CONSTANT(bool, is_function_member = true);
+  NDNBOOST_STATIC_CONSTANT(bool, is_data_member = false);
+  NDNBOOST_STATIC_CONSTANT(bool, is_function_member = true);
 };
 template<class T, class U, class A1, class A2, class A3, class A4, class A5>
 struct member_pointer<T (U::*)(A1, A2, A3, A4, A5) volatile> {
   typedef T type;
   typedef U class_type;
   typedef volatile U qualified_class_type;
-  BOOST_STATIC_CONSTANT(bool, is_data_member = false);
-  BOOST_STATIC_CONSTANT(bool, is_function_member = true);
+  NDNBOOST_STATIC_CONSTANT(bool, is_data_member = false);
+  NDNBOOST_STATIC_CONSTANT(bool, is_function_member = true);
 };
 template<class T, class U, class A1, class A2, class A3, class A4, class A5,
          class A6>
@@ -295,8 +295,8 @@
   typedef T type;
   typedef U class_type;
   typedef volatile U qualified_class_type;
-  BOOST_STATIC_CONSTANT(bool, is_data_member = false);
-  BOOST_STATIC_CONSTANT(bool, is_function_member = true);
+  NDNBOOST_STATIC_CONSTANT(bool, is_data_member = false);
+  NDNBOOST_STATIC_CONSTANT(bool, is_function_member = true);
 };
 template<class T, class U, class A1, class A2, class A3, class A4, class A5,
          class A6, class A7>
@@ -304,8 +304,8 @@
   typedef T type;
   typedef U class_type;
   typedef volatile U qualified_class_type;
-  BOOST_STATIC_CONSTANT(bool, is_data_member = false);
-  BOOST_STATIC_CONSTANT(bool, is_function_member = true);
+  NDNBOOST_STATIC_CONSTANT(bool, is_data_member = false);
+  NDNBOOST_STATIC_CONSTANT(bool, is_function_member = true);
 };
 template<class T, class U, class A1, class A2, class A3, class A4, class A5,
          class A6, class A7, class A8>
@@ -313,8 +313,8 @@
   typedef T type;
   typedef U class_type;
   typedef volatile U qualified_class_type;
-  BOOST_STATIC_CONSTANT(bool, is_data_member = false);
-  BOOST_STATIC_CONSTANT(bool, is_function_member = true);
+  NDNBOOST_STATIC_CONSTANT(bool, is_data_member = false);
+  NDNBOOST_STATIC_CONSTANT(bool, is_function_member = true);
 };
 template<class T, class U, class A1, class A2, class A3, class A4, class A5,
          class A6, class A7, class A8, class A9>
@@ -322,8 +322,8 @@
   typedef T type;
   typedef U class_type;
   typedef volatile U qualified_class_type;
-  BOOST_STATIC_CONSTANT(bool, is_data_member = false);
-  BOOST_STATIC_CONSTANT(bool, is_function_member = true);
+  NDNBOOST_STATIC_CONSTANT(bool, is_data_member = false);
+  NDNBOOST_STATIC_CONSTANT(bool, is_function_member = true);
 };
   // -- const volatile
 template<class T, class U>
@@ -331,32 +331,32 @@
   typedef T type;
   typedef U class_type;
   typedef const volatile U qualified_class_type;
-  BOOST_STATIC_CONSTANT(bool, is_data_member = false);
-  BOOST_STATIC_CONSTANT(bool, is_function_member = true);
+  NDNBOOST_STATIC_CONSTANT(bool, is_data_member = false);
+  NDNBOOST_STATIC_CONSTANT(bool, is_function_member = true);
 };
 template<class T, class U, class A1>
 struct member_pointer<T (U::*)(A1) const volatile> {
   typedef T type;
   typedef U class_type;
   typedef const volatile U qualified_class_type;
-  BOOST_STATIC_CONSTANT(bool, is_data_member = false);
-  BOOST_STATIC_CONSTANT(bool, is_function_member = true);
+  NDNBOOST_STATIC_CONSTANT(bool, is_data_member = false);
+  NDNBOOST_STATIC_CONSTANT(bool, is_function_member = true);
 };
 template<class T, class U, class A1, class A2>
 struct member_pointer<T (U::*)(A1, A2) const volatile> {
   typedef T type;
   typedef U class_type;
   typedef const volatile U qualified_class_type;
-  BOOST_STATIC_CONSTANT(bool, is_data_member = false);
-  BOOST_STATIC_CONSTANT(bool, is_function_member = true);
+  NDNBOOST_STATIC_CONSTANT(bool, is_data_member = false);
+  NDNBOOST_STATIC_CONSTANT(bool, is_function_member = true);
 };
 template<class T, class U, class A1, class A2, class A3>
 struct member_pointer<T (U::*)(A1, A2, A3) const volatile> {
   typedef T type;
   typedef U class_type;
   typedef const volatile U qualified_class_type;
-  BOOST_STATIC_CONSTANT(bool, is_data_member = false);
-  BOOST_STATIC_CONSTANT(bool, is_function_member = true);
+  NDNBOOST_STATIC_CONSTANT(bool, is_data_member = false);
+  NDNBOOST_STATIC_CONSTANT(bool, is_function_member = true);
 };
 template<class T, class U, class A1, class A2, class A3, class A4>
 struct member_pointer<T (U::*)(A1, A2, A3, A4) const volatile> {
@@ -369,8 +369,8 @@
   typedef T type;
   typedef U class_type;
   typedef const volatile U qualified_class_type;
-  BOOST_STATIC_CONSTANT(bool, is_data_member = false);
-  BOOST_STATIC_CONSTANT(bool, is_function_member = true);
+  NDNBOOST_STATIC_CONSTANT(bool, is_data_member = false);
+  NDNBOOST_STATIC_CONSTANT(bool, is_function_member = true);
 };
 template<class T, class U, class A1, class A2, class A3, class A4, class A5,
          class A6>
@@ -378,8 +378,8 @@
   typedef T type;
   typedef U class_type;
   typedef const volatile U qualified_class_type;
-  BOOST_STATIC_CONSTANT(bool, is_data_member = false);
-  BOOST_STATIC_CONSTANT(bool, is_function_member = true);
+  NDNBOOST_STATIC_CONSTANT(bool, is_data_member = false);
+  NDNBOOST_STATIC_CONSTANT(bool, is_function_member = true);
 };
 template<class T, class U, class A1, class A2, class A3, class A4, class A5,
          class A6, class A7>
@@ -387,8 +387,8 @@
   typedef T type;
   typedef U class_type;
   typedef const volatile U qualified_class_type;
-  BOOST_STATIC_CONSTANT(bool, is_data_member = false);
-  BOOST_STATIC_CONSTANT(bool, is_function_member = true);
+  NDNBOOST_STATIC_CONSTANT(bool, is_data_member = false);
+  NDNBOOST_STATIC_CONSTANT(bool, is_function_member = true);
 };
 template<class T, class U, class A1, class A2, class A3, class A4, class A5,
          class A6, class A7, class A8>
@@ -396,8 +396,8 @@
   typedef T type;
   typedef U class_type;
   typedef const volatile U qualified_class_type;
-  BOOST_STATIC_CONSTANT(bool, is_data_member = false);
-  BOOST_STATIC_CONSTANT(bool, is_function_member = true);
+  NDNBOOST_STATIC_CONSTANT(bool, is_data_member = false);
+  NDNBOOST_STATIC_CONSTANT(bool, is_function_member = true);
 };
 template<class T, class U, class A1, class A2, class A3, class A4, class A5,
          class A6, class A7, class A8, class A9>
@@ -405,8 +405,8 @@
   typedef T type;
   typedef U class_type;
   typedef const volatile U qualified_class_type;
-  BOOST_STATIC_CONSTANT(bool, is_data_member = false);
-  BOOST_STATIC_CONSTANT(bool, is_function_member = true);
+  NDNBOOST_STATIC_CONSTANT(bool, is_data_member = false);
+  NDNBOOST_STATIC_CONSTANT(bool, is_function_member = true);
 };
 
 } // detail
diff --git a/include/ndnboost/lambda/detail/operator_actions.hpp b/include/ndnboost/lambda/detail/operator_actions.hpp
index 4947792..4d05f9f 100644
--- a/include/ndnboost/lambda/detail/operator_actions.hpp
+++ b/include/ndnboost/lambda/detail/operator_actions.hpp
@@ -8,8 +8,8 @@
 
 // For more information, see http://lambda.cs.utu.fi 
 
-#ifndef BOOST_LAMBDA_OPERATOR_ACTIONS_HPP
-#define BOOST_LAMBDA_OPERATOR_ACTIONS_HPP
+#ifndef NDNBOOST_LAMBDA_OPERATOR_ACTIONS_HPP
+#define NDNBOOST_LAMBDA_OPERATOR_ACTIONS_HPP
 
 namespace ndnboost { 
 namespace lambda {
@@ -78,48 +78,48 @@
   // deduction.
 
 template <class Act> struct is_protectable<arithmetic_action<Act> > {
-  BOOST_STATIC_CONSTANT(bool, value = true);
+  NDNBOOST_STATIC_CONSTANT(bool, value = true);
 };
 template <class Act> struct is_protectable<bitwise_action<Act> > {
-  BOOST_STATIC_CONSTANT(bool, value = true);
+  NDNBOOST_STATIC_CONSTANT(bool, value = true);
 };
 template <class Act> struct is_protectable<logical_action<Act> > {
-  BOOST_STATIC_CONSTANT(bool, value = true);
+  NDNBOOST_STATIC_CONSTANT(bool, value = true);
 };
 template <class Act> struct is_protectable<relational_action<Act> > {
-  BOOST_STATIC_CONSTANT(bool, value = true);
+  NDNBOOST_STATIC_CONSTANT(bool, value = true);
 };
 template <class Act> 
 struct is_protectable<arithmetic_assignment_action<Act> > {
-  BOOST_STATIC_CONSTANT(bool, value = true);
+  NDNBOOST_STATIC_CONSTANT(bool, value = true);
 };
 template <class Act> struct is_protectable<bitwise_assignment_action<Act> > {
-  BOOST_STATIC_CONSTANT(bool, value = true);
+  NDNBOOST_STATIC_CONSTANT(bool, value = true);
 };
 template <class Act> struct is_protectable<unary_arithmetic_action<Act> > {
-  BOOST_STATIC_CONSTANT(bool, value = true);
+  NDNBOOST_STATIC_CONSTANT(bool, value = true);
 };
 template <class Act> 
 struct is_protectable<pre_increment_decrement_action<Act> > {
-  BOOST_STATIC_CONSTANT(bool, value = true);
+  NDNBOOST_STATIC_CONSTANT(bool, value = true);
 };
 template <class Act> struct 
 is_protectable<post_increment_decrement_action<Act> > {
-  BOOST_STATIC_CONSTANT(bool, value = true);
+  NDNBOOST_STATIC_CONSTANT(bool, value = true);
 };
 
 template <> struct is_protectable<other_action<addressof_action> > {
-  BOOST_STATIC_CONSTANT(bool, value = true);
+  NDNBOOST_STATIC_CONSTANT(bool, value = true);
 };
 template <> struct is_protectable<other_action<contentsof_action> > {
-  BOOST_STATIC_CONSTANT(bool, value = true);
+  NDNBOOST_STATIC_CONSTANT(bool, value = true);
 };
 
 template<> struct is_protectable<other_action<subscript_action> > {
-  BOOST_STATIC_CONSTANT(bool, value = true);
+  NDNBOOST_STATIC_CONSTANT(bool, value = true);
 };
 template<> struct is_protectable<other_action<assignment_action> > {
-  BOOST_STATIC_CONSTANT(bool, value = true);
+  NDNBOOST_STATIC_CONSTANT(bool, value = true);
 };
 
 // NOTE: comma action is also protectable, but the specialization is
diff --git a/include/ndnboost/lambda/detail/operator_lambda_func_base.hpp b/include/ndnboost/lambda/detail/operator_lambda_func_base.hpp
index 777726a..20bb45d 100644
--- a/include/ndnboost/lambda/detail/operator_lambda_func_base.hpp
+++ b/include/ndnboost/lambda/detail/operator_lambda_func_base.hpp
@@ -10,8 +10,8 @@
 
 // ------------------------------------------------------------
 
-#ifndef BOOST_LAMBDA_OPERATOR_LAMBDA_FUNC_BASE_HPP
-#define BOOST_LAMBDA_OPERATOR_LAMBDA_FUNC_BASE_HPP
+#ifndef NDNBOOST_LAMBDA_OPERATOR_LAMBDA_FUNC_BASE_HPP
+#define NDNBOOST_LAMBDA_OPERATOR_LAMBDA_FUNC_BASE_HPP
 
 namespace ndnboost { 
 namespace lambda {
@@ -145,7 +145,7 @@
 };  
 
 
-#define BOOST_LAMBDA_BINARY_ACTION(SYMBOL, ACTION_CLASS)  \
+#define NDNBOOST_LAMBDA_BINARY_ACTION(SYMBOL, ACTION_CLASS)  \
 template<class Args>                                                      \
 class lambda_functor_base<ACTION_CLASS, Args> {                           \
 public:                                                                   \
@@ -165,7 +165,7 @@
   };                                                                      \
 };  
 
-#define BOOST_LAMBDA_PREFIX_UNARY_ACTION(SYMBOL, ACTION_CLASS)            \
+#define NDNBOOST_LAMBDA_PREFIX_UNARY_ACTION(SYMBOL, ACTION_CLASS)            \
 template<class Args>                                                      \
 class lambda_functor_base<ACTION_CLASS, Args> {                           \
 public:                                                                   \
@@ -184,7 +184,7 @@
   };                                                                      \
 };  
 
-#define BOOST_LAMBDA_POSTFIX_UNARY_ACTION(SYMBOL, ACTION_CLASS)           \
+#define NDNBOOST_LAMBDA_POSTFIX_UNARY_ACTION(SYMBOL, ACTION_CLASS)           \
 template<class Args>                                                      \
 class lambda_functor_base<ACTION_CLASS, Args> {                           \
 public:                                                                   \
@@ -203,57 +203,57 @@
   };                                                                      \
 };  
 
-BOOST_LAMBDA_BINARY_ACTION(+,arithmetic_action<plus_action>)
-BOOST_LAMBDA_BINARY_ACTION(-,arithmetic_action<minus_action>)
-BOOST_LAMBDA_BINARY_ACTION(*,arithmetic_action<multiply_action>)
-BOOST_LAMBDA_BINARY_ACTION(/,arithmetic_action<divide_action>)
-BOOST_LAMBDA_BINARY_ACTION(%,arithmetic_action<remainder_action>)
+NDNBOOST_LAMBDA_BINARY_ACTION(+,arithmetic_action<plus_action>)
+NDNBOOST_LAMBDA_BINARY_ACTION(-,arithmetic_action<minus_action>)
+NDNBOOST_LAMBDA_BINARY_ACTION(*,arithmetic_action<multiply_action>)
+NDNBOOST_LAMBDA_BINARY_ACTION(/,arithmetic_action<divide_action>)
+NDNBOOST_LAMBDA_BINARY_ACTION(%,arithmetic_action<remainder_action>)
 
-BOOST_LAMBDA_BINARY_ACTION(<<,bitwise_action<leftshift_action>)
-BOOST_LAMBDA_BINARY_ACTION(>>,bitwise_action<rightshift_action>)
-BOOST_LAMBDA_BINARY_ACTION(&,bitwise_action<and_action>)
-BOOST_LAMBDA_BINARY_ACTION(|,bitwise_action<or_action>)
-BOOST_LAMBDA_BINARY_ACTION(^,bitwise_action<xor_action>)
+NDNBOOST_LAMBDA_BINARY_ACTION(<<,bitwise_action<leftshift_action>)
+NDNBOOST_LAMBDA_BINARY_ACTION(>>,bitwise_action<rightshift_action>)
+NDNBOOST_LAMBDA_BINARY_ACTION(&,bitwise_action<and_action>)
+NDNBOOST_LAMBDA_BINARY_ACTION(|,bitwise_action<or_action>)
+NDNBOOST_LAMBDA_BINARY_ACTION(^,bitwise_action<xor_action>)
 
-BOOST_LAMBDA_BINARY_ACTION(<,relational_action<less_action>)
-BOOST_LAMBDA_BINARY_ACTION(>,relational_action<greater_action>)
-BOOST_LAMBDA_BINARY_ACTION(<=,relational_action<lessorequal_action>)
-BOOST_LAMBDA_BINARY_ACTION(>=,relational_action<greaterorequal_action>)
-BOOST_LAMBDA_BINARY_ACTION(==,relational_action<equal_action>)
-BOOST_LAMBDA_BINARY_ACTION(!=,relational_action<notequal_action>)
+NDNBOOST_LAMBDA_BINARY_ACTION(<,relational_action<less_action>)
+NDNBOOST_LAMBDA_BINARY_ACTION(>,relational_action<greater_action>)
+NDNBOOST_LAMBDA_BINARY_ACTION(<=,relational_action<lessorequal_action>)
+NDNBOOST_LAMBDA_BINARY_ACTION(>=,relational_action<greaterorequal_action>)
+NDNBOOST_LAMBDA_BINARY_ACTION(==,relational_action<equal_action>)
+NDNBOOST_LAMBDA_BINARY_ACTION(!=,relational_action<notequal_action>)
 
-BOOST_LAMBDA_BINARY_ACTION(+=,arithmetic_assignment_action<plus_action>)
-BOOST_LAMBDA_BINARY_ACTION(-=,arithmetic_assignment_action<minus_action>)
-BOOST_LAMBDA_BINARY_ACTION(*=,arithmetic_assignment_action<multiply_action>)
-BOOST_LAMBDA_BINARY_ACTION(/=,arithmetic_assignment_action<divide_action>)
-BOOST_LAMBDA_BINARY_ACTION(%=,arithmetic_assignment_action<remainder_action>)
+NDNBOOST_LAMBDA_BINARY_ACTION(+=,arithmetic_assignment_action<plus_action>)
+NDNBOOST_LAMBDA_BINARY_ACTION(-=,arithmetic_assignment_action<minus_action>)
+NDNBOOST_LAMBDA_BINARY_ACTION(*=,arithmetic_assignment_action<multiply_action>)
+NDNBOOST_LAMBDA_BINARY_ACTION(/=,arithmetic_assignment_action<divide_action>)
+NDNBOOST_LAMBDA_BINARY_ACTION(%=,arithmetic_assignment_action<remainder_action>)
 
-BOOST_LAMBDA_BINARY_ACTION(<<=,bitwise_assignment_action<leftshift_action>)
-BOOST_LAMBDA_BINARY_ACTION(>>=,bitwise_assignment_action<rightshift_action>)
-BOOST_LAMBDA_BINARY_ACTION(&=,bitwise_assignment_action<and_action>)
-BOOST_LAMBDA_BINARY_ACTION(|=,bitwise_assignment_action<or_action>)
-BOOST_LAMBDA_BINARY_ACTION(^=,bitwise_assignment_action<xor_action>)
+NDNBOOST_LAMBDA_BINARY_ACTION(<<=,bitwise_assignment_action<leftshift_action>)
+NDNBOOST_LAMBDA_BINARY_ACTION(>>=,bitwise_assignment_action<rightshift_action>)
+NDNBOOST_LAMBDA_BINARY_ACTION(&=,bitwise_assignment_action<and_action>)
+NDNBOOST_LAMBDA_BINARY_ACTION(|=,bitwise_assignment_action<or_action>)
+NDNBOOST_LAMBDA_BINARY_ACTION(^=,bitwise_assignment_action<xor_action>)
 
-BOOST_LAMBDA_BINARY_ACTION(=,other_action< assignment_action>)
+NDNBOOST_LAMBDA_BINARY_ACTION(=,other_action< assignment_action>)
 
 
-BOOST_LAMBDA_PREFIX_UNARY_ACTION(+, unary_arithmetic_action<plus_action>)
-BOOST_LAMBDA_PREFIX_UNARY_ACTION(-, unary_arithmetic_action<minus_action>)
-BOOST_LAMBDA_PREFIX_UNARY_ACTION(~, bitwise_action<not_action>)
-BOOST_LAMBDA_PREFIX_UNARY_ACTION(!, logical_action<not_action>)
-BOOST_LAMBDA_PREFIX_UNARY_ACTION(++, pre_increment_decrement_action<increment_action>)
-BOOST_LAMBDA_PREFIX_UNARY_ACTION(--, pre_increment_decrement_action<decrement_action>)
+NDNBOOST_LAMBDA_PREFIX_UNARY_ACTION(+, unary_arithmetic_action<plus_action>)
+NDNBOOST_LAMBDA_PREFIX_UNARY_ACTION(-, unary_arithmetic_action<minus_action>)
+NDNBOOST_LAMBDA_PREFIX_UNARY_ACTION(~, bitwise_action<not_action>)
+NDNBOOST_LAMBDA_PREFIX_UNARY_ACTION(!, logical_action<not_action>)
+NDNBOOST_LAMBDA_PREFIX_UNARY_ACTION(++, pre_increment_decrement_action<increment_action>)
+NDNBOOST_LAMBDA_PREFIX_UNARY_ACTION(--, pre_increment_decrement_action<decrement_action>)
 
-BOOST_LAMBDA_PREFIX_UNARY_ACTION(&,other_action<addressof_action>)
-BOOST_LAMBDA_PREFIX_UNARY_ACTION(*,other_action<contentsof_action>)
+NDNBOOST_LAMBDA_PREFIX_UNARY_ACTION(&,other_action<addressof_action>)
+NDNBOOST_LAMBDA_PREFIX_UNARY_ACTION(*,other_action<contentsof_action>)
 
-BOOST_LAMBDA_POSTFIX_UNARY_ACTION(++, post_increment_decrement_action<increment_action>)
-BOOST_LAMBDA_POSTFIX_UNARY_ACTION(--, post_increment_decrement_action<decrement_action>)
+NDNBOOST_LAMBDA_POSTFIX_UNARY_ACTION(++, post_increment_decrement_action<increment_action>)
+NDNBOOST_LAMBDA_POSTFIX_UNARY_ACTION(--, post_increment_decrement_action<decrement_action>)
 
 
-#undef BOOST_LAMBDA_POSTFIX_UNARY_ACTION
-#undef BOOST_LAMBDA_PREFIX_UNARY_ACTION
-#undef BOOST_LAMBDA_BINARY_ACTION
+#undef NDNBOOST_LAMBDA_POSTFIX_UNARY_ACTION
+#undef NDNBOOST_LAMBDA_PREFIX_UNARY_ACTION
+#undef NDNBOOST_LAMBDA_BINARY_ACTION
 
 } // namespace lambda
 } // namespace ndnboost
diff --git a/include/ndnboost/lambda/detail/operator_return_type_traits.hpp b/include/ndnboost/lambda/detail/operator_return_type_traits.hpp
index 0ee927b..10b37ca 100644
--- a/include/ndnboost/lambda/detail/operator_return_type_traits.hpp
+++ b/include/ndnboost/lambda/detail/operator_return_type_traits.hpp
@@ -8,8 +8,8 @@
 //
 // For more information, see www.boost.org
 
-#ifndef BOOST_LAMBDA_OPERATOR_RETURN_TYPE_TRAITS_HPP
-#define BOOST_LAMBDA_OPERATOR_RETURN_TYPE_TRAITS_HPP
+#ifndef NDNBOOST_LAMBDA_OPERATOR_RETURN_TYPE_TRAITS_HPP
+#define NDNBOOST_LAMBDA_OPERATOR_RETURN_TYPE_TRAITS_HPP
 
 #include "ndnboost/lambda/detail/is_instance_of.hpp"
 #include "ndnboost/type_traits/same_traits.hpp"
@@ -530,13 +530,13 @@
   // bitwise operators not defined for floating point types
   // these test are not strictly needed here, since the error will be caught in
   // the apply function
-  BOOST_STATIC_ASSERT(!(ndnboost::is_float<plain_A>::value && ndnboost::is_float<plain_B>::value));
+  NDNBOOST_STATIC_ASSERT(!(ndnboost::is_float<plain_A>::value && ndnboost::is_float<plain_B>::value));
 
 };
 
 namespace detail {
 
-#ifdef BOOST_NO_TEMPLATED_STREAMS
+#ifdef NDNBOOST_NO_TEMPLATED_STREAMS
 
 template<class A, class B>
 struct leftshift_type {
diff --git a/include/ndnboost/lambda/detail/operators.hpp b/include/ndnboost/lambda/detail/operators.hpp
index 7c3bc8b..fac9a48 100644
--- a/include/ndnboost/lambda/detail/operators.hpp
+++ b/include/ndnboost/lambda/detail/operators.hpp
@@ -10,16 +10,16 @@
 
 // ---------------------------------------------------------------
 
-#ifndef BOOST_LAMBDA_OPERATORS_HPP
-#define BOOST_LAMBDA_OPERATORS_HPP
+#ifndef NDNBOOST_LAMBDA_OPERATORS_HPP
+#define NDNBOOST_LAMBDA_OPERATORS_HPP
 
 #include "ndnboost/lambda/detail/is_instance_of.hpp"
 
 namespace ndnboost { 
 namespace lambda {
 
-#if defined BOOST_LAMBDA_BE1
-#error "Multiple defines of BOOST_LAMBDA_BE1"
+#if defined NDNBOOST_LAMBDA_BE1
+#error "Multiple defines of NDNBOOST_LAMBDA_BE1"
 #endif
 
   // For all BOOSTA_LAMBDA_BE* macros:
@@ -31,7 +31,7 @@
   // the need to pass in emtpy macro arguments, which gives warnings on some
   // compilers
 
-#define BOOST_LAMBDA_BE1(OPER_NAME, ACTION, CONSTA, CONSTB, CONVERSION)      \
+#define NDNBOOST_LAMBDA_BE1(OPER_NAME, ACTION, CONSTA, CONSTB, CONVERSION)      \
 template<class Arg, class B>                                                 \
 inline const                                                                 \
 lambda_functor<                                                              \
@@ -50,11 +50,11 @@
 }
 
 
-#if defined BOOST_LAMBDA_BE2
-#error "Multiple defines of BOOST_LAMBDA_BE2"
+#if defined NDNBOOST_LAMBDA_BE2
+#error "Multiple defines of NDNBOOST_LAMBDA_BE2"
 #endif
 
-#define BOOST_LAMBDA_BE2(OPER_NAME, ACTION, CONSTA, CONSTB, CONVERSION)      \
+#define NDNBOOST_LAMBDA_BE2(OPER_NAME, ACTION, CONSTA, CONSTB, CONVERSION)      \
 template<class A, class Arg>                                                 \
 inline const                                                                 \
 lambda_functor<                                                              \
@@ -73,11 +73,11 @@
 }
 
 
-#if defined BOOST_LAMBDA_BE3
-#error "Multiple defines of BOOST_LAMBDA_BE3"
+#if defined NDNBOOST_LAMBDA_BE3
+#error "Multiple defines of NDNBOOST_LAMBDA_BE3"
 #endif
 
-#define BOOST_LAMBDA_BE3(OPER_NAME, ACTION, CONSTA, CONSTB, CONVERSION)    \
+#define NDNBOOST_LAMBDA_BE3(OPER_NAME, ACTION, CONSTA, CONSTB, CONVERSION)    \
 template<class ArgA, class ArgB>                                           \
 inline const                                                               \
 lambda_functor<                                                            \
@@ -95,58 +95,58 @@
   (tuple<lambda_functor<ArgA>, lambda_functor<ArgB> >(a, b));              \
 }
 
-#if defined BOOST_LAMBDA_BE
-#error "Multiple defines of BOOST_LAMBDA_BE"
+#if defined NDNBOOST_LAMBDA_BE
+#error "Multiple defines of NDNBOOST_LAMBDA_BE"
 #endif
 
-#define BOOST_LAMBDA_BE(OPER_NAME, ACTION, CONSTA, CONSTB, CONST_CONVERSION) \
-BOOST_LAMBDA_BE1(OPER_NAME, ACTION, CONSTA, CONSTB, CONST_CONVERSION)        \
-BOOST_LAMBDA_BE2(OPER_NAME, ACTION, CONSTA, CONSTB, CONST_CONVERSION)        \
-BOOST_LAMBDA_BE3(OPER_NAME, ACTION, CONSTA, CONSTB, CONST_CONVERSION)
+#define NDNBOOST_LAMBDA_BE(OPER_NAME, ACTION, CONSTA, CONSTB, CONST_CONVERSION) \
+NDNBOOST_LAMBDA_BE1(OPER_NAME, ACTION, CONSTA, CONSTB, CONST_CONVERSION)        \
+NDNBOOST_LAMBDA_BE2(OPER_NAME, ACTION, CONSTA, CONSTB, CONST_CONVERSION)        \
+NDNBOOST_LAMBDA_BE3(OPER_NAME, ACTION, CONSTA, CONSTB, CONST_CONVERSION)
 
-#define BOOST_LAMBDA_EMPTY() 
+#define NDNBOOST_LAMBDA_EMPTY() 
 
-BOOST_LAMBDA_BE(operator+, arithmetic_action<plus_action>, const A, const B, const_copy_argument)
-BOOST_LAMBDA_BE(operator-, arithmetic_action<minus_action>, const A, const B, const_copy_argument)
-BOOST_LAMBDA_BE(operator*, arithmetic_action<multiply_action>, const A, const B, const_copy_argument)
-BOOST_LAMBDA_BE(operator/, arithmetic_action<divide_action>, const A, const B, const_copy_argument)
-BOOST_LAMBDA_BE(operator%, arithmetic_action<remainder_action>, const A, const B, const_copy_argument)
-BOOST_LAMBDA_BE(operator<<, bitwise_action<leftshift_action>, const A, const B, const_copy_argument)
-BOOST_LAMBDA_BE(operator>>, bitwise_action<rightshift_action>, const A, const B, const_copy_argument)
-BOOST_LAMBDA_BE(operator&, bitwise_action<and_action>, const A, const B, const_copy_argument)
-BOOST_LAMBDA_BE(operator|, bitwise_action<or_action>, const A, const B, const_copy_argument)
-BOOST_LAMBDA_BE(operator^, bitwise_action<xor_action>, const A, const B, const_copy_argument)
-BOOST_LAMBDA_BE(operator&&, logical_action<and_action>, const A, const B, const_copy_argument)
-BOOST_LAMBDA_BE(operator||, logical_action<or_action>, const A, const B, const_copy_argument)
-BOOST_LAMBDA_BE(operator<, relational_action<less_action>, const A, const B, const_copy_argument)
-BOOST_LAMBDA_BE(operator>, relational_action<greater_action>, const A, const B, const_copy_argument)
-BOOST_LAMBDA_BE(operator<=, relational_action<lessorequal_action>, const A, const B, const_copy_argument)
-BOOST_LAMBDA_BE(operator>=, relational_action<greaterorequal_action>, const A, const B, const_copy_argument)
-BOOST_LAMBDA_BE(operator==, relational_action<equal_action>, const A, const B, const_copy_argument)
-BOOST_LAMBDA_BE(operator!=, relational_action<notequal_action>, const A, const B, const_copy_argument)
+NDNBOOST_LAMBDA_BE(operator+, arithmetic_action<plus_action>, const A, const B, const_copy_argument)
+NDNBOOST_LAMBDA_BE(operator-, arithmetic_action<minus_action>, const A, const B, const_copy_argument)
+NDNBOOST_LAMBDA_BE(operator*, arithmetic_action<multiply_action>, const A, const B, const_copy_argument)
+NDNBOOST_LAMBDA_BE(operator/, arithmetic_action<divide_action>, const A, const B, const_copy_argument)
+NDNBOOST_LAMBDA_BE(operator%, arithmetic_action<remainder_action>, const A, const B, const_copy_argument)
+NDNBOOST_LAMBDA_BE(operator<<, bitwise_action<leftshift_action>, const A, const B, const_copy_argument)
+NDNBOOST_LAMBDA_BE(operator>>, bitwise_action<rightshift_action>, const A, const B, const_copy_argument)
+NDNBOOST_LAMBDA_BE(operator&, bitwise_action<and_action>, const A, const B, const_copy_argument)
+NDNBOOST_LAMBDA_BE(operator|, bitwise_action<or_action>, const A, const B, const_copy_argument)
+NDNBOOST_LAMBDA_BE(operator^, bitwise_action<xor_action>, const A, const B, const_copy_argument)
+NDNBOOST_LAMBDA_BE(operator&&, logical_action<and_action>, const A, const B, const_copy_argument)
+NDNBOOST_LAMBDA_BE(operator||, logical_action<or_action>, const A, const B, const_copy_argument)
+NDNBOOST_LAMBDA_BE(operator<, relational_action<less_action>, const A, const B, const_copy_argument)
+NDNBOOST_LAMBDA_BE(operator>, relational_action<greater_action>, const A, const B, const_copy_argument)
+NDNBOOST_LAMBDA_BE(operator<=, relational_action<lessorequal_action>, const A, const B, const_copy_argument)
+NDNBOOST_LAMBDA_BE(operator>=, relational_action<greaterorequal_action>, const A, const B, const_copy_argument)
+NDNBOOST_LAMBDA_BE(operator==, relational_action<equal_action>, const A, const B, const_copy_argument)
+NDNBOOST_LAMBDA_BE(operator!=, relational_action<notequal_action>, const A, const B, const_copy_argument)
 
-BOOST_LAMBDA_BE(operator+=, arithmetic_assignment_action<plus_action>, A, const B, reference_argument)
-BOOST_LAMBDA_BE(operator-=, arithmetic_assignment_action<minus_action>, A, const B, reference_argument)
-BOOST_LAMBDA_BE(operator*=, arithmetic_assignment_action<multiply_action>, A, const B, reference_argument)
-BOOST_LAMBDA_BE(operator/=, arithmetic_assignment_action<divide_action>, A, const B, reference_argument)
-BOOST_LAMBDA_BE(operator%=, arithmetic_assignment_action<remainder_action>, A, const B, reference_argument)
-BOOST_LAMBDA_BE(operator<<=, bitwise_assignment_action<leftshift_action>, A, const B, reference_argument)
-BOOST_LAMBDA_BE(operator>>=, bitwise_assignment_action<rightshift_action>, A, const B, reference_argument)
-BOOST_LAMBDA_BE(operator&=, bitwise_assignment_action<and_action>, A, const B, reference_argument)
-BOOST_LAMBDA_BE(operator|=, bitwise_assignment_action<or_action>, A, const B, reference_argument)
-BOOST_LAMBDA_BE(operator^=, bitwise_assignment_action<xor_action>, A, const B, reference_argument)
+NDNBOOST_LAMBDA_BE(operator+=, arithmetic_assignment_action<plus_action>, A, const B, reference_argument)
+NDNBOOST_LAMBDA_BE(operator-=, arithmetic_assignment_action<minus_action>, A, const B, reference_argument)
+NDNBOOST_LAMBDA_BE(operator*=, arithmetic_assignment_action<multiply_action>, A, const B, reference_argument)
+NDNBOOST_LAMBDA_BE(operator/=, arithmetic_assignment_action<divide_action>, A, const B, reference_argument)
+NDNBOOST_LAMBDA_BE(operator%=, arithmetic_assignment_action<remainder_action>, A, const B, reference_argument)
+NDNBOOST_LAMBDA_BE(operator<<=, bitwise_assignment_action<leftshift_action>, A, const B, reference_argument)
+NDNBOOST_LAMBDA_BE(operator>>=, bitwise_assignment_action<rightshift_action>, A, const B, reference_argument)
+NDNBOOST_LAMBDA_BE(operator&=, bitwise_assignment_action<and_action>, A, const B, reference_argument)
+NDNBOOST_LAMBDA_BE(operator|=, bitwise_assignment_action<or_action>, A, const B, reference_argument)
+NDNBOOST_LAMBDA_BE(operator^=, bitwise_assignment_action<xor_action>, A, const B, reference_argument)
 
 
 // A special trick for comma operator for correct preprocessing
-#if defined BOOST_LAMBDA_COMMA_OPERATOR_NAME
-#error "Multiple defines of BOOST_LAMBDA_COMMA_OPERATOR_NAME"
+#if defined NDNBOOST_LAMBDA_COMMA_OPERATOR_NAME
+#error "Multiple defines of NDNBOOST_LAMBDA_COMMA_OPERATOR_NAME"
 #endif
 
-#define BOOST_LAMBDA_COMMA_OPERATOR_NAME operator,
+#define NDNBOOST_LAMBDA_COMMA_OPERATOR_NAME operator,
 
-BOOST_LAMBDA_BE1(BOOST_LAMBDA_COMMA_OPERATOR_NAME, other_action<comma_action>, const A, const B, const_copy_argument)
-BOOST_LAMBDA_BE2(BOOST_LAMBDA_COMMA_OPERATOR_NAME, other_action<comma_action>, const A, const B, const_copy_argument)
-BOOST_LAMBDA_BE3(BOOST_LAMBDA_COMMA_OPERATOR_NAME, other_action<comma_action>, const A, const B, const_copy_argument)
+NDNBOOST_LAMBDA_BE1(NDNBOOST_LAMBDA_COMMA_OPERATOR_NAME, other_action<comma_action>, const A, const B, const_copy_argument)
+NDNBOOST_LAMBDA_BE2(NDNBOOST_LAMBDA_COMMA_OPERATOR_NAME, other_action<comma_action>, const A, const B, const_copy_argument)
+NDNBOOST_LAMBDA_BE3(NDNBOOST_LAMBDA_COMMA_OPERATOR_NAME, other_action<comma_action>, const A, const B, const_copy_argument)
 
 
 
@@ -161,7 +161,7 @@
 
 // Note that the overloading is const vs. non-const first argument
 
-#ifdef BOOST_NO_TEMPLATED_STREAMS
+#ifdef NDNBOOST_NO_TEMPLATED_STREAMS
 template<class T> struct convert_ostream_to_ref_others_to_c_plain_by_default {
   typedef typename detail::IF<
                        ndnboost::is_convertible<T*, std::ostream*>::value,
@@ -202,8 +202,8 @@
 
 } // detail
 
-BOOST_LAMBDA_BE2(operator<<, bitwise_action< leftshift_action>, A, const B, detail::convert_ostream_to_ref_others_to_c_plain_by_default)
-BOOST_LAMBDA_BE2(operator>>, bitwise_action< rightshift_action>, A, const B, detail::convert_istream_to_ref_others_to_c_plain_by_default)      
+NDNBOOST_LAMBDA_BE2(operator<<, bitwise_action< leftshift_action>, A, const B, detail::convert_ostream_to_ref_others_to_c_plain_by_default)
+NDNBOOST_LAMBDA_BE2(operator>>, bitwise_action< rightshift_action>, A, const B, detail::convert_istream_to_ref_others_to_c_plain_by_default)      
 
 
 // special case for io_manipulators.
@@ -254,11 +254,11 @@
 // the result of a+1 would be const
 // To make the latter work too, 
 // non-const arrays are taken as non-const and stored as non-const as well.
-#if defined  BOOST_LAMBDA_PTR_ARITHMETIC_E1
-#error "Multiple defines of  BOOST_LAMBDA_PTR_ARITHMETIC_E1"
+#if defined  NDNBOOST_LAMBDA_PTR_ARITHMETIC_E1
+#error "Multiple defines of  NDNBOOST_LAMBDA_PTR_ARITHMETIC_E1"
 #endif
 
-#define BOOST_LAMBDA_PTR_ARITHMETIC_E1(OPER_NAME, ACTION, CONSTB)           \
+#define NDNBOOST_LAMBDA_PTR_ARITHMETIC_E1(OPER_NAME, ACTION, CONSTB)           \
 template<class Arg, int N, class B>                                         \
 inline const                                                                \
 lambda_functor<                                                             \
@@ -272,11 +272,11 @@
 }
 
 
-#if defined  BOOST_LAMBDA_PTR_ARITHMETIC_E2
-#error "Multiple defines of  BOOST_LAMBDA_PTR_ARITHMETIC_E2"
+#if defined  NDNBOOST_LAMBDA_PTR_ARITHMETIC_E2
+#error "Multiple defines of  NDNBOOST_LAMBDA_PTR_ARITHMETIC_E2"
 #endif
 
-#define BOOST_LAMBDA_PTR_ARITHMETIC_E2(OPER_NAME, ACTION, CONSTA)           \
+#define NDNBOOST_LAMBDA_PTR_ARITHMETIC_E2(OPER_NAME, ACTION, CONSTA)           \
 template<int N, class A, class Arg>                                         \
 inline const                                                                \
 lambda_functor<                                                             \
@@ -290,38 +290,38 @@
 }
 
 
-BOOST_LAMBDA_PTR_ARITHMETIC_E1(operator+, arithmetic_action<plus_action>, B)
-BOOST_LAMBDA_PTR_ARITHMETIC_E2(operator+, arithmetic_action<plus_action>, A)
-BOOST_LAMBDA_PTR_ARITHMETIC_E1(operator+, arithmetic_action<plus_action>,const B)
-BOOST_LAMBDA_PTR_ARITHMETIC_E2(operator+, arithmetic_action<plus_action>,const A)
+NDNBOOST_LAMBDA_PTR_ARITHMETIC_E1(operator+, arithmetic_action<plus_action>, B)
+NDNBOOST_LAMBDA_PTR_ARITHMETIC_E2(operator+, arithmetic_action<plus_action>, A)
+NDNBOOST_LAMBDA_PTR_ARITHMETIC_E1(operator+, arithmetic_action<plus_action>,const B)
+NDNBOOST_LAMBDA_PTR_ARITHMETIC_E2(operator+, arithmetic_action<plus_action>,const A)
 
 
-//BOOST_LAMBDA_PTR_ARITHMETIC_E1(operator-, arithmetic_action<minus_action>)
+//NDNBOOST_LAMBDA_PTR_ARITHMETIC_E1(operator-, arithmetic_action<minus_action>)
 // This is not needed, since the result of ptr-ptr is an rvalue anyway
 
-BOOST_LAMBDA_PTR_ARITHMETIC_E2(operator-, arithmetic_action<minus_action>, A)
-BOOST_LAMBDA_PTR_ARITHMETIC_E2(operator-, arithmetic_action<minus_action>, const A)
+NDNBOOST_LAMBDA_PTR_ARITHMETIC_E2(operator-, arithmetic_action<minus_action>, A)
+NDNBOOST_LAMBDA_PTR_ARITHMETIC_E2(operator-, arithmetic_action<minus_action>, const A)
 
 
-#undef BOOST_LAMBDA_BE1
-#undef BOOST_LAMBDA_BE2
-#undef BOOST_LAMBDA_BE3
-#undef BOOST_LAMBDA_BE
-#undef BOOST_LAMBDA_COMMA_OPERATOR_NAME
+#undef NDNBOOST_LAMBDA_BE1
+#undef NDNBOOST_LAMBDA_BE2
+#undef NDNBOOST_LAMBDA_BE3
+#undef NDNBOOST_LAMBDA_BE
+#undef NDNBOOST_LAMBDA_COMMA_OPERATOR_NAME
 
-#undef BOOST_LAMBDA_PTR_ARITHMETIC_E1
-#undef BOOST_LAMBDA_PTR_ARITHMETIC_E2
+#undef NDNBOOST_LAMBDA_PTR_ARITHMETIC_E1
+#undef NDNBOOST_LAMBDA_PTR_ARITHMETIC_E2
 
 
 // ---------------------------------------------------------------------
 // unary operators -----------------------------------------------------
 // ---------------------------------------------------------------------
 
-#if defined BOOST_LAMBDA_UE
-#error "Multiple defines of BOOST_LAMBDA_UE"
+#if defined NDNBOOST_LAMBDA_UE
+#error "Multiple defines of NDNBOOST_LAMBDA_UE"
 #endif
 
-#define BOOST_LAMBDA_UE(OPER_NAME, ACTION)                                 \
+#define NDNBOOST_LAMBDA_UE(OPER_NAME, ACTION)                                 \
 template<class Arg>                                                        \
 inline const                                                               \
 lambda_functor<lambda_functor_base<ACTION, tuple<lambda_functor<Arg> > > > \
@@ -333,20 +333,20 @@
 }
 
 
-BOOST_LAMBDA_UE(operator+, unary_arithmetic_action<plus_action>)
-BOOST_LAMBDA_UE(operator-, unary_arithmetic_action<minus_action>)
-BOOST_LAMBDA_UE(operator~, bitwise_action<not_action>)
-BOOST_LAMBDA_UE(operator!, logical_action<not_action>)
-BOOST_LAMBDA_UE(operator++, pre_increment_decrement_action<increment_action>)
-BOOST_LAMBDA_UE(operator--, pre_increment_decrement_action<decrement_action>)
-BOOST_LAMBDA_UE(operator*, other_action<contentsof_action>)
-BOOST_LAMBDA_UE(operator&, other_action<addressof_action>)
+NDNBOOST_LAMBDA_UE(operator+, unary_arithmetic_action<plus_action>)
+NDNBOOST_LAMBDA_UE(operator-, unary_arithmetic_action<minus_action>)
+NDNBOOST_LAMBDA_UE(operator~, bitwise_action<not_action>)
+NDNBOOST_LAMBDA_UE(operator!, logical_action<not_action>)
+NDNBOOST_LAMBDA_UE(operator++, pre_increment_decrement_action<increment_action>)
+NDNBOOST_LAMBDA_UE(operator--, pre_increment_decrement_action<decrement_action>)
+NDNBOOST_LAMBDA_UE(operator*, other_action<contentsof_action>)
+NDNBOOST_LAMBDA_UE(operator&, other_action<addressof_action>)
 
-#if defined BOOST_LAMBDA_POSTFIX_UE
-#error "Multiple defines of BOOST_LAMBDA_POSTFIX_UE"
+#if defined NDNBOOST_LAMBDA_POSTFIX_UE
+#error "Multiple defines of NDNBOOST_LAMBDA_POSTFIX_UE"
 #endif
 
-#define BOOST_LAMBDA_POSTFIX_UE(OPER_NAME, ACTION)                         \
+#define NDNBOOST_LAMBDA_POSTFIX_UE(OPER_NAME, ACTION)                         \
 template<class Arg>                                                        \
 inline const                                                               \
 lambda_functor<lambda_functor_base<ACTION, tuple<lambda_functor<Arg> > > > \
@@ -358,11 +358,11 @@
 }
 
 
-BOOST_LAMBDA_POSTFIX_UE(operator++, post_increment_decrement_action<increment_action>)
-BOOST_LAMBDA_POSTFIX_UE(operator--, post_increment_decrement_action<decrement_action>)
+NDNBOOST_LAMBDA_POSTFIX_UE(operator++, post_increment_decrement_action<increment_action>)
+NDNBOOST_LAMBDA_POSTFIX_UE(operator--, post_increment_decrement_action<decrement_action>)
 
-#undef BOOST_LAMBDA_UE
-#undef BOOST_LAMBDA_POSTFIX_UE
+#undef NDNBOOST_LAMBDA_UE
+#undef NDNBOOST_LAMBDA_POSTFIX_UE
 
 } // namespace lambda
 } // namespace ndnboost
diff --git a/include/ndnboost/lambda/detail/ret.hpp b/include/ndnboost/lambda/detail/ret.hpp
index 8261bbd..9145ece 100644
--- a/include/ndnboost/lambda/detail/ret.hpp
+++ b/include/ndnboost/lambda/detail/ret.hpp
@@ -9,8 +9,8 @@
 // For more information, see www.boost.org
 
 
-#ifndef BOOST_LAMBDA_RET_HPP
-#define BOOST_LAMBDA_RET_HPP
+#ifndef NDNBOOST_LAMBDA_RET_HPP
+#define NDNBOOST_LAMBDA_RET_HPP
 
 namespace ndnboost { 
 namespace lambda {
diff --git a/include/ndnboost/lambda/detail/return_type_traits.hpp b/include/ndnboost/lambda/detail/return_type_traits.hpp
index 58771b7..7950a68 100644
--- a/include/ndnboost/lambda/detail/return_type_traits.hpp
+++ b/include/ndnboost/lambda/detail/return_type_traits.hpp
@@ -9,8 +9,8 @@
 // For more information, see www.boost.org
 
 
-#ifndef BOOST_LAMBDA_RETURN_TYPE_TRAITS_HPP
-#define BOOST_LAMBDA_RETURN_TYPE_TRAITS_HPP
+#ifndef NDNBOOST_LAMBDA_RETURN_TYPE_TRAITS_HPP
+#define NDNBOOST_LAMBDA_RETURN_TYPE_TRAITS_HPP
 
 #include "ndnboost/mpl/has_xxx.hpp"
 
@@ -239,7 +239,7 @@
 namespace detail
 {
 
-BOOST_MPL_HAS_XXX_TRAIT_DEF(result_type)
+NDNBOOST_MPL_HAS_XXX_TRAIT_DEF(result_type)
 
 template<class F> struct get_result_type
 {
diff --git a/include/ndnboost/lambda/detail/select_functions.hpp b/include/ndnboost/lambda/detail/select_functions.hpp
index 7b3ef8a..515ce05 100644
--- a/include/ndnboost/lambda/detail/select_functions.hpp
+++ b/include/ndnboost/lambda/detail/select_functions.hpp
@@ -9,8 +9,8 @@
 // For more information, see http://www.boost.org
 
 
-#ifndef BOOST_LAMBDA_SELECT_FUNCTIONS_HPP
-#define BOOST_LAMBDA_SELECT_FUNCTIONS_HPP
+#ifndef NDNBOOST_LAMBDA_SELECT_FUNCTIONS_HPP
+#define NDNBOOST_LAMBDA_SELECT_FUNCTIONS_HPP
 
 namespace ndnboost { 
 namespace lambda {
diff --git a/include/ndnboost/lambda/lambda.hpp b/include/ndnboost/lambda/lambda.hpp
index 593ef70..2434652 100644
--- a/include/ndnboost/lambda/lambda.hpp
+++ b/include/ndnboost/lambda/lambda.hpp
@@ -7,13 +7,13 @@
 //
 // For more information, see http://lambda.cs.utu.fi 
 
-#ifndef BOOST_LAMBDA_LAMBDA_HPP
-#define BOOST_LAMBDA_LAMBDA_HPP
+#ifndef NDNBOOST_LAMBDA_LAMBDA_HPP
+#define NDNBOOST_LAMBDA_LAMBDA_HPP
 
 
 #include "ndnboost/lambda/core.hpp"
 
-#ifdef BOOST_NO_FDECL_TEMPLATES_AS_TEMPLATE_TEMPLATE_PARAMS
+#ifdef NDNBOOST_NO_FDECL_TEMPLATES_AS_TEMPLATE_TEMPLATE_PARAMS
 #include <istream>
 #include <ostream>
 #endif
@@ -25,7 +25,7 @@
 
 #include "ndnboost/lambda/detail/operators.hpp"
 
-#ifndef BOOST_LAMBDA_FAILS_IN_TEMPLATE_KEYWORD_AFTER_SCOPE_OPER
+#ifndef NDNBOOST_LAMBDA_FAILS_IN_TEMPLATE_KEYWORD_AFTER_SCOPE_OPER
 // sorry, member ptr does not work with gcc2.95
 #include "ndnboost/lambda/detail/member_ptr.hpp"
 #endif
diff --git a/include/ndnboost/lexical_cast.hpp b/include/ndnboost/lexical_cast.hpp
index aed41ce..828a1f1 100644
--- a/include/ndnboost/lexical_cast.hpp
+++ b/include/ndnboost/lexical_cast.hpp
@@ -1,5 +1,5 @@
-#ifndef BOOST_LEXICAL_CAST_INCLUDED
-#define BOOST_LEXICAL_CAST_INCLUDED
+#ifndef NDNBOOST_LEXICAL_CAST_INCLUDED
+#define NDNBOOST_LEXICAL_CAST_INCLUDED
 
 // MS compatible compilers support #pragma once
 
@@ -22,8 +22,8 @@
 // when:  November 2000, March 2003, June 2005, June 2006, March 2011 - 2013
 
 #include <ndnboost/config.hpp>
-#if defined(BOOST_NO_STRINGSTREAM) || defined(BOOST_NO_STD_WSTRING)
-#define BOOST_LCAST_NO_WCHAR_T
+#if defined(NDNBOOST_NO_STRINGSTREAM) || defined(NDNBOOST_NO_STD_WSTRING)
+#define NDNBOOST_LCAST_NO_WCHAR_T
 #endif
 
 #include <climits>
@@ -43,57 +43,57 @@
 #include <ndnboost/detail/workaround.hpp>
 
 
-#ifndef BOOST_NO_STD_LOCALE
+#ifndef NDNBOOST_NO_STD_LOCALE
 #   include <locale>
 #else
-#   ifndef BOOST_LEXICAL_CAST_ASSUME_C_LOCALE
+#   ifndef NDNBOOST_LEXICAL_CAST_ASSUME_C_LOCALE
         // Getting error at this point means, that your STL library is old/lame/misconfigured.
-        // If nothing can be done with STL library, define BOOST_LEXICAL_CAST_ASSUME_C_LOCALE,
+        // If nothing can be done with STL library, define NDNBOOST_LEXICAL_CAST_ASSUME_C_LOCALE,
         // but beware: lexical_cast will understand only 'C' locale delimeters and thousands
         // separators.
-#       error "Unable to use <locale> header. Define BOOST_LEXICAL_CAST_ASSUME_C_LOCALE to force "
+#       error "Unable to use <locale> header. Define NDNBOOST_LEXICAL_CAST_ASSUME_C_LOCALE to force "
 #       error "ndnboost::lexical_cast to use only 'C' locale during conversions."
 #   endif
 #endif
 
-#ifdef BOOST_NO_STRINGSTREAM
+#ifdef NDNBOOST_NO_STRINGSTREAM
 #include <strstream>
 #else
 #include <sstream>
 #endif
 
-#ifdef BOOST_NO_TYPEID
-#define BOOST_LCAST_THROW_BAD_CAST(S, T) throw_exception(bad_lexical_cast())
+#ifdef NDNBOOST_NO_TYPEID
+#define NDNBOOST_LCAST_THROW_BAD_CAST(S, T) throw_exception(bad_lexical_cast())
 #else
-#define BOOST_LCAST_THROW_BAD_CAST(Source, Target) \
+#define NDNBOOST_LCAST_THROW_BAD_CAST(Source, Target) \
     throw_exception(bad_lexical_cast(typeid(Source), typeid(Target)))
 #endif
 
-#if (defined(BOOST_LCAST_HAS_INT128) && !defined(__GNUC__)) || GCC_VERSION > 40700
-#define BOOST_LCAST_HAS_INT128
+#if (defined(NDNBOOST_LCAST_HAS_INT128) && !defined(__GNUC__)) || GCC_VERSION > 40700
+#define NDNBOOST_LCAST_HAS_INT128
 #endif
 
 
 namespace ndnboost
 {
     // exception used to indicate runtime lexical_cast failure
-    class BOOST_SYMBOL_VISIBLE bad_lexical_cast :
+    class NDNBOOST_SYMBOL_VISIBLE bad_lexical_cast :
     // workaround MSVC bug with std::bad_cast when _HAS_EXCEPTIONS == 0 
-#if defined(BOOST_MSVC) && defined(_HAS_EXCEPTIONS) && !_HAS_EXCEPTIONS 
+#if defined(NDNBOOST_MSVC) && defined(_HAS_EXCEPTIONS) && !_HAS_EXCEPTIONS 
         public std::exception 
 #else 
         public std::bad_cast 
 #endif 
 
-#if defined(__BORLANDC__) && BOOST_WORKAROUND( __BORLANDC__, < 0x560 )
+#if defined(__BORLANDC__) && NDNBOOST_WORKAROUND( __BORLANDC__, < 0x560 )
         // under bcc32 5.5.1 bad_cast doesn't derive from exception
         , public std::exception
 #endif
 
     {
     public:
-        bad_lexical_cast() BOOST_NOEXCEPT :
-#ifndef BOOST_NO_TYPEID
+        bad_lexical_cast() NDNBOOST_NOEXCEPT :
+#ifndef NDNBOOST_NO_TYPEID
           source(&typeid(void)), target(&typeid(void))
 #else
           source(0), target(0) // this breaks getters
@@ -103,7 +103,7 @@
 
         bad_lexical_cast(
             const std::type_info &source_type_arg,
-            const std::type_info &target_type_arg) BOOST_NOEXCEPT :
+            const std::type_info &target_type_arg) NDNBOOST_NOEXCEPT :
             source(&source_type_arg), target(&target_type_arg)
         {
         }
@@ -117,7 +117,7 @@
             return *target;
         }
 
-#ifndef BOOST_NO_CXX11_NOEXCEPT
+#ifndef NDNBOOST_NO_CXX11_NOEXCEPT
         virtual const char *what() const noexcept
 #else
         virtual const char *what() const throw()
@@ -127,8 +127,8 @@
                    "source type value could not be interpreted as target";
         }
 
-#ifndef BOOST_NO_CXX11_NOEXCEPT
-        virtual ~bad_lexical_cast() BOOST_NOEXCEPT
+#ifndef NDNBOOST_NO_CXX11_NOEXCEPT
+        virtual ~bad_lexical_cast() NDNBOOST_NOEXCEPT
 #else
         virtual ~bad_lexical_cast() throw()
 #endif
@@ -143,7 +143,7 @@
         template <typename TargetChar, typename SourceChar>
         struct widest_char
         {
-            typedef BOOST_DEDUCED_TYPENAME ndnboost::mpl::if_c<
+            typedef NDNBOOST_DEDUCED_TYPENAME ndnboost::mpl::if_c<
                 (sizeof(TargetChar) > sizeof(SourceChar))
                 , TargetChar
                 , SourceChar >::type type;
@@ -151,12 +151,12 @@
     }
 } // namespace ndnboost
 
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(__SUNPRO_CC) && !defined(__PGIC__)
+#if !defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(__SUNPRO_CC) && !defined(__PGIC__)
 
 #include <cmath>
 #include <istream>
 
-#ifndef BOOST_NO_CXX11_HDR_ARRAY
+#ifndef NDNBOOST_NO_CXX11_HDR_ARRAY
 #include <array>
 #endif
 
@@ -174,7 +174,7 @@
 #include <ndnboost/range/iterator_range_core.hpp>
 #include <ndnboost/container/container_fwd.hpp>
 #include <ndnboost/integer.hpp>
-#ifndef BOOST_NO_CWCHAR
+#ifndef NDNBOOST_NO_CWCHAR
 #   include <cwchar>
 #endif
 
@@ -188,20 +188,20 @@
         {
             typedef ndnboost::type_traits::ice_or<
                     ndnboost::is_same< T, char >::value,
-                    #ifndef BOOST_LCAST_NO_WCHAR_T
+                    #ifndef NDNBOOST_LCAST_NO_WCHAR_T
                         ndnboost::is_same< T, wchar_t >::value,
                     #endif
-                    #ifndef BOOST_NO_CXX11_CHAR16_T
+                    #ifndef NDNBOOST_NO_CXX11_CHAR16_T
                         ndnboost::is_same< T, char16_t >::value,
                     #endif
-                    #ifndef BOOST_NO_CXX11_CHAR32_T
+                    #ifndef NDNBOOST_NO_CXX11_CHAR32_T
                         ndnboost::is_same< T, char32_t >::value,
                     #endif
                     ndnboost::is_same< T, unsigned char >::value,
                     ndnboost::is_same< T, signed char >::value
             > result_type;
 
-            BOOST_STATIC_CONSTANT(bool, value = (result_type::value) );
+            NDNBOOST_STATIC_CONSTANT(bool, value = (result_type::value) );
         };
     }
 
@@ -300,7 +300,7 @@
             ndnboost::detail::deduce_character_type_later< ndnboost::array< const Char, N > >
         > {};
 
-#ifndef BOOST_NO_CXX11_HDR_ARRAY
+#ifndef NDNBOOST_NO_CXX11_HDR_ARRAY
         template < typename Char, std::size_t N >
         struct stream_char_common< std::array<Char, N > >: public ndnboost::mpl::if_c<
             ndnboost::detail::is_char_or_wchar< Char >::value,
@@ -316,12 +316,12 @@
         > {};
 #endif
 
-#ifdef BOOST_LCAST_HAS_INT128
+#ifdef NDNBOOST_LCAST_HAS_INT128
         template <> struct stream_char_common< ndnboost::int128_type >: public ndnboost::mpl::identity< char > {};
         template <> struct stream_char_common< ndnboost::uint128_type >: public ndnboost::mpl::identity< char > {};
 #endif
 
-#if !defined(BOOST_LCAST_NO_WCHAR_T) && defined(BOOST_NO_INTRINSIC_WCHAR_T)
+#if !defined(NDNBOOST_LCAST_NO_WCHAR_T) && defined(NDNBOOST_NO_INTRINSIC_WCHAR_T)
         template <>
         struct stream_char_common< wchar_t >
         {
@@ -340,7 +340,7 @@
         template < class Char > 
         struct deduce_source_char_impl
         { 
-            typedef BOOST_DEDUCED_TYPENAME ndnboost::detail::normalize_single_byte_char< Char >::type type; 
+            typedef NDNBOOST_DEDUCED_TYPENAME ndnboost::detail::normalize_single_byte_char< Char >::type type; 
         };
         
         template < class T > 
@@ -348,16 +348,16 @@
         {
             typedef ndnboost::has_left_shift< std::basic_ostream< char >, T > result_t;
 
-#if defined(BOOST_LCAST_NO_WCHAR_T)
-            BOOST_STATIC_ASSERT_MSG((result_t::value), 
+#if defined(NDNBOOST_LCAST_NO_WCHAR_T)
+            NDNBOOST_STATIC_ASSERT_MSG((result_t::value), 
                 "Source type is not std::ostream`able and std::wostream`s are not supported by your STL implementation");
             typedef char type;
 #else
-            typedef BOOST_DEDUCED_TYPENAME ndnboost::mpl::if_c<
+            typedef NDNBOOST_DEDUCED_TYPENAME ndnboost::mpl::if_c<
                 result_t::value, char, wchar_t
             >::type type;
 
-            BOOST_STATIC_ASSERT_MSG((result_t::value || ndnboost::has_left_shift< std::basic_ostream< type >, T >::value), 
+            NDNBOOST_STATIC_ASSERT_MSG((result_t::value || ndnboost::has_left_shift< std::basic_ostream< type >, T >::value), 
                 "Source type is neither std::ostream`able nor std::wostream`able");
 #endif
         };
@@ -373,7 +373,7 @@
         template < class Char > 
         struct deduce_target_char_impl 
         { 
-            typedef BOOST_DEDUCED_TYPENAME normalize_single_byte_char< Char >::type type; 
+            typedef NDNBOOST_DEDUCED_TYPENAME normalize_single_byte_char< Char >::type type; 
         };
         
         template < class T > 
@@ -381,16 +381,16 @@
         { 
             typedef ndnboost::has_right_shift<std::basic_istream<char>, T > result_t;
 
-#if defined(BOOST_LCAST_NO_WCHAR_T)
-            BOOST_STATIC_ASSERT_MSG((result_t::value), 
+#if defined(NDNBOOST_LCAST_NO_WCHAR_T)
+            NDNBOOST_STATIC_ASSERT_MSG((result_t::value), 
                 "Target type is not std::istream`able and std::wistream`s are not supported by your STL implementation");
             typedef char type;
 #else
-            typedef BOOST_DEDUCED_TYPENAME ndnboost::mpl::if_c<
+            typedef NDNBOOST_DEDUCED_TYPENAME ndnboost::mpl::if_c<
                 result_t::value, char, wchar_t
             >::type type;
             
-            BOOST_STATIC_ASSERT_MSG((result_t::value || ndnboost::has_right_shift<std::basic_istream<wchar_t>, T >::value), 
+            NDNBOOST_STATIC_ASSERT_MSG((result_t::value || ndnboost::has_right_shift<std::basic_istream<wchar_t>, T >::value), 
                 "Target type is neither std::istream`able nor std::wistream`able");
 #endif
         };
@@ -416,8 +416,8 @@
         template < class T >
         struct deduce_target_char
         {
-            typedef BOOST_DEDUCED_TYPENAME stream_char_common< T >::type stage1_type;
-            typedef BOOST_DEDUCED_TYPENAME deduce_target_char_impl< stage1_type >::type stage2_type;
+            typedef NDNBOOST_DEDUCED_TYPENAME stream_char_common< T >::type stage1_type;
+            typedef NDNBOOST_DEDUCED_TYPENAME deduce_target_char_impl< stage1_type >::type stage2_type;
 
             typedef stage2_type type;
         };
@@ -425,8 +425,8 @@
         template < class T >
         struct deduce_source_char
         {
-            typedef BOOST_DEDUCED_TYPENAME stream_char_common< T >::type stage1_type;
-            typedef BOOST_DEDUCED_TYPENAME deduce_source_char_impl< stage1_type >::type stage2_type;
+            typedef NDNBOOST_DEDUCED_TYPENAME stream_char_common< T >::type stage1_type;
+            typedef NDNBOOST_DEDUCED_TYPENAME deduce_source_char_impl< stage1_type >::type stage2_type;
 
             typedef stage2_type type;
         };
@@ -540,7 +540,7 @@
         {
             typedef ndnboost::type_traits::ice_and<
                 ndnboost::is_float<Float>::value,
-#if !defined(BOOST_LCAST_NO_WCHAR_T) && !defined(BOOST_NO_SWPRINTF) && !defined(__MINGW32__)
+#if !defined(NDNBOOST_LCAST_NO_WCHAR_T) && !defined(NDNBOOST_NO_SWPRINTF) && !defined(__MINGW32__)
                 ndnboost::type_traits::ice_or<
                     ndnboost::type_traits::ice_eq<sizeof(Char), sizeof(char) >::value,
                     ndnboost::is_same<Char, wchar_t>::value
@@ -550,7 +550,7 @@
 #endif
             > result_type;
 
-            BOOST_STATIC_CONSTANT(bool, value = (result_type::value) );
+            NDNBOOST_STATIC_CONSTANT(bool, value = (result_type::value) );
         };
     }
     
@@ -561,7 +561,7 @@
                 >
         struct lcast_src_length
         {
-            BOOST_STATIC_CONSTANT(std::size_t, value = 1);
+            NDNBOOST_STATIC_CONSTANT(std::size_t, value = 1);
             // To check coverage, build the test with
             // bjam --v2 profile optimization=off
             static void check_coverage() {}
@@ -583,44 +583,44 @@
         template<class Source>
         struct lcast_src_length_integral
         {
-#ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
-            BOOST_STATIC_CONSTANT(std::size_t, value =
+#ifndef NDNBOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
+            NDNBOOST_STATIC_CONSTANT(std::size_t, value =
                   std::numeric_limits<Source>::is_signed +
                   std::numeric_limits<Source>::is_specialized + /* == 1 */
                   std::numeric_limits<Source>::digits10 * 2
               );
 #else
-            BOOST_STATIC_CONSTANT(std::size_t, value = 156);
-            BOOST_STATIC_ASSERT(sizeof(Source) * CHAR_BIT <= 256);
+            NDNBOOST_STATIC_CONSTANT(std::size_t, value = 156);
+            NDNBOOST_STATIC_ASSERT(sizeof(Source) * CHAR_BIT <= 256);
 #endif
         };
 
-#define BOOST_LCAST_DEF(T)               \
+#define NDNBOOST_LCAST_DEF(T)               \
     template<> struct lcast_src_length<T> \
         : lcast_src_length_integral<T>           \
     { static void check_coverage() {} };
 
-        BOOST_LCAST_DEF(short)
-        BOOST_LCAST_DEF(unsigned short)
-        BOOST_LCAST_DEF(int)
-        BOOST_LCAST_DEF(unsigned int)
-        BOOST_LCAST_DEF(long)
-        BOOST_LCAST_DEF(unsigned long)
-#if defined(BOOST_HAS_LONG_LONG)
-        BOOST_LCAST_DEF(ndnboost::ulong_long_type)
-        BOOST_LCAST_DEF(ndnboost::long_long_type )
-#elif defined(BOOST_HAS_MS_INT64)
-        BOOST_LCAST_DEF(unsigned __int64)
-        BOOST_LCAST_DEF(         __int64)
+        NDNBOOST_LCAST_DEF(short)
+        NDNBOOST_LCAST_DEF(unsigned short)
+        NDNBOOST_LCAST_DEF(int)
+        NDNBOOST_LCAST_DEF(unsigned int)
+        NDNBOOST_LCAST_DEF(long)
+        NDNBOOST_LCAST_DEF(unsigned long)
+#if defined(NDNBOOST_HAS_LONG_LONG)
+        NDNBOOST_LCAST_DEF(ndnboost::ulong_long_type)
+        NDNBOOST_LCAST_DEF(ndnboost::long_long_type )
+#elif defined(NDNBOOST_HAS_MS_INT64)
+        NDNBOOST_LCAST_DEF(unsigned __int64)
+        NDNBOOST_LCAST_DEF(         __int64)
 #endif
-#ifdef BOOST_LCAST_HAS_INT128
-        BOOST_LCAST_DEF(ndnboost::int128_type)
-        BOOST_LCAST_DEF(ndnboost::uint128_type)
+#ifdef NDNBOOST_LCAST_HAS_INT128
+        NDNBOOST_LCAST_DEF(ndnboost::int128_type)
+        NDNBOOST_LCAST_DEF(ndnboost::uint128_type)
 #endif
 
-#undef BOOST_LCAST_DEF
+#undef NDNBOOST_LCAST_DEF
 
-#ifndef BOOST_LCAST_NO_COMPILE_TIME_PRECISION
+#ifndef NDNBOOST_LCAST_NO_COMPILE_TIME_PRECISION
         // Helper for floating point types.
         // -1.23456789e-123456
         // ^                   sign
@@ -634,11 +634,11 @@
         template<class Source>
         struct lcast_src_length_floating
         {
-            BOOST_STATIC_ASSERT(
+            NDNBOOST_STATIC_ASSERT(
                     std::numeric_limits<Source>::max_exponent10 <=  999999L &&
                     std::numeric_limits<Source>::min_exponent10 >= -999999L
                 );
-            BOOST_STATIC_CONSTANT(std::size_t, value =
+            NDNBOOST_STATIC_CONSTANT(std::size_t, value =
                     5 + lcast_precision<Source>::value + 6
                 );
         };
@@ -664,36 +664,36 @@
             static void check_coverage() {}
         };
 
-#endif // #ifndef BOOST_LCAST_NO_COMPILE_TIME_PRECISION
+#endif // #ifndef NDNBOOST_LCAST_NO_COMPILE_TIME_PRECISION
     }
 
     namespace detail // lexical_cast_stream_traits<Source, Target>
     {
         template <class Source, class Target>
         struct lexical_cast_stream_traits {
-            typedef BOOST_DEDUCED_TYPENAME ndnboost::detail::array_to_pointer_decay<Source>::type src;
-            typedef BOOST_DEDUCED_TYPENAME ndnboost::remove_cv<src>::type            no_cv_src;
+            typedef NDNBOOST_DEDUCED_TYPENAME ndnboost::detail::array_to_pointer_decay<Source>::type src;
+            typedef NDNBOOST_DEDUCED_TYPENAME ndnboost::remove_cv<src>::type            no_cv_src;
                 
             typedef ndnboost::detail::deduce_source_char<no_cv_src>                           deduce_src_char_metafunc;
-            typedef BOOST_DEDUCED_TYPENAME deduce_src_char_metafunc::type           src_char_t;
-            typedef BOOST_DEDUCED_TYPENAME ndnboost::detail::deduce_target_char<Target>::type target_char_t;
+            typedef NDNBOOST_DEDUCED_TYPENAME deduce_src_char_metafunc::type           src_char_t;
+            typedef NDNBOOST_DEDUCED_TYPENAME ndnboost::detail::deduce_target_char<Target>::type target_char_t;
                 
-            typedef BOOST_DEDUCED_TYPENAME ndnboost::detail::widest_char<
+            typedef NDNBOOST_DEDUCED_TYPENAME ndnboost::detail::widest_char<
                 target_char_t, src_char_t
             >::type char_type;
 
-#if !defined(BOOST_NO_CXX11_CHAR16_T) && defined(BOOST_NO_CXX11_UNICODE_LITERALS)
-            BOOST_STATIC_ASSERT_MSG(( !ndnboost::is_same<char16_t, src_char_t>::value
+#if !defined(NDNBOOST_NO_CXX11_CHAR16_T) && defined(NDNBOOST_NO_CXX11_UNICODE_LITERALS)
+            NDNBOOST_STATIC_ASSERT_MSG(( !ndnboost::is_same<char16_t, src_char_t>::value
                                         && !ndnboost::is_same<char16_t, target_char_t>::value),
                 "Your compiler does not have full support for char16_t" );
 #endif
-#if !defined(BOOST_NO_CXX11_CHAR32_T) && defined(BOOST_NO_CXX11_UNICODE_LITERALS)
-            BOOST_STATIC_ASSERT_MSG(( !ndnboost::is_same<char32_t, src_char_t>::value
+#if !defined(NDNBOOST_NO_CXX11_CHAR32_T) && defined(NDNBOOST_NO_CXX11_UNICODE_LITERALS)
+            NDNBOOST_STATIC_ASSERT_MSG(( !ndnboost::is_same<char32_t, src_char_t>::value
                                         && !ndnboost::is_same<char32_t, target_char_t>::value),
                 "Your compiler does not have full support for char32_t" );
 #endif
 
-            typedef BOOST_DEDUCED_TYPENAME ndnboost::detail::deduce_char_traits<
+            typedef NDNBOOST_DEDUCED_TYPENAME ndnboost::detail::deduce_char_traits<
                 char_type, Target, no_cv_src
             >::type traits;
 
@@ -709,13 +709,13 @@
                 ndnboost::is_integral<no_cv_src>::value,
                 ndnboost::detail::is_this_float_conversion_optimized<no_cv_src, char_type >::value,
                 ndnboost::detail::is_char_or_wchar<
-                    BOOST_DEDUCED_TYPENAME deduce_src_char_metafunc::stage1_type          // if we did not get character type at stage1
+                    NDNBOOST_DEDUCED_TYPENAME deduce_src_char_metafunc::stage1_type          // if we did not get character type at stage1
                 >::value                                                                  // then we have no optimization for that type
             >::value >   is_source_input_not_optimized_t;
 
             // If we have an optimized conversion for
             // Source, we do not need to construct stringbuf.
-            BOOST_STATIC_CONSTANT(bool, requires_stringbuf = 
+            NDNBOOST_STATIC_CONSTANT(bool, requires_stringbuf = 
                 (ndnboost::type_traits::ice_or<
                     is_string_widening_required_t::value, is_source_input_not_optimized_t::value
                 >::value)
@@ -732,50 +732,50 @@
         template<>
         struct lcast_char_constants<char>
         {
-            BOOST_STATIC_CONSTANT(char, zero  = '0');
-            BOOST_STATIC_CONSTANT(char, minus = '-');
-            BOOST_STATIC_CONSTANT(char, plus = '+');
-            BOOST_STATIC_CONSTANT(char, lowercase_e = 'e');
-            BOOST_STATIC_CONSTANT(char, capital_e = 'E');
-            BOOST_STATIC_CONSTANT(char, c_decimal_separator = '.');
+            NDNBOOST_STATIC_CONSTANT(char, zero  = '0');
+            NDNBOOST_STATIC_CONSTANT(char, minus = '-');
+            NDNBOOST_STATIC_CONSTANT(char, plus = '+');
+            NDNBOOST_STATIC_CONSTANT(char, lowercase_e = 'e');
+            NDNBOOST_STATIC_CONSTANT(char, capital_e = 'E');
+            NDNBOOST_STATIC_CONSTANT(char, c_decimal_separator = '.');
         };
 
-#ifndef BOOST_LCAST_NO_WCHAR_T
+#ifndef NDNBOOST_LCAST_NO_WCHAR_T
         template<>
         struct lcast_char_constants<wchar_t>
         {
-            BOOST_STATIC_CONSTANT(wchar_t, zero  = L'0');
-            BOOST_STATIC_CONSTANT(wchar_t, minus = L'-');
-            BOOST_STATIC_CONSTANT(wchar_t, plus = L'+');
-            BOOST_STATIC_CONSTANT(wchar_t, lowercase_e = L'e');
-            BOOST_STATIC_CONSTANT(wchar_t, capital_e = L'E');
-            BOOST_STATIC_CONSTANT(wchar_t, c_decimal_separator = L'.');
+            NDNBOOST_STATIC_CONSTANT(wchar_t, zero  = L'0');
+            NDNBOOST_STATIC_CONSTANT(wchar_t, minus = L'-');
+            NDNBOOST_STATIC_CONSTANT(wchar_t, plus = L'+');
+            NDNBOOST_STATIC_CONSTANT(wchar_t, lowercase_e = L'e');
+            NDNBOOST_STATIC_CONSTANT(wchar_t, capital_e = L'E');
+            NDNBOOST_STATIC_CONSTANT(wchar_t, c_decimal_separator = L'.');
         };
 #endif
 
-#if !defined(BOOST_NO_CXX11_CHAR16_T) && !defined(BOOST_NO_CXX11_UNICODE_LITERALS)
+#if !defined(NDNBOOST_NO_CXX11_CHAR16_T) && !defined(NDNBOOST_NO_CXX11_UNICODE_LITERALS)
         template<>
         struct lcast_char_constants<char16_t>
         {
-            BOOST_STATIC_CONSTANT(char16_t, zero  = u'0');
-            BOOST_STATIC_CONSTANT(char16_t, minus = u'-');
-            BOOST_STATIC_CONSTANT(char16_t, plus = u'+');
-            BOOST_STATIC_CONSTANT(char16_t, lowercase_e = u'e');
-            BOOST_STATIC_CONSTANT(char16_t, capital_e = u'E');
-            BOOST_STATIC_CONSTANT(char16_t, c_decimal_separator = u'.');
+            NDNBOOST_STATIC_CONSTANT(char16_t, zero  = u'0');
+            NDNBOOST_STATIC_CONSTANT(char16_t, minus = u'-');
+            NDNBOOST_STATIC_CONSTANT(char16_t, plus = u'+');
+            NDNBOOST_STATIC_CONSTANT(char16_t, lowercase_e = u'e');
+            NDNBOOST_STATIC_CONSTANT(char16_t, capital_e = u'E');
+            NDNBOOST_STATIC_CONSTANT(char16_t, c_decimal_separator = u'.');
         };
 #endif
 
-#if !defined(BOOST_NO_CXX11_CHAR32_T) && !defined(BOOST_NO_CXX11_UNICODE_LITERALS)
+#if !defined(NDNBOOST_NO_CXX11_CHAR32_T) && !defined(NDNBOOST_NO_CXX11_UNICODE_LITERALS)
         template<>
         struct lcast_char_constants<char32_t>
         {
-            BOOST_STATIC_CONSTANT(char32_t, zero  = U'0');
-            BOOST_STATIC_CONSTANT(char32_t, minus = U'-');
-            BOOST_STATIC_CONSTANT(char32_t, plus = U'+');
-            BOOST_STATIC_CONSTANT(char32_t, lowercase_e = U'e');
-            BOOST_STATIC_CONSTANT(char32_t, capital_e = U'E');
-            BOOST_STATIC_CONSTANT(char32_t, c_decimal_separator = U'.');
+            NDNBOOST_STATIC_CONSTANT(char32_t, zero  = U'0');
+            NDNBOOST_STATIC_CONSTANT(char32_t, minus = U'-');
+            NDNBOOST_STATIC_CONSTANT(char32_t, plus = U'+');
+            NDNBOOST_STATIC_CONSTANT(char32_t, lowercase_e = U'e');
+            NDNBOOST_STATIC_CONSTANT(char32_t, capital_e = U'E');
+            NDNBOOST_STATIC_CONSTANT(char32_t, c_decimal_separator = U'.');
         };
 #endif
     }
@@ -784,9 +784,9 @@
     {
         template<class T>
         inline
-        BOOST_DEDUCED_TYPENAME make_unsigned<T>::type lcast_to_unsigned(T value) BOOST_NOEXCEPT
+        NDNBOOST_DEDUCED_TYPENAME make_unsigned<T>::type lcast_to_unsigned(T value) NDNBOOST_NOEXCEPT
         {
-            typedef BOOST_DEDUCED_TYPENAME ndnboost::make_unsigned<T>::type result_type;
+            typedef NDNBOOST_DEDUCED_TYPENAME ndnboost::make_unsigned<T>::type result_type;
             return static_cast<result_type>(
                 value < 0 ? 0u - static_cast<result_type>(value) : value
             );
@@ -798,33 +798,33 @@
         template<class Traits, class T, class CharT>
         CharT* lcast_put_unsigned(const T n_param, CharT* finish)
         {
-#ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
-            BOOST_STATIC_ASSERT(!std::numeric_limits<T>::is_signed);
+#ifndef NDNBOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
+            NDNBOOST_STATIC_ASSERT(!std::numeric_limits<T>::is_signed);
 #endif
 
             typedef typename Traits::int_type int_type;
             CharT const czero = lcast_char_constants<CharT>::zero;
             int_type const zero = Traits::to_int_type(czero);
-            BOOST_DEDUCED_TYPENAME ndnboost::mpl::if_c<
+            NDNBOOST_DEDUCED_TYPENAME ndnboost::mpl::if_c<
                     (sizeof(int_type) > sizeof(T))
                     , int_type
                     , T
             >::type n = n_param;
 
-#ifndef BOOST_LEXICAL_CAST_ASSUME_C_LOCALE
+#ifndef NDNBOOST_LEXICAL_CAST_ASSUME_C_LOCALE
             std::locale loc;
             if (loc != std::locale::classic()) {
                 typedef std::numpunct<CharT> numpunct;
-                numpunct const& np = BOOST_USE_FACET(numpunct, loc);
+                numpunct const& np = NDNBOOST_USE_FACET(numpunct, loc);
                 std::string const grouping = np.grouping();
                 std::string::size_type const grouping_size = grouping.size();
 
                 if ( grouping_size && grouping[0] > 0 )
                 {
 
-#ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
+#ifndef NDNBOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
                 // Check that ulimited group is unreachable:
-                BOOST_STATIC_ASSERT(std::numeric_limits<T>::digits10 < CHAR_MAX);
+                NDNBOOST_STATIC_ASSERT(std::numeric_limits<T>::digits10 < CHAR_MAX);
 #endif
                     CharT thousands_sep = np.thousands_sep();
                     std::string::size_type group = 0; // current group number
@@ -877,8 +877,8 @@
         template<class Traits, class T, class CharT>
         inline bool lcast_ret_unsigned(T& value, const CharT* const begin, const CharT* end)
         {
-#ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
-            BOOST_STATIC_ASSERT(!std::numeric_limits<T>::is_signed);
+#ifndef NDNBOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
+            NDNBOOST_STATIC_ASSERT(!std::numeric_limits<T>::is_signed);
 #endif
             CharT const czero = lcast_char_constants<CharT>::zero;
             --end;
@@ -891,11 +891,11 @@
             T multiplier = 1;
             bool multiplier_overflowed = false;
 
-#ifndef BOOST_LEXICAL_CAST_ASSUME_C_LOCALE
+#ifndef NDNBOOST_LEXICAL_CAST_ASSUME_C_LOCALE
             std::locale loc;
             if (loc != std::locale::classic()) {
                 typedef std::numpunct<CharT> numpunct;
-                numpunct const& np = BOOST_USE_FACET(numpunct, loc);
+                numpunct const& np = NDNBOOST_USE_FACET(numpunct, loc);
                 std::string const& grouping = np.grouping();
                 std::string::size_type const grouping_size = grouping.size();
 
@@ -986,7 +986,7 @@
     namespace detail
     {
         template <class CharT>
-        bool lc_iequal(const CharT* val, const CharT* lcase, const CharT* ucase, unsigned int len) BOOST_NOEXCEPT {
+        bool lc_iequal(const CharT* val, const CharT* lcase, const CharT* ucase, unsigned int len) NDNBOOST_NOEXCEPT {
             for( unsigned int i=0; i < len; ++i ) {
                 if ( val[i] != lcase[i] && val[i] != ucase[i] ) return false;
             }
@@ -999,7 +999,7 @@
         inline bool parse_inf_nan_impl(const CharT* begin, const CharT* end, T& value
             , const CharT* lc_NAN, const CharT* lc_nan
             , const CharT* lc_INFINITY, const CharT* lc_infinity
-            , const CharT opening_brace, const CharT closing_brace) BOOST_NOEXCEPT
+            , const CharT opening_brace, const CharT closing_brace) NDNBOOST_NOEXCEPT
         {
             using namespace std;
             if (begin == end) return false;
@@ -1055,7 +1055,7 @@
         template <class CharT, class T>
         bool put_inf_nan_impl(CharT* begin, CharT*& end, const T& value
                          , const CharT* lc_nan
-                         , const CharT* lc_infinity) BOOST_NOEXCEPT
+                         , const CharT* lc_infinity) NDNBOOST_NOEXCEPT
         {
             using namespace std;
             const CharT minus = lcast_char_constants<CharT>::minus;
@@ -1087,9 +1087,9 @@
         }
 
 
-#ifndef BOOST_LCAST_NO_WCHAR_T
+#ifndef NDNBOOST_LCAST_NO_WCHAR_T
         template <class T>
-        bool parse_inf_nan(const wchar_t* begin, const wchar_t* end, T& value) BOOST_NOEXCEPT
+        bool parse_inf_nan(const wchar_t* begin, const wchar_t* end, T& value) NDNBOOST_NOEXCEPT
         {
             return parse_inf_nan_impl(begin, end, value
                                , L"NAN", L"nan"
@@ -1098,15 +1098,15 @@
         }
 
         template <class T>
-        bool put_inf_nan(wchar_t* begin, wchar_t*& end, const T& value) BOOST_NOEXCEPT
+        bool put_inf_nan(wchar_t* begin, wchar_t*& end, const T& value) NDNBOOST_NOEXCEPT
         {
             return put_inf_nan_impl(begin, end, value, L"nan", L"infinity");
         }
 
 #endif
-#if !defined(BOOST_NO_CXX11_CHAR16_T) && !defined(BOOST_NO_CXX11_UNICODE_LITERALS)
+#if !defined(NDNBOOST_NO_CXX11_CHAR16_T) && !defined(NDNBOOST_NO_CXX11_UNICODE_LITERALS)
         template <class T>
-        bool parse_inf_nan(const char16_t* begin, const char16_t* end, T& value) BOOST_NOEXCEPT
+        bool parse_inf_nan(const char16_t* begin, const char16_t* end, T& value) NDNBOOST_NOEXCEPT
         {
             return parse_inf_nan_impl(begin, end, value
                                , u"NAN", u"nan"
@@ -1115,14 +1115,14 @@
         }
 
         template <class T>
-        bool put_inf_nan(char16_t* begin, char16_t*& end, const T& value) BOOST_NOEXCEPT
+        bool put_inf_nan(char16_t* begin, char16_t*& end, const T& value) NDNBOOST_NOEXCEPT
         {
             return put_inf_nan_impl(begin, end, value, u"nan", u"infinity");
         }
 #endif
-#if !defined(BOOST_NO_CXX11_CHAR32_T) && !defined(BOOST_NO_CXX11_UNICODE_LITERALS)
+#if !defined(NDNBOOST_NO_CXX11_CHAR32_T) && !defined(NDNBOOST_NO_CXX11_UNICODE_LITERALS)
         template <class T>
-        bool parse_inf_nan(const char32_t* begin, const char32_t* end, T& value) BOOST_NOEXCEPT
+        bool parse_inf_nan(const char32_t* begin, const char32_t* end, T& value) NDNBOOST_NOEXCEPT
         {
             return parse_inf_nan_impl(begin, end, value
                                , U"NAN", U"nan"
@@ -1131,14 +1131,14 @@
         }
 
         template <class T>
-        bool put_inf_nan(char32_t* begin, char32_t*& end, const T& value) BOOST_NOEXCEPT
+        bool put_inf_nan(char32_t* begin, char32_t*& end, const T& value) NDNBOOST_NOEXCEPT
         {
             return put_inf_nan_impl(begin, end, value, U"nan", U"infinity");
         }
 #endif
 
         template <class CharT, class T>
-        bool parse_inf_nan(const CharT* begin, const CharT* end, T& value) BOOST_NOEXCEPT
+        bool parse_inf_nan(const CharT* begin, const CharT* end, T& value) NDNBOOST_NOEXCEPT
         {
             return parse_inf_nan_impl(begin, end, value
                                , "NAN", "nan"
@@ -1147,7 +1147,7 @@
         }
 
         template <class CharT, class T>
-        bool put_inf_nan(CharT* begin, CharT*& end, const T& value) BOOST_NOEXCEPT
+        bool put_inf_nan(CharT* begin, CharT*& end, const T& value) NDNBOOST_NOEXCEPT
         {
             return put_inf_nan_impl(begin, end, value, "nan", "infinity");
         }
@@ -1178,11 +1178,11 @@
         template <>
         struct mantissa_holder_type<double>
         {
-#ifndef BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
+#ifndef NDNBOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
             typedef long double  wide_result_t;
-#if defined(BOOST_HAS_LONG_LONG)
+#if defined(NDNBOOST_HAS_LONG_LONG)
             typedef ndnboost::ulong_long_type type;
-#elif defined(BOOST_HAS_MS_INT64)
+#elif defined(NDNBOOST_HAS_MS_INT64)
             typedef unsigned __int64 type;
 #endif
 #endif
@@ -1192,10 +1192,10 @@
         inline bool lcast_ret_float(T& value, const CharT* begin, const CharT* end)
         {
 
-#ifndef BOOST_LEXICAL_CAST_ASSUME_C_LOCALE
+#ifndef NDNBOOST_LEXICAL_CAST_ASSUME_C_LOCALE
             std::locale loc;
             typedef std::numpunct<CharT> numpunct;
-            numpunct const& np = BOOST_USE_FACET(numpunct, loc);
+            numpunct const& np = NDNBOOST_USE_FACET(numpunct, loc);
             std::string const grouping(
                     (loc == std::locale::classic())
                     ? std::string()
@@ -1221,8 +1221,8 @@
             if (parse_inf_nan(begin, end, value)) return true;
 
             typedef typename Traits::int_type int_type;
-            typedef BOOST_DEDUCED_TYPENAME mantissa_holder_type<T>::type mantissa_type;
-            typedef BOOST_DEDUCED_TYPENAME mantissa_holder_type<T>::wide_result_t wide_result_t;
+            typedef NDNBOOST_DEDUCED_TYPENAME mantissa_holder_type<T>::type mantissa_type;
+            typedef NDNBOOST_DEDUCED_TYPENAME mantissa_holder_type<T>::wide_result_t wide_result_t;
             int_type const zero = Traits::to_int_type(czero);
             if (begin == end) return false;
 
@@ -1291,7 +1291,7 @@
                         found_number_before_exp = true;
                         ++ length_since_last_delim;
                     } else if (Traits::eq(*begin, decimal_point) || Traits::eq(*begin, lowercase_e) || Traits::eq(*begin, capital_e)) {
-#ifndef BOOST_LEXICAL_CAST_ASSUME_C_LOCALE
+#ifndef NDNBOOST_LEXICAL_CAST_ASSUME_C_LOCALE
                         /* If ( we need to check grouping
                          *      and (   grouping missmatches
                          *              or grouping position is incorrect
@@ -1318,7 +1318,7 @@
                             break;
                         }
                     }
-#ifndef BOOST_LEXICAL_CAST_ASSUME_C_LOCALE
+#ifndef NDNBOOST_LEXICAL_CAST_ASSUME_C_LOCALE
                     else if (grouping_size && Traits::eq(*begin, thousands_sep)){
                         if(found_grouping)
                         {
@@ -1436,7 +1436,7 @@
         public:
            parser_buf() : base_type() { setbuf(0, 0); }
            const charT* getnext() { return this->gptr(); }
-#ifndef BOOST_NO_USING_TEMPLATE
+#ifndef NDNBOOST_NO_USING_TEMPLATE
             using base_type::pptr;
             using base_type::pbase;
 #else
@@ -1493,12 +1493,12 @@
                }
                default: ;
                }
-#ifdef BOOST_MSVC
+#ifdef NDNBOOST_MSVC
 #pragma warning(push)
 #pragma warning(disable:4244)
 #endif
                return static_cast<pos_type>(this->gptr() - this->eback());
-#ifdef BOOST_MSVC
+#ifdef NDNBOOST_MSVC
 #pragma warning(pop)
 #endif
             }
@@ -1523,16 +1523,16 @@
         class lexical_stream_limited_src
         {
 
-#if defined(BOOST_NO_STRINGSTREAM)
+#if defined(NDNBOOST_NO_STRINGSTREAM)
             typedef std::ostrstream                         out_stream_t;
-#elif defined(BOOST_NO_STD_LOCALE)
+#elif defined(NDNBOOST_NO_STD_LOCALE)
             typedef std::ostringstream                      out_stream_t;
             typedef parser_buf<std::streambuf, char>        buffer_t;
 #else
             typedef std::basic_ostringstream<CharT, Traits>                 out_stream_t;
             typedef parser_buf<std::basic_streambuf<CharT, Traits>, CharT>  buffer_t;
 #endif
-            typedef BOOST_DEDUCED_TYPENAME ndnboost::mpl::if_c<
+            typedef NDNBOOST_DEDUCED_TYPENAME ndnboost::mpl::if_c<
                 RequiresStringbuffer,
                 out_stream_t,
                 do_not_construct_out_stream_t
@@ -1544,7 +1544,7 @@
             deduced_out_stream_t out_stream;
 
         public:
-            lexical_stream_limited_src(CharT* sta, CharT* fin) BOOST_NOEXCEPT
+            lexical_stream_limited_src(CharT* sta, CharT* fin) NDNBOOST_NOEXCEPT
               : start(sta)
               , finish(fin)
             {}
@@ -1555,23 +1555,23 @@
             void operator=(lexical_stream_limited_src const&);
 
 /************************************ HELPER FUNCTIONS FOR OPERATORS << ( ... ) ********************************/
-            bool shl_char(CharT ch) BOOST_NOEXCEPT
+            bool shl_char(CharT ch) NDNBOOST_NOEXCEPT
             {
                 Traits::assign(*start, ch);
                 finish = start + 1;
                 return true;
             }
 
-#ifndef BOOST_LCAST_NO_WCHAR_T
+#ifndef NDNBOOST_LCAST_NO_WCHAR_T
             template <class T>
             bool shl_char(T ch)
             {
-                BOOST_STATIC_ASSERT_MSG(( sizeof(T) <= sizeof(CharT)) ,
+                NDNBOOST_STATIC_ASSERT_MSG(( sizeof(T) <= sizeof(CharT)) ,
                     "ndnboost::lexical_cast does not support narrowing of char types."
                     "Use ndnboost::locale instead" );
-#ifndef BOOST_LEXICAL_CAST_ASSUME_C_LOCALE
+#ifndef NDNBOOST_LEXICAL_CAST_ASSUME_C_LOCALE
                 std::locale loc;
-                CharT const w = BOOST_USE_FACET(std::ctype<CharT>, loc).widen(ch);
+                CharT const w = NDNBOOST_USE_FACET(std::ctype<CharT>, loc).widen(ch);
 #else
                 CharT const w = static_cast<CharT>(ch);
 #endif
@@ -1581,7 +1581,7 @@
             }
 #endif
 
-            bool shl_char_array(CharT const* str) BOOST_NOEXCEPT
+            bool shl_char_array(CharT const* str) NDNBOOST_NOEXCEPT
             {
                 start = const_cast<CharT*>(str);
                 finish = start + Traits::length(str);
@@ -1591,13 +1591,13 @@
             template <class T>
             bool shl_char_array(T const* str)
             {
-                BOOST_STATIC_ASSERT_MSG(( sizeof(T) <= sizeof(CharT)),
+                NDNBOOST_STATIC_ASSERT_MSG(( sizeof(T) <= sizeof(CharT)),
                     "ndnboost::lexical_cast does not support narrowing of char types."
                     "Use ndnboost::locale instead" );
                 return shl_input_streamable(str);
             }
             
-            bool shl_char_array_limited(CharT const* str, std::size_t max_size) BOOST_NOEXCEPT
+            bool shl_char_array_limited(CharT const* str, std::size_t max_size) NDNBOOST_NOEXCEPT
             {
                 start = const_cast<CharT*>(str);
                 finish = std::find(start, start + max_size, Traits::to_char_type(0));
@@ -1607,10 +1607,10 @@
             template<typename InputStreamable>
             bool shl_input_streamable(InputStreamable& input)
             {
-#if defined(BOOST_NO_STRINGSTREAM) || defined(BOOST_NO_STD_LOCALE)
+#if defined(NDNBOOST_NO_STRINGSTREAM) || defined(NDNBOOST_NO_STD_LOCALE)
                 // If you have compilation error at this point, than your STL library
                 // does not support such conversions. Try updating it.
-                BOOST_STATIC_ASSERT((ndnboost::is_same<char, CharT>::value));
+                NDNBOOST_STATIC_ASSERT((ndnboost::is_same<char, CharT>::value));
 #endif
                 bool const result = !(out_stream << input).fail();
                 const buffer_t* const p = static_cast<buffer_t*>(
@@ -1685,7 +1685,7 @@
 #endif
 
 
-#if !defined(BOOST_LCAST_NO_WCHAR_T) && !defined(BOOST_NO_SWPRINTF) && !defined(__MINGW32__)
+#if !defined(NDNBOOST_LCAST_NO_WCHAR_T) && !defined(NDNBOOST_NO_SWPRINTF) && !defined(__MINGW32__)
             static bool shl_real_type(float val, wchar_t* begin, wchar_t*& end)
             {   using namespace std;
                 if (put_inf_nan(begin, end, val)) return true;
@@ -1717,7 +1717,7 @@
 /************************************ OPERATORS << ( ... ) ********************************/
         public:
             template<class Alloc>
-            bool operator<<(std::basic_string<CharT,Traits,Alloc> const& str) BOOST_NOEXCEPT
+            bool operator<<(std::basic_string<CharT,Traits,Alloc> const& str) NDNBOOST_NOEXCEPT
             {
                 start = const_cast<CharT*>(str.data());
                 finish = start + str.length();
@@ -1725,14 +1725,14 @@
             }
 
             template<class Alloc>
-            bool operator<<(ndnboost::container::basic_string<CharT,Traits,Alloc> const& str) BOOST_NOEXCEPT
+            bool operator<<(ndnboost::container::basic_string<CharT,Traits,Alloc> const& str) NDNBOOST_NOEXCEPT
             {
                 start = const_cast<CharT*>(str.data());
                 finish = start + str.length();
                 return true;
             }
 
-            bool operator<<(bool value) BOOST_NOEXCEPT
+            bool operator<<(bool value) NDNBOOST_NOEXCEPT
             {
                 CharT const czero = lcast_char_constants<CharT>::zero;
                 Traits::assign(*start, Traits::to_char_type(czero + value));
@@ -1740,21 +1740,21 @@
                 return true;
             }
 
-            bool operator<<(const iterator_range<CharT*>& rng) BOOST_NOEXCEPT
+            bool operator<<(const iterator_range<CharT*>& rng) NDNBOOST_NOEXCEPT
             {
                 start = rng.begin();
                 finish = rng.end();
                 return true; 
             }
             
-            bool operator<<(const iterator_range<const CharT*>& rng) BOOST_NOEXCEPT
+            bool operator<<(const iterator_range<const CharT*>& rng) NDNBOOST_NOEXCEPT
             {
                 start = const_cast<CharT*>(rng.begin());
                 finish = const_cast<CharT*>(rng.end());
                 return true; 
             }
 
-            bool operator<<(const iterator_range<const signed char*>& rng) BOOST_NOEXCEPT
+            bool operator<<(const iterator_range<const signed char*>& rng) NDNBOOST_NOEXCEPT
             {
                 return (*this) << iterator_range<char*>(
                     const_cast<char*>(reinterpret_cast<const char*>(rng.begin())),
@@ -1762,7 +1762,7 @@
                 );
             }
 
-            bool operator<<(const iterator_range<const unsigned char*>& rng) BOOST_NOEXCEPT
+            bool operator<<(const iterator_range<const unsigned char*>& rng) NDNBOOST_NOEXCEPT
             {
                 return (*this) << iterator_range<char*>(
                     const_cast<char*>(reinterpret_cast<const char*>(rng.begin())),
@@ -1770,7 +1770,7 @@
                 );
             }
 
-            bool operator<<(const iterator_range<signed char*>& rng) BOOST_NOEXCEPT
+            bool operator<<(const iterator_range<signed char*>& rng) NDNBOOST_NOEXCEPT
             {
                 return (*this) << iterator_range<char*>(
                     reinterpret_cast<char*>(rng.begin()),
@@ -1778,7 +1778,7 @@
                 );
             }
 
-            bool operator<<(const iterator_range<unsigned char*>& rng) BOOST_NOEXCEPT
+            bool operator<<(const iterator_range<unsigned char*>& rng) NDNBOOST_NOEXCEPT
             {
                 return (*this) << iterator_range<char*>(
                     reinterpret_cast<char*>(rng.begin()),
@@ -1789,19 +1789,19 @@
             bool operator<<(char ch)                    { return shl_char(ch); }
             bool operator<<(unsigned char ch)           { return ((*this) << static_cast<char>(ch)); }
             bool operator<<(signed char ch)             { return ((*this) << static_cast<char>(ch)); }
-#if !defined(BOOST_LCAST_NO_WCHAR_T)
+#if !defined(NDNBOOST_LCAST_NO_WCHAR_T)
             bool operator<<(wchar_t const* str)         { return shl_char_array(str); }
             bool operator<<(wchar_t * str)              { return shl_char_array(str); }
-#ifndef BOOST_NO_INTRINSIC_WCHAR_T
+#ifndef NDNBOOST_NO_INTRINSIC_WCHAR_T
             bool operator<<(wchar_t ch)                 { return shl_char(ch); }
 #endif
 #endif
-#if !defined(BOOST_NO_CXX11_CHAR16_T) && !defined(BOOST_NO_CXX11_UNICODE_LITERALS)
+#if !defined(NDNBOOST_NO_CXX11_CHAR16_T) && !defined(NDNBOOST_NO_CXX11_UNICODE_LITERALS)
             bool operator<<(char16_t ch)                { return shl_char(ch); }
             bool operator<<(char16_t * str)             { return shl_char_array(str); }
             bool operator<<(char16_t const * str)       { return shl_char_array(str); }
 #endif
-#if !defined(BOOST_NO_CXX11_CHAR32_T) && !defined(BOOST_NO_CXX11_UNICODE_LITERALS)
+#if !defined(NDNBOOST_NO_CXX11_CHAR32_T) && !defined(NDNBOOST_NO_CXX11_UNICODE_LITERALS)
             bool operator<<(char32_t ch)                { return shl_char(ch); }
             bool operator<<(char32_t * str)             { return shl_char_array(str); }
             bool operator<<(char32_t const * str)       { return shl_char_array(str); }
@@ -1819,15 +1819,15 @@
             bool operator<<(unsigned int n)             { start = lcast_put_unsigned<Traits>(n, finish); return true; }
             bool operator<<(unsigned long n)            { start = lcast_put_unsigned<Traits>(n, finish); return true; }
 
-#if defined(BOOST_HAS_LONG_LONG)
+#if defined(NDNBOOST_HAS_LONG_LONG)
             bool operator<<(ndnboost::ulong_long_type n)   { start = lcast_put_unsigned<Traits>(n, finish); return true; }
             bool operator<<(ndnboost::long_long_type n)    { return shl_signed(n); }
-#elif defined(BOOST_HAS_MS_INT64)
+#elif defined(NDNBOOST_HAS_MS_INT64)
             bool operator<<(unsigned __int64 n)         { start = lcast_put_unsigned<Traits>(n, finish); return true; }
             bool operator<<(         __int64 n)         { return shl_signed(n); }
 #endif
 
-#ifdef BOOST_LCAST_HAS_INT128
+#ifdef NDNBOOST_LCAST_HAS_INT128
         bool operator<<(const ndnboost::uint128_type& n)   { start = lcast_put_unsigned<Traits>(n, finish); return true; }
         bool operator<<(const ndnboost::int128_type& n)    { return shl_signed(n); }
 #endif
@@ -1843,58 +1843,58 @@
             }
             
             template <std::size_t N>
-            bool operator<<(ndnboost::array<CharT, N> const& input) BOOST_NOEXCEPT
+            bool operator<<(ndnboost::array<CharT, N> const& input) NDNBOOST_NOEXCEPT
             { return shl_char_array_limited(input.begin(), N); }
 
             template <std::size_t N>
-            bool operator<<(ndnboost::array<unsigned char, N> const& input) BOOST_NOEXCEPT
+            bool operator<<(ndnboost::array<unsigned char, N> const& input) NDNBOOST_NOEXCEPT
             { return ((*this) << reinterpret_cast<ndnboost::array<char, N> const& >(input)); }
 
             template <std::size_t N>
-            bool operator<<(ndnboost::array<signed char, N> const& input) BOOST_NOEXCEPT
+            bool operator<<(ndnboost::array<signed char, N> const& input) NDNBOOST_NOEXCEPT
             { return ((*this) << reinterpret_cast<ndnboost::array<char, N> const& >(input)); }
 
             template <std::size_t N>
-            bool operator<<(ndnboost::array<const CharT, N> const& input) BOOST_NOEXCEPT
+            bool operator<<(ndnboost::array<const CharT, N> const& input) NDNBOOST_NOEXCEPT
             { return shl_char_array_limited(input.begin(), N); }
 
             template <std::size_t N>
-            bool operator<<(ndnboost::array<const unsigned char, N> const& input) BOOST_NOEXCEPT
+            bool operator<<(ndnboost::array<const unsigned char, N> const& input) NDNBOOST_NOEXCEPT
             { return ((*this) << reinterpret_cast<ndnboost::array<const char, N> const& >(input)); }
 
             template <std::size_t N>
-            bool operator<<(ndnboost::array<const signed char, N> const& input) BOOST_NOEXCEPT
+            bool operator<<(ndnboost::array<const signed char, N> const& input) NDNBOOST_NOEXCEPT
             { return ((*this) << reinterpret_cast<ndnboost::array<const char, N> const& >(input)); }
  
-#ifndef BOOST_NO_CXX11_HDR_ARRAY
+#ifndef NDNBOOST_NO_CXX11_HDR_ARRAY
             template <std::size_t N>
-            bool operator<<(std::array<CharT, N> const& input) BOOST_NOEXCEPT
+            bool operator<<(std::array<CharT, N> const& input) NDNBOOST_NOEXCEPT
             { 
                 if (input.size()) return shl_char_array_limited(&input[0], N);
                 else return true; 
             }
 
             template <std::size_t N>
-            bool operator<<(std::array<unsigned char, N> const& input) BOOST_NOEXCEPT
+            bool operator<<(std::array<unsigned char, N> const& input) NDNBOOST_NOEXCEPT
             { return ((*this) << reinterpret_cast<ndnboost::array<char, N> const& >(input)); }
 
             template <std::size_t N>
-            bool operator<<(std::array<signed char, N> const& input) BOOST_NOEXCEPT
+            bool operator<<(std::array<signed char, N> const& input) NDNBOOST_NOEXCEPT
             { return ((*this) << reinterpret_cast<ndnboost::array<char, N> const& >(input)); }
 
             template <std::size_t N>
-            bool operator<<(std::array<const CharT, N> const& input) BOOST_NOEXCEPT
+            bool operator<<(std::array<const CharT, N> const& input) NDNBOOST_NOEXCEPT
             { 
                 if (input.size()) return shl_char_array_limited(&input[0], N);
                 else return true; 
             }
 
             template <std::size_t N>
-            bool operator<<(std::array<const unsigned char, N> const& input) BOOST_NOEXCEPT
+            bool operator<<(std::array<const unsigned char, N> const& input) NDNBOOST_NOEXCEPT
             { return ((*this) << reinterpret_cast<ndnboost::array<const char, N> const& >(input)); }
 
             template <std::size_t N>
-            bool operator<<(std::array<const signed char, N> const& input) BOOST_NOEXCEPT
+            bool operator<<(std::array<const signed char, N> const& input) NDNBOOST_NOEXCEPT
             { return ((*this) << reinterpret_cast<ndnboost::array<const char, N> const& >(input)); }
 #endif
             
@@ -1937,7 +1937,7 @@
                 if (start == finish) return false;
                 CharT const minus = lcast_char_constants<CharT>::minus;
                 CharT const plus = lcast_char_constants<CharT>::plus;
-                typedef BOOST_DEDUCED_TYPENAME make_unsigned<Type>::type utype;
+                typedef NDNBOOST_DEDUCED_TYPENAME make_unsigned<Type>::type utype;
                 utype out_tmp =0;
                 bool has_minus = false;
 
@@ -1967,39 +1967,39 @@
             template<typename InputStreamable>
             bool shr_using_base_class(InputStreamable& output)
             {
-                BOOST_STATIC_ASSERT_MSG(
+                NDNBOOST_STATIC_ASSERT_MSG(
                     (!ndnboost::is_pointer<InputStreamable>::value),
                     "ndnboost::lexical_cast can not convert to pointers"
                 );
 
-#if defined(BOOST_NO_STRINGSTREAM) || defined(BOOST_NO_STD_LOCALE)
-                BOOST_STATIC_ASSERT_MSG((ndnboost::is_same<char, CharT>::value),
+#if defined(NDNBOOST_NO_STRINGSTREAM) || defined(NDNBOOST_NO_STD_LOCALE)
+                NDNBOOST_STATIC_ASSERT_MSG((ndnboost::is_same<char, CharT>::value),
                     "ndnboost::lexical_cast can not convert, because your STL library does not "
                     "support such conversions. Try updating it."
                 );
 #endif
 
-#if defined(BOOST_NO_STRINGSTREAM)
+#if defined(NDNBOOST_NO_STRINGSTREAM)
                 std::istrstream stream(start, finish - start);
 #else
 
                 buffer_t buf;
                 buf.setbuf(start, finish - start);
-#if defined(BOOST_NO_STD_LOCALE)
+#if defined(NDNBOOST_NO_STD_LOCALE)
                 std::istream stream(&buf);
 #else
                 std::basic_istream<CharT, Traits> stream(&buf);
-#endif // BOOST_NO_STD_LOCALE
-#endif // BOOST_NO_STRINGSTREAM
+#endif // NDNBOOST_NO_STD_LOCALE
+#endif // NDNBOOST_NO_STRINGSTREAM
 
                 stream.unsetf(std::ios::skipws);
                 lcast_set_precision(stream, static_cast<InputStreamable*>(0));
 
                 return stream >> output &&
                     stream.get() ==
-#if defined(__GNUC__) && (__GNUC__<3) && defined(BOOST_NO_STD_WSTRING)
+#if defined(__GNUC__) && (__GNUC__<3) && defined(NDNBOOST_NO_STD_WSTRING)
         // GCC 2.9x lacks std::char_traits<>::eof().
-        // We use BOOST_NO_STD_WSTRING to filter out STLport and libstdc++-v3
+        // We use NDNBOOST_NO_STD_WSTRING to filter out STLport and libstdc++-v3
         // configurations, which do provide std::char_traits<>::eof().
 
                     EOF;
@@ -2011,7 +2011,7 @@
             template<class T>
             inline bool shr_xchar(T& output)
             {
-                BOOST_STATIC_ASSERT_MSG(( sizeof(CharT) == sizeof(T) ),
+                NDNBOOST_STATIC_ASSERT_MSG(( sizeof(CharT) == sizeof(T) ),
                     "ndnboost::lexical_cast does not support narrowing of character types."
                     "Use ndnboost::locale instead" );
                 bool const ok = (finish - start == 1);
@@ -2031,15 +2031,15 @@
             bool operator>>(short& output)                      { return shr_signed(output); }
             bool operator>>(int& output)                        { return shr_signed(output); }
             bool operator>>(long int& output)                   { return shr_signed(output); }
-#if defined(BOOST_HAS_LONG_LONG)
+#if defined(NDNBOOST_HAS_LONG_LONG)
             bool operator>>(ndnboost::ulong_long_type& output)     { return shr_unsigned(output); }
             bool operator>>(ndnboost::long_long_type& output)      { return shr_signed(output); }
-#elif defined(BOOST_HAS_MS_INT64)
+#elif defined(NDNBOOST_HAS_MS_INT64)
             bool operator>>(unsigned __int64& output)           { return shr_unsigned(output); }
             bool operator>>(__int64& output)                    { return shr_signed(output); }
 #endif
 
-#ifdef BOOST_LCAST_HAS_INT128
+#ifdef NDNBOOST_LCAST_HAS_INT128
             bool operator>>(ndnboost::uint128_type& output)        { return shr_unsigned(output); }
             bool operator>>(ndnboost::int128_type& output)         { return shr_signed(output); }
 #endif
@@ -2047,13 +2047,13 @@
             bool operator>>(char& output)                       { return shr_xchar(output); }
             bool operator>>(unsigned char& output)              { return shr_xchar(output); }
             bool operator>>(signed char& output)                { return shr_xchar(output); }
-#if !defined(BOOST_LCAST_NO_WCHAR_T) && !defined(BOOST_NO_INTRINSIC_WCHAR_T)
+#if !defined(NDNBOOST_LCAST_NO_WCHAR_T) && !defined(NDNBOOST_NO_INTRINSIC_WCHAR_T)
             bool operator>>(wchar_t& output)                    { return shr_xchar(output); }
 #endif
-#if !defined(BOOST_NO_CXX11_CHAR16_T) && !defined(BOOST_NO_CXX11_UNICODE_LITERALS)
+#if !defined(NDNBOOST_NO_CXX11_CHAR16_T) && !defined(NDNBOOST_NO_CXX11_UNICODE_LITERALS)
             bool operator>>(char16_t& output)                   { return shr_xchar(output); }
 #endif
-#if !defined(BOOST_NO_CXX11_CHAR32_T) && !defined(BOOST_NO_CXX11_UNICODE_LITERALS)
+#if !defined(NDNBOOST_NO_CXX11_CHAR32_T) && !defined(NDNBOOST_NO_CXX11_UNICODE_LITERALS)
             bool operator>>(char32_t& output)                   { return shr_xchar(output); }
 #endif
             template<class Alloc>
@@ -2065,7 +2065,7 @@
             
     private:
             template <std::size_t N, class ArrayT>
-            bool shr_std_array(ArrayT& output) BOOST_NOEXCEPT
+            bool shr_std_array(ArrayT& output) NDNBOOST_NOEXCEPT
             {
                 using namespace std;
                 const std::size_t size = finish - start;
@@ -2081,7 +2081,7 @@
     public:
 
             template <std::size_t N>
-            bool operator>>(ndnboost::array<CharT, N>& output) BOOST_NOEXCEPT
+            bool operator>>(ndnboost::array<CharT, N>& output) NDNBOOST_NOEXCEPT
             { 
                 return shr_std_array<N>(output); 
             }
@@ -2098,9 +2098,9 @@
                 return ((*this) >> reinterpret_cast<ndnboost::array<char, N>& >(output)); 
             }
  
-#ifndef BOOST_NO_CXX11_HDR_ARRAY
+#ifndef NDNBOOST_NO_CXX11_HDR_ARRAY
             template <std::size_t N>
-            bool operator>>(std::array<CharT, N>& output) BOOST_NOEXCEPT
+            bool operator>>(std::array<CharT, N>& output) NDNBOOST_NOEXCEPT
             { 
                 return shr_std_array<N>(output); 
             }
@@ -2124,7 +2124,7 @@
              * case "1" || "+1":            output = true;  return true;
              * default:                     return false;
              */
-            bool operator>>(bool& output) BOOST_NOEXCEPT
+            bool operator>>(bool& output) NDNBOOST_NOEXCEPT
             {
                 CharT const zero = lcast_char_constants<CharT>::zero;
                 CharT const plus = lcast_char_constants<CharT>::plus;
@@ -2199,7 +2199,7 @@
                  * double, because it will give a big precision loss.
                  * */
                 ndnboost::mpl::if_c<
-#if (defined(BOOST_HAS_LONG_LONG) || defined(BOOST_HAS_MS_INT64)) && !defined(BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS)
+#if (defined(NDNBOOST_HAS_LONG_LONG) || defined(NDNBOOST_HAS_MS_INT64)) && !defined(NDNBOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS)
                     ndnboost::type_traits::ice_eq< sizeof(double), sizeof(long double) >::value,
 #else
                      1,
@@ -2229,25 +2229,25 @@
         template<typename T>
         struct is_stdstring
         {
-            BOOST_STATIC_CONSTANT(bool, value = false );
+            NDNBOOST_STATIC_CONSTANT(bool, value = false );
         };
 
         template<typename CharT, typename Traits, typename Alloc>
         struct is_stdstring< std::basic_string<CharT, Traits, Alloc> >
         {
-            BOOST_STATIC_CONSTANT(bool, value = true );
+            NDNBOOST_STATIC_CONSTANT(bool, value = true );
         };
 
         template<typename CharT, typename Traits, typename Alloc>
         struct is_stdstring< ndnboost::container::basic_string<CharT, Traits, Alloc> >
         {
-            BOOST_STATIC_CONSTANT(bool, value = true );
+            NDNBOOST_STATIC_CONSTANT(bool, value = true );
         };
 
         template<typename Target, typename Source>
         struct is_arithmetic_and_not_xchars
         {
-            BOOST_STATIC_CONSTANT(bool, value =
+            NDNBOOST_STATIC_CONSTANT(bool, value =
                (
                    ndnboost::type_traits::ice_and<
                            ndnboost::is_arithmetic<Source>::value,
@@ -2271,7 +2271,7 @@
         template<typename Target, typename Source>
         struct is_xchar_to_xchar
         {
-            BOOST_STATIC_CONSTANT(bool, value =
+            NDNBOOST_STATIC_CONSTANT(bool, value =
                 (
                     ndnboost::type_traits::ice_or<
                         ndnboost::type_traits::ice_and<
@@ -2292,31 +2292,31 @@
         template<typename Target, typename Source>
         struct is_char_array_to_stdstring
         {
-            BOOST_STATIC_CONSTANT(bool, value = false );
+            NDNBOOST_STATIC_CONSTANT(bool, value = false );
         };
 
         template<typename CharT, typename Traits, typename Alloc>
         struct is_char_array_to_stdstring< std::basic_string<CharT, Traits, Alloc>, CharT* >
         {
-            BOOST_STATIC_CONSTANT(bool, value = true );
+            NDNBOOST_STATIC_CONSTANT(bool, value = true );
         };
 
         template<typename CharT, typename Traits, typename Alloc>
         struct is_char_array_to_stdstring< std::basic_string<CharT, Traits, Alloc>, const CharT* >
         {
-            BOOST_STATIC_CONSTANT(bool, value = true );
+            NDNBOOST_STATIC_CONSTANT(bool, value = true );
         };
 
         template<typename CharT, typename Traits, typename Alloc>
         struct is_char_array_to_stdstring< ndnboost::container::basic_string<CharT, Traits, Alloc>, CharT* >
         {
-            BOOST_STATIC_CONSTANT(bool, value = true );
+            NDNBOOST_STATIC_CONSTANT(bool, value = true );
         };
 
         template<typename CharT, typename Traits, typename Alloc>
         struct is_char_array_to_stdstring< ndnboost::container::basic_string<CharT, Traits, Alloc>, const CharT* >
         {
-            BOOST_STATIC_CONSTANT(bool, value = true );
+            NDNBOOST_STATIC_CONSTANT(bool, value = true );
         };
 
 #if (defined _MSC_VER)
@@ -2333,22 +2333,22 @@
                 typedef lexical_cast_stream_traits<Source, Target>  stream_trait;
                 
                 typedef detail::lexical_stream_limited_src<
-                    BOOST_DEDUCED_TYPENAME stream_trait::char_type, 
-                    BOOST_DEDUCED_TYPENAME stream_trait::traits, 
+                    NDNBOOST_DEDUCED_TYPENAME stream_trait::char_type, 
+                    NDNBOOST_DEDUCED_TYPENAME stream_trait::traits, 
                     stream_trait::requires_stringbuf 
                 > interpreter_type;
 
                 // Target type must be default constructible
                 Target result;               
 
-                BOOST_DEDUCED_TYPENAME stream_trait::char_type buf[stream_trait::len_t::value + 1];
+                NDNBOOST_DEDUCED_TYPENAME stream_trait::char_type buf[stream_trait::len_t::value + 1];
                 stream_trait::len_t::check_coverage();
 
                 interpreter_type interpreter(buf, buf + stream_trait::len_t::value + 1);
 
                 // Disabling ADL, by directly specifying operators.
                 if(!(interpreter.operator <<(arg) && interpreter.operator >>(result)))
-                  BOOST_LCAST_THROW_BAD_CAST(Source, Target);
+                  NDNBOOST_LCAST_THROW_BAD_CAST(Source, Target);
 
                 return result;
             }
@@ -2360,7 +2360,7 @@
         template <typename Source>
         struct lexical_cast_copy
         {
-            static inline const Source& lexical_cast_impl(const Source &arg) BOOST_NOEXCEPT
+            static inline const Source& lexical_cast_impl(const Source &arg) NDNBOOST_NOEXCEPT
             {
                 return arg;
             }
@@ -2372,7 +2372,7 @@
          typedef ndnboost::numeric::Trunc<Source> Rounder;
          typedef Source source_type ;
 
-         typedef BOOST_DEDUCED_TYPENAME mpl::if_<
+         typedef NDNBOOST_DEDUCED_TYPENAME mpl::if_<
             ndnboost::is_arithmetic<Source>, Source, Source const&
           >::type argument_type ;
 
@@ -2384,7 +2384,7 @@
                 const source_type eps = std::numeric_limits<source_type>::epsilon();
 
                 if ((orig_div_round > 1 ? orig_div_round - 1 : 1 - orig_div_round) > eps)
-                    BOOST_LCAST_THROW_BAD_CAST(Source, Target);
+                    NDNBOOST_LCAST_THROW_BAD_CAST(Source, Target);
             }
 
             return s ;
@@ -2399,7 +2399,7 @@
           void operator() ( ndnboost::numeric::range_check_result r )
           {
             if (r != ndnboost::numeric::cInRange)
-                BOOST_LCAST_THROW_BAD_CAST(Source, Target);
+                NDNBOOST_LCAST_THROW_BAD_CAST(Source, Target);
           }
         } ;
 
@@ -2423,7 +2423,7 @@
         {
             static inline Target lexical_cast_impl(const Source &arg)
             {
-                typedef BOOST_DEDUCED_TYPENAME ndnboost::mpl::eval_if_c<
+                typedef NDNBOOST_DEDUCED_TYPENAME ndnboost::mpl::eval_if_c<
                         ndnboost::is_float<Source>::value,
                         ndnboost::mpl::identity<Source>,
                         ndnboost::make_unsigned<Source>
@@ -2466,7 +2466,7 @@
         {
             static inline Target lexical_cast_impl(const Source &arg)
             {
-                typedef BOOST_DEDUCED_TYPENAME ndnboost::mpl::if_c<
+                typedef NDNBOOST_DEDUCED_TYPENAME ndnboost::mpl::if_c<
                     ndnboost::type_traits::ice_and<
                         ndnboost::type_traits::ice_or<
                             ndnboost::is_signed<Source>::value,
@@ -2492,9 +2492,9 @@
     template <typename Target, typename Source>
     inline Target lexical_cast(const Source &arg)
     {
-        typedef BOOST_DEDUCED_TYPENAME ndnboost::detail::array_to_pointer_decay<Source>::type src;
+        typedef NDNBOOST_DEDUCED_TYPENAME ndnboost::detail::array_to_pointer_decay<Source>::type src;
 
-        typedef BOOST_DEDUCED_TYPENAME ndnboost::type_traits::ice_or<
+        typedef NDNBOOST_DEDUCED_TYPENAME ndnboost::type_traits::ice_or<
                 ndnboost::detail::is_xchar_to_xchar<Target, src >::value,
                 ndnboost::detail::is_char_array_to_stdstring<Target, src >::value,
                 ndnboost::type_traits::ice_and<
@@ -2503,13 +2503,13 @@
                 >::value
         > shall_we_copy_t;
 
-        typedef BOOST_DEDUCED_TYPENAME
+        typedef NDNBOOST_DEDUCED_TYPENAME
                 ndnboost::detail::is_arithmetic_and_not_xchars<Target, src > shall_we_copy_with_dynamic_check_t;
 
-        typedef BOOST_DEDUCED_TYPENAME ndnboost::mpl::if_c<
+        typedef NDNBOOST_DEDUCED_TYPENAME ndnboost::mpl::if_c<
             shall_we_copy_t::value,
             ndnboost::detail::lexical_cast_copy<src >,
-            BOOST_DEDUCED_TYPENAME ndnboost::mpl::if_c<
+            NDNBOOST_DEDUCED_TYPENAME ndnboost::mpl::if_c<
                  shall_we_copy_with_dynamic_check_t::value,
                  ndnboost::detail::lexical_cast_dynamic_num<Target, src >,
                  ndnboost::detail::lexical_cast_do_cast<Target, src >
@@ -2544,7 +2544,7 @@
         );
     }
 
-#ifndef BOOST_LCAST_NO_WCHAR_T
+#ifndef NDNBOOST_LCAST_NO_WCHAR_T
     template <typename Target>
     inline Target lexical_cast(const wchar_t* chars, std::size_t count)
     {
@@ -2553,7 +2553,7 @@
         );
     }
 #endif
-#ifndef BOOST_NO_CHAR16_T
+#ifndef NDNBOOST_NO_CHAR16_T
     template <typename Target>
     inline Target lexical_cast(const char16_t* chars, std::size_t count)
     {
@@ -2562,7 +2562,7 @@
         );
     }
 #endif
-#ifndef BOOST_NO_CHAR32_T
+#ifndef NDNBOOST_NO_CHAR32_T
     template <typename Target>
     inline Target lexical_cast(const char32_t* chars, std::size_t count)
     {
@@ -2574,7 +2574,7 @@
 
 } // namespace ndnboost
 
-#else // #ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#else // #ifndef NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 
 namespace ndnboost {
     namespace detail
@@ -2587,8 +2587,8 @@
             typedef char type;
         };
 
-#ifndef BOOST_LCAST_NO_WCHAR_T
-#ifndef BOOST_NO_INTRINSIC_WCHAR_T
+#ifndef NDNBOOST_LCAST_NO_WCHAR_T
+#ifndef NDNBOOST_NO_INTRINSIC_WCHAR_T
         template<>
         struct stream_char<wchar_t>
         {
@@ -2634,7 +2634,7 @@
             }
             ~lexical_stream()
             {
-                #if defined(BOOST_NO_STRINGSTREAM)
+                #if defined(NDNBOOST_NO_STRINGSTREAM)
                 stream.freeze(false);
                 #endif
             }
@@ -2648,9 +2648,9 @@
                 return !is_pointer<InputStreamable>::value &&
                        stream >> output &&
                        stream.get() ==
-#if defined(__GNUC__) && (__GNUC__<3) && defined(BOOST_NO_STD_WSTRING)
+#if defined(__GNUC__) && (__GNUC__<3) && defined(NDNBOOST_NO_STD_WSTRING)
 // GCC 2.9x lacks std::char_traits<>::eof().
-// We use BOOST_NO_STD_WSTRING to filter out STLport and libstdc++-v3
+// We use NDNBOOST_NO_STD_WSTRING to filter out STLport and libstdc++-v3
 // configurations, which do provide std::char_traits<>::eof().
 
                            EOF;
@@ -2661,13 +2661,13 @@
 
             bool operator>>(std::string &output)
             {
-                #if defined(BOOST_NO_STRINGSTREAM)
+                #if defined(NDNBOOST_NO_STRINGSTREAM)
                 stream << '\0';
                 #endif
                 stream.str().swap(output);
                 return true;
             }
-            #ifndef BOOST_LCAST_NO_WCHAR_T
+            #ifndef NDNBOOST_LCAST_NO_WCHAR_T
             bool operator>>(std::wstring &output)
             {
                 stream.str().swap(output);
@@ -2676,9 +2676,9 @@
             #endif
 
         private:
-            #if defined(BOOST_NO_STRINGSTREAM)
+            #if defined(NDNBOOST_NO_STRINGSTREAM)
             std::strstream stream;
-            #elif defined(BOOST_NO_STD_LOCALE)
+            #elif defined(NDNBOOST_NO_STD_LOCALE)
             std::stringstream stream;
             #else
             std::basic_stringstream<char_type,traits_type> stream;
@@ -2692,8 +2692,8 @@
     Target lexical_cast(Source arg)
     {
         typedef typename detail::widest_char< 
-            BOOST_DEDUCED_TYPENAME detail::stream_char<Target>::type 
-          , BOOST_DEDUCED_TYPENAME detail::stream_char<Source>::type 
+            NDNBOOST_DEDUCED_TYPENAME detail::stream_char<Target>::type 
+          , NDNBOOST_DEDUCED_TYPENAME detail::stream_char<Source>::type 
         >::type char_type; 
 
         typedef std::char_traits<char_type> traits;
@@ -2701,7 +2701,7 @@
         Target result;
 
         if(!(interpreter << arg && interpreter >> result))
-          BOOST_LCAST_THROW_BAD_CAST(Source, Target);
+          NDNBOOST_LCAST_THROW_BAD_CAST(Source, Target);
         return result;
     }
 
@@ -2717,9 +2717,9 @@
 // accompanying file LICENSE_1_0.txt or copy at
 // http://www.boost.org/LICENSE_1_0.txt)
 
-#undef BOOST_LCAST_THROW_BAD_CAST
-#undef BOOST_LCAST_NO_WCHAR_T
-#undef BOOST_LCAST_HAS_INT128
+#undef NDNBOOST_LCAST_THROW_BAD_CAST
+#undef NDNBOOST_LCAST_NO_WCHAR_T
+#undef NDNBOOST_LCAST_HAS_INT128
 
-#endif // BOOST_LEXICAL_CAST_INCLUDED
+#endif // NDNBOOST_LEXICAL_CAST_INCLUDED
 
diff --git a/include/ndnboost/limits.hpp b/include/ndnboost/limits.hpp
index d3fddb7..cd55d9b 100644
--- a/include/ndnboost/limits.hpp
+++ b/include/ndnboost/limits.hpp
@@ -8,26 +8,26 @@
 
 //  See http://www.boost.org/libs/compatibility/index.html for documentation.
 
-#ifndef BOOST_LIMITS
-#define BOOST_LIMITS
+#ifndef NDNBOOST_LIMITS
+#define NDNBOOST_LIMITS
 
 #include <ndnboost/config.hpp>
 
-#ifdef BOOST_NO_LIMITS
+#ifdef NDNBOOST_NO_LIMITS
 #  error "There is no std::numeric_limits suppport available."
 #else
 # include <limits>
 #endif
 
-#if (defined(BOOST_HAS_LONG_LONG) && defined(BOOST_NO_LONG_LONG_NUMERIC_LIMITS)) \
-      || (defined(BOOST_HAS_MS_INT64) && defined(BOOST_NO_MS_INT64_NUMERIC_LIMITS))
+#if (defined(NDNBOOST_HAS_LONG_LONG) && defined(NDNBOOST_NO_LONG_LONG_NUMERIC_LIMITS)) \
+      || (defined(NDNBOOST_HAS_MS_INT64) && defined(NDNBOOST_NO_MS_INT64_NUMERIC_LIMITS))
 // Add missing specializations for numeric_limits:
-#ifdef BOOST_HAS_MS_INT64
-#  define BOOST_LLT __int64
-#  define BOOST_ULLT unsigned __int64
+#ifdef NDNBOOST_HAS_MS_INT64
+#  define NDNBOOST_LLT __int64
+#  define NDNBOOST_ULLT unsigned __int64
 #else
-#  define BOOST_LLT  ::ndnboost::long_long_type
-#  define BOOST_ULLT  ::ndnboost::ulong_long_type
+#  define NDNBOOST_LLT  ::ndnboost::long_long_type
+#  define NDNBOOST_ULLT  ::ndnboost::ulong_long_type
 #endif
 
 #include <climits>  // for CHAR_BIT
@@ -35,108 +35,108 @@
 namespace std
 {
   template<>
-  class numeric_limits<BOOST_LLT> 
+  class numeric_limits<NDNBOOST_LLT> 
   {
    public:
 
-      BOOST_STATIC_CONSTANT(bool, is_specialized = true);
-#ifdef BOOST_HAS_MS_INT64
-      static BOOST_LLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return 0x8000000000000000i64; }
-      static BOOST_LLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return 0x7FFFFFFFFFFFFFFFi64; }
+      NDNBOOST_STATIC_CONSTANT(bool, is_specialized = true);
+#ifdef NDNBOOST_HAS_MS_INT64
+      static NDNBOOST_LLT min NDNBOOST_PREVENT_MACRO_SUBSTITUTION (){ return 0x8000000000000000i64; }
+      static NDNBOOST_LLT max NDNBOOST_PREVENT_MACRO_SUBSTITUTION (){ return 0x7FFFFFFFFFFFFFFFi64; }
 #elif defined(LLONG_MAX)
-      static BOOST_LLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return LLONG_MIN; }
-      static BOOST_LLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return LLONG_MAX; }
+      static NDNBOOST_LLT min NDNBOOST_PREVENT_MACRO_SUBSTITUTION (){ return LLONG_MIN; }
+      static NDNBOOST_LLT max NDNBOOST_PREVENT_MACRO_SUBSTITUTION (){ return LLONG_MAX; }
 #elif defined(LONGLONG_MAX)
-      static BOOST_LLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return LONGLONG_MIN; }
-      static BOOST_LLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return LONGLONG_MAX; }
+      static NDNBOOST_LLT min NDNBOOST_PREVENT_MACRO_SUBSTITUTION (){ return LONGLONG_MIN; }
+      static NDNBOOST_LLT max NDNBOOST_PREVENT_MACRO_SUBSTITUTION (){ return LONGLONG_MAX; }
 #else
-      static BOOST_LLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return 1LL << (sizeof(BOOST_LLT) * CHAR_BIT - 1); }
-      static BOOST_LLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return ~(min)(); }
+      static NDNBOOST_LLT min NDNBOOST_PREVENT_MACRO_SUBSTITUTION (){ return 1LL << (sizeof(NDNBOOST_LLT) * CHAR_BIT - 1); }
+      static NDNBOOST_LLT max NDNBOOST_PREVENT_MACRO_SUBSTITUTION (){ return ~(min)(); }
 #endif
-      BOOST_STATIC_CONSTANT(int, digits = sizeof(BOOST_LLT) * CHAR_BIT -1);
-      BOOST_STATIC_CONSTANT(int, digits10 = (CHAR_BIT * sizeof (BOOST_LLT) - 1) * 301L / 1000);
-      BOOST_STATIC_CONSTANT(bool, is_signed = true);
-      BOOST_STATIC_CONSTANT(bool, is_integer = true);
-      BOOST_STATIC_CONSTANT(bool, is_exact = true);
-      BOOST_STATIC_CONSTANT(int, radix = 2);
-      static BOOST_LLT epsilon() throw() { return 0; };
-      static BOOST_LLT round_error() throw() { return 0; };
+      NDNBOOST_STATIC_CONSTANT(int, digits = sizeof(NDNBOOST_LLT) * CHAR_BIT -1);
+      NDNBOOST_STATIC_CONSTANT(int, digits10 = (CHAR_BIT * sizeof (NDNBOOST_LLT) - 1) * 301L / 1000);
+      NDNBOOST_STATIC_CONSTANT(bool, is_signed = true);
+      NDNBOOST_STATIC_CONSTANT(bool, is_integer = true);
+      NDNBOOST_STATIC_CONSTANT(bool, is_exact = true);
+      NDNBOOST_STATIC_CONSTANT(int, radix = 2);
+      static NDNBOOST_LLT epsilon() throw() { return 0; };
+      static NDNBOOST_LLT round_error() throw() { return 0; };
 
-      BOOST_STATIC_CONSTANT(int, min_exponent = 0);
-      BOOST_STATIC_CONSTANT(int, min_exponent10 = 0);
-      BOOST_STATIC_CONSTANT(int, max_exponent = 0);
-      BOOST_STATIC_CONSTANT(int, max_exponent10 = 0);
+      NDNBOOST_STATIC_CONSTANT(int, min_exponent = 0);
+      NDNBOOST_STATIC_CONSTANT(int, min_exponent10 = 0);
+      NDNBOOST_STATIC_CONSTANT(int, max_exponent = 0);
+      NDNBOOST_STATIC_CONSTANT(int, max_exponent10 = 0);
 
-      BOOST_STATIC_CONSTANT(bool, has_infinity = false);
-      BOOST_STATIC_CONSTANT(bool, has_quiet_NaN = false);
-      BOOST_STATIC_CONSTANT(bool, has_signaling_NaN = false);
-      BOOST_STATIC_CONSTANT(bool, has_denorm = false);
-      BOOST_STATIC_CONSTANT(bool, has_denorm_loss = false);
-      static BOOST_LLT infinity() throw() { return 0; };
-      static BOOST_LLT quiet_NaN() throw() { return 0; };
-      static BOOST_LLT signaling_NaN() throw() { return 0; };
-      static BOOST_LLT denorm_min() throw() { return 0; };
+      NDNBOOST_STATIC_CONSTANT(bool, has_infinity = false);
+      NDNBOOST_STATIC_CONSTANT(bool, has_quiet_NaN = false);
+      NDNBOOST_STATIC_CONSTANT(bool, has_signaling_NaN = false);
+      NDNBOOST_STATIC_CONSTANT(bool, has_denorm = false);
+      NDNBOOST_STATIC_CONSTANT(bool, has_denorm_loss = false);
+      static NDNBOOST_LLT infinity() throw() { return 0; };
+      static NDNBOOST_LLT quiet_NaN() throw() { return 0; };
+      static NDNBOOST_LLT signaling_NaN() throw() { return 0; };
+      static NDNBOOST_LLT denorm_min() throw() { return 0; };
 
-      BOOST_STATIC_CONSTANT(bool, is_iec559 = false);
-      BOOST_STATIC_CONSTANT(bool, is_bounded = true);
-      BOOST_STATIC_CONSTANT(bool, is_modulo = true);
+      NDNBOOST_STATIC_CONSTANT(bool, is_iec559 = false);
+      NDNBOOST_STATIC_CONSTANT(bool, is_bounded = true);
+      NDNBOOST_STATIC_CONSTANT(bool, is_modulo = true);
 
-      BOOST_STATIC_CONSTANT(bool, traps = false);
-      BOOST_STATIC_CONSTANT(bool, tinyness_before = false);
-      BOOST_STATIC_CONSTANT(float_round_style, round_style = round_toward_zero);
+      NDNBOOST_STATIC_CONSTANT(bool, traps = false);
+      NDNBOOST_STATIC_CONSTANT(bool, tinyness_before = false);
+      NDNBOOST_STATIC_CONSTANT(float_round_style, round_style = round_toward_zero);
       
   };
 
   template<>
-  class numeric_limits<BOOST_ULLT> 
+  class numeric_limits<NDNBOOST_ULLT> 
   {
    public:
 
-      BOOST_STATIC_CONSTANT(bool, is_specialized = true);
-#ifdef BOOST_HAS_MS_INT64
-      static BOOST_ULLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return 0ui64; }
-      static BOOST_ULLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return 0xFFFFFFFFFFFFFFFFui64; }
+      NDNBOOST_STATIC_CONSTANT(bool, is_specialized = true);
+#ifdef NDNBOOST_HAS_MS_INT64
+      static NDNBOOST_ULLT min NDNBOOST_PREVENT_MACRO_SUBSTITUTION (){ return 0ui64; }
+      static NDNBOOST_ULLT max NDNBOOST_PREVENT_MACRO_SUBSTITUTION (){ return 0xFFFFFFFFFFFFFFFFui64; }
 #elif defined(ULLONG_MAX) && defined(ULLONG_MIN)
-      static BOOST_ULLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return ULLONG_MIN; }
-      static BOOST_ULLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return ULLONG_MAX; }
+      static NDNBOOST_ULLT min NDNBOOST_PREVENT_MACRO_SUBSTITUTION (){ return ULLONG_MIN; }
+      static NDNBOOST_ULLT max NDNBOOST_PREVENT_MACRO_SUBSTITUTION (){ return ULLONG_MAX; }
 #elif defined(ULONGLONG_MAX) && defined(ULONGLONG_MIN)
-      static BOOST_ULLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return ULONGLONG_MIN; }
-      static BOOST_ULLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return ULONGLONG_MAX; }
+      static NDNBOOST_ULLT min NDNBOOST_PREVENT_MACRO_SUBSTITUTION (){ return ULONGLONG_MIN; }
+      static NDNBOOST_ULLT max NDNBOOST_PREVENT_MACRO_SUBSTITUTION (){ return ULONGLONG_MAX; }
 #else
-      static BOOST_ULLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return 0uLL; }
-      static BOOST_ULLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return ~0uLL; }
+      static NDNBOOST_ULLT min NDNBOOST_PREVENT_MACRO_SUBSTITUTION (){ return 0uLL; }
+      static NDNBOOST_ULLT max NDNBOOST_PREVENT_MACRO_SUBSTITUTION (){ return ~0uLL; }
 #endif
-      BOOST_STATIC_CONSTANT(int, digits = sizeof(BOOST_LLT) * CHAR_BIT);
-      BOOST_STATIC_CONSTANT(int, digits10 = (CHAR_BIT * sizeof (BOOST_LLT)) * 301L / 1000);
-      BOOST_STATIC_CONSTANT(bool, is_signed = false);
-      BOOST_STATIC_CONSTANT(bool, is_integer = true);
-      BOOST_STATIC_CONSTANT(bool, is_exact = true);
-      BOOST_STATIC_CONSTANT(int, radix = 2);
-      static BOOST_ULLT epsilon() throw() { return 0; };
-      static BOOST_ULLT round_error() throw() { return 0; };
+      NDNBOOST_STATIC_CONSTANT(int, digits = sizeof(NDNBOOST_LLT) * CHAR_BIT);
+      NDNBOOST_STATIC_CONSTANT(int, digits10 = (CHAR_BIT * sizeof (NDNBOOST_LLT)) * 301L / 1000);
+      NDNBOOST_STATIC_CONSTANT(bool, is_signed = false);
+      NDNBOOST_STATIC_CONSTANT(bool, is_integer = true);
+      NDNBOOST_STATIC_CONSTANT(bool, is_exact = true);
+      NDNBOOST_STATIC_CONSTANT(int, radix = 2);
+      static NDNBOOST_ULLT epsilon() throw() { return 0; };
+      static NDNBOOST_ULLT round_error() throw() { return 0; };
 
-      BOOST_STATIC_CONSTANT(int, min_exponent = 0);
-      BOOST_STATIC_CONSTANT(int, min_exponent10 = 0);
-      BOOST_STATIC_CONSTANT(int, max_exponent = 0);
-      BOOST_STATIC_CONSTANT(int, max_exponent10 = 0);
+      NDNBOOST_STATIC_CONSTANT(int, min_exponent = 0);
+      NDNBOOST_STATIC_CONSTANT(int, min_exponent10 = 0);
+      NDNBOOST_STATIC_CONSTANT(int, max_exponent = 0);
+      NDNBOOST_STATIC_CONSTANT(int, max_exponent10 = 0);
 
-      BOOST_STATIC_CONSTANT(bool, has_infinity = false);
-      BOOST_STATIC_CONSTANT(bool, has_quiet_NaN = false);
-      BOOST_STATIC_CONSTANT(bool, has_signaling_NaN = false);
-      BOOST_STATIC_CONSTANT(bool, has_denorm = false);
-      BOOST_STATIC_CONSTANT(bool, has_denorm_loss = false);
-      static BOOST_ULLT infinity() throw() { return 0; };
-      static BOOST_ULLT quiet_NaN() throw() { return 0; };
-      static BOOST_ULLT signaling_NaN() throw() { return 0; };
-      static BOOST_ULLT denorm_min() throw() { return 0; };
+      NDNBOOST_STATIC_CONSTANT(bool, has_infinity = false);
+      NDNBOOST_STATIC_CONSTANT(bool, has_quiet_NaN = false);
+      NDNBOOST_STATIC_CONSTANT(bool, has_signaling_NaN = false);
+      NDNBOOST_STATIC_CONSTANT(bool, has_denorm = false);
+      NDNBOOST_STATIC_CONSTANT(bool, has_denorm_loss = false);
+      static NDNBOOST_ULLT infinity() throw() { return 0; };
+      static NDNBOOST_ULLT quiet_NaN() throw() { return 0; };
+      static NDNBOOST_ULLT signaling_NaN() throw() { return 0; };
+      static NDNBOOST_ULLT denorm_min() throw() { return 0; };
 
-      BOOST_STATIC_CONSTANT(bool, is_iec559 = false);
-      BOOST_STATIC_CONSTANT(bool, is_bounded = true);
-      BOOST_STATIC_CONSTANT(bool, is_modulo = true);
+      NDNBOOST_STATIC_CONSTANT(bool, is_iec559 = false);
+      NDNBOOST_STATIC_CONSTANT(bool, is_bounded = true);
+      NDNBOOST_STATIC_CONSTANT(bool, is_modulo = true);
 
-      BOOST_STATIC_CONSTANT(bool, traps = false);
-      BOOST_STATIC_CONSTANT(bool, tinyness_before = false);
-      BOOST_STATIC_CONSTANT(float_round_style, round_style = round_toward_zero);
+      NDNBOOST_STATIC_CONSTANT(bool, traps = false);
+      NDNBOOST_STATIC_CONSTANT(bool, tinyness_before = false);
+      NDNBOOST_STATIC_CONSTANT(float_round_style, round_style = round_toward_zero);
       
   };
 }
diff --git a/include/ndnboost/make_shared.hpp b/include/ndnboost/make_shared.hpp
index 8a2b188..b28bee2 100644
--- a/include/ndnboost/make_shared.hpp
+++ b/include/ndnboost/make_shared.hpp
@@ -1,5 +1,5 @@
-#ifndef BOOST_MAKE_SHARED_HPP_INCLUDED
-#define BOOST_MAKE_SHARED_HPP_INCLUDED
+#ifndef NDNBOOST_MAKE_SHARED_HPP_INCLUDED
+#define NDNBOOST_MAKE_SHARED_HPP_INCLUDED
 
 //  make_shared.hpp
 //
@@ -14,4 +14,4 @@
 
 #include <ndnboost/smart_ptr/make_shared.hpp>
 
-#endif // #ifndef BOOST_MAKE_SHARED_HPP_INCLUDED
+#endif // #ifndef NDNBOOST_MAKE_SHARED_HPP_INCLUDED
diff --git a/include/ndnboost/math/policies/policy.hpp b/include/ndnboost/math/policies/policy.hpp
index 1a4bb16..66a35d9 100644
--- a/include/ndnboost/math/policies/policy.hpp
+++ b/include/ndnboost/math/policies/policy.hpp
@@ -3,8 +3,8 @@
 //  Boost Software License, Version 1.0. (See accompanying file
 //  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 
-#ifndef BOOST_MATH_POLICY_HPP
-#define BOOST_MATH_POLICY_HPP
+#ifndef NDNBOOST_MATH_POLICY_HPP
+#define NDNBOOST_MATH_POLICY_HPP
 
 #include <ndnboost/mpl/list.hpp>
 #include <ndnboost/mpl/contains.hpp>
@@ -33,9 +33,9 @@
 namespace tools{
 
 template <class T>
-int digits(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE(T));
+int digits(NDNBOOST_MATH_EXPLICIT_TEMPLATE_TYPE(T));
 template <class T>
-T epsilon(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE(T));
+T epsilon(NDNBOOST_MATH_EXPLICIT_TEMPLATE_TYPE(T));
 
 }
 
@@ -44,59 +44,59 @@
 //
 // Define macros for our default policies, if they're not defined already:
 //
-#ifndef BOOST_MATH_DOMAIN_ERROR_POLICY
-#define BOOST_MATH_DOMAIN_ERROR_POLICY throw_on_error
+#ifndef NDNBOOST_MATH_DOMAIN_ERROR_POLICY
+#define NDNBOOST_MATH_DOMAIN_ERROR_POLICY throw_on_error
 #endif
-#ifndef BOOST_MATH_POLE_ERROR_POLICY
-#define BOOST_MATH_POLE_ERROR_POLICY throw_on_error
+#ifndef NDNBOOST_MATH_POLE_ERROR_POLICY
+#define NDNBOOST_MATH_POLE_ERROR_POLICY throw_on_error
 #endif
-#ifndef BOOST_MATH_OVERFLOW_ERROR_POLICY
-#define BOOST_MATH_OVERFLOW_ERROR_POLICY throw_on_error
+#ifndef NDNBOOST_MATH_OVERFLOW_ERROR_POLICY
+#define NDNBOOST_MATH_OVERFLOW_ERROR_POLICY throw_on_error
 #endif
-#ifndef BOOST_MATH_EVALUATION_ERROR_POLICY
-#define BOOST_MATH_EVALUATION_ERROR_POLICY throw_on_error
+#ifndef NDNBOOST_MATH_EVALUATION_ERROR_POLICY
+#define NDNBOOST_MATH_EVALUATION_ERROR_POLICY throw_on_error
 #endif
-#ifndef BOOST_MATH_ROUNDING_ERROR_POLICY
-#define BOOST_MATH_ROUNDING_ERROR_POLICY throw_on_error
+#ifndef NDNBOOST_MATH_ROUNDING_ERROR_POLICY
+#define NDNBOOST_MATH_ROUNDING_ERROR_POLICY throw_on_error
 #endif
-#ifndef BOOST_MATH_UNDERFLOW_ERROR_POLICY
-#define BOOST_MATH_UNDERFLOW_ERROR_POLICY ignore_error
+#ifndef NDNBOOST_MATH_UNDERFLOW_ERROR_POLICY
+#define NDNBOOST_MATH_UNDERFLOW_ERROR_POLICY ignore_error
 #endif
-#ifndef BOOST_MATH_DENORM_ERROR_POLICY
-#define BOOST_MATH_DENORM_ERROR_POLICY ignore_error
+#ifndef NDNBOOST_MATH_DENORM_ERROR_POLICY
+#define NDNBOOST_MATH_DENORM_ERROR_POLICY ignore_error
 #endif
-#ifndef BOOST_MATH_INDETERMINATE_RESULT_ERROR_POLICY
-#define BOOST_MATH_INDETERMINATE_RESULT_ERROR_POLICY ignore_error
+#ifndef NDNBOOST_MATH_INDETERMINATE_RESULT_ERROR_POLICY
+#define NDNBOOST_MATH_INDETERMINATE_RESULT_ERROR_POLICY ignore_error
 #endif
-#ifndef BOOST_MATH_DIGITS10_POLICY
-#define BOOST_MATH_DIGITS10_POLICY 0
+#ifndef NDNBOOST_MATH_DIGITS10_POLICY
+#define NDNBOOST_MATH_DIGITS10_POLICY 0
 #endif
-#ifndef BOOST_MATH_PROMOTE_FLOAT_POLICY
-#define BOOST_MATH_PROMOTE_FLOAT_POLICY true
+#ifndef NDNBOOST_MATH_PROMOTE_FLOAT_POLICY
+#define NDNBOOST_MATH_PROMOTE_FLOAT_POLICY true
 #endif
-#ifndef BOOST_MATH_PROMOTE_DOUBLE_POLICY
-#ifdef BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
-#define BOOST_MATH_PROMOTE_DOUBLE_POLICY false
+#ifndef NDNBOOST_MATH_PROMOTE_DOUBLE_POLICY
+#ifdef NDNBOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
+#define NDNBOOST_MATH_PROMOTE_DOUBLE_POLICY false
 #else
-#define BOOST_MATH_PROMOTE_DOUBLE_POLICY true
+#define NDNBOOST_MATH_PROMOTE_DOUBLE_POLICY true
 #endif
 #endif
-#ifndef BOOST_MATH_DISCRETE_QUANTILE_POLICY
-#define BOOST_MATH_DISCRETE_QUANTILE_POLICY integer_round_outwards
+#ifndef NDNBOOST_MATH_DISCRETE_QUANTILE_POLICY
+#define NDNBOOST_MATH_DISCRETE_QUANTILE_POLICY integer_round_outwards
 #endif
-#ifndef BOOST_MATH_ASSERT_UNDEFINED_POLICY
-#define BOOST_MATH_ASSERT_UNDEFINED_POLICY true
+#ifndef NDNBOOST_MATH_ASSERT_UNDEFINED_POLICY
+#define NDNBOOST_MATH_ASSERT_UNDEFINED_POLICY true
 #endif
-#ifndef BOOST_MATH_MAX_SERIES_ITERATION_POLICY
-#define BOOST_MATH_MAX_SERIES_ITERATION_POLICY 1000000
+#ifndef NDNBOOST_MATH_MAX_SERIES_ITERATION_POLICY
+#define NDNBOOST_MATH_MAX_SERIES_ITERATION_POLICY 1000000
 #endif
-#ifndef BOOST_MATH_MAX_ROOT_ITERATION_POLICY
-#define BOOST_MATH_MAX_ROOT_ITERATION_POLICY 200
+#ifndef NDNBOOST_MATH_MAX_ROOT_ITERATION_POLICY
+#define NDNBOOST_MATH_MAX_ROOT_ITERATION_POLICY 200
 #endif
 
 #if !defined(__BORLANDC__) \
    && !(defined(__GNUC__) && (__GNUC__ == 3) && (__GNUC_MINOR__ <= 2))
-#define BOOST_MATH_META_INT(type, name, Default)\
+#define NDNBOOST_MATH_META_INT(type, name, Default)\
    template <type N = Default> struct name : public ndnboost::mpl::int_<N>{};\
    namespace detail{\
    template <type N>\
@@ -106,12 +106,12 @@
    {\
       template <type N> static char test(const name<N>*);\
       static double test(...);\
-      BOOST_STATIC_CONSTANT(bool, value = sizeof(test(static_cast<T*>(0))) == 1);\
+      NDNBOOST_STATIC_CONSTANT(bool, value = sizeof(test(static_cast<T*>(0))) == 1);\
    };\
    }\
    template <class T> struct is_##name : public ndnboost::mpl::bool_< ::ndnboost::math::policies::detail::is_##name##_imp<T>::value>{};
 
-#define BOOST_MATH_META_BOOL(name, Default)\
+#define NDNBOOST_MATH_META_BOOL(name, Default)\
    template <bool N = Default> struct name : public ndnboost::mpl::bool_<N>{};\
    namespace detail{\
    template <bool N>\
@@ -121,12 +121,12 @@
    {\
       template <bool N> static char test(const name<N>*);\
       static double test(...);\
-      BOOST_STATIC_CONSTANT(bool, value = sizeof(test(static_cast<T*>(0))) == 1);\
+      NDNBOOST_STATIC_CONSTANT(bool, value = sizeof(test(static_cast<T*>(0))) == 1);\
    };\
    }\
    template <class T> struct is_##name : public ndnboost::mpl::bool_< ::ndnboost::math::policies::detail::is_##name##_imp<T>::value>{};
 #else
-#define BOOST_MATH_META_INT(Type, name, Default)\
+#define NDNBOOST_MATH_META_INT(Type, name, Default)\
    template <Type N = Default> struct name : public ndnboost::mpl::int_<N>{};\
    namespace detail{\
    template <Type N>\
@@ -140,7 +140,7 @@
    template <class T> struct is_##name##_imp\
    {\
       static T inst;\
-      BOOST_STATIC_CONSTANT(bool, value = sizeof( ::ndnboost::math::policies::detail::is_##name##_tester<T>::test(inst)) == 1);\
+      NDNBOOST_STATIC_CONSTANT(bool, value = sizeof( ::ndnboost::math::policies::detail::is_##name##_tester<T>::test(inst)) == 1);\
    };\
    }\
    template <class T> struct is_##name : public ndnboost::mpl::bool_< ::ndnboost::math::policies::detail::is_##name##_imp<T>::value>\
@@ -148,7 +148,7 @@
       template <class U> struct apply{ typedef is_##name<U> type; };\
    };
 
-#define BOOST_MATH_META_BOOL(name, Default)\
+#define NDNBOOST_MATH_META_BOOL(name, Default)\
    template <bool N = Default> struct name : public ndnboost::mpl::bool_<N>{};\
    namespace detail{\
    template <bool N>\
@@ -162,7 +162,7 @@
    template <class T> struct is_##name##_imp\
    {\
       static T inst;\
-      BOOST_STATIC_CONSTANT(bool, value = sizeof( ::ndnboost::math::policies::detail::is_##name##_tester<T>::test(inst)) == 1);\
+      NDNBOOST_STATIC_CONSTANT(bool, value = sizeof( ::ndnboost::math::policies::detail::is_##name##_tester<T>::test(inst)) == 1);\
    };\
    }\
    template <class T> struct is_##name : public ndnboost::mpl::bool_< ::ndnboost::math::policies::detail::is_##name##_imp<T>::value>\
@@ -181,21 +181,21 @@
    user_error = 3
 };
 
-BOOST_MATH_META_INT(error_policy_type, domain_error, BOOST_MATH_DOMAIN_ERROR_POLICY)
-BOOST_MATH_META_INT(error_policy_type, pole_error, BOOST_MATH_POLE_ERROR_POLICY)
-BOOST_MATH_META_INT(error_policy_type, overflow_error, BOOST_MATH_OVERFLOW_ERROR_POLICY)
-BOOST_MATH_META_INT(error_policy_type, underflow_error, BOOST_MATH_UNDERFLOW_ERROR_POLICY)
-BOOST_MATH_META_INT(error_policy_type, denorm_error, BOOST_MATH_DENORM_ERROR_POLICY)
-BOOST_MATH_META_INT(error_policy_type, evaluation_error, BOOST_MATH_EVALUATION_ERROR_POLICY)
-BOOST_MATH_META_INT(error_policy_type, rounding_error, BOOST_MATH_ROUNDING_ERROR_POLICY)
-BOOST_MATH_META_INT(error_policy_type, indeterminate_result_error, BOOST_MATH_INDETERMINATE_RESULT_ERROR_POLICY)
+NDNBOOST_MATH_META_INT(error_policy_type, domain_error, NDNBOOST_MATH_DOMAIN_ERROR_POLICY)
+NDNBOOST_MATH_META_INT(error_policy_type, pole_error, NDNBOOST_MATH_POLE_ERROR_POLICY)
+NDNBOOST_MATH_META_INT(error_policy_type, overflow_error, NDNBOOST_MATH_OVERFLOW_ERROR_POLICY)
+NDNBOOST_MATH_META_INT(error_policy_type, underflow_error, NDNBOOST_MATH_UNDERFLOW_ERROR_POLICY)
+NDNBOOST_MATH_META_INT(error_policy_type, denorm_error, NDNBOOST_MATH_DENORM_ERROR_POLICY)
+NDNBOOST_MATH_META_INT(error_policy_type, evaluation_error, NDNBOOST_MATH_EVALUATION_ERROR_POLICY)
+NDNBOOST_MATH_META_INT(error_policy_type, rounding_error, NDNBOOST_MATH_ROUNDING_ERROR_POLICY)
+NDNBOOST_MATH_META_INT(error_policy_type, indeterminate_result_error, NDNBOOST_MATH_INDETERMINATE_RESULT_ERROR_POLICY)
 
 //
 // Policy types for internal promotion:
 //
-BOOST_MATH_META_BOOL(promote_float, BOOST_MATH_PROMOTE_FLOAT_POLICY)
-BOOST_MATH_META_BOOL(promote_double, BOOST_MATH_PROMOTE_DOUBLE_POLICY)
-BOOST_MATH_META_BOOL(assert_undefined, BOOST_MATH_ASSERT_UNDEFINED_POLICY)
+NDNBOOST_MATH_META_BOOL(promote_float, NDNBOOST_MATH_PROMOTE_FLOAT_POLICY)
+NDNBOOST_MATH_META_BOOL(promote_double, NDNBOOST_MATH_PROMOTE_DOUBLE_POLICY)
+NDNBOOST_MATH_META_BOOL(assert_undefined, NDNBOOST_MATH_ASSERT_UNDEFINED_POLICY)
 //
 // Policy types for discrete quantiles:
 //
@@ -209,23 +209,23 @@
    integer_round_nearest
 };
 
-BOOST_MATH_META_INT(discrete_quantile_policy_type, discrete_quantile, BOOST_MATH_DISCRETE_QUANTILE_POLICY)
+NDNBOOST_MATH_META_INT(discrete_quantile_policy_type, discrete_quantile, NDNBOOST_MATH_DISCRETE_QUANTILE_POLICY)
 //
 // Precision:
 //
-BOOST_MATH_META_INT(int, digits10, BOOST_MATH_DIGITS10_POLICY)
-BOOST_MATH_META_INT(int, digits2, 0)
+NDNBOOST_MATH_META_INT(int, digits10, NDNBOOST_MATH_DIGITS10_POLICY)
+NDNBOOST_MATH_META_INT(int, digits2, 0)
 //
 // Iterations:
 //
-BOOST_MATH_META_INT(unsigned long, max_series_iterations, BOOST_MATH_MAX_SERIES_ITERATION_POLICY)
-BOOST_MATH_META_INT(unsigned long, max_root_iterations, BOOST_MATH_MAX_ROOT_ITERATION_POLICY)
+NDNBOOST_MATH_META_INT(unsigned long, max_series_iterations, NDNBOOST_MATH_MAX_SERIES_ITERATION_POLICY)
+NDNBOOST_MATH_META_INT(unsigned long, max_root_iterations, NDNBOOST_MATH_MAX_ROOT_ITERATION_POLICY)
 //
 // Define the names for each possible policy:
 //
-#define BOOST_MATH_PARAMETER(name)\
-   BOOST_PARAMETER_TEMPLATE_KEYWORD(name##_name)\
-   BOOST_PARAMETER_NAME(name##_name)
+#define NDNBOOST_MATH_PARAMETER(name)\
+   NDNBOOST_PARAMETER_TEMPLATE_KEYWORD(name##_name)\
+   NDNBOOST_PARAMETER_NAME(name##_name)
 
 struct default_policy{};
 
@@ -287,13 +287,13 @@
 template <class T>
 struct is_valid_policy_imp 
 {
-   BOOST_STATIC_CONSTANT(bool, value = sizeof(::ndnboost::math::policies::detail::test_is_valid_arg(static_cast<T*>(0))) == 1);
+   NDNBOOST_STATIC_CONSTANT(bool, value = sizeof(::ndnboost::math::policies::detail::test_is_valid_arg(static_cast<T*>(0))) == 1);
 };
 
 template <class T>
 struct is_default_policy_imp
 {
-   BOOST_STATIC_CONSTANT(bool, value = sizeof(::ndnboost::math::policies::detail::test_is_default_arg(static_cast<T*>(0))) == 1);
+   NDNBOOST_STATIC_CONSTANT(bool, value = sizeof(::ndnboost::math::policies::detail::test_is_default_arg(static_cast<T*>(0))) == 1);
 };
 
 template <class T> struct is_valid_policy 
@@ -357,8 +357,8 @@
    typedef default_policy arg2;
 };
 
-typedef default_args<BOOST_MATH_PROMOTE_FLOAT_POLICY, BOOST_MATH_PROMOTE_DOUBLE_POLICY>::arg1 forwarding_arg1;
-typedef default_args<BOOST_MATH_PROMOTE_FLOAT_POLICY, BOOST_MATH_PROMOTE_DOUBLE_POLICY>::arg2 forwarding_arg2;
+typedef default_args<NDNBOOST_MATH_PROMOTE_FLOAT_POLICY, NDNBOOST_MATH_PROMOTE_DOUBLE_POLICY>::arg1 forwarding_arg1;
+typedef default_args<NDNBOOST_MATH_PROMOTE_FLOAT_POLICY, NDNBOOST_MATH_PROMOTE_DOUBLE_POLICY>::arg2 forwarding_arg2;
 
 } // detail
 //
@@ -384,19 +384,19 @@
    //
    // Validate all our arguments:
    //
-   BOOST_STATIC_ASSERT(::ndnboost::math::policies::detail::is_valid_policy<A1>::value);
-   BOOST_STATIC_ASSERT(::ndnboost::math::policies::detail::is_valid_policy<A2>::value);
-   BOOST_STATIC_ASSERT(::ndnboost::math::policies::detail::is_valid_policy<A3>::value);
-   BOOST_STATIC_ASSERT(::ndnboost::math::policies::detail::is_valid_policy<A4>::value);
-   BOOST_STATIC_ASSERT(::ndnboost::math::policies::detail::is_valid_policy<A5>::value);
-   BOOST_STATIC_ASSERT(::ndnboost::math::policies::detail::is_valid_policy<A6>::value);
-   BOOST_STATIC_ASSERT(::ndnboost::math::policies::detail::is_valid_policy<A7>::value);
-   BOOST_STATIC_ASSERT(::ndnboost::math::policies::detail::is_valid_policy<A8>::value);
-   BOOST_STATIC_ASSERT(::ndnboost::math::policies::detail::is_valid_policy<A9>::value);
-   BOOST_STATIC_ASSERT(::ndnboost::math::policies::detail::is_valid_policy<A10>::value);
-   BOOST_STATIC_ASSERT(::ndnboost::math::policies::detail::is_valid_policy<A11>::value);
-   BOOST_STATIC_ASSERT(::ndnboost::math::policies::detail::is_valid_policy<A12>::value);
-   BOOST_STATIC_ASSERT(::ndnboost::math::policies::detail::is_valid_policy<A13>::value);
+   NDNBOOST_STATIC_ASSERT(::ndnboost::math::policies::detail::is_valid_policy<A1>::value);
+   NDNBOOST_STATIC_ASSERT(::ndnboost::math::policies::detail::is_valid_policy<A2>::value);
+   NDNBOOST_STATIC_ASSERT(::ndnboost::math::policies::detail::is_valid_policy<A3>::value);
+   NDNBOOST_STATIC_ASSERT(::ndnboost::math::policies::detail::is_valid_policy<A4>::value);
+   NDNBOOST_STATIC_ASSERT(::ndnboost::math::policies::detail::is_valid_policy<A5>::value);
+   NDNBOOST_STATIC_ASSERT(::ndnboost::math::policies::detail::is_valid_policy<A6>::value);
+   NDNBOOST_STATIC_ASSERT(::ndnboost::math::policies::detail::is_valid_policy<A7>::value);
+   NDNBOOST_STATIC_ASSERT(::ndnboost::math::policies::detail::is_valid_policy<A8>::value);
+   NDNBOOST_STATIC_ASSERT(::ndnboost::math::policies::detail::is_valid_policy<A9>::value);
+   NDNBOOST_STATIC_ASSERT(::ndnboost::math::policies::detail::is_valid_policy<A10>::value);
+   NDNBOOST_STATIC_ASSERT(::ndnboost::math::policies::detail::is_valid_policy<A11>::value);
+   NDNBOOST_STATIC_ASSERT(::ndnboost::math::policies::detail::is_valid_policy<A12>::value);
+   NDNBOOST_STATIC_ASSERT(::ndnboost::math::policies::detail::is_valid_policy<A13>::value);
    //
    // Typelist of the arguments:
    //
@@ -455,7 +455,7 @@
    typedef evaluation_error<> evaluation_error_type;
    typedef rounding_error<> rounding_error_type;
    typedef indeterminate_result_error<> indeterminate_result_error_type;
-#if BOOST_MATH_DIGITS10_POLICY == 0
+#if NDNBOOST_MATH_DIGITS10_POLICY == 0
    typedef digits2<> precision_type;
 #else
    typedef detail::precision<digits10<>, digits2<> >::type precision_type;
@@ -480,7 +480,7 @@
    typedef evaluation_error<> evaluation_error_type;
    typedef rounding_error<> rounding_error_type;
    typedef indeterminate_result_error<> indeterminate_result_error_type;
-#if BOOST_MATH_DIGITS10_POLICY == 0
+#if NDNBOOST_MATH_DIGITS10_POLICY == 0
    typedef digits2<> precision_type;
 #else
    typedef detail::precision<digits10<>, digits2<> >::type precision_type;
@@ -724,7 +724,7 @@
    typedef typename mpl::if_<typename Policy::promote_double_type, long double, double>::type type;
 };
 
-#ifdef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
+#ifdef NDNBOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
 
 template <class Real>
 struct basic_digits : public mpl::int_<0>{ };
@@ -738,7 +738,7 @@
 template <class Real, class Policy>
 struct precision
 {
-   BOOST_STATIC_ASSERT( ::std::numeric_limits<Real>::radix == 2);
+   NDNBOOST_STATIC_ASSERT( ::std::numeric_limits<Real>::radix == 2);
    typedef typename Policy::precision_type precision_type;
    typedef basic_digits<Real> digits_t;
    typedef typename mpl::if_<
@@ -776,7 +776,7 @@
 template <class Real, class Policy>
 struct precision
 {
-   BOOST_STATIC_ASSERT((::std::numeric_limits<Real>::radix == 2) || ((::std::numeric_limits<Real>::is_specialized == 0) || (::std::numeric_limits<Real>::digits == 0)));
+   NDNBOOST_STATIC_ASSERT((::std::numeric_limits<Real>::radix == 2) || ((::std::numeric_limits<Real>::is_specialized == 0) || (::std::numeric_limits<Real>::digits == 0)));
 #ifndef __BORLANDC__
    typedef typename Policy::precision_type precision_type;
    typedef typename mpl::if_c<
@@ -813,7 +813,7 @@
 
 #endif
 
-#ifdef BOOST_MATH_USE_FLOAT128
+#ifdef NDNBOOST_MATH_USE_FLOAT128
 
 template <class Policy>
 struct precision<__float128, Policy>
@@ -828,10 +828,10 @@
 template <class T, class Policy>
 inline int digits_imp(mpl::true_ const&)
 {
-#ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
-   BOOST_STATIC_ASSERT( ::std::numeric_limits<T>::is_specialized);
+#ifndef NDNBOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
+   NDNBOOST_STATIC_ASSERT( ::std::numeric_limits<T>::is_specialized);
 #else
-   BOOST_ASSERT(::std::numeric_limits<T>::is_specialized);
+   NDNBOOST_ASSERT(::std::numeric_limits<T>::is_specialized);
 #endif
    typedef typename ndnboost::math::policies::precision<T, Policy>::type p_t;
    return p_t::value;
@@ -846,7 +846,7 @@
 } // namespace detail
 
 template <class T, class Policy>
-inline int digits(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE(T))
+inline int digits(NDNBOOST_MATH_EXPLICIT_TEMPLATE_TYPE(T))
 {
    typedef mpl::bool_< std::numeric_limits<T>::is_specialized > tag_type;
    return detail::digits_imp<T, Policy>(tag_type());
@@ -906,12 +906,12 @@
 template <class T, class Policy>
 inline T get_epsilon_imp(mpl::true_ const&)
 {
-#ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
-   BOOST_STATIC_ASSERT( ::std::numeric_limits<T>::is_specialized);
-   BOOST_STATIC_ASSERT( ::std::numeric_limits<T>::radix == 2);
+#ifndef NDNBOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
+   NDNBOOST_STATIC_ASSERT( ::std::numeric_limits<T>::is_specialized);
+   NDNBOOST_STATIC_ASSERT( ::std::numeric_limits<T>::radix == 2);
 #else
-   BOOST_ASSERT(::std::numeric_limits<T>::is_specialized);
-   BOOST_ASSERT(::std::numeric_limits<T>::radix == 2);
+   NDNBOOST_ASSERT(::std::numeric_limits<T>::is_specialized);
+   NDNBOOST_ASSERT(::std::numeric_limits<T>::radix == 2);
 #endif
    typedef typename ndnboost::math::policies::precision<T, Policy>::type p_t;
    typedef mpl::bool_<p_t::value <= std::numeric_limits<ndnboost::uintmax_t>::digits> is_small_int;
@@ -928,7 +928,7 @@
 } // namespace detail
 
 template <class T, class Policy>
-inline T get_epsilon(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE(T))
+inline T get_epsilon(NDNBOOST_MATH_EXPLICIT_TEMPLATE_TYPE(T))
 {
    typedef mpl::bool_< (std::numeric_limits<T>::is_specialized && (std::numeric_limits<T>::radix == 2)) > tag_type;
    return detail::get_epsilon_imp<T, Policy>(tag_type());
@@ -953,7 +953,7 @@
 template <class P>
 struct is_policy_imp
 {
-   BOOST_STATIC_CONSTANT(bool, value = (sizeof(::ndnboost::math::policies::detail::test_is_policy(static_cast<P*>(0))) == 1));
+   NDNBOOST_STATIC_CONSTANT(bool, value = (sizeof(::ndnboost::math::policies::detail::test_is_policy(static_cast<P*>(0))) == 1));
 };
 
 }
@@ -986,7 +986,7 @@
 
 }}} // namespaces
 
-#endif // BOOST_MATH_POLICY_HPP
+#endif // NDNBOOST_MATH_POLICY_HPP
 
 
 
diff --git a/include/ndnboost/math/special_functions/detail/fp_traits.hpp b/include/ndnboost/math/special_functions/detail/fp_traits.hpp
index e1c8d78..eff178a 100644
--- a/include/ndnboost/math/special_functions/detail/fp_traits.hpp
+++ b/include/ndnboost/math/special_functions/detail/fp_traits.hpp
@@ -1,7 +1,7 @@
 // fp_traits.hpp
 
-#ifndef BOOST_MATH_FP_TRAITS_HPP
-#define BOOST_MATH_FP_TRAITS_HPP
+#ifndef NDNBOOST_MATH_FP_TRAITS_HPP
+#define NDNBOOST_MATH_FP_TRAITS_HPP
 
 // Copyright (c) 2006 Johan Rade
 
@@ -17,7 +17,7 @@
 
 #if defined(__vms) && defined(__DECCXX) && !__IEEE_FLOAT
 // The VAX floating point formats are used (for float and double)
-#   define BOOST_FPCLASSIFY_VAX_FORMAT
+#   define NDNBOOST_FPCLASSIFY_VAX_FORMAT
 #endif
 
 #include <cstring>
@@ -28,7 +28,7 @@
 #include <ndnboost/static_assert.hpp>
 #include <ndnboost/type_traits/is_floating_point.hpp>
 
-#ifdef BOOST_NO_STDC_NAMESPACE
+#ifdef NDNBOOST_NO_STDC_NAMESPACE
   namespace std{ using ::memcpy; }
 #endif
 
@@ -42,7 +42,7 @@
 
 #else
 
-#define BOOST_HAS_FPCLASSIFY
+#define NDNBOOST_HAS_FPCLASSIFY
 
 #ifndef fpclassify
 #  if (defined(__GLIBCPP__) || defined(__GLIBCXX__)) \
@@ -51,26 +51,26 @@
          && (_GLIBCXX_USE_C99_FP_MACROS_DYNAMIC != 0))
 #     ifdef _STLP_VENDOR_CSTD
 #        if _STLPORT_VERSION >= 0x520
-#           define BOOST_FPCLASSIFY_PREFIX ::__std_alias:: 
+#           define NDNBOOST_FPCLASSIFY_PREFIX ::__std_alias:: 
 #        else
-#           define BOOST_FPCLASSIFY_PREFIX ::_STLP_VENDOR_CSTD:: 
+#           define NDNBOOST_FPCLASSIFY_PREFIX ::_STLP_VENDOR_CSTD:: 
 #        endif
 #     else
-#        define BOOST_FPCLASSIFY_PREFIX ::std::
+#        define NDNBOOST_FPCLASSIFY_PREFIX ::std::
 #     endif
 #  else
-#     undef BOOST_HAS_FPCLASSIFY
-#     define BOOST_FPCLASSIFY_PREFIX
+#     undef NDNBOOST_HAS_FPCLASSIFY
+#     define NDNBOOST_FPCLASSIFY_PREFIX
 #  endif
 #elif (defined(__HP_aCC) && !defined(__hppa))
 // aCC 6 appears to do "#define fpclassify fpclassify" which messes us up a bit!
-#  define BOOST_FPCLASSIFY_PREFIX ::
+#  define NDNBOOST_FPCLASSIFY_PREFIX ::
 #else
-#  define BOOST_FPCLASSIFY_PREFIX
+#  define NDNBOOST_FPCLASSIFY_PREFIX
 #endif
 
 #ifdef __MINGW32__
-#  undef BOOST_HAS_FPCLASSIFY
+#  undef NDNBOOST_HAS_FPCLASSIFY
 #endif
 
 #endif
@@ -96,7 +96,7 @@
 struct ieee_copy_all_bits_tag : public ieee_tag {};
 struct ieee_copy_leading_bits_tag : public ieee_tag {};
 
-#ifdef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
+#ifdef NDNBOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
 //
 // These helper functions are used only when numeric_limits<>
 // members are not compile time constants:
@@ -138,7 +138,7 @@
 
 template<class T, class U> struct fp_traits_non_native
 {
-#ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
+#ifndef NDNBOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
    typedef generic_tag<std::numeric_limits<T>::is_specialized> method;
 #else
    typedef generic_tag<false> method;
@@ -172,16 +172,16 @@
 
 // ieee_tag version, float (32 bits) -----------------------------------------------
 
-#ifndef BOOST_FPCLASSIFY_VAX_FORMAT
+#ifndef NDNBOOST_FPCLASSIFY_VAX_FORMAT
 
 template<> struct fp_traits_non_native<float, single_precision>
 {
     typedef ieee_copy_all_bits_tag method;
 
-    BOOST_STATIC_CONSTANT(uint32_t, sign        = 0x80000000u);
-    BOOST_STATIC_CONSTANT(uint32_t, exponent    = 0x7f800000);
-    BOOST_STATIC_CONSTANT(uint32_t, flag        = 0x00000000);
-    BOOST_STATIC_CONSTANT(uint32_t, significand = 0x007fffff);
+    NDNBOOST_STATIC_CONSTANT(uint32_t, sign        = 0x80000000u);
+    NDNBOOST_STATIC_CONSTANT(uint32_t, exponent    = 0x7f800000);
+    NDNBOOST_STATIC_CONSTANT(uint32_t, flag        = 0x00000000);
+    NDNBOOST_STATIC_CONSTANT(uint32_t, significand = 0x007fffff);
 
     typedef uint32_t bits;
     static void get_bits(float x, uint32_t& a) { std::memcpy(&a, &x, 4); }
@@ -190,17 +190,17 @@
 
 // ieee_tag version, double (64 bits) ----------------------------------------------
 
-#if defined(BOOST_NO_INT64_T) || defined(BOOST_NO_INCLASS_MEMBER_INITIALIZATION) \
+#if defined(NDNBOOST_NO_INT64_T) || defined(NDNBOOST_NO_INCLASS_MEMBER_INITIALIZATION) \
    || defined(__BORLANDC__) || defined(__CODEGEAR__)
 
 template<> struct fp_traits_non_native<double, double_precision>
 {
     typedef ieee_copy_leading_bits_tag method;
 
-    BOOST_STATIC_CONSTANT(uint32_t, sign        = 0x80000000u);
-    BOOST_STATIC_CONSTANT(uint32_t, exponent    = 0x7ff00000);
-    BOOST_STATIC_CONSTANT(uint32_t, flag        = 0);
-    BOOST_STATIC_CONSTANT(uint32_t, significand = 0x000fffff);
+    NDNBOOST_STATIC_CONSTANT(uint32_t, sign        = 0x80000000u);
+    NDNBOOST_STATIC_CONSTANT(uint32_t, exponent    = 0x7ff00000);
+    NDNBOOST_STATIC_CONSTANT(uint32_t, flag        = 0);
+    NDNBOOST_STATIC_CONSTANT(uint32_t, significand = 0x000fffff);
 
     typedef uint32_t bits;
 
@@ -216,12 +216,12 @@
 
 private:
 
-#if defined(BOOST_BIG_ENDIAN)
-    BOOST_STATIC_CONSTANT(int, offset_ = 0);
-#elif defined(BOOST_LITTLE_ENDIAN)
-    BOOST_STATIC_CONSTANT(int, offset_ = 4);
+#if defined(NDNBOOST_BIG_ENDIAN)
+    NDNBOOST_STATIC_CONSTANT(int, offset_ = 0);
+#elif defined(NDNBOOST_LITTLE_ENDIAN)
+    NDNBOOST_STATIC_CONSTANT(int, offset_ = 4);
 #else
-    BOOST_STATIC_ASSERT(false);
+    NDNBOOST_STATIC_ASSERT(false);
 #endif
 };
 
@@ -246,21 +246,21 @@
 
 #endif
 
-#endif  // #ifndef BOOST_FPCLASSIFY_VAX_FORMAT
+#endif  // #ifndef NDNBOOST_FPCLASSIFY_VAX_FORMAT
 
 // long double (64 bits) -------------------------------------------------------
 
-#if defined(BOOST_NO_INT64_T) || defined(BOOST_NO_INCLASS_MEMBER_INITIALIZATION)\
+#if defined(NDNBOOST_NO_INT64_T) || defined(NDNBOOST_NO_INCLASS_MEMBER_INITIALIZATION)\
    || defined(__BORLANDC__) || defined(__CODEGEAR__)
 
 template<> struct fp_traits_non_native<long double, double_precision>
 {
     typedef ieee_copy_leading_bits_tag method;
 
-    BOOST_STATIC_CONSTANT(uint32_t, sign        = 0x80000000u);
-    BOOST_STATIC_CONSTANT(uint32_t, exponent    = 0x7ff00000);
-    BOOST_STATIC_CONSTANT(uint32_t, flag        = 0);
-    BOOST_STATIC_CONSTANT(uint32_t, significand = 0x000fffff);
+    NDNBOOST_STATIC_CONSTANT(uint32_t, sign        = 0x80000000u);
+    NDNBOOST_STATIC_CONSTANT(uint32_t, exponent    = 0x7ff00000);
+    NDNBOOST_STATIC_CONSTANT(uint32_t, flag        = 0);
+    NDNBOOST_STATIC_CONSTANT(uint32_t, significand = 0x000fffff);
 
     typedef uint32_t bits;
 
@@ -276,12 +276,12 @@
 
 private:
 
-#if defined(BOOST_BIG_ENDIAN)
-    BOOST_STATIC_CONSTANT(int, offset_ = 0);
-#elif defined(BOOST_LITTLE_ENDIAN)
-    BOOST_STATIC_CONSTANT(int, offset_ = 4);
+#if defined(NDNBOOST_BIG_ENDIAN)
+    NDNBOOST_STATIC_CONSTANT(int, offset_ = 0);
+#elif defined(NDNBOOST_LITTLE_ENDIAN)
+    NDNBOOST_STATIC_CONSTANT(int, offset_ = 4);
 #else
-    BOOST_STATIC_ASSERT(false);
+    NDNBOOST_STATIC_ASSERT(false);
 #endif
 };
 
@@ -320,10 +320,10 @@
 {
     typedef ieee_copy_leading_bits_tag method;
 
-    BOOST_STATIC_CONSTANT(uint32_t, sign        = 0x80000000u);
-    BOOST_STATIC_CONSTANT(uint32_t, exponent    = 0x7fff0000);
-    BOOST_STATIC_CONSTANT(uint32_t, flag        = 0x00008000);
-    BOOST_STATIC_CONSTANT(uint32_t, significand = 0x00007fff);
+    NDNBOOST_STATIC_CONSTANT(uint32_t, sign        = 0x80000000u);
+    NDNBOOST_STATIC_CONSTANT(uint32_t, exponent    = 0x7fff0000);
+    NDNBOOST_STATIC_CONSTANT(uint32_t, flag        = 0x00008000);
+    NDNBOOST_STATIC_CONSTANT(uint32_t, significand = 0x00007fff);
 
     typedef uint32_t bits;
 
@@ -364,10 +364,10 @@
 {
     typedef ieee_copy_leading_bits_tag method;
 
-    BOOST_STATIC_CONSTANT(uint32_t, sign        = 0x80000000u);
-    BOOST_STATIC_CONSTANT(uint32_t, exponent    = 0x7ff00000);
-    BOOST_STATIC_CONSTANT(uint32_t, flag        = 0x00000000);
-    BOOST_STATIC_CONSTANT(uint32_t, significand = 0x000fffff);
+    NDNBOOST_STATIC_CONSTANT(uint32_t, sign        = 0x80000000u);
+    NDNBOOST_STATIC_CONSTANT(uint32_t, exponent    = 0x7ff00000);
+    NDNBOOST_STATIC_CONSTANT(uint32_t, flag        = 0x00000000);
+    NDNBOOST_STATIC_CONSTANT(uint32_t, significand = 0x000fffff);
 
     typedef uint32_t bits;
 
@@ -383,12 +383,12 @@
 
 private:
 
-#if defined(BOOST_BIG_ENDIAN)
-    BOOST_STATIC_CONSTANT(int, offset_ = 0);
-#elif defined(BOOST_LITTLE_ENDIAN)
-    BOOST_STATIC_CONSTANT(int, offset_ = 12);
+#if defined(NDNBOOST_BIG_ENDIAN)
+    NDNBOOST_STATIC_CONSTANT(int, offset_ = 0);
+#elif defined(NDNBOOST_LITTLE_ENDIAN)
+    NDNBOOST_STATIC_CONSTANT(int, offset_ = 12);
 #else
-    BOOST_STATIC_ASSERT(false);
+    NDNBOOST_STATIC_ASSERT(false);
 #endif
 };
 
@@ -409,10 +409,10 @@
 {
     typedef ieee_copy_leading_bits_tag method;
 
-    BOOST_STATIC_CONSTANT(uint32_t, sign        = 0x80000000u);
-    BOOST_STATIC_CONSTANT(uint32_t, exponent    = 0x7fff0000);
-    BOOST_STATIC_CONSTANT(uint32_t, flag        = 0x00008000);
-    BOOST_STATIC_CONSTANT(uint32_t, significand = 0x00007fff);
+    NDNBOOST_STATIC_CONSTANT(uint32_t, sign        = 0x80000000u);
+    NDNBOOST_STATIC_CONSTANT(uint32_t, exponent    = 0x7fff0000);
+    NDNBOOST_STATIC_CONSTANT(uint32_t, flag        = 0x00008000);
+    NDNBOOST_STATIC_CONSTANT(uint32_t, significand = 0x00007fff);
 
     // copy 1st, 2nd, 5th and 6th byte. 3rd and 4th byte are padding.
 
@@ -445,10 +445,10 @@
 {
     typedef ieee_copy_leading_bits_tag method;
 
-    BOOST_STATIC_CONSTANT(uint32_t, sign        = 0x80000000u);
-    BOOST_STATIC_CONSTANT(uint32_t, exponent    = 0x7fff0000);
-    BOOST_STATIC_CONSTANT(uint32_t, flag        = 0x00000000);
-    BOOST_STATIC_CONSTANT(uint32_t, significand = 0x0000ffff);
+    NDNBOOST_STATIC_CONSTANT(uint32_t, sign        = 0x80000000u);
+    NDNBOOST_STATIC_CONSTANT(uint32_t, exponent    = 0x7fff0000);
+    NDNBOOST_STATIC_CONSTANT(uint32_t, flag        = 0x00000000);
+    NDNBOOST_STATIC_CONSTANT(uint32_t, significand = 0x0000ffff);
 
     typedef uint32_t bits;
 
@@ -464,12 +464,12 @@
 
 private:
 
-#if defined(BOOST_BIG_ENDIAN)
-    BOOST_STATIC_CONSTANT(int, offset_ = 0);
-#elif defined(BOOST_LITTLE_ENDIAN)
-    BOOST_STATIC_CONSTANT(int, offset_ = 12);
+#if defined(NDNBOOST_BIG_ENDIAN)
+    NDNBOOST_STATIC_CONSTANT(int, offset_ = 0);
+#elif defined(NDNBOOST_LITTLE_ENDIAN)
+    NDNBOOST_STATIC_CONSTANT(int, offset_ = 12);
 #else
-    BOOST_STATIC_ASSERT(false);
+    NDNBOOST_STATIC_ASSERT(false);
 #endif
 };
 
@@ -518,7 +518,7 @@
 template <class T>
 struct select_native
 {
-    typedef BOOST_DEDUCED_TYPENAME size_to_precision<sizeof(T), ::ndnboost::is_floating_point<T>::value>::type precision;
+    typedef NDNBOOST_DEDUCED_TYPENAME size_to_precision<sizeof(T), ::ndnboost::is_floating_point<T>::value>::type precision;
     typedef fp_traits_non_native<T, precision> type;
 };
 template<>
@@ -541,19 +541,19 @@
 
 // fp_traits is a type switch that selects the right fp_traits_non_native
 
-#if (defined(BOOST_MATH_USE_C99) && !(defined(__GNUC__) && (__GNUC__ < 4))) \
+#if (defined(NDNBOOST_MATH_USE_C99) && !(defined(__GNUC__) && (__GNUC__ < 4))) \
    && !defined(__hpux) \
    && !defined(__DECCXX)\
    && !defined(__osf__) \
    && !defined(__SGI_STL_PORT) && !defined(_STLPORT_VERSION)\
-   && !defined(BOOST_MATH_DISABLE_STD_FPCLASSIFY)
-#  define BOOST_MATH_USE_STD_FPCLASSIFY
+   && !defined(NDNBOOST_MATH_DISABLE_STD_FPCLASSIFY)
+#  define NDNBOOST_MATH_USE_STD_FPCLASSIFY
 #endif
 
 template<class T> struct fp_traits
 {
-    typedef BOOST_DEDUCED_TYPENAME size_to_precision<sizeof(T), ::ndnboost::is_floating_point<T>::value>::type precision;
-#if defined(BOOST_MATH_USE_STD_FPCLASSIFY) && !defined(BOOST_MATH_DISABLE_STD_FPCLASSIFY)
+    typedef NDNBOOST_DEDUCED_TYPENAME size_to_precision<sizeof(T), ::ndnboost::is_floating_point<T>::value>::type precision;
+#if defined(NDNBOOST_MATH_USE_STD_FPCLASSIFY) && !defined(NDNBOOST_MATH_DISABLE_STD_FPCLASSIFY)
     typedef typename select_native<T>::type type;
 #else
     typedef fp_traits_non_native<T, precision> type;
diff --git a/include/ndnboost/math/special_functions/detail/round_fwd.hpp b/include/ndnboost/math/special_functions/detail/round_fwd.hpp
index 62d9390..80518c7 100644
--- a/include/ndnboost/math/special_functions/detail/round_fwd.hpp
+++ b/include/ndnboost/math/special_functions/detail/round_fwd.hpp
@@ -5,8 +5,8 @@
 // (See accompanying file LICENSE_1_0.txt
 // or copy at http://www.boost.org/LICENSE_1_0.txt)
 
-#ifndef BOOST_MATH_SPECIAL_ROUND_FWD_HPP
-#define BOOST_MATH_SPECIAL_ROUND_FWD_HPP
+#ifndef NDNBOOST_MATH_SPECIAL_ROUND_FWD_HPP
+#define NDNBOOST_MATH_SPECIAL_ROUND_FWD_HPP
 
 #include <ndnboost/config.hpp>
 #include <ndnboost/math/tools/promotion.hpp>
@@ -32,7 +32,7 @@
    long ltrunc(const T& v, const Policy& pol);
    template <class T>
    long ltrunc(const T& v);
-#ifdef BOOST_HAS_LONG_LONG
+#ifdef NDNBOOST_HAS_LONG_LONG
    template <class T, class Policy>
    ndnboost::long_long_type lltrunc(const T& v, const Policy& pol);
    template <class T>
@@ -50,7 +50,7 @@
    long lround(const T& v, const Policy& pol);
    template <class T>
    long lround(const T& v);
-#ifdef BOOST_HAS_LONG_LONG
+#ifdef NDNBOOST_HAS_LONG_LONG
    template <class T, class Policy>
    ndnboost::long_long_type llround(const T& v, const Policy& pol);
    template <class T>
@@ -68,7 +68,7 @@
    T modf(const T& v, long* ipart, const Policy& pol);
    template <class T>
    T modf(const T& v, long* ipart);
-#ifdef BOOST_HAS_LONG_LONG
+#ifdef NDNBOOST_HAS_LONG_LONG
    template <class T, class Policy>
    T modf(const T& v, ndnboost::long_long_type* ipart, const Policy& pol);
    template <class T>
@@ -78,8 +78,8 @@
    }
 }
 
-#undef BOOST_MATH_STD_USING
-#define BOOST_MATH_STD_USING BOOST_MATH_STD_USING_CORE\
+#undef NDNBOOST_MATH_STD_USING
+#define NDNBOOST_MATH_STD_USING NDNBOOST_MATH_STD_USING_CORE\
    using ndnboost::math::round;\
    using ndnboost::math::iround;\
    using ndnboost::math::lround;\
@@ -89,5 +89,5 @@
    using ndnboost::math::modf;
 
 
-#endif // BOOST_MATH_SPECIAL_ROUND_FWD_HPP
+#endif // NDNBOOST_MATH_SPECIAL_ROUND_FWD_HPP
 
diff --git a/include/ndnboost/math/special_functions/fpclassify.hpp b/include/ndnboost/math/special_functions/fpclassify.hpp
index 0eeea57..7b4b193 100644
--- a/include/ndnboost/math/special_functions/fpclassify.hpp
+++ b/include/ndnboost/math/special_functions/fpclassify.hpp
@@ -4,8 +4,8 @@
 //  Boost Software License, Version 1.0. (See accompanying file
 //  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 
-#ifndef BOOST_MATH_FPCLASSIFY_HPP
-#define BOOST_MATH_FPCLASSIFY_HPP
+#ifndef NDNBOOST_MATH_FPCLASSIFY_HPP
+#define NDNBOOST_MATH_FPCLASSIFY_HPP
 
 #ifdef _MSC_VER
 #pragma once
@@ -81,7 +81,7 @@
 #include <float.h>
 #endif
 
-#ifdef BOOST_NO_STDC_NAMESPACE
+#ifdef NDNBOOST_NO_STDC_NAMESPACE
   namespace std{ using ::abs; using ::fabs; }
 #endif
 
@@ -94,7 +94,7 @@
 //
 namespace math_detail{
 
-#ifdef BOOST_MSVC
+#ifdef NDNBOOST_MSVC
 #pragma warning(push)
 #pragma warning(disable:4800)
 #endif
@@ -104,15 +104,15 @@
 {
 #ifdef isnan
    return isnan(t);
-#elif defined(BOOST_MATH_DISABLE_STD_FPCLASSIFY) || !defined(BOOST_HAS_FPCLASSIFY)
+#elif defined(NDNBOOST_MATH_DISABLE_STD_FPCLASSIFY) || !defined(NDNBOOST_HAS_FPCLASSIFY)
    (void)t;
    return false;
-#else // BOOST_HAS_FPCLASSIFY
-   return (BOOST_FPCLASSIFY_PREFIX fpclassify(t) == (int)FP_NAN);
+#else // NDNBOOST_HAS_FPCLASSIFY
+   return (NDNBOOST_FPCLASSIFY_PREFIX fpclassify(t) == (int)FP_NAN);
 #endif
 }
 
-#ifdef BOOST_MSVC
+#ifdef NDNBOOST_MSVC
 #pragma warning(pop)
 #endif
 
@@ -128,21 +128,21 @@
 
 namespace detail{
 
-#ifdef BOOST_MATH_USE_STD_FPCLASSIFY
+#ifdef NDNBOOST_MATH_USE_STD_FPCLASSIFY
 template <class T>
-inline int fpclassify_imp BOOST_NO_MACRO_EXPAND(T t, const native_tag&)
+inline int fpclassify_imp NDNBOOST_NO_MACRO_EXPAND(T t, const native_tag&)
 {
    return (std::fpclassify)(t);
 }
 #endif
 
 template <class T>
-inline int fpclassify_imp BOOST_NO_MACRO_EXPAND(T t, const generic_tag<true>&)
+inline int fpclassify_imp NDNBOOST_NO_MACRO_EXPAND(T t, const generic_tag<true>&)
 {
-   BOOST_MATH_INSTRUMENT_VARIABLE(t);
+   NDNBOOST_MATH_INSTRUMENT_VARIABLE(t);
 
    // whenever possible check for Nan's first:
-#if defined(BOOST_HAS_FPCLASSIFY)  && !defined(BOOST_MATH_DISABLE_STD_FPCLASSIFY)
+#if defined(NDNBOOST_HAS_FPCLASSIFY)  && !defined(NDNBOOST_MATH_DISABLE_STD_FPCLASSIFY)
    if(::ndnboost::math_detail::is_nan_helper(t, ::ndnboost::is_floating_point<T>()))
       return FP_NAN;
 #elif defined(isnan)
@@ -173,9 +173,9 @@
 }
 
 template <class T>
-inline int fpclassify_imp BOOST_NO_MACRO_EXPAND(T t, const generic_tag<false>&)
+inline int fpclassify_imp NDNBOOST_NO_MACRO_EXPAND(T t, const generic_tag<false>&)
 {
-#ifdef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
+#ifdef NDNBOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
    if(std::numeric_limits<T>::is_specialized)
       return fpclassify_imp(t, generic_tag<true>());
 #endif
@@ -183,24 +183,24 @@
    // An unknown type with no numeric_limits support,
    // so what are we supposed to do we do here?
    //
-   BOOST_MATH_INSTRUMENT_VARIABLE(t);
+   NDNBOOST_MATH_INSTRUMENT_VARIABLE(t);
 
    return t == 0 ? FP_ZERO : FP_NORMAL;
 }
 
 template<class T>
-int fpclassify_imp BOOST_NO_MACRO_EXPAND(T x, ieee_copy_all_bits_tag)
+int fpclassify_imp NDNBOOST_NO_MACRO_EXPAND(T x, ieee_copy_all_bits_tag)
 {
-   typedef BOOST_DEDUCED_TYPENAME fp_traits<T>::type traits;
+   typedef NDNBOOST_DEDUCED_TYPENAME fp_traits<T>::type traits;
 
-   BOOST_MATH_INSTRUMENT_VARIABLE(x);
+   NDNBOOST_MATH_INSTRUMENT_VARIABLE(x);
 
-   BOOST_DEDUCED_TYPENAME traits::bits a;
+   NDNBOOST_DEDUCED_TYPENAME traits::bits a;
    traits::get_bits(x,a);
-   BOOST_MATH_INSTRUMENT_VARIABLE(a);
+   NDNBOOST_MATH_INSTRUMENT_VARIABLE(a);
    a &= traits::exponent | traits::flag | traits::significand;
-   BOOST_MATH_INSTRUMENT_VARIABLE((traits::exponent | traits::flag | traits::significand));
-   BOOST_MATH_INSTRUMENT_VARIABLE(a);
+   NDNBOOST_MATH_INSTRUMENT_VARIABLE((traits::exponent | traits::flag | traits::significand));
+   NDNBOOST_MATH_INSTRUMENT_VARIABLE(a);
 
    if(a <= traits::significand) {
       if(a == 0)
@@ -218,13 +218,13 @@
 }
 
 template<class T>
-int fpclassify_imp BOOST_NO_MACRO_EXPAND(T x, ieee_copy_leading_bits_tag)
+int fpclassify_imp NDNBOOST_NO_MACRO_EXPAND(T x, ieee_copy_leading_bits_tag)
 {
-   typedef BOOST_DEDUCED_TYPENAME fp_traits<T>::type traits;
+   typedef NDNBOOST_DEDUCED_TYPENAME fp_traits<T>::type traits;
 
-   BOOST_MATH_INSTRUMENT_VARIABLE(x);
+   NDNBOOST_MATH_INSTRUMENT_VARIABLE(x);
 
-   BOOST_DEDUCED_TYPENAME traits::bits a;
+   NDNBOOST_DEDUCED_TYPENAME traits::bits a;
    traits::get_bits(x,a);
    a &= traits::exponent | traits::flag | traits::significand;
 
@@ -244,8 +244,8 @@
    return FP_NAN;
 }
 
-#if defined(BOOST_MATH_USE_STD_FPCLASSIFY) && (defined(BOOST_MATH_NO_NATIVE_LONG_DOUBLE_FP_CLASSIFY) || defined(BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS))
-inline int fpclassify_imp BOOST_NO_MACRO_EXPAND(long double t, const native_tag&)
+#if defined(NDNBOOST_MATH_USE_STD_FPCLASSIFY) && (defined(NDNBOOST_MATH_NO_NATIVE_LONG_DOUBLE_FP_CLASSIFY) || defined(NDNBOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS))
+inline int fpclassify_imp NDNBOOST_NO_MACRO_EXPAND(long double t, const native_tag&)
 {
    return ndnboost::math::detail::fpclassify_imp(t, generic_tag<true>());
 }
@@ -254,12 +254,12 @@
 }  // namespace detail
 
 template <class T>
-inline int fpclassify BOOST_NO_MACRO_EXPAND(T t)
+inline int fpclassify NDNBOOST_NO_MACRO_EXPAND(T t)
 {
    typedef typename detail::fp_traits<T>::type traits;
    typedef typename traits::method method;
    typedef typename tools::promote_args<T>::type value_type;
-#ifdef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
+#ifdef NDNBOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
    if(std::numeric_limits<T>::is_specialized && detail::is_generic_tag_false(static_cast<method*>(0)))
       return detail::fpclassify_imp(static_cast<value_type>(t), detail::generic_tag<true>());
    return detail::fpclassify_imp(static_cast<value_type>(t), method());
@@ -268,14 +268,14 @@
 #endif
 }
 
-#ifdef BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
+#ifdef NDNBOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
 template <>
-inline int fpclassify<long double> BOOST_NO_MACRO_EXPAND(long double t)
+inline int fpclassify<long double> NDNBOOST_NO_MACRO_EXPAND(long double t)
 {
    typedef detail::fp_traits<long double>::type traits;
    typedef traits::method method;
    typedef long double value_type;
-#ifdef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
+#ifdef NDNBOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
    if(std::numeric_limits<long double>::is_specialized && detail::is_generic_tag_false(static_cast<method*>(0)))
       return detail::fpclassify_imp(static_cast<value_type>(t), detail::generic_tag<true>());
    return detail::fpclassify_imp(static_cast<value_type>(t), method());
@@ -287,7 +287,7 @@
 
 namespace detail {
 
-#ifdef BOOST_MATH_USE_STD_FPCLASSIFY
+#ifdef NDNBOOST_MATH_USE_STD_FPCLASSIFY
     template<class T>
     inline bool isfinite_impl(T x, native_tag const&)
     {
@@ -305,7 +305,7 @@
     template<class T>
     inline bool isfinite_impl(T x, generic_tag<false> const&)
     {
-#ifdef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
+#ifdef NDNBOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
       if(std::numeric_limits<T>::is_specialized)
          return isfinite_impl(x, generic_tag<true>());
 #endif
@@ -316,15 +316,15 @@
     template<class T>
     inline bool isfinite_impl(T x, ieee_tag const&)
     {
-        typedef BOOST_DEDUCED_TYPENAME detail::fp_traits<T>::type traits;
-        BOOST_DEDUCED_TYPENAME traits::bits a;
+        typedef NDNBOOST_DEDUCED_TYPENAME detail::fp_traits<T>::type traits;
+        NDNBOOST_DEDUCED_TYPENAME traits::bits a;
         traits::get_bits(x,a);
         a &= traits::exponent;
         return a != traits::exponent;
     }
 
-#if defined(BOOST_MATH_USE_STD_FPCLASSIFY) && defined(BOOST_MATH_NO_NATIVE_LONG_DOUBLE_FP_CLASSIFY)
-inline bool isfinite_impl BOOST_NO_MACRO_EXPAND(long double t, const native_tag&)
+#if defined(NDNBOOST_MATH_USE_STD_FPCLASSIFY) && defined(NDNBOOST_MATH_NO_NATIVE_LONG_DOUBLE_FP_CLASSIFY)
+inline bool isfinite_impl NDNBOOST_NO_MACRO_EXPAND(long double t, const native_tag&)
 {
    return ndnboost::math::detail::isfinite_impl(t, generic_tag<true>());
 }
@@ -342,7 +342,7 @@
    return detail::isfinite_impl(static_cast<value_type>(x), method());
 }
 
-#ifdef BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
+#ifdef NDNBOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
 template<>
 inline bool (isfinite)(long double x)
 { //!< \brief return true if floating-point type t is finite.
@@ -358,7 +358,7 @@
 
 namespace detail {
 
-#ifdef BOOST_MATH_USE_STD_FPCLASSIFY
+#ifdef NDNBOOST_MATH_USE_STD_FPCLASSIFY
     template<class T>
     inline bool isnormal_impl(T x, native_tag const&)
     {
@@ -377,7 +377,7 @@
     template<class T>
     inline bool isnormal_impl(T x, generic_tag<false> const&)
     {
-#ifdef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
+#ifdef NDNBOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
       if(std::numeric_limits<T>::is_specialized)
          return isnormal_impl(x, generic_tag<true>());
 #endif
@@ -387,15 +387,15 @@
     template<class T>
     inline bool isnormal_impl(T x, ieee_tag const&)
     {
-        typedef BOOST_DEDUCED_TYPENAME detail::fp_traits<T>::type traits;
-        BOOST_DEDUCED_TYPENAME traits::bits a;
+        typedef NDNBOOST_DEDUCED_TYPENAME detail::fp_traits<T>::type traits;
+        NDNBOOST_DEDUCED_TYPENAME traits::bits a;
         traits::get_bits(x,a);
         a &= traits::exponent | traits::flag;
         return (a != 0) && (a < traits::exponent);
     }
 
-#if defined(BOOST_MATH_USE_STD_FPCLASSIFY) && defined(BOOST_MATH_NO_NATIVE_LONG_DOUBLE_FP_CLASSIFY)
-inline bool isnormal_impl BOOST_NO_MACRO_EXPAND(long double t, const native_tag&)
+#if defined(NDNBOOST_MATH_USE_STD_FPCLASSIFY) && defined(NDNBOOST_MATH_NO_NATIVE_LONG_DOUBLE_FP_CLASSIFY)
+inline bool isnormal_impl NDNBOOST_NO_MACRO_EXPAND(long double t, const native_tag&)
 {
    return ndnboost::math::detail::isnormal_impl(t, generic_tag<true>());
 }
@@ -413,7 +413,7 @@
    return detail::isnormal_impl(static_cast<value_type>(x), method());
 }
 
-#ifdef BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
+#ifdef NDNBOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
 template<>
 inline bool (isnormal)(long double x)
 {
@@ -429,7 +429,7 @@
 
 namespace detail {
 
-#ifdef BOOST_MATH_USE_STD_FPCLASSIFY
+#ifdef NDNBOOST_MATH_USE_STD_FPCLASSIFY
     template<class T>
     inline bool isinf_impl(T x, native_tag const&)
     {
@@ -449,7 +449,7 @@
     template<class T>
     inline bool isinf_impl(T x, generic_tag<false> const&)
     {
-#ifdef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
+#ifdef NDNBOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
       if(std::numeric_limits<T>::is_specialized)
          return isinf_impl(x, generic_tag<true>());
 #endif
@@ -460,9 +460,9 @@
     template<class T>
     inline bool isinf_impl(T x, ieee_copy_all_bits_tag const&)
     {
-        typedef BOOST_DEDUCED_TYPENAME fp_traits<T>::type traits;
+        typedef NDNBOOST_DEDUCED_TYPENAME fp_traits<T>::type traits;
 
-        BOOST_DEDUCED_TYPENAME traits::bits a;
+        NDNBOOST_DEDUCED_TYPENAME traits::bits a;
         traits::get_bits(x,a);
         a &= traits::exponent | traits::significand;
         return a == traits::exponent;
@@ -471,9 +471,9 @@
     template<class T>
     inline bool isinf_impl(T x, ieee_copy_leading_bits_tag const&)
     {
-        typedef BOOST_DEDUCED_TYPENAME fp_traits<T>::type traits;
+        typedef NDNBOOST_DEDUCED_TYPENAME fp_traits<T>::type traits;
 
-        BOOST_DEDUCED_TYPENAME traits::bits a;
+        NDNBOOST_DEDUCED_TYPENAME traits::bits a;
         traits::get_bits(x,a);
         a &= traits::exponent | traits::significand;
         if(a != traits::exponent)
@@ -483,8 +483,8 @@
         return x == 0;
     }
 
-#if defined(BOOST_MATH_USE_STD_FPCLASSIFY) && defined(BOOST_MATH_NO_NATIVE_LONG_DOUBLE_FP_CLASSIFY)
-inline bool isinf_impl BOOST_NO_MACRO_EXPAND(long double t, const native_tag&)
+#if defined(NDNBOOST_MATH_USE_STD_FPCLASSIFY) && defined(NDNBOOST_MATH_NO_NATIVE_LONG_DOUBLE_FP_CLASSIFY)
+inline bool isinf_impl NDNBOOST_NO_MACRO_EXPAND(long double t, const native_tag&)
 {
    return ndnboost::math::detail::isinf_impl(t, generic_tag<true>());
 }
@@ -502,7 +502,7 @@
    return detail::isinf_impl(static_cast<value_type>(x), method());
 }
 
-#ifdef BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
+#ifdef NDNBOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
 template<>
 inline bool (isinf)(long double x)
 {
@@ -518,7 +518,7 @@
 
 namespace detail {
 
-#ifdef BOOST_MATH_USE_STD_FPCLASSIFY
+#ifdef NDNBOOST_MATH_USE_STD_FPCLASSIFY
     template<class T>
     inline bool isnan_impl(T x, native_tag const&)
     {
@@ -537,7 +537,7 @@
     template<class T>
     inline bool isnan_impl(T x, generic_tag<false> const&)
     {
-#ifdef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
+#ifdef NDNBOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
       if(std::numeric_limits<T>::is_specialized)
          return isnan_impl(x, generic_tag<true>());
 #endif
@@ -548,9 +548,9 @@
     template<class T>
     inline bool isnan_impl(T x, ieee_copy_all_bits_tag const&)
     {
-        typedef BOOST_DEDUCED_TYPENAME fp_traits<T>::type traits;
+        typedef NDNBOOST_DEDUCED_TYPENAME fp_traits<T>::type traits;
 
-        BOOST_DEDUCED_TYPENAME traits::bits a;
+        NDNBOOST_DEDUCED_TYPENAME traits::bits a;
         traits::get_bits(x,a);
         a &= traits::exponent | traits::significand;
         return a > traits::exponent;
@@ -559,9 +559,9 @@
     template<class T>
     inline bool isnan_impl(T x, ieee_copy_leading_bits_tag const&)
     {
-        typedef BOOST_DEDUCED_TYPENAME fp_traits<T>::type traits;
+        typedef NDNBOOST_DEDUCED_TYPENAME fp_traits<T>::type traits;
 
-        BOOST_DEDUCED_TYPENAME traits::bits a;
+        NDNBOOST_DEDUCED_TYPENAME traits::bits a;
         traits::get_bits(x,a);
 
         a &= traits::exponent | traits::significand;
@@ -585,10 +585,10 @@
 }
 
 #ifdef isnan
-template <> inline bool isnan BOOST_NO_MACRO_EXPAND<float>(float t){ return ::ndnboost::math_detail::is_nan_helper(t, ndnboost::true_type()); }
-template <> inline bool isnan BOOST_NO_MACRO_EXPAND<double>(double t){ return ::ndnboost::math_detail::is_nan_helper(t, ndnboost::true_type()); }
-template <> inline bool isnan BOOST_NO_MACRO_EXPAND<long double>(long double t){ return ::ndnboost::math_detail::is_nan_helper(t, ndnboost::true_type()); }
-#elif defined(BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS)
+template <> inline bool isnan NDNBOOST_NO_MACRO_EXPAND<float>(float t){ return ::ndnboost::math_detail::is_nan_helper(t, ndnboost::true_type()); }
+template <> inline bool isnan NDNBOOST_NO_MACRO_EXPAND<double>(double t){ return ::ndnboost::math_detail::is_nan_helper(t, ndnboost::true_type()); }
+template <> inline bool isnan NDNBOOST_NO_MACRO_EXPAND<long double>(long double t){ return ::ndnboost::math_detail::is_nan_helper(t, ndnboost::true_type()); }
+#elif defined(NDNBOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS)
 template<>
 inline bool (isnan)(long double x)
 { //!< \brief return true if floating-point type t is NaN (Not A Number).
@@ -602,5 +602,5 @@
 } // namespace math
 } // namespace ndnboost
 
-#endif // BOOST_MATH_FPCLASSIFY_HPP
+#endif // NDNBOOST_MATH_FPCLASSIFY_HPP
 
diff --git a/include/ndnboost/math/special_functions/math_fwd.hpp b/include/ndnboost/math/special_functions/math_fwd.hpp
index aeb7b4c..d4e1867 100644
--- a/include/ndnboost/math/special_functions/math_fwd.hpp
+++ b/include/ndnboost/math/special_functions/math_fwd.hpp
@@ -16,8 +16,8 @@
 // RT = Real type (built-in floating-point types, float, double, long double) & User Defined Types
 // AT = Integer or Real type
 
-#ifndef BOOST_MATH_SPECIAL_MATH_FWD_HPP
-#define BOOST_MATH_SPECIAL_MATH_FWD_HPP
+#ifndef NDNBOOST_MATH_SPECIAL_MATH_FWD_HPP
+#define NDNBOOST_MATH_SPECIAL_MATH_FWD_HPP
 
 #ifdef _MSC_VER
 #pragma once
@@ -29,7 +29,7 @@
 #include <ndnboost/mpl/comparison.hpp>
 #include <ndnboost/config/no_tr1/complex.hpp>
 
-#define BOOST_NO_MACRO_EXPAND /**/
+#define NDNBOOST_NO_MACRO_EXPAND /**/
 
 namespace ndnboost
 {
@@ -349,7 +349,7 @@
    template <class RT, class Policy>
    RT factorial(unsigned int, const Policy& pol);
    template <class RT>
-   RT unchecked_factorial(unsigned int BOOST_MATH_APPEND_EXPLICIT_TEMPLATE_TYPE(RT));
+   RT unchecked_factorial(unsigned int NDNBOOST_MATH_APPEND_EXPLICIT_TEMPLATE_TYPE(RT));
    template <class RT>
    RT double_factorial(unsigned i);
    template <class RT, class Policy>
@@ -747,31 +747,31 @@
    typename tools::promote_args<T>::type cos_pi(T x);
 
    template <class T>
-   int fpclassify BOOST_NO_MACRO_EXPAND(T t);
+   int fpclassify NDNBOOST_NO_MACRO_EXPAND(T t);
 
    template <class T>
-   bool isfinite BOOST_NO_MACRO_EXPAND(T z);
+   bool isfinite NDNBOOST_NO_MACRO_EXPAND(T z);
 
    template <class T>
-   bool isinf BOOST_NO_MACRO_EXPAND(T t);
+   bool isinf NDNBOOST_NO_MACRO_EXPAND(T t);
 
    template <class T>
-   bool isnan BOOST_NO_MACRO_EXPAND(T t);
+   bool isnan NDNBOOST_NO_MACRO_EXPAND(T t);
 
    template <class T>
-   bool isnormal BOOST_NO_MACRO_EXPAND(T t);
+   bool isnormal NDNBOOST_NO_MACRO_EXPAND(T t);
 
    template<class T>
-   int signbit BOOST_NO_MACRO_EXPAND(T x);
+   int signbit NDNBOOST_NO_MACRO_EXPAND(T x);
 
    template <class T>
-   int sign BOOST_NO_MACRO_EXPAND(const T& z);
+   int sign NDNBOOST_NO_MACRO_EXPAND(const T& z);
 
    template <class T, class U>
-   typename tools::promote_args<T, U>::type copysign BOOST_NO_MACRO_EXPAND(const T& x, const U& y);
+   typename tools::promote_args<T, U>::type copysign NDNBOOST_NO_MACRO_EXPAND(const T& x, const U& y);
 
    template <class T>
-   typename tools::promote_args<T>::type changesign BOOST_NO_MACRO_EXPAND(const T& z);
+   typename tools::promote_args<T>::type changesign NDNBOOST_NO_MACRO_EXPAND(const T& z);
 
    // Exponential integrals:
    namespace detail{
@@ -923,8 +923,8 @@
     } // namespace math
 } // namespace ndnboost
 
-#ifdef BOOST_HAS_LONG_LONG
-#define BOOST_MATH_DETAIL_LL_FUNC(Policy)\
+#ifdef NDNBOOST_HAS_LONG_LONG
+#define NDNBOOST_MATH_DETAIL_LL_FUNC(Policy)\
    \
    template <class T>\
    inline T modf(const T& v, ndnboost::long_long_type* ipart){ using ndnboost::math::modf; return modf(v, ipart, Policy()); }\
@@ -936,12 +936,12 @@
    inline ndnboost::long_long_type llround(const T& v){ using ndnboost::math::llround; return llround(v, Policy()); }\
 
 #else
-#define BOOST_MATH_DETAIL_LL_FUNC(Policy)
+#define NDNBOOST_MATH_DETAIL_LL_FUNC(Policy)
 #endif
 
-#define BOOST_MATH_DECLARE_SPECIAL_FUNCTIONS(Policy)\
+#define NDNBOOST_MATH_DECLARE_SPECIAL_FUNCTIONS(Policy)\
    \
-   BOOST_MATH_DETAIL_LL_FUNC(Policy)\
+   NDNBOOST_MATH_DETAIL_LL_FUNC(Policy)\
    \
    template <class RT1, class RT2>\
    inline typename ndnboost::math::tools::promote_args<RT1, RT2>::type \
@@ -1403,6 +1403,6 @@
 
 
 
-#endif // BOOST_MATH_SPECIAL_MATH_FWD_HPP
+#endif // NDNBOOST_MATH_SPECIAL_MATH_FWD_HPP
 
 
diff --git a/include/ndnboost/math/special_functions/sign.hpp b/include/ndnboost/math/special_functions/sign.hpp
index fecacfb..e0fbd9e 100644
--- a/include/ndnboost/math/special_functions/sign.hpp
+++ b/include/ndnboost/math/special_functions/sign.hpp
@@ -6,8 +6,8 @@
 //  Boost Software License, Version 1.0. (See accompanying file
 //  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 
-#ifndef BOOST_MATH_TOOLS_SIGN_HPP
-#define BOOST_MATH_TOOLS_SIGN_HPP
+#ifndef NDNBOOST_MATH_TOOLS_SIGN_HPP
+#define NDNBOOST_MATH_TOOLS_SIGN_HPP
 
 #ifdef _MSC_VER
 #pragma once
@@ -23,7 +23,7 @@
 
   // signbit
 
-#ifdef BOOST_MATH_USE_STD_FPCLASSIFY
+#ifdef NDNBOOST_MATH_USE_STD_FPCLASSIFY
     template<class T> 
     inline int signbit_impl(T x, native_tag const&)
     {
@@ -46,9 +46,9 @@
     template<class T> 
     inline int signbit_impl(T x, ieee_copy_all_bits_tag const&)
     {
-        typedef BOOST_DEDUCED_TYPENAME fp_traits<T>::type traits;
+        typedef NDNBOOST_DEDUCED_TYPENAME fp_traits<T>::type traits;
 
-        BOOST_DEDUCED_TYPENAME traits::bits a;
+        NDNBOOST_DEDUCED_TYPENAME traits::bits a;
         traits::get_bits(x,a);
         return a & traits::sign ? 1 : 0;
     }
@@ -56,9 +56,9 @@
     template<class T> 
     inline int signbit_impl(T x, ieee_copy_leading_bits_tag const&)
     {
-        typedef BOOST_DEDUCED_TYPENAME fp_traits<T>::type traits;
+        typedef NDNBOOST_DEDUCED_TYPENAME fp_traits<T>::type traits;
 
-        BOOST_DEDUCED_TYPENAME traits::bits a;
+        NDNBOOST_DEDUCED_TYPENAME traits::bits a;
         traits::get_bits(x,a);
 
         return a & traits::sign ? 1 : 0;
@@ -82,9 +82,9 @@
     template<class T>
     inline T changesign_impl(T x, ieee_copy_all_bits_tag const&)
     {
-        typedef BOOST_DEDUCED_TYPENAME fp_traits<T>::sign_change_type traits;
+        typedef NDNBOOST_DEDUCED_TYPENAME fp_traits<T>::sign_change_type traits;
 
-        BOOST_DEDUCED_TYPENAME traits::bits a;
+        NDNBOOST_DEDUCED_TYPENAME traits::bits a;
         traits::get_bits(x,a);
         a ^= traits::sign;
         traits::set_bits(x,a);
@@ -94,9 +94,9 @@
     template<class T>
     inline T (changesign_impl)(T x, ieee_copy_leading_bits_tag const&)
     {
-        typedef BOOST_DEDUCED_TYPENAME fp_traits<T>::sign_change_type traits;
+        typedef NDNBOOST_DEDUCED_TYPENAME fp_traits<T>::sign_change_type traits;
 
-        BOOST_DEDUCED_TYPENAME traits::bits a;
+        NDNBOOST_DEDUCED_TYPENAME traits::bits a;
         traits::get_bits(x,a);
         a ^= traits::sign;
         traits::set_bits(x,a);
@@ -116,7 +116,7 @@
 }
 
 template <class T>
-inline int sign BOOST_NO_MACRO_EXPAND(const T& z)
+inline int sign NDNBOOST_NO_MACRO_EXPAND(const T& z)
 {
    return (z == 0) ? 0 : (ndnboost::math::signbit)(z) ? -1 : 1;
 }
@@ -133,9 +133,9 @@
 
 template <class T, class U>
 inline typename tools::promote_args<T, U>::type 
-   copysign BOOST_NO_MACRO_EXPAND(const T& x, const U& y)
+   copysign NDNBOOST_NO_MACRO_EXPAND(const T& x, const U& y)
 {
-   BOOST_MATH_STD_USING
+   NDNBOOST_MATH_STD_USING
    typedef typename tools::promote_args<T, U>::type result_type;
    return (ndnboost::math::signbit)(static_cast<result_type>(x)) != (ndnboost::math::signbit)(static_cast<result_type>(y)) 
       ? (ndnboost::math::changesign)(static_cast<result_type>(x)) : static_cast<result_type>(x);
@@ -145,6 +145,6 @@
 } // namespace ndnboost
 
 
-#endif // BOOST_MATH_TOOLS_SIGN_HPP
+#endif // NDNBOOST_MATH_TOOLS_SIGN_HPP
 
 
diff --git a/include/ndnboost/math/tools/config.hpp b/include/ndnboost/math/tools/config.hpp
index 8a2178c..77f03a5 100644
--- a/include/ndnboost/math/tools/config.hpp
+++ b/include/ndnboost/math/tools/config.hpp
@@ -3,8 +3,8 @@
 //  Boost Software License, Version 1.0. (See accompanying file
 //  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 
-#ifndef BOOST_MATH_TOOLS_CONFIG_HPP
-#define BOOST_MATH_TOOLS_CONFIG_HPP
+#ifndef NDNBOOST_MATH_TOOLS_CONFIG_HPP
+#define NDNBOOST_MATH_TOOLS_CONFIG_HPP
 
 #ifdef _MSC_VER
 #pragma once
@@ -25,18 +25,18 @@
 
 #if (defined(__CYGWIN__) || defined(__FreeBSD__) || defined(__NetBSD__) \
    || (defined(__hppa) && !defined(__OpenBSD__)) || (defined(__NO_LONG_DOUBLE_MATH) && (DBL_MANT_DIG != LDBL_MANT_DIG))) \
-   && !defined(BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS)
-#  define BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
+   && !defined(NDNBOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS)
+#  define NDNBOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
 #endif
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x582))
+#if NDNBOOST_WORKAROUND(__BORLANDC__, NDNBOOST_TESTED_AT(0x582))
 //
 // Borland post 5.8.2 uses Dinkumware's std C lib which
 // doesn't have true long double precision.  Earlier
 // versions are problematic too:
 //
-#  define BOOST_MATH_NO_REAL_CONCEPT_TESTS
-#  define BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
-#  define BOOST_MATH_CONTROL_FP _control87(MCW_EM,MCW_EM)
+#  define NDNBOOST_MATH_NO_REAL_CONCEPT_TESTS
+#  define NDNBOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
+#  define NDNBOOST_MATH_CONTROL_FP _control87(MCW_EM,MCW_EM)
 #  include <float.h>
 #endif
 #ifdef __IBMCPP__
@@ -44,16 +44,16 @@
 // For reasons I don't unserstand, the tests with IMB's compiler all
 // pass at long double precision, but fail with real_concept, those tests
 // are disabled for now.  (JM 2012).
-#  define BOOST_MATH_NO_REAL_CONCEPT_TESTS
+#  define NDNBOOST_MATH_NO_REAL_CONCEPT_TESTS
 #endif
-#if (defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__)) && ((LDBL_MANT_DIG == 106) || (__LDBL_MANT_DIG__ == 106)) && !defined(BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS)
+#if (defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__)) && ((LDBL_MANT_DIG == 106) || (__LDBL_MANT_DIG__ == 106)) && !defined(NDNBOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS)
 //
 // Darwin's rather strange "double double" is rather hard to
 // support, it should be possible given enough effort though...
 //
-#  define BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
+#  define NDNBOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
 #endif
-#if defined(unix) && defined(__INTEL_COMPILER) && (__INTEL_COMPILER <= 1000) && !defined(BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS)
+#if defined(unix) && defined(__INTEL_COMPILER) && (__INTEL_COMPILER <= 1000) && !defined(NDNBOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS)
 //
 // Intel compiler prior to version 10 has sporadic problems
 // calling the long double overloads of the std lib math functions:
@@ -66,7 +66,7 @@
 // Comment out this #define and try building the tests to determine whether
 // your Intel compiler version has this issue or not.
 //
-#  define BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
+#  define NDNBOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
 #endif
 #if defined(unix) && defined(__INTEL_COMPILER)
 //
@@ -74,166 +74,166 @@
 // the exact OS version used.  Use our own code for this as we know it works
 // well on Intel processors:
 //
-#define BOOST_MATH_DISABLE_STD_FPCLASSIFY
+#define NDNBOOST_MATH_DISABLE_STD_FPCLASSIFY
 #endif
 
-#if defined(BOOST_MSVC) && !defined(_WIN32_WCE)
+#if defined(NDNBOOST_MSVC) && !defined(_WIN32_WCE)
    // Better safe than sorry, our tests don't support hardware exceptions:
-#  define BOOST_MATH_CONTROL_FP _control87(MCW_EM,MCW_EM)
+#  define NDNBOOST_MATH_CONTROL_FP _control87(MCW_EM,MCW_EM)
 #endif
 
 #ifdef __IBMCPP__
-#  define BOOST_MATH_NO_DEDUCED_FUNCTION_POINTERS
+#  define NDNBOOST_MATH_NO_DEDUCED_FUNCTION_POINTERS
 #endif
 
 #if (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901))
-#  define BOOST_MATH_USE_C99
+#  define NDNBOOST_MATH_USE_C99
 #endif
 
 #if (defined(__hpux) && !defined(__hppa))
-#  define BOOST_MATH_USE_C99
+#  define NDNBOOST_MATH_USE_C99
 #endif
 
 #if defined(__GNUC__) && defined(_GLIBCXX_USE_C99)
-#  define BOOST_MATH_USE_C99
+#  define NDNBOOST_MATH_USE_C99
 #endif
 
 #if defined(_LIBCPP_VERSION) && !defined(_MSC_VER)
-#  define BOOST_MATH_USE_C99
+#  define NDNBOOST_MATH_USE_C99
 #endif
 
-#if defined(__CYGWIN__) || defined(__HP_aCC) || defined(BOOST_INTEL) \
-  || defined(BOOST_NO_NATIVE_LONG_DOUBLE_FP_CLASSIFY) \
-  || (defined(__GNUC__) && !defined(BOOST_MATH_USE_C99))\
-  || defined(BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS)
-#  define BOOST_MATH_NO_NATIVE_LONG_DOUBLE_FP_CLASSIFY
+#if defined(__CYGWIN__) || defined(__HP_aCC) || defined(NDNBOOST_INTEL) \
+  || defined(NDNBOOST_NO_NATIVE_LONG_DOUBLE_FP_CLASSIFY) \
+  || (defined(__GNUC__) && !defined(NDNBOOST_MATH_USE_C99))\
+  || defined(NDNBOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS)
+#  define NDNBOOST_MATH_NO_NATIVE_LONG_DOUBLE_FP_CLASSIFY
 #endif
 
-#if defined(BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS) || BOOST_WORKAROUND(__SUNPRO_CC, <= 0x590)
+#if defined(NDNBOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS) || NDNBOOST_WORKAROUND(__SUNPRO_CC, <= 0x590)
 
 #  include "ndnboost/type.hpp"
 #  include "ndnboost/non_type.hpp"
 
-#  define BOOST_MATH_EXPLICIT_TEMPLATE_TYPE(t)         ndnboost::type<t>* = 0
-#  define BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(t)    ndnboost::type<t>*
-#  define BOOST_MATH_EXPLICIT_TEMPLATE_NON_TYPE(t, v)  ndnboost::non_type<t, v>* = 0
-#  define BOOST_MATH_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v)  ndnboost::non_type<t, v>*
+#  define NDNBOOST_MATH_EXPLICIT_TEMPLATE_TYPE(t)         ndnboost::type<t>* = 0
+#  define NDNBOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(t)    ndnboost::type<t>*
+#  define NDNBOOST_MATH_EXPLICIT_TEMPLATE_NON_TYPE(t, v)  ndnboost::non_type<t, v>* = 0
+#  define NDNBOOST_MATH_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v)  ndnboost::non_type<t, v>*
 
-#  define BOOST_MATH_APPEND_EXPLICIT_TEMPLATE_TYPE(t)         \
-             , BOOST_MATH_EXPLICIT_TEMPLATE_TYPE(t)
-#  define BOOST_MATH_APPEND_EXPLICIT_TEMPLATE_TYPE_SPEC(t)    \
-             , BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(t)
-#  define BOOST_MATH_APPEND_EXPLICIT_TEMPLATE_NON_TYPE(t, v)  \
-             , BOOST_MATH_EXPLICIT_TEMPLATE_NON_TYPE(t, v)
-#  define BOOST_MATH_APPEND_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v)  \
-             , BOOST_MATH_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v)
+#  define NDNBOOST_MATH_APPEND_EXPLICIT_TEMPLATE_TYPE(t)         \
+             , NDNBOOST_MATH_EXPLICIT_TEMPLATE_TYPE(t)
+#  define NDNBOOST_MATH_APPEND_EXPLICIT_TEMPLATE_TYPE_SPEC(t)    \
+             , NDNBOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(t)
+#  define NDNBOOST_MATH_APPEND_EXPLICIT_TEMPLATE_NON_TYPE(t, v)  \
+             , NDNBOOST_MATH_EXPLICIT_TEMPLATE_NON_TYPE(t, v)
+#  define NDNBOOST_MATH_APPEND_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v)  \
+             , NDNBOOST_MATH_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v)
 
 #else
 
 // no workaround needed: expand to nothing
 
-#  define BOOST_MATH_EXPLICIT_TEMPLATE_TYPE(t)
-#  define BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(t)
-#  define BOOST_MATH_EXPLICIT_TEMPLATE_NON_TYPE(t, v)
-#  define BOOST_MATH_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v)
+#  define NDNBOOST_MATH_EXPLICIT_TEMPLATE_TYPE(t)
+#  define NDNBOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(t)
+#  define NDNBOOST_MATH_EXPLICIT_TEMPLATE_NON_TYPE(t, v)
+#  define NDNBOOST_MATH_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v)
 
-#  define BOOST_MATH_APPEND_EXPLICIT_TEMPLATE_TYPE(t)
-#  define BOOST_MATH_APPEND_EXPLICIT_TEMPLATE_TYPE_SPEC(t)
-#  define BOOST_MATH_APPEND_EXPLICIT_TEMPLATE_NON_TYPE(t, v)
-#  define BOOST_MATH_APPEND_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v)
+#  define NDNBOOST_MATH_APPEND_EXPLICIT_TEMPLATE_TYPE(t)
+#  define NDNBOOST_MATH_APPEND_EXPLICIT_TEMPLATE_TYPE_SPEC(t)
+#  define NDNBOOST_MATH_APPEND_EXPLICIT_TEMPLATE_NON_TYPE(t, v)
+#  define NDNBOOST_MATH_APPEND_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v)
 
 
-#endif // defined BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS
+#endif // defined NDNBOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS
 
-#if (defined(__SUNPRO_CC) || defined(__hppa) || defined(__GNUC__)) && !defined(BOOST_MATH_SMALL_CONSTANT)
+#if (defined(__SUNPRO_CC) || defined(__hppa) || defined(__GNUC__)) && !defined(NDNBOOST_MATH_SMALL_CONSTANT)
 // Sun's compiler emits a hard error if a constant underflows,
 // as does aCC on PA-RISC, while gcc issues a large number of warnings:
-#  define BOOST_MATH_SMALL_CONSTANT(x) 0
+#  define NDNBOOST_MATH_SMALL_CONSTANT(x) 0
 #else
-#  define BOOST_MATH_SMALL_CONSTANT(x) x
+#  define NDNBOOST_MATH_SMALL_CONSTANT(x) x
 #endif
 
 
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1400)
+#if NDNBOOST_WORKAROUND(NDNBOOST_MSVC, < 1400)
 //
 // Define if constants too large for a float cause "bad"
 // values to be stored in the data, rather than infinity
 // or a suitably large value.
 //
-#  define BOOST_MATH_BUGGY_LARGE_FLOAT_CONSTANTS
+#  define NDNBOOST_MATH_BUGGY_LARGE_FLOAT_CONSTANTS
 #endif
 //
 // Tune performance options for specific compilers:
 //
-#ifdef BOOST_MSVC
-#  define BOOST_MATH_POLY_METHOD 2
-#elif defined(BOOST_INTEL)
-#  define BOOST_MATH_POLY_METHOD 2
-#  define BOOST_MATH_RATIONAL_METHOD 2
+#ifdef NDNBOOST_MSVC
+#  define NDNBOOST_MATH_POLY_METHOD 2
+#elif defined(NDNBOOST_INTEL)
+#  define NDNBOOST_MATH_POLY_METHOD 2
+#  define NDNBOOST_MATH_RATIONAL_METHOD 2
 #elif defined(__GNUC__)
-#  define BOOST_MATH_POLY_METHOD 3
-#  define BOOST_MATH_RATIONAL_METHOD 3
-#  define BOOST_MATH_INT_TABLE_TYPE(RT, IT) RT
-#  define BOOST_MATH_INT_VALUE_SUFFIX(RV, SUF) RV##.0L
+#  define NDNBOOST_MATH_POLY_METHOD 3
+#  define NDNBOOST_MATH_RATIONAL_METHOD 3
+#  define NDNBOOST_MATH_INT_TABLE_TYPE(RT, IT) RT
+#  define NDNBOOST_MATH_INT_VALUE_SUFFIX(RV, SUF) RV##.0L
 #endif
 
-#if defined(BOOST_NO_LONG_LONG) && !defined(BOOST_MATH_INT_TABLE_TYPE)
-#  define BOOST_MATH_INT_TABLE_TYPE(RT, IT) RT
-#  define BOOST_MATH_INT_VALUE_SUFFIX(RV, SUF) RV##.0L
+#if defined(NDNBOOST_NO_LONG_LONG) && !defined(NDNBOOST_MATH_INT_TABLE_TYPE)
+#  define NDNBOOST_MATH_INT_TABLE_TYPE(RT, IT) RT
+#  define NDNBOOST_MATH_INT_VALUE_SUFFIX(RV, SUF) RV##.0L
 #endif
 
 //
 // The maximum order of polynomial that will be evaluated 
 // via an unrolled specialisation:
 //
-#ifndef BOOST_MATH_MAX_POLY_ORDER
-#  define BOOST_MATH_MAX_POLY_ORDER 17
+#ifndef NDNBOOST_MATH_MAX_POLY_ORDER
+#  define NDNBOOST_MATH_MAX_POLY_ORDER 17
 #endif 
 //
 // Set the method used to evaluate polynomials and rationals:
 //
-#ifndef BOOST_MATH_POLY_METHOD
-#  define BOOST_MATH_POLY_METHOD 1
+#ifndef NDNBOOST_MATH_POLY_METHOD
+#  define NDNBOOST_MATH_POLY_METHOD 1
 #endif 
-#ifndef BOOST_MATH_RATIONAL_METHOD
-#  define BOOST_MATH_RATIONAL_METHOD 0
+#ifndef NDNBOOST_MATH_RATIONAL_METHOD
+#  define NDNBOOST_MATH_RATIONAL_METHOD 0
 #endif 
 //
 // decide whether to store constants as integers or reals:
 //
-#ifndef BOOST_MATH_INT_TABLE_TYPE
-#  define BOOST_MATH_INT_TABLE_TYPE(RT, IT) IT
+#ifndef NDNBOOST_MATH_INT_TABLE_TYPE
+#  define NDNBOOST_MATH_INT_TABLE_TYPE(RT, IT) IT
 #endif
-#ifndef BOOST_MATH_INT_VALUE_SUFFIX
-#  define BOOST_MATH_INT_VALUE_SUFFIX(RV, SUF) RV##SUF
+#ifndef NDNBOOST_MATH_INT_VALUE_SUFFIX
+#  define NDNBOOST_MATH_INT_VALUE_SUFFIX(RV, SUF) RV##SUF
 #endif
 //
 // Test whether to support __float128:
 //
-#if defined(_GLIBCXX_USE_FLOAT128) && defined(BOOST_GCC) && !defined(__STRICT_ANSI__)
+#if defined(_GLIBCXX_USE_FLOAT128) && defined(NDNBOOST_GCC) && !defined(__STRICT_ANSI__)
 //
 // Only enable this when the compiler really is GCC as clang and probably 
 // intel too don't support __float128 yet :-(
 //
-#  define BOOST_MATH_USE_FLOAT128
+#  define NDNBOOST_MATH_USE_FLOAT128
 #endif
 //
 // Check for WinCE with no iostream support:
 //
 #if defined(_WIN32_WCE) && !defined(__SGI_STL_PORT)
-#  define BOOST_MATH_NO_LEXICAL_CAST
+#  define NDNBOOST_MATH_NO_LEXICAL_CAST
 #endif
 
 //
 // Helper macro for controlling the FP behaviour:
 //
-#ifndef BOOST_MATH_CONTROL_FP
-#  define BOOST_MATH_CONTROL_FP
+#ifndef NDNBOOST_MATH_CONTROL_FP
+#  define NDNBOOST_MATH_CONTROL_FP
 #endif
 //
 // Helper macro for using statements:
 //
-#define BOOST_MATH_STD_USING_CORE \
+#define NDNBOOST_MATH_STD_USING_CORE \
    using std::abs;\
    using std::acos;\
    using std::cos;\
@@ -258,20 +258,20 @@
    using std::log10;\
    using std::sqrt;
 
-#define BOOST_MATH_STD_USING BOOST_MATH_STD_USING_CORE
+#define NDNBOOST_MATH_STD_USING NDNBOOST_MATH_STD_USING_CORE
 
 namespace ndnboost{ namespace math{
 namespace tools
 {
 
 template <class T>
-inline T max BOOST_PREVENT_MACRO_SUBSTITUTION(T a, T b, T c)
+inline T max NDNBOOST_PREVENT_MACRO_SUBSTITUTION(T a, T b, T c)
 {
    return (std::max)((std::max)(a, b), c);
 }
 
 template <class T>
-inline T max BOOST_PREVENT_MACRO_SUBSTITUTION(T a, T b, T c, T d)
+inline T max NDNBOOST_PREVENT_MACRO_SUBSTITUTION(T a, T b, T c, T d)
 {
    return (std::max)((std::max)(a, b), (std::max)(c, d));
 }
@@ -285,7 +285,7 @@
 
 }} // namespace ndnboost namespace math
 
-#if ((defined(__linux__) && !defined(__UCLIBC__)) || defined(__QNX__) || defined(__IBMCPP__)) && !defined(BOOST_NO_FENV_H)
+#if ((defined(__linux__) && !defined(__UCLIBC__)) || defined(__QNX__) || defined(__IBMCPP__)) && !defined(NDNBOOST_NO_FENV_H)
 
    #include <ndnboost/detail/fenv.hpp>
 
@@ -312,39 +312,39 @@
    } // namespace detail
    }} // namespaces
 
-#    define BOOST_FPU_EXCEPTION_GUARD ndnboost::math::detail::fpu_guard local_guard_object;
-#    define BOOST_MATH_INSTRUMENT_FPU do{ fexcept_t cpu_flags; fegetexceptflag(&cpu_flags, FE_ALL_EXCEPT); BOOST_MATH_INSTRUMENT_VARIABLE(cpu_flags); } while(0); 
+#    define NDNBOOST_FPU_EXCEPTION_GUARD ndnboost::math::detail::fpu_guard local_guard_object;
+#    define NDNBOOST_MATH_INSTRUMENT_FPU do{ fexcept_t cpu_flags; fegetexceptflag(&cpu_flags, FE_ALL_EXCEPT); NDNBOOST_MATH_INSTRUMENT_VARIABLE(cpu_flags); } while(0); 
 
 #  else
 
-#    define BOOST_FPU_EXCEPTION_GUARD
-#    define BOOST_MATH_INSTRUMENT_FPU
+#    define NDNBOOST_FPU_EXCEPTION_GUARD
+#    define NDNBOOST_MATH_INSTRUMENT_FPU
 
 #  endif
 
 #else // All other platforms.
-#  define BOOST_FPU_EXCEPTION_GUARD
-#  define BOOST_MATH_INSTRUMENT_FPU
+#  define NDNBOOST_FPU_EXCEPTION_GUARD
+#  define NDNBOOST_MATH_INSTRUMENT_FPU
 #endif
 
-#ifdef BOOST_MATH_INSTRUMENT
+#ifdef NDNBOOST_MATH_INSTRUMENT
 
 #  include <iostream>
 #  include <iomanip>
 #  include <typeinfo>
 
-#  define BOOST_MATH_INSTRUMENT_CODE(x) \
+#  define NDNBOOST_MATH_INSTRUMENT_CODE(x) \
       std::cout << std::setprecision(35) << __FILE__ << ":" << __LINE__ << " " << x << std::endl;
-#  define BOOST_MATH_INSTRUMENT_VARIABLE(name) BOOST_MATH_INSTRUMENT_CODE(BOOST_STRINGIZE(name) << " = " << name)
+#  define NDNBOOST_MATH_INSTRUMENT_VARIABLE(name) NDNBOOST_MATH_INSTRUMENT_CODE(NDNBOOST_STRINGIZE(name) << " = " << name)
 
 #else
 
-#  define BOOST_MATH_INSTRUMENT_CODE(x)
-#  define BOOST_MATH_INSTRUMENT_VARIABLE(name)
+#  define NDNBOOST_MATH_INSTRUMENT_CODE(x)
+#  define NDNBOOST_MATH_INSTRUMENT_VARIABLE(name)
 
 #endif
 
-#endif // BOOST_MATH_TOOLS_CONFIG_HPP
+#endif // NDNBOOST_MATH_TOOLS_CONFIG_HPP
 
 
 
diff --git a/include/ndnboost/math/tools/promotion.hpp b/include/ndnboost/math/tools/promotion.hpp
index aab6d34..d71fea9 100644
--- a/include/ndnboost/math/tools/promotion.hpp
+++ b/include/ndnboost/math/tools/promotion.hpp
@@ -15,8 +15,8 @@
 // Allows creation of an inline wrapper that forwards to a foo(RT, RT) function,
 // so you never get to instantiate any mixed foo(RT, IT) functions.
 
-#ifndef BOOST_MATH_PROMOTION_HPP
-#define BOOST_MATH_PROMOTION_HPP
+#ifndef NDNBOOST_MATH_PROMOTION_HPP
+#define NDNBOOST_MATH_PROMOTION_HPP
 
 #ifdef _MSC_VER
 #pragma once
@@ -35,7 +35,7 @@
 #include <ndnboost/mpl/or.hpp> // for ndnboost::mpl::if_c.
 #include <ndnboost/mpl/not.hpp> // for ndnboost::mpl::if_c.
 
-#ifdef BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
+#ifdef NDNBOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
 #include <ndnboost/static_assert.hpp>
 #endif
 
@@ -134,11 +134,11 @@
             >::type
          >::type type;
 
-#ifdef BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
+#ifdef NDNBOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
          //
          // Guard against use of long double if it's not supported:
          //
-         BOOST_STATIC_ASSERT((0 == ::ndnboost::is_same<type, long double>::value));
+         NDNBOOST_STATIC_ASSERT((0 == ::ndnboost::is_same<type, long double>::value));
 #endif
       };
 
@@ -146,5 +146,5 @@
   } // namespace math
 } // namespace ndnboost
 
-#endif // BOOST_MATH_PROMOTION_HPP
+#endif // NDNBOOST_MATH_PROMOTION_HPP
 
diff --git a/include/ndnboost/math/tools/real_cast.hpp b/include/ndnboost/math/tools/real_cast.hpp
index 108dcbf..0a14612 100644
--- a/include/ndnboost/math/tools/real_cast.hpp
+++ b/include/ndnboost/math/tools/real_cast.hpp
@@ -3,8 +3,8 @@
 //  Boost Software License, Version 1.0. (See accompanying file
 //  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 
-#ifndef BOOST_MATH_TOOLS_REAL_CAST_HPP
-#define BOOST_MATH_TOOLS_REAL_CAST_HPP
+#ifndef NDNBOOST_MATH_TOOLS_REAL_CAST_HPP
+#define NDNBOOST_MATH_TOOLS_REAL_CAST_HPP
 
 #ifdef _MSC_VER
 #pragma once
@@ -23,7 +23,7 @@
 } // namespace math
 } // namespace ndnboost
 
-#endif // BOOST_MATH_TOOLS_REAL_CAST_HPP
+#endif // NDNBOOST_MATH_TOOLS_REAL_CAST_HPP
 
 
 
diff --git a/include/ndnboost/math/tools/user.hpp b/include/ndnboost/math/tools/user.hpp
index c1bdaf7..b822459 100644
--- a/include/ndnboost/math/tools/user.hpp
+++ b/include/ndnboost/math/tools/user.hpp
@@ -6,8 +6,8 @@
 // (See accompanying file LICENSE_1_0.txt
 // or copy at http://www.boost.org/LICENSE_1_0.txt)
 
-#ifndef BOOST_MATH_TOOLS_USER_HPP
-#define BOOST_MATH_TOOLS_USER_HPP
+#ifndef NDNBOOST_MATH_TOOLS_USER_HPP
+#define NDNBOOST_MATH_TOOLS_USER_HPP
 
 #ifdef _MSC_VER
 #pragma once
@@ -19,79 +19,79 @@
 // define this if the platform has no long double functions,
 // or if the long double versions have only double precision:
 //
-// #define BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
+// #define NDNBOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
 //
 // Performance tuning options:
 //
-// #define BOOST_MATH_POLY_METHOD 3
-// #define BOOST_MATH_RATIONAL_METHOD 3
+// #define NDNBOOST_MATH_POLY_METHOD 3
+// #define NDNBOOST_MATH_RATIONAL_METHOD 3
 //
 // The maximum order of polynomial that will be evaluated
 // via an unrolled specialisation:
 //
-// #define BOOST_MATH_MAX_POLY_ORDER 17
+// #define NDNBOOST_MATH_MAX_POLY_ORDER 17
 //
 // decide whether to store constants as integers or reals:
 //
-// #define BOOST_MATH_INT_TABLE_TYPE(RT, IT) IT
+// #define NDNBOOST_MATH_INT_TABLE_TYPE(RT, IT) IT
 
 //
 // Default policies follow:
 //
 // Domain errors:
 //
-// #define BOOST_MATH_DOMAIN_ERROR_POLICY throw_on_error
+// #define NDNBOOST_MATH_DOMAIN_ERROR_POLICY throw_on_error
 //
 // Pole errors:
 //
-// #define BOOST_MATH_POLE_ERROR_POLICY throw_on_error
+// #define NDNBOOST_MATH_POLE_ERROR_POLICY throw_on_error
 //
 // Overflow Errors:
 //
-// #define BOOST_MATH_OVERFLOW_ERROR_POLICY throw_on_error
+// #define NDNBOOST_MATH_OVERFLOW_ERROR_POLICY throw_on_error
 //
 // Internal Evaluation Errors:
 //
-// #define BOOST_MATH_EVALUATION_ERROR_POLICY throw_on_error
+// #define NDNBOOST_MATH_EVALUATION_ERROR_POLICY throw_on_error
 //
 // Underfow:
 //
-// #define BOOST_MATH_UNDERFLOW_ERROR_POLICY ignore_error
+// #define NDNBOOST_MATH_UNDERFLOW_ERROR_POLICY ignore_error
 //
 // Denorms:
 //
-// #define BOOST_MATH_DENORM_ERROR_POLICY ignore_error
+// #define NDNBOOST_MATH_DENORM_ERROR_POLICY ignore_error
 //
 // Max digits to use for internal calculations:
 //
-// #define BOOST_MATH_DIGITS10_POLICY 0
+// #define NDNBOOST_MATH_DIGITS10_POLICY 0
 //
 // Promote floats to doubles internally?
 //
-// #define BOOST_MATH_PROMOTE_FLOAT_POLICY true
+// #define NDNBOOST_MATH_PROMOTE_FLOAT_POLICY true
 //
 // Promote doubles to long double internally:
 //
-// #define BOOST_MATH_PROMOTE_DOUBLE_POLICY true
+// #define NDNBOOST_MATH_PROMOTE_DOUBLE_POLICY true
 //
 // What do discrete quantiles return?
 //
-// #define BOOST_MATH_DISCRETE_QUANTILE_POLICY integer_round_outwards
+// #define NDNBOOST_MATH_DISCRETE_QUANTILE_POLICY integer_round_outwards
 //
 // If a function is mathematically undefined
 // (for example the Cauchy distribution has no mean),
 // then do we stop the code from compiling?
 //
-// #define BOOST_MATH_ASSERT_UNDEFINED_POLICY true
+// #define NDNBOOST_MATH_ASSERT_UNDEFINED_POLICY true
 //
 // Maximum series iterstions permitted:
 //
-// #define BOOST_MATH_MAX_SERIES_ITERATION_POLICY 1000000
+// #define NDNBOOST_MATH_MAX_SERIES_ITERATION_POLICY 1000000
 //
 // Maximum root finding steps permitted:
 //
-// define BOOST_MATH_MAX_ROOT_ITERATION_POLICY 200
+// define NDNBOOST_MATH_MAX_ROOT_ITERATION_POLICY 200
 
-#endif // BOOST_MATH_TOOLS_USER_HPP
+#endif // NDNBOOST_MATH_TOOLS_USER_HPP
 
 
diff --git a/include/ndnboost/mem_fn.hpp b/include/ndnboost/mem_fn.hpp
index 3f2b9b1..acd6415 100644
--- a/include/ndnboost/mem_fn.hpp
+++ b/include/ndnboost/mem_fn.hpp
@@ -1,5 +1,5 @@
-#ifndef BOOST_MEM_FN_HPP_INCLUDED
-#define BOOST_MEM_FN_HPP_INCLUDED
+#ifndef NDNBOOST_MEM_FN_HPP_INCLUDED
+#define NDNBOOST_MEM_FN_HPP_INCLUDED
 
 // MS compatible compilers support #pragma once
 
@@ -21,4 +21,4 @@
 
 #include <ndnboost/bind/mem_fn.hpp>
 
-#endif // #ifndef BOOST_MEM_FN_HPP_INCLUDED
+#endif // #ifndef NDNBOOST_MEM_FN_HPP_INCLUDED
diff --git a/include/ndnboost/memory_order.hpp b/include/ndnboost/memory_order.hpp
index 14d9162..dc8f852 100644
--- a/include/ndnboost/memory_order.hpp
+++ b/include/ndnboost/memory_order.hpp
@@ -1,5 +1,5 @@
-#ifndef BOOST_MEMORY_ORDER_HPP_INCLUDED
-#define BOOST_MEMORY_ORDER_HPP_INCLUDED
+#ifndef NDNBOOST_MEMORY_ORDER_HPP_INCLUDED
+#define NDNBOOST_MEMORY_ORDER_HPP_INCLUDED
 
 // MS compatible compilers support #pragma once
 
@@ -50,4 +50,4 @@
 
 } // namespace ndnboost
 
-#endif // #ifndef BOOST_MEMORY_ORDER_HPP_INCLUDED
+#endif // #ifndef NDNBOOST_MEMORY_ORDER_HPP_INCLUDED
diff --git a/include/ndnboost/move/algorithm.hpp b/include/ndnboost/move/algorithm.hpp
index 0feaef3..efd1918 100644
--- a/include/ndnboost/move/algorithm.hpp
+++ b/include/ndnboost/move/algorithm.hpp
@@ -11,8 +11,8 @@
 
 //! \file
 
-#ifndef BOOST_MOVE_ALGORITHM_HPP
-#define BOOST_MOVE_ALGORITHM_HPP
+#ifndef NDNBOOST_MOVE_ALGORITHM_HPP
+#define NDNBOOST_MOVE_ALGORITHM_HPP
 
 #include <ndnboost/move/detail/config_begin.hpp>
 
@@ -32,7 +32,7 @@
 //
 //////////////////////////////////////////////////////////////////////////////
 
-#if !defined(BOOST_MOVE_USE_STANDARD_LIBRARY_MOVE)
+#if !defined(NDNBOOST_MOVE_USE_STANDARD_LIBRARY_MOVE)
 
    //! <b>Effects</b>: Moves elements in the range [first,last) into the range [result,result + (last -
    //!   first)) starting from first and proceeding to last. For each non-negative integer n < (last-first),
@@ -85,7 +85,7 @@
 
    using ::std::move_backward;
 
-#endif   //!defined(BOOST_MOVE_USE_STANDARD_LIBRARY_MOVE)
+#endif   //!defined(NDNBOOST_MOVE_USE_STANDARD_LIBRARY_MOVE)
 
 //////////////////////////////////////////////////////////////////////////////
 //
@@ -113,20 +113,20 @@
    typedef typename std::iterator_traits<I>::value_type input_value_type;
 
    F back = r;
-   BOOST_TRY{
+   NDNBOOST_TRY{
       while (f != l) {
          void * const addr = static_cast<void*>(::ndnboost::move_detail::addressof(*r));
          ::new(addr) input_value_type(::ndnboost::move(*f));
          ++f; ++r;
       }
    }
-   BOOST_CATCH(...){
+   NDNBOOST_CATCH(...){
 	   for (; back != r; ++back){
          back->~input_value_type();
       }
-	   BOOST_RETHROW;
+	   NDNBOOST_RETHROW;
    }
-   BOOST_CATCH_END
+   NDNBOOST_CATCH_END
    return r;
 }
 
@@ -272,4 +272,4 @@
 
 #include <ndnboost/move/detail/config_end.hpp>
 
-#endif //#ifndef BOOST_MOVE_MOVE_HPP
+#endif //#ifndef NDNBOOST_MOVE_MOVE_HPP
diff --git a/include/ndnboost/move/core.hpp b/include/ndnboost/move/core.hpp
index 92e47ec..1037178 100644
--- a/include/ndnboost/move/core.hpp
+++ b/include/ndnboost/move/core.hpp
@@ -13,35 +13,35 @@
 //! This header implements macros to define movable classes and
 //! move-aware functions
 
-#ifndef BOOST_MOVE_CORE_HPP
-#define BOOST_MOVE_CORE_HPP
+#ifndef NDNBOOST_MOVE_CORE_HPP
+#define NDNBOOST_MOVE_CORE_HPP
 
 #include <ndnboost/move/detail/config_begin.hpp>
 
-#ifdef BOOST_NO_CXX11_DELETED_FUNCTIONS
-   #define BOOST_MOVE_IMPL_NO_COPY_CTOR_OR_ASSIGN(TYPE) \
+#ifdef NDNBOOST_NO_CXX11_DELETED_FUNCTIONS
+   #define NDNBOOST_MOVE_IMPL_NO_COPY_CTOR_OR_ASSIGN(TYPE) \
       private:\
       TYPE(TYPE &);\
       TYPE& operator=(TYPE &);\
    //
 #else
-   #define BOOST_MOVE_IMPL_NO_COPY_CTOR_OR_ASSIGN(TYPE) \
+   #define NDNBOOST_MOVE_IMPL_NO_COPY_CTOR_OR_ASSIGN(TYPE) \
       public:\
       TYPE(TYPE const &) = delete;\
       TYPE& operator=(TYPE const &) = delete;\
       private:\
    //
-#endif   //BOOST_NO_CXX11_DELETED_FUNCTIONS
+#endif   //NDNBOOST_NO_CXX11_DELETED_FUNCTIONS
 
-#if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && !defined(BOOST_MOVE_DOXYGEN_INVOKED)
+#if defined(NDNBOOST_NO_CXX11_RVALUE_REFERENCES) && !defined(NDNBOOST_MOVE_DOXYGEN_INVOKED)
 
    #include <ndnboost/move/detail/meta_utils.hpp>
 
    //Move emulation rv breaks standard aliasing rules so add workarounds for some compilers
    #if defined(__GNUC__) && (__GNUC__ >= 4)
-      #define BOOST_MOVE_ATTRIBUTE_MAY_ALIAS __attribute__((__may_alias__))
+      #define NDNBOOST_MOVE_ATTRIBUTE_MAY_ALIAS __attribute__((__may_alias__))
    #else
-      #define BOOST_MOVE_ATTRIBUTE_MAY_ALIAS
+      #define NDNBOOST_MOVE_ATTRIBUTE_MAY_ALIAS
    #endif
 
    namespace ndnboost {
@@ -63,7 +63,7 @@
       ~rv();
       rv(rv const&);
       void operator=(rv const&);
-   } BOOST_MOVE_ATTRIBUTE_MAY_ALIAS;
+   } NDNBOOST_MOVE_ATTRIBUTE_MAY_ALIAS;
 
 
    //////////////////////////////////////////////////////////////////////////////
@@ -113,61 +113,61 @@
 
    }  //namespace ndnboost {
 
-   #define BOOST_RV_REF(TYPE)\
+   #define NDNBOOST_RV_REF(TYPE)\
       ::ndnboost::rv< TYPE >& \
    //
 
-   #define BOOST_RV_REF_2_TEMPL_ARGS(TYPE, ARG1, ARG2)\
+   #define NDNBOOST_RV_REF_2_TEMPL_ARGS(TYPE, ARG1, ARG2)\
       ::ndnboost::rv< TYPE<ARG1, ARG2> >& \
    //
 
-   #define BOOST_RV_REF_3_TEMPL_ARGS(TYPE, ARG1, ARG2, ARG3)\
+   #define NDNBOOST_RV_REF_3_TEMPL_ARGS(TYPE, ARG1, ARG2, ARG3)\
       ::ndnboost::rv< TYPE<ARG1, ARG2, ARG3> >& \
    //
 
-   #define BOOST_RV_REF_BEG\
+   #define NDNBOOST_RV_REF_BEG\
       ::ndnboost::rv<   \
    //
 
-   #define BOOST_RV_REF_END\
+   #define NDNBOOST_RV_REF_END\
       >& \
    //
 
-   #define BOOST_FWD_REF(TYPE)\
+   #define NDNBOOST_FWD_REF(TYPE)\
       const TYPE & \
    //
 
-   #define BOOST_COPY_ASSIGN_REF(TYPE)\
+   #define NDNBOOST_COPY_ASSIGN_REF(TYPE)\
       const ::ndnboost::rv< TYPE >& \
    //
 
-   #define BOOST_COPY_ASSIGN_REF_BEG \
+   #define NDNBOOST_COPY_ASSIGN_REF_BEG \
       const ::ndnboost::rv<  \
    //
 
-   #define BOOST_COPY_ASSIGN_REF_END \
+   #define NDNBOOST_COPY_ASSIGN_REF_END \
       >& \
    //
 
-   #define BOOST_COPY_ASSIGN_REF_2_TEMPL_ARGS(TYPE, ARG1, ARG2)\
+   #define NDNBOOST_COPY_ASSIGN_REF_2_TEMPL_ARGS(TYPE, ARG1, ARG2)\
       const ::ndnboost::rv< TYPE<ARG1, ARG2> >& \
    //
 
-   #define BOOST_COPY_ASSIGN_REF_3_TEMPL_ARGS(TYPE, ARG1, ARG2, ARG3)\
+   #define NDNBOOST_COPY_ASSIGN_REF_3_TEMPL_ARGS(TYPE, ARG1, ARG2, ARG3)\
       const ::ndnboost::rv< TYPE<ARG1, ARG2, ARG3> >& \
    //
 
-   #define BOOST_CATCH_CONST_RLVALUE(TYPE)\
+   #define NDNBOOST_CATCH_CONST_RLVALUE(TYPE)\
       const ::ndnboost::rv< TYPE >& \
    //
 
    //////////////////////////////////////////////////////////////////////////////
    //
-   //                         BOOST_MOVABLE_BUT_NOT_COPYABLE
+   //                         NDNBOOST_MOVABLE_BUT_NOT_COPYABLE
    //
    //////////////////////////////////////////////////////////////////////////////
-   #define BOOST_MOVABLE_BUT_NOT_COPYABLE(TYPE)\
-      BOOST_MOVE_IMPL_NO_COPY_CTOR_OR_ASSIGN(TYPE)\
+   #define NDNBOOST_MOVABLE_BUT_NOT_COPYABLE(TYPE)\
+      NDNBOOST_MOVE_IMPL_NO_COPY_CTOR_OR_ASSIGN(TYPE)\
       public:\
       operator ::ndnboost::rv<TYPE>&() \
       {  return *static_cast< ::ndnboost::rv<TYPE>* >(this);  }\
@@ -178,11 +178,11 @@
 
    //////////////////////////////////////////////////////////////////////////////
    //
-   //                         BOOST_COPYABLE_AND_MOVABLE
+   //                         NDNBOOST_COPYABLE_AND_MOVABLE
    //
    //////////////////////////////////////////////////////////////////////////////
 
-   #define BOOST_COPYABLE_AND_MOVABLE(TYPE)\
+   #define NDNBOOST_COPYABLE_AND_MOVABLE(TYPE)\
       public:\
       TYPE& operator=(TYPE &t)\
       {  this->operator=(static_cast<const ::ndnboost::rv<TYPE> &>(const_cast<const TYPE &>(t))); return *this;}\
@@ -194,7 +194,7 @@
       private:\
    //
 
-   #define BOOST_COPYABLE_AND_MOVABLE_ALT(TYPE)\
+   #define NDNBOOST_COPYABLE_AND_MOVABLE_ALT(TYPE)\
       public:\
       operator ::ndnboost::rv<TYPE>&() \
       {  return *static_cast< ::ndnboost::rv<TYPE>* >(this);  }\
@@ -203,27 +203,27 @@
       private:\
    //
 
-#else    //BOOST_NO_CXX11_RVALUE_REFERENCES
+#else    //NDNBOOST_NO_CXX11_RVALUE_REFERENCES
 
    //Compiler workaround detection
-   #if !defined(BOOST_MOVE_DOXYGEN_INVOKED)
+   #if !defined(NDNBOOST_MOVE_DOXYGEN_INVOKED)
       #if defined(__GNUC__) && (__GNUC__ == 4) && (__GNUC_MINOR__ < 5) && !defined(__clang__)
          //Pre-standard rvalue binding rules
-         #define BOOST_MOVE_OLD_RVALUE_REF_BINDING_RULES
+         #define NDNBOOST_MOVE_OLD_RVALUE_REF_BINDING_RULES
       #elif defined(_MSC_VER) && (_MSC_VER == 1600)
          //Standard rvalue binding rules but with some bugs
-         #define BOOST_MOVE_MSVC_10_MEMBER_RVALUE_REF_BUG
+         #define NDNBOOST_MOVE_MSVC_10_MEMBER_RVALUE_REF_BUG
          //Use standard library for MSVC to avoid namespace issues as
          //some move calls in the STL are not fully qualified.
-         //#define BOOST_MOVE_USE_STANDARD_LIBRARY_MOVE
+         //#define NDNBOOST_MOVE_USE_STANDARD_LIBRARY_MOVE
       #endif
    #endif
 
    //! This macro marks a type as movable but not copyable, disabling copy construction
    //! and assignment. The user will need to write a move constructor/assignment as explained
    //! in the documentation to fully write a movable but not copyable class.
-   #define BOOST_MOVABLE_BUT_NOT_COPYABLE(TYPE)\
-      BOOST_MOVE_IMPL_NO_COPY_CTOR_OR_ASSIGN(TYPE)\
+   #define NDNBOOST_MOVABLE_BUT_NOT_COPYABLE(TYPE)\
+      NDNBOOST_MOVE_IMPL_NO_COPY_CTOR_OR_ASSIGN(TYPE)\
       public:\
       typedef int boost_move_emulation_t;\
    //
@@ -231,18 +231,18 @@
    //! This macro marks a type as copyable and movable.
    //! The user will need to write a move constructor/assignment and a copy assignment
    //! as explained in the documentation to fully write a copyable and movable class.
-   #define BOOST_COPYABLE_AND_MOVABLE(TYPE)\
+   #define NDNBOOST_COPYABLE_AND_MOVABLE(TYPE)\
    //
 
-   #if !defined(BOOST_MOVE_DOXYGEN_INVOKED)
-   #define BOOST_COPYABLE_AND_MOVABLE_ALT(TYPE)\
+   #if !defined(NDNBOOST_MOVE_DOXYGEN_INVOKED)
+   #define NDNBOOST_COPYABLE_AND_MOVABLE_ALT(TYPE)\
    //
-   #endif   //#if !defined(BOOST_MOVE_DOXYGEN_INVOKED)
+   #endif   //#if !defined(NDNBOOST_MOVE_DOXYGEN_INVOKED)
 
    namespace ndnboost {
 
    //!This trait yields to a compile-time true boolean if T was marked as
-   //!BOOST_MOVABLE_BUT_NOT_COPYABLE or BOOST_COPYABLE_AND_MOVABLE and
+   //!NDNBOOST_MOVABLE_BUT_NOT_COPYABLE or NDNBOOST_COPYABLE_AND_MOVABLE and
    //!rvalue references are not available on the platform. False otherwise.
    template<class T>
    struct has_move_emulation_enabled
@@ -254,79 +254,79 @@
 
    //!This macro is used to achieve portable syntax in move
    //!constructors and assignments for classes marked as
-   //!BOOST_COPYABLE_AND_MOVABLE or BOOST_MOVABLE_BUT_NOT_COPYABLE
-   #define BOOST_RV_REF(TYPE)\
+   //!NDNBOOST_COPYABLE_AND_MOVABLE or NDNBOOST_MOVABLE_BUT_NOT_COPYABLE
+   #define NDNBOOST_RV_REF(TYPE)\
       TYPE && \
    //
 
    //!This macro is used to achieve portable syntax in move
    //!constructors and assignments for template classes marked as
-   //!BOOST_COPYABLE_AND_MOVABLE or BOOST_MOVABLE_BUT_NOT_COPYABLE.
+   //!NDNBOOST_COPYABLE_AND_MOVABLE or NDNBOOST_MOVABLE_BUT_NOT_COPYABLE.
    //!As macros have problems with comma-separatd template arguments,
-   //!the template argument must be preceded with BOOST_RV_REF_START
-   //!and ended with BOOST_RV_REF_END
-   #define BOOST_RV_REF_BEG\
+   //!the template argument must be preceded with NDNBOOST_RV_REF_START
+   //!and ended with NDNBOOST_RV_REF_END
+   #define NDNBOOST_RV_REF_BEG\
          \
    //
 
    //!This macro is used to achieve portable syntax in move
    //!constructors and assignments for template classes marked as
-   //!BOOST_COPYABLE_AND_MOVABLE or BOOST_MOVABLE_BUT_NOT_COPYABLE.
+   //!NDNBOOST_COPYABLE_AND_MOVABLE or NDNBOOST_MOVABLE_BUT_NOT_COPYABLE.
    //!As macros have problems with comma-separatd template arguments,
-   //!the template argument must be preceded with BOOST_RV_REF_START
-   //!and ended with BOOST_RV_REF_END
-   #define BOOST_RV_REF_END\
+   //!the template argument must be preceded with NDNBOOST_RV_REF_START
+   //!and ended with NDNBOOST_RV_REF_END
+   #define NDNBOOST_RV_REF_END\
       && \
 
    //!This macro is used to achieve portable syntax in copy
-   //!assignment for classes marked as BOOST_COPYABLE_AND_MOVABLE.
-   #define BOOST_COPY_ASSIGN_REF(TYPE)\
+   //!assignment for classes marked as NDNBOOST_COPYABLE_AND_MOVABLE.
+   #define NDNBOOST_COPY_ASSIGN_REF(TYPE)\
       const TYPE & \
    //
 
    //! This macro is used to implement portable perfect forwarding
    //! as explained in the documentation.
-   #define BOOST_FWD_REF(TYPE)\
+   #define NDNBOOST_FWD_REF(TYPE)\
       TYPE && \
    //
 
-   #if !defined(BOOST_MOVE_DOXYGEN_INVOKED)
+   #if !defined(NDNBOOST_MOVE_DOXYGEN_INVOKED)
    /// @cond
 
-   #define BOOST_RV_REF_2_TEMPL_ARGS(TYPE, ARG1, ARG2)\
+   #define NDNBOOST_RV_REF_2_TEMPL_ARGS(TYPE, ARG1, ARG2)\
       TYPE<ARG1, ARG2> && \
    //
 
-   #define BOOST_RV_REF_3_TEMPL_ARGS(TYPE, ARG1, ARG2, ARG3)\
+   #define NDNBOOST_RV_REF_3_TEMPL_ARGS(TYPE, ARG1, ARG2, ARG3)\
       TYPE<ARG1, ARG2, ARG3> && \
    //
 
-   #define BOOST_COPY_ASSIGN_REF_BEG \
+   #define NDNBOOST_COPY_ASSIGN_REF_BEG \
       const \
    //
 
-   #define BOOST_COPY_ASSIGN_REF_END \
+   #define NDNBOOST_COPY_ASSIGN_REF_END \
       & \
    //
 
-   #define BOOST_COPY_ASSIGN_REF_2_TEMPL_ARGS(TYPE, ARG1, ARG2)\
+   #define NDNBOOST_COPY_ASSIGN_REF_2_TEMPL_ARGS(TYPE, ARG1, ARG2)\
       const TYPE<ARG1, ARG2> & \
    //
 
-   #define BOOST_COPY_ASSIGN_REF_3_TEMPL_ARGS(TYPE, ARG1, ARG2, ARG3)\
+   #define NDNBOOST_COPY_ASSIGN_REF_3_TEMPL_ARGS(TYPE, ARG1, ARG2, ARG3)\
       const TYPE<ARG1, ARG2, ARG3>& \
    //
 
-   #define BOOST_CATCH_CONST_RLVALUE(TYPE)\
+   #define NDNBOOST_CATCH_CONST_RLVALUE(TYPE)\
       const TYPE & \
    //
 
    /// @endcond
 
-   #endif   //#if !defined(BOOST_MOVE_DOXYGEN_INVOKED)
+   #endif   //#if !defined(NDNBOOST_MOVE_DOXYGEN_INVOKED)
 
-#endif   //BOOST_NO_CXX11_RVALUE_REFERENCES
+#endif   //NDNBOOST_NO_CXX11_RVALUE_REFERENCES
 
 #include <ndnboost/move/detail/config_end.hpp>
 
-#endif //#ifndef BOOST_MOVE_CORE_HPP
+#endif //#ifndef NDNBOOST_MOVE_CORE_HPP
diff --git a/include/ndnboost/move/detail/config_begin.hpp b/include/ndnboost/move/detail/config_begin.hpp
index 4368aeb..f898dd4 100644
--- a/include/ndnboost/move/detail/config_begin.hpp
+++ b/include/ndnboost/move/detail/config_begin.hpp
@@ -9,13 +9,13 @@
 //////////////////////////////////////////////////////////////////////////////
 #include <ndnboost/config.hpp>
 
-#ifdef BOOST_MSVC
+#ifdef NDNBOOST_MSVC
    #ifndef _CRT_SECURE_NO_DEPRECATE
-      #define  BOOST_MOVE_CRT_SECURE_NO_DEPRECATE
+      #define  NDNBOOST_MOVE_CRT_SECURE_NO_DEPRECATE
       #define _CRT_SECURE_NO_DEPRECATE
    #endif
    #ifndef _SCL_SECURE_NO_WARNINGS
-      #define  BOOST_MOVE_SCL_SECURE_NO_WARNINGS
+      #define  NDNBOOST_MOVE_SCL_SECURE_NO_WARNINGS
       #define _SCL_SECURE_NO_WARNINGS
    #endif
    #pragma warning (push)
diff --git a/include/ndnboost/move/detail/config_end.hpp b/include/ndnboost/move/detail/config_end.hpp
index c43bce0..bfba733 100644
--- a/include/ndnboost/move/detail/config_end.hpp
+++ b/include/ndnboost/move/detail/config_end.hpp
@@ -7,14 +7,14 @@
 // See http://www.boost.org/libs/container for documentation.
 //
 //////////////////////////////////////////////////////////////////////////////
-#if defined BOOST_MSVC
+#if defined NDNBOOST_MSVC
    #pragma warning (pop)
-   #ifdef BOOST_MOVE_DETAIL_CRT_SECURE_NO_DEPRECATE
-      #undef BOOST_MOVE_DETAIL_CRT_SECURE_NO_DEPRECATE
+   #ifdef NDNBOOST_MOVE_DETAIL_CRT_SECURE_NO_DEPRECATE
+      #undef NDNBOOST_MOVE_DETAIL_CRT_SECURE_NO_DEPRECATE
       #undef _CRT_SECURE_NO_DEPRECATE
    #endif
-   #ifndef BOOST_MOVE_SCL_SECURE_NO_WARNINGS
-      #undef  BOOST_MOVE_SCL_SECURE_NO_WARNINGS
+   #ifndef NDNBOOST_MOVE_SCL_SECURE_NO_WARNINGS
+      #undef  NDNBOOST_MOVE_SCL_SECURE_NO_WARNINGS
       #undef _SCL_SECURE_NO_WARNINGS
    #endif
 #endif
diff --git a/include/ndnboost/move/detail/meta_utils.hpp b/include/ndnboost/move/detail/meta_utils.hpp
index 1f68fb2..9823c20 100644
--- a/include/ndnboost/move/detail/meta_utils.hpp
+++ b/include/ndnboost/move/detail/meta_utils.hpp
@@ -11,8 +11,8 @@
 
 //! \file
 
-#ifndef BOOST_MOVE_DETAIL_META_UTILS_HPP
-#define BOOST_MOVE_DETAIL_META_UTILS_HPP
+#ifndef NDNBOOST_MOVE_DETAIL_META_UTILS_HPP
+#define NDNBOOST_MOVE_DETAIL_META_UTILS_HPP
 
 #include <ndnboost/move/detail/config_begin.hpp>
 
@@ -155,4 +155,4 @@
 
 #include <ndnboost/move/detail/config_end.hpp>
 
-#endif //#ifndef BOOST_MOVE_DETAIL_META_UTILS_HPP
+#endif //#ifndef NDNBOOST_MOVE_DETAIL_META_UTILS_HPP
diff --git a/include/ndnboost/move/iterator.hpp b/include/ndnboost/move/iterator.hpp
index 12339b0..59d1a84 100644
--- a/include/ndnboost/move/iterator.hpp
+++ b/include/ndnboost/move/iterator.hpp
@@ -11,8 +11,8 @@
 
 //! \file
 
-#ifndef BOOST_MOVE_ITERATOR_HPP
-#define BOOST_MOVE_ITERATOR_HPP
+#ifndef NDNBOOST_MOVE_ITERATOR_HPP
+#define NDNBOOST_MOVE_ITERATOR_HPP
 
 #include <ndnboost/move/detail/config_begin.hpp>
 #include <ndnboost/move/utility.hpp>
@@ -37,7 +37,7 @@
    public:
    typedef It                                                              iterator_type;
    typedef typename std::iterator_traits<iterator_type>::value_type        value_type;
-   #if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) || defined(BOOST_MOVE_DOXYGEN_INVOKED)
+   #if !defined(NDNBOOST_NO_CXX11_RVALUE_REFERENCES) || defined(NDNBOOST_MOVE_DOXYGEN_INVOKED)
    typedef value_type &&                                                   reference;
    #else
    typedef typename ::ndnboost::move_detail::if_
@@ -66,7 +66,7 @@
 
    reference operator*() const
    {
-      #if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) || defined(BOOST_MOVE_OLD_RVALUE_REF_BINDING_RULES)
+      #if defined(NDNBOOST_NO_CXX11_RVALUE_REFERENCES) || defined(NDNBOOST_MOVE_OLD_RVALUE_REF_BINDING_RULES)
       return *m_it;
       #else
       return ::ndnboost::move(*m_it);
@@ -102,7 +102,7 @@
 
    reference operator[](difference_type n) const
    {
-      #if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) || defined(BOOST_MOVE_OLD_RVALUE_REF_BINDING_RULES)
+      #if defined(NDNBOOST_NO_CXX11_RVALUE_REFERENCES) || defined(NDNBOOST_MOVE_OLD_RVALUE_REF_BINDING_RULES)
       return m_it[n];
       #else
       return ::ndnboost::move(m_it[n]);
@@ -191,7 +191,7 @@
    back_move_insert_iterator& operator=(reference x)
    { container_m->push_back(ndnboost::move(x)); return *this; }
 
-   back_move_insert_iterator& operator=(BOOST_RV_REF(value_type) x)
+   back_move_insert_iterator& operator=(NDNBOOST_RV_REF(value_type) x)
    {  reference rx = x; return this->operator=(rx);  }
 
    back_move_insert_iterator& operator*()     { return *this; }
@@ -231,7 +231,7 @@
    front_move_insert_iterator& operator=(reference x)
    { container_m->push_front(ndnboost::move(x)); return *this; }
 
-   front_move_insert_iterator& operator=(BOOST_RV_REF(value_type) x)
+   front_move_insert_iterator& operator=(NDNBOOST_RV_REF(value_type) x)
    {  reference rx = x; return this->operator=(rx);  }
 
    front_move_insert_iterator& operator*()     { return *this; }
@@ -275,7 +275,7 @@
       return *this;
    }
 
-   move_insert_iterator& operator=(BOOST_RV_REF(value_type) x)
+   move_insert_iterator& operator=(NDNBOOST_RV_REF(value_type) x)
    {  reference rx = x; return this->operator=(rx);  }
 
    move_insert_iterator& operator*()     { return *this; }
@@ -295,4 +295,4 @@
 
 #include <ndnboost/move/detail/config_end.hpp>
 
-#endif //#ifndef BOOST_MOVE_ITERATOR_HPP
+#endif //#ifndef NDNBOOST_MOVE_ITERATOR_HPP
diff --git a/include/ndnboost/move/move.hpp b/include/ndnboost/move/move.hpp
index 822ffb5..c27b6d9 100644
--- a/include/ndnboost/move/move.hpp
+++ b/include/ndnboost/move/move.hpp
@@ -14,8 +14,8 @@
 //! A general library header that includes
 //! the rest of top-level headers.
 
-#ifndef BOOST_MOVE_MOVE_HPP
-#define BOOST_MOVE_MOVE_HPP
+#ifndef NDNBOOST_MOVE_MOVE_HPP
+#define NDNBOOST_MOVE_MOVE_HPP
 
 #include <ndnboost/move/detail/config_begin.hpp>
 #include <ndnboost/move/utility.hpp>
@@ -24,4 +24,4 @@
 #include <ndnboost/move/algorithm.hpp>
 #include <ndnboost/move/detail/config_end.hpp>
 
-#endif //#ifndef BOOST_MOVE_MOVE_HPP
+#endif //#ifndef NDNBOOST_MOVE_MOVE_HPP
diff --git a/include/ndnboost/move/traits.hpp b/include/ndnboost/move/traits.hpp
index 47d585d..6b25fd5 100644
--- a/include/ndnboost/move/traits.hpp
+++ b/include/ndnboost/move/traits.hpp
@@ -11,14 +11,14 @@
 
 //! \file
 
-#ifndef BOOST_MOVE_MOVE_TRAITS_HPP
-#define BOOST_MOVE_MOVE_TRAITS_HPP
+#ifndef NDNBOOST_MOVE_MOVE_TRAITS_HPP
+#define NDNBOOST_MOVE_MOVE_TRAITS_HPP
 
 #include <ndnboost/move/detail/config_begin.hpp>
 #include <ndnboost/type_traits/has_trivial_destructor.hpp>
 #include <ndnboost/move/detail/meta_utils.hpp>
 
-#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
+#ifndef NDNBOOST_NO_CXX11_RVALUE_REFERENCES
 #include <ndnboost/move/core.hpp>
 #endif
 
@@ -49,9 +49,9 @@
 
 // Code from Jeffrey Lee Hellrung, many thanks
 
-#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
+#ifndef NDNBOOST_NO_CXX11_RVALUE_REFERENCES
    template< class T> struct forward_type { typedef T type; };
-#else // #ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
+#else // #ifndef NDNBOOST_NO_CXX11_RVALUE_REFERENCES
    template< class T>
    struct forward_type
    { typedef const T &type; };
@@ -59,12 +59,12 @@
    template< class T>
    struct forward_type< ndnboost::rv<T> >
    { typedef T type; };
-#endif // #ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
+#endif // #ifndef NDNBOOST_NO_CXX11_RVALUE_REFERENCES
 
 template< class T > struct is_rvalue_reference : ::ndnboost::move_detail::integral_constant<bool, false> { };
-#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
+#ifndef NDNBOOST_NO_CXX11_RVALUE_REFERENCES
    template< class T > struct is_rvalue_reference< T&& > : ::ndnboost::move_detail::integral_constant<bool, true> { };
-#else // #ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
+#else // #ifndef NDNBOOST_NO_CXX11_RVALUE_REFERENCES
    template< class T > struct is_rvalue_reference< ndnboost::rv<T>& >
       :  ::ndnboost::move_detail::integral_constant<bool, true>
    {};
@@ -72,11 +72,11 @@
    template< class T > struct is_rvalue_reference< const ndnboost::rv<T>& >
       : ::ndnboost::move_detail::integral_constant<bool, true>
    {};
-#endif // #ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
+#endif // #ifndef NDNBOOST_NO_CXX11_RVALUE_REFERENCES
 
-#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
+#ifndef NDNBOOST_NO_CXX11_RVALUE_REFERENCES
    template< class T > struct add_rvalue_reference { typedef T&& type; };
-#else // #ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
+#else // #ifndef NDNBOOST_NO_CXX11_RVALUE_REFERENCES
    namespace detail_add_rvalue_reference
    {
       template< class T
@@ -100,13 +100,13 @@
    struct add_rvalue_reference<T &>
    {  typedef T & type; };
 
-#endif // #ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
+#endif // #ifndef NDNBOOST_NO_CXX11_RVALUE_REFERENCES
 
 template< class T > struct remove_rvalue_reference { typedef T type; };
 
-#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
+#ifndef NDNBOOST_NO_CXX11_RVALUE_REFERENCES
    template< class T > struct remove_rvalue_reference< T&& >                  { typedef T type; };
-#else // #ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
+#else // #ifndef NDNBOOST_NO_CXX11_RVALUE_REFERENCES
    template< class T > struct remove_rvalue_reference< rv<T> >                { typedef T type; };
    template< class T > struct remove_rvalue_reference< const rv<T> >          { typedef T type; };
    template< class T > struct remove_rvalue_reference< volatile rv<T> >       { typedef T type; };
@@ -115,7 +115,7 @@
    template< class T > struct remove_rvalue_reference< const rv<T>& >         { typedef T type; };
    template< class T > struct remove_rvalue_reference< volatile rv<T>& >      { typedef T type; };
    template< class T > struct remove_rvalue_reference< const volatile rv<T>& >{ typedef T type; };
-#endif // #ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
+#endif // #ifndef NDNBOOST_NO_CXX11_RVALUE_REFERENCES
 
 template <typename T>
 typename ndnboost::move_detail::add_rvalue_reference<T>::type declval();
@@ -139,4 +139,4 @@
 
 #include <ndnboost/move/detail/config_end.hpp>
 
-#endif //#ifndef BOOST_MOVE_MOVE_TRAITS_HPP
+#endif //#ifndef NDNBOOST_MOVE_MOVE_TRAITS_HPP
diff --git a/include/ndnboost/move/utility.hpp b/include/ndnboost/move/utility.hpp
index 2b82879..cbc919d 100644
--- a/include/ndnboost/move/utility.hpp
+++ b/include/ndnboost/move/utility.hpp
@@ -11,14 +11,14 @@
 
 //! \file
 
-#ifndef BOOST_MOVE_MOVE_UTILITY_HPP
-#define BOOST_MOVE_MOVE_UTILITY_HPP
+#ifndef NDNBOOST_MOVE_MOVE_UTILITY_HPP
+#define NDNBOOST_MOVE_MOVE_UTILITY_HPP
 
 #include <ndnboost/move/detail/config_begin.hpp>
 #include <ndnboost/move/core.hpp>
 #include <ndnboost/move/detail/meta_utils.hpp>
 
-#if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && !defined(BOOST_MOVE_DOXYGEN_INVOKED)
+#if defined(NDNBOOST_NO_CXX11_RVALUE_REFERENCES) && !defined(NDNBOOST_MOVE_DOXYGEN_INVOKED)
 
    namespace ndnboost {
 
@@ -82,9 +82,9 @@
 
    }  //namespace ndnboost
 
-#else    //#if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && !defined(BOOST_MOVE_DOXYGEN_INVOKED)
+#else    //#if defined(NDNBOOST_NO_CXX11_RVALUE_REFERENCES) && !defined(NDNBOOST_MOVE_DOXYGEN_INVOKED)
 
-   #if defined(BOOST_MOVE_USE_STANDARD_LIBRARY_MOVE)
+   #if defined(NDNBOOST_MOVE_USE_STANDARD_LIBRARY_MOVE)
       #include <utility>
 
       namespace ndnboost{
@@ -94,7 +94,7 @@
 
       }  //namespace ndnboost
 
-   #else //!BOOST_MOVE_USE_STANDARD_LIBRARY_MOVE
+   #else //!NDNBOOST_MOVE_USE_STANDARD_LIBRARY_MOVE
 
       #include <ndnboost/type_traits/remove_reference.hpp>
 
@@ -118,27 +118,27 @@
       //
       //////////////////////////////////////////////////////////////////////////////
 
-      #if defined(BOOST_MOVE_DOXYGEN_INVOKED)
+      #if defined(NDNBOOST_MOVE_DOXYGEN_INVOKED)
          //! This function provides a way to convert a reference into a rvalue reference
          //! in compilers with rvalue references. For other compilers converts T & into
          //! <i>::ndnboost::rv<T> &</i> so that move emulation is activated.
          template <class T>
          rvalue_reference move (input_reference);
 
-      #elif defined(BOOST_MOVE_OLD_RVALUE_REF_BINDING_RULES)
+      #elif defined(NDNBOOST_MOVE_OLD_RVALUE_REF_BINDING_RULES)
 
          //Old move approach, lvalues could bind to rvalue references
          template <class T>
          inline typename remove_reference<T>::type && move(T&& t)
          {  return t;   }
 
-      #else //BOOST_MOVE_OLD_RVALUE_REF_BINDING_RULES
+      #else //NDNBOOST_MOVE_OLD_RVALUE_REF_BINDING_RULES
 
          template <class T>
          inline typename remove_reference<T>::type && move(T&& t)
          { return static_cast<typename remove_reference<T>::type &&>(t); }
 
-      #endif   //BOOST_MOVE_OLD_RVALUE_REF_BINDING_RULES
+      #endif   //NDNBOOST_MOVE_OLD_RVALUE_REF_BINDING_RULES
 
       //////////////////////////////////////////////////////////////////////////////
       //
@@ -147,7 +147,7 @@
       //////////////////////////////////////////////////////////////////////////////
 
 
-      #if defined(BOOST_MOVE_DOXYGEN_INVOKED)
+      #if defined(NDNBOOST_MOVE_DOXYGEN_INVOKED)
          //! This function provides limited form of forwarding that is usually enough for
          //! in-place construction and avoids the exponential overloading for
          //! achieve the limited forwarding in C++03.
@@ -160,7 +160,7 @@
          //!
          //! * Else, output_reference is equal to input_reference.
          template <class T> output_reference forward(input_reference);
-      #elif defined(BOOST_MOVE_OLD_RVALUE_REF_BINDING_RULES)
+      #elif defined(NDNBOOST_MOVE_OLD_RVALUE_REF_BINDING_RULES)
 
          //Old move approach, lvalues could bind to rvalue references
 
@@ -181,14 +181,14 @@
                   <typename remove_reference<U>::type*, typename remove_reference<T>::type*>::value>::type * = 0*/)
          { return static_cast<T&&>(t);   }
 
-      #endif   //BOOST_MOVE_DOXYGEN_INVOKED
+      #endif   //NDNBOOST_MOVE_DOXYGEN_INVOKED
 
       }  //namespace ndnboost {
 
-   #endif   //#if defined(BOOST_MOVE_USE_STANDARD_LIBRARY_MOVE)
+   #endif   //#if defined(NDNBOOST_MOVE_USE_STANDARD_LIBRARY_MOVE)
 
-#endif   //BOOST_NO_CXX11_RVALUE_REFERENCES
+#endif   //NDNBOOST_NO_CXX11_RVALUE_REFERENCES
 
 #include <ndnboost/move/detail/config_end.hpp>
 
-#endif //#ifndef BOOST_MOVE_MOVE_UTILITY_HPP
+#endif //#ifndef NDNBOOST_MOVE_MOVE_UTILITY_HPP
diff --git a/include/ndnboost/mpl/O1_size.hpp b/include/ndnboost/mpl/O1_size.hpp
index 675b05f..d6a4633 100644
--- a/include/ndnboost/mpl/O1_size.hpp
+++ b/include/ndnboost/mpl/O1_size.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_O1_SIZE_HPP_INCLUDED
-#define BOOST_MPL_O1_SIZE_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_O1_SIZE_HPP_INCLUDED
+#define NDNBOOST_MPL_O1_SIZE_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -24,17 +24,17 @@
 
 // returns sequence size if it's an O(1) operation; otherwise returns -1
 template<
-      typename BOOST_MPL_AUX_NA_PARAM(Sequence)
+      typename NDNBOOST_MPL_AUX_NA_PARAM(Sequence)
     >
 struct O1_size
     : O1_size_impl< typename sequence_tag<Sequence>::type >
         ::template apply< Sequence >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(1, O1_size, (Sequence))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(1, O1_size, (Sequence))
 };
 
-BOOST_MPL_AUX_NA_SPEC(1, O1_size)
+NDNBOOST_MPL_AUX_NA_SPEC(1, O1_size)
 
 }}
 
-#endif // BOOST_MPL_O1_SIZE_HPP_INCLUDED
+#endif // NDNBOOST_MPL_O1_SIZE_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/O1_size_fwd.hpp b/include/ndnboost/mpl/O1_size_fwd.hpp
index 23542c6..4a97863 100644
--- a/include/ndnboost/mpl/O1_size_fwd.hpp
+++ b/include/ndnboost/mpl/O1_size_fwd.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_O1_SIZE_FWD_HPP_INCLUDED
-#define BOOST_MPL_O1_SIZE_FWD_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_O1_SIZE_FWD_HPP_INCLUDED
+#define NDNBOOST_MPL_O1_SIZE_FWD_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -21,4 +21,4 @@
 
 }}
 
-#endif // BOOST_MPL_O1_SIZE_FWD_HPP_INCLUDED
+#endif // NDNBOOST_MPL_O1_SIZE_FWD_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/advance.hpp b/include/ndnboost/mpl/advance.hpp
index 6cfd7ac..6d00835 100644
--- a/include/ndnboost/mpl/advance.hpp
+++ b/include/ndnboost/mpl/advance.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_ADVANCE_HPP_INCLUDED
-#define BOOST_MPL_ADVANCE_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_ADVANCE_HPP_INCLUDED
+#define NDNBOOST_MPL_ADVANCE_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -40,8 +40,8 @@
 
         typedef typename if_<
               backward_
-            , aux::advance_backward< BOOST_MPL_AUX_VALUE_WKND(offset_)::value >
-            , aux::advance_forward< BOOST_MPL_AUX_VALUE_WKND(offset_)::value >
+            , aux::advance_backward< NDNBOOST_MPL_AUX_VALUE_WKND(offset_)::value >
+            , aux::advance_forward< NDNBOOST_MPL_AUX_VALUE_WKND(offset_)::value >
             >::type f_;
 
         typedef typename apply_wrap1<f_,Iterator>::type type;
@@ -50,8 +50,8 @@
 
 
 template<
-      typename BOOST_MPL_AUX_NA_PARAM(Iterator)
-    , typename BOOST_MPL_AUX_NA_PARAM(N)
+      typename NDNBOOST_MPL_AUX_NA_PARAM(Iterator)
+    , typename NDNBOOST_MPL_AUX_NA_PARAM(N)
     >
 struct advance
     : advance_impl< typename tag<Iterator>::type >
@@ -61,7 +61,7 @@
 
 template<
       typename Iterator
-    , BOOST_MPL_AUX_NTTP_DECL(long, N)
+    , NDNBOOST_MPL_AUX_NTTP_DECL(long, N)
     >
 struct advance_c
     : advance_impl< typename tag<Iterator>::type >
@@ -69,8 +69,8 @@
 {
 };
 
-BOOST_MPL_AUX_NA_SPEC(2, advance)
+NDNBOOST_MPL_AUX_NA_SPEC(2, advance)
 
 }}
 
-#endif // BOOST_MPL_ADVANCE_HPP_INCLUDED
+#endif // NDNBOOST_MPL_ADVANCE_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/advance_fwd.hpp b/include/ndnboost/mpl/advance_fwd.hpp
index 0f6864d..1d25862 100644
--- a/include/ndnboost/mpl/advance_fwd.hpp
+++ b/include/ndnboost/mpl/advance_fwd.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_ADVANCE_FWD_HPP_INCLUDED
-#define BOOST_MPL_ADVANCE_FWD_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_ADVANCE_FWD_HPP_INCLUDED
+#define NDNBOOST_MPL_ADVANCE_FWD_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -18,11 +18,11 @@
 
 namespace ndnboost { namespace mpl {
 
-BOOST_MPL_AUX_COMMON_NAME_WKND(advance)
+NDNBOOST_MPL_AUX_COMMON_NAME_WKND(advance)
 
 template< typename Tag > struct advance_impl;
 template< typename Iterator, typename N > struct advance;
 
 }}
 
-#endif // BOOST_MPL_ADVANCE_FWD_HPP_INCLUDED
+#endif // NDNBOOST_MPL_ADVANCE_FWD_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/always.hpp b/include/ndnboost/mpl/always.hpp
index 7c37f0d..eeba646 100644
--- a/include/ndnboost/mpl/always.hpp
+++ b/include/ndnboost/mpl/always.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_ALWAYS_HPP_INCLUDED
-#define BOOST_MPL_ALWAYS_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_ALWAYS_HPP_INCLUDED
+#define NDNBOOST_MPL_ALWAYS_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2001-2004
 //
@@ -24,7 +24,7 @@
 {
     template<
           typename T
-        BOOST_MPL_PP_NESTED_DEF_PARAMS_TAIL(1, typename T, na)
+        NDNBOOST_MPL_PP_NESTED_DEF_PARAMS_TAIL(1, typename T, na)
         >
     struct apply
     {
@@ -32,8 +32,8 @@
     };
 };
 
-BOOST_MPL_AUX_ARITY_SPEC(1, always)
+NDNBOOST_MPL_AUX_ARITY_SPEC(1, always)
 
 }}
 
-#endif // BOOST_MPL_ALWAYS_HPP_INCLUDED
+#endif // NDNBOOST_MPL_ALWAYS_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/and.hpp b/include/ndnboost/mpl/and.hpp
index c23a6b7..3bc9d48 100644
--- a/include/ndnboost/mpl/and.hpp
+++ b/include/ndnboost/mpl/and.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_AND_HPP_INCLUDED
-#define BOOST_MPL_AND_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_AND_HPP_INCLUDED
+#define NDNBOOST_MPL_AND_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -16,8 +16,8 @@
 
 #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)
 
 #   include <ndnboost/mpl/bool.hpp>
 #   include <ndnboost/mpl/aux_/nested_type_wknd.hpp>
@@ -38,7 +38,7 @@
 #endif
 #endif
 
-#   define BOOST_MPL_PREPROCESSED_HEADER and.hpp
+#   define NDNBOOST_MPL_PREPROCESSED_HEADER and.hpp
 #   include <ndnboost/mpl/aux_/include_preprocessed.hpp>
 
 #if defined(_MSC_VER)
@@ -56,5 +56,5 @@
 #   define AUX778076_OP_VALUE2 true
 #   include <ndnboost/mpl/aux_/logical_op.hpp>
 
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-#endif // BOOST_MPL_AND_HPP_INCLUDED
+#endif // NDNBOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
+#endif // NDNBOOST_MPL_AND_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/apply.hpp b/include/ndnboost/mpl/apply.hpp
index fa18a98..0fd6612 100644
--- a/include/ndnboost/mpl/apply.hpp
+++ b/include/ndnboost/mpl/apply.hpp
@@ -1,10 +1,10 @@
 
-#if !defined(BOOST_PP_IS_ITERATING)
+#if !defined(NDNBOOST_PP_IS_ITERATING)
 
 ///// header body
 
-#ifndef BOOST_MPL_APPLY_HPP_INCLUDED
-#define BOOST_MPL_APPLY_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_APPLY_HPP_INCLUDED
+#define NDNBOOST_MPL_APPLY_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -18,7 +18,7 @@
 // $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
 // $Revision: 49267 $
 
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
+#if !defined(NDNBOOST_MPL_PREPROCESSING_MODE)
 #   include <ndnboost/mpl/apply_fwd.hpp>
 #   include <ndnboost/mpl/apply_wrap.hpp>
 #   include <ndnboost/mpl/placeholders.hpp>
@@ -29,10 +29,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.hpp
+#   define NDNBOOST_MPL_PREPROCESSED_HEADER apply.hpp
 #   include <ndnboost/mpl/aux_/include_preprocessed.hpp>
 
 #else
@@ -58,52 +58,52 @@
 
 // local macros, #undef-ined at the end of the header
 #   define AUX778076_APPLY_PARAMS(param) \
-    BOOST_MPL_PP_PARAMS( \
-          BOOST_MPL_LIMIT_METAFUNCTION_ARITY \
+    NDNBOOST_MPL_PP_PARAMS( \
+          NDNBOOST_MPL_LIMIT_METAFUNCTION_ARITY \
         , param \
         ) \
     /**/
 
 #   define AUX778076_APPLY_DEF_PARAMS(param, value) \
-    BOOST_MPL_PP_DEFAULT_PARAMS( \
-          BOOST_MPL_LIMIT_METAFUNCTION_ARITY \
+    NDNBOOST_MPL_PP_DEFAULT_PARAMS( \
+          NDNBOOST_MPL_LIMIT_METAFUNCTION_ARITY \
         , param \
         , value \
         ) \
     /**/
 
 #   define AUX778076_APPLY_N_PARAMS(n, param) \
-    BOOST_MPL_PP_PARAMS(n, param) \
+    NDNBOOST_MPL_PP_PARAMS(n, param) \
     /**/
 
 #   define AUX778076_APPLY_N_COMMA_PARAMS(n, param) \
-    BOOST_PP_COMMA_IF(n) \
-    BOOST_MPL_PP_PARAMS(n, param) \
+    NDNBOOST_PP_COMMA_IF(n) \
+    NDNBOOST_MPL_PP_PARAMS(n, param) \
     /**/
 
 #   define AUX778076_APPLY_N_PARTIAL_SPEC_PARAMS(n, param, def) \
-    BOOST_PP_COMMA_IF(n) \
-    BOOST_MPL_PP_PARTIAL_SPEC_PARAMS(n, param, def) \
+    NDNBOOST_PP_COMMA_IF(n) \
+    NDNBOOST_MPL_PP_PARTIAL_SPEC_PARAMS(n, param, def) \
     /**/
     
 #   define AUX778076_APPLY_N_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.hpp>))
-#include BOOST_PP_ITERATE()
+#define NDNBOOST_PP_ITERATION_PARAMS_1 \
+    (3,(0, NDNBOOST_MPL_LIMIT_METAFUNCTION_ARITY, <ndnboost/mpl/apply.hpp>))
+#include NDNBOOST_PP_ITERATE()
 
-#   if !defined(BOOST_MPL_CFG_NO_APPLY_TEMPLATE)
+#   if !defined(NDNBOOST_MPL_CFG_NO_APPLY_TEMPLATE)
 // real C++ version is already taken care of
-#   if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+#   if defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
 
 namespace aux {
 // apply_count_args
 #define AUX778076_COUNT_ARGS_PREFIX apply
 #define AUX778076_COUNT_ARGS_DEFAULT na
-#define AUX778076_COUNT_ARGS_ARITY BOOST_MPL_LIMIT_METAFUNCTION_ARITY
+#define AUX778076_COUNT_ARGS_ARITY NDNBOOST_MPL_LIMIT_METAFUNCTION_ARITY
 #include <ndnboost/mpl/aux_/count_args.hpp>
 }
 
@@ -118,8 +118,8 @@
 {
 };
 
-#   endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-#   endif // BOOST_MPL_CFG_NO_APPLY_TEMPLATE
+#   endif // NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#   endif // NDNBOOST_MPL_CFG_NO_APPLY_TEMPLATE
 
 #   undef AUX778076_APPLY_N_SPEC_PARAMS
 #   undef AUX778076_APPLY_N_PARTIAL_SPEC_PARAMS
@@ -130,62 +130,62 @@
 
 }}
 
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-#endif // BOOST_MPL_APPLY_HPP_INCLUDED
+#endif // NDNBOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
+#endif // NDNBOOST_MPL_APPLY_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)
 
 template<
       typename F AUX778076_APPLY_N_COMMA_PARAMS(i_, typename T)
     >
-struct BOOST_PP_CAT(apply,i_)
-#if !BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-    : BOOST_PP_CAT(apply_wrap,i_)< 
+struct NDNBOOST_PP_CAT(apply,i_)
+#if !NDNBOOST_WORKAROUND(NDNBOOST_MSVC, < 1300)
+    : NDNBOOST_PP_CAT(apply_wrap,i_)< 
           typename lambda<F>::type
         AUX778076_APPLY_N_COMMA_PARAMS(i_, T)
         >
 {
 #else
 {
-    typedef typename BOOST_PP_CAT(apply_wrap,i_)< 
+    typedef typename NDNBOOST_PP_CAT(apply_wrap,i_)< 
           typename lambda<F>::type
         AUX778076_APPLY_N_COMMA_PARAMS(i_, T)
         >::type type;
 #endif
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          BOOST_PP_INC(i_)
-        , BOOST_PP_CAT(apply,i_)
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
+          NDNBOOST_PP_INC(i_)
+        , NDNBOOST_PP_CAT(apply,i_)
         , (F AUX778076_APPLY_N_COMMA_PARAMS(i_,T))
         )
 };
 
 
-#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,i_)<AUX778076_APPLY_N_SPEC_PARAMS(i_, int)>
+struct NDNBOOST_PP_CAT(apply,i_)<AUX778076_APPLY_N_SPEC_PARAMS(i_, int)>
 {
     typedef int type;
 };
 #endif
 
-#   if !defined(BOOST_MPL_CFG_NO_APPLY_TEMPLATE)
-#   if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+#   if !defined(NDNBOOST_MPL_CFG_NO_APPLY_TEMPLATE)
+#   if !defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
 
-#if i_ == BOOST_MPL_LIMIT_METAFUNCTION_ARITY
+#if i_ == NDNBOOST_MPL_LIMIT_METAFUNCTION_ARITY
 /// primary template (not a specialization!)
 template<
       typename F AUX778076_APPLY_N_COMMA_PARAMS(i_, typename T)
     >
 struct apply
-    : BOOST_PP_CAT(apply,i_)< F AUX778076_APPLY_N_COMMA_PARAMS(i_, T) >
+    : NDNBOOST_PP_CAT(apply,i_)< F AUX778076_APPLY_N_COMMA_PARAMS(i_, T) >
 {
 };
 #else
@@ -193,14 +193,14 @@
       typename F AUX778076_APPLY_N_COMMA_PARAMS(i_, typename T)
     >
 struct apply< F AUX778076_APPLY_N_PARTIAL_SPEC_PARAMS(i_, T, na) >
-    : BOOST_PP_CAT(apply,i_)< F AUX778076_APPLY_N_COMMA_PARAMS(i_, T) >
+    : NDNBOOST_PP_CAT(apply,i_)< F AUX778076_APPLY_N_COMMA_PARAMS(i_, T) >
 {
 };
 #endif
 
-#   else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#   else // NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 
-#if !defined(BOOST_MPL_CFG_NO_APPLY_TEMPLATE)
+#if !defined(NDNBOOST_MPL_CFG_NO_APPLY_TEMPLATE)
 namespace aux {
 
 template<>
@@ -211,7 +211,7 @@
         >
     struct result_
     {
-        typedef BOOST_PP_CAT(apply,i_)<
+        typedef NDNBOOST_PP_CAT(apply,i_)<
               F AUX778076_APPLY_N_COMMA_PARAMS(i_, T)
             > type;
     };
@@ -220,10 +220,10 @@
 } // namespace aux
 #endif
 
-#   endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-#   endif // BOOST_MPL_CFG_NO_APPLY_TEMPLATE
+#   endif // NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#   endif // NDNBOOST_MPL_CFG_NO_APPLY_TEMPLATE
 
 #   undef i_
 
-#endif // BOOST_PP_ITERATION_DEPTH()
-#endif // BOOST_PP_IS_ITERATING
+#endif // NDNBOOST_PP_ITERATION_DEPTH()
+#endif // NDNBOOST_PP_IS_ITERATING
diff --git a/include/ndnboost/mpl/apply_fwd.hpp b/include/ndnboost/mpl/apply_fwd.hpp
index fa53006..0477e06 100644
--- a/include/ndnboost/mpl/apply_fwd.hpp
+++ b/include/ndnboost/mpl/apply_fwd.hpp
@@ -1,10 +1,10 @@
 
-#if !defined(BOOST_PP_IS_ITERATING)
+#if !defined(NDNBOOST_PP_IS_ITERATING)
 
 ///// header body
 
-#ifndef BOOST_MPL_APPLY_FWD_HPP_INCLUDED
-#define BOOST_MPL_APPLY_FWD_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_APPLY_FWD_HPP_INCLUDED
+#define NDNBOOST_MPL_APPLY_FWD_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -18,16 +18,16 @@
 // $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
 // $Revision: 49267 $
 
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
+#if !defined(NDNBOOST_MPL_PREPROCESSING_MODE)
 #   include <ndnboost/mpl/aux_/na.hpp>
 #endif
 
 #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_fwd.hpp
+#   define NDNBOOST_MPL_PREPROCESSED_HEADER apply_fwd.hpp
 #   include <ndnboost/mpl/aux_/include_preprocessed.hpp>
 
 #else
@@ -44,29 +44,29 @@
 
 // agurt, 15/jan/02: top-level 'apply' template gives an ICE on MSVC
 // (for known reasons)
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-#   define BOOST_MPL_CFG_NO_APPLY_TEMPLATE
+#if NDNBOOST_WORKAROUND(NDNBOOST_MSVC, < 1300)
+#   define NDNBOOST_MPL_CFG_NO_APPLY_TEMPLATE
 #endif
 
 namespace ndnboost { namespace mpl {
 
 // local macro, #undef-ined at the end of the header
 #   define AUX778076_APPLY_DEF_PARAMS(param, value) \
-    BOOST_MPL_PP_DEFAULT_PARAMS( \
-          BOOST_MPL_LIMIT_METAFUNCTION_ARITY \
+    NDNBOOST_MPL_PP_DEFAULT_PARAMS( \
+          NDNBOOST_MPL_LIMIT_METAFUNCTION_ARITY \
         , param \
         , value \
         ) \
     /**/
 
 #   define AUX778076_APPLY_N_COMMA_PARAMS(n, param) \
-    BOOST_PP_COMMA_IF(n) \
-    BOOST_MPL_PP_PARAMS(n, param) \
+    NDNBOOST_PP_COMMA_IF(n) \
+    NDNBOOST_MPL_PP_PARAMS(n, param) \
     /**/
 
-#   if !defined(BOOST_MPL_CFG_NO_APPLY_TEMPLATE)
+#   if !defined(NDNBOOST_MPL_CFG_NO_APPLY_TEMPLATE)
 
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+#if !defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
 // forward declaration
 template<
       typename F, AUX778076_APPLY_DEF_PARAMS(typename T, na)
@@ -74,15 +74,15 @@
 struct apply;
 #else
 namespace aux {
-template< BOOST_AUX_NTTP_DECL(int, arity_) > struct apply_chooser;
+template< NDNBOOST_AUX_NTTP_DECL(int, arity_) > struct apply_chooser;
 }
 #endif
 
-#   endif // BOOST_MPL_CFG_NO_APPLY_TEMPLATE
+#   endif // NDNBOOST_MPL_CFG_NO_APPLY_TEMPLATE
 
-#define BOOST_PP_ITERATION_PARAMS_1 \
-    (3,(0, BOOST_MPL_LIMIT_METAFUNCTION_ARITY, <ndnboost/mpl/apply_fwd.hpp>))
-#include BOOST_PP_ITERATE()
+#define NDNBOOST_PP_ITERATION_PARAMS_1 \
+    (3,(0, NDNBOOST_MPL_LIMIT_METAFUNCTION_ARITY, <ndnboost/mpl/apply_fwd.hpp>))
+#include NDNBOOST_PP_ITERATE()
 
 
 #   undef AUX778076_APPLY_N_COMMA_PARAMS
@@ -90,18 +90,18 @@
 
 }}
 
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-#endif // BOOST_MPL_APPLY_FWD_HPP_INCLUDED
+#endif // NDNBOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
+#endif // NDNBOOST_MPL_APPLY_FWD_HPP_INCLUDED
 
 ///// iteration
 
 #else
-#define i_ BOOST_PP_FRAME_ITERATION(1)
+#define i_ NDNBOOST_PP_FRAME_ITERATION(1)
 
 template<
       typename F AUX778076_APPLY_N_COMMA_PARAMS(i_, typename T)
     >
-struct BOOST_PP_CAT(apply,i_);
+struct NDNBOOST_PP_CAT(apply,i_);
 
 #undef i_
-#endif // BOOST_PP_IS_ITERATING
+#endif // NDNBOOST_PP_IS_ITERATING
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
diff --git a/include/ndnboost/mpl/arg.hpp b/include/ndnboost/mpl/arg.hpp
index e3bc249..440164a 100644
--- a/include/ndnboost/mpl/arg.hpp
+++ b/include/ndnboost/mpl/arg.hpp
@@ -1,10 +1,10 @@
 
-#if !defined(BOOST_PP_IS_ITERATING)
+#if !defined(NDNBOOST_PP_IS_ITERATING)
 
 ///// header body
 
-#ifndef BOOST_MPL_ARG_HPP_INCLUDED
-#define BOOST_MPL_ARG_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_ARG_HPP_INCLUDED
+#define NDNBOOST_MPL_ARG_HPP_INCLUDED
 
 // Copyright Peter Dimov 2001-2002
 // Copyright Aleksey Gurtovoy 2001-2004
@@ -19,7 +19,7 @@
 // $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
 // $Revision: 49267 $
 
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
+#if !defined(NDNBOOST_MPL_PREPROCESSING_MODE)
 #   include <ndnboost/mpl/arg_fwd.hpp>
 #   include <ndnboost/mpl/aux_/na.hpp>
 #   include <ndnboost/mpl/aux_/na_assert.hpp>
@@ -30,10 +30,10 @@
 #include <ndnboost/mpl/aux_/config/static_constant.hpp>
 #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 arg.hpp
+#   define NDNBOOST_MPL_PREPROCESSED_HEADER arg.hpp
 #   include <ndnboost/mpl/aux_/include_preprocessed.hpp>
 
 #else
@@ -49,61 +49,61 @@
 #   include <ndnboost/preprocessor/inc.hpp>
 #   include <ndnboost/preprocessor/cat.hpp>
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 
 // local macro, #undef-ined at the end of the header
-#if !defined(BOOST_MPL_CFG_NO_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES)
+#if !defined(NDNBOOST_MPL_CFG_NO_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES)
 #   define AUX778076_ARG_N_DEFAULT_PARAMS(param,value) \
-    BOOST_MPL_PP_DEFAULT_PARAMS( \
-          BOOST_MPL_LIMIT_METAFUNCTION_ARITY \
+    NDNBOOST_MPL_PP_DEFAULT_PARAMS( \
+          NDNBOOST_MPL_LIMIT_METAFUNCTION_ARITY \
         , param \
         , value \
         ) \
     /**/
 #else
 #   define AUX778076_ARG_N_DEFAULT_PARAMS(param,value) \
-    BOOST_MPL_PP_PARAMS( \
-          BOOST_MPL_LIMIT_METAFUNCTION_ARITY \
+    NDNBOOST_MPL_PP_PARAMS( \
+          NDNBOOST_MPL_LIMIT_METAFUNCTION_ARITY \
         , param \
         ) \
     /**/
 #endif
 
-#define BOOST_PP_ITERATION_PARAMS_1 \
-    (3,(0, BOOST_MPL_LIMIT_METAFUNCTION_ARITY, <ndnboost/mpl/arg.hpp>))
-#include BOOST_PP_ITERATE()
+#define NDNBOOST_PP_ITERATION_PARAMS_1 \
+    (3,(0, NDNBOOST_MPL_LIMIT_METAFUNCTION_ARITY, <ndnboost/mpl/arg.hpp>))
+#include NDNBOOST_PP_ITERATE()
 
 
 #   undef AUX778076_ARG_N_DEFAULT_PARAMS
 
-BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int,arg)
+NDNBOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int,arg)
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
 
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-#endif // BOOST_MPL_ARG_HPP_INCLUDED
+#endif // NDNBOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
+#endif // NDNBOOST_MPL_ARG_HPP_INCLUDED
 
 ///// iteration
 
 #else
-#define i_ BOOST_PP_FRAME_ITERATION(1)
+#define i_ NDNBOOST_PP_FRAME_ITERATION(1)
 
 #if i_ > 0
 
 template<> struct arg<i_>
 {
-    BOOST_STATIC_CONSTANT(int, value = i_);
-    typedef arg<BOOST_PP_INC(i_)> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
+    NDNBOOST_STATIC_CONSTANT(int, value = i_);
+    typedef arg<NDNBOOST_PP_INC(i_)> next;
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, type)
 
     template<
           AUX778076_ARG_N_DEFAULT_PARAMS(typename U, na)
         >
     struct apply
     {
-        typedef BOOST_PP_CAT(U,i_) type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
+        typedef NDNBOOST_PP_CAT(U,i_) type;
+        NDNBOOST_MPL_AUX_ASSERT_NOT_NA(type);
     };
 };
 
@@ -111,9 +111,9 @@
 
 template<> struct arg<-1>
 {
-    BOOST_STATIC_CONSTANT(int, value = -1);
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
+    NDNBOOST_STATIC_CONSTANT(int, value = -1);
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, type)
 
     template<
           AUX778076_ARG_N_DEFAULT_PARAMS(typename U, na)
@@ -121,11 +121,11 @@
     struct apply
     {
         typedef U1 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
+        NDNBOOST_MPL_AUX_ASSERT_NOT_NA(type);
     };
 };
 
 #endif // i_ > 0
 
 #undef i_
-#endif // BOOST_PP_IS_ITERATING
+#endif // NDNBOOST_PP_IS_ITERATING
diff --git a/include/ndnboost/mpl/arg_fwd.hpp b/include/ndnboost/mpl/arg_fwd.hpp
index 9aec30d..adc8ee3 100644
--- a/include/ndnboost/mpl/arg_fwd.hpp
+++ b/include/ndnboost/mpl/arg_fwd.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_ARG_FWD_HPP_INCLUDED
-#define BOOST_MPL_ARG_FWD_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_ARG_FWD_HPP_INCLUDED
+#define NDNBOOST_MPL_ARG_FWD_HPP_INCLUDED
 
 // Copyright Peter Dimov 2001-2002
 // Copyright Aleksey Gurtovoy 2001-2004
@@ -18,11 +18,11 @@
 #include <ndnboost/mpl/aux_/adl_barrier.hpp>
 #include <ndnboost/mpl/aux_/nttp_decl.hpp>
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 
-template< BOOST_MPL_AUX_NTTP_DECL(int, N) > struct arg;
+template< NDNBOOST_MPL_AUX_NTTP_DECL(int, N) > struct arg;
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-BOOST_MPL_AUX_ADL_BARRIER_DECL(arg)
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_DECL(arg)
 
-#endif // BOOST_MPL_ARG_FWD_HPP_INCLUDED
+#endif // NDNBOOST_MPL_ARG_FWD_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/assert.hpp b/include/ndnboost/mpl/assert.hpp
index 6d14b2f..b3d5deb 100644
--- a/include/ndnboost/mpl/assert.hpp
+++ b/include/ndnboost/mpl/assert.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_ASSERT_HPP_INCLUDED
-#define BOOST_MPL_ASSERT_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_ASSERT_HPP_INCLUDED
+#define NDNBOOST_MPL_ASSERT_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2006
 //
@@ -34,42 +34,42 @@
 #include <ndnboost/config.hpp> // make sure 'size_t' is placed into 'std'
 #include <cstddef>
 
-#if BOOST_WORKAROUND(BOOST_MSVC, == 1700)
+#if NDNBOOST_WORKAROUND(NDNBOOST_MSVC, == 1700)
 #include <ndnboost/mpl/if.hpp>
 #endif
 
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) \
-    || (BOOST_MPL_CFG_GCC != 0) \
-    || BOOST_WORKAROUND(__IBMCPP__, <= 600)
-#   define BOOST_MPL_CFG_ASSERT_USE_RELATION_NAMES
+#if NDNBOOST_WORKAROUND(__BORLANDC__, NDNBOOST_TESTED_AT(0x610)) \
+    || (NDNBOOST_MPL_CFG_GCC != 0) \
+    || NDNBOOST_WORKAROUND(__IBMCPP__, <= 600)
+#   define NDNBOOST_MPL_CFG_ASSERT_USE_RELATION_NAMES
 #endif
 
-#if BOOST_WORKAROUND(__MWERKS__, < 0x3202) \
-    || BOOST_WORKAROUND(__EDG_VERSION__, <= 238) \
-    || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) \
-    || BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840))
-#   define BOOST_MPL_CFG_ASSERT_BROKEN_POINTER_TO_POINTER_TO_MEMBER
+#if NDNBOOST_WORKAROUND(__MWERKS__, < 0x3202) \
+    || NDNBOOST_WORKAROUND(__EDG_VERSION__, <= 238) \
+    || NDNBOOST_WORKAROUND(__BORLANDC__, NDNBOOST_TESTED_AT(0x610)) \
+    || NDNBOOST_WORKAROUND(__DMC__, NDNBOOST_TESTED_AT(0x840))
+#   define NDNBOOST_MPL_CFG_ASSERT_BROKEN_POINTER_TO_POINTER_TO_MEMBER
 #endif
 
 // agurt, 10/nov/06: use enums for Borland (which cannot cope with static constants) 
 // and GCC (which issues "unused variable" warnings when static constants are used 
 // at a function scope)
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) \
-    || (BOOST_MPL_CFG_GCC != 0)
-#   define BOOST_MPL_AUX_ASSERT_CONSTANT(T, expr) enum { expr }
+#if NDNBOOST_WORKAROUND(__BORLANDC__, NDNBOOST_TESTED_AT(0x610)) \
+    || (NDNBOOST_MPL_CFG_GCC != 0)
+#   define NDNBOOST_MPL_AUX_ASSERT_CONSTANT(T, expr) enum { expr }
 #else
-#   define BOOST_MPL_AUX_ASSERT_CONSTANT(T, expr) BOOST_STATIC_CONSTANT(T, expr)
+#   define NDNBOOST_MPL_AUX_ASSERT_CONSTANT(T, expr) NDNBOOST_STATIC_CONSTANT(T, expr)
 #endif
 
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 
 struct failed {};
 
 // agurt, 24/aug/04: MSVC 7.1 workaround here and below: return/accept 
 // 'assert<false>' by reference; can't apply it unconditionally -- apparently it
 // degrades the quality of GCC diagnostics
-#if BOOST_WORKAROUND(BOOST_MSVC, == 1310)
+#if NDNBOOST_WORKAROUND(NDNBOOST_MSVC, == 1310)
 #   define AUX778076_ASSERT_ARG(x) x&
 #else
 #   define AUX778076_ASSERT_ARG(x) x
@@ -95,7 +95,7 @@
 
 struct assert_
 {
-#if !defined(BOOST_MPL_CFG_NO_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES)
+#if !defined(NDNBOOST_MPL_CFG_NO_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES)
     template< typename T1, typename T2 = na, typename T3 = na, typename T4 = na > struct types {};
 #endif
     static assert_ const arg;
@@ -103,7 +103,7 @@
 };
 
 
-#if !defined(BOOST_MPL_CFG_ASSERT_USE_RELATION_NAMES)
+#if !defined(NDNBOOST_MPL_CFG_ASSERT_USE_RELATION_NAMES)
 
 bool operator==( failed, failed );
 bool operator!=( failed, failed );
@@ -114,14 +114,14 @@
 
 #if defined(__EDG_VERSION__)
 template< bool (*)(failed, failed), long x, long y > struct assert_relation {};
-#   define BOOST_MPL_AUX_ASSERT_RELATION(x, y, r) assert_relation<r,x,y>
+#   define NDNBOOST_MPL_AUX_ASSERT_RELATION(x, y, r) assert_relation<r,x,y>
 #else
-template< BOOST_MPL_AUX_NTTP_DECL(long, x), BOOST_MPL_AUX_NTTP_DECL(long, y), bool (*)(failed, failed) > 
+template< NDNBOOST_MPL_AUX_NTTP_DECL(long, x), NDNBOOST_MPL_AUX_NTTP_DECL(long, y), bool (*)(failed, failed) > 
 struct assert_relation {};
-#   define BOOST_MPL_AUX_ASSERT_RELATION(x, y, r) assert_relation<x,y,r>
+#   define NDNBOOST_MPL_AUX_ASSERT_RELATION(x, y, r) assert_relation<x,y,r>
 #endif
 
-#else // BOOST_MPL_CFG_ASSERT_USE_RELATION_NAMES
+#else // NDNBOOST_MPL_CFG_ASSERT_USE_RELATION_NAMES
 
 ndnboost::mpl::aux::weighted_tag<1>::type operator==( assert_, assert_ );
 ndnboost::mpl::aux::weighted_tag<2>::type operator!=( assert_, assert_ );
@@ -134,7 +134,7 @@
 
 #endif 
 
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1700)
+#if NDNBOOST_WORKAROUND(NDNBOOST_MSVC, >= 1700)
 
 template<class Pred>
 struct extract_assert_pred;
@@ -165,7 +165,7 @@
 template< typename T >
 T make_assert_arg();
 
-#elif !defined(BOOST_MPL_CFG_ASSERT_BROKEN_POINTER_TO_POINTER_TO_MEMBER)
+#elif !defined(NDNBOOST_MPL_CFG_ASSERT_BROKEN_POINTER_TO_POINTER_TO_MEMBER)
 
 template< bool > struct assert_arg_pred_impl { typedef int type; };
 template<> struct assert_arg_pred_impl<true> { typedef void* type; };
@@ -179,7 +179,7 @@
 template< typename P > struct assert_arg_pred_not
 {
     typedef typename P::type p_type;
-    BOOST_MPL_AUX_ASSERT_CONSTANT( bool, p = !p_type::value );
+    NDNBOOST_MPL_AUX_ASSERT_CONSTANT( bool, p = !p_type::value );
     typedef typename assert_arg_pred_impl<p>::type type;
 };
 
@@ -202,7 +202,7 @@
 assert_not_arg( void (*)(Pred), typename assert_arg_pred<Pred>::type );
 
 
-#else // BOOST_MPL_CFG_ASSERT_BROKEN_POINTER_TO_POINTER_TO_MEMBER
+#else // NDNBOOST_MPL_CFG_ASSERT_BROKEN_POINTER_TO_POINTER_TO_MEMBER
         
 template< bool c, typename Pred > struct assert_arg_type_impl
 {
@@ -216,7 +216,7 @@
 };
 
 template< typename Pred > struct assert_arg_type
-    : assert_arg_type_impl< BOOST_MPL_AUX_VALUE_WKND(BOOST_MPL_AUX_NESTED_TYPE_WKND(Pred))::value, Pred >
+    : assert_arg_type_impl< NDNBOOST_MPL_AUX_VALUE_WKND(NDNBOOST_MPL_AUX_NESTED_TYPE_WKND(Pred))::value, Pred >
 {
 };
 
@@ -228,30 +228,30 @@
 typename assert_arg_type< ndnboost::mpl::not_<Pred> >::type 
 assert_not_arg(void (*)(Pred), int);
 
-#   if !defined(BOOST_MPL_CFG_ASSERT_USE_RELATION_NAMES)
+#   if !defined(NDNBOOST_MPL_CFG_ASSERT_USE_RELATION_NAMES)
 template< long x, long y, bool (*r)(failed, failed) >
-typename assert_arg_type_impl< false,BOOST_MPL_AUX_ASSERT_RELATION(x,y,r) >::type
-assert_rel_arg( BOOST_MPL_AUX_ASSERT_RELATION(x,y,r) );
+typename assert_arg_type_impl< false,NDNBOOST_MPL_AUX_ASSERT_RELATION(x,y,r) >::type
+assert_rel_arg( NDNBOOST_MPL_AUX_ASSERT_RELATION(x,y,r) );
 #   else
 template< assert_::relations r, long x, long y >
 typename assert_arg_type_impl< false,assert_relation<r,x,y> >::type
 assert_rel_arg( assert_relation<r,x,y> );
 #   endif
 
-#endif // BOOST_MPL_CFG_ASSERT_BROKEN_POINTER_TO_POINTER_TO_MEMBER
+#endif // NDNBOOST_MPL_CFG_ASSERT_BROKEN_POINTER_TO_POINTER_TO_MEMBER
 
 #undef AUX778076_ASSERT_ARG
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
 
-#if BOOST_WORKAROUND(BOOST_MSVC, == 1700)
+#if NDNBOOST_WORKAROUND(NDNBOOST_MSVC, == 1700)
 
-// BOOST_MPL_ASSERT((pred<x,...>))
+// NDNBOOST_MPL_ASSERT((pred<x,...>))
 
-#define BOOST_MPL_ASSERT(pred) \
-BOOST_MPL_AUX_ASSERT_CONSTANT( \
+#define NDNBOOST_MPL_ASSERT(pred) \
+NDNBOOST_MPL_AUX_ASSERT_CONSTANT( \
       std::size_t \
-    , BOOST_PP_CAT(mpl_assertion_in_line_,BOOST_MPL_AUX_PP_COUNTER()) = sizeof( \
+    , NDNBOOST_PP_CAT(mpl_assertion_in_line_,NDNBOOST_MPL_AUX_PP_COUNTER()) = sizeof( \
           ndnboost::mpl::assertion_failed<false>( \
               ndnboost::mpl::make_assert_arg< \
                   typename ndnboost::mpl::eval_assert<void pred>::type \
@@ -261,12 +261,12 @@
     ) \
 /**/
 
-// BOOST_MPL_ASSERT_NOT((pred<x,...>))
+// NDNBOOST_MPL_ASSERT_NOT((pred<x,...>))
 
-#define BOOST_MPL_ASSERT_NOT(pred) \
-BOOST_MPL_AUX_ASSERT_CONSTANT( \
+#define NDNBOOST_MPL_ASSERT_NOT(pred) \
+NDNBOOST_MPL_AUX_ASSERT_CONSTANT( \
       std::size_t \
-    , BOOST_PP_CAT(mpl_assertion_in_line_,BOOST_MPL_AUX_PP_COUNTER()) = sizeof( \
+    , NDNBOOST_PP_CAT(mpl_assertion_in_line_,NDNBOOST_MPL_AUX_PP_COUNTER()) = sizeof( \
           ndnboost::mpl::assertion_failed<false>( \
               ndnboost::mpl::make_assert_arg< \
                   typename ndnboost::mpl::eval_assert_not<void pred>::type \
@@ -278,12 +278,12 @@
 
 #else
 
-// BOOST_MPL_ASSERT((pred<x,...>))
+// NDNBOOST_MPL_ASSERT((pred<x,...>))
 
-#define BOOST_MPL_ASSERT(pred) \
-BOOST_MPL_AUX_ASSERT_CONSTANT( \
+#define NDNBOOST_MPL_ASSERT(pred) \
+NDNBOOST_MPL_AUX_ASSERT_CONSTANT( \
       std::size_t \
-    , BOOST_PP_CAT(mpl_assertion_in_line_,BOOST_MPL_AUX_PP_COUNTER()) = sizeof( \
+    , NDNBOOST_PP_CAT(mpl_assertion_in_line_,NDNBOOST_MPL_AUX_PP_COUNTER()) = sizeof( \
           ndnboost::mpl::assertion_failed<false>( \
               ndnboost::mpl::assert_arg( (void (*) pred)0, 1 ) \
             ) \
@@ -291,12 +291,12 @@
     ) \
 /**/
 
-// BOOST_MPL_ASSERT_NOT((pred<x,...>))
+// NDNBOOST_MPL_ASSERT_NOT((pred<x,...>))
 
-#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
-#   define BOOST_MPL_ASSERT_NOT(pred) \
+#if NDNBOOST_WORKAROUND(NDNBOOST_MSVC, <= 1300)
+#   define NDNBOOST_MPL_ASSERT_NOT(pred) \
 enum { \
-      BOOST_PP_CAT(mpl_assertion_in_line_,BOOST_MPL_AUX_PP_COUNTER()) = sizeof( \
+      NDNBOOST_PP_CAT(mpl_assertion_in_line_,NDNBOOST_MPL_AUX_PP_COUNTER()) = sizeof( \
           ndnboost::mpl::assertion<false>::failed( \
               ndnboost::mpl::assert_not_arg( (void (*) pred)0, 1 ) \
             ) \
@@ -304,10 +304,10 @@
 }\
 /**/
 #else
-#   define BOOST_MPL_ASSERT_NOT(pred) \
-BOOST_MPL_AUX_ASSERT_CONSTANT( \
+#   define NDNBOOST_MPL_ASSERT_NOT(pred) \
+NDNBOOST_MPL_AUX_ASSERT_CONSTANT( \
       std::size_t \
-    , BOOST_PP_CAT(mpl_assertion_in_line_,BOOST_MPL_AUX_PP_COUNTER()) = sizeof( \
+    , NDNBOOST_PP_CAT(mpl_assertion_in_line_,NDNBOOST_MPL_AUX_PP_COUNTER()) = sizeof( \
           ndnboost::mpl::assertion_failed<false>( \
               ndnboost::mpl::assert_not_arg( (void (*) pred)0, 1 ) \
             ) \
@@ -318,18 +318,18 @@
 
 #endif
 
-// BOOST_MPL_ASSERT_RELATION(x, ==|!=|<=|<|>=|>, y)
+// NDNBOOST_MPL_ASSERT_RELATION(x, ==|!=|<=|<|>=|>, y)
 
-#if defined(BOOST_MPL_CFG_ASSERT_USE_RELATION_NAMES)
+#if defined(NDNBOOST_MPL_CFG_ASSERT_USE_RELATION_NAMES)
 
-#   if !defined(BOOST_MPL_CFG_ASSERT_BROKEN_POINTER_TO_POINTER_TO_MEMBER)
+#   if !defined(NDNBOOST_MPL_CFG_ASSERT_BROKEN_POINTER_TO_POINTER_TO_MEMBER)
 // agurt, 9/nov/06: 'enum' below is a workaround for gcc 4.0.4/4.1.1 bugs #29522 and #29518
-#   define BOOST_MPL_ASSERT_RELATION_IMPL(counter, x, rel, y)      \
-enum { BOOST_PP_CAT(mpl_assert_rel_value,counter) = (x rel y) }; \
-BOOST_MPL_AUX_ASSERT_CONSTANT( \
+#   define NDNBOOST_MPL_ASSERT_RELATION_IMPL(counter, x, rel, y)      \
+enum { NDNBOOST_PP_CAT(mpl_assert_rel_value,counter) = (x rel y) }; \
+NDNBOOST_MPL_AUX_ASSERT_CONSTANT( \
       std::size_t \
-    , BOOST_PP_CAT(mpl_assertion_in_line_,counter) = sizeof( \
-        ndnboost::mpl::assertion_failed<BOOST_PP_CAT(mpl_assert_rel_value,counter)>( \
+    , NDNBOOST_PP_CAT(mpl_assertion_in_line_,counter) = sizeof( \
+        ndnboost::mpl::assertion_failed<NDNBOOST_PP_CAT(mpl_assert_rel_value,counter)>( \
             (ndnboost::mpl::failed ************ ( ndnboost::mpl::assert_relation< \
                   ndnboost::mpl::assert_::relations( sizeof( \
                       ndnboost::mpl::assert_::arg rel ndnboost::mpl::assert_::arg \
@@ -341,20 +341,20 @@
     ) \
 /**/
 #   else
-#   define BOOST_MPL_ASSERT_RELATION_IMPL(counter, x, rel, y)    \
-BOOST_MPL_AUX_ASSERT_CONSTANT( \
+#   define NDNBOOST_MPL_ASSERT_RELATION_IMPL(counter, x, rel, y)    \
+NDNBOOST_MPL_AUX_ASSERT_CONSTANT( \
       std::size_t \
-    , BOOST_PP_CAT(mpl_assert_rel,counter) = sizeof( \
+    , NDNBOOST_PP_CAT(mpl_assert_rel,counter) = sizeof( \
           ndnboost::mpl::assert_::arg rel ndnboost::mpl::assert_::arg \
         ) \
     ); \
-BOOST_MPL_AUX_ASSERT_CONSTANT( bool, BOOST_PP_CAT(mpl_assert_rel_value,counter) = (x rel y) ); \
-BOOST_MPL_AUX_ASSERT_CONSTANT( \
+NDNBOOST_MPL_AUX_ASSERT_CONSTANT( bool, NDNBOOST_PP_CAT(mpl_assert_rel_value,counter) = (x rel y) ); \
+NDNBOOST_MPL_AUX_ASSERT_CONSTANT( \
       std::size_t \
-    , BOOST_PP_CAT(mpl_assertion_in_line_,counter) = sizeof( \
-        ndnboost::mpl::assertion_failed<BOOST_PP_CAT(mpl_assert_rel_value,counter)>( \
+    , NDNBOOST_PP_CAT(mpl_assertion_in_line_,counter) = sizeof( \
+        ndnboost::mpl::assertion_failed<NDNBOOST_PP_CAT(mpl_assert_rel_value,counter)>( \
               ndnboost::mpl::assert_rel_arg( ndnboost::mpl::assert_relation< \
-                  ndnboost::mpl::assert_::relations(BOOST_PP_CAT(mpl_assert_rel,counter)) \
+                  ndnboost::mpl::assert_::relations(NDNBOOST_PP_CAT(mpl_assert_rel,counter)) \
                 , x \
                 , y \
                 >() ) \
@@ -364,30 +364,30 @@
 /**/
 #   endif
 
-#   define BOOST_MPL_ASSERT_RELATION(x, rel, y) \
-BOOST_MPL_ASSERT_RELATION_IMPL(BOOST_MPL_AUX_PP_COUNTER(), x, rel, y) \
+#   define NDNBOOST_MPL_ASSERT_RELATION(x, rel, y) \
+NDNBOOST_MPL_ASSERT_RELATION_IMPL(NDNBOOST_MPL_AUX_PP_COUNTER(), x, rel, y) \
 /**/
 
-#else // !BOOST_MPL_CFG_ASSERT_USE_RELATION_NAMES
+#else // !NDNBOOST_MPL_CFG_ASSERT_USE_RELATION_NAMES
 
-#   if defined(BOOST_MPL_CFG_ASSERT_BROKEN_POINTER_TO_POINTER_TO_MEMBER)
-#   define BOOST_MPL_ASSERT_RELATION(x, rel, y) \
-BOOST_MPL_AUX_ASSERT_CONSTANT( \
+#   if defined(NDNBOOST_MPL_CFG_ASSERT_BROKEN_POINTER_TO_POINTER_TO_MEMBER)
+#   define NDNBOOST_MPL_ASSERT_RELATION(x, rel, y) \
+NDNBOOST_MPL_AUX_ASSERT_CONSTANT( \
       std::size_t \
-    , BOOST_PP_CAT(mpl_assertion_in_line_,BOOST_MPL_AUX_PP_COUNTER()) = sizeof( \
+    , NDNBOOST_PP_CAT(mpl_assertion_in_line_,NDNBOOST_MPL_AUX_PP_COUNTER()) = sizeof( \
         ndnboost::mpl::assertion_failed<(x rel y)>( ndnboost::mpl::assert_rel_arg( \
-              ndnboost::mpl::BOOST_MPL_AUX_ASSERT_RELATION(x,y,(&ndnboost::mpl::operator rel))() \
+              ndnboost::mpl::NDNBOOST_MPL_AUX_ASSERT_RELATION(x,y,(&ndnboost::mpl::operator rel))() \
             ) ) \
         ) \
     ) \
 /**/
 #   else
-#   define BOOST_MPL_ASSERT_RELATION(x, rel, y) \
-BOOST_MPL_AUX_ASSERT_CONSTANT( \
+#   define NDNBOOST_MPL_ASSERT_RELATION(x, rel, y) \
+NDNBOOST_MPL_AUX_ASSERT_CONSTANT( \
       std::size_t \
-    , BOOST_PP_CAT(mpl_assertion_in_line_,BOOST_MPL_AUX_PP_COUNTER()) = sizeof( \
+    , NDNBOOST_PP_CAT(mpl_assertion_in_line_,NDNBOOST_MPL_AUX_PP_COUNTER()) = sizeof( \
         ndnboost::mpl::assertion_failed<(x rel y)>( (ndnboost::mpl::failed ************ ( \
-            ndnboost::mpl::BOOST_MPL_AUX_ASSERT_RELATION(x,y,(&ndnboost::mpl::operator rel))::************))0 ) \
+            ndnboost::mpl::NDNBOOST_MPL_AUX_ASSERT_RELATION(x,y,(&ndnboost::mpl::operator rel))::************))0 ) \
         ) \
     ) \
 /**/
@@ -396,43 +396,43 @@
 #endif
 
 
-// BOOST_MPL_ASSERT_MSG( (pred<x,...>::value), USER_PROVIDED_MESSAGE, (types<x,...>) ) 
+// NDNBOOST_MPL_ASSERT_MSG( (pred<x,...>::value), USER_PROVIDED_MESSAGE, (types<x,...>) ) 
 
-#if BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3202))
-#   define BOOST_MPL_ASSERT_MSG_IMPL( counter, c, msg, types_ ) \
+#if NDNBOOST_WORKAROUND(__MWERKS__, NDNBOOST_TESTED_AT(0x3202))
+#   define NDNBOOST_MPL_ASSERT_MSG_IMPL( counter, c, msg, types_ ) \
 struct msg; \
-typedef struct BOOST_PP_CAT(msg,counter) : ndnboost::mpl::assert_ \
+typedef struct NDNBOOST_PP_CAT(msg,counter) : ndnboost::mpl::assert_ \
 { \
     using ndnboost::mpl::assert_::types; \
     static ndnboost::mpl::failed ************ (msg::************ assert_arg()) types_ \
     { return 0; } \
-} BOOST_PP_CAT(mpl_assert_arg,counter); \
-BOOST_MPL_AUX_ASSERT_CONSTANT( \
+} NDNBOOST_PP_CAT(mpl_assert_arg,counter); \
+NDNBOOST_MPL_AUX_ASSERT_CONSTANT( \
       std::size_t \
-    , BOOST_PP_CAT(mpl_assertion_in_line_,counter) = sizeof( \
-        ndnboost::mpl::assertion<(c)>::failed( BOOST_PP_CAT(mpl_assert_arg,counter)::assert_arg() ) \
+    , NDNBOOST_PP_CAT(mpl_assertion_in_line_,counter) = sizeof( \
+        ndnboost::mpl::assertion<(c)>::failed( NDNBOOST_PP_CAT(mpl_assert_arg,counter)::assert_arg() ) \
         ) \
     ) \
 /**/
 #else
-#   define BOOST_MPL_ASSERT_MSG_IMPL( counter, c, msg, types_ )  \
+#   define NDNBOOST_MPL_ASSERT_MSG_IMPL( counter, c, msg, types_ )  \
 struct msg; \
-typedef struct BOOST_PP_CAT(msg,counter) : ndnboost::mpl::assert_ \
+typedef struct NDNBOOST_PP_CAT(msg,counter) : ndnboost::mpl::assert_ \
 { \
     static ndnboost::mpl::failed ************ (msg::************ assert_arg()) types_ \
     { return 0; } \
-} BOOST_PP_CAT(mpl_assert_arg,counter); \
-BOOST_MPL_AUX_ASSERT_CONSTANT( \
+} NDNBOOST_PP_CAT(mpl_assert_arg,counter); \
+NDNBOOST_MPL_AUX_ASSERT_CONSTANT( \
       std::size_t \
-    , BOOST_PP_CAT(mpl_assertion_in_line_,counter) = sizeof( \
-        ndnboost::mpl::assertion_failed<(c)>( BOOST_PP_CAT(mpl_assert_arg,counter)::assert_arg() ) \
+    , NDNBOOST_PP_CAT(mpl_assertion_in_line_,counter) = sizeof( \
+        ndnboost::mpl::assertion_failed<(c)>( NDNBOOST_PP_CAT(mpl_assert_arg,counter)::assert_arg() ) \
         ) \
     ) \
 /**/
 #endif
 
-#define BOOST_MPL_ASSERT_MSG( c, msg, types_ ) \
-BOOST_MPL_ASSERT_MSG_IMPL( BOOST_MPL_AUX_PP_COUNTER(), c, msg, types_ ) \
+#define NDNBOOST_MPL_ASSERT_MSG( c, msg, types_ ) \
+NDNBOOST_MPL_ASSERT_MSG_IMPL( NDNBOOST_MPL_AUX_PP_COUNTER(), c, msg, types_ ) \
 /**/
 
-#endif // BOOST_MPL_ASSERT_HPP_INCLUDED
+#endif // NDNBOOST_MPL_ASSERT_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/at.hpp b/include/ndnboost/mpl/at.hpp
index e875e9d..c3d8968 100644
--- a/include/ndnboost/mpl/at.hpp
+++ b/include/ndnboost/mpl/at.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_AT_HPP_INCLUDED
-#define BOOST_MPL_AT_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_AT_HPP_INCLUDED
+#define NDNBOOST_MPL_AT_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -25,19 +25,19 @@
 namespace ndnboost { namespace mpl {
 
 template<
-      typename BOOST_MPL_AUX_NA_PARAM(Sequence)
-    , typename BOOST_MPL_AUX_NA_PARAM(N)
+      typename NDNBOOST_MPL_AUX_NA_PARAM(Sequence)
+    , typename NDNBOOST_MPL_AUX_NA_PARAM(N)
     >
 struct at
     : at_impl< typename sequence_tag<Sequence>::type >
         ::template apply< Sequence,N >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2,at,(Sequence,N))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2,at,(Sequence,N))
 };
 
 template<
       typename Sequence
-    , BOOST_MPL_AUX_NTTP_DECL(long, N)
+    , NDNBOOST_MPL_AUX_NTTP_DECL(long, N)
     >
 struct at_c
     : at_impl< typename sequence_tag<Sequence>::type >
@@ -45,8 +45,8 @@
 {
 };
 
-BOOST_MPL_AUX_NA_SPEC(2, at)
+NDNBOOST_MPL_AUX_NA_SPEC(2, at)
 
 }}
 
-#endif // BOOST_MPL_AT_HPP_INCLUDED
+#endif // NDNBOOST_MPL_AT_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/at_fwd.hpp b/include/ndnboost/mpl/at_fwd.hpp
index d391547..4a802e2 100644
--- a/include/ndnboost/mpl/at_fwd.hpp
+++ b/include/ndnboost/mpl/at_fwd.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_AT_FWD_HPP_INCLUDED
-#define BOOST_MPL_AT_FWD_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_AT_FWD_HPP_INCLUDED
+#define NDNBOOST_MPL_AT_FWD_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -21,4 +21,4 @@
 
 }}
 
-#endif // BOOST_MPL_AT_FWD_HPP_INCLUDED
+#endif // NDNBOOST_MPL_AT_FWD_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/aux_/O1_size_impl.hpp b/include/ndnboost/mpl/aux_/O1_size_impl.hpp
index 2b2cf08..75da92c 100644
--- a/include/ndnboost/mpl/aux_/O1_size_impl.hpp
+++ b/include/ndnboost/mpl/aux_/O1_size_impl.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_O1_SIZE_IMPL_HPP_INCLUDED
-#define BOOST_MPL_O1_SIZE_IMPL_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_O1_SIZE_IMPL_HPP_INCLUDED
+#define NDNBOOST_MPL_O1_SIZE_IMPL_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -29,8 +29,8 @@
 // member, and -1 otherwise; conrete sequences might override it by 
 // specializing either the 'O1_size_impl' or the primary 'O1_size' template
 
-#   if !BOOST_WORKAROUND(BOOST_MSVC, < 1300) \
-    && !BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3003))
+#   if !NDNBOOST_WORKAROUND(NDNBOOST_MSVC, < 1300) \
+    && !NDNBOOST_WORKAROUND(__MWERKS__, NDNBOOST_TESTED_AT(0x3003))
 
 namespace aux {
 template< typename Sequence > struct O1_size_impl
@@ -43,7 +43,7 @@
 struct O1_size_impl
 {
     template< typename Sequence > struct apply
-#if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING)
+#if !defined(NDNBOOST_MPL_CFG_NO_NESTED_FORWARDING)
         : if_<
               aux::has_size<Sequence>
             , aux::O1_size_impl<Sequence>
@@ -58,7 +58,7 @@
             , long_<-1>
             >::type type;
 
-        BOOST_STATIC_CONSTANT(long, value =
+        NDNBOOST_STATIC_CONSTANT(long, value =
               (if_<
                   aux::has_size<Sequence>
                 , aux::O1_size_impl<Sequence>
@@ -69,7 +69,7 @@
     };
 };
 
-#   else // BOOST_MSVC
+#   else // NDNBOOST_MSVC
 
 template< typename Tag >
 struct O1_size_impl
@@ -84,4 +84,4 @@
 
 }}
 
-#endif // BOOST_MPL_O1_SIZE_IMPL_HPP_INCLUDED
+#endif // NDNBOOST_MPL_O1_SIZE_IMPL_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/aux_/adl_barrier.hpp b/include/ndnboost/mpl/aux_/adl_barrier.hpp
index cb25ebc..70ad2f7 100644
--- a/include/ndnboost/mpl/aux_/adl_barrier.hpp
+++ b/include/ndnboost/mpl/aux_/adl_barrier.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_AUX_ADL_BARRIER_HPP_INCLUDED
-#define BOOST_MPL_AUX_ADL_BARRIER_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_AUX_ADL_BARRIER_HPP_INCLUDED
+#define NDNBOOST_MPL_AUX_ADL_BARRIER_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2002-2004
 //
@@ -18,31 +18,31 @@
 #include <ndnboost/mpl/aux_/config/gcc.hpp>
 #include <ndnboost/mpl/aux_/config/workaround.hpp>
 
-#if !defined(BOOST_MPL_CFG_NO_ADL_BARRIER_NAMESPACE)
+#if !defined(NDNBOOST_MPL_CFG_NO_ADL_BARRIER_NAMESPACE)
 
-#   define BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE mpl_
-#   define BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN namespace mpl_ {
-#   define BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE }
-#   define BOOST_MPL_AUX_ADL_BARRIER_DECL(type) \
+#   define NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE mpl_
+#   define NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN namespace mpl_ {
+#   define NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE }
+#   define NDNBOOST_MPL_AUX_ADL_BARRIER_DECL(type) \
     namespace ndnboost { namespace mpl { \
-    using ::BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::type; \
+    using ::NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::type; \
     } } \
 /**/
 
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-namespace BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE { namespace aux {} }
-namespace ndnboost { namespace mpl { using namespace BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE; 
-namespace aux { using namespace BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::aux; }
+#if !defined(NDNBOOST_MPL_PREPROCESSING_MODE)
+namespace NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE { namespace aux {} }
+namespace ndnboost { namespace mpl { using namespace NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE; 
+namespace aux { using namespace NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::aux; }
 }}
 #endif
 
-#else // BOOST_MPL_CFG_NO_ADL_BARRIER_NAMESPACE
+#else // NDNBOOST_MPL_CFG_NO_ADL_BARRIER_NAMESPACE
 
-#   define BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE ndnboost::mpl
-#   define BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN namespace ndnboost { namespace mpl {
-#   define BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE }}
-#   define BOOST_MPL_AUX_ADL_BARRIER_DECL(type) /**/
+#   define NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE ndnboost::mpl
+#   define NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN namespace ndnboost { namespace mpl {
+#   define NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE }}
+#   define NDNBOOST_MPL_AUX_ADL_BARRIER_DECL(type) /**/
 
 #endif
 
-#endif // BOOST_MPL_AUX_ADL_BARRIER_HPP_INCLUDED
+#endif // NDNBOOST_MPL_AUX_ADL_BARRIER_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/aux_/advance_backward.hpp b/include/ndnboost/mpl/aux_/advance_backward.hpp
index 123df81..9e629f0 100644
--- a/include/ndnboost/mpl/aux_/advance_backward.hpp
+++ b/include/ndnboost/mpl/aux_/advance_backward.hpp
@@ -1,10 +1,10 @@
 
-#if !defined(BOOST_PP_IS_ITERATING)
+#if !defined(NDNBOOST_PP_IS_ITERATING)
 
 ///// header body
 
-#ifndef BOOST_MPL_AUX778076_ADVANCE_BACKWARD_HPP_INCLUDED
-#define BOOST_MPL_AUX778076_ADVANCE_BACKWARD_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_AUX778076_ADVANCE_BACKWARD_HPP_INCLUDED
+#define NDNBOOST_MPL_AUX778076_ADVANCE_BACKWARD_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -18,17 +18,17 @@
 // $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
 // $Revision: 49267 $
 
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
+#if !defined(NDNBOOST_MPL_PREPROCESSING_MODE)
 #   include <ndnboost/mpl/prior.hpp>
 #   include <ndnboost/mpl/apply_wrap.hpp>
 #endif
 
 #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 advance_backward.hpp
+#   define NDNBOOST_MPL_PREPROCESSED_HEADER advance_backward.hpp
 #   include <ndnboost/mpl/aux_/include_preprocessed.hpp>
 
 #else
@@ -44,28 +44,28 @@
 namespace ndnboost { namespace mpl { namespace aux {
 
 // forward declaration
-template< BOOST_MPL_AUX_NTTP_DECL(long, N) > struct advance_backward;
+template< NDNBOOST_MPL_AUX_NTTP_DECL(long, N) > struct advance_backward;
 
-#   define BOOST_PP_ITERATION_PARAMS_1 \
-    (3,(0, BOOST_MPL_LIMIT_UNROLLING, <ndnboost/mpl/aux_/advance_backward.hpp>))
-#   include BOOST_PP_ITERATE()
+#   define NDNBOOST_PP_ITERATION_PARAMS_1 \
+    (3,(0, NDNBOOST_MPL_LIMIT_UNROLLING, <ndnboost/mpl/aux_/advance_backward.hpp>))
+#   include NDNBOOST_PP_ITERATE()
 
-// implementation for N that exceeds BOOST_MPL_LIMIT_UNROLLING
-template< BOOST_MPL_AUX_NTTP_DECL(long, N) >
+// implementation for N that exceeds NDNBOOST_MPL_LIMIT_UNROLLING
+template< NDNBOOST_MPL_AUX_NTTP_DECL(long, N) >
 struct advance_backward
 {
     template< typename Iterator > struct apply
     {
         typedef typename apply_wrap1<
-              advance_backward<BOOST_MPL_LIMIT_UNROLLING>
+              advance_backward<NDNBOOST_MPL_LIMIT_UNROLLING>
             , Iterator
             >::type chunk_result_;
 
         typedef typename apply_wrap1<
               advance_backward<(
-                (N - BOOST_MPL_LIMIT_UNROLLING) < 0
+                (N - NDNBOOST_MPL_LIMIT_UNROLLING) < 0
                     ? 0
-                    : N - BOOST_MPL_LIMIT_UNROLLING
+                    : N - NDNBOOST_MPL_LIMIT_UNROLLING
                     )>
             , chunk_result_
             >::type type;
@@ -74,34 +74,34 @@
 
 }}}
 
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-#endif // BOOST_MPL_AUX778076_ADVANCE_BACKWARD_HPP_INCLUDED
+#endif // NDNBOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
+#endif // NDNBOOST_MPL_AUX778076_ADVANCE_BACKWARD_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
-#define i_ BOOST_PP_FRAME_ITERATION(1)
+// NDNBOOST_PP_ITERATION_DEPTH test inside an #else clause.
+#else // NDNBOOST_PP_IS_ITERATING
+#if NDNBOOST_PP_ITERATION_DEPTH() == 1
+#define i_ NDNBOOST_PP_FRAME_ITERATION(1)
 
 template<>
-struct advance_backward< BOOST_PP_FRAME_ITERATION(1) >
+struct advance_backward< NDNBOOST_PP_FRAME_ITERATION(1) >
 {
     template< typename Iterator > struct apply
     {
         typedef Iterator iter0;
 
 #if i_ > 0
-#   define BOOST_PP_ITERATION_PARAMS_2 \
-    (3,(1, BOOST_PP_FRAME_ITERATION(1), <ndnboost/mpl/aux_/advance_backward.hpp>))
-#   include BOOST_PP_ITERATE()
+#   define NDNBOOST_PP_ITERATION_PARAMS_2 \
+    (3,(1, NDNBOOST_PP_FRAME_ITERATION(1), <ndnboost/mpl/aux_/advance_backward.hpp>))
+#   include NDNBOOST_PP_ITERATE()
 #endif
 
-        typedef BOOST_PP_CAT(iter,BOOST_PP_FRAME_ITERATION(1)) type;
+        typedef NDNBOOST_PP_CAT(iter,NDNBOOST_PP_FRAME_ITERATION(1)) type;
     };
 
-#if defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG)
+#if defined(NDNBOOST_MPL_CFG_MSVC_60_ETI_BUG)
     /// ETI workaround
     template<> struct apply<int>
     {
@@ -114,15 +114,15 @@
 
 ///// iteration, depth == 2
 
-#elif BOOST_PP_ITERATION_DEPTH() == 2
+#elif NDNBOOST_PP_ITERATION_DEPTH() == 2
 
-#   define AUX778076_ITER_0 BOOST_PP_CAT(iter,BOOST_PP_DEC(BOOST_PP_FRAME_ITERATION(2)))
-#   define AUX778076_ITER_1 BOOST_PP_CAT(iter,BOOST_PP_FRAME_ITERATION(2))
+#   define AUX778076_ITER_0 NDNBOOST_PP_CAT(iter,NDNBOOST_PP_DEC(NDNBOOST_PP_FRAME_ITERATION(2)))
+#   define AUX778076_ITER_1 NDNBOOST_PP_CAT(iter,NDNBOOST_PP_FRAME_ITERATION(2))
 
         typedef typename prior<AUX778076_ITER_0>::type AUX778076_ITER_1;
         
 #   undef AUX778076_ITER_1
 #   undef AUX778076_ITER_0
 
-#endif // BOOST_PP_ITERATION_DEPTH()
-#endif // BOOST_PP_IS_ITERATING
+#endif // NDNBOOST_PP_ITERATION_DEPTH()
+#endif // NDNBOOST_PP_IS_ITERATING
diff --git a/include/ndnboost/mpl/aux_/advance_forward.hpp b/include/ndnboost/mpl/aux_/advance_forward.hpp
index 5561c26..a91a26a 100644
--- a/include/ndnboost/mpl/aux_/advance_forward.hpp
+++ b/include/ndnboost/mpl/aux_/advance_forward.hpp
@@ -1,10 +1,10 @@
 
-#if !defined(BOOST_PP_IS_ITERATING)
+#if !defined(NDNBOOST_PP_IS_ITERATING)
 
 ///// header body
 
-#ifndef BOOST_MPL_AUX_ADVANCE_FORWARD_HPP_INCLUDED
-#define BOOST_MPL_AUX_ADVANCE_FORWARD_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_AUX_ADVANCE_FORWARD_HPP_INCLUDED
+#define NDNBOOST_MPL_AUX_ADVANCE_FORWARD_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -18,17 +18,17 @@
 // $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
 // $Revision: 49267 $
 
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
+#if !defined(NDNBOOST_MPL_PREPROCESSING_MODE)
 #   include <ndnboost/mpl/next.hpp>
 #   include <ndnboost/mpl/apply_wrap.hpp>
 #endif
 
 #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 advance_forward.hpp
+#   define NDNBOOST_MPL_PREPROCESSED_HEADER advance_forward.hpp
 #   include <ndnboost/mpl/aux_/include_preprocessed.hpp>
 
 #else
@@ -44,28 +44,28 @@
 namespace ndnboost { namespace mpl { namespace aux {
 
 // forward declaration
-template< BOOST_MPL_AUX_NTTP_DECL(long, N) > struct advance_forward;
+template< NDNBOOST_MPL_AUX_NTTP_DECL(long, N) > struct advance_forward;
 
-#   define BOOST_PP_ITERATION_PARAMS_1 \
-    (3,(0, BOOST_MPL_LIMIT_UNROLLING, <ndnboost/mpl/aux_/advance_forward.hpp>))
-#   include BOOST_PP_ITERATE()
+#   define NDNBOOST_PP_ITERATION_PARAMS_1 \
+    (3,(0, NDNBOOST_MPL_LIMIT_UNROLLING, <ndnboost/mpl/aux_/advance_forward.hpp>))
+#   include NDNBOOST_PP_ITERATE()
 
-// implementation for N that exceeds BOOST_MPL_LIMIT_UNROLLING
-template< BOOST_MPL_AUX_NTTP_DECL(long, N) > 
+// implementation for N that exceeds NDNBOOST_MPL_LIMIT_UNROLLING
+template< NDNBOOST_MPL_AUX_NTTP_DECL(long, N) > 
 struct advance_forward
 {
     template< typename Iterator > struct apply
     {
         typedef typename apply_wrap1<
-              advance_forward<BOOST_MPL_LIMIT_UNROLLING>
+              advance_forward<NDNBOOST_MPL_LIMIT_UNROLLING>
             , Iterator
             >::type chunk_result_;
 
         typedef typename apply_wrap1<
               advance_forward<(
-                (N - BOOST_MPL_LIMIT_UNROLLING) < 0
+                (N - NDNBOOST_MPL_LIMIT_UNROLLING) < 0
                     ? 0
-                    : N - BOOST_MPL_LIMIT_UNROLLING
+                    : N - NDNBOOST_MPL_LIMIT_UNROLLING
                     )>
             , chunk_result_
             >::type type;
@@ -74,33 +74,33 @@
 
 }}}
 
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-#endif // BOOST_MPL_AUX_ADVANCE_FORWARD_HPP_INCLUDED
+#endif // NDNBOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
+#endif // NDNBOOST_MPL_AUX_ADVANCE_FORWARD_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
-#define i_ BOOST_PP_FRAME_ITERATION(1)
+// NDNBOOST_PP_ITERATION_DEPTH test inside an #else clause.
+#else // NDNBOOST_PP_IS_ITERATING
+#if NDNBOOST_PP_ITERATION_DEPTH() == 1
+#define i_ NDNBOOST_PP_FRAME_ITERATION(1)
 
 template<>
-struct advance_forward< BOOST_PP_FRAME_ITERATION(1) >
+struct advance_forward< NDNBOOST_PP_FRAME_ITERATION(1) >
 {
     template< typename Iterator > struct apply
     {
         typedef Iterator iter0;
 
 #if i_ > 0
-#   define BOOST_PP_ITERATION_PARAMS_2 \
+#   define NDNBOOST_PP_ITERATION_PARAMS_2 \
     (3,(1, i_, <ndnboost/mpl/aux_/advance_forward.hpp>))
-#   include BOOST_PP_ITERATE()
+#   include NDNBOOST_PP_ITERATE()
 #endif
-        typedef BOOST_PP_CAT(iter,i_) type;
+        typedef NDNBOOST_PP_CAT(iter,i_) type;
     };
 
-#if defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG)
+#if defined(NDNBOOST_MPL_CFG_MSVC_60_ETI_BUG)
     /// ETI workaround
     template<> struct apply<int>
     {
@@ -113,15 +113,15 @@
 
 ///// iteration, depth == 2
 
-#elif BOOST_PP_ITERATION_DEPTH() == 2
+#elif NDNBOOST_PP_ITERATION_DEPTH() == 2
 
-#   define AUX778076_ITER_0 BOOST_PP_CAT(iter,BOOST_PP_DEC(BOOST_PP_FRAME_ITERATION(2)))
-#   define AUX778076_ITER_1 BOOST_PP_CAT(iter,BOOST_PP_FRAME_ITERATION(2))
+#   define AUX778076_ITER_0 NDNBOOST_PP_CAT(iter,NDNBOOST_PP_DEC(NDNBOOST_PP_FRAME_ITERATION(2)))
+#   define AUX778076_ITER_1 NDNBOOST_PP_CAT(iter,NDNBOOST_PP_FRAME_ITERATION(2))
 
         typedef typename next<AUX778076_ITER_0>::type AUX778076_ITER_1;
         
 #   undef AUX778076_ITER_1
 #   undef AUX778076_ITER_0
 
-#endif // BOOST_PP_ITERATION_DEPTH()
-#endif // BOOST_PP_IS_ITERATING
+#endif // NDNBOOST_PP_ITERATION_DEPTH()
+#endif // NDNBOOST_PP_IS_ITERATING
diff --git a/include/ndnboost/mpl/aux_/arg_typedef.hpp b/include/ndnboost/mpl/aux_/arg_typedef.hpp
index 797842e..9d9a94d 100644
--- a/include/ndnboost/mpl/aux_/arg_typedef.hpp
+++ b/include/ndnboost/mpl/aux_/arg_typedef.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_AUX_ARG_TYPEDEF_HPP_INCLUDED
-#define BOOST_MPL_AUX_ARG_TYPEDEF_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_AUX_ARG_TYPEDEF_HPP_INCLUDED
+#define NDNBOOST_MPL_AUX_ARG_TYPEDEF_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2001-2004
 //
@@ -17,15 +17,15 @@
 #include <ndnboost/mpl/aux_/config/lambda.hpp>
 #include <ndnboost/mpl/aux_/config/workaround.hpp>
 
-#if defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT) \
-    || BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840))
+#if defined(NDNBOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT) \
+    || NDNBOOST_WORKAROUND(__DMC__, NDNBOOST_TESTED_AT(0x840))
     
-#   define BOOST_MPL_AUX_ARG_TYPEDEF(T, name) typedef T name;
+#   define NDNBOOST_MPL_AUX_ARG_TYPEDEF(T, name) typedef T name;
 
 #else
 
-#   define BOOST_MPL_AUX_ARG_TYPEDEF(T, name) /**/
+#   define NDNBOOST_MPL_AUX_ARG_TYPEDEF(T, name) /**/
 
 #endif
 
-#endif // BOOST_MPL_AUX_ARG_TYPEDEF_HPP_INCLUDED
+#endif // NDNBOOST_MPL_AUX_ARG_TYPEDEF_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/aux_/arithmetic_op.hpp b/include/ndnboost/mpl/aux_/arithmetic_op.hpp
index 58f2568..117d3ab 100644
--- a/include/ndnboost/mpl/aux_/arithmetic_op.hpp
+++ b/include/ndnboost/mpl/aux_/arithmetic_op.hpp
@@ -13,7 +13,7 @@
 // $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
 // $Revision: 49267 $
 
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
+#if !defined(NDNBOOST_MPL_PREPROCESSING_MODE)
 #   include <ndnboost/mpl/integral_c.hpp>
 #   include <ndnboost/mpl/aux_/largest_int.hpp>
 #   include <ndnboost/mpl/aux_/value_wknd.hpp>
@@ -27,10 +27,10 @@
 #include <ndnboost/mpl/aux_/config/static_constant.hpp>
 #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 AUX778076_OP_PREFIX.hpp
+#   define NDNBOOST_MPL_PREPROCESSED_HEADER AUX778076_OP_PREFIX.hpp
 #   include <ndnboost/mpl/aux_/include_preprocessed.hpp>
 
 #else
@@ -41,12 +41,12 @@
 
 namespace ndnboost { namespace mpl {
 
-#if defined(BOOST_MPL_CFG_NO_NESTED_VALUE_ARITHMETIC)
+#if defined(NDNBOOST_MPL_CFG_NO_NESTED_VALUE_ARITHMETIC)
 namespace aux {
 template< typename T, T n1, T n2 >
-struct BOOST_PP_CAT(AUX778076_OP_PREFIX,_wknd)
+struct NDNBOOST_PP_CAT(AUX778076_OP_PREFIX,_wknd)
 {
-    BOOST_STATIC_CONSTANT(T, value = (n1 AUX778076_OP_TOKEN n2));
+    NDNBOOST_STATIC_CONSTANT(T, value = (n1 AUX778076_OP_TOKEN n2));
     typedef integral_c<T,value> type;
 };
 }
@@ -56,18 +56,18 @@
 struct AUX778076_OP_IMPL_NAME<integral_c_tag,integral_c_tag>
 {
     template< typename N1, typename N2 > struct apply
-#if !defined(BOOST_MPL_CFG_NO_NESTED_VALUE_ARITHMETIC)
+#if !defined(NDNBOOST_MPL_CFG_NO_NESTED_VALUE_ARITHMETIC)
         : integral_c<
               typename aux::largest_int<
                   typename N1::value_type
                 , typename N2::value_type
                 >::type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
-                  AUX778076_OP_TOKEN BOOST_MPL_AUX_VALUE_WKND(N2)::value
+            , ( NDNBOOST_MPL_AUX_VALUE_WKND(N1)::value
+                  AUX778076_OP_TOKEN NDNBOOST_MPL_AUX_VALUE_WKND(N2)::value
                 )
             >
 #else
-        : aux::BOOST_PP_CAT(AUX778076_OP_PREFIX,_wknd)<
+        : aux::NDNBOOST_PP_CAT(AUX778076_OP_PREFIX,_wknd)<
               typename aux::largest_int<
                   typename N1::value_type
                 , typename N2::value_type
@@ -82,7 +82,7 @@
 
 }}
 
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
+#endif // NDNBOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
 
 #undef AUX778076_OP_TAG_NAME
 #undef AUX778076_OP_IMPL_NAME
diff --git a/include/ndnboost/mpl/aux_/arity.hpp b/include/ndnboost/mpl/aux_/arity.hpp
index 68c708e..a28f564 100644
--- a/include/ndnboost/mpl/aux_/arity.hpp
+++ b/include/ndnboost/mpl/aux_/arity.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_AUX_ARITY_HPP_INCLUDED
-#define BOOST_MPL_AUX_ARITY_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_AUX_ARITY_HPP_INCLUDED
+#define NDNBOOST_MPL_AUX_ARITY_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2001-2004
 //
@@ -16,7 +16,7 @@
 
 #include <ndnboost/mpl/aux_/config/dtp.hpp>
 
-#if defined(BOOST_MPL_CFG_BROKEN_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES)
+#if defined(NDNBOOST_MPL_CFG_BROKEN_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES)
 
 #   include <ndnboost/mpl/aux_/nttp_decl.hpp>
 #   include <ndnboost/mpl/aux_/config/static_constant.hpp>
@@ -26,14 +26,14 @@
 // agurt, 15/mar/02: it's possible to implement the template so that it will 
 // "just work" and do not require any specialization, but not on the compilers
 // that require the arity workaround in the first place
-template< typename F, BOOST_MPL_AUX_NTTP_DECL(int, N) >
+template< typename F, NDNBOOST_MPL_AUX_NTTP_DECL(int, N) >
 struct arity
 {
-    BOOST_STATIC_CONSTANT(int, value = N);
+    NDNBOOST_STATIC_CONSTANT(int, value = N);
 };
 
 }}}
 
-#endif // BOOST_MPL_CFG_BROKEN_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES
+#endif // NDNBOOST_MPL_CFG_BROKEN_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES
 
-#endif // BOOST_MPL_AUX_ARITY_HPP_INCLUDED
+#endif // NDNBOOST_MPL_AUX_ARITY_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/aux_/arity_spec.hpp b/include/ndnboost/mpl/aux_/arity_spec.hpp
index 29c10ba..f10ee11 100644
--- a/include/ndnboost/mpl/aux_/arity_spec.hpp
+++ b/include/ndnboost/mpl/aux_/arity_spec.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_AUX_ARITY_SPEC_HPP_INCLUDED
-#define BOOST_MPL_AUX_ARITY_SPEC_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_AUX_ARITY_SPEC_HPP_INCLUDED
+#define NDNBOOST_MPL_AUX_ARITY_SPEC_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2001-2004
 //
@@ -24,44 +24,44 @@
 #include <ndnboost/mpl/aux_/config/lambda.hpp>
 #include <ndnboost/mpl/aux_/config/static_constant.hpp>
 
-#if defined(BOOST_MPL_CFG_BROKEN_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES)
-#   define BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(i,type,name) \
+#if defined(NDNBOOST_MPL_CFG_BROKEN_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES)
+#   define NDNBOOST_MPL_AUX_NONTYPE_ARITY_SPEC(i,type,name) \
 namespace aux { \
-template< BOOST_MPL_AUX_NTTP_DECL(int, N), BOOST_MPL_PP_PARAMS(i,type T) > \
+template< NDNBOOST_MPL_AUX_NTTP_DECL(int, N), NDNBOOST_MPL_PP_PARAMS(i,type T) > \
 struct arity< \
-      name< BOOST_MPL_PP_PARAMS(i,T) > \
+      name< NDNBOOST_MPL_PP_PARAMS(i,T) > \
     , N \
     > \
 { \
-    BOOST_STATIC_CONSTANT(int \
-        , value = BOOST_MPL_LIMIT_METAFUNCTION_ARITY \
+    NDNBOOST_STATIC_CONSTANT(int \
+        , value = NDNBOOST_MPL_LIMIT_METAFUNCTION_ARITY \
         ); \
 }; \
 } \
 /**/
 #else
-#   define BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(i,type,name) /**/
+#   define NDNBOOST_MPL_AUX_NONTYPE_ARITY_SPEC(i,type,name) /**/
 #endif
 
-#   define BOOST_MPL_AUX_ARITY_SPEC(i,name) \
-    BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(i,typename,name) \
+#   define NDNBOOST_MPL_AUX_ARITY_SPEC(i,name) \
+    NDNBOOST_MPL_AUX_NONTYPE_ARITY_SPEC(i,typename,name) \
 /**/
 
 
-#if defined(BOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING) \
-    && !defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT)
-#   define BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(i, name) \
+#if defined(NDNBOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING) \
+    && !defined(NDNBOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT)
+#   define NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(i, name) \
 namespace aux { \
-template< BOOST_MPL_PP_PARAMS(i,typename T) > \
-struct template_arity< name<BOOST_MPL_PP_PARAMS(i,T)> > \
+template< NDNBOOST_MPL_PP_PARAMS(i,typename T) > \
+struct template_arity< name<NDNBOOST_MPL_PP_PARAMS(i,T)> > \
     : int_<i> \
 { \
 }; \
 } \
 /**/
 #else
-#   define BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(i, name) /**/
+#   define NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(i, name) /**/
 #endif
 
 
-#endif // BOOST_MPL_AUX_ARITY_SPEC_HPP_INCLUDED
+#endif // NDNBOOST_MPL_AUX_ARITY_SPEC_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/aux_/at_impl.hpp b/include/ndnboost/mpl/aux_/at_impl.hpp
index 5d2f235..2028731 100644
--- a/include/ndnboost/mpl/aux_/at_impl.hpp
+++ b/include/ndnboost/mpl/aux_/at_impl.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_AUX_AT_IMPL_HPP_INCLUDED
-#define BOOST_MPL_AUX_AT_IMPL_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_AUX_AT_IMPL_HPP_INCLUDED
+#define NDNBOOST_MPL_AUX_AT_IMPL_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -38,8 +38,8 @@
     };
 };
 
-BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(2, at_impl)
+NDNBOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(2, at_impl)
 
 }}
 
-#endif // BOOST_MPL_AUX_AT_IMPL_HPP_INCLUDED
+#endif // NDNBOOST_MPL_AUX_AT_IMPL_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/aux_/begin_end_impl.hpp b/include/ndnboost/mpl/aux_/begin_end_impl.hpp
index e57ef71..ee567ac 100644
--- a/include/ndnboost/mpl/aux_/begin_end_impl.hpp
+++ b/include/ndnboost/mpl/aux_/begin_end_impl.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_AUX_BEGIN_END_IMPL_HPP_INCLUDED
-#define BOOST_MPL_AUX_BEGIN_END_IMPL_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_AUX_BEGIN_END_IMPL_HPP_INCLUDED
+#define NDNBOOST_MPL_AUX_BEGIN_END_IMPL_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -93,9 +93,9 @@
 #   undef AUX778076_IMPL_SPEC
 
 
-BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC_IMPL(1,begin_impl)
-BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC_IMPL(1,end_impl)
+NDNBOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC_IMPL(1,begin_impl)
+NDNBOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC_IMPL(1,end_impl)
 
 }}
 
-#endif // BOOST_MPL_AUX_BEGIN_END_IMPL_HPP_INCLUDED
+#endif // NDNBOOST_MPL_AUX_BEGIN_END_IMPL_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/aux_/clear_impl.hpp b/include/ndnboost/mpl/aux_/clear_impl.hpp
index f55dfa3..0ae5568 100644
--- a/include/ndnboost/mpl/aux_/clear_impl.hpp
+++ b/include/ndnboost/mpl/aux_/clear_impl.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_AUX_CLEAR_IMPL_HPP_INCLUDED
-#define BOOST_MPL_AUX_CLEAR_IMPL_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_AUX_CLEAR_IMPL_HPP_INCLUDED
+#define NDNBOOST_MPL_AUX_CLEAR_IMPL_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -28,8 +28,8 @@
     template< typename Sequence > struct apply;
 };
 
-BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(1, clear_impl)
+NDNBOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(1, clear_impl)
 
 }}
 
-#endif // BOOST_MPL_AUX_CLEAR_IMPL_HPP_INCLUDED
+#endif // NDNBOOST_MPL_AUX_CLEAR_IMPL_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/aux_/common_name_wknd.hpp b/include/ndnboost/mpl/aux_/common_name_wknd.hpp
index 4d7c128..454a71a 100644
--- a/include/ndnboost/mpl/aux_/common_name_wknd.hpp
+++ b/include/ndnboost/mpl/aux_/common_name_wknd.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_AUX_COMMON_NAME_WKND_HPP_INCLUDED
-#define BOOST_MPL_AUX_COMMON_NAME_WKND_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_AUX_COMMON_NAME_WKND_HPP_INCLUDED
+#define NDNBOOST_MPL_AUX_COMMON_NAME_WKND_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2002-2004
 //
@@ -16,10 +16,10 @@
 
 #include <ndnboost/mpl/aux_/config/workaround.hpp>
 
-#if BOOST_WORKAROUND(__BORLANDC__, < 0x561)
+#if NDNBOOST_WORKAROUND(__BORLANDC__, < 0x561)
 // agurt, 12/nov/02: to suppress the bogus "Cannot have both a template class 
 // and function named 'xxx'" diagnostic
-#   define BOOST_MPL_AUX_COMMON_NAME_WKND(name) \
+#   define NDNBOOST_MPL_AUX_COMMON_NAME_WKND(name) \
 namespace name_##wknd { \
 template< typename > void name(); \
 } \
@@ -27,8 +27,8 @@
 
 #else
 
-#   define BOOST_MPL_AUX_COMMON_NAME_WKND(name) /**/
+#   define NDNBOOST_MPL_AUX_COMMON_NAME_WKND(name) /**/
 
 #endif // __BORLANDC__
 
-#endif // BOOST_MPL_AUX_COMMON_NAME_WKND_HPP_INCLUDED
+#endif // NDNBOOST_MPL_AUX_COMMON_NAME_WKND_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/aux_/comparison_op.hpp b/include/ndnboost/mpl/aux_/comparison_op.hpp
index 3082724..3bed6a4 100644
--- a/include/ndnboost/mpl/aux_/comparison_op.hpp
+++ b/include/ndnboost/mpl/aux_/comparison_op.hpp
@@ -13,7 +13,7 @@
 // $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
 // $Revision: 49267 $
 
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
+#if !defined(NDNBOOST_MPL_PREPROCESSING_MODE)
 #   include <ndnboost/mpl/bool.hpp>
 #   include <ndnboost/mpl/aux_/value_wknd.hpp>
 #endif
@@ -28,10 +28,10 @@
 #include <ndnboost/mpl/aux_/config/static_constant.hpp>
 #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 AUX778076_OP_PREFIX.hpp
+#   define NDNBOOST_MPL_PREPROCESSED_HEADER AUX778076_OP_PREFIX.hpp
 #   include <ndnboost/mpl/aux_/include_preprocessed.hpp>
 
 #else
@@ -44,12 +44,12 @@
 // MSVC workaround: implement less in terms of greater
 #if 0 AUX778076_OP_TOKEN 1 && !(1 AUX778076_OP_TOKEN 0) && !(0 AUX778076_OP_TOKEN 0)
 #   define AUX778076_OP(N1, N2) \
-    ( BOOST_MPL_AUX_VALUE_WKND(N2)::value > BOOST_MPL_AUX_VALUE_WKND(N1)::value ) \
+    ( NDNBOOST_MPL_AUX_VALUE_WKND(N2)::value > NDNBOOST_MPL_AUX_VALUE_WKND(N1)::value ) \
 /**/
 #else
 #   define AUX778076_OP(N1, N2) \
-    ( BOOST_MPL_AUX_VALUE_WKND(N1)::value \
-          AUX778076_OP_TOKEN BOOST_MPL_AUX_VALUE_WKND(N2)::value \
+    ( NDNBOOST_MPL_AUX_VALUE_WKND(N1)::value \
+          AUX778076_OP_TOKEN NDNBOOST_MPL_AUX_VALUE_WKND(N2)::value \
         ) \
 /**/
 #endif
@@ -58,12 +58,12 @@
 struct AUX778076_OP_IMPL_NAME<integral_c_tag,integral_c_tag>
 {
     template< typename N1, typename N2 > struct apply
-#if !defined(BOOST_MPL_CFG_NO_NESTED_VALUE_ARITHMETIC)
+#if !defined(NDNBOOST_MPL_CFG_NO_NESTED_VALUE_ARITHMETIC)
         : bool_< AUX778076_OP(N1, N2) >
     {
 #else
     {
-        BOOST_STATIC_CONSTANT(bool, value = AUX778076_OP(N1, N2));
+        NDNBOOST_STATIC_CONSTANT(bool, value = AUX778076_OP(N1, N2));
         typedef bool_<value> type;
 #endif
     };
@@ -73,7 +73,7 @@
 
 }}
 
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
+#endif // NDNBOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
 
 #undef AUX778076_OP_TAG_NAME
 #undef AUX778076_OP_IMPL_NAME
diff --git a/include/ndnboost/mpl/aux_/config/adl.hpp b/include/ndnboost/mpl/aux_/config/adl.hpp
index 5257305..b5794d4 100644
--- a/include/ndnboost/mpl/aux_/config/adl.hpp
+++ b/include/ndnboost/mpl/aux_/config/adl.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_AUX_CONFIG_ADL_HPP_INCLUDED
-#define BOOST_MPL_AUX_CONFIG_ADL_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_AUX_CONFIG_ADL_HPP_INCLUDED
+#define NDNBOOST_MPL_AUX_CONFIG_ADL_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2002-2004
 //
@@ -25,16 +25,16 @@
 // of template instantiation symbols, so we apply the workaround on all 
 // platforms that can handle it
 
-#if !defined(BOOST_MPL_CFG_NO_ADL_BARRIER_NAMESPACE) \
-    && (   BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1400)) \
-        || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) \
-        || BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840)) \
-        || BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3202)) \
-        || BOOST_WORKAROUND(BOOST_INTEL_CXX_VERSION, BOOST_TESTED_AT(810)) \
+#if !defined(NDNBOOST_MPL_CFG_NO_ADL_BARRIER_NAMESPACE) \
+    && (   NDNBOOST_WORKAROUND(NDNBOOST_MSVC, NDNBOOST_TESTED_AT(1400)) \
+        || NDNBOOST_WORKAROUND(__BORLANDC__, NDNBOOST_TESTED_AT(0x610)) \
+        || NDNBOOST_WORKAROUND(__DMC__, NDNBOOST_TESTED_AT(0x840)) \
+        || NDNBOOST_WORKAROUND(__MWERKS__, NDNBOOST_TESTED_AT(0x3202)) \
+        || NDNBOOST_WORKAROUND(NDNBOOST_INTEL_CXX_VERSION, NDNBOOST_TESTED_AT(810)) \
         )
 
-#   define BOOST_MPL_CFG_NO_ADL_BARRIER_NAMESPACE
+#   define NDNBOOST_MPL_CFG_NO_ADL_BARRIER_NAMESPACE
 
 #endif
 
-#endif // BOOST_MPL_AUX_CONFIG_ADL_HPP_INCLUDED
+#endif // NDNBOOST_MPL_AUX_CONFIG_ADL_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/aux_/config/arrays.hpp b/include/ndnboost/mpl/aux_/config/arrays.hpp
index 673631d..c71af34 100644
--- a/include/ndnboost/mpl/aux_/config/arrays.hpp
+++ b/include/ndnboost/mpl/aux_/config/arrays.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_AUX_CONFIG_ARRAYS_HPP_INCLUDED
-#define BOOST_MPL_AUX_CONFIG_ARRAYS_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_AUX_CONFIG_ARRAYS_HPP_INCLUDED
+#define NDNBOOST_MPL_AUX_CONFIG_ARRAYS_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2003-2004
 //
@@ -17,14 +17,14 @@
 #include <ndnboost/mpl/aux_/config/msvc.hpp>
 #include <ndnboost/mpl/aux_/config/workaround.hpp>
 
-#if    !defined(BOOST_MPL_CFG_NO_DEPENDENT_ARRAY_TYPES) \
-    && !defined(BOOST_MPL_PREPROCESSING_MODE) \
-    && ( BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) \
-        || BOOST_WORKAROUND(BOOST_MSVC, <= 1300) \
+#if    !defined(NDNBOOST_MPL_CFG_NO_DEPENDENT_ARRAY_TYPES) \
+    && !defined(NDNBOOST_MPL_PREPROCESSING_MODE) \
+    && ( NDNBOOST_WORKAROUND(__BORLANDC__, NDNBOOST_TESTED_AT(0x610)) \
+        || NDNBOOST_WORKAROUND(NDNBOOST_MSVC, <= 1300) \
         )
 
-#   define BOOST_MPL_CFG_NO_DEPENDENT_ARRAY_TYPES
+#   define NDNBOOST_MPL_CFG_NO_DEPENDENT_ARRAY_TYPES
 
 #endif
 
-#endif // BOOST_MPL_AUX_CONFIG_ARRAYS_HPP_INCLUDED
+#endif // NDNBOOST_MPL_AUX_CONFIG_ARRAYS_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/aux_/config/bcc.hpp b/include/ndnboost/mpl/aux_/config/bcc.hpp
index b742125..c035570 100644
--- a/include/ndnboost/mpl/aux_/config/bcc.hpp
+++ b/include/ndnboost/mpl/aux_/config/bcc.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_AUX_CONFIG_BCC_HPP_INCLUDED
-#define BOOST_MPL_AUX_CONFIG_BCC_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_AUX_CONFIG_BCC_HPP_INCLUDED
+#define NDNBOOST_MPL_AUX_CONFIG_BCC_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2008
 //
@@ -16,13 +16,13 @@
 
 #include <ndnboost/mpl/aux_/config/workaround.hpp>
 
-#if    !defined(BOOST_MPL_CFG_BCC590_WORKAROUNDS) \
-    && !defined(BOOST_MPL_PREPROCESSING_MODE) \
-    && BOOST_WORKAROUND(__BORLANDC__, >= 0x590) \
-    && BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610))
+#if    !defined(NDNBOOST_MPL_CFG_BCC590_WORKAROUNDS) \
+    && !defined(NDNBOOST_MPL_PREPROCESSING_MODE) \
+    && NDNBOOST_WORKAROUND(__BORLANDC__, >= 0x590) \
+    && NDNBOOST_WORKAROUND(__BORLANDC__, NDNBOOST_TESTED_AT(0x610))
 
-#   define BOOST_MPL_CFG_BCC590_WORKAROUNDS
+#   define NDNBOOST_MPL_CFG_BCC590_WORKAROUNDS
 
 #endif
 
-#endif // BOOST_MPL_AUX_CONFIG_BCC_HPP_INCLUDED
+#endif // NDNBOOST_MPL_AUX_CONFIG_BCC_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/aux_/config/bind.hpp b/include/ndnboost/mpl/aux_/config/bind.hpp
index bf6c05e..168d582 100644
--- a/include/ndnboost/mpl/aux_/config/bind.hpp
+++ b/include/ndnboost/mpl/aux_/config/bind.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_AUX_CONFIG_BIND_HPP_INCLUDED
-#define BOOST_MPL_AUX_CONFIG_BIND_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_AUX_CONFIG_BIND_HPP_INCLUDED
+#define NDNBOOST_MPL_AUX_CONFIG_BIND_HPP_INCLUDED
 
 // Copyright David Abrahams 2002
 // Copyright Aleksey Gurtovoy 2002-2004
@@ -18,16 +18,16 @@
 #include <ndnboost/mpl/aux_/config/msvc.hpp>
 #include <ndnboost/mpl/aux_/config/workaround.hpp>
 
-#if    !defined(BOOST_MPL_CFG_NO_BIND_TEMPLATE) \
-    && !defined(BOOST_MPL_PREPROCESSING_MODE) \
-    && (   BOOST_WORKAROUND(BOOST_MSVC, <= 1300) \
-        || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) \
+#if    !defined(NDNBOOST_MPL_CFG_NO_BIND_TEMPLATE) \
+    && !defined(NDNBOOST_MPL_PREPROCESSING_MODE) \
+    && (   NDNBOOST_WORKAROUND(NDNBOOST_MSVC, <= 1300) \
+        || NDNBOOST_WORKAROUND(__BORLANDC__, NDNBOOST_TESTED_AT(0x610)) \
         )
 
-#   define BOOST_MPL_CFG_NO_BIND_TEMPLATE
+#   define NDNBOOST_MPL_CFG_NO_BIND_TEMPLATE
 
 #endif
 
-//#define BOOST_MPL_CFG_NO_UNNAMED_PLACEHOLDER_SUPPORT
+//#define NDNBOOST_MPL_CFG_NO_UNNAMED_PLACEHOLDER_SUPPORT
 
-#endif // BOOST_MPL_AUX_CONFIG_BIND_HPP_INCLUDED
+#endif // NDNBOOST_MPL_AUX_CONFIG_BIND_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/aux_/config/compiler.hpp b/include/ndnboost/mpl/aux_/config/compiler.hpp
index 8a52441..646e73b 100644
--- a/include/ndnboost/mpl/aux_/config/compiler.hpp
+++ b/include/ndnboost/mpl/aux_/config/compiler.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_AUX_CONFIG_COMPILER_HPP_INCLUDED
-#define BOOST_MPL_AUX_CONFIG_COMPILER_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_AUX_CONFIG_COMPILER_HPP_INCLUDED
+#define NDNBOOST_MPL_AUX_CONFIG_COMPILER_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2001-2008
 //
@@ -14,7 +14,7 @@
 // $Date: 2009-05-22 13:07:55 -0700 (Fri, 22 May 2009) $
 // $Revision: 53189 $
 
-#if !defined(BOOST_MPL_CFG_COMPILER_DIR)
+#if !defined(NDNBOOST_MPL_CFG_COMPILER_DIR)
 
 #   include <ndnboost/mpl/aux_/config/dtp.hpp>
 #   include <ndnboost/mpl/aux_/config/ttp.hpp>
@@ -23,44 +23,44 @@
 #   include <ndnboost/mpl/aux_/config/gcc.hpp>
 #   include <ndnboost/mpl/aux_/config/workaround.hpp>
 
-#   if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-#       define BOOST_MPL_CFG_COMPILER_DIR msvc60
+#   if NDNBOOST_WORKAROUND(NDNBOOST_MSVC, < 1300)
+#       define NDNBOOST_MPL_CFG_COMPILER_DIR msvc60
 
-#   elif BOOST_WORKAROUND(BOOST_MSVC, == 1300)
-#       define BOOST_MPL_CFG_COMPILER_DIR msvc70
+#   elif NDNBOOST_WORKAROUND(NDNBOOST_MSVC, == 1300)
+#       define NDNBOOST_MPL_CFG_COMPILER_DIR msvc70
 
-#   elif BOOST_WORKAROUND(BOOST_MPL_CFG_GCC, BOOST_TESTED_AT(0x0304))
-#       define BOOST_MPL_CFG_COMPILER_DIR gcc
+#   elif NDNBOOST_WORKAROUND(NDNBOOST_MPL_CFG_GCC, NDNBOOST_TESTED_AT(0x0304))
+#       define NDNBOOST_MPL_CFG_COMPILER_DIR gcc
 
-#   elif BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610))
-#       if !defined(BOOST_MPL_CFG_NO_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES)
-#           define BOOST_MPL_CFG_COMPILER_DIR bcc551
-#       elif BOOST_WORKAROUND(__BORLANDC__, >= 0x590)
-#           define BOOST_MPL_CFG_COMPILER_DIR bcc
+#   elif NDNBOOST_WORKAROUND(__BORLANDC__, NDNBOOST_TESTED_AT(0x610))
+#       if !defined(NDNBOOST_MPL_CFG_NO_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES)
+#           define NDNBOOST_MPL_CFG_COMPILER_DIR bcc551
+#       elif NDNBOOST_WORKAROUND(__BORLANDC__, >= 0x590)
+#           define NDNBOOST_MPL_CFG_COMPILER_DIR bcc
 #       else
-#           define BOOST_MPL_CFG_COMPILER_DIR bcc_pre590
+#           define NDNBOOST_MPL_CFG_COMPILER_DIR bcc_pre590
 #       endif
 
-#   elif BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840))
-#       define BOOST_MPL_CFG_COMPILER_DIR dmc
+#   elif NDNBOOST_WORKAROUND(__DMC__, NDNBOOST_TESTED_AT(0x840))
+#       define NDNBOOST_MPL_CFG_COMPILER_DIR dmc
 
 #   elif defined(__MWERKS__)
-#       if defined(BOOST_MPL_CFG_BROKEN_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES)
-#           define BOOST_MPL_CFG_COMPILER_DIR mwcw
+#       if defined(NDNBOOST_MPL_CFG_BROKEN_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES)
+#           define NDNBOOST_MPL_CFG_COMPILER_DIR mwcw
 #       else
-#           define BOOST_MPL_CFG_COMPILER_DIR plain
+#           define NDNBOOST_MPL_CFG_COMPILER_DIR plain
 #       endif
 
-#   elif defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-#       define BOOST_MPL_CFG_COMPILER_DIR no_ctps
+#   elif defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+#       define NDNBOOST_MPL_CFG_COMPILER_DIR no_ctps
 
-#   elif defined(BOOST_MPL_CFG_NO_TEMPLATE_TEMPLATE_PARAMETERS)
-#       define BOOST_MPL_CFG_COMPILER_DIR no_ttp
+#   elif defined(NDNBOOST_MPL_CFG_NO_TEMPLATE_TEMPLATE_PARAMETERS)
+#       define NDNBOOST_MPL_CFG_COMPILER_DIR no_ttp
 
 #   else
-#       define BOOST_MPL_CFG_COMPILER_DIR plain
+#       define NDNBOOST_MPL_CFG_COMPILER_DIR plain
 #   endif
 
-#endif // BOOST_MPL_CFG_COMPILER_DIR
+#endif // NDNBOOST_MPL_CFG_COMPILER_DIR
 
-#endif // BOOST_MPL_AUX_CONFIG_COMPILER_HPP_INCLUDED
+#endif // NDNBOOST_MPL_AUX_CONFIG_COMPILER_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/aux_/config/ctps.hpp b/include/ndnboost/mpl/aux_/config/ctps.hpp
index 908a311..c6a50a3 100644
--- a/include/ndnboost/mpl/aux_/config/ctps.hpp
+++ b/include/ndnboost/mpl/aux_/config/ctps.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_AUX_CONFIG_CTPS_HPP_INCLUDED
-#define BOOST_MPL_AUX_CONFIG_CTPS_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_AUX_CONFIG_CTPS_HPP_INCLUDED
+#define NDNBOOST_MPL_AUX_CONFIG_CTPS_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -17,14 +17,14 @@
 #include <ndnboost/mpl/aux_/config/workaround.hpp>
 #include <ndnboost/config.hpp>
 
-#if    !defined(BOOST_MPL_CFG_NO_NONTYPE_TEMPLATE_PARTIAL_SPEC) \
-    && !defined(BOOST_MPL_PREPROCESSING_MODE) \
-    && BOOST_WORKAROUND(__BORLANDC__, < 0x582)
+#if    !defined(NDNBOOST_MPL_CFG_NO_NONTYPE_TEMPLATE_PARTIAL_SPEC) \
+    && !defined(NDNBOOST_MPL_PREPROCESSING_MODE) \
+    && NDNBOOST_WORKAROUND(__BORLANDC__, < 0x582)
 
-#   define BOOST_MPL_CFG_NO_NONTYPE_TEMPLATE_PARTIAL_SPEC
+#   define NDNBOOST_MPL_CFG_NO_NONTYPE_TEMPLATE_PARTIAL_SPEC
 
 #endif
 
-// BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION is defined in <ndnboost/config.hpp>
+// NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION is defined in <ndnboost/config.hpp>
 
-#endif // BOOST_MPL_AUX_CONFIG_CTPS_HPP_INCLUDED
+#endif // NDNBOOST_MPL_AUX_CONFIG_CTPS_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/aux_/config/dmc_ambiguous_ctps.hpp b/include/ndnboost/mpl/aux_/config/dmc_ambiguous_ctps.hpp
index 1f54ae6..919626f 100644
--- a/include/ndnboost/mpl/aux_/config/dmc_ambiguous_ctps.hpp
+++ b/include/ndnboost/mpl/aux_/config/dmc_ambiguous_ctps.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_AUX_CONFIG_DMC_AMBIGUOUS_CTPS_HPP_INCLUDED
-#define BOOST_MPL_AUX_CONFIG_DMC_AMBIGUOUS_CTPS_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_AUX_CONFIG_DMC_AMBIGUOUS_CTPS_HPP_INCLUDED
+#define NDNBOOST_MPL_AUX_CONFIG_DMC_AMBIGUOUS_CTPS_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2004
 //
@@ -16,12 +16,12 @@
 
 #include <ndnboost/mpl/aux_/config/workaround.hpp>
 
-#if    !defined(BOOST_MPL_CFG_DMC_AMBIGUOUS_CTPS) \
-    && !defined(BOOST_MPL_PREPROCESSING_MODE) \
-    && BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840))
+#if    !defined(NDNBOOST_MPL_CFG_DMC_AMBIGUOUS_CTPS) \
+    && !defined(NDNBOOST_MPL_PREPROCESSING_MODE) \
+    && NDNBOOST_WORKAROUND(__DMC__, NDNBOOST_TESTED_AT(0x840))
 
-#   define BOOST_MPL_CFG_DMC_AMBIGUOUS_CTPS
+#   define NDNBOOST_MPL_CFG_DMC_AMBIGUOUS_CTPS
 
 #endif
 
-#endif // BOOST_MPL_AUX_CONFIG_DMC_AMBIGUOUS_CTPS_HPP_INCLUDED
+#endif // NDNBOOST_MPL_AUX_CONFIG_DMC_AMBIGUOUS_CTPS_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/aux_/config/dtp.hpp b/include/ndnboost/mpl/aux_/config/dtp.hpp
index 4796289..9f75a9c 100644
--- a/include/ndnboost/mpl/aux_/config/dtp.hpp
+++ b/include/ndnboost/mpl/aux_/config/dtp.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_AUX_CONFIG_DTP_HPP_INCLUDED
-#define BOOST_MPL_AUX_CONFIG_DTP_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_AUX_CONFIG_DTP_HPP_INCLUDED
+#define NDNBOOST_MPL_AUX_CONFIG_DTP_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2001-2004
 //
@@ -22,25 +22,25 @@
 // the owner class is a class template), and Borland 5.6 isn't even
 // able to compile a definition of nested class template with DTP
 
-#if    !defined(BOOST_MPL_CFG_NO_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES) \
-    && !defined(BOOST_MPL_PREPROCESSING_MODE) \
-    && BOOST_WORKAROUND(__BORLANDC__, >= 0x560) \
-    && BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610))
+#if    !defined(NDNBOOST_MPL_CFG_NO_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES) \
+    && !defined(NDNBOOST_MPL_PREPROCESSING_MODE) \
+    && NDNBOOST_WORKAROUND(__BORLANDC__, >= 0x560) \
+    && NDNBOOST_WORKAROUND(__BORLANDC__, NDNBOOST_TESTED_AT(0x610))
 
-#   define BOOST_MPL_CFG_NO_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES
+#   define NDNBOOST_MPL_CFG_NO_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES
 
 #endif
 
 
-#if    !defined(BOOST_MPL_CFG_BROKEN_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES) \
-    && !defined(BOOST_MPL_PREPROCESSING_MODE) \
-    && (   BOOST_WORKAROUND(__MWERKS__, <= 0x3001) \
-        || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) \
-        || defined(BOOST_MPL_CFG_NO_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES) \
+#if    !defined(NDNBOOST_MPL_CFG_BROKEN_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES) \
+    && !defined(NDNBOOST_MPL_PREPROCESSING_MODE) \
+    && (   NDNBOOST_WORKAROUND(__MWERKS__, <= 0x3001) \
+        || NDNBOOST_WORKAROUND(__BORLANDC__, NDNBOOST_TESTED_AT(0x610)) \
+        || defined(NDNBOOST_MPL_CFG_NO_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES) \
         )
         
-#   define BOOST_MPL_CFG_BROKEN_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES
+#   define NDNBOOST_MPL_CFG_BROKEN_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES
 
 #endif
 
-#endif // BOOST_MPL_AUX_CONFIG_DTP_HPP_INCLUDED
+#endif // NDNBOOST_MPL_AUX_CONFIG_DTP_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/aux_/config/eti.hpp b/include/ndnboost/mpl/aux_/config/eti.hpp
index 9f2f29c..ce89016 100644
--- a/include/ndnboost/mpl/aux_/config/eti.hpp
+++ b/include/ndnboost/mpl/aux_/config/eti.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_AUX_CONFIG_ETI_HPP_INCLUDED
-#define BOOST_MPL_AUX_CONFIG_ETI_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_AUX_CONFIG_ETI_HPP_INCLUDED
+#define NDNBOOST_MPL_AUX_CONFIG_ETI_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2001-2004
 //
@@ -18,30 +18,30 @@
 #include <ndnboost/mpl/aux_/config/workaround.hpp>
 
 // flags for MSVC 6.5's so-called "early template instantiation bug"
-#if    !defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG) \
-    && !defined(BOOST_MPL_PREPROCESSING_MODE) \
-    && BOOST_WORKAROUND(BOOST_MSVC, < 1300)
+#if    !defined(NDNBOOST_MPL_CFG_MSVC_60_ETI_BUG) \
+    && !defined(NDNBOOST_MPL_PREPROCESSING_MODE) \
+    && NDNBOOST_WORKAROUND(NDNBOOST_MSVC, < 1300)
 
-#   define BOOST_MPL_CFG_MSVC_60_ETI_BUG
+#   define NDNBOOST_MPL_CFG_MSVC_60_ETI_BUG
 
 #endif
 
-#if    !defined(BOOST_MPL_CFG_MSVC_70_ETI_BUG) \
-    && !defined(BOOST_MPL_PREPROCESSING_MODE) \
-    && BOOST_WORKAROUND(BOOST_MSVC, == 1300)
+#if    !defined(NDNBOOST_MPL_CFG_MSVC_70_ETI_BUG) \
+    && !defined(NDNBOOST_MPL_PREPROCESSING_MODE) \
+    && NDNBOOST_WORKAROUND(NDNBOOST_MSVC, == 1300)
 
-#   define BOOST_MPL_CFG_MSVC_70_ETI_BUG
+#   define NDNBOOST_MPL_CFG_MSVC_70_ETI_BUG
 
 #endif
 
-#if    !defined(BOOST_MPL_CFG_MSVC_ETI_BUG) \
-    && !defined(BOOST_MPL_PREPROCESSING_MODE) \
-    && ( defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG) \
-        || defined(BOOST_MPL_CFG_MSVC_70_ETI_BUG) \
+#if    !defined(NDNBOOST_MPL_CFG_MSVC_ETI_BUG) \
+    && !defined(NDNBOOST_MPL_PREPROCESSING_MODE) \
+    && ( defined(NDNBOOST_MPL_CFG_MSVC_60_ETI_BUG) \
+        || defined(NDNBOOST_MPL_CFG_MSVC_70_ETI_BUG) \
         )
 
-#   define BOOST_MPL_CFG_MSVC_ETI_BUG
+#   define NDNBOOST_MPL_CFG_MSVC_ETI_BUG
 
 #endif
 
-#endif // BOOST_MPL_AUX_CONFIG_ETI_HPP_INCLUDED
+#endif // NDNBOOST_MPL_AUX_CONFIG_ETI_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/aux_/config/forwarding.hpp b/include/ndnboost/mpl/aux_/config/forwarding.hpp
index 167e832..057e5ec 100644
--- a/include/ndnboost/mpl/aux_/config/forwarding.hpp
+++ b/include/ndnboost/mpl/aux_/config/forwarding.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_AUX_CONFIG_FORWARDING_HPP_INCLUDED
-#define BOOST_MPL_AUX_CONFIG_FORWARDING_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_AUX_CONFIG_FORWARDING_HPP_INCLUDED
+#define NDNBOOST_MPL_AUX_CONFIG_FORWARDING_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2004
 //
@@ -16,12 +16,12 @@
 
 #include <ndnboost/mpl/aux_/config/workaround.hpp>
 
-#if    !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING) \
-    && !defined(BOOST_MPL_PREPROCESSING_MODE) \
-    && BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610))
+#if    !defined(NDNBOOST_MPL_CFG_NO_NESTED_FORWARDING) \
+    && !defined(NDNBOOST_MPL_PREPROCESSING_MODE) \
+    && NDNBOOST_WORKAROUND(__BORLANDC__, NDNBOOST_TESTED_AT(0x610))
 
-#   define BOOST_MPL_CFG_NO_NESTED_FORWARDING
+#   define NDNBOOST_MPL_CFG_NO_NESTED_FORWARDING
 
 #endif
 
-#endif // BOOST_MPL_AUX_CONFIG_FORWARDING_HPP_INCLUDED
+#endif // NDNBOOST_MPL_AUX_CONFIG_FORWARDING_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/aux_/config/gcc.hpp b/include/ndnboost/mpl/aux_/config/gcc.hpp
index b9d8f7d..09644c1 100644
--- a/include/ndnboost/mpl/aux_/config/gcc.hpp
+++ b/include/ndnboost/mpl/aux_/config/gcc.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_AUX_CONFIG_GCC_HPP_INCLUDED
-#define BOOST_MPL_AUX_CONFIG_GCC_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_AUX_CONFIG_GCC_HPP_INCLUDED
+#define NDNBOOST_MPL_AUX_CONFIG_GCC_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2004
 //
@@ -15,9 +15,9 @@
 // $Revision: 49267 $
 
 #if defined(__GNUC__) && !defined(__EDG_VERSION__)
-#   define BOOST_MPL_CFG_GCC ((__GNUC__ << 8) | __GNUC_MINOR__)
+#   define NDNBOOST_MPL_CFG_GCC ((__GNUC__ << 8) | __GNUC_MINOR__)
 #else
-#   define BOOST_MPL_CFG_GCC 0
+#   define NDNBOOST_MPL_CFG_GCC 0
 #endif
 
-#endif // BOOST_MPL_AUX_CONFIG_GCC_HPP_INCLUDED
+#endif // NDNBOOST_MPL_AUX_CONFIG_GCC_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/aux_/config/has_apply.hpp b/include/ndnboost/mpl/aux_/config/has_apply.hpp
index 0daed5a..08dd160 100644
--- a/include/ndnboost/mpl/aux_/config/has_apply.hpp
+++ b/include/ndnboost/mpl/aux_/config/has_apply.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_AUX_CONFIG_HAS_APPLY_HPP_INCLUDED
-#define BOOST_MPL_AUX_CONFIG_HAS_APPLY_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_AUX_CONFIG_HAS_APPLY_HPP_INCLUDED
+#define NDNBOOST_MPL_AUX_CONFIG_HAS_APPLY_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2004
 //
@@ -18,15 +18,15 @@
 #include <ndnboost/mpl/aux_/config/msvc.hpp>
 #include <ndnboost/mpl/aux_/config/workaround.hpp>
 
-#if !defined(BOOST_MPL_CFG_NO_HAS_APPLY) \
-    && (   defined(BOOST_MPL_CFG_NO_HAS_XXX) \
-        || BOOST_WORKAROUND(__EDG_VERSION__, < 300) \
-        || BOOST_WORKAROUND(BOOST_MSVC, <= 1300) \
-        || BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3202)) \
+#if !defined(NDNBOOST_MPL_CFG_NO_HAS_APPLY) \
+    && (   defined(NDNBOOST_MPL_CFG_NO_HAS_XXX) \
+        || NDNBOOST_WORKAROUND(__EDG_VERSION__, < 300) \
+        || NDNBOOST_WORKAROUND(NDNBOOST_MSVC, <= 1300) \
+        || NDNBOOST_WORKAROUND(__MWERKS__, NDNBOOST_TESTED_AT(0x3202)) \
         )
 
-#   define BOOST_MPL_CFG_NO_HAS_APPLY
+#   define NDNBOOST_MPL_CFG_NO_HAS_APPLY
 
 #endif
 
-#endif // BOOST_MPL_AUX_CONFIG_HAS_APPLY_HPP_INCLUDED
+#endif // NDNBOOST_MPL_AUX_CONFIG_HAS_APPLY_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/aux_/config/has_xxx.hpp b/include/ndnboost/mpl/aux_/config/has_xxx.hpp
index 1cff8af..cf9a112 100644
--- a/include/ndnboost/mpl/aux_/config/has_xxx.hpp
+++ b/include/ndnboost/mpl/aux_/config/has_xxx.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_AUX_CONFIG_HAS_XXX_HPP_INCLUDED
-#define BOOST_MPL_AUX_CONFIG_HAS_XXX_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_AUX_CONFIG_HAS_XXX_HPP_INCLUDED
+#define NDNBOOST_MPL_AUX_CONFIG_HAS_XXX_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2002-2004
 // Copyright David Abrahams 2002-2003
@@ -20,15 +20,15 @@
 
 // agurt, 11/jan/03: signals a stub-only 'has_xxx' implementation
 
-#if !defined(BOOST_MPL_CFG_NO_HAS_XXX) \
-    && (   defined(BOOST_MPL_CFG_BROKEN_OVERLOAD_RESOLUTION) \
-        || BOOST_WORKAROUND(__GNUC__, <= 2) \
-        || BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840)) \
+#if !defined(NDNBOOST_MPL_CFG_NO_HAS_XXX) \
+    && (   defined(NDNBOOST_MPL_CFG_BROKEN_OVERLOAD_RESOLUTION) \
+        || NDNBOOST_WORKAROUND(__GNUC__, <= 2) \
+        || NDNBOOST_WORKAROUND(__DMC__, NDNBOOST_TESTED_AT(0x840)) \
         )
 
-#   define BOOST_MPL_CFG_NO_HAS_XXX
-#   define BOOST_MPL_CFG_NO_HAS_XXX_TEMPLATE
+#   define NDNBOOST_MPL_CFG_NO_HAS_XXX
+#   define NDNBOOST_MPL_CFG_NO_HAS_XXX_TEMPLATE
 
 #endif
 
-#endif // BOOST_MPL_AUX_CONFIG_HAS_XXX_HPP_INCLUDED
+#endif // NDNBOOST_MPL_AUX_CONFIG_HAS_XXX_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/aux_/config/integral.hpp b/include/ndnboost/mpl/aux_/config/integral.hpp
index a8cbd7d..c25bf09 100644
--- a/include/ndnboost/mpl/aux_/config/integral.hpp
+++ b/include/ndnboost/mpl/aux_/config/integral.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_AUX_CONFIG_INTEGRAL_HPP_INCLUDED
-#define BOOST_MPL_AUX_CONFIG_INTEGRAL_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_AUX_CONFIG_INTEGRAL_HPP_INCLUDED
+#define NDNBOOST_MPL_AUX_CONFIG_INTEGRAL_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2004
 //
@@ -17,22 +17,22 @@
 #include <ndnboost/mpl/aux_/config/msvc.hpp>
 #include <ndnboost/mpl/aux_/config/workaround.hpp>
 
-#if    !defined(BOOST_MPL_CFG_BCC_INTEGRAL_CONSTANTS) \
-    && !defined(BOOST_MPL_PREPROCESSING_MODE) \
-    && BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610))
+#if    !defined(NDNBOOST_MPL_CFG_BCC_INTEGRAL_CONSTANTS) \
+    && !defined(NDNBOOST_MPL_PREPROCESSING_MODE) \
+    && NDNBOOST_WORKAROUND(__BORLANDC__, NDNBOOST_TESTED_AT(0x610))
 
-#   define BOOST_MPL_CFG_BCC_INTEGRAL_CONSTANTS
+#   define NDNBOOST_MPL_CFG_BCC_INTEGRAL_CONSTANTS
 
 #endif
 
-#if    !defined(BOOST_MPL_CFG_NO_NESTED_VALUE_ARITHMETIC) \
-    && !defined(BOOST_MPL_PREPROCESSING_MODE) \
-    && ( BOOST_WORKAROUND(BOOST_MSVC, <= 1300) \
-        || BOOST_WORKAROUND(__EDG_VERSION__, <= 238) \
+#if    !defined(NDNBOOST_MPL_CFG_NO_NESTED_VALUE_ARITHMETIC) \
+    && !defined(NDNBOOST_MPL_PREPROCESSING_MODE) \
+    && ( NDNBOOST_WORKAROUND(NDNBOOST_MSVC, <= 1300) \
+        || NDNBOOST_WORKAROUND(__EDG_VERSION__, <= 238) \
         )
 
-#   define BOOST_MPL_CFG_NO_NESTED_VALUE_ARITHMETIC
+#   define NDNBOOST_MPL_CFG_NO_NESTED_VALUE_ARITHMETIC
 
 #endif
 
-#endif // BOOST_MPL_AUX_CONFIG_INTEGRAL_HPP_INCLUDED
+#endif // NDNBOOST_MPL_AUX_CONFIG_INTEGRAL_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/aux_/config/intel.hpp b/include/ndnboost/mpl/aux_/config/intel.hpp
index e14dc9e..d97ab6d 100644
--- a/include/ndnboost/mpl/aux_/config/intel.hpp
+++ b/include/ndnboost/mpl/aux_/config/intel.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_AUX_CONFIG_INTEL_HPP_INCLUDED
-#define BOOST_MPL_AUX_CONFIG_INTEL_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_AUX_CONFIG_INTEL_HPP_INCLUDED
+#define NDNBOOST_MPL_AUX_CONFIG_INTEL_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2004
 //
@@ -15,7 +15,7 @@
 // $Revision: 49267 $
 
 
-// BOOST_INTEL_CXX_VERSION is defined here:
+// NDNBOOST_INTEL_CXX_VERSION is defined here:
 #include <ndnboost/config.hpp>
 
-#endif // BOOST_MPL_AUX_CONFIG_INTEL_HPP_INCLUDED
+#endif // NDNBOOST_MPL_AUX_CONFIG_INTEL_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/aux_/config/lambda.hpp b/include/ndnboost/mpl/aux_/config/lambda.hpp
index 808385a..66e1bba 100644
--- a/include/ndnboost/mpl/aux_/config/lambda.hpp
+++ b/include/ndnboost/mpl/aux_/config/lambda.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_AUX_CONFIG_LAMBDA_HPP_INCLUDED
-#define BOOST_MPL_AUX_CONFIG_LAMBDA_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_AUX_CONFIG_LAMBDA_HPP_INCLUDED
+#define NDNBOOST_MPL_AUX_CONFIG_LAMBDA_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2002-2004
 //
@@ -20,13 +20,13 @@
 // agurt, 15/jan/02: full-fledged implementation requires both 
 // template template parameters _and_ partial specialization
 
-#if    !defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT) \
-    && (   defined(BOOST_MPL_CFG_NO_TEMPLATE_TEMPLATE_PARAMETERS) \
-        || defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
+#if    !defined(NDNBOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT) \
+    && (   defined(NDNBOOST_MPL_CFG_NO_TEMPLATE_TEMPLATE_PARAMETERS) \
+        || defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
         )
 
-#   define BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT
+#   define NDNBOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT
 
 #endif
 
-#endif // BOOST_MPL_AUX_CONFIG_LAMBDA_HPP_INCLUDED
+#endif // NDNBOOST_MPL_AUX_CONFIG_LAMBDA_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/aux_/config/msvc.hpp b/include/ndnboost/mpl/aux_/config/msvc.hpp
index 32a69ec..ef7fcac 100644
--- a/include/ndnboost/mpl/aux_/config/msvc.hpp
+++ b/include/ndnboost/mpl/aux_/config/msvc.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_AUX_CONFIG_MSVC_HPP_INCLUDED
-#define BOOST_MPL_AUX_CONFIG_MSVC_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_AUX_CONFIG_MSVC_HPP_INCLUDED
+#define NDNBOOST_MPL_AUX_CONFIG_MSVC_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2002-2004
 //
@@ -15,7 +15,7 @@
 // $Revision: 49267 $
 
 
-// BOOST_MSVC is defined here:
+// NDNBOOST_MSVC is defined here:
 #include <ndnboost/config.hpp>
 
-#endif // BOOST_MPL_AUX_CONFIG_MSVC_HPP_INCLUDED
+#endif // NDNBOOST_MPL_AUX_CONFIG_MSVC_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/aux_/config/msvc_typename.hpp b/include/ndnboost/mpl/aux_/config/msvc_typename.hpp
index d5fab00..d706a97 100644
--- a/include/ndnboost/mpl/aux_/config/msvc_typename.hpp
+++ b/include/ndnboost/mpl/aux_/config/msvc_typename.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_AUX_CONFIG_MSVC_TYPENAME_HPP_INCLUDED
-#define BOOST_MPL_AUX_CONFIG_MSVC_TYPENAME_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_AUX_CONFIG_MSVC_TYPENAME_HPP_INCLUDED
+#define NDNBOOST_MPL_AUX_CONFIG_MSVC_TYPENAME_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -17,10 +17,10 @@
 #include <ndnboost/mpl/aux_/config/msvc.hpp>
 #include <ndnboost/mpl/aux_/config/workaround.hpp>
 
-#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
-#   define BOOST_MSVC_TYPENAME
+#if NDNBOOST_WORKAROUND(NDNBOOST_MSVC, <= 1300)
+#   define NDNBOOST_MSVC_TYPENAME
 #else
-#   define BOOST_MSVC_TYPENAME typename
+#   define NDNBOOST_MSVC_TYPENAME typename
 #endif
 
-#endif // BOOST_MPL_AUX_CONFIG_MSVC_TYPENAME_HPP_INCLUDED
+#endif // NDNBOOST_MPL_AUX_CONFIG_MSVC_TYPENAME_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/aux_/config/nttp.hpp b/include/ndnboost/mpl/aux_/config/nttp.hpp
index 6c17d43..9c74018 100644
--- a/include/ndnboost/mpl/aux_/config/nttp.hpp
+++ b/include/ndnboost/mpl/aux_/config/nttp.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_AUX_CONFIG_NTTP_HPP_INCLUDED
-#define BOOST_MPL_AUX_CONFIG_NTTP_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_AUX_CONFIG_NTTP_HPP_INCLUDED
+#define NDNBOOST_MPL_AUX_CONFIG_NTTP_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2001-2004
 //
@@ -30,12 +30,12 @@
 //    template< int > struct arg;
 //    }}
 
-#if    !defined(BOOST_MPL_CFG_NTTP_BUG) \
-    && !defined(BOOST_MPL_PREPROCESSING_MODE) \
-    && BOOST_WORKAROUND(BOOST_MSVC, < 1300)
+#if    !defined(NDNBOOST_MPL_CFG_NTTP_BUG) \
+    && !defined(NDNBOOST_MPL_PREPROCESSING_MODE) \
+    && NDNBOOST_WORKAROUND(NDNBOOST_MSVC, < 1300)
 
-#   define BOOST_MPL_CFG_NTTP_BUG
+#   define NDNBOOST_MPL_CFG_NTTP_BUG
 
 #endif
 
-#endif // BOOST_MPL_AUX_CONFIG_NTTP_HPP_INCLUDED
+#endif // NDNBOOST_MPL_AUX_CONFIG_NTTP_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/aux_/config/overload_resolution.hpp b/include/ndnboost/mpl/aux_/config/overload_resolution.hpp
index a3a7932..78ab5f0 100644
--- a/include/ndnboost/mpl/aux_/config/overload_resolution.hpp
+++ b/include/ndnboost/mpl/aux_/config/overload_resolution.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_AUX_CONFIG_OVERLOAD_RESOLUTION_HPP_INCLUDED
-#define BOOST_MPL_AUX_CONFIG_OVERLOAD_RESOLUTION_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_AUX_CONFIG_OVERLOAD_RESOLUTION_HPP_INCLUDED
+#define NDNBOOST_MPL_AUX_CONFIG_OVERLOAD_RESOLUTION_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2002-2004
 //
@@ -16,14 +16,14 @@
 
 #include <ndnboost/mpl/aux_/config/workaround.hpp>
 
-#if    !defined(BOOST_MPL_CFG_BROKEN_OVERLOAD_RESOLUTION) \
-    && !defined(BOOST_MPL_PREPROCESSING_MODE) \
-    && (   BOOST_WORKAROUND(__BORLANDC__, < 0x590) \
-        || BOOST_WORKAROUND(__MWERKS__, < 0x3001) \
+#if    !defined(NDNBOOST_MPL_CFG_BROKEN_OVERLOAD_RESOLUTION) \
+    && !defined(NDNBOOST_MPL_PREPROCESSING_MODE) \
+    && (   NDNBOOST_WORKAROUND(__BORLANDC__, < 0x590) \
+        || NDNBOOST_WORKAROUND(__MWERKS__, < 0x3001) \
         )
 
-#   define BOOST_MPL_CFG_BROKEN_OVERLOAD_RESOLUTION
+#   define NDNBOOST_MPL_CFG_BROKEN_OVERLOAD_RESOLUTION
 
 #endif
 
-#endif // BOOST_MPL_AUX_CONFIG_OVERLOAD_RESOLUTION_HPP_INCLUDED
+#endif // NDNBOOST_MPL_AUX_CONFIG_OVERLOAD_RESOLUTION_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/aux_/config/pp_counter.hpp b/include/ndnboost/mpl/aux_/config/pp_counter.hpp
index 52c4319..c5f3ac7 100644
--- a/include/ndnboost/mpl/aux_/config/pp_counter.hpp
+++ b/include/ndnboost/mpl/aux_/config/pp_counter.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_AUX_CONFIG_PP_COUNTER_HPP_INCLUDED
-#define BOOST_MPL_AUX_CONFIG_PP_COUNTER_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_AUX_CONFIG_PP_COUNTER_HPP_INCLUDED
+#define NDNBOOST_MPL_AUX_CONFIG_PP_COUNTER_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2006
 //
@@ -14,13 +14,13 @@
 // $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
 // $Revision: 49267 $
 
-#if !defined(BOOST_MPL_AUX_PP_COUNTER)
+#if !defined(NDNBOOST_MPL_AUX_PP_COUNTER)
 #   include <ndnboost/mpl/aux_/config/msvc.hpp>
-#   if BOOST_WORKAROUND(BOOST_MSVC, >= 1300)
-#       define BOOST_MPL_AUX_PP_COUNTER() __COUNTER__
+#   if NDNBOOST_WORKAROUND(NDNBOOST_MSVC, >= 1300)
+#       define NDNBOOST_MPL_AUX_PP_COUNTER() __COUNTER__
 #   else
-#       define BOOST_MPL_AUX_PP_COUNTER() __LINE__
+#       define NDNBOOST_MPL_AUX_PP_COUNTER() __LINE__
 #   endif
 #endif
 
-#endif // BOOST_MPL_AUX_CONFIG_PP_COUNTER_HPP_INCLUDED
+#endif // NDNBOOST_MPL_AUX_CONFIG_PP_COUNTER_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/aux_/config/preprocessor.hpp b/include/ndnboost/mpl/aux_/config/preprocessor.hpp
index 342088e..625e6bb 100644
--- a/include/ndnboost/mpl/aux_/config/preprocessor.hpp
+++ b/include/ndnboost/mpl/aux_/config/preprocessor.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_AUX_CONFIG_PREPROCESSOR_HPP_INCLUDED
-#define BOOST_MPL_AUX_CONFIG_PREPROCESSOR_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_AUX_CONFIG_PREPROCESSOR_HPP_INCLUDED
+#define NDNBOOST_MPL_AUX_CONFIG_PREPROCESSOR_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -16,24 +16,24 @@
 
 #include <ndnboost/mpl/aux_/config/workaround.hpp>
 
-#if !defined(BOOST_MPL_CFG_BROKEN_PP_MACRO_EXPANSION) \
-    && (   BOOST_WORKAROUND(__MWERKS__, <= 0x3003) \
-        || BOOST_WORKAROUND(__BORLANDC__, < 0x582) \
-        || BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(502)) \
+#if !defined(NDNBOOST_MPL_CFG_BROKEN_PP_MACRO_EXPANSION) \
+    && (   NDNBOOST_WORKAROUND(__MWERKS__, <= 0x3003) \
+        || NDNBOOST_WORKAROUND(__BORLANDC__, < 0x582) \
+        || NDNBOOST_WORKAROUND(__IBMCPP__, NDNBOOST_TESTED_AT(502)) \
         )
 
-#   define BOOST_MPL_CFG_BROKEN_PP_MACRO_EXPANSION
+#   define NDNBOOST_MPL_CFG_BROKEN_PP_MACRO_EXPANSION
 
 #endif
 
-#if !defined(BOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES)
-#   define BOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES
+#if !defined(NDNBOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES)
+#   define NDNBOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES
 #endif
 
-#if !defined(BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING) \
-    && BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840))
-#   define BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING
+#if !defined(NDNBOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING) \
+    && NDNBOOST_WORKAROUND(__DMC__, NDNBOOST_TESTED_AT(0x840))
+#   define NDNBOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING
 #endif
 
 
-#endif // BOOST_MPL_AUX_CONFIG_PREPROCESSOR_HPP_INCLUDED
+#endif // NDNBOOST_MPL_AUX_CONFIG_PREPROCESSOR_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/aux_/config/static_constant.hpp b/include/ndnboost/mpl/aux_/config/static_constant.hpp
index 749397e..8421b89 100644
--- a/include/ndnboost/mpl/aux_/config/static_constant.hpp
+++ b/include/ndnboost/mpl/aux_/config/static_constant.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_AUX_CONFIG_STATIC_CONSTANT_HPP_INCLUDED
-#define BOOST_MPL_AUX_CONFIG_STATIC_CONSTANT_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_AUX_CONFIG_STATIC_CONSTANT_HPP_INCLUDED
+#define NDNBOOST_MPL_AUX_CONFIG_STATIC_CONSTANT_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -14,12 +14,12 @@
 // $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
 // $Revision: 49267 $
 
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-// BOOST_STATIC_CONSTANT is defined here:
+#if !defined(NDNBOOST_MPL_PREPROCESSING_MODE)
+// NDNBOOST_STATIC_CONSTANT is defined here:
 #   include <ndnboost/config.hpp>
 #else
 // undef the macro for the preprocessing mode
-#   undef BOOST_STATIC_CONSTANT
+#   undef NDNBOOST_STATIC_CONSTANT
 #endif
 
-#endif // BOOST_MPL_AUX_CONFIG_STATIC_CONSTANT_HPP_INCLUDED
+#endif // NDNBOOST_MPL_AUX_CONFIG_STATIC_CONSTANT_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/aux_/config/ttp.hpp b/include/ndnboost/mpl/aux_/config/ttp.hpp
index 485c82f..cda9560 100644
--- a/include/ndnboost/mpl/aux_/config/ttp.hpp
+++ b/include/ndnboost/mpl/aux_/config/ttp.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_AUX_CONFIG_TTP_HPP_INCLUDED
-#define BOOST_MPL_AUX_CONFIG_TTP_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_AUX_CONFIG_TTP_HPP_INCLUDED
+#define NDNBOOST_MPL_AUX_CONFIG_TTP_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -18,24 +18,24 @@
 #include <ndnboost/mpl/aux_/config/gcc.hpp>
 #include <ndnboost/mpl/aux_/config/workaround.hpp>
 
-#if !defined(BOOST_MPL_CFG_NO_TEMPLATE_TEMPLATE_PARAMETERS) \
-    && ( defined(BOOST_NO_TEMPLATE_TEMPLATES) \
-      || BOOST_WORKAROUND( __BORLANDC__, BOOST_TESTED_AT( 0x590) ) \
+#if !defined(NDNBOOST_MPL_CFG_NO_TEMPLATE_TEMPLATE_PARAMETERS) \
+    && ( defined(NDNBOOST_NO_TEMPLATE_TEMPLATES) \
+      || NDNBOOST_WORKAROUND( __BORLANDC__, NDNBOOST_TESTED_AT( 0x590) ) \
        )
 
-#   define BOOST_MPL_CFG_NO_TEMPLATE_TEMPLATE_PARAMETERS
+#   define NDNBOOST_MPL_CFG_NO_TEMPLATE_TEMPLATE_PARAMETERS
 
 #endif
 
 
-#if    !defined(BOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING) \
-    && !defined(BOOST_MPL_PREPROCESSING_MODE) \
-    && (   BOOST_WORKAROUND(BOOST_MPL_CFG_GCC, BOOST_TESTED_AT(0x0302)) \
-        || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) \
+#if    !defined(NDNBOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING) \
+    && !defined(NDNBOOST_MPL_PREPROCESSING_MODE) \
+    && (   NDNBOOST_WORKAROUND(NDNBOOST_MPL_CFG_GCC, NDNBOOST_TESTED_AT(0x0302)) \
+        || NDNBOOST_WORKAROUND(__BORLANDC__, NDNBOOST_TESTED_AT(0x610)) \
         )
 
-#   define BOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING
+#   define NDNBOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING
 
 #endif
 
-#endif // BOOST_MPL_AUX_CONFIG_TTP_HPP_INCLUDED
+#endif // NDNBOOST_MPL_AUX_CONFIG_TTP_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/aux_/config/typeof.hpp b/include/ndnboost/mpl/aux_/config/typeof.hpp
index b9425f9..ec2b715 100644
--- a/include/ndnboost/mpl/aux_/config/typeof.hpp
+++ b/include/ndnboost/mpl/aux_/config/typeof.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_AUX_CONFIG_TYPEOF_HPP_INCLUDED
-#define BOOST_MPL_AUX_CONFIG_TYPEOF_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_AUX_CONFIG_TYPEOF_HPP_INCLUDED
+#define NDNBOOST_MPL_AUX_CONFIG_TYPEOF_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2003-2004
 //
@@ -16,23 +16,23 @@
 
 #include <ndnboost/mpl/aux_/config/gcc.hpp>
 
-#if !defined(BOOST_MPL_CFG_HAS_TYPEOF) \
-    && !defined(BOOST_MPL_PREPROCESSING_MODE) \
-    && (   defined(BOOST_MPL_CFG_GCC) && BOOST_MPL_CFG_GCC >= 0x0302 \
+#if !defined(NDNBOOST_MPL_CFG_HAS_TYPEOF) \
+    && !defined(NDNBOOST_MPL_PREPROCESSING_MODE) \
+    && (   defined(NDNBOOST_MPL_CFG_GCC) && NDNBOOST_MPL_CFG_GCC >= 0x0302 \
         || defined(__MWERKS__) && __MWERKS__ >= 0x3000 \
         )
 
-#   define BOOST_MPL_CFG_HAS_TYPEOF
+#   define NDNBOOST_MPL_CFG_HAS_TYPEOF
 
 #endif
 
 
-#if !defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES) \
-    && !defined(BOOST_MPL_PREPROCESSING_MODE) \
-    && defined(BOOST_MPL_CFG_HAS_TYPEOF)
+#if !defined(NDNBOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES) \
+    && !defined(NDNBOOST_MPL_PREPROCESSING_MODE) \
+    && defined(NDNBOOST_MPL_CFG_HAS_TYPEOF)
 
-#   define BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES
+#   define NDNBOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES
 
 #endif
 
-#endif // BOOST_MPL_AUX_CONFIG_TYPEOF_HPP_INCLUDED
+#endif // NDNBOOST_MPL_AUX_CONFIG_TYPEOF_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/aux_/config/use_preprocessed.hpp b/include/ndnboost/mpl/aux_/config/use_preprocessed.hpp
index 4494366..df810e5 100644
--- a/include/ndnboost/mpl/aux_/config/use_preprocessed.hpp
+++ b/include/ndnboost/mpl/aux_/config/use_preprocessed.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_AUX_CONFIG_USE_PREPROCESSED_HPP_INCLUDED
-#define BOOST_MPL_AUX_CONFIG_USE_PREPROCESSED_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_AUX_CONFIG_USE_PREPROCESSED_HPP_INCLUDED
+#define NDNBOOST_MPL_AUX_CONFIG_USE_PREPROCESSED_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -14,6 +14,6 @@
 // $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
 // $Revision: 49267 $
 
-// #define BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
+// #define NDNBOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
 
-#endif // BOOST_MPL_AUX_CONFIG_USE_PREPROCESSED_HPP_INCLUDED
+#endif // NDNBOOST_MPL_AUX_CONFIG_USE_PREPROCESSED_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/aux_/config/workaround.hpp b/include/ndnboost/mpl/aux_/config/workaround.hpp
index 3e2da98..880eaba 100644
--- a/include/ndnboost/mpl/aux_/config/workaround.hpp
+++ b/include/ndnboost/mpl/aux_/config/workaround.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_AUX_CONFIG_WORKAROUND_HPP_INCLUDED
-#define BOOST_MPL_AUX_CONFIG_WORKAROUND_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_AUX_CONFIG_WORKAROUND_HPP_INCLUDED
+#define NDNBOOST_MPL_AUX_CONFIG_WORKAROUND_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2002-2004
 //
@@ -16,4 +16,4 @@
 
 #include <ndnboost/detail/workaround.hpp>
 
-#endif // BOOST_MPL_AUX_CONFIG_WORKAROUND_HPP_INCLUDED
+#endif // NDNBOOST_MPL_AUX_CONFIG_WORKAROUND_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/aux_/contains_impl.hpp b/include/ndnboost/mpl/aux_/contains_impl.hpp
index 53ec122..cb5ed0c 100644
--- a/include/ndnboost/mpl/aux_/contains_impl.hpp
+++ b/include/ndnboost/mpl/aux_/contains_impl.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_AUX_CONTAINS_IMPL_HPP_INCLUDED
-#define BOOST_MPL_AUX_CONTAINS_IMPL_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_AUX_CONTAINS_IMPL_HPP_INCLUDED
+#define NDNBOOST_MPL_AUX_CONTAINS_IMPL_HPP_INCLUDED
 
 // Copyright Eric Friedman 2002
 // Copyright Aleksey Gurtovoy 2004
@@ -31,7 +31,7 @@
 struct contains_impl
 {
     template< typename Sequence, typename T > struct apply
-#if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING)
+#if !defined(NDNBOOST_MPL_CFG_NO_NESTED_FORWARDING)
         : not_< is_same<
               typename find<Sequence,T>::type
             , typename end<Sequence>::type
@@ -44,7 +44,7 @@
             , typename end<Sequence>::type
             > > type;
 
-        BOOST_STATIC_CONSTANT(bool, value = 
+        NDNBOOST_STATIC_CONSTANT(bool, value = 
               (not_< is_same<
                   typename find<Sequence,T>::type
                 , typename end<Sequence>::type
@@ -54,8 +54,8 @@
     };
 };
 
-BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(2,contains_impl)
+NDNBOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(2,contains_impl)
 
 }}
 
-#endif // BOOST_MPL_AUX_CONTAINS_IMPL_HPP_INCLUDED
+#endif // NDNBOOST_MPL_AUX_CONTAINS_IMPL_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/aux_/count_args.hpp b/include/ndnboost/mpl/aux_/count_args.hpp
index 59852b0..28e6374 100644
--- a/include/ndnboost/mpl/aux_/count_args.hpp
+++ b/include/ndnboost/mpl/aux_/count_args.hpp
@@ -32,9 +32,9 @@
 #   include <ndnboost/mpl/aux_/preprocessor/repeat.hpp>
 #   include <ndnboost/mpl/aux_/preprocessor/params.hpp>
 
-#   define AUX778076_COUNT_ARGS_REPEAT BOOST_MPL_PP_REPEAT
+#   define AUX778076_COUNT_ARGS_REPEAT NDNBOOST_MPL_PP_REPEAT
 #   define AUX778076_COUNT_ARGS_PARAMS(param) \
-    BOOST_MPL_PP_PARAMS( \
+    NDNBOOST_MPL_PP_PARAMS( \
           AUX778076_COUNT_ARGS_ARITY \
         , param \
         ) \
@@ -46,10 +46,10 @@
 #   include <ndnboost/preprocessor/repeat.hpp>
 #   include <ndnboost/preprocessor/inc.hpp>
 
-#   define AUX778076_COUNT_ARGS_REPEAT BOOST_PP_REPEAT
+#   define AUX778076_COUNT_ARGS_REPEAT NDNBOOST_PP_REPEAT
 #   define AUX778076_COUNT_ARGS_PARAMS(param) \
-    BOOST_PP_ENUM_SHIFTED_PARAMS( \
-          BOOST_PP_INC(AUX778076_COUNT_ARGS_ARITY) \
+    NDNBOOST_PP_ENUM_SHIFTED_PARAMS( \
+          NDNBOOST_PP_INC(AUX778076_COUNT_ARGS_ARITY) \
         , param \
         ) \
     /**/
@@ -58,34 +58,34 @@
 
 
 #define AUX778076_IS_ARG_TEMPLATE_NAME \
-    BOOST_PP_CAT(is_,BOOST_PP_CAT(AUX778076_COUNT_ARGS_PREFIX,_arg)) \
+    NDNBOOST_PP_CAT(is_,NDNBOOST_PP_CAT(AUX778076_COUNT_ARGS_PREFIX,_arg)) \
 /**/
 
 #define AUX778076_COUNT_ARGS_FUNC(unused, i, param) \
-    BOOST_PP_EXPR_IF(i, +) \
-    AUX778076_IS_ARG_TEMPLATE_NAME<BOOST_PP_CAT(param,BOOST_PP_INC(i))>::value \
+    NDNBOOST_PP_EXPR_IF(i, +) \
+    AUX778076_IS_ARG_TEMPLATE_NAME<NDNBOOST_PP_CAT(param,NDNBOOST_PP_INC(i))>::value \
 /**/
 
 // is_<xxx>_arg
 template< AUX778076_COUNT_ARGS_TEMPLATE_PARAM >
 struct AUX778076_IS_ARG_TEMPLATE_NAME
 {
-    BOOST_STATIC_CONSTANT(bool, value = true);
+    NDNBOOST_STATIC_CONSTANT(bool, value = true);
 };
 
 template<>
 struct AUX778076_IS_ARG_TEMPLATE_NAME<AUX778076_COUNT_ARGS_DEFAULT>
 {
-    BOOST_STATIC_CONSTANT(bool, value = false);
+    NDNBOOST_STATIC_CONSTANT(bool, value = false);
 };
 
 // <xxx>_count_args
 template<
       AUX778076_COUNT_ARGS_PARAMS(AUX778076_COUNT_ARGS_TEMPLATE_PARAM)
     >
-struct BOOST_PP_CAT(AUX778076_COUNT_ARGS_PREFIX,_count_args)
+struct NDNBOOST_PP_CAT(AUX778076_COUNT_ARGS_PREFIX,_count_args)
 {
-    BOOST_STATIC_CONSTANT(int, value = AUX778076_COUNT_ARGS_REPEAT(
+    NDNBOOST_STATIC_CONSTANT(int, value = AUX778076_COUNT_ARGS_REPEAT(
           AUX778076_COUNT_ARGS_ARITY
         , AUX778076_COUNT_ARGS_FUNC
         , AUX778076_COUNT_ARGS_PARAM_NAME
diff --git a/include/ndnboost/mpl/aux_/find_if_pred.hpp b/include/ndnboost/mpl/aux_/find_if_pred.hpp
index 65c8786..cf2b3c3 100644
--- a/include/ndnboost/mpl/aux_/find_if_pred.hpp
+++ b/include/ndnboost/mpl/aux_/find_if_pred.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_AUX_FIND_IF_PRED_HPP_INCLUDED
-#define BOOST_MPL_AUX_FIND_IF_PRED_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_AUX_FIND_IF_PRED_HPP_INCLUDED
+#define NDNBOOST_MPL_AUX_FIND_IF_PRED_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 // Copyright Eric Friedman 2002
@@ -28,4 +28,4 @@
 
 }}}
 
-#endif // BOOST_MPL_AUX_FIND_IF_PRED_HPP_INCLUDED
+#endif // NDNBOOST_MPL_AUX_FIND_IF_PRED_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/aux_/fold_impl.hpp b/include/ndnboost/mpl/aux_/fold_impl.hpp
index 339e296..9e7d34d 100644
--- a/include/ndnboost/mpl/aux_/fold_impl.hpp
+++ b/include/ndnboost/mpl/aux_/fold_impl.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_AUX_FOLD_IMPL_HPP_INCLUDED
-#define BOOST_MPL_AUX_FOLD_IMPL_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_AUX_FOLD_IMPL_HPP_INCLUDED
+#define NDNBOOST_MPL_AUX_FOLD_IMPL_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -14,12 +14,12 @@
 // $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
 // $Revision: 49267 $
 
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
+#if !defined(NDNBOOST_MPL_PREPROCESSING_MODE)
 #   include <ndnboost/mpl/next_prior.hpp>
 #   include <ndnboost/mpl/apply.hpp>
 #   include <ndnboost/mpl/deref.hpp>
 #   include <ndnboost/mpl/aux_/config/ctps.hpp>
-#   if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+#   if defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
 #       include <ndnboost/mpl/if.hpp>
 #       include <ndnboost/type_traits/is_same.hpp>
 #   endif
@@ -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 fold_impl.hpp
+#   define NDNBOOST_MPL_PREPROCESSED_HEADER fold_impl.hpp
 #   include <ndnboost/mpl/aux_/include_preprocessed.hpp>
 
 #else
@@ -39,5 +39,5 @@
 #   define AUX778076_FOLD_IMPL_NAME_PREFIX fold
 #   include <ndnboost/mpl/aux_/fold_impl_body.hpp>
 
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-#endif // BOOST_MPL_AUX_FOLD_IMPL_HPP_INCLUDED
+#endif // NDNBOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
+#endif // NDNBOOST_MPL_AUX_FOLD_IMPL_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/aux_/fold_impl_body.hpp b/include/ndnboost/mpl/aux_/fold_impl_body.hpp
index b698dbe..67c4b9a 100644
--- a/include/ndnboost/mpl/aux_/fold_impl_body.hpp
+++ b/include/ndnboost/mpl/aux_/fold_impl_body.hpp
@@ -1,7 +1,7 @@
 
 // NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION
 
-#if !defined(BOOST_PP_IS_ITERATING)
+#if !defined(NDNBOOST_PP_IS_ITERATING)
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -31,26 +31,26 @@
 #   define AUX778076_ITER_FOLD_STEP(unused, i, unused2) \
     typedef typename apply2< \
           ForwardOp \
-        , BOOST_PP_CAT(state,i) \
-        , AUX778076_FOLD_IMPL_OP(BOOST_PP_CAT(iter,i)) \
-        >::type BOOST_PP_CAT(state,BOOST_PP_INC(i)); \
-    typedef typename mpl::next<BOOST_PP_CAT(iter,i)>::type \
-        BOOST_PP_CAT(iter,BOOST_PP_INC(i)); \
+        , NDNBOOST_PP_CAT(state,i) \
+        , AUX778076_FOLD_IMPL_OP(NDNBOOST_PP_CAT(iter,i)) \
+        >::type NDNBOOST_PP_CAT(state,NDNBOOST_PP_INC(i)); \
+    typedef typename mpl::next<NDNBOOST_PP_CAT(iter,i)>::type \
+        NDNBOOST_PP_CAT(iter,NDNBOOST_PP_INC(i)); \
     /**/
 
 #   define AUX778076_FOLD_IMPL_NAME \
-    BOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_impl) \
+    NDNBOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_impl) \
     /**/
 
 #   define AUX778076_FOLD_CHUNK_NAME \
-    BOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_chunk) \
+    NDNBOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_chunk) \
     /**/
 
 namespace ndnboost { namespace mpl { namespace aux {
 
 /// forward declaration
 template<
-      BOOST_MPL_AUX_NTTP_DECL(int, N)
+      NDNBOOST_MPL_AUX_NTTP_DECL(int, N)
     , typename First
     , typename Last
     , typename State
@@ -58,17 +58,17 @@
     > 
 struct AUX778076_FOLD_IMPL_NAME;
 
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+#if !defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
 
-#   if !BOOST_WORKAROUND(__BORLANDC__, < 0x600)
+#   if !NDNBOOST_WORKAROUND(__BORLANDC__, < 0x600)
 
-#   define BOOST_PP_ITERATION_PARAMS_1 \
-    (3,(0, BOOST_MPL_LIMIT_UNROLLING, <ndnboost/mpl/aux_/fold_impl_body.hpp>))
-#   include BOOST_PP_ITERATE()
+#   define NDNBOOST_PP_ITERATION_PARAMS_1 \
+    (3,(0, NDNBOOST_MPL_LIMIT_UNROLLING, <ndnboost/mpl/aux_/fold_impl_body.hpp>))
+#   include NDNBOOST_PP_ITERATE()
 
-// implementation for N that exceeds BOOST_MPL_LIMIT_UNROLLING
+// implementation for N that exceeds NDNBOOST_MPL_LIMIT_UNROLLING
 template<
-      BOOST_MPL_AUX_NTTP_DECL(int, N)
+      NDNBOOST_MPL_AUX_NTTP_DECL(int, N)
     , typename First
     , typename Last
     , typename State
@@ -77,7 +77,7 @@
 struct AUX778076_FOLD_IMPL_NAME
 {
     typedef AUX778076_FOLD_IMPL_NAME<
-          BOOST_MPL_LIMIT_UNROLLING
+          NDNBOOST_MPL_LIMIT_UNROLLING
         , First
         , Last
         , State
@@ -85,7 +85,7 @@
         > chunk_;
 
     typedef AUX778076_FOLD_IMPL_NAME<
-          ( (N - BOOST_MPL_LIMIT_UNROLLING) < 0 ? 0 : N - BOOST_MPL_LIMIT_UNROLLING )
+          ( (N - NDNBOOST_MPL_LIMIT_UNROLLING) < 0 ? 0 : N - NDNBOOST_MPL_LIMIT_UNROLLING )
         , typename chunk_::iterator
         , Last
         , typename chunk_::state
@@ -125,12 +125,12 @@
     typedef Last iterator;
 };
 
-#   else // BOOST_WORKAROUND(__BORLANDC__, < 0x600)
+#   else // NDNBOOST_WORKAROUND(__BORLANDC__, < 0x600)
 
 // Borland have some serious problems with the unrolled version, so
 // we always use a basic implementation
 template<
-      BOOST_MPL_AUX_NTTP_DECL(int, N)
+      NDNBOOST_MPL_AUX_NTTP_DECL(int, N)
     , typename First
     , typename Last
     , typename State
@@ -152,7 +152,7 @@
 };
 
 template<
-      BOOST_MPL_AUX_NTTP_DECL(int, N)
+      NDNBOOST_MPL_AUX_NTTP_DECL(int, N)
      , typename Last
     , typename State
     , typename ForwardOp
@@ -164,19 +164,19 @@
     typedef state type;
 };
 
-#   endif // BOOST_WORKAROUND(__BORLANDC__, < 0x600)
+#   endif // NDNBOOST_WORKAROUND(__BORLANDC__, < 0x600)
  
-#else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#else // NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 
-template< BOOST_MPL_AUX_NTTP_DECL(int, N) >
+template< NDNBOOST_MPL_AUX_NTTP_DECL(int, N) >
 struct AUX778076_FOLD_CHUNK_NAME;
 
-#   define BOOST_PP_ITERATION_PARAMS_1 \
-    (3,(0, BOOST_MPL_LIMIT_UNROLLING, <ndnboost/mpl/aux_/fold_impl_body.hpp>))
-#   include BOOST_PP_ITERATE()
+#   define NDNBOOST_PP_ITERATION_PARAMS_1 \
+    (3,(0, NDNBOOST_MPL_LIMIT_UNROLLING, <ndnboost/mpl/aux_/fold_impl_body.hpp>))
+#   include NDNBOOST_PP_ITERATE()
 
-// implementation for N that exceeds BOOST_MPL_LIMIT_UNROLLING
-template< BOOST_MPL_AUX_NTTP_DECL(int, N) > 
+// implementation for N that exceeds NDNBOOST_MPL_LIMIT_UNROLLING
+template< NDNBOOST_MPL_AUX_NTTP_DECL(int, N) > 
 struct AUX778076_FOLD_CHUNK_NAME
 {
     template<
@@ -188,7 +188,7 @@
     struct result_
     {
         typedef AUX778076_FOLD_IMPL_NAME<
-              BOOST_MPL_LIMIT_UNROLLING
+              NDNBOOST_MPL_LIMIT_UNROLLING
             , First
             , Last
             , State
@@ -196,7 +196,7 @@
             > chunk_;
 
         typedef AUX778076_FOLD_IMPL_NAME<
-              ( (N - BOOST_MPL_LIMIT_UNROLLING) < 0 ? 0 : N - BOOST_MPL_LIMIT_UNROLLING )
+              ( (N - NDNBOOST_MPL_LIMIT_UNROLLING) < 0 ? 0 : N - NDNBOOST_MPL_LIMIT_UNROLLING )
             , typename chunk_::iterator
             , Last
             , typename chunk_::state
@@ -215,13 +215,13 @@
     , typename State
     , typename ForwardOp
     > 
-struct BOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_step);
+struct NDNBOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_step);
 
 template<
       typename Last
     , typename State
     >
-struct BOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_null_step)
+struct NDNBOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_null_step)
 {
     typedef Last iterator;
     typedef State state;
@@ -240,15 +240,15 @@
     {
         typedef typename if_<
               typename is_same<First,Last>::type
-            , BOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_null_step)<Last,State>
-            , BOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_step)<First,Last,State,ForwardOp>
+            , NDNBOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_null_step)<Last,State>
+            , NDNBOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_step)<First,Last,State,ForwardOp>
             >::type res_;
 
         typedef typename res_::state state;
         typedef typename res_::iterator iterator;
     };
 
-#if defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG)
+#if defined(NDNBOOST_MPL_CFG_MSVC_60_ETI_BUG)
     /// ETI workaround
     template<> struct result_<int,int,int,int>
     {
@@ -264,7 +264,7 @@
     , typename State
     , typename ForwardOp
     > 
-struct BOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_step)
+struct NDNBOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_step)
 {
     // can't inherit here - it breaks MSVC 7.0
     typedef AUX778076_FOLD_CHUNK_NAME<-1>::template result_<
@@ -279,7 +279,7 @@
 };
 
 template<
-      BOOST_MPL_AUX_NTTP_DECL(int, N)
+      NDNBOOST_MPL_AUX_NTTP_DECL(int, N)
     , typename First
     , typename Last
     , typename State
@@ -291,7 +291,7 @@
 {
 };
 
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#endif // NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 
 }}}
 
@@ -306,9 +306,9 @@
 
 #else
 
-#   define n_ BOOST_PP_FRAME_ITERATION(1)
+#   define n_ NDNBOOST_PP_FRAME_ITERATION(1)
 
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+#if !defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
 
 template<
       typename First
@@ -321,10 +321,10 @@
     typedef First iter0;
     typedef State state0;
 
-    BOOST_MPL_PP_REPEAT(n_, AUX778076_ITER_FOLD_STEP, unused)
+    NDNBOOST_MPL_PP_REPEAT(n_, AUX778076_ITER_FOLD_STEP, unused)
 
-    typedef BOOST_PP_CAT(state,n_) state;
-    typedef BOOST_PP_CAT(iter,n_) iterator;
+    typedef NDNBOOST_PP_CAT(state,n_) state;
+    typedef NDNBOOST_PP_CAT(iter,n_) iterator;
 };
 
 #else
@@ -342,13 +342,13 @@
         typedef First iter0;
         typedef State state0;
 
-        BOOST_MPL_PP_REPEAT(n_, AUX778076_ITER_FOLD_STEP, unused)
+        NDNBOOST_MPL_PP_REPEAT(n_, AUX778076_ITER_FOLD_STEP, unused)
 
-        typedef BOOST_PP_CAT(state,n_) state;
-        typedef BOOST_PP_CAT(iter,n_) iterator;
+        typedef NDNBOOST_PP_CAT(state,n_) state;
+        typedef NDNBOOST_PP_CAT(iter,n_) iterator;
     };
 
-#if defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG)
+#if defined(NDNBOOST_MPL_CFG_MSVC_60_ETI_BUG)
     /// ETI workaround
     template<> struct result_<int,int,int,int>
     {
@@ -358,8 +358,8 @@
 #endif
 };
 
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#endif // NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 
 #   undef n_
 
-#endif // BOOST_PP_IS_ITERATING
+#endif // NDNBOOST_PP_IS_ITERATING
diff --git a/include/ndnboost/mpl/aux_/full_lambda.hpp b/include/ndnboost/mpl/aux_/full_lambda.hpp
index 5a1ba5f..0a3284d 100644
--- a/include/ndnboost/mpl/aux_/full_lambda.hpp
+++ b/include/ndnboost/mpl/aux_/full_lambda.hpp
@@ -1,10 +1,10 @@
 
-#if !defined(BOOST_PP_IS_ITERATING)
+#if !defined(NDNBOOST_PP_IS_ITERATING)
 
 ///// header body
 
-#ifndef BOOST_MPL_AUX_FULL_LAMBDA_HPP_INCLUDED
-#define BOOST_MPL_AUX_FULL_LAMBDA_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_AUX_FULL_LAMBDA_HPP_INCLUDED
+#define NDNBOOST_MPL_AUX_FULL_LAMBDA_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2001-2004
 //
@@ -18,7 +18,7 @@
 // $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
 // $Revision: 49267 $
 
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
+#if !defined(NDNBOOST_MPL_PREPROCESSING_MODE)
 #   include <ndnboost/mpl/lambda_fwd.hpp>
 #   include <ndnboost/mpl/bind_fwd.hpp>
 #   include <ndnboost/mpl/protect.hpp>
@@ -29,7 +29,7 @@
 #   include <ndnboost/mpl/aux_/template_arity.hpp>
 #   include <ndnboost/mpl/aux_/na_spec.hpp>
 #   include <ndnboost/mpl/aux_/config/ttp.hpp>
-#   if defined(BOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING)
+#   if defined(NDNBOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING)
 #       include <ndnboost/mpl/if.hpp>
 #   endif
 #endif
@@ -37,10 +37,10 @@
 #include <ndnboost/mpl/aux_/lambda_arity_param.hpp>
 #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 full_lambda.hpp
+#   define NDNBOOST_MPL_PREPROCESSED_HEADER full_lambda.hpp
 #   include <ndnboost/mpl/aux_/include_preprocessed.hpp>
 
 #else
@@ -61,31 +61,31 @@
 
 // local macros, #undef-ined at the end of the header
 #   define AUX778076_LAMBDA_PARAMS(i_, param) \
-    BOOST_MPL_PP_PARAMS(i_, param) \
+    NDNBOOST_MPL_PP_PARAMS(i_, param) \
     /**/
 
 #   define AUX778076_BIND_PARAMS(param) \
-    BOOST_MPL_PP_PARAMS( \
-          BOOST_MPL_LIMIT_METAFUNCTION_ARITY \
+    NDNBOOST_MPL_PP_PARAMS( \
+          NDNBOOST_MPL_LIMIT_METAFUNCTION_ARITY \
         , param \
         ) \
     /**/
 
 #   define AUX778076_BIND_N_PARAMS(i_, param) \
-    BOOST_PP_COMMA_IF(i_) \
-    BOOST_MPL_PP_PARAMS(i_, param) \
+    NDNBOOST_PP_COMMA_IF(i_) \
+    NDNBOOST_MPL_PP_PARAMS(i_, param) \
     /**/
 
 #   define AUX778076_ARITY_PARAM(param) \
-    BOOST_MPL_AUX_LAMBDA_ARITY_PARAM(param) \
+    NDNBOOST_MPL_AUX_LAMBDA_ARITY_PARAM(param) \
     /**/
 
 
-#define n_ BOOST_MPL_LIMIT_METAFUNCTION_ARITY
+#define n_ NDNBOOST_MPL_LIMIT_METAFUNCTION_ARITY
 namespace aux {
 
 template<
-      BOOST_MPL_PP_DEFAULT_PARAMS(n_,bool C,false)
+      NDNBOOST_MPL_PP_DEFAULT_PARAMS(n_,bool C,false)
     >
 struct lambda_or
     : true_
@@ -93,7 +93,7 @@
 };
 
 template<>
-struct lambda_or< BOOST_MPL_PP_ENUM(n_,false) >
+struct lambda_or< NDNBOOST_MPL_PP_ENUM(n_,false) >
     : false_
 {
 };
@@ -131,9 +131,9 @@
 };
 
 
-#define BOOST_PP_ITERATION_PARAMS_1 \
-    (3,(0, BOOST_MPL_LIMIT_METAFUNCTION_ARITY, <ndnboost/mpl/aux_/full_lambda.hpp>))
-#include BOOST_PP_ITERATE()
+#define NDNBOOST_PP_ITERATION_PARAMS_1 \
+    (3,(0, NDNBOOST_MPL_LIMIT_METAFUNCTION_ARITY, <ndnboost/mpl/aux_/full_lambda.hpp>))
+#include NDNBOOST_PP_ITERATE()
 
 /// special case for 'protect'
 template< typename T, typename Tag >
@@ -152,7 +152,7 @@
 struct lambda<
           bind<F,AUX778076_BIND_PARAMS(T)>
         , Tag
-        AUX778076_ARITY_PARAM(int_<BOOST_PP_INC(BOOST_MPL_LIMIT_METAFUNCTION_ARITY)>)
+        AUX778076_ARITY_PARAM(int_<NDNBOOST_PP_INC(NDNBOOST_MPL_LIMIT_METAFUNCTION_ARITY)>)
         >
 {
     typedef false_ is_le;
@@ -161,7 +161,7 @@
 };
 
 
-#if defined(BOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING)
+#if defined(NDNBOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING)
 
 template<
       typename F
@@ -187,7 +187,7 @@
     typedef typename le_result_::type type;
 };
 
-#elif !defined(BOOST_MPL_CFG_DMC_AMBIGUOUS_CTPS)
+#elif !defined(NDNBOOST_MPL_CFG_DMC_AMBIGUOUS_CTPS)
 
 /// workaround for MWCW 8.3+/EDG < 303, leads to ambiguity on Digital Mars
 template<
@@ -214,37 +214,37 @@
 #   undef AUX778076_BIND_PARAMS
 #   undef AUX778076_LAMBDA_PARAMS
 
-#if !defined(BOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING)
-BOOST_MPL_AUX_NA_SPEC(2, lambda)
+#if !defined(NDNBOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING)
+NDNBOOST_MPL_AUX_NA_SPEC(2, lambda)
 #else
-BOOST_MPL_AUX_NA_SPEC2(2, 3, lambda)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 3, lambda)
 #endif
 
 }}
 
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-#endif // BOOST_MPL_AUX_FULL_LAMBDA_HPP_INCLUDED
+#endif // NDNBOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
+#endif // NDNBOOST_MPL_AUX_FULL_LAMBDA_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
-#define i_ BOOST_PP_FRAME_ITERATION(1)
+// NDNBOOST_PP_ITERATION_DEPTH test inside an #else clause.
+#else // NDNBOOST_PP_IS_ITERATING
+#if NDNBOOST_PP_ITERATION_DEPTH() == 1
+#define i_ NDNBOOST_PP_FRAME_ITERATION(1)
 
 #if i_ > 0
 
 namespace aux {
 
 #   define AUX778076_RESULT(unused, i_, T) \
-    BOOST_PP_COMMA_IF(i_) \
-    typename BOOST_PP_CAT(T, BOOST_PP_INC(i_))::result_ \
+    NDNBOOST_PP_COMMA_IF(i_) \
+    typename NDNBOOST_PP_CAT(T, NDNBOOST_PP_INC(i_))::result_ \
     /**/
 
 #   define AUX778076_TYPE(unused, i_, T) \
-    BOOST_PP_COMMA_IF(i_) \
-    typename BOOST_PP_CAT(T, BOOST_PP_INC(i_))::type \
+    NDNBOOST_PP_COMMA_IF(i_) \
+    typename NDNBOOST_PP_CAT(T, NDNBOOST_PP_INC(i_))::type \
     /**/
 
 template<
@@ -252,10 +252,10 @@
     , template< AUX778076_LAMBDA_PARAMS(i_, typename P) > class F
     , AUX778076_LAMBDA_PARAMS(i_, typename L)
     >
-struct BOOST_PP_CAT(le_result,i_)
+struct NDNBOOST_PP_CAT(le_result,i_)
 {
     typedef F<
-          BOOST_MPL_PP_REPEAT(i_, AUX778076_TYPE, L)
+          NDNBOOST_MPL_PP_REPEAT(i_, AUX778076_TYPE, L)
         > result_;
     
     typedef result_ type;
@@ -266,11 +266,11 @@
     , template< AUX778076_LAMBDA_PARAMS(i_, typename P) > class F
     , AUX778076_LAMBDA_PARAMS(i_, typename L)
     >
-struct BOOST_PP_CAT(le_result,i_)< true_,Tag,F,AUX778076_LAMBDA_PARAMS(i_, L) >
+struct NDNBOOST_PP_CAT(le_result,i_)< true_,Tag,F,AUX778076_LAMBDA_PARAMS(i_, L) >
 {
-    typedef BOOST_PP_CAT(bind,i_)<
-          BOOST_PP_CAT(quote,i_)<F,Tag>
-        , BOOST_MPL_PP_REPEAT(i_, AUX778076_RESULT, L)
+    typedef NDNBOOST_PP_CAT(bind,i_)<
+          NDNBOOST_PP_CAT(quote,i_)<F,Tag>
+        , NDNBOOST_MPL_PP_REPEAT(i_, AUX778076_RESULT, L)
         > result_;
 
     typedef mpl::protect<result_> type;
@@ -283,18 +283,18 @@
 
 
 #   define AUX778076_LAMBDA_TYPEDEF(unused, i_, T) \
-    typedef lambda< BOOST_PP_CAT(T, BOOST_PP_INC(i_)), Tag > \
-        BOOST_PP_CAT(l,BOOST_PP_INC(i_)); \
+    typedef lambda< NDNBOOST_PP_CAT(T, NDNBOOST_PP_INC(i_)), Tag > \
+        NDNBOOST_PP_CAT(l,NDNBOOST_PP_INC(i_)); \
 /**/
 
 #   define AUX778076_IS_LE_TYPEDEF(unused, i_, unused2) \
-    typedef typename BOOST_PP_CAT(l,BOOST_PP_INC(i_))::is_le \
-        BOOST_PP_CAT(is_le,BOOST_PP_INC(i_)); \
+    typedef typename NDNBOOST_PP_CAT(l,NDNBOOST_PP_INC(i_))::is_le \
+        NDNBOOST_PP_CAT(is_le,NDNBOOST_PP_INC(i_)); \
 /**/
 
 #   define AUX778076_IS_LAMBDA_EXPR(unused, i_, unused2) \
-    BOOST_PP_COMMA_IF(i_) \
-    BOOST_PP_CAT(is_le,BOOST_PP_INC(i_))::value \
+    NDNBOOST_PP_COMMA_IF(i_) \
+    NDNBOOST_PP_CAT(is_le,NDNBOOST_PP_INC(i_))::value \
 /**/
 
 template<
@@ -308,14 +308,14 @@
         AUX778076_ARITY_PARAM(int_<i_>)
         >
 {
-    BOOST_MPL_PP_REPEAT(i_, AUX778076_LAMBDA_TYPEDEF, T)
-    BOOST_MPL_PP_REPEAT(i_, AUX778076_IS_LE_TYPEDEF, unused)
+    NDNBOOST_MPL_PP_REPEAT(i_, AUX778076_LAMBDA_TYPEDEF, T)
+    NDNBOOST_MPL_PP_REPEAT(i_, AUX778076_IS_LE_TYPEDEF, unused)
 
     typedef typename aux::lambda_or<
-          BOOST_MPL_PP_REPEAT(i_, AUX778076_IS_LAMBDA_EXPR, unused)
+          NDNBOOST_MPL_PP_REPEAT(i_, AUX778076_IS_LAMBDA_EXPR, unused)
         >::type is_le;
 
-    typedef aux::BOOST_PP_CAT(le_result,i_)<
+    typedef aux::NDNBOOST_PP_CAT(le_result,i_)<
           is_le, Tag, F, AUX778076_LAMBDA_PARAMS(i_, l)
         > le_result_;
     
@@ -335,13 +335,13 @@
     , typename Tag
     >
 struct lambda<
-          BOOST_PP_CAT(bind,i_)<F AUX778076_BIND_N_PARAMS(i_, T)>
+          NDNBOOST_PP_CAT(bind,i_)<F AUX778076_BIND_N_PARAMS(i_, T)>
         , Tag
-        AUX778076_ARITY_PARAM(int_<BOOST_PP_INC(i_)>)
+        AUX778076_ARITY_PARAM(int_<NDNBOOST_PP_INC(i_)>)
         >
 {
     typedef false_ is_le;
-    typedef BOOST_PP_CAT(bind,i_)<
+    typedef NDNBOOST_PP_CAT(bind,i_)<
           F
         AUX778076_BIND_N_PARAMS(i_, T)
         > result_;
@@ -350,5 +350,5 @@
 };
 
 #undef i_
-#endif // BOOST_PP_ITERATION_DEPTH()
-#endif // BOOST_PP_IS_ITERATING
+#endif // NDNBOOST_PP_ITERATION_DEPTH()
+#endif // NDNBOOST_PP_IS_ITERATING
diff --git a/include/ndnboost/mpl/aux_/has_apply.hpp b/include/ndnboost/mpl/aux_/has_apply.hpp
index d86ce53..329011e 100644
--- a/include/ndnboost/mpl/aux_/has_apply.hpp
+++ b/include/ndnboost/mpl/aux_/has_apply.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_AUX_HAS_APPLY_HPP_INCLUDED
-#define BOOST_MPL_AUX_HAS_APPLY_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_AUX_HAS_APPLY_HPP_INCLUDED
+#define NDNBOOST_MPL_AUX_HAS_APPLY_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2004
 //
@@ -18,8 +18,8 @@
 #include <ndnboost/mpl/aux_/config/has_apply.hpp>
 
 namespace ndnboost { namespace mpl { namespace aux {
-#if !defined(BOOST_MPL_CFG_NO_HAS_APPLY)
-BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(has_apply, apply, false)
+#if !defined(NDNBOOST_MPL_CFG_NO_HAS_APPLY)
+NDNBOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(has_apply, apply, false)
 #else
 template< typename T, typename fallback_ = false_ >
 struct has_apply
@@ -29,4 +29,4 @@
 #endif
 }}}
 
-#endif // BOOST_MPL_AUX_HAS_APPLY_HPP_INCLUDED
+#endif // NDNBOOST_MPL_AUX_HAS_APPLY_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/aux_/has_begin.hpp b/include/ndnboost/mpl/aux_/has_begin.hpp
index fca5610..62c173e 100644
--- a/include/ndnboost/mpl/aux_/has_begin.hpp
+++ b/include/ndnboost/mpl/aux_/has_begin.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_AUX_HAS_BEGIN_HPP_INCLUDED
-#define BOOST_MPL_AUX_HAS_BEGIN_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_AUX_HAS_BEGIN_HPP_INCLUDED
+#define NDNBOOST_MPL_AUX_HAS_BEGIN_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2002-2004
 //
@@ -17,7 +17,7 @@
 #include <ndnboost/mpl/has_xxx.hpp>
 
 namespace ndnboost { namespace mpl { namespace aux {
-BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(has_begin, begin, true)
+NDNBOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(has_begin, begin, true)
 }}}
 
-#endif // BOOST_MPL_AUX_HAS_BEGIN_HPP_INCLUDED
+#endif // NDNBOOST_MPL_AUX_HAS_BEGIN_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/aux_/has_rebind.hpp b/include/ndnboost/mpl/aux_/has_rebind.hpp
index 043e252..90b66e7 100644
--- a/include/ndnboost/mpl/aux_/has_rebind.hpp
+++ b/include/ndnboost/mpl/aux_/has_rebind.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_AUX_HAS_REBIND_HPP_INCLUDED
-#define BOOST_MPL_AUX_HAS_REBIND_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_AUX_HAS_REBIND_HPP_INCLUDED
+#define NDNBOOST_MPL_AUX_HAS_REBIND_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2002-2004
 //
@@ -18,14 +18,14 @@
 #include <ndnboost/mpl/aux_/config/intel.hpp>
 #include <ndnboost/mpl/aux_/config/workaround.hpp>
 
-#if BOOST_WORKAROUND(__EDG_VERSION__, <= 244) && !defined(BOOST_INTEL_CXX_VERSION)
+#if NDNBOOST_WORKAROUND(__EDG_VERSION__, <= 244) && !defined(NDNBOOST_INTEL_CXX_VERSION)
 #   include <ndnboost/mpl/has_xxx.hpp>
-#elif BOOST_WORKAROUND(BOOST_MSVC, < 1300)
+#elif NDNBOOST_WORKAROUND(NDNBOOST_MSVC, < 1300)
 #   include <ndnboost/mpl/has_xxx.hpp>
 #   include <ndnboost/mpl/if.hpp>
 #   include <ndnboost/mpl/bool.hpp>
 #   include <ndnboost/mpl/aux_/msvc_is_class.hpp>
-#elif BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610))
+#elif NDNBOOST_WORKAROUND(__BORLANDC__, NDNBOOST_TESTED_AT(0x610))
 #   include <ndnboost/mpl/if.hpp>
 #   include <ndnboost/mpl/bool.hpp>
 #   include <ndnboost/mpl/aux_/yes_no.hpp>
@@ -39,13 +39,13 @@
 
 namespace ndnboost { namespace mpl { namespace aux {
 
-#if BOOST_WORKAROUND(__EDG_VERSION__, <= 244) && !defined(BOOST_INTEL_CXX_VERSION)
+#if NDNBOOST_WORKAROUND(__EDG_VERSION__, <= 244) && !defined(NDNBOOST_INTEL_CXX_VERSION)
 
-BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(has_rebind, rebind, false)
+NDNBOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(has_rebind, rebind, false)
 
-#elif BOOST_WORKAROUND(BOOST_MSVC, < 1300)
+#elif NDNBOOST_WORKAROUND(NDNBOOST_MSVC, < 1300)
 
-BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(has_rebind_impl, rebind, false)
+NDNBOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(has_rebind_impl, rebind, false)
 
 template< typename T >
 struct has_rebind
@@ -62,12 +62,12 @@
 template< typename T > struct has_rebind_tag {};
 no_tag operator|(has_rebind_tag<int>, void const volatile*);
 
-#   if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610))
+#   if !NDNBOOST_WORKAROUND(__BORLANDC__, NDNBOOST_TESTED_AT(0x610))
 template< typename T >
 struct has_rebind
 {
     static has_rebind_tag<T>* get();
-    BOOST_STATIC_CONSTANT(bool, value = 
+    NDNBOOST_STATIC_CONSTANT(bool, value = 
           sizeof(has_rebind_tag<int>() | get()) == sizeof(yes_tag)
         );
 };
@@ -76,7 +76,7 @@
 struct has_rebind_impl
 {
     static T* get();
-    BOOST_STATIC_CONSTANT(bool, value = 
+    NDNBOOST_STATIC_CONSTANT(bool, value = 
           sizeof(has_rebind_tag<int>() | get()) == sizeof(yes_tag)
         );
 };
@@ -96,4 +96,4 @@
 
 }}}
 
-#endif // BOOST_MPL_AUX_HAS_REBIND_HPP_INCLUDED
+#endif // NDNBOOST_MPL_AUX_HAS_REBIND_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/aux_/has_size.hpp b/include/ndnboost/mpl/aux_/has_size.hpp
index 5bb77f6..915e932 100644
--- a/include/ndnboost/mpl/aux_/has_size.hpp
+++ b/include/ndnboost/mpl/aux_/has_size.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_AUX_HAS_SIZE_HPP_INCLUDED
-#define BOOST_MPL_AUX_HAS_SIZE_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_AUX_HAS_SIZE_HPP_INCLUDED
+#define NDNBOOST_MPL_AUX_HAS_SIZE_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2002-2004
 //
@@ -17,7 +17,7 @@
 #include <ndnboost/mpl/has_xxx.hpp>
 
 namespace ndnboost { namespace mpl { namespace aux {
-BOOST_MPL_HAS_XXX_TRAIT_DEF(size)
+NDNBOOST_MPL_HAS_XXX_TRAIT_DEF(size)
 }}}
 
-#endif // BOOST_MPL_AUX_HAS_SIZE_HPP_INCLUDED
+#endif // NDNBOOST_MPL_AUX_HAS_SIZE_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/aux_/has_tag.hpp b/include/ndnboost/mpl/aux_/has_tag.hpp
index 620923f..ec60867 100644
--- a/include/ndnboost/mpl/aux_/has_tag.hpp
+++ b/include/ndnboost/mpl/aux_/has_tag.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_AUX_HAS_TAG_HPP_INCLUDED
-#define BOOST_MPL_AUX_HAS_TAG_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_AUX_HAS_TAG_HPP_INCLUDED
+#define NDNBOOST_MPL_AUX_HAS_TAG_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2002-2004
 //
@@ -17,7 +17,7 @@
 #include <ndnboost/mpl/has_xxx.hpp>
 
 namespace ndnboost { namespace mpl { namespace aux {
-BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(has_tag, tag, false)
+NDNBOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(has_tag, tag, false)
 }}}
 
-#endif // BOOST_MPL_AUX_HAS_TAG_HPP_INCLUDED
+#endif // NDNBOOST_MPL_AUX_HAS_TAG_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/aux_/has_type.hpp b/include/ndnboost/mpl/aux_/has_type.hpp
index d99fef3..fa5fe23 100644
--- a/include/ndnboost/mpl/aux_/has_type.hpp
+++ b/include/ndnboost/mpl/aux_/has_type.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_AUX_HAS_TYPE_HPP_INCLUDED
-#define BOOST_MPL_AUX_HAS_TYPE_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_AUX_HAS_TYPE_HPP_INCLUDED
+#define NDNBOOST_MPL_AUX_HAS_TYPE_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2002-2004
 //
@@ -17,7 +17,7 @@
 #include <ndnboost/mpl/has_xxx.hpp>
 
 namespace ndnboost { namespace mpl { namespace aux {
-BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(has_type, type, true)
+NDNBOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(has_type, type, true)
 }}}
 
-#endif // BOOST_MPL_AUX_HAS_TYPE_HPP_INCLUDED
+#endif // NDNBOOST_MPL_AUX_HAS_TYPE_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/aux_/include_preprocessed.hpp b/include/ndnboost/mpl/aux_/include_preprocessed.hpp
index ca47e08..0357031 100644
--- a/include/ndnboost/mpl/aux_/include_preprocessed.hpp
+++ b/include/ndnboost/mpl/aux_/include_preprocessed.hpp
@@ -19,24 +19,24 @@
 #include <ndnboost/preprocessor/cat.hpp>
 #include <ndnboost/preprocessor/stringize.hpp>
 
-#if !defined(BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING)
+#if !defined(NDNBOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING)
 #   define AUX778076_PREPROCESSED_HEADER \
-    BOOST_MPL_CFG_COMPILER_DIR/BOOST_MPL_PREPROCESSED_HEADER \
+    NDNBOOST_MPL_CFG_COMPILER_DIR/NDNBOOST_MPL_PREPROCESSED_HEADER \
 /**/
 #else
 #   define AUX778076_PREPROCESSED_HEADER \
-    BOOST_PP_CAT(BOOST_MPL_CFG_COMPILER_DIR,/)##BOOST_MPL_PREPROCESSED_HEADER \
+    NDNBOOST_PP_CAT(NDNBOOST_MPL_CFG_COMPILER_DIR,/)##NDNBOOST_MPL_PREPROCESSED_HEADER \
 /**/
 #endif
 
-#if BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(700))
-#   define AUX778076_INCLUDE_STRING BOOST_PP_STRINGIZE(ndnboost/mpl/aux_/preprocessed/AUX778076_PREPROCESSED_HEADER)
+#if NDNBOOST_WORKAROUND(__IBMCPP__, NDNBOOST_TESTED_AT(700))
+#   define AUX778076_INCLUDE_STRING NDNBOOST_PP_STRINGIZE(ndnboost/mpl/aux_/preprocessed/AUX778076_PREPROCESSED_HEADER)
 #   include AUX778076_INCLUDE_STRING
 #   undef AUX778076_INCLUDE_STRING
 #else
-#   include BOOST_PP_STRINGIZE(ndnboost/mpl/aux_/preprocessed/AUX778076_PREPROCESSED_HEADER)
+#   include NDNBOOST_PP_STRINGIZE(ndnboost/mpl/aux_/preprocessed/AUX778076_PREPROCESSED_HEADER)
 #endif
 
 #   undef AUX778076_PREPROCESSED_HEADER
 
-#undef BOOST_MPL_PREPROCESSED_HEADER
+#undef NDNBOOST_MPL_PREPROCESSED_HEADER
diff --git a/include/ndnboost/mpl/aux_/inserter_algorithm.hpp b/include/ndnboost/mpl/aux_/inserter_algorithm.hpp
index cfbe84e..3a75978 100644
--- a/include/ndnboost/mpl/aux_/inserter_algorithm.hpp
+++ b/include/ndnboost/mpl/aux_/inserter_algorithm.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_AUX_INSERTER_ALGORITHM_HPP_INCLUDED
-#define BOOST_MPL_AUX_INSERTER_ALGORITHM_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_AUX_INSERTER_ALGORITHM_HPP_INCLUDED
+#define NDNBOOST_MPL_AUX_INSERTER_ALGORITHM_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2003-2004
 // Copyright David Abrahams 2003-2004
@@ -33,29 +33,29 @@
 
 #include <ndnboost/preprocessor/arithmetic/dec.hpp>
 
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+#if !defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
 
-#   define BOOST_MPL_AUX_INSERTER_ALGORITHM_DEF(arity, name) \
-BOOST_MPL_AUX_COMMON_NAME_WKND(name) \
+#   define NDNBOOST_MPL_AUX_INSERTER_ALGORITHM_DEF(arity, name) \
+NDNBOOST_MPL_AUX_COMMON_NAME_WKND(name) \
 template< \
-      BOOST_MPL_PP_DEFAULT_PARAMS(arity, typename P, na) \
+      NDNBOOST_MPL_PP_DEFAULT_PARAMS(arity, typename P, na) \
     > \
 struct name \
-    : aux::name##_impl<BOOST_MPL_PP_PARAMS(arity, P)> \
+    : aux::name##_impl<NDNBOOST_MPL_PP_PARAMS(arity, P)> \
 { \
 }; \
 \
 template< \
-      BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(arity), typename P) \
+      NDNBOOST_MPL_PP_PARAMS(NDNBOOST_PP_DEC(arity), typename P) \
     > \
-struct name< BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(arity), P),na > \
+struct name< NDNBOOST_MPL_PP_PARAMS(NDNBOOST_PP_DEC(arity), P),na > \
     : if_< has_push_back< typename clear<P1>::type> \
         , aux::name##_impl< \
-              BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(arity), P) \
+              NDNBOOST_MPL_PP_PARAMS(NDNBOOST_PP_DEC(arity), P) \
             , back_inserter< typename clear<P1>::type > \
             > \
         , aux::reverse_##name##_impl< \
-              BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(arity), P) \
+              NDNBOOST_MPL_PP_PARAMS(NDNBOOST_PP_DEC(arity), P) \
             , front_inserter< typename clear<P1>::type > \
             > \
         >::type \
@@ -63,48 +63,48 @@
 }; \
 \
 template< \
-      BOOST_MPL_PP_DEFAULT_PARAMS(arity, typename P, na) \
+      NDNBOOST_MPL_PP_DEFAULT_PARAMS(arity, typename P, na) \
     > \
 struct reverse_##name \
-    : aux::reverse_##name##_impl<BOOST_MPL_PP_PARAMS(arity, P)> \
+    : aux::reverse_##name##_impl<NDNBOOST_MPL_PP_PARAMS(arity, P)> \
 { \
 }; \
 \
 template< \
-      BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(arity), typename P) \
+      NDNBOOST_MPL_PP_PARAMS(NDNBOOST_PP_DEC(arity), typename P) \
     > \
-struct reverse_##name< BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(arity), P),na > \
+struct reverse_##name< NDNBOOST_MPL_PP_PARAMS(NDNBOOST_PP_DEC(arity), P),na > \
     : if_< has_push_back<P1> \
         , aux::reverse_##name##_impl< \
-              BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(arity), P) \
+              NDNBOOST_MPL_PP_PARAMS(NDNBOOST_PP_DEC(arity), P) \
             , back_inserter< typename clear<P1>::type > \
             > \
         , aux::name##_impl< \
-              BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(arity), P) \
+              NDNBOOST_MPL_PP_PARAMS(NDNBOOST_PP_DEC(arity), P) \
             , front_inserter< typename clear<P1>::type > \
             > \
         >::type \
 { \
 }; \
-BOOST_MPL_AUX_NA_SPEC(arity, name) \
-BOOST_MPL_AUX_NA_SPEC(arity, reverse_##name) \
+NDNBOOST_MPL_AUX_NA_SPEC(arity, name) \
+NDNBOOST_MPL_AUX_NA_SPEC(arity, reverse_##name) \
 /**/
 
 #else
 
-#   define BOOST_MPL_AUX_INSERTER_ALGORITHM_DEF(arity, name) \
-BOOST_MPL_AUX_COMMON_NAME_WKND(name) \
+#   define NDNBOOST_MPL_AUX_INSERTER_ALGORITHM_DEF(arity, name) \
+NDNBOOST_MPL_AUX_COMMON_NAME_WKND(name) \
 template< \
-      BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(arity), typename P) \
+      NDNBOOST_MPL_PP_PARAMS(NDNBOOST_PP_DEC(arity), typename P) \
     > \
 struct def_##name##_impl \
     : if_< has_push_back<P1> \
         , aux::name##_impl< \
-              BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(arity), P) \
+              NDNBOOST_MPL_PP_PARAMS(NDNBOOST_PP_DEC(arity), P) \
             , back_inserter< typename clear<P1>::type > \
             > \
         , aux::reverse_##name##_impl< \
-              BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(arity), P) \
+              NDNBOOST_MPL_PP_PARAMS(NDNBOOST_PP_DEC(arity), P) \
             , front_inserter< typename clear<P1>::type > \
             > \
         >::type \
@@ -112,48 +112,48 @@
 }; \
 \
 template< \
-      BOOST_MPL_PP_DEFAULT_PARAMS(arity, typename P, na) \
+      NDNBOOST_MPL_PP_DEFAULT_PARAMS(arity, typename P, na) \
     > \
 struct name \
 { \
     typedef typename eval_if< \
-          is_na<BOOST_PP_CAT(P, arity)> \
-        , def_##name##_impl<BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(arity), P)> \
-        , aux::name##_impl<BOOST_MPL_PP_PARAMS(arity, P)> \
+          is_na<NDNBOOST_PP_CAT(P, arity)> \
+        , def_##name##_impl<NDNBOOST_MPL_PP_PARAMS(NDNBOOST_PP_DEC(arity), P)> \
+        , aux::name##_impl<NDNBOOST_MPL_PP_PARAMS(arity, P)> \
         >::type type; \
 }; \
 \
 template< \
-      BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(arity), typename P) \
+      NDNBOOST_MPL_PP_PARAMS(NDNBOOST_PP_DEC(arity), typename P) \
     > \
 struct def_reverse_##name##_impl \
     : if_< has_push_back<P1> \
         , aux::reverse_##name##_impl< \
-              BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(arity), P) \
+              NDNBOOST_MPL_PP_PARAMS(NDNBOOST_PP_DEC(arity), P) \
             , back_inserter< typename clear<P1>::type > \
             > \
         , aux::name##_impl< \
-              BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(arity), P) \
+              NDNBOOST_MPL_PP_PARAMS(NDNBOOST_PP_DEC(arity), P) \
             , front_inserter< typename clear<P1>::type > \
             > \
         >::type \
 { \
 }; \
 template< \
-      BOOST_MPL_PP_DEFAULT_PARAMS(arity, typename P, na) \
+      NDNBOOST_MPL_PP_DEFAULT_PARAMS(arity, typename P, na) \
     > \
 struct reverse_##name \
 { \
     typedef typename eval_if< \
-          is_na<BOOST_PP_CAT(P, arity)> \
-        , def_reverse_##name##_impl<BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(arity), P)> \
-        , aux::reverse_##name##_impl<BOOST_MPL_PP_PARAMS(arity, P)> \
+          is_na<NDNBOOST_PP_CAT(P, arity)> \
+        , def_reverse_##name##_impl<NDNBOOST_MPL_PP_PARAMS(NDNBOOST_PP_DEC(arity), P)> \
+        , aux::reverse_##name##_impl<NDNBOOST_MPL_PP_PARAMS(arity, P)> \
         >::type type; \
 }; \
-BOOST_MPL_AUX_NA_SPEC(arity, name) \
-BOOST_MPL_AUX_NA_SPEC(arity, reverse_##name) \
+NDNBOOST_MPL_AUX_NA_SPEC(arity, name) \
+NDNBOOST_MPL_AUX_NA_SPEC(arity, reverse_##name) \
 /**/
 
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#endif // NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 
-#endif // BOOST_MPL_AUX_INSERTER_ALGORITHM_HPP_INCLUDED
+#endif // NDNBOOST_MPL_AUX_INSERTER_ALGORITHM_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/aux_/integral_wrapper.hpp b/include/ndnboost/mpl/aux_/integral_wrapper.hpp
index 3ff7d82..462834a 100644
--- a/include/ndnboost/mpl/aux_/integral_wrapper.hpp
+++ b/include/ndnboost/mpl/aux_/integral_wrapper.hpp
@@ -22,30 +22,30 @@
 #include <ndnboost/preprocessor/cat.hpp>
 
 #if !defined(AUX_WRAPPER_NAME)
-#   define AUX_WRAPPER_NAME BOOST_PP_CAT(AUX_WRAPPER_VALUE_TYPE,_)
+#   define AUX_WRAPPER_NAME NDNBOOST_PP_CAT(AUX_WRAPPER_VALUE_TYPE,_)
 #endif
 
 #if !defined(AUX_WRAPPER_PARAMS)
-#   define AUX_WRAPPER_PARAMS(N) BOOST_MPL_AUX_NTTP_DECL(AUX_WRAPPER_VALUE_TYPE, N)
+#   define AUX_WRAPPER_PARAMS(N) NDNBOOST_MPL_AUX_NTTP_DECL(AUX_WRAPPER_VALUE_TYPE, N)
 #endif
 
 #if !defined(AUX_WRAPPER_INST)
-#   if BOOST_WORKAROUND(__MWERKS__, <= 0x2407)
+#   if NDNBOOST_WORKAROUND(__MWERKS__, <= 0x2407)
 #       define AUX_WRAPPER_INST(value) AUX_WRAPPER_NAME< value >
 #   else 
-#       define AUX_WRAPPER_INST(value) BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::AUX_WRAPPER_NAME< value >
+#       define AUX_WRAPPER_INST(value) NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::AUX_WRAPPER_NAME< value >
 #   endif
 #endif
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 
 template< AUX_WRAPPER_PARAMS(N) >
 struct AUX_WRAPPER_NAME
 {
-    BOOST_STATIC_CONSTANT(AUX_WRAPPER_VALUE_TYPE, value = N);
+    NDNBOOST_STATIC_CONSTANT(AUX_WRAPPER_VALUE_TYPE, value = N);
 // agurt, 08/mar/03: SGI MIPSpro C++ workaround, have to #ifdef because some 
 // other compilers (e.g. MSVC) are not particulary happy about it
-#if BOOST_WORKAROUND(__EDG_VERSION__, <= 238)
+#if NDNBOOST_WORKAROUND(__EDG_VERSION__, <= 238)
     typedef struct AUX_WRAPPER_NAME type;
 #else
     typedef AUX_WRAPPER_NAME type;
@@ -56,21 +56,21 @@
 // have to #ifdef here: some compilers don't like the 'N + 1' form (MSVC),
 // while some other don't like 'value + 1' (Borland), and some don't like
 // either
-#if BOOST_WORKAROUND(__EDG_VERSION__, <= 243)
+#if NDNBOOST_WORKAROUND(__EDG_VERSION__, <= 243)
  private:
-    BOOST_STATIC_CONSTANT(AUX_WRAPPER_VALUE_TYPE, next_value = BOOST_MPL_AUX_STATIC_CAST(AUX_WRAPPER_VALUE_TYPE, (N + 1)));
-    BOOST_STATIC_CONSTANT(AUX_WRAPPER_VALUE_TYPE, prior_value = BOOST_MPL_AUX_STATIC_CAST(AUX_WRAPPER_VALUE_TYPE, (N - 1)));
+    NDNBOOST_STATIC_CONSTANT(AUX_WRAPPER_VALUE_TYPE, next_value = NDNBOOST_MPL_AUX_STATIC_CAST(AUX_WRAPPER_VALUE_TYPE, (N + 1)));
+    NDNBOOST_STATIC_CONSTANT(AUX_WRAPPER_VALUE_TYPE, prior_value = NDNBOOST_MPL_AUX_STATIC_CAST(AUX_WRAPPER_VALUE_TYPE, (N - 1)));
  public:
     typedef AUX_WRAPPER_INST(next_value) next;
     typedef AUX_WRAPPER_INST(prior_value) prior;
-#elif BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x561)) \
-    || BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(502)) \
-    || (BOOST_WORKAROUND(__HP_aCC, <= 53800) && (BOOST_WORKAROUND(__hpxstd98, != 1)))
-    typedef AUX_WRAPPER_INST( BOOST_MPL_AUX_STATIC_CAST(AUX_WRAPPER_VALUE_TYPE, (N + 1)) ) next;
-    typedef AUX_WRAPPER_INST( BOOST_MPL_AUX_STATIC_CAST(AUX_WRAPPER_VALUE_TYPE, (N - 1)) ) prior;
+#elif NDNBOOST_WORKAROUND(__BORLANDC__, NDNBOOST_TESTED_AT(0x561)) \
+    || NDNBOOST_WORKAROUND(__IBMCPP__, NDNBOOST_TESTED_AT(502)) \
+    || (NDNBOOST_WORKAROUND(__HP_aCC, <= 53800) && (NDNBOOST_WORKAROUND(__hpxstd98, != 1)))
+    typedef AUX_WRAPPER_INST( NDNBOOST_MPL_AUX_STATIC_CAST(AUX_WRAPPER_VALUE_TYPE, (N + 1)) ) next;
+    typedef AUX_WRAPPER_INST( NDNBOOST_MPL_AUX_STATIC_CAST(AUX_WRAPPER_VALUE_TYPE, (N - 1)) ) prior;
 #else
-    typedef AUX_WRAPPER_INST( BOOST_MPL_AUX_STATIC_CAST(AUX_WRAPPER_VALUE_TYPE, (value + 1)) ) next;
-    typedef AUX_WRAPPER_INST( BOOST_MPL_AUX_STATIC_CAST(AUX_WRAPPER_VALUE_TYPE, (value - 1)) ) prior;
+    typedef AUX_WRAPPER_INST( NDNBOOST_MPL_AUX_STATIC_CAST(AUX_WRAPPER_VALUE_TYPE, (value + 1)) ) next;
+    typedef AUX_WRAPPER_INST( NDNBOOST_MPL_AUX_STATIC_CAST(AUX_WRAPPER_VALUE_TYPE, (value - 1)) ) prior;
 #endif
 
     // enables uniform function call syntax for families of overloaded 
@@ -80,12 +80,12 @@
     operator AUX_WRAPPER_VALUE_TYPE() const { return static_cast<AUX_WRAPPER_VALUE_TYPE>(this->value); } 
 };
 
-#if !defined(BOOST_NO_INCLASS_MEMBER_INITIALIZATION)
+#if !defined(NDNBOOST_NO_INCLASS_MEMBER_INITIALIZATION)
 template< AUX_WRAPPER_PARAMS(N) >
 AUX_WRAPPER_VALUE_TYPE const AUX_WRAPPER_INST(N)::value;
 #endif
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
 
 #undef AUX_WRAPPER_NAME
 #undef AUX_WRAPPER_PARAMS
diff --git a/include/ndnboost/mpl/aux_/is_msvc_eti_arg.hpp b/include/ndnboost/mpl/aux_/is_msvc_eti_arg.hpp
index 9ec0bcc..54a93eb 100644
--- a/include/ndnboost/mpl/aux_/is_msvc_eti_arg.hpp
+++ b/include/ndnboost/mpl/aux_/is_msvc_eti_arg.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_AUX_IS_MSVC_ETI_ARG_HPP_INCLUDED
-#define BOOST_MPL_AUX_IS_MSVC_ETI_ARG_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_AUX_IS_MSVC_ETI_ARG_HPP_INCLUDED
+#define NDNBOOST_MPL_AUX_IS_MSVC_ETI_ARG_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2001-2004
 //
@@ -20,17 +20,17 @@
 
 namespace ndnboost { namespace mpl { namespace aux {
 
-#if defined(BOOST_MPL_CFG_MSVC_ETI_BUG)
+#if defined(NDNBOOST_MPL_CFG_MSVC_ETI_BUG)
 
-#if defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG)
+#if defined(NDNBOOST_MPL_CFG_MSVC_60_ETI_BUG)
 
 template< typename T >
 struct is_msvc_eti_arg
 { 
-    BOOST_STATIC_CONSTANT(bool, value = false);
+    NDNBOOST_STATIC_CONSTANT(bool, value = false);
 };
 
-#else // BOOST_MPL_CFG_MSVC_60_ETI_BUG
+#else // NDNBOOST_MPL_CFG_MSVC_60_ETI_BUG
 
 struct eti_int_convertible
 {
@@ -44,7 +44,7 @@
     static yes_tag test(eti_int_convertible);
     static T& get();
 
-    BOOST_STATIC_CONSTANT(bool, value = 
+    NDNBOOST_STATIC_CONSTANT(bool, value = 
           sizeof(test(get())) == sizeof(yes_tag)
         );
 };
@@ -54,11 +54,11 @@
 template<>
 struct is_msvc_eti_arg<int>
 { 
-    BOOST_STATIC_CONSTANT(bool, value = true);
+    NDNBOOST_STATIC_CONSTANT(bool, value = true);
 };
 
-#endif // BOOST_MPL_CFG_MSVC_ETI_BUG
+#endif // NDNBOOST_MPL_CFG_MSVC_ETI_BUG
 
 }}}
 
-#endif // BOOST_MPL_AUX_IS_MSVC_ETI_ARG_HPP_INCLUDED
+#endif // NDNBOOST_MPL_AUX_IS_MSVC_ETI_ARG_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/aux_/iter_apply.hpp b/include/ndnboost/mpl/aux_/iter_apply.hpp
index c5a62a5..6b3b7fe 100644
--- a/include/ndnboost/mpl/aux_/iter_apply.hpp
+++ b/include/ndnboost/mpl/aux_/iter_apply.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_ITER_APPLY_HPP_INCLUDED
-#define BOOST_MPL_ITER_APPLY_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_ITER_APPLY_HPP_INCLUDED
+#define NDNBOOST_MPL_ITER_APPLY_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2002-2004
 //
@@ -44,4 +44,4 @@
 
 }}}
 
-#endif // BOOST_MPL_ITER_APPLY_HPP_INCLUDED
+#endif // NDNBOOST_MPL_ITER_APPLY_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/aux_/iter_fold_if_impl.hpp b/include/ndnboost/mpl/aux_/iter_fold_if_impl.hpp
index ee90eb2..b3d93be 100644
--- a/include/ndnboost/mpl/aux_/iter_fold_if_impl.hpp
+++ b/include/ndnboost/mpl/aux_/iter_fold_if_impl.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_AUX_ITER_FOLD_IF_IMPL_HPP_INCLUDED
-#define BOOST_MPL_AUX_ITER_FOLD_IF_IMPL_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_AUX_ITER_FOLD_IF_IMPL_HPP_INCLUDED
+#define NDNBOOST_MPL_AUX_ITER_FOLD_IF_IMPL_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2001-2004
 // Copyright David Abrahams 2001-2002
@@ -15,7 +15,7 @@
 // $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
 // $Revision: 49267 $
 
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
+#if !defined(NDNBOOST_MPL_PREPROCESSING_MODE)
 #   include <ndnboost/mpl/identity.hpp>
 #   include <ndnboost/mpl/next.hpp>
 #   include <ndnboost/mpl/if.hpp>
@@ -25,10 +25,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 iter_fold_if_impl.hpp
+#   define NDNBOOST_MPL_PREPROCESSED_HEADER iter_fold_if_impl.hpp
 #   include <ndnboost/mpl/aux_/include_preprocessed.hpp>
 
 #else
@@ -94,7 +94,7 @@
 {
     typedef typename apply2<Predicate,State,Iterator>::type not_last;
     typedef typename iter_fold_if_step_impl<
-          BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
+          NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
         >::template result_< Iterator,State,ForwardOp,mpl::next<Iterator> > impl_;
 
     typedef typename impl_::state state;
@@ -111,7 +111,7 @@
 {
     typedef typename apply2<Predicate,State,Iterator>::type not_last;
     typedef typename iter_fold_if_step_impl<
-          BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
+          NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
         >::template result_< Iterator,State,BackwardOp,identity<Iterator> > impl_;
 
     typedef typename impl_::state state;
@@ -123,34 +123,34 @@
 
 #   define AUX_ITER_FOLD_FORWARD_STEP(unused, i, unused2) \
     typedef iter_fold_if_forward_step< \
-          typename BOOST_PP_CAT(forward_step,i)::iterator \
-        , typename BOOST_PP_CAT(forward_step,i)::state \
+          typename NDNBOOST_PP_CAT(forward_step,i)::iterator \
+        , typename NDNBOOST_PP_CAT(forward_step,i)::state \
         , ForwardOp \
         , ForwardPredicate \
-        > BOOST_PP_CAT(forward_step, BOOST_PP_INC(i)); \
+        > NDNBOOST_PP_CAT(forward_step, NDNBOOST_PP_INC(i)); \
     /**/
 
 #   define AUX_ITER_FOLD_BACKWARD_STEP_FUNC(i) \
     typedef iter_fold_if_backward_step< \
-          typename BOOST_PP_CAT(forward_step,BOOST_PP_DEC(i))::iterator \
-        , typename BOOST_PP_CAT(backward_step,i)::state \
+          typename NDNBOOST_PP_CAT(forward_step,NDNBOOST_PP_DEC(i))::iterator \
+        , typename NDNBOOST_PP_CAT(backward_step,i)::state \
         , BackwardOp \
         , BackwardPredicate \
-        > BOOST_PP_CAT(backward_step,BOOST_PP_DEC(i)); \
+        > NDNBOOST_PP_CAT(backward_step,NDNBOOST_PP_DEC(i)); \
     /**/
 
 #   define AUX_ITER_FOLD_BACKWARD_STEP(unused, i, unused2) \
     AUX_ITER_FOLD_BACKWARD_STEP_FUNC( \
-        BOOST_PP_SUB_D(1,BOOST_MPL_LIMIT_UNROLLING,i) \
+        NDNBOOST_PP_SUB_D(1,NDNBOOST_MPL_LIMIT_UNROLLING,i) \
         ) \
     /**/
 
 #   define AUX_LAST_FORWARD_STEP \
-    BOOST_PP_CAT(forward_step, BOOST_MPL_LIMIT_UNROLLING) \
+    NDNBOOST_PP_CAT(forward_step, NDNBOOST_MPL_LIMIT_UNROLLING) \
     /**/
 
 #   define AUX_LAST_BACKWARD_STEP \
-    BOOST_PP_CAT(backward_step, BOOST_MPL_LIMIT_UNROLLING) \
+    NDNBOOST_PP_CAT(backward_step, NDNBOOST_MPL_LIMIT_UNROLLING) \
     /**/
 
 template<
@@ -165,8 +165,8 @@
 {
  private:
     typedef iter_fold_if_null_step<Iterator,State> forward_step0;
-    BOOST_PP_REPEAT(
-          BOOST_MPL_LIMIT_UNROLLING
+    NDNBOOST_PP_REPEAT(
+          NDNBOOST_MPL_LIMIT_UNROLLING
         , AUX_ITER_FOLD_FORWARD_STEP
         , unused
         )
@@ -187,8 +187,8 @@
             >
         >::type AUX_LAST_BACKWARD_STEP;
 
-    BOOST_PP_REPEAT(
-          BOOST_MPL_LIMIT_UNROLLING
+    NDNBOOST_PP_REPEAT(
+          NDNBOOST_MPL_LIMIT_UNROLLING
         , AUX_ITER_FOLD_BACKWARD_STEP
         , unused
         )
@@ -206,5 +206,5 @@
 
 }}}
 
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-#endif // BOOST_MPL_AUX_ITER_FOLD_IF_IMPL_HPP_INCLUDED
+#endif // NDNBOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
+#endif // NDNBOOST_MPL_AUX_ITER_FOLD_IF_IMPL_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/aux_/iter_fold_impl.hpp b/include/ndnboost/mpl/aux_/iter_fold_impl.hpp
index c67b1e7..6154127 100644
--- a/include/ndnboost/mpl/aux_/iter_fold_impl.hpp
+++ b/include/ndnboost/mpl/aux_/iter_fold_impl.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_AUX_ITER_FOLD_IMPL_HPP_INCLUDED
-#define BOOST_MPL_AUX_ITER_FOLD_IMPL_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_AUX_ITER_FOLD_IMPL_HPP_INCLUDED
+#define NDNBOOST_MPL_AUX_ITER_FOLD_IMPL_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -14,11 +14,11 @@
 // $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
 // $Revision: 49267 $
 
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
+#if !defined(NDNBOOST_MPL_PREPROCESSING_MODE)
 #   include <ndnboost/mpl/next_prior.hpp>
 #   include <ndnboost/mpl/apply.hpp>
 #   include <ndnboost/mpl/aux_/config/ctps.hpp>
-#   if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+#   if defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
 #       include <ndnboost/mpl/if.hpp>
 #       include <ndnboost/type_traits/is_same.hpp>
 #   endif
@@ -26,10 +26,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 iter_fold_impl.hpp
+#   define NDNBOOST_MPL_PREPROCESSED_HEADER iter_fold_impl.hpp
 #   include <ndnboost/mpl/aux_/include_preprocessed.hpp>
 
 #else
@@ -38,5 +38,5 @@
 #   define AUX778076_FOLD_IMPL_NAME_PREFIX iter_fold
 #   include <ndnboost/mpl/aux_/fold_impl_body.hpp>
 
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-#endif // BOOST_MPL_AUX_ITER_FOLD_IMPL_HPP_INCLUDED
+#endif // NDNBOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
+#endif // NDNBOOST_MPL_AUX_ITER_FOLD_IMPL_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/aux_/lambda_arity_param.hpp b/include/ndnboost/mpl/aux_/lambda_arity_param.hpp
index b4d0e44..369425e 100644
--- a/include/ndnboost/mpl/aux_/lambda_arity_param.hpp
+++ b/include/ndnboost/mpl/aux_/lambda_arity_param.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_AUX_LAMBDA_ARITY_PARAM_HPP_INCLUDED
-#define BOOST_MPL_AUX_LAMBDA_ARITY_PARAM_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_AUX_LAMBDA_ARITY_PARAM_HPP_INCLUDED
+#define NDNBOOST_MPL_AUX_LAMBDA_ARITY_PARAM_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2001-2004
 //
@@ -16,10 +16,10 @@
 
 #include <ndnboost/mpl/aux_/config/ttp.hpp>
 
-#if !defined(BOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING)
-#   define BOOST_MPL_AUX_LAMBDA_ARITY_PARAM(param)    
+#if !defined(NDNBOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING)
+#   define NDNBOOST_MPL_AUX_LAMBDA_ARITY_PARAM(param)    
 #else
-#   define BOOST_MPL_AUX_LAMBDA_ARITY_PARAM(param) , param
+#   define NDNBOOST_MPL_AUX_LAMBDA_ARITY_PARAM(param) , param
 #endif
 
-#endif // BOOST_MPL_AUX_LAMBDA_ARITY_PARAM_HPP_INCLUDED
+#endif // NDNBOOST_MPL_AUX_LAMBDA_ARITY_PARAM_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/aux_/lambda_no_ctps.hpp b/include/ndnboost/mpl/aux_/lambda_no_ctps.hpp
index 0966052..8da4714 100644
--- a/include/ndnboost/mpl/aux_/lambda_no_ctps.hpp
+++ b/include/ndnboost/mpl/aux_/lambda_no_ctps.hpp
@@ -1,10 +1,10 @@
 
-#if !defined(BOOST_PP_IS_ITERATING)
+#if !defined(NDNBOOST_PP_IS_ITERATING)
 
 ///// header body
 
-#ifndef BOOST_MPL_AUX_LAMBDA_NO_CTPS_HPP_INCLUDED
-#define BOOST_MPL_AUX_LAMBDA_NO_CTPS_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_AUX_LAMBDA_NO_CTPS_HPP_INCLUDED
+#define NDNBOOST_MPL_AUX_LAMBDA_NO_CTPS_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -18,7 +18,7 @@
 // $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
 // $Revision: 49267 $
 
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
+#if !defined(NDNBOOST_MPL_PREPROCESSING_MODE)
 #   include <ndnboost/mpl/lambda_fwd.hpp>
 #   include <ndnboost/mpl/bind_fwd.hpp>
 #   include <ndnboost/mpl/protect.hpp>
@@ -34,10 +34,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 lambda_no_ctps.hpp
+#   define NDNBOOST_MPL_PREPROCESSED_HEADER lambda_no_ctps.hpp
 #   include <ndnboost/mpl/aux_/include_preprocessed.hpp>
 
 #else
@@ -58,14 +58,14 @@
 namespace ndnboost { namespace mpl {
 
 #   define AUX778076_LAMBDA_PARAMS(i_, param) \
-    BOOST_MPL_PP_PARAMS(i_, param) \
+    NDNBOOST_MPL_PP_PARAMS(i_, param) \
     /**/
 
 namespace aux {
 
-#define n_ BOOST_MPL_LIMIT_METAFUNCTION_ARITY
+#define n_ NDNBOOST_MPL_LIMIT_METAFUNCTION_ARITY
 template<
-      BOOST_MPL_PP_DEFAULT_PARAMS(n_,bool C,false)
+      NDNBOOST_MPL_PP_DEFAULT_PARAMS(n_,bool C,false)
     >
 struct lambda_or
     : true_
@@ -73,7 +73,7 @@
 };
 
 template<>
-struct lambda_or< BOOST_MPL_PP_ENUM(n_,false) >
+struct lambda_or< NDNBOOST_MPL_PP_ENUM(n_,false) >
     : false_
 {
 };
@@ -88,9 +88,9 @@
     };
 };
 
-#define BOOST_PP_ITERATION_PARAMS_1 \
-    (3,(1, BOOST_MPL_LIMIT_METAFUNCTION_ARITY, <ndnboost/mpl/aux_/lambda_no_ctps.hpp>))
-#include BOOST_PP_ITERATE()
+#define NDNBOOST_PP_ITERATION_PARAMS_1 \
+    (3,(1, NDNBOOST_MPL_LIMIT_METAFUNCTION_ARITY, <ndnboost/mpl/aux_/lambda_no_ctps.hpp>))
+#include NDNBOOST_PP_ITERATE()
 
 } // namespace aux
 
@@ -109,10 +109,10 @@
     typedef typename l_::type type;
     typedef typename l_::is_le is_le;
     
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(3, lambda, (T, Tag, Protect))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(3, lambda, (T, Tag, Protect))
 };
 
-BOOST_MPL_AUX_NA_SPEC2(1, 3, lambda)
+NDNBOOST_MPL_AUX_NA_SPEC2(1, 3, lambda)
 
 template<
       typename T
@@ -126,51 +126,51 @@
 
 }}
 
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-#endif // BOOST_MPL_AUX_LAMBDA_NO_CTPS_HPP_INCLUDED
+#endif // NDNBOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
+#endif // NDNBOOST_MPL_AUX_LAMBDA_NO_CTPS_HPP_INCLUDED
 
 ///// iteration, depth == 1
 
 #else
 
-#define i_ BOOST_PP_FRAME_ITERATION(1)
+#define i_ NDNBOOST_PP_FRAME_ITERATION(1)
 
 #   define AUX778076_LAMBDA_TYPEDEF(unused, i_, F) \
     typedef lambda< \
-          typename F::BOOST_PP_CAT(arg,BOOST_PP_INC(i_)) \
+          typename F::NDNBOOST_PP_CAT(arg,NDNBOOST_PP_INC(i_)) \
         , Tag \
         , false_ \
-        > BOOST_PP_CAT(l,BOOST_PP_INC(i_)); \
+        > NDNBOOST_PP_CAT(l,NDNBOOST_PP_INC(i_)); \
     /**/
 
 #   define AUX778076_IS_LE_TYPEDEF(unused, i_, unused2) \
-    typedef typename BOOST_PP_CAT(l,BOOST_PP_INC(i_))::is_le \
-        BOOST_PP_CAT(is_le,BOOST_PP_INC(i_)); \
+    typedef typename NDNBOOST_PP_CAT(l,NDNBOOST_PP_INC(i_))::is_le \
+        NDNBOOST_PP_CAT(is_le,NDNBOOST_PP_INC(i_)); \
     /**/
 
 #   define AUX778076_IS_LAMBDA_EXPR(unused, i_, unused2) \
-    BOOST_PP_COMMA_IF(i_) \
-    BOOST_MPL_AUX_MSVC_VALUE_WKND(BOOST_PP_CAT(is_le,BOOST_PP_INC(i_)))::value \
+    NDNBOOST_PP_COMMA_IF(i_) \
+    NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(NDNBOOST_PP_CAT(is_le,NDNBOOST_PP_INC(i_)))::value \
     /**/
 
 #   define AUX778076_LAMBDA_RESULT(unused, i_, unused2) \
-    , typename BOOST_PP_CAT(l,BOOST_PP_INC(i_))::type \
+    , typename NDNBOOST_PP_CAT(l,NDNBOOST_PP_INC(i_))::type \
     /**/
 
 template<> struct lambda_impl< int_<i_> >
 {
     template< typename F, typename Tag, typename Protect > struct result_
     {
-        BOOST_MPL_PP_REPEAT(i_, AUX778076_LAMBDA_TYPEDEF, F)
-        BOOST_MPL_PP_REPEAT(i_, AUX778076_IS_LE_TYPEDEF, unused)
+        NDNBOOST_MPL_PP_REPEAT(i_, AUX778076_LAMBDA_TYPEDEF, F)
+        NDNBOOST_MPL_PP_REPEAT(i_, AUX778076_IS_LE_TYPEDEF, unused)
 
         typedef aux::lambda_or<
-              BOOST_MPL_PP_REPEAT(i_, AUX778076_IS_LAMBDA_EXPR, unused)
+              NDNBOOST_MPL_PP_REPEAT(i_, AUX778076_IS_LAMBDA_EXPR, unused)
             > is_le;
 
-        typedef BOOST_PP_CAT(bind,i_)<
+        typedef NDNBOOST_PP_CAT(bind,i_)<
               typename F::rebind
-            BOOST_MPL_PP_REPEAT(i_, AUX778076_LAMBDA_RESULT, unused)
+            NDNBOOST_MPL_PP_REPEAT(i_, AUX778076_LAMBDA_RESULT, unused)
             > bind_;
 
         typedef typename if_<
@@ -190,4 +190,4 @@
 
 #undef i_
 
-#endif // BOOST_PP_IS_ITERATING
+#endif // NDNBOOST_PP_IS_ITERATING
diff --git a/include/ndnboost/mpl/aux_/lambda_spec.hpp b/include/ndnboost/mpl/aux_/lambda_spec.hpp
index f3e6137..6d25a35 100644
--- a/include/ndnboost/mpl/aux_/lambda_spec.hpp
+++ b/include/ndnboost/mpl/aux_/lambda_spec.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_AUX_LAMBDA_SPEC_HPP_INCLUDED
-#define BOOST_MPL_AUX_LAMBDA_SPEC_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_AUX_LAMBDA_SPEC_HPP_INCLUDED
+#define NDNBOOST_MPL_AUX_LAMBDA_SPEC_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2001-2007
 //
@@ -21,29 +21,29 @@
 #include <ndnboost/mpl/aux_/lambda_arity_param.hpp>
 #include <ndnboost/mpl/aux_/config/lambda.hpp>
 
-#if !defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT)
+#if !defined(NDNBOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT)
 
-#   define BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(i, name) \
+#   define NDNBOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(i, name) \
 template< \
-      BOOST_MPL_PP_PARAMS(i, typename T) \
+      NDNBOOST_MPL_PP_PARAMS(i, typename T) \
     , typename Tag \
     > \
 struct lambda< \
-      name< BOOST_MPL_PP_PARAMS(i, T) > \
+      name< NDNBOOST_MPL_PP_PARAMS(i, T) > \
     , Tag \
-    BOOST_MPL_AUX_LAMBDA_ARITY_PARAM(int_<i>) \
+    NDNBOOST_MPL_AUX_LAMBDA_ARITY_PARAM(int_<i>) \
     > \
 { \
     typedef false_ is_le; \
-    typedef name< BOOST_MPL_PP_PARAMS(i, T) > result_; \
+    typedef name< NDNBOOST_MPL_PP_PARAMS(i, T) > result_; \
     typedef result_ type; \
 }; \
 /**/
 
 #else
 
-#   define BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(i, name) /**/
+#   define NDNBOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(i, name) /**/
 
 #endif
 
-#endif // BOOST_MPL_AUX_LAMBDA_SPEC_HPP_INCLUDED
+#endif // NDNBOOST_MPL_AUX_LAMBDA_SPEC_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/aux_/lambda_support.hpp b/include/ndnboost/mpl/aux_/lambda_support.hpp
index 955b155..aa08f98 100644
--- a/include/ndnboost/mpl/aux_/lambda_support.hpp
+++ b/include/ndnboost/mpl/aux_/lambda_support.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_AUX_LAMBDA_SUPPORT_HPP_INCLUDED
-#define BOOST_MPL_AUX_LAMBDA_SUPPORT_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_HPP_INCLUDED
+#define NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2001-2004
 //
@@ -16,10 +16,10 @@
 
 #include <ndnboost/mpl/aux_/config/lambda.hpp>
 
-#if !defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT)
+#if !defined(NDNBOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT)
 
-#   define BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(i, name, params) /**/
-#   define BOOST_MPL_AUX_LAMBDA_SUPPORT(i,name,params) /**/
+#   define NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(i, name, params) /**/
+#   define NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(i,name,params) /**/
 
 #else
 
@@ -36,58 +36,58 @@
 #   include <ndnboost/preprocessor/inc.hpp>
 #   include <ndnboost/preprocessor/cat.hpp>
 
-#   define BOOST_MPL_AUX_LAMBDA_SUPPORT_ARG_TYPEDEF_FUNC(R,typedef_,i,param) \
-    typedef_ param BOOST_PP_CAT(arg,BOOST_PP_INC(i)); \
+#   define NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_ARG_TYPEDEF_FUNC(R,typedef_,i,param) \
+    typedef_ param NDNBOOST_PP_CAT(arg,NDNBOOST_PP_INC(i)); \
     /**/
 
 // agurt, 07/mar/03: restore an old revision for the sake of SGI MIPSpro C++
-#if BOOST_WORKAROUND(__EDG_VERSION__, <= 238) 
+#if NDNBOOST_WORKAROUND(__EDG_VERSION__, <= 238) 
 
-#   define BOOST_MPL_AUX_LAMBDA_SUPPORT(i, name, params) \
-    typedef BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::int_<i> arity; \
-    BOOST_PP_LIST_FOR_EACH_I_R( \
+#   define NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(i, name, params) \
+    typedef NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::int_<i> arity; \
+    NDNBOOST_PP_LIST_FOR_EACH_I_R( \
           1 \
-        , BOOST_MPL_AUX_LAMBDA_SUPPORT_ARG_TYPEDEF_FUNC \
+        , NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_ARG_TYPEDEF_FUNC \
         , typedef \
-        , BOOST_PP_TUPLE_TO_LIST(i,params) \
+        , NDNBOOST_PP_TUPLE_TO_LIST(i,params) \
         ) \
     struct rebind \
     { \
-        template< BOOST_MPL_PP_PARAMS(i,typename U) > struct apply \
-            : name< BOOST_MPL_PP_PARAMS(i,U) > \
+        template< NDNBOOST_MPL_PP_PARAMS(i,typename U) > struct apply \
+            : name< NDNBOOST_MPL_PP_PARAMS(i,U) > \
         { \
         }; \
     }; \
     /**/
 
-#   define BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(i, name, params) \
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(i, name, params) \
+#   define NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(i, name, params) \
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(i, name, params) \
     /**/
 
-#elif BOOST_WORKAROUND(__EDG_VERSION__, <= 244) && !defined(BOOST_INTEL_CXX_VERSION)
+#elif NDNBOOST_WORKAROUND(__EDG_VERSION__, <= 244) && !defined(NDNBOOST_INTEL_CXX_VERSION)
 // agurt, 18/jan/03: old EDG-based compilers actually enforce 11.4 para 9
 // (in strict mode), so we have to provide an alternative to the 
 // MSVC-optimized implementation
 
-#   define BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(i, name, params) \
-    typedef BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::int_<i> arity; \
-    BOOST_PP_LIST_FOR_EACH_I_R( \
+#   define NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(i, name, params) \
+    typedef NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::int_<i> arity; \
+    NDNBOOST_PP_LIST_FOR_EACH_I_R( \
           1 \
-        , BOOST_MPL_AUX_LAMBDA_SUPPORT_ARG_TYPEDEF_FUNC \
+        , NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_ARG_TYPEDEF_FUNC \
         , typedef \
-        , BOOST_PP_TUPLE_TO_LIST(i,params) \
+        , NDNBOOST_PP_TUPLE_TO_LIST(i,params) \
         ) \
     struct rebind; \
 /**/
 
-#   define BOOST_MPL_AUX_LAMBDA_SUPPORT(i, name, params) \
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(i, name, params) \
+#   define NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(i, name, params) \
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(i, name, params) \
 }; \
-template< BOOST_MPL_PP_PARAMS(i,typename T) > \
-struct name<BOOST_MPL_PP_PARAMS(i,T)>::rebind \
+template< NDNBOOST_MPL_PP_PARAMS(i,typename T) > \
+struct name<NDNBOOST_MPL_PP_PARAMS(i,T)>::rebind \
 { \
-    template< BOOST_MPL_PP_PARAMS(i,typename U) > struct apply \
-        : name< BOOST_MPL_PP_PARAMS(i,U) > \
+    template< NDNBOOST_MPL_PP_PARAMS(i,typename U) > struct apply \
+        : name< NDNBOOST_MPL_PP_PARAMS(i,U) > \
     { \
     }; \
 /**/
@@ -98,72 +98,72 @@
 template< typename T > struct has_rebind_tag;
 }}}
 
-#   define BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(i, name, params) \
-    typedef BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::int_<i> arity; \
-    BOOST_PP_LIST_FOR_EACH_I_R( \
+#   define NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(i, name, params) \
+    typedef NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::int_<i> arity; \
+    NDNBOOST_PP_LIST_FOR_EACH_I_R( \
           1 \
-        , BOOST_MPL_AUX_LAMBDA_SUPPORT_ARG_TYPEDEF_FUNC \
+        , NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_ARG_TYPEDEF_FUNC \
         , typedef \
-        , BOOST_PP_TUPLE_TO_LIST(i,params) \
+        , NDNBOOST_PP_TUPLE_TO_LIST(i,params) \
         ) \
-    friend class BOOST_PP_CAT(name,_rebind); \
-    typedef BOOST_PP_CAT(name,_rebind) rebind; \
+    friend class NDNBOOST_PP_CAT(name,_rebind); \
+    typedef NDNBOOST_PP_CAT(name,_rebind) rebind; \
 /**/
 
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610))
-#   define BOOST_MPL_AUX_LAMBDA_SUPPORT_HAS_REBIND(i, name, params) \
-template< BOOST_MPL_PP_PARAMS(i,typename T) > \
+#if NDNBOOST_WORKAROUND(__BORLANDC__, NDNBOOST_TESTED_AT(0x610))
+#   define NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_HAS_REBIND(i, name, params) \
+template< NDNBOOST_MPL_PP_PARAMS(i,typename T) > \
 ::ndnboost::mpl::aux::yes_tag operator|( \
       ::ndnboost::mpl::aux::has_rebind_tag<int> \
-    , name<BOOST_MPL_PP_PARAMS(i,T)>* \
+    , name<NDNBOOST_MPL_PP_PARAMS(i,T)>* \
     ); \
 ::ndnboost::mpl::aux::no_tag operator|( \
       ::ndnboost::mpl::aux::has_rebind_tag<int> \
-    , name< BOOST_MPL_PP_ENUM(i,::ndnboost::mpl::na) >* \
+    , name< NDNBOOST_MPL_PP_ENUM(i,::ndnboost::mpl::na) >* \
     ); \
 /**/
-#elif !BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-#   define BOOST_MPL_AUX_LAMBDA_SUPPORT_HAS_REBIND(i, name, params) \
-template< BOOST_MPL_PP_PARAMS(i,typename T) > \
+#elif !NDNBOOST_WORKAROUND(NDNBOOST_MSVC, < 1300)
+#   define NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_HAS_REBIND(i, name, params) \
+template< NDNBOOST_MPL_PP_PARAMS(i,typename T) > \
 ::ndnboost::mpl::aux::yes_tag operator|( \
       ::ndnboost::mpl::aux::has_rebind_tag<int> \
-    , ::ndnboost::mpl::aux::has_rebind_tag< name<BOOST_MPL_PP_PARAMS(i,T)> >* \
+    , ::ndnboost::mpl::aux::has_rebind_tag< name<NDNBOOST_MPL_PP_PARAMS(i,T)> >* \
     ); \
 /**/
 #else
-#   define BOOST_MPL_AUX_LAMBDA_SUPPORT_HAS_REBIND(i, name, params) /**/
+#   define NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_HAS_REBIND(i, name, params) /**/
 #endif
 
 #   if !defined(__BORLANDC__)
-#   define BOOST_MPL_AUX_LAMBDA_SUPPORT(i, name, params) \
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(i, name, params) \
+#   define NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(i, name, params) \
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(i, name, params) \
 }; \
-BOOST_MPL_AUX_LAMBDA_SUPPORT_HAS_REBIND(i, name, params) \
-class BOOST_PP_CAT(name,_rebind) \
+NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_HAS_REBIND(i, name, params) \
+class NDNBOOST_PP_CAT(name,_rebind) \
 { \
  public: \
-    template< BOOST_MPL_PP_PARAMS(i,typename U) > struct apply \
-        : name< BOOST_MPL_PP_PARAMS(i,U) > \
+    template< NDNBOOST_MPL_PP_PARAMS(i,typename U) > struct apply \
+        : name< NDNBOOST_MPL_PP_PARAMS(i,U) > \
     { \
     }; \
 /**/
 #   else
-#   define BOOST_MPL_AUX_LAMBDA_SUPPORT(i, name, params) \
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(i, name, params) \
+#   define NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(i, name, params) \
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(i, name, params) \
 }; \
-BOOST_MPL_AUX_LAMBDA_SUPPORT_HAS_REBIND(i, name, params) \
-class BOOST_PP_CAT(name,_rebind) \
+NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_HAS_REBIND(i, name, params) \
+class NDNBOOST_PP_CAT(name,_rebind) \
 { \
  public: \
-    template< BOOST_MPL_PP_PARAMS(i,typename U) > struct apply \
+    template< NDNBOOST_MPL_PP_PARAMS(i,typename U) > struct apply \
     { \
-        typedef typename name< BOOST_MPL_PP_PARAMS(i,U) >::type type; \
+        typedef typename name< NDNBOOST_MPL_PP_PARAMS(i,U) >::type type; \
     }; \
 /**/
 #   endif // __BORLANDC__
 
 #endif // __EDG_VERSION__
 
-#endif // BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT
+#endif // NDNBOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT
 
-#endif // BOOST_MPL_AUX_LAMBDA_SUPPORT_HPP_INCLUDED
+#endif // NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/aux_/largest_int.hpp b/include/ndnboost/mpl/aux_/largest_int.hpp
index f88ad94..6d668cc 100644
--- a/include/ndnboost/mpl/aux_/largest_int.hpp
+++ b/include/ndnboost/mpl/aux_/largest_int.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_AUX_LARGEST_INT_HPP_INCLUDED
-#define BOOST_MPL_AUX_LARGEST_INT_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_AUX_LARGEST_INT_HPP_INCLUDED
+#define NDNBOOST_MPL_AUX_LARGEST_INT_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -27,7 +27,7 @@
 template<> struct integral_rank<signed char>    : int_<2> {};
 template<> struct integral_rank<char>           : int_<3> {};
 template<> struct integral_rank<unsigned char>  : int_<4> {};
-#if !defined(BOOST_NO_INTRINSIC_WCHAR_T)
+#if !defined(NDNBOOST_NO_INTRINSIC_WCHAR_T)
 template<> struct integral_rank<wchar_t>        : int_<5> {};
 #endif
 template<> struct integral_rank<short>          : int_<6> {};
@@ -37,13 +37,13 @@
 template<> struct integral_rank<long>           : int_<10> {};
 template<> struct integral_rank<unsigned long>  : int_<11> {};
 
-#if defined(BOOST_HAS_LONG_LONG)
+#if defined(NDNBOOST_HAS_LONG_LONG)
 template<> struct integral_rank<long_long_type> : int_<12> {};
 template<> struct integral_rank<ulong_long_type>: int_<13> {};
 #endif
 
 template< typename T1, typename T2 > struct largest_int
-#if !defined(BOOST_MPL_CFG_NO_NESTED_VALUE_ARITHMETIC)
+#if !defined(NDNBOOST_MPL_CFG_NO_NESTED_VALUE_ARITHMETIC)
     : if_c< 
           ( integral_rank<T1>::value >= integral_rank<T2>::value )
         , T1
@@ -60,4 +60,4 @@
 
 }}}
 
-#endif // BOOST_MPL_AUX_LARGEST_INT_HPP_INCLUDED
+#endif // NDNBOOST_MPL_AUX_LARGEST_INT_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/aux_/logical_op.hpp b/include/ndnboost/mpl/aux_/logical_op.hpp
index e378e1f..4d06cc5 100644
--- a/include/ndnboost/mpl/aux_/logical_op.hpp
+++ b/include/ndnboost/mpl/aux_/logical_op.hpp
@@ -13,7 +13,7 @@
 
 // NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION!
 
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
+#if !defined(NDNBOOST_MPL_PREPROCESSING_MODE)
 #   include <ndnboost/mpl/bool.hpp>
 #   include <ndnboost/mpl/aux_/nested_type_wknd.hpp>
 #   include <ndnboost/mpl/aux_/na_spec.hpp>
@@ -36,77 +36,77 @@
 namespace ndnboost { namespace mpl {
 
 #   define AUX778076_PARAMS(param, sub) \
-    BOOST_MPL_PP_PARAMS( \
-          BOOST_MPL_PP_SUB(BOOST_MPL_LIMIT_METAFUNCTION_ARITY, sub) \
+    NDNBOOST_MPL_PP_PARAMS( \
+          NDNBOOST_MPL_PP_SUB(NDNBOOST_MPL_LIMIT_METAFUNCTION_ARITY, sub) \
         , param \
         ) \
     /**/
 
 #   define AUX778076_SHIFTED_PARAMS(param, sub) \
-    BOOST_MPL_PP_EXT_PARAMS( \
-          2, BOOST_MPL_PP_SUB(BOOST_PP_INC(BOOST_MPL_LIMIT_METAFUNCTION_ARITY), sub) \
+    NDNBOOST_MPL_PP_EXT_PARAMS( \
+          2, NDNBOOST_MPL_PP_SUB(NDNBOOST_PP_INC(NDNBOOST_MPL_LIMIT_METAFUNCTION_ARITY), sub) \
         , param \
         ) \
     /**/
 
 #   define AUX778076_SPEC_PARAMS(param) \
-    BOOST_MPL_PP_ENUM( \
-          BOOST_PP_DEC(BOOST_MPL_LIMIT_METAFUNCTION_ARITY) \
+    NDNBOOST_MPL_PP_ENUM( \
+          NDNBOOST_PP_DEC(NDNBOOST_MPL_LIMIT_METAFUNCTION_ARITY) \
         , param \
         ) \
     /**/
 
 namespace aux {
 
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+#if !defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
 
 template< bool C_, AUX778076_PARAMS(typename T, 1) >
-struct BOOST_PP_CAT(AUX778076_OP_NAME,impl)
-    : BOOST_PP_CAT(AUX778076_OP_VALUE1,_)
+struct NDNBOOST_PP_CAT(AUX778076_OP_NAME,impl)
+    : NDNBOOST_PP_CAT(AUX778076_OP_VALUE1,_)
 {
 };
 
 template< AUX778076_PARAMS(typename T, 1) >
-struct BOOST_PP_CAT(AUX778076_OP_NAME,impl)< AUX778076_OP_VALUE2,AUX778076_PARAMS(T, 1) >
-    : BOOST_PP_CAT(AUX778076_OP_NAME,impl)<
-          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
+struct NDNBOOST_PP_CAT(AUX778076_OP_NAME,impl)< AUX778076_OP_VALUE2,AUX778076_PARAMS(T, 1) >
+    : NDNBOOST_PP_CAT(AUX778076_OP_NAME,impl)<
+          NDNBOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
         , AUX778076_SHIFTED_PARAMS(T, 1)
-        , BOOST_PP_CAT(AUX778076_OP_VALUE2,_)
+        , NDNBOOST_PP_CAT(AUX778076_OP_VALUE2,_)
         >
 {
 };
 
 template<>
-struct BOOST_PP_CAT(AUX778076_OP_NAME,impl)<
+struct NDNBOOST_PP_CAT(AUX778076_OP_NAME,impl)<
           AUX778076_OP_VALUE2
-        , AUX778076_SPEC_PARAMS(BOOST_PP_CAT(AUX778076_OP_VALUE2,_))
+        , AUX778076_SPEC_PARAMS(NDNBOOST_PP_CAT(AUX778076_OP_VALUE2,_))
         >
-    : BOOST_PP_CAT(AUX778076_OP_VALUE2,_)
+    : NDNBOOST_PP_CAT(AUX778076_OP_VALUE2,_)
 {
 };
 
 #else
 
-template< bool C_ > struct BOOST_PP_CAT(AUX778076_OP_NAME,impl)
+template< bool C_ > struct NDNBOOST_PP_CAT(AUX778076_OP_NAME,impl)
 {
     template< AUX778076_PARAMS(typename T, 1) > struct result_
-        : BOOST_PP_CAT(AUX778076_OP_VALUE1,_)
+        : NDNBOOST_PP_CAT(AUX778076_OP_VALUE1,_)
     {
     };
 };
 
-template<> struct BOOST_PP_CAT(AUX778076_OP_NAME,impl)<AUX778076_OP_VALUE2>
+template<> struct NDNBOOST_PP_CAT(AUX778076_OP_NAME,impl)<AUX778076_OP_VALUE2>
 {
     template< AUX778076_PARAMS(typename T, 1) > struct result_
-        : BOOST_PP_CAT(AUX778076_OP_NAME,impl)< 
-              BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
-            >::template result_< AUX778076_SHIFTED_PARAMS(T,1),BOOST_PP_CAT(AUX778076_OP_VALUE2,_) >
+        : NDNBOOST_PP_CAT(AUX778076_OP_NAME,impl)< 
+              NDNBOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
+            >::template result_< AUX778076_SHIFTED_PARAMS(T,1),NDNBOOST_PP_CAT(AUX778076_OP_VALUE2,_) >
     {
     };
 
-#if BOOST_WORKAROUND(BOOST_MSVC, == 1300)
-    template<> struct result_<AUX778076_SPEC_PARAMS(BOOST_PP_CAT(AUX778076_OP_VALUE2,_))>
-        : BOOST_PP_CAT(AUX778076_OP_VALUE2,_)
+#if NDNBOOST_WORKAROUND(NDNBOOST_MSVC, == 1300)
+    template<> struct result_<AUX778076_SPEC_PARAMS(NDNBOOST_PP_CAT(AUX778076_OP_VALUE2,_))>
+        : NDNBOOST_PP_CAT(AUX778076_OP_VALUE2,_)
     {
     };
 };
@@ -114,44 +114,44 @@
 };
 
 template<>
-struct BOOST_PP_CAT(AUX778076_OP_NAME,impl)<AUX778076_OP_VALUE2>
-    ::result_< AUX778076_SPEC_PARAMS(BOOST_PP_CAT(AUX778076_OP_VALUE2,_)) >
-        : BOOST_PP_CAT(AUX778076_OP_VALUE2,_)
+struct NDNBOOST_PP_CAT(AUX778076_OP_NAME,impl)<AUX778076_OP_VALUE2>
+    ::result_< AUX778076_SPEC_PARAMS(NDNBOOST_PP_CAT(AUX778076_OP_VALUE2,_)) >
+        : NDNBOOST_PP_CAT(AUX778076_OP_VALUE2,_)
 {
 };
-#endif // BOOST_MSVC == 1300
+#endif // NDNBOOST_MSVC == 1300
 
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#endif // NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 
 } // namespace aux
 
 template<
-      typename BOOST_MPL_AUX_NA_PARAM(T1)
-    , typename BOOST_MPL_AUX_NA_PARAM(T2)
-    BOOST_MPL_PP_DEF_PARAMS_TAIL(2, typename T, BOOST_PP_CAT(AUX778076_OP_VALUE2,_))
+      typename NDNBOOST_MPL_AUX_NA_PARAM(T1)
+    , typename NDNBOOST_MPL_AUX_NA_PARAM(T2)
+    NDNBOOST_MPL_PP_DEF_PARAMS_TAIL(2, typename T, NDNBOOST_PP_CAT(AUX778076_OP_VALUE2,_))
     >
 struct AUX778076_OP_NAME
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-    : aux::BOOST_PP_CAT(AUX778076_OP_NAME,impl)<
-          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
+#if !defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+    : aux::NDNBOOST_PP_CAT(AUX778076_OP_NAME,impl)<
+          NDNBOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
         , AUX778076_SHIFTED_PARAMS(T,0)
         >
 #else
-    : aux::BOOST_PP_CAT(AUX778076_OP_NAME,impl)< 
-          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
+    : aux::NDNBOOST_PP_CAT(AUX778076_OP_NAME,impl)< 
+          NDNBOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
         >::template result_< AUX778076_SHIFTED_PARAMS(T,0) >
 #endif
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
-          BOOST_MPL_LIMIT_METAFUNCTION_ARITY
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
+          NDNBOOST_MPL_LIMIT_METAFUNCTION_ARITY
         , AUX778076_OP_NAME
         , (AUX778076_PARAMS(T, 0))
         )
 };
 
-BOOST_MPL_AUX_NA_SPEC2(
+NDNBOOST_MPL_AUX_NA_SPEC2(
       2
-    , BOOST_MPL_LIMIT_METAFUNCTION_ARITY
+    , NDNBOOST_MPL_LIMIT_METAFUNCTION_ARITY
     , AUX778076_OP_NAME
     )
 
diff --git a/include/ndnboost/mpl/aux_/msvc_dtw.hpp b/include/ndnboost/mpl/aux_/msvc_dtw.hpp
index 90ef28d..99cd062 100644
--- a/include/ndnboost/mpl/aux_/msvc_dtw.hpp
+++ b/include/ndnboost/mpl/aux_/msvc_dtw.hpp
@@ -17,7 +17,7 @@
 
 // local macros, #undef-ined at the end of the header
 #define AUX778076_DTW_PARAMS(param) \
-    BOOST_MPL_PP_PARAMS(AUX778076_MSVC_DTW_ARITY, param) \
+    NDNBOOST_MPL_PP_PARAMS(AUX778076_MSVC_DTW_ARITY, param) \
 /**/
 
 #define AUX778076_DTW_ORIGINAL_NAME \
diff --git a/include/ndnboost/mpl/aux_/msvc_eti_base.hpp b/include/ndnboost/mpl/aux_/msvc_eti_base.hpp
index e7a1c4a..af5313b 100644
--- a/include/ndnboost/mpl/aux_/msvc_eti_base.hpp
+++ b/include/ndnboost/mpl/aux_/msvc_eti_base.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_AUX_MSVC_ETI_BASE_HPP_INCLUDED
-#define BOOST_MPL_AUX_MSVC_ETI_BASE_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_AUX_MSVC_ETI_BASE_HPP_INCLUDED
+#define NDNBOOST_MPL_AUX_MSVC_ETI_BASE_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2001-2004
 //
@@ -21,7 +21,7 @@
 
 namespace ndnboost { namespace mpl { namespace aux {
 
-#if defined(BOOST_MPL_CFG_MSVC_70_ETI_BUG)
+#if defined(NDNBOOST_MPL_CFG_MSVC_70_ETI_BUG)
 
 template< bool > struct msvc_eti_base_impl
 {
@@ -50,12 +50,12 @@
 {
 };
 
-#else // !BOOST_MPL_CFG_MSVC_70_ETI_BUG
+#else // !NDNBOOST_MPL_CFG_MSVC_70_ETI_BUG
 
 template< typename T > struct msvc_eti_base
     : T
 {
-#if BOOST_WORKAROUND(BOOST_MPL_CFG_GCC, BOOST_TESTED_AT(0x0304))
+#if NDNBOOST_WORKAROUND(NDNBOOST_MPL_CFG_GCC, NDNBOOST_TESTED_AT(0x0304))
     msvc_eti_base();
 #endif
     typedef T type;
@@ -74,4 +74,4 @@
 
 }}}
 
-#endif // BOOST_MPL_AUX_MSVC_ETI_BASE_HPP_INCLUDED
+#endif // NDNBOOST_MPL_AUX_MSVC_ETI_BASE_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/aux_/msvc_is_class.hpp b/include/ndnboost/mpl/aux_/msvc_is_class.hpp
index edcb8b9..b47f7d6 100644
--- a/include/ndnboost/mpl/aux_/msvc_is_class.hpp
+++ b/include/ndnboost/mpl/aux_/msvc_is_class.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_AUX_MSVC_IS_CLASS_HPP_INCLUDED
-#define BOOST_MPL_AUX_MSVC_IS_CLASS_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_AUX_MSVC_IS_CLASS_HPP_INCLUDED
+#define NDNBOOST_MPL_AUX_MSVC_IS_CLASS_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2002-2004
 //
@@ -55,4 +55,4 @@
 
 }}}
 
-#endif // BOOST_MPL_AUX_MSVC_IS_CLASS_HPP_INCLUDED
+#endif // NDNBOOST_MPL_AUX_MSVC_IS_CLASS_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/aux_/msvc_never_true.hpp b/include/ndnboost/mpl/aux_/msvc_never_true.hpp
index fed531e..b9e2e02 100644
--- a/include/ndnboost/mpl/aux_/msvc_never_true.hpp
+++ b/include/ndnboost/mpl/aux_/msvc_never_true.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_AUX_MSVC_NEVER_TRUE_HPP_INCLUDED
-#define BOOST_MPL_AUX_MSVC_NEVER_TRUE_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_AUX_MSVC_NEVER_TRUE_HPP_INCLUDED
+#define NDNBOOST_MPL_AUX_MSVC_NEVER_TRUE_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -17,7 +17,7 @@
 #include <ndnboost/mpl/aux_/config/msvc.hpp>
 #include <ndnboost/mpl/aux_/config/workaround.hpp>
 
-#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
+#if NDNBOOST_WORKAROUND(NDNBOOST_MSVC, <= 1300)
 
 namespace ndnboost { namespace mpl { namespace aux {
 
@@ -29,6 +29,6 @@
 
 }}}
 
-#endif // BOOST_MSVC
+#endif // NDNBOOST_MSVC
 
-#endif // BOOST_MPL_AUX_MSVC_NEVER_TRUE_HPP_INCLUDED
+#endif // NDNBOOST_MPL_AUX_MSVC_NEVER_TRUE_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/aux_/msvc_type.hpp b/include/ndnboost/mpl/aux_/msvc_type.hpp
index c652ed2..b2e8fc5 100644
--- a/include/ndnboost/mpl/aux_/msvc_type.hpp
+++ b/include/ndnboost/mpl/aux_/msvc_type.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_AUX_MSVC_TYPE_HPP_INCLUDED
-#define BOOST_MPL_AUX_MSVC_TYPE_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_AUX_MSVC_TYPE_HPP_INCLUDED
+#define NDNBOOST_MPL_AUX_MSVC_TYPE_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2001-2004
 //
@@ -19,7 +19,7 @@
 
 namespace ndnboost { namespace mpl { namespace aux {
 
-#if defined(BOOST_MPL_CFG_MSVC_70_ETI_BUG)
+#if defined(NDNBOOST_MPL_CFG_MSVC_70_ETI_BUG)
 
 template< bool > struct msvc_type_impl
 {
@@ -43,7 +43,7 @@
 {
 };
 
-#else // BOOST_MPL_CFG_MSVC_70_ETI_BUG
+#else // NDNBOOST_MPL_CFG_MSVC_70_ETI_BUG
 
 template< typename T > struct msvc_type 
 {
@@ -59,4 +59,4 @@
 
 }}}
 
-#endif // BOOST_MPL_AUX_MSVC_TYPE_HPP_INCLUDED
+#endif // NDNBOOST_MPL_AUX_MSVC_TYPE_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/aux_/na.hpp b/include/ndnboost/mpl/aux_/na.hpp
index 2ab6449..eb9f81e 100644
--- a/include/ndnboost/mpl/aux_/na.hpp
+++ b/include/ndnboost/mpl/aux_/na.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_AUX_NA_HPP_INCLUDED
-#define BOOST_MPL_AUX_NA_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_AUX_NA_HPP_INCLUDED
+#define NDNBOOST_MPL_AUX_NA_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2001-2004
 //
@@ -25,7 +25,7 @@
 struct is_na
     : false_
 {
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
+#if NDNBOOST_WORKAROUND(NDNBOOST_MSVC, < 1300)
     using false_::value;
 #endif
 };
@@ -34,7 +34,7 @@
 struct is_na<na>
     : true_
 {
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
+#if NDNBOOST_WORKAROUND(NDNBOOST_MSVC, < 1300)
     using true_::value;
 #endif
 };
@@ -43,7 +43,7 @@
 struct is_not_na
     : true_
 {
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
+#if NDNBOOST_WORKAROUND(NDNBOOST_MSVC, < 1300)
     using true_::value;
 #endif
 };
@@ -52,12 +52,12 @@
 struct is_not_na<na>
     : false_
 {
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
+#if NDNBOOST_WORKAROUND(NDNBOOST_MSVC, < 1300)
     using false_::value;
 #endif
 };
 
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+#if !defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
 template< typename T, typename U > struct if_na
 {
     typedef T type;
@@ -92,4 +92,4 @@
 
 }}
 
-#endif // BOOST_MPL_AUX_NA_HPP_INCLUDED
+#endif // NDNBOOST_MPL_AUX_NA_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/aux_/na_assert.hpp b/include/ndnboost/mpl/aux_/na_assert.hpp
index e0c947c..0075c4e 100644
--- a/include/ndnboost/mpl/aux_/na_assert.hpp
+++ b/include/ndnboost/mpl/aux_/na_assert.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_AUX_NA_ASSERT_HPP_INCLUDED
-#define BOOST_MPL_AUX_NA_ASSERT_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_AUX_NA_ASSERT_HPP_INCLUDED
+#define NDNBOOST_MPL_AUX_NA_ASSERT_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2001-2004
 //
@@ -18,17 +18,17 @@
 #include <ndnboost/mpl/aux_/config/msvc.hpp>
 #include <ndnboost/mpl/aux_/config/workaround.hpp>
 
-#if !BOOST_WORKAROUND(_MSC_FULL_VER, <= 140050601)    \
-    && !BOOST_WORKAROUND(__EDG_VERSION__, <= 243)
+#if !NDNBOOST_WORKAROUND(_MSC_FULL_VER, <= 140050601)    \
+    && !NDNBOOST_WORKAROUND(__EDG_VERSION__, <= 243)
 #   include <ndnboost/mpl/assert.hpp>
-#   define BOOST_MPL_AUX_ASSERT_NOT_NA(x) \
-    BOOST_MPL_ASSERT_NOT((ndnboost::mpl::is_na<type>)) \
+#   define NDNBOOST_MPL_AUX_ASSERT_NOT_NA(x) \
+    NDNBOOST_MPL_ASSERT_NOT((ndnboost::mpl::is_na<type>)) \
 /**/
 #else
 #   include <ndnboost/static_assert.hpp>
-#   define BOOST_MPL_AUX_ASSERT_NOT_NA(x) \
-    BOOST_STATIC_ASSERT(!ndnboost::mpl::is_na<x>::value) \
+#   define NDNBOOST_MPL_AUX_ASSERT_NOT_NA(x) \
+    NDNBOOST_STATIC_ASSERT(!ndnboost::mpl::is_na<x>::value) \
 /**/
 #endif
 
-#endif // BOOST_MPL_AUX_NA_ASSERT_HPP_INCLUDED
+#endif // NDNBOOST_MPL_AUX_NA_ASSERT_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/aux_/na_fwd.hpp b/include/ndnboost/mpl/aux_/na_fwd.hpp
index 7ad343b..c4de430 100644
--- a/include/ndnboost/mpl/aux_/na_fwd.hpp
+++ b/include/ndnboost/mpl/aux_/na_fwd.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_AUX_NA_FWD_HPP_INCLUDED
-#define BOOST_MPL_AUX_NA_FWD_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_AUX_NA_FWD_HPP_INCLUDED
+#define NDNBOOST_MPL_AUX_NA_FWD_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2001-2004
 //
@@ -16,7 +16,7 @@
 
 #include <ndnboost/mpl/aux_/adl_barrier.hpp>
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 
 // n.a. == not available
 struct na
@@ -25,7 +25,7 @@
     enum { value = 0 };
 };
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-BOOST_MPL_AUX_ADL_BARRIER_DECL(na)
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_DECL(na)
 
-#endif // BOOST_MPL_AUX_NA_FWD_HPP_INCLUDED
+#endif // NDNBOOST_MPL_AUX_NA_FWD_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/aux_/na_spec.hpp b/include/ndnboost/mpl/aux_/na_spec.hpp
index 04e2328..ed03f4c 100644
--- a/include/ndnboost/mpl/aux_/na_spec.hpp
+++ b/include/ndnboost/mpl/aux_/na_spec.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_AUX_NA_SPEC_HPP_INCLUDED
-#define BOOST_MPL_AUX_NA_SPEC_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_AUX_NA_SPEC_HPP_INCLUDED
+#define NDNBOOST_MPL_AUX_NA_SPEC_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2001-2004
 //
@@ -14,7 +14,7 @@
 // $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
 // $Revision: 49267 $
 
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
+#if !defined(NDNBOOST_MPL_PREPROCESSING_MODE)
 #   include <ndnboost/mpl/lambda_fwd.hpp>
 #   include <ndnboost/mpl/int.hpp>
 #   include <ndnboost/mpl/bool.hpp>
@@ -35,89 +35,89 @@
 #include <ndnboost/mpl/aux_/config/overload_resolution.hpp>
 
 
-#define BOOST_MPL_AUX_NA_PARAMS(i) \
-    BOOST_MPL_PP_ENUM(i, na) \
+#define NDNBOOST_MPL_AUX_NA_PARAMS(i) \
+    NDNBOOST_MPL_PP_ENUM(i, na) \
 /**/
 
-#if defined(BOOST_MPL_CFG_BROKEN_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES)
-#   define BOOST_MPL_AUX_NA_SPEC_ARITY(i, name) \
+#if defined(NDNBOOST_MPL_CFG_BROKEN_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES)
+#   define NDNBOOST_MPL_AUX_NA_SPEC_ARITY(i, name) \
 namespace aux { \
-template< BOOST_MPL_AUX_NTTP_DECL(int, N) > \
+template< NDNBOOST_MPL_AUX_NTTP_DECL(int, N) > \
 struct arity< \
-          name< BOOST_MPL_AUX_NA_PARAMS(i) > \
+          name< NDNBOOST_MPL_AUX_NA_PARAMS(i) > \
         , N \
         > \
-    : int_< BOOST_MPL_LIMIT_METAFUNCTION_ARITY > \
+    : int_< NDNBOOST_MPL_LIMIT_METAFUNCTION_ARITY > \
 { \
 }; \
 } \
 /**/
 #else
-#   define BOOST_MPL_AUX_NA_SPEC_ARITY(i, name) /**/
+#   define NDNBOOST_MPL_AUX_NA_SPEC_ARITY(i, name) /**/
 #endif
 
-#define BOOST_MPL_AUX_NA_SPEC_MAIN(i, name) \
+#define NDNBOOST_MPL_AUX_NA_SPEC_MAIN(i, name) \
 template<> \
-struct name< BOOST_MPL_AUX_NA_PARAMS(i) > \
+struct name< NDNBOOST_MPL_AUX_NA_PARAMS(i) > \
 { \
     template< \
-          BOOST_MPL_PP_PARAMS(i, typename T) \
-        BOOST_MPL_PP_NESTED_DEF_PARAMS_TAIL(i, typename T, na) \
+          NDNBOOST_MPL_PP_PARAMS(i, typename T) \
+        NDNBOOST_MPL_PP_NESTED_DEF_PARAMS_TAIL(i, typename T, na) \
         > \
     struct apply \
-        : name< BOOST_MPL_PP_PARAMS(i, T) > \
+        : name< NDNBOOST_MPL_PP_PARAMS(i, T) > \
     { \
     }; \
 }; \
 /**/
 
-#if defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT)
-#   define BOOST_MPL_AUX_NA_SPEC_LAMBDA(i, name) \
+#if defined(NDNBOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT)
+#   define NDNBOOST_MPL_AUX_NA_SPEC_LAMBDA(i, name) \
 template<> \
 struct lambda< \
-      name< BOOST_MPL_AUX_NA_PARAMS(i) > \
+      name< NDNBOOST_MPL_AUX_NA_PARAMS(i) > \
     , void_ \
     , true_ \
     > \
 { \
     typedef false_ is_le; \
-    typedef name< BOOST_MPL_AUX_NA_PARAMS(i) > type; \
+    typedef name< NDNBOOST_MPL_AUX_NA_PARAMS(i) > type; \
 }; \
 template<> \
 struct lambda< \
-      name< BOOST_MPL_AUX_NA_PARAMS(i) > \
+      name< NDNBOOST_MPL_AUX_NA_PARAMS(i) > \
     , void_ \
     , false_ \
     > \
 { \
     typedef false_ is_le; \
-    typedef name< BOOST_MPL_AUX_NA_PARAMS(i) > type; \
+    typedef name< NDNBOOST_MPL_AUX_NA_PARAMS(i) > type; \
 }; \
 /**/
 #else
-#   define BOOST_MPL_AUX_NA_SPEC_LAMBDA(i, name) \
+#   define NDNBOOST_MPL_AUX_NA_SPEC_LAMBDA(i, name) \
 template< typename Tag > \
 struct lambda< \
-      name< BOOST_MPL_AUX_NA_PARAMS(i) > \
+      name< NDNBOOST_MPL_AUX_NA_PARAMS(i) > \
     , Tag \
-    BOOST_MPL_AUX_LAMBDA_ARITY_PARAM(int_<-1>) \
+    NDNBOOST_MPL_AUX_LAMBDA_ARITY_PARAM(int_<-1>) \
     > \
 { \
     typedef false_ is_le; \
-    typedef name< BOOST_MPL_AUX_NA_PARAMS(i) > result_; \
-    typedef name< BOOST_MPL_AUX_NA_PARAMS(i) > type; \
+    typedef name< NDNBOOST_MPL_AUX_NA_PARAMS(i) > result_; \
+    typedef name< NDNBOOST_MPL_AUX_NA_PARAMS(i) > type; \
 }; \
 /**/
 #endif
 
-#if defined(BOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING) \
-    || defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT) \
-        && defined(BOOST_MPL_CFG_BROKEN_OVERLOAD_RESOLUTION)
-#   define BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(i, j, name) \
+#if defined(NDNBOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING) \
+    || defined(NDNBOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT) \
+        && defined(NDNBOOST_MPL_CFG_BROKEN_OVERLOAD_RESOLUTION)
+#   define NDNBOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(i, j, name) \
 namespace aux { \
-template< BOOST_MPL_PP_PARAMS(j, typename T) > \
+template< NDNBOOST_MPL_PP_PARAMS(j, typename T) > \
 struct template_arity< \
-          name< BOOST_MPL_PP_PARAMS(j, T) > \
+          name< NDNBOOST_MPL_PP_PARAMS(j, T) > \
         > \
     : int_<j> \
 { \
@@ -125,7 +125,7 @@
 \
 template<> \
 struct template_arity< \
-          name< BOOST_MPL_PP_ENUM(i, na) > \
+          name< NDNBOOST_MPL_PP_ENUM(i, na) > \
         > \
     : int_<-1> \
 { \
@@ -133,43 +133,43 @@
 } \
 /**/
 #else
-#   define BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(i, j, name) /**/
+#   define NDNBOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(i, j, name) /**/
 #endif
 
-#if defined(BOOST_MPL_CFG_MSVC_ETI_BUG)
-#   define BOOST_MPL_AUX_NA_SPEC_ETI(i, name) \
+#if defined(NDNBOOST_MPL_CFG_MSVC_ETI_BUG)
+#   define NDNBOOST_MPL_AUX_NA_SPEC_ETI(i, name) \
 template<> \
-struct name< BOOST_MPL_PP_ENUM(i, int) > \
+struct name< NDNBOOST_MPL_PP_ENUM(i, int) > \
 { \
     typedef int type; \
     enum { value = 0 }; \
 }; \
 /**/
 #else
-#   define BOOST_MPL_AUX_NA_SPEC_ETI(i, name) /**/
+#   define NDNBOOST_MPL_AUX_NA_SPEC_ETI(i, name) /**/
 #endif
 
-#define BOOST_MPL_AUX_NA_PARAM(param) param = na
+#define NDNBOOST_MPL_AUX_NA_PARAM(param) param = na
 
-#define BOOST_MPL_AUX_NA_SPEC_NO_ETI(i, name) \
-BOOST_MPL_AUX_NA_SPEC_MAIN(i, name) \
-BOOST_MPL_AUX_NA_SPEC_LAMBDA(i, name) \
-BOOST_MPL_AUX_NA_SPEC_ARITY(i, name) \
-BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(i, i, name) \
+#define NDNBOOST_MPL_AUX_NA_SPEC_NO_ETI(i, name) \
+NDNBOOST_MPL_AUX_NA_SPEC_MAIN(i, name) \
+NDNBOOST_MPL_AUX_NA_SPEC_LAMBDA(i, name) \
+NDNBOOST_MPL_AUX_NA_SPEC_ARITY(i, name) \
+NDNBOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(i, i, name) \
 /**/
 
-#define BOOST_MPL_AUX_NA_SPEC(i, name) \
-BOOST_MPL_AUX_NA_SPEC_NO_ETI(i, name) \
-BOOST_MPL_AUX_NA_SPEC_ETI(i, name) \
+#define NDNBOOST_MPL_AUX_NA_SPEC(i, name) \
+NDNBOOST_MPL_AUX_NA_SPEC_NO_ETI(i, name) \
+NDNBOOST_MPL_AUX_NA_SPEC_ETI(i, name) \
 /**/
 
-#define BOOST_MPL_AUX_NA_SPEC2(i, j, name) \
-BOOST_MPL_AUX_NA_SPEC_MAIN(i, name) \
-BOOST_MPL_AUX_NA_SPEC_ETI(i, name) \
-BOOST_MPL_AUX_NA_SPEC_LAMBDA(i, name) \
-BOOST_MPL_AUX_NA_SPEC_ARITY(i, name) \
-BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(i, j, name) \
+#define NDNBOOST_MPL_AUX_NA_SPEC2(i, j, name) \
+NDNBOOST_MPL_AUX_NA_SPEC_MAIN(i, name) \
+NDNBOOST_MPL_AUX_NA_SPEC_ETI(i, name) \
+NDNBOOST_MPL_AUX_NA_SPEC_LAMBDA(i, name) \
+NDNBOOST_MPL_AUX_NA_SPEC_ARITY(i, name) \
+NDNBOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(i, j, name) \
 /**/
 
 
-#endif // BOOST_MPL_AUX_NA_SPEC_HPP_INCLUDED
+#endif // NDNBOOST_MPL_AUX_NA_SPEC_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/aux_/nested_type_wknd.hpp b/include/ndnboost/mpl/aux_/nested_type_wknd.hpp
index e00c76d..f366a87 100644
--- a/include/ndnboost/mpl/aux_/nested_type_wknd.hpp
+++ b/include/ndnboost/mpl/aux_/nested_type_wknd.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_AUX_NESTED_TYPE_WKND_HPP_INCLUDED
-#define BOOST_MPL_AUX_NESTED_TYPE_WKND_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_AUX_NESTED_TYPE_WKND_HPP_INCLUDED
+#define NDNBOOST_MPL_AUX_NESTED_TYPE_WKND_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -17,10 +17,10 @@
 #include <ndnboost/mpl/aux_/config/gcc.hpp>
 #include <ndnboost/mpl/aux_/config/workaround.hpp>
 
-#if BOOST_WORKAROUND(BOOST_MPL_CFG_GCC, BOOST_TESTED_AT(0x0302)) \
-    || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x561)) \
-    || BOOST_WORKAROUND(__SUNPRO_CC, BOOST_TESTED_AT(0x530)) \
-    || BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840))
+#if NDNBOOST_WORKAROUND(NDNBOOST_MPL_CFG_GCC, NDNBOOST_TESTED_AT(0x0302)) \
+    || NDNBOOST_WORKAROUND(__BORLANDC__, NDNBOOST_TESTED_AT(0x561)) \
+    || NDNBOOST_WORKAROUND(__SUNPRO_CC, NDNBOOST_TESTED_AT(0x530)) \
+    || NDNBOOST_WORKAROUND(__DMC__, NDNBOOST_TESTED_AT(0x840))
 
 namespace ndnboost { namespace mpl { namespace aux {
 template< typename T > struct nested_type_wknd
@@ -29,20 +29,20 @@
 };
 }}}
 
-#if BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840))
-#   define BOOST_MPL_AUX_NESTED_TYPE_WKND(T) \
+#if NDNBOOST_WORKAROUND(__DMC__, NDNBOOST_TESTED_AT(0x840))
+#   define NDNBOOST_MPL_AUX_NESTED_TYPE_WKND(T) \
     aux::nested_type_wknd<T> \
 /**/
 #else
-#   define BOOST_MPL_AUX_NESTED_TYPE_WKND(T) \
+#   define NDNBOOST_MPL_AUX_NESTED_TYPE_WKND(T) \
     ::ndnboost::mpl::aux::nested_type_wknd<T> \
 /**/
 #endif
 
-#else // !BOOST_MPL_CFG_GCC et al.
+#else // !NDNBOOST_MPL_CFG_GCC et al.
 
-#   define BOOST_MPL_AUX_NESTED_TYPE_WKND(T) T::type
+#   define NDNBOOST_MPL_AUX_NESTED_TYPE_WKND(T) T::type
 
 #endif 
 
-#endif // BOOST_MPL_AUX_NESTED_TYPE_WKND_HPP_INCLUDED
+#endif // NDNBOOST_MPL_AUX_NESTED_TYPE_WKND_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/aux_/nttp_decl.hpp b/include/ndnboost/mpl/aux_/nttp_decl.hpp
index ebfe6a1..05b64ae 100644
--- a/include/ndnboost/mpl/aux_/nttp_decl.hpp
+++ b/include/ndnboost/mpl/aux_/nttp_decl.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_AUX_NTTP_DECL_HPP_INCLUDED
-#define BOOST_MPL_AUX_NTTP_DECL_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_AUX_NTTP_DECL_HPP_INCLUDED
+#define NDNBOOST_MPL_AUX_NTTP_DECL_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2001-2004
 //
@@ -16,7 +16,7 @@
 
 #include <ndnboost/mpl/aux_/config/nttp.hpp>
 
-#if defined(BOOST_MPL_CFG_NTTP_BUG)
+#if defined(NDNBOOST_MPL_CFG_NTTP_BUG)
 
 typedef bool        _mpl_nttp_bool;
 typedef int         _mpl_nttp_int;
@@ -24,12 +24,12 @@
 typedef long        _mpl_nttp_long;
 
 #   include <ndnboost/preprocessor/cat.hpp>
-#   define BOOST_MPL_AUX_NTTP_DECL(T, x) BOOST_PP_CAT(_mpl_nttp_,T) x /**/
+#   define NDNBOOST_MPL_AUX_NTTP_DECL(T, x) NDNBOOST_PP_CAT(_mpl_nttp_,T) x /**/
 
 #else
 
-#   define BOOST_MPL_AUX_NTTP_DECL(T, x) T x /**/
+#   define NDNBOOST_MPL_AUX_NTTP_DECL(T, x) T x /**/
 
 #endif
 
-#endif // BOOST_MPL_AUX_NTTP_DECL_HPP_INCLUDED
+#endif // NDNBOOST_MPL_AUX_NTTP_DECL_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/aux_/numeric_cast_utils.hpp b/include/ndnboost/mpl/aux_/numeric_cast_utils.hpp
index 8f0ce0c..6021fef 100644
--- a/include/ndnboost/mpl/aux_/numeric_cast_utils.hpp
+++ b/include/ndnboost/mpl/aux_/numeric_cast_utils.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_AUX_NUMERIC_CAST_HPP_INCLUDED
-#define BOOST_MPL_AUX_NUMERIC_CAST_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_AUX_NUMERIC_CAST_HPP_INCLUDED
+#define NDNBOOST_MPL_AUX_NUMERIC_CAST_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2003-2004
 //
@@ -28,10 +28,10 @@
 struct cast1st_impl
 {
     template< typename N1, typename N2 > struct apply
-#if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING)
+#if !defined(NDNBOOST_MPL_CFG_NO_NESTED_FORWARDING)
         : apply_wrap2< 
               F
-            , typename apply_wrap1< BOOST_MPL_AUX_NUMERIC_CAST<Tag1,Tag2>,N1 >::type
+            , typename apply_wrap1< NDNBOOST_MPL_AUX_NUMERIC_CAST<Tag1,Tag2>,N1 >::type
             , N2
             >
     {
@@ -39,7 +39,7 @@
     {
     typedef typename apply_wrap2< 
               F
-            , typename apply_wrap1< BOOST_MPL_AUX_NUMERIC_CAST<Tag1,Tag2>,N1 >::type
+            , typename apply_wrap1< NDNBOOST_MPL_AUX_NUMERIC_CAST<Tag1,Tag2>,N1 >::type
             , N2
             >::type type;
 #endif
@@ -54,11 +54,11 @@
 struct cast2nd_impl
 {
     template< typename N1, typename N2 > struct apply
-#if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING)
+#if !defined(NDNBOOST_MPL_CFG_NO_NESTED_FORWARDING)
         : apply_wrap2< 
               F
             , N1
-            , typename apply_wrap1< BOOST_MPL_AUX_NUMERIC_CAST<Tag2,Tag1>,N2 >::type
+            , typename apply_wrap1< NDNBOOST_MPL_AUX_NUMERIC_CAST<Tag2,Tag1>,N2 >::type
             >
     {
 #else
@@ -66,7 +66,7 @@
         typedef typename apply_wrap2< 
               F
             , N1
-            , typename apply_wrap1< BOOST_MPL_AUX_NUMERIC_CAST<Tag2,Tag1>,N2 >::type
+            , typename apply_wrap1< NDNBOOST_MPL_AUX_NUMERIC_CAST<Tag2,Tag1>,N2 >::type
             >::type type;
 #endif
     };
@@ -74,4 +74,4 @@
 
 }}}
 
-#endif // BOOST_MPL_AUX_NUMERIC_CAST_HPP_INCLUDED
+#endif // NDNBOOST_MPL_AUX_NUMERIC_CAST_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/aux_/numeric_op.hpp b/include/ndnboost/mpl/aux_/numeric_op.hpp
index 1acf439..07bf564 100644
--- a/include/ndnboost/mpl/aux_/numeric_op.hpp
+++ b/include/ndnboost/mpl/aux_/numeric_op.hpp
@@ -1,5 +1,5 @@
 
-#if !defined(BOOST_PP_IS_ITERATING)
+#if !defined(NDNBOOST_PP_IS_ITERATING)
 
 ///// header body
 
@@ -17,7 +17,7 @@
 // $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
 // $Revision: 49267 $
 
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
+#if !defined(NDNBOOST_MPL_PREPROCESSING_MODE)
 #   include <ndnboost/mpl/numeric_cast.hpp>
 #   include <ndnboost/mpl/apply_wrap.hpp>
 #   include <ndnboost/mpl/if.hpp>
@@ -34,8 +34,8 @@
 
 #include <ndnboost/mpl/aux_/config/static_constant.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)
 
 #   include <ndnboost/mpl/limits/arity.hpp>
 #   include <ndnboost/mpl/aux_/preprocessor/partial_spec_params.hpp>
@@ -58,15 +58,15 @@
 
 
 #if !defined(AUX778076_OP_ARITY)
-#   define AUX778076_OP_ARITY BOOST_MPL_LIMIT_METAFUNCTION_ARITY
+#   define AUX778076_OP_ARITY NDNBOOST_MPL_LIMIT_METAFUNCTION_ARITY
 #endif
 
 #if !defined(AUX778076_OP_IMPL_NAME)
-#   define AUX778076_OP_IMPL_NAME BOOST_PP_CAT(AUX778076_OP_PREFIX,_impl)
+#   define AUX778076_OP_IMPL_NAME NDNBOOST_PP_CAT(AUX778076_OP_PREFIX,_impl)
 #endif
 
 #if !defined(AUX778076_OP_TAG_NAME)
-#   define AUX778076_OP_TAG_NAME BOOST_PP_CAT(AUX778076_OP_PREFIX,_tag)
+#   define AUX778076_OP_TAG_NAME NDNBOOST_PP_CAT(AUX778076_OP_PREFIX,_tag)
 #endif
 
 namespace ndnboost { namespace mpl {
@@ -74,9 +74,9 @@
 template< 
       typename Tag1
     , typename Tag2
-#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
-    , 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 
+#if NDNBOOST_WORKAROUND(NDNBOOST_MSVC, <= 1300)
+    , 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 AUX778076_OP_IMPL_NAME
     : if_c<
@@ -85,8 +85,8 @@
     >
 struct AUX778076_OP_IMPL_NAME
     : 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)
             )
 #endif
         , aux::cast2nd_impl< AUX778076_OP_IMPL_NAME<Tag1,Tag1>,Tag1,Tag2 >
@@ -101,17 +101,17 @@
     template< typename U1, typename U2 > struct apply 
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value = 0);
     };
 };
 
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+#if !defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
 template< typename Tag > struct AUX778076_OP_IMPL_NAME<na,Tag>
 {
     template< typename U1, typename U2 > struct apply 
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value = 0);
     };
 };
 
@@ -120,7 +120,7 @@
     template< typename U1, typename U2 > struct apply 
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value = 0);
     };
 };
 #else
@@ -129,7 +129,7 @@
     template< typename U1, typename U2 > struct apply 
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value = 0);
     };
 };
 
@@ -138,14 +138,14 @@
     template< typename U1, typename U2 > struct apply 
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value = 0);
     };
 };
 #endif
 
 
-#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
-    && BOOST_WORKAROUND(BOOST_MSVC, >= 1300)
+#if defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
+    && NDNBOOST_WORKAROUND(NDNBOOST_MSVC, >= 1300)
 template< typename T > struct AUX778076_OP_TAG_NAME
     : tag<T,na>
 {
@@ -160,71 +160,71 @@
 
 #if AUX778076_OP_ARITY != 2
 
-#   if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+#   if !defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
 
-#   define AUX778076_OP_RIGHT_OPERAND(unused, i, N) , BOOST_PP_CAT(N, BOOST_MPL_PP_ADD(i, 2))>
+#   define AUX778076_OP_RIGHT_OPERAND(unused, i, N) , NDNBOOST_PP_CAT(N, NDNBOOST_MPL_PP_ADD(i, 2))>
 #   define AUX778076_OP_N_CALLS(i, N) \
-    BOOST_MPL_PP_REPEAT( BOOST_PP_DEC(i), BOOST_MPL_PP_REPEAT_IDENTITY_FUNC, AUX778076_OP_NAME< ) \
-    N1 BOOST_MPL_PP_REPEAT( BOOST_MPL_PP_SUB(i, 1), AUX778076_OP_RIGHT_OPERAND, N ) \
+    NDNBOOST_MPL_PP_REPEAT( NDNBOOST_PP_DEC(i), NDNBOOST_MPL_PP_REPEAT_IDENTITY_FUNC, AUX778076_OP_NAME< ) \
+    N1 NDNBOOST_MPL_PP_REPEAT( NDNBOOST_MPL_PP_SUB(i, 1), AUX778076_OP_RIGHT_OPERAND, N ) \
 /**/
 
 template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    BOOST_MPL_PP_DEF_PARAMS_TAIL(2, typename N, na)
+      typename NDNBOOST_MPL_AUX_NA_PARAM(N1)
+    , typename NDNBOOST_MPL_AUX_NA_PARAM(N2)
+    NDNBOOST_MPL_PP_DEF_PARAMS_TAIL(2, typename N, na)
     >
 struct AUX778076_OP_NAME
     : AUX778076_OP_N_CALLS(AUX778076_OP_ARITY, N)
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           AUX778076_OP_ARITY
         , AUX778076_OP_NAME
-        , ( BOOST_MPL_PP_PARAMS(AUX778076_OP_ARITY, N) )
+        , ( NDNBOOST_MPL_PP_PARAMS(AUX778076_OP_ARITY, N) )
         )
 };
 
-#define BOOST_PP_ITERATION_PARAMS_1 \
-    (3,( BOOST_PP_DEC(AUX778076_OP_ARITY), 2, <ndnboost/mpl/aux_/numeric_op.hpp> ))
-#include BOOST_PP_ITERATE()
+#define NDNBOOST_PP_ITERATION_PARAMS_1 \
+    (3,( NDNBOOST_PP_DEC(AUX778076_OP_ARITY), 2, <ndnboost/mpl/aux_/numeric_op.hpp> ))
+#include NDNBOOST_PP_ITERATE()
 
 #   undef AUX778076_OP_N_CALLS
 #   undef AUX778076_OP_RIGHT_OPERAND
 
-#   else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#   else // NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 
 /// forward declaration
 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 BOOST_PP_CAT(AUX778076_OP_NAME,2);
+struct NDNBOOST_PP_CAT(AUX778076_OP_NAME,2);
 
 template<
-      typename BOOST_MPL_AUX_NA_PARAM(N1)
-    , typename BOOST_MPL_AUX_NA_PARAM(N2)
-    BOOST_MPL_PP_DEF_PARAMS_TAIL(2, typename N, na)
+      typename NDNBOOST_MPL_AUX_NA_PARAM(N1)
+    , typename NDNBOOST_MPL_AUX_NA_PARAM(N2)
+    NDNBOOST_MPL_PP_DEF_PARAMS_TAIL(2, typename N, na)
     >
 struct AUX778076_OP_NAME
-#if BOOST_WORKAROUND(BOOST_MSVC, == 1300)
+#if NDNBOOST_WORKAROUND(NDNBOOST_MSVC, == 1300)
     : aux::msvc_eti_base< typename if_<
 #else
     : if_<
 #endif
           is_na<N3>
-        , BOOST_PP_CAT(AUX778076_OP_NAME,2)<N1,N2>
+        , NDNBOOST_PP_CAT(AUX778076_OP_NAME,2)<N1,N2>
         , AUX778076_OP_NAME<
-              BOOST_PP_CAT(AUX778076_OP_NAME,2)<N1,N2>
-            , BOOST_MPL_PP_EXT_PARAMS(3, BOOST_PP_INC(AUX778076_OP_ARITY), N)
+              NDNBOOST_PP_CAT(AUX778076_OP_NAME,2)<N1,N2>
+            , NDNBOOST_MPL_PP_EXT_PARAMS(3, NDNBOOST_PP_INC(AUX778076_OP_ARITY), N)
             >
         >::type
-#if BOOST_WORKAROUND(BOOST_MSVC, == 1300)
+#if NDNBOOST_WORKAROUND(NDNBOOST_MSVC, == 1300)
     >
 #endif
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           AUX778076_OP_ARITY
         , AUX778076_OP_NAME
-        , ( BOOST_MPL_PP_PARAMS(AUX778076_OP_ARITY, N) )
+        , ( NDNBOOST_MPL_PP_PARAMS(AUX778076_OP_ARITY, N) )
         )
 };
 
@@ -232,21 +232,21 @@
       typename N1
     , typename N2
     >
-struct BOOST_PP_CAT(AUX778076_OP_NAME,2)
+struct NDNBOOST_PP_CAT(AUX778076_OP_NAME,2)
 
 #endif
 
 #else // AUX778076_OP_ARITY == 2
 
 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 AUX778076_OP_NAME
 
 #endif
 
-#if !defined(BOOST_MPL_CFG_MSVC_ETI_BUG)
+#if !defined(NDNBOOST_MPL_CFG_MSVC_ETI_BUG)
     : AUX778076_OP_IMPL_NAME<
           typename AUX778076_OP_TAG_NAME<N1>::type
         , typename AUX778076_OP_TAG_NAME<N2>::type
@@ -264,52 +264,52 @@
 {
 #if AUX778076_OP_ARITY != 2
 
-#   if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+#   if !defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           AUX778076_OP_ARITY
         , AUX778076_OP_NAME
-        , ( BOOST_MPL_PP_PARTIAL_SPEC_PARAMS(2, N, na) )
+        , ( NDNBOOST_MPL_PP_PARTIAL_SPEC_PARAMS(2, N, na) )
         )
 #   else
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, BOOST_PP_CAT(AUX778076_OP_NAME,2), (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, NDNBOOST_PP_CAT(AUX778076_OP_NAME,2), (N1, N2))
 #   endif
 
 #else
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, AUX778076_OP_NAME, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, AUX778076_OP_NAME, (N1, N2))
 #endif
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, AUX778076_OP_ARITY, AUX778076_OP_NAME)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, AUX778076_OP_ARITY, AUX778076_OP_NAME)
 
 }}
 
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
+#endif // NDNBOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
 
 ///// 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)
 
 template<
-      BOOST_MPL_PP_PARAMS(i_, typename N)
+      NDNBOOST_MPL_PP_PARAMS(i_, typename N)
     >
-struct AUX778076_OP_NAME<BOOST_MPL_PP_PARTIAL_SPEC_PARAMS(i_, N, na)>
+struct AUX778076_OP_NAME<NDNBOOST_MPL_PP_PARTIAL_SPEC_PARAMS(i_, N, na)>
 #if i_ != 2
     : AUX778076_OP_N_CALLS(i_, N)
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           AUX778076_OP_ARITY
         , AUX778076_OP_NAME
-        , ( BOOST_MPL_PP_PARTIAL_SPEC_PARAMS(i_, N, na) )
+        , ( NDNBOOST_MPL_PP_PARTIAL_SPEC_PARAMS(i_, N, na) )
         )
 };
 #endif
 
 #   undef i_
 
-#endif // BOOST_PP_ITERATION_DEPTH()
-#endif // BOOST_PP_IS_ITERATING
+#endif // NDNBOOST_PP_ITERATION_DEPTH()
+#endif // NDNBOOST_PP_IS_ITERATING
diff --git a/include/ndnboost/mpl/aux_/preprocessed/bcc/and.hpp b/include/ndnboost/mpl/aux_/preprocessed/bcc/and.hpp
index 119fa2d..6ecd7fd 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/bcc/and.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/bcc/and.hpp
@@ -22,7 +22,7 @@
 template< typename T1, typename T2, typename T3, typename T4 >
 struct and_impl< true,T1,T2,T3,T4 >
     : and_impl<
-          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
+          NDNBOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
         , T2, T3, T4
         , true_
         >
@@ -41,26 +41,26 @@
 } // namespace aux
 
 template<
-      typename BOOST_MPL_AUX_NA_PARAM(T1)
-    , typename BOOST_MPL_AUX_NA_PARAM(T2)
+      typename NDNBOOST_MPL_AUX_NA_PARAM(T1)
+    , typename NDNBOOST_MPL_AUX_NA_PARAM(T2)
     , typename T3 = true_, typename T4 = true_, typename T5 = true_
     >
 struct and_
 
     : aux::and_impl<
-          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
+          NDNBOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
         , T2, T3, T4, T5
         >
 
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , and_
         , ( T1, T2, T3, T4, T5)
         )
 };
 
-BOOST_MPL_AUX_NA_SPEC2(
+NDNBOOST_MPL_AUX_NA_SPEC2(
       2
     , 5
     , and_
diff --git a/include/ndnboost/mpl/aux_/preprocessed/bcc/apply.hpp b/include/ndnboost/mpl/aux_/preprocessed/bcc/apply.hpp
index 9d372f1..495377c 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/bcc/apply.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/bcc/apply.hpp
@@ -21,7 +21,7 @@
        
         >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           1
         , apply0
         , (F )
@@ -46,7 +46,7 @@
         , T1
         >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           2
         , apply1
         , (F, T1)
@@ -71,7 +71,7 @@
         , T1, T2
         >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           3
         , apply2
         , (F, T1, T2)
@@ -96,7 +96,7 @@
         , T1, T2, T3
         >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           4
         , apply3
         , (F, T1, T2, T3)
@@ -121,7 +121,7 @@
         , T1, T2, T3, T4
         >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , apply4
         , (F, T1, T2, T3, T4)
@@ -147,7 +147,7 @@
         , T1, T2, T3, T4, T5
         >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           6
         , apply5
         , (F, T1, T2, T3, T4, T5)
diff --git a/include/ndnboost/mpl/aux_/preprocessed/bcc/arg.hpp b/include/ndnboost/mpl/aux_/preprocessed/bcc/arg.hpp
index 3ac4340..29c017a 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/bcc/arg.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/bcc/arg.hpp
@@ -10,12 +10,12 @@
 // *Preprocessed* version of the main "arg.hpp" header
 // -- DO NOT modify by hand!
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 template<> struct arg< -1 >
 {
-    BOOST_STATIC_CONSTANT(int, value  = -1);
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
+    NDNBOOST_STATIC_CONSTANT(int, value  = -1);
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, type)
 
     template<
           typename U1, typename U2, typename U3, typename U4, typename U5
@@ -23,16 +23,16 @@
     struct apply
     {
         typedef U1 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
+        NDNBOOST_MPL_AUX_ASSERT_NOT_NA(type);
     };
 };
 
 template<> struct arg<1>
 {
-    BOOST_STATIC_CONSTANT(int, value  = 1);
+    NDNBOOST_STATIC_CONSTANT(int, value  = 1);
     typedef arg<2> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, type)
 
     template<
           typename U1, typename U2, typename U3, typename U4, typename U5
@@ -40,16 +40,16 @@
     struct apply
     {
         typedef U1 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
+        NDNBOOST_MPL_AUX_ASSERT_NOT_NA(type);
     };
 };
 
 template<> struct arg<2>
 {
-    BOOST_STATIC_CONSTANT(int, value  = 2);
+    NDNBOOST_STATIC_CONSTANT(int, value  = 2);
     typedef arg<3> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, type)
 
     template<
           typename U1, typename U2, typename U3, typename U4, typename U5
@@ -57,16 +57,16 @@
     struct apply
     {
         typedef U2 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
+        NDNBOOST_MPL_AUX_ASSERT_NOT_NA(type);
     };
 };
 
 template<> struct arg<3>
 {
-    BOOST_STATIC_CONSTANT(int, value  = 3);
+    NDNBOOST_STATIC_CONSTANT(int, value  = 3);
     typedef arg<4> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, type)
 
     template<
           typename U1, typename U2, typename U3, typename U4, typename U5
@@ -74,16 +74,16 @@
     struct apply
     {
         typedef U3 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
+        NDNBOOST_MPL_AUX_ASSERT_NOT_NA(type);
     };
 };
 
 template<> struct arg<4>
 {
-    BOOST_STATIC_CONSTANT(int, value  = 4);
+    NDNBOOST_STATIC_CONSTANT(int, value  = 4);
     typedef arg<5> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, type)
 
     template<
           typename U1, typename U2, typename U3, typename U4, typename U5
@@ -91,16 +91,16 @@
     struct apply
     {
         typedef U4 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
+        NDNBOOST_MPL_AUX_ASSERT_NOT_NA(type);
     };
 };
 
 template<> struct arg<5>
 {
-    BOOST_STATIC_CONSTANT(int, value  = 5);
+    NDNBOOST_STATIC_CONSTANT(int, value  = 5);
     typedef arg<6> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, type)
 
     template<
           typename U1, typename U2, typename U3, typename U4, typename U5
@@ -108,10 +108,10 @@
     struct apply
     {
         typedef U5 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
+        NDNBOOST_MPL_AUX_ASSERT_NOT_NA(type);
     };
 };
 
-BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg)
+NDNBOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg)
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
diff --git a/include/ndnboost/mpl/aux_/preprocessed/bcc/basic_bind.hpp b/include/ndnboost/mpl/aux_/preprocessed/bcc/basic_bind.hpp
index acd054b..0ba4ca5 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/bcc/basic_bind.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/bcc/basic_bind.hpp
@@ -70,8 +70,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(1, bind0)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
+NDNBOOST_MPL_AUX_ARITY_SPEC(1, bind0)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
 
 template<
       typename F, typename T1
@@ -112,8 +112,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(2, bind1)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
+NDNBOOST_MPL_AUX_ARITY_SPEC(2, bind1)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
 
 template<
       typename F, typename T1, typename T2
@@ -155,8 +155,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(3, bind2)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
+NDNBOOST_MPL_AUX_ARITY_SPEC(3, bind2)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
 
 template<
       typename F, typename T1, typename T2, typename T3
@@ -199,8 +199,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(4, bind3)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
+NDNBOOST_MPL_AUX_ARITY_SPEC(4, bind3)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
 
 template<
       typename F, typename T1, typename T2, typename T3, typename T4
@@ -245,8 +245,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(5, bind4)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
+NDNBOOST_MPL_AUX_ARITY_SPEC(5, bind4)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
 
 template<
       typename F, typename T1, typename T2, typename T3, typename T4
@@ -294,7 +294,7 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(6, bind5)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
+NDNBOOST_MPL_AUX_ARITY_SPEC(6, bind5)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
 }}
 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/bcc/bind.hpp b/include/ndnboost/mpl/aux_/preprocessed/bcc/bind.hpp
index 35ee492..3a5754b 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/bcc/bind.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/bcc/bind.hpp
@@ -92,8 +92,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(1, bind0)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
+NDNBOOST_MPL_AUX_ARITY_SPEC(1, bind0)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
 
 template<
       typename F, typename T1
@@ -141,8 +141,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(2, bind1)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
+NDNBOOST_MPL_AUX_ARITY_SPEC(2, bind1)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
 
 template<
       typename F, typename T1, typename T2
@@ -195,8 +195,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(3, bind2)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
+NDNBOOST_MPL_AUX_ARITY_SPEC(3, bind2)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
 
 template<
       typename F, typename T1, typename T2, typename T3
@@ -254,8 +254,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(4, bind3)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
+NDNBOOST_MPL_AUX_ARITY_SPEC(4, bind3)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
 
 template<
       typename F, typename T1, typename T2, typename T3, typename T4
@@ -319,8 +319,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(5, bind4)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
+NDNBOOST_MPL_AUX_ARITY_SPEC(5, bind4)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
 
 template<
       typename F, typename T1, typename T2, typename T3, typename T4
@@ -391,7 +391,7 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(6, bind5)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
+NDNBOOST_MPL_AUX_ARITY_SPEC(6, bind5)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
 }}
 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/bcc/bitand.hpp b/include/ndnboost/mpl/aux_/preprocessed/bcc/bitand.hpp
index 1a2ac8d..6a3f847 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/bcc/bitand.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/bcc/bitand.hpp
@@ -18,8 +18,8 @@
     >
 struct bitand_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< bitand_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 bitand_
     : bitand_< bitand_< bitand_< bitand_< N1,N2 >, N3>, N4>, N5>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , bitand_
         , ( N1, N2, N3, N4, N5 )
@@ -83,7 +83,7 @@
 
     : bitand_< bitand_< bitand_< N1,N2 >, N3>, N4>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , bitand_
         , ( N1, N2, N3, N4, na )
@@ -97,7 +97,7 @@
 
     : bitand_< bitand_< N1,N2 >, N3>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , bitand_
         , ( N1, N2, N3, na, na )
@@ -113,7 +113,7 @@
         , typename bitand_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , bitand_
         , ( N1, N2, na, na, na )
@@ -121,7 +121,7 @@
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitand_)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 5, bitand_)
 
 }}
 
@@ -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
                 )
             >
     {
diff --git a/include/ndnboost/mpl/aux_/preprocessed/bcc/bitor.hpp b/include/ndnboost/mpl/aux_/preprocessed/bcc/bitor.hpp
index 536f350..8082890 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/bcc/bitor.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/bcc/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
                 )
             >
     {
diff --git a/include/ndnboost/mpl/aux_/preprocessed/bcc/bitxor.hpp b/include/ndnboost/mpl/aux_/preprocessed/bcc/bitxor.hpp
index 0869fba..78cdd23 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/bcc/bitxor.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/bcc/bitxor.hpp
@@ -18,8 +18,8 @@
     >
 struct bitxor_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< bitxor_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 bitxor_
     : bitxor_< bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4>, N5>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , bitxor_
         , ( N1, N2, N3, N4, N5 )
@@ -83,7 +83,7 @@
 
     : bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , bitxor_
         , ( N1, N2, N3, N4, na )
@@ -97,7 +97,7 @@
 
     : bitxor_< bitxor_< N1,N2 >, N3>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , bitxor_
         , ( N1, N2, N3, na, na )
@@ -113,7 +113,7 @@
         , typename bitxor_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , bitxor_
         , ( N1, N2, na, na, na )
@@ -121,7 +121,7 @@
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitxor_)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 5, bitxor_)
 
 }}
 
@@ -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
                 )
             >
     {
diff --git a/include/ndnboost/mpl/aux_/preprocessed/bcc/divides.hpp b/include/ndnboost/mpl/aux_/preprocessed/bcc/divides.hpp
index 5922aff..9ec580d 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/bcc/divides.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/bcc/divides.hpp
@@ -17,8 +17,8 @@
     >
 struct divides_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< divides_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,14 +61,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 divides
     : divides< divides< divides< divides< N1,N2 >, N3>, N4>, N5>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , divides
         , ( N1, N2, N3, N4, N5 )
@@ -82,7 +82,7 @@
 
     : divides< divides< divides< N1,N2 >, N3>, N4>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , divides
         , ( N1, N2, N3, N4, na )
@@ -96,7 +96,7 @@
 
     : divides< divides< N1,N2 >, N3>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , divides
         , ( N1, N2, N3, na, na )
@@ -112,7 +112,7 @@
         , typename divides_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , divides
         , ( N1, N2, na, na, na )
@@ -120,7 +120,7 @@
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 5, divides)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 5, divides)
 
 }}
 
@@ -135,8 +135,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
                 )
             >
     {
diff --git a/include/ndnboost/mpl/aux_/preprocessed/bcc/equal_to.hpp b/include/ndnboost/mpl/aux_/preprocessed/bcc/equal_to.hpp
index b47c51e..71159c2 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/bcc/equal_to.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/bcc/equal_to.hpp
@@ -17,8 +17,8 @@
     >
 struct equal_to_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< equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,8 +61,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 equal_to
 
@@ -71,11 +71,11 @@
         , typename equal_to_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, equal_to, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, equal_to, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 2, equal_to)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 2, equal_to)
 
 }}
 
@@ -86,7 +86,7 @@
 {
     template< typename N1, typename N2 > struct apply
 
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value  == BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
+        : bool_< ( NDNBOOST_MPL_AUX_VALUE_WKND(N1)::value  == NDNBOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
     {
     };
 };
diff --git a/include/ndnboost/mpl/aux_/preprocessed/bcc/full_lambda.hpp b/include/ndnboost/mpl/aux_/preprocessed/bcc/full_lambda.hpp
index 9a7edf5..3471f18 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/bcc/full_lambda.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/bcc/full_lambda.hpp
@@ -552,7 +552,7 @@
     typedef typename le_result_::type type;
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 3, lambda)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 3, lambda)
 
 }}
 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/bcc/greater.hpp b/include/ndnboost/mpl/aux_/preprocessed/bcc/greater.hpp
index 7bd1c1f..b608850 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/bcc/greater.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/bcc/greater.hpp
@@ -17,8 +17,8 @@
     >
 struct greater_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< greater_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,8 +61,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 greater
 
@@ -71,11 +71,11 @@
         , typename greater_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 2, greater)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 2, greater)
 
 }}
 
@@ -86,7 +86,7 @@
 {
     template< typename N1, typename N2 > struct apply
 
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value > BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
+        : bool_< ( NDNBOOST_MPL_AUX_VALUE_WKND(N1)::value > NDNBOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
     {
     };
 };
diff --git a/include/ndnboost/mpl/aux_/preprocessed/bcc/greater_equal.hpp b/include/ndnboost/mpl/aux_/preprocessed/bcc/greater_equal.hpp
index b9f165e..f758629 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/bcc/greater_equal.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/bcc/greater_equal.hpp
@@ -17,8 +17,8 @@
     >
 struct greater_equal_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< greater_equal_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,8 +61,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 greater_equal
 
@@ -71,11 +71,11 @@
         , typename greater_equal_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater_equal, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater_equal, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 2, greater_equal)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 2, greater_equal)
 
 }}
 
@@ -86,7 +86,7 @@
 {
     template< typename N1, typename N2 > struct apply
 
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
+        : bool_< ( NDNBOOST_MPL_AUX_VALUE_WKND(N1)::value >= NDNBOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
     {
     };
 };
diff --git a/include/ndnboost/mpl/aux_/preprocessed/bcc/inherit.hpp b/include/ndnboost/mpl/aux_/preprocessed/bcc/inherit.hpp
index 5621cd9..ace1894 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/bcc/inherit.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/bcc/inherit.hpp
@@ -12,38 +12,38 @@
 namespace ndnboost { namespace mpl {
 
 template<
-      typename BOOST_MPL_AUX_NA_PARAM(T1)
-    , typename BOOST_MPL_AUX_NA_PARAM(T2)
+      typename NDNBOOST_MPL_AUX_NA_PARAM(T1)
+    , typename NDNBOOST_MPL_AUX_NA_PARAM(T2)
     >
 struct inherit2
     : T1, T2
 {
     typedef inherit2 type;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, inherit2, (T1, T2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, inherit2, (T1, T2))
 };
 
 template< typename T1 >
 struct inherit2< T1,empty_base >
 {
     typedef T1 type;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (T1, empty_base))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (T1, empty_base))
 };
 
 template< typename T2 >
 struct inherit2< empty_base,T2 >
 {
     typedef T2 type;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, T2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, T2))
 };
 
 template<>
 struct inherit2< empty_base,empty_base >
 {
     typedef empty_base type;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, empty_base))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, empty_base))
 };
 
-BOOST_MPL_AUX_NA_SPEC(2, inherit2)
+NDNBOOST_MPL_AUX_NA_SPEC(2, inherit2)
 
 template<
       typename T1 = na, typename T2 = na, typename T3 = na
@@ -56,14 +56,14 @@
         , T3
         >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           3
         , inherit3
         , ( T1, T2, T3)
         )
 };
 
-BOOST_MPL_AUX_NA_SPEC(3, inherit3)
+NDNBOOST_MPL_AUX_NA_SPEC(3, inherit3)
 
 template<
       typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na
@@ -76,14 +76,14 @@
         , T4
         >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           4
         , inherit4
         , ( T1, T2, T3, T4)
         )
 };
 
-BOOST_MPL_AUX_NA_SPEC(4, inherit4)
+NDNBOOST_MPL_AUX_NA_SPEC(4, inherit4)
 
 template<
       typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na
@@ -97,14 +97,14 @@
         , T5
         >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , inherit5
         , ( T1, T2, T3, T4, T5)
         )
 };
 
-BOOST_MPL_AUX_NA_SPEC(5, inherit5)
+NDNBOOST_MPL_AUX_NA_SPEC(5, inherit5)
 
 /// primary template
 
@@ -132,8 +132,8 @@
     };
 };
 
-BOOST_MPL_AUX_NA_SPEC_LAMBDA(5, inherit)
-BOOST_MPL_AUX_NA_SPEC_ARITY(5, inherit)
-BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(5, 5, inherit)
+NDNBOOST_MPL_AUX_NA_SPEC_LAMBDA(5, inherit)
+NDNBOOST_MPL_AUX_NA_SPEC_ARITY(5, inherit)
+NDNBOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(5, 5, inherit)
 }}
 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/bcc/iter_fold_if_impl.hpp b/include/ndnboost/mpl/aux_/preprocessed/bcc/iter_fold_if_impl.hpp
index 7553efd..949e316 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/bcc/iter_fold_if_impl.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/bcc/iter_fold_if_impl.hpp
@@ -61,7 +61,7 @@
 {
     typedef typename apply2< Predicate,State,Iterator >::type not_last;
     typedef typename iter_fold_if_step_impl<
-          BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
+          NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
         >::template result_< Iterator,State,ForwardOp, mpl::next<Iterator> > impl_;
 
     typedef typename impl_::state state;
@@ -78,7 +78,7 @@
 {
     typedef typename apply2< Predicate,State,Iterator >::type not_last;
     typedef typename iter_fold_if_step_impl<
-          BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
+          NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
         >::template result_< Iterator,State,BackwardOp, identity<Iterator> > impl_;
 
     typedef typename impl_::state state;
diff --git a/include/ndnboost/mpl/aux_/preprocessed/bcc/lambda_no_ctps.hpp b/include/ndnboost/mpl/aux_/preprocessed/bcc/lambda_no_ctps.hpp
index 213475d..5287a1f 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/bcc/lambda_no_ctps.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/bcc/lambda_no_ctps.hpp
@@ -44,7 +44,7 @@
         typedef lambda< typename F::arg1, Tag, false_ > l1;
         typedef typename l1::is_le is_le1;
         typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value
+              NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value
             > is_le;
 
         typedef bind1<
@@ -74,7 +74,7 @@
         
 
         typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value
+              NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value
             > is_le;
 
         typedef bind2<
@@ -106,7 +106,7 @@
         
 
         typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value
+              NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value
             > is_le;
 
         typedef bind3<
@@ -140,7 +140,7 @@
         
 
         typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value
+              NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value
             > is_le;
 
         typedef bind4<
@@ -177,7 +177,7 @@
         
 
         typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le5)::value
+              NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le5)::value
             > is_le;
 
         typedef bind5<
@@ -212,10 +212,10 @@
 
     typedef typename l_::type type;
     typedef typename l_::is_le is_le;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(3, lambda, (T, Tag, Protect))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(3, lambda, (T, Tag, Protect))
 };
 
-BOOST_MPL_AUX_NA_SPEC2(1, 3, lambda)
+NDNBOOST_MPL_AUX_NA_SPEC2(1, 3, lambda)
 
 template<
       typename T
diff --git a/include/ndnboost/mpl/aux_/preprocessed/bcc/less.hpp b/include/ndnboost/mpl/aux_/preprocessed/bcc/less.hpp
index 6bee1e6..df9a10b 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/bcc/less.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/bcc/less.hpp
@@ -17,8 +17,8 @@
     >
 struct less_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< less_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,8 +61,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 less
 
@@ -71,11 +71,11 @@
         , typename less_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, less, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 2, less)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 2, less)
 
 }}
 
@@ -86,7 +86,7 @@
 {
     template< typename N1, typename N2 > struct apply
 
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N2)::value > BOOST_MPL_AUX_VALUE_WKND(N1)::value ) >
+        : bool_< ( NDNBOOST_MPL_AUX_VALUE_WKND(N2)::value > NDNBOOST_MPL_AUX_VALUE_WKND(N1)::value ) >
     {
     };
 };
diff --git a/include/ndnboost/mpl/aux_/preprocessed/bcc/less_equal.hpp b/include/ndnboost/mpl/aux_/preprocessed/bcc/less_equal.hpp
index cd08075..1e4726f 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/bcc/less_equal.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/bcc/less_equal.hpp
@@ -17,8 +17,8 @@
     >
 struct less_equal_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< less_equal_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,8 +61,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 less_equal
 
@@ -71,11 +71,11 @@
         , typename less_equal_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less_equal, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, less_equal, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 2, less_equal)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 2, less_equal)
 
 }}
 
@@ -86,7 +86,7 @@
 {
     template< typename N1, typename N2 > struct apply
 
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value <= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
+        : bool_< ( NDNBOOST_MPL_AUX_VALUE_WKND(N1)::value <= NDNBOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
     {
     };
 };
diff --git a/include/ndnboost/mpl/aux_/preprocessed/bcc/minus.hpp b/include/ndnboost/mpl/aux_/preprocessed/bcc/minus.hpp
index 8e39d0d..6006e26 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/bcc/minus.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/bcc/minus.hpp
@@ -17,8 +17,8 @@
     >
 struct minus_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< minus_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,14 +61,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 minus
     : minus< minus< minus< minus< N1,N2 >, N3>, N4>, N5>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , minus
         , ( N1, N2, N3, N4, N5 )
@@ -82,7 +82,7 @@
 
     : minus< minus< minus< N1,N2 >, N3>, N4>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , minus
         , ( N1, N2, N3, N4, na )
@@ -96,7 +96,7 @@
 
     : minus< minus< N1,N2 >, N3>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , minus
         , ( N1, N2, N3, na, na )
@@ -112,7 +112,7 @@
         , typename minus_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , minus
         , ( N1, N2, na, na, na )
@@ -120,7 +120,7 @@
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 5, minus)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 5, minus)
 
 }}
 
@@ -135,8 +135,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
                 )
             >
     {
diff --git a/include/ndnboost/mpl/aux_/preprocessed/bcc/modulus.hpp b/include/ndnboost/mpl/aux_/preprocessed/bcc/modulus.hpp
index 65509f2..2009f89 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/bcc/modulus.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/bcc/modulus.hpp
@@ -17,8 +17,8 @@
     >
 struct modulus_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< modulus_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,8 +61,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 modulus
 
@@ -71,11 +71,11 @@
         , typename modulus_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, modulus, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, modulus, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 2, modulus)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 2, modulus)
 
 }}
 
@@ -90,8 +90,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
                 )
             >
     {
diff --git a/include/ndnboost/mpl/aux_/preprocessed/bcc/not_equal_to.hpp b/include/ndnboost/mpl/aux_/preprocessed/bcc/not_equal_to.hpp
index d14e535..5406a42 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/bcc/not_equal_to.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/bcc/not_equal_to.hpp
@@ -17,8 +17,8 @@
     >
 struct not_equal_to_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< not_equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,8 +61,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 not_equal_to
 
@@ -71,11 +71,11 @@
         , typename not_equal_to_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, not_equal_to, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, not_equal_to, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 2, not_equal_to)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 2, not_equal_to)
 
 }}
 
@@ -86,7 +86,7 @@
 {
     template< typename N1, typename N2 > struct apply
 
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value != BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
+        : bool_< ( NDNBOOST_MPL_AUX_VALUE_WKND(N1)::value != NDNBOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
     {
     };
 };
diff --git a/include/ndnboost/mpl/aux_/preprocessed/bcc/or.hpp b/include/ndnboost/mpl/aux_/preprocessed/bcc/or.hpp
index 9427d08..6bc19d0 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/bcc/or.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/bcc/or.hpp
@@ -22,7 +22,7 @@
 template< typename T1, typename T2, typename T3, typename T4 >
 struct or_impl< false,T1,T2,T3,T4 >
     : or_impl<
-          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
+          NDNBOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
         , T2, T3, T4
         , false_
         >
@@ -41,26 +41,26 @@
 } // namespace aux
 
 template<
-      typename BOOST_MPL_AUX_NA_PARAM(T1)
-    , typename BOOST_MPL_AUX_NA_PARAM(T2)
+      typename NDNBOOST_MPL_AUX_NA_PARAM(T1)
+    , typename NDNBOOST_MPL_AUX_NA_PARAM(T2)
     , typename T3 = false_, typename T4 = false_, typename T5 = false_
     >
 struct or_
 
     : aux::or_impl<
-          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
+          NDNBOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
         , T2, T3, T4, T5
         >
 
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , or_
         , ( T1, T2, T3, T4, T5)
         )
 };
 
-BOOST_MPL_AUX_NA_SPEC2(
+NDNBOOST_MPL_AUX_NA_SPEC2(
       2
     , 5
     , or_
diff --git a/include/ndnboost/mpl/aux_/preprocessed/bcc/placeholders.hpp b/include/ndnboost/mpl/aux_/preprocessed/bcc/placeholders.hpp
index 330e40f..c31761d 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/bcc/placeholders.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/bcc/placeholders.hpp
@@ -10,96 +10,96 @@
 // *Preprocessed* version of the main "placeholders.hpp" header
 // -- DO NOT modify by hand!
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 typedef arg< -1 > _;
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
 namespace ndnboost { namespace mpl {
 
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_)
+NDNBOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_)
 
 namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_;
+using NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_;
 }
 
 }}
 
 /// agurt, 17/mar/02: one more placeholder for the last 'apply#' 
 /// specialization
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 typedef arg<1> _1;
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
 namespace ndnboost { namespace mpl {
 
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1)
+NDNBOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1)
 
 namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1;
+using NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1;
 }
 
 }}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 typedef arg<2> _2;
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
 namespace ndnboost { namespace mpl {
 
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2)
+NDNBOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2)
 
 namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2;
+using NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2;
 }
 
 }}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 typedef arg<3> _3;
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
 namespace ndnboost { namespace mpl {
 
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3)
+NDNBOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3)
 
 namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3;
+using NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3;
 }
 
 }}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 typedef arg<4> _4;
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
 namespace ndnboost { namespace mpl {
 
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4)
+NDNBOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4)
 
 namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4;
+using NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4;
 }
 
 }}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 typedef arg<5> _5;
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
 namespace ndnboost { namespace mpl {
 
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5)
+NDNBOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5)
 
 namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5;
+using NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5;
 }
 
 }}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 typedef arg<6> _6;
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
 namespace ndnboost { namespace mpl {
 
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6)
+NDNBOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6)
 
 namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6;
+using NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6;
 }
 
 }}
diff --git a/include/ndnboost/mpl/aux_/preprocessed/bcc/plus.hpp b/include/ndnboost/mpl/aux_/preprocessed/bcc/plus.hpp
index 19c04d3..94bd633 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/bcc/plus.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/bcc/plus.hpp
@@ -17,8 +17,8 @@
     >
 struct plus_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< plus_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,14 +61,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 plus
     : plus< plus< plus< plus< N1,N2 >, N3>, N4>, N5>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , plus
         , ( N1, N2, N3, N4, N5 )
@@ -82,7 +82,7 @@
 
     : plus< plus< plus< N1,N2 >, N3>, N4>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , plus
         , ( N1, N2, N3, N4, na )
@@ -96,7 +96,7 @@
 
     : plus< plus< N1,N2 >, N3>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , plus
         , ( N1, N2, N3, na, na )
@@ -112,7 +112,7 @@
         , typename plus_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , plus
         , ( N1, N2, na, na, na )
@@ -120,7 +120,7 @@
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 5, plus)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 5, plus)
 
 }}
 
@@ -135,8 +135,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
                 )
             >
     {
diff --git a/include/ndnboost/mpl/aux_/preprocessed/bcc/shift_left.hpp b/include/ndnboost/mpl/aux_/preprocessed/bcc/shift_left.hpp
index c5acfdd..ec50521 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/bcc/shift_left.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/bcc/shift_left.hpp
@@ -18,8 +18,8 @@
     >
 struct shift_left_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< shift_left_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,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
 
@@ -72,11 +72,11 @@
         , typename shift_left_tag<N2>::type
         >::template apply< N1,N2 >::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)
 
 }}
 
@@ -88,8 +88,8 @@
 
         : integral_c<
               typename N::value_type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N)::value
-                  << BOOST_MPL_AUX_VALUE_WKND(S)::value
+            , ( NDNBOOST_MPL_AUX_VALUE_WKND(N)::value
+                  << NDNBOOST_MPL_AUX_VALUE_WKND(S)::value
                 )
             >
     {
diff --git a/include/ndnboost/mpl/aux_/preprocessed/bcc/shift_right.hpp b/include/ndnboost/mpl/aux_/preprocessed/bcc/shift_right.hpp
index b86b242..88db931 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/bcc/shift_right.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/bcc/shift_right.hpp
@@ -18,8 +18,8 @@
     >
 struct shift_right_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< shift_right_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,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_right
 
@@ -72,11 +72,11 @@
         , typename shift_right_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_right, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_right, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_right)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 2, shift_right)
 
 }}
 
@@ -88,8 +88,8 @@
 
         : integral_c<
               typename N::value_type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N)::value
-                  >> BOOST_MPL_AUX_VALUE_WKND(S)::value
+            , ( NDNBOOST_MPL_AUX_VALUE_WKND(N)::value
+                  >> NDNBOOST_MPL_AUX_VALUE_WKND(S)::value
                 )
             >
     {
diff --git a/include/ndnboost/mpl/aux_/preprocessed/bcc/times.hpp b/include/ndnboost/mpl/aux_/preprocessed/bcc/times.hpp
index ee61972..640c083 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/bcc/times.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/bcc/times.hpp
@@ -17,8 +17,8 @@
     >
 struct times_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< times_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,14 +61,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 times
     : times< times< times< times< N1,N2 >, N3>, N4>, N5>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , times
         , ( N1, N2, N3, N4, N5 )
@@ -82,7 +82,7 @@
 
     : times< times< times< N1,N2 >, N3>, N4>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , times
         , ( N1, N2, N3, N4, na )
@@ -96,7 +96,7 @@
 
     : times< times< N1,N2 >, N3>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , times
         , ( N1, N2, N3, na, na )
@@ -112,7 +112,7 @@
         , typename times_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , times
         , ( N1, N2, na, na, na )
@@ -120,7 +120,7 @@
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 5, times)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 5, times)
 
 }}
 
@@ -135,8 +135,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
                 )
             >
     {
diff --git a/include/ndnboost/mpl/aux_/preprocessed/bcc/unpack_args.hpp b/include/ndnboost/mpl/aux_/preprocessed/bcc/unpack_args.hpp
index c924f2a..bd0c328 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/bcc/unpack_args.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/bcc/unpack_args.hpp
@@ -91,7 +91,7 @@
     };
 };
 
-BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args)
+NDNBOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args)
 
 }}
 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/bcc551/and.hpp b/include/ndnboost/mpl/aux_/preprocessed/bcc551/and.hpp
index 24b88d8..5c1b95a 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/bcc551/and.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/bcc551/and.hpp
@@ -22,7 +22,7 @@
 template< typename T1, typename T2, typename T3, typename T4 >
 struct and_impl< true,T1,T2,T3,T4 >
     : and_impl<
-          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
+          NDNBOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
         , T2, T3, T4
         , true_
         >
@@ -41,26 +41,26 @@
 } // namespace aux
 
 template<
-      typename BOOST_MPL_AUX_NA_PARAM(T1)
-    , typename BOOST_MPL_AUX_NA_PARAM(T2)
+      typename NDNBOOST_MPL_AUX_NA_PARAM(T1)
+    , typename NDNBOOST_MPL_AUX_NA_PARAM(T2)
     , typename T3 = true_, typename T4 = true_, typename T5 = true_
     >
 struct and_
 
     : aux::and_impl<
-          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
+          NDNBOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
         , T2, T3, T4, T5
         >
 
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , and_
         , ( T1, T2, T3, T4, T5)
         )
 };
 
-BOOST_MPL_AUX_NA_SPEC2(
+NDNBOOST_MPL_AUX_NA_SPEC2(
       2
     , 5
     , and_
diff --git a/include/ndnboost/mpl/aux_/preprocessed/bcc551/apply.hpp b/include/ndnboost/mpl/aux_/preprocessed/bcc551/apply.hpp
index e4b1cd2..80f72b0 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/bcc551/apply.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/bcc551/apply.hpp
@@ -21,7 +21,7 @@
        
         >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           1
         , apply0
         , (F )
@@ -46,7 +46,7 @@
         , T1
         >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           2
         , apply1
         , (F, T1)
@@ -71,7 +71,7 @@
         , T1, T2
         >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           3
         , apply2
         , (F, T1, T2)
@@ -96,7 +96,7 @@
         , T1, T2, T3
         >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           4
         , apply3
         , (F, T1, T2, T3)
@@ -121,7 +121,7 @@
         , T1, T2, T3, T4
         >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , apply4
         , (F, T1, T2, T3, T4)
@@ -147,7 +147,7 @@
         , T1, T2, T3, T4, T5
         >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           6
         , apply5
         , (F, T1, T2, T3, T4, T5)
diff --git a/include/ndnboost/mpl/aux_/preprocessed/bcc551/arg.hpp b/include/ndnboost/mpl/aux_/preprocessed/bcc551/arg.hpp
index 9a157c2..154476a 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/bcc551/arg.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/bcc551/arg.hpp
@@ -10,12 +10,12 @@
 // Preprocessed version of "ndnboost/mpl/arg.hpp" header
 // -- DO NOT modify by hand!
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 template<> struct arg< -1 >
 {
-    BOOST_STATIC_CONSTANT(int, value  = -1);
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
+    NDNBOOST_STATIC_CONSTANT(int, value  = -1);
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, type)
 
     template<
           typename U1 = na, typename U2 = na, typename U3 = na
@@ -24,16 +24,16 @@
     struct apply
     {
         typedef U1 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
+        NDNBOOST_MPL_AUX_ASSERT_NOT_NA(type);
     };
 };
 
 template<> struct arg<1>
 {
-    BOOST_STATIC_CONSTANT(int, value  = 1);
+    NDNBOOST_STATIC_CONSTANT(int, value  = 1);
     typedef arg<2> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, type)
 
     template<
           typename U1 = na, typename U2 = na, typename U3 = na
@@ -42,16 +42,16 @@
     struct apply
     {
         typedef U1 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
+        NDNBOOST_MPL_AUX_ASSERT_NOT_NA(type);
     };
 };
 
 template<> struct arg<2>
 {
-    BOOST_STATIC_CONSTANT(int, value  = 2);
+    NDNBOOST_STATIC_CONSTANT(int, value  = 2);
     typedef arg<3> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, type)
 
     template<
           typename U1 = na, typename U2 = na, typename U3 = na
@@ -60,16 +60,16 @@
     struct apply
     {
         typedef U2 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
+        NDNBOOST_MPL_AUX_ASSERT_NOT_NA(type);
     };
 };
 
 template<> struct arg<3>
 {
-    BOOST_STATIC_CONSTANT(int, value  = 3);
+    NDNBOOST_STATIC_CONSTANT(int, value  = 3);
     typedef arg<4> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, type)
 
     template<
           typename U1 = na, typename U2 = na, typename U3 = na
@@ -78,16 +78,16 @@
     struct apply
     {
         typedef U3 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
+        NDNBOOST_MPL_AUX_ASSERT_NOT_NA(type);
     };
 };
 
 template<> struct arg<4>
 {
-    BOOST_STATIC_CONSTANT(int, value  = 4);
+    NDNBOOST_STATIC_CONSTANT(int, value  = 4);
     typedef arg<5> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, type)
 
     template<
           typename U1 = na, typename U2 = na, typename U3 = na
@@ -96,16 +96,16 @@
     struct apply
     {
         typedef U4 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
+        NDNBOOST_MPL_AUX_ASSERT_NOT_NA(type);
     };
 };
 
 template<> struct arg<5>
 {
-    BOOST_STATIC_CONSTANT(int, value  = 5);
+    NDNBOOST_STATIC_CONSTANT(int, value  = 5);
     typedef arg<6> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, type)
 
     template<
           typename U1 = na, typename U2 = na, typename U3 = na
@@ -114,10 +114,10 @@
     struct apply
     {
         typedef U5 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
+        NDNBOOST_MPL_AUX_ASSERT_NOT_NA(type);
     };
 };
 
-BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg)
+NDNBOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg)
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
diff --git a/include/ndnboost/mpl/aux_/preprocessed/bcc551/basic_bind.hpp b/include/ndnboost/mpl/aux_/preprocessed/bcc551/basic_bind.hpp
index 4083ade..8519929 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/bcc551/basic_bind.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/bcc551/basic_bind.hpp
@@ -71,8 +71,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(1, bind0)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
+NDNBOOST_MPL_AUX_ARITY_SPEC(1, bind0)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
 
 template<
       typename F, typename T1
@@ -114,8 +114,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(2, bind1)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
+NDNBOOST_MPL_AUX_ARITY_SPEC(2, bind1)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
 
 template<
       typename F, typename T1, typename T2
@@ -158,8 +158,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(3, bind2)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
+NDNBOOST_MPL_AUX_ARITY_SPEC(3, bind2)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
 
 template<
       typename F, typename T1, typename T2, typename T3
@@ -203,8 +203,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(4, bind3)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
+NDNBOOST_MPL_AUX_ARITY_SPEC(4, bind3)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
 
 template<
       typename F, typename T1, typename T2, typename T3, typename T4
@@ -250,8 +250,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(5, bind4)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
+NDNBOOST_MPL_AUX_ARITY_SPEC(5, bind4)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
 
 template<
       typename F, typename T1, typename T2, typename T3, typename T4
@@ -300,7 +300,7 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(6, bind5)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
+NDNBOOST_MPL_AUX_ARITY_SPEC(6, bind5)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
 }}
 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/bcc551/bind.hpp b/include/ndnboost/mpl/aux_/preprocessed/bcc551/bind.hpp
index ed6a853..c5396db 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/bcc551/bind.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/bcc551/bind.hpp
@@ -93,8 +93,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(1, bind0)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
+NDNBOOST_MPL_AUX_ARITY_SPEC(1, bind0)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
 
 template<
       typename F, typename T1
@@ -143,8 +143,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(2, bind1)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
+NDNBOOST_MPL_AUX_ARITY_SPEC(2, bind1)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
 
 template<
       typename F, typename T1, typename T2
@@ -198,8 +198,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(3, bind2)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
+NDNBOOST_MPL_AUX_ARITY_SPEC(3, bind2)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
 
 template<
       typename F, typename T1, typename T2, typename T3
@@ -258,8 +258,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(4, bind3)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
+NDNBOOST_MPL_AUX_ARITY_SPEC(4, bind3)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
 
 template<
       typename F, typename T1, typename T2, typename T3, typename T4
@@ -324,8 +324,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(5, bind4)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
+NDNBOOST_MPL_AUX_ARITY_SPEC(5, bind4)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
 
 template<
       typename F, typename T1, typename T2, typename T3, typename T4
@@ -397,7 +397,7 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(6, bind5)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
+NDNBOOST_MPL_AUX_ARITY_SPEC(6, bind5)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
 }}
 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/bcc551/bitand.hpp b/include/ndnboost/mpl/aux_/preprocessed/bcc551/bitand.hpp
index 90e8593..cd8cc5c 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/bcc551/bitand.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/bcc551/bitand.hpp
@@ -18,8 +18,8 @@
     >
 struct bitand_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< bitand_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 bitand_
     : bitand_< bitand_< bitand_< bitand_< N1,N2 >, N3>, N4>, N5>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , bitand_
         , ( N1, N2, N3, N4, N5 )
@@ -83,7 +83,7 @@
 
     : bitand_< bitand_< bitand_< N1,N2 >, N3>, N4>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , bitand_
         , ( N1, N2, N3, N4, na )
@@ -97,7 +97,7 @@
 
     : bitand_< bitand_< N1,N2 >, N3>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , bitand_
         , ( N1, N2, N3, na, na )
@@ -113,7 +113,7 @@
         , typename bitand_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , bitand_
         , ( N1, N2, na, na, na )
@@ -121,7 +121,7 @@
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitand_)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 5, bitand_)
 
 }}
 
@@ -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
                 )
             >
     {
diff --git a/include/ndnboost/mpl/aux_/preprocessed/bcc551/bitor.hpp b/include/ndnboost/mpl/aux_/preprocessed/bcc551/bitor.hpp
index c71a8f4..e98247b 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/bcc551/bitor.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/bcc551/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
                 )
             >
     {
diff --git a/include/ndnboost/mpl/aux_/preprocessed/bcc551/bitxor.hpp b/include/ndnboost/mpl/aux_/preprocessed/bcc551/bitxor.hpp
index b7f0ce7..1f276b7 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/bcc551/bitxor.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/bcc551/bitxor.hpp
@@ -18,8 +18,8 @@
     >
 struct bitxor_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< bitxor_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 bitxor_
     : bitxor_< bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4>, N5>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , bitxor_
         , ( N1, N2, N3, N4, N5 )
@@ -83,7 +83,7 @@
 
     : bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , bitxor_
         , ( N1, N2, N3, N4, na )
@@ -97,7 +97,7 @@
 
     : bitxor_< bitxor_< N1,N2 >, N3>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , bitxor_
         , ( N1, N2, N3, na, na )
@@ -113,7 +113,7 @@
         , typename bitxor_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , bitxor_
         , ( N1, N2, na, na, na )
@@ -121,7 +121,7 @@
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitxor_)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 5, bitxor_)
 
 }}
 
@@ -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
                 )
             >
     {
diff --git a/include/ndnboost/mpl/aux_/preprocessed/bcc551/divides.hpp b/include/ndnboost/mpl/aux_/preprocessed/bcc551/divides.hpp
index 0f5415c..1bc4433 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/bcc551/divides.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/bcc551/divides.hpp
@@ -17,8 +17,8 @@
     >
 struct divides_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< divides_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,14 +61,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 divides
     : divides< divides< divides< divides< N1,N2 >, N3>, N4>, N5>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , divides
         , ( N1, N2, N3, N4, N5 )
@@ -82,7 +82,7 @@
 
     : divides< divides< divides< N1,N2 >, N3>, N4>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , divides
         , ( N1, N2, N3, N4, na )
@@ -96,7 +96,7 @@
 
     : divides< divides< N1,N2 >, N3>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , divides
         , ( N1, N2, N3, na, na )
@@ -112,7 +112,7 @@
         , typename divides_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , divides
         , ( N1, N2, na, na, na )
@@ -120,7 +120,7 @@
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 5, divides)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 5, divides)
 
 }}
 
@@ -135,8 +135,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
                 )
             >
     {
diff --git a/include/ndnboost/mpl/aux_/preprocessed/bcc551/equal_to.hpp b/include/ndnboost/mpl/aux_/preprocessed/bcc551/equal_to.hpp
index 0d02da4..6455885 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/bcc551/equal_to.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/bcc551/equal_to.hpp
@@ -17,8 +17,8 @@
     >
 struct equal_to_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< equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,8 +61,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 equal_to
 
@@ -71,11 +71,11 @@
         , typename equal_to_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, equal_to, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, equal_to, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 2, equal_to)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 2, equal_to)
 
 }}
 
@@ -86,7 +86,7 @@
 {
     template< typename N1, typename N2 > struct apply
 
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value  == BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
+        : bool_< ( NDNBOOST_MPL_AUX_VALUE_WKND(N1)::value  == NDNBOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
     {
     };
 };
diff --git a/include/ndnboost/mpl/aux_/preprocessed/bcc551/full_lambda.hpp b/include/ndnboost/mpl/aux_/preprocessed/bcc551/full_lambda.hpp
index dcea342..3acbd9f 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/bcc551/full_lambda.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/bcc551/full_lambda.hpp
@@ -552,7 +552,7 @@
     typedef typename le_result_::type type;
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 3, lambda)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 3, lambda)
 
 }}
 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/bcc551/greater.hpp b/include/ndnboost/mpl/aux_/preprocessed/bcc551/greater.hpp
index e05fa3c..a7eb4a4 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/bcc551/greater.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/bcc551/greater.hpp
@@ -17,8 +17,8 @@
     >
 struct greater_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< greater_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,8 +61,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 greater
 
@@ -71,11 +71,11 @@
         , typename greater_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 2, greater)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 2, greater)
 
 }}
 
@@ -86,7 +86,7 @@
 {
     template< typename N1, typename N2 > struct apply
 
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value > BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
+        : bool_< ( NDNBOOST_MPL_AUX_VALUE_WKND(N1)::value > NDNBOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
     {
     };
 };
diff --git a/include/ndnboost/mpl/aux_/preprocessed/bcc551/greater_equal.hpp b/include/ndnboost/mpl/aux_/preprocessed/bcc551/greater_equal.hpp
index f89a587..35bd413 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/bcc551/greater_equal.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/bcc551/greater_equal.hpp
@@ -17,8 +17,8 @@
     >
 struct greater_equal_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< greater_equal_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,8 +61,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 greater_equal
 
@@ -71,11 +71,11 @@
         , typename greater_equal_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater_equal, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater_equal, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 2, greater_equal)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 2, greater_equal)
 
 }}
 
@@ -86,7 +86,7 @@
 {
     template< typename N1, typename N2 > struct apply
 
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
+        : bool_< ( NDNBOOST_MPL_AUX_VALUE_WKND(N1)::value >= NDNBOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
     {
     };
 };
diff --git a/include/ndnboost/mpl/aux_/preprocessed/bcc551/inherit.hpp b/include/ndnboost/mpl/aux_/preprocessed/bcc551/inherit.hpp
index 41f387f..a97f313 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/bcc551/inherit.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/bcc551/inherit.hpp
@@ -12,38 +12,38 @@
 namespace ndnboost { namespace mpl {
 
 template<
-      typename BOOST_MPL_AUX_NA_PARAM(T1)
-    , typename BOOST_MPL_AUX_NA_PARAM(T2)
+      typename NDNBOOST_MPL_AUX_NA_PARAM(T1)
+    , typename NDNBOOST_MPL_AUX_NA_PARAM(T2)
     >
 struct inherit2
     : T1, T2
 {
     typedef inherit2 type;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, inherit2, (T1, T2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, inherit2, (T1, T2))
 };
 
 template< typename T1 >
 struct inherit2< T1,empty_base >
 {
     typedef T1 type;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (T1, empty_base))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (T1, empty_base))
 };
 
 template< typename T2 >
 struct inherit2< empty_base,T2 >
 {
     typedef T2 type;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, T2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, T2))
 };
 
 template<>
 struct inherit2< empty_base,empty_base >
 {
     typedef empty_base type;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, empty_base))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, empty_base))
 };
 
-BOOST_MPL_AUX_NA_SPEC(2, inherit2)
+NDNBOOST_MPL_AUX_NA_SPEC(2, inherit2)
 
 template<
       typename T1 = na, typename T2 = na, typename T3 = na
@@ -56,14 +56,14 @@
         , T3
         >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           3
         , inherit3
         , ( T1, T2, T3)
         )
 };
 
-BOOST_MPL_AUX_NA_SPEC(3, inherit3)
+NDNBOOST_MPL_AUX_NA_SPEC(3, inherit3)
 
 template<
       typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na
@@ -76,14 +76,14 @@
         , T4
         >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           4
         , inherit4
         , ( T1, T2, T3, T4)
         )
 };
 
-BOOST_MPL_AUX_NA_SPEC(4, inherit4)
+NDNBOOST_MPL_AUX_NA_SPEC(4, inherit4)
 
 template<
       typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na
@@ -97,14 +97,14 @@
         , T5
         >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , inherit5
         , ( T1, T2, T3, T4, T5)
         )
 };
 
-BOOST_MPL_AUX_NA_SPEC(5, inherit5)
+NDNBOOST_MPL_AUX_NA_SPEC(5, inherit5)
 
 /// primary template
 
@@ -134,8 +134,8 @@
     };
 };
 
-BOOST_MPL_AUX_NA_SPEC_LAMBDA(5, inherit)
-BOOST_MPL_AUX_NA_SPEC_ARITY(5, inherit)
-BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(5, 5, inherit)
+NDNBOOST_MPL_AUX_NA_SPEC_LAMBDA(5, inherit)
+NDNBOOST_MPL_AUX_NA_SPEC_ARITY(5, inherit)
+NDNBOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(5, 5, inherit)
 }}
 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/bcc551/iter_fold_if_impl.hpp b/include/ndnboost/mpl/aux_/preprocessed/bcc551/iter_fold_if_impl.hpp
index b0a2864..a74bd83 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/bcc551/iter_fold_if_impl.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/bcc551/iter_fold_if_impl.hpp
@@ -61,7 +61,7 @@
 {
     typedef typename apply2< Predicate,State,Iterator >::type not_last;
     typedef typename iter_fold_if_step_impl<
-          BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
+          NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
         >::template result_< Iterator,State,ForwardOp, mpl::next<Iterator> > impl_;
 
     typedef typename impl_::state state;
@@ -78,7 +78,7 @@
 {
     typedef typename apply2< Predicate,State,Iterator >::type not_last;
     typedef typename iter_fold_if_step_impl<
-          BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
+          NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
         >::template result_< Iterator,State,BackwardOp, identity<Iterator> > impl_;
 
     typedef typename impl_::state state;
diff --git a/include/ndnboost/mpl/aux_/preprocessed/bcc551/lambda_no_ctps.hpp b/include/ndnboost/mpl/aux_/preprocessed/bcc551/lambda_no_ctps.hpp
index 5bfc661..45f5f6b 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/bcc551/lambda_no_ctps.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/bcc551/lambda_no_ctps.hpp
@@ -44,7 +44,7 @@
         typedef lambda< typename F::arg1, Tag, false_ > l1;
         typedef typename l1::is_le is_le1;
         typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value
+              NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value
             > is_le;
 
         typedef bind1<
@@ -74,7 +74,7 @@
         
 
         typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value
+              NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value
             > is_le;
 
         typedef bind2<
@@ -106,7 +106,7 @@
         
 
         typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value
+              NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value
             > is_le;
 
         typedef bind3<
@@ -140,7 +140,7 @@
         
 
         typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value
+              NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value
             > is_le;
 
         typedef bind4<
@@ -177,7 +177,7 @@
         
 
         typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le5)::value
+              NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le5)::value
             > is_le;
 
         typedef bind5<
@@ -212,10 +212,10 @@
 
     typedef typename l_::type type;
     typedef typename l_::is_le is_le;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(3, lambda, (T, Tag, Protect))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(3, lambda, (T, Tag, Protect))
 };
 
-BOOST_MPL_AUX_NA_SPEC2(1, 3, lambda)
+NDNBOOST_MPL_AUX_NA_SPEC2(1, 3, lambda)
 
 template<
       typename T
diff --git a/include/ndnboost/mpl/aux_/preprocessed/bcc551/less.hpp b/include/ndnboost/mpl/aux_/preprocessed/bcc551/less.hpp
index 7139b79..a4b8eeb 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/bcc551/less.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/bcc551/less.hpp
@@ -17,8 +17,8 @@
     >
 struct less_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< less_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,8 +61,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 less
 
@@ -71,11 +71,11 @@
         , typename less_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, less, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 2, less)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 2, less)
 
 }}
 
@@ -86,7 +86,7 @@
 {
     template< typename N1, typename N2 > struct apply
 
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N2)::value > BOOST_MPL_AUX_VALUE_WKND(N1)::value ) >
+        : bool_< ( NDNBOOST_MPL_AUX_VALUE_WKND(N2)::value > NDNBOOST_MPL_AUX_VALUE_WKND(N1)::value ) >
     {
     };
 };
diff --git a/include/ndnboost/mpl/aux_/preprocessed/bcc551/less_equal.hpp b/include/ndnboost/mpl/aux_/preprocessed/bcc551/less_equal.hpp
index f7c3491..5cd141b 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/bcc551/less_equal.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/bcc551/less_equal.hpp
@@ -17,8 +17,8 @@
     >
 struct less_equal_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< less_equal_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,8 +61,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 less_equal
 
@@ -71,11 +71,11 @@
         , typename less_equal_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less_equal, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, less_equal, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 2, less_equal)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 2, less_equal)
 
 }}
 
@@ -86,7 +86,7 @@
 {
     template< typename N1, typename N2 > struct apply
 
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value <= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
+        : bool_< ( NDNBOOST_MPL_AUX_VALUE_WKND(N1)::value <= NDNBOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
     {
     };
 };
diff --git a/include/ndnboost/mpl/aux_/preprocessed/bcc551/minus.hpp b/include/ndnboost/mpl/aux_/preprocessed/bcc551/minus.hpp
index ae6b592..454fda8 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/bcc551/minus.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/bcc551/minus.hpp
@@ -17,8 +17,8 @@
     >
 struct minus_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< minus_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,14 +61,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 minus
     : minus< minus< minus< minus< N1,N2 >, N3>, N4>, N5>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , minus
         , ( N1, N2, N3, N4, N5 )
@@ -82,7 +82,7 @@
 
     : minus< minus< minus< N1,N2 >, N3>, N4>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , minus
         , ( N1, N2, N3, N4, na )
@@ -96,7 +96,7 @@
 
     : minus< minus< N1,N2 >, N3>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , minus
         , ( N1, N2, N3, na, na )
@@ -112,7 +112,7 @@
         , typename minus_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , minus
         , ( N1, N2, na, na, na )
@@ -120,7 +120,7 @@
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 5, minus)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 5, minus)
 
 }}
 
@@ -135,8 +135,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
                 )
             >
     {
diff --git a/include/ndnboost/mpl/aux_/preprocessed/bcc551/modulus.hpp b/include/ndnboost/mpl/aux_/preprocessed/bcc551/modulus.hpp
index 89c6172..3e89691 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/bcc551/modulus.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/bcc551/modulus.hpp
@@ -17,8 +17,8 @@
     >
 struct modulus_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< modulus_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,8 +61,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 modulus
 
@@ -71,11 +71,11 @@
         , typename modulus_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, modulus, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, modulus, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 2, modulus)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 2, modulus)
 
 }}
 
@@ -90,8 +90,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
                 )
             >
     {
diff --git a/include/ndnboost/mpl/aux_/preprocessed/bcc551/not_equal_to.hpp b/include/ndnboost/mpl/aux_/preprocessed/bcc551/not_equal_to.hpp
index b28e100..6de1e16 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/bcc551/not_equal_to.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/bcc551/not_equal_to.hpp
@@ -17,8 +17,8 @@
     >
 struct not_equal_to_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< not_equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,8 +61,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 not_equal_to
 
@@ -71,11 +71,11 @@
         , typename not_equal_to_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, not_equal_to, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, not_equal_to, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 2, not_equal_to)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 2, not_equal_to)
 
 }}
 
@@ -86,7 +86,7 @@
 {
     template< typename N1, typename N2 > struct apply
 
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value != BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
+        : bool_< ( NDNBOOST_MPL_AUX_VALUE_WKND(N1)::value != NDNBOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
     {
     };
 };
diff --git a/include/ndnboost/mpl/aux_/preprocessed/bcc551/or.hpp b/include/ndnboost/mpl/aux_/preprocessed/bcc551/or.hpp
index e929602..cae8edf 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/bcc551/or.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/bcc551/or.hpp
@@ -22,7 +22,7 @@
 template< typename T1, typename T2, typename T3, typename T4 >
 struct or_impl< false,T1,T2,T3,T4 >
     : or_impl<
-          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
+          NDNBOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
         , T2, T3, T4
         , false_
         >
@@ -41,26 +41,26 @@
 } // namespace aux
 
 template<
-      typename BOOST_MPL_AUX_NA_PARAM(T1)
-    , typename BOOST_MPL_AUX_NA_PARAM(T2)
+      typename NDNBOOST_MPL_AUX_NA_PARAM(T1)
+    , typename NDNBOOST_MPL_AUX_NA_PARAM(T2)
     , typename T3 = false_, typename T4 = false_, typename T5 = false_
     >
 struct or_
 
     : aux::or_impl<
-          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
+          NDNBOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
         , T2, T3, T4, T5
         >
 
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , or_
         , ( T1, T2, T3, T4, T5)
         )
 };
 
-BOOST_MPL_AUX_NA_SPEC2(
+NDNBOOST_MPL_AUX_NA_SPEC2(
       2
     , 5
     , or_
diff --git a/include/ndnboost/mpl/aux_/preprocessed/bcc551/placeholders.hpp b/include/ndnboost/mpl/aux_/preprocessed/bcc551/placeholders.hpp
index ecd4514..3a28c09 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/bcc551/placeholders.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/bcc551/placeholders.hpp
@@ -10,96 +10,96 @@
 // Preprocessed version of "ndnboost/mpl/placeholders.hpp" header
 // -- DO NOT modify by hand!
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 typedef arg< -1 > _;
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
 namespace ndnboost { namespace mpl {
 
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_)
+NDNBOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_)
 
 namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_;
+using NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_;
 }
 
 }}
 
 /// agurt, 17/mar/02: one more placeholder for the last 'apply#' 
 /// specialization
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 typedef arg<1> _1;
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
 namespace ndnboost { namespace mpl {
 
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1)
+NDNBOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1)
 
 namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1;
+using NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1;
 }
 
 }}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 typedef arg<2> _2;
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
 namespace ndnboost { namespace mpl {
 
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2)
+NDNBOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2)
 
 namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2;
+using NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2;
 }
 
 }}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 typedef arg<3> _3;
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
 namespace ndnboost { namespace mpl {
 
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3)
+NDNBOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3)
 
 namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3;
+using NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3;
 }
 
 }}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 typedef arg<4> _4;
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
 namespace ndnboost { namespace mpl {
 
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4)
+NDNBOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4)
 
 namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4;
+using NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4;
 }
 
 }}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 typedef arg<5> _5;
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
 namespace ndnboost { namespace mpl {
 
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5)
+NDNBOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5)
 
 namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5;
+using NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5;
 }
 
 }}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 typedef arg<6> _6;
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
 namespace ndnboost { namespace mpl {
 
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6)
+NDNBOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6)
 
 namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6;
+using NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6;
 }
 
 }}
diff --git a/include/ndnboost/mpl/aux_/preprocessed/bcc551/plus.hpp b/include/ndnboost/mpl/aux_/preprocessed/bcc551/plus.hpp
index de03e3e..5d8b2cd 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/bcc551/plus.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/bcc551/plus.hpp
@@ -17,8 +17,8 @@
     >
 struct plus_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< plus_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,14 +61,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 plus
     : plus< plus< plus< plus< N1,N2 >, N3>, N4>, N5>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , plus
         , ( N1, N2, N3, N4, N5 )
@@ -82,7 +82,7 @@
 
     : plus< plus< plus< N1,N2 >, N3>, N4>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , plus
         , ( N1, N2, N3, N4, na )
@@ -96,7 +96,7 @@
 
     : plus< plus< N1,N2 >, N3>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , plus
         , ( N1, N2, N3, na, na )
@@ -112,7 +112,7 @@
         , typename plus_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , plus
         , ( N1, N2, na, na, na )
@@ -120,7 +120,7 @@
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 5, plus)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 5, plus)
 
 }}
 
@@ -135,8 +135,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
                 )
             >
     {
diff --git a/include/ndnboost/mpl/aux_/preprocessed/bcc551/shift_left.hpp b/include/ndnboost/mpl/aux_/preprocessed/bcc551/shift_left.hpp
index c8df29c..2964fb8 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/bcc551/shift_left.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/bcc551/shift_left.hpp
@@ -18,8 +18,8 @@
     >
 struct shift_left_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< shift_left_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,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
 
@@ -72,11 +72,11 @@
         , typename shift_left_tag<N2>::type
         >::template apply< N1,N2 >::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)
 
 }}
 
@@ -88,8 +88,8 @@
 
         : integral_c<
               typename N::value_type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N)::value
-                  << BOOST_MPL_AUX_VALUE_WKND(S)::value
+            , ( NDNBOOST_MPL_AUX_VALUE_WKND(N)::value
+                  << NDNBOOST_MPL_AUX_VALUE_WKND(S)::value
                 )
             >
     {
diff --git a/include/ndnboost/mpl/aux_/preprocessed/bcc551/shift_right.hpp b/include/ndnboost/mpl/aux_/preprocessed/bcc551/shift_right.hpp
index a726ff1..57a5fe0 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/bcc551/shift_right.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/bcc551/shift_right.hpp
@@ -18,8 +18,8 @@
     >
 struct shift_right_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< shift_right_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,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_right
 
@@ -72,11 +72,11 @@
         , typename shift_right_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_right, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_right, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_right)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 2, shift_right)
 
 }}
 
@@ -88,8 +88,8 @@
 
         : integral_c<
               typename N::value_type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N)::value
-                  >> BOOST_MPL_AUX_VALUE_WKND(S)::value
+            , ( NDNBOOST_MPL_AUX_VALUE_WKND(N)::value
+                  >> NDNBOOST_MPL_AUX_VALUE_WKND(S)::value
                 )
             >
     {
diff --git a/include/ndnboost/mpl/aux_/preprocessed/bcc551/times.hpp b/include/ndnboost/mpl/aux_/preprocessed/bcc551/times.hpp
index f4514e5..9a55fed 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/bcc551/times.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/bcc551/times.hpp
@@ -17,8 +17,8 @@
     >
 struct times_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< times_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,14 +61,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 times
     : times< times< times< times< N1,N2 >, N3>, N4>, N5>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , times
         , ( N1, N2, N3, N4, N5 )
@@ -82,7 +82,7 @@
 
     : times< times< times< N1,N2 >, N3>, N4>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , times
         , ( N1, N2, N3, N4, na )
@@ -96,7 +96,7 @@
 
     : times< times< N1,N2 >, N3>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , times
         , ( N1, N2, N3, na, na )
@@ -112,7 +112,7 @@
         , typename times_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , times
         , ( N1, N2, na, na, na )
@@ -120,7 +120,7 @@
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 5, times)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 5, times)
 
 }}
 
@@ -135,8 +135,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
                 )
             >
     {
diff --git a/include/ndnboost/mpl/aux_/preprocessed/bcc551/unpack_args.hpp b/include/ndnboost/mpl/aux_/preprocessed/bcc551/unpack_args.hpp
index 3098efe..19049ea 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/bcc551/unpack_args.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/bcc551/unpack_args.hpp
@@ -91,7 +91,7 @@
     };
 };
 
-BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args)
+NDNBOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args)
 
 }}
 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/and.hpp b/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/and.hpp
index 119fa2d..6ecd7fd 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/and.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/and.hpp
@@ -22,7 +22,7 @@
 template< typename T1, typename T2, typename T3, typename T4 >
 struct and_impl< true,T1,T2,T3,T4 >
     : and_impl<
-          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
+          NDNBOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
         , T2, T3, T4
         , true_
         >
@@ -41,26 +41,26 @@
 } // namespace aux
 
 template<
-      typename BOOST_MPL_AUX_NA_PARAM(T1)
-    , typename BOOST_MPL_AUX_NA_PARAM(T2)
+      typename NDNBOOST_MPL_AUX_NA_PARAM(T1)
+    , typename NDNBOOST_MPL_AUX_NA_PARAM(T2)
     , typename T3 = true_, typename T4 = true_, typename T5 = true_
     >
 struct and_
 
     : aux::and_impl<
-          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
+          NDNBOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
         , T2, T3, T4, T5
         >
 
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , and_
         , ( T1, T2, T3, T4, T5)
         )
 };
 
-BOOST_MPL_AUX_NA_SPEC2(
+NDNBOOST_MPL_AUX_NA_SPEC2(
       2
     , 5
     , and_
diff --git a/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/apply.hpp b/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/apply.hpp
index 9d372f1..495377c 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/apply.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/apply.hpp
@@ -21,7 +21,7 @@
        
         >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           1
         , apply0
         , (F )
@@ -46,7 +46,7 @@
         , T1
         >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           2
         , apply1
         , (F, T1)
@@ -71,7 +71,7 @@
         , T1, T2
         >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           3
         , apply2
         , (F, T1, T2)
@@ -96,7 +96,7 @@
         , T1, T2, T3
         >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           4
         , apply3
         , (F, T1, T2, T3)
@@ -121,7 +121,7 @@
         , T1, T2, T3, T4
         >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , apply4
         , (F, T1, T2, T3, T4)
@@ -147,7 +147,7 @@
         , T1, T2, T3, T4, T5
         >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           6
         , apply5
         , (F, T1, T2, T3, T4, T5)
diff --git a/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/arg.hpp b/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/arg.hpp
index 3ac4340..29c017a 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/arg.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/arg.hpp
@@ -10,12 +10,12 @@
 // *Preprocessed* version of the main "arg.hpp" header
 // -- DO NOT modify by hand!
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 template<> struct arg< -1 >
 {
-    BOOST_STATIC_CONSTANT(int, value  = -1);
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
+    NDNBOOST_STATIC_CONSTANT(int, value  = -1);
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, type)
 
     template<
           typename U1, typename U2, typename U3, typename U4, typename U5
@@ -23,16 +23,16 @@
     struct apply
     {
         typedef U1 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
+        NDNBOOST_MPL_AUX_ASSERT_NOT_NA(type);
     };
 };
 
 template<> struct arg<1>
 {
-    BOOST_STATIC_CONSTANT(int, value  = 1);
+    NDNBOOST_STATIC_CONSTANT(int, value  = 1);
     typedef arg<2> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, type)
 
     template<
           typename U1, typename U2, typename U3, typename U4, typename U5
@@ -40,16 +40,16 @@
     struct apply
     {
         typedef U1 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
+        NDNBOOST_MPL_AUX_ASSERT_NOT_NA(type);
     };
 };
 
 template<> struct arg<2>
 {
-    BOOST_STATIC_CONSTANT(int, value  = 2);
+    NDNBOOST_STATIC_CONSTANT(int, value  = 2);
     typedef arg<3> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, type)
 
     template<
           typename U1, typename U2, typename U3, typename U4, typename U5
@@ -57,16 +57,16 @@
     struct apply
     {
         typedef U2 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
+        NDNBOOST_MPL_AUX_ASSERT_NOT_NA(type);
     };
 };
 
 template<> struct arg<3>
 {
-    BOOST_STATIC_CONSTANT(int, value  = 3);
+    NDNBOOST_STATIC_CONSTANT(int, value  = 3);
     typedef arg<4> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, type)
 
     template<
           typename U1, typename U2, typename U3, typename U4, typename U5
@@ -74,16 +74,16 @@
     struct apply
     {
         typedef U3 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
+        NDNBOOST_MPL_AUX_ASSERT_NOT_NA(type);
     };
 };
 
 template<> struct arg<4>
 {
-    BOOST_STATIC_CONSTANT(int, value  = 4);
+    NDNBOOST_STATIC_CONSTANT(int, value  = 4);
     typedef arg<5> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, type)
 
     template<
           typename U1, typename U2, typename U3, typename U4, typename U5
@@ -91,16 +91,16 @@
     struct apply
     {
         typedef U4 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
+        NDNBOOST_MPL_AUX_ASSERT_NOT_NA(type);
     };
 };
 
 template<> struct arg<5>
 {
-    BOOST_STATIC_CONSTANT(int, value  = 5);
+    NDNBOOST_STATIC_CONSTANT(int, value  = 5);
     typedef arg<6> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, type)
 
     template<
           typename U1, typename U2, typename U3, typename U4, typename U5
@@ -108,10 +108,10 @@
     struct apply
     {
         typedef U5 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
+        NDNBOOST_MPL_AUX_ASSERT_NOT_NA(type);
     };
 };
 
-BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg)
+NDNBOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg)
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
diff --git a/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/basic_bind.hpp b/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/basic_bind.hpp
index acd054b..0ba4ca5 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/basic_bind.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/basic_bind.hpp
@@ -70,8 +70,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(1, bind0)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
+NDNBOOST_MPL_AUX_ARITY_SPEC(1, bind0)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
 
 template<
       typename F, typename T1
@@ -112,8 +112,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(2, bind1)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
+NDNBOOST_MPL_AUX_ARITY_SPEC(2, bind1)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
 
 template<
       typename F, typename T1, typename T2
@@ -155,8 +155,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(3, bind2)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
+NDNBOOST_MPL_AUX_ARITY_SPEC(3, bind2)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
 
 template<
       typename F, typename T1, typename T2, typename T3
@@ -199,8 +199,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(4, bind3)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
+NDNBOOST_MPL_AUX_ARITY_SPEC(4, bind3)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
 
 template<
       typename F, typename T1, typename T2, typename T3, typename T4
@@ -245,8 +245,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(5, bind4)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
+NDNBOOST_MPL_AUX_ARITY_SPEC(5, bind4)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
 
 template<
       typename F, typename T1, typename T2, typename T3, typename T4
@@ -294,7 +294,7 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(6, bind5)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
+NDNBOOST_MPL_AUX_ARITY_SPEC(6, bind5)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
 }}
 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/bind.hpp b/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/bind.hpp
index 35ee492..3a5754b 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/bind.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/bind.hpp
@@ -92,8 +92,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(1, bind0)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
+NDNBOOST_MPL_AUX_ARITY_SPEC(1, bind0)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
 
 template<
       typename F, typename T1
@@ -141,8 +141,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(2, bind1)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
+NDNBOOST_MPL_AUX_ARITY_SPEC(2, bind1)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
 
 template<
       typename F, typename T1, typename T2
@@ -195,8 +195,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(3, bind2)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
+NDNBOOST_MPL_AUX_ARITY_SPEC(3, bind2)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
 
 template<
       typename F, typename T1, typename T2, typename T3
@@ -254,8 +254,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(4, bind3)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
+NDNBOOST_MPL_AUX_ARITY_SPEC(4, bind3)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
 
 template<
       typename F, typename T1, typename T2, typename T3, typename T4
@@ -319,8 +319,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(5, bind4)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
+NDNBOOST_MPL_AUX_ARITY_SPEC(5, bind4)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
 
 template<
       typename F, typename T1, typename T2, typename T3, typename T4
@@ -391,7 +391,7 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(6, bind5)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
+NDNBOOST_MPL_AUX_ARITY_SPEC(6, bind5)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
 }}
 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/bitand.hpp b/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/bitand.hpp
index 1a2ac8d..6a3f847 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/bitand.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/bitand.hpp
@@ -18,8 +18,8 @@
     >
 struct bitand_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< bitand_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 bitand_
     : bitand_< bitand_< bitand_< bitand_< N1,N2 >, N3>, N4>, N5>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , bitand_
         , ( N1, N2, N3, N4, N5 )
@@ -83,7 +83,7 @@
 
     : bitand_< bitand_< bitand_< N1,N2 >, N3>, N4>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , bitand_
         , ( N1, N2, N3, N4, na )
@@ -97,7 +97,7 @@
 
     : bitand_< bitand_< N1,N2 >, N3>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , bitand_
         , ( N1, N2, N3, na, na )
@@ -113,7 +113,7 @@
         , typename bitand_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , bitand_
         , ( N1, N2, na, na, na )
@@ -121,7 +121,7 @@
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitand_)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 5, bitand_)
 
 }}
 
@@ -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
                 )
             >
     {
diff --git a/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/bitor.hpp b/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/bitor.hpp
index 536f350..8082890 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/bitor.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/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
                 )
             >
     {
diff --git a/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/bitxor.hpp b/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/bitxor.hpp
index 0869fba..78cdd23 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/bitxor.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/bitxor.hpp
@@ -18,8 +18,8 @@
     >
 struct bitxor_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< bitxor_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 bitxor_
     : bitxor_< bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4>, N5>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , bitxor_
         , ( N1, N2, N3, N4, N5 )
@@ -83,7 +83,7 @@
 
     : bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , bitxor_
         , ( N1, N2, N3, N4, na )
@@ -97,7 +97,7 @@
 
     : bitxor_< bitxor_< N1,N2 >, N3>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , bitxor_
         , ( N1, N2, N3, na, na )
@@ -113,7 +113,7 @@
         , typename bitxor_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , bitxor_
         , ( N1, N2, na, na, na )
@@ -121,7 +121,7 @@
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitxor_)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 5, bitxor_)
 
 }}
 
@@ -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
                 )
             >
     {
diff --git a/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/divides.hpp b/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/divides.hpp
index 5922aff..9ec580d 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/divides.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/divides.hpp
@@ -17,8 +17,8 @@
     >
 struct divides_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< divides_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,14 +61,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 divides
     : divides< divides< divides< divides< N1,N2 >, N3>, N4>, N5>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , divides
         , ( N1, N2, N3, N4, N5 )
@@ -82,7 +82,7 @@
 
     : divides< divides< divides< N1,N2 >, N3>, N4>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , divides
         , ( N1, N2, N3, N4, na )
@@ -96,7 +96,7 @@
 
     : divides< divides< N1,N2 >, N3>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , divides
         , ( N1, N2, N3, na, na )
@@ -112,7 +112,7 @@
         , typename divides_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , divides
         , ( N1, N2, na, na, na )
@@ -120,7 +120,7 @@
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 5, divides)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 5, divides)
 
 }}
 
@@ -135,8 +135,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
                 )
             >
     {
diff --git a/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/equal_to.hpp b/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/equal_to.hpp
index b47c51e..71159c2 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/equal_to.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/equal_to.hpp
@@ -17,8 +17,8 @@
     >
 struct equal_to_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< equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,8 +61,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 equal_to
 
@@ -71,11 +71,11 @@
         , typename equal_to_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, equal_to, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, equal_to, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 2, equal_to)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 2, equal_to)
 
 }}
 
@@ -86,7 +86,7 @@
 {
     template< typename N1, typename N2 > struct apply
 
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value  == BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
+        : bool_< ( NDNBOOST_MPL_AUX_VALUE_WKND(N1)::value  == NDNBOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
     {
     };
 };
diff --git a/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/full_lambda.hpp b/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/full_lambda.hpp
index 9a7edf5..3471f18 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/full_lambda.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/full_lambda.hpp
@@ -552,7 +552,7 @@
     typedef typename le_result_::type type;
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 3, lambda)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 3, lambda)
 
 }}
 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/greater.hpp b/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/greater.hpp
index 7bd1c1f..b608850 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/greater.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/greater.hpp
@@ -17,8 +17,8 @@
     >
 struct greater_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< greater_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,8 +61,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 greater
 
@@ -71,11 +71,11 @@
         , typename greater_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 2, greater)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 2, greater)
 
 }}
 
@@ -86,7 +86,7 @@
 {
     template< typename N1, typename N2 > struct apply
 
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value > BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
+        : bool_< ( NDNBOOST_MPL_AUX_VALUE_WKND(N1)::value > NDNBOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
     {
     };
 };
diff --git a/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/greater_equal.hpp b/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/greater_equal.hpp
index b9f165e..f758629 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/greater_equal.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/greater_equal.hpp
@@ -17,8 +17,8 @@
     >
 struct greater_equal_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< greater_equal_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,8 +61,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 greater_equal
 
@@ -71,11 +71,11 @@
         , typename greater_equal_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater_equal, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater_equal, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 2, greater_equal)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 2, greater_equal)
 
 }}
 
@@ -86,7 +86,7 @@
 {
     template< typename N1, typename N2 > struct apply
 
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
+        : bool_< ( NDNBOOST_MPL_AUX_VALUE_WKND(N1)::value >= NDNBOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
     {
     };
 };
diff --git a/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/inherit.hpp b/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/inherit.hpp
index 5621cd9..ace1894 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/inherit.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/inherit.hpp
@@ -12,38 +12,38 @@
 namespace ndnboost { namespace mpl {
 
 template<
-      typename BOOST_MPL_AUX_NA_PARAM(T1)
-    , typename BOOST_MPL_AUX_NA_PARAM(T2)
+      typename NDNBOOST_MPL_AUX_NA_PARAM(T1)
+    , typename NDNBOOST_MPL_AUX_NA_PARAM(T2)
     >
 struct inherit2
     : T1, T2
 {
     typedef inherit2 type;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, inherit2, (T1, T2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, inherit2, (T1, T2))
 };
 
 template< typename T1 >
 struct inherit2< T1,empty_base >
 {
     typedef T1 type;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (T1, empty_base))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (T1, empty_base))
 };
 
 template< typename T2 >
 struct inherit2< empty_base,T2 >
 {
     typedef T2 type;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, T2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, T2))
 };
 
 template<>
 struct inherit2< empty_base,empty_base >
 {
     typedef empty_base type;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, empty_base))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, empty_base))
 };
 
-BOOST_MPL_AUX_NA_SPEC(2, inherit2)
+NDNBOOST_MPL_AUX_NA_SPEC(2, inherit2)
 
 template<
       typename T1 = na, typename T2 = na, typename T3 = na
@@ -56,14 +56,14 @@
         , T3
         >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           3
         , inherit3
         , ( T1, T2, T3)
         )
 };
 
-BOOST_MPL_AUX_NA_SPEC(3, inherit3)
+NDNBOOST_MPL_AUX_NA_SPEC(3, inherit3)
 
 template<
       typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na
@@ -76,14 +76,14 @@
         , T4
         >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           4
         , inherit4
         , ( T1, T2, T3, T4)
         )
 };
 
-BOOST_MPL_AUX_NA_SPEC(4, inherit4)
+NDNBOOST_MPL_AUX_NA_SPEC(4, inherit4)
 
 template<
       typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na
@@ -97,14 +97,14 @@
         , T5
         >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , inherit5
         , ( T1, T2, T3, T4, T5)
         )
 };
 
-BOOST_MPL_AUX_NA_SPEC(5, inherit5)
+NDNBOOST_MPL_AUX_NA_SPEC(5, inherit5)
 
 /// primary template
 
@@ -132,8 +132,8 @@
     };
 };
 
-BOOST_MPL_AUX_NA_SPEC_LAMBDA(5, inherit)
-BOOST_MPL_AUX_NA_SPEC_ARITY(5, inherit)
-BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(5, 5, inherit)
+NDNBOOST_MPL_AUX_NA_SPEC_LAMBDA(5, inherit)
+NDNBOOST_MPL_AUX_NA_SPEC_ARITY(5, inherit)
+NDNBOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(5, 5, inherit)
 }}
 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/iter_fold_if_impl.hpp b/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/iter_fold_if_impl.hpp
index 7553efd..949e316 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/iter_fold_if_impl.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/iter_fold_if_impl.hpp
@@ -61,7 +61,7 @@
 {
     typedef typename apply2< Predicate,State,Iterator >::type not_last;
     typedef typename iter_fold_if_step_impl<
-          BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
+          NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
         >::template result_< Iterator,State,ForwardOp, mpl::next<Iterator> > impl_;
 
     typedef typename impl_::state state;
@@ -78,7 +78,7 @@
 {
     typedef typename apply2< Predicate,State,Iterator >::type not_last;
     typedef typename iter_fold_if_step_impl<
-          BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
+          NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
         >::template result_< Iterator,State,BackwardOp, identity<Iterator> > impl_;
 
     typedef typename impl_::state state;
diff --git a/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/lambda_no_ctps.hpp b/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/lambda_no_ctps.hpp
index 213475d..5287a1f 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/lambda_no_ctps.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/lambda_no_ctps.hpp
@@ -44,7 +44,7 @@
         typedef lambda< typename F::arg1, Tag, false_ > l1;
         typedef typename l1::is_le is_le1;
         typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value
+              NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value
             > is_le;
 
         typedef bind1<
@@ -74,7 +74,7 @@
         
 
         typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value
+              NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value
             > is_le;
 
         typedef bind2<
@@ -106,7 +106,7 @@
         
 
         typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value
+              NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value
             > is_le;
 
         typedef bind3<
@@ -140,7 +140,7 @@
         
 
         typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value
+              NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value
             > is_le;
 
         typedef bind4<
@@ -177,7 +177,7 @@
         
 
         typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le5)::value
+              NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le5)::value
             > is_le;
 
         typedef bind5<
@@ -212,10 +212,10 @@
 
     typedef typename l_::type type;
     typedef typename l_::is_le is_le;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(3, lambda, (T, Tag, Protect))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(3, lambda, (T, Tag, Protect))
 };
 
-BOOST_MPL_AUX_NA_SPEC2(1, 3, lambda)
+NDNBOOST_MPL_AUX_NA_SPEC2(1, 3, lambda)
 
 template<
       typename T
diff --git a/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/less.hpp b/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/less.hpp
index 6bee1e6..df9a10b 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/less.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/less.hpp
@@ -17,8 +17,8 @@
     >
 struct less_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< less_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,8 +61,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 less
 
@@ -71,11 +71,11 @@
         , typename less_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, less, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 2, less)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 2, less)
 
 }}
 
@@ -86,7 +86,7 @@
 {
     template< typename N1, typename N2 > struct apply
 
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N2)::value > BOOST_MPL_AUX_VALUE_WKND(N1)::value ) >
+        : bool_< ( NDNBOOST_MPL_AUX_VALUE_WKND(N2)::value > NDNBOOST_MPL_AUX_VALUE_WKND(N1)::value ) >
     {
     };
 };
diff --git a/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/less_equal.hpp b/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/less_equal.hpp
index cd08075..1e4726f 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/less_equal.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/less_equal.hpp
@@ -17,8 +17,8 @@
     >
 struct less_equal_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< less_equal_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,8 +61,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 less_equal
 
@@ -71,11 +71,11 @@
         , typename less_equal_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less_equal, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, less_equal, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 2, less_equal)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 2, less_equal)
 
 }}
 
@@ -86,7 +86,7 @@
 {
     template< typename N1, typename N2 > struct apply
 
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value <= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
+        : bool_< ( NDNBOOST_MPL_AUX_VALUE_WKND(N1)::value <= NDNBOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
     {
     };
 };
diff --git a/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/minus.hpp b/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/minus.hpp
index 8e39d0d..6006e26 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/minus.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/minus.hpp
@@ -17,8 +17,8 @@
     >
 struct minus_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< minus_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,14 +61,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 minus
     : minus< minus< minus< minus< N1,N2 >, N3>, N4>, N5>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , minus
         , ( N1, N2, N3, N4, N5 )
@@ -82,7 +82,7 @@
 
     : minus< minus< minus< N1,N2 >, N3>, N4>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , minus
         , ( N1, N2, N3, N4, na )
@@ -96,7 +96,7 @@
 
     : minus< minus< N1,N2 >, N3>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , minus
         , ( N1, N2, N3, na, na )
@@ -112,7 +112,7 @@
         , typename minus_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , minus
         , ( N1, N2, na, na, na )
@@ -120,7 +120,7 @@
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 5, minus)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 5, minus)
 
 }}
 
@@ -135,8 +135,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
                 )
             >
     {
diff --git a/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/modulus.hpp b/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/modulus.hpp
index 65509f2..2009f89 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/modulus.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/modulus.hpp
@@ -17,8 +17,8 @@
     >
 struct modulus_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< modulus_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,8 +61,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 modulus
 
@@ -71,11 +71,11 @@
         , typename modulus_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, modulus, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, modulus, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 2, modulus)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 2, modulus)
 
 }}
 
@@ -90,8 +90,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
                 )
             >
     {
diff --git a/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/not_equal_to.hpp b/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/not_equal_to.hpp
index d14e535..5406a42 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/not_equal_to.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/not_equal_to.hpp
@@ -17,8 +17,8 @@
     >
 struct not_equal_to_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< not_equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,8 +61,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 not_equal_to
 
@@ -71,11 +71,11 @@
         , typename not_equal_to_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, not_equal_to, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, not_equal_to, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 2, not_equal_to)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 2, not_equal_to)
 
 }}
 
@@ -86,7 +86,7 @@
 {
     template< typename N1, typename N2 > struct apply
 
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value != BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
+        : bool_< ( NDNBOOST_MPL_AUX_VALUE_WKND(N1)::value != NDNBOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
     {
     };
 };
diff --git a/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/or.hpp b/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/or.hpp
index 9427d08..6bc19d0 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/or.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/or.hpp
@@ -22,7 +22,7 @@
 template< typename T1, typename T2, typename T3, typename T4 >
 struct or_impl< false,T1,T2,T3,T4 >
     : or_impl<
-          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
+          NDNBOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
         , T2, T3, T4
         , false_
         >
@@ -41,26 +41,26 @@
 } // namespace aux
 
 template<
-      typename BOOST_MPL_AUX_NA_PARAM(T1)
-    , typename BOOST_MPL_AUX_NA_PARAM(T2)
+      typename NDNBOOST_MPL_AUX_NA_PARAM(T1)
+    , typename NDNBOOST_MPL_AUX_NA_PARAM(T2)
     , typename T3 = false_, typename T4 = false_, typename T5 = false_
     >
 struct or_
 
     : aux::or_impl<
-          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
+          NDNBOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
         , T2, T3, T4, T5
         >
 
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , or_
         , ( T1, T2, T3, T4, T5)
         )
 };
 
-BOOST_MPL_AUX_NA_SPEC2(
+NDNBOOST_MPL_AUX_NA_SPEC2(
       2
     , 5
     , or_
diff --git a/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/placeholders.hpp b/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/placeholders.hpp
index 330e40f..c31761d 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/placeholders.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/placeholders.hpp
@@ -10,96 +10,96 @@
 // *Preprocessed* version of the main "placeholders.hpp" header
 // -- DO NOT modify by hand!
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 typedef arg< -1 > _;
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
 namespace ndnboost { namespace mpl {
 
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_)
+NDNBOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_)
 
 namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_;
+using NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_;
 }
 
 }}
 
 /// agurt, 17/mar/02: one more placeholder for the last 'apply#' 
 /// specialization
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 typedef arg<1> _1;
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
 namespace ndnboost { namespace mpl {
 
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1)
+NDNBOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1)
 
 namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1;
+using NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1;
 }
 
 }}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 typedef arg<2> _2;
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
 namespace ndnboost { namespace mpl {
 
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2)
+NDNBOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2)
 
 namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2;
+using NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2;
 }
 
 }}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 typedef arg<3> _3;
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
 namespace ndnboost { namespace mpl {
 
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3)
+NDNBOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3)
 
 namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3;
+using NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3;
 }
 
 }}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 typedef arg<4> _4;
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
 namespace ndnboost { namespace mpl {
 
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4)
+NDNBOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4)
 
 namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4;
+using NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4;
 }
 
 }}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 typedef arg<5> _5;
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
 namespace ndnboost { namespace mpl {
 
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5)
+NDNBOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5)
 
 namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5;
+using NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5;
 }
 
 }}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 typedef arg<6> _6;
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
 namespace ndnboost { namespace mpl {
 
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6)
+NDNBOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6)
 
 namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6;
+using NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6;
 }
 
 }}
diff --git a/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/plus.hpp b/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/plus.hpp
index 19c04d3..94bd633 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/plus.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/plus.hpp
@@ -17,8 +17,8 @@
     >
 struct plus_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< plus_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,14 +61,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 plus
     : plus< plus< plus< plus< N1,N2 >, N3>, N4>, N5>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , plus
         , ( N1, N2, N3, N4, N5 )
@@ -82,7 +82,7 @@
 
     : plus< plus< plus< N1,N2 >, N3>, N4>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , plus
         , ( N1, N2, N3, N4, na )
@@ -96,7 +96,7 @@
 
     : plus< plus< N1,N2 >, N3>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , plus
         , ( N1, N2, N3, na, na )
@@ -112,7 +112,7 @@
         , typename plus_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , plus
         , ( N1, N2, na, na, na )
@@ -120,7 +120,7 @@
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 5, plus)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 5, plus)
 
 }}
 
@@ -135,8 +135,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
                 )
             >
     {
diff --git a/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/shift_left.hpp b/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/shift_left.hpp
index c5acfdd..ec50521 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/shift_left.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/shift_left.hpp
@@ -18,8 +18,8 @@
     >
 struct shift_left_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< shift_left_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,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
 
@@ -72,11 +72,11 @@
         , typename shift_left_tag<N2>::type
         >::template apply< N1,N2 >::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)
 
 }}
 
@@ -88,8 +88,8 @@
 
         : integral_c<
               typename N::value_type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N)::value
-                  << BOOST_MPL_AUX_VALUE_WKND(S)::value
+            , ( NDNBOOST_MPL_AUX_VALUE_WKND(N)::value
+                  << NDNBOOST_MPL_AUX_VALUE_WKND(S)::value
                 )
             >
     {
diff --git a/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/shift_right.hpp b/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/shift_right.hpp
index b86b242..88db931 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/shift_right.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/shift_right.hpp
@@ -18,8 +18,8 @@
     >
 struct shift_right_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< shift_right_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,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_right
 
@@ -72,11 +72,11 @@
         , typename shift_right_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_right, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_right, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_right)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 2, shift_right)
 
 }}
 
@@ -88,8 +88,8 @@
 
         : integral_c<
               typename N::value_type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N)::value
-                  >> BOOST_MPL_AUX_VALUE_WKND(S)::value
+            , ( NDNBOOST_MPL_AUX_VALUE_WKND(N)::value
+                  >> NDNBOOST_MPL_AUX_VALUE_WKND(S)::value
                 )
             >
     {
diff --git a/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/times.hpp b/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/times.hpp
index ee61972..640c083 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/times.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/times.hpp
@@ -17,8 +17,8 @@
     >
 struct times_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< times_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,14 +61,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 times
     : times< times< times< times< N1,N2 >, N3>, N4>, N5>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , times
         , ( N1, N2, N3, N4, N5 )
@@ -82,7 +82,7 @@
 
     : times< times< times< N1,N2 >, N3>, N4>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , times
         , ( N1, N2, N3, N4, na )
@@ -96,7 +96,7 @@
 
     : times< times< N1,N2 >, N3>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , times
         , ( N1, N2, N3, na, na )
@@ -112,7 +112,7 @@
         , typename times_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , times
         , ( N1, N2, na, na, na )
@@ -120,7 +120,7 @@
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 5, times)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 5, times)
 
 }}
 
@@ -135,8 +135,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
                 )
             >
     {
diff --git a/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/unpack_args.hpp b/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/unpack_args.hpp
index c924f2a..bd0c328 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/unpack_args.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/bcc_pre590/unpack_args.hpp
@@ -91,7 +91,7 @@
     };
 };
 
-BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args)
+NDNBOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args)
 
 }}
 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/dmc/and.hpp b/include/ndnboost/mpl/aux_/preprocessed/dmc/and.hpp
index 24b88d8..5c1b95a 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/dmc/and.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/dmc/and.hpp
@@ -22,7 +22,7 @@
 template< typename T1, typename T2, typename T3, typename T4 >
 struct and_impl< true,T1,T2,T3,T4 >
     : and_impl<
-          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
+          NDNBOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
         , T2, T3, T4
         , true_
         >
@@ -41,26 +41,26 @@
 } // namespace aux
 
 template<
-      typename BOOST_MPL_AUX_NA_PARAM(T1)
-    , typename BOOST_MPL_AUX_NA_PARAM(T2)
+      typename NDNBOOST_MPL_AUX_NA_PARAM(T1)
+    , typename NDNBOOST_MPL_AUX_NA_PARAM(T2)
     , typename T3 = true_, typename T4 = true_, typename T5 = true_
     >
 struct and_
 
     : aux::and_impl<
-          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
+          NDNBOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
         , T2, T3, T4, T5
         >
 
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , and_
         , ( T1, T2, T3, T4, T5)
         )
 };
 
-BOOST_MPL_AUX_NA_SPEC2(
+NDNBOOST_MPL_AUX_NA_SPEC2(
       2
     , 5
     , and_
diff --git a/include/ndnboost/mpl/aux_/preprocessed/dmc/apply.hpp b/include/ndnboost/mpl/aux_/preprocessed/dmc/apply.hpp
index e4b1cd2..80f72b0 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/dmc/apply.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/dmc/apply.hpp
@@ -21,7 +21,7 @@
        
         >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           1
         , apply0
         , (F )
@@ -46,7 +46,7 @@
         , T1
         >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           2
         , apply1
         , (F, T1)
@@ -71,7 +71,7 @@
         , T1, T2
         >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           3
         , apply2
         , (F, T1, T2)
@@ -96,7 +96,7 @@
         , T1, T2, T3
         >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           4
         , apply3
         , (F, T1, T2, T3)
@@ -121,7 +121,7 @@
         , T1, T2, T3, T4
         >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , apply4
         , (F, T1, T2, T3, T4)
@@ -147,7 +147,7 @@
         , T1, T2, T3, T4, T5
         >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           6
         , apply5
         , (F, T1, T2, T3, T4, T5)
diff --git a/include/ndnboost/mpl/aux_/preprocessed/dmc/arg.hpp b/include/ndnboost/mpl/aux_/preprocessed/dmc/arg.hpp
index 9a157c2..154476a 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/dmc/arg.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/dmc/arg.hpp
@@ -10,12 +10,12 @@
 // Preprocessed version of "ndnboost/mpl/arg.hpp" header
 // -- DO NOT modify by hand!
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 template<> struct arg< -1 >
 {
-    BOOST_STATIC_CONSTANT(int, value  = -1);
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
+    NDNBOOST_STATIC_CONSTANT(int, value  = -1);
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, type)
 
     template<
           typename U1 = na, typename U2 = na, typename U3 = na
@@ -24,16 +24,16 @@
     struct apply
     {
         typedef U1 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
+        NDNBOOST_MPL_AUX_ASSERT_NOT_NA(type);
     };
 };
 
 template<> struct arg<1>
 {
-    BOOST_STATIC_CONSTANT(int, value  = 1);
+    NDNBOOST_STATIC_CONSTANT(int, value  = 1);
     typedef arg<2> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, type)
 
     template<
           typename U1 = na, typename U2 = na, typename U3 = na
@@ -42,16 +42,16 @@
     struct apply
     {
         typedef U1 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
+        NDNBOOST_MPL_AUX_ASSERT_NOT_NA(type);
     };
 };
 
 template<> struct arg<2>
 {
-    BOOST_STATIC_CONSTANT(int, value  = 2);
+    NDNBOOST_STATIC_CONSTANT(int, value  = 2);
     typedef arg<3> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, type)
 
     template<
           typename U1 = na, typename U2 = na, typename U3 = na
@@ -60,16 +60,16 @@
     struct apply
     {
         typedef U2 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
+        NDNBOOST_MPL_AUX_ASSERT_NOT_NA(type);
     };
 };
 
 template<> struct arg<3>
 {
-    BOOST_STATIC_CONSTANT(int, value  = 3);
+    NDNBOOST_STATIC_CONSTANT(int, value  = 3);
     typedef arg<4> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, type)
 
     template<
           typename U1 = na, typename U2 = na, typename U3 = na
@@ -78,16 +78,16 @@
     struct apply
     {
         typedef U3 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
+        NDNBOOST_MPL_AUX_ASSERT_NOT_NA(type);
     };
 };
 
 template<> struct arg<4>
 {
-    BOOST_STATIC_CONSTANT(int, value  = 4);
+    NDNBOOST_STATIC_CONSTANT(int, value  = 4);
     typedef arg<5> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, type)
 
     template<
           typename U1 = na, typename U2 = na, typename U3 = na
@@ -96,16 +96,16 @@
     struct apply
     {
         typedef U4 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
+        NDNBOOST_MPL_AUX_ASSERT_NOT_NA(type);
     };
 };
 
 template<> struct arg<5>
 {
-    BOOST_STATIC_CONSTANT(int, value  = 5);
+    NDNBOOST_STATIC_CONSTANT(int, value  = 5);
     typedef arg<6> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, type)
 
     template<
           typename U1 = na, typename U2 = na, typename U3 = na
@@ -114,10 +114,10 @@
     struct apply
     {
         typedef U5 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
+        NDNBOOST_MPL_AUX_ASSERT_NOT_NA(type);
     };
 };
 
-BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg)
+NDNBOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg)
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
diff --git a/include/ndnboost/mpl/aux_/preprocessed/dmc/basic_bind.hpp b/include/ndnboost/mpl/aux_/preprocessed/dmc/basic_bind.hpp
index 8895825..17ef3ff 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/dmc/basic_bind.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/dmc/basic_bind.hpp
@@ -82,8 +82,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(1, bind0)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
+NDNBOOST_MPL_AUX_ARITY_SPEC(1, bind0)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
 
 template<
       typename F, int dummy_
@@ -133,8 +133,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(2, bind1)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
+NDNBOOST_MPL_AUX_ARITY_SPEC(2, bind1)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
 
 template<
       typename F, typename T1, int dummy_
@@ -185,8 +185,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(3, bind2)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
+NDNBOOST_MPL_AUX_ARITY_SPEC(3, bind2)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
 
 template<
       typename F, typename T1, typename T2, int dummy_
@@ -238,8 +238,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(4, bind3)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
+NDNBOOST_MPL_AUX_ARITY_SPEC(4, bind3)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
 
 template<
       typename F, typename T1, typename T2, typename T3, int dummy_
@@ -294,8 +294,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(5, bind4)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
+NDNBOOST_MPL_AUX_ARITY_SPEC(5, bind4)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
 
 template<
       typename F, typename T1, typename T2, typename T3, typename T4
@@ -353,8 +353,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(6, bind5)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
+NDNBOOST_MPL_AUX_ARITY_SPEC(6, bind5)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
 
 /// primary template (not a specialization!)
 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/dmc/bind.hpp b/include/ndnboost/mpl/aux_/preprocessed/dmc/bind.hpp
index 18db350..c56f63d 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/dmc/bind.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/dmc/bind.hpp
@@ -104,8 +104,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(1, bind0)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
+NDNBOOST_MPL_AUX_ARITY_SPEC(1, bind0)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
 
 template<
       typename F, int dummy_
@@ -162,8 +162,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(2, bind1)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
+NDNBOOST_MPL_AUX_ARITY_SPEC(2, bind1)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
 
 template<
       typename F, typename T1, int dummy_
@@ -225,8 +225,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(3, bind2)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
+NDNBOOST_MPL_AUX_ARITY_SPEC(3, bind2)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
 
 template<
       typename F, typename T1, typename T2, int dummy_
@@ -293,8 +293,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(4, bind3)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
+NDNBOOST_MPL_AUX_ARITY_SPEC(4, bind3)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
 
 template<
       typename F, typename T1, typename T2, typename T3, int dummy_
@@ -368,8 +368,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(5, bind4)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
+NDNBOOST_MPL_AUX_ARITY_SPEC(5, bind4)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
 
 template<
       typename F, typename T1, typename T2, typename T3, typename T4
@@ -450,8 +450,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(6, bind5)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
+NDNBOOST_MPL_AUX_ARITY_SPEC(6, bind5)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
 
 /// primary template (not a specialization!)
 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/dmc/bitand.hpp b/include/ndnboost/mpl/aux_/preprocessed/dmc/bitand.hpp
index 90e8593..cd8cc5c 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/dmc/bitand.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/dmc/bitand.hpp
@@ -18,8 +18,8 @@
     >
 struct bitand_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< bitand_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 bitand_
     : bitand_< bitand_< bitand_< bitand_< N1,N2 >, N3>, N4>, N5>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , bitand_
         , ( N1, N2, N3, N4, N5 )
@@ -83,7 +83,7 @@
 
     : bitand_< bitand_< bitand_< N1,N2 >, N3>, N4>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , bitand_
         , ( N1, N2, N3, N4, na )
@@ -97,7 +97,7 @@
 
     : bitand_< bitand_< N1,N2 >, N3>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , bitand_
         , ( N1, N2, N3, na, na )
@@ -113,7 +113,7 @@
         , typename bitand_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , bitand_
         , ( N1, N2, na, na, na )
@@ -121,7 +121,7 @@
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitand_)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 5, bitand_)
 
 }}
 
@@ -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
                 )
             >
     {
diff --git a/include/ndnboost/mpl/aux_/preprocessed/dmc/bitor.hpp b/include/ndnboost/mpl/aux_/preprocessed/dmc/bitor.hpp
index c71a8f4..e98247b 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/dmc/bitor.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/dmc/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
                 )
             >
     {
diff --git a/include/ndnboost/mpl/aux_/preprocessed/dmc/bitxor.hpp b/include/ndnboost/mpl/aux_/preprocessed/dmc/bitxor.hpp
index b7f0ce7..1f276b7 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/dmc/bitxor.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/dmc/bitxor.hpp
@@ -18,8 +18,8 @@
     >
 struct bitxor_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< bitxor_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 bitxor_
     : bitxor_< bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4>, N5>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , bitxor_
         , ( N1, N2, N3, N4, N5 )
@@ -83,7 +83,7 @@
 
     : bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , bitxor_
         , ( N1, N2, N3, N4, na )
@@ -97,7 +97,7 @@
 
     : bitxor_< bitxor_< N1,N2 >, N3>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , bitxor_
         , ( N1, N2, N3, na, na )
@@ -113,7 +113,7 @@
         , typename bitxor_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , bitxor_
         , ( N1, N2, na, na, na )
@@ -121,7 +121,7 @@
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitxor_)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 5, bitxor_)
 
 }}
 
@@ -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
                 )
             >
     {
diff --git a/include/ndnboost/mpl/aux_/preprocessed/dmc/divides.hpp b/include/ndnboost/mpl/aux_/preprocessed/dmc/divides.hpp
index 0f5415c..1bc4433 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/dmc/divides.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/dmc/divides.hpp
@@ -17,8 +17,8 @@
     >
 struct divides_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< divides_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,14 +61,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 divides
     : divides< divides< divides< divides< N1,N2 >, N3>, N4>, N5>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , divides
         , ( N1, N2, N3, N4, N5 )
@@ -82,7 +82,7 @@
 
     : divides< divides< divides< N1,N2 >, N3>, N4>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , divides
         , ( N1, N2, N3, N4, na )
@@ -96,7 +96,7 @@
 
     : divides< divides< N1,N2 >, N3>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , divides
         , ( N1, N2, N3, na, na )
@@ -112,7 +112,7 @@
         , typename divides_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , divides
         , ( N1, N2, na, na, na )
@@ -120,7 +120,7 @@
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 5, divides)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 5, divides)
 
 }}
 
@@ -135,8 +135,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
                 )
             >
     {
diff --git a/include/ndnboost/mpl/aux_/preprocessed/dmc/equal_to.hpp b/include/ndnboost/mpl/aux_/preprocessed/dmc/equal_to.hpp
index 0d02da4..6455885 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/dmc/equal_to.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/dmc/equal_to.hpp
@@ -17,8 +17,8 @@
     >
 struct equal_to_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< equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,8 +61,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 equal_to
 
@@ -71,11 +71,11 @@
         , typename equal_to_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, equal_to, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, equal_to, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 2, equal_to)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 2, equal_to)
 
 }}
 
@@ -86,7 +86,7 @@
 {
     template< typename N1, typename N2 > struct apply
 
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value  == BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
+        : bool_< ( NDNBOOST_MPL_AUX_VALUE_WKND(N1)::value  == NDNBOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
     {
     };
 };
diff --git a/include/ndnboost/mpl/aux_/preprocessed/dmc/full_lambda.hpp b/include/ndnboost/mpl/aux_/preprocessed/dmc/full_lambda.hpp
index 4d09c10..ef1eb54 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/dmc/full_lambda.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/dmc/full_lambda.hpp
@@ -530,7 +530,7 @@
     typedef result_ type;
 };
 
-BOOST_MPL_AUX_NA_SPEC(2, lambda)
+NDNBOOST_MPL_AUX_NA_SPEC(2, lambda)
 
 }}
 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/dmc/greater.hpp b/include/ndnboost/mpl/aux_/preprocessed/dmc/greater.hpp
index e05fa3c..a7eb4a4 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/dmc/greater.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/dmc/greater.hpp
@@ -17,8 +17,8 @@
     >
 struct greater_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< greater_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,8 +61,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 greater
 
@@ -71,11 +71,11 @@
         , typename greater_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 2, greater)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 2, greater)
 
 }}
 
@@ -86,7 +86,7 @@
 {
     template< typename N1, typename N2 > struct apply
 
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value > BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
+        : bool_< ( NDNBOOST_MPL_AUX_VALUE_WKND(N1)::value > NDNBOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
     {
     };
 };
diff --git a/include/ndnboost/mpl/aux_/preprocessed/dmc/greater_equal.hpp b/include/ndnboost/mpl/aux_/preprocessed/dmc/greater_equal.hpp
index f89a587..35bd413 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/dmc/greater_equal.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/dmc/greater_equal.hpp
@@ -17,8 +17,8 @@
     >
 struct greater_equal_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< greater_equal_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,8 +61,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 greater_equal
 
@@ -71,11 +71,11 @@
         , typename greater_equal_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater_equal, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater_equal, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 2, greater_equal)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 2, greater_equal)
 
 }}
 
@@ -86,7 +86,7 @@
 {
     template< typename N1, typename N2 > struct apply
 
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
+        : bool_< ( NDNBOOST_MPL_AUX_VALUE_WKND(N1)::value >= NDNBOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
     {
     };
 };
diff --git a/include/ndnboost/mpl/aux_/preprocessed/dmc/inherit.hpp b/include/ndnboost/mpl/aux_/preprocessed/dmc/inherit.hpp
index 41f387f..a97f313 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/dmc/inherit.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/dmc/inherit.hpp
@@ -12,38 +12,38 @@
 namespace ndnboost { namespace mpl {
 
 template<
-      typename BOOST_MPL_AUX_NA_PARAM(T1)
-    , typename BOOST_MPL_AUX_NA_PARAM(T2)
+      typename NDNBOOST_MPL_AUX_NA_PARAM(T1)
+    , typename NDNBOOST_MPL_AUX_NA_PARAM(T2)
     >
 struct inherit2
     : T1, T2
 {
     typedef inherit2 type;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, inherit2, (T1, T2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, inherit2, (T1, T2))
 };
 
 template< typename T1 >
 struct inherit2< T1,empty_base >
 {
     typedef T1 type;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (T1, empty_base))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (T1, empty_base))
 };
 
 template< typename T2 >
 struct inherit2< empty_base,T2 >
 {
     typedef T2 type;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, T2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, T2))
 };
 
 template<>
 struct inherit2< empty_base,empty_base >
 {
     typedef empty_base type;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, empty_base))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, empty_base))
 };
 
-BOOST_MPL_AUX_NA_SPEC(2, inherit2)
+NDNBOOST_MPL_AUX_NA_SPEC(2, inherit2)
 
 template<
       typename T1 = na, typename T2 = na, typename T3 = na
@@ -56,14 +56,14 @@
         , T3
         >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           3
         , inherit3
         , ( T1, T2, T3)
         )
 };
 
-BOOST_MPL_AUX_NA_SPEC(3, inherit3)
+NDNBOOST_MPL_AUX_NA_SPEC(3, inherit3)
 
 template<
       typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na
@@ -76,14 +76,14 @@
         , T4
         >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           4
         , inherit4
         , ( T1, T2, T3, T4)
         )
 };
 
-BOOST_MPL_AUX_NA_SPEC(4, inherit4)
+NDNBOOST_MPL_AUX_NA_SPEC(4, inherit4)
 
 template<
       typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na
@@ -97,14 +97,14 @@
         , T5
         >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , inherit5
         , ( T1, T2, T3, T4, T5)
         )
 };
 
-BOOST_MPL_AUX_NA_SPEC(5, inherit5)
+NDNBOOST_MPL_AUX_NA_SPEC(5, inherit5)
 
 /// primary template
 
@@ -134,8 +134,8 @@
     };
 };
 
-BOOST_MPL_AUX_NA_SPEC_LAMBDA(5, inherit)
-BOOST_MPL_AUX_NA_SPEC_ARITY(5, inherit)
-BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(5, 5, inherit)
+NDNBOOST_MPL_AUX_NA_SPEC_LAMBDA(5, inherit)
+NDNBOOST_MPL_AUX_NA_SPEC_ARITY(5, inherit)
+NDNBOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(5, 5, inherit)
 }}
 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/dmc/iter_fold_if_impl.hpp b/include/ndnboost/mpl/aux_/preprocessed/dmc/iter_fold_if_impl.hpp
index b0a2864..a74bd83 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/dmc/iter_fold_if_impl.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/dmc/iter_fold_if_impl.hpp
@@ -61,7 +61,7 @@
 {
     typedef typename apply2< Predicate,State,Iterator >::type not_last;
     typedef typename iter_fold_if_step_impl<
-          BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
+          NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
         >::template result_< Iterator,State,ForwardOp, mpl::next<Iterator> > impl_;
 
     typedef typename impl_::state state;
@@ -78,7 +78,7 @@
 {
     typedef typename apply2< Predicate,State,Iterator >::type not_last;
     typedef typename iter_fold_if_step_impl<
-          BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
+          NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
         >::template result_< Iterator,State,BackwardOp, identity<Iterator> > impl_;
 
     typedef typename impl_::state state;
diff --git a/include/ndnboost/mpl/aux_/preprocessed/dmc/lambda_no_ctps.hpp b/include/ndnboost/mpl/aux_/preprocessed/dmc/lambda_no_ctps.hpp
index 5bfc661..45f5f6b 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/dmc/lambda_no_ctps.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/dmc/lambda_no_ctps.hpp
@@ -44,7 +44,7 @@
         typedef lambda< typename F::arg1, Tag, false_ > l1;
         typedef typename l1::is_le is_le1;
         typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value
+              NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value
             > is_le;
 
         typedef bind1<
@@ -74,7 +74,7 @@
         
 
         typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value
+              NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value
             > is_le;
 
         typedef bind2<
@@ -106,7 +106,7 @@
         
 
         typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value
+              NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value
             > is_le;
 
         typedef bind3<
@@ -140,7 +140,7 @@
         
 
         typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value
+              NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value
             > is_le;
 
         typedef bind4<
@@ -177,7 +177,7 @@
         
 
         typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le5)::value
+              NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le5)::value
             > is_le;
 
         typedef bind5<
@@ -212,10 +212,10 @@
 
     typedef typename l_::type type;
     typedef typename l_::is_le is_le;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(3, lambda, (T, Tag, Protect))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(3, lambda, (T, Tag, Protect))
 };
 
-BOOST_MPL_AUX_NA_SPEC2(1, 3, lambda)
+NDNBOOST_MPL_AUX_NA_SPEC2(1, 3, lambda)
 
 template<
       typename T
diff --git a/include/ndnboost/mpl/aux_/preprocessed/dmc/less.hpp b/include/ndnboost/mpl/aux_/preprocessed/dmc/less.hpp
index 7139b79..a4b8eeb 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/dmc/less.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/dmc/less.hpp
@@ -17,8 +17,8 @@
     >
 struct less_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< less_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,8 +61,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 less
 
@@ -71,11 +71,11 @@
         , typename less_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, less, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 2, less)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 2, less)
 
 }}
 
@@ -86,7 +86,7 @@
 {
     template< typename N1, typename N2 > struct apply
 
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N2)::value > BOOST_MPL_AUX_VALUE_WKND(N1)::value ) >
+        : bool_< ( NDNBOOST_MPL_AUX_VALUE_WKND(N2)::value > NDNBOOST_MPL_AUX_VALUE_WKND(N1)::value ) >
     {
     };
 };
diff --git a/include/ndnboost/mpl/aux_/preprocessed/dmc/less_equal.hpp b/include/ndnboost/mpl/aux_/preprocessed/dmc/less_equal.hpp
index f7c3491..5cd141b 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/dmc/less_equal.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/dmc/less_equal.hpp
@@ -17,8 +17,8 @@
     >
 struct less_equal_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< less_equal_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,8 +61,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 less_equal
 
@@ -71,11 +71,11 @@
         , typename less_equal_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less_equal, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, less_equal, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 2, less_equal)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 2, less_equal)
 
 }}
 
@@ -86,7 +86,7 @@
 {
     template< typename N1, typename N2 > struct apply
 
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value <= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
+        : bool_< ( NDNBOOST_MPL_AUX_VALUE_WKND(N1)::value <= NDNBOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
     {
     };
 };
diff --git a/include/ndnboost/mpl/aux_/preprocessed/dmc/minus.hpp b/include/ndnboost/mpl/aux_/preprocessed/dmc/minus.hpp
index ae6b592..454fda8 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/dmc/minus.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/dmc/minus.hpp
@@ -17,8 +17,8 @@
     >
 struct minus_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< minus_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,14 +61,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 minus
     : minus< minus< minus< minus< N1,N2 >, N3>, N4>, N5>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , minus
         , ( N1, N2, N3, N4, N5 )
@@ -82,7 +82,7 @@
 
     : minus< minus< minus< N1,N2 >, N3>, N4>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , minus
         , ( N1, N2, N3, N4, na )
@@ -96,7 +96,7 @@
 
     : minus< minus< N1,N2 >, N3>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , minus
         , ( N1, N2, N3, na, na )
@@ -112,7 +112,7 @@
         , typename minus_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , minus
         , ( N1, N2, na, na, na )
@@ -120,7 +120,7 @@
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 5, minus)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 5, minus)
 
 }}
 
@@ -135,8 +135,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
                 )
             >
     {
diff --git a/include/ndnboost/mpl/aux_/preprocessed/dmc/modulus.hpp b/include/ndnboost/mpl/aux_/preprocessed/dmc/modulus.hpp
index 89c6172..3e89691 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/dmc/modulus.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/dmc/modulus.hpp
@@ -17,8 +17,8 @@
     >
 struct modulus_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< modulus_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,8 +61,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 modulus
 
@@ -71,11 +71,11 @@
         , typename modulus_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, modulus, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, modulus, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 2, modulus)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 2, modulus)
 
 }}
 
@@ -90,8 +90,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
                 )
             >
     {
diff --git a/include/ndnboost/mpl/aux_/preprocessed/dmc/not_equal_to.hpp b/include/ndnboost/mpl/aux_/preprocessed/dmc/not_equal_to.hpp
index b28e100..6de1e16 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/dmc/not_equal_to.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/dmc/not_equal_to.hpp
@@ -17,8 +17,8 @@
     >
 struct not_equal_to_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< not_equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,8 +61,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 not_equal_to
 
@@ -71,11 +71,11 @@
         , typename not_equal_to_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, not_equal_to, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, not_equal_to, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 2, not_equal_to)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 2, not_equal_to)
 
 }}
 
@@ -86,7 +86,7 @@
 {
     template< typename N1, typename N2 > struct apply
 
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value != BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
+        : bool_< ( NDNBOOST_MPL_AUX_VALUE_WKND(N1)::value != NDNBOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
     {
     };
 };
diff --git a/include/ndnboost/mpl/aux_/preprocessed/dmc/or.hpp b/include/ndnboost/mpl/aux_/preprocessed/dmc/or.hpp
index e929602..cae8edf 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/dmc/or.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/dmc/or.hpp
@@ -22,7 +22,7 @@
 template< typename T1, typename T2, typename T3, typename T4 >
 struct or_impl< false,T1,T2,T3,T4 >
     : or_impl<
-          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
+          NDNBOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
         , T2, T3, T4
         , false_
         >
@@ -41,26 +41,26 @@
 } // namespace aux
 
 template<
-      typename BOOST_MPL_AUX_NA_PARAM(T1)
-    , typename BOOST_MPL_AUX_NA_PARAM(T2)
+      typename NDNBOOST_MPL_AUX_NA_PARAM(T1)
+    , typename NDNBOOST_MPL_AUX_NA_PARAM(T2)
     , typename T3 = false_, typename T4 = false_, typename T5 = false_
     >
 struct or_
 
     : aux::or_impl<
-          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
+          NDNBOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
         , T2, T3, T4, T5
         >
 
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , or_
         , ( T1, T2, T3, T4, T5)
         )
 };
 
-BOOST_MPL_AUX_NA_SPEC2(
+NDNBOOST_MPL_AUX_NA_SPEC2(
       2
     , 5
     , or_
diff --git a/include/ndnboost/mpl/aux_/preprocessed/dmc/placeholders.hpp b/include/ndnboost/mpl/aux_/preprocessed/dmc/placeholders.hpp
index ecd4514..3a28c09 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/dmc/placeholders.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/dmc/placeholders.hpp
@@ -10,96 +10,96 @@
 // Preprocessed version of "ndnboost/mpl/placeholders.hpp" header
 // -- DO NOT modify by hand!
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 typedef arg< -1 > _;
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
 namespace ndnboost { namespace mpl {
 
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_)
+NDNBOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_)
 
 namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_;
+using NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_;
 }
 
 }}
 
 /// agurt, 17/mar/02: one more placeholder for the last 'apply#' 
 /// specialization
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 typedef arg<1> _1;
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
 namespace ndnboost { namespace mpl {
 
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1)
+NDNBOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1)
 
 namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1;
+using NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1;
 }
 
 }}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 typedef arg<2> _2;
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
 namespace ndnboost { namespace mpl {
 
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2)
+NDNBOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2)
 
 namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2;
+using NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2;
 }
 
 }}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 typedef arg<3> _3;
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
 namespace ndnboost { namespace mpl {
 
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3)
+NDNBOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3)
 
 namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3;
+using NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3;
 }
 
 }}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 typedef arg<4> _4;
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
 namespace ndnboost { namespace mpl {
 
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4)
+NDNBOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4)
 
 namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4;
+using NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4;
 }
 
 }}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 typedef arg<5> _5;
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
 namespace ndnboost { namespace mpl {
 
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5)
+NDNBOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5)
 
 namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5;
+using NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5;
 }
 
 }}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 typedef arg<6> _6;
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
 namespace ndnboost { namespace mpl {
 
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6)
+NDNBOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6)
 
 namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6;
+using NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6;
 }
 
 }}
diff --git a/include/ndnboost/mpl/aux_/preprocessed/dmc/plus.hpp b/include/ndnboost/mpl/aux_/preprocessed/dmc/plus.hpp
index de03e3e..5d8b2cd 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/dmc/plus.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/dmc/plus.hpp
@@ -17,8 +17,8 @@
     >
 struct plus_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< plus_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,14 +61,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 plus
     : plus< plus< plus< plus< N1,N2 >, N3>, N4>, N5>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , plus
         , ( N1, N2, N3, N4, N5 )
@@ -82,7 +82,7 @@
 
     : plus< plus< plus< N1,N2 >, N3>, N4>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , plus
         , ( N1, N2, N3, N4, na )
@@ -96,7 +96,7 @@
 
     : plus< plus< N1,N2 >, N3>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , plus
         , ( N1, N2, N3, na, na )
@@ -112,7 +112,7 @@
         , typename plus_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , plus
         , ( N1, N2, na, na, na )
@@ -120,7 +120,7 @@
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 5, plus)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 5, plus)
 
 }}
 
@@ -135,8 +135,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
                 )
             >
     {
diff --git a/include/ndnboost/mpl/aux_/preprocessed/dmc/shift_left.hpp b/include/ndnboost/mpl/aux_/preprocessed/dmc/shift_left.hpp
index c8df29c..2964fb8 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/dmc/shift_left.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/dmc/shift_left.hpp
@@ -18,8 +18,8 @@
     >
 struct shift_left_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< shift_left_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,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
 
@@ -72,11 +72,11 @@
         , typename shift_left_tag<N2>::type
         >::template apply< N1,N2 >::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)
 
 }}
 
@@ -88,8 +88,8 @@
 
         : integral_c<
               typename N::value_type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N)::value
-                  << BOOST_MPL_AUX_VALUE_WKND(S)::value
+            , ( NDNBOOST_MPL_AUX_VALUE_WKND(N)::value
+                  << NDNBOOST_MPL_AUX_VALUE_WKND(S)::value
                 )
             >
     {
diff --git a/include/ndnboost/mpl/aux_/preprocessed/dmc/shift_right.hpp b/include/ndnboost/mpl/aux_/preprocessed/dmc/shift_right.hpp
index a726ff1..57a5fe0 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/dmc/shift_right.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/dmc/shift_right.hpp
@@ -18,8 +18,8 @@
     >
 struct shift_right_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< shift_right_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,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_right
 
@@ -72,11 +72,11 @@
         , typename shift_right_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_right, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_right, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_right)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 2, shift_right)
 
 }}
 
@@ -88,8 +88,8 @@
 
         : integral_c<
               typename N::value_type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N)::value
-                  >> BOOST_MPL_AUX_VALUE_WKND(S)::value
+            , ( NDNBOOST_MPL_AUX_VALUE_WKND(N)::value
+                  >> NDNBOOST_MPL_AUX_VALUE_WKND(S)::value
                 )
             >
     {
diff --git a/include/ndnboost/mpl/aux_/preprocessed/dmc/times.hpp b/include/ndnboost/mpl/aux_/preprocessed/dmc/times.hpp
index f4514e5..9a55fed 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/dmc/times.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/dmc/times.hpp
@@ -17,8 +17,8 @@
     >
 struct times_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< times_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,14 +61,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 times
     : times< times< times< times< N1,N2 >, N3>, N4>, N5>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , times
         , ( N1, N2, N3, N4, N5 )
@@ -82,7 +82,7 @@
 
     : times< times< times< N1,N2 >, N3>, N4>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , times
         , ( N1, N2, N3, N4, na )
@@ -96,7 +96,7 @@
 
     : times< times< N1,N2 >, N3>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , times
         , ( N1, N2, N3, na, na )
@@ -112,7 +112,7 @@
         , typename times_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , times
         , ( N1, N2, na, na, na )
@@ -120,7 +120,7 @@
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 5, times)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 5, times)
 
 }}
 
@@ -135,8 +135,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
                 )
             >
     {
diff --git a/include/ndnboost/mpl/aux_/preprocessed/dmc/unpack_args.hpp b/include/ndnboost/mpl/aux_/preprocessed/dmc/unpack_args.hpp
index 9c9204f..aec31af 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/dmc/unpack_args.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/dmc/unpack_args.hpp
@@ -88,7 +88,7 @@
     };
 };
 
-BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args)
+NDNBOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args)
 
 }}
 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/gcc/and.hpp b/include/ndnboost/mpl/aux_/preprocessed/gcc/and.hpp
index 24b88d8..5c1b95a 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/gcc/and.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/gcc/and.hpp
@@ -22,7 +22,7 @@
 template< typename T1, typename T2, typename T3, typename T4 >
 struct and_impl< true,T1,T2,T3,T4 >
     : and_impl<
-          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
+          NDNBOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
         , T2, T3, T4
         , true_
         >
@@ -41,26 +41,26 @@
 } // namespace aux
 
 template<
-      typename BOOST_MPL_AUX_NA_PARAM(T1)
-    , typename BOOST_MPL_AUX_NA_PARAM(T2)
+      typename NDNBOOST_MPL_AUX_NA_PARAM(T1)
+    , typename NDNBOOST_MPL_AUX_NA_PARAM(T2)
     , typename T3 = true_, typename T4 = true_, typename T5 = true_
     >
 struct and_
 
     : aux::and_impl<
-          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
+          NDNBOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
         , T2, T3, T4, T5
         >
 
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , and_
         , ( T1, T2, T3, T4, T5)
         )
 };
 
-BOOST_MPL_AUX_NA_SPEC2(
+NDNBOOST_MPL_AUX_NA_SPEC2(
       2
     , 5
     , and_
diff --git a/include/ndnboost/mpl/aux_/preprocessed/gcc/apply.hpp b/include/ndnboost/mpl/aux_/preprocessed/gcc/apply.hpp
index e4b1cd2..80f72b0 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/gcc/apply.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/gcc/apply.hpp
@@ -21,7 +21,7 @@
        
         >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           1
         , apply0
         , (F )
@@ -46,7 +46,7 @@
         , T1
         >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           2
         , apply1
         , (F, T1)
@@ -71,7 +71,7 @@
         , T1, T2
         >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           3
         , apply2
         , (F, T1, T2)
@@ -96,7 +96,7 @@
         , T1, T2, T3
         >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           4
         , apply3
         , (F, T1, T2, T3)
@@ -121,7 +121,7 @@
         , T1, T2, T3, T4
         >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , apply4
         , (F, T1, T2, T3, T4)
@@ -147,7 +147,7 @@
         , T1, T2, T3, T4, T5
         >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           6
         , apply5
         , (F, T1, T2, T3, T4, T5)
diff --git a/include/ndnboost/mpl/aux_/preprocessed/gcc/arg.hpp b/include/ndnboost/mpl/aux_/preprocessed/gcc/arg.hpp
index 9a157c2..154476a 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/gcc/arg.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/gcc/arg.hpp
@@ -10,12 +10,12 @@
 // Preprocessed version of "ndnboost/mpl/arg.hpp" header
 // -- DO NOT modify by hand!
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 template<> struct arg< -1 >
 {
-    BOOST_STATIC_CONSTANT(int, value  = -1);
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
+    NDNBOOST_STATIC_CONSTANT(int, value  = -1);
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, type)
 
     template<
           typename U1 = na, typename U2 = na, typename U3 = na
@@ -24,16 +24,16 @@
     struct apply
     {
         typedef U1 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
+        NDNBOOST_MPL_AUX_ASSERT_NOT_NA(type);
     };
 };
 
 template<> struct arg<1>
 {
-    BOOST_STATIC_CONSTANT(int, value  = 1);
+    NDNBOOST_STATIC_CONSTANT(int, value  = 1);
     typedef arg<2> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, type)
 
     template<
           typename U1 = na, typename U2 = na, typename U3 = na
@@ -42,16 +42,16 @@
     struct apply
     {
         typedef U1 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
+        NDNBOOST_MPL_AUX_ASSERT_NOT_NA(type);
     };
 };
 
 template<> struct arg<2>
 {
-    BOOST_STATIC_CONSTANT(int, value  = 2);
+    NDNBOOST_STATIC_CONSTANT(int, value  = 2);
     typedef arg<3> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, type)
 
     template<
           typename U1 = na, typename U2 = na, typename U3 = na
@@ -60,16 +60,16 @@
     struct apply
     {
         typedef U2 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
+        NDNBOOST_MPL_AUX_ASSERT_NOT_NA(type);
     };
 };
 
 template<> struct arg<3>
 {
-    BOOST_STATIC_CONSTANT(int, value  = 3);
+    NDNBOOST_STATIC_CONSTANT(int, value  = 3);
     typedef arg<4> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, type)
 
     template<
           typename U1 = na, typename U2 = na, typename U3 = na
@@ -78,16 +78,16 @@
     struct apply
     {
         typedef U3 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
+        NDNBOOST_MPL_AUX_ASSERT_NOT_NA(type);
     };
 };
 
 template<> struct arg<4>
 {
-    BOOST_STATIC_CONSTANT(int, value  = 4);
+    NDNBOOST_STATIC_CONSTANT(int, value  = 4);
     typedef arg<5> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, type)
 
     template<
           typename U1 = na, typename U2 = na, typename U3 = na
@@ -96,16 +96,16 @@
     struct apply
     {
         typedef U4 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
+        NDNBOOST_MPL_AUX_ASSERT_NOT_NA(type);
     };
 };
 
 template<> struct arg<5>
 {
-    BOOST_STATIC_CONSTANT(int, value  = 5);
+    NDNBOOST_STATIC_CONSTANT(int, value  = 5);
     typedef arg<6> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, type)
 
     template<
           typename U1 = na, typename U2 = na, typename U3 = na
@@ -114,10 +114,10 @@
     struct apply
     {
         typedef U5 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
+        NDNBOOST_MPL_AUX_ASSERT_NOT_NA(type);
     };
 };
 
-BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg)
+NDNBOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg)
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
diff --git a/include/ndnboost/mpl/aux_/preprocessed/gcc/basic_bind.hpp b/include/ndnboost/mpl/aux_/preprocessed/gcc/basic_bind.hpp
index a2a565e..8e0bf73 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/gcc/basic_bind.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/gcc/basic_bind.hpp
@@ -82,8 +82,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(1, bind0)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
+NDNBOOST_MPL_AUX_ARITY_SPEC(1, bind0)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
 
 template<
       typename F
@@ -133,8 +133,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(2, bind1)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
+NDNBOOST_MPL_AUX_ARITY_SPEC(2, bind1)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
 
 template<
       typename F, typename T1
@@ -185,8 +185,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(3, bind2)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
+NDNBOOST_MPL_AUX_ARITY_SPEC(3, bind2)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
 
 template<
       typename F, typename T1, typename T2
@@ -238,8 +238,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(4, bind3)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
+NDNBOOST_MPL_AUX_ARITY_SPEC(4, bind3)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
 
 template<
       typename F, typename T1, typename T2, typename T3
@@ -293,8 +293,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(5, bind4)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
+NDNBOOST_MPL_AUX_ARITY_SPEC(5, bind4)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
 
 template<
       typename F, typename T1, typename T2, typename T3, typename T4
@@ -351,8 +351,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(6, bind5)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
+NDNBOOST_MPL_AUX_ARITY_SPEC(6, bind5)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
 
 /// primary template (not a specialization!)
 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/gcc/bind.hpp b/include/ndnboost/mpl/aux_/preprocessed/gcc/bind.hpp
index f2cde5a..45cfc67 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/gcc/bind.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/gcc/bind.hpp
@@ -104,8 +104,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(1, bind0)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
+NDNBOOST_MPL_AUX_ARITY_SPEC(1, bind0)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
 
 template<
       typename F
@@ -162,8 +162,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(2, bind1)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
+NDNBOOST_MPL_AUX_ARITY_SPEC(2, bind1)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
 
 template<
       typename F, typename T1
@@ -225,8 +225,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(3, bind2)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
+NDNBOOST_MPL_AUX_ARITY_SPEC(3, bind2)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
 
 template<
       typename F, typename T1, typename T2
@@ -293,8 +293,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(4, bind3)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
+NDNBOOST_MPL_AUX_ARITY_SPEC(4, bind3)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
 
 template<
       typename F, typename T1, typename T2, typename T3
@@ -367,8 +367,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(5, bind4)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
+NDNBOOST_MPL_AUX_ARITY_SPEC(5, bind4)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
 
 template<
       typename F, typename T1, typename T2, typename T3, typename T4
@@ -448,8 +448,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(6, bind5)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
+NDNBOOST_MPL_AUX_ARITY_SPEC(6, bind5)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
 
 /// primary template (not a specialization!)
 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/gcc/bitand.hpp b/include/ndnboost/mpl/aux_/preprocessed/gcc/bitand.hpp
index 90e8593..cd8cc5c 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/gcc/bitand.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/gcc/bitand.hpp
@@ -18,8 +18,8 @@
     >
 struct bitand_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< bitand_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 bitand_
     : bitand_< bitand_< bitand_< bitand_< N1,N2 >, N3>, N4>, N5>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , bitand_
         , ( N1, N2, N3, N4, N5 )
@@ -83,7 +83,7 @@
 
     : bitand_< bitand_< bitand_< N1,N2 >, N3>, N4>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , bitand_
         , ( N1, N2, N3, N4, na )
@@ -97,7 +97,7 @@
 
     : bitand_< bitand_< N1,N2 >, N3>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , bitand_
         , ( N1, N2, N3, na, na )
@@ -113,7 +113,7 @@
         , typename bitand_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , bitand_
         , ( N1, N2, na, na, na )
@@ -121,7 +121,7 @@
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitand_)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 5, bitand_)
 
 }}
 
@@ -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
                 )
             >
     {
diff --git a/include/ndnboost/mpl/aux_/preprocessed/gcc/bitor.hpp b/include/ndnboost/mpl/aux_/preprocessed/gcc/bitor.hpp
index c71a8f4..e98247b 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/gcc/bitor.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/gcc/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
                 )
             >
     {
diff --git a/include/ndnboost/mpl/aux_/preprocessed/gcc/bitxor.hpp b/include/ndnboost/mpl/aux_/preprocessed/gcc/bitxor.hpp
index b7f0ce7..1f276b7 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/gcc/bitxor.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/gcc/bitxor.hpp
@@ -18,8 +18,8 @@
     >
 struct bitxor_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< bitxor_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 bitxor_
     : bitxor_< bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4>, N5>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , bitxor_
         , ( N1, N2, N3, N4, N5 )
@@ -83,7 +83,7 @@
 
     : bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , bitxor_
         , ( N1, N2, N3, N4, na )
@@ -97,7 +97,7 @@
 
     : bitxor_< bitxor_< N1,N2 >, N3>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , bitxor_
         , ( N1, N2, N3, na, na )
@@ -113,7 +113,7 @@
         , typename bitxor_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , bitxor_
         , ( N1, N2, na, na, na )
@@ -121,7 +121,7 @@
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitxor_)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 5, bitxor_)
 
 }}
 
@@ -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
                 )
             >
     {
diff --git a/include/ndnboost/mpl/aux_/preprocessed/gcc/divides.hpp b/include/ndnboost/mpl/aux_/preprocessed/gcc/divides.hpp
index 0f5415c..1bc4433 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/gcc/divides.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/gcc/divides.hpp
@@ -17,8 +17,8 @@
     >
 struct divides_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< divides_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,14 +61,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 divides
     : divides< divides< divides< divides< N1,N2 >, N3>, N4>, N5>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , divides
         , ( N1, N2, N3, N4, N5 )
@@ -82,7 +82,7 @@
 
     : divides< divides< divides< N1,N2 >, N3>, N4>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , divides
         , ( N1, N2, N3, N4, na )
@@ -96,7 +96,7 @@
 
     : divides< divides< N1,N2 >, N3>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , divides
         , ( N1, N2, N3, na, na )
@@ -112,7 +112,7 @@
         , typename divides_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , divides
         , ( N1, N2, na, na, na )
@@ -120,7 +120,7 @@
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 5, divides)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 5, divides)
 
 }}
 
@@ -135,8 +135,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
                 )
             >
     {
diff --git a/include/ndnboost/mpl/aux_/preprocessed/gcc/equal_to.hpp b/include/ndnboost/mpl/aux_/preprocessed/gcc/equal_to.hpp
index 0d02da4..6455885 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/gcc/equal_to.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/gcc/equal_to.hpp
@@ -17,8 +17,8 @@
     >
 struct equal_to_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< equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,8 +61,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 equal_to
 
@@ -71,11 +71,11 @@
         , typename equal_to_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, equal_to, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, equal_to, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 2, equal_to)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 2, equal_to)
 
 }}
 
@@ -86,7 +86,7 @@
 {
     template< typename N1, typename N2 > struct apply
 
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value  == BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
+        : bool_< ( NDNBOOST_MPL_AUX_VALUE_WKND(N1)::value  == NDNBOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
     {
     };
 };
diff --git a/include/ndnboost/mpl/aux_/preprocessed/gcc/full_lambda.hpp b/include/ndnboost/mpl/aux_/preprocessed/gcc/full_lambda.hpp
index dcea342..3acbd9f 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/gcc/full_lambda.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/gcc/full_lambda.hpp
@@ -552,7 +552,7 @@
     typedef typename le_result_::type type;
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 3, lambda)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 3, lambda)
 
 }}
 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/gcc/greater.hpp b/include/ndnboost/mpl/aux_/preprocessed/gcc/greater.hpp
index e05fa3c..a7eb4a4 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/gcc/greater.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/gcc/greater.hpp
@@ -17,8 +17,8 @@
     >
 struct greater_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< greater_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,8 +61,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 greater
 
@@ -71,11 +71,11 @@
         , typename greater_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 2, greater)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 2, greater)
 
 }}
 
@@ -86,7 +86,7 @@
 {
     template< typename N1, typename N2 > struct apply
 
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value > BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
+        : bool_< ( NDNBOOST_MPL_AUX_VALUE_WKND(N1)::value > NDNBOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
     {
     };
 };
diff --git a/include/ndnboost/mpl/aux_/preprocessed/gcc/greater_equal.hpp b/include/ndnboost/mpl/aux_/preprocessed/gcc/greater_equal.hpp
index f89a587..35bd413 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/gcc/greater_equal.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/gcc/greater_equal.hpp
@@ -17,8 +17,8 @@
     >
 struct greater_equal_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< greater_equal_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,8 +61,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 greater_equal
 
@@ -71,11 +71,11 @@
         , typename greater_equal_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater_equal, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater_equal, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 2, greater_equal)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 2, greater_equal)
 
 }}
 
@@ -86,7 +86,7 @@
 {
     template< typename N1, typename N2 > struct apply
 
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
+        : bool_< ( NDNBOOST_MPL_AUX_VALUE_WKND(N1)::value >= NDNBOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
     {
     };
 };
diff --git a/include/ndnboost/mpl/aux_/preprocessed/gcc/inherit.hpp b/include/ndnboost/mpl/aux_/preprocessed/gcc/inherit.hpp
index 41f387f..a97f313 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/gcc/inherit.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/gcc/inherit.hpp
@@ -12,38 +12,38 @@
 namespace ndnboost { namespace mpl {
 
 template<
-      typename BOOST_MPL_AUX_NA_PARAM(T1)
-    , typename BOOST_MPL_AUX_NA_PARAM(T2)
+      typename NDNBOOST_MPL_AUX_NA_PARAM(T1)
+    , typename NDNBOOST_MPL_AUX_NA_PARAM(T2)
     >
 struct inherit2
     : T1, T2
 {
     typedef inherit2 type;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, inherit2, (T1, T2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, inherit2, (T1, T2))
 };
 
 template< typename T1 >
 struct inherit2< T1,empty_base >
 {
     typedef T1 type;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (T1, empty_base))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (T1, empty_base))
 };
 
 template< typename T2 >
 struct inherit2< empty_base,T2 >
 {
     typedef T2 type;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, T2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, T2))
 };
 
 template<>
 struct inherit2< empty_base,empty_base >
 {
     typedef empty_base type;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, empty_base))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, empty_base))
 };
 
-BOOST_MPL_AUX_NA_SPEC(2, inherit2)
+NDNBOOST_MPL_AUX_NA_SPEC(2, inherit2)
 
 template<
       typename T1 = na, typename T2 = na, typename T3 = na
@@ -56,14 +56,14 @@
         , T3
         >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           3
         , inherit3
         , ( T1, T2, T3)
         )
 };
 
-BOOST_MPL_AUX_NA_SPEC(3, inherit3)
+NDNBOOST_MPL_AUX_NA_SPEC(3, inherit3)
 
 template<
       typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na
@@ -76,14 +76,14 @@
         , T4
         >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           4
         , inherit4
         , ( T1, T2, T3, T4)
         )
 };
 
-BOOST_MPL_AUX_NA_SPEC(4, inherit4)
+NDNBOOST_MPL_AUX_NA_SPEC(4, inherit4)
 
 template<
       typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na
@@ -97,14 +97,14 @@
         , T5
         >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , inherit5
         , ( T1, T2, T3, T4, T5)
         )
 };
 
-BOOST_MPL_AUX_NA_SPEC(5, inherit5)
+NDNBOOST_MPL_AUX_NA_SPEC(5, inherit5)
 
 /// primary template
 
@@ -134,8 +134,8 @@
     };
 };
 
-BOOST_MPL_AUX_NA_SPEC_LAMBDA(5, inherit)
-BOOST_MPL_AUX_NA_SPEC_ARITY(5, inherit)
-BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(5, 5, inherit)
+NDNBOOST_MPL_AUX_NA_SPEC_LAMBDA(5, inherit)
+NDNBOOST_MPL_AUX_NA_SPEC_ARITY(5, inherit)
+NDNBOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(5, 5, inherit)
 }}
 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/gcc/iter_fold_if_impl.hpp b/include/ndnboost/mpl/aux_/preprocessed/gcc/iter_fold_if_impl.hpp
index b0a2864..a74bd83 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/gcc/iter_fold_if_impl.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/gcc/iter_fold_if_impl.hpp
@@ -61,7 +61,7 @@
 {
     typedef typename apply2< Predicate,State,Iterator >::type not_last;
     typedef typename iter_fold_if_step_impl<
-          BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
+          NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
         >::template result_< Iterator,State,ForwardOp, mpl::next<Iterator> > impl_;
 
     typedef typename impl_::state state;
@@ -78,7 +78,7 @@
 {
     typedef typename apply2< Predicate,State,Iterator >::type not_last;
     typedef typename iter_fold_if_step_impl<
-          BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
+          NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
         >::template result_< Iterator,State,BackwardOp, identity<Iterator> > impl_;
 
     typedef typename impl_::state state;
diff --git a/include/ndnboost/mpl/aux_/preprocessed/gcc/lambda_no_ctps.hpp b/include/ndnboost/mpl/aux_/preprocessed/gcc/lambda_no_ctps.hpp
index 5bfc661..45f5f6b 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/gcc/lambda_no_ctps.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/gcc/lambda_no_ctps.hpp
@@ -44,7 +44,7 @@
         typedef lambda< typename F::arg1, Tag, false_ > l1;
         typedef typename l1::is_le is_le1;
         typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value
+              NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value
             > is_le;
 
         typedef bind1<
@@ -74,7 +74,7 @@
         
 
         typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value
+              NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value
             > is_le;
 
         typedef bind2<
@@ -106,7 +106,7 @@
         
 
         typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value
+              NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value
             > is_le;
 
         typedef bind3<
@@ -140,7 +140,7 @@
         
 
         typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value
+              NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value
             > is_le;
 
         typedef bind4<
@@ -177,7 +177,7 @@
         
 
         typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le5)::value
+              NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le5)::value
             > is_le;
 
         typedef bind5<
@@ -212,10 +212,10 @@
 
     typedef typename l_::type type;
     typedef typename l_::is_le is_le;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(3, lambda, (T, Tag, Protect))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(3, lambda, (T, Tag, Protect))
 };
 
-BOOST_MPL_AUX_NA_SPEC2(1, 3, lambda)
+NDNBOOST_MPL_AUX_NA_SPEC2(1, 3, lambda)
 
 template<
       typename T
diff --git a/include/ndnboost/mpl/aux_/preprocessed/gcc/less.hpp b/include/ndnboost/mpl/aux_/preprocessed/gcc/less.hpp
index 7139b79..a4b8eeb 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/gcc/less.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/gcc/less.hpp
@@ -17,8 +17,8 @@
     >
 struct less_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< less_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,8 +61,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 less
 
@@ -71,11 +71,11 @@
         , typename less_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, less, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 2, less)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 2, less)
 
 }}
 
@@ -86,7 +86,7 @@
 {
     template< typename N1, typename N2 > struct apply
 
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N2)::value > BOOST_MPL_AUX_VALUE_WKND(N1)::value ) >
+        : bool_< ( NDNBOOST_MPL_AUX_VALUE_WKND(N2)::value > NDNBOOST_MPL_AUX_VALUE_WKND(N1)::value ) >
     {
     };
 };
diff --git a/include/ndnboost/mpl/aux_/preprocessed/gcc/less_equal.hpp b/include/ndnboost/mpl/aux_/preprocessed/gcc/less_equal.hpp
index f7c3491..5cd141b 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/gcc/less_equal.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/gcc/less_equal.hpp
@@ -17,8 +17,8 @@
     >
 struct less_equal_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< less_equal_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,8 +61,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 less_equal
 
@@ -71,11 +71,11 @@
         , typename less_equal_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less_equal, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, less_equal, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 2, less_equal)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 2, less_equal)
 
 }}
 
@@ -86,7 +86,7 @@
 {
     template< typename N1, typename N2 > struct apply
 
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value <= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
+        : bool_< ( NDNBOOST_MPL_AUX_VALUE_WKND(N1)::value <= NDNBOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
     {
     };
 };
diff --git a/include/ndnboost/mpl/aux_/preprocessed/gcc/minus.hpp b/include/ndnboost/mpl/aux_/preprocessed/gcc/minus.hpp
index ae6b592..454fda8 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/gcc/minus.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/gcc/minus.hpp
@@ -17,8 +17,8 @@
     >
 struct minus_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< minus_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,14 +61,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 minus
     : minus< minus< minus< minus< N1,N2 >, N3>, N4>, N5>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , minus
         , ( N1, N2, N3, N4, N5 )
@@ -82,7 +82,7 @@
 
     : minus< minus< minus< N1,N2 >, N3>, N4>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , minus
         , ( N1, N2, N3, N4, na )
@@ -96,7 +96,7 @@
 
     : minus< minus< N1,N2 >, N3>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , minus
         , ( N1, N2, N3, na, na )
@@ -112,7 +112,7 @@
         , typename minus_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , minus
         , ( N1, N2, na, na, na )
@@ -120,7 +120,7 @@
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 5, minus)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 5, minus)
 
 }}
 
@@ -135,8 +135,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
                 )
             >
     {
diff --git a/include/ndnboost/mpl/aux_/preprocessed/gcc/modulus.hpp b/include/ndnboost/mpl/aux_/preprocessed/gcc/modulus.hpp
index 89c6172..3e89691 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/gcc/modulus.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/gcc/modulus.hpp
@@ -17,8 +17,8 @@
     >
 struct modulus_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< modulus_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,8 +61,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 modulus
 
@@ -71,11 +71,11 @@
         , typename modulus_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, modulus, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, modulus, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 2, modulus)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 2, modulus)
 
 }}
 
@@ -90,8 +90,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
                 )
             >
     {
diff --git a/include/ndnboost/mpl/aux_/preprocessed/gcc/not_equal_to.hpp b/include/ndnboost/mpl/aux_/preprocessed/gcc/not_equal_to.hpp
index b28e100..6de1e16 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/gcc/not_equal_to.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/gcc/not_equal_to.hpp
@@ -17,8 +17,8 @@
     >
 struct not_equal_to_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< not_equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,8 +61,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 not_equal_to
 
@@ -71,11 +71,11 @@
         , typename not_equal_to_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, not_equal_to, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, not_equal_to, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 2, not_equal_to)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 2, not_equal_to)
 
 }}
 
@@ -86,7 +86,7 @@
 {
     template< typename N1, typename N2 > struct apply
 
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value != BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
+        : bool_< ( NDNBOOST_MPL_AUX_VALUE_WKND(N1)::value != NDNBOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
     {
     };
 };
diff --git a/include/ndnboost/mpl/aux_/preprocessed/gcc/or.hpp b/include/ndnboost/mpl/aux_/preprocessed/gcc/or.hpp
index e929602..cae8edf 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/gcc/or.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/gcc/or.hpp
@@ -22,7 +22,7 @@
 template< typename T1, typename T2, typename T3, typename T4 >
 struct or_impl< false,T1,T2,T3,T4 >
     : or_impl<
-          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
+          NDNBOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
         , T2, T3, T4
         , false_
         >
@@ -41,26 +41,26 @@
 } // namespace aux
 
 template<
-      typename BOOST_MPL_AUX_NA_PARAM(T1)
-    , typename BOOST_MPL_AUX_NA_PARAM(T2)
+      typename NDNBOOST_MPL_AUX_NA_PARAM(T1)
+    , typename NDNBOOST_MPL_AUX_NA_PARAM(T2)
     , typename T3 = false_, typename T4 = false_, typename T5 = false_
     >
 struct or_
 
     : aux::or_impl<
-          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
+          NDNBOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
         , T2, T3, T4, T5
         >
 
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , or_
         , ( T1, T2, T3, T4, T5)
         )
 };
 
-BOOST_MPL_AUX_NA_SPEC2(
+NDNBOOST_MPL_AUX_NA_SPEC2(
       2
     , 5
     , or_
diff --git a/include/ndnboost/mpl/aux_/preprocessed/gcc/placeholders.hpp b/include/ndnboost/mpl/aux_/preprocessed/gcc/placeholders.hpp
index ecd4514..3a28c09 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/gcc/placeholders.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/gcc/placeholders.hpp
@@ -10,96 +10,96 @@
 // Preprocessed version of "ndnboost/mpl/placeholders.hpp" header
 // -- DO NOT modify by hand!
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 typedef arg< -1 > _;
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
 namespace ndnboost { namespace mpl {
 
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_)
+NDNBOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_)
 
 namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_;
+using NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_;
 }
 
 }}
 
 /// agurt, 17/mar/02: one more placeholder for the last 'apply#' 
 /// specialization
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 typedef arg<1> _1;
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
 namespace ndnboost { namespace mpl {
 
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1)
+NDNBOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1)
 
 namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1;
+using NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1;
 }
 
 }}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 typedef arg<2> _2;
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
 namespace ndnboost { namespace mpl {
 
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2)
+NDNBOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2)
 
 namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2;
+using NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2;
 }
 
 }}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 typedef arg<3> _3;
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
 namespace ndnboost { namespace mpl {
 
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3)
+NDNBOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3)
 
 namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3;
+using NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3;
 }
 
 }}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 typedef arg<4> _4;
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
 namespace ndnboost { namespace mpl {
 
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4)
+NDNBOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4)
 
 namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4;
+using NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4;
 }
 
 }}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 typedef arg<5> _5;
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
 namespace ndnboost { namespace mpl {
 
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5)
+NDNBOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5)
 
 namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5;
+using NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5;
 }
 
 }}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 typedef arg<6> _6;
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
 namespace ndnboost { namespace mpl {
 
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6)
+NDNBOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6)
 
 namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6;
+using NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6;
 }
 
 }}
diff --git a/include/ndnboost/mpl/aux_/preprocessed/gcc/plus.hpp b/include/ndnboost/mpl/aux_/preprocessed/gcc/plus.hpp
index de03e3e..5d8b2cd 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/gcc/plus.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/gcc/plus.hpp
@@ -17,8 +17,8 @@
     >
 struct plus_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< plus_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,14 +61,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 plus
     : plus< plus< plus< plus< N1,N2 >, N3>, N4>, N5>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , plus
         , ( N1, N2, N3, N4, N5 )
@@ -82,7 +82,7 @@
 
     : plus< plus< plus< N1,N2 >, N3>, N4>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , plus
         , ( N1, N2, N3, N4, na )
@@ -96,7 +96,7 @@
 
     : plus< plus< N1,N2 >, N3>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , plus
         , ( N1, N2, N3, na, na )
@@ -112,7 +112,7 @@
         , typename plus_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , plus
         , ( N1, N2, na, na, na )
@@ -120,7 +120,7 @@
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 5, plus)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 5, plus)
 
 }}
 
@@ -135,8 +135,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
                 )
             >
     {
diff --git a/include/ndnboost/mpl/aux_/preprocessed/gcc/shift_left.hpp b/include/ndnboost/mpl/aux_/preprocessed/gcc/shift_left.hpp
index c8df29c..2964fb8 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/gcc/shift_left.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/gcc/shift_left.hpp
@@ -18,8 +18,8 @@
     >
 struct shift_left_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< shift_left_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,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
 
@@ -72,11 +72,11 @@
         , typename shift_left_tag<N2>::type
         >::template apply< N1,N2 >::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)
 
 }}
 
@@ -88,8 +88,8 @@
 
         : integral_c<
               typename N::value_type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N)::value
-                  << BOOST_MPL_AUX_VALUE_WKND(S)::value
+            , ( NDNBOOST_MPL_AUX_VALUE_WKND(N)::value
+                  << NDNBOOST_MPL_AUX_VALUE_WKND(S)::value
                 )
             >
     {
diff --git a/include/ndnboost/mpl/aux_/preprocessed/gcc/shift_right.hpp b/include/ndnboost/mpl/aux_/preprocessed/gcc/shift_right.hpp
index a726ff1..57a5fe0 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/gcc/shift_right.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/gcc/shift_right.hpp
@@ -18,8 +18,8 @@
     >
 struct shift_right_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< shift_right_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,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_right
 
@@ -72,11 +72,11 @@
         , typename shift_right_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_right, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_right, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_right)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 2, shift_right)
 
 }}
 
@@ -88,8 +88,8 @@
 
         : integral_c<
               typename N::value_type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N)::value
-                  >> BOOST_MPL_AUX_VALUE_WKND(S)::value
+            , ( NDNBOOST_MPL_AUX_VALUE_WKND(N)::value
+                  >> NDNBOOST_MPL_AUX_VALUE_WKND(S)::value
                 )
             >
     {
diff --git a/include/ndnboost/mpl/aux_/preprocessed/gcc/template_arity.hpp b/include/ndnboost/mpl/aux_/preprocessed/gcc/template_arity.hpp
index d929799..32ba0ac 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/gcc/template_arity.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/gcc/template_arity.hpp
@@ -20,7 +20,7 @@
     >
 struct max_arity
 {
-    BOOST_STATIC_CONSTANT(int, value =
+    NDNBOOST_STATIC_CONSTANT(int, value =
           ( C6 > 0 ? C6 : ( C5 > 0 ? C5 : ( C4 > 0 ? C4 : ( C3 > 0 ? C3 : ( C2 > 0 ? C2 : ( C1 > 0 ? C1 : -1 ) ) ) ) ) )
         );
 };
@@ -80,7 +80,7 @@
 template< typename F, int N >
 struct template_arity_impl
 {
-    BOOST_STATIC_CONSTANT(int, value =
+    NDNBOOST_STATIC_CONSTANT(int, value =
           sizeof(::ndnboost::mpl::aux::arity_helper(type_wrapper<F>(), arity_tag<N>())) - 1
         );
 };
@@ -88,7 +88,7 @@
 template< typename F >
 struct template_arity
 {
-    BOOST_STATIC_CONSTANT(int, value  = (
+    NDNBOOST_STATIC_CONSTANT(int, value  = (
           max_arity< template_arity_impl< F,1 >::value, template_arity_impl< F,2 >::value, template_arity_impl< F,3 >::value, template_arity_impl< F,4 >::value, template_arity_impl< F,5 >::value, template_arity_impl< F,6 >::value >::value
         ));
     typedef mpl::int_<value> type;
diff --git a/include/ndnboost/mpl/aux_/preprocessed/gcc/times.hpp b/include/ndnboost/mpl/aux_/preprocessed/gcc/times.hpp
index f4514e5..9a55fed 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/gcc/times.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/gcc/times.hpp
@@ -17,8 +17,8 @@
     >
 struct times_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< times_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,14 +61,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 times
     : times< times< times< times< N1,N2 >, N3>, N4>, N5>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , times
         , ( N1, N2, N3, N4, N5 )
@@ -82,7 +82,7 @@
 
     : times< times< times< N1,N2 >, N3>, N4>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , times
         , ( N1, N2, N3, N4, na )
@@ -96,7 +96,7 @@
 
     : times< times< N1,N2 >, N3>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , times
         , ( N1, N2, N3, na, na )
@@ -112,7 +112,7 @@
         , typename times_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , times
         , ( N1, N2, na, na, na )
@@ -120,7 +120,7 @@
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 5, times)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 5, times)
 
 }}
 
@@ -135,8 +135,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
                 )
             >
     {
diff --git a/include/ndnboost/mpl/aux_/preprocessed/gcc/unpack_args.hpp b/include/ndnboost/mpl/aux_/preprocessed/gcc/unpack_args.hpp
index 9c9204f..aec31af 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/gcc/unpack_args.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/gcc/unpack_args.hpp
@@ -88,7 +88,7 @@
     };
 };
 
-BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args)
+NDNBOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args)
 
 }}
 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/msvc60/and.hpp b/include/ndnboost/mpl/aux_/preprocessed/msvc60/and.hpp
index 2ae4e3b..d69b940 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/msvc60/and.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/msvc60/and.hpp
@@ -30,7 +30,7 @@
         >
     struct result_
         : and_impl<
-              BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
+              NDNBOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
             >::template result_< T2,T3,T4,true_ >
     {
     };
@@ -46,25 +46,25 @@
 } // namespace aux
 
 template<
-      typename BOOST_MPL_AUX_NA_PARAM(T1)
-    , typename BOOST_MPL_AUX_NA_PARAM(T2)
+      typename NDNBOOST_MPL_AUX_NA_PARAM(T1)
+    , typename NDNBOOST_MPL_AUX_NA_PARAM(T2)
     , typename T3 = true_, typename T4 = true_, typename T5 = true_
     >
 struct and_
 
     : aux::and_impl<
-          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
+          NDNBOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
         >::template result_< T2,T3,T4,T5 >
 
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , and_
         , ( T1, T2, T3, T4, T5)
         )
 };
 
-BOOST_MPL_AUX_NA_SPEC2(
+NDNBOOST_MPL_AUX_NA_SPEC2(
       2
     , 5
     , and_
diff --git a/include/ndnboost/mpl/aux_/preprocessed/msvc60/apply.hpp b/include/ndnboost/mpl/aux_/preprocessed/msvc60/apply.hpp
index 75fb383..ed5c472 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/msvc60/apply.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/msvc60/apply.hpp
@@ -22,7 +22,7 @@
        
         >::type type;
 
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           1
         , apply0
         , (F )
@@ -47,7 +47,7 @@
         , T1
         >::type type;
 
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           2
         , apply1
         , (F, T1)
@@ -72,7 +72,7 @@
         , T1, T2
         >::type type;
 
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           3
         , apply2
         , (F, T1, T2)
@@ -97,7 +97,7 @@
         , T1, T2, T3
         >::type type;
 
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           4
         , apply3
         , (F, T1, T2, T3)
@@ -122,7 +122,7 @@
         , T1, T2, T3, T4
         >::type type;
 
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , apply4
         , (F, T1, T2, T3, T4)
@@ -148,7 +148,7 @@
         , T1, T2, T3, T4, T5
         >::type type;
 
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           6
         , apply5
         , (F, T1, T2, T3, T4, T5)
diff --git a/include/ndnboost/mpl/aux_/preprocessed/msvc60/arg.hpp b/include/ndnboost/mpl/aux_/preprocessed/msvc60/arg.hpp
index 9a157c2..154476a 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/msvc60/arg.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/msvc60/arg.hpp
@@ -10,12 +10,12 @@
 // Preprocessed version of "ndnboost/mpl/arg.hpp" header
 // -- DO NOT modify by hand!
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 template<> struct arg< -1 >
 {
-    BOOST_STATIC_CONSTANT(int, value  = -1);
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
+    NDNBOOST_STATIC_CONSTANT(int, value  = -1);
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, type)
 
     template<
           typename U1 = na, typename U2 = na, typename U3 = na
@@ -24,16 +24,16 @@
     struct apply
     {
         typedef U1 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
+        NDNBOOST_MPL_AUX_ASSERT_NOT_NA(type);
     };
 };
 
 template<> struct arg<1>
 {
-    BOOST_STATIC_CONSTANT(int, value  = 1);
+    NDNBOOST_STATIC_CONSTANT(int, value  = 1);
     typedef arg<2> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, type)
 
     template<
           typename U1 = na, typename U2 = na, typename U3 = na
@@ -42,16 +42,16 @@
     struct apply
     {
         typedef U1 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
+        NDNBOOST_MPL_AUX_ASSERT_NOT_NA(type);
     };
 };
 
 template<> struct arg<2>
 {
-    BOOST_STATIC_CONSTANT(int, value  = 2);
+    NDNBOOST_STATIC_CONSTANT(int, value  = 2);
     typedef arg<3> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, type)
 
     template<
           typename U1 = na, typename U2 = na, typename U3 = na
@@ -60,16 +60,16 @@
     struct apply
     {
         typedef U2 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
+        NDNBOOST_MPL_AUX_ASSERT_NOT_NA(type);
     };
 };
 
 template<> struct arg<3>
 {
-    BOOST_STATIC_CONSTANT(int, value  = 3);
+    NDNBOOST_STATIC_CONSTANT(int, value  = 3);
     typedef arg<4> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, type)
 
     template<
           typename U1 = na, typename U2 = na, typename U3 = na
@@ -78,16 +78,16 @@
     struct apply
     {
         typedef U3 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
+        NDNBOOST_MPL_AUX_ASSERT_NOT_NA(type);
     };
 };
 
 template<> struct arg<4>
 {
-    BOOST_STATIC_CONSTANT(int, value  = 4);
+    NDNBOOST_STATIC_CONSTANT(int, value  = 4);
     typedef arg<5> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, type)
 
     template<
           typename U1 = na, typename U2 = na, typename U3 = na
@@ -96,16 +96,16 @@
     struct apply
     {
         typedef U4 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
+        NDNBOOST_MPL_AUX_ASSERT_NOT_NA(type);
     };
 };
 
 template<> struct arg<5>
 {
-    BOOST_STATIC_CONSTANT(int, value  = 5);
+    NDNBOOST_STATIC_CONSTANT(int, value  = 5);
     typedef arg<6> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, type)
 
     template<
           typename U1 = na, typename U2 = na, typename U3 = na
@@ -114,10 +114,10 @@
     struct apply
     {
         typedef U5 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
+        NDNBOOST_MPL_AUX_ASSERT_NOT_NA(type);
     };
 };
 
-BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg)
+NDNBOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg)
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
diff --git a/include/ndnboost/mpl/aux_/preprocessed/msvc60/basic_bind.hpp b/include/ndnboost/mpl/aux_/preprocessed/msvc60/basic_bind.hpp
index 9b68023..8494a26 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/msvc60/basic_bind.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/msvc60/basic_bind.hpp
@@ -67,7 +67,7 @@
 {
     template< typename T > struct result_
     {
-        BOOST_STATIC_CONSTANT(bool, value  = false);
+        NDNBOOST_STATIC_CONSTANT(bool, value  = false);
     };
 };
 
@@ -76,7 +76,7 @@
 {
     template< typename T > struct result_
     {
-        BOOST_STATIC_CONSTANT(bool, value =
+        NDNBOOST_STATIC_CONSTANT(bool, value =
               sizeof(aux::is_bind_helper(static_cast<T*>(0)))
                 == sizeof(aux::yes_tag)
             );
@@ -123,8 +123,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(1, bind0)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
+NDNBOOST_MPL_AUX_ARITY_SPEC(1, bind0)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
 
 template<
       typename F, typename T1
@@ -160,8 +160,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(2, bind1)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
+NDNBOOST_MPL_AUX_ARITY_SPEC(2, bind1)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
 
 template<
       typename F, typename T1, typename T2
@@ -198,8 +198,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(3, bind2)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
+NDNBOOST_MPL_AUX_ARITY_SPEC(3, bind2)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
 
 template<
       typename F, typename T1, typename T2, typename T3
@@ -237,8 +237,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(4, bind3)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
+NDNBOOST_MPL_AUX_ARITY_SPEC(4, bind3)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
 
 template<
       typename F, typename T1, typename T2, typename T3, typename T4
@@ -278,8 +278,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(5, bind4)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
+NDNBOOST_MPL_AUX_ARITY_SPEC(5, bind4)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
 
 template<
       typename F, typename T1, typename T2, typename T3, typename T4
@@ -322,7 +322,7 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(6, bind5)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
+NDNBOOST_MPL_AUX_ARITY_SPEC(6, bind5)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
 }}
 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/msvc60/bind.hpp b/include/ndnboost/mpl/aux_/preprocessed/msvc60/bind.hpp
index 1c3b8d8..92a2b27 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/msvc60/bind.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/msvc60/bind.hpp
@@ -93,7 +93,7 @@
 {
     template< typename T > struct result_
     {
-        BOOST_STATIC_CONSTANT(bool, value  = false);
+        NDNBOOST_STATIC_CONSTANT(bool, value  = false);
     };
 };
 
@@ -102,7 +102,7 @@
 {
     template< typename T > struct result_
     {
-        BOOST_STATIC_CONSTANT(bool, value =
+        NDNBOOST_STATIC_CONSTANT(bool, value =
               sizeof(aux::is_bind_helper(static_cast<T*>(0)))
                 == sizeof(aux::yes_tag)
             );
@@ -152,8 +152,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(1, bind0)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
+NDNBOOST_MPL_AUX_ARITY_SPEC(1, bind0)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
 
 template<
       typename F, typename T1
@@ -196,8 +196,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(2, bind1)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
+NDNBOOST_MPL_AUX_ARITY_SPEC(2, bind1)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
 
 template<
       typename F, typename T1, typename T2
@@ -245,8 +245,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(3, bind2)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
+NDNBOOST_MPL_AUX_ARITY_SPEC(3, bind2)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
 
 template<
       typename F, typename T1, typename T2, typename T3
@@ -299,8 +299,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(4, bind3)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
+NDNBOOST_MPL_AUX_ARITY_SPEC(4, bind3)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
 
 template<
       typename F, typename T1, typename T2, typename T3, typename T4
@@ -359,8 +359,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(5, bind4)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
+NDNBOOST_MPL_AUX_ARITY_SPEC(5, bind4)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
 
 template<
       typename F, typename T1, typename T2, typename T3, typename T4
@@ -426,7 +426,7 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(6, bind5)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
+NDNBOOST_MPL_AUX_ARITY_SPEC(6, bind5)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
 }}
 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/msvc60/bitand.hpp b/include/ndnboost/mpl/aux_/preprocessed/msvc60/bitand.hpp
index b4517bc..f3eb147 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/msvc60/bitand.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/msvc60/bitand.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 bitand_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);
     };
 };
 
@@ -64,14 +64,14 @@
 /// forward declaration
 
 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 bitand_2;
 
 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 bitand_
@@ -87,7 +87,7 @@
         >::type
 
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , bitand_
         , ( N1, N2, N3, N4, N5 )
@@ -109,11 +109,11 @@
         >::type >::type
 
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, bitand_2, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, bitand_2, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitand_)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 5, bitand_)
 
 }}
 
@@ -123,7 +123,7 @@
 template< typename T, T n1, T n2 >
 struct bitand_wknd
 {
-    BOOST_STATIC_CONSTANT(T, value  = (n1 & n2));
+    NDNBOOST_STATIC_CONSTANT(T, value  = (n1 & n2));
     typedef integral_c< T,value > type;
 };
 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/msvc60/bitor.hpp b/include/ndnboost/mpl/aux_/preprocessed/msvc60/bitor.hpp
index a496f89..63f5a00 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/msvc60/bitor.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/msvc60/bitor.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 bitor_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);
     };
 };
 
@@ -64,14 +64,14 @@
 /// forward declaration
 
 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 bitor_2;
 
 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_
@@ -87,7 +87,7 @@
         >::type
 
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , bitor_
         , ( N1, N2, N3, N4, N5 )
@@ -109,11 +109,11 @@
         >::type >::type
 
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, bitor_2, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, bitor_2, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitor_)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 5, bitor_)
 
 }}
 
@@ -123,7 +123,7 @@
 template< typename T, T n1, T n2 >
 struct bitor_wknd
 {
-    BOOST_STATIC_CONSTANT(T, value  = (n1 | n2));
+    NDNBOOST_STATIC_CONSTANT(T, value  = (n1 | n2));
     typedef integral_c< T,value > type;
 };
 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/msvc60/bitxor.hpp b/include/ndnboost/mpl/aux_/preprocessed/msvc60/bitxor.hpp
index b4bf4a0..08cf7c5 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/msvc60/bitxor.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/msvc60/bitxor.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 bitxor_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);
     };
 };
 
@@ -64,14 +64,14 @@
 /// forward declaration
 
 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 bitxor_2;
 
 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 bitxor_
@@ -87,7 +87,7 @@
         >::type
 
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , bitxor_
         , ( N1, N2, N3, N4, N5 )
@@ -109,11 +109,11 @@
         >::type >::type
 
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, bitxor_2, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, bitxor_2, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitxor_)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 5, bitxor_)
 
 }}
 
@@ -123,7 +123,7 @@
 template< typename T, T n1, T n2 >
 struct bitxor_wknd
 {
-    BOOST_STATIC_CONSTANT(T, value  = (n1 ^ n2));
+    NDNBOOST_STATIC_CONSTANT(T, value  = (n1 ^ n2));
     typedef integral_c< T,value > type;
 };
 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/msvc60/deque.hpp b/include/ndnboost/mpl/aux_/preprocessed/msvc60/deque.hpp
index 8a7e2c3..ed97d82 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/msvc60/deque.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/msvc60/deque.hpp
@@ -484,13 +484,13 @@
 template< typename T >
 struct is_deque_arg
 {
-    BOOST_STATIC_CONSTANT(bool, value  = true);
+    NDNBOOST_STATIC_CONSTANT(bool, value  = true);
 };
 
 template<>
 struct is_deque_arg<na>
 {
-    BOOST_STATIC_CONSTANT(bool, value  = false);
+    NDNBOOST_STATIC_CONSTANT(bool, value  = false);
 };
 
 template<
@@ -501,7 +501,7 @@
     >
 struct deque_count_args
 {
-    BOOST_STATIC_CONSTANT(int, value =
+    NDNBOOST_STATIC_CONSTANT(int, value =
           is_deque_arg<T1>::value + is_deque_arg<T2>::value 
         + is_deque_arg<T3>::value + is_deque_arg<T4>::value 
         + is_deque_arg<T5>::value + is_deque_arg<T6>::value 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/msvc60/divides.hpp b/include/ndnboost/mpl/aux_/preprocessed/msvc60/divides.hpp
index b5f7fdd..b6631ad 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/msvc60/divides.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/msvc60/divides.hpp
@@ -15,8 +15,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 divides_impl
     : if_c<
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -63,14 +63,14 @@
 /// forward declaration
 
 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 divides2;
 
 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 divides
@@ -86,7 +86,7 @@
         >::type
 
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , divides
         , ( N1, N2, N3, N4, N5 )
@@ -108,11 +108,11 @@
         >::type >::type
 
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, divides2, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, divides2, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 5, divides)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 5, divides)
 
 }}
 
@@ -122,7 +122,7 @@
 template< typename T, T n1, T n2 >
 struct divides_wknd
 {
-    BOOST_STATIC_CONSTANT(T, value  = (n1 / n2));
+    NDNBOOST_STATIC_CONSTANT(T, value  = (n1 / n2));
     typedef integral_c< T,value > type;
 };
 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/msvc60/equal_to.hpp b/include/ndnboost/mpl/aux_/preprocessed/msvc60/equal_to.hpp
index 6a72eec..2fa2cae 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/msvc60/equal_to.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/msvc60/equal_to.hpp
@@ -15,8 +15,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 equal_to_impl
     : if_c<
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,8 +61,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 equal_to
     : aux::msvc_eti_base< typename apply_wrap2<
@@ -75,11 +75,11 @@
         >::type >::type
 
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, equal_to, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, equal_to, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 2, equal_to)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 2, equal_to)
 
 }}
 
@@ -91,9 +91,9 @@
     template< typename N1, typename N2 > struct apply
 
     {
-        BOOST_STATIC_CONSTANT(bool, value =
-             ( BOOST_MPL_AUX_VALUE_WKND(N1)::value ==
-             BOOST_MPL_AUX_VALUE_WKND(N2)::value )
+        NDNBOOST_STATIC_CONSTANT(bool, value =
+             ( NDNBOOST_MPL_AUX_VALUE_WKND(N1)::value ==
+             NDNBOOST_MPL_AUX_VALUE_WKND(N2)::value )
             );
         typedef bool_<value> type;
     };
diff --git a/include/ndnboost/mpl/aux_/preprocessed/msvc60/full_lambda.hpp b/include/ndnboost/mpl/aux_/preprocessed/msvc60/full_lambda.hpp
index de658d8..7da971e 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/msvc60/full_lambda.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/msvc60/full_lambda.hpp
@@ -548,7 +548,7 @@
     typedef typename le_result_::type type;
 };
 
-BOOST_MPL_AUX_NA_SPEC(2, lambda)
+NDNBOOST_MPL_AUX_NA_SPEC(2, lambda)
 
 }}
 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/msvc60/greater.hpp b/include/ndnboost/mpl/aux_/preprocessed/msvc60/greater.hpp
index 38ddec9..90834cf 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/msvc60/greater.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/msvc60/greater.hpp
@@ -15,8 +15,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 greater_impl
     : if_c<
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,8 +61,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 greater
     : aux::msvc_eti_base< typename apply_wrap2<
@@ -75,11 +75,11 @@
         >::type >::type
 
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 2, greater)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 2, greater)
 
 }}
 
@@ -91,9 +91,9 @@
     template< typename N1, typename N2 > struct apply
 
     {
-        BOOST_STATIC_CONSTANT(bool, value =
-             ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >
-             BOOST_MPL_AUX_VALUE_WKND(N2)::value )
+        NDNBOOST_STATIC_CONSTANT(bool, value =
+             ( NDNBOOST_MPL_AUX_VALUE_WKND(N1)::value >
+             NDNBOOST_MPL_AUX_VALUE_WKND(N2)::value )
             );
         typedef bool_<value> type;
     };
diff --git a/include/ndnboost/mpl/aux_/preprocessed/msvc60/greater_equal.hpp b/include/ndnboost/mpl/aux_/preprocessed/msvc60/greater_equal.hpp
index 578e3cb..b7ca0c0 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/msvc60/greater_equal.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/msvc60/greater_equal.hpp
@@ -15,8 +15,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 greater_equal_impl
     : if_c<
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,8 +61,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 greater_equal
     : aux::msvc_eti_base< typename apply_wrap2<
@@ -75,11 +75,11 @@
         >::type >::type
 
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater_equal, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater_equal, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 2, greater_equal)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 2, greater_equal)
 
 }}
 
@@ -91,9 +91,9 @@
     template< typename N1, typename N2 > struct apply
 
     {
-        BOOST_STATIC_CONSTANT(bool, value =
-             ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >=
-             BOOST_MPL_AUX_VALUE_WKND(N2)::value )
+        NDNBOOST_STATIC_CONSTANT(bool, value =
+             ( NDNBOOST_MPL_AUX_VALUE_WKND(N1)::value >=
+             NDNBOOST_MPL_AUX_VALUE_WKND(N2)::value )
             );
         typedef bool_<value> type;
     };
diff --git a/include/ndnboost/mpl/aux_/preprocessed/msvc60/inherit.hpp b/include/ndnboost/mpl/aux_/preprocessed/msvc60/inherit.hpp
index 12328f7..7cb0a48 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/msvc60/inherit.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/msvc60/inherit.hpp
@@ -55,8 +55,8 @@
 } // namespace aux
 
 template<
-      typename BOOST_MPL_AUX_NA_PARAM(T1)
-    , typename BOOST_MPL_AUX_NA_PARAM(T2)
+      typename NDNBOOST_MPL_AUX_NA_PARAM(T1)
+    , typename NDNBOOST_MPL_AUX_NA_PARAM(T2)
     >
 struct inherit2
     : aux::inherit2_impl<
@@ -65,10 +65,10 @@
         >::template result_< inherit2< T1,T2 >,T1, T2 >
 {
     typedef typename inherit2::type_ type;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, inherit2, (T1, T2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, inherit2, (T1, T2))
 };
 
-BOOST_MPL_AUX_NA_SPEC(2, inherit2)
+NDNBOOST_MPL_AUX_NA_SPEC(2, inherit2)
 
 template<
       typename T1 = na, typename T2 = na, typename T3 = na
@@ -81,14 +81,14 @@
         , T3
         >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           3
         , inherit3
         , ( T1, T2, T3)
         )
 };
 
-BOOST_MPL_AUX_NA_SPEC(3, inherit3)
+NDNBOOST_MPL_AUX_NA_SPEC(3, inherit3)
 
 template<
       typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na
@@ -101,14 +101,14 @@
         , T4
         >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           4
         , inherit4
         , ( T1, T2, T3, T4)
         )
 };
 
-BOOST_MPL_AUX_NA_SPEC(4, inherit4)
+NDNBOOST_MPL_AUX_NA_SPEC(4, inherit4)
 
 template<
       typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na
@@ -122,14 +122,14 @@
         , T5
         >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , inherit5
         , ( T1, T2, T3, T4, T5)
         )
 };
 
-BOOST_MPL_AUX_NA_SPEC(5, inherit5)
+NDNBOOST_MPL_AUX_NA_SPEC(5, inherit5)
 
 /// primary template
 
@@ -159,8 +159,8 @@
     };
 };
 
-BOOST_MPL_AUX_NA_SPEC_LAMBDA(5, inherit)
-BOOST_MPL_AUX_NA_SPEC_ARITY(5, inherit)
-BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(5, 5, inherit)
+NDNBOOST_MPL_AUX_NA_SPEC_LAMBDA(5, inherit)
+NDNBOOST_MPL_AUX_NA_SPEC_ARITY(5, inherit)
+NDNBOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(5, 5, inherit)
 }}
 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/msvc60/iter_fold_if_impl.hpp b/include/ndnboost/mpl/aux_/preprocessed/msvc60/iter_fold_if_impl.hpp
index b0a2864..a74bd83 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/msvc60/iter_fold_if_impl.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/msvc60/iter_fold_if_impl.hpp
@@ -61,7 +61,7 @@
 {
     typedef typename apply2< Predicate,State,Iterator >::type not_last;
     typedef typename iter_fold_if_step_impl<
-          BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
+          NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
         >::template result_< Iterator,State,ForwardOp, mpl::next<Iterator> > impl_;
 
     typedef typename impl_::state state;
@@ -78,7 +78,7 @@
 {
     typedef typename apply2< Predicate,State,Iterator >::type not_last;
     typedef typename iter_fold_if_step_impl<
-          BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
+          NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
         >::template result_< Iterator,State,BackwardOp, identity<Iterator> > impl_;
 
     typedef typename impl_::state state;
diff --git a/include/ndnboost/mpl/aux_/preprocessed/msvc60/lambda_no_ctps.hpp b/include/ndnboost/mpl/aux_/preprocessed/msvc60/lambda_no_ctps.hpp
index 5bfc661..45f5f6b 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/msvc60/lambda_no_ctps.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/msvc60/lambda_no_ctps.hpp
@@ -44,7 +44,7 @@
         typedef lambda< typename F::arg1, Tag, false_ > l1;
         typedef typename l1::is_le is_le1;
         typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value
+              NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value
             > is_le;
 
         typedef bind1<
@@ -74,7 +74,7 @@
         
 
         typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value
+              NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value
             > is_le;
 
         typedef bind2<
@@ -106,7 +106,7 @@
         
 
         typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value
+              NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value
             > is_le;
 
         typedef bind3<
@@ -140,7 +140,7 @@
         
 
         typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value
+              NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value
             > is_le;
 
         typedef bind4<
@@ -177,7 +177,7 @@
         
 
         typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le5)::value
+              NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le5)::value
             > is_le;
 
         typedef bind5<
@@ -212,10 +212,10 @@
 
     typedef typename l_::type type;
     typedef typename l_::is_le is_le;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(3, lambda, (T, Tag, Protect))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(3, lambda, (T, Tag, Protect))
 };
 
-BOOST_MPL_AUX_NA_SPEC2(1, 3, lambda)
+NDNBOOST_MPL_AUX_NA_SPEC2(1, 3, lambda)
 
 template<
       typename T
diff --git a/include/ndnboost/mpl/aux_/preprocessed/msvc60/less.hpp b/include/ndnboost/mpl/aux_/preprocessed/msvc60/less.hpp
index d9f73a4..05b6d10 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/msvc60/less.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/msvc60/less.hpp
@@ -15,8 +15,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 less_impl
     : if_c<
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,8 +61,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 less
     : aux::msvc_eti_base< typename apply_wrap2<
@@ -75,11 +75,11 @@
         >::type >::type
 
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, less, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 2, less)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 2, less)
 
 }}
 
@@ -91,9 +91,9 @@
     template< typename N1, typename N2 > struct apply
 
     {
-        BOOST_STATIC_CONSTANT(bool, value =
-             ( BOOST_MPL_AUX_VALUE_WKND(N2)::value >
-             BOOST_MPL_AUX_VALUE_WKND(N1)::value )
+        NDNBOOST_STATIC_CONSTANT(bool, value =
+             ( NDNBOOST_MPL_AUX_VALUE_WKND(N2)::value >
+             NDNBOOST_MPL_AUX_VALUE_WKND(N1)::value )
             );
         typedef bool_<value> type;
     };
diff --git a/include/ndnboost/mpl/aux_/preprocessed/msvc60/less_equal.hpp b/include/ndnboost/mpl/aux_/preprocessed/msvc60/less_equal.hpp
index f203fbe..5ac2a3a 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/msvc60/less_equal.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/msvc60/less_equal.hpp
@@ -15,8 +15,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 less_equal_impl
     : if_c<
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,8 +61,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 less_equal
     : aux::msvc_eti_base< typename apply_wrap2<
@@ -75,11 +75,11 @@
         >::type >::type
 
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less_equal, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, less_equal, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 2, less_equal)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 2, less_equal)
 
 }}
 
@@ -91,9 +91,9 @@
     template< typename N1, typename N2 > struct apply
 
     {
-        BOOST_STATIC_CONSTANT(bool, value =
-             ( BOOST_MPL_AUX_VALUE_WKND(N1)::value <=
-             BOOST_MPL_AUX_VALUE_WKND(N2)::value )
+        NDNBOOST_STATIC_CONSTANT(bool, value =
+             ( NDNBOOST_MPL_AUX_VALUE_WKND(N1)::value <=
+             NDNBOOST_MPL_AUX_VALUE_WKND(N2)::value )
             );
         typedef bool_<value> type;
     };
diff --git a/include/ndnboost/mpl/aux_/preprocessed/msvc60/list.hpp b/include/ndnboost/mpl/aux_/preprocessed/msvc60/list.hpp
index 63062d2..2b19e60 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/msvc60/list.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/msvc60/list.hpp
@@ -484,13 +484,13 @@
 template< typename T >
 struct is_list_arg
 {
-    BOOST_STATIC_CONSTANT(bool, value  = true);
+    NDNBOOST_STATIC_CONSTANT(bool, value  = true);
 };
 
 template<>
 struct is_list_arg<na>
 {
-    BOOST_STATIC_CONSTANT(bool, value  = false);
+    NDNBOOST_STATIC_CONSTANT(bool, value  = false);
 };
 
 template<
@@ -501,7 +501,7 @@
     >
 struct list_count_args
 {
-    BOOST_STATIC_CONSTANT(int, value =
+    NDNBOOST_STATIC_CONSTANT(int, value =
           is_list_arg<T1>::value + is_list_arg<T2>::value 
         + is_list_arg<T3>::value + is_list_arg<T4>::value 
         + is_list_arg<T5>::value + is_list_arg<T6>::value 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/msvc60/list_c.hpp b/include/ndnboost/mpl/aux_/preprocessed/msvc60/list_c.hpp
index 010f92e..0ed7f7e 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/msvc60/list_c.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/msvc60/list_c.hpp
@@ -463,13 +463,13 @@
 template< long C >
 struct is_list_c_arg
 {
-    BOOST_STATIC_CONSTANT(bool, value  = true);
+    NDNBOOST_STATIC_CONSTANT(bool, value  = true);
 };
 
 template<>
 struct is_list_c_arg<LONG_MAX>
 {
-    BOOST_STATIC_CONSTANT(bool, value  = false);
+    NDNBOOST_STATIC_CONSTANT(bool, value  = false);
 };
 
 template<
@@ -479,7 +479,7 @@
     >
 struct list_c_count_args
 {
-    BOOST_STATIC_CONSTANT(int, value =
+    NDNBOOST_STATIC_CONSTANT(int, value =
           is_list_c_arg<C1>::value + is_list_c_arg<C2>::value 
         + is_list_c_arg<C3>::value + is_list_c_arg<C4>::value 
         + is_list_c_arg<C5>::value + is_list_c_arg<C6>::value 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/msvc60/map.hpp b/include/ndnboost/mpl/aux_/preprocessed/msvc60/map.hpp
index 3066603..75174c8 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/msvc60/map.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/msvc60/map.hpp
@@ -484,13 +484,13 @@
 template< typename T >
 struct is_map_arg
 {
-    BOOST_STATIC_CONSTANT(bool, value  = true);
+    NDNBOOST_STATIC_CONSTANT(bool, value  = true);
 };
 
 template<>
 struct is_map_arg<na>
 {
-    BOOST_STATIC_CONSTANT(bool, value  = false);
+    NDNBOOST_STATIC_CONSTANT(bool, value  = false);
 };
 
 template<
@@ -501,7 +501,7 @@
     >
 struct map_count_args
 {
-    BOOST_STATIC_CONSTANT(int, value =
+    NDNBOOST_STATIC_CONSTANT(int, value =
           is_map_arg<T1>::value + is_map_arg<T2>::value 
         + is_map_arg<T3>::value + is_map_arg<T4>::value 
         + is_map_arg<T5>::value + is_map_arg<T6>::value 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/msvc60/minus.hpp b/include/ndnboost/mpl/aux_/preprocessed/msvc60/minus.hpp
index dc70c44..9e3a907 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/msvc60/minus.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/msvc60/minus.hpp
@@ -15,8 +15,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 minus_impl
     : if_c<
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -63,14 +63,14 @@
 /// forward declaration
 
 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 minus2;
 
 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 minus
@@ -86,7 +86,7 @@
         >::type
 
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , minus
         , ( N1, N2, N3, N4, N5 )
@@ -108,11 +108,11 @@
         >::type >::type
 
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, minus2, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, minus2, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 5, minus)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 5, minus)
 
 }}
 
@@ -122,7 +122,7 @@
 template< typename T, T n1, T n2 >
 struct minus_wknd
 {
-    BOOST_STATIC_CONSTANT(T, value  = (n1 - n2));
+    NDNBOOST_STATIC_CONSTANT(T, value  = (n1 - n2));
     typedef integral_c< T,value > type;
 };
 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/msvc60/modulus.hpp b/include/ndnboost/mpl/aux_/preprocessed/msvc60/modulus.hpp
index be8eef6..0185ebf 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/msvc60/modulus.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/msvc60/modulus.hpp
@@ -15,8 +15,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 modulus_impl
     : if_c<
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,8 +61,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 modulus
     : aux::msvc_eti_base< typename apply_wrap2<
@@ -75,11 +75,11 @@
         >::type >::type
 
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, modulus, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, modulus, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 2, modulus)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 2, modulus)
 
 }}
 
@@ -89,7 +89,7 @@
 template< typename T, T n1, T n2 >
 struct modulus_wknd
 {
-    BOOST_STATIC_CONSTANT(T, value  = (n1 % n2));
+    NDNBOOST_STATIC_CONSTANT(T, value  = (n1 % n2));
     typedef integral_c< T,value > type;
 };
 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/msvc60/not_equal_to.hpp b/include/ndnboost/mpl/aux_/preprocessed/msvc60/not_equal_to.hpp
index 6a8bb75..77b0a13 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/msvc60/not_equal_to.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/msvc60/not_equal_to.hpp
@@ -15,8 +15,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 not_equal_to_impl
     : if_c<
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,8 +61,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 not_equal_to
     : aux::msvc_eti_base< typename apply_wrap2<
@@ -75,11 +75,11 @@
         >::type >::type
 
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, not_equal_to, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, not_equal_to, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 2, not_equal_to)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 2, not_equal_to)
 
 }}
 
@@ -91,9 +91,9 @@
     template< typename N1, typename N2 > struct apply
 
     {
-        BOOST_STATIC_CONSTANT(bool, value =
-             ( BOOST_MPL_AUX_VALUE_WKND(N1)::value !=
-             BOOST_MPL_AUX_VALUE_WKND(N2)::value )
+        NDNBOOST_STATIC_CONSTANT(bool, value =
+             ( NDNBOOST_MPL_AUX_VALUE_WKND(N1)::value !=
+             NDNBOOST_MPL_AUX_VALUE_WKND(N2)::value )
             );
         typedef bool_<value> type;
     };
diff --git a/include/ndnboost/mpl/aux_/preprocessed/msvc60/or.hpp b/include/ndnboost/mpl/aux_/preprocessed/msvc60/or.hpp
index b0b3a7f..7123b8d 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/msvc60/or.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/msvc60/or.hpp
@@ -30,7 +30,7 @@
         >
     struct result_
         : or_impl<
-              BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
+              NDNBOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
             >::template result_< T2,T3,T4,false_ >
     {
     };
@@ -46,25 +46,25 @@
 } // namespace aux
 
 template<
-      typename BOOST_MPL_AUX_NA_PARAM(T1)
-    , typename BOOST_MPL_AUX_NA_PARAM(T2)
+      typename NDNBOOST_MPL_AUX_NA_PARAM(T1)
+    , typename NDNBOOST_MPL_AUX_NA_PARAM(T2)
     , typename T3 = false_, typename T4 = false_, typename T5 = false_
     >
 struct or_
 
     : aux::or_impl<
-          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
+          NDNBOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
         >::template result_< T2,T3,T4,T5 >
 
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , or_
         , ( T1, T2, T3, T4, T5)
         )
 };
 
-BOOST_MPL_AUX_NA_SPEC2(
+NDNBOOST_MPL_AUX_NA_SPEC2(
       2
     , 5
     , or_
diff --git a/include/ndnboost/mpl/aux_/preprocessed/msvc60/placeholders.hpp b/include/ndnboost/mpl/aux_/preprocessed/msvc60/placeholders.hpp
index ecd4514..3a28c09 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/msvc60/placeholders.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/msvc60/placeholders.hpp
@@ -10,96 +10,96 @@
 // Preprocessed version of "ndnboost/mpl/placeholders.hpp" header
 // -- DO NOT modify by hand!
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 typedef arg< -1 > _;
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
 namespace ndnboost { namespace mpl {
 
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_)
+NDNBOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_)
 
 namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_;
+using NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_;
 }
 
 }}
 
 /// agurt, 17/mar/02: one more placeholder for the last 'apply#' 
 /// specialization
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 typedef arg<1> _1;
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
 namespace ndnboost { namespace mpl {
 
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1)
+NDNBOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1)
 
 namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1;
+using NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1;
 }
 
 }}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 typedef arg<2> _2;
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
 namespace ndnboost { namespace mpl {
 
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2)
+NDNBOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2)
 
 namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2;
+using NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2;
 }
 
 }}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 typedef arg<3> _3;
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
 namespace ndnboost { namespace mpl {
 
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3)
+NDNBOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3)
 
 namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3;
+using NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3;
 }
 
 }}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 typedef arg<4> _4;
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
 namespace ndnboost { namespace mpl {
 
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4)
+NDNBOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4)
 
 namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4;
+using NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4;
 }
 
 }}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 typedef arg<5> _5;
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
 namespace ndnboost { namespace mpl {
 
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5)
+NDNBOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5)
 
 namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5;
+using NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5;
 }
 
 }}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 typedef arg<6> _6;
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
 namespace ndnboost { namespace mpl {
 
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6)
+NDNBOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6)
 
 namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6;
+using NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6;
 }
 
 }}
diff --git a/include/ndnboost/mpl/aux_/preprocessed/msvc60/plus.hpp b/include/ndnboost/mpl/aux_/preprocessed/msvc60/plus.hpp
index fc8884e..697794a 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/msvc60/plus.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/msvc60/plus.hpp
@@ -15,8 +15,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 plus_impl
     : if_c<
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -63,14 +63,14 @@
 /// forward declaration
 
 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 plus2;
 
 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 plus
@@ -86,7 +86,7 @@
         >::type
 
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , plus
         , ( N1, N2, N3, N4, N5 )
@@ -108,11 +108,11 @@
         >::type >::type
 
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, plus2, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, plus2, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 5, plus)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 5, plus)
 
 }}
 
@@ -122,7 +122,7 @@
 template< typename T, T n1, T n2 >
 struct plus_wknd
 {
-    BOOST_STATIC_CONSTANT(T, value  = (n1 + n2));
+    NDNBOOST_STATIC_CONSTANT(T, value  = (n1 + n2));
     typedef integral_c< T,value > type;
 };
 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/msvc60/set.hpp b/include/ndnboost/mpl/aux_/preprocessed/msvc60/set.hpp
index e964879..484d53e 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/msvc60/set.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/msvc60/set.hpp
@@ -484,13 +484,13 @@
 template< typename T >
 struct is_set_arg
 {
-    BOOST_STATIC_CONSTANT(bool, value  = true);
+    NDNBOOST_STATIC_CONSTANT(bool, value  = true);
 };
 
 template<>
 struct is_set_arg<na>
 {
-    BOOST_STATIC_CONSTANT(bool, value  = false);
+    NDNBOOST_STATIC_CONSTANT(bool, value  = false);
 };
 
 template<
@@ -501,7 +501,7 @@
     >
 struct set_count_args
 {
-    BOOST_STATIC_CONSTANT(int, value =
+    NDNBOOST_STATIC_CONSTANT(int, value =
           is_set_arg<T1>::value + is_set_arg<T2>::value 
         + is_set_arg<T3>::value + is_set_arg<T4>::value 
         + is_set_arg<T5>::value + is_set_arg<T6>::value 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/msvc60/set_c.hpp b/include/ndnboost/mpl/aux_/preprocessed/msvc60/set_c.hpp
index a9a9b18..3b5f2ab 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/msvc60/set_c.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/msvc60/set_c.hpp
@@ -463,13 +463,13 @@
 template< long C >
 struct is_set_c_arg
 {
-    BOOST_STATIC_CONSTANT(bool, value  = true);
+    NDNBOOST_STATIC_CONSTANT(bool, value  = true);
 };
 
 template<>
 struct is_set_c_arg<LONG_MAX>
 {
-    BOOST_STATIC_CONSTANT(bool, value  = false);
+    NDNBOOST_STATIC_CONSTANT(bool, value  = false);
 };
 
 template<
@@ -479,7 +479,7 @@
     >
 struct set_c_count_args
 {
-    BOOST_STATIC_CONSTANT(int, value =
+    NDNBOOST_STATIC_CONSTANT(int, value =
           is_set_c_arg<C1>::value + is_set_c_arg<C2>::value 
         + is_set_c_arg<C3>::value + is_set_c_arg<C4>::value 
         + is_set_c_arg<C5>::value + is_set_c_arg<C6>::value 
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;
 };
 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/msvc60/shift_right.hpp b/include/ndnboost/mpl/aux_/preprocessed/msvc60/shift_right.hpp
index d663d51..3db60a6 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/msvc60/shift_right.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/msvc60/shift_right.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_right_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_right
     : aux::msvc_eti_base< typename apply_wrap2<
@@ -76,11 +76,11 @@
         >::type >::type
 
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_right, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_right, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_right)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 2, shift_right)
 
 }}
 
@@ -90,7 +90,7 @@
 template< typename T, typename Shift, T n, Shift s >
 struct shift_right_wknd
 {
-    BOOST_STATIC_CONSTANT(T, value  = (n >> s));
+    NDNBOOST_STATIC_CONSTANT(T, value  = (n >> s));
     typedef integral_c< T,value > type;
 };
 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/msvc60/times.hpp b/include/ndnboost/mpl/aux_/preprocessed/msvc60/times.hpp
index ade26a2..dbecb60 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/msvc60/times.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/msvc60/times.hpp
@@ -15,8 +15,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 times_impl
     : if_c<
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -63,14 +63,14 @@
 /// forward declaration
 
 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 times2;
 
 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 times
@@ -86,7 +86,7 @@
         >::type
 
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , times
         , ( N1, N2, N3, N4, N5 )
@@ -108,11 +108,11 @@
         >::type >::type
 
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, times2, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, times2, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 5, times)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 5, times)
 
 }}
 
@@ -122,7 +122,7 @@
 template< typename T, T n1, T n2 >
 struct times_wknd
 {
-    BOOST_STATIC_CONSTANT(T, value  = (n1 * n2));
+    NDNBOOST_STATIC_CONSTANT(T, value  = (n1 * n2));
     typedef integral_c< T,value > type;
 };
 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/msvc60/unpack_args.hpp b/include/ndnboost/mpl/aux_/preprocessed/msvc60/unpack_args.hpp
index bee7472..dcdb46e 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/msvc60/unpack_args.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/msvc60/unpack_args.hpp
@@ -13,7 +13,7 @@
 
 namespace aux {
 
-template< BOOST_MPL_AUX_NTTP_DECL(int, size) > struct unpack_args_impl
+template< NDNBOOST_MPL_AUX_NTTP_DECL(int, size) > struct unpack_args_impl
 {
     template< typename F, typename Args > struct apply;
 };
@@ -103,7 +103,7 @@
     };
 };
 
-BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args)
+NDNBOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args)
 
 }}
 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/msvc60/vector.hpp b/include/ndnboost/mpl/aux_/preprocessed/msvc60/vector.hpp
index bdee923..acb6704 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/msvc60/vector.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/msvc60/vector.hpp
@@ -484,13 +484,13 @@
 template< typename T >
 struct is_vector_arg
 {
-    BOOST_STATIC_CONSTANT(bool, value  = true);
+    NDNBOOST_STATIC_CONSTANT(bool, value  = true);
 };
 
 template<>
 struct is_vector_arg<na>
 {
-    BOOST_STATIC_CONSTANT(bool, value  = false);
+    NDNBOOST_STATIC_CONSTANT(bool, value  = false);
 };
 
 template<
@@ -501,7 +501,7 @@
     >
 struct vector_count_args
 {
-    BOOST_STATIC_CONSTANT(int, value =
+    NDNBOOST_STATIC_CONSTANT(int, value =
           is_vector_arg<T1>::value + is_vector_arg<T2>::value 
         + is_vector_arg<T3>::value + is_vector_arg<T4>::value 
         + is_vector_arg<T5>::value + is_vector_arg<T6>::value 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/msvc60/vector_c.hpp b/include/ndnboost/mpl/aux_/preprocessed/msvc60/vector_c.hpp
index 7e645b9..c654c6f 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/msvc60/vector_c.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/msvc60/vector_c.hpp
@@ -463,13 +463,13 @@
 template< long C >
 struct is_vector_c_arg
 {
-    BOOST_STATIC_CONSTANT(bool, value  = true);
+    NDNBOOST_STATIC_CONSTANT(bool, value  = true);
 };
 
 template<>
 struct is_vector_c_arg<LONG_MAX>
 {
-    BOOST_STATIC_CONSTANT(bool, value  = false);
+    NDNBOOST_STATIC_CONSTANT(bool, value  = false);
 };
 
 template<
@@ -479,7 +479,7 @@
     >
 struct vector_c_count_args
 {
-    BOOST_STATIC_CONSTANT(int, value =
+    NDNBOOST_STATIC_CONSTANT(int, value =
           is_vector_c_arg<C1>::value + is_vector_c_arg<C2>::value 
         + is_vector_c_arg<C3>::value + is_vector_c_arg<C4>::value 
         + is_vector_c_arg<C5>::value + is_vector_c_arg<C6>::value 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/msvc70/and.hpp b/include/ndnboost/mpl/aux_/preprocessed/msvc70/and.hpp
index 618f074..5da6f33 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/msvc70/and.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/msvc70/and.hpp
@@ -30,7 +30,7 @@
         >
     struct result_
         : and_impl<
-              BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
+              NDNBOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
             >::template result_< T2,T3,T4,true_ >
     {
     };
@@ -44,25 +44,25 @@
 } // namespace aux
 
 template<
-      typename BOOST_MPL_AUX_NA_PARAM(T1)
-    , typename BOOST_MPL_AUX_NA_PARAM(T2)
+      typename NDNBOOST_MPL_AUX_NA_PARAM(T1)
+    , typename NDNBOOST_MPL_AUX_NA_PARAM(T2)
     , typename T3 = true_, typename T4 = true_, typename T5 = true_
     >
 struct and_
 
     : aux::and_impl<
-          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
+          NDNBOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
         >::template result_< T2,T3,T4,T5 >
 
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , and_
         , ( T1, T2, T3, T4, T5)
         )
 };
 
-BOOST_MPL_AUX_NA_SPEC2(
+NDNBOOST_MPL_AUX_NA_SPEC2(
       2
     , 5
     , and_
diff --git a/include/ndnboost/mpl/aux_/preprocessed/msvc70/apply.hpp b/include/ndnboost/mpl/aux_/preprocessed/msvc70/apply.hpp
index 99f1c71..b81fddc 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/msvc70/apply.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/msvc70/apply.hpp
@@ -21,7 +21,7 @@
        
         >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           1
         , apply0
         , (F )
@@ -45,7 +45,7 @@
         , T1
         >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           2
         , apply1
         , (F, T1)
@@ -69,7 +69,7 @@
         , T1, T2
         >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           3
         , apply2
         , (F, T1, T2)
@@ -93,7 +93,7 @@
         , T1, T2, T3
         >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           4
         , apply3
         , (F, T1, T2, T3)
@@ -117,7 +117,7 @@
         , T1, T2, T3, T4
         >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , apply4
         , (F, T1, T2, T3, T4)
@@ -142,7 +142,7 @@
         , T1, T2, T3, T4, T5
         >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           6
         , apply5
         , (F, T1, T2, T3, T4, T5)
diff --git a/include/ndnboost/mpl/aux_/preprocessed/msvc70/arg.hpp b/include/ndnboost/mpl/aux_/preprocessed/msvc70/arg.hpp
index 9a157c2..154476a 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/msvc70/arg.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/msvc70/arg.hpp
@@ -10,12 +10,12 @@
 // Preprocessed version of "ndnboost/mpl/arg.hpp" header
 // -- DO NOT modify by hand!
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 template<> struct arg< -1 >
 {
-    BOOST_STATIC_CONSTANT(int, value  = -1);
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
+    NDNBOOST_STATIC_CONSTANT(int, value  = -1);
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, type)
 
     template<
           typename U1 = na, typename U2 = na, typename U3 = na
@@ -24,16 +24,16 @@
     struct apply
     {
         typedef U1 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
+        NDNBOOST_MPL_AUX_ASSERT_NOT_NA(type);
     };
 };
 
 template<> struct arg<1>
 {
-    BOOST_STATIC_CONSTANT(int, value  = 1);
+    NDNBOOST_STATIC_CONSTANT(int, value  = 1);
     typedef arg<2> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, type)
 
     template<
           typename U1 = na, typename U2 = na, typename U3 = na
@@ -42,16 +42,16 @@
     struct apply
     {
         typedef U1 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
+        NDNBOOST_MPL_AUX_ASSERT_NOT_NA(type);
     };
 };
 
 template<> struct arg<2>
 {
-    BOOST_STATIC_CONSTANT(int, value  = 2);
+    NDNBOOST_STATIC_CONSTANT(int, value  = 2);
     typedef arg<3> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, type)
 
     template<
           typename U1 = na, typename U2 = na, typename U3 = na
@@ -60,16 +60,16 @@
     struct apply
     {
         typedef U2 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
+        NDNBOOST_MPL_AUX_ASSERT_NOT_NA(type);
     };
 };
 
 template<> struct arg<3>
 {
-    BOOST_STATIC_CONSTANT(int, value  = 3);
+    NDNBOOST_STATIC_CONSTANT(int, value  = 3);
     typedef arg<4> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, type)
 
     template<
           typename U1 = na, typename U2 = na, typename U3 = na
@@ -78,16 +78,16 @@
     struct apply
     {
         typedef U3 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
+        NDNBOOST_MPL_AUX_ASSERT_NOT_NA(type);
     };
 };
 
 template<> struct arg<4>
 {
-    BOOST_STATIC_CONSTANT(int, value  = 4);
+    NDNBOOST_STATIC_CONSTANT(int, value  = 4);
     typedef arg<5> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, type)
 
     template<
           typename U1 = na, typename U2 = na, typename U3 = na
@@ -96,16 +96,16 @@
     struct apply
     {
         typedef U4 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
+        NDNBOOST_MPL_AUX_ASSERT_NOT_NA(type);
     };
 };
 
 template<> struct arg<5>
 {
-    BOOST_STATIC_CONSTANT(int, value  = 5);
+    NDNBOOST_STATIC_CONSTANT(int, value  = 5);
     typedef arg<6> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, type)
 
     template<
           typename U1 = na, typename U2 = na, typename U3 = na
@@ -114,10 +114,10 @@
     struct apply
     {
         typedef U5 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
+        NDNBOOST_MPL_AUX_ASSERT_NOT_NA(type);
     };
 };
 
-BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg)
+NDNBOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg)
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
diff --git a/include/ndnboost/mpl/aux_/preprocessed/msvc70/basic_bind.hpp b/include/ndnboost/mpl/aux_/preprocessed/msvc70/basic_bind.hpp
index 9b68023..8494a26 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/msvc70/basic_bind.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/msvc70/basic_bind.hpp
@@ -67,7 +67,7 @@
 {
     template< typename T > struct result_
     {
-        BOOST_STATIC_CONSTANT(bool, value  = false);
+        NDNBOOST_STATIC_CONSTANT(bool, value  = false);
     };
 };
 
@@ -76,7 +76,7 @@
 {
     template< typename T > struct result_
     {
-        BOOST_STATIC_CONSTANT(bool, value =
+        NDNBOOST_STATIC_CONSTANT(bool, value =
               sizeof(aux::is_bind_helper(static_cast<T*>(0)))
                 == sizeof(aux::yes_tag)
             );
@@ -123,8 +123,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(1, bind0)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
+NDNBOOST_MPL_AUX_ARITY_SPEC(1, bind0)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
 
 template<
       typename F, typename T1
@@ -160,8 +160,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(2, bind1)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
+NDNBOOST_MPL_AUX_ARITY_SPEC(2, bind1)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
 
 template<
       typename F, typename T1, typename T2
@@ -198,8 +198,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(3, bind2)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
+NDNBOOST_MPL_AUX_ARITY_SPEC(3, bind2)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
 
 template<
       typename F, typename T1, typename T2, typename T3
@@ -237,8 +237,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(4, bind3)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
+NDNBOOST_MPL_AUX_ARITY_SPEC(4, bind3)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
 
 template<
       typename F, typename T1, typename T2, typename T3, typename T4
@@ -278,8 +278,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(5, bind4)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
+NDNBOOST_MPL_AUX_ARITY_SPEC(5, bind4)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
 
 template<
       typename F, typename T1, typename T2, typename T3, typename T4
@@ -322,7 +322,7 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(6, bind5)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
+NDNBOOST_MPL_AUX_ARITY_SPEC(6, bind5)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
 }}
 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/msvc70/bind.hpp b/include/ndnboost/mpl/aux_/preprocessed/msvc70/bind.hpp
index 1c3b8d8..92a2b27 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/msvc70/bind.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/msvc70/bind.hpp
@@ -93,7 +93,7 @@
 {
     template< typename T > struct result_
     {
-        BOOST_STATIC_CONSTANT(bool, value  = false);
+        NDNBOOST_STATIC_CONSTANT(bool, value  = false);
     };
 };
 
@@ -102,7 +102,7 @@
 {
     template< typename T > struct result_
     {
-        BOOST_STATIC_CONSTANT(bool, value =
+        NDNBOOST_STATIC_CONSTANT(bool, value =
               sizeof(aux::is_bind_helper(static_cast<T*>(0)))
                 == sizeof(aux::yes_tag)
             );
@@ -152,8 +152,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(1, bind0)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
+NDNBOOST_MPL_AUX_ARITY_SPEC(1, bind0)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
 
 template<
       typename F, typename T1
@@ -196,8 +196,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(2, bind1)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
+NDNBOOST_MPL_AUX_ARITY_SPEC(2, bind1)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
 
 template<
       typename F, typename T1, typename T2
@@ -245,8 +245,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(3, bind2)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
+NDNBOOST_MPL_AUX_ARITY_SPEC(3, bind2)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
 
 template<
       typename F, typename T1, typename T2, typename T3
@@ -299,8 +299,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(4, bind3)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
+NDNBOOST_MPL_AUX_ARITY_SPEC(4, bind3)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
 
 template<
       typename F, typename T1, typename T2, typename T3, typename T4
@@ -359,8 +359,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(5, bind4)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
+NDNBOOST_MPL_AUX_ARITY_SPEC(5, bind4)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
 
 template<
       typename F, typename T1, typename T2, typename T3, typename T4
@@ -426,7 +426,7 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(6, bind5)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
+NDNBOOST_MPL_AUX_ARITY_SPEC(6, bind5)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
 }}
 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/msvc70/bitand.hpp b/include/ndnboost/mpl/aux_/preprocessed/msvc70/bitand.hpp
index 2a14c25..5cdfac9 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/msvc70/bitand.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/msvc70/bitand.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 bitand_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);
     };
 };
 
@@ -64,14 +64,14 @@
 /// forward declaration
 
 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 bitand_2;
 
 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 bitand_
@@ -89,7 +89,7 @@
     >
 
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , bitand_
         , ( N1, N2, N3, N4, N5 )
@@ -111,11 +111,11 @@
         >::type >::type
 
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, bitand_2, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, bitand_2, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitand_)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 5, bitand_)
 
 }}
 
@@ -125,7 +125,7 @@
 template< typename T, T n1, T n2 >
 struct bitand_wknd
 {
-    BOOST_STATIC_CONSTANT(T, value  = (n1 & n2));
+    NDNBOOST_STATIC_CONSTANT(T, value  = (n1 & n2));
     typedef integral_c< T,value > type;
 };
 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/msvc70/bitor.hpp b/include/ndnboost/mpl/aux_/preprocessed/msvc70/bitor.hpp
index 22500fd..b5eb6bd 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/msvc70/bitor.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/msvc70/bitor.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 bitor_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);
     };
 };
 
@@ -64,14 +64,14 @@
 /// forward declaration
 
 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 bitor_2;
 
 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_
@@ -89,7 +89,7 @@
     >
 
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , bitor_
         , ( N1, N2, N3, N4, N5 )
@@ -111,11 +111,11 @@
         >::type >::type
 
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, bitor_2, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, bitor_2, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitor_)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 5, bitor_)
 
 }}
 
@@ -125,7 +125,7 @@
 template< typename T, T n1, T n2 >
 struct bitor_wknd
 {
-    BOOST_STATIC_CONSTANT(T, value  = (n1 | n2));
+    NDNBOOST_STATIC_CONSTANT(T, value  = (n1 | n2));
     typedef integral_c< T,value > type;
 };
 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/msvc70/bitxor.hpp b/include/ndnboost/mpl/aux_/preprocessed/msvc70/bitxor.hpp
index 49eb45c..0e089a4 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/msvc70/bitxor.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/msvc70/bitxor.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 bitxor_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);
     };
 };
 
@@ -64,14 +64,14 @@
 /// forward declaration
 
 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 bitxor_2;
 
 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 bitxor_
@@ -89,7 +89,7 @@
     >
 
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , bitxor_
         , ( N1, N2, N3, N4, N5 )
@@ -111,11 +111,11 @@
         >::type >::type
 
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, bitxor_2, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, bitxor_2, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitxor_)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 5, bitxor_)
 
 }}
 
@@ -125,7 +125,7 @@
 template< typename T, T n1, T n2 >
 struct bitxor_wknd
 {
-    BOOST_STATIC_CONSTANT(T, value  = (n1 ^ n2));
+    NDNBOOST_STATIC_CONSTANT(T, value  = (n1 ^ n2));
     typedef integral_c< T,value > type;
 };
 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/msvc70/deque.hpp b/include/ndnboost/mpl/aux_/preprocessed/msvc70/deque.hpp
index 8a7e2c3..ed97d82 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/msvc70/deque.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/msvc70/deque.hpp
@@ -484,13 +484,13 @@
 template< typename T >
 struct is_deque_arg
 {
-    BOOST_STATIC_CONSTANT(bool, value  = true);
+    NDNBOOST_STATIC_CONSTANT(bool, value  = true);
 };
 
 template<>
 struct is_deque_arg<na>
 {
-    BOOST_STATIC_CONSTANT(bool, value  = false);
+    NDNBOOST_STATIC_CONSTANT(bool, value  = false);
 };
 
 template<
@@ -501,7 +501,7 @@
     >
 struct deque_count_args
 {
-    BOOST_STATIC_CONSTANT(int, value =
+    NDNBOOST_STATIC_CONSTANT(int, value =
           is_deque_arg<T1>::value + is_deque_arg<T2>::value 
         + is_deque_arg<T3>::value + is_deque_arg<T4>::value 
         + is_deque_arg<T5>::value + is_deque_arg<T6>::value 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/msvc70/divides.hpp b/include/ndnboost/mpl/aux_/preprocessed/msvc70/divides.hpp
index 118cda5..64f49c6 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/msvc70/divides.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/msvc70/divides.hpp
@@ -15,8 +15,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 divides_impl
     : if_c<
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -63,14 +63,14 @@
 /// forward declaration
 
 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 divides2;
 
 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 divides
@@ -88,7 +88,7 @@
     >
 
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , divides
         , ( N1, N2, N3, N4, N5 )
@@ -110,11 +110,11 @@
         >::type >::type
 
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, divides2, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, divides2, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 5, divides)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 5, divides)
 
 }}
 
@@ -124,7 +124,7 @@
 template< typename T, T n1, T n2 >
 struct divides_wknd
 {
-    BOOST_STATIC_CONSTANT(T, value  = (n1 / n2));
+    NDNBOOST_STATIC_CONSTANT(T, value  = (n1 / n2));
     typedef integral_c< T,value > type;
 };
 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/msvc70/equal_to.hpp b/include/ndnboost/mpl/aux_/preprocessed/msvc70/equal_to.hpp
index 06c62ea..339f47d 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/msvc70/equal_to.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/msvc70/equal_to.hpp
@@ -15,8 +15,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 equal_to_impl
     : if_c<
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,8 +61,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 equal_to
     : aux::msvc_eti_base< typename apply_wrap2<
@@ -75,11 +75,11 @@
         >::type >::type
 
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, equal_to, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, equal_to, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 2, equal_to)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 2, equal_to)
 
 }}
 
@@ -91,9 +91,9 @@
     template< typename N1, typename N2 > struct apply
 
     {
-        BOOST_STATIC_CONSTANT(bool, value =
-             ( BOOST_MPL_AUX_VALUE_WKND(N1)::value ==
-             BOOST_MPL_AUX_VALUE_WKND(N2)::value )
+        NDNBOOST_STATIC_CONSTANT(bool, value =
+             ( NDNBOOST_MPL_AUX_VALUE_WKND(N1)::value ==
+             NDNBOOST_MPL_AUX_VALUE_WKND(N2)::value )
             );
         typedef bool_<value> type;
     };
diff --git a/include/ndnboost/mpl/aux_/preprocessed/msvc70/full_lambda.hpp b/include/ndnboost/mpl/aux_/preprocessed/msvc70/full_lambda.hpp
index de658d8..7da971e 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/msvc70/full_lambda.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/msvc70/full_lambda.hpp
@@ -548,7 +548,7 @@
     typedef typename le_result_::type type;
 };
 
-BOOST_MPL_AUX_NA_SPEC(2, lambda)
+NDNBOOST_MPL_AUX_NA_SPEC(2, lambda)
 
 }}
 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/msvc70/greater.hpp b/include/ndnboost/mpl/aux_/preprocessed/msvc70/greater.hpp
index 6145d2b..95cc307 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/msvc70/greater.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/msvc70/greater.hpp
@@ -15,8 +15,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 greater_impl
     : if_c<
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,8 +61,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 greater
     : aux::msvc_eti_base< typename apply_wrap2<
@@ -75,11 +75,11 @@
         >::type >::type
 
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 2, greater)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 2, greater)
 
 }}
 
@@ -91,9 +91,9 @@
     template< typename N1, typename N2 > struct apply
 
     {
-        BOOST_STATIC_CONSTANT(bool, value =
-             ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >
-             BOOST_MPL_AUX_VALUE_WKND(N2)::value )
+        NDNBOOST_STATIC_CONSTANT(bool, value =
+             ( NDNBOOST_MPL_AUX_VALUE_WKND(N1)::value >
+             NDNBOOST_MPL_AUX_VALUE_WKND(N2)::value )
             );
         typedef bool_<value> type;
     };
diff --git a/include/ndnboost/mpl/aux_/preprocessed/msvc70/greater_equal.hpp b/include/ndnboost/mpl/aux_/preprocessed/msvc70/greater_equal.hpp
index efaa97b..4e70274 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/msvc70/greater_equal.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/msvc70/greater_equal.hpp
@@ -15,8 +15,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 greater_equal_impl
     : if_c<
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,8 +61,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 greater_equal
     : aux::msvc_eti_base< typename apply_wrap2<
@@ -75,11 +75,11 @@
         >::type >::type
 
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater_equal, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater_equal, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 2, greater_equal)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 2, greater_equal)
 
 }}
 
@@ -91,9 +91,9 @@
     template< typename N1, typename N2 > struct apply
 
     {
-        BOOST_STATIC_CONSTANT(bool, value =
-             ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >=
-             BOOST_MPL_AUX_VALUE_WKND(N2)::value )
+        NDNBOOST_STATIC_CONSTANT(bool, value =
+             ( NDNBOOST_MPL_AUX_VALUE_WKND(N1)::value >=
+             NDNBOOST_MPL_AUX_VALUE_WKND(N2)::value )
             );
         typedef bool_<value> type;
     };
diff --git a/include/ndnboost/mpl/aux_/preprocessed/msvc70/inherit.hpp b/include/ndnboost/mpl/aux_/preprocessed/msvc70/inherit.hpp
index 12328f7..7cb0a48 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/msvc70/inherit.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/msvc70/inherit.hpp
@@ -55,8 +55,8 @@
 } // namespace aux
 
 template<
-      typename BOOST_MPL_AUX_NA_PARAM(T1)
-    , typename BOOST_MPL_AUX_NA_PARAM(T2)
+      typename NDNBOOST_MPL_AUX_NA_PARAM(T1)
+    , typename NDNBOOST_MPL_AUX_NA_PARAM(T2)
     >
 struct inherit2
     : aux::inherit2_impl<
@@ -65,10 +65,10 @@
         >::template result_< inherit2< T1,T2 >,T1, T2 >
 {
     typedef typename inherit2::type_ type;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, inherit2, (T1, T2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, inherit2, (T1, T2))
 };
 
-BOOST_MPL_AUX_NA_SPEC(2, inherit2)
+NDNBOOST_MPL_AUX_NA_SPEC(2, inherit2)
 
 template<
       typename T1 = na, typename T2 = na, typename T3 = na
@@ -81,14 +81,14 @@
         , T3
         >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           3
         , inherit3
         , ( T1, T2, T3)
         )
 };
 
-BOOST_MPL_AUX_NA_SPEC(3, inherit3)
+NDNBOOST_MPL_AUX_NA_SPEC(3, inherit3)
 
 template<
       typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na
@@ -101,14 +101,14 @@
         , T4
         >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           4
         , inherit4
         , ( T1, T2, T3, T4)
         )
 };
 
-BOOST_MPL_AUX_NA_SPEC(4, inherit4)
+NDNBOOST_MPL_AUX_NA_SPEC(4, inherit4)
 
 template<
       typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na
@@ -122,14 +122,14 @@
         , T5
         >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , inherit5
         , ( T1, T2, T3, T4, T5)
         )
 };
 
-BOOST_MPL_AUX_NA_SPEC(5, inherit5)
+NDNBOOST_MPL_AUX_NA_SPEC(5, inherit5)
 
 /// primary template
 
@@ -159,8 +159,8 @@
     };
 };
 
-BOOST_MPL_AUX_NA_SPEC_LAMBDA(5, inherit)
-BOOST_MPL_AUX_NA_SPEC_ARITY(5, inherit)
-BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(5, 5, inherit)
+NDNBOOST_MPL_AUX_NA_SPEC_LAMBDA(5, inherit)
+NDNBOOST_MPL_AUX_NA_SPEC_ARITY(5, inherit)
+NDNBOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(5, 5, inherit)
 }}
 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/msvc70/iter_fold_if_impl.hpp b/include/ndnboost/mpl/aux_/preprocessed/msvc70/iter_fold_if_impl.hpp
index b0a2864..a74bd83 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/msvc70/iter_fold_if_impl.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/msvc70/iter_fold_if_impl.hpp
@@ -61,7 +61,7 @@
 {
     typedef typename apply2< Predicate,State,Iterator >::type not_last;
     typedef typename iter_fold_if_step_impl<
-          BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
+          NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
         >::template result_< Iterator,State,ForwardOp, mpl::next<Iterator> > impl_;
 
     typedef typename impl_::state state;
@@ -78,7 +78,7 @@
 {
     typedef typename apply2< Predicate,State,Iterator >::type not_last;
     typedef typename iter_fold_if_step_impl<
-          BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
+          NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
         >::template result_< Iterator,State,BackwardOp, identity<Iterator> > impl_;
 
     typedef typename impl_::state state;
diff --git a/include/ndnboost/mpl/aux_/preprocessed/msvc70/lambda_no_ctps.hpp b/include/ndnboost/mpl/aux_/preprocessed/msvc70/lambda_no_ctps.hpp
index 5bfc661..45f5f6b 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/msvc70/lambda_no_ctps.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/msvc70/lambda_no_ctps.hpp
@@ -44,7 +44,7 @@
         typedef lambda< typename F::arg1, Tag, false_ > l1;
         typedef typename l1::is_le is_le1;
         typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value
+              NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value
             > is_le;
 
         typedef bind1<
@@ -74,7 +74,7 @@
         
 
         typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value
+              NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value
             > is_le;
 
         typedef bind2<
@@ -106,7 +106,7 @@
         
 
         typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value
+              NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value
             > is_le;
 
         typedef bind3<
@@ -140,7 +140,7 @@
         
 
         typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value
+              NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value
             > is_le;
 
         typedef bind4<
@@ -177,7 +177,7 @@
         
 
         typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le5)::value
+              NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le5)::value
             > is_le;
 
         typedef bind5<
@@ -212,10 +212,10 @@
 
     typedef typename l_::type type;
     typedef typename l_::is_le is_le;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(3, lambda, (T, Tag, Protect))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(3, lambda, (T, Tag, Protect))
 };
 
-BOOST_MPL_AUX_NA_SPEC2(1, 3, lambda)
+NDNBOOST_MPL_AUX_NA_SPEC2(1, 3, lambda)
 
 template<
       typename T
diff --git a/include/ndnboost/mpl/aux_/preprocessed/msvc70/less.hpp b/include/ndnboost/mpl/aux_/preprocessed/msvc70/less.hpp
index b79a010..1a58953 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/msvc70/less.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/msvc70/less.hpp
@@ -15,8 +15,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 less_impl
     : if_c<
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,8 +61,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 less
     : aux::msvc_eti_base< typename apply_wrap2<
@@ -75,11 +75,11 @@
         >::type >::type
 
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, less, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 2, less)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 2, less)
 
 }}
 
@@ -91,9 +91,9 @@
     template< typename N1, typename N2 > struct apply
 
     {
-        BOOST_STATIC_CONSTANT(bool, value =
-             ( BOOST_MPL_AUX_VALUE_WKND(N2)::value >
-             BOOST_MPL_AUX_VALUE_WKND(N1)::value )
+        NDNBOOST_STATIC_CONSTANT(bool, value =
+             ( NDNBOOST_MPL_AUX_VALUE_WKND(N2)::value >
+             NDNBOOST_MPL_AUX_VALUE_WKND(N1)::value )
             );
         typedef bool_<value> type;
     };
diff --git a/include/ndnboost/mpl/aux_/preprocessed/msvc70/less_equal.hpp b/include/ndnboost/mpl/aux_/preprocessed/msvc70/less_equal.hpp
index f2e2b32..4890441 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/msvc70/less_equal.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/msvc70/less_equal.hpp
@@ -15,8 +15,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 less_equal_impl
     : if_c<
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,8 +61,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 less_equal
     : aux::msvc_eti_base< typename apply_wrap2<
@@ -75,11 +75,11 @@
         >::type >::type
 
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less_equal, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, less_equal, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 2, less_equal)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 2, less_equal)
 
 }}
 
@@ -91,9 +91,9 @@
     template< typename N1, typename N2 > struct apply
 
     {
-        BOOST_STATIC_CONSTANT(bool, value =
-             ( BOOST_MPL_AUX_VALUE_WKND(N1)::value <=
-             BOOST_MPL_AUX_VALUE_WKND(N2)::value )
+        NDNBOOST_STATIC_CONSTANT(bool, value =
+             ( NDNBOOST_MPL_AUX_VALUE_WKND(N1)::value <=
+             NDNBOOST_MPL_AUX_VALUE_WKND(N2)::value )
             );
         typedef bool_<value> type;
     };
diff --git a/include/ndnboost/mpl/aux_/preprocessed/msvc70/list.hpp b/include/ndnboost/mpl/aux_/preprocessed/msvc70/list.hpp
index 63062d2..2b19e60 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/msvc70/list.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/msvc70/list.hpp
@@ -484,13 +484,13 @@
 template< typename T >
 struct is_list_arg
 {
-    BOOST_STATIC_CONSTANT(bool, value  = true);
+    NDNBOOST_STATIC_CONSTANT(bool, value  = true);
 };
 
 template<>
 struct is_list_arg<na>
 {
-    BOOST_STATIC_CONSTANT(bool, value  = false);
+    NDNBOOST_STATIC_CONSTANT(bool, value  = false);
 };
 
 template<
@@ -501,7 +501,7 @@
     >
 struct list_count_args
 {
-    BOOST_STATIC_CONSTANT(int, value =
+    NDNBOOST_STATIC_CONSTANT(int, value =
           is_list_arg<T1>::value + is_list_arg<T2>::value 
         + is_list_arg<T3>::value + is_list_arg<T4>::value 
         + is_list_arg<T5>::value + is_list_arg<T6>::value 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/msvc70/list_c.hpp b/include/ndnboost/mpl/aux_/preprocessed/msvc70/list_c.hpp
index 010f92e..0ed7f7e 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/msvc70/list_c.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/msvc70/list_c.hpp
@@ -463,13 +463,13 @@
 template< long C >
 struct is_list_c_arg
 {
-    BOOST_STATIC_CONSTANT(bool, value  = true);
+    NDNBOOST_STATIC_CONSTANT(bool, value  = true);
 };
 
 template<>
 struct is_list_c_arg<LONG_MAX>
 {
-    BOOST_STATIC_CONSTANT(bool, value  = false);
+    NDNBOOST_STATIC_CONSTANT(bool, value  = false);
 };
 
 template<
@@ -479,7 +479,7 @@
     >
 struct list_c_count_args
 {
-    BOOST_STATIC_CONSTANT(int, value =
+    NDNBOOST_STATIC_CONSTANT(int, value =
           is_list_c_arg<C1>::value + is_list_c_arg<C2>::value 
         + is_list_c_arg<C3>::value + is_list_c_arg<C4>::value 
         + is_list_c_arg<C5>::value + is_list_c_arg<C6>::value 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/msvc70/map.hpp b/include/ndnboost/mpl/aux_/preprocessed/msvc70/map.hpp
index 3066603..75174c8 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/msvc70/map.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/msvc70/map.hpp
@@ -484,13 +484,13 @@
 template< typename T >
 struct is_map_arg
 {
-    BOOST_STATIC_CONSTANT(bool, value  = true);
+    NDNBOOST_STATIC_CONSTANT(bool, value  = true);
 };
 
 template<>
 struct is_map_arg<na>
 {
-    BOOST_STATIC_CONSTANT(bool, value  = false);
+    NDNBOOST_STATIC_CONSTANT(bool, value  = false);
 };
 
 template<
@@ -501,7 +501,7 @@
     >
 struct map_count_args
 {
-    BOOST_STATIC_CONSTANT(int, value =
+    NDNBOOST_STATIC_CONSTANT(int, value =
           is_map_arg<T1>::value + is_map_arg<T2>::value 
         + is_map_arg<T3>::value + is_map_arg<T4>::value 
         + is_map_arg<T5>::value + is_map_arg<T6>::value 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/msvc70/minus.hpp b/include/ndnboost/mpl/aux_/preprocessed/msvc70/minus.hpp
index 910202d..b0c27aa 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/msvc70/minus.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/msvc70/minus.hpp
@@ -15,8 +15,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 minus_impl
     : if_c<
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -63,14 +63,14 @@
 /// forward declaration
 
 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 minus2;
 
 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 minus
@@ -88,7 +88,7 @@
     >
 
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , minus
         , ( N1, N2, N3, N4, N5 )
@@ -110,11 +110,11 @@
         >::type >::type
 
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, minus2, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, minus2, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 5, minus)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 5, minus)
 
 }}
 
@@ -124,7 +124,7 @@
 template< typename T, T n1, T n2 >
 struct minus_wknd
 {
-    BOOST_STATIC_CONSTANT(T, value  = (n1 - n2));
+    NDNBOOST_STATIC_CONSTANT(T, value  = (n1 - n2));
     typedef integral_c< T,value > type;
 };
 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/msvc70/modulus.hpp b/include/ndnboost/mpl/aux_/preprocessed/msvc70/modulus.hpp
index bb8abf5..e92a207 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/msvc70/modulus.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/msvc70/modulus.hpp
@@ -15,8 +15,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 modulus_impl
     : if_c<
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,8 +61,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 modulus
     : aux::msvc_eti_base< typename apply_wrap2<
@@ -75,11 +75,11 @@
         >::type >::type
 
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, modulus, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, modulus, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 2, modulus)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 2, modulus)
 
 }}
 
@@ -89,7 +89,7 @@
 template< typename T, T n1, T n2 >
 struct modulus_wknd
 {
-    BOOST_STATIC_CONSTANT(T, value  = (n1 % n2));
+    NDNBOOST_STATIC_CONSTANT(T, value  = (n1 % n2));
     typedef integral_c< T,value > type;
 };
 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/msvc70/not_equal_to.hpp b/include/ndnboost/mpl/aux_/preprocessed/msvc70/not_equal_to.hpp
index ac8d660..f861809 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/msvc70/not_equal_to.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/msvc70/not_equal_to.hpp
@@ -15,8 +15,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 not_equal_to_impl
     : if_c<
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,8 +61,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 not_equal_to
     : aux::msvc_eti_base< typename apply_wrap2<
@@ -75,11 +75,11 @@
         >::type >::type
 
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, not_equal_to, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, not_equal_to, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 2, not_equal_to)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 2, not_equal_to)
 
 }}
 
@@ -91,9 +91,9 @@
     template< typename N1, typename N2 > struct apply
 
     {
-        BOOST_STATIC_CONSTANT(bool, value =
-             ( BOOST_MPL_AUX_VALUE_WKND(N1)::value !=
-             BOOST_MPL_AUX_VALUE_WKND(N2)::value )
+        NDNBOOST_STATIC_CONSTANT(bool, value =
+             ( NDNBOOST_MPL_AUX_VALUE_WKND(N1)::value !=
+             NDNBOOST_MPL_AUX_VALUE_WKND(N2)::value )
             );
         typedef bool_<value> type;
     };
diff --git a/include/ndnboost/mpl/aux_/preprocessed/msvc70/or.hpp b/include/ndnboost/mpl/aux_/preprocessed/msvc70/or.hpp
index 5beec9e..e644658 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/msvc70/or.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/msvc70/or.hpp
@@ -30,7 +30,7 @@
         >
     struct result_
         : or_impl<
-              BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
+              NDNBOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
             >::template result_< T2,T3,T4,false_ >
     {
     };
@@ -44,25 +44,25 @@
 } // namespace aux
 
 template<
-      typename BOOST_MPL_AUX_NA_PARAM(T1)
-    , typename BOOST_MPL_AUX_NA_PARAM(T2)
+      typename NDNBOOST_MPL_AUX_NA_PARAM(T1)
+    , typename NDNBOOST_MPL_AUX_NA_PARAM(T2)
     , typename T3 = false_, typename T4 = false_, typename T5 = false_
     >
 struct or_
 
     : aux::or_impl<
-          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
+          NDNBOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
         >::template result_< T2,T3,T4,T5 >
 
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , or_
         , ( T1, T2, T3, T4, T5)
         )
 };
 
-BOOST_MPL_AUX_NA_SPEC2(
+NDNBOOST_MPL_AUX_NA_SPEC2(
       2
     , 5
     , or_
diff --git a/include/ndnboost/mpl/aux_/preprocessed/msvc70/placeholders.hpp b/include/ndnboost/mpl/aux_/preprocessed/msvc70/placeholders.hpp
index ecd4514..3a28c09 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/msvc70/placeholders.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/msvc70/placeholders.hpp
@@ -10,96 +10,96 @@
 // Preprocessed version of "ndnboost/mpl/placeholders.hpp" header
 // -- DO NOT modify by hand!
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 typedef arg< -1 > _;
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
 namespace ndnboost { namespace mpl {
 
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_)
+NDNBOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_)
 
 namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_;
+using NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_;
 }
 
 }}
 
 /// agurt, 17/mar/02: one more placeholder for the last 'apply#' 
 /// specialization
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 typedef arg<1> _1;
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
 namespace ndnboost { namespace mpl {
 
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1)
+NDNBOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1)
 
 namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1;
+using NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1;
 }
 
 }}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 typedef arg<2> _2;
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
 namespace ndnboost { namespace mpl {
 
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2)
+NDNBOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2)
 
 namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2;
+using NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2;
 }
 
 }}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 typedef arg<3> _3;
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
 namespace ndnboost { namespace mpl {
 
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3)
+NDNBOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3)
 
 namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3;
+using NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3;
 }
 
 }}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 typedef arg<4> _4;
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
 namespace ndnboost { namespace mpl {
 
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4)
+NDNBOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4)
 
 namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4;
+using NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4;
 }
 
 }}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 typedef arg<5> _5;
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
 namespace ndnboost { namespace mpl {
 
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5)
+NDNBOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5)
 
 namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5;
+using NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5;
 }
 
 }}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 typedef arg<6> _6;
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
 namespace ndnboost { namespace mpl {
 
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6)
+NDNBOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6)
 
 namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6;
+using NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6;
 }
 
 }}
diff --git a/include/ndnboost/mpl/aux_/preprocessed/msvc70/plus.hpp b/include/ndnboost/mpl/aux_/preprocessed/msvc70/plus.hpp
index 32c3317..bf8ccb7 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/msvc70/plus.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/msvc70/plus.hpp
@@ -15,8 +15,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 plus_impl
     : if_c<
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -63,14 +63,14 @@
 /// forward declaration
 
 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 plus2;
 
 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 plus
@@ -88,7 +88,7 @@
     >
 
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , plus
         , ( N1, N2, N3, N4, N5 )
@@ -110,11 +110,11 @@
         >::type >::type
 
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, plus2, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, plus2, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 5, plus)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 5, plus)
 
 }}
 
@@ -124,7 +124,7 @@
 template< typename T, T n1, T n2 >
 struct plus_wknd
 {
-    BOOST_STATIC_CONSTANT(T, value  = (n1 + n2));
+    NDNBOOST_STATIC_CONSTANT(T, value  = (n1 + n2));
     typedef integral_c< T,value > type;
 };
 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/msvc70/set.hpp b/include/ndnboost/mpl/aux_/preprocessed/msvc70/set.hpp
index e964879..484d53e 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/msvc70/set.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/msvc70/set.hpp
@@ -484,13 +484,13 @@
 template< typename T >
 struct is_set_arg
 {
-    BOOST_STATIC_CONSTANT(bool, value  = true);
+    NDNBOOST_STATIC_CONSTANT(bool, value  = true);
 };
 
 template<>
 struct is_set_arg<na>
 {
-    BOOST_STATIC_CONSTANT(bool, value  = false);
+    NDNBOOST_STATIC_CONSTANT(bool, value  = false);
 };
 
 template<
@@ -501,7 +501,7 @@
     >
 struct set_count_args
 {
-    BOOST_STATIC_CONSTANT(int, value =
+    NDNBOOST_STATIC_CONSTANT(int, value =
           is_set_arg<T1>::value + is_set_arg<T2>::value 
         + is_set_arg<T3>::value + is_set_arg<T4>::value 
         + is_set_arg<T5>::value + is_set_arg<T6>::value 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/msvc70/set_c.hpp b/include/ndnboost/mpl/aux_/preprocessed/msvc70/set_c.hpp
index a9a9b18..3b5f2ab 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/msvc70/set_c.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/msvc70/set_c.hpp
@@ -463,13 +463,13 @@
 template< long C >
 struct is_set_c_arg
 {
-    BOOST_STATIC_CONSTANT(bool, value  = true);
+    NDNBOOST_STATIC_CONSTANT(bool, value  = true);
 };
 
 template<>
 struct is_set_c_arg<LONG_MAX>
 {
-    BOOST_STATIC_CONSTANT(bool, value  = false);
+    NDNBOOST_STATIC_CONSTANT(bool, value  = false);
 };
 
 template<
@@ -479,7 +479,7 @@
     >
 struct set_c_count_args
 {
-    BOOST_STATIC_CONSTANT(int, value =
+    NDNBOOST_STATIC_CONSTANT(int, value =
           is_set_c_arg<C1>::value + is_set_c_arg<C2>::value 
         + is_set_c_arg<C3>::value + is_set_c_arg<C4>::value 
         + is_set_c_arg<C5>::value + is_set_c_arg<C6>::value 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/msvc70/shift_left.hpp b/include/ndnboost/mpl/aux_/preprocessed/msvc70/shift_left.hpp
index 8e7b606..0632ed1 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/msvc70/shift_left.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/msvc70/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;
 };
 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/msvc70/shift_right.hpp b/include/ndnboost/mpl/aux_/preprocessed/msvc70/shift_right.hpp
index 991abc9..6e43803 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/msvc70/shift_right.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/msvc70/shift_right.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_right_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_right
     : aux::msvc_eti_base< typename apply_wrap2<
@@ -76,11 +76,11 @@
         >::type >::type
 
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_right, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_right, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_right)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 2, shift_right)
 
 }}
 
@@ -90,7 +90,7 @@
 template< typename T, typename Shift, T n, Shift s >
 struct shift_right_wknd
 {
-    BOOST_STATIC_CONSTANT(T, value  = (n >> s));
+    NDNBOOST_STATIC_CONSTANT(T, value  = (n >> s));
     typedef integral_c< T,value > type;
 };
 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/msvc70/times.hpp b/include/ndnboost/mpl/aux_/preprocessed/msvc70/times.hpp
index 0be0e9c..5f2f267 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/msvc70/times.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/msvc70/times.hpp
@@ -15,8 +15,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 times_impl
     : if_c<
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -63,14 +63,14 @@
 /// forward declaration
 
 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 times2;
 
 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 times
@@ -88,7 +88,7 @@
     >
 
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , times
         , ( N1, N2, N3, N4, N5 )
@@ -110,11 +110,11 @@
         >::type >::type
 
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, times2, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, times2, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 5, times)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 5, times)
 
 }}
 
@@ -124,7 +124,7 @@
 template< typename T, T n1, T n2 >
 struct times_wknd
 {
-    BOOST_STATIC_CONSTANT(T, value  = (n1 * n2));
+    NDNBOOST_STATIC_CONSTANT(T, value  = (n1 * n2));
     typedef integral_c< T,value > type;
 };
 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/msvc70/unpack_args.hpp b/include/ndnboost/mpl/aux_/preprocessed/msvc70/unpack_args.hpp
index bee7472..dcdb46e 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/msvc70/unpack_args.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/msvc70/unpack_args.hpp
@@ -13,7 +13,7 @@
 
 namespace aux {
 
-template< BOOST_MPL_AUX_NTTP_DECL(int, size) > struct unpack_args_impl
+template< NDNBOOST_MPL_AUX_NTTP_DECL(int, size) > struct unpack_args_impl
 {
     template< typename F, typename Args > struct apply;
 };
@@ -103,7 +103,7 @@
     };
 };
 
-BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args)
+NDNBOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args)
 
 }}
 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/msvc70/vector.hpp b/include/ndnboost/mpl/aux_/preprocessed/msvc70/vector.hpp
index bdee923..acb6704 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/msvc70/vector.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/msvc70/vector.hpp
@@ -484,13 +484,13 @@
 template< typename T >
 struct is_vector_arg
 {
-    BOOST_STATIC_CONSTANT(bool, value  = true);
+    NDNBOOST_STATIC_CONSTANT(bool, value  = true);
 };
 
 template<>
 struct is_vector_arg<na>
 {
-    BOOST_STATIC_CONSTANT(bool, value  = false);
+    NDNBOOST_STATIC_CONSTANT(bool, value  = false);
 };
 
 template<
@@ -501,7 +501,7 @@
     >
 struct vector_count_args
 {
-    BOOST_STATIC_CONSTANT(int, value =
+    NDNBOOST_STATIC_CONSTANT(int, value =
           is_vector_arg<T1>::value + is_vector_arg<T2>::value 
         + is_vector_arg<T3>::value + is_vector_arg<T4>::value 
         + is_vector_arg<T5>::value + is_vector_arg<T6>::value 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/msvc70/vector_c.hpp b/include/ndnboost/mpl/aux_/preprocessed/msvc70/vector_c.hpp
index 7e645b9..c654c6f 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/msvc70/vector_c.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/msvc70/vector_c.hpp
@@ -463,13 +463,13 @@
 template< long C >
 struct is_vector_c_arg
 {
-    BOOST_STATIC_CONSTANT(bool, value  = true);
+    NDNBOOST_STATIC_CONSTANT(bool, value  = true);
 };
 
 template<>
 struct is_vector_c_arg<LONG_MAX>
 {
-    BOOST_STATIC_CONSTANT(bool, value  = false);
+    NDNBOOST_STATIC_CONSTANT(bool, value  = false);
 };
 
 template<
@@ -479,7 +479,7 @@
     >
 struct vector_c_count_args
 {
-    BOOST_STATIC_CONSTANT(int, value =
+    NDNBOOST_STATIC_CONSTANT(int, value =
           is_vector_c_arg<C1>::value + is_vector_c_arg<C2>::value 
         + is_vector_c_arg<C3>::value + is_vector_c_arg<C4>::value 
         + is_vector_c_arg<C5>::value + is_vector_c_arg<C6>::value 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/mwcw/and.hpp b/include/ndnboost/mpl/aux_/preprocessed/mwcw/and.hpp
index 24b88d8..5c1b95a 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/mwcw/and.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/mwcw/and.hpp
@@ -22,7 +22,7 @@
 template< typename T1, typename T2, typename T3, typename T4 >
 struct and_impl< true,T1,T2,T3,T4 >
     : and_impl<
-          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
+          NDNBOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
         , T2, T3, T4
         , true_
         >
@@ -41,26 +41,26 @@
 } // namespace aux
 
 template<
-      typename BOOST_MPL_AUX_NA_PARAM(T1)
-    , typename BOOST_MPL_AUX_NA_PARAM(T2)
+      typename NDNBOOST_MPL_AUX_NA_PARAM(T1)
+    , typename NDNBOOST_MPL_AUX_NA_PARAM(T2)
     , typename T3 = true_, typename T4 = true_, typename T5 = true_
     >
 struct and_
 
     : aux::and_impl<
-          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
+          NDNBOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
         , T2, T3, T4, T5
         >
 
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , and_
         , ( T1, T2, T3, T4, T5)
         )
 };
 
-BOOST_MPL_AUX_NA_SPEC2(
+NDNBOOST_MPL_AUX_NA_SPEC2(
       2
     , 5
     , and_
diff --git a/include/ndnboost/mpl/aux_/preprocessed/mwcw/apply.hpp b/include/ndnboost/mpl/aux_/preprocessed/mwcw/apply.hpp
index e4b1cd2..80f72b0 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/mwcw/apply.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/mwcw/apply.hpp
@@ -21,7 +21,7 @@
        
         >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           1
         , apply0
         , (F )
@@ -46,7 +46,7 @@
         , T1
         >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           2
         , apply1
         , (F, T1)
@@ -71,7 +71,7 @@
         , T1, T2
         >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           3
         , apply2
         , (F, T1, T2)
@@ -96,7 +96,7 @@
         , T1, T2, T3
         >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           4
         , apply3
         , (F, T1, T2, T3)
@@ -121,7 +121,7 @@
         , T1, T2, T3, T4
         >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , apply4
         , (F, T1, T2, T3, T4)
@@ -147,7 +147,7 @@
         , T1, T2, T3, T4, T5
         >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           6
         , apply5
         , (F, T1, T2, T3, T4, T5)
diff --git a/include/ndnboost/mpl/aux_/preprocessed/mwcw/arg.hpp b/include/ndnboost/mpl/aux_/preprocessed/mwcw/arg.hpp
index 9a157c2..154476a 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/mwcw/arg.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/mwcw/arg.hpp
@@ -10,12 +10,12 @@
 // Preprocessed version of "ndnboost/mpl/arg.hpp" header
 // -- DO NOT modify by hand!
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 template<> struct arg< -1 >
 {
-    BOOST_STATIC_CONSTANT(int, value  = -1);
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
+    NDNBOOST_STATIC_CONSTANT(int, value  = -1);
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, type)
 
     template<
           typename U1 = na, typename U2 = na, typename U3 = na
@@ -24,16 +24,16 @@
     struct apply
     {
         typedef U1 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
+        NDNBOOST_MPL_AUX_ASSERT_NOT_NA(type);
     };
 };
 
 template<> struct arg<1>
 {
-    BOOST_STATIC_CONSTANT(int, value  = 1);
+    NDNBOOST_STATIC_CONSTANT(int, value  = 1);
     typedef arg<2> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, type)
 
     template<
           typename U1 = na, typename U2 = na, typename U3 = na
@@ -42,16 +42,16 @@
     struct apply
     {
         typedef U1 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
+        NDNBOOST_MPL_AUX_ASSERT_NOT_NA(type);
     };
 };
 
 template<> struct arg<2>
 {
-    BOOST_STATIC_CONSTANT(int, value  = 2);
+    NDNBOOST_STATIC_CONSTANT(int, value  = 2);
     typedef arg<3> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, type)
 
     template<
           typename U1 = na, typename U2 = na, typename U3 = na
@@ -60,16 +60,16 @@
     struct apply
     {
         typedef U2 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
+        NDNBOOST_MPL_AUX_ASSERT_NOT_NA(type);
     };
 };
 
 template<> struct arg<3>
 {
-    BOOST_STATIC_CONSTANT(int, value  = 3);
+    NDNBOOST_STATIC_CONSTANT(int, value  = 3);
     typedef arg<4> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, type)
 
     template<
           typename U1 = na, typename U2 = na, typename U3 = na
@@ -78,16 +78,16 @@
     struct apply
     {
         typedef U3 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
+        NDNBOOST_MPL_AUX_ASSERT_NOT_NA(type);
     };
 };
 
 template<> struct arg<4>
 {
-    BOOST_STATIC_CONSTANT(int, value  = 4);
+    NDNBOOST_STATIC_CONSTANT(int, value  = 4);
     typedef arg<5> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, type)
 
     template<
           typename U1 = na, typename U2 = na, typename U3 = na
@@ -96,16 +96,16 @@
     struct apply
     {
         typedef U4 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
+        NDNBOOST_MPL_AUX_ASSERT_NOT_NA(type);
     };
 };
 
 template<> struct arg<5>
 {
-    BOOST_STATIC_CONSTANT(int, value  = 5);
+    NDNBOOST_STATIC_CONSTANT(int, value  = 5);
     typedef arg<6> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, type)
 
     template<
           typename U1 = na, typename U2 = na, typename U3 = na
@@ -114,10 +114,10 @@
     struct apply
     {
         typedef U5 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
+        NDNBOOST_MPL_AUX_ASSERT_NOT_NA(type);
     };
 };
 
-BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg)
+NDNBOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg)
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
diff --git a/include/ndnboost/mpl/aux_/preprocessed/mwcw/basic_bind.hpp b/include/ndnboost/mpl/aux_/preprocessed/mwcw/basic_bind.hpp
index a2a565e..8e0bf73 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/mwcw/basic_bind.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/mwcw/basic_bind.hpp
@@ -82,8 +82,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(1, bind0)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
+NDNBOOST_MPL_AUX_ARITY_SPEC(1, bind0)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
 
 template<
       typename F
@@ -133,8 +133,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(2, bind1)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
+NDNBOOST_MPL_AUX_ARITY_SPEC(2, bind1)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
 
 template<
       typename F, typename T1
@@ -185,8 +185,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(3, bind2)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
+NDNBOOST_MPL_AUX_ARITY_SPEC(3, bind2)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
 
 template<
       typename F, typename T1, typename T2
@@ -238,8 +238,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(4, bind3)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
+NDNBOOST_MPL_AUX_ARITY_SPEC(4, bind3)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
 
 template<
       typename F, typename T1, typename T2, typename T3
@@ -293,8 +293,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(5, bind4)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
+NDNBOOST_MPL_AUX_ARITY_SPEC(5, bind4)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
 
 template<
       typename F, typename T1, typename T2, typename T3, typename T4
@@ -351,8 +351,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(6, bind5)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
+NDNBOOST_MPL_AUX_ARITY_SPEC(6, bind5)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
 
 /// primary template (not a specialization!)
 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/mwcw/bind.hpp b/include/ndnboost/mpl/aux_/preprocessed/mwcw/bind.hpp
index f2cde5a..45cfc67 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/mwcw/bind.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/mwcw/bind.hpp
@@ -104,8 +104,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(1, bind0)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
+NDNBOOST_MPL_AUX_ARITY_SPEC(1, bind0)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
 
 template<
       typename F
@@ -162,8 +162,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(2, bind1)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
+NDNBOOST_MPL_AUX_ARITY_SPEC(2, bind1)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
 
 template<
       typename F, typename T1
@@ -225,8 +225,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(3, bind2)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
+NDNBOOST_MPL_AUX_ARITY_SPEC(3, bind2)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
 
 template<
       typename F, typename T1, typename T2
@@ -293,8 +293,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(4, bind3)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
+NDNBOOST_MPL_AUX_ARITY_SPEC(4, bind3)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
 
 template<
       typename F, typename T1, typename T2, typename T3
@@ -367,8 +367,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(5, bind4)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
+NDNBOOST_MPL_AUX_ARITY_SPEC(5, bind4)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
 
 template<
       typename F, typename T1, typename T2, typename T3, typename T4
@@ -448,8 +448,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(6, bind5)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
+NDNBOOST_MPL_AUX_ARITY_SPEC(6, bind5)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
 
 /// primary template (not a specialization!)
 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/mwcw/bitand.hpp b/include/ndnboost/mpl/aux_/preprocessed/mwcw/bitand.hpp
index 90e8593..cd8cc5c 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/mwcw/bitand.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/mwcw/bitand.hpp
@@ -18,8 +18,8 @@
     >
 struct bitand_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< bitand_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 bitand_
     : bitand_< bitand_< bitand_< bitand_< N1,N2 >, N3>, N4>, N5>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , bitand_
         , ( N1, N2, N3, N4, N5 )
@@ -83,7 +83,7 @@
 
     : bitand_< bitand_< bitand_< N1,N2 >, N3>, N4>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , bitand_
         , ( N1, N2, N3, N4, na )
@@ -97,7 +97,7 @@
 
     : bitand_< bitand_< N1,N2 >, N3>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , bitand_
         , ( N1, N2, N3, na, na )
@@ -113,7 +113,7 @@
         , typename bitand_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , bitand_
         , ( N1, N2, na, na, na )
@@ -121,7 +121,7 @@
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitand_)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 5, bitand_)
 
 }}
 
@@ -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
                 )
             >
     {
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
                 )
             >
     {
diff --git a/include/ndnboost/mpl/aux_/preprocessed/mwcw/bitxor.hpp b/include/ndnboost/mpl/aux_/preprocessed/mwcw/bitxor.hpp
index b7f0ce7..1f276b7 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/mwcw/bitxor.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/mwcw/bitxor.hpp
@@ -18,8 +18,8 @@
     >
 struct bitxor_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< bitxor_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 bitxor_
     : bitxor_< bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4>, N5>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , bitxor_
         , ( N1, N2, N3, N4, N5 )
@@ -83,7 +83,7 @@
 
     : bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , bitxor_
         , ( N1, N2, N3, N4, na )
@@ -97,7 +97,7 @@
 
     : bitxor_< bitxor_< N1,N2 >, N3>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , bitxor_
         , ( N1, N2, N3, na, na )
@@ -113,7 +113,7 @@
         , typename bitxor_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , bitxor_
         , ( N1, N2, na, na, na )
@@ -121,7 +121,7 @@
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitxor_)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 5, bitxor_)
 
 }}
 
@@ -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
                 )
             >
     {
diff --git a/include/ndnboost/mpl/aux_/preprocessed/mwcw/divides.hpp b/include/ndnboost/mpl/aux_/preprocessed/mwcw/divides.hpp
index 0f5415c..1bc4433 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/mwcw/divides.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/mwcw/divides.hpp
@@ -17,8 +17,8 @@
     >
 struct divides_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< divides_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,14 +61,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 divides
     : divides< divides< divides< divides< N1,N2 >, N3>, N4>, N5>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , divides
         , ( N1, N2, N3, N4, N5 )
@@ -82,7 +82,7 @@
 
     : divides< divides< divides< N1,N2 >, N3>, N4>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , divides
         , ( N1, N2, N3, N4, na )
@@ -96,7 +96,7 @@
 
     : divides< divides< N1,N2 >, N3>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , divides
         , ( N1, N2, N3, na, na )
@@ -112,7 +112,7 @@
         , typename divides_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , divides
         , ( N1, N2, na, na, na )
@@ -120,7 +120,7 @@
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 5, divides)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 5, divides)
 
 }}
 
@@ -135,8 +135,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
                 )
             >
     {
diff --git a/include/ndnboost/mpl/aux_/preprocessed/mwcw/equal_to.hpp b/include/ndnboost/mpl/aux_/preprocessed/mwcw/equal_to.hpp
index 0d02da4..6455885 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/mwcw/equal_to.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/mwcw/equal_to.hpp
@@ -17,8 +17,8 @@
     >
 struct equal_to_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< equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,8 +61,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 equal_to
 
@@ -71,11 +71,11 @@
         , typename equal_to_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, equal_to, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, equal_to, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 2, equal_to)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 2, equal_to)
 
 }}
 
@@ -86,7 +86,7 @@
 {
     template< typename N1, typename N2 > struct apply
 
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value  == BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
+        : bool_< ( NDNBOOST_MPL_AUX_VALUE_WKND(N1)::value  == NDNBOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
     {
     };
 };
diff --git a/include/ndnboost/mpl/aux_/preprocessed/mwcw/full_lambda.hpp b/include/ndnboost/mpl/aux_/preprocessed/mwcw/full_lambda.hpp
index de658d8..7da971e 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/mwcw/full_lambda.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/mwcw/full_lambda.hpp
@@ -548,7 +548,7 @@
     typedef typename le_result_::type type;
 };
 
-BOOST_MPL_AUX_NA_SPEC(2, lambda)
+NDNBOOST_MPL_AUX_NA_SPEC(2, lambda)
 
 }}
 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/mwcw/greater.hpp b/include/ndnboost/mpl/aux_/preprocessed/mwcw/greater.hpp
index e05fa3c..a7eb4a4 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/mwcw/greater.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/mwcw/greater.hpp
@@ -17,8 +17,8 @@
     >
 struct greater_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< greater_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,8 +61,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 greater
 
@@ -71,11 +71,11 @@
         , typename greater_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 2, greater)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 2, greater)
 
 }}
 
@@ -86,7 +86,7 @@
 {
     template< typename N1, typename N2 > struct apply
 
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value > BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
+        : bool_< ( NDNBOOST_MPL_AUX_VALUE_WKND(N1)::value > NDNBOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
     {
     };
 };
diff --git a/include/ndnboost/mpl/aux_/preprocessed/mwcw/greater_equal.hpp b/include/ndnboost/mpl/aux_/preprocessed/mwcw/greater_equal.hpp
index f89a587..35bd413 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/mwcw/greater_equal.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/mwcw/greater_equal.hpp
@@ -17,8 +17,8 @@
     >
 struct greater_equal_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< greater_equal_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,8 +61,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 greater_equal
 
@@ -71,11 +71,11 @@
         , typename greater_equal_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater_equal, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater_equal, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 2, greater_equal)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 2, greater_equal)
 
 }}
 
@@ -86,7 +86,7 @@
 {
     template< typename N1, typename N2 > struct apply
 
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
+        : bool_< ( NDNBOOST_MPL_AUX_VALUE_WKND(N1)::value >= NDNBOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
     {
     };
 };
diff --git a/include/ndnboost/mpl/aux_/preprocessed/mwcw/inherit.hpp b/include/ndnboost/mpl/aux_/preprocessed/mwcw/inherit.hpp
index 41f387f..a97f313 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/mwcw/inherit.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/mwcw/inherit.hpp
@@ -12,38 +12,38 @@
 namespace ndnboost { namespace mpl {
 
 template<
-      typename BOOST_MPL_AUX_NA_PARAM(T1)
-    , typename BOOST_MPL_AUX_NA_PARAM(T2)
+      typename NDNBOOST_MPL_AUX_NA_PARAM(T1)
+    , typename NDNBOOST_MPL_AUX_NA_PARAM(T2)
     >
 struct inherit2
     : T1, T2
 {
     typedef inherit2 type;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, inherit2, (T1, T2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, inherit2, (T1, T2))
 };
 
 template< typename T1 >
 struct inherit2< T1,empty_base >
 {
     typedef T1 type;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (T1, empty_base))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (T1, empty_base))
 };
 
 template< typename T2 >
 struct inherit2< empty_base,T2 >
 {
     typedef T2 type;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, T2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, T2))
 };
 
 template<>
 struct inherit2< empty_base,empty_base >
 {
     typedef empty_base type;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, empty_base))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, empty_base))
 };
 
-BOOST_MPL_AUX_NA_SPEC(2, inherit2)
+NDNBOOST_MPL_AUX_NA_SPEC(2, inherit2)
 
 template<
       typename T1 = na, typename T2 = na, typename T3 = na
@@ -56,14 +56,14 @@
         , T3
         >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           3
         , inherit3
         , ( T1, T2, T3)
         )
 };
 
-BOOST_MPL_AUX_NA_SPEC(3, inherit3)
+NDNBOOST_MPL_AUX_NA_SPEC(3, inherit3)
 
 template<
       typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na
@@ -76,14 +76,14 @@
         , T4
         >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           4
         , inherit4
         , ( T1, T2, T3, T4)
         )
 };
 
-BOOST_MPL_AUX_NA_SPEC(4, inherit4)
+NDNBOOST_MPL_AUX_NA_SPEC(4, inherit4)
 
 template<
       typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na
@@ -97,14 +97,14 @@
         , T5
         >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , inherit5
         , ( T1, T2, T3, T4, T5)
         )
 };
 
-BOOST_MPL_AUX_NA_SPEC(5, inherit5)
+NDNBOOST_MPL_AUX_NA_SPEC(5, inherit5)
 
 /// primary template
 
@@ -134,8 +134,8 @@
     };
 };
 
-BOOST_MPL_AUX_NA_SPEC_LAMBDA(5, inherit)
-BOOST_MPL_AUX_NA_SPEC_ARITY(5, inherit)
-BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(5, 5, inherit)
+NDNBOOST_MPL_AUX_NA_SPEC_LAMBDA(5, inherit)
+NDNBOOST_MPL_AUX_NA_SPEC_ARITY(5, inherit)
+NDNBOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(5, 5, inherit)
 }}
 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/mwcw/iter_fold_if_impl.hpp b/include/ndnboost/mpl/aux_/preprocessed/mwcw/iter_fold_if_impl.hpp
index b0a2864..a74bd83 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/mwcw/iter_fold_if_impl.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/mwcw/iter_fold_if_impl.hpp
@@ -61,7 +61,7 @@
 {
     typedef typename apply2< Predicate,State,Iterator >::type not_last;
     typedef typename iter_fold_if_step_impl<
-          BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
+          NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
         >::template result_< Iterator,State,ForwardOp, mpl::next<Iterator> > impl_;
 
     typedef typename impl_::state state;
@@ -78,7 +78,7 @@
 {
     typedef typename apply2< Predicate,State,Iterator >::type not_last;
     typedef typename iter_fold_if_step_impl<
-          BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
+          NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
         >::template result_< Iterator,State,BackwardOp, identity<Iterator> > impl_;
 
     typedef typename impl_::state state;
diff --git a/include/ndnboost/mpl/aux_/preprocessed/mwcw/lambda_no_ctps.hpp b/include/ndnboost/mpl/aux_/preprocessed/mwcw/lambda_no_ctps.hpp
index 5bfc661..45f5f6b 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/mwcw/lambda_no_ctps.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/mwcw/lambda_no_ctps.hpp
@@ -44,7 +44,7 @@
         typedef lambda< typename F::arg1, Tag, false_ > l1;
         typedef typename l1::is_le is_le1;
         typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value
+              NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value
             > is_le;
 
         typedef bind1<
@@ -74,7 +74,7 @@
         
 
         typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value
+              NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value
             > is_le;
 
         typedef bind2<
@@ -106,7 +106,7 @@
         
 
         typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value
+              NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value
             > is_le;
 
         typedef bind3<
@@ -140,7 +140,7 @@
         
 
         typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value
+              NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value
             > is_le;
 
         typedef bind4<
@@ -177,7 +177,7 @@
         
 
         typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le5)::value
+              NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le5)::value
             > is_le;
 
         typedef bind5<
@@ -212,10 +212,10 @@
 
     typedef typename l_::type type;
     typedef typename l_::is_le is_le;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(3, lambda, (T, Tag, Protect))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(3, lambda, (T, Tag, Protect))
 };
 
-BOOST_MPL_AUX_NA_SPEC2(1, 3, lambda)
+NDNBOOST_MPL_AUX_NA_SPEC2(1, 3, lambda)
 
 template<
       typename T
diff --git a/include/ndnboost/mpl/aux_/preprocessed/mwcw/less.hpp b/include/ndnboost/mpl/aux_/preprocessed/mwcw/less.hpp
index 7139b79..a4b8eeb 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/mwcw/less.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/mwcw/less.hpp
@@ -17,8 +17,8 @@
     >
 struct less_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< less_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,8 +61,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 less
 
@@ -71,11 +71,11 @@
         , typename less_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, less, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 2, less)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 2, less)
 
 }}
 
@@ -86,7 +86,7 @@
 {
     template< typename N1, typename N2 > struct apply
 
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N2)::value > BOOST_MPL_AUX_VALUE_WKND(N1)::value ) >
+        : bool_< ( NDNBOOST_MPL_AUX_VALUE_WKND(N2)::value > NDNBOOST_MPL_AUX_VALUE_WKND(N1)::value ) >
     {
     };
 };
diff --git a/include/ndnboost/mpl/aux_/preprocessed/mwcw/less_equal.hpp b/include/ndnboost/mpl/aux_/preprocessed/mwcw/less_equal.hpp
index f7c3491..5cd141b 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/mwcw/less_equal.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/mwcw/less_equal.hpp
@@ -17,8 +17,8 @@
     >
 struct less_equal_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< less_equal_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,8 +61,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 less_equal
 
@@ -71,11 +71,11 @@
         , typename less_equal_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less_equal, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, less_equal, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 2, less_equal)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 2, less_equal)
 
 }}
 
@@ -86,7 +86,7 @@
 {
     template< typename N1, typename N2 > struct apply
 
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value <= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
+        : bool_< ( NDNBOOST_MPL_AUX_VALUE_WKND(N1)::value <= NDNBOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
     {
     };
 };
diff --git a/include/ndnboost/mpl/aux_/preprocessed/mwcw/minus.hpp b/include/ndnboost/mpl/aux_/preprocessed/mwcw/minus.hpp
index ae6b592..454fda8 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/mwcw/minus.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/mwcw/minus.hpp
@@ -17,8 +17,8 @@
     >
 struct minus_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< minus_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,14 +61,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 minus
     : minus< minus< minus< minus< N1,N2 >, N3>, N4>, N5>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , minus
         , ( N1, N2, N3, N4, N5 )
@@ -82,7 +82,7 @@
 
     : minus< minus< minus< N1,N2 >, N3>, N4>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , minus
         , ( N1, N2, N3, N4, na )
@@ -96,7 +96,7 @@
 
     : minus< minus< N1,N2 >, N3>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , minus
         , ( N1, N2, N3, na, na )
@@ -112,7 +112,7 @@
         , typename minus_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , minus
         , ( N1, N2, na, na, na )
@@ -120,7 +120,7 @@
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 5, minus)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 5, minus)
 
 }}
 
@@ -135,8 +135,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
                 )
             >
     {
diff --git a/include/ndnboost/mpl/aux_/preprocessed/mwcw/modulus.hpp b/include/ndnboost/mpl/aux_/preprocessed/mwcw/modulus.hpp
index 89c6172..3e89691 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/mwcw/modulus.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/mwcw/modulus.hpp
@@ -17,8 +17,8 @@
     >
 struct modulus_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< modulus_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,8 +61,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 modulus
 
@@ -71,11 +71,11 @@
         , typename modulus_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, modulus, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, modulus, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 2, modulus)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 2, modulus)
 
 }}
 
@@ -90,8 +90,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
                 )
             >
     {
diff --git a/include/ndnboost/mpl/aux_/preprocessed/mwcw/not_equal_to.hpp b/include/ndnboost/mpl/aux_/preprocessed/mwcw/not_equal_to.hpp
index b28e100..6de1e16 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/mwcw/not_equal_to.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/mwcw/not_equal_to.hpp
@@ -17,8 +17,8 @@
     >
 struct not_equal_to_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< not_equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,8 +61,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 not_equal_to
 
@@ -71,11 +71,11 @@
         , typename not_equal_to_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, not_equal_to, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, not_equal_to, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 2, not_equal_to)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 2, not_equal_to)
 
 }}
 
@@ -86,7 +86,7 @@
 {
     template< typename N1, typename N2 > struct apply
 
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value != BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
+        : bool_< ( NDNBOOST_MPL_AUX_VALUE_WKND(N1)::value != NDNBOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
     {
     };
 };
diff --git a/include/ndnboost/mpl/aux_/preprocessed/mwcw/or.hpp b/include/ndnboost/mpl/aux_/preprocessed/mwcw/or.hpp
index e929602..cae8edf 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/mwcw/or.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/mwcw/or.hpp
@@ -22,7 +22,7 @@
 template< typename T1, typename T2, typename T3, typename T4 >
 struct or_impl< false,T1,T2,T3,T4 >
     : or_impl<
-          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
+          NDNBOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
         , T2, T3, T4
         , false_
         >
@@ -41,26 +41,26 @@
 } // namespace aux
 
 template<
-      typename BOOST_MPL_AUX_NA_PARAM(T1)
-    , typename BOOST_MPL_AUX_NA_PARAM(T2)
+      typename NDNBOOST_MPL_AUX_NA_PARAM(T1)
+    , typename NDNBOOST_MPL_AUX_NA_PARAM(T2)
     , typename T3 = false_, typename T4 = false_, typename T5 = false_
     >
 struct or_
 
     : aux::or_impl<
-          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
+          NDNBOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
         , T2, T3, T4, T5
         >
 
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , or_
         , ( T1, T2, T3, T4, T5)
         )
 };
 
-BOOST_MPL_AUX_NA_SPEC2(
+NDNBOOST_MPL_AUX_NA_SPEC2(
       2
     , 5
     , or_
diff --git a/include/ndnboost/mpl/aux_/preprocessed/mwcw/placeholders.hpp b/include/ndnboost/mpl/aux_/preprocessed/mwcw/placeholders.hpp
index ecd4514..3a28c09 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/mwcw/placeholders.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/mwcw/placeholders.hpp
@@ -10,96 +10,96 @@
 // Preprocessed version of "ndnboost/mpl/placeholders.hpp" header
 // -- DO NOT modify by hand!
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 typedef arg< -1 > _;
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
 namespace ndnboost { namespace mpl {
 
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_)
+NDNBOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_)
 
 namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_;
+using NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_;
 }
 
 }}
 
 /// agurt, 17/mar/02: one more placeholder for the last 'apply#' 
 /// specialization
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 typedef arg<1> _1;
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
 namespace ndnboost { namespace mpl {
 
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1)
+NDNBOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1)
 
 namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1;
+using NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1;
 }
 
 }}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 typedef arg<2> _2;
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
 namespace ndnboost { namespace mpl {
 
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2)
+NDNBOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2)
 
 namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2;
+using NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2;
 }
 
 }}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 typedef arg<3> _3;
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
 namespace ndnboost { namespace mpl {
 
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3)
+NDNBOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3)
 
 namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3;
+using NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3;
 }
 
 }}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 typedef arg<4> _4;
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
 namespace ndnboost { namespace mpl {
 
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4)
+NDNBOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4)
 
 namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4;
+using NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4;
 }
 
 }}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 typedef arg<5> _5;
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
 namespace ndnboost { namespace mpl {
 
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5)
+NDNBOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5)
 
 namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5;
+using NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5;
 }
 
 }}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 typedef arg<6> _6;
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
 namespace ndnboost { namespace mpl {
 
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6)
+NDNBOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6)
 
 namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6;
+using NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6;
 }
 
 }}
diff --git a/include/ndnboost/mpl/aux_/preprocessed/mwcw/plus.hpp b/include/ndnboost/mpl/aux_/preprocessed/mwcw/plus.hpp
index de03e3e..5d8b2cd 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/mwcw/plus.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/mwcw/plus.hpp
@@ -17,8 +17,8 @@
     >
 struct plus_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< plus_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,14 +61,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 plus
     : plus< plus< plus< plus< N1,N2 >, N3>, N4>, N5>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , plus
         , ( N1, N2, N3, N4, N5 )
@@ -82,7 +82,7 @@
 
     : plus< plus< plus< N1,N2 >, N3>, N4>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , plus
         , ( N1, N2, N3, N4, na )
@@ -96,7 +96,7 @@
 
     : plus< plus< N1,N2 >, N3>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , plus
         , ( N1, N2, N3, na, na )
@@ -112,7 +112,7 @@
         , typename plus_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , plus
         , ( N1, N2, na, na, na )
@@ -120,7 +120,7 @@
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 5, plus)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 5, plus)
 
 }}
 
@@ -135,8 +135,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
                 )
             >
     {
diff --git a/include/ndnboost/mpl/aux_/preprocessed/mwcw/shift_left.hpp b/include/ndnboost/mpl/aux_/preprocessed/mwcw/shift_left.hpp
index c8df29c..2964fb8 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/mwcw/shift_left.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/mwcw/shift_left.hpp
@@ -18,8 +18,8 @@
     >
 struct shift_left_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< shift_left_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,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
 
@@ -72,11 +72,11 @@
         , typename shift_left_tag<N2>::type
         >::template apply< N1,N2 >::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)
 
 }}
 
@@ -88,8 +88,8 @@
 
         : integral_c<
               typename N::value_type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N)::value
-                  << BOOST_MPL_AUX_VALUE_WKND(S)::value
+            , ( NDNBOOST_MPL_AUX_VALUE_WKND(N)::value
+                  << NDNBOOST_MPL_AUX_VALUE_WKND(S)::value
                 )
             >
     {
diff --git a/include/ndnboost/mpl/aux_/preprocessed/mwcw/shift_right.hpp b/include/ndnboost/mpl/aux_/preprocessed/mwcw/shift_right.hpp
index a726ff1..57a5fe0 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/mwcw/shift_right.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/mwcw/shift_right.hpp
@@ -18,8 +18,8 @@
     >
 struct shift_right_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< shift_right_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,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_right
 
@@ -72,11 +72,11 @@
         , typename shift_right_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_right, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_right, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_right)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 2, shift_right)
 
 }}
 
@@ -88,8 +88,8 @@
 
         : integral_c<
               typename N::value_type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N)::value
-                  >> BOOST_MPL_AUX_VALUE_WKND(S)::value
+            , ( NDNBOOST_MPL_AUX_VALUE_WKND(N)::value
+                  >> NDNBOOST_MPL_AUX_VALUE_WKND(S)::value
                 )
             >
     {
diff --git a/include/ndnboost/mpl/aux_/preprocessed/mwcw/times.hpp b/include/ndnboost/mpl/aux_/preprocessed/mwcw/times.hpp
index f4514e5..9a55fed 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/mwcw/times.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/mwcw/times.hpp
@@ -17,8 +17,8 @@
     >
 struct times_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< times_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,14 +61,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 times
     : times< times< times< times< N1,N2 >, N3>, N4>, N5>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , times
         , ( N1, N2, N3, N4, N5 )
@@ -82,7 +82,7 @@
 
     : times< times< times< N1,N2 >, N3>, N4>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , times
         , ( N1, N2, N3, N4, na )
@@ -96,7 +96,7 @@
 
     : times< times< N1,N2 >, N3>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , times
         , ( N1, N2, N3, na, na )
@@ -112,7 +112,7 @@
         , typename times_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , times
         , ( N1, N2, na, na, na )
@@ -120,7 +120,7 @@
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 5, times)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 5, times)
 
 }}
 
@@ -135,8 +135,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
                 )
             >
     {
diff --git a/include/ndnboost/mpl/aux_/preprocessed/mwcw/unpack_args.hpp b/include/ndnboost/mpl/aux_/preprocessed/mwcw/unpack_args.hpp
index 9c9204f..aec31af 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/mwcw/unpack_args.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/mwcw/unpack_args.hpp
@@ -88,7 +88,7 @@
     };
 };
 
-BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args)
+NDNBOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args)
 
 }}
 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/no_ctps/and.hpp b/include/ndnboost/mpl/aux_/preprocessed/no_ctps/and.hpp
index 2ae4e3b..d69b940 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/no_ctps/and.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/no_ctps/and.hpp
@@ -30,7 +30,7 @@
         >
     struct result_
         : and_impl<
-              BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
+              NDNBOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
             >::template result_< T2,T3,T4,true_ >
     {
     };
@@ -46,25 +46,25 @@
 } // namespace aux
 
 template<
-      typename BOOST_MPL_AUX_NA_PARAM(T1)
-    , typename BOOST_MPL_AUX_NA_PARAM(T2)
+      typename NDNBOOST_MPL_AUX_NA_PARAM(T1)
+    , typename NDNBOOST_MPL_AUX_NA_PARAM(T2)
     , typename T3 = true_, typename T4 = true_, typename T5 = true_
     >
 struct and_
 
     : aux::and_impl<
-          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
+          NDNBOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
         >::template result_< T2,T3,T4,T5 >
 
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , and_
         , ( T1, T2, T3, T4, T5)
         )
 };
 
-BOOST_MPL_AUX_NA_SPEC2(
+NDNBOOST_MPL_AUX_NA_SPEC2(
       2
     , 5
     , and_
diff --git a/include/ndnboost/mpl/aux_/preprocessed/no_ctps/apply.hpp b/include/ndnboost/mpl/aux_/preprocessed/no_ctps/apply.hpp
index 1386c6e..3b60e0b 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/no_ctps/apply.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/no_ctps/apply.hpp
@@ -21,7 +21,7 @@
        
         >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           1
         , apply0
         , (F )
@@ -57,7 +57,7 @@
         , T1
         >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           2
         , apply1
         , (F, T1)
@@ -93,7 +93,7 @@
         , T1, T2
         >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           3
         , apply2
         , (F, T1, T2)
@@ -129,7 +129,7 @@
         , T1, T2, T3
         >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           4
         , apply3
         , (F, T1, T2, T3)
@@ -165,7 +165,7 @@
         , T1, T2, T3, T4
         >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , apply4
         , (F, T1, T2, T3, T4)
@@ -202,7 +202,7 @@
         , T1, T2, T3, T4, T5
         >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           6
         , apply5
         , (F, T1, T2, T3, T4, T5)
diff --git a/include/ndnboost/mpl/aux_/preprocessed/no_ctps/apply_fwd.hpp b/include/ndnboost/mpl/aux_/preprocessed/no_ctps/apply_fwd.hpp
index d5be947..6f5288c 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/no_ctps/apply_fwd.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/no_ctps/apply_fwd.hpp
@@ -12,7 +12,7 @@
 namespace ndnboost { namespace mpl {
 
 namespace aux {
-template< BOOST_AUX_NTTP_DECL(int, arity_) > struct apply_chooser;
+template< NDNBOOST_AUX_NTTP_DECL(int, arity_) > struct apply_chooser;
 }
 
 template<
diff --git a/include/ndnboost/mpl/aux_/preprocessed/no_ctps/arg.hpp b/include/ndnboost/mpl/aux_/preprocessed/no_ctps/arg.hpp
index 9a157c2..154476a 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/no_ctps/arg.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/no_ctps/arg.hpp
@@ -10,12 +10,12 @@
 // Preprocessed version of "ndnboost/mpl/arg.hpp" header
 // -- DO NOT modify by hand!
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 template<> struct arg< -1 >
 {
-    BOOST_STATIC_CONSTANT(int, value  = -1);
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
+    NDNBOOST_STATIC_CONSTANT(int, value  = -1);
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, type)
 
     template<
           typename U1 = na, typename U2 = na, typename U3 = na
@@ -24,16 +24,16 @@
     struct apply
     {
         typedef U1 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
+        NDNBOOST_MPL_AUX_ASSERT_NOT_NA(type);
     };
 };
 
 template<> struct arg<1>
 {
-    BOOST_STATIC_CONSTANT(int, value  = 1);
+    NDNBOOST_STATIC_CONSTANT(int, value  = 1);
     typedef arg<2> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, type)
 
     template<
           typename U1 = na, typename U2 = na, typename U3 = na
@@ -42,16 +42,16 @@
     struct apply
     {
         typedef U1 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
+        NDNBOOST_MPL_AUX_ASSERT_NOT_NA(type);
     };
 };
 
 template<> struct arg<2>
 {
-    BOOST_STATIC_CONSTANT(int, value  = 2);
+    NDNBOOST_STATIC_CONSTANT(int, value  = 2);
     typedef arg<3> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, type)
 
     template<
           typename U1 = na, typename U2 = na, typename U3 = na
@@ -60,16 +60,16 @@
     struct apply
     {
         typedef U2 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
+        NDNBOOST_MPL_AUX_ASSERT_NOT_NA(type);
     };
 };
 
 template<> struct arg<3>
 {
-    BOOST_STATIC_CONSTANT(int, value  = 3);
+    NDNBOOST_STATIC_CONSTANT(int, value  = 3);
     typedef arg<4> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, type)
 
     template<
           typename U1 = na, typename U2 = na, typename U3 = na
@@ -78,16 +78,16 @@
     struct apply
     {
         typedef U3 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
+        NDNBOOST_MPL_AUX_ASSERT_NOT_NA(type);
     };
 };
 
 template<> struct arg<4>
 {
-    BOOST_STATIC_CONSTANT(int, value  = 4);
+    NDNBOOST_STATIC_CONSTANT(int, value  = 4);
     typedef arg<5> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, type)
 
     template<
           typename U1 = na, typename U2 = na, typename U3 = na
@@ -96,16 +96,16 @@
     struct apply
     {
         typedef U4 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
+        NDNBOOST_MPL_AUX_ASSERT_NOT_NA(type);
     };
 };
 
 template<> struct arg<5>
 {
-    BOOST_STATIC_CONSTANT(int, value  = 5);
+    NDNBOOST_STATIC_CONSTANT(int, value  = 5);
     typedef arg<6> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, type)
 
     template<
           typename U1 = na, typename U2 = na, typename U3 = na
@@ -114,10 +114,10 @@
     struct apply
     {
         typedef U5 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
+        NDNBOOST_MPL_AUX_ASSERT_NOT_NA(type);
     };
 };
 
-BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg)
+NDNBOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg)
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
diff --git a/include/ndnboost/mpl/aux_/preprocessed/no_ctps/basic_bind.hpp b/include/ndnboost/mpl/aux_/preprocessed/no_ctps/basic_bind.hpp
index a0fd1e8..1c962e7 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/no_ctps/basic_bind.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/no_ctps/basic_bind.hpp
@@ -73,7 +73,7 @@
 {
     template< typename T > struct result_
     {
-        BOOST_STATIC_CONSTANT(bool, value  = false);
+        NDNBOOST_STATIC_CONSTANT(bool, value  = false);
     };
 };
 
@@ -82,7 +82,7 @@
 {
     template< typename T > struct result_
     {
-        BOOST_STATIC_CONSTANT(bool, value =
+        NDNBOOST_STATIC_CONSTANT(bool, value =
               sizeof(aux::is_bind_helper(static_cast<T*>(0)))
                 == sizeof(aux::yes_tag)
             );
@@ -129,8 +129,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(1, bind0)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
+NDNBOOST_MPL_AUX_ARITY_SPEC(1, bind0)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
 
 namespace aux {
 
@@ -183,8 +183,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(2, bind1)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
+NDNBOOST_MPL_AUX_ARITY_SPEC(2, bind1)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
 
 namespace aux {
 
@@ -238,8 +238,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(3, bind2)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
+NDNBOOST_MPL_AUX_ARITY_SPEC(3, bind2)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
 
 namespace aux {
 
@@ -294,8 +294,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(4, bind3)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
+NDNBOOST_MPL_AUX_ARITY_SPEC(4, bind3)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
 
 namespace aux {
 
@@ -352,8 +352,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(5, bind4)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
+NDNBOOST_MPL_AUX_ARITY_SPEC(5, bind4)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
 
 namespace aux {
 
@@ -413,8 +413,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(6, bind5)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
+NDNBOOST_MPL_AUX_ARITY_SPEC(6, bind5)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
 
 namespace aux {
 
@@ -438,13 +438,13 @@
 template< typename T >
 struct is_bind_arg
 {
-    BOOST_STATIC_CONSTANT(bool, value  = true);
+    NDNBOOST_STATIC_CONSTANT(bool, value  = true);
 };
 
 template<>
 struct is_bind_arg<na>
 {
-    BOOST_STATIC_CONSTANT(bool, value  = false);
+    NDNBOOST_STATIC_CONSTANT(bool, value  = false);
 };
 
 template<
@@ -452,7 +452,7 @@
     >
 struct bind_count_args
 {
-    BOOST_STATIC_CONSTANT(int, value =
+    NDNBOOST_STATIC_CONSTANT(int, value =
           is_bind_arg<T1>::value + is_bind_arg<T2>::value 
         + is_bind_arg<T3>::value + is_bind_arg<T4>::value 
         + is_bind_arg<T5>::value
@@ -473,12 +473,12 @@
 {
 };
 
-BOOST_MPL_AUX_ARITY_SPEC(
+NDNBOOST_MPL_AUX_ARITY_SPEC(
       6
     , bind
     )
 
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(
       6
     , bind
     )
diff --git a/include/ndnboost/mpl/aux_/preprocessed/no_ctps/bind.hpp b/include/ndnboost/mpl/aux_/preprocessed/no_ctps/bind.hpp
index 904c64f..295251e 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/no_ctps/bind.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/no_ctps/bind.hpp
@@ -99,7 +99,7 @@
 {
     template< typename T > struct result_
     {
-        BOOST_STATIC_CONSTANT(bool, value  = false);
+        NDNBOOST_STATIC_CONSTANT(bool, value  = false);
     };
 };
 
@@ -108,7 +108,7 @@
 {
     template< typename T > struct result_
     {
-        BOOST_STATIC_CONSTANT(bool, value =
+        NDNBOOST_STATIC_CONSTANT(bool, value =
               sizeof(aux::is_bind_helper(static_cast<T*>(0)))
                 == sizeof(aux::yes_tag)
             );
@@ -158,8 +158,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(1, bind0)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
+NDNBOOST_MPL_AUX_ARITY_SPEC(1, bind0)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
 
 namespace aux {
 
@@ -219,8 +219,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(2, bind1)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
+NDNBOOST_MPL_AUX_ARITY_SPEC(2, bind1)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
 
 namespace aux {
 
@@ -285,8 +285,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(3, bind2)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
+NDNBOOST_MPL_AUX_ARITY_SPEC(3, bind2)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
 
 namespace aux {
 
@@ -356,8 +356,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(4, bind3)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
+NDNBOOST_MPL_AUX_ARITY_SPEC(4, bind3)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
 
 namespace aux {
 
@@ -433,8 +433,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(5, bind4)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
+NDNBOOST_MPL_AUX_ARITY_SPEC(5, bind4)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
 
 namespace aux {
 
@@ -517,8 +517,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(6, bind5)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
+NDNBOOST_MPL_AUX_ARITY_SPEC(6, bind5)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
 
 namespace aux {
 
@@ -542,13 +542,13 @@
 template< typename T >
 struct is_bind_arg
 {
-    BOOST_STATIC_CONSTANT(bool, value  = true);
+    NDNBOOST_STATIC_CONSTANT(bool, value  = true);
 };
 
 template<>
 struct is_bind_arg<na>
 {
-    BOOST_STATIC_CONSTANT(bool, value  = false);
+    NDNBOOST_STATIC_CONSTANT(bool, value  = false);
 };
 
 template<
@@ -556,7 +556,7 @@
     >
 struct bind_count_args
 {
-    BOOST_STATIC_CONSTANT(int, value =
+    NDNBOOST_STATIC_CONSTANT(int, value =
           is_bind_arg<T1>::value + is_bind_arg<T2>::value 
         + is_bind_arg<T3>::value + is_bind_arg<T4>::value 
         + is_bind_arg<T5>::value
@@ -577,12 +577,12 @@
 {
 };
 
-BOOST_MPL_AUX_ARITY_SPEC(
+NDNBOOST_MPL_AUX_ARITY_SPEC(
       6
     , bind
     )
 
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(
       6
     , bind
     )
diff --git a/include/ndnboost/mpl/aux_/preprocessed/no_ctps/bitand.hpp b/include/ndnboost/mpl/aux_/preprocessed/no_ctps/bitand.hpp
index 23dfcbc..23a2e01 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/no_ctps/bitand.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/no_ctps/bitand.hpp
@@ -18,8 +18,8 @@
     >
 struct bitand_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< bitand_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);
     };
 };
 
@@ -64,14 +64,14 @@
 /// forward declaration
 
 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 bitand_2;
 
 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 bitand_
@@ -87,7 +87,7 @@
         >::type
 
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , bitand_
         , ( N1, N2, N3, N4, N5 )
@@ -104,11 +104,11 @@
         , typename bitand_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, bitand_2, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, bitand_2, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitand_)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 5, bitand_)
 
 }}
 
@@ -123,8 +123,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
                 )
             >
     {
diff --git a/include/ndnboost/mpl/aux_/preprocessed/no_ctps/bitor.hpp b/include/ndnboost/mpl/aux_/preprocessed/no_ctps/bitor.hpp
index ff6221a..bec923d 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/no_ctps/bitor.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/no_ctps/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);
     };
 };
 
@@ -64,14 +64,14 @@
 /// forward declaration
 
 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 bitor_2;
 
 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_
@@ -87,7 +87,7 @@
         >::type
 
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , bitor_
         , ( N1, N2, N3, N4, N5 )
@@ -104,11 +104,11 @@
         , typename bitor_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, bitor_2, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, bitor_2, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitor_)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 5, bitor_)
 
 }}
 
@@ -123,8 +123,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
                 )
             >
     {
diff --git a/include/ndnboost/mpl/aux_/preprocessed/no_ctps/bitxor.hpp b/include/ndnboost/mpl/aux_/preprocessed/no_ctps/bitxor.hpp
index 60d2a26..dd48718 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/no_ctps/bitxor.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/no_ctps/bitxor.hpp
@@ -18,8 +18,8 @@
     >
 struct bitxor_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< bitxor_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);
     };
 };
 
@@ -64,14 +64,14 @@
 /// forward declaration
 
 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 bitxor_2;
 
 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 bitxor_
@@ -87,7 +87,7 @@
         >::type
 
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , bitxor_
         , ( N1, N2, N3, N4, N5 )
@@ -104,11 +104,11 @@
         , typename bitxor_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, bitxor_2, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, bitxor_2, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitxor_)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 5, bitxor_)
 
 }}
 
@@ -123,8 +123,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
                 )
             >
     {
diff --git a/include/ndnboost/mpl/aux_/preprocessed/no_ctps/deque.hpp b/include/ndnboost/mpl/aux_/preprocessed/no_ctps/deque.hpp
index 8a7e2c3..ed97d82 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/no_ctps/deque.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/no_ctps/deque.hpp
@@ -484,13 +484,13 @@
 template< typename T >
 struct is_deque_arg
 {
-    BOOST_STATIC_CONSTANT(bool, value  = true);
+    NDNBOOST_STATIC_CONSTANT(bool, value  = true);
 };
 
 template<>
 struct is_deque_arg<na>
 {
-    BOOST_STATIC_CONSTANT(bool, value  = false);
+    NDNBOOST_STATIC_CONSTANT(bool, value  = false);
 };
 
 template<
@@ -501,7 +501,7 @@
     >
 struct deque_count_args
 {
-    BOOST_STATIC_CONSTANT(int, value =
+    NDNBOOST_STATIC_CONSTANT(int, value =
           is_deque_arg<T1>::value + is_deque_arg<T2>::value 
         + is_deque_arg<T3>::value + is_deque_arg<T4>::value 
         + is_deque_arg<T5>::value + is_deque_arg<T6>::value 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/no_ctps/divides.hpp b/include/ndnboost/mpl/aux_/preprocessed/no_ctps/divides.hpp
index 2040b98..4a98ba0 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/no_ctps/divides.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/no_ctps/divides.hpp
@@ -17,8 +17,8 @@
     >
 struct divides_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< divides_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -63,14 +63,14 @@
 /// forward declaration
 
 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 divides2;
 
 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 divides
@@ -86,7 +86,7 @@
         >::type
 
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , divides
         , ( N1, N2, N3, N4, N5 )
@@ -103,11 +103,11 @@
         , typename divides_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, divides2, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, divides2, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 5, divides)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 5, divides)
 
 }}
 
@@ -122,8 +122,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
                 )
             >
     {
diff --git a/include/ndnboost/mpl/aux_/preprocessed/no_ctps/equal_to.hpp b/include/ndnboost/mpl/aux_/preprocessed/no_ctps/equal_to.hpp
index 5b456bc..11e6d11 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/no_ctps/equal_to.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/no_ctps/equal_to.hpp
@@ -17,8 +17,8 @@
     >
 struct equal_to_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< equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,8 +61,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 equal_to
 
@@ -71,11 +71,11 @@
         , typename equal_to_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, equal_to, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, equal_to, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 2, equal_to)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 2, equal_to)
 
 }}
 
@@ -86,7 +86,7 @@
 {
     template< typename N1, typename N2 > struct apply
 
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value  == BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
+        : bool_< ( NDNBOOST_MPL_AUX_VALUE_WKND(N1)::value  == NDNBOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
     {
     };
 };
diff --git a/include/ndnboost/mpl/aux_/preprocessed/no_ctps/full_lambda.hpp b/include/ndnboost/mpl/aux_/preprocessed/no_ctps/full_lambda.hpp
index de658d8..7da971e 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/no_ctps/full_lambda.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/no_ctps/full_lambda.hpp
@@ -548,7 +548,7 @@
     typedef typename le_result_::type type;
 };
 
-BOOST_MPL_AUX_NA_SPEC(2, lambda)
+NDNBOOST_MPL_AUX_NA_SPEC(2, lambda)
 
 }}
 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/no_ctps/greater.hpp b/include/ndnboost/mpl/aux_/preprocessed/no_ctps/greater.hpp
index 936836f..e6eb61e 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/no_ctps/greater.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/no_ctps/greater.hpp
@@ -17,8 +17,8 @@
     >
 struct greater_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< greater_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,8 +61,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 greater
 
@@ -71,11 +71,11 @@
         , typename greater_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 2, greater)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 2, greater)
 
 }}
 
@@ -86,7 +86,7 @@
 {
     template< typename N1, typename N2 > struct apply
 
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value > BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
+        : bool_< ( NDNBOOST_MPL_AUX_VALUE_WKND(N1)::value > NDNBOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
     {
     };
 };
diff --git a/include/ndnboost/mpl/aux_/preprocessed/no_ctps/greater_equal.hpp b/include/ndnboost/mpl/aux_/preprocessed/no_ctps/greater_equal.hpp
index c6654b0..5ab4441 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/no_ctps/greater_equal.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/no_ctps/greater_equal.hpp
@@ -17,8 +17,8 @@
     >
 struct greater_equal_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< greater_equal_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,8 +61,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 greater_equal
 
@@ -71,11 +71,11 @@
         , typename greater_equal_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater_equal, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater_equal, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 2, greater_equal)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 2, greater_equal)
 
 }}
 
@@ -86,7 +86,7 @@
 {
     template< typename N1, typename N2 > struct apply
 
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
+        : bool_< ( NDNBOOST_MPL_AUX_VALUE_WKND(N1)::value >= NDNBOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
     {
     };
 };
diff --git a/include/ndnboost/mpl/aux_/preprocessed/no_ctps/inherit.hpp b/include/ndnboost/mpl/aux_/preprocessed/no_ctps/inherit.hpp
index 12328f7..7cb0a48 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/no_ctps/inherit.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/no_ctps/inherit.hpp
@@ -55,8 +55,8 @@
 } // namespace aux
 
 template<
-      typename BOOST_MPL_AUX_NA_PARAM(T1)
-    , typename BOOST_MPL_AUX_NA_PARAM(T2)
+      typename NDNBOOST_MPL_AUX_NA_PARAM(T1)
+    , typename NDNBOOST_MPL_AUX_NA_PARAM(T2)
     >
 struct inherit2
     : aux::inherit2_impl<
@@ -65,10 +65,10 @@
         >::template result_< inherit2< T1,T2 >,T1, T2 >
 {
     typedef typename inherit2::type_ type;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, inherit2, (T1, T2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, inherit2, (T1, T2))
 };
 
-BOOST_MPL_AUX_NA_SPEC(2, inherit2)
+NDNBOOST_MPL_AUX_NA_SPEC(2, inherit2)
 
 template<
       typename T1 = na, typename T2 = na, typename T3 = na
@@ -81,14 +81,14 @@
         , T3
         >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           3
         , inherit3
         , ( T1, T2, T3)
         )
 };
 
-BOOST_MPL_AUX_NA_SPEC(3, inherit3)
+NDNBOOST_MPL_AUX_NA_SPEC(3, inherit3)
 
 template<
       typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na
@@ -101,14 +101,14 @@
         , T4
         >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           4
         , inherit4
         , ( T1, T2, T3, T4)
         )
 };
 
-BOOST_MPL_AUX_NA_SPEC(4, inherit4)
+NDNBOOST_MPL_AUX_NA_SPEC(4, inherit4)
 
 template<
       typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na
@@ -122,14 +122,14 @@
         , T5
         >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , inherit5
         , ( T1, T2, T3, T4, T5)
         )
 };
 
-BOOST_MPL_AUX_NA_SPEC(5, inherit5)
+NDNBOOST_MPL_AUX_NA_SPEC(5, inherit5)
 
 /// primary template
 
@@ -159,8 +159,8 @@
     };
 };
 
-BOOST_MPL_AUX_NA_SPEC_LAMBDA(5, inherit)
-BOOST_MPL_AUX_NA_SPEC_ARITY(5, inherit)
-BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(5, 5, inherit)
+NDNBOOST_MPL_AUX_NA_SPEC_LAMBDA(5, inherit)
+NDNBOOST_MPL_AUX_NA_SPEC_ARITY(5, inherit)
+NDNBOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(5, 5, inherit)
 }}
 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/no_ctps/iter_fold_if_impl.hpp b/include/ndnboost/mpl/aux_/preprocessed/no_ctps/iter_fold_if_impl.hpp
index b0a2864..a74bd83 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/no_ctps/iter_fold_if_impl.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/no_ctps/iter_fold_if_impl.hpp
@@ -61,7 +61,7 @@
 {
     typedef typename apply2< Predicate,State,Iterator >::type not_last;
     typedef typename iter_fold_if_step_impl<
-          BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
+          NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
         >::template result_< Iterator,State,ForwardOp, mpl::next<Iterator> > impl_;
 
     typedef typename impl_::state state;
@@ -78,7 +78,7 @@
 {
     typedef typename apply2< Predicate,State,Iterator >::type not_last;
     typedef typename iter_fold_if_step_impl<
-          BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
+          NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
         >::template result_< Iterator,State,BackwardOp, identity<Iterator> > impl_;
 
     typedef typename impl_::state state;
diff --git a/include/ndnboost/mpl/aux_/preprocessed/no_ctps/lambda_no_ctps.hpp b/include/ndnboost/mpl/aux_/preprocessed/no_ctps/lambda_no_ctps.hpp
index 5bfc661..45f5f6b 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/no_ctps/lambda_no_ctps.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/no_ctps/lambda_no_ctps.hpp
@@ -44,7 +44,7 @@
         typedef lambda< typename F::arg1, Tag, false_ > l1;
         typedef typename l1::is_le is_le1;
         typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value
+              NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value
             > is_le;
 
         typedef bind1<
@@ -74,7 +74,7 @@
         
 
         typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value
+              NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value
             > is_le;
 
         typedef bind2<
@@ -106,7 +106,7 @@
         
 
         typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value
+              NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value
             > is_le;
 
         typedef bind3<
@@ -140,7 +140,7 @@
         
 
         typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value
+              NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value
             > is_le;
 
         typedef bind4<
@@ -177,7 +177,7 @@
         
 
         typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le5)::value
+              NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le5)::value
             > is_le;
 
         typedef bind5<
@@ -212,10 +212,10 @@
 
     typedef typename l_::type type;
     typedef typename l_::is_le is_le;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(3, lambda, (T, Tag, Protect))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(3, lambda, (T, Tag, Protect))
 };
 
-BOOST_MPL_AUX_NA_SPEC2(1, 3, lambda)
+NDNBOOST_MPL_AUX_NA_SPEC2(1, 3, lambda)
 
 template<
       typename T
diff --git a/include/ndnboost/mpl/aux_/preprocessed/no_ctps/less.hpp b/include/ndnboost/mpl/aux_/preprocessed/no_ctps/less.hpp
index 4460cca..ebe8607 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/no_ctps/less.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/no_ctps/less.hpp
@@ -17,8 +17,8 @@
     >
 struct less_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< less_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,8 +61,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 less
 
@@ -71,11 +71,11 @@
         , typename less_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, less, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 2, less)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 2, less)
 
 }}
 
@@ -86,7 +86,7 @@
 {
     template< typename N1, typename N2 > struct apply
 
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N2)::value > BOOST_MPL_AUX_VALUE_WKND(N1)::value ) >
+        : bool_< ( NDNBOOST_MPL_AUX_VALUE_WKND(N2)::value > NDNBOOST_MPL_AUX_VALUE_WKND(N1)::value ) >
     {
     };
 };
diff --git a/include/ndnboost/mpl/aux_/preprocessed/no_ctps/less_equal.hpp b/include/ndnboost/mpl/aux_/preprocessed/no_ctps/less_equal.hpp
index 8da1edf..37b19aa 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/no_ctps/less_equal.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/no_ctps/less_equal.hpp
@@ -17,8 +17,8 @@
     >
 struct less_equal_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< less_equal_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,8 +61,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 less_equal
 
@@ -71,11 +71,11 @@
         , typename less_equal_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less_equal, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, less_equal, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 2, less_equal)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 2, less_equal)
 
 }}
 
@@ -86,7 +86,7 @@
 {
     template< typename N1, typename N2 > struct apply
 
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value <= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
+        : bool_< ( NDNBOOST_MPL_AUX_VALUE_WKND(N1)::value <= NDNBOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
     {
     };
 };
diff --git a/include/ndnboost/mpl/aux_/preprocessed/no_ctps/list.hpp b/include/ndnboost/mpl/aux_/preprocessed/no_ctps/list.hpp
index 63062d2..2b19e60 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/no_ctps/list.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/no_ctps/list.hpp
@@ -484,13 +484,13 @@
 template< typename T >
 struct is_list_arg
 {
-    BOOST_STATIC_CONSTANT(bool, value  = true);
+    NDNBOOST_STATIC_CONSTANT(bool, value  = true);
 };
 
 template<>
 struct is_list_arg<na>
 {
-    BOOST_STATIC_CONSTANT(bool, value  = false);
+    NDNBOOST_STATIC_CONSTANT(bool, value  = false);
 };
 
 template<
@@ -501,7 +501,7 @@
     >
 struct list_count_args
 {
-    BOOST_STATIC_CONSTANT(int, value =
+    NDNBOOST_STATIC_CONSTANT(int, value =
           is_list_arg<T1>::value + is_list_arg<T2>::value 
         + is_list_arg<T3>::value + is_list_arg<T4>::value 
         + is_list_arg<T5>::value + is_list_arg<T6>::value 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/no_ctps/list_c.hpp b/include/ndnboost/mpl/aux_/preprocessed/no_ctps/list_c.hpp
index 010f92e..0ed7f7e 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/no_ctps/list_c.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/no_ctps/list_c.hpp
@@ -463,13 +463,13 @@
 template< long C >
 struct is_list_c_arg
 {
-    BOOST_STATIC_CONSTANT(bool, value  = true);
+    NDNBOOST_STATIC_CONSTANT(bool, value  = true);
 };
 
 template<>
 struct is_list_c_arg<LONG_MAX>
 {
-    BOOST_STATIC_CONSTANT(bool, value  = false);
+    NDNBOOST_STATIC_CONSTANT(bool, value  = false);
 };
 
 template<
@@ -479,7 +479,7 @@
     >
 struct list_c_count_args
 {
-    BOOST_STATIC_CONSTANT(int, value =
+    NDNBOOST_STATIC_CONSTANT(int, value =
           is_list_c_arg<C1>::value + is_list_c_arg<C2>::value 
         + is_list_c_arg<C3>::value + is_list_c_arg<C4>::value 
         + is_list_c_arg<C5>::value + is_list_c_arg<C6>::value 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/no_ctps/map.hpp b/include/ndnboost/mpl/aux_/preprocessed/no_ctps/map.hpp
index 3066603..75174c8 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/no_ctps/map.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/no_ctps/map.hpp
@@ -484,13 +484,13 @@
 template< typename T >
 struct is_map_arg
 {
-    BOOST_STATIC_CONSTANT(bool, value  = true);
+    NDNBOOST_STATIC_CONSTANT(bool, value  = true);
 };
 
 template<>
 struct is_map_arg<na>
 {
-    BOOST_STATIC_CONSTANT(bool, value  = false);
+    NDNBOOST_STATIC_CONSTANT(bool, value  = false);
 };
 
 template<
@@ -501,7 +501,7 @@
     >
 struct map_count_args
 {
-    BOOST_STATIC_CONSTANT(int, value =
+    NDNBOOST_STATIC_CONSTANT(int, value =
           is_map_arg<T1>::value + is_map_arg<T2>::value 
         + is_map_arg<T3>::value + is_map_arg<T4>::value 
         + is_map_arg<T5>::value + is_map_arg<T6>::value 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/no_ctps/minus.hpp b/include/ndnboost/mpl/aux_/preprocessed/no_ctps/minus.hpp
index a615210..914d669 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/no_ctps/minus.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/no_ctps/minus.hpp
@@ -17,8 +17,8 @@
     >
 struct minus_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< minus_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -63,14 +63,14 @@
 /// forward declaration
 
 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 minus2;
 
 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 minus
@@ -86,7 +86,7 @@
         >::type
 
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , minus
         , ( N1, N2, N3, N4, N5 )
@@ -103,11 +103,11 @@
         , typename minus_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, minus2, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, minus2, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 5, minus)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 5, minus)
 
 }}
 
@@ -122,8 +122,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
                 )
             >
     {
diff --git a/include/ndnboost/mpl/aux_/preprocessed/no_ctps/modulus.hpp b/include/ndnboost/mpl/aux_/preprocessed/no_ctps/modulus.hpp
index a3c75d4..7b2e7ab 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/no_ctps/modulus.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/no_ctps/modulus.hpp
@@ -17,8 +17,8 @@
     >
 struct modulus_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< modulus_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,8 +61,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 modulus
 
@@ -71,11 +71,11 @@
         , typename modulus_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, modulus, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, modulus, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 2, modulus)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 2, modulus)
 
 }}
 
@@ -90,8 +90,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
                 )
             >
     {
diff --git a/include/ndnboost/mpl/aux_/preprocessed/no_ctps/not_equal_to.hpp b/include/ndnboost/mpl/aux_/preprocessed/no_ctps/not_equal_to.hpp
index b8c4a47..df9109f 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/no_ctps/not_equal_to.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/no_ctps/not_equal_to.hpp
@@ -17,8 +17,8 @@
     >
 struct not_equal_to_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< not_equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,8 +61,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 not_equal_to
 
@@ -71,11 +71,11 @@
         , typename not_equal_to_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, not_equal_to, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, not_equal_to, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 2, not_equal_to)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 2, not_equal_to)
 
 }}
 
@@ -86,7 +86,7 @@
 {
     template< typename N1, typename N2 > struct apply
 
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value != BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
+        : bool_< ( NDNBOOST_MPL_AUX_VALUE_WKND(N1)::value != NDNBOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
     {
     };
 };
diff --git a/include/ndnboost/mpl/aux_/preprocessed/no_ctps/or.hpp b/include/ndnboost/mpl/aux_/preprocessed/no_ctps/or.hpp
index b0b3a7f..7123b8d 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/no_ctps/or.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/no_ctps/or.hpp
@@ -30,7 +30,7 @@
         >
     struct result_
         : or_impl<
-              BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
+              NDNBOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
             >::template result_< T2,T3,T4,false_ >
     {
     };
@@ -46,25 +46,25 @@
 } // namespace aux
 
 template<
-      typename BOOST_MPL_AUX_NA_PARAM(T1)
-    , typename BOOST_MPL_AUX_NA_PARAM(T2)
+      typename NDNBOOST_MPL_AUX_NA_PARAM(T1)
+    , typename NDNBOOST_MPL_AUX_NA_PARAM(T2)
     , typename T3 = false_, typename T4 = false_, typename T5 = false_
     >
 struct or_
 
     : aux::or_impl<
-          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
+          NDNBOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
         >::template result_< T2,T3,T4,T5 >
 
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , or_
         , ( T1, T2, T3, T4, T5)
         )
 };
 
-BOOST_MPL_AUX_NA_SPEC2(
+NDNBOOST_MPL_AUX_NA_SPEC2(
       2
     , 5
     , or_
diff --git a/include/ndnboost/mpl/aux_/preprocessed/no_ctps/placeholders.hpp b/include/ndnboost/mpl/aux_/preprocessed/no_ctps/placeholders.hpp
index ecd4514..3a28c09 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/no_ctps/placeholders.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/no_ctps/placeholders.hpp
@@ -10,96 +10,96 @@
 // Preprocessed version of "ndnboost/mpl/placeholders.hpp" header
 // -- DO NOT modify by hand!
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 typedef arg< -1 > _;
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
 namespace ndnboost { namespace mpl {
 
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_)
+NDNBOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_)
 
 namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_;
+using NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_;
 }
 
 }}
 
 /// agurt, 17/mar/02: one more placeholder for the last 'apply#' 
 /// specialization
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 typedef arg<1> _1;
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
 namespace ndnboost { namespace mpl {
 
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1)
+NDNBOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1)
 
 namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1;
+using NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1;
 }
 
 }}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 typedef arg<2> _2;
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
 namespace ndnboost { namespace mpl {
 
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2)
+NDNBOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2)
 
 namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2;
+using NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2;
 }
 
 }}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 typedef arg<3> _3;
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
 namespace ndnboost { namespace mpl {
 
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3)
+NDNBOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3)
 
 namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3;
+using NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3;
 }
 
 }}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 typedef arg<4> _4;
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
 namespace ndnboost { namespace mpl {
 
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4)
+NDNBOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4)
 
 namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4;
+using NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4;
 }
 
 }}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 typedef arg<5> _5;
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
 namespace ndnboost { namespace mpl {
 
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5)
+NDNBOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5)
 
 namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5;
+using NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5;
 }
 
 }}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 typedef arg<6> _6;
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
 namespace ndnboost { namespace mpl {
 
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6)
+NDNBOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6)
 
 namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6;
+using NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6;
 }
 
 }}
diff --git a/include/ndnboost/mpl/aux_/preprocessed/no_ctps/plus.hpp b/include/ndnboost/mpl/aux_/preprocessed/no_ctps/plus.hpp
index 2967636..6372ead 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/no_ctps/plus.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/no_ctps/plus.hpp
@@ -17,8 +17,8 @@
     >
 struct plus_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< plus_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -63,14 +63,14 @@
 /// forward declaration
 
 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 plus2;
 
 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 plus
@@ -86,7 +86,7 @@
         >::type
 
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , plus
         , ( N1, N2, N3, N4, N5 )
@@ -103,11 +103,11 @@
         , typename plus_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, plus2, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, plus2, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 5, plus)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 5, plus)
 
 }}
 
@@ -122,8 +122,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
                 )
             >
     {
diff --git a/include/ndnboost/mpl/aux_/preprocessed/no_ctps/set.hpp b/include/ndnboost/mpl/aux_/preprocessed/no_ctps/set.hpp
index e964879..484d53e 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/no_ctps/set.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/no_ctps/set.hpp
@@ -484,13 +484,13 @@
 template< typename T >
 struct is_set_arg
 {
-    BOOST_STATIC_CONSTANT(bool, value  = true);
+    NDNBOOST_STATIC_CONSTANT(bool, value  = true);
 };
 
 template<>
 struct is_set_arg<na>
 {
-    BOOST_STATIC_CONSTANT(bool, value  = false);
+    NDNBOOST_STATIC_CONSTANT(bool, value  = false);
 };
 
 template<
@@ -501,7 +501,7 @@
     >
 struct set_count_args
 {
-    BOOST_STATIC_CONSTANT(int, value =
+    NDNBOOST_STATIC_CONSTANT(int, value =
           is_set_arg<T1>::value + is_set_arg<T2>::value 
         + is_set_arg<T3>::value + is_set_arg<T4>::value 
         + is_set_arg<T5>::value + is_set_arg<T6>::value 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/no_ctps/set_c.hpp b/include/ndnboost/mpl/aux_/preprocessed/no_ctps/set_c.hpp
index a9a9b18..3b5f2ab 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/no_ctps/set_c.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/no_ctps/set_c.hpp
@@ -463,13 +463,13 @@
 template< long C >
 struct is_set_c_arg
 {
-    BOOST_STATIC_CONSTANT(bool, value  = true);
+    NDNBOOST_STATIC_CONSTANT(bool, value  = true);
 };
 
 template<>
 struct is_set_c_arg<LONG_MAX>
 {
-    BOOST_STATIC_CONSTANT(bool, value  = false);
+    NDNBOOST_STATIC_CONSTANT(bool, value  = false);
 };
 
 template<
@@ -479,7 +479,7 @@
     >
 struct set_c_count_args
 {
-    BOOST_STATIC_CONSTANT(int, value =
+    NDNBOOST_STATIC_CONSTANT(int, value =
           is_set_c_arg<C1>::value + is_set_c_arg<C2>::value 
         + is_set_c_arg<C3>::value + is_set_c_arg<C4>::value 
         + is_set_c_arg<C5>::value + is_set_c_arg<C6>::value 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/no_ctps/shift_left.hpp b/include/ndnboost/mpl/aux_/preprocessed/no_ctps/shift_left.hpp
index 8d6c545..4b56759 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/no_ctps/shift_left.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/no_ctps/shift_left.hpp
@@ -18,8 +18,8 @@
     >
 struct shift_left_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< shift_left_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,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
 
@@ -72,11 +72,11 @@
         , typename shift_left_tag<N2>::type
         >::template apply< N1,N2 >::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)
 
 }}
 
@@ -88,8 +88,8 @@
 
         : integral_c<
               typename N::value_type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N)::value
-                  << BOOST_MPL_AUX_VALUE_WKND(S)::value
+            , ( NDNBOOST_MPL_AUX_VALUE_WKND(N)::value
+                  << NDNBOOST_MPL_AUX_VALUE_WKND(S)::value
                 )
             >
     {
diff --git a/include/ndnboost/mpl/aux_/preprocessed/no_ctps/shift_right.hpp b/include/ndnboost/mpl/aux_/preprocessed/no_ctps/shift_right.hpp
index a85eb0e..a8dc0db 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/no_ctps/shift_right.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/no_ctps/shift_right.hpp
@@ -18,8 +18,8 @@
     >
 struct shift_right_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< shift_right_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,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_right
 
@@ -72,11 +72,11 @@
         , typename shift_right_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_right, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_right, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_right)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 2, shift_right)
 
 }}
 
@@ -88,8 +88,8 @@
 
         : integral_c<
               typename N::value_type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N)::value
-                  >> BOOST_MPL_AUX_VALUE_WKND(S)::value
+            , ( NDNBOOST_MPL_AUX_VALUE_WKND(N)::value
+                  >> NDNBOOST_MPL_AUX_VALUE_WKND(S)::value
                 )
             >
     {
diff --git a/include/ndnboost/mpl/aux_/preprocessed/no_ctps/times.hpp b/include/ndnboost/mpl/aux_/preprocessed/no_ctps/times.hpp
index ecdafc9..7c99e67 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/no_ctps/times.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/no_ctps/times.hpp
@@ -17,8 +17,8 @@
     >
 struct times_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< times_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -63,14 +63,14 @@
 /// forward declaration
 
 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 times2;
 
 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 times
@@ -86,7 +86,7 @@
         >::type
 
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , times
         , ( N1, N2, N3, N4, N5 )
@@ -103,11 +103,11 @@
         , typename times_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, times2, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, times2, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 5, times)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 5, times)
 
 }}
 
@@ -122,8 +122,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
                 )
             >
     {
diff --git a/include/ndnboost/mpl/aux_/preprocessed/no_ctps/unpack_args.hpp b/include/ndnboost/mpl/aux_/preprocessed/no_ctps/unpack_args.hpp
index bee7472..dcdb46e 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/no_ctps/unpack_args.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/no_ctps/unpack_args.hpp
@@ -13,7 +13,7 @@
 
 namespace aux {
 
-template< BOOST_MPL_AUX_NTTP_DECL(int, size) > struct unpack_args_impl
+template< NDNBOOST_MPL_AUX_NTTP_DECL(int, size) > struct unpack_args_impl
 {
     template< typename F, typename Args > struct apply;
 };
@@ -103,7 +103,7 @@
     };
 };
 
-BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args)
+NDNBOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args)
 
 }}
 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/no_ctps/vector.hpp b/include/ndnboost/mpl/aux_/preprocessed/no_ctps/vector.hpp
index bdee923..acb6704 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/no_ctps/vector.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/no_ctps/vector.hpp
@@ -484,13 +484,13 @@
 template< typename T >
 struct is_vector_arg
 {
-    BOOST_STATIC_CONSTANT(bool, value  = true);
+    NDNBOOST_STATIC_CONSTANT(bool, value  = true);
 };
 
 template<>
 struct is_vector_arg<na>
 {
-    BOOST_STATIC_CONSTANT(bool, value  = false);
+    NDNBOOST_STATIC_CONSTANT(bool, value  = false);
 };
 
 template<
@@ -501,7 +501,7 @@
     >
 struct vector_count_args
 {
-    BOOST_STATIC_CONSTANT(int, value =
+    NDNBOOST_STATIC_CONSTANT(int, value =
           is_vector_arg<T1>::value + is_vector_arg<T2>::value 
         + is_vector_arg<T3>::value + is_vector_arg<T4>::value 
         + is_vector_arg<T5>::value + is_vector_arg<T6>::value 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/no_ctps/vector_c.hpp b/include/ndnboost/mpl/aux_/preprocessed/no_ctps/vector_c.hpp
index 7e645b9..c654c6f 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/no_ctps/vector_c.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/no_ctps/vector_c.hpp
@@ -463,13 +463,13 @@
 template< long C >
 struct is_vector_c_arg
 {
-    BOOST_STATIC_CONSTANT(bool, value  = true);
+    NDNBOOST_STATIC_CONSTANT(bool, value  = true);
 };
 
 template<>
 struct is_vector_c_arg<LONG_MAX>
 {
-    BOOST_STATIC_CONSTANT(bool, value  = false);
+    NDNBOOST_STATIC_CONSTANT(bool, value  = false);
 };
 
 template<
@@ -479,7 +479,7 @@
     >
 struct vector_c_count_args
 {
-    BOOST_STATIC_CONSTANT(int, value =
+    NDNBOOST_STATIC_CONSTANT(int, value =
           is_vector_c_arg<C1>::value + is_vector_c_arg<C2>::value 
         + is_vector_c_arg<C3>::value + is_vector_c_arg<C4>::value 
         + is_vector_c_arg<C5>::value + is_vector_c_arg<C6>::value 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/no_ttp/and.hpp b/include/ndnboost/mpl/aux_/preprocessed/no_ttp/and.hpp
index 24b88d8..5c1b95a 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/no_ttp/and.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/no_ttp/and.hpp
@@ -22,7 +22,7 @@
 template< typename T1, typename T2, typename T3, typename T4 >
 struct and_impl< true,T1,T2,T3,T4 >
     : and_impl<
-          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
+          NDNBOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
         , T2, T3, T4
         , true_
         >
@@ -41,26 +41,26 @@
 } // namespace aux
 
 template<
-      typename BOOST_MPL_AUX_NA_PARAM(T1)
-    , typename BOOST_MPL_AUX_NA_PARAM(T2)
+      typename NDNBOOST_MPL_AUX_NA_PARAM(T1)
+    , typename NDNBOOST_MPL_AUX_NA_PARAM(T2)
     , typename T3 = true_, typename T4 = true_, typename T5 = true_
     >
 struct and_
 
     : aux::and_impl<
-          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
+          NDNBOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
         , T2, T3, T4, T5
         >
 
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , and_
         , ( T1, T2, T3, T4, T5)
         )
 };
 
-BOOST_MPL_AUX_NA_SPEC2(
+NDNBOOST_MPL_AUX_NA_SPEC2(
       2
     , 5
     , and_
diff --git a/include/ndnboost/mpl/aux_/preprocessed/no_ttp/apply.hpp b/include/ndnboost/mpl/aux_/preprocessed/no_ttp/apply.hpp
index e4b1cd2..80f72b0 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/no_ttp/apply.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/no_ttp/apply.hpp
@@ -21,7 +21,7 @@
        
         >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           1
         , apply0
         , (F )
@@ -46,7 +46,7 @@
         , T1
         >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           2
         , apply1
         , (F, T1)
@@ -71,7 +71,7 @@
         , T1, T2
         >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           3
         , apply2
         , (F, T1, T2)
@@ -96,7 +96,7 @@
         , T1, T2, T3
         >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           4
         , apply3
         , (F, T1, T2, T3)
@@ -121,7 +121,7 @@
         , T1, T2, T3, T4
         >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , apply4
         , (F, T1, T2, T3, T4)
@@ -147,7 +147,7 @@
         , T1, T2, T3, T4, T5
         >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           6
         , apply5
         , (F, T1, T2, T3, T4, T5)
diff --git a/include/ndnboost/mpl/aux_/preprocessed/no_ttp/arg.hpp b/include/ndnboost/mpl/aux_/preprocessed/no_ttp/arg.hpp
index 9a157c2..154476a 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/no_ttp/arg.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/no_ttp/arg.hpp
@@ -10,12 +10,12 @@
 // Preprocessed version of "ndnboost/mpl/arg.hpp" header
 // -- DO NOT modify by hand!
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 template<> struct arg< -1 >
 {
-    BOOST_STATIC_CONSTANT(int, value  = -1);
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
+    NDNBOOST_STATIC_CONSTANT(int, value  = -1);
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, type)
 
     template<
           typename U1 = na, typename U2 = na, typename U3 = na
@@ -24,16 +24,16 @@
     struct apply
     {
         typedef U1 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
+        NDNBOOST_MPL_AUX_ASSERT_NOT_NA(type);
     };
 };
 
 template<> struct arg<1>
 {
-    BOOST_STATIC_CONSTANT(int, value  = 1);
+    NDNBOOST_STATIC_CONSTANT(int, value  = 1);
     typedef arg<2> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, type)
 
     template<
           typename U1 = na, typename U2 = na, typename U3 = na
@@ -42,16 +42,16 @@
     struct apply
     {
         typedef U1 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
+        NDNBOOST_MPL_AUX_ASSERT_NOT_NA(type);
     };
 };
 
 template<> struct arg<2>
 {
-    BOOST_STATIC_CONSTANT(int, value  = 2);
+    NDNBOOST_STATIC_CONSTANT(int, value  = 2);
     typedef arg<3> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, type)
 
     template<
           typename U1 = na, typename U2 = na, typename U3 = na
@@ -60,16 +60,16 @@
     struct apply
     {
         typedef U2 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
+        NDNBOOST_MPL_AUX_ASSERT_NOT_NA(type);
     };
 };
 
 template<> struct arg<3>
 {
-    BOOST_STATIC_CONSTANT(int, value  = 3);
+    NDNBOOST_STATIC_CONSTANT(int, value  = 3);
     typedef arg<4> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, type)
 
     template<
           typename U1 = na, typename U2 = na, typename U3 = na
@@ -78,16 +78,16 @@
     struct apply
     {
         typedef U3 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
+        NDNBOOST_MPL_AUX_ASSERT_NOT_NA(type);
     };
 };
 
 template<> struct arg<4>
 {
-    BOOST_STATIC_CONSTANT(int, value  = 4);
+    NDNBOOST_STATIC_CONSTANT(int, value  = 4);
     typedef arg<5> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, type)
 
     template<
           typename U1 = na, typename U2 = na, typename U3 = na
@@ -96,16 +96,16 @@
     struct apply
     {
         typedef U4 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
+        NDNBOOST_MPL_AUX_ASSERT_NOT_NA(type);
     };
 };
 
 template<> struct arg<5>
 {
-    BOOST_STATIC_CONSTANT(int, value  = 5);
+    NDNBOOST_STATIC_CONSTANT(int, value  = 5);
     typedef arg<6> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, type)
 
     template<
           typename U1 = na, typename U2 = na, typename U3 = na
@@ -114,10 +114,10 @@
     struct apply
     {
         typedef U5 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
+        NDNBOOST_MPL_AUX_ASSERT_NOT_NA(type);
     };
 };
 
-BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg)
+NDNBOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg)
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
diff --git a/include/ndnboost/mpl/aux_/preprocessed/no_ttp/basic_bind.hpp b/include/ndnboost/mpl/aux_/preprocessed/no_ttp/basic_bind.hpp
index 5c7f505..80f4c4e 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/no_ttp/basic_bind.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/no_ttp/basic_bind.hpp
@@ -82,8 +82,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(1, bind0)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
+NDNBOOST_MPL_AUX_ARITY_SPEC(1, bind0)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
 
 template<
       typename F
@@ -133,8 +133,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(2, bind1)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
+NDNBOOST_MPL_AUX_ARITY_SPEC(2, bind1)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
 
 template<
       typename F, typename T1
@@ -185,8 +185,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(3, bind2)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
+NDNBOOST_MPL_AUX_ARITY_SPEC(3, bind2)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
 
 template<
       typename F, typename T1, typename T2
@@ -238,8 +238,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(4, bind3)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
+NDNBOOST_MPL_AUX_ARITY_SPEC(4, bind3)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
 
 template<
       typename F, typename T1, typename T2, typename T3
@@ -293,8 +293,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(5, bind4)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
+NDNBOOST_MPL_AUX_ARITY_SPEC(5, bind4)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
 
 template<
       typename F, typename T1, typename T2, typename T3, typename T4
@@ -351,8 +351,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(6, bind5)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
+NDNBOOST_MPL_AUX_ARITY_SPEC(6, bind5)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
 
 /// primary template (not a specialization!)
 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/no_ttp/bind.hpp b/include/ndnboost/mpl/aux_/preprocessed/no_ttp/bind.hpp
index e686d8e..d234468 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/no_ttp/bind.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/no_ttp/bind.hpp
@@ -104,8 +104,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(1, bind0)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
+NDNBOOST_MPL_AUX_ARITY_SPEC(1, bind0)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
 
 template<
       typename F
@@ -162,8 +162,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(2, bind1)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
+NDNBOOST_MPL_AUX_ARITY_SPEC(2, bind1)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
 
 template<
       typename F, typename T1
@@ -225,8 +225,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(3, bind2)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
+NDNBOOST_MPL_AUX_ARITY_SPEC(3, bind2)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
 
 template<
       typename F, typename T1, typename T2
@@ -293,8 +293,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(4, bind3)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
+NDNBOOST_MPL_AUX_ARITY_SPEC(4, bind3)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
 
 template<
       typename F, typename T1, typename T2, typename T3
@@ -367,8 +367,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(5, bind4)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
+NDNBOOST_MPL_AUX_ARITY_SPEC(5, bind4)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
 
 template<
       typename F, typename T1, typename T2, typename T3, typename T4
@@ -448,8 +448,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(6, bind5)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
+NDNBOOST_MPL_AUX_ARITY_SPEC(6, bind5)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
 
 /// primary template (not a specialization!)
 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/no_ttp/bitand.hpp b/include/ndnboost/mpl/aux_/preprocessed/no_ttp/bitand.hpp
index 650c7da..d0542b4 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/no_ttp/bitand.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/no_ttp/bitand.hpp
@@ -18,8 +18,8 @@
     >
 struct bitand_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< bitand_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 bitand_
     : bitand_< bitand_< bitand_< bitand_< N1,N2 >, N3>, N4>, N5>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , bitand_
         , ( N1, N2, N3, N4, N5 )
@@ -83,7 +83,7 @@
 
     : bitand_< bitand_< bitand_< N1,N2 >, N3>, N4>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , bitand_
         , ( N1, N2, N3, N4, na )
@@ -97,7 +97,7 @@
 
     : bitand_< bitand_< N1,N2 >, N3>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , bitand_
         , ( N1, N2, N3, na, na )
@@ -113,7 +113,7 @@
         , typename bitand_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , bitand_
         , ( N1, N2, na, na, na )
@@ -121,7 +121,7 @@
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitand_)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 5, bitand_)
 
 }}
 
@@ -131,7 +131,7 @@
 template< typename T, T n1, T n2 >
 struct bitand_wknd
 {
-    BOOST_STATIC_CONSTANT(T, value  = (n1 & n2));
+    NDNBOOST_STATIC_CONSTANT(T, value  = (n1 & n2));
     typedef integral_c< T,value > type;
 };
 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/no_ttp/bitor.hpp b/include/ndnboost/mpl/aux_/preprocessed/no_ttp/bitor.hpp
index 6a1d24b..64884de 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/no_ttp/bitor.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/no_ttp/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_)
 
 }}
 
@@ -131,7 +131,7 @@
 template< typename T, T n1, T n2 >
 struct bitor_wknd
 {
-    BOOST_STATIC_CONSTANT(T, value  = (n1 | n2));
+    NDNBOOST_STATIC_CONSTANT(T, value  = (n1 | n2));
     typedef integral_c< T,value > type;
 };
 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/no_ttp/bitxor.hpp b/include/ndnboost/mpl/aux_/preprocessed/no_ttp/bitxor.hpp
index bbda869..a392e2a 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/no_ttp/bitxor.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/no_ttp/bitxor.hpp
@@ -18,8 +18,8 @@
     >
 struct bitxor_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< bitxor_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 bitxor_
     : bitxor_< bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4>, N5>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , bitxor_
         , ( N1, N2, N3, N4, N5 )
@@ -83,7 +83,7 @@
 
     : bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , bitxor_
         , ( N1, N2, N3, N4, na )
@@ -97,7 +97,7 @@
 
     : bitxor_< bitxor_< N1,N2 >, N3>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , bitxor_
         , ( N1, N2, N3, na, na )
@@ -113,7 +113,7 @@
         , typename bitxor_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , bitxor_
         , ( N1, N2, na, na, na )
@@ -121,7 +121,7 @@
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitxor_)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 5, bitxor_)
 
 }}
 
@@ -131,7 +131,7 @@
 template< typename T, T n1, T n2 >
 struct bitxor_wknd
 {
-    BOOST_STATIC_CONSTANT(T, value  = (n1 ^ n2));
+    NDNBOOST_STATIC_CONSTANT(T, value  = (n1 ^ n2));
     typedef integral_c< T,value > type;
 };
 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/no_ttp/divides.hpp b/include/ndnboost/mpl/aux_/preprocessed/no_ttp/divides.hpp
index eb22a09..df1e04f 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/no_ttp/divides.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/no_ttp/divides.hpp
@@ -17,8 +17,8 @@
     >
 struct divides_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< divides_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,14 +61,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 divides
     : divides< divides< divides< divides< N1,N2 >, N3>, N4>, N5>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , divides
         , ( N1, N2, N3, N4, N5 )
@@ -82,7 +82,7 @@
 
     : divides< divides< divides< N1,N2 >, N3>, N4>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , divides
         , ( N1, N2, N3, N4, na )
@@ -96,7 +96,7 @@
 
     : divides< divides< N1,N2 >, N3>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , divides
         , ( N1, N2, N3, na, na )
@@ -112,7 +112,7 @@
         , typename divides_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , divides
         , ( N1, N2, na, na, na )
@@ -120,7 +120,7 @@
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 5, divides)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 5, divides)
 
 }}
 
@@ -130,7 +130,7 @@
 template< typename T, T n1, T n2 >
 struct divides_wknd
 {
-    BOOST_STATIC_CONSTANT(T, value  = (n1 / n2));
+    NDNBOOST_STATIC_CONSTANT(T, value  = (n1 / n2));
     typedef integral_c< T,value > type;
 };
 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/no_ttp/equal_to.hpp b/include/ndnboost/mpl/aux_/preprocessed/no_ttp/equal_to.hpp
index b900ba1..22f1e2a 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/no_ttp/equal_to.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/no_ttp/equal_to.hpp
@@ -17,8 +17,8 @@
     >
 struct equal_to_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< equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,8 +61,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 equal_to
 
@@ -71,11 +71,11 @@
         , typename equal_to_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, equal_to, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, equal_to, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 2, equal_to)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 2, equal_to)
 
 }}
 
@@ -87,9 +87,9 @@
     template< typename N1, typename N2 > struct apply
 
     {
-        BOOST_STATIC_CONSTANT(bool, value =
-             ( BOOST_MPL_AUX_VALUE_WKND(N1)::value ==
-             BOOST_MPL_AUX_VALUE_WKND(N2)::value )
+        NDNBOOST_STATIC_CONSTANT(bool, value =
+             ( NDNBOOST_MPL_AUX_VALUE_WKND(N1)::value ==
+             NDNBOOST_MPL_AUX_VALUE_WKND(N2)::value )
             );
         typedef bool_<value> type;
     };
diff --git a/include/ndnboost/mpl/aux_/preprocessed/no_ttp/full_lambda.hpp b/include/ndnboost/mpl/aux_/preprocessed/no_ttp/full_lambda.hpp
index de658d8..7da971e 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/no_ttp/full_lambda.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/no_ttp/full_lambda.hpp
@@ -548,7 +548,7 @@
     typedef typename le_result_::type type;
 };
 
-BOOST_MPL_AUX_NA_SPEC(2, lambda)
+NDNBOOST_MPL_AUX_NA_SPEC(2, lambda)
 
 }}
 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/no_ttp/greater.hpp b/include/ndnboost/mpl/aux_/preprocessed/no_ttp/greater.hpp
index dce1ae1..a6a1b30 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/no_ttp/greater.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/no_ttp/greater.hpp
@@ -17,8 +17,8 @@
     >
 struct greater_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< greater_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,8 +61,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 greater
 
@@ -71,11 +71,11 @@
         , typename greater_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 2, greater)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 2, greater)
 
 }}
 
@@ -87,9 +87,9 @@
     template< typename N1, typename N2 > struct apply
 
     {
-        BOOST_STATIC_CONSTANT(bool, value =
-             ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >
-             BOOST_MPL_AUX_VALUE_WKND(N2)::value )
+        NDNBOOST_STATIC_CONSTANT(bool, value =
+             ( NDNBOOST_MPL_AUX_VALUE_WKND(N1)::value >
+             NDNBOOST_MPL_AUX_VALUE_WKND(N2)::value )
             );
         typedef bool_<value> type;
     };
diff --git a/include/ndnboost/mpl/aux_/preprocessed/no_ttp/greater_equal.hpp b/include/ndnboost/mpl/aux_/preprocessed/no_ttp/greater_equal.hpp
index 9bdfda5..93ea6ca 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/no_ttp/greater_equal.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/no_ttp/greater_equal.hpp
@@ -17,8 +17,8 @@
     >
 struct greater_equal_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< greater_equal_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,8 +61,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 greater_equal
 
@@ -71,11 +71,11 @@
         , typename greater_equal_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater_equal, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater_equal, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 2, greater_equal)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 2, greater_equal)
 
 }}
 
@@ -87,9 +87,9 @@
     template< typename N1, typename N2 > struct apply
 
     {
-        BOOST_STATIC_CONSTANT(bool, value =
-             ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >=
-             BOOST_MPL_AUX_VALUE_WKND(N2)::value )
+        NDNBOOST_STATIC_CONSTANT(bool, value =
+             ( NDNBOOST_MPL_AUX_VALUE_WKND(N1)::value >=
+             NDNBOOST_MPL_AUX_VALUE_WKND(N2)::value )
             );
         typedef bool_<value> type;
     };
diff --git a/include/ndnboost/mpl/aux_/preprocessed/no_ttp/inherit.hpp b/include/ndnboost/mpl/aux_/preprocessed/no_ttp/inherit.hpp
index 41f387f..a97f313 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/no_ttp/inherit.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/no_ttp/inherit.hpp
@@ -12,38 +12,38 @@
 namespace ndnboost { namespace mpl {
 
 template<
-      typename BOOST_MPL_AUX_NA_PARAM(T1)
-    , typename BOOST_MPL_AUX_NA_PARAM(T2)
+      typename NDNBOOST_MPL_AUX_NA_PARAM(T1)
+    , typename NDNBOOST_MPL_AUX_NA_PARAM(T2)
     >
 struct inherit2
     : T1, T2
 {
     typedef inherit2 type;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, inherit2, (T1, T2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, inherit2, (T1, T2))
 };
 
 template< typename T1 >
 struct inherit2< T1,empty_base >
 {
     typedef T1 type;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (T1, empty_base))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (T1, empty_base))
 };
 
 template< typename T2 >
 struct inherit2< empty_base,T2 >
 {
     typedef T2 type;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, T2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, T2))
 };
 
 template<>
 struct inherit2< empty_base,empty_base >
 {
     typedef empty_base type;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, empty_base))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, empty_base))
 };
 
-BOOST_MPL_AUX_NA_SPEC(2, inherit2)
+NDNBOOST_MPL_AUX_NA_SPEC(2, inherit2)
 
 template<
       typename T1 = na, typename T2 = na, typename T3 = na
@@ -56,14 +56,14 @@
         , T3
         >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           3
         , inherit3
         , ( T1, T2, T3)
         )
 };
 
-BOOST_MPL_AUX_NA_SPEC(3, inherit3)
+NDNBOOST_MPL_AUX_NA_SPEC(3, inherit3)
 
 template<
       typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na
@@ -76,14 +76,14 @@
         , T4
         >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           4
         , inherit4
         , ( T1, T2, T3, T4)
         )
 };
 
-BOOST_MPL_AUX_NA_SPEC(4, inherit4)
+NDNBOOST_MPL_AUX_NA_SPEC(4, inherit4)
 
 template<
       typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na
@@ -97,14 +97,14 @@
         , T5
         >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , inherit5
         , ( T1, T2, T3, T4, T5)
         )
 };
 
-BOOST_MPL_AUX_NA_SPEC(5, inherit5)
+NDNBOOST_MPL_AUX_NA_SPEC(5, inherit5)
 
 /// primary template
 
@@ -134,8 +134,8 @@
     };
 };
 
-BOOST_MPL_AUX_NA_SPEC_LAMBDA(5, inherit)
-BOOST_MPL_AUX_NA_SPEC_ARITY(5, inherit)
-BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(5, 5, inherit)
+NDNBOOST_MPL_AUX_NA_SPEC_LAMBDA(5, inherit)
+NDNBOOST_MPL_AUX_NA_SPEC_ARITY(5, inherit)
+NDNBOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(5, 5, inherit)
 }}
 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/no_ttp/iter_fold_if_impl.hpp b/include/ndnboost/mpl/aux_/preprocessed/no_ttp/iter_fold_if_impl.hpp
index b0a2864..a74bd83 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/no_ttp/iter_fold_if_impl.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/no_ttp/iter_fold_if_impl.hpp
@@ -61,7 +61,7 @@
 {
     typedef typename apply2< Predicate,State,Iterator >::type not_last;
     typedef typename iter_fold_if_step_impl<
-          BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
+          NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
         >::template result_< Iterator,State,ForwardOp, mpl::next<Iterator> > impl_;
 
     typedef typename impl_::state state;
@@ -78,7 +78,7 @@
 {
     typedef typename apply2< Predicate,State,Iterator >::type not_last;
     typedef typename iter_fold_if_step_impl<
-          BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
+          NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
         >::template result_< Iterator,State,BackwardOp, identity<Iterator> > impl_;
 
     typedef typename impl_::state state;
diff --git a/include/ndnboost/mpl/aux_/preprocessed/no_ttp/lambda_no_ctps.hpp b/include/ndnboost/mpl/aux_/preprocessed/no_ttp/lambda_no_ctps.hpp
index 5bfc661..45f5f6b 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/no_ttp/lambda_no_ctps.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/no_ttp/lambda_no_ctps.hpp
@@ -44,7 +44,7 @@
         typedef lambda< typename F::arg1, Tag, false_ > l1;
         typedef typename l1::is_le is_le1;
         typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value
+              NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value
             > is_le;
 
         typedef bind1<
@@ -74,7 +74,7 @@
         
 
         typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value
+              NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value
             > is_le;
 
         typedef bind2<
@@ -106,7 +106,7 @@
         
 
         typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value
+              NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value
             > is_le;
 
         typedef bind3<
@@ -140,7 +140,7 @@
         
 
         typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value
+              NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value
             > is_le;
 
         typedef bind4<
@@ -177,7 +177,7 @@
         
 
         typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le5)::value
+              NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le5)::value
             > is_le;
 
         typedef bind5<
@@ -212,10 +212,10 @@
 
     typedef typename l_::type type;
     typedef typename l_::is_le is_le;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(3, lambda, (T, Tag, Protect))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(3, lambda, (T, Tag, Protect))
 };
 
-BOOST_MPL_AUX_NA_SPEC2(1, 3, lambda)
+NDNBOOST_MPL_AUX_NA_SPEC2(1, 3, lambda)
 
 template<
       typename T
diff --git a/include/ndnboost/mpl/aux_/preprocessed/no_ttp/less.hpp b/include/ndnboost/mpl/aux_/preprocessed/no_ttp/less.hpp
index b7fae7c..aa6f088 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/no_ttp/less.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/no_ttp/less.hpp
@@ -17,8 +17,8 @@
     >
 struct less_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< less_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,8 +61,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 less
 
@@ -71,11 +71,11 @@
         , typename less_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, less, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 2, less)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 2, less)
 
 }}
 
@@ -87,9 +87,9 @@
     template< typename N1, typename N2 > struct apply
 
     {
-        BOOST_STATIC_CONSTANT(bool, value =
-             ( BOOST_MPL_AUX_VALUE_WKND(N2)::value >
-             BOOST_MPL_AUX_VALUE_WKND(N1)::value )
+        NDNBOOST_STATIC_CONSTANT(bool, value =
+             ( NDNBOOST_MPL_AUX_VALUE_WKND(N2)::value >
+             NDNBOOST_MPL_AUX_VALUE_WKND(N1)::value )
             );
         typedef bool_<value> type;
     };
diff --git a/include/ndnboost/mpl/aux_/preprocessed/no_ttp/less_equal.hpp b/include/ndnboost/mpl/aux_/preprocessed/no_ttp/less_equal.hpp
index 3a077fb..ca06f97 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/no_ttp/less_equal.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/no_ttp/less_equal.hpp
@@ -17,8 +17,8 @@
     >
 struct less_equal_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< less_equal_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,8 +61,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 less_equal
 
@@ -71,11 +71,11 @@
         , typename less_equal_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less_equal, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, less_equal, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 2, less_equal)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 2, less_equal)
 
 }}
 
@@ -87,9 +87,9 @@
     template< typename N1, typename N2 > struct apply
 
     {
-        BOOST_STATIC_CONSTANT(bool, value =
-             ( BOOST_MPL_AUX_VALUE_WKND(N1)::value <=
-             BOOST_MPL_AUX_VALUE_WKND(N2)::value )
+        NDNBOOST_STATIC_CONSTANT(bool, value =
+             ( NDNBOOST_MPL_AUX_VALUE_WKND(N1)::value <=
+             NDNBOOST_MPL_AUX_VALUE_WKND(N2)::value )
             );
         typedef bool_<value> type;
     };
diff --git a/include/ndnboost/mpl/aux_/preprocessed/no_ttp/minus.hpp b/include/ndnboost/mpl/aux_/preprocessed/no_ttp/minus.hpp
index fa3eda9..75ccc8b 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/no_ttp/minus.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/no_ttp/minus.hpp
@@ -17,8 +17,8 @@
     >
 struct minus_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< minus_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,14 +61,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 minus
     : minus< minus< minus< minus< N1,N2 >, N3>, N4>, N5>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , minus
         , ( N1, N2, N3, N4, N5 )
@@ -82,7 +82,7 @@
 
     : minus< minus< minus< N1,N2 >, N3>, N4>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , minus
         , ( N1, N2, N3, N4, na )
@@ -96,7 +96,7 @@
 
     : minus< minus< N1,N2 >, N3>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , minus
         , ( N1, N2, N3, na, na )
@@ -112,7 +112,7 @@
         , typename minus_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , minus
         , ( N1, N2, na, na, na )
@@ -120,7 +120,7 @@
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 5, minus)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 5, minus)
 
 }}
 
@@ -130,7 +130,7 @@
 template< typename T, T n1, T n2 >
 struct minus_wknd
 {
-    BOOST_STATIC_CONSTANT(T, value  = (n1 - n2));
+    NDNBOOST_STATIC_CONSTANT(T, value  = (n1 - n2));
     typedef integral_c< T,value > type;
 };
 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/no_ttp/modulus.hpp b/include/ndnboost/mpl/aux_/preprocessed/no_ttp/modulus.hpp
index bd7fe22..1b66ab6 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/no_ttp/modulus.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/no_ttp/modulus.hpp
@@ -17,8 +17,8 @@
     >
 struct modulus_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< modulus_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,8 +61,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 modulus
 
@@ -71,11 +71,11 @@
         , typename modulus_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, modulus, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, modulus, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 2, modulus)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 2, modulus)
 
 }}
 
@@ -85,7 +85,7 @@
 template< typename T, T n1, T n2 >
 struct modulus_wknd
 {
-    BOOST_STATIC_CONSTANT(T, value  = (n1 % n2));
+    NDNBOOST_STATIC_CONSTANT(T, value  = (n1 % n2));
     typedef integral_c< T,value > type;
 };
 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/no_ttp/not_equal_to.hpp b/include/ndnboost/mpl/aux_/preprocessed/no_ttp/not_equal_to.hpp
index 39a19aa..0401b41 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/no_ttp/not_equal_to.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/no_ttp/not_equal_to.hpp
@@ -17,8 +17,8 @@
     >
 struct not_equal_to_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< not_equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,8 +61,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 not_equal_to
 
@@ -71,11 +71,11 @@
         , typename not_equal_to_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, not_equal_to, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, not_equal_to, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 2, not_equal_to)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 2, not_equal_to)
 
 }}
 
@@ -87,9 +87,9 @@
     template< typename N1, typename N2 > struct apply
 
     {
-        BOOST_STATIC_CONSTANT(bool, value =
-             ( BOOST_MPL_AUX_VALUE_WKND(N1)::value !=
-             BOOST_MPL_AUX_VALUE_WKND(N2)::value )
+        NDNBOOST_STATIC_CONSTANT(bool, value =
+             ( NDNBOOST_MPL_AUX_VALUE_WKND(N1)::value !=
+             NDNBOOST_MPL_AUX_VALUE_WKND(N2)::value )
             );
         typedef bool_<value> type;
     };
diff --git a/include/ndnboost/mpl/aux_/preprocessed/no_ttp/or.hpp b/include/ndnboost/mpl/aux_/preprocessed/no_ttp/or.hpp
index e929602..cae8edf 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/no_ttp/or.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/no_ttp/or.hpp
@@ -22,7 +22,7 @@
 template< typename T1, typename T2, typename T3, typename T4 >
 struct or_impl< false,T1,T2,T3,T4 >
     : or_impl<
-          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
+          NDNBOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
         , T2, T3, T4
         , false_
         >
@@ -41,26 +41,26 @@
 } // namespace aux
 
 template<
-      typename BOOST_MPL_AUX_NA_PARAM(T1)
-    , typename BOOST_MPL_AUX_NA_PARAM(T2)
+      typename NDNBOOST_MPL_AUX_NA_PARAM(T1)
+    , typename NDNBOOST_MPL_AUX_NA_PARAM(T2)
     , typename T3 = false_, typename T4 = false_, typename T5 = false_
     >
 struct or_
 
     : aux::or_impl<
-          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
+          NDNBOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
         , T2, T3, T4, T5
         >
 
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , or_
         , ( T1, T2, T3, T4, T5)
         )
 };
 
-BOOST_MPL_AUX_NA_SPEC2(
+NDNBOOST_MPL_AUX_NA_SPEC2(
       2
     , 5
     , or_
diff --git a/include/ndnboost/mpl/aux_/preprocessed/no_ttp/placeholders.hpp b/include/ndnboost/mpl/aux_/preprocessed/no_ttp/placeholders.hpp
index ecd4514..3a28c09 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/no_ttp/placeholders.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/no_ttp/placeholders.hpp
@@ -10,96 +10,96 @@
 // Preprocessed version of "ndnboost/mpl/placeholders.hpp" header
 // -- DO NOT modify by hand!
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 typedef arg< -1 > _;
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
 namespace ndnboost { namespace mpl {
 
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_)
+NDNBOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_)
 
 namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_;
+using NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_;
 }
 
 }}
 
 /// agurt, 17/mar/02: one more placeholder for the last 'apply#' 
 /// specialization
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 typedef arg<1> _1;
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
 namespace ndnboost { namespace mpl {
 
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1)
+NDNBOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1)
 
 namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1;
+using NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1;
 }
 
 }}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 typedef arg<2> _2;
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
 namespace ndnboost { namespace mpl {
 
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2)
+NDNBOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2)
 
 namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2;
+using NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2;
 }
 
 }}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 typedef arg<3> _3;
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
 namespace ndnboost { namespace mpl {
 
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3)
+NDNBOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3)
 
 namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3;
+using NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3;
 }
 
 }}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 typedef arg<4> _4;
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
 namespace ndnboost { namespace mpl {
 
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4)
+NDNBOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4)
 
 namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4;
+using NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4;
 }
 
 }}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 typedef arg<5> _5;
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
 namespace ndnboost { namespace mpl {
 
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5)
+NDNBOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5)
 
 namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5;
+using NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5;
 }
 
 }}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 typedef arg<6> _6;
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
 namespace ndnboost { namespace mpl {
 
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6)
+NDNBOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6)
 
 namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6;
+using NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6;
 }
 
 }}
diff --git a/include/ndnboost/mpl/aux_/preprocessed/no_ttp/plus.hpp b/include/ndnboost/mpl/aux_/preprocessed/no_ttp/plus.hpp
index b4d88db..bb61bb1 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/no_ttp/plus.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/no_ttp/plus.hpp
@@ -17,8 +17,8 @@
     >
 struct plus_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< plus_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,14 +61,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 plus
     : plus< plus< plus< plus< N1,N2 >, N3>, N4>, N5>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , plus
         , ( N1, N2, N3, N4, N5 )
@@ -82,7 +82,7 @@
 
     : plus< plus< plus< N1,N2 >, N3>, N4>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , plus
         , ( N1, N2, N3, N4, na )
@@ -96,7 +96,7 @@
 
     : plus< plus< N1,N2 >, N3>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , plus
         , ( N1, N2, N3, na, na )
@@ -112,7 +112,7 @@
         , typename plus_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , plus
         , ( N1, N2, na, na, na )
@@ -120,7 +120,7 @@
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 5, plus)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 5, plus)
 
 }}
 
@@ -130,7 +130,7 @@
 template< typename T, T n1, T n2 >
 struct plus_wknd
 {
-    BOOST_STATIC_CONSTANT(T, value  = (n1 + n2));
+    NDNBOOST_STATIC_CONSTANT(T, value  = (n1 + n2));
     typedef integral_c< T,value > type;
 };
 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/no_ttp/shift_left.hpp b/include/ndnboost/mpl/aux_/preprocessed/no_ttp/shift_left.hpp
index 27093f4..1bc9e6f 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/no_ttp/shift_left.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/no_ttp/shift_left.hpp
@@ -18,8 +18,8 @@
     >
 struct shift_left_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< shift_left_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,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
 
@@ -72,11 +72,11 @@
         , typename shift_left_tag<N2>::type
         >::template apply< N1,N2 >::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)
 
 }}
 
@@ -86,7 +86,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;
 };
 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/no_ttp/shift_right.hpp b/include/ndnboost/mpl/aux_/preprocessed/no_ttp/shift_right.hpp
index d4d4100..0fb916e 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/no_ttp/shift_right.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/no_ttp/shift_right.hpp
@@ -18,8 +18,8 @@
     >
 struct shift_right_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< shift_right_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,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_right
 
@@ -72,11 +72,11 @@
         , typename shift_right_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_right, (N1, N2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_right, (N1, N2))
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_right)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 2, shift_right)
 
 }}
 
@@ -86,7 +86,7 @@
 template< typename T, typename Shift, T n, Shift s >
 struct shift_right_wknd
 {
-    BOOST_STATIC_CONSTANT(T, value  = (n >> s));
+    NDNBOOST_STATIC_CONSTANT(T, value  = (n >> s));
     typedef integral_c< T,value > type;
 };
 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/no_ttp/times.hpp b/include/ndnboost/mpl/aux_/preprocessed/no_ttp/times.hpp
index e2cd1ab..6a54076 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/no_ttp/times.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/no_ttp/times.hpp
@@ -17,8 +17,8 @@
     >
 struct times_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< times_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,14 +61,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 times
     : times< times< times< times< N1,N2 >, N3>, N4>, N5>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           5
         , times
         , ( N1, N2, N3, N4, N5 )
@@ -82,7 +82,7 @@
 
     : times< times< times< N1,N2 >, N3>, N4>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , times
         , ( N1, N2, N3, N4, na )
@@ -96,7 +96,7 @@
 
     : times< times< N1,N2 >, N3>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , times
         , ( N1, N2, N3, na, na )
@@ -112,7 +112,7 @@
         , typename times_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , times
         , ( N1, N2, na, na, na )
@@ -120,7 +120,7 @@
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 5, times)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 5, times)
 
 }}
 
@@ -130,7 +130,7 @@
 template< typename T, T n1, T n2 >
 struct times_wknd
 {
-    BOOST_STATIC_CONSTANT(T, value  = (n1 * n2));
+    NDNBOOST_STATIC_CONSTANT(T, value  = (n1 * n2));
     typedef integral_c< T,value > type;
 };
 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/no_ttp/unpack_args.hpp b/include/ndnboost/mpl/aux_/preprocessed/no_ttp/unpack_args.hpp
index 9c9204f..aec31af 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/no_ttp/unpack_args.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/no_ttp/unpack_args.hpp
@@ -88,7 +88,7 @@
     };
 };
 
-BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args)
+NDNBOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args)
 
 }}
 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/plain/and.hpp b/include/ndnboost/mpl/aux_/preprocessed/plain/and.hpp
index 80a91ef..2809274 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/plain/and.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/plain/and.hpp
@@ -22,7 +22,7 @@
 template< typename T1, typename T2, typename T3, typename T4 >
 struct and_impl< true,T1,T2,T3,T4 >
     : and_impl<
-          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
+          NDNBOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
         , T2, T3, T4
         , true_
         >
@@ -41,21 +41,21 @@
 } // namespace aux
 
 template<
-      typename BOOST_MPL_AUX_NA_PARAM(T1)
-    , typename BOOST_MPL_AUX_NA_PARAM(T2)
+      typename NDNBOOST_MPL_AUX_NA_PARAM(T1)
+    , typename NDNBOOST_MPL_AUX_NA_PARAM(T2)
     , typename T3 = true_, typename T4 = true_, typename T5 = true_
     >
 struct and_
 
     : aux::and_impl<
-          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
+          NDNBOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
         , T2, T3, T4, T5
         >
 
 {
 };
 
-BOOST_MPL_AUX_NA_SPEC2(
+NDNBOOST_MPL_AUX_NA_SPEC2(
       2
     , 5
     , and_
diff --git a/include/ndnboost/mpl/aux_/preprocessed/plain/arg.hpp b/include/ndnboost/mpl/aux_/preprocessed/plain/arg.hpp
index 9a157c2..154476a 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/plain/arg.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/plain/arg.hpp
@@ -10,12 +10,12 @@
 // Preprocessed version of "ndnboost/mpl/arg.hpp" header
 // -- DO NOT modify by hand!
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 template<> struct arg< -1 >
 {
-    BOOST_STATIC_CONSTANT(int, value  = -1);
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
+    NDNBOOST_STATIC_CONSTANT(int, value  = -1);
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, type)
 
     template<
           typename U1 = na, typename U2 = na, typename U3 = na
@@ -24,16 +24,16 @@
     struct apply
     {
         typedef U1 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
+        NDNBOOST_MPL_AUX_ASSERT_NOT_NA(type);
     };
 };
 
 template<> struct arg<1>
 {
-    BOOST_STATIC_CONSTANT(int, value  = 1);
+    NDNBOOST_STATIC_CONSTANT(int, value  = 1);
     typedef arg<2> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, type)
 
     template<
           typename U1 = na, typename U2 = na, typename U3 = na
@@ -42,16 +42,16 @@
     struct apply
     {
         typedef U1 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
+        NDNBOOST_MPL_AUX_ASSERT_NOT_NA(type);
     };
 };
 
 template<> struct arg<2>
 {
-    BOOST_STATIC_CONSTANT(int, value  = 2);
+    NDNBOOST_STATIC_CONSTANT(int, value  = 2);
     typedef arg<3> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, type)
 
     template<
           typename U1 = na, typename U2 = na, typename U3 = na
@@ -60,16 +60,16 @@
     struct apply
     {
         typedef U2 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
+        NDNBOOST_MPL_AUX_ASSERT_NOT_NA(type);
     };
 };
 
 template<> struct arg<3>
 {
-    BOOST_STATIC_CONSTANT(int, value  = 3);
+    NDNBOOST_STATIC_CONSTANT(int, value  = 3);
     typedef arg<4> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, type)
 
     template<
           typename U1 = na, typename U2 = na, typename U3 = na
@@ -78,16 +78,16 @@
     struct apply
     {
         typedef U3 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
+        NDNBOOST_MPL_AUX_ASSERT_NOT_NA(type);
     };
 };
 
 template<> struct arg<4>
 {
-    BOOST_STATIC_CONSTANT(int, value  = 4);
+    NDNBOOST_STATIC_CONSTANT(int, value  = 4);
     typedef arg<5> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, type)
 
     template<
           typename U1 = na, typename U2 = na, typename U3 = na
@@ -96,16 +96,16 @@
     struct apply
     {
         typedef U4 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
+        NDNBOOST_MPL_AUX_ASSERT_NOT_NA(type);
     };
 };
 
 template<> struct arg<5>
 {
-    BOOST_STATIC_CONSTANT(int, value  = 5);
+    NDNBOOST_STATIC_CONSTANT(int, value  = 5);
     typedef arg<6> next;
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
-    BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
+    NDNBOOST_MPL_AUX_ARG_TYPEDEF(na, type)
 
     template<
           typename U1 = na, typename U2 = na, typename U3 = na
@@ -114,10 +114,10 @@
     struct apply
     {
         typedef U5 type;
-        BOOST_MPL_AUX_ASSERT_NOT_NA(type);
+        NDNBOOST_MPL_AUX_ASSERT_NOT_NA(type);
     };
 };
 
-BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg)
+NDNBOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg)
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
diff --git a/include/ndnboost/mpl/aux_/preprocessed/plain/basic_bind.hpp b/include/ndnboost/mpl/aux_/preprocessed/plain/basic_bind.hpp
index a2a565e..8e0bf73 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/plain/basic_bind.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/plain/basic_bind.hpp
@@ -82,8 +82,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(1, bind0)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
+NDNBOOST_MPL_AUX_ARITY_SPEC(1, bind0)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
 
 template<
       typename F
@@ -133,8 +133,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(2, bind1)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
+NDNBOOST_MPL_AUX_ARITY_SPEC(2, bind1)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
 
 template<
       typename F, typename T1
@@ -185,8 +185,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(3, bind2)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
+NDNBOOST_MPL_AUX_ARITY_SPEC(3, bind2)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
 
 template<
       typename F, typename T1, typename T2
@@ -238,8 +238,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(4, bind3)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
+NDNBOOST_MPL_AUX_ARITY_SPEC(4, bind3)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
 
 template<
       typename F, typename T1, typename T2, typename T3
@@ -293,8 +293,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(5, bind4)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
+NDNBOOST_MPL_AUX_ARITY_SPEC(5, bind4)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
 
 template<
       typename F, typename T1, typename T2, typename T3, typename T4
@@ -351,8 +351,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(6, bind5)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
+NDNBOOST_MPL_AUX_ARITY_SPEC(6, bind5)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
 
 /// primary template (not a specialization!)
 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/plain/bind.hpp b/include/ndnboost/mpl/aux_/preprocessed/plain/bind.hpp
index f2cde5a..45cfc67 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/plain/bind.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/plain/bind.hpp
@@ -104,8 +104,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(1, bind0)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
+NDNBOOST_MPL_AUX_ARITY_SPEC(1, bind0)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
 
 template<
       typename F
@@ -162,8 +162,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(2, bind1)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
+NDNBOOST_MPL_AUX_ARITY_SPEC(2, bind1)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
 
 template<
       typename F, typename T1
@@ -225,8 +225,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(3, bind2)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
+NDNBOOST_MPL_AUX_ARITY_SPEC(3, bind2)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
 
 template<
       typename F, typename T1, typename T2
@@ -293,8 +293,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(4, bind3)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
+NDNBOOST_MPL_AUX_ARITY_SPEC(4, bind3)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
 
 template<
       typename F, typename T1, typename T2, typename T3
@@ -367,8 +367,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(5, bind4)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
+NDNBOOST_MPL_AUX_ARITY_SPEC(5, bind4)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
 
 template<
       typename F, typename T1, typename T2, typename T3, typename T4
@@ -448,8 +448,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(6, bind5)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
+NDNBOOST_MPL_AUX_ARITY_SPEC(6, bind5)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
 
 /// primary template (not a specialization!)
 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/plain/bitand.hpp b/include/ndnboost/mpl/aux_/preprocessed/plain/bitand.hpp
index f0575f5..4d50bbe 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/plain/bitand.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/plain/bitand.hpp
@@ -18,8 +18,8 @@
     >
 struct bitand_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< bitand_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,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)
     , typename N3 = na, typename N4 = na, typename N5 = na
     >
 struct bitand_
@@ -78,7 +78,7 @@
 
     : bitand_< bitand_< bitand_< N1,N2 >, N3>, N4>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , bitand_
         , ( N1, N2, N3, N4, na )
@@ -92,7 +92,7 @@
 
     : bitand_< bitand_< N1,N2 >, N3>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , bitand_
         , ( N1, N2, N3, na, na )
@@ -108,7 +108,7 @@
         , typename bitand_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , bitand_
         , ( N1, N2, na, na, na )
@@ -116,7 +116,7 @@
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitand_)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 5, bitand_)
 
 }}
 
@@ -131,8 +131,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
                 )
             >
     {
diff --git a/include/ndnboost/mpl/aux_/preprocessed/plain/bitor.hpp b/include/ndnboost/mpl/aux_/preprocessed/plain/bitor.hpp
index 6d4811b..ad02a39 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/plain/bitor.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/plain/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,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)
     , typename N3 = na, typename N4 = na, typename N5 = na
     >
 struct bitor_
@@ -78,7 +78,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 )
@@ -92,7 +92,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 )
@@ -108,7 +108,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 )
@@ -116,7 +116,7 @@
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitor_)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 5, bitor_)
 
 }}
 
@@ -131,8 +131,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
                 )
             >
     {
diff --git a/include/ndnboost/mpl/aux_/preprocessed/plain/bitxor.hpp b/include/ndnboost/mpl/aux_/preprocessed/plain/bitxor.hpp
index a4035d0..5a2e8a6 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/plain/bitxor.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/plain/bitxor.hpp
@@ -18,8 +18,8 @@
     >
 struct bitxor_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< bitxor_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,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)
     , typename N3 = na, typename N4 = na, typename N5 = na
     >
 struct bitxor_
@@ -78,7 +78,7 @@
 
     : bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , bitxor_
         , ( N1, N2, N3, N4, na )
@@ -92,7 +92,7 @@
 
     : bitxor_< bitxor_< N1,N2 >, N3>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , bitxor_
         , ( N1, N2, N3, na, na )
@@ -108,7 +108,7 @@
         , typename bitxor_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , bitxor_
         , ( N1, N2, na, na, na )
@@ -116,7 +116,7 @@
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitxor_)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 5, bitxor_)
 
 }}
 
@@ -131,8 +131,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
                 )
             >
     {
diff --git a/include/ndnboost/mpl/aux_/preprocessed/plain/divides.hpp b/include/ndnboost/mpl/aux_/preprocessed/plain/divides.hpp
index 4d3d24e..bcf6e20 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/plain/divides.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/plain/divides.hpp
@@ -17,8 +17,8 @@
     >
 struct divides_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< divides_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,8 +61,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)
     , typename N3 = na, typename N4 = na, typename N5 = na
     >
 struct divides
@@ -77,7 +77,7 @@
 
     : divides< divides< divides< N1,N2 >, N3>, N4>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , divides
         , ( N1, N2, N3, N4, na )
@@ -91,7 +91,7 @@
 
     : divides< divides< N1,N2 >, N3>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , divides
         , ( N1, N2, N3, na, na )
@@ -107,7 +107,7 @@
         , typename divides_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , divides
         , ( N1, N2, na, na, na )
@@ -115,7 +115,7 @@
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 5, divides)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 5, divides)
 
 }}
 
@@ -130,8 +130,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
                 )
             >
     {
diff --git a/include/ndnboost/mpl/aux_/preprocessed/plain/equal_to.hpp b/include/ndnboost/mpl/aux_/preprocessed/plain/equal_to.hpp
index 296c69c..e070a08 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/plain/equal_to.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/plain/equal_to.hpp
@@ -17,8 +17,8 @@
     >
 struct equal_to_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< equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,8 +61,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 equal_to
 
@@ -73,7 +73,7 @@
 {
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 2, equal_to)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 2, equal_to)
 
 }}
 
@@ -84,7 +84,7 @@
 {
     template< typename N1, typename N2 > struct apply
 
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value  == BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
+        : bool_< ( NDNBOOST_MPL_AUX_VALUE_WKND(N1)::value  == NDNBOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
     {
     };
 };
diff --git a/include/ndnboost/mpl/aux_/preprocessed/plain/full_lambda.hpp b/include/ndnboost/mpl/aux_/preprocessed/plain/full_lambda.hpp
index de658d8..7da971e 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/plain/full_lambda.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/plain/full_lambda.hpp
@@ -548,7 +548,7 @@
     typedef typename le_result_::type type;
 };
 
-BOOST_MPL_AUX_NA_SPEC(2, lambda)
+NDNBOOST_MPL_AUX_NA_SPEC(2, lambda)
 
 }}
 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/plain/greater.hpp b/include/ndnboost/mpl/aux_/preprocessed/plain/greater.hpp
index f2835d7..54a35d5 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/plain/greater.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/plain/greater.hpp
@@ -17,8 +17,8 @@
     >
 struct greater_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< greater_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,8 +61,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 greater
 
@@ -73,7 +73,7 @@
 {
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 2, greater)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 2, greater)
 
 }}
 
@@ -84,7 +84,7 @@
 {
     template< typename N1, typename N2 > struct apply
 
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value > BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
+        : bool_< ( NDNBOOST_MPL_AUX_VALUE_WKND(N1)::value > NDNBOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
     {
     };
 };
diff --git a/include/ndnboost/mpl/aux_/preprocessed/plain/greater_equal.hpp b/include/ndnboost/mpl/aux_/preprocessed/plain/greater_equal.hpp
index c67d5d6..d3b4035 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/plain/greater_equal.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/plain/greater_equal.hpp
@@ -17,8 +17,8 @@
     >
 struct greater_equal_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< greater_equal_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,8 +61,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 greater_equal
 
@@ -73,7 +73,7 @@
 {
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 2, greater_equal)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 2, greater_equal)
 
 }}
 
@@ -84,7 +84,7 @@
 {
     template< typename N1, typename N2 > struct apply
 
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
+        : bool_< ( NDNBOOST_MPL_AUX_VALUE_WKND(N1)::value >= NDNBOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
     {
     };
 };
diff --git a/include/ndnboost/mpl/aux_/preprocessed/plain/inherit.hpp b/include/ndnboost/mpl/aux_/preprocessed/plain/inherit.hpp
index 8c7914d..2773012 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/plain/inherit.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/plain/inherit.hpp
@@ -12,8 +12,8 @@
 namespace ndnboost { namespace mpl {
 
 template<
-      typename BOOST_MPL_AUX_NA_PARAM(T1)
-    , typename BOOST_MPL_AUX_NA_PARAM(T2)
+      typename NDNBOOST_MPL_AUX_NA_PARAM(T1)
+    , typename NDNBOOST_MPL_AUX_NA_PARAM(T2)
     >
 struct inherit2
     : T1, T2
@@ -25,24 +25,24 @@
 struct inherit2< T1,empty_base >
 {
     typedef T1 type;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (T1, empty_base))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (T1, empty_base))
 };
 
 template< typename T2 >
 struct inherit2< empty_base,T2 >
 {
     typedef T2 type;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, T2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, T2))
 };
 
 template<>
 struct inherit2< empty_base,empty_base >
 {
     typedef empty_base type;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, empty_base))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, empty_base))
 };
 
-BOOST_MPL_AUX_NA_SPEC(2, inherit2)
+NDNBOOST_MPL_AUX_NA_SPEC(2, inherit2)
 
 template<
       typename T1 = na, typename T2 = na, typename T3 = na
@@ -57,7 +57,7 @@
 {
 };
 
-BOOST_MPL_AUX_NA_SPEC(3, inherit3)
+NDNBOOST_MPL_AUX_NA_SPEC(3, inherit3)
 
 template<
       typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na
@@ -72,7 +72,7 @@
 {
 };
 
-BOOST_MPL_AUX_NA_SPEC(4, inherit4)
+NDNBOOST_MPL_AUX_NA_SPEC(4, inherit4)
 
 template<
       typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na
@@ -88,7 +88,7 @@
 {
 };
 
-BOOST_MPL_AUX_NA_SPEC(5, inherit5)
+NDNBOOST_MPL_AUX_NA_SPEC(5, inherit5)
 
 /// primary template
 
@@ -118,8 +118,8 @@
     };
 };
 
-BOOST_MPL_AUX_NA_SPEC_LAMBDA(5, inherit)
-BOOST_MPL_AUX_NA_SPEC_ARITY(5, inherit)
-BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(5, 5, inherit)
+NDNBOOST_MPL_AUX_NA_SPEC_LAMBDA(5, inherit)
+NDNBOOST_MPL_AUX_NA_SPEC_ARITY(5, inherit)
+NDNBOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(5, 5, inherit)
 }}
 
diff --git a/include/ndnboost/mpl/aux_/preprocessed/plain/iter_fold_if_impl.hpp b/include/ndnboost/mpl/aux_/preprocessed/plain/iter_fold_if_impl.hpp
index b0a2864..a74bd83 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/plain/iter_fold_if_impl.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/plain/iter_fold_if_impl.hpp
@@ -61,7 +61,7 @@
 {
     typedef typename apply2< Predicate,State,Iterator >::type not_last;
     typedef typename iter_fold_if_step_impl<
-          BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
+          NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
         >::template result_< Iterator,State,ForwardOp, mpl::next<Iterator> > impl_;
 
     typedef typename impl_::state state;
@@ -78,7 +78,7 @@
 {
     typedef typename apply2< Predicate,State,Iterator >::type not_last;
     typedef typename iter_fold_if_step_impl<
-          BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
+          NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
         >::template result_< Iterator,State,BackwardOp, identity<Iterator> > impl_;
 
     typedef typename impl_::state state;
diff --git a/include/ndnboost/mpl/aux_/preprocessed/plain/lambda_no_ctps.hpp b/include/ndnboost/mpl/aux_/preprocessed/plain/lambda_no_ctps.hpp
index 757a165..554028b 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/plain/lambda_no_ctps.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/plain/lambda_no_ctps.hpp
@@ -44,7 +44,7 @@
         typedef lambda< typename F::arg1, Tag, false_ > l1;
         typedef typename l1::is_le is_le1;
         typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value
+              NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value
             > is_le;
 
         typedef bind1<
@@ -74,7 +74,7 @@
         
 
         typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value
+              NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value
             > is_le;
 
         typedef bind2<
@@ -106,7 +106,7 @@
         
 
         typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value
+              NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value
             > is_le;
 
         typedef bind3<
@@ -140,7 +140,7 @@
         
 
         typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value
+              NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value
             > is_le;
 
         typedef bind4<
@@ -177,7 +177,7 @@
         
 
         typedef aux::lambda_or<
-              BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le5)::value
+              NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value, NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(is_le5)::value
             > is_le;
 
         typedef bind5<
@@ -214,7 +214,7 @@
     typedef typename l_::is_le is_le;
 };
 
-BOOST_MPL_AUX_NA_SPEC2(1, 3, lambda)
+NDNBOOST_MPL_AUX_NA_SPEC2(1, 3, lambda)
 
 template<
       typename T
diff --git a/include/ndnboost/mpl/aux_/preprocessed/plain/less.hpp b/include/ndnboost/mpl/aux_/preprocessed/plain/less.hpp
index debece1..f2edd0a 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/plain/less.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/plain/less.hpp
@@ -17,8 +17,8 @@
     >
 struct less_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< less_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,8 +61,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 less
 
@@ -73,7 +73,7 @@
 {
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 2, less)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 2, less)
 
 }}
 
@@ -84,7 +84,7 @@
 {
     template< typename N1, typename N2 > struct apply
 
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N2)::value > BOOST_MPL_AUX_VALUE_WKND(N1)::value ) >
+        : bool_< ( NDNBOOST_MPL_AUX_VALUE_WKND(N2)::value > NDNBOOST_MPL_AUX_VALUE_WKND(N1)::value ) >
     {
     };
 };
diff --git a/include/ndnboost/mpl/aux_/preprocessed/plain/less_equal.hpp b/include/ndnboost/mpl/aux_/preprocessed/plain/less_equal.hpp
index c18dd6a..838af91 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/plain/less_equal.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/plain/less_equal.hpp
@@ -17,8 +17,8 @@
     >
 struct less_equal_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< less_equal_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,8 +61,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 less_equal
 
@@ -73,7 +73,7 @@
 {
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 2, less_equal)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 2, less_equal)
 
 }}
 
@@ -84,7 +84,7 @@
 {
     template< typename N1, typename N2 > struct apply
 
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value <= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
+        : bool_< ( NDNBOOST_MPL_AUX_VALUE_WKND(N1)::value <= NDNBOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
     {
     };
 };
diff --git a/include/ndnboost/mpl/aux_/preprocessed/plain/minus.hpp b/include/ndnboost/mpl/aux_/preprocessed/plain/minus.hpp
index c491d53..9e82fb0 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/plain/minus.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/plain/minus.hpp
@@ -17,8 +17,8 @@
     >
 struct minus_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< minus_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,8 +61,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)
     , typename N3 = na, typename N4 = na, typename N5 = na
     >
 struct minus
@@ -77,7 +77,7 @@
 
     : minus< minus< minus< N1,N2 >, N3>, N4>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , minus
         , ( N1, N2, N3, N4, na )
@@ -91,7 +91,7 @@
 
     : minus< minus< N1,N2 >, N3>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , minus
         , ( N1, N2, N3, na, na )
@@ -107,7 +107,7 @@
         , typename minus_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , minus
         , ( N1, N2, na, na, na )
@@ -115,7 +115,7 @@
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 5, minus)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 5, minus)
 
 }}
 
@@ -130,8 +130,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
                 )
             >
     {
diff --git a/include/ndnboost/mpl/aux_/preprocessed/plain/modulus.hpp b/include/ndnboost/mpl/aux_/preprocessed/plain/modulus.hpp
index 7423c57..15143d6 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/plain/modulus.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/plain/modulus.hpp
@@ -17,8 +17,8 @@
     >
 struct modulus_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< modulus_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,8 +61,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 modulus
 
@@ -73,7 +73,7 @@
 {
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 2, modulus)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 2, modulus)
 
 }}
 
@@ -88,8 +88,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
                 )
             >
     {
diff --git a/include/ndnboost/mpl/aux_/preprocessed/plain/not_equal_to.hpp b/include/ndnboost/mpl/aux_/preprocessed/plain/not_equal_to.hpp
index 1ce634d..ff115af 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/plain/not_equal_to.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/plain/not_equal_to.hpp
@@ -17,8 +17,8 @@
     >
 struct not_equal_to_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< not_equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,8 +61,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 not_equal_to
 
@@ -73,7 +73,7 @@
 {
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 2, not_equal_to)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 2, not_equal_to)
 
 }}
 
@@ -84,7 +84,7 @@
 {
     template< typename N1, typename N2 > struct apply
 
-        : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value != BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
+        : bool_< ( NDNBOOST_MPL_AUX_VALUE_WKND(N1)::value != NDNBOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
     {
     };
 };
diff --git a/include/ndnboost/mpl/aux_/preprocessed/plain/or.hpp b/include/ndnboost/mpl/aux_/preprocessed/plain/or.hpp
index 6c5765d..41ce3d3 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/plain/or.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/plain/or.hpp
@@ -22,7 +22,7 @@
 template< typename T1, typename T2, typename T3, typename T4 >
 struct or_impl< false,T1,T2,T3,T4 >
     : or_impl<
-          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
+          NDNBOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
         , T2, T3, T4
         , false_
         >
@@ -41,21 +41,21 @@
 } // namespace aux
 
 template<
-      typename BOOST_MPL_AUX_NA_PARAM(T1)
-    , typename BOOST_MPL_AUX_NA_PARAM(T2)
+      typename NDNBOOST_MPL_AUX_NA_PARAM(T1)
+    , typename NDNBOOST_MPL_AUX_NA_PARAM(T2)
     , typename T3 = false_, typename T4 = false_, typename T5 = false_
     >
 struct or_
 
     : aux::or_impl<
-          BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
+          NDNBOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
         , T2, T3, T4, T5
         >
 
 {
 };
 
-BOOST_MPL_AUX_NA_SPEC2(
+NDNBOOST_MPL_AUX_NA_SPEC2(
       2
     , 5
     , or_
diff --git a/include/ndnboost/mpl/aux_/preprocessed/plain/placeholders.hpp b/include/ndnboost/mpl/aux_/preprocessed/plain/placeholders.hpp
index ecd4514..3a28c09 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/plain/placeholders.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/plain/placeholders.hpp
@@ -10,96 +10,96 @@
 // Preprocessed version of "ndnboost/mpl/placeholders.hpp" header
 // -- DO NOT modify by hand!
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 typedef arg< -1 > _;
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
 namespace ndnboost { namespace mpl {
 
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_)
+NDNBOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_)
 
 namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_;
+using NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_;
 }
 
 }}
 
 /// agurt, 17/mar/02: one more placeholder for the last 'apply#' 
 /// specialization
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 typedef arg<1> _1;
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
 namespace ndnboost { namespace mpl {
 
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1)
+NDNBOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1)
 
 namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1;
+using NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1;
 }
 
 }}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 typedef arg<2> _2;
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
 namespace ndnboost { namespace mpl {
 
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2)
+NDNBOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2)
 
 namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2;
+using NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2;
 }
 
 }}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 typedef arg<3> _3;
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
 namespace ndnboost { namespace mpl {
 
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3)
+NDNBOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3)
 
 namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3;
+using NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3;
 }
 
 }}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 typedef arg<4> _4;
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
 namespace ndnboost { namespace mpl {
 
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4)
+NDNBOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4)
 
 namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4;
+using NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4;
 }
 
 }}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 typedef arg<5> _5;
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
 namespace ndnboost { namespace mpl {
 
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5)
+NDNBOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5)
 
 namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5;
+using NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5;
 }
 
 }}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 typedef arg<6> _6;
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
 namespace ndnboost { namespace mpl {
 
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6)
+NDNBOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6)
 
 namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6;
+using NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6;
 }
 
 }}
diff --git a/include/ndnboost/mpl/aux_/preprocessed/plain/plus.hpp b/include/ndnboost/mpl/aux_/preprocessed/plain/plus.hpp
index 01a191d..4e7fe75 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/plain/plus.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/plain/plus.hpp
@@ -17,8 +17,8 @@
     >
 struct plus_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< plus_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,8 +61,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)
     , typename N3 = na, typename N4 = na, typename N5 = na
     >
 struct plus
@@ -77,7 +77,7 @@
 
     : plus< plus< plus< N1,N2 >, N3>, N4>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , plus
         , ( N1, N2, N3, N4, na )
@@ -91,7 +91,7 @@
 
     : plus< plus< N1,N2 >, N3>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , plus
         , ( N1, N2, N3, na, na )
@@ -107,7 +107,7 @@
         , typename plus_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , plus
         , ( N1, N2, na, na, na )
@@ -115,7 +115,7 @@
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 5, plus)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 5, plus)
 
 }}
 
@@ -130,8 +130,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
                 )
             >
     {
diff --git a/include/ndnboost/mpl/aux_/preprocessed/plain/shift_left.hpp b/include/ndnboost/mpl/aux_/preprocessed/plain/shift_left.hpp
index a37d3b2..7c4d389 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/plain/shift_left.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/plain/shift_left.hpp
@@ -18,8 +18,8 @@
     >
 struct shift_left_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< shift_left_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,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
 
@@ -74,7 +74,7 @@
 {
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_left)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 2, shift_left)
 
 }}
 
@@ -86,8 +86,8 @@
 
         : integral_c<
               typename N::value_type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N)::value
-                  << BOOST_MPL_AUX_VALUE_WKND(S)::value
+            , ( NDNBOOST_MPL_AUX_VALUE_WKND(N)::value
+                  << NDNBOOST_MPL_AUX_VALUE_WKND(S)::value
                 )
             >
     {
diff --git a/include/ndnboost/mpl/aux_/preprocessed/plain/shift_right.hpp b/include/ndnboost/mpl/aux_/preprocessed/plain/shift_right.hpp
index faa8302..9b608c1 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/plain/shift_right.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/plain/shift_right.hpp
@@ -18,8 +18,8 @@
     >
 struct shift_right_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< shift_right_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,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_right
 
@@ -74,7 +74,7 @@
 {
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_right)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 2, shift_right)
 
 }}
 
@@ -86,8 +86,8 @@
 
         : integral_c<
               typename N::value_type
-            , ( BOOST_MPL_AUX_VALUE_WKND(N)::value
-                  >> BOOST_MPL_AUX_VALUE_WKND(S)::value
+            , ( NDNBOOST_MPL_AUX_VALUE_WKND(N)::value
+                  >> NDNBOOST_MPL_AUX_VALUE_WKND(S)::value
                 )
             >
     {
diff --git a/include/ndnboost/mpl/aux_/preprocessed/plain/times.hpp b/include/ndnboost/mpl/aux_/preprocessed/plain/times.hpp
index f0e16aa..6ee853a 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/plain/times.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/plain/times.hpp
@@ -17,8 +17,8 @@
     >
 struct times_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< times_impl< Tag1,Tag1 >,Tag1, Tag2 >
@@ -33,7 +33,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -42,7 +42,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -51,7 +51,7 @@
     template< typename U1, typename U2 > struct apply
     {
         typedef apply type;
-        BOOST_STATIC_CONSTANT(int, value  = 0);
+        NDNBOOST_STATIC_CONSTANT(int, value  = 0);
     };
 };
 
@@ -61,8 +61,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)
     , typename N3 = na, typename N4 = na, typename N5 = na
     >
 struct times
@@ -77,7 +77,7 @@
 
     : times< times< times< N1,N2 >, N3>, N4>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , times
         , ( N1, N2, N3, N4, na )
@@ -91,7 +91,7 @@
 
     : times< times< N1,N2 >, N3>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , times
         , ( N1, N2, N3, na, na )
@@ -107,7 +107,7 @@
         , typename times_tag<N2>::type
         >::template apply< N1,N2 >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
           5
         , times
         , ( N1, N2, na, na, na )
@@ -115,7 +115,7 @@
 
 };
 
-BOOST_MPL_AUX_NA_SPEC2(2, 5, times)
+NDNBOOST_MPL_AUX_NA_SPEC2(2, 5, times)
 
 }}
 
@@ -130,8 +130,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
                 )
             >
     {
diff --git a/include/ndnboost/mpl/aux_/preprocessed/plain/unpack_args.hpp b/include/ndnboost/mpl/aux_/preprocessed/plain/unpack_args.hpp
index 9c9204f..aec31af 100644
--- a/include/ndnboost/mpl/aux_/preprocessed/plain/unpack_args.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessed/plain/unpack_args.hpp
@@ -88,7 +88,7 @@
     };
 };
 
-BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args)
+NDNBOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args)
 
 }}
 
diff --git a/include/ndnboost/mpl/aux_/preprocessor/add.hpp b/include/ndnboost/mpl/aux_/preprocessor/add.hpp
index bd5abc6..340b703 100644
--- a/include/ndnboost/mpl/aux_/preprocessor/add.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessor/add.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_AUX_PREPROCESSOR_ADD_HPP_INCLUDED
-#define BOOST_MPL_AUX_PREPROCESSOR_ADD_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_AUX_PREPROCESSOR_ADD_HPP_INCLUDED
+#define NDNBOOST_MPL_AUX_PREPROCESSOR_ADD_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2002-2004
 //
@@ -16,50 +16,50 @@
 
 #include <ndnboost/mpl/aux_/config/preprocessor.hpp>
 
-#if !defined(BOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES)
+#if !defined(NDNBOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES)
 
 #   include <ndnboost/mpl/aux_/preprocessor/tuple.hpp>
 
-#if defined(BOOST_MPL_CFG_BROKEN_PP_MACRO_EXPANSION)
+#if defined(NDNBOOST_MPL_CFG_BROKEN_PP_MACRO_EXPANSION)
 #   include <ndnboost/preprocessor/cat.hpp>
 
-#   define BOOST_MPL_PP_ADD(i,j) \
-    BOOST_MPL_PP_ADD_DELAY(i,j) \
+#   define NDNBOOST_MPL_PP_ADD(i,j) \
+    NDNBOOST_MPL_PP_ADD_DELAY(i,j) \
     /**/
 
-#   define BOOST_MPL_PP_ADD_DELAY(i,j) \
-    BOOST_PP_CAT(BOOST_MPL_PP_TUPLE_11_ELEM_##i,BOOST_MPL_PP_ADD_##j) \
+#   define NDNBOOST_MPL_PP_ADD_DELAY(i,j) \
+    NDNBOOST_PP_CAT(NDNBOOST_MPL_PP_TUPLE_11_ELEM_##i,NDNBOOST_MPL_PP_ADD_##j) \
     /**/
 #else
-#   define BOOST_MPL_PP_ADD(i,j) \
-    BOOST_MPL_PP_ADD_DELAY(i,j) \
+#   define NDNBOOST_MPL_PP_ADD(i,j) \
+    NDNBOOST_MPL_PP_ADD_DELAY(i,j) \
     /**/
 
-#   define BOOST_MPL_PP_ADD_DELAY(i,j) \
-    BOOST_MPL_PP_TUPLE_11_ELEM_##i BOOST_MPL_PP_ADD_##j \
+#   define NDNBOOST_MPL_PP_ADD_DELAY(i,j) \
+    NDNBOOST_MPL_PP_TUPLE_11_ELEM_##i NDNBOOST_MPL_PP_ADD_##j \
     /**/
 #endif
 
-#   define BOOST_MPL_PP_ADD_0 (0,1,2,3,4,5,6,7,8,9,10)
-#   define BOOST_MPL_PP_ADD_1 (1,2,3,4,5,6,7,8,9,10,0)
-#   define BOOST_MPL_PP_ADD_2 (2,3,4,5,6,7,8,9,10,0,0)
-#   define BOOST_MPL_PP_ADD_3 (3,4,5,6,7,8,9,10,0,0,0)
-#   define BOOST_MPL_PP_ADD_4 (4,5,6,7,8,9,10,0,0,0,0)
-#   define BOOST_MPL_PP_ADD_5 (5,6,7,8,9,10,0,0,0,0,0)
-#   define BOOST_MPL_PP_ADD_6 (6,7,8,9,10,0,0,0,0,0,0)
-#   define BOOST_MPL_PP_ADD_7 (7,8,9,10,0,0,0,0,0,0,0)
-#   define BOOST_MPL_PP_ADD_8 (8,9,10,0,0,0,0,0,0,0,0)
-#   define BOOST_MPL_PP_ADD_9 (9,10,0,0,0,0,0,0,0,0,0)
-#   define BOOST_MPL_PP_ADD_10 (10,0,0,0,0,0,0,0,0,0,0)
+#   define NDNBOOST_MPL_PP_ADD_0 (0,1,2,3,4,5,6,7,8,9,10)
+#   define NDNBOOST_MPL_PP_ADD_1 (1,2,3,4,5,6,7,8,9,10,0)
+#   define NDNBOOST_MPL_PP_ADD_2 (2,3,4,5,6,7,8,9,10,0,0)
+#   define NDNBOOST_MPL_PP_ADD_3 (3,4,5,6,7,8,9,10,0,0,0)
+#   define NDNBOOST_MPL_PP_ADD_4 (4,5,6,7,8,9,10,0,0,0,0)
+#   define NDNBOOST_MPL_PP_ADD_5 (5,6,7,8,9,10,0,0,0,0,0)
+#   define NDNBOOST_MPL_PP_ADD_6 (6,7,8,9,10,0,0,0,0,0,0)
+#   define NDNBOOST_MPL_PP_ADD_7 (7,8,9,10,0,0,0,0,0,0,0)
+#   define NDNBOOST_MPL_PP_ADD_8 (8,9,10,0,0,0,0,0,0,0,0)
+#   define NDNBOOST_MPL_PP_ADD_9 (9,10,0,0,0,0,0,0,0,0,0)
+#   define NDNBOOST_MPL_PP_ADD_10 (10,0,0,0,0,0,0,0,0,0,0)
 
 #else
 
 #   include <ndnboost/preprocessor/arithmetic/add.hpp>
 
-#   define BOOST_MPL_PP_ADD(i,j) \
-    BOOST_PP_ADD(i,j) \
+#   define NDNBOOST_MPL_PP_ADD(i,j) \
+    NDNBOOST_PP_ADD(i,j) \
     /**/
     
 #endif 
 
-#endif // BOOST_MPL_AUX_PREPROCESSOR_ADD_HPP_INCLUDED
+#endif // NDNBOOST_MPL_AUX_PREPROCESSOR_ADD_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/aux_/preprocessor/def_params_tail.hpp b/include/ndnboost/mpl/aux_/preprocessor/def_params_tail.hpp
index dcb31f0..f6536d0 100644
--- a/include/ndnboost/mpl/aux_/preprocessor/def_params_tail.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessor/def_params_tail.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_AUX_PREPROCESSOR_DEF_PARAMS_TAIL_HPP_INCLUDED
-#define BOOST_MPL_AUX_PREPROCESSOR_DEF_PARAMS_TAIL_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_AUX_PREPROCESSOR_DEF_PARAMS_TAIL_HPP_INCLUDED
+#define NDNBOOST_MPL_AUX_PREPROCESSOR_DEF_PARAMS_TAIL_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -23,43 +23,43 @@
 #include <ndnboost/preprocessor/identity.hpp>
 #include <ndnboost/preprocessor/empty.hpp>
 
-// BOOST_MPL_PP_DEF_PARAMS_TAIL(1,T,value): , T1 = value, .., Tn = value
-// BOOST_MPL_PP_DEF_PARAMS_TAIL(2,T,value): , T2 = value, .., Tn = value
-// BOOST_MPL_PP_DEF_PARAMS_TAIL(n,T,value): <nothing>
+// NDNBOOST_MPL_PP_DEF_PARAMS_TAIL(1,T,value): , T1 = value, .., Tn = value
+// NDNBOOST_MPL_PP_DEF_PARAMS_TAIL(2,T,value): , T2 = value, .., Tn = value
+// NDNBOOST_MPL_PP_DEF_PARAMS_TAIL(n,T,value): <nothing>
 
-#if !defined(BOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES)
+#if !defined(NDNBOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES)
 
 #   include <ndnboost/mpl/aux_/preprocessor/filter_params.hpp>
 #   include <ndnboost/mpl/aux_/preprocessor/sub.hpp>
 
-#   define BOOST_MPL_PP_DEF_PARAMS_TAIL_IMPL(i, param, value_func) \
-    BOOST_MPL_PP_DEF_PARAMS_TAIL_DELAY_1( \
+#   define NDNBOOST_MPL_PP_DEF_PARAMS_TAIL_IMPL(i, param, value_func) \
+    NDNBOOST_MPL_PP_DEF_PARAMS_TAIL_DELAY_1( \
           i \
-        , BOOST_MPL_PP_SUB(BOOST_MPL_LIMIT_METAFUNCTION_ARITY,i) \
+        , NDNBOOST_MPL_PP_SUB(NDNBOOST_MPL_LIMIT_METAFUNCTION_ARITY,i) \
         , param \
         , value_func \
         ) \
     /**/
 
-#   define BOOST_MPL_PP_DEF_PARAMS_TAIL_DELAY_1(i, n, param, value_func) \
-    BOOST_MPL_PP_DEF_PARAMS_TAIL_DELAY_2(i,n,param,value_func) \
+#   define NDNBOOST_MPL_PP_DEF_PARAMS_TAIL_DELAY_1(i, n, param, value_func) \
+    NDNBOOST_MPL_PP_DEF_PARAMS_TAIL_DELAY_2(i,n,param,value_func) \
     /**/
 
-#   define BOOST_MPL_PP_DEF_PARAMS_TAIL_DELAY_2(i, n, param, value_func) \
-    BOOST_PP_COMMA_IF(BOOST_PP_AND(i,n)) \
-    BOOST_MPL_PP_DEF_PARAMS_TAIL_##i(n,param,value_func) \
+#   define NDNBOOST_MPL_PP_DEF_PARAMS_TAIL_DELAY_2(i, n, param, value_func) \
+    NDNBOOST_PP_COMMA_IF(NDNBOOST_PP_AND(i,n)) \
+    NDNBOOST_MPL_PP_DEF_PARAMS_TAIL_##i(n,param,value_func) \
     /**/
 
-#   define BOOST_MPL_PP_DEF_PARAMS_TAIL_0(i,p,v) BOOST_MPL_PP_FILTER_PARAMS_##i(p##1 v(),p##2 v(),p##3 v(),p##4 v(),p##5 v(),p##6 v(),p##7 v(),p##8 v(),p##9 v())
-#   define BOOST_MPL_PP_DEF_PARAMS_TAIL_1(i,p,v) BOOST_MPL_PP_FILTER_PARAMS_##i(p##2 v(),p##3 v(),p##4 v(),p##5 v(),p##6 v(),p##7 v(),p##8 v(),p##9 v(),p1)
-#   define BOOST_MPL_PP_DEF_PARAMS_TAIL_2(i,p,v) BOOST_MPL_PP_FILTER_PARAMS_##i(p##3 v(),p##4 v(),p##5 v(),p##6 v(),p##7 v(),p##8 v(),p##9 v(),p1,p2)
-#   define BOOST_MPL_PP_DEF_PARAMS_TAIL_3(i,p,v) BOOST_MPL_PP_FILTER_PARAMS_##i(p##4 v(),p##5 v(),p##6 v(),p##7 v(),p##8 v(),p##9 v(),p1,p2,p3)
-#   define BOOST_MPL_PP_DEF_PARAMS_TAIL_4(i,p,v) BOOST_MPL_PP_FILTER_PARAMS_##i(p##5 v(),p##6 v(),p##7 v(),p##8 v(),p##9 v(),p1,p2,p3,p4)
-#   define BOOST_MPL_PP_DEF_PARAMS_TAIL_5(i,p,v) BOOST_MPL_PP_FILTER_PARAMS_##i(p##6 v(),p##7 v(),p##8 v(),p##9 v(),p1,p2,p3,p4,p5)
-#   define BOOST_MPL_PP_DEF_PARAMS_TAIL_6(i,p,v) BOOST_MPL_PP_FILTER_PARAMS_##i(p##7 v(),p##8 v(),p##9 v(),p1,p2,p3,p4,p5,p6)
-#   define BOOST_MPL_PP_DEF_PARAMS_TAIL_7(i,p,v) BOOST_MPL_PP_FILTER_PARAMS_##i(p##8 v(),p##9 v(),p1,p2,p3,p4,p5,p6,p7)
-#   define BOOST_MPL_PP_DEF_PARAMS_TAIL_8(i,p,v) BOOST_MPL_PP_FILTER_PARAMS_##i(p##9 v(),p1,p2,p3,p4,p5,p6,p7,p8)
-#   define BOOST_MPL_PP_DEF_PARAMS_TAIL_9(i,p,v) BOOST_MPL_PP_FILTER_PARAMS_##i(p1,p2,p3,p4,p5,p6,p7,p8,p9)
+#   define NDNBOOST_MPL_PP_DEF_PARAMS_TAIL_0(i,p,v) NDNBOOST_MPL_PP_FILTER_PARAMS_##i(p##1 v(),p##2 v(),p##3 v(),p##4 v(),p##5 v(),p##6 v(),p##7 v(),p##8 v(),p##9 v())
+#   define NDNBOOST_MPL_PP_DEF_PARAMS_TAIL_1(i,p,v) NDNBOOST_MPL_PP_FILTER_PARAMS_##i(p##2 v(),p##3 v(),p##4 v(),p##5 v(),p##6 v(),p##7 v(),p##8 v(),p##9 v(),p1)
+#   define NDNBOOST_MPL_PP_DEF_PARAMS_TAIL_2(i,p,v) NDNBOOST_MPL_PP_FILTER_PARAMS_##i(p##3 v(),p##4 v(),p##5 v(),p##6 v(),p##7 v(),p##8 v(),p##9 v(),p1,p2)
+#   define NDNBOOST_MPL_PP_DEF_PARAMS_TAIL_3(i,p,v) NDNBOOST_MPL_PP_FILTER_PARAMS_##i(p##4 v(),p##5 v(),p##6 v(),p##7 v(),p##8 v(),p##9 v(),p1,p2,p3)
+#   define NDNBOOST_MPL_PP_DEF_PARAMS_TAIL_4(i,p,v) NDNBOOST_MPL_PP_FILTER_PARAMS_##i(p##5 v(),p##6 v(),p##7 v(),p##8 v(),p##9 v(),p1,p2,p3,p4)
+#   define NDNBOOST_MPL_PP_DEF_PARAMS_TAIL_5(i,p,v) NDNBOOST_MPL_PP_FILTER_PARAMS_##i(p##6 v(),p##7 v(),p##8 v(),p##9 v(),p1,p2,p3,p4,p5)
+#   define NDNBOOST_MPL_PP_DEF_PARAMS_TAIL_6(i,p,v) NDNBOOST_MPL_PP_FILTER_PARAMS_##i(p##7 v(),p##8 v(),p##9 v(),p1,p2,p3,p4,p5,p6)
+#   define NDNBOOST_MPL_PP_DEF_PARAMS_TAIL_7(i,p,v) NDNBOOST_MPL_PP_FILTER_PARAMS_##i(p##8 v(),p##9 v(),p1,p2,p3,p4,p5,p6,p7)
+#   define NDNBOOST_MPL_PP_DEF_PARAMS_TAIL_8(i,p,v) NDNBOOST_MPL_PP_FILTER_PARAMS_##i(p##9 v(),p1,p2,p3,p4,p5,p6,p7,p8)
+#   define NDNBOOST_MPL_PP_DEF_PARAMS_TAIL_9(i,p,v) NDNBOOST_MPL_PP_FILTER_PARAMS_##i(p1,p2,p3,p4,p5,p6,p7,p8,p9)
 
 #else
 
@@ -70,36 +70,36 @@
 #   include <ndnboost/preprocessor/repeat.hpp>
 #   include <ndnboost/preprocessor/cat.hpp>
 
-#   define BOOST_MPL_PP_AUX_TAIL_PARAM_FUNC(unused, i, op) \
-    , BOOST_PP_CAT( \
-          BOOST_PP_TUPLE_ELEM(3, 1, op) \
-        , BOOST_PP_ADD_D(1, i, BOOST_PP_INC(BOOST_PP_TUPLE_ELEM(3, 0, op))) \
-        ) BOOST_PP_TUPLE_ELEM(3, 2, op)() \
+#   define NDNBOOST_MPL_PP_AUX_TAIL_PARAM_FUNC(unused, i, op) \
+    , NDNBOOST_PP_CAT( \
+          NDNBOOST_PP_TUPLE_ELEM(3, 1, op) \
+        , NDNBOOST_PP_ADD_D(1, i, NDNBOOST_PP_INC(NDNBOOST_PP_TUPLE_ELEM(3, 0, op))) \
+        ) NDNBOOST_PP_TUPLE_ELEM(3, 2, op)() \
     /**/
 
-#   define BOOST_MPL_PP_DEF_PARAMS_TAIL_IMPL(i, param, value_func) \
-    BOOST_PP_REPEAT( \
-          BOOST_PP_SUB_D(1, BOOST_MPL_LIMIT_METAFUNCTION_ARITY, i) \
-        , BOOST_MPL_PP_AUX_TAIL_PARAM_FUNC \
+#   define NDNBOOST_MPL_PP_DEF_PARAMS_TAIL_IMPL(i, param, value_func) \
+    NDNBOOST_PP_REPEAT( \
+          NDNBOOST_PP_SUB_D(1, NDNBOOST_MPL_LIMIT_METAFUNCTION_ARITY, i) \
+        , NDNBOOST_MPL_PP_AUX_TAIL_PARAM_FUNC \
         , (i, param, value_func) \
         ) \
     /**/
 
 
-#endif // BOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES
+#endif // NDNBOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES
 
-#define BOOST_MPL_PP_DEF_PARAMS_TAIL(i, param, value) \
-    BOOST_MPL_PP_DEF_PARAMS_TAIL_IMPL(i, param, BOOST_PP_IDENTITY(=value)) \
+#define NDNBOOST_MPL_PP_DEF_PARAMS_TAIL(i, param, value) \
+    NDNBOOST_MPL_PP_DEF_PARAMS_TAIL_IMPL(i, param, NDNBOOST_PP_IDENTITY(=value)) \
     /**/
 
-#if !defined(BOOST_MPL_CFG_NO_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES)
-#   define BOOST_MPL_PP_NESTED_DEF_PARAMS_TAIL(i, param, value) \
-    BOOST_MPL_PP_DEF_PARAMS_TAIL_IMPL(i, param, BOOST_PP_IDENTITY(=value)) \
+#if !defined(NDNBOOST_MPL_CFG_NO_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES)
+#   define NDNBOOST_MPL_PP_NESTED_DEF_PARAMS_TAIL(i, param, value) \
+    NDNBOOST_MPL_PP_DEF_PARAMS_TAIL_IMPL(i, param, NDNBOOST_PP_IDENTITY(=value)) \
     /**/
 #else
-#   define BOOST_MPL_PP_NESTED_DEF_PARAMS_TAIL(i, param, value) \
-    BOOST_MPL_PP_DEF_PARAMS_TAIL_IMPL(i, param, BOOST_PP_EMPTY) \
+#   define NDNBOOST_MPL_PP_NESTED_DEF_PARAMS_TAIL(i, param, value) \
+    NDNBOOST_MPL_PP_DEF_PARAMS_TAIL_IMPL(i, param, NDNBOOST_PP_EMPTY) \
     /**/
 #endif
 
-#endif // BOOST_MPL_AUX_PREPROCESSOR_DEF_PARAMS_TAIL_HPP_INCLUDED
+#endif // NDNBOOST_MPL_AUX_PREPROCESSOR_DEF_PARAMS_TAIL_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/aux_/preprocessor/default_params.hpp b/include/ndnboost/mpl/aux_/preprocessor/default_params.hpp
index a82d692..a5233f4 100644
--- a/include/ndnboost/mpl/aux_/preprocessor/default_params.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessor/default_params.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_AUX_PREPROCESSOR_DEFAULT_PARAMS_HPP_INCLUDED
-#define BOOST_MPL_AUX_PREPROCESSOR_DEFAULT_PARAMS_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_AUX_PREPROCESSOR_DEFAULT_PARAMS_HPP_INCLUDED
+#define NDNBOOST_MPL_AUX_PREPROCESSOR_DEFAULT_PARAMS_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2002-2004
 //
@@ -16,29 +16,29 @@
 
 #include <ndnboost/mpl/aux_/config/preprocessor.hpp>
 
-// BOOST_MPL_PP_DEFAULT_PARAMS(0,T,int): <nothing>
-// BOOST_MPL_PP_DEFAULT_PARAMS(1,T,int): T1 = int
-// BOOST_MPL_PP_DEFAULT_PARAMS(2,T,int): T1 = int, T2 = int
-// BOOST_MPL_PP_DEFAULT_PARAMS(n,T,int): T1 = int, T2 = int, .., Tn = int
+// NDNBOOST_MPL_PP_DEFAULT_PARAMS(0,T,int): <nothing>
+// NDNBOOST_MPL_PP_DEFAULT_PARAMS(1,T,int): T1 = int
+// NDNBOOST_MPL_PP_DEFAULT_PARAMS(2,T,int): T1 = int, T2 = int
+// NDNBOOST_MPL_PP_DEFAULT_PARAMS(n,T,int): T1 = int, T2 = int, .., Tn = int
 
-#if !defined(BOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES)
+#if !defined(NDNBOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES)
 
 #   include <ndnboost/preprocessor/cat.hpp>
 
-#   define BOOST_MPL_PP_DEFAULT_PARAMS(n,p,v) \
-    BOOST_PP_CAT(BOOST_MPL_PP_DEFAULT_PARAMS_,n)(p,v) \
+#   define NDNBOOST_MPL_PP_DEFAULT_PARAMS(n,p,v) \
+    NDNBOOST_PP_CAT(NDNBOOST_MPL_PP_DEFAULT_PARAMS_,n)(p,v) \
     /**/
     
-#   define BOOST_MPL_PP_DEFAULT_PARAMS_0(p,v)
-#   define BOOST_MPL_PP_DEFAULT_PARAMS_1(p,v) p##1=v
-#   define BOOST_MPL_PP_DEFAULT_PARAMS_2(p,v) p##1=v,p##2=v
-#   define BOOST_MPL_PP_DEFAULT_PARAMS_3(p,v) p##1=v,p##2=v,p##3=v
-#   define BOOST_MPL_PP_DEFAULT_PARAMS_4(p,v) p##1=v,p##2=v,p##3=v,p##4=v
-#   define BOOST_MPL_PP_DEFAULT_PARAMS_5(p,v) p##1=v,p##2=v,p##3=v,p##4=v,p##5=v
-#   define BOOST_MPL_PP_DEFAULT_PARAMS_6(p,v) p##1=v,p##2=v,p##3=v,p##4=v,p##5=v,p##6=v
-#   define BOOST_MPL_PP_DEFAULT_PARAMS_7(p,v) p##1=v,p##2=v,p##3=v,p##4=v,p##5=v,p##6=v,p##7=v
-#   define BOOST_MPL_PP_DEFAULT_PARAMS_8(p,v) p##1=v,p##2=v,p##3=v,p##4=v,p##5=v,p##6=v,p##7=v,p##8=v
-#   define BOOST_MPL_PP_DEFAULT_PARAMS_9(p,v) p##1=v,p##2=v,p##3=v,p##4=v,p##5=v,p##6=v,p##7=v,p##8=v,p##9=v
+#   define NDNBOOST_MPL_PP_DEFAULT_PARAMS_0(p,v)
+#   define NDNBOOST_MPL_PP_DEFAULT_PARAMS_1(p,v) p##1=v
+#   define NDNBOOST_MPL_PP_DEFAULT_PARAMS_2(p,v) p##1=v,p##2=v
+#   define NDNBOOST_MPL_PP_DEFAULT_PARAMS_3(p,v) p##1=v,p##2=v,p##3=v
+#   define NDNBOOST_MPL_PP_DEFAULT_PARAMS_4(p,v) p##1=v,p##2=v,p##3=v,p##4=v
+#   define NDNBOOST_MPL_PP_DEFAULT_PARAMS_5(p,v) p##1=v,p##2=v,p##3=v,p##4=v,p##5=v
+#   define NDNBOOST_MPL_PP_DEFAULT_PARAMS_6(p,v) p##1=v,p##2=v,p##3=v,p##4=v,p##5=v,p##6=v
+#   define NDNBOOST_MPL_PP_DEFAULT_PARAMS_7(p,v) p##1=v,p##2=v,p##3=v,p##4=v,p##5=v,p##6=v,p##7=v
+#   define NDNBOOST_MPL_PP_DEFAULT_PARAMS_8(p,v) p##1=v,p##2=v,p##3=v,p##4=v,p##5=v,p##6=v,p##7=v,p##8=v
+#   define NDNBOOST_MPL_PP_DEFAULT_PARAMS_9(p,v) p##1=v,p##2=v,p##3=v,p##4=v,p##5=v,p##6=v,p##7=v,p##8=v,p##9=v
 
 #else
 
@@ -48,20 +48,20 @@
 #   include <ndnboost/preprocessor/inc.hpp>
 #   include <ndnboost/preprocessor/cat.hpp>
 
-#   define BOOST_MPL_PP_AUX_DEFAULT_PARAM_FUNC(unused, i, pv) \
-    BOOST_PP_COMMA_IF(i) \
-    BOOST_PP_CAT( BOOST_PP_TUPLE_ELEM(2,0,pv), BOOST_PP_INC(i) ) \
-        = BOOST_PP_TUPLE_ELEM(2,1,pv) \
+#   define NDNBOOST_MPL_PP_AUX_DEFAULT_PARAM_FUNC(unused, i, pv) \
+    NDNBOOST_PP_COMMA_IF(i) \
+    NDNBOOST_PP_CAT( NDNBOOST_PP_TUPLE_ELEM(2,0,pv), NDNBOOST_PP_INC(i) ) \
+        = NDNBOOST_PP_TUPLE_ELEM(2,1,pv) \
     /**/
 
-#   define BOOST_MPL_PP_DEFAULT_PARAMS(n, param, value) \
-    BOOST_PP_REPEAT( \
+#   define NDNBOOST_MPL_PP_DEFAULT_PARAMS(n, param, value) \
+    NDNBOOST_PP_REPEAT( \
           n \
-        , BOOST_MPL_PP_AUX_DEFAULT_PARAM_FUNC \
+        , NDNBOOST_MPL_PP_AUX_DEFAULT_PARAM_FUNC \
         , (param,value) \
         ) \
     /**/
 
 #endif
 
-#endif // BOOST_MPL_AUX_PREPROCESSOR_DEFAULT_PARAMS_HPP_INCLUDED
+#endif // NDNBOOST_MPL_AUX_PREPROCESSOR_DEFAULT_PARAMS_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/aux_/preprocessor/enum.hpp b/include/ndnboost/mpl/aux_/preprocessor/enum.hpp
index a1660b9..05a1641 100644
--- a/include/ndnboost/mpl/aux_/preprocessor/enum.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessor/enum.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_AUX_PREPROCESSOR_ENUM_HPP_INCLUDED
-#define BOOST_MPL_AUX_PREPROCESSOR_ENUM_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_AUX_PREPROCESSOR_ENUM_HPP_INCLUDED
+#define NDNBOOST_MPL_AUX_PREPROCESSOR_ENUM_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -16,47 +16,47 @@
 
 #include <ndnboost/mpl/aux_/config/preprocessor.hpp>
 
-// BOOST_MPL_PP_ENUM(0,int): <nothing>
-// BOOST_MPL_PP_ENUM(1,int): int
-// BOOST_MPL_PP_ENUM(2,int): int, int
-// BOOST_MPL_PP_ENUM(n,int): int, int, .., int
+// NDNBOOST_MPL_PP_ENUM(0,int): <nothing>
+// NDNBOOST_MPL_PP_ENUM(1,int): int
+// NDNBOOST_MPL_PP_ENUM(2,int): int, int
+// NDNBOOST_MPL_PP_ENUM(n,int): int, int, .., int
 
-#if !defined(BOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES)
+#if !defined(NDNBOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES)
 
 #   include <ndnboost/preprocessor/cat.hpp>
 
-#   define BOOST_MPL_PP_ENUM(n, param) \
-    BOOST_PP_CAT(BOOST_MPL_PP_ENUM_,n)(param) \
+#   define NDNBOOST_MPL_PP_ENUM(n, param) \
+    NDNBOOST_PP_CAT(NDNBOOST_MPL_PP_ENUM_,n)(param) \
     /**/
     
-#   define BOOST_MPL_PP_ENUM_0(p)
-#   define BOOST_MPL_PP_ENUM_1(p) p
-#   define BOOST_MPL_PP_ENUM_2(p) p,p
-#   define BOOST_MPL_PP_ENUM_3(p) p,p,p
-#   define BOOST_MPL_PP_ENUM_4(p) p,p,p,p
-#   define BOOST_MPL_PP_ENUM_5(p) p,p,p,p,p
-#   define BOOST_MPL_PP_ENUM_6(p) p,p,p,p,p,p
-#   define BOOST_MPL_PP_ENUM_7(p) p,p,p,p,p,p,p
-#   define BOOST_MPL_PP_ENUM_8(p) p,p,p,p,p,p,p,p
-#   define BOOST_MPL_PP_ENUM_9(p) p,p,p,p,p,p,p,p,p
+#   define NDNBOOST_MPL_PP_ENUM_0(p)
+#   define NDNBOOST_MPL_PP_ENUM_1(p) p
+#   define NDNBOOST_MPL_PP_ENUM_2(p) p,p
+#   define NDNBOOST_MPL_PP_ENUM_3(p) p,p,p
+#   define NDNBOOST_MPL_PP_ENUM_4(p) p,p,p,p
+#   define NDNBOOST_MPL_PP_ENUM_5(p) p,p,p,p,p
+#   define NDNBOOST_MPL_PP_ENUM_6(p) p,p,p,p,p,p
+#   define NDNBOOST_MPL_PP_ENUM_7(p) p,p,p,p,p,p,p
+#   define NDNBOOST_MPL_PP_ENUM_8(p) p,p,p,p,p,p,p,p
+#   define NDNBOOST_MPL_PP_ENUM_9(p) p,p,p,p,p,p,p,p,p
 
 #else
 
 #   include <ndnboost/preprocessor/comma_if.hpp>
 #   include <ndnboost/preprocessor/repeat.hpp>
 
-#   define BOOST_MPL_PP_AUX_ENUM_FUNC(unused, i, param) \
-    BOOST_PP_COMMA_IF(i) param \
+#   define NDNBOOST_MPL_PP_AUX_ENUM_FUNC(unused, i, param) \
+    NDNBOOST_PP_COMMA_IF(i) param \
     /**/
 
-#   define BOOST_MPL_PP_ENUM(n, param) \
-    BOOST_PP_REPEAT( \
+#   define NDNBOOST_MPL_PP_ENUM(n, param) \
+    NDNBOOST_PP_REPEAT( \
           n \
-        , BOOST_MPL_PP_AUX_ENUM_FUNC \
+        , NDNBOOST_MPL_PP_AUX_ENUM_FUNC \
         , param \
         ) \
     /**/
 
 #endif
 
-#endif // BOOST_MPL_AUX_PREPROCESSOR_ENUM_HPP_INCLUDED
+#endif // NDNBOOST_MPL_AUX_PREPROCESSOR_ENUM_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/aux_/preprocessor/ext_params.hpp b/include/ndnboost/mpl/aux_/preprocessor/ext_params.hpp
index 3f01b1b..489e494 100644
--- a/include/ndnboost/mpl/aux_/preprocessor/ext_params.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessor/ext_params.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_AUX_PREPROCESSOR_EXT_PARAMS_HPP_INCLUDED
-#define BOOST_MPL_AUX_PREPROCESSOR_EXT_PARAMS_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_AUX_PREPROCESSOR_EXT_PARAMS_HPP_INCLUDED
+#define NDNBOOST_MPL_AUX_PREPROCESSOR_EXT_PARAMS_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -16,37 +16,37 @@
 
 #include <ndnboost/mpl/aux_/config/preprocessor.hpp>
 
-// BOOST_MPL_PP_EXT_PARAMS(2,2,T): <nothing>
-// BOOST_MPL_PP_EXT_PARAMS(2,3,T): T2
-// BOOST_MPL_PP_EXT_PARAMS(2,4,T): T2, T3
-// BOOST_MPL_PP_EXT_PARAMS(2,n,T): T2, T3, .., Tn-1
+// NDNBOOST_MPL_PP_EXT_PARAMS(2,2,T): <nothing>
+// NDNBOOST_MPL_PP_EXT_PARAMS(2,3,T): T2
+// NDNBOOST_MPL_PP_EXT_PARAMS(2,4,T): T2, T3
+// NDNBOOST_MPL_PP_EXT_PARAMS(2,n,T): T2, T3, .., Tn-1
 
-#if !defined(BOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES)
+#if !defined(NDNBOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES)
 
 #   include <ndnboost/mpl/aux_/preprocessor/filter_params.hpp>
 #   include <ndnboost/mpl/aux_/preprocessor/sub.hpp>
 
-#   define BOOST_MPL_PP_EXT_PARAMS(i,j,p) \
-    BOOST_MPL_PP_EXT_PARAMS_DELAY_1(i,BOOST_MPL_PP_SUB(j,i),p) \
+#   define NDNBOOST_MPL_PP_EXT_PARAMS(i,j,p) \
+    NDNBOOST_MPL_PP_EXT_PARAMS_DELAY_1(i,NDNBOOST_MPL_PP_SUB(j,i),p) \
     /**/
 
-#   define BOOST_MPL_PP_EXT_PARAMS_DELAY_1(i,n,p) \
-    BOOST_MPL_PP_EXT_PARAMS_DELAY_2(i,n,p) \
+#   define NDNBOOST_MPL_PP_EXT_PARAMS_DELAY_1(i,n,p) \
+    NDNBOOST_MPL_PP_EXT_PARAMS_DELAY_2(i,n,p) \
     /**/
 
-#   define BOOST_MPL_PP_EXT_PARAMS_DELAY_2(i,n,p) \
-    BOOST_MPL_PP_EXT_PARAMS_##i(n,p) \
+#   define NDNBOOST_MPL_PP_EXT_PARAMS_DELAY_2(i,n,p) \
+    NDNBOOST_MPL_PP_EXT_PARAMS_##i(n,p) \
     /**/
 
-#   define BOOST_MPL_PP_EXT_PARAMS_1(i,p) BOOST_MPL_PP_FILTER_PARAMS_##i(p##1,p##2,p##3,p##4,p##5,p##6,p##7,p##8,p##9)
-#   define BOOST_MPL_PP_EXT_PARAMS_2(i,p) BOOST_MPL_PP_FILTER_PARAMS_##i(p##2,p##3,p##4,p##5,p##6,p##7,p##8,p##9,p1)
-#   define BOOST_MPL_PP_EXT_PARAMS_3(i,p) BOOST_MPL_PP_FILTER_PARAMS_##i(p##3,p##4,p##5,p##6,p##7,p##8,p##9,p1,p2)
-#   define BOOST_MPL_PP_EXT_PARAMS_4(i,p) BOOST_MPL_PP_FILTER_PARAMS_##i(p##4,p##5,p##6,p##7,p##8,p##9,p1,p2,p3)
-#   define BOOST_MPL_PP_EXT_PARAMS_5(i,p) BOOST_MPL_PP_FILTER_PARAMS_##i(p##5,p##6,p##7,p##8,p##9,p1,p2,p3,p4)
-#   define BOOST_MPL_PP_EXT_PARAMS_6(i,p) BOOST_MPL_PP_FILTER_PARAMS_##i(p##6,p##7,p##8,p##9,p1,p2,p3,p4,p5)
-#   define BOOST_MPL_PP_EXT_PARAMS_7(i,p) BOOST_MPL_PP_FILTER_PARAMS_##i(p##7,p##8,p##9,p1,p2,p3,p4,p5,p6)
-#   define BOOST_MPL_PP_EXT_PARAMS_8(i,p) BOOST_MPL_PP_FILTER_PARAMS_##i(p##8,p##9,p1,p2,p3,p4,p5,p6,p7)
-#   define BOOST_MPL_PP_EXT_PARAMS_9(i,p) BOOST_MPL_PP_FILTER_PARAMS_##i(p##9,p1,p2,p3,p4,p5,p6,p7,p8)
+#   define NDNBOOST_MPL_PP_EXT_PARAMS_1(i,p) NDNBOOST_MPL_PP_FILTER_PARAMS_##i(p##1,p##2,p##3,p##4,p##5,p##6,p##7,p##8,p##9)
+#   define NDNBOOST_MPL_PP_EXT_PARAMS_2(i,p) NDNBOOST_MPL_PP_FILTER_PARAMS_##i(p##2,p##3,p##4,p##5,p##6,p##7,p##8,p##9,p1)
+#   define NDNBOOST_MPL_PP_EXT_PARAMS_3(i,p) NDNBOOST_MPL_PP_FILTER_PARAMS_##i(p##3,p##4,p##5,p##6,p##7,p##8,p##9,p1,p2)
+#   define NDNBOOST_MPL_PP_EXT_PARAMS_4(i,p) NDNBOOST_MPL_PP_FILTER_PARAMS_##i(p##4,p##5,p##6,p##7,p##8,p##9,p1,p2,p3)
+#   define NDNBOOST_MPL_PP_EXT_PARAMS_5(i,p) NDNBOOST_MPL_PP_FILTER_PARAMS_##i(p##5,p##6,p##7,p##8,p##9,p1,p2,p3,p4)
+#   define NDNBOOST_MPL_PP_EXT_PARAMS_6(i,p) NDNBOOST_MPL_PP_FILTER_PARAMS_##i(p##6,p##7,p##8,p##9,p1,p2,p3,p4,p5)
+#   define NDNBOOST_MPL_PP_EXT_PARAMS_7(i,p) NDNBOOST_MPL_PP_FILTER_PARAMS_##i(p##7,p##8,p##9,p1,p2,p3,p4,p5,p6)
+#   define NDNBOOST_MPL_PP_EXT_PARAMS_8(i,p) NDNBOOST_MPL_PP_FILTER_PARAMS_##i(p##8,p##9,p1,p2,p3,p4,p5,p6,p7)
+#   define NDNBOOST_MPL_PP_EXT_PARAMS_9(i,p) NDNBOOST_MPL_PP_FILTER_PARAMS_##i(p##9,p1,p2,p3,p4,p5,p6,p7,p8)
 
 #else
 
@@ -57,22 +57,22 @@
 #   include <ndnboost/preprocessor/tuple/elem.hpp>
 #   include <ndnboost/preprocessor/cat.hpp>
 
-#   define BOOST_MPL_PP_AUX_EXT_PARAM_FUNC(unused, i, op) \
-    BOOST_PP_COMMA_IF(i) \
-    BOOST_PP_CAT( \
-          BOOST_PP_TUPLE_ELEM(2,1,op) \
-        , BOOST_PP_ADD_D(1, i, BOOST_PP_TUPLE_ELEM(2,0,op)) \
+#   define NDNBOOST_MPL_PP_AUX_EXT_PARAM_FUNC(unused, i, op) \
+    NDNBOOST_PP_COMMA_IF(i) \
+    NDNBOOST_PP_CAT( \
+          NDNBOOST_PP_TUPLE_ELEM(2,1,op) \
+        , NDNBOOST_PP_ADD_D(1, i, NDNBOOST_PP_TUPLE_ELEM(2,0,op)) \
         ) \
     /**/
 
-#   define BOOST_MPL_PP_EXT_PARAMS(i, j, param) \
-    BOOST_PP_REPEAT( \
-          BOOST_PP_SUB_D(1,j,i) \
-        , BOOST_MPL_PP_AUX_EXT_PARAM_FUNC \
+#   define NDNBOOST_MPL_PP_EXT_PARAMS(i, j, param) \
+    NDNBOOST_PP_REPEAT( \
+          NDNBOOST_PP_SUB_D(1,j,i) \
+        , NDNBOOST_MPL_PP_AUX_EXT_PARAM_FUNC \
         , (i,param) \
         ) \
     /**/
 
 #endif
 
-#endif // BOOST_MPL_AUX_PREPROCESSOR_EXT_PARAMS_HPP_INCLUDED
+#endif // NDNBOOST_MPL_AUX_PREPROCESSOR_EXT_PARAMS_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/aux_/preprocessor/filter_params.hpp b/include/ndnboost/mpl/aux_/preprocessor/filter_params.hpp
index fefd984..7a75107 100644
--- a/include/ndnboost/mpl/aux_/preprocessor/filter_params.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessor/filter_params.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_AUX_PREPROCESSOR_FILTER_PARAMS_HPP_INCLUDED
-#define BOOST_MPL_AUX_PREPROCESSOR_FILTER_PARAMS_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_AUX_PREPROCESSOR_FILTER_PARAMS_HPP_INCLUDED
+#define NDNBOOST_MPL_AUX_PREPROCESSOR_FILTER_PARAMS_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -14,15 +14,15 @@
 // $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
 // $Revision: 49267 $
 
-#define BOOST_MPL_PP_FILTER_PARAMS_0(p1,p2,p3,p4,p5,p6,p7,p8,p9) 
-#define BOOST_MPL_PP_FILTER_PARAMS_1(p1,p2,p3,p4,p5,p6,p7,p8,p9) p1
-#define BOOST_MPL_PP_FILTER_PARAMS_2(p1,p2,p3,p4,p5,p6,p7,p8,p9) p1,p2
-#define BOOST_MPL_PP_FILTER_PARAMS_3(p1,p2,p3,p4,p5,p6,p7,p8,p9) p1,p2,p3
-#define BOOST_MPL_PP_FILTER_PARAMS_4(p1,p2,p3,p4,p5,p6,p7,p8,p9) p1,p2,p3,p4
-#define BOOST_MPL_PP_FILTER_PARAMS_5(p1,p2,p3,p4,p5,p6,p7,p8,p9) p1,p2,p3,p4,p5
-#define BOOST_MPL_PP_FILTER_PARAMS_6(p1,p2,p3,p4,p5,p6,p7,p8,p9) p1,p2,p3,p4,p5,p6
-#define BOOST_MPL_PP_FILTER_PARAMS_7(p1,p2,p3,p4,p5,p6,p7,p8,p9) p1,p2,p3,p4,p5,p6,p7
-#define BOOST_MPL_PP_FILTER_PARAMS_8(p1,p2,p3,p4,p5,p6,p7,p8,p9) p1,p2,p3,p4,p5,p6,p7,p8
-#define BOOST_MPL_PP_FILTER_PARAMS_9(p1,p2,p3,p4,p5,p6,p7,p8,p9) p1,p2,p3,p4,p5,p6,p7,p8,p9
+#define NDNBOOST_MPL_PP_FILTER_PARAMS_0(p1,p2,p3,p4,p5,p6,p7,p8,p9) 
+#define NDNBOOST_MPL_PP_FILTER_PARAMS_1(p1,p2,p3,p4,p5,p6,p7,p8,p9) p1
+#define NDNBOOST_MPL_PP_FILTER_PARAMS_2(p1,p2,p3,p4,p5,p6,p7,p8,p9) p1,p2
+#define NDNBOOST_MPL_PP_FILTER_PARAMS_3(p1,p2,p3,p4,p5,p6,p7,p8,p9) p1,p2,p3
+#define NDNBOOST_MPL_PP_FILTER_PARAMS_4(p1,p2,p3,p4,p5,p6,p7,p8,p9) p1,p2,p3,p4
+#define NDNBOOST_MPL_PP_FILTER_PARAMS_5(p1,p2,p3,p4,p5,p6,p7,p8,p9) p1,p2,p3,p4,p5
+#define NDNBOOST_MPL_PP_FILTER_PARAMS_6(p1,p2,p3,p4,p5,p6,p7,p8,p9) p1,p2,p3,p4,p5,p6
+#define NDNBOOST_MPL_PP_FILTER_PARAMS_7(p1,p2,p3,p4,p5,p6,p7,p8,p9) p1,p2,p3,p4,p5,p6,p7
+#define NDNBOOST_MPL_PP_FILTER_PARAMS_8(p1,p2,p3,p4,p5,p6,p7,p8,p9) p1,p2,p3,p4,p5,p6,p7,p8
+#define NDNBOOST_MPL_PP_FILTER_PARAMS_9(p1,p2,p3,p4,p5,p6,p7,p8,p9) p1,p2,p3,p4,p5,p6,p7,p8,p9
 
-#endif // BOOST_MPL_AUX_PREPROCESSOR_FILTER_PARAMS_HPP_INCLUDED
+#endif // NDNBOOST_MPL_AUX_PREPROCESSOR_FILTER_PARAMS_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/aux_/preprocessor/params.hpp b/include/ndnboost/mpl/aux_/preprocessor/params.hpp
index 3ea43f1..3dd6c69 100644
--- a/include/ndnboost/mpl/aux_/preprocessor/params.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessor/params.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_AUX_PREPROCESSOR_PARAMS_HPP_INCLUDED
-#define BOOST_MPL_AUX_PREPROCESSOR_PARAMS_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_AUX_PREPROCESSOR_PARAMS_HPP_INCLUDED
+#define NDNBOOST_MPL_AUX_PREPROCESSOR_PARAMS_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -16,29 +16,29 @@
 
 #include <ndnboost/mpl/aux_/config/preprocessor.hpp>
 
-// BOOST_MPL_PP_PARAMS(0,T): <nothing>
-// BOOST_MPL_PP_PARAMS(1,T): T1
-// BOOST_MPL_PP_PARAMS(2,T): T1, T2
-// BOOST_MPL_PP_PARAMS(n,T): T1, T2, .., Tn
+// NDNBOOST_MPL_PP_PARAMS(0,T): <nothing>
+// NDNBOOST_MPL_PP_PARAMS(1,T): T1
+// NDNBOOST_MPL_PP_PARAMS(2,T): T1, T2
+// NDNBOOST_MPL_PP_PARAMS(n,T): T1, T2, .., Tn
 
-#if !defined(BOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES)
+#if !defined(NDNBOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES)
 
 #   include <ndnboost/preprocessor/cat.hpp>
 
-#   define BOOST_MPL_PP_PARAMS(n,p) \
-    BOOST_PP_CAT(BOOST_MPL_PP_PARAMS_,n)(p) \
+#   define NDNBOOST_MPL_PP_PARAMS(n,p) \
+    NDNBOOST_PP_CAT(NDNBOOST_MPL_PP_PARAMS_,n)(p) \
     /**/
 
-#   define BOOST_MPL_PP_PARAMS_0(p)
-#   define BOOST_MPL_PP_PARAMS_1(p) p##1
-#   define BOOST_MPL_PP_PARAMS_2(p) p##1,p##2
-#   define BOOST_MPL_PP_PARAMS_3(p) p##1,p##2,p##3
-#   define BOOST_MPL_PP_PARAMS_4(p) p##1,p##2,p##3,p##4
-#   define BOOST_MPL_PP_PARAMS_5(p) p##1,p##2,p##3,p##4,p##5
-#   define BOOST_MPL_PP_PARAMS_6(p) p##1,p##2,p##3,p##4,p##5,p##6
-#   define BOOST_MPL_PP_PARAMS_7(p) p##1,p##2,p##3,p##4,p##5,p##6,p##7
-#   define BOOST_MPL_PP_PARAMS_8(p) p##1,p##2,p##3,p##4,p##5,p##6,p##7,p##8
-#   define BOOST_MPL_PP_PARAMS_9(p) p##1,p##2,p##3,p##4,p##5,p##6,p##7,p##8,p##9
+#   define NDNBOOST_MPL_PP_PARAMS_0(p)
+#   define NDNBOOST_MPL_PP_PARAMS_1(p) p##1
+#   define NDNBOOST_MPL_PP_PARAMS_2(p) p##1,p##2
+#   define NDNBOOST_MPL_PP_PARAMS_3(p) p##1,p##2,p##3
+#   define NDNBOOST_MPL_PP_PARAMS_4(p) p##1,p##2,p##3,p##4
+#   define NDNBOOST_MPL_PP_PARAMS_5(p) p##1,p##2,p##3,p##4,p##5
+#   define NDNBOOST_MPL_PP_PARAMS_6(p) p##1,p##2,p##3,p##4,p##5,p##6
+#   define NDNBOOST_MPL_PP_PARAMS_7(p) p##1,p##2,p##3,p##4,p##5,p##6,p##7
+#   define NDNBOOST_MPL_PP_PARAMS_8(p) p##1,p##2,p##3,p##4,p##5,p##6,p##7,p##8
+#   define NDNBOOST_MPL_PP_PARAMS_9(p) p##1,p##2,p##3,p##4,p##5,p##6,p##7,p##8,p##9
 
 #else
 
@@ -47,19 +47,19 @@
 #   include <ndnboost/preprocessor/inc.hpp>
 #   include <ndnboost/preprocessor/cat.hpp>
 
-#   define BOOST_MPL_PP_AUX_PARAM_FUNC(unused, i, param) \
-    BOOST_PP_COMMA_IF(i) \
-    BOOST_PP_CAT(param, BOOST_PP_INC(i)) \
+#   define NDNBOOST_MPL_PP_AUX_PARAM_FUNC(unused, i, param) \
+    NDNBOOST_PP_COMMA_IF(i) \
+    NDNBOOST_PP_CAT(param, NDNBOOST_PP_INC(i)) \
     /**/
 
-#   define BOOST_MPL_PP_PARAMS(n, param) \
-    BOOST_PP_REPEAT( \
+#   define NDNBOOST_MPL_PP_PARAMS(n, param) \
+    NDNBOOST_PP_REPEAT( \
           n \
-        , BOOST_MPL_PP_AUX_PARAM_FUNC \
+        , NDNBOOST_MPL_PP_AUX_PARAM_FUNC \
         , param \
         ) \
     /**/
 
 #endif 
 
-#endif // BOOST_MPL_AUX_PREPROCESSOR_PARAMS_HPP_INCLUDED
+#endif // NDNBOOST_MPL_AUX_PREPROCESSOR_PARAMS_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/aux_/preprocessor/partial_spec_params.hpp b/include/ndnboost/mpl/aux_/preprocessor/partial_spec_params.hpp
index df13235..a1b63a5 100644
--- a/include/ndnboost/mpl/aux_/preprocessor/partial_spec_params.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessor/partial_spec_params.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_AUX_PREPROCESSOR_PARTIAL_SPEC_PARAMS_HPP_INCLUDED
-#define BOOST_MPL_AUX_PREPROCESSOR_PARTIAL_SPEC_PARAMS_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_AUX_PREPROCESSOR_PARTIAL_SPEC_PARAMS_HPP_INCLUDED
+#define NDNBOOST_MPL_AUX_PREPROCESSOR_PARTIAL_SPEC_PARAMS_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -20,13 +20,13 @@
 #include <ndnboost/mpl/aux_/preprocessor/sub.hpp>
 #include <ndnboost/preprocessor/comma_if.hpp>
 
-#define BOOST_MPL_PP_PARTIAL_SPEC_PARAMS(n, param, def) \
-BOOST_MPL_PP_PARAMS(n, param) \
-BOOST_PP_COMMA_IF(BOOST_MPL_PP_SUB(BOOST_MPL_LIMIT_METAFUNCTION_ARITY,n)) \
-BOOST_MPL_PP_ENUM( \
-      BOOST_MPL_PP_SUB(BOOST_MPL_LIMIT_METAFUNCTION_ARITY,n) \
+#define NDNBOOST_MPL_PP_PARTIAL_SPEC_PARAMS(n, param, def) \
+NDNBOOST_MPL_PP_PARAMS(n, param) \
+NDNBOOST_PP_COMMA_IF(NDNBOOST_MPL_PP_SUB(NDNBOOST_MPL_LIMIT_METAFUNCTION_ARITY,n)) \
+NDNBOOST_MPL_PP_ENUM( \
+      NDNBOOST_MPL_PP_SUB(NDNBOOST_MPL_LIMIT_METAFUNCTION_ARITY,n) \
     , def \
     ) \
 /**/
 
-#endif // BOOST_MPL_AUX_PREPROCESSOR_PARTIAL_SPEC_PARAMS_HPP_INCLUDED
+#endif // NDNBOOST_MPL_AUX_PREPROCESSOR_PARTIAL_SPEC_PARAMS_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/aux_/preprocessor/range.hpp b/include/ndnboost/mpl/aux_/preprocessor/range.hpp
index 497c9fb..6c536d7 100644
--- a/include/ndnboost/mpl/aux_/preprocessor/range.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessor/range.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_AUX_PREPROCESSOR_RANGE_HPP_INCLUDED
-#define BOOST_MPL_AUX_PREPROCESSOR_RANGE_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_AUX_PREPROCESSOR_RANGE_HPP_INCLUDED
+#define NDNBOOST_MPL_AUX_PREPROCESSOR_RANGE_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2002-2004
 //
@@ -16,8 +16,8 @@
 
 #include <ndnboost/preprocessor/seq/subseq.hpp>
 
-#define BOOST_MPL_PP_RANGE(first, length) \
-    BOOST_PP_SEQ_SUBSEQ((0)(1)(2)(3)(4)(5)(6)(7)(8)(9), first, length) \
+#define NDNBOOST_MPL_PP_RANGE(first, length) \
+    NDNBOOST_PP_SEQ_SUBSEQ((0)(1)(2)(3)(4)(5)(6)(7)(8)(9), first, length) \
 /**/
 
-#endif // BOOST_MPL_AUX_PREPROCESSOR_RANGE_HPP_INCLUDED
+#endif // NDNBOOST_MPL_AUX_PREPROCESSOR_RANGE_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/aux_/preprocessor/repeat.hpp b/include/ndnboost/mpl/aux_/preprocessor/repeat.hpp
index 9b36136..f68a202 100644
--- a/include/ndnboost/mpl/aux_/preprocessor/repeat.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessor/repeat.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_AUX_PREPROCESSOR_REPEAT_HPP_INCLUDED
-#define BOOST_MPL_AUX_PREPROCESSOR_REPEAT_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_AUX_PREPROCESSOR_REPEAT_HPP_INCLUDED
+#define NDNBOOST_MPL_AUX_PREPROCESSOR_REPEAT_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2002-2004
 //
@@ -16,36 +16,36 @@
 
 #include <ndnboost/mpl/aux_/config/preprocessor.hpp>
 
-#if !defined(BOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES)
+#if !defined(NDNBOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES)
 
 #   include <ndnboost/preprocessor/cat.hpp>
 
-#   define BOOST_MPL_PP_REPEAT(n,f,param) \
-    BOOST_PP_CAT(BOOST_MPL_PP_REPEAT_,n)(f,param) \
+#   define NDNBOOST_MPL_PP_REPEAT(n,f,param) \
+    NDNBOOST_PP_CAT(NDNBOOST_MPL_PP_REPEAT_,n)(f,param) \
     /**/
     
-#   define BOOST_MPL_PP_REPEAT_0(f,p)
-#   define BOOST_MPL_PP_REPEAT_1(f,p) f(0,0,p)
-#   define BOOST_MPL_PP_REPEAT_2(f,p) f(0,0,p) f(0,1,p)
-#   define BOOST_MPL_PP_REPEAT_3(f,p) f(0,0,p) f(0,1,p) f(0,2,p)
-#   define BOOST_MPL_PP_REPEAT_4(f,p) f(0,0,p) f(0,1,p) f(0,2,p) f(0,3,p)
-#   define BOOST_MPL_PP_REPEAT_5(f,p) f(0,0,p) f(0,1,p) f(0,2,p) f(0,3,p) f(0,4,p)
-#   define BOOST_MPL_PP_REPEAT_6(f,p) f(0,0,p) f(0,1,p) f(0,2,p) f(0,3,p) f(0,4,p) f(0,5,p)
-#   define BOOST_MPL_PP_REPEAT_7(f,p) f(0,0,p) f(0,1,p) f(0,2,p) f(0,3,p) f(0,4,p) f(0,5,p) f(0,6,p)
-#   define BOOST_MPL_PP_REPEAT_8(f,p) f(0,0,p) f(0,1,p) f(0,2,p) f(0,3,p) f(0,4,p) f(0,5,p) f(0,6,p) f(0,7,p)
-#   define BOOST_MPL_PP_REPEAT_9(f,p) f(0,0,p) f(0,1,p) f(0,2,p) f(0,3,p) f(0,4,p) f(0,5,p) f(0,6,p) f(0,7,p) f(0,8,p)
-#   define BOOST_MPL_PP_REPEAT_10(f,p) f(0,0,p) f(0,1,p) f(0,2,p) f(0,3,p) f(0,4,p) f(0,5,p) f(0,6,p) f(0,7,p) f(0,8,p) f(0,9,p)
+#   define NDNBOOST_MPL_PP_REPEAT_0(f,p)
+#   define NDNBOOST_MPL_PP_REPEAT_1(f,p) f(0,0,p)
+#   define NDNBOOST_MPL_PP_REPEAT_2(f,p) f(0,0,p) f(0,1,p)
+#   define NDNBOOST_MPL_PP_REPEAT_3(f,p) f(0,0,p) f(0,1,p) f(0,2,p)
+#   define NDNBOOST_MPL_PP_REPEAT_4(f,p) f(0,0,p) f(0,1,p) f(0,2,p) f(0,3,p)
+#   define NDNBOOST_MPL_PP_REPEAT_5(f,p) f(0,0,p) f(0,1,p) f(0,2,p) f(0,3,p) f(0,4,p)
+#   define NDNBOOST_MPL_PP_REPEAT_6(f,p) f(0,0,p) f(0,1,p) f(0,2,p) f(0,3,p) f(0,4,p) f(0,5,p)
+#   define NDNBOOST_MPL_PP_REPEAT_7(f,p) f(0,0,p) f(0,1,p) f(0,2,p) f(0,3,p) f(0,4,p) f(0,5,p) f(0,6,p)
+#   define NDNBOOST_MPL_PP_REPEAT_8(f,p) f(0,0,p) f(0,1,p) f(0,2,p) f(0,3,p) f(0,4,p) f(0,5,p) f(0,6,p) f(0,7,p)
+#   define NDNBOOST_MPL_PP_REPEAT_9(f,p) f(0,0,p) f(0,1,p) f(0,2,p) f(0,3,p) f(0,4,p) f(0,5,p) f(0,6,p) f(0,7,p) f(0,8,p)
+#   define NDNBOOST_MPL_PP_REPEAT_10(f,p) f(0,0,p) f(0,1,p) f(0,2,p) f(0,3,p) f(0,4,p) f(0,5,p) f(0,6,p) f(0,7,p) f(0,8,p) f(0,9,p)
 
 #else 
 
 #   include <ndnboost/preprocessor/repeat.hpp>
 
-#   define BOOST_MPL_PP_REPEAT(n,f,param) \
-    BOOST_PP_REPEAT(n,f,param) \
+#   define NDNBOOST_MPL_PP_REPEAT(n,f,param) \
+    NDNBOOST_PP_REPEAT(n,f,param) \
     /**/
 
 #endif 
 
-#define BOOST_MPL_PP_REPEAT_IDENTITY_FUNC(unused1, unused2, x) x
+#define NDNBOOST_MPL_PP_REPEAT_IDENTITY_FUNC(unused1, unused2, x) x
 
-#endif // BOOST_MPL_AUX_PREPROCESSOR_REPEAT_HPP_INCLUDED
+#endif // NDNBOOST_MPL_AUX_PREPROCESSOR_REPEAT_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/aux_/preprocessor/sub.hpp b/include/ndnboost/mpl/aux_/preprocessor/sub.hpp
index f4ba5d0..c19482a 100644
--- a/include/ndnboost/mpl/aux_/preprocessor/sub.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessor/sub.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_AUX_PREPROCESSOR_SUB_HPP_INCLUDED
-#define BOOST_MPL_AUX_PREPROCESSOR_SUB_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_AUX_PREPROCESSOR_SUB_HPP_INCLUDED
+#define NDNBOOST_MPL_AUX_PREPROCESSOR_SUB_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2002-2004
 //
@@ -16,50 +16,50 @@
 
 #include <ndnboost/mpl/aux_/config/preprocessor.hpp>
 
-#if !defined(BOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES)
+#if !defined(NDNBOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES)
 
 #   include <ndnboost/mpl/aux_/preprocessor/tuple.hpp>
 
-#if defined(BOOST_MPL_CFG_BROKEN_PP_MACRO_EXPANSION)
+#if defined(NDNBOOST_MPL_CFG_BROKEN_PP_MACRO_EXPANSION)
 #   include <ndnboost/preprocessor/cat.hpp>
 
-#   define BOOST_MPL_PP_SUB(i,j) \
-    BOOST_MPL_PP_SUB_DELAY(i,j) \
+#   define NDNBOOST_MPL_PP_SUB(i,j) \
+    NDNBOOST_MPL_PP_SUB_DELAY(i,j) \
     /**/
 
-#   define BOOST_MPL_PP_SUB_DELAY(i,j) \
-    BOOST_PP_CAT(BOOST_MPL_PP_TUPLE_11_ELEM_##i,BOOST_MPL_PP_SUB_##j) \
+#   define NDNBOOST_MPL_PP_SUB_DELAY(i,j) \
+    NDNBOOST_PP_CAT(NDNBOOST_MPL_PP_TUPLE_11_ELEM_##i,NDNBOOST_MPL_PP_SUB_##j) \
     /**/
 #else
-#   define BOOST_MPL_PP_SUB(i,j) \
-    BOOST_MPL_PP_SUB_DELAY(i,j) \
+#   define NDNBOOST_MPL_PP_SUB(i,j) \
+    NDNBOOST_MPL_PP_SUB_DELAY(i,j) \
     /**/
 
-#   define BOOST_MPL_PP_SUB_DELAY(i,j) \
-    BOOST_MPL_PP_TUPLE_11_ELEM_##i BOOST_MPL_PP_SUB_##j \
+#   define NDNBOOST_MPL_PP_SUB_DELAY(i,j) \
+    NDNBOOST_MPL_PP_TUPLE_11_ELEM_##i NDNBOOST_MPL_PP_SUB_##j \
     /**/
 #endif
 
-#   define BOOST_MPL_PP_SUB_0 (0,1,2,3,4,5,6,7,8,9,10)
-#   define BOOST_MPL_PP_SUB_1 (0,0,1,2,3,4,5,6,7,8,9)
-#   define BOOST_MPL_PP_SUB_2 (0,0,0,1,2,3,4,5,6,7,8)
-#   define BOOST_MPL_PP_SUB_3 (0,0,0,0,1,2,3,4,5,6,7)
-#   define BOOST_MPL_PP_SUB_4 (0,0,0,0,0,1,2,3,4,5,6)
-#   define BOOST_MPL_PP_SUB_5 (0,0,0,0,0,0,1,2,3,4,5)
-#   define BOOST_MPL_PP_SUB_6 (0,0,0,0,0,0,0,1,2,3,4)
-#   define BOOST_MPL_PP_SUB_7 (0,0,0,0,0,0,0,0,1,2,3)
-#   define BOOST_MPL_PP_SUB_8 (0,0,0,0,0,0,0,0,0,1,2)
-#   define BOOST_MPL_PP_SUB_9 (0,0,0,0,0,0,0,0,0,0,1)
-#   define BOOST_MPL_PP_SUB_10 (0,0,0,0,0,0,0,0,0,0,0)
+#   define NDNBOOST_MPL_PP_SUB_0 (0,1,2,3,4,5,6,7,8,9,10)
+#   define NDNBOOST_MPL_PP_SUB_1 (0,0,1,2,3,4,5,6,7,8,9)
+#   define NDNBOOST_MPL_PP_SUB_2 (0,0,0,1,2,3,4,5,6,7,8)
+#   define NDNBOOST_MPL_PP_SUB_3 (0,0,0,0,1,2,3,4,5,6,7)
+#   define NDNBOOST_MPL_PP_SUB_4 (0,0,0,0,0,1,2,3,4,5,6)
+#   define NDNBOOST_MPL_PP_SUB_5 (0,0,0,0,0,0,1,2,3,4,5)
+#   define NDNBOOST_MPL_PP_SUB_6 (0,0,0,0,0,0,0,1,2,3,4)
+#   define NDNBOOST_MPL_PP_SUB_7 (0,0,0,0,0,0,0,0,1,2,3)
+#   define NDNBOOST_MPL_PP_SUB_8 (0,0,0,0,0,0,0,0,0,1,2)
+#   define NDNBOOST_MPL_PP_SUB_9 (0,0,0,0,0,0,0,0,0,0,1)
+#   define NDNBOOST_MPL_PP_SUB_10 (0,0,0,0,0,0,0,0,0,0,0)
 
 #else
 
 #   include <ndnboost/preprocessor/arithmetic/sub.hpp>
 
-#   define BOOST_MPL_PP_SUB(i,j) \
-    BOOST_PP_SUB(i,j) \
+#   define NDNBOOST_MPL_PP_SUB(i,j) \
+    NDNBOOST_PP_SUB(i,j) \
     /**/
     
 #endif
 
-#endif // BOOST_MPL_AUX_PREPROCESSOR_SUB_HPP_INCLUDED
+#endif // NDNBOOST_MPL_AUX_PREPROCESSOR_SUB_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/aux_/preprocessor/tuple.hpp b/include/ndnboost/mpl/aux_/preprocessor/tuple.hpp
index ed59407..cbb369d 100644
--- a/include/ndnboost/mpl/aux_/preprocessor/tuple.hpp
+++ b/include/ndnboost/mpl/aux_/preprocessor/tuple.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_AUX_PREPROCESSOR_TUPLE_HPP_INCLUDED
-#define BOOST_MPL_AUX_PREPROCESSOR_TUPLE_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_AUX_PREPROCESSOR_TUPLE_HPP_INCLUDED
+#define NDNBOOST_MPL_AUX_PREPROCESSOR_TUPLE_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2002-2004
 //
@@ -14,16 +14,16 @@
 // $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
 // $Revision: 49267 $
 
-#define BOOST_MPL_PP_TUPLE_11_ELEM_0(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e0
-#define BOOST_MPL_PP_TUPLE_11_ELEM_1(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e1
-#define BOOST_MPL_PP_TUPLE_11_ELEM_2(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e2
-#define BOOST_MPL_PP_TUPLE_11_ELEM_3(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e3
-#define BOOST_MPL_PP_TUPLE_11_ELEM_4(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e4
-#define BOOST_MPL_PP_TUPLE_11_ELEM_5(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e5
-#define BOOST_MPL_PP_TUPLE_11_ELEM_6(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e6
-#define BOOST_MPL_PP_TUPLE_11_ELEM_7(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e7
-#define BOOST_MPL_PP_TUPLE_11_ELEM_8(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e8
-#define BOOST_MPL_PP_TUPLE_11_ELEM_9(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e9
-#define BOOST_MPL_PP_TUPLE_11_ELEM_10(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e10
+#define NDNBOOST_MPL_PP_TUPLE_11_ELEM_0(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e0
+#define NDNBOOST_MPL_PP_TUPLE_11_ELEM_1(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e1
+#define NDNBOOST_MPL_PP_TUPLE_11_ELEM_2(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e2
+#define NDNBOOST_MPL_PP_TUPLE_11_ELEM_3(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e3
+#define NDNBOOST_MPL_PP_TUPLE_11_ELEM_4(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e4
+#define NDNBOOST_MPL_PP_TUPLE_11_ELEM_5(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e5
+#define NDNBOOST_MPL_PP_TUPLE_11_ELEM_6(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e6
+#define NDNBOOST_MPL_PP_TUPLE_11_ELEM_7(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e7
+#define NDNBOOST_MPL_PP_TUPLE_11_ELEM_8(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e8
+#define NDNBOOST_MPL_PP_TUPLE_11_ELEM_9(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e9
+#define NDNBOOST_MPL_PP_TUPLE_11_ELEM_10(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e10
 
-#endif // BOOST_MPL_AUX_PREPROCESSOR_TUPLE_HPP_INCLUDED
+#endif // NDNBOOST_MPL_AUX_PREPROCESSOR_TUPLE_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/aux_/push_back_impl.hpp b/include/ndnboost/mpl/aux_/push_back_impl.hpp
index b2234ad..3e81de9 100644
--- a/include/ndnboost/mpl/aux_/push_back_impl.hpp
+++ b/include/ndnboost/mpl/aux_/push_back_impl.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_AUX_PUSH_BACK_IMPL_HPP_INCLUDED
-#define BOOST_MPL_AUX_PUSH_BACK_IMPL_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_AUX_PUSH_BACK_IMPL_HPP_INCLUDED
+#define NDNBOOST_MPL_AUX_PUSH_BACK_IMPL_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2008
 //
@@ -37,7 +37,7 @@
         // should be instantiated only in the context of 'has_push_back_impl';
         // if you've got an assert here, you are requesting a 'push_back' 
         // specialization that doesn't exist.
-        BOOST_MPL_ASSERT_MSG(
+        NDNBOOST_MPL_ASSERT_MSG(
               ( ndnboost::is_same< T, has_push_back_arg >::value )
             , REQUESTED_PUSH_BACK_SPECIALIZATION_FOR_SEQUENCE_DOES_NOT_EXIST
             , ( Sequence )
@@ -49,22 +49,22 @@
 struct has_push_back_impl
 {
     template< typename Seq > struct apply
-#if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING)
+#if !defined(NDNBOOST_MPL_CFG_NO_NESTED_FORWARDING)
         : aux::has_type< push_back< Seq, has_push_back_arg > >
     {
 #else
     {
         typedef aux::has_type< push_back< Seq, has_push_back_arg > > type;
-        BOOST_STATIC_CONSTANT(bool, value = 
+        NDNBOOST_STATIC_CONSTANT(bool, value = 
               (aux::has_type< push_back< Seq, has_push_back_arg > >::value)
             );
 #endif
     };
 };
 
-BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(2, push_back_impl)
-BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(1, has_push_back_impl)
+NDNBOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(2, push_back_impl)
+NDNBOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(1, has_push_back_impl)
 
 }}
 
-#endif // BOOST_MPL_AUX_PUSH_BACK_IMPL_HPP_INCLUDED
+#endif // NDNBOOST_MPL_AUX_PUSH_BACK_IMPL_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/aux_/push_front_impl.hpp b/include/ndnboost/mpl/aux_/push_front_impl.hpp
index 8ef53f8..0fa8745 100644
--- a/include/ndnboost/mpl/aux_/push_front_impl.hpp
+++ b/include/ndnboost/mpl/aux_/push_front_impl.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_AUX_PUSH_FRONT_IMPL_HPP_INCLUDED
-#define BOOST_MPL_AUX_PUSH_FRONT_IMPL_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_AUX_PUSH_FRONT_IMPL_HPP_INCLUDED
+#define NDNBOOST_MPL_AUX_PUSH_FRONT_IMPL_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2008
 //
@@ -38,7 +38,7 @@
         // should be instantiated only in the context of 'has_push_front_impl';
         // if you've got an assert here, you are requesting a 'push_front' 
         // specialization that doesn't exist.
-        BOOST_MPL_ASSERT_MSG(
+        NDNBOOST_MPL_ASSERT_MSG(
               ( ndnboost::is_same< T, has_push_front_arg >::value )
             , REQUESTED_PUSH_FRONT_SPECIALIZATION_FOR_SEQUENCE_DOES_NOT_EXIST
             , ( Sequence )
@@ -50,22 +50,22 @@
 struct has_push_front_impl
 {
     template< typename Seq > struct apply
-#if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING)
+#if !defined(NDNBOOST_MPL_CFG_NO_NESTED_FORWARDING)
         : aux::has_type< push_front< Seq, has_push_front_arg > >
     {
 #else
     {
         typedef aux::has_type< push_front< Seq, has_push_front_arg > > type;
-        BOOST_STATIC_CONSTANT(bool, value = 
+        NDNBOOST_STATIC_CONSTANT(bool, value = 
               (aux::has_type< push_front< Seq, has_push_front_arg > >::value)
             );
 #endif
     };
 };
 
-BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(2, push_front_impl)
-BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(1, has_push_front_impl)
+NDNBOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(2, push_front_impl)
+NDNBOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(1, has_push_front_impl)
 
 }}
 
-#endif // BOOST_MPL_AUX_PUSH_FRONT_IMPL_HPP_INCLUDED
+#endif // NDNBOOST_MPL_AUX_PUSH_FRONT_IMPL_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/aux_/reverse_fold_impl.hpp b/include/ndnboost/mpl/aux_/reverse_fold_impl.hpp
index 3f5e858..78649c1 100644
--- a/include/ndnboost/mpl/aux_/reverse_fold_impl.hpp
+++ b/include/ndnboost/mpl/aux_/reverse_fold_impl.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_AUX_REVERSE_FOLD_IMPL_HPP_INCLUDED
-#define BOOST_MPL_AUX_REVERSE_FOLD_IMPL_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_AUX_REVERSE_FOLD_IMPL_HPP_INCLUDED
+#define NDNBOOST_MPL_AUX_REVERSE_FOLD_IMPL_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -14,13 +14,13 @@
 // $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
 // $Revision: 49267 $
 
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
+#if !defined(NDNBOOST_MPL_PREPROCESSING_MODE)
 #   include <ndnboost/mpl/next_prior.hpp>
 #   include <ndnboost/mpl/deref.hpp>
 #   include <ndnboost/mpl/apply.hpp>
 #   include <ndnboost/mpl/aux_/config/ctps.hpp>
-#   if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
-    || defined(BOOST_MPL_CFG_NO_NONTYPE_TEMPLATE_PARTIAL_SPEC)
+#   if defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
+    || defined(NDNBOOST_MPL_CFG_NO_NONTYPE_TEMPLATE_PARTIAL_SPEC)
 #       include <ndnboost/mpl/if.hpp>
 #       include <ndnboost/type_traits/is_same.hpp>
 #   endif
@@ -28,10 +28,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 reverse_fold_impl.hpp
+#   define NDNBOOST_MPL_PREPROCESSED_HEADER reverse_fold_impl.hpp
 #   include <ndnboost/mpl/aux_/include_preprocessed.hpp>
 
 #else
@@ -40,5 +40,5 @@
 #   define AUX778076_FOLD_IMPL_NAME_PREFIX reverse_fold
 #   include <ndnboost/mpl/aux_/reverse_fold_impl_body.hpp>
 
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-#endif // BOOST_MPL_AUX_REVERSE_FOLD_IMPL_HPP_INCLUDED
+#endif // NDNBOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
+#endif // NDNBOOST_MPL_AUX_REVERSE_FOLD_IMPL_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/aux_/reverse_fold_impl_body.hpp b/include/ndnboost/mpl/aux_/reverse_fold_impl_body.hpp
index 838e63e..3ca6eee 100644
--- a/include/ndnboost/mpl/aux_/reverse_fold_impl_body.hpp
+++ b/include/ndnboost/mpl/aux_/reverse_fold_impl_body.hpp
@@ -1,7 +1,7 @@
 
 // NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION!
 
-#if !defined(BOOST_PP_IS_ITERATING)
+#if !defined(NDNBOOST_PP_IS_ITERATING)
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -31,44 +31,44 @@
 #   define AUX778076_ITER_FOLD_FORWARD_STEP(unused, n_, unused2) \
     typedef typename apply2< \
           ForwardOp \
-        , BOOST_PP_CAT(fwd_state,n_) \
-        , AUX778076_FOLD_IMPL_OP(BOOST_PP_CAT(iter,n_)) \
-        >::type BOOST_PP_CAT(fwd_state,BOOST_PP_INC(n_)); \
-    typedef typename mpl::next<BOOST_PP_CAT(iter,n_)>::type \
-        BOOST_PP_CAT(iter,BOOST_PP_INC(n_)); \
+        , NDNBOOST_PP_CAT(fwd_state,n_) \
+        , AUX778076_FOLD_IMPL_OP(NDNBOOST_PP_CAT(iter,n_)) \
+        >::type NDNBOOST_PP_CAT(fwd_state,NDNBOOST_PP_INC(n_)); \
+    typedef typename mpl::next<NDNBOOST_PP_CAT(iter,n_)>::type \
+        NDNBOOST_PP_CAT(iter,NDNBOOST_PP_INC(n_)); \
     /**/
 
 #   define AUX778076_ITER_FOLD_BACKWARD_STEP_FUNC(n_) \
     typedef typename apply2< \
           BackwardOp \
-        , BOOST_PP_CAT(bkwd_state,n_) \
-        , AUX778076_FOLD_IMPL_OP(BOOST_PP_CAT(iter,BOOST_PP_DEC(n_))) \
-        >::type BOOST_PP_CAT(bkwd_state,BOOST_PP_DEC(n_)); \
+        , NDNBOOST_PP_CAT(bkwd_state,n_) \
+        , AUX778076_FOLD_IMPL_OP(NDNBOOST_PP_CAT(iter,NDNBOOST_PP_DEC(n_))) \
+        >::type NDNBOOST_PP_CAT(bkwd_state,NDNBOOST_PP_DEC(n_)); \
     /**/
 
 #   define AUX778076_ITER_FOLD_BACKWARD_STEP(unused, n_, j) \
     AUX778076_ITER_FOLD_BACKWARD_STEP_FUNC( \
-          BOOST_PP_SUB_D(1,j,n_) \
+          NDNBOOST_PP_SUB_D(1,j,n_) \
         ) \
     /**/
 
 #   define AUX778076_FIRST_BACKWARD_STATE_TYPEDEF(n_) \
-    typedef typename nested_chunk::state BOOST_PP_CAT(bkwd_state,n_);
+    typedef typename nested_chunk::state NDNBOOST_PP_CAT(bkwd_state,n_);
     /**/
 
 #   define AUX778076_FOLD_IMPL_NAME \
-    BOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_impl) \
+    NDNBOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_impl) \
     /**/
 
 #   define AUX778076_FOLD_CHUNK_NAME \
-    BOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_chunk) \
+    NDNBOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_chunk) \
     /**/
 
 namespace ndnboost { namespace mpl { namespace aux {
 
 /// forward declaration
 template<
-      BOOST_MPL_AUX_NTTP_DECL(long, N)
+      NDNBOOST_MPL_AUX_NTTP_DECL(long, N)
     , typename First
     , typename Last
     , typename State
@@ -77,16 +77,16 @@
     > 
 struct AUX778076_FOLD_IMPL_NAME;
 
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
-    && !defined(BOOST_MPL_CFG_NO_NONTYPE_TEMPLATE_PARTIAL_SPEC)
+#if !defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
+    && !defined(NDNBOOST_MPL_CFG_NO_NONTYPE_TEMPLATE_PARTIAL_SPEC)
 
-#   define BOOST_PP_ITERATION_PARAMS_1 \
-    (3,(0, BOOST_MPL_LIMIT_UNROLLING, <ndnboost/mpl/aux_/reverse_fold_impl_body.hpp>))
-#   include BOOST_PP_ITERATE()
+#   define NDNBOOST_PP_ITERATION_PARAMS_1 \
+    (3,(0, NDNBOOST_MPL_LIMIT_UNROLLING, <ndnboost/mpl/aux_/reverse_fold_impl_body.hpp>))
+#   include NDNBOOST_PP_ITERATE()
 
-// implementation for N that exceeds BOOST_MPL_LIMIT_UNROLLING
+// implementation for N that exceeds NDNBOOST_MPL_LIMIT_UNROLLING
 template<
-      BOOST_MPL_AUX_NTTP_DECL(long, N)
+      NDNBOOST_MPL_AUX_NTTP_DECL(long, N)
     , typename First
     , typename Last
     , typename State
@@ -98,27 +98,27 @@
     typedef First iter0;
     typedef State fwd_state0;
 
-    BOOST_MPL_PP_REPEAT(
-          BOOST_MPL_LIMIT_UNROLLING
+    NDNBOOST_MPL_PP_REPEAT(
+          NDNBOOST_MPL_LIMIT_UNROLLING
         , AUX778076_ITER_FOLD_FORWARD_STEP
         , unused
         )
 
     typedef AUX778076_FOLD_IMPL_NAME<
-          ( (N - BOOST_MPL_LIMIT_UNROLLING) < 0 ? 0 : N - BOOST_MPL_LIMIT_UNROLLING )
-        , BOOST_PP_CAT(iter,BOOST_MPL_LIMIT_UNROLLING)
+          ( (N - NDNBOOST_MPL_LIMIT_UNROLLING) < 0 ? 0 : N - NDNBOOST_MPL_LIMIT_UNROLLING )
+        , NDNBOOST_PP_CAT(iter,NDNBOOST_MPL_LIMIT_UNROLLING)
         , Last
-        , BOOST_PP_CAT(fwd_state,BOOST_MPL_LIMIT_UNROLLING)
+        , NDNBOOST_PP_CAT(fwd_state,NDNBOOST_MPL_LIMIT_UNROLLING)
         , BackwardOp
         , ForwardOp
         > nested_chunk;
         
-    AUX778076_FIRST_BACKWARD_STATE_TYPEDEF(BOOST_MPL_LIMIT_UNROLLING)
+    AUX778076_FIRST_BACKWARD_STATE_TYPEDEF(NDNBOOST_MPL_LIMIT_UNROLLING)
 
-    BOOST_MPL_PP_REPEAT(
-          BOOST_MPL_LIMIT_UNROLLING
+    NDNBOOST_MPL_PP_REPEAT(
+          NDNBOOST_MPL_LIMIT_UNROLLING
         , AUX778076_ITER_FOLD_BACKWARD_STEP
-        , BOOST_MPL_LIMIT_UNROLLING
+        , NDNBOOST_MPL_LIMIT_UNROLLING
         )
 
     typedef bkwd_state0 state;
@@ -165,17 +165,17 @@
     typedef Last iterator;
 };
 
-#else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#else // NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 
-template< BOOST_MPL_AUX_NTTP_DECL(long, N) >
+template< NDNBOOST_MPL_AUX_NTTP_DECL(long, N) >
 struct AUX778076_FOLD_CHUNK_NAME;
 
-#   define BOOST_PP_ITERATION_PARAMS_1 \
-    (3,(0, BOOST_MPL_LIMIT_UNROLLING, <ndnboost/mpl/aux_/reverse_fold_impl_body.hpp>))
-#   include BOOST_PP_ITERATE()
+#   define NDNBOOST_PP_ITERATION_PARAMS_1 \
+    (3,(0, NDNBOOST_MPL_LIMIT_UNROLLING, <ndnboost/mpl/aux_/reverse_fold_impl_body.hpp>))
+#   include NDNBOOST_PP_ITERATE()
 
-// implementation for N that exceeds BOOST_MPL_LIMIT_UNROLLING
-template< BOOST_MPL_AUX_NTTP_DECL(long, N) > 
+// implementation for N that exceeds NDNBOOST_MPL_LIMIT_UNROLLING
+template< NDNBOOST_MPL_AUX_NTTP_DECL(long, N) > 
 struct AUX778076_FOLD_CHUNK_NAME
 {
     template<
@@ -190,27 +190,27 @@
         typedef First iter0;
         typedef State fwd_state0;
 
-        BOOST_MPL_PP_REPEAT(
-              BOOST_MPL_LIMIT_UNROLLING
+        NDNBOOST_MPL_PP_REPEAT(
+              NDNBOOST_MPL_LIMIT_UNROLLING
             , AUX778076_ITER_FOLD_FORWARD_STEP
             , unused
             )
 
         typedef AUX778076_FOLD_IMPL_NAME<
-              ( (N - BOOST_MPL_LIMIT_UNROLLING) < 0 ? 0 : N - BOOST_MPL_LIMIT_UNROLLING )
-            , BOOST_PP_CAT(iter,BOOST_MPL_LIMIT_UNROLLING)
+              ( (N - NDNBOOST_MPL_LIMIT_UNROLLING) < 0 ? 0 : N - NDNBOOST_MPL_LIMIT_UNROLLING )
+            , NDNBOOST_PP_CAT(iter,NDNBOOST_MPL_LIMIT_UNROLLING)
             , Last
-            , BOOST_PP_CAT(fwd_state,BOOST_MPL_LIMIT_UNROLLING)
+            , NDNBOOST_PP_CAT(fwd_state,NDNBOOST_MPL_LIMIT_UNROLLING)
             , BackwardOp
             , ForwardOp
             > nested_chunk;
             
-        AUX778076_FIRST_BACKWARD_STATE_TYPEDEF(BOOST_MPL_LIMIT_UNROLLING)
+        AUX778076_FIRST_BACKWARD_STATE_TYPEDEF(NDNBOOST_MPL_LIMIT_UNROLLING)
 
-        BOOST_MPL_PP_REPEAT(
-              BOOST_MPL_LIMIT_UNROLLING
+        NDNBOOST_MPL_PP_REPEAT(
+              NDNBOOST_MPL_LIMIT_UNROLLING
             , AUX778076_ITER_FOLD_BACKWARD_STEP
-            , BOOST_MPL_LIMIT_UNROLLING
+            , NDNBOOST_MPL_LIMIT_UNROLLING
             )
 
         typedef bkwd_state0 state;
@@ -226,13 +226,13 @@
     , typename BackwardOp
     , typename ForwardOp
     > 
-struct BOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_step);
+struct NDNBOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_step);
 
 template<
       typename Last
     , typename State
     >
-struct BOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_null_step)
+struct NDNBOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_null_step)
 {
     typedef Last iterator;
     typedef State state;
@@ -252,15 +252,15 @@
     {
         typedef typename if_<
               typename is_same<First,Last>::type
-            , BOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_null_step)<Last,State>
-            , BOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_step)<First,Last,State,BackwardOp,ForwardOp>
+            , NDNBOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_null_step)<Last,State>
+            , NDNBOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_step)<First,Last,State,BackwardOp,ForwardOp>
             >::type res_;
 
         typedef typename res_::state state;
         typedef typename res_::iterator iterator;
     };
 
-#if defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG)
+#if defined(NDNBOOST_MPL_CFG_MSVC_60_ETI_BUG)
     /// ETI workaround
     template<> struct result_<int,int,int,int,int>
     {
@@ -277,7 +277,7 @@
     , typename BackwardOp
     , typename ForwardOp
     > 
-struct BOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_step)
+struct NDNBOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_step)
 {
     typedef AUX778076_FOLD_CHUNK_NAME<-1>::template result_<
           typename mpl::next<First>::type
@@ -297,7 +297,7 @@
 };
 
 template<
-      BOOST_MPL_AUX_NTTP_DECL(long, N)
+      NDNBOOST_MPL_AUX_NTTP_DECL(long, N)
     , typename First
     , typename Last
     , typename State
@@ -310,7 +310,7 @@
 {
 };
 
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#endif // NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 
 }}}
 
@@ -326,10 +326,10 @@
 
 #else
 
-#   define n_ BOOST_PP_FRAME_ITERATION(1)
+#   define n_ NDNBOOST_PP_FRAME_ITERATION(1)
 
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
-    && !defined(BOOST_MPL_CFG_NO_NONTYPE_TEMPLATE_PARTIAL_SPEC)
+#if !defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
+    && !defined(NDNBOOST_MPL_CFG_NO_NONTYPE_TEMPLATE_PARTIAL_SPEC)
 
 template<
       typename First
@@ -343,22 +343,22 @@
     typedef First iter0;
     typedef State fwd_state0;
 
-    BOOST_MPL_PP_REPEAT(
+    NDNBOOST_MPL_PP_REPEAT(
           n_
         , AUX778076_ITER_FOLD_FORWARD_STEP
         , unused
         )
 
-    typedef BOOST_PP_CAT(fwd_state,n_) BOOST_PP_CAT(bkwd_state,n_);
+    typedef NDNBOOST_PP_CAT(fwd_state,n_) NDNBOOST_PP_CAT(bkwd_state,n_);
 
-    BOOST_MPL_PP_REPEAT(
+    NDNBOOST_MPL_PP_REPEAT(
           n_
         , AUX778076_ITER_FOLD_BACKWARD_STEP
         , n_
         )
 
     typedef bkwd_state0 state;
-    typedef BOOST_PP_CAT(iter,n_) iterator;
+    typedef NDNBOOST_PP_CAT(iter,n_) iterator;
 };
 
 #else
@@ -377,25 +377,25 @@
         typedef First iter0;
         typedef State fwd_state0;
 
-        BOOST_MPL_PP_REPEAT(
+        NDNBOOST_MPL_PP_REPEAT(
               n_
             , AUX778076_ITER_FOLD_FORWARD_STEP
             , unused
             )
 
-        typedef BOOST_PP_CAT(fwd_state,n_) BOOST_PP_CAT(bkwd_state,n_);
+        typedef NDNBOOST_PP_CAT(fwd_state,n_) NDNBOOST_PP_CAT(bkwd_state,n_);
 
-        BOOST_MPL_PP_REPEAT(
+        NDNBOOST_MPL_PP_REPEAT(
               n_
             , AUX778076_ITER_FOLD_BACKWARD_STEP
             , n_
             )
 
         typedef bkwd_state0 state;
-        typedef BOOST_PP_CAT(iter,n_) iterator;
+        typedef NDNBOOST_PP_CAT(iter,n_) iterator;
     };
 
-#if defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG)
+#if defined(NDNBOOST_MPL_CFG_MSVC_60_ETI_BUG)
     /// ETI workaround
     template<> struct result_<int,int,int,int,int>
     {
@@ -405,8 +405,8 @@
 #endif
 };
 
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#endif // NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 
 #   undef n_
 
-#endif // BOOST_PP_IS_ITERATING
+#endif // NDNBOOST_PP_IS_ITERATING
diff --git a/include/ndnboost/mpl/aux_/sequence_wrapper.hpp b/include/ndnboost/mpl/aux_/sequence_wrapper.hpp
index 8ec8f09..c2a2754 100644
--- a/include/ndnboost/mpl/aux_/sequence_wrapper.hpp
+++ b/include/ndnboost/mpl/aux_/sequence_wrapper.hpp
@@ -1,7 +1,7 @@
 
 // NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION
 
-#if !defined(BOOST_PP_IS_ITERATING)
+#if !defined(NDNBOOST_PP_IS_ITERATING)
 
 ///// header body
 
@@ -30,7 +30,7 @@
 #   include <ndnboost/preprocessor/comma_if.hpp>
 #   include <ndnboost/preprocessor/iterate.hpp>
 
-#if defined(BOOST_MPL_PREPROCESSING_MODE)
+#if defined(NDNBOOST_MPL_PREPROCESSING_MODE)
 #   undef LONG_MAX
 #endif
 
@@ -47,25 +47,25 @@
 #   define AUX778076_SEQUENCE_DEFAULT na
 
 #   define AUX778076_SEQUENCE_NAME_N(n) \
-    BOOST_PP_CAT(AUX778076_SEQUENCE_BASE_NAME,n) \
+    NDNBOOST_PP_CAT(AUX778076_SEQUENCE_BASE_NAME,n) \
     /**/
 
 #   define AUX778076_SEQUENCE_PARAMS() \
-    BOOST_PP_ENUM_PARAMS( \
+    NDNBOOST_PP_ENUM_PARAMS( \
           AUX778076_SEQUENCE_LIMIT \
         , AUX778076_SEQUENCE_TEMPLATE_PARAM \
         ) \
     /**/
 
 #   define AUX778076_SEQUENCE_ARGS() \
-    BOOST_PP_ENUM_PARAMS( \
+    NDNBOOST_PP_ENUM_PARAMS( \
           AUX778076_SEQUENCE_LIMIT \
         , T \
         ) \
     /**/
 
 #   define AUX778076_SEQUENCE_DEFAULT_PARAMS() \
-     BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( \
+     NDNBOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( \
           AUX778076_SEQUENCE_LIMIT \
         , AUX778076_SEQUENCE_TEMPLATE_PARAM \
         , AUX778076_SEQUENCE_DEFAULT \
@@ -73,19 +73,19 @@
     /**/
 
 #   define AUX778076_SEQUENCE_N_PARAMS(n) \
-    BOOST_PP_ENUM_PARAMS(n, AUX778076_SEQUENCE_TEMPLATE_PARAM) \
+    NDNBOOST_PP_ENUM_PARAMS(n, AUX778076_SEQUENCE_TEMPLATE_PARAM) \
     /**/
 
 #   define AUX778076_SEQUENCE_N_ARGS(n) \
-    BOOST_PP_ENUM_PARAMS(n, T) \
+    NDNBOOST_PP_ENUM_PARAMS(n, T) \
     /**/
 
 #   define AUX778076_SEQUENCE_N_PARTIAL_SPEC_ARGS(n) \
-    BOOST_PP_ENUM_PARAMS(n, T) \
-    BOOST_PP_COMMA_IF(n) \
-    BOOST_PP_ENUM( \
-          BOOST_PP_SUB_D(1,AUX778076_SEQUENCE_LIMIT,n) \
-        , BOOST_PP_TUPLE_ELEM_3_2 \
+    NDNBOOST_PP_ENUM_PARAMS(n, T) \
+    NDNBOOST_PP_COMMA_IF(n) \
+    NDNBOOST_PP_ENUM( \
+          NDNBOOST_PP_SUB_D(1,AUX778076_SEQUENCE_LIMIT,n) \
+        , NDNBOOST_PP_TUPLE_ELEM_3_2 \
         , AUX778076_SEQUENCE_DEFAULT \
         ) \
     /**/
@@ -93,18 +93,18 @@
 #else // AUX778076_SEQUENCE_INTEGRAL_WRAPPER
 
 #   define AUX778076_SEQUENCE_PARAM_NAME C
-#   define AUX778076_SEQUENCE_TEMPLATE_PARAM BOOST_MPL_AUX_NTTP_DECL(long, C)
+#   define AUX778076_SEQUENCE_TEMPLATE_PARAM NDNBOOST_MPL_AUX_NTTP_DECL(long, C)
 #   define AUX778076_SEQUENCE_DEFAULT LONG_MAX
 
 #   define AUX778076_SEQUENCE_PARAMS() \
-    typename T, BOOST_PP_ENUM_PARAMS( \
+    typename T, NDNBOOST_PP_ENUM_PARAMS( \
           AUX778076_SEQUENCE_LIMIT \
         , AUX778076_SEQUENCE_TEMPLATE_PARAM \
         ) \
     /**/
 
 #   define AUX778076_SEQUENCE_ARGS() \
-    T, BOOST_PP_ENUM_PARAMS( \
+    T, NDNBOOST_PP_ENUM_PARAMS( \
           AUX778076_SEQUENCE_LIMIT \
         , C \
         ) \
@@ -112,7 +112,7 @@
 
 #   define AUX778076_SEQUENCE_DEFAULT_PARAMS() \
     typename T, \
-    BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( \
+    NDNBOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( \
           AUX778076_SEQUENCE_LIMIT \
         , AUX778076_SEQUENCE_TEMPLATE_PARAM \
         , AUX778076_SEQUENCE_DEFAULT \
@@ -120,25 +120,25 @@
     /**/
 
 #   define AUX778076_SEQUENCE_N_PARAMS(n) \
-    typename T BOOST_PP_COMMA_IF(n) \
-    BOOST_PP_ENUM_PARAMS(n, AUX778076_SEQUENCE_TEMPLATE_PARAM) \
+    typename T NDNBOOST_PP_COMMA_IF(n) \
+    NDNBOOST_PP_ENUM_PARAMS(n, AUX778076_SEQUENCE_TEMPLATE_PARAM) \
     /**/
 
 #   if !defined(AUX778076_SEQUENCE_CONVERT_CN_TO)
-#       define AUX778076_SEQUENCE_CONVERT_CN_TO(z,n,TARGET) BOOST_PP_CAT(C,n)
+#       define AUX778076_SEQUENCE_CONVERT_CN_TO(z,n,TARGET) NDNBOOST_PP_CAT(C,n)
 #   endif
 
 #   define AUX778076_SEQUENCE_N_ARGS(n) \
-    T BOOST_PP_COMMA_IF(n) \
-    BOOST_PP_ENUM(n,AUX778076_SEQUENCE_CONVERT_CN_TO,T) \
+    T NDNBOOST_PP_COMMA_IF(n) \
+    NDNBOOST_PP_ENUM(n,AUX778076_SEQUENCE_CONVERT_CN_TO,T) \
     /**/
 
 #   define AUX778076_SEQUENCE_N_PARTIAL_SPEC_ARGS(n) \
-    T, BOOST_PP_ENUM_PARAMS(n, C) \
-    BOOST_PP_COMMA_IF(n) \
-    BOOST_PP_ENUM( \
-          BOOST_PP_SUB_D(1,AUX778076_SEQUENCE_LIMIT,n) \
-        , BOOST_PP_TUPLE_ELEM_3_2 \
+    T, NDNBOOST_PP_ENUM_PARAMS(n, C) \
+    NDNBOOST_PP_COMMA_IF(n) \
+    NDNBOOST_PP_ENUM( \
+          NDNBOOST_PP_SUB_D(1,AUX778076_SEQUENCE_LIMIT,n) \
+        , NDNBOOST_PP_TUPLE_ELEM_3_2 \
         , AUX778076_SEQUENCE_DEFAULT \
         ) \
     /**/
@@ -146,7 +146,7 @@
 #endif // AUX778076_SEQUENCE_INTEGRAL_WRAPPER
 
 
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+#if !defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
 // forward declaration
 template<
       AUX778076_SEQUENCE_DEFAULT_PARAMS()
@@ -154,17 +154,17 @@
 struct AUX778076_SEQUENCE_NAME;
 #else
 namespace aux {
-template< BOOST_MPL_AUX_NTTP_DECL(int, N) > 
-struct BOOST_PP_CAT(AUX778076_SEQUENCE_NAME,_chooser);
+template< NDNBOOST_MPL_AUX_NTTP_DECL(int, N) > 
+struct NDNBOOST_PP_CAT(AUX778076_SEQUENCE_NAME,_chooser);
 }
 #endif
 
-#define BOOST_PP_ITERATION_PARAMS_1 \
+#define NDNBOOST_PP_ITERATION_PARAMS_1 \
     (3,(0, AUX778076_SEQUENCE_LIMIT, <ndnboost/mpl/aux_/sequence_wrapper.hpp>))
-#include BOOST_PP_ITERATE()
+#include NDNBOOST_PP_ITERATE()
 
 // real C++ version is already taken care of
-#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+#if defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
 
 namespace aux {
 // ???_count_args
@@ -179,13 +179,13 @@
 template<
       AUX778076_SEQUENCE_PARAMS()
     >
-struct BOOST_PP_CAT(AUX778076_SEQUENCE_NAME,_impl)
+struct NDNBOOST_PP_CAT(AUX778076_SEQUENCE_NAME,_impl)
 {
-    typedef aux::BOOST_PP_CAT(AUX778076_SEQUENCE_NAME,_count_args)<
-          BOOST_PP_ENUM_PARAMS(AUX778076_SEQUENCE_LIMIT, AUX778076_SEQUENCE_PARAM_NAME)
+    typedef aux::NDNBOOST_PP_CAT(AUX778076_SEQUENCE_NAME,_count_args)<
+          NDNBOOST_PP_ENUM_PARAMS(AUX778076_SEQUENCE_LIMIT, AUX778076_SEQUENCE_PARAM_NAME)
         > arg_num_;
     
-    typedef typename aux::BOOST_PP_CAT(AUX778076_SEQUENCE_NAME,_chooser)< arg_num_::value >
+    typedef typename aux::NDNBOOST_PP_CAT(AUX778076_SEQUENCE_NAME,_chooser)< arg_num_::value >
         ::template result_< AUX778076_SEQUENCE_ARGS() >::type type;
 };
 
@@ -195,16 +195,16 @@
       AUX778076_SEQUENCE_DEFAULT_PARAMS()
     >
 struct AUX778076_SEQUENCE_NAME
-    : aux::BOOST_PP_CAT(AUX778076_SEQUENCE_NAME,_impl)<
+    : aux::NDNBOOST_PP_CAT(AUX778076_SEQUENCE_NAME,_impl)<
           AUX778076_SEQUENCE_ARGS()
         >::type
 {
-    typedef typename aux::BOOST_PP_CAT(AUX778076_SEQUENCE_NAME,_impl)<
+    typedef typename aux::NDNBOOST_PP_CAT(AUX778076_SEQUENCE_NAME,_impl)<
           AUX778076_SEQUENCE_ARGS()
         >::type type;
 };
 
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#endif // NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 
 #   undef AUX778076_SEQUENCE_N_PARTIAL_SPEC_ARGS
 #   undef AUX778076_SEQUENCE_N_ARGS
@@ -227,9 +227,9 @@
 ///// iteration
 
 #else
-#define i_ BOOST_PP_FRAME_ITERATION(1)
+#define i_ NDNBOOST_PP_FRAME_ITERATION(1)
 
-#   if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+#   if !defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
 
 #if i_ == AUX778076_SEQUENCE_LIMIT
 
@@ -265,7 +265,7 @@
 namespace aux {
 
 template<>
-struct BOOST_PP_CAT(AUX778076_SEQUENCE_NAME,_chooser)<i_>
+struct NDNBOOST_PP_CAT(AUX778076_SEQUENCE_NAME,_chooser)<i_>
 {
     template<
           AUX778076_SEQUENCE_PARAMS()
@@ -286,7 +286,7 @@
 
 } // namespace aux
 
-#   endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#   endif // NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 
 #undef i_
-#endif // BOOST_PP_IS_ITERATING
+#endif // NDNBOOST_PP_IS_ITERATING
diff --git a/include/ndnboost/mpl/aux_/size_impl.hpp b/include/ndnboost/mpl/aux_/size_impl.hpp
index bf467f7..cfb16fa 100644
--- a/include/ndnboost/mpl/aux_/size_impl.hpp
+++ b/include/ndnboost/mpl/aux_/size_impl.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_AUX_SIZE_IMPL_HPP_INCLUDED
-#define BOOST_MPL_AUX_SIZE_IMPL_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_AUX_SIZE_IMPL_HPP_INCLUDED
+#define NDNBOOST_MPL_AUX_SIZE_IMPL_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -29,7 +29,7 @@
 struct size_impl
 {
     template< typename Sequence > struct apply
-#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x561))
+#if !NDNBOOST_WORKAROUND(__BORLANDC__, NDNBOOST_TESTED_AT(0x561))
         : distance<
               typename begin<Sequence>::type
             , typename end<Sequence>::type
@@ -45,8 +45,8 @@
     };
 };
 
-BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(1, size_impl)
+NDNBOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(1, size_impl)
 
 }}
 
-#endif // BOOST_MPL_AUX_SIZE_IMPL_HPP_INCLUDED
+#endif // NDNBOOST_MPL_AUX_SIZE_IMPL_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/aux_/static_cast.hpp b/include/ndnboost/mpl/aux_/static_cast.hpp
index aebd267..13121eb 100644
--- a/include/ndnboost/mpl/aux_/static_cast.hpp
+++ b/include/ndnboost/mpl/aux_/static_cast.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_AUX_STATIC_CAST_HPP_INCLUDED
-#define BOOST_MPL_AUX_STATIC_CAST_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_AUX_STATIC_CAST_HPP_INCLUDED
+#define NDNBOOST_MPL_AUX_STATIC_CAST_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2001-2004
 //
@@ -16,12 +16,12 @@
 
 #include <ndnboost/mpl/aux_/config/workaround.hpp>
 
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x561)) \
- || BOOST_WORKAROUND(__GNUC__, < 3) \
- || BOOST_WORKAROUND(__MWERKS__, <= 0x3001)
-#   define BOOST_MPL_AUX_STATIC_CAST(T, expr) (T)(expr)
+#if NDNBOOST_WORKAROUND(__BORLANDC__, NDNBOOST_TESTED_AT(0x561)) \
+ || NDNBOOST_WORKAROUND(__GNUC__, < 3) \
+ || NDNBOOST_WORKAROUND(__MWERKS__, <= 0x3001)
+#   define NDNBOOST_MPL_AUX_STATIC_CAST(T, expr) (T)(expr)
 #else
-#   define BOOST_MPL_AUX_STATIC_CAST(T, expr) static_cast<T>(expr)
+#   define NDNBOOST_MPL_AUX_STATIC_CAST(T, expr) static_cast<T>(expr)
 #endif
 
-#endif // BOOST_MPL_AUX_STATIC_CAST_HPP_INCLUDED
+#endif // NDNBOOST_MPL_AUX_STATIC_CAST_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/aux_/template_arity.hpp b/include/ndnboost/mpl/aux_/template_arity.hpp
index 47a8398..f573080 100644
--- a/include/ndnboost/mpl/aux_/template_arity.hpp
+++ b/include/ndnboost/mpl/aux_/template_arity.hpp
@@ -1,10 +1,10 @@
 
-#if !defined(BOOST_PP_IS_ITERATING)
+#if !defined(NDNBOOST_PP_IS_ITERATING)
 
 ///// header body
 
-#ifndef BOOST_MPL_AUX_TEMPLATE_ARITY_HPP_INCLUDED
-#define BOOST_MPL_AUX_TEMPLATE_ARITY_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_AUX_TEMPLATE_ARITY_HPP_INCLUDED
+#define NDNBOOST_MPL_AUX_TEMPLATE_ARITY_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2001-2004
 //
@@ -21,11 +21,11 @@
 #include <ndnboost/mpl/aux_/config/ttp.hpp>
 #include <ndnboost/mpl/aux_/config/lambda.hpp>
 
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
+#if !defined(NDNBOOST_MPL_PREPROCESSING_MODE)
 #   include <ndnboost/mpl/aux_/template_arity_fwd.hpp>
 #   include <ndnboost/mpl/int.hpp>
-#   if !defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT)
-#   if defined(BOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING)
+#   if !defined(NDNBOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT)
+#   if defined(NDNBOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING)
 #       include <ndnboost/mpl/aux_/type_wrapper.hpp>
 #   endif
 #   else
@@ -36,16 +36,16 @@
 #include <ndnboost/mpl/aux_/config/static_constant.hpp>
 #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 template_arity.hpp
+#   define NDNBOOST_MPL_PREPROCESSED_HEADER template_arity.hpp
 #   include <ndnboost/mpl/aux_/include_preprocessed.hpp>
 
 #else
 
-#   if !defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT)
-#   if defined(BOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING)
+#   if !defined(NDNBOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT)
+#   if defined(NDNBOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING)
 
 #   include <ndnboost/mpl/limits/arity.hpp>
 #   include <ndnboost/mpl/aux_/preprocessor/range.hpp>
@@ -59,29 +59,29 @@
 #   include <ndnboost/preprocessor/inc.hpp>
 #   include <ndnboost/preprocessor/cat.hpp>
 
-#   define AUX778076_ARITY BOOST_PP_INC(BOOST_MPL_LIMIT_METAFUNCTION_ARITY)
+#   define AUX778076_ARITY NDNBOOST_PP_INC(NDNBOOST_MPL_LIMIT_METAFUNCTION_ARITY)
 
 namespace ndnboost { namespace mpl { namespace aux {
 
-template< BOOST_MPL_AUX_NTTP_DECL(int, N) > struct arity_tag
+template< NDNBOOST_MPL_AUX_NTTP_DECL(int, N) > struct arity_tag
 {
     typedef char (&type)[N + 1];
 };
 
 #   define AUX778076_MAX_ARITY_OP(unused, state, i_) \
-    ( BOOST_PP_CAT(C,i_) > 0 ? BOOST_PP_CAT(C,i_) : state ) \
+    ( NDNBOOST_PP_CAT(C,i_) > 0 ? NDNBOOST_PP_CAT(C,i_) : state ) \
 /**/
 
 template<
-      BOOST_MPL_PP_PARAMS(AUX778076_ARITY, BOOST_MPL_AUX_NTTP_DECL(int, C))
+      NDNBOOST_MPL_PP_PARAMS(AUX778076_ARITY, NDNBOOST_MPL_AUX_NTTP_DECL(int, C))
     >
 struct max_arity
 {
-    BOOST_STATIC_CONSTANT(int, value = 
-          BOOST_PP_SEQ_FOLD_LEFT(
+    NDNBOOST_STATIC_CONSTANT(int, value = 
+          NDNBOOST_PP_SEQ_FOLD_LEFT(
               AUX778076_MAX_ARITY_OP
             , -1
-            , BOOST_MPL_PP_RANGE(1, AUX778076_ARITY)
+            , NDNBOOST_MPL_PP_RANGE(1, AUX778076_ARITY)
             )
         );
 };
@@ -90,27 +90,27 @@
 
 arity_tag<0>::type arity_helper(...);
 
-#   define BOOST_PP_ITERATION_LIMITS (1, AUX778076_ARITY)
-#   define BOOST_PP_FILENAME_1 <ndnboost/mpl/aux_/template_arity.hpp>
-#   include BOOST_PP_ITERATE()
+#   define NDNBOOST_PP_ITERATION_LIMITS (1, AUX778076_ARITY)
+#   define NDNBOOST_PP_FILENAME_1 <ndnboost/mpl/aux_/template_arity.hpp>
+#   include NDNBOOST_PP_ITERATE()
 
-template< typename F, BOOST_MPL_AUX_NTTP_DECL(int, N) >
+template< typename F, NDNBOOST_MPL_AUX_NTTP_DECL(int, N) >
 struct template_arity_impl
 {
-    BOOST_STATIC_CONSTANT(int, value = 
+    NDNBOOST_STATIC_CONSTANT(int, value = 
           sizeof(::ndnboost::mpl::aux::arity_helper(type_wrapper<F>(),arity_tag<N>())) - 1
         );
 };
 
 #   define AUX778076_TEMPLATE_ARITY_IMPL_INVOCATION(unused, i_, F) \
-    BOOST_PP_COMMA_IF(i_) template_arity_impl<F,BOOST_PP_INC(i_)>::value \
+    NDNBOOST_PP_COMMA_IF(i_) template_arity_impl<F,NDNBOOST_PP_INC(i_)>::value \
 /**/
 
 template< typename F >
 struct template_arity
 {
-    BOOST_STATIC_CONSTANT(int, value = (
-          max_arity< BOOST_MPL_PP_REPEAT(
+    NDNBOOST_STATIC_CONSTANT(int, value = (
+          max_arity< NDNBOOST_MPL_PP_REPEAT(
               AUX778076_ARITY
             , AUX778076_TEMPLATE_ARITY_IMPL_INVOCATION
             , F
@@ -126,8 +126,8 @@
 
 }}}
 
-#   endif // BOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING
-#   else // BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT
+#   endif // NDNBOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING
+#   else // NDNBOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT
 
 #   include <ndnboost/mpl/aux_/config/eti.hpp>
 
@@ -158,7 +158,7 @@
 {
 };
 
-#if defined(BOOST_MPL_CFG_MSVC_ETI_BUG)
+#if defined(NDNBOOST_MPL_CFG_MSVC_ETI_BUG)
 template<>
 struct template_arity<int>
     : mpl::int_<-1>
@@ -168,22 +168,22 @@
 
 }}}
 
-#   endif // BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT
+#   endif // NDNBOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT
 
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-#endif // BOOST_MPL_AUX_TEMPLATE_ARITY_HPP_INCLUDED
+#endif // NDNBOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
+#endif // NDNBOOST_MPL_AUX_TEMPLATE_ARITY_HPP_INCLUDED
 
 ///// iteration
 
 #else
-#define i_ BOOST_PP_FRAME_ITERATION(1)
+#define i_ NDNBOOST_PP_FRAME_ITERATION(1)
 
 template<
-      template< BOOST_MPL_PP_PARAMS(i_, typename P) > class F
-    , BOOST_MPL_PP_PARAMS(i_, typename T)
+      template< NDNBOOST_MPL_PP_PARAMS(i_, typename P) > class F
+    , NDNBOOST_MPL_PP_PARAMS(i_, typename T)
     >
 typename arity_tag<i_>::type
-arity_helper(type_wrapper< F<BOOST_MPL_PP_PARAMS(i_, T)> >, arity_tag<i_>);
+arity_helper(type_wrapper< F<NDNBOOST_MPL_PP_PARAMS(i_, T)> >, arity_tag<i_>);
 
 #undef i_
-#endif // BOOST_PP_IS_ITERATING
+#endif // NDNBOOST_PP_IS_ITERATING
diff --git a/include/ndnboost/mpl/aux_/template_arity_fwd.hpp b/include/ndnboost/mpl/aux_/template_arity_fwd.hpp
index 4ed2f16..f24bd99 100644
--- a/include/ndnboost/mpl/aux_/template_arity_fwd.hpp
+++ b/include/ndnboost/mpl/aux_/template_arity_fwd.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_AUX_TEMPLATE_ARITY_FWD_HPP_INCLUDED
-#define BOOST_MPL_AUX_TEMPLATE_ARITY_FWD_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_AUX_TEMPLATE_ARITY_FWD_HPP_INCLUDED
+#define NDNBOOST_MPL_AUX_TEMPLATE_ARITY_FWD_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2001-2004
 //
@@ -20,4 +20,4 @@
 
 }}}
 
-#endif // BOOST_MPL_AUX_TEMPLATE_ARITY_FWD_HPP_INCLUDED
+#endif // NDNBOOST_MPL_AUX_TEMPLATE_ARITY_FWD_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/aux_/traits_lambda_spec.hpp b/include/ndnboost/mpl/aux_/traits_lambda_spec.hpp
index a3ab41f..0f21dda 100644
--- a/include/ndnboost/mpl/aux_/traits_lambda_spec.hpp
+++ b/include/ndnboost/mpl/aux_/traits_lambda_spec.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_AUX_TRAITS_LAMBDA_SPEC_HPP_INCLUDED
-#define BOOST_MPL_AUX_TRAITS_LAMBDA_SPEC_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_AUX_TRAITS_LAMBDA_SPEC_HPP_INCLUDED
+#define NDNBOOST_MPL_AUX_TRAITS_LAMBDA_SPEC_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2008
 //
@@ -19,16 +19,16 @@
 #include <ndnboost/mpl/aux_/preprocessor/params.hpp>
 #include <ndnboost/mpl/aux_/config/lambda.hpp>
 
-#if !defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT)
+#if !defined(NDNBOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT)
 
-#   define BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC_IMPL(i, trait) /**/
+#   define NDNBOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC_IMPL(i, trait) /**/
 
-#elif !defined(BOOST_MPL_CFG_MSVC_ETI_BUG)
+#elif !defined(NDNBOOST_MPL_CFG_MSVC_ETI_BUG)
 
-#   define BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC_IMPL(i, trait) \
+#   define NDNBOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC_IMPL(i, trait) \
 template<> struct trait<void_> \
 { \
-    template< BOOST_MPL_PP_PARAMS(i, typename T) > struct apply \
+    template< NDNBOOST_MPL_PP_PARAMS(i, typename T) > struct apply \
     { \
     }; \
 }; \
@@ -36,28 +36,28 @@
 
 #else
 
-#   define BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC_IMPL(i, trait) \
+#   define NDNBOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC_IMPL(i, trait) \
 template<> struct trait<void_> \
 { \
-    template< BOOST_MPL_PP_PARAMS(i, typename T) > struct apply \
+    template< NDNBOOST_MPL_PP_PARAMS(i, typename T) > struct apply \
     { \
     }; \
 }; \
 template<> struct trait<int> \
 { \
-    template< BOOST_MPL_PP_PARAMS(i, typename T) > struct apply \
+    template< NDNBOOST_MPL_PP_PARAMS(i, typename T) > struct apply \
     { \
         typedef int type; \
     }; \
 }; \
 /**/
 
-#endif // BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT
+#endif // NDNBOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT
 
 
-#define BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(i, trait) \
-    BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC_IMPL(i, trait) \
+#define NDNBOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(i, trait) \
+    NDNBOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC_IMPL(i, trait) \
     template<> struct trait<non_sequence_tag> {}; \
 /**/
 
-#endif // BOOST_MPL_AUX_TRAITS_LAMBDA_SPEC_HPP_INCLUDED
+#endif // NDNBOOST_MPL_AUX_TRAITS_LAMBDA_SPEC_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/aux_/type_wrapper.hpp b/include/ndnboost/mpl/aux_/type_wrapper.hpp
index 11139c3..faaf54b 100644
--- a/include/ndnboost/mpl/aux_/type_wrapper.hpp
+++ b/include/ndnboost/mpl/aux_/type_wrapper.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_AUX_TYPE_WRAPPER_HPP_INCLUDED
-#define BOOST_MPL_AUX_TYPE_WRAPPER_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_AUX_TYPE_WRAPPER_HPP_INCLUDED
+#define NDNBOOST_MPL_AUX_TYPE_WRAPPER_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 // Copyright Peter Dimov 2000-2003
@@ -24,7 +24,7 @@
     typedef T type;
 };
 
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+#if !defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
 // agurt 08/may/03: a complicated way to extract the wrapped type; need it 
 // mostly for the sake of GCC (3.2.x), which ICEs if you try to extract the 
 // nested 'type' from 'type_wrapper<T>' when the latter was the result of a
@@ -44,4 +44,4 @@
 
 }}}
 
-#endif // BOOST_MPL_AUX_TYPE_WRAPPER_HPP_INCLUDED
+#endif // NDNBOOST_MPL_AUX_TYPE_WRAPPER_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/aux_/unwrap.hpp b/include/ndnboost/mpl/aux_/unwrap.hpp
index 2b755b9..292d8c8 100644
--- a/include/ndnboost/mpl/aux_/unwrap.hpp
+++ b/include/ndnboost/mpl/aux_/unwrap.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_AUX_UNWRAP_HPP_INCLUDED
-#define BOOST_MPL_AUX_UNWRAP_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_AUX_UNWRAP_HPP_INCLUDED
+#define NDNBOOST_MPL_AUX_UNWRAP_HPP_INCLUDED
 
 // Copyright Peter Dimov and Multi Media Ltd 2001, 2002
 // Copyright David Abrahams 2001
@@ -44,4 +44,4 @@
 
 }}}
 
-#endif // BOOST_MPL_AUX_UNWRAP_HPP_INCLUDED
+#endif // NDNBOOST_MPL_AUX_UNWRAP_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/aux_/value_wknd.hpp b/include/ndnboost/mpl/aux_/value_wknd.hpp
index a68fcca..0203bae 100644
--- a/include/ndnboost/mpl/aux_/value_wknd.hpp
+++ b/include/ndnboost/mpl/aux_/value_wknd.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_AUX_VALUE_WKND_HPP_INCLUDED
-#define BOOST_MPL_AUX_VALUE_WKND_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_AUX_VALUE_WKND_HPP_INCLUDED
+#define NDNBOOST_MPL_AUX_VALUE_WKND_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -19,8 +19,8 @@
 #include <ndnboost/mpl/aux_/config/eti.hpp>
 #include <ndnboost/mpl/aux_/config/workaround.hpp>
 
-#if defined(BOOST_MPL_CFG_BCC_INTEGRAL_CONSTANTS) \
-    || defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG)
+#if defined(NDNBOOST_MPL_CFG_BCC_INTEGRAL_CONSTANTS) \
+    || defined(NDNBOOST_MPL_CFG_MSVC_60_ETI_BUG)
 
 #   include <ndnboost/mpl/int.hpp>
 
@@ -30,7 +30,7 @@
 {
 };
 
-#if defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG)
+#if defined(NDNBOOST_MPL_CFG_MSVC_60_ETI_BUG)
 template<> struct value_wknd<int>
     : int_<1>
 {
@@ -40,32 +40,32 @@
 }}}
 
 
-#if !defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG)
-#   define BOOST_MPL_AUX_VALUE_WKND(C) \
-    ::BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::aux::value_wknd< C > \
+#if !defined(NDNBOOST_MPL_CFG_MSVC_60_ETI_BUG)
+#   define NDNBOOST_MPL_AUX_VALUE_WKND(C) \
+    ::NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::aux::value_wknd< C > \
 /**/
-#    define BOOST_MPL_AUX_MSVC_VALUE_WKND(C) BOOST_MPL_AUX_VALUE_WKND(C)
+#    define NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(C) NDNBOOST_MPL_AUX_VALUE_WKND(C)
 #else
-#   define BOOST_MPL_AUX_VALUE_WKND(C) C
-#   define BOOST_MPL_AUX_MSVC_VALUE_WKND(C) \
+#   define NDNBOOST_MPL_AUX_VALUE_WKND(C) C
+#   define NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(C) \
     ::ndnboost::mpl::aux::value_wknd< C > \
 /**/
 #endif
 
-#else // BOOST_MPL_CFG_BCC_INTEGRAL_CONSTANTS
+#else // NDNBOOST_MPL_CFG_BCC_INTEGRAL_CONSTANTS
 
-#   define BOOST_MPL_AUX_VALUE_WKND(C) C
-#   define BOOST_MPL_AUX_MSVC_VALUE_WKND(C) C
+#   define NDNBOOST_MPL_AUX_VALUE_WKND(C) C
+#   define NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(C) C
 
 #endif
 
-#if BOOST_WORKAROUND(__EDG_VERSION__, <= 238)
-#   define BOOST_MPL_AUX_NESTED_VALUE_WKND(T, C) \
-    BOOST_MPL_AUX_STATIC_CAST(T, C::value) \
+#if NDNBOOST_WORKAROUND(__EDG_VERSION__, <= 238)
+#   define NDNBOOST_MPL_AUX_NESTED_VALUE_WKND(T, C) \
+    NDNBOOST_MPL_AUX_STATIC_CAST(T, C::value) \
 /**/
 #else
-#   define BOOST_MPL_AUX_NESTED_VALUE_WKND(T, C) \
-    BOOST_MPL_AUX_VALUE_WKND(C)::value \
+#   define NDNBOOST_MPL_AUX_NESTED_VALUE_WKND(T, C) \
+    NDNBOOST_MPL_AUX_VALUE_WKND(C)::value \
 /**/
 #endif
 
@@ -77,7 +77,7 @@
     typedef typename T::value_type type;
 };
 
-#if defined(BOOST_MPL_CFG_MSVC_ETI_BUG)
+#if defined(NDNBOOST_MPL_CFG_MSVC_ETI_BUG)
 template<> struct value_type_wknd<int>
 {
     typedef int type;
@@ -86,4 +86,4 @@
 
 }}}
 
-#endif // BOOST_MPL_AUX_VALUE_WKND_HPP_INCLUDED
+#endif // NDNBOOST_MPL_AUX_VALUE_WKND_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/aux_/yes_no.hpp b/include/ndnboost/mpl/aux_/yes_no.hpp
index f26d2df..4422262 100644
--- a/include/ndnboost/mpl/aux_/yes_no.hpp
+++ b/include/ndnboost/mpl/aux_/yes_no.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_AUX_YES_NO_HPP_INCLUDED
-#define BOOST_MPL_AUX_YES_NO_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_AUX_YES_NO_HPP_INCLUDED
+#define NDNBOOST_MPL_AUX_YES_NO_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -36,9 +36,9 @@
 };
 
 
-template< BOOST_MPL_AUX_NTTP_DECL(long, n) > struct weighted_tag
+template< NDNBOOST_MPL_AUX_NTTP_DECL(long, n) > struct weighted_tag
 {
-#if !BOOST_WORKAROUND(BOOST_MSVC, < 1300)
+#if !NDNBOOST_WORKAROUND(NDNBOOST_MSVC, < 1300)
     typedef char (&type)[n];
 #else
     char buf[n];
@@ -46,7 +46,7 @@
 #endif
 };
 
-#if defined(BOOST_MPL_CFG_NO_DEPENDENT_ARRAY_TYPES)
+#if defined(NDNBOOST_MPL_CFG_NO_DEPENDENT_ARRAY_TYPES)
 template<> struct weighted_tag<0>
 {
     typedef char (&type)[1];
@@ -55,4 +55,4 @@
 
 }}}
 
-#endif // BOOST_MPL_AUX_YES_NO_HPP_INCLUDED
+#endif // NDNBOOST_MPL_AUX_YES_NO_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/back_fwd.hpp b/include/ndnboost/mpl/back_fwd.hpp
index bb4963a..44d85e5 100644
--- a/include/ndnboost/mpl/back_fwd.hpp
+++ b/include/ndnboost/mpl/back_fwd.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_BACK_FWD_HPP_INCLUDED
-#define BOOST_MPL_BACK_FWD_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_BACK_FWD_HPP_INCLUDED
+#define NDNBOOST_MPL_BACK_FWD_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -21,4 +21,4 @@
 
 }}
 
-#endif // BOOST_MPL_BACK_FWD_HPP_INCLUDED
+#endif // NDNBOOST_MPL_BACK_FWD_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/back_inserter.hpp b/include/ndnboost/mpl/back_inserter.hpp
index e4c779b..99f6c10 100644
--- a/include/ndnboost/mpl/back_inserter.hpp
+++ b/include/ndnboost/mpl/back_inserter.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_BACK_INSERTER_HPP_INCLUDED
-#define BOOST_MPL_BACK_INSERTER_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_BACK_INSERTER_HPP_INCLUDED
+#define NDNBOOST_MPL_BACK_INSERTER_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2003-2004
 // Copyright David Abrahams 2003-2004
@@ -31,4 +31,4 @@
 
 }}
 
-#endif // BOOST_MPL_BACK_INSERTER_HPP_INCLUDED
+#endif // NDNBOOST_MPL_BACK_INSERTER_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/begin_end.hpp b/include/ndnboost/mpl/begin_end.hpp
index 89098fa..d5991f8 100644
--- a/include/ndnboost/mpl/begin_end.hpp
+++ b/include/ndnboost/mpl/begin_end.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_BEGIN_END_HPP_INCLUDED
-#define BOOST_MPL_BEGIN_END_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_BEGIN_END_HPP_INCLUDED
+#define NDNBOOST_MPL_BEGIN_END_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -26,7 +26,7 @@
 // happy this way (less ETI-related errors), and it doesn't affect 
 // anything else
 template<
-      typename BOOST_MPL_AUX_NA_PARAM(Sequence)
+      typename NDNBOOST_MPL_AUX_NA_PARAM(Sequence)
     >
 struct begin
 {
@@ -34,11 +34,11 @@
     typedef typename begin_impl< tag_ >
         ::template apply< Sequence >::type type;
 
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,begin,(Sequence))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(1,begin,(Sequence))
 };
 
 template<
-      typename BOOST_MPL_AUX_NA_PARAM(Sequence)
+      typename NDNBOOST_MPL_AUX_NA_PARAM(Sequence)
     >
 struct end
 {
@@ -46,12 +46,12 @@
     typedef typename end_impl< tag_ >
         ::template apply< Sequence >::type type;
 
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,end,(Sequence))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(1,end,(Sequence))
 };
 
-BOOST_MPL_AUX_NA_SPEC(1, begin)
-BOOST_MPL_AUX_NA_SPEC(1, end)
+NDNBOOST_MPL_AUX_NA_SPEC(1, begin)
+NDNBOOST_MPL_AUX_NA_SPEC(1, end)
 
 }}
 
-#endif // BOOST_MPL_BEGIN_END_HPP_INCLUDED
+#endif // NDNBOOST_MPL_BEGIN_END_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/begin_end_fwd.hpp b/include/ndnboost/mpl/begin_end_fwd.hpp
index ecbf481..0e486ab 100644
--- a/include/ndnboost/mpl/begin_end_fwd.hpp
+++ b/include/ndnboost/mpl/begin_end_fwd.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_BEGIN_END_FWD_HPP_INCLUDED
-#define BOOST_MPL_BEGIN_END_FWD_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_BEGIN_END_FWD_HPP_INCLUDED
+#define NDNBOOST_MPL_BEGIN_END_FWD_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -24,4 +24,4 @@
 
 }}
 
-#endif // BOOST_MPL_BEGIN_END_FWD_HPP_INCLUDED
+#endif // NDNBOOST_MPL_BEGIN_END_FWD_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/bind.hpp b/include/ndnboost/mpl/bind.hpp
index cc0834e..5b30a16 100644
--- a/include/ndnboost/mpl/bind.hpp
+++ b/include/ndnboost/mpl/bind.hpp
@@ -1,10 +1,10 @@
 
-#if !defined(BOOST_PP_IS_ITERATING)
+#if !defined(NDNBOOST_PP_IS_ITERATING)
 
 ///// header body
 
-#ifndef BOOST_MPL_BIND_HPP_INCLUDED
-#define BOOST_MPL_BIND_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_BIND_HPP_INCLUDED
+#define NDNBOOST_MPL_BIND_HPP_INCLUDED
 
 // Copyright Peter Dimov 2001
 // Copyright Aleksey Gurtovoy 2001-2004
@@ -19,7 +19,7 @@
 // $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
 // $Revision: 49267 $
 
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
+#if !defined(NDNBOOST_MPL_PREPROCESSING_MODE)
 #   include <ndnboost/mpl/bind_fwd.hpp>
 #   include <ndnboost/mpl/placeholders.hpp>
 #   include <ndnboost/mpl/next.hpp>
@@ -30,7 +30,7 @@
 #   include <ndnboost/mpl/aux_/arity_spec.hpp>
 #   include <ndnboost/mpl/aux_/type_wrapper.hpp>
 #   include <ndnboost/mpl/aux_/yes_no.hpp>
-#   if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+#   if defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
 #       include <ndnboost/type_traits/is_reference.hpp>
 #   endif 
 #endif
@@ -39,13 +39,13 @@
 #include <ndnboost/mpl/aux_/config/static_constant.hpp>
 #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)
 
-#   if defined(BOOST_MPL_CFG_NO_UNNAMED_PLACEHOLDER_SUPPORT)
-#       define BOOST_MPL_PREPROCESSED_HEADER basic_bind.hpp
+#   if defined(NDNBOOST_MPL_CFG_NO_UNNAMED_PLACEHOLDER_SUPPORT)
+#       define NDNBOOST_MPL_PREPROCESSED_HEADER basic_bind.hpp
 #   else
-#       define BOOST_MPL_PREPROCESSED_HEADER bind.hpp
+#       define NDNBOOST_MPL_PREPROCESSED_HEADER bind.hpp
 #   endif
 #   include <ndnboost/mpl/aux_/include_preprocessed.hpp>
 
@@ -74,40 +74,40 @@
 
 // local macros, #undef-ined at the end of the header
 #   define AUX778076_APPLY \
-    BOOST_PP_CAT(apply_wrap,BOOST_MPL_LIMIT_METAFUNCTION_ARITY) \
+    NDNBOOST_PP_CAT(apply_wrap,NDNBOOST_MPL_LIMIT_METAFUNCTION_ARITY) \
     /**/
 
-#   if defined(BOOST_MPL_CFG_DMC_AMBIGUOUS_CTPS)
+#   if defined(NDNBOOST_MPL_CFG_DMC_AMBIGUOUS_CTPS)
 #       define AUX778076_DMC_PARAM() , int dummy_
 #   else
 #       define AUX778076_DMC_PARAM()
 #   endif
 
 #   define AUX778076_BIND_PARAMS(param) \
-    BOOST_MPL_PP_PARAMS( \
-          BOOST_MPL_LIMIT_METAFUNCTION_ARITY \
+    NDNBOOST_MPL_PP_PARAMS( \
+          NDNBOOST_MPL_LIMIT_METAFUNCTION_ARITY \
         , param \
         ) \
     /**/
 
 #   define AUX778076_BIND_DEFAULT_PARAMS(param, value) \
-    BOOST_MPL_PP_DEFAULT_PARAMS( \
-          BOOST_MPL_LIMIT_METAFUNCTION_ARITY \
+    NDNBOOST_MPL_PP_DEFAULT_PARAMS( \
+          NDNBOOST_MPL_LIMIT_METAFUNCTION_ARITY \
         , param \
         , value \
         ) \
     /**/
 
 #   define AUX778076_BIND_N_PARAMS(n, param) \
-    BOOST_PP_COMMA_IF(n) BOOST_MPL_PP_PARAMS(n, param) \
+    NDNBOOST_PP_COMMA_IF(n) NDNBOOST_MPL_PP_PARAMS(n, param) \
     /**/
 
 #   define AUX778076_BIND_N_SPEC_PARAMS(n, param, def) \
-    BOOST_PP_COMMA_IF(n) \
-    BOOST_MPL_PP_PARTIAL_SPEC_PARAMS(n, param, def) \
+    NDNBOOST_PP_COMMA_IF(n) \
+    NDNBOOST_MPL_PP_PARTIAL_SPEC_PARAMS(n, param, def) \
     /**/
 
-#if !defined(BOOST_MPL_CFG_NO_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES)
+#if !defined(NDNBOOST_MPL_CFG_NO_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES)
 #   define AUX778076_BIND_NESTED_DEFAULT_PARAMS(param, value) \
     AUX778076_BIND_DEFAULT_PARAMS(param, value) \
     /**/
@@ -119,7 +119,7 @@
 
 namespace aux {
 
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+#if !defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
 
 template<
       typename T, AUX778076_BIND_PARAMS(typename U)
@@ -129,7 +129,7 @@
     typedef T type;
 };
 
-#   if !defined(BOOST_MPL_CFG_NO_UNNAMED_PLACEHOLDER_SUPPORT)
+#   if !defined(NDNBOOST_MPL_CFG_NO_UNNAMED_PLACEHOLDER_SUPPORT)
 
 template<
       typename T
@@ -150,17 +150,17 @@
     typedef Arg type;
 };
 
-#   endif // BOOST_MPL_CFG_NO_UNNAMED_PLACEHOLDER_SUPPORT
+#   endif // NDNBOOST_MPL_CFG_NO_UNNAMED_PLACEHOLDER_SUPPORT
 
 template<
-      BOOST_MPL_AUX_NTTP_DECL(int, N), AUX778076_BIND_PARAMS(typename U)
+      NDNBOOST_MPL_AUX_NTTP_DECL(int, N), AUX778076_BIND_PARAMS(typename U)
     >
 struct resolve_bind_arg< arg<N>,AUX778076_BIND_PARAMS(U) >
 {
     typedef typename AUX778076_APPLY<mpl::arg<N>, AUX778076_BIND_PARAMS(U)>::type type;
 };
 
-#if !defined(BOOST_MPL_CFG_NO_BIND_TEMPLATE)
+#if !defined(NDNBOOST_MPL_CFG_NO_BIND_TEMPLATE)
 template<
       typename F, AUX778076_BIND_PARAMS(typename T), AUX778076_BIND_PARAMS(typename U)
     >
@@ -171,7 +171,7 @@
 };
 #endif
 
-#else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#else // NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 
 // agurt, 15/jan/02: it's not a intended to be used as a function class, and 
 // MSVC6.5 has problems with 'apply' name here (the code compiles, but doesn't
@@ -209,7 +209,7 @@
 {
 };
 
-#   if !defined(BOOST_MPL_CFG_NO_UNNAMED_PLACEHOLDER_SUPPORT)
+#   if !defined(NDNBOOST_MPL_CFG_NO_UNNAMED_PLACEHOLDER_SUPPORT)
 
 template< typename T > 
 struct replace_unnamed_arg_impl
@@ -237,11 +237,11 @@
 {
 };
 
-#   endif // BOOST_MPL_CFG_NO_UNNAMED_PLACEHOLDER_SUPPORT
+#   endif // NDNBOOST_MPL_CFG_NO_UNNAMED_PLACEHOLDER_SUPPORT
 
 // agurt, 10/mar/02: the forward declaration has to appear before any of
 // 'is_bind_helper' overloads, otherwise MSVC6.5 issues an ICE on it
-template< BOOST_MPL_AUX_NTTP_DECL(int, arity_) > struct bind_chooser;
+template< NDNBOOST_MPL_AUX_NTTP_DECL(int, arity_) > struct bind_chooser;
 
 aux::no_tag is_bind_helper(...);
 template< typename T > aux::no_tag is_bind_helper(protect<T>*);
@@ -250,14 +250,14 @@
 // agurt, 15/mar/02: MSVC 6.5 fails to properly resolve the overload 
 // in case if we use 'aux::type_wrapper< bind<...> >' here, and all 
 // 'bind' instantiations form a complete type anyway
-#if !defined(BOOST_MPL_CFG_NO_BIND_TEMPLATE)
+#if !defined(NDNBOOST_MPL_CFG_NO_BIND_TEMPLATE)
 template<
       typename F, AUX778076_BIND_PARAMS(typename T)
     >
 aux::yes_tag is_bind_helper(bind<F,AUX778076_BIND_PARAMS(T)>*);
 #endif
 
-template< BOOST_MPL_AUX_NTTP_DECL(int, N) >
+template< NDNBOOST_MPL_AUX_NTTP_DECL(int, N) >
 aux::yes_tag is_bind_helper(arg<N>*);
 
 template< bool is_ref_ = true >
@@ -265,7 +265,7 @@
 {
     template< typename T > struct result_
     {
-        BOOST_STATIC_CONSTANT(bool, value = false);
+        NDNBOOST_STATIC_CONSTANT(bool, value = false);
     };
 };
 
@@ -274,7 +274,7 @@
 {
     template< typename T > struct result_
     {
-        BOOST_STATIC_CONSTANT(bool, value = 
+        NDNBOOST_STATIC_CONSTANT(bool, value = 
               sizeof(aux::is_bind_helper(static_cast<T*>(0))) 
                 == sizeof(aux::yes_tag)
             );
@@ -287,38 +287,38 @@
 {
 };
 
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#endif // NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 
 } // namespace aux
 
 
-#define BOOST_PP_ITERATION_PARAMS_1 \
-    (3,(0, BOOST_MPL_LIMIT_METAFUNCTION_ARITY, <ndnboost/mpl/bind.hpp>))
-#include BOOST_PP_ITERATE()
+#define NDNBOOST_PP_ITERATION_PARAMS_1 \
+    (3,(0, NDNBOOST_MPL_LIMIT_METAFUNCTION_ARITY, <ndnboost/mpl/bind.hpp>))
+#include NDNBOOST_PP_ITERATE()
 
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
-    && !defined(BOOST_MPL_CFG_NO_TEMPLATE_TEMPLATE_PARAMETERS)
+#if !defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
+    && !defined(NDNBOOST_MPL_CFG_NO_TEMPLATE_TEMPLATE_PARAMETERS)
 /// if_/eval_if specializations
 #   define AUX778076_SPEC_NAME if_
-#   define BOOST_PP_ITERATION_PARAMS_1 (3,(3, 3, <ndnboost/mpl/bind.hpp>))
-#   include BOOST_PP_ITERATE()
+#   define NDNBOOST_PP_ITERATION_PARAMS_1 (3,(3, 3, <ndnboost/mpl/bind.hpp>))
+#   include NDNBOOST_PP_ITERATE()
 
-#if !defined(BOOST_MPL_CFG_DMC_AMBIGUOUS_CTPS)
+#if !defined(NDNBOOST_MPL_CFG_DMC_AMBIGUOUS_CTPS)
 #   define AUX778076_SPEC_NAME eval_if
-#   define BOOST_PP_ITERATION_PARAMS_1 (3,(3, 3, <ndnboost/mpl/bind.hpp>))
-#   include BOOST_PP_ITERATE()
+#   define NDNBOOST_PP_ITERATION_PARAMS_1 (3,(3, 3, <ndnboost/mpl/bind.hpp>))
+#   include NDNBOOST_PP_ITERATE()
 #endif
 #endif
 
 // real C++ version is already taken care of
-#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
-    && !defined(BOOST_MPL_CFG_NO_BIND_TEMPLATE)
+#if defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
+    && !defined(NDNBOOST_MPL_CFG_NO_BIND_TEMPLATE)
 
 namespace aux {
 // apply_count_args
 #define AUX778076_COUNT_ARGS_PREFIX bind
 #define AUX778076_COUNT_ARGS_DEFAULT na
-#define AUX778076_COUNT_ARGS_ARITY BOOST_MPL_LIMIT_METAFUNCTION_ARITY
+#define AUX778076_COUNT_ARGS_ARITY NDNBOOST_MPL_LIMIT_METAFUNCTION_ARITY
 #include <ndnboost/mpl/aux_/count_args.hpp>
 }
 
@@ -333,18 +333,18 @@
 {
 };
 
-BOOST_MPL_AUX_ARITY_SPEC(
-      BOOST_PP_INC(BOOST_MPL_LIMIT_METAFUNCTION_ARITY)
+NDNBOOST_MPL_AUX_ARITY_SPEC(
+      NDNBOOST_PP_INC(NDNBOOST_MPL_LIMIT_METAFUNCTION_ARITY)
     , bind
     )
 
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(
-      BOOST_PP_INC(BOOST_MPL_LIMIT_METAFUNCTION_ARITY)
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(
+      NDNBOOST_PP_INC(NDNBOOST_MPL_LIMIT_METAFUNCTION_ARITY)
     , bind
     )
 
 
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#endif // NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 
 #   undef AUX778076_BIND_NESTED_DEFAULT_PARAMS
 #   undef AUX778076_BIND_N_SPEC_PARAMS
@@ -356,31 +356,31 @@
 
 }}
 
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-#endif // BOOST_MPL_BIND_HPP_INCLUDED
+#endif // NDNBOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
+#endif // NDNBOOST_MPL_BIND_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 defined(AUX778076_SPEC_NAME)
 
 // lazy metafunction specialization
-template< template< BOOST_MPL_PP_PARAMS(i_, typename T) > class F, typename Tag >
-struct BOOST_PP_CAT(quote,i_);
+template< template< NDNBOOST_MPL_PP_PARAMS(i_, typename T) > class F, typename Tag >
+struct NDNBOOST_PP_CAT(quote,i_);
 
-template< BOOST_MPL_PP_PARAMS(i_, typename T) > struct AUX778076_SPEC_NAME;
+template< NDNBOOST_MPL_PP_PARAMS(i_, typename T) > struct AUX778076_SPEC_NAME;
 
 template<
       typename Tag AUX778076_BIND_N_PARAMS(i_, typename T)
     >
-struct BOOST_PP_CAT(bind,i_)< 
-      BOOST_PP_CAT(quote,i_)<AUX778076_SPEC_NAME,Tag>
+struct NDNBOOST_PP_CAT(bind,i_)< 
+      NDNBOOST_PP_CAT(quote,i_)<AUX778076_SPEC_NAME,Tag>
     AUX778076_BIND_N_PARAMS(i_,T)
     >
 {
@@ -391,12 +391,12 @@
     {
      private:
         typedef mpl::arg<1> n1;
-#       define BOOST_PP_ITERATION_PARAMS_2 (3,(1, i_, <ndnboost/mpl/bind.hpp>))
-#       include BOOST_PP_ITERATE()
+#       define NDNBOOST_PP_ITERATION_PARAMS_2 (3,(1, i_, <ndnboost/mpl/bind.hpp>))
+#       include NDNBOOST_PP_ITERATE()
 
         typedef typename AUX778076_SPEC_NAME<
               typename t1::type
-            , BOOST_MPL_PP_EXT_PARAMS(2, BOOST_PP_INC(i_), t)
+            , NDNBOOST_MPL_PP_EXT_PARAMS(2, NDNBOOST_PP_INC(i_), t)
             >::type f_;
 
      public:
@@ -411,7 +411,7 @@
 template<
       typename F AUX778076_BIND_N_PARAMS(i_, typename T) AUX778076_DMC_PARAM()
     >
-struct BOOST_PP_CAT(bind,i_)
+struct NDNBOOST_PP_CAT(bind,i_)
 {
     template<
           AUX778076_BIND_NESTED_DEFAULT_PARAMS(typename U, na)
@@ -419,7 +419,7 @@
     struct apply
     {
      private:
-#   if !defined(BOOST_MPL_CFG_NO_UNNAMED_PLACEHOLDER_SUPPORT)
+#   if !defined(NDNBOOST_MPL_CFG_NO_UNNAMED_PLACEHOLDER_SUPPORT)
 
         typedef aux::replace_unnamed_arg< F,mpl::arg<1> > r0;
         typedef typename r0::type a0;
@@ -429,23 +429,23 @@
 #   else
         typedef typename aux::resolve_bind_arg<F,AUX778076_BIND_PARAMS(U)>::type f_;
 
-#   endif // BOOST_MPL_CFG_NO_UNNAMED_PLACEHOLDER_SUPPORT
+#   endif // NDNBOOST_MPL_CFG_NO_UNNAMED_PLACEHOLDER_SUPPORT
 
 #   if i_ > 0
-#       define BOOST_PP_ITERATION_PARAMS_2 (3,(1, i_, <ndnboost/mpl/bind.hpp>))
-#       include BOOST_PP_ITERATE()
+#       define NDNBOOST_PP_ITERATION_PARAMS_2 (3,(1, i_, <ndnboost/mpl/bind.hpp>))
+#       include NDNBOOST_PP_ITERATE()
 #   endif
 
      public:
 
 #   define AUX778076_ARG(unused, i_, t) \
-    BOOST_PP_COMMA_IF(i_) \
-    typename BOOST_PP_CAT(t,BOOST_PP_INC(i_))::type \
+    NDNBOOST_PP_COMMA_IF(i_) \
+    typename NDNBOOST_PP_CAT(t,NDNBOOST_PP_INC(i_))::type \
 /**/
 
-        typedef typename BOOST_PP_CAT(apply_wrap,i_)<
+        typedef typename NDNBOOST_PP_CAT(apply_wrap,i_)<
               f_ 
-            BOOST_PP_COMMA_IF(i_) BOOST_MPL_PP_REPEAT(i_, AUX778076_ARG, t)
+            NDNBOOST_PP_COMMA_IF(i_) NDNBOOST_MPL_PP_REPEAT(i_, AUX778076_ARG, t)
             >::type type;
 
 #   undef AUX778076_ARG
@@ -454,16 +454,16 @@
 
 namespace aux {
 
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+#if !defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
 
 template<
       typename F AUX778076_BIND_N_PARAMS(i_, typename T), AUX778076_BIND_PARAMS(typename U)
     >
 struct resolve_bind_arg<
-      BOOST_PP_CAT(bind,i_)<F AUX778076_BIND_N_PARAMS(i_,T)>,AUX778076_BIND_PARAMS(U)
+      NDNBOOST_PP_CAT(bind,i_)<F AUX778076_BIND_N_PARAMS(i_,T)>,AUX778076_BIND_PARAMS(U)
     >
 {
-    typedef BOOST_PP_CAT(bind,i_)<F AUX778076_BIND_N_PARAMS(i_,T)> f_;
+    typedef NDNBOOST_PP_CAT(bind,i_)<F AUX778076_BIND_N_PARAMS(i_,T)> f_;
     typedef typename AUX778076_APPLY<f_, AUX778076_BIND_PARAMS(U)>::type type;
 };
 
@@ -473,25 +473,25 @@
       typename F AUX778076_BIND_N_PARAMS(i_, typename T)
     >
 aux::yes_tag
-is_bind_helper(BOOST_PP_CAT(bind,i_)<F AUX778076_BIND_N_PARAMS(i_,T)>*);
+is_bind_helper(NDNBOOST_PP_CAT(bind,i_)<F AUX778076_BIND_N_PARAMS(i_,T)>*);
 
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#endif // NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 
 } // namespace aux
 
-BOOST_MPL_AUX_ARITY_SPEC(BOOST_PP_INC(i_), BOOST_PP_CAT(bind,i_))
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(BOOST_PP_INC(i_), BOOST_PP_CAT(bind,i_))
+NDNBOOST_MPL_AUX_ARITY_SPEC(NDNBOOST_PP_INC(i_), NDNBOOST_PP_CAT(bind,i_))
+NDNBOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(NDNBOOST_PP_INC(i_), NDNBOOST_PP_CAT(bind,i_))
 
-#   if !defined(BOOST_MPL_CFG_NO_BIND_TEMPLATE)
-#   if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+#   if !defined(NDNBOOST_MPL_CFG_NO_BIND_TEMPLATE)
+#   if !defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
     
-#if i_ == BOOST_MPL_LIMIT_METAFUNCTION_ARITY
+#if i_ == NDNBOOST_MPL_LIMIT_METAFUNCTION_ARITY
 /// primary template (not a specialization!)
 template<
       typename F AUX778076_BIND_N_PARAMS(i_, typename T) AUX778076_DMC_PARAM()
     >
 struct bind
-    : BOOST_PP_CAT(bind,i_)<F AUX778076_BIND_N_PARAMS(i_,T) >
+    : NDNBOOST_PP_CAT(bind,i_)<F AUX778076_BIND_N_PARAMS(i_,T) >
 {
 };
 #else
@@ -499,12 +499,12 @@
       typename F AUX778076_BIND_N_PARAMS(i_, typename T) AUX778076_DMC_PARAM()
     >
 struct bind< F AUX778076_BIND_N_SPEC_PARAMS(i_, T, na) >
-    : BOOST_PP_CAT(bind,i_)<F AUX778076_BIND_N_PARAMS(i_,T) >
+    : NDNBOOST_PP_CAT(bind,i_)<F AUX778076_BIND_N_PARAMS(i_,T) >
 {
 };
 #endif
 
-#   else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#   else // NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 
 namespace aux {
 
@@ -516,14 +516,14 @@
         >
     struct result_
     {
-        typedef BOOST_PP_CAT(bind,i_)< F AUX778076_BIND_N_PARAMS(i_,T) > type;
+        typedef NDNBOOST_PP_CAT(bind,i_)< F AUX778076_BIND_N_PARAMS(i_,T) > type;
     };
 };
 
 } // namespace aux
 
-#   endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-#   endif // BOOST_MPL_CFG_NO_BIND_TEMPLATE
+#   endif // NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#   endif // NDNBOOST_MPL_CFG_NO_BIND_TEMPLATE
 
 #endif // AUX778076_SPEC_NAME
 
@@ -531,21 +531,21 @@
 
 ///// iteration, depth == 2
 
-#elif BOOST_PP_ITERATION_DEPTH() == 2
+#elif NDNBOOST_PP_ITERATION_DEPTH() == 2
 
-#   define j_ BOOST_PP_FRAME_ITERATION(2)
-#   if !defined(BOOST_MPL_CFG_NO_UNNAMED_PLACEHOLDER_SUPPORT)
+#   define j_ NDNBOOST_PP_FRAME_ITERATION(2)
+#   if !defined(NDNBOOST_MPL_CFG_NO_UNNAMED_PLACEHOLDER_SUPPORT)
 
-        typedef aux::replace_unnamed_arg< BOOST_PP_CAT(T,j_),BOOST_PP_CAT(n,j_) > BOOST_PP_CAT(r,j_);
-        typedef typename BOOST_PP_CAT(r,j_)::type BOOST_PP_CAT(a,j_);
-        typedef typename BOOST_PP_CAT(r,j_)::next BOOST_PP_CAT(n,BOOST_PP_INC(j_));
-        typedef aux::resolve_bind_arg<BOOST_PP_CAT(a,j_), AUX778076_BIND_PARAMS(U)> BOOST_PP_CAT(t,j_);
+        typedef aux::replace_unnamed_arg< NDNBOOST_PP_CAT(T,j_),NDNBOOST_PP_CAT(n,j_) > NDNBOOST_PP_CAT(r,j_);
+        typedef typename NDNBOOST_PP_CAT(r,j_)::type NDNBOOST_PP_CAT(a,j_);
+        typedef typename NDNBOOST_PP_CAT(r,j_)::next NDNBOOST_PP_CAT(n,NDNBOOST_PP_INC(j_));
+        typedef aux::resolve_bind_arg<NDNBOOST_PP_CAT(a,j_), AUX778076_BIND_PARAMS(U)> NDNBOOST_PP_CAT(t,j_);
         ///
 #   else
-        typedef aux::resolve_bind_arg< BOOST_PP_CAT(T,j_),AUX778076_BIND_PARAMS(U)> BOOST_PP_CAT(t,j_);
+        typedef aux::resolve_bind_arg< NDNBOOST_PP_CAT(T,j_),AUX778076_BIND_PARAMS(U)> NDNBOOST_PP_CAT(t,j_);
 
 #   endif
 #   undef j_
 
-#endif // BOOST_PP_ITERATION_DEPTH()
-#endif // BOOST_PP_IS_ITERATING
+#endif // NDNBOOST_PP_ITERATION_DEPTH()
+#endif // NDNBOOST_PP_IS_ITERATING
diff --git a/include/ndnboost/mpl/bind_fwd.hpp b/include/ndnboost/mpl/bind_fwd.hpp
index a837e3c..d89bcc5 100644
--- a/include/ndnboost/mpl/bind_fwd.hpp
+++ b/include/ndnboost/mpl/bind_fwd.hpp
@@ -1,10 +1,10 @@
 
-#if !defined(BOOST_PP_IS_ITERATING)
+#if !defined(NDNBOOST_PP_IS_ITERATING)
 
 ///// header body
 
-#ifndef BOOST_MPL_BIND_FWD_HPP_INCLUDED
-#define BOOST_MPL_BIND_FWD_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_BIND_FWD_HPP_INCLUDED
+#define NDNBOOST_MPL_BIND_FWD_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -18,17 +18,17 @@
 // $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
 // $Revision: 49267 $
 
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
+#if !defined(NDNBOOST_MPL_PREPROCESSING_MODE)
 #   include <ndnboost/mpl/aux_/na.hpp>
 #endif
 
 #include <ndnboost/mpl/aux_/config/bind.hpp>
 #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 bind_fwd.hpp
+#   define NDNBOOST_MPL_PREPROCESSED_HEADER bind_fwd.hpp
 #   include <ndnboost/mpl/aux_/include_preprocessed.hpp>
 
 #else
@@ -46,15 +46,15 @@
 
 // local macros, #undef-ined at the end of the header
 
-#   if defined(BOOST_MPL_CFG_DMC_AMBIGUOUS_CTPS)
+#   if defined(NDNBOOST_MPL_CFG_DMC_AMBIGUOUS_CTPS)
 #       define AUX778076_DMC_PARAM() , int dummy_ = 0
 #   else
 #       define AUX778076_DMC_PARAM()
 #   endif
 
 #   define AUX778076_BIND_DEFAULT_PARAMS(param, value) \
-    BOOST_MPL_PP_DEFAULT_PARAMS( \
-          BOOST_MPL_LIMIT_METAFUNCTION_ARITY \
+    NDNBOOST_MPL_PP_DEFAULT_PARAMS( \
+          NDNBOOST_MPL_LIMIT_METAFUNCTION_ARITY \
         , param \
         , value \
         ) \
@@ -62,38 +62,38 @@
     /**/
 
 #   define AUX778076_BIND_N_PARAMS(n, param) \
-    BOOST_PP_COMMA_IF(n) BOOST_MPL_PP_PARAMS(n, param) \
+    NDNBOOST_PP_COMMA_IF(n) NDNBOOST_MPL_PP_PARAMS(n, param) \
     AUX778076_DMC_PARAM() \
     /**/
 
-#if !defined(BOOST_MPL_CFG_NO_BIND_TEMPLATE)
+#if !defined(NDNBOOST_MPL_CFG_NO_BIND_TEMPLATE)
 template<
       typename F, AUX778076_BIND_DEFAULT_PARAMS(typename T, na)
     >
 struct bind;
 #endif
 
-#define BOOST_PP_ITERATION_PARAMS_1 \
-    (3,(0, BOOST_MPL_LIMIT_METAFUNCTION_ARITY, <ndnboost/mpl/bind_fwd.hpp>))
-#include BOOST_PP_ITERATE()
+#define NDNBOOST_PP_ITERATION_PARAMS_1 \
+    (3,(0, NDNBOOST_MPL_LIMIT_METAFUNCTION_ARITY, <ndnboost/mpl/bind_fwd.hpp>))
+#include NDNBOOST_PP_ITERATE()
 
 #   undef AUX778076_BIND_N_PARAMS
 #   undef AUX778076_BIND_DEFAULT_PARAMS
 #   undef AUX778076_DMC_PARAM
 }}
 
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-#endif // BOOST_MPL_BIND_FWD_HPP_INCLUDED
+#endif // NDNBOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
+#endif // NDNBOOST_MPL_BIND_FWD_HPP_INCLUDED
 
 ///// iteration
 
 #else
-#define i_ BOOST_PP_FRAME_ITERATION(1)
+#define i_ NDNBOOST_PP_FRAME_ITERATION(1)
 
 template<
       typename F AUX778076_BIND_N_PARAMS(i_, typename T)
     >
-struct BOOST_PP_CAT(bind,i_);
+struct NDNBOOST_PP_CAT(bind,i_);
 
 #undef i_
-#endif // BOOST_PP_IS_ITERATING
+#endif // NDNBOOST_PP_IS_ITERATING
diff --git a/include/ndnboost/mpl/bool.hpp b/include/ndnboost/mpl/bool.hpp
index 670bb32..8be7033 100644
--- a/include/ndnboost/mpl/bool.hpp
+++ b/include/ndnboost/mpl/bool.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_BOOL_HPP_INCLUDED
-#define BOOST_MPL_BOOL_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_BOOL_HPP_INCLUDED
+#define NDNBOOST_MPL_BOOL_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -18,22 +18,22 @@
 #include <ndnboost/mpl/integral_c_tag.hpp>
 #include <ndnboost/mpl/aux_/config/static_constant.hpp>
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 
 template< bool C_ > struct bool_
 {
-    BOOST_STATIC_CONSTANT(bool, value = C_);
+    NDNBOOST_STATIC_CONSTANT(bool, value = C_);
     typedef integral_c_tag tag;
     typedef bool_ type;
     typedef bool value_type;
     operator bool() const { return this->value; }
 };
 
-#if !defined(BOOST_NO_INCLASS_MEMBER_INITIALIZATION)
+#if !defined(NDNBOOST_NO_INCLASS_MEMBER_INITIALIZATION)
 template< bool C_ >
 bool const bool_<C_>::value;
 #endif
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
 
-#endif // BOOST_MPL_BOOL_HPP_INCLUDED
+#endif // NDNBOOST_MPL_BOOL_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/bool_fwd.hpp b/include/ndnboost/mpl/bool_fwd.hpp
index f00b798..c25cac4 100644
--- a/include/ndnboost/mpl/bool_fwd.hpp
+++ b/include/ndnboost/mpl/bool_fwd.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_BOOL_FWD_HPP_INCLUDED
-#define BOOST_MPL_BOOL_FWD_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_BOOL_FWD_HPP_INCLUDED
+#define NDNBOOST_MPL_BOOL_FWD_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -16,7 +16,7 @@
 
 #include <ndnboost/mpl/aux_/adl_barrier.hpp>
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 
 template< bool C_ > struct bool_;
 
@@ -24,10 +24,10 @@
 typedef bool_<true> true_;
 typedef bool_<false> false_;
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
 
-BOOST_MPL_AUX_ADL_BARRIER_DECL(bool_)
-BOOST_MPL_AUX_ADL_BARRIER_DECL(true_)
-BOOST_MPL_AUX_ADL_BARRIER_DECL(false_)
+NDNBOOST_MPL_AUX_ADL_BARRIER_DECL(bool_)
+NDNBOOST_MPL_AUX_ADL_BARRIER_DECL(true_)
+NDNBOOST_MPL_AUX_ADL_BARRIER_DECL(false_)
 
-#endif // BOOST_MPL_BOOL_FWD_HPP_INCLUDED
+#endif // NDNBOOST_MPL_BOOL_FWD_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/clear.hpp b/include/ndnboost/mpl/clear.hpp
index aeff306..11b49a2 100644
--- a/include/ndnboost/mpl/clear.hpp
+++ b/include/ndnboost/mpl/clear.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_CLEAR_HPP_INCLUDED
-#define BOOST_MPL_CLEAR_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_CLEAR_HPP_INCLUDED
+#define NDNBOOST_MPL_CLEAR_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -23,17 +23,17 @@
 namespace ndnboost { namespace mpl {
 
 template<
-      typename BOOST_MPL_AUX_NA_PARAM(Sequence)
+      typename NDNBOOST_MPL_AUX_NA_PARAM(Sequence)
     >
 struct clear
     : clear_impl< typename sequence_tag<Sequence>::type >
         ::template apply< Sequence >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,clear,(Sequence))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(1,clear,(Sequence))
 };
 
-BOOST_MPL_AUX_NA_SPEC(1, clear)
+NDNBOOST_MPL_AUX_NA_SPEC(1, clear)
 
 }}
 
-#endif // BOOST_MPL_CLEAR_HPP_INCLUDED
+#endif // NDNBOOST_MPL_CLEAR_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/clear_fwd.hpp b/include/ndnboost/mpl/clear_fwd.hpp
index 5c7199e..4d0daf2 100644
--- a/include/ndnboost/mpl/clear_fwd.hpp
+++ b/include/ndnboost/mpl/clear_fwd.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_CLEAR_FWD_HPP_INCLUDED
-#define BOOST_MPL_CLEAR_FWD_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_CLEAR_FWD_HPP_INCLUDED
+#define NDNBOOST_MPL_CLEAR_FWD_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -21,4 +21,4 @@
 
 }}
 
-#endif // BOOST_MPL_CLEAR_FWD_HPP_INCLUDED
+#endif // NDNBOOST_MPL_CLEAR_FWD_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/comparison.hpp b/include/ndnboost/mpl/comparison.hpp
index 617ea5f..5afad1f 100644
--- a/include/ndnboost/mpl/comparison.hpp
+++ b/include/ndnboost/mpl/comparison.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_COMPARISON_HPP_INCLUDED
-#define BOOST_MPL_COMPARISON_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_COMPARISON_HPP_INCLUDED
+#define NDNBOOST_MPL_COMPARISON_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -21,4 +21,4 @@
 #include <ndnboost/mpl/less_equal.hpp>
 #include <ndnboost/mpl/greater_equal.hpp>
 
-#endif // BOOST_MPL_COMPARISON_HPP_INCLUDED
+#endif // NDNBOOST_MPL_COMPARISON_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/contains.hpp b/include/ndnboost/mpl/contains.hpp
index bf41859..8395e8c 100644
--- a/include/ndnboost/mpl/contains.hpp
+++ b/include/ndnboost/mpl/contains.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_CONTAINS_HPP_INCLUDED
-#define BOOST_MPL_CONTAINS_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_CONTAINS_HPP_INCLUDED
+#define NDNBOOST_MPL_CONTAINS_HPP_INCLUDED
 
 // Copyright Eric Friedman 2002
 // Copyright Aleksey Gurtovoy 2004
@@ -24,18 +24,18 @@
 namespace ndnboost { namespace mpl {
 
 template<
-      typename BOOST_MPL_AUX_NA_PARAM(Sequence)
-    , typename BOOST_MPL_AUX_NA_PARAM(T)
+      typename NDNBOOST_MPL_AUX_NA_PARAM(Sequence)
+    , typename NDNBOOST_MPL_AUX_NA_PARAM(T)
     >
 struct contains
     : contains_impl< typename sequence_tag<Sequence>::type >
         ::template apply< Sequence,T >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2,contains,(Sequence,T))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2,contains,(Sequence,T))
 };
 
-BOOST_MPL_AUX_NA_SPEC(2, contains)
+NDNBOOST_MPL_AUX_NA_SPEC(2, contains)
 
 }}
 
-#endif // BOOST_MPL_CONTAINS_HPP_INCLUDED
+#endif // NDNBOOST_MPL_CONTAINS_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/contains_fwd.hpp b/include/ndnboost/mpl/contains_fwd.hpp
index 035936c..5b4c2df 100644
--- a/include/ndnboost/mpl/contains_fwd.hpp
+++ b/include/ndnboost/mpl/contains_fwd.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_CONTAINS_FWD_HPP_INCLUDED
-#define BOOST_MPL_CONTAINS_FWD_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_CONTAINS_FWD_HPP_INCLUDED
+#define NDNBOOST_MPL_CONTAINS_FWD_HPP_INCLUDED
 
 // Copyright Eric Friedman 2002
 // Copyright Aleksey Gurtovoy 2004
@@ -22,4 +22,4 @@
 
 }}
 
-#endif // BOOST_MPL_CONTAINS_FWD_HPP_INCLUDED
+#endif // NDNBOOST_MPL_CONTAINS_FWD_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/copy.hpp b/include/ndnboost/mpl/copy.hpp
index 1e7ed64..c3e16c8 100644
--- a/include/ndnboost/mpl/copy.hpp
+++ b/include/ndnboost/mpl/copy.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_COPY_HPP_INCLUDED
-#define BOOST_MPL_COPY_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_COPY_HPP_INCLUDED
+#define NDNBOOST_MPL_COPY_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 // Copyright David Abrahams 2003-2004
@@ -51,8 +51,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_INSERTER_ALGORITHM_DEF(2, copy)
+NDNBOOST_MPL_AUX_INSERTER_ALGORITHM_DEF(2, copy)
 
 }}
 
-#endif // BOOST_MPL_COPY_HPP_INCLUDED
+#endif // NDNBOOST_MPL_COPY_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/deref.hpp b/include/ndnboost/mpl/deref.hpp
index 07061f7..a5fc2ab 100644
--- a/include/ndnboost/mpl/deref.hpp
+++ b/include/ndnboost/mpl/deref.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_DEREF_HPP_INCLUDED
-#define BOOST_MPL_DEREF_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_DEREF_HPP_INCLUDED
+#define NDNBOOST_MPL_DEREF_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2002-2004
 //
@@ -22,20 +22,20 @@
 namespace ndnboost { namespace mpl {
 
 template<
-      typename BOOST_MPL_AUX_NA_PARAM(Iterator)
+      typename NDNBOOST_MPL_AUX_NA_PARAM(Iterator)
     >
 struct deref
 {
-#if !defined(BOOST_MPL_CFG_MSVC_70_ETI_BUG)
+#if !defined(NDNBOOST_MPL_CFG_MSVC_70_ETI_BUG)
     typedef typename Iterator::type type;
 #else
     typedef typename aux::msvc_type<Iterator>::type type;
 #endif
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,deref,(Iterator))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(1,deref,(Iterator))
 };
 
-BOOST_MPL_AUX_NA_SPEC(1, deref)
+NDNBOOST_MPL_AUX_NA_SPEC(1, deref)
 
 }}
 
-#endif // BOOST_MPL_DEREF_HPP_INCLUDED
+#endif // NDNBOOST_MPL_DEREF_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/distance.hpp b/include/ndnboost/mpl/distance.hpp
index 3f1ef4a..c5360f4 100644
--- a/include/ndnboost/mpl/distance.hpp
+++ b/include/ndnboost/mpl/distance.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_DISTANCE_HPP_INCLUDED
-#define BOOST_MPL_DISTANCE_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_DISTANCE_HPP_INCLUDED
+#define NDNBOOST_MPL_DISTANCE_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -34,7 +34,7 @@
 template< typename Tag > struct distance_impl
 {
     template< typename First, typename Last > struct apply
-#if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING)
+#if !defined(NDNBOOST_MPL_CFG_NO_NESTED_FORWARDING)
         : aux::msvc_eti_base< typename iter_fold<
               iterator_range<First,Last>
             , mpl::long_<0>
@@ -49,7 +49,7 @@
             , next<>
             >::type type;
         
-        BOOST_STATIC_CONSTANT(long, value =
+        NDNBOOST_STATIC_CONSTANT(long, value =
               (iter_fold<
                   iterator_range<First,Last>
                 , mpl::long_<0>
@@ -61,18 +61,18 @@
 };
 
 template<
-      typename BOOST_MPL_AUX_NA_PARAM(First)
-    , typename BOOST_MPL_AUX_NA_PARAM(Last)
+      typename NDNBOOST_MPL_AUX_NA_PARAM(First)
+    , typename NDNBOOST_MPL_AUX_NA_PARAM(Last)
     >
 struct distance
     : distance_impl< typename tag<First>::type >
         ::template apply<First, Last>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, distance, (First, Last))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, distance, (First, Last))
 };
 
-BOOST_MPL_AUX_NA_SPEC(2, distance)
+NDNBOOST_MPL_AUX_NA_SPEC(2, distance)
 
 }}
 
-#endif // BOOST_MPL_DISTANCE_HPP_INCLUDED
+#endif // NDNBOOST_MPL_DISTANCE_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/distance_fwd.hpp b/include/ndnboost/mpl/distance_fwd.hpp
index d08d6d9..853e9b0 100644
--- a/include/ndnboost/mpl/distance_fwd.hpp
+++ b/include/ndnboost/mpl/distance_fwd.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_DISTANCE_FWD_HPP_INCLUDED
-#define BOOST_MPL_DISTANCE_FWD_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_DISTANCE_FWD_HPP_INCLUDED
+#define NDNBOOST_MPL_DISTANCE_FWD_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -18,11 +18,11 @@
 
 namespace ndnboost { namespace mpl {
 
-BOOST_MPL_AUX_COMMON_NAME_WKND(distance)
+NDNBOOST_MPL_AUX_COMMON_NAME_WKND(distance)
 
 template< typename Tag > struct distance_impl;
 template< typename First, typename Last > struct distance;
 
 }}
 
-#endif // BOOST_MPL_DISTANCE_FWD_HPP_INCLUDED
+#endif // NDNBOOST_MPL_DISTANCE_FWD_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/empty_fwd.hpp b/include/ndnboost/mpl/empty_fwd.hpp
index a2a2164..c412814 100644
--- a/include/ndnboost/mpl/empty_fwd.hpp
+++ b/include/ndnboost/mpl/empty_fwd.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_EMPTY_FWD_HPP_INCLUDED
-#define BOOST_MPL_EMPTY_FWD_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_EMPTY_FWD_HPP_INCLUDED
+#define NDNBOOST_MPL_EMPTY_FWD_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -21,4 +21,4 @@
 
 }}
 
-#endif // BOOST_MPL_EMPTY_FWD_HPP_INCLUDED
+#endif // NDNBOOST_MPL_EMPTY_FWD_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/equal_to.hpp b/include/ndnboost/mpl/equal_to.hpp
index bd01f0c..1fa0ae7 100644
--- a/include/ndnboost/mpl/equal_to.hpp
+++ b/include/ndnboost/mpl/equal_to.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_EQUAL_TO_HPP_INCLUDED
-#define BOOST_MPL_EQUAL_TO_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_EQUAL_TO_HPP_INCLUDED
+#define NDNBOOST_MPL_EQUAL_TO_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -18,4 +18,4 @@
 #define AUX778076_OP_TOKEN ==
 #include <ndnboost/mpl/aux_/comparison_op.hpp>
 
-#endif // BOOST_MPL_EQUAL_TO_HPP_INCLUDED
+#endif // NDNBOOST_MPL_EQUAL_TO_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/eval_if.hpp b/include/ndnboost/mpl/eval_if.hpp
index e9402ac..fc32fae 100644
--- a/include/ndnboost/mpl/eval_if.hpp
+++ b/include/ndnboost/mpl/eval_if.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_EVAL_IF_HPP_INCLUDED
-#define BOOST_MPL_EVAL_IF_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_EVAL_IF_HPP_INCLUDED
+#define NDNBOOST_MPL_EVAL_IF_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -24,14 +24,14 @@
 namespace ndnboost { namespace mpl {
 
 template<
-      typename BOOST_MPL_AUX_NA_PARAM(C)
-    , typename BOOST_MPL_AUX_NA_PARAM(F1)
-    , typename BOOST_MPL_AUX_NA_PARAM(F2)
+      typename NDNBOOST_MPL_AUX_NA_PARAM(C)
+    , typename NDNBOOST_MPL_AUX_NA_PARAM(F1)
+    , typename NDNBOOST_MPL_AUX_NA_PARAM(F2)
     >
 struct eval_if
-#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) \
-     || ( BOOST_WORKAROUND(BOOST_MPL_CFG_GCC, >= 0x0300) \
-        && BOOST_WORKAROUND(BOOST_MPL_CFG_GCC, BOOST_TESTED_AT(0x0304)) \
+#if NDNBOOST_WORKAROUND(NDNBOOST_MSVC, <= 1300) \
+     || ( NDNBOOST_WORKAROUND(NDNBOOST_MPL_CFG_GCC, >= 0x0300) \
+        && NDNBOOST_WORKAROUND(NDNBOOST_MPL_CFG_GCC, NDNBOOST_TESTED_AT(0x0304)) \
         )
 {
     typedef typename if_<C,F1,F2>::type f_;
@@ -40,7 +40,7 @@
     : if_<C,F1,F2>::type
 {
 #endif
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(3,eval_if,(C,F1,F2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(3,eval_if,(C,F1,F2))
 };
 
 // (almost) copy & paste in order to save one more 
@@ -51,9 +51,9 @@
     , typename F2
     >
 struct eval_if_c
-#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) \
-     || ( BOOST_WORKAROUND(BOOST_MPL_CFG_GCC, >= 0x0300) \
-        && BOOST_WORKAROUND(BOOST_MPL_CFG_GCC, BOOST_TESTED_AT(0x0304)) \
+#if NDNBOOST_WORKAROUND(NDNBOOST_MSVC, <= 1300) \
+     || ( NDNBOOST_WORKAROUND(NDNBOOST_MPL_CFG_GCC, >= 0x0300) \
+        && NDNBOOST_WORKAROUND(NDNBOOST_MPL_CFG_GCC, NDNBOOST_TESTED_AT(0x0304)) \
         )
 {
     typedef typename if_c<C,F1,F2>::type f_;
@@ -64,8 +64,8 @@
 #endif
 };
 
-BOOST_MPL_AUX_NA_SPEC(3, eval_if)
+NDNBOOST_MPL_AUX_NA_SPEC(3, eval_if)
 
 }}
 
-#endif // BOOST_MPL_EVAL_IF_HPP_INCLUDED
+#endif // NDNBOOST_MPL_EVAL_IF_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/find.hpp b/include/ndnboost/mpl/find.hpp
index a4a2c08..011c1ea 100644
--- a/include/ndnboost/mpl/find.hpp
+++ b/include/ndnboost/mpl/find.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_FIND_HPP_INCLUDED
-#define BOOST_MPL_FIND_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_FIND_HPP_INCLUDED
+#define NDNBOOST_MPL_FIND_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2002
 //
@@ -22,17 +22,17 @@
 namespace ndnboost { namespace mpl {
 
 template<
-      typename BOOST_MPL_AUX_NA_PARAM(Sequence)
-    , typename BOOST_MPL_AUX_NA_PARAM(T)
+      typename NDNBOOST_MPL_AUX_NA_PARAM(Sequence)
+    , typename NDNBOOST_MPL_AUX_NA_PARAM(T)
     >
 struct find
     : find_if< Sequence,same_as<T> >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2,find,(Sequence,T))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2,find,(Sequence,T))
 };
 
-BOOST_MPL_AUX_NA_SPEC(2, find)
+NDNBOOST_MPL_AUX_NA_SPEC(2, find)
 
 }}
 
-#endif // BOOST_MPL_FIND_HPP_INCLUDED
+#endif // NDNBOOST_MPL_FIND_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/find_if.hpp b/include/ndnboost/mpl/find_if.hpp
index 7d91bea..32f3aaf 100644
--- a/include/ndnboost/mpl/find_if.hpp
+++ b/include/ndnboost/mpl/find_if.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_FIND_IF_HPP_INCLUDED
-#define BOOST_MPL_FIND_IF_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_FIND_IF_HPP_INCLUDED
+#define NDNBOOST_MPL_FIND_IF_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -23,11 +23,11 @@
 
 namespace ndnboost { namespace mpl {
 
-BOOST_MPL_AUX_COMMON_NAME_WKND(find_if)
+NDNBOOST_MPL_AUX_COMMON_NAME_WKND(find_if)
 
 template<
-      typename BOOST_MPL_AUX_NA_PARAM(Sequence)
-    , typename BOOST_MPL_AUX_NA_PARAM(Predicate)
+      typename NDNBOOST_MPL_AUX_NA_PARAM(Sequence)
+    , typename NDNBOOST_MPL_AUX_NA_PARAM(Predicate)
     >
 struct find_if
 {
@@ -40,11 +40,11 @@
 
     typedef typename second<result_>::type type;
 
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2,find_if,(Sequence,Predicate))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2,find_if,(Sequence,Predicate))
 };
 
-BOOST_MPL_AUX_NA_SPEC(2,find_if)
+NDNBOOST_MPL_AUX_NA_SPEC(2,find_if)
 
 }}
 
-#endif // BOOST_MPL_FIND_IF_HPP_INCLUDED
+#endif // NDNBOOST_MPL_FIND_IF_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/fold.hpp b/include/ndnboost/mpl/fold.hpp
index b214b79..74ea561 100644
--- a/include/ndnboost/mpl/fold.hpp
+++ b/include/ndnboost/mpl/fold.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_FOLD_HPP_INCLUDED
-#define BOOST_MPL_FOLD_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_FOLD_HPP_INCLUDED
+#define NDNBOOST_MPL_FOLD_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2001-2004
 // Copyright David Abrahams 2001-2002
@@ -24,9 +24,9 @@
 namespace ndnboost { namespace mpl {
 
 template<
-      typename BOOST_MPL_AUX_NA_PARAM(Sequence)
-    , typename BOOST_MPL_AUX_NA_PARAM(State)
-    , typename BOOST_MPL_AUX_NA_PARAM(ForwardOp)
+      typename NDNBOOST_MPL_AUX_NA_PARAM(Sequence)
+    , typename NDNBOOST_MPL_AUX_NA_PARAM(State)
+    , typename NDNBOOST_MPL_AUX_NA_PARAM(ForwardOp)
     >
 struct fold
 {
@@ -38,11 +38,11 @@
         , ForwardOp
         >::state type;
 
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(3,fold,(Sequence,State,ForwardOp))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(3,fold,(Sequence,State,ForwardOp))
 };
 
-BOOST_MPL_AUX_NA_SPEC(3, fold)
+NDNBOOST_MPL_AUX_NA_SPEC(3, fold)
 
 }}
 
-#endif // BOOST_MPL_FOLD_HPP_INCLUDED
+#endif // NDNBOOST_MPL_FOLD_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/for_each.hpp b/include/ndnboost/mpl/for_each.hpp
index a98dc5b..eb72632 100644
--- a/include/ndnboost/mpl/for_each.hpp
+++ b/include/ndnboost/mpl/for_each.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_FOR_EACH_HPP_INCLUDED
-#define BOOST_MPL_FOR_EACH_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_FOR_EACH_HPP_INCLUDED
+#define NDNBOOST_MPL_FOR_EACH_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2008
 //
@@ -92,7 +92,7 @@
 inline
 void for_each(F f, Sequence* = 0, TransformOp* = 0)
 {
-    BOOST_MPL_ASSERT(( is_sequence<Sequence> ));
+    NDNBOOST_MPL_ASSERT(( is_sequence<Sequence> ));
 
     typedef typename begin<Sequence>::type first;
     typedef typename end<Sequence>::type last;
@@ -113,4 +113,4 @@
 
 }}
 
-#endif // BOOST_MPL_FOR_EACH_HPP_INCLUDED
+#endif // NDNBOOST_MPL_FOR_EACH_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/front_fwd.hpp b/include/ndnboost/mpl/front_fwd.hpp
index 2de229a..c47c6ed 100644
--- a/include/ndnboost/mpl/front_fwd.hpp
+++ b/include/ndnboost/mpl/front_fwd.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_FRONT_FWD_HPP_INCLUDED
-#define BOOST_MPL_FRONT_FWD_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_FRONT_FWD_HPP_INCLUDED
+#define NDNBOOST_MPL_FRONT_FWD_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -21,4 +21,4 @@
 
 }}
 
-#endif // BOOST_MPL_FRONT_FWD_HPP_INCLUDED
+#endif // NDNBOOST_MPL_FRONT_FWD_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/front_inserter.hpp b/include/ndnboost/mpl/front_inserter.hpp
index 4476d1c..35061c7 100644
--- a/include/ndnboost/mpl/front_inserter.hpp
+++ b/include/ndnboost/mpl/front_inserter.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_FRONT_INSERTER_HPP_INCLUDED
-#define BOOST_MPL_FRONT_INSERTER_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_FRONT_INSERTER_HPP_INCLUDED
+#define NDNBOOST_MPL_FRONT_INSERTER_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2003-2004
 // Copyright David Abrahams 2003-2004
@@ -30,4 +30,4 @@
 
 }}
 
-#endif // BOOST_MPL_FRONT_INSERTER_HPP_INCLUDED
+#endif // NDNBOOST_MPL_FRONT_INSERTER_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/greater.hpp b/include/ndnboost/mpl/greater.hpp
index 53f5db0..3d61441 100644
--- a/include/ndnboost/mpl/greater.hpp
+++ b/include/ndnboost/mpl/greater.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_GREATER_HPP_INCLUDED
-#define BOOST_MPL_GREATER_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_GREATER_HPP_INCLUDED
+#define NDNBOOST_MPL_GREATER_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -18,4 +18,4 @@
 #define AUX778076_OP_TOKEN >
 #include <ndnboost/mpl/aux_/comparison_op.hpp>
 
-#endif // BOOST_MPL_GREATER_HPP_INCLUDED
+#endif // NDNBOOST_MPL_GREATER_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/greater_equal.hpp b/include/ndnboost/mpl/greater_equal.hpp
index 0576e01..cd0a8e9 100644
--- a/include/ndnboost/mpl/greater_equal.hpp
+++ b/include/ndnboost/mpl/greater_equal.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_GREATER_EQUAL_HPP_INCLUDED
-#define BOOST_MPL_GREATER_EQUAL_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_GREATER_EQUAL_HPP_INCLUDED
+#define NDNBOOST_MPL_GREATER_EQUAL_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -18,4 +18,4 @@
 #define AUX778076_OP_TOKEN >=
 #include <ndnboost/mpl/aux_/comparison_op.hpp>
 
-#endif // BOOST_MPL_GREATER_EQUAL_HPP_INCLUDED
+#endif // NDNBOOST_MPL_GREATER_EQUAL_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/has_xxx.hpp b/include/ndnboost/mpl/has_xxx.hpp
index c7d491d..c885609 100644
--- a/include/ndnboost/mpl/has_xxx.hpp
+++ b/include/ndnboost/mpl/has_xxx.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_HAS_XXX_HPP_INCLUDED
-#define BOOST_MPL_HAS_XXX_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_HAS_XXX_HPP_INCLUDED
+#define NDNBOOST_MPL_HAS_XXX_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2002-2006
 // Copyright David Abrahams 2002-2003
@@ -33,13 +33,13 @@
 #include <ndnboost/preprocessor/repetition/enum_params.hpp>
 #include <ndnboost/preprocessor/repetition/enum_trailing_params.hpp>
 
-#if BOOST_WORKAROUND( __BORLANDC__, BOOST_TESTED_AT(0x590) )
+#if NDNBOOST_WORKAROUND( __BORLANDC__, NDNBOOST_TESTED_AT(0x590) )
 # include <ndnboost/type_traits/is_class.hpp>
 #endif
 
-#if !defined(BOOST_MPL_CFG_NO_HAS_XXX)
+#if !defined(NDNBOOST_MPL_CFG_NO_HAS_XXX)
 
-#   if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
+#   if NDNBOOST_WORKAROUND(NDNBOOST_MSVC, <= 1300)
 
 // agurt, 11/sep/02: MSVC-specific version (< 7.1), based on a USENET 
 // newsgroup's posting by John Madsen (comp.lang.c++.moderated, 
@@ -55,7 +55,7 @@
 
 struct has_xxx_tag;
 
-#if BOOST_WORKAROUND(BOOST_MSVC, == 1300)
+#if NDNBOOST_WORKAROUND(NDNBOOST_MSVC, == 1300)
 template< typename U > struct msvc_incomplete_array
 {
     typedef char (&type)[sizeof(U) + 1];
@@ -69,7 +69,7 @@
     // type, it won't pick the second overload
     static char tester(...);
 
-#if BOOST_WORKAROUND(BOOST_MSVC, == 1300)
+#if NDNBOOST_WORKAROUND(NDNBOOST_MSVC, == 1300)
     template< typename U >
     static typename msvc_incomplete_array<U>::type tester(type_wrapper<U>);
 #else
@@ -77,7 +77,7 @@
     static char (& tester(type_wrapper<U>) )[sizeof(U)+1];
 #endif 
     
-    BOOST_STATIC_CONSTANT(bool, value = 
+    NDNBOOST_STATIC_CONSTANT(bool, value = 
           sizeof(tester(type_wrapper<T>())) == 1
         );
 };
@@ -85,21 +85,21 @@
 template<>
 struct msvc_is_incomplete<int>
 {
-    BOOST_STATIC_CONSTANT(bool, value = false);
+    NDNBOOST_STATIC_CONSTANT(bool, value = false);
 };
 
 }}}
 
-#   define BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF_(trait, name, default_) \
+#   define NDNBOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF_(trait, name, default_) \
 template< typename T, typename name = ::ndnboost::mpl::aux::has_xxx_tag > \
-struct BOOST_PP_CAT(trait,_impl) : T \
+struct NDNBOOST_PP_CAT(trait,_impl) : T \
 { \
     static ndnboost::mpl::aux::no_tag \
     test(void(*)(::ndnboost::mpl::aux::has_xxx_tag)); \
     \
     static ndnboost::mpl::aux::yes_tag test(...); \
     \
-    BOOST_STATIC_CONSTANT(bool, value = \
+    NDNBOOST_STATIC_CONSTANT(bool, value = \
           sizeof(test(static_cast<void(*)(name)>(0))) \
             != sizeof(ndnboost::mpl::aux::no_tag) \
         ); \
@@ -111,43 +111,43 @@
     : ndnboost::mpl::if_c< \
           ndnboost::mpl::aux::msvc_is_incomplete<T>::value \
         , ndnboost::mpl::bool_<false> \
-        , BOOST_PP_CAT(trait,_impl)<T> \
+        , NDNBOOST_PP_CAT(trait,_impl)<T> \
         >::type \
 { \
 }; \
 \
-BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, void) \
-BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, bool) \
-BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, char) \
-BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, signed char) \
-BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, unsigned char) \
-BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, signed short) \
-BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, unsigned short) \
-BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, signed int) \
-BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, unsigned int) \
-BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, signed long) \
-BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, unsigned long) \
-BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, float) \
-BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, double) \
-BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, long double) \
+NDNBOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, void) \
+NDNBOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, bool) \
+NDNBOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, char) \
+NDNBOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, signed char) \
+NDNBOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, unsigned char) \
+NDNBOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, signed short) \
+NDNBOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, unsigned short) \
+NDNBOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, signed int) \
+NDNBOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, unsigned int) \
+NDNBOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, signed long) \
+NDNBOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, unsigned long) \
+NDNBOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, float) \
+NDNBOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, double) \
+NDNBOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, long double) \
 /**/
 
-#   define BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, T) \
+#   define NDNBOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, T) \
 template<> struct trait<T> \
 { \
-    BOOST_STATIC_CONSTANT(bool, value = false); \
+    NDNBOOST_STATIC_CONSTANT(bool, value = false); \
     typedef ndnboost::mpl::bool_<false> type; \
 }; \
 /**/
 
-#if !defined(BOOST_NO_INTRINSIC_WCHAR_T)
-#   define BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(trait, name, unused) \
-    BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF_(trait, name, unused) \
-    BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, wchar_t) \
+#if !defined(NDNBOOST_NO_INTRINSIC_WCHAR_T)
+#   define NDNBOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(trait, name, unused) \
+    NDNBOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF_(trait, name, unused) \
+    NDNBOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, wchar_t) \
 /**/
 #else
-#   define BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(trait, name, unused) \
-    BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF_(trait, name, unused) \
+#   define NDNBOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(trait, name, unused) \
+    NDNBOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF_(trait, name, unused) \
 /**/
 #endif
 
@@ -155,8 +155,8 @@
 // SFINAE-based implementations below are derived from a USENET newsgroup's 
 // posting by Rani Sharoni (comp.lang.c++.moderated, 2002-03-17 07:45:09 PST)
 
-#   elif BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1400)) \
-      || BOOST_WORKAROUND(__IBMCPP__, <= 700)
+#   elif NDNBOOST_WORKAROUND(NDNBOOST_MSVC, NDNBOOST_TESTED_AT(1400)) \
+      || NDNBOOST_WORKAROUND(__IBMCPP__, <= 700)
 
 // MSVC 7.1+ & VACPP
 
@@ -164,44 +164,44 @@
 // applied to partial specialization to fix some apparently random failures 
 // (thanks to Daniel Wallin for researching this!)
 
-#   define BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(trait, name, default_) \
+#   define NDNBOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(trait, name, default_) \
 template< typename T > \
-struct BOOST_PP_CAT(trait, _msvc_sfinae_helper) \
+struct NDNBOOST_PP_CAT(trait, _msvc_sfinae_helper) \
 { \
     typedef void type; \
 };\
 \
 template< typename T, typename U = void > \
-struct BOOST_PP_CAT(trait,_impl_) \
+struct NDNBOOST_PP_CAT(trait,_impl_) \
 { \
-    BOOST_STATIC_CONSTANT(bool, value = false); \
+    NDNBOOST_STATIC_CONSTANT(bool, value = false); \
     typedef ndnboost::mpl::bool_<value> type; \
 }; \
 \
 template< typename T > \
-struct BOOST_PP_CAT(trait,_impl_)< \
+struct NDNBOOST_PP_CAT(trait,_impl_)< \
       T \
-    , typename BOOST_PP_CAT(trait, _msvc_sfinae_helper)< typename T::name >::type \
+    , typename NDNBOOST_PP_CAT(trait, _msvc_sfinae_helper)< typename T::name >::type \
     > \
 { \
-    BOOST_STATIC_CONSTANT(bool, value = true); \
+    NDNBOOST_STATIC_CONSTANT(bool, value = true); \
     typedef ndnboost::mpl::bool_<value> type; \
 }; \
 \
 template< typename T, typename fallback_ = ndnboost::mpl::bool_<default_> > \
 struct trait \
-    : BOOST_PP_CAT(trait,_impl_)<T> \
+    : NDNBOOST_PP_CAT(trait,_impl_)<T> \
 { \
 }; \
 /**/
 
-#   elif BOOST_WORKAROUND( __BORLANDC__, BOOST_TESTED_AT(0x590) )
+#   elif NDNBOOST_WORKAROUND( __BORLANDC__, NDNBOOST_TESTED_AT(0x590) )
 
-#   define BOOST_MPL_HAS_XXX_TRAIT_NAMED_BCB_DEF(trait, trait_tester, name, default_) \
+#   define NDNBOOST_MPL_HAS_XXX_TRAIT_NAMED_BCB_DEF(trait, trait_tester, name, default_) \
 template< typename T, bool IS_CLASS > \
 struct trait_tester \
 { \
-    BOOST_STATIC_CONSTANT( bool,  value = false ); \
+    NDNBOOST_STATIC_CONSTANT( bool,  value = false ); \
 }; \
 template< typename T > \
 struct trait_tester< T, true > \
@@ -214,25 +214,25 @@
         static char resolve( ... ); \
     }; \
     typedef ndnboost::mpl::aux::type_wrapper<T> t_; \
-    BOOST_STATIC_CONSTANT( bool, value = ( sizeof( trait_tester_impl::resolve( static_cast< t_ * >(0) ) ) == sizeof(int) ) ); \
+    NDNBOOST_STATIC_CONSTANT( bool, value = ( sizeof( trait_tester_impl::resolve( static_cast< t_ * >(0) ) ) == sizeof(int) ) ); \
 }; \
 template< typename T, typename fallback_ = ndnboost::mpl::bool_<default_> > \
 struct trait           \
 {                      \
-    BOOST_STATIC_CONSTANT( bool, value = (trait_tester< T, ndnboost::is_class< T >::value >::value) );     \
+    NDNBOOST_STATIC_CONSTANT( bool, value = (trait_tester< T, ndnboost::is_class< T >::value >::value) );     \
     typedef ndnboost::mpl::bool_< trait< T, fallback_ >::value > type; \
 };
 
-#   define BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(trait, name, default_) \
-    BOOST_MPL_HAS_XXX_TRAIT_NAMED_BCB_DEF( trait \
-                                         , BOOST_PP_CAT(trait,_tester)      \
+#   define NDNBOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(trait, name, default_) \
+    NDNBOOST_MPL_HAS_XXX_TRAIT_NAMED_BCB_DEF( trait \
+                                         , NDNBOOST_PP_CAT(trait,_tester)      \
                                          , name       \
                                          , default_ ) \
 /**/
 
 #   else // other SFINAE-capable compilers
 
-#   define BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(trait, name, default_) \
+#   define NDNBOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(trait, name, default_) \
 template< typename T, typename fallback_ = ndnboost::mpl::bool_<default_> > \
 struct trait \
 { \
@@ -241,14 +241,14 @@
         template< typename U > \
         static ndnboost::mpl::aux::yes_tag test( \
               ndnboost::mpl::aux::type_wrapper<U> const volatile* \
-            , ndnboost::mpl::aux::type_wrapper<BOOST_MSVC_TYPENAME U::name>* = 0 \
+            , ndnboost::mpl::aux::type_wrapper<NDNBOOST_MSVC_TYPENAME U::name>* = 0 \
             ); \
     \
         static ndnboost::mpl::aux::no_tag test(...); \
     }; \
     \
     typedef ndnboost::mpl::aux::type_wrapper<T> t_; \
-    BOOST_STATIC_CONSTANT(bool, value = \
+    NDNBOOST_STATIC_CONSTANT(bool, value = \
           sizeof(gcc_3_2_wknd::test(static_cast<t_*>(0))) \
             == sizeof(ndnboost::mpl::aux::yes_tag) \
         ); \
@@ -256,30 +256,30 @@
 }; \
 /**/
 
-#   endif // BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
+#   endif // NDNBOOST_WORKAROUND(NDNBOOST_MSVC, <= 1300)
 
 
-#else // BOOST_MPL_CFG_NO_HAS_XXX
+#else // NDNBOOST_MPL_CFG_NO_HAS_XXX
 
 // placeholder implementation
 
-#   define BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(trait, name, default_) \
+#   define NDNBOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(trait, name, default_) \
 template< typename T, typename fallback_ = ndnboost::mpl::bool_<default_> > \
 struct trait \
 { \
-    BOOST_STATIC_CONSTANT(bool, value = fallback_::value); \
+    NDNBOOST_STATIC_CONSTANT(bool, value = fallback_::value); \
     typedef fallback_ type; \
 }; \
 /**/
 
 #endif
 
-#define BOOST_MPL_HAS_XXX_TRAIT_DEF(name) \
-    BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(BOOST_PP_CAT(has_,name), name, false) \
+#define NDNBOOST_MPL_HAS_XXX_TRAIT_DEF(name) \
+    NDNBOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(NDNBOOST_PP_CAT(has_,name), name, false) \
 /**/
 
 
-#if !defined(BOOST_MPL_CFG_NO_HAS_XXX_TEMPLATE)
+#if !defined(NDNBOOST_MPL_CFG_NO_HAS_XXX_TEMPLATE)
 
 // Create a boolean Metafunction to detect a nested template
 // member. This implementation is based on a USENET newsgroup's
@@ -287,21 +287,21 @@
 // Rani Sharoni's USENET posting cited above, the non-template has_xxx
 // implementations above, and discussion on the Boost mailing list.
 
-#   if !defined(BOOST_MPL_HAS_XXX_NO_WRAPPED_TYPES)
-#     if BOOST_WORKAROUND(BOOST_MSVC, <= 1400)
-#       define BOOST_MPL_HAS_XXX_NO_WRAPPED_TYPES 1
+#   if !defined(NDNBOOST_MPL_HAS_XXX_NO_WRAPPED_TYPES)
+#     if NDNBOOST_WORKAROUND(NDNBOOST_MSVC, <= 1400)
+#       define NDNBOOST_MPL_HAS_XXX_NO_WRAPPED_TYPES 1
 #     endif
 #   endif
 
-#   if !defined(BOOST_MPL_HAS_XXX_NO_EXPLICIT_TEST_FUNCTION)
-#     if (defined(BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS))
-#       define BOOST_MPL_HAS_XXX_NO_EXPLICIT_TEST_FUNCTION 1
+#   if !defined(NDNBOOST_MPL_HAS_XXX_NO_EXPLICIT_TEST_FUNCTION)
+#     if (defined(NDNBOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS))
+#       define NDNBOOST_MPL_HAS_XXX_NO_EXPLICIT_TEST_FUNCTION 1
 #     endif
 #   endif
 
-#   if !defined(BOOST_MPL_HAS_XXX_NEEDS_TEMPLATE_SFINAE)
-#     if BOOST_WORKAROUND(BOOST_MSVC, <= 1400)
-#       define BOOST_MPL_HAS_XXX_NEEDS_TEMPLATE_SFINAE 1
+#   if !defined(NDNBOOST_MPL_HAS_XXX_NEEDS_TEMPLATE_SFINAE)
+#     if NDNBOOST_WORKAROUND(NDNBOOST_MSVC, <= 1400)
+#       define NDNBOOST_MPL_HAS_XXX_NEEDS_TEMPLATE_SFINAE 1
 #     endif
 #   endif
 
@@ -309,98 +309,98 @@
 // array argument called args which is of the following form.
 //           ( 4, ( trait, name, max_arity, default_ ) )
 
-#   define BOOST_MPL_HAS_MEMBER_INTROSPECTION_NAME(args) \
-      BOOST_PP_CAT(BOOST_PP_ARRAY_ELEM(0, args) , _introspect) \
+#   define NDNBOOST_MPL_HAS_MEMBER_INTROSPECTION_NAME(args) \
+      NDNBOOST_PP_CAT(NDNBOOST_PP_ARRAY_ELEM(0, args) , _introspect) \
     /**/
 
-#   define BOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_NAME(args, n) \
-      BOOST_PP_CAT(BOOST_PP_CAT(BOOST_PP_ARRAY_ELEM(0, args) , _substitute), n) \
+#   define NDNBOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_NAME(args, n) \
+      NDNBOOST_PP_CAT(NDNBOOST_PP_CAT(NDNBOOST_PP_ARRAY_ELEM(0, args) , _substitute), n) \
     /**/
 
-#   define BOOST_MPL_HAS_MEMBER_INTROSPECTION_TEST_NAME(args) \
-      BOOST_PP_CAT(BOOST_PP_ARRAY_ELEM(0, args) , _test) \
+#   define NDNBOOST_MPL_HAS_MEMBER_INTROSPECTION_TEST_NAME(args) \
+      NDNBOOST_PP_CAT(NDNBOOST_PP_ARRAY_ELEM(0, args) , _test) \
     /**/
 
 // Thanks to Guillaume Melquiond for pointing out the need for the
 // "substitute" template as an argument to the overloaded test
 // functions to get SFINAE to work for member templates with the
 // correct name but different number of arguments.
-#   define BOOST_MPL_HAS_MEMBER_MULTI_SUBSTITUTE(z, n, args) \
+#   define NDNBOOST_MPL_HAS_MEMBER_MULTI_SUBSTITUTE(z, n, args) \
       template< \
-          template< BOOST_PP_ENUM_PARAMS(BOOST_PP_INC(n), typename V) > class V \
+          template< NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_INC(n), typename V) > class V \
        > \
-      struct BOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_NAME(args, n) { \
+      struct NDNBOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_NAME(args, n) { \
       }; \
     /**/
 
-#   define BOOST_MPL_HAS_MEMBER_SUBSTITUTE(args, substitute_macro) \
-      BOOST_PP_REPEAT( \
-          BOOST_PP_ARRAY_ELEM(2, args) \
-        , BOOST_MPL_HAS_MEMBER_MULTI_SUBSTITUTE \
+#   define NDNBOOST_MPL_HAS_MEMBER_SUBSTITUTE(args, substitute_macro) \
+      NDNBOOST_PP_REPEAT( \
+          NDNBOOST_PP_ARRAY_ELEM(2, args) \
+        , NDNBOOST_MPL_HAS_MEMBER_MULTI_SUBSTITUTE \
         , args \
       ) \
     /**/
 
-#   if !BOOST_MPL_HAS_XXX_NO_EXPLICIT_TEST_FUNCTION
-#     define BOOST_MPL_HAS_MEMBER_REJECT(args, member_macro) \
+#   if !NDNBOOST_MPL_HAS_XXX_NO_EXPLICIT_TEST_FUNCTION
+#     define NDNBOOST_MPL_HAS_MEMBER_REJECT(args, member_macro) \
         template< typename V > \
         static ndnboost::mpl::aux::no_tag \
-        BOOST_MPL_HAS_MEMBER_INTROSPECTION_TEST_NAME(args)(...); \
+        NDNBOOST_MPL_HAS_MEMBER_INTROSPECTION_TEST_NAME(args)(...); \
       /**/
 #   else
-#     define BOOST_MPL_HAS_MEMBER_REJECT(args, member_macro) \
+#     define NDNBOOST_MPL_HAS_MEMBER_REJECT(args, member_macro) \
         static ndnboost::mpl::aux::no_tag \
-        BOOST_MPL_HAS_MEMBER_INTROSPECTION_TEST_NAME(args)(...); \
+        NDNBOOST_MPL_HAS_MEMBER_INTROSPECTION_TEST_NAME(args)(...); \
       /**/
 #   endif
 
-#   if !BOOST_MPL_HAS_XXX_NO_WRAPPED_TYPES
-#     define BOOST_MPL_HAS_MEMBER_MULTI_ACCEPT(z, n, args) \
+#   if !NDNBOOST_MPL_HAS_XXX_NO_WRAPPED_TYPES
+#     define NDNBOOST_MPL_HAS_MEMBER_MULTI_ACCEPT(z, n, args) \
         template< typename V > \
         static ndnboost::mpl::aux::yes_tag \
-        BOOST_MPL_HAS_MEMBER_INTROSPECTION_TEST_NAME(args)( \
+        NDNBOOST_MPL_HAS_MEMBER_INTROSPECTION_TEST_NAME(args)( \
             ndnboost::mpl::aux::type_wrapper< V > const volatile* \
-          , BOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_NAME(args, n) < \
-                V::template BOOST_PP_ARRAY_ELEM(1, args) \
+          , NDNBOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_NAME(args, n) < \
+                V::template NDNBOOST_PP_ARRAY_ELEM(1, args) \
             >* = 0 \
         ); \
       /**/
-#     define BOOST_MPL_HAS_MEMBER_ACCEPT(args, member_macro) \
-        BOOST_PP_REPEAT( \
-            BOOST_PP_ARRAY_ELEM(2, args) \
-          , BOOST_MPL_HAS_MEMBER_MULTI_ACCEPT \
+#     define NDNBOOST_MPL_HAS_MEMBER_ACCEPT(args, member_macro) \
+        NDNBOOST_PP_REPEAT( \
+            NDNBOOST_PP_ARRAY_ELEM(2, args) \
+          , NDNBOOST_MPL_HAS_MEMBER_MULTI_ACCEPT \
           , args \
         ) \
       /**/
 #   else
-#     define BOOST_MPL_HAS_MEMBER_ACCEPT(args, member_macro) \
+#     define NDNBOOST_MPL_HAS_MEMBER_ACCEPT(args, member_macro) \
         template< typename V > \
         static ndnboost::mpl::aux::yes_tag \
-        BOOST_MPL_HAS_MEMBER_INTROSPECTION_TEST_NAME(args)( \
+        NDNBOOST_MPL_HAS_MEMBER_INTROSPECTION_TEST_NAME(args)( \
             V const volatile* \
           , member_macro(args, V, T)* = 0 \
         ); \
       /**/
 #   endif
 
-#   if !BOOST_MPL_HAS_XXX_NO_EXPLICIT_TEST_FUNCTION
-#     define BOOST_MPL_HAS_MEMBER_TEST(args) \
-          sizeof(BOOST_MPL_HAS_MEMBER_INTROSPECTION_TEST_NAME(args)< U >(0)) \
+#   if !NDNBOOST_MPL_HAS_XXX_NO_EXPLICIT_TEST_FUNCTION
+#     define NDNBOOST_MPL_HAS_MEMBER_TEST(args) \
+          sizeof(NDNBOOST_MPL_HAS_MEMBER_INTROSPECTION_TEST_NAME(args)< U >(0)) \
               == sizeof(ndnboost::mpl::aux::yes_tag) \
       /**/
 #   else
-#     if !BOOST_MPL_HAS_XXX_NO_WRAPPED_TYPES
-#       define BOOST_MPL_HAS_MEMBER_TEST(args) \
+#     if !NDNBOOST_MPL_HAS_XXX_NO_WRAPPED_TYPES
+#       define NDNBOOST_MPL_HAS_MEMBER_TEST(args) \
           sizeof( \
-              BOOST_MPL_HAS_MEMBER_INTROSPECTION_TEST_NAME(args)( \
+              NDNBOOST_MPL_HAS_MEMBER_INTROSPECTION_TEST_NAME(args)( \
                   static_cast< ndnboost::mpl::aux::type_wrapper< U >* >(0) \
               ) \
           ) == sizeof(ndnboost::mpl::aux::yes_tag) \
         /**/
 #     else
-#       define BOOST_MPL_HAS_MEMBER_TEST(args) \
+#       define NDNBOOST_MPL_HAS_MEMBER_TEST(args) \
           sizeof( \
-              BOOST_MPL_HAS_MEMBER_INTROSPECTION_TEST_NAME(args)( \
+              NDNBOOST_MPL_HAS_MEMBER_INTROSPECTION_TEST_NAME(args)( \
                   static_cast< U* >(0) \
               ) \
           ) == sizeof(ndnboost::mpl::aux::yes_tag) \
@@ -408,233 +408,233 @@
 #     endif
 #   endif
 
-#   define BOOST_MPL_HAS_MEMBER_INTROSPECT( \
+#   define NDNBOOST_MPL_HAS_MEMBER_INTROSPECT( \
                args, substitute_macro, member_macro \
            ) \
       template< typename U > \
-      struct BOOST_MPL_HAS_MEMBER_INTROSPECTION_NAME(args) { \
-          BOOST_MPL_HAS_MEMBER_SUBSTITUTE(args, substitute_macro) \
-          BOOST_MPL_HAS_MEMBER_REJECT(args, member_macro) \
-          BOOST_MPL_HAS_MEMBER_ACCEPT(args, member_macro) \
-          BOOST_STATIC_CONSTANT( \
-              bool, value = BOOST_MPL_HAS_MEMBER_TEST(args) \
+      struct NDNBOOST_MPL_HAS_MEMBER_INTROSPECTION_NAME(args) { \
+          NDNBOOST_MPL_HAS_MEMBER_SUBSTITUTE(args, substitute_macro) \
+          NDNBOOST_MPL_HAS_MEMBER_REJECT(args, member_macro) \
+          NDNBOOST_MPL_HAS_MEMBER_ACCEPT(args, member_macro) \
+          NDNBOOST_STATIC_CONSTANT( \
+              bool, value = NDNBOOST_MPL_HAS_MEMBER_TEST(args) \
           ); \
           typedef ndnboost::mpl::bool_< value > type; \
       }; \
     /**/
 
-#   define BOOST_MPL_HAS_MEMBER_IMPLEMENTATION( \
+#   define NDNBOOST_MPL_HAS_MEMBER_IMPLEMENTATION( \
                args, introspect_macro, substitute_macro, member_macro \
            ) \
       template< \
           typename T \
         , typename fallback_ \
-              = ndnboost::mpl::bool_< BOOST_PP_ARRAY_ELEM(3, args) > \
+              = ndnboost::mpl::bool_< NDNBOOST_PP_ARRAY_ELEM(3, args) > \
       > \
-      class BOOST_PP_ARRAY_ELEM(0, args) { \
+      class NDNBOOST_PP_ARRAY_ELEM(0, args) { \
           introspect_macro(args, substitute_macro, member_macro) \
       public: \
           static const bool value \
-              = BOOST_MPL_HAS_MEMBER_INTROSPECTION_NAME(args)< T >::value; \
-          typedef typename BOOST_MPL_HAS_MEMBER_INTROSPECTION_NAME(args)< \
+              = NDNBOOST_MPL_HAS_MEMBER_INTROSPECTION_NAME(args)< T >::value; \
+          typedef typename NDNBOOST_MPL_HAS_MEMBER_INTROSPECTION_NAME(args)< \
               T \
           >::type type; \
       }; \
     /**/
 
-// BOOST_MPL_HAS_MEMBER_WITH_FUNCTION_SFINAE expands to the full
+// NDNBOOST_MPL_HAS_MEMBER_WITH_FUNCTION_SFINAE expands to the full
 // implementation of the function-based metafunction. Compile with -E
 // to see the preprocessor output for this macro.
-#   define BOOST_MPL_HAS_MEMBER_WITH_FUNCTION_SFINAE( \
+#   define NDNBOOST_MPL_HAS_MEMBER_WITH_FUNCTION_SFINAE( \
                args, substitute_macro, member_macro \
            ) \
-      BOOST_MPL_HAS_MEMBER_IMPLEMENTATION( \
+      NDNBOOST_MPL_HAS_MEMBER_IMPLEMENTATION( \
           args \
-        , BOOST_MPL_HAS_MEMBER_INTROSPECT \
+        , NDNBOOST_MPL_HAS_MEMBER_INTROSPECT \
         , substitute_macro \
         , member_macro \
       ) \
     /**/
 
-#   if BOOST_MPL_HAS_XXX_NEEDS_TEMPLATE_SFINAE
+#   if NDNBOOST_MPL_HAS_XXX_NEEDS_TEMPLATE_SFINAE
 
-#     if !defined(BOOST_MPL_HAS_XXX_NEEDS_NAMESPACE_LEVEL_SUBSTITUTE)
-#       if BOOST_WORKAROUND(BOOST_MSVC, <= 1400)
-#         define BOOST_MPL_HAS_XXX_NEEDS_NAMESPACE_LEVEL_SUBSTITUTE 1
+#     if !defined(NDNBOOST_MPL_HAS_XXX_NEEDS_NAMESPACE_LEVEL_SUBSTITUTE)
+#       if NDNBOOST_WORKAROUND(NDNBOOST_MSVC, <= 1400)
+#         define NDNBOOST_MPL_HAS_XXX_NEEDS_NAMESPACE_LEVEL_SUBSTITUTE 1
 #       endif
 #     endif
 
-#     if !BOOST_MPL_HAS_XXX_NEEDS_NAMESPACE_LEVEL_SUBSTITUTE
-#       define BOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_NAME_WITH_TEMPLATE_SFINAE( \
+#     if !NDNBOOST_MPL_HAS_XXX_NEEDS_NAMESPACE_LEVEL_SUBSTITUTE
+#       define NDNBOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_NAME_WITH_TEMPLATE_SFINAE( \
                    args, n \
                ) \
-          BOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_NAME(args, n) \
+          NDNBOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_NAME(args, n) \
         /**/
 #     else
-#       define BOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_NAME_WITH_TEMPLATE_SFINAE( \
+#       define NDNBOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_NAME_WITH_TEMPLATE_SFINAE( \
                    args, n \
                ) \
-          BOOST_PP_CAT( \
+          NDNBOOST_PP_CAT( \
               boost_mpl_has_xxx_ \
-            , BOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_NAME(args, n) \
+            , NDNBOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_NAME(args, n) \
           ) \
         /**/
 #     endif
 
-#     define BOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_TAG_NAME( \
+#     define NDNBOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_TAG_NAME( \
                  args \
              ) \
-        BOOST_PP_CAT( \
-            BOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_NAME_WITH_TEMPLATE_SFINAE( \
+        NDNBOOST_PP_CAT( \
+            NDNBOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_NAME_WITH_TEMPLATE_SFINAE( \
                 args, 0 \
             ) \
           , _tag \
         ) \
       /**/
 
-#     define BOOST_MPL_HAS_MEMBER_MULTI_SUBSTITUTE_WITH_TEMPLATE_SFINAE( \
+#     define NDNBOOST_MPL_HAS_MEMBER_MULTI_SUBSTITUTE_WITH_TEMPLATE_SFINAE( \
                  z, n, args \
              ) \
         template< \
-             template< BOOST_PP_ENUM_PARAMS(BOOST_PP_INC(n), typename U) > class U \
+             template< NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_INC(n), typename U) > class U \
         > \
-        struct BOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_NAME_WITH_TEMPLATE_SFINAE( \
+        struct NDNBOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_NAME_WITH_TEMPLATE_SFINAE( \
                 args, n \
                ) { \
             typedef \
-                BOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_TAG_NAME(args) \
+                NDNBOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_TAG_NAME(args) \
                 type; \
         }; \
       /**/
 
-#     define BOOST_MPL_HAS_MEMBER_SUBSTITUTE_WITH_TEMPLATE_SFINAE( \
+#     define NDNBOOST_MPL_HAS_MEMBER_SUBSTITUTE_WITH_TEMPLATE_SFINAE( \
                  args, substitute_macro \
              ) \
         typedef void \
-            BOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_TAG_NAME(args); \
-        BOOST_PP_REPEAT( \
-            BOOST_PP_ARRAY_ELEM(2, args) \
-          , BOOST_MPL_HAS_MEMBER_MULTI_SUBSTITUTE_WITH_TEMPLATE_SFINAE \
+            NDNBOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_TAG_NAME(args); \
+        NDNBOOST_PP_REPEAT( \
+            NDNBOOST_PP_ARRAY_ELEM(2, args) \
+          , NDNBOOST_MPL_HAS_MEMBER_MULTI_SUBSTITUTE_WITH_TEMPLATE_SFINAE \
           , args \
         ) \
       /**/
 
-#     define BOOST_MPL_HAS_MEMBER_REJECT_WITH_TEMPLATE_SFINAE( \
+#     define NDNBOOST_MPL_HAS_MEMBER_REJECT_WITH_TEMPLATE_SFINAE( \
                  args, member_macro \
              ) \
         template< \
             typename U \
           , typename V \
-                = BOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_TAG_NAME(args) \
+                = NDNBOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_TAG_NAME(args) \
         > \
-        struct BOOST_MPL_HAS_MEMBER_INTROSPECTION_TEST_NAME(args) { \
-            BOOST_STATIC_CONSTANT(bool, value = false); \
+        struct NDNBOOST_MPL_HAS_MEMBER_INTROSPECTION_TEST_NAME(args) { \
+            NDNBOOST_STATIC_CONSTANT(bool, value = false); \
             typedef ndnboost::mpl::bool_< value > type; \
         }; \
       /**/
 
-#     define BOOST_MPL_HAS_MEMBER_MULTI_ACCEPT_WITH_TEMPLATE_SFINAE( \
+#     define NDNBOOST_MPL_HAS_MEMBER_MULTI_ACCEPT_WITH_TEMPLATE_SFINAE( \
                  z, n, args \
              ) \
         template< typename U > \
-        struct BOOST_MPL_HAS_MEMBER_INTROSPECTION_TEST_NAME(args)< \
+        struct NDNBOOST_MPL_HAS_MEMBER_INTROSPECTION_TEST_NAME(args)< \
             U \
           , typename \
-                BOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_NAME_WITH_TEMPLATE_SFINAE( \
+                NDNBOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_NAME_WITH_TEMPLATE_SFINAE( \
                     args, n \
                 )< \
-                    BOOST_MSVC_TYPENAME U::BOOST_PP_ARRAY_ELEM(1, args)< > \
+                    NDNBOOST_MSVC_TYPENAME U::NDNBOOST_PP_ARRAY_ELEM(1, args)< > \
                 >::type \
         > { \
-            BOOST_STATIC_CONSTANT(bool, value = true); \
+            NDNBOOST_STATIC_CONSTANT(bool, value = true); \
             typedef ndnboost::mpl::bool_< value > type; \
         }; \
       /**/
 
-#     define BOOST_MPL_HAS_MEMBER_ACCEPT_WITH_TEMPLATE_SFINAE( \
+#     define NDNBOOST_MPL_HAS_MEMBER_ACCEPT_WITH_TEMPLATE_SFINAE( \
                  args, member_macro \
              ) \
-        BOOST_PP_REPEAT( \
-            BOOST_PP_ARRAY_ELEM(2, args) \
-          , BOOST_MPL_HAS_MEMBER_MULTI_ACCEPT_WITH_TEMPLATE_SFINAE \
+        NDNBOOST_PP_REPEAT( \
+            NDNBOOST_PP_ARRAY_ELEM(2, args) \
+          , NDNBOOST_MPL_HAS_MEMBER_MULTI_ACCEPT_WITH_TEMPLATE_SFINAE \
           , args \
         ) \
       /**/
 
-#     define BOOST_MPL_HAS_MEMBER_INTROSPECT_WITH_TEMPLATE_SFINAE( \
+#     define NDNBOOST_MPL_HAS_MEMBER_INTROSPECT_WITH_TEMPLATE_SFINAE( \
                  args, substitute_macro, member_macro \
              ) \
-        BOOST_MPL_HAS_MEMBER_REJECT_WITH_TEMPLATE_SFINAE(args, member_macro) \
-        BOOST_MPL_HAS_MEMBER_ACCEPT_WITH_TEMPLATE_SFINAE(args, member_macro) \
+        NDNBOOST_MPL_HAS_MEMBER_REJECT_WITH_TEMPLATE_SFINAE(args, member_macro) \
+        NDNBOOST_MPL_HAS_MEMBER_ACCEPT_WITH_TEMPLATE_SFINAE(args, member_macro) \
         template< typename U > \
-        struct BOOST_MPL_HAS_MEMBER_INTROSPECTION_NAME(args) \
-            : BOOST_MPL_HAS_MEMBER_INTROSPECTION_TEST_NAME(args)< U > { \
+        struct NDNBOOST_MPL_HAS_MEMBER_INTROSPECTION_NAME(args) \
+            : NDNBOOST_MPL_HAS_MEMBER_INTROSPECTION_TEST_NAME(args)< U > { \
         }; \
       /**/
  
-// BOOST_MPL_HAS_MEMBER_WITH_TEMPLATE_SFINAE expands to the full
+// NDNBOOST_MPL_HAS_MEMBER_WITH_TEMPLATE_SFINAE expands to the full
 // implementation of the template-based metafunction. Compile with -E
 // to see the preprocessor output for this macro.
 //
-// Note that if BOOST_MPL_HAS_XXX_NEEDS_NAMESPACE_LEVEL_SUBSTITUTE is
-// defined BOOST_MPL_HAS_MEMBER_SUBSTITUTE_WITH_TEMPLATE_SFINAE needs
+// Note that if NDNBOOST_MPL_HAS_XXX_NEEDS_NAMESPACE_LEVEL_SUBSTITUTE is
+// defined NDNBOOST_MPL_HAS_MEMBER_SUBSTITUTE_WITH_TEMPLATE_SFINAE needs
 // to be expanded at namespace level before
-// BOOST_MPL_HAS_MEMBER_WITH_TEMPLATE_SFINAE can be used.
-#     define BOOST_MPL_HAS_MEMBER_WITH_TEMPLATE_SFINAE( \
+// NDNBOOST_MPL_HAS_MEMBER_WITH_TEMPLATE_SFINAE can be used.
+#     define NDNBOOST_MPL_HAS_MEMBER_WITH_TEMPLATE_SFINAE( \
                  args, substitute_macro, member_macro \
              ) \
-        BOOST_MPL_HAS_MEMBER_SUBSTITUTE_WITH_TEMPLATE_SFINAE( \
+        NDNBOOST_MPL_HAS_MEMBER_SUBSTITUTE_WITH_TEMPLATE_SFINAE( \
             args, substitute_macro \
         ) \
-        BOOST_MPL_HAS_MEMBER_IMPLEMENTATION( \
+        NDNBOOST_MPL_HAS_MEMBER_IMPLEMENTATION( \
             args \
-          , BOOST_MPL_HAS_MEMBER_INTROSPECT_WITH_TEMPLATE_SFINAE \
+          , NDNBOOST_MPL_HAS_MEMBER_INTROSPECT_WITH_TEMPLATE_SFINAE \
           , substitute_macro \
           , member_macro \
         ) \
       /**/
 
-#   endif // BOOST_MPL_HAS_XXX_NEEDS_TEMPLATE_SFINAE
+#   endif // NDNBOOST_MPL_HAS_XXX_NEEDS_TEMPLATE_SFINAE
 
 // Note: In the current implementation the parameter and access macros
 // are no longer expanded.
-#   if !BOOST_WORKAROUND(BOOST_MSVC, <= 1400)
-#     define BOOST_MPL_HAS_XXX_TEMPLATE_NAMED_DEF(trait, name, default_) \
-        BOOST_MPL_HAS_MEMBER_WITH_FUNCTION_SFINAE( \
-            ( 4, ( trait, name, BOOST_MPL_LIMIT_METAFUNCTION_ARITY, default_ ) ) \
-          , BOOST_MPL_HAS_MEMBER_TEMPLATE_SUBSTITUTE_PARAMETER \
-          , BOOST_MPL_HAS_MEMBER_TEMPLATE_ACCESS \
+#   if !NDNBOOST_WORKAROUND(NDNBOOST_MSVC, <= 1400)
+#     define NDNBOOST_MPL_HAS_XXX_TEMPLATE_NAMED_DEF(trait, name, default_) \
+        NDNBOOST_MPL_HAS_MEMBER_WITH_FUNCTION_SFINAE( \
+            ( 4, ( trait, name, NDNBOOST_MPL_LIMIT_METAFUNCTION_ARITY, default_ ) ) \
+          , NDNBOOST_MPL_HAS_MEMBER_TEMPLATE_SUBSTITUTE_PARAMETER \
+          , NDNBOOST_MPL_HAS_MEMBER_TEMPLATE_ACCESS \
         ) \
       /**/
 #   else
-#     define BOOST_MPL_HAS_XXX_TEMPLATE_NAMED_DEF(trait, name, default_) \
-        BOOST_MPL_HAS_MEMBER_WITH_TEMPLATE_SFINAE( \
-            ( 4, ( trait, name, BOOST_MPL_LIMIT_METAFUNCTION_ARITY, default_ ) ) \
-          , BOOST_MPL_HAS_MEMBER_TEMPLATE_SUBSTITUTE_PARAMETER \
-          , BOOST_MPL_HAS_MEMBER_TEMPLATE_ACCESS \
+#     define NDNBOOST_MPL_HAS_XXX_TEMPLATE_NAMED_DEF(trait, name, default_) \
+        NDNBOOST_MPL_HAS_MEMBER_WITH_TEMPLATE_SFINAE( \
+            ( 4, ( trait, name, NDNBOOST_MPL_LIMIT_METAFUNCTION_ARITY, default_ ) ) \
+          , NDNBOOST_MPL_HAS_MEMBER_TEMPLATE_SUBSTITUTE_PARAMETER \
+          , NDNBOOST_MPL_HAS_MEMBER_TEMPLATE_ACCESS \
         ) \
       /**/
 #   endif
 
-#else // BOOST_MPL_CFG_NO_HAS_XXX_TEMPLATE
+#else // NDNBOOST_MPL_CFG_NO_HAS_XXX_TEMPLATE
 
 // placeholder implementation
 
-#   define BOOST_MPL_HAS_XXX_TEMPLATE_NAMED_DEF(trait, name, default_) \
+#   define NDNBOOST_MPL_HAS_XXX_TEMPLATE_NAMED_DEF(trait, name, default_) \
       template< typename T \
               , typename fallback_ = ndnboost::mpl::bool_< default_ > > \
       struct trait { \
-          BOOST_STATIC_CONSTANT(bool, value = fallback_::value); \
+          NDNBOOST_STATIC_CONSTANT(bool, value = fallback_::value); \
           typedef fallback_ type; \
       }; \
     /**/
 
-#endif // BOOST_MPL_CFG_NO_HAS_XXX_TEMPLATE
+#endif // NDNBOOST_MPL_CFG_NO_HAS_XXX_TEMPLATE
 
-#   define BOOST_MPL_HAS_XXX_TEMPLATE_DEF(name) \
-      BOOST_MPL_HAS_XXX_TEMPLATE_NAMED_DEF( \
-          BOOST_PP_CAT(has_, name), name, false \
+#   define NDNBOOST_MPL_HAS_XXX_TEMPLATE_DEF(name) \
+      NDNBOOST_MPL_HAS_XXX_TEMPLATE_NAMED_DEF( \
+          NDNBOOST_PP_CAT(has_, name), name, false \
       ) \
     /**/
 
-#endif // BOOST_MPL_HAS_XXX_HPP_INCLUDED
+#endif // NDNBOOST_MPL_HAS_XXX_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/identity.hpp b/include/ndnboost/mpl/identity.hpp
index 88391df..9e9207f 100644
--- a/include/ndnboost/mpl/identity.hpp
+++ b/include/ndnboost/mpl/identity.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_IDENTITY_HPP_INCLUDED
-#define BOOST_MPL_IDENTITY_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_IDENTITY_HPP_INCLUDED
+#define NDNBOOST_MPL_IDENTITY_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -20,26 +20,26 @@
 namespace ndnboost { namespace mpl {
 
 template<
-      typename BOOST_MPL_AUX_NA_PARAM(T)
+      typename NDNBOOST_MPL_AUX_NA_PARAM(T)
     >
 struct identity
 {
     typedef T type;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(1, identity, (T))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(1, identity, (T))
 };
 
 template<
-      typename BOOST_MPL_AUX_NA_PARAM(T)
+      typename NDNBOOST_MPL_AUX_NA_PARAM(T)
     >
 struct make_identity
 {
     typedef identity<T> type;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(1, make_identity, (T))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(1, make_identity, (T))
 };
 
-BOOST_MPL_AUX_NA_SPEC_NO_ETI(1, identity)
-BOOST_MPL_AUX_NA_SPEC_NO_ETI(1, make_identity)
+NDNBOOST_MPL_AUX_NA_SPEC_NO_ETI(1, identity)
+NDNBOOST_MPL_AUX_NA_SPEC_NO_ETI(1, make_identity)
 
 }}
 
-#endif // BOOST_MPL_IDENTITY_HPP_INCLUDED
+#endif // NDNBOOST_MPL_IDENTITY_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/if.hpp b/include/ndnboost/mpl/if.hpp
index a19b4a9..c74be5f 100644
--- a/include/ndnboost/mpl/if.hpp
+++ b/include/ndnboost/mpl/if.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_IF_HPP_INCLUDED
-#define BOOST_MPL_IF_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_IF_HPP_INCLUDED
+#define NDNBOOST_MPL_IF_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -24,7 +24,7 @@
 
 namespace ndnboost { namespace mpl {
 
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+#if !defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
 
 template<
       bool C
@@ -48,19 +48,19 @@
 // agurt, 05/sep/04: nondescriptive parameter names for the sake of DigitalMars
 // (and possibly MWCW < 8.0); see http://article.gmane.org/gmane.comp.lib.boost.devel/108959
 template<
-      typename BOOST_MPL_AUX_NA_PARAM(T1)
-    , typename BOOST_MPL_AUX_NA_PARAM(T2)
-    , typename BOOST_MPL_AUX_NA_PARAM(T3)
+      typename NDNBOOST_MPL_AUX_NA_PARAM(T1)
+    , typename NDNBOOST_MPL_AUX_NA_PARAM(T2)
+    , typename NDNBOOST_MPL_AUX_NA_PARAM(T3)
     >
 struct if_
 {
  private:
     // agurt, 02/jan/03: two-step 'type' definition for the sake of aCC 
     typedef if_c<
-#if defined(BOOST_MPL_CFG_BCC_INTEGRAL_CONSTANTS)
-          BOOST_MPL_AUX_VALUE_WKND(T1)::value
+#if defined(NDNBOOST_MPL_CFG_BCC_INTEGRAL_CONSTANTS)
+          NDNBOOST_MPL_AUX_VALUE_WKND(T1)::value
 #else
-          BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
+          NDNBOOST_MPL_AUX_STATIC_CAST(bool, NDNBOOST_MPL_AUX_VALUE_WKND(T1)::value)
 #endif
         , T2
         , T3
@@ -69,7 +69,7 @@
  public:
     typedef typename almost_type_::type type;
     
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(3,if_,(T1,T2,T3))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(3,if_,(T1,T2,T3))
 };
 
 #else
@@ -112,24 +112,24 @@
 // (almost) copy & paste in order to save one more 
 // recursively nested template instantiation to user
 template<
-      typename BOOST_MPL_AUX_NA_PARAM(C_)
-    , typename BOOST_MPL_AUX_NA_PARAM(T1)
-    , typename BOOST_MPL_AUX_NA_PARAM(T2)
+      typename NDNBOOST_MPL_AUX_NA_PARAM(C_)
+    , typename NDNBOOST_MPL_AUX_NA_PARAM(T1)
+    , typename NDNBOOST_MPL_AUX_NA_PARAM(T2)
     >
 struct if_
 {
-    enum { msvc_wknd_ = BOOST_MPL_AUX_MSVC_VALUE_WKND(C_)::value };
+    enum { msvc_wknd_ = NDNBOOST_MPL_AUX_MSVC_VALUE_WKND(C_)::value };
 
-    typedef typename aux::if_impl< BOOST_MPL_AUX_STATIC_CAST(bool, msvc_wknd_) >
+    typedef typename aux::if_impl< NDNBOOST_MPL_AUX_STATIC_CAST(bool, msvc_wknd_) >
         ::template result_<T1,T2>::type type;
 
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(3,if_,(C_,T1,T2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(3,if_,(C_,T1,T2))
 };
 
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#endif // NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 
-BOOST_MPL_AUX_NA_SPEC(3, if_)
+NDNBOOST_MPL_AUX_NA_SPEC(3, if_)
 
 }}
 
-#endif // BOOST_MPL_IF_HPP_INCLUDED
+#endif // NDNBOOST_MPL_IF_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/inserter.hpp b/include/ndnboost/mpl/inserter.hpp
index 97a54ba..7bceba1 100644
--- a/include/ndnboost/mpl/inserter.hpp
+++ b/include/ndnboost/mpl/inserter.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_INSERTER_HPP_INCLUDED
-#define BOOST_MPL_INSERTER_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_INSERTER_HPP_INCLUDED
+#define NDNBOOST_MPL_INSERTER_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2003-2004
 // Copyright David Abrahams 2003-2004
@@ -29,4 +29,4 @@
 
 }}
 
-#endif // BOOST_MPL_INSERTER_HPP_INCLUDED
+#endif // NDNBOOST_MPL_INSERTER_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/int.hpp b/include/ndnboost/mpl/int.hpp
index 510ee6e..05f6997 100644
--- a/include/ndnboost/mpl/int.hpp
+++ b/include/ndnboost/mpl/int.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_INT_HPP_INCLUDED
-#define BOOST_MPL_INT_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_INT_HPP_INCLUDED
+#define NDNBOOST_MPL_INT_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -19,4 +19,4 @@
 #define AUX_WRAPPER_VALUE_TYPE int
 #include <ndnboost/mpl/aux_/integral_wrapper.hpp>
 
-#endif // BOOST_MPL_INT_HPP_INCLUDED
+#endif // NDNBOOST_MPL_INT_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/int_fwd.hpp b/include/ndnboost/mpl/int_fwd.hpp
index f7b42e2..ab30247 100644
--- a/include/ndnboost/mpl/int_fwd.hpp
+++ b/include/ndnboost/mpl/int_fwd.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_INT_FWD_HPP_INCLUDED
-#define BOOST_MPL_INT_FWD_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_INT_FWD_HPP_INCLUDED
+#define NDNBOOST_MPL_INT_FWD_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -17,11 +17,11 @@
 #include <ndnboost/mpl/aux_/adl_barrier.hpp>
 #include <ndnboost/mpl/aux_/nttp_decl.hpp>
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 
-template< BOOST_MPL_AUX_NTTP_DECL(int, N) > struct int_;
+template< NDNBOOST_MPL_AUX_NTTP_DECL(int, N) > struct int_;
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-BOOST_MPL_AUX_ADL_BARRIER_DECL(int_)
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_DECL(int_)
 
-#endif // BOOST_MPL_INT_FWD_HPP_INCLUDED
+#endif // NDNBOOST_MPL_INT_FWD_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/integral_c.hpp b/include/ndnboost/mpl/integral_c.hpp
index 166fedd..9c9fa91 100644
--- a/include/ndnboost/mpl/integral_c.hpp
+++ b/include/ndnboost/mpl/integral_c.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_INTEGRAL_C_HPP_INCLUDED
-#define BOOST_MPL_INTEGRAL_C_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_INTEGRAL_C_HPP_INCLUDED
+#define NDNBOOST_MPL_INTEGRAL_C_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2006
 //
@@ -19,7 +19,7 @@
 #include <ndnboost/mpl/aux_/config/static_constant.hpp>
 #include <ndnboost/mpl/aux_/config/workaround.hpp>
 
-#if BOOST_WORKAROUND(__HP_aCC, <= 53800)
+#if NDNBOOST_WORKAROUND(__HP_aCC, <= 53800)
 // the type of non-type template arguments may not depend on template arguments
 #   define AUX_WRAPPER_PARAMS(N) typename T, long N
 #else
@@ -32,20 +32,20 @@
 #include <ndnboost/mpl/aux_/integral_wrapper.hpp>
 
 
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
- && !BOOST_WORKAROUND(__BORLANDC__, <= 0x551)
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+#if !defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
+ && !NDNBOOST_WORKAROUND(__BORLANDC__, <= 0x551)
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 // 'bool' constant doesn't have 'next'/'prior' members
 template< bool C >
 struct integral_c<bool, C>
 {
-    BOOST_STATIC_CONSTANT(bool, value = C);
+    NDNBOOST_STATIC_CONSTANT(bool, value = C);
     typedef integral_c_tag tag;
     typedef integral_c type;
     typedef bool value_type;
     operator bool() const { return this->value; }
 };
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
 #endif
 
-#endif // BOOST_MPL_INTEGRAL_C_HPP_INCLUDED
+#endif // NDNBOOST_MPL_INTEGRAL_C_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/integral_c_fwd.hpp b/include/ndnboost/mpl/integral_c_fwd.hpp
index 91d4b6b..1eaec64 100644
--- a/include/ndnboost/mpl/integral_c_fwd.hpp
+++ b/include/ndnboost/mpl/integral_c_fwd.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_INTEGRAL_C_FWD_HPP_INCLUDED
-#define BOOST_MPL_INTEGRAL_C_FWD_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_INTEGRAL_C_FWD_HPP_INCLUDED
+#define NDNBOOST_MPL_INTEGRAL_C_FWD_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2006
 //
@@ -17,16 +17,16 @@
 #include <ndnboost/mpl/aux_/config/workaround.hpp>
 #include <ndnboost/mpl/aux_/adl_barrier.hpp>
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 
-#if BOOST_WORKAROUND(__HP_aCC, <= 53800)
+#if NDNBOOST_WORKAROUND(__HP_aCC, <= 53800)
 // the type of non-type template arguments may not depend on template arguments
 template< typename T, long N > struct integral_c;
 #else
 template< typename T, T N > struct integral_c;
 #endif
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-BOOST_MPL_AUX_ADL_BARRIER_DECL(integral_c)
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_DECL(integral_c)
 
-#endif // BOOST_MPL_INTEGRAL_C_FWD_HPP_INCLUDED
+#endif // NDNBOOST_MPL_INTEGRAL_C_FWD_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/integral_c_tag.hpp b/include/ndnboost/mpl/integral_c_tag.hpp
index 54c83ac..a5d2aa7 100644
--- a/include/ndnboost/mpl/integral_c_tag.hpp
+++ b/include/ndnboost/mpl/integral_c_tag.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_INTEGRAL_C_TAG_HPP_INCLUDED
-#define BOOST_MPL_INTEGRAL_C_TAG_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_INTEGRAL_C_TAG_HPP_INCLUDED
+#define NDNBOOST_MPL_INTEGRAL_C_TAG_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2004
 //
@@ -18,9 +18,9 @@
 #include <ndnboost/mpl/aux_/adl_barrier.hpp>
 #include <ndnboost/mpl/aux_/config/static_constant.hpp>
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-struct integral_c_tag { BOOST_STATIC_CONSTANT(int, value = 0); };
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-BOOST_MPL_AUX_ADL_BARRIER_DECL(integral_c_tag)
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+struct integral_c_tag { NDNBOOST_STATIC_CONSTANT(int, value = 0); };
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_DECL(integral_c_tag)
 
-#endif // BOOST_MPL_INTEGRAL_C_TAG_HPP_INCLUDED
+#endif // NDNBOOST_MPL_INTEGRAL_C_TAG_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/is_placeholder.hpp b/include/ndnboost/mpl/is_placeholder.hpp
index 0e29891..93f9653 100644
--- a/include/ndnboost/mpl/is_placeholder.hpp
+++ b/include/ndnboost/mpl/is_placeholder.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_IS_PLACEHOLDER_HPP_INCLUDED
-#define BOOST_MPL_IS_PLACEHOLDER_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_IS_PLACEHOLDER_HPP_INCLUDED
+#define NDNBOOST_MPL_IS_PLACEHOLDER_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2001-2004
 //
@@ -24,7 +24,7 @@
 
 namespace ndnboost { namespace mpl {
 
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+#if !defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
 
 template< typename T >
 struct is_placeholder
@@ -32,7 +32,7 @@
 {
 };
 
-template< BOOST_MPL_AUX_NTTP_DECL(int, N) >
+template< NDNBOOST_MPL_AUX_NTTP_DECL(int, N) >
 struct is_placeholder< arg<N> >
     : bool_<true>
 {
@@ -44,7 +44,7 @@
 
 aux::no_tag is_placeholder_helper(...);
 
-template< BOOST_MPL_AUX_NTTP_DECL(int, N) >
+template< NDNBOOST_MPL_AUX_NTTP_DECL(int, N) >
 aux::yes_tag is_placeholder_helper(aux::type_wrapper< arg<N> >*);
 
 } // namespace aux
@@ -53,15 +53,15 @@
 struct is_placeholder
 {
     static aux::type_wrapper<T>* get();
-    BOOST_STATIC_CONSTANT(bool, value = 
+    NDNBOOST_STATIC_CONSTANT(bool, value = 
           sizeof(aux::is_placeholder_helper(get())) == sizeof(aux::yes_tag)
         );
     
     typedef bool_<value> type;
 };
 
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#endif // NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 
 }}
 
-#endif // BOOST_MPL_IS_PLACEHOLDER_HPP_INCLUDED
+#endif // NDNBOOST_MPL_IS_PLACEHOLDER_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/is_sequence.hpp b/include/ndnboost/mpl/is_sequence.hpp
index a192da6..24111bf 100644
--- a/include/ndnboost/mpl/is_sequence.hpp
+++ b/include/ndnboost/mpl/is_sequence.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_IS_SEQUENCE_HPP_INCLUDED
-#define BOOST_MPL_IS_SEQUENCE_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_IS_SEQUENCE_HPP_INCLUDED
+#define NDNBOOST_MPL_IS_SEQUENCE_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2002-2004
 //
@@ -29,9 +29,9 @@
 #include <ndnboost/mpl/aux_/config/eti.hpp>
 #include <ndnboost/mpl/aux_/config/msvc.hpp>
 #include <ndnboost/mpl/aux_/config/workaround.hpp>
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
+#if NDNBOOST_WORKAROUND(NDNBOOST_MSVC, < 1300)
 #   include <ndnboost/mpl/aux_/msvc_is_class.hpp>
-#elif BOOST_WORKAROUND(BOOST_MSVC, == 1300)
+#elif NDNBOOST_WORKAROUND(NDNBOOST_MSVC, == 1300)
 #   include <ndnboost/type_traits/is_class.hpp>
 #endif
 
@@ -39,7 +39,7 @@
 
 namespace ndnboost { namespace mpl {
 
-#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
+#if NDNBOOST_WORKAROUND(NDNBOOST_MSVC, <= 1300)
 
 namespace aux {
 
@@ -59,11 +59,11 @@
 } // namespace aux
         
 template<
-      typename BOOST_MPL_AUX_NA_PARAM(T)
+      typename NDNBOOST_MPL_AUX_NA_PARAM(T)
     >
 struct is_sequence
     : if_<
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
+#if NDNBOOST_WORKAROUND(NDNBOOST_MSVC, < 1300)
           aux::msvc_is_class<T> 
 #else
           ndnboost::is_class<T> 
@@ -72,13 +72,13 @@
         , bool_<false>
         >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(1, is_sequence, (T))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(1, is_sequence, (T))
 };
 
-#elif defined(BOOST_MPL_CFG_NO_HAS_XXX)
+#elif defined(NDNBOOST_MPL_CFG_NO_HAS_XXX)
 
 template<
-      typename BOOST_MPL_AUX_NA_PARAM(T)
+      typename NDNBOOST_MPL_AUX_NA_PARAM(T)
     >
 struct is_sequence
     : bool_<false>
@@ -88,25 +88,25 @@
 #else
 
 template<
-      typename BOOST_MPL_AUX_NA_PARAM(T)
+      typename NDNBOOST_MPL_AUX_NA_PARAM(T)
     >
 struct is_sequence
     : not_< is_same< typename begin<T>::type, void_ > >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(1, is_sequence, (T))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(1, is_sequence, (T))
 };
 
-#endif // BOOST_MSVC
+#endif // NDNBOOST_MSVC
 
-#if defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG)
+#if defined(NDNBOOST_MPL_CFG_MSVC_60_ETI_BUG)
 template<> struct is_sequence<int>
     : bool_<false>
 {
 };
 #endif
 
-BOOST_MPL_AUX_NA_SPEC_NO_ETI(1, is_sequence)
+NDNBOOST_MPL_AUX_NA_SPEC_NO_ETI(1, is_sequence)
 
 }}
 
-#endif // BOOST_MPL_IS_SEQUENCE_HPP_INCLUDED
+#endif // NDNBOOST_MPL_IS_SEQUENCE_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/iter_fold.hpp b/include/ndnboost/mpl/iter_fold.hpp
index 8dbaa6d..a8480b8 100644
--- a/include/ndnboost/mpl/iter_fold.hpp
+++ b/include/ndnboost/mpl/iter_fold.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_ITER_FOLD_HPP_INCLUDED
-#define BOOST_MPL_ITER_FOLD_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_ITER_FOLD_HPP_INCLUDED
+#define NDNBOOST_MPL_ITER_FOLD_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2001-2004
 // Copyright David Abrahams 2001-2002
@@ -25,9 +25,9 @@
 namespace ndnboost { namespace mpl {
 
 template<
-      typename BOOST_MPL_AUX_NA_PARAM(Sequence)
-    , typename BOOST_MPL_AUX_NA_PARAM(State)
-    , typename BOOST_MPL_AUX_NA_PARAM(ForwardOp)
+      typename NDNBOOST_MPL_AUX_NA_PARAM(Sequence)
+    , typename NDNBOOST_MPL_AUX_NA_PARAM(State)
+    , typename NDNBOOST_MPL_AUX_NA_PARAM(ForwardOp)
     >
 struct iter_fold
 {
@@ -39,11 +39,11 @@
         , typename lambda<ForwardOp>::type
         >::state type;
 
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(3,iter_fold,(Sequence,State,ForwardOp))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(3,iter_fold,(Sequence,State,ForwardOp))
 };
 
-BOOST_MPL_AUX_NA_SPEC(3, iter_fold)
+NDNBOOST_MPL_AUX_NA_SPEC(3, iter_fold)
 
 }}
 
-#endif // BOOST_MPL_ITER_FOLD_HPP_INCLUDED
+#endif // NDNBOOST_MPL_ITER_FOLD_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/iter_fold_if.hpp b/include/ndnboost/mpl/iter_fold_if.hpp
index 3373579..14f8765 100644
--- a/include/ndnboost/mpl/iter_fold_if.hpp
+++ b/include/ndnboost/mpl/iter_fold_if.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_ITER_FOLD_IF_HPP_INCLUDED
-#define BOOST_MPL_ITER_FOLD_IF_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_ITER_FOLD_IF_HPP_INCLUDED
+#define NDNBOOST_MPL_ITER_FOLD_IF_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2003-2004
 // Copyright Eric Friedman 2003
@@ -38,7 +38,7 @@
 struct iter_fold_if_pred
 {
     template< typename State, typename Iterator > struct apply
-#if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING)
+#if !defined(NDNBOOST_MPL_CFG_NO_NESTED_FORWARDING)
         : and_<
               not_< is_same<Iterator,LastIterator> >
             , apply1<Predicate,Iterator>
@@ -57,12 +57,12 @@
 } // namespace aux
 
 template<
-      typename BOOST_MPL_AUX_NA_PARAM(Sequence)
-    , typename BOOST_MPL_AUX_NA_PARAM(State)
-    , typename BOOST_MPL_AUX_NA_PARAM(ForwardOp)
-    , typename BOOST_MPL_AUX_NA_PARAM(ForwardPredicate)
-    , typename BOOST_MPL_AUX_NA_PARAM(BackwardOp)
-    , typename BOOST_MPL_AUX_NA_PARAM(BackwardPredicate)
+      typename NDNBOOST_MPL_AUX_NA_PARAM(Sequence)
+    , typename NDNBOOST_MPL_AUX_NA_PARAM(State)
+    , typename NDNBOOST_MPL_AUX_NA_PARAM(ForwardOp)
+    , typename NDNBOOST_MPL_AUX_NA_PARAM(ForwardPredicate)
+    , typename NDNBOOST_MPL_AUX_NA_PARAM(BackwardOp)
+    , typename NDNBOOST_MPL_AUX_NA_PARAM(BackwardPredicate)
     >
 struct iter_fold_if
 {
@@ -77,7 +77,7 @@
         >::type backward_pred_;
 
 // cwpro8 doesn't like 'cut-off' type here (use typedef instead)
-#if !BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3003)) && !BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(600))
+#if !NDNBOOST_WORKAROUND(__MWERKS__, NDNBOOST_TESTED_AT(0x3003)) && !NDNBOOST_WORKAROUND(__IBMCPP__, NDNBOOST_TESTED_AT(600))
     struct result_ :
 #else
     typedef
@@ -90,7 +90,7 @@
         , BackwardOp
         , backward_pred_
         >
-#if !BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3003)) && !BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(600))
+#if !NDNBOOST_WORKAROUND(__MWERKS__, NDNBOOST_TESTED_AT(0x3003)) && !NDNBOOST_WORKAROUND(__IBMCPP__, NDNBOOST_TESTED_AT(600))
     { };
 #else
     result_;
@@ -103,15 +103,15 @@
         , typename result_::iterator
         > type;
 
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           6
         , iter_fold_if
         , (Sequence,State,ForwardOp,ForwardPredicate,BackwardOp,BackwardPredicate)
         )
 };
 
-BOOST_MPL_AUX_NA_SPEC(6, iter_fold_if)
+NDNBOOST_MPL_AUX_NA_SPEC(6, iter_fold_if)
 
 }}
 
-#endif // BOOST_MPL_ITER_FOLD_IF_HPP_INCLUDED
+#endif // NDNBOOST_MPL_ITER_FOLD_IF_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/iterator_range.hpp b/include/ndnboost/mpl/iterator_range.hpp
index 906ddd3..cc8cc88 100644
--- a/include/ndnboost/mpl/iterator_range.hpp
+++ b/include/ndnboost/mpl/iterator_range.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_ITERATOR_RANGE_HPP_INCLUDED
-#define BOOST_MPL_ITERATOR_RANGE_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_ITERATOR_RANGE_HPP_INCLUDED
+#define NDNBOOST_MPL_ITERATOR_RANGE_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2001-2004
 //
@@ -22,8 +22,8 @@
 struct iterator_range_tag;
 
 template<
-      typename BOOST_MPL_AUX_NA_PARAM(First)
-    , typename BOOST_MPL_AUX_NA_PARAM(Last)
+      typename NDNBOOST_MPL_AUX_NA_PARAM(First)
+    , typename NDNBOOST_MPL_AUX_NA_PARAM(Last)
     >
 struct iterator_range
 {
@@ -32,11 +32,11 @@
     typedef First begin;
     typedef Last end;
 
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2,iterator_range,(First,Last))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2,iterator_range,(First,Last))
 };
 
-BOOST_MPL_AUX_NA_SPEC(2, iterator_range)
+NDNBOOST_MPL_AUX_NA_SPEC(2, iterator_range)
 
 }}
 
-#endif // BOOST_MPL_ITERATOR_RANGE_HPP_INCLUDED
+#endif // NDNBOOST_MPL_ITERATOR_RANGE_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/iterator_tags.hpp b/include/ndnboost/mpl/iterator_tags.hpp
index 540f921..986ab69 100644
--- a/include/ndnboost/mpl/iterator_tags.hpp
+++ b/include/ndnboost/mpl/iterator_tags.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_ITERATOR_TAG_HPP_INCLUDED
-#define BOOST_MPL_ITERATOR_TAG_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_ITERATOR_TAG_HPP_INCLUDED
+#define NDNBOOST_MPL_ITERATOR_TAG_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -24,4 +24,4 @@
 
 }}
 
-#endif // BOOST_MPL_ITERATOR_TAG_HPP_INCLUDED
+#endif // NDNBOOST_MPL_ITERATOR_TAG_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/lambda.hpp b/include/ndnboost/mpl/lambda.hpp
index ba43514..a617547 100644
--- a/include/ndnboost/mpl/lambda.hpp
+++ b/include/ndnboost/mpl/lambda.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_LAMBDA_HPP_INCLUDED
-#define BOOST_MPL_LAMBDA_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_LAMBDA_HPP_INCLUDED
+#define NDNBOOST_MPL_LAMBDA_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2001-2004
 //
@@ -18,12 +18,12 @@
 #include <ndnboost/mpl/bind.hpp>
 #include <ndnboost/mpl/aux_/config/lambda.hpp>
 
-#if !defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT)
+#if !defined(NDNBOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT)
 #   include <ndnboost/mpl/aux_/full_lambda.hpp>
 #else
 #   include <ndnboost/mpl/aux_/lambda_no_ctps.hpp>
 #   include <ndnboost/mpl/aux_/lambda_support.hpp>
-#   define BOOST_MPL_CFG_NO_IMPLICIT_METAFUNCTIONS
+#   define NDNBOOST_MPL_CFG_NO_IMPLICIT_METAFUNCTIONS
 #endif
 
-#endif // BOOST_MPL_LAMBDA_HPP_INCLUDED
+#endif // NDNBOOST_MPL_LAMBDA_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/lambda_fwd.hpp b/include/ndnboost/mpl/lambda_fwd.hpp
index c7f3ec6..8fb94d8 100644
--- a/include/ndnboost/mpl/lambda_fwd.hpp
+++ b/include/ndnboost/mpl/lambda_fwd.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_LAMBDA_FWD_HPP_INCLUDED
-#define BOOST_MPL_LAMBDA_FWD_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_LAMBDA_FWD_HPP_INCLUDED
+#define NDNBOOST_MPL_LAMBDA_FWD_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2001-2004
 //
@@ -18,7 +18,7 @@
 #include <ndnboost/mpl/aux_/na.hpp>
 #include <ndnboost/mpl/aux_/config/lambda.hpp>
 
-#if !defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT)
+#if !defined(NDNBOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT)
 
 #   include <ndnboost/mpl/int.hpp>
 #   include <ndnboost/mpl/aux_/lambda_arity_param.hpp>
@@ -29,7 +29,7 @@
 template< 
       typename T = na
     , typename Tag = void_
-    BOOST_MPL_AUX_LAMBDA_ARITY_PARAM(
+    NDNBOOST_MPL_AUX_LAMBDA_ARITY_PARAM(
           typename Arity = int_< aux::template_arity<T>::value >
         )
     >
@@ -37,7 +37,7 @@
 
 }}
 
-#else // BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT
+#else // NDNBOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT
 
 #   include <ndnboost/mpl/bool.hpp>
 
@@ -54,4 +54,4 @@
 
 #endif
 
-#endif // BOOST_MPL_LAMBDA_FWD_HPP_INCLUDED
+#endif // NDNBOOST_MPL_LAMBDA_FWD_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/less.hpp b/include/ndnboost/mpl/less.hpp
index 12043a8..14431f5 100644
--- a/include/ndnboost/mpl/less.hpp
+++ b/include/ndnboost/mpl/less.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_LESS_HPP_INCLUDED
-#define BOOST_MPL_LESS_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_LESS_HPP_INCLUDED
+#define NDNBOOST_MPL_LESS_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -18,4 +18,4 @@
 #define AUX778076_OP_TOKEN <
 #include <ndnboost/mpl/aux_/comparison_op.hpp>
 
-#endif // BOOST_MPL_LESS_HPP_INCLUDED
+#endif // NDNBOOST_MPL_LESS_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/less_equal.hpp b/include/ndnboost/mpl/less_equal.hpp
index 9fd7a46..b758a3f 100644
--- a/include/ndnboost/mpl/less_equal.hpp
+++ b/include/ndnboost/mpl/less_equal.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_LESS_EQUAL_HPP_INCLUDED
-#define BOOST_MPL_LESS_EQUAL_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_LESS_EQUAL_HPP_INCLUDED
+#define NDNBOOST_MPL_LESS_EQUAL_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -18,4 +18,4 @@
 #define AUX778076_OP_TOKEN <=
 #include <ndnboost/mpl/aux_/comparison_op.hpp>
 
-#endif // BOOST_MPL_LESS_EQUAL_HPP_INCLUDED
+#endif // NDNBOOST_MPL_LESS_EQUAL_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/limits/arity.hpp b/include/ndnboost/mpl/limits/arity.hpp
index 9da70ab..0c9650b 100644
--- a/include/ndnboost/mpl/limits/arity.hpp
+++ b/include/ndnboost/mpl/limits/arity.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_LIMITS_ARITY_HPP_INCLUDED
-#define BOOST_MPL_LIMITS_ARITY_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_LIMITS_ARITY_HPP_INCLUDED
+#define NDNBOOST_MPL_LIMITS_ARITY_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -14,8 +14,8 @@
 // $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
 // $Revision: 49267 $
 
-#if !defined(BOOST_MPL_LIMIT_METAFUNCTION_ARITY)
-#   define BOOST_MPL_LIMIT_METAFUNCTION_ARITY 5
+#if !defined(NDNBOOST_MPL_LIMIT_METAFUNCTION_ARITY)
+#   define NDNBOOST_MPL_LIMIT_METAFUNCTION_ARITY 5
 #endif
 
-#endif // BOOST_MPL_LIMITS_ARITY_HPP_INCLUDED
+#endif // NDNBOOST_MPL_LIMITS_ARITY_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/limits/list.hpp b/include/ndnboost/mpl/limits/list.hpp
index 6ae7387..5a37ea0 100644
--- a/include/ndnboost/mpl/limits/list.hpp
+++ b/include/ndnboost/mpl/limits/list.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_LIMITS_LIST_HPP_INCLUDED
-#define BOOST_MPL_LIMITS_LIST_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_LIMITS_LIST_HPP_INCLUDED
+#define NDNBOOST_MPL_LIMITS_LIST_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -14,8 +14,8 @@
 // $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
 // $Revision: 49267 $
 
-#if !defined(BOOST_MPL_LIMIT_LIST_SIZE)
-#   define BOOST_MPL_LIMIT_LIST_SIZE 20
+#if !defined(NDNBOOST_MPL_LIMIT_LIST_SIZE)
+#   define NDNBOOST_MPL_LIMIT_LIST_SIZE 20
 #endif
 
-#endif // BOOST_MPL_LIMITS_LIST_HPP_INCLUDED
+#endif // NDNBOOST_MPL_LIMITS_LIST_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/limits/unrolling.hpp b/include/ndnboost/mpl/limits/unrolling.hpp
index 3914f0a..edf5500 100644
--- a/include/ndnboost/mpl/limits/unrolling.hpp
+++ b/include/ndnboost/mpl/limits/unrolling.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_LIMITS_UNROLLING_HPP_INCLUDED
-#define BOOST_MPL_LIMITS_UNROLLING_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_LIMITS_UNROLLING_HPP_INCLUDED
+#define NDNBOOST_MPL_LIMITS_UNROLLING_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -14,8 +14,8 @@
 // $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
 // $Revision: 49267 $
 
-#if !defined(BOOST_MPL_LIMIT_UNROLLING)
-#   define BOOST_MPL_LIMIT_UNROLLING 4
+#if !defined(NDNBOOST_MPL_LIMIT_UNROLLING)
+#   define NDNBOOST_MPL_LIMIT_UNROLLING 4
 #endif
 
-#endif // BOOST_MPL_LIMITS_UNROLLING_HPP_INCLUDED
+#endif // NDNBOOST_MPL_LIMITS_UNROLLING_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/limits/vector.hpp b/include/ndnboost/mpl/limits/vector.hpp
index 5de3811..567b258 100644
--- a/include/ndnboost/mpl/limits/vector.hpp
+++ b/include/ndnboost/mpl/limits/vector.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_LIMITS_VECTOR_HPP_INCLUDED
-#define BOOST_MPL_LIMITS_VECTOR_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_LIMITS_VECTOR_HPP_INCLUDED
+#define NDNBOOST_MPL_LIMITS_VECTOR_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -14,8 +14,8 @@
 // $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
 // $Revision: 49267 $
 
-#if !defined(BOOST_MPL_LIMIT_VECTOR_SIZE)
-#   define BOOST_MPL_LIMIT_VECTOR_SIZE 20
+#if !defined(NDNBOOST_MPL_LIMIT_VECTOR_SIZE)
+#   define NDNBOOST_MPL_LIMIT_VECTOR_SIZE 20
 #endif
 
-#endif // BOOST_MPL_LIMITS_VECTOR_HPP_INCLUDED
+#endif // NDNBOOST_MPL_LIMITS_VECTOR_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/list.hpp b/include/ndnboost/mpl/list.hpp
index 89655f3..134c828 100644
--- a/include/ndnboost/mpl/list.hpp
+++ b/include/ndnboost/mpl/list.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_LIST_HPP_INCLUDED
-#define BOOST_MPL_LIST_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_LIST_HPP_INCLUDED
+#define NDNBOOST_MPL_LIST_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -14,7 +14,7 @@
 // $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
 // $Revision: 49267 $
 
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
+#if !defined(NDNBOOST_MPL_PREPROCESSING_MODE)
 #   include <ndnboost/mpl/limits/list.hpp>
 #   include <ndnboost/mpl/aux_/na.hpp>
 #   include <ndnboost/mpl/aux_/config/preprocessor.hpp>
@@ -23,26 +23,26 @@
 #   include <ndnboost/preprocessor/cat.hpp>
 #   include <ndnboost/preprocessor/stringize.hpp>
 
-#if !defined(BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING)
+#if !defined(NDNBOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING)
 #   define AUX778076_LIST_HEADER \
-    BOOST_PP_CAT(list,BOOST_MPL_LIMIT_LIST_SIZE).hpp \
+    NDNBOOST_PP_CAT(list,NDNBOOST_MPL_LIMIT_LIST_SIZE).hpp \
     /**/
 #else
 #   define AUX778076_LIST_HEADER \
-    BOOST_PP_CAT(list,BOOST_MPL_LIMIT_LIST_SIZE)##.hpp \
+    NDNBOOST_PP_CAT(list,NDNBOOST_MPL_LIMIT_LIST_SIZE)##.hpp \
     /**/
 #endif
 
-#   include BOOST_PP_STRINGIZE(ndnboost/mpl/list/AUX778076_LIST_HEADER)
+#   include NDNBOOST_PP_STRINGIZE(ndnboost/mpl/list/AUX778076_LIST_HEADER)
 #   undef AUX778076_LIST_HEADER
 #endif
 
 #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 list.hpp
+#   define NDNBOOST_MPL_PREPROCESSED_HEADER list.hpp
 #   include <ndnboost/mpl/aux_/include_preprocessed.hpp>
 
 #else
@@ -50,8 +50,8 @@
 #   include <ndnboost/mpl/limits/list.hpp>
 
 #   define AUX778076_SEQUENCE_NAME list
-#   define AUX778076_SEQUENCE_LIMIT BOOST_MPL_LIMIT_LIST_SIZE
+#   define AUX778076_SEQUENCE_LIMIT NDNBOOST_MPL_LIMIT_LIST_SIZE
 #   include <ndnboost/mpl/aux_/sequence_wrapper.hpp>
 
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-#endif // BOOST_MPL_LIST_HPP_INCLUDED
+#endif // NDNBOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
+#endif // NDNBOOST_MPL_LIST_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/list/aux_/O1_size.hpp b/include/ndnboost/mpl/list/aux_/O1_size.hpp
index f5fda21..801a404 100644
--- a/include/ndnboost/mpl/list/aux_/O1_size.hpp
+++ b/include/ndnboost/mpl/list/aux_/O1_size.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_LIST_AUX_O1_SIZE_HPP_INCLUDED
-#define BOOST_MPL_LIST_AUX_O1_SIZE_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_LIST_AUX_O1_SIZE_HPP_INCLUDED
+#define NDNBOOST_MPL_LIST_AUX_O1_SIZE_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -30,4 +30,4 @@
 
 }}
 
-#endif // BOOST_MPL_LIST_AUX_O1_SIZE_HPP_INCLUDED
+#endif // NDNBOOST_MPL_LIST_AUX_O1_SIZE_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/list/aux_/begin_end.hpp b/include/ndnboost/mpl/list/aux_/begin_end.hpp
index 6c3e7ff..481ece9 100644
--- a/include/ndnboost/mpl/list/aux_/begin_end.hpp
+++ b/include/ndnboost/mpl/list/aux_/begin_end.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_LIST_AUX_BEGIN_END_HPP_INCLUDED
-#define BOOST_MPL_LIST_AUX_BEGIN_END_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_LIST_AUX_BEGIN_END_HPP_INCLUDED
+#define NDNBOOST_MPL_LIST_AUX_BEGIN_END_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -41,4 +41,4 @@
 
 }}
 
-#endif // BOOST_MPL_LIST_AUX_BEGIN_END_HPP_INCLUDED
+#endif // NDNBOOST_MPL_LIST_AUX_BEGIN_END_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/list/aux_/clear.hpp b/include/ndnboost/mpl/list/aux_/clear.hpp
index 05cf597..986ca56 100644
--- a/include/ndnboost/mpl/list/aux_/clear.hpp
+++ b/include/ndnboost/mpl/list/aux_/clear.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_LIST_AUX_CLEAR_HPP_INCLUDED
-#define BOOST_MPL_LIST_AUX_CLEAR_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_LIST_AUX_CLEAR_HPP_INCLUDED
+#define NDNBOOST_MPL_LIST_AUX_CLEAR_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -31,4 +31,4 @@
 
 }}
 
-#endif // BOOST_MPL_LIST_AUX_CLEAR_HPP_INCLUDED
+#endif // NDNBOOST_MPL_LIST_AUX_CLEAR_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/list/aux_/empty.hpp b/include/ndnboost/mpl/list/aux_/empty.hpp
index e40effc..bdd9f31 100644
--- a/include/ndnboost/mpl/list/aux_/empty.hpp
+++ b/include/ndnboost/mpl/list/aux_/empty.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_LIST_AUX_EMPTY_HPP_INCLUDED
-#define BOOST_MPL_LIST_AUX_EMPTY_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_LIST_AUX_EMPTY_HPP_INCLUDED
+#define NDNBOOST_MPL_LIST_AUX_EMPTY_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -31,4 +31,4 @@
 
 }}
 
-#endif // BOOST_MPL_LIST_AUX_EMPTY_HPP_INCLUDED
+#endif // NDNBOOST_MPL_LIST_AUX_EMPTY_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/list/aux_/front.hpp b/include/ndnboost/mpl/list/aux_/front.hpp
index dcb43ab..9ee1dd6 100644
--- a/include/ndnboost/mpl/list/aux_/front.hpp
+++ b/include/ndnboost/mpl/list/aux_/front.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_LIST_AUX_FRONT_HPP_INCLUDED
-#define BOOST_MPL_LIST_AUX_FRONT_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_LIST_AUX_FRONT_HPP_INCLUDED
+#define NDNBOOST_MPL_LIST_AUX_FRONT_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -30,4 +30,4 @@
 
 }}
 
-#endif // BOOST_MPL_LIST_AUX_FRONT_HPP_INCLUDED
+#endif // NDNBOOST_MPL_LIST_AUX_FRONT_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/list/aux_/include_preprocessed.hpp b/include/ndnboost/mpl/list/aux_/include_preprocessed.hpp
index 6f25939..cbeea8b 100644
--- a/include/ndnboost/mpl/list/aux_/include_preprocessed.hpp
+++ b/include/ndnboost/mpl/list/aux_/include_preprocessed.hpp
@@ -19,17 +19,17 @@
 #include <ndnboost/preprocessor/stringize.hpp>
 
 #   define AUX778076_HEADER \
-    aux_/preprocessed/plain/BOOST_MPL_PREPROCESSED_HEADER \
+    aux_/preprocessed/plain/NDNBOOST_MPL_PREPROCESSED_HEADER \
 /**/
 
-#if BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(700))
-#   define AUX778076_INCLUDE_STRING BOOST_PP_STRINGIZE(ndnboost/mpl/list/AUX778076_HEADER)
+#if NDNBOOST_WORKAROUND(__IBMCPP__, NDNBOOST_TESTED_AT(700))
+#   define AUX778076_INCLUDE_STRING NDNBOOST_PP_STRINGIZE(ndnboost/mpl/list/AUX778076_HEADER)
 #   include AUX778076_INCLUDE_STRING
 #   undef AUX778076_INCLUDE_STRING
 #else
-#   include BOOST_PP_STRINGIZE(ndnboost/mpl/list/AUX778076_HEADER)
+#   include NDNBOOST_PP_STRINGIZE(ndnboost/mpl/list/AUX778076_HEADER)
 #endif
 
 #   undef AUX778076_HEADER
 
-#undef BOOST_MPL_PREPROCESSED_HEADER
+#undef NDNBOOST_MPL_PREPROCESSED_HEADER
diff --git a/include/ndnboost/mpl/list/aux_/item.hpp b/include/ndnboost/mpl/list/aux_/item.hpp
index 3048007..393529a 100644
--- a/include/ndnboost/mpl/list/aux_/item.hpp
+++ b/include/ndnboost/mpl/list/aux_/item.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_LIST_AUX_NODE_HPP_INCLUDED
-#define BOOST_MPL_LIST_AUX_NODE_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_LIST_AUX_NODE_HPP_INCLUDED
+#define NDNBOOST_MPL_LIST_AUX_NODE_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -29,7 +29,7 @@
 struct l_item
 {
 // agurt, 17/jul/03: to facilitate the deficient 'is_sequence' implementation 
-#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
+#if NDNBOOST_WORKAROUND(NDNBOOST_MSVC, <= 1300)
     typedef int begin;
 #endif
     typedef aux::list_tag tag;
@@ -42,7 +42,7 @@
 
 struct l_end
 {
-#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
+#if NDNBOOST_WORKAROUND(NDNBOOST_MSVC, <= 1300)
     typedef int begin;
 #endif
     typedef aux::list_tag tag;
@@ -52,4 +52,4 @@
 
 }}
 
-#endif // BOOST_MPL_LIST_AUX_NODE_HPP_INCLUDED
+#endif // NDNBOOST_MPL_LIST_AUX_NODE_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/list/aux_/iterator.hpp b/include/ndnboost/mpl/list/aux_/iterator.hpp
index 492f779..914a27d 100644
--- a/include/ndnboost/mpl/list/aux_/iterator.hpp
+++ b/include/ndnboost/mpl/list/aux_/iterator.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_LIST_AUX_ITERATOR_HPP_INCLUDED
-#define BOOST_MPL_LIST_AUX_ITERATOR_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_LIST_AUX_ITERATOR_HPP_INCLUDED
+#define NDNBOOST_MPL_LIST_AUX_ITERATOR_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -24,7 +24,7 @@
 
 namespace ndnboost { namespace mpl {
 
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+#if !defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
 
 template< typename Node >
 struct l_iter
@@ -45,7 +45,7 @@
     typedef l_iter< typename Node::next > type;
 };
 
-#else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#else // NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 
 template< typename Node >
 struct l_iter
@@ -63,14 +63,14 @@
 {
     typedef aux::l_iter_tag tag;
     typedef forward_iterator_tag category;
-#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+#if defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
     typedef na type;
     typedef l_iter next;
 #endif
 };
 
-BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, l_iter)
+NDNBOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, l_iter)
 
 }}
 
-#endif // BOOST_MPL_LIST_AUX_ITERATOR_HPP_INCLUDED
+#endif // NDNBOOST_MPL_LIST_AUX_ITERATOR_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/list/aux_/numbered.hpp b/include/ndnboost/mpl/list/aux_/numbered.hpp
index 052c368..15c642e 100644
--- a/include/ndnboost/mpl/list/aux_/numbered.hpp
+++ b/include/ndnboost/mpl/list/aux_/numbered.hpp
@@ -14,19 +14,19 @@
 // $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
 // $Revision: 49267 $
 
-#if defined(BOOST_PP_IS_ITERATING)
+#if defined(NDNBOOST_PP_IS_ITERATING)
 
 #include <ndnboost/preprocessor/enum_params.hpp>
 #include <ndnboost/preprocessor/enum_shifted_params.hpp>
 #include <ndnboost/preprocessor/dec.hpp>
 #include <ndnboost/preprocessor/cat.hpp>
 
-#define i BOOST_PP_FRAME_ITERATION(1)
+#define i NDNBOOST_PP_FRAME_ITERATION(1)
 
 #if i == 1
 
 template<
-      BOOST_PP_ENUM_PARAMS(i, typename T)
+      NDNBOOST_PP_ENUM_PARAMS(i, typename T)
     >
 struct list1
     : l_item<
@@ -41,22 +41,22 @@
 #else
 
 #   define MPL_AUX_LIST_TAIL(list, i, T) \
-    BOOST_PP_CAT(list,BOOST_PP_DEC(i))< \
-      BOOST_PP_ENUM_SHIFTED_PARAMS(i, T) \
+    NDNBOOST_PP_CAT(list,NDNBOOST_PP_DEC(i))< \
+      NDNBOOST_PP_ENUM_SHIFTED_PARAMS(i, T) \
     > \
     /**/
     
 template<
-      BOOST_PP_ENUM_PARAMS(i, typename T)
+      NDNBOOST_PP_ENUM_PARAMS(i, typename T)
     >
-struct BOOST_PP_CAT(list,i)
+struct NDNBOOST_PP_CAT(list,i)
     : l_item<
           long_<i>
         , T0
         , MPL_AUX_LIST_TAIL(list,i,T)
         >
 {
-    typedef BOOST_PP_CAT(list,i) type;
+    typedef NDNBOOST_PP_CAT(list,i) type;
 };
 
 #   undef MPL_AUX_LIST_TAIL
@@ -65,4 +65,4 @@
 
 #undef i
 
-#endif // BOOST_PP_IS_ITERATING
+#endif // NDNBOOST_PP_IS_ITERATING
diff --git a/include/ndnboost/mpl/list/aux_/numbered_c.hpp b/include/ndnboost/mpl/list/aux_/numbered_c.hpp
index 7126440..dc8fd63 100644
--- a/include/ndnboost/mpl/list/aux_/numbered_c.hpp
+++ b/include/ndnboost/mpl/list/aux_/numbered_c.hpp
@@ -13,20 +13,20 @@
 // $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
 // $Revision: 49267 $
 
-#if defined(BOOST_PP_IS_ITERATING)
+#if defined(NDNBOOST_PP_IS_ITERATING)
 
 #include <ndnboost/preprocessor/enum_params.hpp>
 #include <ndnboost/preprocessor/enum_shifted_params.hpp>
 #include <ndnboost/preprocessor/dec.hpp>
 #include <ndnboost/preprocessor/cat.hpp>
 
-#define i BOOST_PP_FRAME_ITERATION(1)
+#define i NDNBOOST_PP_FRAME_ITERATION(1)
 
 #if i == 1
 
 template<
       typename T
-    , BOOST_PP_ENUM_PARAMS(i, T C)
+    , NDNBOOST_PP_ENUM_PARAMS(i, T C)
     >
 struct list1_c
     : l_item<
@@ -42,23 +42,23 @@
 #else
 
 #   define MPL_AUX_LIST_C_TAIL(list, i, C) \
-    BOOST_PP_CAT(BOOST_PP_CAT(list,BOOST_PP_DEC(i)),_c)<T, \
-      BOOST_PP_ENUM_SHIFTED_PARAMS(i, C) \
+    NDNBOOST_PP_CAT(NDNBOOST_PP_CAT(list,NDNBOOST_PP_DEC(i)),_c)<T, \
+      NDNBOOST_PP_ENUM_SHIFTED_PARAMS(i, C) \
     > \
     /**/
     
 template<
       typename T
-    , BOOST_PP_ENUM_PARAMS(i, T C)
+    , NDNBOOST_PP_ENUM_PARAMS(i, T C)
     >
-struct BOOST_PP_CAT(BOOST_PP_CAT(list,i),_c)
+struct NDNBOOST_PP_CAT(NDNBOOST_PP_CAT(list,i),_c)
     : l_item<
           long_<i>
         , integral_c<T,C0>
         , MPL_AUX_LIST_C_TAIL(list,i,C)
         >
 {
-    typedef BOOST_PP_CAT(BOOST_PP_CAT(list,i),_c) type;
+    typedef NDNBOOST_PP_CAT(NDNBOOST_PP_CAT(list,i),_c) type;
     typedef T value_type;
 };
 
@@ -68,4 +68,4 @@
 
 #undef i
 
-#endif // BOOST_PP_IS_ITERATING
+#endif // NDNBOOST_PP_IS_ITERATING
diff --git a/include/ndnboost/mpl/list/aux_/pop_front.hpp b/include/ndnboost/mpl/list/aux_/pop_front.hpp
index 27c2dae..b8d7444 100644
--- a/include/ndnboost/mpl/list/aux_/pop_front.hpp
+++ b/include/ndnboost/mpl/list/aux_/pop_front.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_LIST_AUX_POP_FRONT_HPP_INCLUDED
-#define BOOST_MPL_LIST_AUX_POP_FRONT_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_LIST_AUX_POP_FRONT_HPP_INCLUDED
+#define NDNBOOST_MPL_LIST_AUX_POP_FRONT_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -31,4 +31,4 @@
 
 }}
 
-#endif // BOOST_MPL_LIST_AUX_POP_FRONT_HPP_INCLUDED
+#endif // NDNBOOST_MPL_LIST_AUX_POP_FRONT_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/list/aux_/push_back.hpp b/include/ndnboost/mpl/list/aux_/push_back.hpp
index 41c2f9c..f82758c 100644
--- a/include/ndnboost/mpl/list/aux_/push_back.hpp
+++ b/include/ndnboost/mpl/list/aux_/push_back.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_LIST_AUX_PUSH_BACK_HPP_INCLUDED
-#define BOOST_MPL_LIST_AUX_PUSH_BACK_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_LIST_AUX_PUSH_BACK_HPP_INCLUDED
+#define NDNBOOST_MPL_LIST_AUX_PUSH_BACK_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -33,4 +33,4 @@
 
 }}
 
-#endif // BOOST_MPL_LIST_AUX_PUSH_BACK_HPP_INCLUDED
+#endif // NDNBOOST_MPL_LIST_AUX_PUSH_BACK_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/list/aux_/push_front.hpp b/include/ndnboost/mpl/list/aux_/push_front.hpp
index 9b0ed8c..2233882 100644
--- a/include/ndnboost/mpl/list/aux_/push_front.hpp
+++ b/include/ndnboost/mpl/list/aux_/push_front.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_LIST_AUX_PUSH_FRONT_HPP_INCLUDED
-#define BOOST_MPL_LIST_AUX_PUSH_FRONT_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_LIST_AUX_PUSH_FRONT_HPP_INCLUDED
+#define NDNBOOST_MPL_LIST_AUX_PUSH_FRONT_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -36,4 +36,4 @@
 
 }}
 
-#endif // BOOST_MPL_LIST_AUX_PUSH_FRONT_HPP_INCLUDED
+#endif // NDNBOOST_MPL_LIST_AUX_PUSH_FRONT_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/list/aux_/size.hpp b/include/ndnboost/mpl/list/aux_/size.hpp
index 8581584..5e9c5d1 100644
--- a/include/ndnboost/mpl/list/aux_/size.hpp
+++ b/include/ndnboost/mpl/list/aux_/size.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_LIST_AUX_SIZE_HPP_INCLUDED
-#define BOOST_MPL_LIST_AUX_SIZE_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_LIST_AUX_SIZE_HPP_INCLUDED
+#define NDNBOOST_MPL_LIST_AUX_SIZE_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -30,4 +30,4 @@
 
 }}
 
-#endif // BOOST_MPL_LIST_AUX_SIZE_HPP_INCLUDED
+#endif // NDNBOOST_MPL_LIST_AUX_SIZE_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/list/aux_/tag.hpp b/include/ndnboost/mpl/list/aux_/tag.hpp
index 2322a81..9ea53c2 100644
--- a/include/ndnboost/mpl/list/aux_/tag.hpp
+++ b/include/ndnboost/mpl/list/aux_/tag.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_LIST_AUX_TAG_HPP_INCLUDED
-#define BOOST_MPL_LIST_AUX_TAG_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_LIST_AUX_TAG_HPP_INCLUDED
+#define NDNBOOST_MPL_LIST_AUX_TAG_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -21,4 +21,4 @@
 
 }}}
 
-#endif // BOOST_MPL_LIST_AUX_TAG_HPP_INCLUDED
+#endif // NDNBOOST_MPL_LIST_AUX_TAG_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/list/list0.hpp b/include/ndnboost/mpl/list/list0.hpp
index 3cd88e7..4fae937 100644
--- a/include/ndnboost/mpl/list/list0.hpp
+++ b/include/ndnboost/mpl/list/list0.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_LIST_LIST0_HPP_INCLUDED
-#define BOOST_MPL_LIST_LIST0_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_LIST_LIST0_HPP_INCLUDED
+#define NDNBOOST_MPL_LIST_LIST0_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -39,4 +39,4 @@
 
 }}
 
-#endif // BOOST_MPL_LIST_LIST0_HPP_INCLUDED
+#endif // NDNBOOST_MPL_LIST_LIST0_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/list/list0_c.hpp b/include/ndnboost/mpl/list/list0_c.hpp
index 882436a..0761cab 100644
--- a/include/ndnboost/mpl/list/list0_c.hpp
+++ b/include/ndnboost/mpl/list/list0_c.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_LIST_LIST0_C_HPP_INCLUDED
-#define BOOST_MPL_LIST_LIST0_C_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_LIST_LIST0_C_HPP_INCLUDED
+#define NDNBOOST_MPL_LIST_LIST0_C_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -28,4 +28,4 @@
 
 }}
 
-#endif // BOOST_MPL_LIST_LIST0_C_HPP_INCLUDED
+#endif // NDNBOOST_MPL_LIST_LIST0_C_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/list/list10.hpp b/include/ndnboost/mpl/list/list10.hpp
index f78cf33..b8cc733 100644
--- a/include/ndnboost/mpl/list/list10.hpp
+++ b/include/ndnboost/mpl/list/list10.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_LIST_LIST10_HPP_INCLUDED
-#define BOOST_MPL_LIST_LIST10_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_LIST_LIST10_HPP_INCLUDED
+#define NDNBOOST_MPL_LIST_LIST10_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -14,16 +14,16 @@
 // $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
 // $Revision: 49267 $
 
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
+#if !defined(NDNBOOST_MPL_PREPROCESSING_MODE)
 #   include <ndnboost/mpl/list/list0.hpp>
 #endif
 
 #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 list10.hpp
+#   define NDNBOOST_MPL_PREPROCESSED_HEADER list10.hpp
 #   include <ndnboost/mpl/list/aux_/include_preprocessed.hpp>
 
 #else
@@ -32,12 +32,12 @@
 
 namespace ndnboost { namespace mpl {
 
-#   define BOOST_PP_ITERATION_PARAMS_1 \
+#   define NDNBOOST_PP_ITERATION_PARAMS_1 \
     (3,(1, 10, <ndnboost/mpl/list/aux_/numbered.hpp>))
-#   include BOOST_PP_ITERATE()
+#   include NDNBOOST_PP_ITERATE()
 
 }}
 
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
+#endif // NDNBOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
 
-#endif // BOOST_MPL_LIST_LIST10_HPP_INCLUDED
+#endif // NDNBOOST_MPL_LIST_LIST10_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/list/list10_c.hpp b/include/ndnboost/mpl/list/list10_c.hpp
index 86f3d89..b5975cf 100644
--- a/include/ndnboost/mpl/list/list10_c.hpp
+++ b/include/ndnboost/mpl/list/list10_c.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_LIST_LIST10_C_HPP_INCLUDED
-#define BOOST_MPL_LIST_LIST10_C_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_LIST_LIST10_C_HPP_INCLUDED
+#define NDNBOOST_MPL_LIST_LIST10_C_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -14,16 +14,16 @@
 // $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
 // $Revision: 49267 $
 
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
+#if !defined(NDNBOOST_MPL_PREPROCESSING_MODE)
 #   include <ndnboost/mpl/list/list0_c.hpp>
 #endif
 
 #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 list10_c.hpp
+#   define NDNBOOST_MPL_PREPROCESSED_HEADER list10_c.hpp
 #   include <ndnboost/mpl/list/aux_/include_preprocessed.hpp>
 
 #else
@@ -32,12 +32,12 @@
 
 namespace ndnboost { namespace mpl {
 
-#   define BOOST_PP_ITERATION_PARAMS_1 \
+#   define NDNBOOST_PP_ITERATION_PARAMS_1 \
     (3,(1, 10, <ndnboost/mpl/list/aux_/numbered_c.hpp>))
-#   include BOOST_PP_ITERATE()
+#   include NDNBOOST_PP_ITERATE()
 
 }}
 
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
+#endif // NDNBOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
 
-#endif // BOOST_MPL_LIST_LIST10_C_HPP_INCLUDED
+#endif // NDNBOOST_MPL_LIST_LIST10_C_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/list/list20.hpp b/include/ndnboost/mpl/list/list20.hpp
index a9dd822..3817e54 100644
--- a/include/ndnboost/mpl/list/list20.hpp
+++ b/include/ndnboost/mpl/list/list20.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_LIST_LIST20_HPP_INCLUDED
-#define BOOST_MPL_LIST_LIST20_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_LIST_LIST20_HPP_INCLUDED
+#define NDNBOOST_MPL_LIST_LIST20_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -14,16 +14,16 @@
 // $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
 // $Revision: 49267 $
 
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
+#if !defined(NDNBOOST_MPL_PREPROCESSING_MODE)
 #   include <ndnboost/mpl/list/list10.hpp>
 #endif
 
 #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 list20.hpp
+#   define NDNBOOST_MPL_PREPROCESSED_HEADER list20.hpp
 #   include <ndnboost/mpl/list/aux_/include_preprocessed.hpp>
 
 #else
@@ -32,12 +32,12 @@
 
 namespace ndnboost { namespace mpl {
 
-#   define BOOST_PP_ITERATION_PARAMS_1 \
+#   define NDNBOOST_PP_ITERATION_PARAMS_1 \
     (3,(11, 20, <ndnboost/mpl/list/aux_/numbered.hpp>))
-#   include BOOST_PP_ITERATE()
+#   include NDNBOOST_PP_ITERATE()
 
 }}
 
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
+#endif // NDNBOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
 
-#endif // BOOST_MPL_LIST_LIST20_HPP_INCLUDED
+#endif // NDNBOOST_MPL_LIST_LIST20_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/list/list20_c.hpp b/include/ndnboost/mpl/list/list20_c.hpp
index deb2125..c267b5f 100644
--- a/include/ndnboost/mpl/list/list20_c.hpp
+++ b/include/ndnboost/mpl/list/list20_c.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_LIST_LIST20_C_HPP_INCLUDED
-#define BOOST_MPL_LIST_LIST20_C_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_LIST_LIST20_C_HPP_INCLUDED
+#define NDNBOOST_MPL_LIST_LIST20_C_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -14,16 +14,16 @@
 // $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
 // $Revision: 49267 $
 
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
+#if !defined(NDNBOOST_MPL_PREPROCESSING_MODE)
 #   include <ndnboost/mpl/list/list10_c.hpp>
 #endif
 
 #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 list20_c.hpp
+#   define NDNBOOST_MPL_PREPROCESSED_HEADER list20_c.hpp
 #   include <ndnboost/mpl/list/aux_/include_preprocessed.hpp>
 
 #else
@@ -32,12 +32,12 @@
 
 namespace ndnboost { namespace mpl {
 
-#   define BOOST_PP_ITERATION_PARAMS_1 \
+#   define NDNBOOST_PP_ITERATION_PARAMS_1 \
     (3,(11, 20, <ndnboost/mpl/list/aux_/numbered_c.hpp>))
-#   include BOOST_PP_ITERATE()
+#   include NDNBOOST_PP_ITERATE()
 
 }}
 
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
+#endif // NDNBOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
 
-#endif // BOOST_MPL_LIST_LIST20_C_HPP_INCLUDED
+#endif // NDNBOOST_MPL_LIST_LIST20_C_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/list/list30.hpp b/include/ndnboost/mpl/list/list30.hpp
index eaade39..97c73a3 100644
--- a/include/ndnboost/mpl/list/list30.hpp
+++ b/include/ndnboost/mpl/list/list30.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_LIST_LIST30_HPP_INCLUDED
-#define BOOST_MPL_LIST_LIST30_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_LIST_LIST30_HPP_INCLUDED
+#define NDNBOOST_MPL_LIST_LIST30_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -14,16 +14,16 @@
 // $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
 // $Revision: 49267 $
 
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
+#if !defined(NDNBOOST_MPL_PREPROCESSING_MODE)
 #   include <ndnboost/mpl/list/list20.hpp>
 #endif
 
 #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 list30.hpp
+#   define NDNBOOST_MPL_PREPROCESSED_HEADER list30.hpp
 #   include <ndnboost/mpl/list/aux_/include_preprocessed.hpp>
 
 #else
@@ -32,12 +32,12 @@
 
 namespace ndnboost { namespace mpl {
 
-#   define BOOST_PP_ITERATION_PARAMS_1 \
+#   define NDNBOOST_PP_ITERATION_PARAMS_1 \
     (3,(21, 30, <ndnboost/mpl/list/aux_/numbered.hpp>))
-#   include BOOST_PP_ITERATE()
+#   include NDNBOOST_PP_ITERATE()
 
 }}
 
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
+#endif // NDNBOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
 
-#endif // BOOST_MPL_LIST_LIST30_HPP_INCLUDED
+#endif // NDNBOOST_MPL_LIST_LIST30_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/list/list30_c.hpp b/include/ndnboost/mpl/list/list30_c.hpp
index 6f9aa3c..fe865fd 100644
--- a/include/ndnboost/mpl/list/list30_c.hpp
+++ b/include/ndnboost/mpl/list/list30_c.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_LIST_LIST30_C_HPP_INCLUDED
-#define BOOST_MPL_LIST_LIST30_C_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_LIST_LIST30_C_HPP_INCLUDED
+#define NDNBOOST_MPL_LIST_LIST30_C_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -14,16 +14,16 @@
 // $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
 // $Revision: 49267 $
 
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
+#if !defined(NDNBOOST_MPL_PREPROCESSING_MODE)
 #   include <ndnboost/mpl/list/list20_c.hpp>
 #endif
 
 #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 list30_c.hpp
+#   define NDNBOOST_MPL_PREPROCESSED_HEADER list30_c.hpp
 #   include <ndnboost/mpl/list/aux_/include_preprocessed.hpp>
 
 #else
@@ -32,12 +32,12 @@
 
 namespace ndnboost { namespace mpl {
 
-#   define BOOST_PP_ITERATION_PARAMS_1 \
+#   define NDNBOOST_PP_ITERATION_PARAMS_1 \
     (3,(21, 30, <ndnboost/mpl/list/aux_/numbered_c.hpp>))
-#   include BOOST_PP_ITERATE()
+#   include NDNBOOST_PP_ITERATE()
 
 }}
 
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
+#endif // NDNBOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
 
-#endif // BOOST_MPL_LIST_LIST30_C_HPP_INCLUDED
+#endif // NDNBOOST_MPL_LIST_LIST30_C_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/list/list40.hpp b/include/ndnboost/mpl/list/list40.hpp
index 1cc4511..c1a1dec 100644
--- a/include/ndnboost/mpl/list/list40.hpp
+++ b/include/ndnboost/mpl/list/list40.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_LIST_LIST40_HPP_INCLUDED
-#define BOOST_MPL_LIST_LIST40_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_LIST_LIST40_HPP_INCLUDED
+#define NDNBOOST_MPL_LIST_LIST40_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -14,16 +14,16 @@
 // $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
 // $Revision: 49267 $
 
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
+#if !defined(NDNBOOST_MPL_PREPROCESSING_MODE)
 #   include <ndnboost/mpl/list/list30.hpp>
 #endif
 
 #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 list40.hpp
+#   define NDNBOOST_MPL_PREPROCESSED_HEADER list40.hpp
 #   include <ndnboost/mpl/list/aux_/include_preprocessed.hpp>
 
 #else
@@ -32,12 +32,12 @@
 
 namespace ndnboost { namespace mpl {
 
-#   define BOOST_PP_ITERATION_PARAMS_1 \
+#   define NDNBOOST_PP_ITERATION_PARAMS_1 \
     (3,(31, 40, <ndnboost/mpl/list/aux_/numbered.hpp>))
-#   include BOOST_PP_ITERATE()
+#   include NDNBOOST_PP_ITERATE()
 
 }}
 
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
+#endif // NDNBOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
 
-#endif // BOOST_MPL_LIST_LIST40_HPP_INCLUDED
+#endif // NDNBOOST_MPL_LIST_LIST40_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/list/list40_c.hpp b/include/ndnboost/mpl/list/list40_c.hpp
index 0bea21d..2e14c3c 100644
--- a/include/ndnboost/mpl/list/list40_c.hpp
+++ b/include/ndnboost/mpl/list/list40_c.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_LIST_LIST40_C_HPP_INCLUDED
-#define BOOST_MPL_LIST_LIST40_C_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_LIST_LIST40_C_HPP_INCLUDED
+#define NDNBOOST_MPL_LIST_LIST40_C_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -14,16 +14,16 @@
 // $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
 // $Revision: 49267 $
 
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
+#if !defined(NDNBOOST_MPL_PREPROCESSING_MODE)
 #   include <ndnboost/mpl/list/list30_c.hpp>
 #endif
 
 #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 list40_c.hpp
+#   define NDNBOOST_MPL_PREPROCESSED_HEADER list40_c.hpp
 #   include <ndnboost/mpl/list/aux_/include_preprocessed.hpp>
 
 #else
@@ -32,12 +32,12 @@
 
 namespace ndnboost { namespace mpl {
 
-#   define BOOST_PP_ITERATION_PARAMS_1 \
+#   define NDNBOOST_PP_ITERATION_PARAMS_1 \
     (3,(31, 40, <ndnboost/mpl/list/aux_/numbered_c.hpp>))
-#   include BOOST_PP_ITERATE()
+#   include NDNBOOST_PP_ITERATE()
 
 }}
 
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
+#endif // NDNBOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
 
-#endif // BOOST_MPL_LIST_LIST40_C_HPP_INCLUDED
+#endif // NDNBOOST_MPL_LIST_LIST40_C_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/list/list50.hpp b/include/ndnboost/mpl/list/list50.hpp
index 5850c5a..9bd00b5 100644
--- a/include/ndnboost/mpl/list/list50.hpp
+++ b/include/ndnboost/mpl/list/list50.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_LIST_LIST50_HPP_INCLUDED
-#define BOOST_MPL_LIST_LIST50_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_LIST_LIST50_HPP_INCLUDED
+#define NDNBOOST_MPL_LIST_LIST50_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -14,16 +14,16 @@
 // $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
 // $Revision: 49267 $
 
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
+#if !defined(NDNBOOST_MPL_PREPROCESSING_MODE)
 #   include <ndnboost/mpl/list/list40.hpp>
 #endif
 
 #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 list50.hpp
+#   define NDNBOOST_MPL_PREPROCESSED_HEADER list50.hpp
 #   include <ndnboost/mpl/list/aux_/include_preprocessed.hpp>
 
 #else
@@ -32,12 +32,12 @@
 
 namespace ndnboost { namespace mpl {
 
-#   define BOOST_PP_ITERATION_PARAMS_1 \
+#   define NDNBOOST_PP_ITERATION_PARAMS_1 \
     (3,(41, 50, <ndnboost/mpl/list/aux_/numbered.hpp>))
-#   include BOOST_PP_ITERATE()
+#   include NDNBOOST_PP_ITERATE()
 
 }}
 
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
+#endif // NDNBOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
 
-#endif // BOOST_MPL_LIST_LIST50_HPP_INCLUDED
+#endif // NDNBOOST_MPL_LIST_LIST50_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/list/list50_c.hpp b/include/ndnboost/mpl/list/list50_c.hpp
index 12142f8..b784db6 100644
--- a/include/ndnboost/mpl/list/list50_c.hpp
+++ b/include/ndnboost/mpl/list/list50_c.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_LIST_LIST50_C_HPP_INCLUDED
-#define BOOST_MPL_LIST_LIST50_C_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_LIST_LIST50_C_HPP_INCLUDED
+#define NDNBOOST_MPL_LIST_LIST50_C_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -14,16 +14,16 @@
 // $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
 // $Revision: 49267 $
 
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
+#if !defined(NDNBOOST_MPL_PREPROCESSING_MODE)
 #   include <ndnboost/mpl/list/list40_c.hpp>
 #endif
 
 #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 list50_c.hpp
+#   define NDNBOOST_MPL_PREPROCESSED_HEADER list50_c.hpp
 #   include <ndnboost/mpl/list/aux_/include_preprocessed.hpp>
 
 #else
@@ -32,12 +32,12 @@
 
 namespace ndnboost { namespace mpl {
 
-#   define BOOST_PP_ITERATION_PARAMS_1 \
+#   define NDNBOOST_PP_ITERATION_PARAMS_1 \
     (3,(41, 50, <ndnboost/mpl/list/aux_/numbered_c.hpp>))
-#   include BOOST_PP_ITERATE()
+#   include NDNBOOST_PP_ITERATE()
 
 }}
 
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
+#endif // NDNBOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
 
-#endif // BOOST_MPL_LIST_LIST50_C_HPP_INCLUDED
+#endif // NDNBOOST_MPL_LIST_LIST50_C_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/logical.hpp b/include/ndnboost/mpl/logical.hpp
index 8d6789f..5c436c8 100644
--- a/include/ndnboost/mpl/logical.hpp
+++ b/include/ndnboost/mpl/logical.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_LOGICAL_HPP_INCLUDED
-#define BOOST_MPL_LOGICAL_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_LOGICAL_HPP_INCLUDED
+#define NDNBOOST_MPL_LOGICAL_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -18,4 +18,4 @@
 #include <ndnboost/mpl/and.hpp>
 #include <ndnboost/mpl/not.hpp>
 
-#endif // BOOST_MPL_LOGICAL_HPP_INCLUDED
+#endif // NDNBOOST_MPL_LOGICAL_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/long.hpp b/include/ndnboost/mpl/long.hpp
index 3545140..4b70b49 100644
--- a/include/ndnboost/mpl/long.hpp
+++ b/include/ndnboost/mpl/long.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_LONG_HPP_INCLUDED
-#define BOOST_MPL_LONG_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_LONG_HPP_INCLUDED
+#define NDNBOOST_MPL_LONG_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -19,4 +19,4 @@
 #define AUX_WRAPPER_VALUE_TYPE long
 #include <ndnboost/mpl/aux_/integral_wrapper.hpp>
 
-#endif // BOOST_MPL_LONG_HPP_INCLUDED
+#endif // NDNBOOST_MPL_LONG_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/long_fwd.hpp b/include/ndnboost/mpl/long_fwd.hpp
index 5247bc3..adcdada 100644
--- a/include/ndnboost/mpl/long_fwd.hpp
+++ b/include/ndnboost/mpl/long_fwd.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_LONG_FWD_HPP_INCLUDED
-#define BOOST_MPL_LONG_FWD_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_LONG_FWD_HPP_INCLUDED
+#define NDNBOOST_MPL_LONG_FWD_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -17,11 +17,11 @@
 #include <ndnboost/mpl/aux_/adl_barrier.hpp>
 #include <ndnboost/mpl/aux_/nttp_decl.hpp>
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 
-template< BOOST_MPL_AUX_NTTP_DECL(long, N) > struct long_;
+template< NDNBOOST_MPL_AUX_NTTP_DECL(long, N) > struct long_;
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-BOOST_MPL_AUX_ADL_BARRIER_DECL(long_)
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_DECL(long_)
 
-#endif // BOOST_MPL_LONG_FWD_HPP_INCLUDED
+#endif // NDNBOOST_MPL_LONG_FWD_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/minus.hpp b/include/ndnboost/mpl/minus.hpp
index 0b4b5b4..a765cb7 100644
--- a/include/ndnboost/mpl/minus.hpp
+++ b/include/ndnboost/mpl/minus.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_MINUS_HPP_INCLUDED
-#define BOOST_MPL_MINUS_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_MINUS_HPP_INCLUDED
+#define NDNBOOST_MPL_MINUS_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -18,4 +18,4 @@
 #define AUX778076_OP_TOKEN -
 #include <ndnboost/mpl/aux_/arithmetic_op.hpp>
 
-#endif // BOOST_MPL_MINUS_HPP_INCLUDED
+#endif // NDNBOOST_MPL_MINUS_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/multiplies.hpp b/include/ndnboost/mpl/multiplies.hpp
index 1855708..ab06d77 100644
--- a/include/ndnboost/mpl/multiplies.hpp
+++ b/include/ndnboost/mpl/multiplies.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_MULTIPLIES_HPP_INCLUDED
-#define BOOST_MPL_MULTIPLIES_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_MULTIPLIES_HPP_INCLUDED
+#define NDNBOOST_MPL_MULTIPLIES_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -25,29 +25,29 @@
 
 namespace ndnboost { namespace mpl {
 
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-#   define AUX778076_OP_ARITY BOOST_MPL_LIMIT_METAFUNCTION_ARITY
+#if !defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+#   define AUX778076_OP_ARITY NDNBOOST_MPL_LIMIT_METAFUNCTION_ARITY
 #else
 #   define AUX778076_OP_ARITY 2
 #endif
 
 template<
-      BOOST_MPL_PP_DEFAULT_PARAMS(AUX778076_OP_ARITY, typename N, na)
+      NDNBOOST_MPL_PP_DEFAULT_PARAMS(AUX778076_OP_ARITY, typename N, na)
     >
 struct multiplies
-    : times< BOOST_MPL_PP_PARAMS(AUX778076_OP_ARITY, N) >
+    : times< NDNBOOST_MPL_PP_PARAMS(AUX778076_OP_ARITY, N) >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(
           AUX778076_OP_ARITY
         , multiplies
-        , ( BOOST_MPL_PP_PARAMS(AUX778076_OP_ARITY, N) )
+        , ( NDNBOOST_MPL_PP_PARAMS(AUX778076_OP_ARITY, N) )
         )
 };
 
-BOOST_MPL_AUX_NA_SPEC(AUX778076_OP_ARITY, multiplies)
+NDNBOOST_MPL_AUX_NA_SPEC(AUX778076_OP_ARITY, multiplies)
 
 #undef AUX778076_OP_ARITY
 
 }}
 
-#endif // BOOST_MPL_MULTIPLIES_HPP_INCLUDED
+#endif // NDNBOOST_MPL_MULTIPLIES_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/negate.hpp b/include/ndnboost/mpl/negate.hpp
index a4e550d..e8b9acc 100644
--- a/include/ndnboost/mpl/negate.hpp
+++ b/include/ndnboost/mpl/negate.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_NEGATE_HPP_INCLUDED
-#define BOOST_MPL_NEGATE_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_NEGATE_HPP_INCLUDED
+#define NDNBOOST_MPL_NEGATE_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -32,10 +32,10 @@
 };
 
 template<
-      typename BOOST_MPL_AUX_NA_PARAM(N)
+      typename NDNBOOST_MPL_AUX_NA_PARAM(N)
     >
 struct negate
-#if !defined(BOOST_MPL_CFG_MSVC_ETI_BUG)
+#if !defined(NDNBOOST_MPL_CFG_MSVC_ETI_BUG)
     : negate_impl<
           typename negate_tag<N>::type
         >::template apply<N>::type
@@ -46,17 +46,17 @@
         >::type >::type
 #endif
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(1, negate, (N))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(1, negate, (N))
 };
 
-BOOST_MPL_AUX_NA_SPEC(1, negate)
+NDNBOOST_MPL_AUX_NA_SPEC(1, negate)
 
 
-#if defined(BOOST_MPL_CFG_NO_NESTED_VALUE_ARITHMETIC)
+#if defined(NDNBOOST_MPL_CFG_NO_NESTED_VALUE_ARITHMETIC)
 namespace aux {
 template< typename T, T n > struct negate_wknd
 {
-    BOOST_STATIC_CONSTANT(T, value = -n);
+    NDNBOOST_STATIC_CONSTANT(T, value = -n);
     typedef integral_c<T,value> type;
 };
 }
@@ -65,7 +65,7 @@
 template<>
 struct negate_impl<integral_c_tag>
 {
-#if defined(BOOST_MPL_CFG_NO_NESTED_VALUE_ARITHMETIC)
+#if defined(NDNBOOST_MPL_CFG_NO_NESTED_VALUE_ARITHMETIC)
     template< typename N > struct apply
         : aux::negate_wknd< typename N::value_type, N::value >
 #else
@@ -78,4 +78,4 @@
 
 }}
 
-#endif // BOOST_MPL_NEGATE_HPP_INCLUDED
+#endif // NDNBOOST_MPL_NEGATE_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/next.hpp b/include/ndnboost/mpl/next.hpp
index 9a9f0ef..99c4c99 100644
--- a/include/ndnboost/mpl/next.hpp
+++ b/include/ndnboost/mpl/next.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_NEXT_HPP_INCLUDED
-#define BOOST_MPL_NEXT_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_NEXT_HPP_INCLUDED
+#define NDNBOOST_MPL_NEXT_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2004
 //
@@ -16,4 +16,4 @@
 
 #include <ndnboost/mpl/next_prior.hpp>
 
-#endif // BOOST_MPL_NEXT_HPP_INCLUDED
+#endif // NDNBOOST_MPL_NEXT_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/next_prior.hpp b/include/ndnboost/mpl/next_prior.hpp
index 4893533a..e1902c7 100644
--- a/include/ndnboost/mpl/next_prior.hpp
+++ b/include/ndnboost/mpl/next_prior.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_NEXT_PRIOR_HPP_INCLUDED
-#define BOOST_MPL_NEXT_PRIOR_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_NEXT_PRIOR_HPP_INCLUDED
+#define NDNBOOST_MPL_NEXT_PRIOR_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -20,30 +20,30 @@
 
 namespace ndnboost { namespace mpl {
 
-BOOST_MPL_AUX_COMMON_NAME_WKND(next)
-BOOST_MPL_AUX_COMMON_NAME_WKND(prior)
+NDNBOOST_MPL_AUX_COMMON_NAME_WKND(next)
+NDNBOOST_MPL_AUX_COMMON_NAME_WKND(prior)
 
 template<
-      typename BOOST_MPL_AUX_NA_PARAM(T)
+      typename NDNBOOST_MPL_AUX_NA_PARAM(T)
     >
 struct next
 {
     typedef typename T::next type;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,next,(T))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(1,next,(T))
 };
 
 template<
-      typename BOOST_MPL_AUX_NA_PARAM(T)
+      typename NDNBOOST_MPL_AUX_NA_PARAM(T)
     >
 struct prior
 {
     typedef typename T::prior type;
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,prior,(T))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(1,prior,(T))
 };
 
-BOOST_MPL_AUX_NA_SPEC(1, next)
-BOOST_MPL_AUX_NA_SPEC(1, prior)
+NDNBOOST_MPL_AUX_NA_SPEC(1, next)
+NDNBOOST_MPL_AUX_NA_SPEC(1, prior)
 
 }}
 
-#endif // BOOST_MPL_NEXT_PRIOR_HPP_INCLUDED
+#endif // NDNBOOST_MPL_NEXT_PRIOR_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/not.hpp b/include/ndnboost/mpl/not.hpp
index bc3f1ab..2612a95 100644
--- a/include/ndnboost/mpl/not.hpp
+++ b/include/ndnboost/mpl/not.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_NOT_HPP_INCLUDED
-#define BOOST_MPL_NOT_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_NOT_HPP_INCLUDED
+#define NDNBOOST_MPL_NOT_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -24,7 +24,7 @@
 
 namespace aux {
 
-template< BOOST_MPL_AUX_NTTP_DECL(long, C_) > // 'long' is intentional here
+template< NDNBOOST_MPL_AUX_NTTP_DECL(long, C_) > // 'long' is intentional here
 struct not_impl
     : bool_<!C_>
 {
@@ -34,18 +34,18 @@
 
 
 template<
-      typename BOOST_MPL_AUX_NA_PARAM(T)
+      typename NDNBOOST_MPL_AUX_NA_PARAM(T)
     >
 struct not_
     : aux::not_impl<
-          BOOST_MPL_AUX_NESTED_TYPE_WKND(T)::value
+          NDNBOOST_MPL_AUX_NESTED_TYPE_WKND(T)::value
         >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,not_,(T))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(1,not_,(T))
 };
 
-BOOST_MPL_AUX_NA_SPEC(1,not_)
+NDNBOOST_MPL_AUX_NA_SPEC(1,not_)
 
 }}
 
-#endif // BOOST_MPL_NOT_HPP_INCLUDED
+#endif // NDNBOOST_MPL_NOT_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/not_equal_to.hpp b/include/ndnboost/mpl/not_equal_to.hpp
index 3698bf6..074af8a 100644
--- a/include/ndnboost/mpl/not_equal_to.hpp
+++ b/include/ndnboost/mpl/not_equal_to.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_NOT_EQUAL_TO_HPP_INCLUDED
-#define BOOST_MPL_NOT_EQUAL_TO_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_NOT_EQUAL_TO_HPP_INCLUDED
+#define NDNBOOST_MPL_NOT_EQUAL_TO_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -18,4 +18,4 @@
 #define AUX778076_OP_TOKEN !=
 #include <ndnboost/mpl/aux_/comparison_op.hpp>
 
-#endif // BOOST_MPL_NOT_EQUAL_TO_HPP_INCLUDED
+#endif // NDNBOOST_MPL_NOT_EQUAL_TO_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/numeric_cast.hpp b/include/ndnboost/mpl/numeric_cast.hpp
index 603bf75..1bf4abf 100644
--- a/include/ndnboost/mpl/numeric_cast.hpp
+++ b/include/ndnboost/mpl/numeric_cast.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_NUMERIC_CAST_HPP_INCLUDED
-#define BOOST_MPL_NUMERIC_CAST_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_NUMERIC_CAST_HPP_INCLUDED
+#define NDNBOOST_MPL_NUMERIC_CAST_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2003-2004
 //
@@ -21,21 +21,21 @@
 // resolves conflicts with 'ndnboost::numeric_cast' function template.
 // use it in your own code _only_ if you care about compatibility with
 // these outdated compilers!
-#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x570) )
-#   define BOOST_MPL_AUX_NUMERIC_CAST numeric_cast_
+#if NDNBOOST_WORKAROUND(NDNBOOST_MSVC, <= 1300) || NDNBOOST_WORKAROUND(__BORLANDC__, NDNBOOST_TESTED_AT(0x570) )
+#   define NDNBOOST_MPL_AUX_NUMERIC_CAST numeric_cast_
 #else
-#   define BOOST_MPL_AUX_NUMERIC_CAST numeric_cast
+#   define NDNBOOST_MPL_AUX_NUMERIC_CAST numeric_cast
 #endif
 
 namespace ndnboost { namespace mpl {
 
 // no default implementation; the definition is needed to make MSVC happy
 
-template< typename SourceTag, typename TargetTag > struct BOOST_MPL_AUX_NUMERIC_CAST
+template< typename SourceTag, typename TargetTag > struct NDNBOOST_MPL_AUX_NUMERIC_CAST
 {
     template< typename N > struct apply;
 };
 
 }}
 
-#endif // BOOST_MPL_NUMERIC_CAST_HPP_INCLUDED
+#endif // NDNBOOST_MPL_NUMERIC_CAST_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/or.hpp b/include/ndnboost/mpl/or.hpp
index b5116d9..d35db4d 100644
--- a/include/ndnboost/mpl/or.hpp
+++ b/include/ndnboost/mpl/or.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_OR_HPP_INCLUDED
-#define BOOST_MPL_OR_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_OR_HPP_INCLUDED
+#define NDNBOOST_MPL_OR_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -16,8 +16,8 @@
 
 #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)
 
 #   include <ndnboost/mpl/bool.hpp>
 #   include <ndnboost/mpl/aux_/nested_type_wknd.hpp>
@@ -39,7 +39,7 @@
 #endif
 #endif
 
-#   define BOOST_MPL_PREPROCESSED_HEADER or.hpp
+#   define NDNBOOST_MPL_PREPROCESSED_HEADER or.hpp
 #   include <ndnboost/mpl/aux_/include_preprocessed.hpp>
 
 #if defined(_MSC_VER) 
@@ -57,5 +57,5 @@
 #   define AUX778076_OP_VALUE2 false
 #   include <ndnboost/mpl/aux_/logical_op.hpp>
 
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-#endif // BOOST_MPL_OR_HPP_INCLUDED
+#endif // NDNBOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
+#endif // NDNBOOST_MPL_OR_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/pair.hpp b/include/ndnboost/mpl/pair.hpp
index b58c0bd..3c295c5 100644
--- a/include/ndnboost/mpl/pair.hpp
+++ b/include/ndnboost/mpl/pair.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_PAIR_HPP_INCLUDED
-#define BOOST_MPL_PAIR_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_PAIR_HPP_INCLUDED
+#define NDNBOOST_MPL_PAIR_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2001-2004
 //
@@ -22,8 +22,8 @@
 namespace ndnboost { namespace mpl {
 
 template<
-      typename BOOST_MPL_AUX_NA_PARAM(T1)
-    , typename BOOST_MPL_AUX_NA_PARAM(T2)
+      typename NDNBOOST_MPL_AUX_NA_PARAM(T1)
+    , typename NDNBOOST_MPL_AUX_NA_PARAM(T2)
     >
 struct pair
 {
@@ -31,40 +31,40 @@
     typedef T1 first;
     typedef T2 second;
 
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2,pair,(T1,T2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2,pair,(T1,T2))
 };
 
 template<
-      typename BOOST_MPL_AUX_NA_PARAM(P)
+      typename NDNBOOST_MPL_AUX_NA_PARAM(P)
     >
 struct first
 {
-#if !defined(BOOST_MPL_CFG_MSVC_70_ETI_BUG)
+#if !defined(NDNBOOST_MPL_CFG_MSVC_70_ETI_BUG)
     typedef typename P::first type;
 #else
     typedef typename aux::msvc_eti_base<P>::first type;
 #endif
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,first,(P))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(1,first,(P))
 };
 
 template<
-      typename BOOST_MPL_AUX_NA_PARAM(P)
+      typename NDNBOOST_MPL_AUX_NA_PARAM(P)
     >
 struct second
 {
-#if !defined(BOOST_MPL_CFG_MSVC_70_ETI_BUG)
+#if !defined(NDNBOOST_MPL_CFG_MSVC_70_ETI_BUG)
     typedef typename P::second type;
 #else
     typedef typename aux::msvc_eti_base<P>::second type;
 #endif
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,second,(P))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(1,second,(P))
 };
 
 
-BOOST_MPL_AUX_NA_SPEC_NO_ETI(2, pair)
-BOOST_MPL_AUX_NA_SPEC(1, first)
-BOOST_MPL_AUX_NA_SPEC(1, second)
+NDNBOOST_MPL_AUX_NA_SPEC_NO_ETI(2, pair)
+NDNBOOST_MPL_AUX_NA_SPEC(1, first)
+NDNBOOST_MPL_AUX_NA_SPEC(1, second)
 
 }}
 
-#endif // BOOST_MPL_PAIR_HPP_INCLUDED
+#endif // NDNBOOST_MPL_PAIR_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/placeholders.hpp b/include/ndnboost/mpl/placeholders.hpp
index 86f8e09..0444d8a 100644
--- a/include/ndnboost/mpl/placeholders.hpp
+++ b/include/ndnboost/mpl/placeholders.hpp
@@ -1,10 +1,10 @@
 
-#if !defined(BOOST_PP_IS_ITERATING)
+#if !defined(NDNBOOST_PP_IS_ITERATING)
 
 ///// header body
 
-#ifndef BOOST_MPL_PLACEHOLDERS_HPP_INCLUDED
-#define BOOST_MPL_PLACEHOLDERS_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_PLACEHOLDERS_HPP_INCLUDED
+#define NDNBOOST_MPL_PLACEHOLDERS_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2001-2004
 // Copyright Peter Dimov 2001-2003
@@ -20,26 +20,26 @@
 // $Revision: 49267 $
 
 
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
+#if !defined(NDNBOOST_MPL_PREPROCESSING_MODE)
 #   include <ndnboost/mpl/arg.hpp>
 #   include <ndnboost/mpl/aux_/adl_barrier.hpp>
 
-#   if !defined(BOOST_MPL_CFG_NO_ADL_BARRIER_NAMESPACE)
-#       define BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(type) \
-        using ::BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::type; \
+#   if !defined(NDNBOOST_MPL_CFG_NO_ADL_BARRIER_NAMESPACE)
+#       define NDNBOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(type) \
+        using ::NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::type; \
         /**/
 #   else
-#       define BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(type) /**/
+#       define NDNBOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(type) /**/
 #   endif
 
 #endif
 
 #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 placeholders.hpp
+#   define NDNBOOST_MPL_PREPROCESSED_HEADER placeholders.hpp
 #   include <ndnboost/mpl/aux_/include_preprocessed.hpp>
 
 #else
@@ -50,17 +50,17 @@
 #   include <ndnboost/preprocessor/cat.hpp>
 
 // watch out for GNU gettext users, who #define _(x)
-#if !defined(_) || defined(BOOST_MPL_CFG_NO_UNNAMED_PLACEHOLDER_SUPPORT)
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+#if !defined(_) || defined(NDNBOOST_MPL_CFG_NO_UNNAMED_PLACEHOLDER_SUPPORT)
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 typedef arg<-1> _;
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
 
 namespace ndnboost { namespace mpl { 
 
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_)
+NDNBOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_)
 
 namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_;
+using NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_;
 }
 
 }}
@@ -68,33 +68,33 @@
 
 /// agurt, 17/mar/02: one more placeholder for the last 'apply#' 
 /// specialization
-#define BOOST_PP_ITERATION_PARAMS_1 \
-    (3,(1, BOOST_MPL_LIMIT_METAFUNCTION_ARITY + 1, <ndnboost/mpl/placeholders.hpp>))
-#include BOOST_PP_ITERATE()
+#define NDNBOOST_PP_ITERATION_PARAMS_1 \
+    (3,(1, NDNBOOST_MPL_LIMIT_METAFUNCTION_ARITY + 1, <ndnboost/mpl/placeholders.hpp>))
+#include NDNBOOST_PP_ITERATE()
 
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-#endif // BOOST_MPL_PLACEHOLDERS_HPP_INCLUDED
+#endif // NDNBOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
+#endif // NDNBOOST_MPL_PLACEHOLDERS_HPP_INCLUDED
 
 ///// iteration
 
 #else
-#define i_ BOOST_PP_FRAME_ITERATION(1)
+#define i_ NDNBOOST_PP_FRAME_ITERATION(1)
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 
-typedef arg<i_> BOOST_PP_CAT(_,i_);
+typedef arg<i_> NDNBOOST_PP_CAT(_,i_);
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
 
 namespace ndnboost { namespace mpl { 
 
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(BOOST_PP_CAT(_,i_))
+NDNBOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(NDNBOOST_PP_CAT(_,i_))
 
 namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::BOOST_PP_CAT(_,i_);
+using NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::NDNBOOST_PP_CAT(_,i_);
 }
 
 }}
 
 #undef i_
-#endif // BOOST_PP_IS_ITERATING
+#endif // NDNBOOST_PP_IS_ITERATING
diff --git a/include/ndnboost/mpl/plus.hpp b/include/ndnboost/mpl/plus.hpp
index 5ce534d..2265cfa 100644
--- a/include/ndnboost/mpl/plus.hpp
+++ b/include/ndnboost/mpl/plus.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_PLUS_HPP_INCLUDED
-#define BOOST_MPL_PLUS_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_PLUS_HPP_INCLUDED
+#define NDNBOOST_MPL_PLUS_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -18,4 +18,4 @@
 #define AUX778076_OP_TOKEN +
 #include <ndnboost/mpl/aux_/arithmetic_op.hpp>
 
-#endif // BOOST_MPL_PLUS_HPP_INCLUDED
+#endif // NDNBOOST_MPL_PLUS_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/pop_back_fwd.hpp b/include/ndnboost/mpl/pop_back_fwd.hpp
index 6a2278a..f3e9451 100644
--- a/include/ndnboost/mpl/pop_back_fwd.hpp
+++ b/include/ndnboost/mpl/pop_back_fwd.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_POP_BACK_FWD_HPP_INCLUDED
-#define BOOST_MPL_POP_BACK_FWD_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_POP_BACK_FWD_HPP_INCLUDED
+#define NDNBOOST_MPL_POP_BACK_FWD_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -21,4 +21,4 @@
 
 }}
 
-#endif // BOOST_MPL_POP_BACK_FWD_HPP_INCLUDED
+#endif // NDNBOOST_MPL_POP_BACK_FWD_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/pop_front_fwd.hpp b/include/ndnboost/mpl/pop_front_fwd.hpp
index cf5ab2b..f41205b 100644
--- a/include/ndnboost/mpl/pop_front_fwd.hpp
+++ b/include/ndnboost/mpl/pop_front_fwd.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_POP_FRONT_FWD_HPP_INCLUDED
-#define BOOST_MPL_POP_FRONT_FWD_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_POP_FRONT_FWD_HPP_INCLUDED
+#define NDNBOOST_MPL_POP_FRONT_FWD_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -21,4 +21,4 @@
 
 }}
 
-#endif // BOOST_MPL_POP_FRONT_FWD_HPP_INCLUDED
+#endif // NDNBOOST_MPL_POP_FRONT_FWD_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/prior.hpp b/include/ndnboost/mpl/prior.hpp
index a7ae4e7..9e880ea 100644
--- a/include/ndnboost/mpl/prior.hpp
+++ b/include/ndnboost/mpl/prior.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_PRIOR_HPP_INCLUDED
-#define BOOST_MPL_PRIOR_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_PRIOR_HPP_INCLUDED
+#define NDNBOOST_MPL_PRIOR_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2004
 //
@@ -16,4 +16,4 @@
 
 #include <ndnboost/mpl/next_prior.hpp>
 
-#endif // BOOST_MPL_PRIOR_HPP_INCLUDED
+#endif // NDNBOOST_MPL_PRIOR_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/protect.hpp b/include/ndnboost/mpl/protect.hpp
index 3efcca1..02d4c41 100644
--- a/include/ndnboost/mpl/protect.hpp
+++ b/include/ndnboost/mpl/protect.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_PROTECT_HPP_INCLUDED
-#define BOOST_MPL_PROTECT_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_PROTECT_HPP_INCLUDED
+#define NDNBOOST_MPL_PROTECT_HPP_INCLUDED
 
 // Copyright Peter Dimov 2001
 // Copyright Aleksey Gurtovoy 2002-2004
@@ -23,21 +23,21 @@
 namespace ndnboost { namespace mpl {
 
 template<
-      typename BOOST_MPL_AUX_NA_PARAM(T)
+      typename NDNBOOST_MPL_AUX_NA_PARAM(T)
     , int not_le_ = 0
     >
 struct protect : T
 {
-#if BOOST_WORKAROUND(__EDG_VERSION__, == 238)
+#if NDNBOOST_WORKAROUND(__EDG_VERSION__, == 238)
     typedef mpl::protect type;
 #else
     typedef protect type;
 #endif
 };
 
-#if defined(BOOST_MPL_CFG_BROKEN_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES)
+#if defined(NDNBOOST_MPL_CFG_BROKEN_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES)
 namespace aux { 
-template< BOOST_MPL_AUX_NTTP_DECL(int, N), typename T >
+template< NDNBOOST_MPL_AUX_NTTP_DECL(int, N), typename T >
 struct arity< protect<T>, N > 
     : arity<T,N>
 { 
@@ -45,11 +45,11 @@
 } // namespace aux
 #endif
 
-BOOST_MPL_AUX_NA_SPEC_MAIN(1, protect)
-#if !defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT)
-BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(1, 1, protect)
+NDNBOOST_MPL_AUX_NA_SPEC_MAIN(1, protect)
+#if !defined(NDNBOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT)
+NDNBOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(1, 1, protect)
 #endif
 
 }}
 
-#endif // BOOST_MPL_PROTECT_HPP_INCLUDED
+#endif // NDNBOOST_MPL_PROTECT_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/push_back.hpp b/include/ndnboost/mpl/push_back.hpp
index ba98dac..9cea895 100644
--- a/include/ndnboost/mpl/push_back.hpp
+++ b/include/ndnboost/mpl/push_back.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_PUSH_BACK_HPP_INCLUDED
-#define BOOST_MPL_PUSH_BACK_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_PUSH_BACK_HPP_INCLUDED
+#define NDNBOOST_MPL_PUSH_BACK_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -23,31 +23,31 @@
 namespace ndnboost { namespace mpl {
 
 template<
-      typename BOOST_MPL_AUX_NA_PARAM(Sequence)
-    , typename BOOST_MPL_AUX_NA_PARAM(T)
+      typename NDNBOOST_MPL_AUX_NA_PARAM(Sequence)
+    , typename NDNBOOST_MPL_AUX_NA_PARAM(T)
     >
 struct push_back
     : push_back_impl< typename sequence_tag<Sequence>::type >
         ::template apply< Sequence,T >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2,push_back,(Sequence,T))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2,push_back,(Sequence,T))
 };
 
 
 template< 
-      typename BOOST_MPL_AUX_NA_PARAM(Sequence)
+      typename NDNBOOST_MPL_AUX_NA_PARAM(Sequence)
     >
 struct has_push_back
     : has_push_back_impl< typename sequence_tag<Sequence>::type >
         ::template apply< Sequence >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,has_push_back,(Sequence))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(1,has_push_back,(Sequence))
 };
 
 
-BOOST_MPL_AUX_NA_SPEC(2, push_back)
-BOOST_MPL_AUX_NA_SPEC(1, has_push_back)
+NDNBOOST_MPL_AUX_NA_SPEC(2, push_back)
+NDNBOOST_MPL_AUX_NA_SPEC(1, has_push_back)
 
 }}
 
-#endif // BOOST_MPL_PUSH_BACK_HPP_INCLUDED
+#endif // NDNBOOST_MPL_PUSH_BACK_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/push_back_fwd.hpp b/include/ndnboost/mpl/push_back_fwd.hpp
index 499607c..9de0ff0 100644
--- a/include/ndnboost/mpl/push_back_fwd.hpp
+++ b/include/ndnboost/mpl/push_back_fwd.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_PUSH_BACK_FWD_HPP_INCLUDED
-#define BOOST_MPL_PUSH_BACK_FWD_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_PUSH_BACK_FWD_HPP_INCLUDED
+#define NDNBOOST_MPL_PUSH_BACK_FWD_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -21,4 +21,4 @@
 
 }}
 
-#endif // BOOST_MPL_PUSH_BACK_FWD_HPP_INCLUDED
+#endif // NDNBOOST_MPL_PUSH_BACK_FWD_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/push_front.hpp b/include/ndnboost/mpl/push_front.hpp
index d08248f..d3313c8 100644
--- a/include/ndnboost/mpl/push_front.hpp
+++ b/include/ndnboost/mpl/push_front.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_PUSH_FRONT_HPP_INCLUDED
-#define BOOST_MPL_PUSH_FRONT_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_PUSH_FRONT_HPP_INCLUDED
+#define NDNBOOST_MPL_PUSH_FRONT_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -23,30 +23,30 @@
 namespace ndnboost { namespace mpl {
 
 template<
-      typename BOOST_MPL_AUX_NA_PARAM(Sequence)
-    , typename BOOST_MPL_AUX_NA_PARAM(T)
+      typename NDNBOOST_MPL_AUX_NA_PARAM(Sequence)
+    , typename NDNBOOST_MPL_AUX_NA_PARAM(T)
     >
 struct push_front
     : push_front_impl< typename sequence_tag<Sequence>::type >
         ::template apply< Sequence,T >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2,push_front,(Sequence,T))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2,push_front,(Sequence,T))
 };
 
 
 template< 
-      typename BOOST_MPL_AUX_NA_PARAM(Sequence)
+      typename NDNBOOST_MPL_AUX_NA_PARAM(Sequence)
     >
 struct has_push_front
     : has_push_front_impl< typename sequence_tag<Sequence>::type >
         ::template apply< Sequence >
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,has_push_front,(Sequence))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(1,has_push_front,(Sequence))
 };
 
-BOOST_MPL_AUX_NA_SPEC(2, push_front)
-BOOST_MPL_AUX_NA_SPEC(1, has_push_front)
+NDNBOOST_MPL_AUX_NA_SPEC(2, push_front)
+NDNBOOST_MPL_AUX_NA_SPEC(1, has_push_front)
 
 }}
 
-#endif // BOOST_MPL_PUSH_FRONT_HPP_INCLUDED
+#endif // NDNBOOST_MPL_PUSH_FRONT_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/push_front_fwd.hpp b/include/ndnboost/mpl/push_front_fwd.hpp
index 5e62f10..44394fd 100644
--- a/include/ndnboost/mpl/push_front_fwd.hpp
+++ b/include/ndnboost/mpl/push_front_fwd.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_PUSH_FRONT_FWD_HPP_INCLUDED
-#define BOOST_MPL_PUSH_FRONT_FWD_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_PUSH_FRONT_FWD_HPP_INCLUDED
+#define NDNBOOST_MPL_PUSH_FRONT_FWD_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -21,4 +21,4 @@
 
 }}
 
-#endif // BOOST_MPL_PUSH_FRONT_FWD_HPP_INCLUDED
+#endif // NDNBOOST_MPL_PUSH_FRONT_FWD_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/quote.hpp b/include/ndnboost/mpl/quote.hpp
index 3159e18..59b7d3a 100644
--- a/include/ndnboost/mpl/quote.hpp
+++ b/include/ndnboost/mpl/quote.hpp
@@ -1,10 +1,10 @@
 
-#if !defined(BOOST_PP_IS_ITERATING)
+#if !defined(NDNBOOST_PP_IS_ITERATING)
 
 ///// header body
 
-#ifndef BOOST_MPL_QUOTE_HPP_INCLUDED
-#define BOOST_MPL_QUOTE_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_QUOTE_HPP_INCLUDED
+#define NDNBOOST_MPL_QUOTE_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/void.hpp>
 #   include <ndnboost/mpl/aux_/has_type.hpp>
 #endif
@@ -26,22 +26,22 @@
 #include <ndnboost/mpl/aux_/config/bcc.hpp>
 #include <ndnboost/mpl/aux_/config/ttp.hpp>
 
-#if defined(BOOST_MPL_CFG_NO_TEMPLATE_TEMPLATE_PARAMETERS) \
-    && !defined(BOOST_MPL_CFG_BCC590_WORKAROUNDS)
-#   define BOOST_MPL_CFG_NO_QUOTE_TEMPLATE
+#if defined(NDNBOOST_MPL_CFG_NO_TEMPLATE_TEMPLATE_PARAMETERS) \
+    && !defined(NDNBOOST_MPL_CFG_BCC590_WORKAROUNDS)
+#   define NDNBOOST_MPL_CFG_NO_QUOTE_TEMPLATE
 #endif
 
-#if !defined(BOOST_MPL_CFG_NO_IMPLICIT_METAFUNCTIONS) \
-    && defined(BOOST_MPL_CFG_NO_HAS_XXX)
-#   define BOOST_MPL_CFG_NO_IMPLICIT_METAFUNCTIONS
+#if !defined(NDNBOOST_MPL_CFG_NO_IMPLICIT_METAFUNCTIONS) \
+    && defined(NDNBOOST_MPL_CFG_NO_HAS_XXX)
+#   define NDNBOOST_MPL_CFG_NO_IMPLICIT_METAFUNCTIONS
 #endif
 
 #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 quote.hpp
+#   define NDNBOOST_MPL_PREPROCESSED_HEADER quote.hpp
 #   include <ndnboost/mpl/aux_/include_preprocessed.hpp>
 
 #else
@@ -54,19 +54,19 @@
 #   include <ndnboost/preprocessor/iterate.hpp>
 #   include <ndnboost/preprocessor/cat.hpp>
 
-#if !defined(BOOST_MPL_CFG_NO_QUOTE_TEMPLATE)
+#if !defined(NDNBOOST_MPL_CFG_NO_QUOTE_TEMPLATE)
 
 namespace ndnboost { namespace mpl {
 
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+#if !defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
 
 template< typename T, bool has_type_ >
 struct quote_impl
 // GCC has a problem with metafunction forwarding when T is a
 // specialization of a template called 'type'.
-# if BOOST_WORKAROUND(__GNUC__, BOOST_TESTED_AT(4)) \
-    && BOOST_WORKAROUND(__GNUC_MINOR__, BOOST_TESTED_AT(0)) \
-    && BOOST_WORKAROUND(__GNUC_PATCHLEVEL__, BOOST_TESTED_AT(2))
+# if NDNBOOST_WORKAROUND(__GNUC__, NDNBOOST_TESTED_AT(4)) \
+    && NDNBOOST_WORKAROUND(__GNUC_MINOR__, NDNBOOST_TESTED_AT(0)) \
+    && NDNBOOST_WORKAROUND(__GNUC_PATCHLEVEL__, NDNBOOST_TESTED_AT(2))
 {
     typedef typename T::type type;
 };
@@ -82,7 +82,7 @@
     typedef T type;
 };
 
-#else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#else // NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 
 template< bool > struct quote_impl
 {
@@ -102,50 +102,50 @@
 
 #endif 
 
-#define BOOST_PP_ITERATION_PARAMS_1 \
-    (3,(1, BOOST_MPL_LIMIT_METAFUNCTION_ARITY, <ndnboost/mpl/quote.hpp>))
-#include BOOST_PP_ITERATE()
+#define NDNBOOST_PP_ITERATION_PARAMS_1 \
+    (3,(1, NDNBOOST_MPL_LIMIT_METAFUNCTION_ARITY, <ndnboost/mpl/quote.hpp>))
+#include NDNBOOST_PP_ITERATE()
 
 }}
 
-#endif // BOOST_MPL_CFG_NO_QUOTE_TEMPLATE
+#endif // NDNBOOST_MPL_CFG_NO_QUOTE_TEMPLATE
 
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-#endif // BOOST_MPL_QUOTE_HPP_INCLUDED
+#endif // NDNBOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
+#endif // NDNBOOST_MPL_QUOTE_HPP_INCLUDED
 
 ///// iteration
 
 #else
-#define i_ BOOST_PP_FRAME_ITERATION(1)
+#define i_ NDNBOOST_PP_FRAME_ITERATION(1)
 
 template<
-      template< BOOST_MPL_PP_PARAMS(i_, typename P) > class F
+      template< NDNBOOST_MPL_PP_PARAMS(i_, typename P) > class F
     , typename Tag = void_
     >
-struct BOOST_PP_CAT(quote,i_)
+struct NDNBOOST_PP_CAT(quote,i_)
 {
-    template< BOOST_MPL_PP_PARAMS(i_, typename U) > struct apply
-#if defined(BOOST_MPL_CFG_BCC590_WORKAROUNDS)
+    template< NDNBOOST_MPL_PP_PARAMS(i_, typename U) > struct apply
+#if defined(NDNBOOST_MPL_CFG_BCC590_WORKAROUNDS)
     {
         typedef typename quote_impl<
-              F< BOOST_MPL_PP_PARAMS(i_, U) >
-            , aux::has_type< F< BOOST_MPL_PP_PARAMS(i_, U) > >::value
+              F< NDNBOOST_MPL_PP_PARAMS(i_, U) >
+            , aux::has_type< F< NDNBOOST_MPL_PP_PARAMS(i_, U) > >::value
             >::type type;
     };
-#elif !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+#elif !defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
         : quote_impl<
-              F< BOOST_MPL_PP_PARAMS(i_, U) >
-            , aux::has_type< F< BOOST_MPL_PP_PARAMS(i_, U) > >::value
+              F< NDNBOOST_MPL_PP_PARAMS(i_, U) >
+            , aux::has_type< F< NDNBOOST_MPL_PP_PARAMS(i_, U) > >::value
             >
     {
     };
 #else
-        : quote_impl< aux::has_type< F< BOOST_MPL_PP_PARAMS(i_, U) > >::value >
-            ::template result_< F< BOOST_MPL_PP_PARAMS(i_, U) > >
+        : quote_impl< aux::has_type< F< NDNBOOST_MPL_PP_PARAMS(i_, U) > >::value >
+            ::template result_< F< NDNBOOST_MPL_PP_PARAMS(i_, U) > >
     {
     };
 #endif
 };
 
 #undef i_
-#endif // BOOST_PP_IS_ITERATING
+#endif // NDNBOOST_PP_IS_ITERATING
diff --git a/include/ndnboost/mpl/remove_if.hpp b/include/ndnboost/mpl/remove_if.hpp
index a20a01c..ad997e2 100644
--- a/include/ndnboost/mpl/remove_if.hpp
+++ b/include/ndnboost/mpl/remove_if.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_REMOVE_IF_HPP_INCLUDED
-#define BOOST_MPL_REMOVE_IF_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_REMOVE_IF_HPP_INCLUDED
+#define NDNBOOST_MPL_REMOVE_IF_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 // Copyright David Abrahams 2003-2004
@@ -76,8 +76,8 @@
 
 } // namespace aux
 
-BOOST_MPL_AUX_INSERTER_ALGORITHM_DEF(3, remove_if)
+NDNBOOST_MPL_AUX_INSERTER_ALGORITHM_DEF(3, remove_if)
 
 }}
 
-#endif // BOOST_MPL_REMOVE_IF_HPP_INCLUDED
+#endif // NDNBOOST_MPL_REMOVE_IF_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/reverse_fold.hpp b/include/ndnboost/mpl/reverse_fold.hpp
index 5d5d9d8..b790a43 100644
--- a/include/ndnboost/mpl/reverse_fold.hpp
+++ b/include/ndnboost/mpl/reverse_fold.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_REVERSE_FOLD_HPP_INCLUDED
-#define BOOST_MPL_REVERSE_FOLD_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_REVERSE_FOLD_HPP_INCLUDED
+#define NDNBOOST_MPL_REVERSE_FOLD_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2001-2004
 // Copyright David Abrahams 2001-2002
@@ -24,9 +24,9 @@
 namespace ndnboost { namespace mpl {
 
 template<
-      typename BOOST_MPL_AUX_NA_PARAM(Sequence)
-    , typename BOOST_MPL_AUX_NA_PARAM(State)
-    , typename BOOST_MPL_AUX_NA_PARAM(BackwardOp)
+      typename NDNBOOST_MPL_AUX_NA_PARAM(Sequence)
+    , typename NDNBOOST_MPL_AUX_NA_PARAM(State)
+    , typename NDNBOOST_MPL_AUX_NA_PARAM(BackwardOp)
     , typename ForwardOp = arg<1>
     >
 struct reverse_fold
@@ -40,11 +40,11 @@
         , ForwardOp
         >::state type;
 
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(3,reverse_fold,(Sequence,State,BackwardOp))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(3,reverse_fold,(Sequence,State,BackwardOp))
 };
 
-BOOST_MPL_AUX_NA_SPEC(3, reverse_fold)
+NDNBOOST_MPL_AUX_NA_SPEC(3, reverse_fold)
 
 }}
 
-#endif // BOOST_MPL_REVERSE_FOLD_HPP_INCLUDED
+#endif // NDNBOOST_MPL_REVERSE_FOLD_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/same_as.hpp b/include/ndnboost/mpl/same_as.hpp
index e7736b0..d9fdbcb 100644
--- a/include/ndnboost/mpl/same_as.hpp
+++ b/include/ndnboost/mpl/same_as.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_SAME_AS_HPP_INCLUDED
-#define BOOST_MPL_SAME_AS_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_SAME_AS_HPP_INCLUDED
+#define NDNBOOST_MPL_SAME_AS_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -26,7 +26,7 @@
 struct same_as
 {
     template< typename T2 > struct apply
-#if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING)
+#if !defined(NDNBOOST_MPL_CFG_NO_NESTED_FORWARDING)
         : is_same<T1,T2>
     {
 #else
@@ -40,7 +40,7 @@
 struct not_same_as
 {
     template< typename T2 > struct apply
-#if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING)
+#if !defined(NDNBOOST_MPL_CFG_NO_NESTED_FORWARDING)
         : not_< is_same<T1,T2> >
     {
 #else
@@ -52,4 +52,4 @@
 
 }}
 
-#endif // BOOST_MPL_SAME_AS_HPP_INCLUDED
+#endif // NDNBOOST_MPL_SAME_AS_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/sequence_tag.hpp b/include/ndnboost/mpl/sequence_tag.hpp
index 69a7193..51c1e78 100644
--- a/include/ndnboost/mpl/sequence_tag.hpp
+++ b/include/ndnboost/mpl/sequence_tag.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_SEQUENCE_TAG_HPP_INCLUDED
-#define BOOST_MPL_SEQUENCE_TAG_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_SEQUENCE_TAG_HPP_INCLUDED
+#define NDNBOOST_MPL_SEQUENCE_TAG_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -27,18 +27,18 @@
 
 // agurt, 27/nov/02: have to use a simplistic 'sequence_tag' implementation
 // on MSVC to avoid dreadful "internal structure overflow" error
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1300) \
-    || defined(BOOST_MPL_CFG_NO_HAS_XXX)
+#if NDNBOOST_WORKAROUND(NDNBOOST_MSVC, < 1300) \
+    || defined(NDNBOOST_MPL_CFG_NO_HAS_XXX)
 
 template<
-      typename BOOST_MPL_AUX_NA_PARAM(Sequence)
+      typename NDNBOOST_MPL_AUX_NA_PARAM(Sequence)
     >
 struct sequence_tag
 {
     typedef typename Sequence::tag type;
 };
 
-#elif BOOST_WORKAROUND(BOOST_MSVC, == 1300)
+#elif NDNBOOST_WORKAROUND(NDNBOOST_MSVC, == 1300)
 
 // agurt, 07/feb/03: workaround for what seems to be MSVC 7.0-specific ETI issue
 
@@ -65,7 +65,7 @@
 } // namespace aux
 
 template<
-      typename BOOST_MPL_AUX_NA_PARAM(Sequence)
+      typename NDNBOOST_MPL_AUX_NA_PARAM(Sequence)
     >
 struct sequence_tag
     : aux::sequence_tag_impl< !aux::is_msvc_eti_arg<Sequence>::value >
@@ -105,7 +105,7 @@
 } // namespace aux
 
 template<
-      typename BOOST_MPL_AUX_NA_PARAM(Sequence)
+      typename NDNBOOST_MPL_AUX_NA_PARAM(Sequence)
     >
 struct sequence_tag
     : aux::sequence_tag_impl<
@@ -115,10 +115,10 @@
 {
 };
 
-#endif // BOOST_MSVC
+#endif // NDNBOOST_MSVC
 
-BOOST_MPL_AUX_NA_SPEC(1, sequence_tag)
+NDNBOOST_MPL_AUX_NA_SPEC(1, sequence_tag)
 
 }}
 
-#endif // BOOST_MPL_SEQUENCE_TAG_HPP_INCLUDED
+#endif // NDNBOOST_MPL_SEQUENCE_TAG_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/sequence_tag_fwd.hpp b/include/ndnboost/mpl/sequence_tag_fwd.hpp
index 9140a6d..9e3aee3 100644
--- a/include/ndnboost/mpl/sequence_tag_fwd.hpp
+++ b/include/ndnboost/mpl/sequence_tag_fwd.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_SEQUENCE_TAG_FWD_HPP_INCLUDED
-#define BOOST_MPL_SEQUENCE_TAG_FWD_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_SEQUENCE_TAG_FWD_HPP_INCLUDED
+#define NDNBOOST_MPL_SEQUENCE_TAG_FWD_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -23,4 +23,4 @@
 
 }}
 
-#endif // BOOST_MPL_SEQUENCE_TAG_FWD_HPP_INCLUDED
+#endif // NDNBOOST_MPL_SEQUENCE_TAG_FWD_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/size.hpp b/include/ndnboost/mpl/size.hpp
index 2538cc2..d51549b 100644
--- a/include/ndnboost/mpl/size.hpp
+++ b/include/ndnboost/mpl/size.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_SIZE_HPP_INCLUDED
-#define BOOST_MPL_SIZE_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_SIZE_HPP_INCLUDED
+#define NDNBOOST_MPL_SIZE_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -24,7 +24,7 @@
 namespace ndnboost { namespace mpl {
 
 template<
-      typename BOOST_MPL_AUX_NA_PARAM(Sequence)
+      typename NDNBOOST_MPL_AUX_NA_PARAM(Sequence)
     >
 struct size
     : aux::msvc_eti_base<
@@ -32,11 +32,11 @@
             ::template apply< Sequence >::type
       >::type
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(1, size, (Sequence))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(1, size, (Sequence))
 };
 
-BOOST_MPL_AUX_NA_SPEC(1, size)
+NDNBOOST_MPL_AUX_NA_SPEC(1, size)
 
 }}
 
-#endif // BOOST_MPL_SIZE_HPP_INCLUDED
+#endif // NDNBOOST_MPL_SIZE_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/size_fwd.hpp b/include/ndnboost/mpl/size_fwd.hpp
index e84082a..1d948a2 100644
--- a/include/ndnboost/mpl/size_fwd.hpp
+++ b/include/ndnboost/mpl/size_fwd.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_SIZE_FWD_HPP_INCLUDED
-#define BOOST_MPL_SIZE_FWD_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_SIZE_FWD_HPP_INCLUDED
+#define NDNBOOST_MPL_SIZE_FWD_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -21,4 +21,4 @@
 
 }}
 
-#endif // BOOST_MPL_SIZE_FWD_HPP_INCLUDED
+#endif // NDNBOOST_MPL_SIZE_FWD_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/size_t.hpp b/include/ndnboost/mpl/size_t.hpp
index 182f128..fc86699 100644
--- a/include/ndnboost/mpl/size_t.hpp
+++ b/include/ndnboost/mpl/size_t.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_SIZE_T_HPP_INCLUDED
-#define BOOST_MPL_SIZE_T_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_SIZE_T_HPP_INCLUDED
+#define NDNBOOST_MPL_SIZE_T_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -22,4 +22,4 @@
 
 #include <ndnboost/mpl/aux_/integral_wrapper.hpp>
 
-#endif // BOOST_MPL_SIZE_T_HPP_INCLUDED
+#endif // NDNBOOST_MPL_SIZE_T_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/size_t_fwd.hpp b/include/ndnboost/mpl/size_t_fwd.hpp
index f6d8aaa..6adc981 100644
--- a/include/ndnboost/mpl/size_t_fwd.hpp
+++ b/include/ndnboost/mpl/size_t_fwd.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_SIZE_T_FWD_HPP_INCLUDED
-#define BOOST_MPL_SIZE_T_FWD_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_SIZE_T_FWD_HPP_INCLUDED
+#define NDNBOOST_MPL_SIZE_T_FWD_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -18,11 +18,11 @@
 #include <ndnboost/config.hpp> // make sure 'size_t' is placed into 'std'
 #include <cstddef>
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 
 template< std::size_t N > struct size_t;
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-BOOST_MPL_AUX_ADL_BARRIER_DECL(size_t)
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_DECL(size_t)
 
-#endif // BOOST_MPL_SIZE_T_FWD_HPP_INCLUDED
+#endif // NDNBOOST_MPL_SIZE_T_FWD_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/tag.hpp b/include/ndnboost/mpl/tag.hpp
index 56b9fb4..4eed698 100644
--- a/include/ndnboost/mpl/tag.hpp
+++ b/include/ndnboost/mpl/tag.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_TAG_HPP_INCLUDED
-#define BOOST_MPL_TAG_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_TAG_HPP_INCLUDED
+#define NDNBOOST_MPL_TAG_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2004
 //
@@ -29,7 +29,7 @@
 }
 
 template< typename T, typename Default = void_ > struct tag
-#if !defined(BOOST_MPL_CFG_MSVC_ETI_BUG)
+#if !defined(NDNBOOST_MPL_CFG_MSVC_ETI_BUG)
     : if_< 
           aux::has_tag<T>
         , aux::tag_impl<T>
@@ -49,4 +49,4 @@
 
 }}
 
-#endif // BOOST_MPL_TAG_HPP_INCLUDED
+#endif // NDNBOOST_MPL_TAG_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/times.hpp b/include/ndnboost/mpl/times.hpp
index 60984bb..e6fa702 100644
--- a/include/ndnboost/mpl/times.hpp
+++ b/include/ndnboost/mpl/times.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_TIMES_HPP_INCLUDED
-#define BOOST_MPL_TIMES_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_TIMES_HPP_INCLUDED
+#define NDNBOOST_MPL_TIMES_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -18,4 +18,4 @@
 #define AUX778076_OP_TOKEN *
 #include <ndnboost/mpl/aux_/arithmetic_op.hpp>
 
-#endif // BOOST_MPL_TIMES_HPP_INCLUDED
+#endif // NDNBOOST_MPL_TIMES_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/vector.hpp b/include/ndnboost/mpl/vector.hpp
index 81b404d..4492f22 100644
--- a/include/ndnboost/mpl/vector.hpp
+++ b/include/ndnboost/mpl/vector.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_VECTOR_HPP_INCLUDED
-#define BOOST_MPL_VECTOR_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_VECTOR_HPP_INCLUDED
+#define NDNBOOST_MPL_VECTOR_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -14,7 +14,7 @@
 // $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
 // $Revision: 49267 $
 
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
+#if !defined(NDNBOOST_MPL_PREPROCESSING_MODE)
 #   include <ndnboost/mpl/limits/vector.hpp>
 #   include <ndnboost/mpl/aux_/na.hpp>
 #   include <ndnboost/mpl/aux_/config/preprocessor.hpp>
@@ -23,26 +23,26 @@
 #   include <ndnboost/preprocessor/cat.hpp>
 #   include <ndnboost/preprocessor/stringize.hpp>
 
-#if !defined(BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING)
+#if !defined(NDNBOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING)
 #   define AUX778076_VECTOR_HEADER \
-    BOOST_PP_CAT(vector, BOOST_MPL_LIMIT_VECTOR_SIZE).hpp \
+    NDNBOOST_PP_CAT(vector, NDNBOOST_MPL_LIMIT_VECTOR_SIZE).hpp \
     /**/
 #else
 #   define AUX778076_VECTOR_HEADER \
-    BOOST_PP_CAT(vector, BOOST_MPL_LIMIT_VECTOR_SIZE)##.hpp \
+    NDNBOOST_PP_CAT(vector, NDNBOOST_MPL_LIMIT_VECTOR_SIZE)##.hpp \
     /**/
 #endif
 
-#   include BOOST_PP_STRINGIZE(ndnboost/mpl/vector/AUX778076_VECTOR_HEADER)
+#   include NDNBOOST_PP_STRINGIZE(ndnboost/mpl/vector/AUX778076_VECTOR_HEADER)
 #   undef AUX778076_VECTOR_HEADER
 #endif
 
 #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 vector.hpp
+#   define NDNBOOST_MPL_PREPROCESSED_HEADER vector.hpp
 #   include <ndnboost/mpl/aux_/include_preprocessed.hpp>
 
 #else
@@ -50,8 +50,8 @@
 #   include <ndnboost/mpl/limits/vector.hpp>
 
 #   define AUX778076_SEQUENCE_NAME vector
-#   define AUX778076_SEQUENCE_LIMIT BOOST_MPL_LIMIT_VECTOR_SIZE
+#   define AUX778076_SEQUENCE_LIMIT NDNBOOST_MPL_LIMIT_VECTOR_SIZE
 #   include <ndnboost/mpl/aux_/sequence_wrapper.hpp>
 
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-#endif // BOOST_MPL_VECTOR_HPP_INCLUDED
+#endif // NDNBOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
+#endif // NDNBOOST_MPL_VECTOR_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/vector/aux_/O1_size.hpp b/include/ndnboost/mpl/vector/aux_/O1_size.hpp
index 279ade9..50b0f88 100644
--- a/include/ndnboost/mpl/vector/aux_/O1_size.hpp
+++ b/include/ndnboost/mpl/vector/aux_/O1_size.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_VECTOR_AUX_O1_SIZE_HPP_INCLUDED
-#define BOOST_MPL_VECTOR_AUX_O1_SIZE_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_VECTOR_AUX_O1_SIZE_HPP_INCLUDED
+#define NDNBOOST_MPL_VECTOR_AUX_O1_SIZE_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -23,7 +23,7 @@
 
 namespace ndnboost { namespace mpl {
 
-#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)
+#if defined(NDNBOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)
 
 template<>
 struct O1_size_impl< aux::vector_tag >
@@ -36,7 +36,7 @@
 
 #else
 
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+#if !defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
 
 template< long N >
 struct O1_size_impl< aux::vector_tag<N> >
@@ -47,10 +47,10 @@
     };
 };
 
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#endif // NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 
-#endif // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES
+#endif // NDNBOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES
 
 }}
 
-#endif // BOOST_MPL_VECTOR_AUX_O1_SIZE_HPP_INCLUDED
+#endif // NDNBOOST_MPL_VECTOR_AUX_O1_SIZE_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/vector/aux_/at.hpp b/include/ndnboost/mpl/vector/aux_/at.hpp
index c5f7d5e..b507743 100644
--- a/include/ndnboost/mpl/vector/aux_/at.hpp
+++ b/include/ndnboost/mpl/vector/aux_/at.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_VECTOR_AUX_AT_HPP_INCLUDED
-#define BOOST_MPL_VECTOR_AUX_AT_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_VECTOR_AUX_AT_HPP_INCLUDED
+#define NDNBOOST_MPL_VECTOR_AUX_AT_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -26,7 +26,7 @@
 
 namespace ndnboost { namespace mpl {
 
-#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)
+#if defined(NDNBOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)
 
 template< typename Vector, long n_ >
 struct v_at_impl
@@ -48,7 +48,7 @@
     template< typename Vector, typename N > struct apply
         : v_at<
               Vector
-            , BOOST_MPL_AUX_VALUE_WKND(N)::value
+            , NDNBOOST_MPL_AUX_VALUE_WKND(N)::value
             >
     {
     };
@@ -56,26 +56,26 @@
 
 #else
 
-#   if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
-    && !defined(BOOST_MPL_CFG_NO_NONTYPE_TEMPLATE_PARTIAL_SPEC)
+#   if !defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
+    && !defined(NDNBOOST_MPL_CFG_NO_NONTYPE_TEMPLATE_PARTIAL_SPEC)
 
-template< typename Vector, BOOST_MPL_AUX_NTTP_DECL(long, n_) > struct v_at;
+template< typename Vector, NDNBOOST_MPL_AUX_NTTP_DECL(long, n_) > struct v_at;
 
-template< BOOST_MPL_AUX_NTTP_DECL(long, n_) >
+template< NDNBOOST_MPL_AUX_NTTP_DECL(long, n_) >
 struct at_impl< aux::vector_tag<n_> >
 {
     template< typename Vector, typename N > struct apply
 #if !defined(__BORLANDC__)
         : v_at<
               Vector
-            , BOOST_MPL_AUX_VALUE_WKND(N)::value
+            , NDNBOOST_MPL_AUX_VALUE_WKND(N)::value
             >
     {
 #else
     {
         typedef typename v_at<
               Vector
-            , BOOST_MPL_AUX_VALUE_WKND(N)::value
+            , NDNBOOST_MPL_AUX_VALUE_WKND(N)::value
             >::type type;
 #endif
     };
@@ -85,7 +85,7 @@
 
 namespace aux {
 
-template< BOOST_MPL_AUX_NTTP_DECL(long, n_) > struct v_at_impl
+template< NDNBOOST_MPL_AUX_NTTP_DECL(long, n_) > struct v_at_impl
 {
     template< typename V > struct result_;
 };
@@ -101,16 +101,16 @@
 
 } // namespace aux
 
-template< typename T, BOOST_MPL_AUX_NTTP_DECL(long, n_) >
+template< typename T, NDNBOOST_MPL_AUX_NTTP_DECL(long, n_) >
 struct v_at
     : aux::v_at_impl<n_>::template result_<T>
 {
 };
 
-#   endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#   endif // NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 
-#endif // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES
+#endif // NDNBOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES
 
 }}
 
-#endif // BOOST_MPL_VECTOR_AUX_AT_HPP_INCLUDED
+#endif // NDNBOOST_MPL_VECTOR_AUX_AT_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/vector/aux_/back.hpp b/include/ndnboost/mpl/vector/aux_/back.hpp
index d952c62..e7946af 100644
--- a/include/ndnboost/mpl/vector/aux_/back.hpp
+++ b/include/ndnboost/mpl/vector/aux_/back.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_VECTOR_AUX_BACK_HPP_INCLUDED
-#define BOOST_MPL_VECTOR_AUX_BACK_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_VECTOR_AUX_BACK_HPP_INCLUDED
+#define NDNBOOST_MPL_VECTOR_AUX_BACK_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -23,7 +23,7 @@
 
 namespace ndnboost { namespace mpl {
 
-#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)
+#if defined(NDNBOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)
 
 template<>
 struct back_impl< aux::vector_tag >
@@ -39,7 +39,7 @@
 
 #else
 
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+#if !defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
 
 template< long n_ >
 struct back_impl< aux::vector_tag<n_> >
@@ -50,10 +50,10 @@
     };
 };
 
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#endif // NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 
-#endif // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES
+#endif // NDNBOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES
 
 }}
 
-#endif // BOOST_MPL_VECTOR_AUX_BACK_HPP_INCLUDED
+#endif // NDNBOOST_MPL_VECTOR_AUX_BACK_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/vector/aux_/begin_end.hpp b/include/ndnboost/mpl/vector/aux_/begin_end.hpp
index f345503..1b4d068 100644
--- a/include/ndnboost/mpl/vector/aux_/begin_end.hpp
+++ b/include/ndnboost/mpl/vector/aux_/begin_end.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_VECTOR_AUX_BEGIN_END_HPP_INCLUDED
-#define BOOST_MPL_VECTOR_AUX_BEGIN_END_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_VECTOR_AUX_BEGIN_END_HPP_INCLUDED
+#define NDNBOOST_MPL_VECTOR_AUX_BEGIN_END_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -16,7 +16,7 @@
 
 #include <ndnboost/mpl/aux_/config/typeof.hpp>
 
-#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)
+#if defined(NDNBOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)
 
 #   include <ndnboost/mpl/begin_end_fwd.hpp>
 #   include <ndnboost/mpl/vector/aux_/iterator.hpp>
@@ -44,6 +44,6 @@
 
 }}
 
-#endif // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES
+#endif // NDNBOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES
 
-#endif // BOOST_MPL_VECTOR_AUX_BEGIN_END_HPP_INCLUDED
+#endif // NDNBOOST_MPL_VECTOR_AUX_BEGIN_END_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/vector/aux_/clear.hpp b/include/ndnboost/mpl/vector/aux_/clear.hpp
index db09943..6bbc78c 100644
--- a/include/ndnboost/mpl/vector/aux_/clear.hpp
+++ b/include/ndnboost/mpl/vector/aux_/clear.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_VECTOR_AUX_CLEAR_HPP_INCLUDED
-#define BOOST_MPL_VECTOR_AUX_CLEAR_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_VECTOR_AUX_CLEAR_HPP_INCLUDED
+#define NDNBOOST_MPL_VECTOR_AUX_CLEAR_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -22,7 +22,7 @@
 
 namespace ndnboost { namespace mpl {
 
-#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)
+#if defined(NDNBOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)
 
 template<>
 struct clear_impl< aux::vector_tag >
@@ -35,7 +35,7 @@
 
 #else
 
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+#if !defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
 
 template< long N >
 struct clear_impl< aux::vector_tag<N> >
@@ -46,10 +46,10 @@
     };
 };
 
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#endif // NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 
-#endif // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES
+#endif // NDNBOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES
 
 }}
 
-#endif // BOOST_MPL_VECTOR_AUX_CLEAR_HPP_INCLUDED
+#endif // NDNBOOST_MPL_VECTOR_AUX_CLEAR_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/vector/aux_/empty.hpp b/include/ndnboost/mpl/vector/aux_/empty.hpp
index 678af94..91779e3 100644
--- a/include/ndnboost/mpl/vector/aux_/empty.hpp
+++ b/include/ndnboost/mpl/vector/aux_/empty.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_VECTOR_AUX_EMPTY_HPP_INCLUDED
-#define BOOST_MPL_VECTOR_AUX_EMPTY_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_VECTOR_AUX_EMPTY_HPP_INCLUDED
+#define NDNBOOST_MPL_VECTOR_AUX_EMPTY_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -23,7 +23,7 @@
 
 namespace ndnboost { namespace mpl {
 
-#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)
+#if defined(NDNBOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)
 
 template<>
 struct empty_impl< aux::vector_tag >
@@ -48,7 +48,7 @@
     };
 };
 
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+#if !defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
 
 template< long N >
 struct empty_impl< aux::vector_tag<N> >
@@ -59,10 +59,10 @@
     };
 };
 
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#endif // NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 
-#endif // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES
+#endif // NDNBOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES
 
 }}
 
-#endif // BOOST_MPL_VECTOR_AUX_EMPTY_HPP_INCLUDED
+#endif // NDNBOOST_MPL_VECTOR_AUX_EMPTY_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/vector/aux_/front.hpp b/include/ndnboost/mpl/vector/aux_/front.hpp
index 7705d3d..d01b4ae 100644
--- a/include/ndnboost/mpl/vector/aux_/front.hpp
+++ b/include/ndnboost/mpl/vector/aux_/front.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_VECTOR_AUX_FRONT_HPP_INCLUDED
-#define BOOST_MPL_VECTOR_AUX_FRONT_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_VECTOR_AUX_FRONT_HPP_INCLUDED
+#define NDNBOOST_MPL_VECTOR_AUX_FRONT_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2008
 //
@@ -23,7 +23,7 @@
 
 namespace ndnboost { namespace mpl {
 
-#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)
+#if defined(NDNBOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)
 
 template<>
 struct front_impl< aux::vector_tag >
@@ -36,9 +36,9 @@
 
 #else
 
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+#if !defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
 
-template< BOOST_MPL_AUX_NTTP_DECL(long, n_) >
+template< NDNBOOST_MPL_AUX_NTTP_DECL(long, n_) >
 struct front_impl< aux::vector_tag<n_> >
 {
     template< typename Vector > struct apply
@@ -47,10 +47,10 @@
     };
 };
 
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#endif // NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 
-#endif // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES
+#endif // NDNBOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES
 
 }}
 
-#endif // BOOST_MPL_VECTOR_AUX_FRONT_HPP_INCLUDED
+#endif // NDNBOOST_MPL_VECTOR_AUX_FRONT_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/vector/aux_/include_preprocessed.hpp b/include/ndnboost/mpl/vector/aux_/include_preprocessed.hpp
index 3cd7b7c..34270da 100644
--- a/include/ndnboost/mpl/vector/aux_/include_preprocessed.hpp
+++ b/include/ndnboost/mpl/vector/aux_/include_preprocessed.hpp
@@ -21,35 +21,35 @@
 #include <ndnboost/preprocessor/cat.hpp>
 #include <ndnboost/preprocessor/stringize.hpp>
 
-#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)
+#if defined(NDNBOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)
 #   define AUX778076_INCLUDE_DIR typeof_based
-#elif defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
-   || defined(BOOST_MPL_CFG_NO_NONTYPE_TEMPLATE_PARTIAL_SPEC)
+#elif defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
+   || defined(NDNBOOST_MPL_CFG_NO_NONTYPE_TEMPLATE_PARTIAL_SPEC)
 #   define AUX778076_INCLUDE_DIR no_ctps
 #else
 #   define AUX778076_INCLUDE_DIR plain
 #endif
 
-#if !defined(BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING)
+#if !defined(NDNBOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING)
 #   define AUX778076_HEADER \
-    AUX778076_INCLUDE_DIR/BOOST_MPL_PREPROCESSED_HEADER \
+    AUX778076_INCLUDE_DIR/NDNBOOST_MPL_PREPROCESSED_HEADER \
 /**/
 #else
 #   define AUX778076_HEADER \
-    BOOST_PP_CAT(AUX778076_INCLUDE_DIR,/)##BOOST_MPL_PREPROCESSED_HEADER \
+    NDNBOOST_PP_CAT(AUX778076_INCLUDE_DIR,/)##NDNBOOST_MPL_PREPROCESSED_HEADER \
 /**/
 #endif
 
 
-#if BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(700))
-#   define AUX778076_INCLUDE_STRING BOOST_PP_STRINGIZE(ndnboost/mpl/vector/aux_/preprocessed/AUX778076_HEADER)
+#if NDNBOOST_WORKAROUND(__IBMCPP__, NDNBOOST_TESTED_AT(700))
+#   define AUX778076_INCLUDE_STRING NDNBOOST_PP_STRINGIZE(ndnboost/mpl/vector/aux_/preprocessed/AUX778076_HEADER)
 #   include AUX778076_INCLUDE_STRING
 #   undef AUX778076_INCLUDE_STRING
 #else
-#   include BOOST_PP_STRINGIZE(ndnboost/mpl/vector/aux_/preprocessed/AUX778076_HEADER)
+#   include NDNBOOST_PP_STRINGIZE(ndnboost/mpl/vector/aux_/preprocessed/AUX778076_HEADER)
 #endif
 
 #   undef AUX778076_HEADER
 #   undef AUX778076_INCLUDE_DIR
 
-#undef BOOST_MPL_PREPROCESSED_HEADER
+#undef NDNBOOST_MPL_PREPROCESSED_HEADER
diff --git a/include/ndnboost/mpl/vector/aux_/item.hpp b/include/ndnboost/mpl/vector/aux_/item.hpp
index 7e3885c..8858aa0 100644
--- a/include/ndnboost/mpl/vector/aux_/item.hpp
+++ b/include/ndnboost/mpl/vector/aux_/item.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_VECTOR_AUX_ITEM_HPP_INCLUDED
-#define BOOST_MPL_VECTOR_AUX_ITEM_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_VECTOR_AUX_ITEM_HPP_INCLUDED
+#define NDNBOOST_MPL_VECTOR_AUX_ITEM_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -23,7 +23,7 @@
 
 namespace ndnboost { namespace mpl {
 
-#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)
+#if defined(NDNBOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)
 
 template< 
       typename T
@@ -96,8 +96,8 @@
     using Base::item_;
 };
 
-#endif // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES
+#endif // NDNBOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES
 
 }}
 
-#endif // BOOST_MPL_VECTOR_AUX_ITEM_HPP_INCLUDED
+#endif // NDNBOOST_MPL_VECTOR_AUX_ITEM_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/vector/aux_/iterator.hpp b/include/ndnboost/mpl/vector/aux_/iterator.hpp
index 8a7915b..799d0e7 100644
--- a/include/ndnboost/mpl/vector/aux_/iterator.hpp
+++ b/include/ndnboost/mpl/vector/aux_/iterator.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_AUX_VECTOR_ITERATOR_HPP_INCLUDED
-#define BOOST_MPL_AUX_VECTOR_ITERATOR_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_AUX_VECTOR_ITERATOR_HPP_INCLUDED
+#define NDNBOOST_MPL_AUX_VECTOR_ITERATOR_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -31,7 +31,7 @@
 
 template<
       typename Vector
-    , BOOST_MPL_AUX_NTTP_DECL(long, n_)
+    , NDNBOOST_MPL_AUX_NTTP_DECL(long, n_)
     >
 struct v_iter
 {
@@ -42,7 +42,7 @@
     typedef Vector vector_;
     typedef mpl::long_<n_> pos;
 
-#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+#if defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
     enum { 
           next_ = n_ + 1
         , prior_ = n_ - 1
@@ -56,11 +56,11 @@
 };
 
 
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+#if !defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
 
 template<
       typename Vector
-    , BOOST_MPL_AUX_NTTP_DECL(long, n_)
+    , NDNBOOST_MPL_AUX_NTTP_DECL(long, n_)
     >
 struct next< v_iter<Vector,n_> >
 {
@@ -69,7 +69,7 @@
 
 template<
       typename Vector
-    , BOOST_MPL_AUX_NTTP_DECL(long, n_)
+    , NDNBOOST_MPL_AUX_NTTP_DECL(long, n_)
     >
 struct prior< v_iter<Vector,n_> >
 {
@@ -78,28 +78,28 @@
 
 template<
       typename Vector
-    , BOOST_MPL_AUX_NTTP_DECL(long, n_)
+    , NDNBOOST_MPL_AUX_NTTP_DECL(long, n_)
     , typename Distance
     >
 struct advance< v_iter<Vector,n_>,Distance>
 {
     typedef v_iter<
           Vector
-        , (n_ + BOOST_MPL_AUX_NESTED_VALUE_WKND(long, Distance))
+        , (n_ + NDNBOOST_MPL_AUX_NESTED_VALUE_WKND(long, Distance))
         > type;
 };
 
 template< 
       typename Vector
-    , BOOST_MPL_AUX_NTTP_DECL(long, n_)
-    , BOOST_MPL_AUX_NTTP_DECL(long, m_)
+    , NDNBOOST_MPL_AUX_NTTP_DECL(long, n_)
+    , NDNBOOST_MPL_AUX_NTTP_DECL(long, m_)
     > 
 struct distance< v_iter<Vector,n_>, v_iter<Vector,m_> >
     : mpl::long_<(m_ - n_)>
 {
 };
 
-#else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#else // NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 
 template<> struct advance_impl<aux::v_iter_tag>
 {
@@ -119,7 +119,7 @@
     {
         enum { pos1_ = Iter1::pos_, pos2_ = Iter2::pos_ };
         typedef long_<( pos2_ - pos1_ )> type;
-        BOOST_STATIC_CONSTANT(long, value = ( pos2_ - pos1_ ));
+        NDNBOOST_STATIC_CONSTANT(long, value = ( pos2_ - pos1_ ));
     };
 };
 
@@ -127,4 +127,4 @@
 
 }}
 
-#endif // BOOST_MPL_AUX_VECTOR_ITERATOR_HPP_INCLUDED
+#endif // NDNBOOST_MPL_AUX_VECTOR_ITERATOR_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/vector/aux_/numbered.hpp b/include/ndnboost/mpl/vector/aux_/numbered.hpp
index 98ebc50..d256e31 100644
--- a/include/ndnboost/mpl/vector/aux_/numbered.hpp
+++ b/include/ndnboost/mpl/vector/aux_/numbered.hpp
@@ -1,7 +1,7 @@
 
 // NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION
 
-#if defined(BOOST_PP_IS_ITERATING)
+#if defined(NDNBOOST_PP_IS_ITERATING)
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -22,27 +22,27 @@
 #include <ndnboost/preprocessor/dec.hpp>
 #include <ndnboost/preprocessor/cat.hpp>
 
-#define i_ BOOST_PP_FRAME_ITERATION(1)
+#define i_ NDNBOOST_PP_FRAME_ITERATION(1)
 
-#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)
+#if defined(NDNBOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)
 
 #   define AUX778076_VECTOR_TAIL(vector, i_, T) \
-    BOOST_PP_CAT(vector,i_)< \
-          BOOST_PP_ENUM_PARAMS(i_, T) \
+    NDNBOOST_PP_CAT(vector,i_)< \
+          NDNBOOST_PP_ENUM_PARAMS(i_, T) \
         > \
     /**/
 
 #if i_ > 0
 template<
-      BOOST_PP_ENUM_PARAMS(i_, typename T)
+      NDNBOOST_PP_ENUM_PARAMS(i_, typename T)
     >
-struct BOOST_PP_CAT(vector,i_)
+struct NDNBOOST_PP_CAT(vector,i_)
     : v_item<
-          BOOST_PP_CAT(T,BOOST_PP_DEC(i_))
-        , AUX778076_VECTOR_TAIL(vector,BOOST_PP_DEC(i_),T)
+          NDNBOOST_PP_CAT(T,NDNBOOST_PP_DEC(i_))
+        , AUX778076_VECTOR_TAIL(vector,NDNBOOST_PP_DEC(i_),T)
         >
 {
-    typedef BOOST_PP_CAT(vector,i_) type;
+    typedef NDNBOOST_PP_CAT(vector,i_) type;
 };
 #endif
 
@@ -53,21 +53,21 @@
 #   if i_ > 0
 
 template<
-      BOOST_PP_ENUM_PARAMS(i_, typename T)
+      NDNBOOST_PP_ENUM_PARAMS(i_, typename T)
     >
-struct BOOST_PP_CAT(vector,i_)
+struct NDNBOOST_PP_CAT(vector,i_)
 {
     typedef aux::vector_tag<i_> tag;
-    typedef BOOST_PP_CAT(vector,i_) type;
+    typedef NDNBOOST_PP_CAT(vector,i_) type;
 
 #   define AUX778076_VECTOR_ITEM(unused, i_, unused2) \
-    typedef BOOST_PP_CAT(T,i_) BOOST_PP_CAT(item,i_); \
+    typedef NDNBOOST_PP_CAT(T,i_) NDNBOOST_PP_CAT(item,i_); \
     /**/
 
-    BOOST_PP_REPEAT(i_, AUX778076_VECTOR_ITEM, unused)
+    NDNBOOST_PP_REPEAT(i_, AUX778076_VECTOR_ITEM, unused)
 #   undef AUX778076_VECTOR_ITEM
-    typedef void_ BOOST_PP_CAT(item,i_);
-    typedef BOOST_PP_CAT(T,BOOST_PP_DEC(i_)) back;
+    typedef void_ NDNBOOST_PP_CAT(item,i_);
+    typedef NDNBOOST_PP_CAT(T,NDNBOOST_PP_DEC(i_)) back;
 
     // Borland forces us to use 'type' here (instead of the class name)
     typedef v_iter<type,0> begin;
@@ -75,14 +75,14 @@
 };
 
 template<>
-struct push_front_impl< aux::vector_tag<BOOST_PP_DEC(i_)> >
+struct push_front_impl< aux::vector_tag<NDNBOOST_PP_DEC(i_)> >
 {
     template< typename Vector, typename T > struct apply
     {
-        typedef BOOST_PP_CAT(vector,i_)<
+        typedef NDNBOOST_PP_CAT(vector,i_)<
               T
-              BOOST_PP_COMMA_IF(BOOST_PP_DEC(i_))
-              BOOST_PP_ENUM_PARAMS(BOOST_PP_DEC(i_), typename Vector::item)
+              NDNBOOST_PP_COMMA_IF(NDNBOOST_PP_DEC(i_))
+              NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_DEC(i_), typename Vector::item)
             > type;
     };
 };
@@ -92,21 +92,21 @@
 {
     template< typename Vector > struct apply
     {
-        typedef BOOST_PP_CAT(vector,BOOST_PP_DEC(i_))<
-              BOOST_PP_ENUM_SHIFTED_PARAMS(i_, typename Vector::item)
+        typedef NDNBOOST_PP_CAT(vector,NDNBOOST_PP_DEC(i_))<
+              NDNBOOST_PP_ENUM_SHIFTED_PARAMS(i_, typename Vector::item)
             > type;
     };
 };
 
 
 template<>
-struct push_back_impl< aux::vector_tag<BOOST_PP_DEC(i_)> >
+struct push_back_impl< aux::vector_tag<NDNBOOST_PP_DEC(i_)> >
 {
     template< typename Vector, typename T > struct apply
     {
-        typedef BOOST_PP_CAT(vector,i_)<
-              BOOST_PP_ENUM_PARAMS(BOOST_PP_DEC(i_), typename Vector::item)
-              BOOST_PP_COMMA_IF(BOOST_PP_DEC(i_))
+        typedef NDNBOOST_PP_CAT(vector,i_)<
+              NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_DEC(i_), typename Vector::item)
+              NDNBOOST_PP_COMMA_IF(NDNBOOST_PP_DEC(i_))
               T
             > type;
     };
@@ -117,21 +117,21 @@
 {
     template< typename Vector > struct apply
     {
-        typedef BOOST_PP_CAT(vector,BOOST_PP_DEC(i_))<
-              BOOST_PP_ENUM_PARAMS(BOOST_PP_DEC(i_), typename Vector::item)
+        typedef NDNBOOST_PP_CAT(vector,NDNBOOST_PP_DEC(i_))<
+              NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_DEC(i_), typename Vector::item)
             > type;
     };
 };
 
 #   endif // i_ > 0
 
-#   if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
-    && !defined(BOOST_MPL_CFG_NO_NONTYPE_TEMPLATE_PARTIAL_SPEC)
+#   if !defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
+    && !defined(NDNBOOST_MPL_CFG_NO_NONTYPE_TEMPLATE_PARTIAL_SPEC)
 
 template< typename V >
 struct v_at<V,i_>
 {
-    typedef typename V::BOOST_PP_CAT(item,i_) type;
+    typedef typename V::NDNBOOST_PP_CAT(item,i_) type;
 };
 
 #   else
@@ -141,7 +141,7 @@
 {
     template< typename V_ > struct result_
     {
-        typedef typename V_::BOOST_PP_CAT(item,i_) type;
+        typedef typename V_::NDNBOOST_PP_CAT(item,i_) type;
     };
 };
 }
@@ -151,7 +151,7 @@
 {
     template< typename V_, typename N > struct apply
     {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+        typedef typename aux::v_at_impl<NDNBOOST_MPL_AUX_VALUE_WKND(N)::value>
             ::template result_<V_>::type type;
     };
 };
@@ -209,10 +209,10 @@
     };
 };
 
-#   endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#   endif // NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 
-#endif // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES
+#endif // NDNBOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES
 
 #undef i_
 
-#endif // BOOST_PP_IS_ITERATING
+#endif // NDNBOOST_PP_IS_ITERATING
diff --git a/include/ndnboost/mpl/vector/aux_/numbered_c.hpp b/include/ndnboost/mpl/vector/aux_/numbered_c.hpp
index f7a6db8..a9fd904 100644
--- a/include/ndnboost/mpl/vector/aux_/numbered_c.hpp
+++ b/include/ndnboost/mpl/vector/aux_/numbered_c.hpp
@@ -1,7 +1,7 @@
 
 // NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION
 
-#if defined(BOOST_PP_IS_ITERATING)
+#if defined(NDNBOOST_PP_IS_ITERATING)
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -22,28 +22,28 @@
 #include <ndnboost/preprocessor/dec.hpp>
 #include <ndnboost/preprocessor/cat.hpp>
 
-#define i_ BOOST_PP_FRAME_ITERATION(1)
+#define i_ NDNBOOST_PP_FRAME_ITERATION(1)
 
-#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)
+#if defined(NDNBOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)
 
 #   define AUX778076_VECTOR_TAIL(vector, i_, C) \
-    BOOST_PP_CAT(BOOST_PP_CAT(vector,i_),_c)<T \
-          BOOST_PP_COMMA_IF(i_) BOOST_PP_ENUM_PARAMS(i_, C) \
+    NDNBOOST_PP_CAT(NDNBOOST_PP_CAT(vector,i_),_c)<T \
+          NDNBOOST_PP_COMMA_IF(i_) NDNBOOST_PP_ENUM_PARAMS(i_, C) \
         > \
     /**/
 
 #if i_ > 0
 template<
       typename T
-    , BOOST_PP_ENUM_PARAMS(i_, T C)
+    , NDNBOOST_PP_ENUM_PARAMS(i_, T C)
     >
-struct BOOST_PP_CAT(BOOST_PP_CAT(vector,i_),_c)
+struct NDNBOOST_PP_CAT(NDNBOOST_PP_CAT(vector,i_),_c)
     : v_item<
-          integral_c<T,BOOST_PP_CAT(C,BOOST_PP_DEC(i_))>
-        , AUX778076_VECTOR_TAIL(vector,BOOST_PP_DEC(i_),C)
+          integral_c<T,NDNBOOST_PP_CAT(C,NDNBOOST_PP_DEC(i_))>
+        , AUX778076_VECTOR_TAIL(vector,NDNBOOST_PP_DEC(i_),C)
         >
 {
-    typedef BOOST_PP_CAT(BOOST_PP_CAT(vector,i_),_c) type;
+    typedef NDNBOOST_PP_CAT(NDNBOOST_PP_CAT(vector,i_),_c) type;
     typedef T value_type;
 };
 #endif
@@ -53,25 +53,25 @@
 #else // "brute force" implementation
 
 #   define AUX778076_VECTOR_C_PARAM_FUNC(unused, i_, param) \
-    BOOST_PP_COMMA_IF(i_) \
-    integral_c<T,BOOST_PP_CAT(param,i_)> \
+    NDNBOOST_PP_COMMA_IF(i_) \
+    integral_c<T,NDNBOOST_PP_CAT(param,i_)> \
     /**/
 
 template<
       typename T
-    , BOOST_PP_ENUM_PARAMS(i_, T C)
+    , NDNBOOST_PP_ENUM_PARAMS(i_, T C)
     >
-struct BOOST_PP_CAT(BOOST_PP_CAT(vector,i_),_c)
-    : BOOST_PP_CAT(vector,i_)< BOOST_PP_REPEAT(i_,AUX778076_VECTOR_C_PARAM_FUNC,C) >
+struct NDNBOOST_PP_CAT(NDNBOOST_PP_CAT(vector,i_),_c)
+    : NDNBOOST_PP_CAT(vector,i_)< NDNBOOST_PP_REPEAT(i_,AUX778076_VECTOR_C_PARAM_FUNC,C) >
 {
-    typedef BOOST_PP_CAT(BOOST_PP_CAT(vector,i_),_c) type;
+    typedef NDNBOOST_PP_CAT(NDNBOOST_PP_CAT(vector,i_),_c) type;
     typedef T value_type;
 };
 
 #   undef AUX778076_VECTOR_C_PARAM_FUNC
 
-#endif // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES
+#endif // NDNBOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES
 
 #undef i_
 
-#endif // BOOST_PP_IS_ITERATING
+#endif // NDNBOOST_PP_IS_ITERATING
diff --git a/include/ndnboost/mpl/vector/aux_/pop_back.hpp b/include/ndnboost/mpl/vector/aux_/pop_back.hpp
index d80bd67..fb603aa 100644
--- a/include/ndnboost/mpl/vector/aux_/pop_back.hpp
+++ b/include/ndnboost/mpl/vector/aux_/pop_back.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_VECTOR_AUX_POP_BACK_HPP_INCLUDED
-#define BOOST_MPL_VECTOR_AUX_POP_BACK_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_VECTOR_AUX_POP_BACK_HPP_INCLUDED
+#define NDNBOOST_MPL_VECTOR_AUX_POP_BACK_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -17,7 +17,7 @@
 #include <ndnboost/mpl/pop_back_fwd.hpp>
 #include <ndnboost/mpl/aux_/config/typeof.hpp>
 
-#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)
+#if defined(NDNBOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)
 
 #   include <ndnboost/mpl/vector/aux_/item.hpp>
 #   include <ndnboost/mpl/vector/aux_/tag.hpp>
@@ -35,6 +35,6 @@
 
 }}
 
-#endif // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES
+#endif // NDNBOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES
 
-#endif // BOOST_MPL_VECTOR_AUX_POP_BACK_HPP_INCLUDED
+#endif // NDNBOOST_MPL_VECTOR_AUX_POP_BACK_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/vector/aux_/pop_front.hpp b/include/ndnboost/mpl/vector/aux_/pop_front.hpp
index da7e7a8..497b540 100644
--- a/include/ndnboost/mpl/vector/aux_/pop_front.hpp
+++ b/include/ndnboost/mpl/vector/aux_/pop_front.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_VECTOR_AUX_POP_FRONT_HPP_INCLUDED
-#define BOOST_MPL_VECTOR_AUX_POP_FRONT_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_VECTOR_AUX_POP_FRONT_HPP_INCLUDED
+#define NDNBOOST_MPL_VECTOR_AUX_POP_FRONT_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -17,7 +17,7 @@
 #include <ndnboost/mpl/pop_front_fwd.hpp>
 #include <ndnboost/mpl/aux_/config/typeof.hpp>
 
-#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)
+#if defined(NDNBOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)
 
 #   include <ndnboost/mpl/vector/aux_/item.hpp>
 #   include <ndnboost/mpl/vector/aux_/tag.hpp>
@@ -35,6 +35,6 @@
 
 }}
 
-#endif // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES
+#endif // NDNBOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES
 
-#endif // BOOST_MPL_VECTOR_AUX_POP_FRONT_HPP_INCLUDED
+#endif // NDNBOOST_MPL_VECTOR_AUX_POP_FRONT_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/vector/aux_/preprocessed/no_ctps/vector10.hpp b/include/ndnboost/mpl/vector/aux_/preprocessed/no_ctps/vector10.hpp
index 08300c6..1f9ae7f 100644
--- a/include/ndnboost/mpl/vector/aux_/preprocessed/no_ctps/vector10.hpp
+++ b/include/ndnboost/mpl/vector/aux_/preprocessed/no_ctps/vector10.hpp
@@ -27,7 +27,7 @@
 {
     template< typename V_, typename N > struct apply
     {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+        typedef typename aux::v_at_impl<NDNBOOST_MPL_AUX_VALUE_WKND(N)::value>
             ::template result_<V_>::type type;
     };
 };
@@ -131,7 +131,7 @@
 {
     template< typename V_, typename N > struct apply
     {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+        typedef typename aux::v_at_impl<NDNBOOST_MPL_AUX_VALUE_WKND(N)::value>
             ::template result_<V_>::type type;
     };
 };
@@ -268,7 +268,7 @@
 {
     template< typename V_, typename N > struct apply
     {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+        typedef typename aux::v_at_impl<NDNBOOST_MPL_AUX_VALUE_WKND(N)::value>
             ::template result_<V_>::type type;
     };
 };
@@ -406,7 +406,7 @@
 {
     template< typename V_, typename N > struct apply
     {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+        typedef typename aux::v_at_impl<NDNBOOST_MPL_AUX_VALUE_WKND(N)::value>
             ::template result_<V_>::type type;
     };
 };
@@ -549,7 +549,7 @@
 {
     template< typename V_, typename N > struct apply
     {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+        typedef typename aux::v_at_impl<NDNBOOST_MPL_AUX_VALUE_WKND(N)::value>
             ::template result_<V_>::type type;
     };
 };
@@ -693,7 +693,7 @@
 {
     template< typename V_, typename N > struct apply
     {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+        typedef typename aux::v_at_impl<NDNBOOST_MPL_AUX_VALUE_WKND(N)::value>
             ::template result_<V_>::type type;
     };
 };
@@ -843,7 +843,7 @@
 {
     template< typename V_, typename N > struct apply
     {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+        typedef typename aux::v_at_impl<NDNBOOST_MPL_AUX_VALUE_WKND(N)::value>
             ::template result_<V_>::type type;
     };
 };
@@ -994,7 +994,7 @@
 {
     template< typename V_, typename N > struct apply
     {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+        typedef typename aux::v_at_impl<NDNBOOST_MPL_AUX_VALUE_WKND(N)::value>
             ::template result_<V_>::type type;
     };
 };
@@ -1150,7 +1150,7 @@
 {
     template< typename V_, typename N > struct apply
     {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+        typedef typename aux::v_at_impl<NDNBOOST_MPL_AUX_VALUE_WKND(N)::value>
             ::template result_<V_>::type type;
     };
 };
@@ -1307,7 +1307,7 @@
 {
     template< typename V_, typename N > struct apply
     {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+        typedef typename aux::v_at_impl<NDNBOOST_MPL_AUX_VALUE_WKND(N)::value>
             ::template result_<V_>::type type;
     };
 };
@@ -1469,7 +1469,7 @@
 {
     template< typename V_, typename N > struct apply
     {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+        typedef typename aux::v_at_impl<NDNBOOST_MPL_AUX_VALUE_WKND(N)::value>
             ::template result_<V_>::type type;
     };
 };
diff --git a/include/ndnboost/mpl/vector/aux_/preprocessed/no_ctps/vector20.hpp b/include/ndnboost/mpl/vector/aux_/preprocessed/no_ctps/vector20.hpp
index fc56907..2fb6d7d 100644
--- a/include/ndnboost/mpl/vector/aux_/preprocessed/no_ctps/vector20.hpp
+++ b/include/ndnboost/mpl/vector/aux_/preprocessed/no_ctps/vector20.hpp
@@ -119,7 +119,7 @@
 {
     template< typename V_, typename N > struct apply
     {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+        typedef typename aux::v_at_impl<NDNBOOST_MPL_AUX_VALUE_WKND(N)::value>
             ::template result_<V_>::type type;
     };
 };
@@ -288,7 +288,7 @@
 {
     template< typename V_, typename N > struct apply
     {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+        typedef typename aux::v_at_impl<NDNBOOST_MPL_AUX_VALUE_WKND(N)::value>
             ::template result_<V_>::type type;
     };
 };
@@ -458,7 +458,7 @@
 {
     template< typename V_, typename N > struct apply
     {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+        typedef typename aux::v_at_impl<NDNBOOST_MPL_AUX_VALUE_WKND(N)::value>
             ::template result_<V_>::type type;
     };
 };
@@ -633,7 +633,7 @@
 {
     template< typename V_, typename N > struct apply
     {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+        typedef typename aux::v_at_impl<NDNBOOST_MPL_AUX_VALUE_WKND(N)::value>
             ::template result_<V_>::type type;
     };
 };
@@ -809,7 +809,7 @@
 {
     template< typename V_, typename N > struct apply
     {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+        typedef typename aux::v_at_impl<NDNBOOST_MPL_AUX_VALUE_WKND(N)::value>
             ::template result_<V_>::type type;
     };
 };
@@ -991,7 +991,7 @@
 {
     template< typename V_, typename N > struct apply
     {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+        typedef typename aux::v_at_impl<NDNBOOST_MPL_AUX_VALUE_WKND(N)::value>
             ::template result_<V_>::type type;
     };
 };
@@ -1174,7 +1174,7 @@
 {
     template< typename V_, typename N > struct apply
     {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+        typedef typename aux::v_at_impl<NDNBOOST_MPL_AUX_VALUE_WKND(N)::value>
             ::template result_<V_>::type type;
     };
 };
@@ -1362,7 +1362,7 @@
 {
     template< typename V_, typename N > struct apply
     {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+        typedef typename aux::v_at_impl<NDNBOOST_MPL_AUX_VALUE_WKND(N)::value>
             ::template result_<V_>::type type;
     };
 };
@@ -1551,7 +1551,7 @@
 {
     template< typename V_, typename N > struct apply
     {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+        typedef typename aux::v_at_impl<NDNBOOST_MPL_AUX_VALUE_WKND(N)::value>
             ::template result_<V_>::type type;
     };
 };
@@ -1745,7 +1745,7 @@
 {
     template< typename V_, typename N > struct apply
     {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+        typedef typename aux::v_at_impl<NDNBOOST_MPL_AUX_VALUE_WKND(N)::value>
             ::template result_<V_>::type type;
     };
 };
diff --git a/include/ndnboost/mpl/vector/aux_/preprocessed/no_ctps/vector30.hpp b/include/ndnboost/mpl/vector/aux_/preprocessed/no_ctps/vector30.hpp
index 7bbc9e0..d0705f6 100644
--- a/include/ndnboost/mpl/vector/aux_/preprocessed/no_ctps/vector30.hpp
+++ b/include/ndnboost/mpl/vector/aux_/preprocessed/no_ctps/vector30.hpp
@@ -151,7 +151,7 @@
 {
     template< typename V_, typename N > struct apply
     {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+        typedef typename aux::v_at_impl<NDNBOOST_MPL_AUX_VALUE_WKND(N)::value>
             ::template result_<V_>::type type;
     };
 };
@@ -352,7 +352,7 @@
 {
     template< typename V_, typename N > struct apply
     {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+        typedef typename aux::v_at_impl<NDNBOOST_MPL_AUX_VALUE_WKND(N)::value>
             ::template result_<V_>::type type;
     };
 };
@@ -554,7 +554,7 @@
 {
     template< typename V_, typename N > struct apply
     {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+        typedef typename aux::v_at_impl<NDNBOOST_MPL_AUX_VALUE_WKND(N)::value>
             ::template result_<V_>::type type;
     };
 };
@@ -761,7 +761,7 @@
 {
     template< typename V_, typename N > struct apply
     {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+        typedef typename aux::v_at_impl<NDNBOOST_MPL_AUX_VALUE_WKND(N)::value>
             ::template result_<V_>::type type;
     };
 };
@@ -969,7 +969,7 @@
 {
     template< typename V_, typename N > struct apply
     {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+        typedef typename aux::v_at_impl<NDNBOOST_MPL_AUX_VALUE_WKND(N)::value>
             ::template result_<V_>::type type;
     };
 };
@@ -1183,7 +1183,7 @@
 {
     template< typename V_, typename N > struct apply
     {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+        typedef typename aux::v_at_impl<NDNBOOST_MPL_AUX_VALUE_WKND(N)::value>
             ::template result_<V_>::type type;
     };
 };
@@ -1398,7 +1398,7 @@
 {
     template< typename V_, typename N > struct apply
     {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+        typedef typename aux::v_at_impl<NDNBOOST_MPL_AUX_VALUE_WKND(N)::value>
             ::template result_<V_>::type type;
     };
 };
@@ -1618,7 +1618,7 @@
 {
     template< typename V_, typename N > struct apply
     {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+        typedef typename aux::v_at_impl<NDNBOOST_MPL_AUX_VALUE_WKND(N)::value>
             ::template result_<V_>::type type;
     };
 };
@@ -1839,7 +1839,7 @@
 {
     template< typename V_, typename N > struct apply
     {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+        typedef typename aux::v_at_impl<NDNBOOST_MPL_AUX_VALUE_WKND(N)::value>
             ::template result_<V_>::type type;
     };
 };
@@ -2065,7 +2065,7 @@
 {
     template< typename V_, typename N > struct apply
     {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+        typedef typename aux::v_at_impl<NDNBOOST_MPL_AUX_VALUE_WKND(N)::value>
             ::template result_<V_>::type type;
     };
 };
diff --git a/include/ndnboost/mpl/vector/aux_/preprocessed/no_ctps/vector40.hpp b/include/ndnboost/mpl/vector/aux_/preprocessed/no_ctps/vector40.hpp
index bbcfe78..b520455 100644
--- a/include/ndnboost/mpl/vector/aux_/preprocessed/no_ctps/vector40.hpp
+++ b/include/ndnboost/mpl/vector/aux_/preprocessed/no_ctps/vector40.hpp
@@ -183,7 +183,7 @@
 {
     template< typename V_, typename N > struct apply
     {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+        typedef typename aux::v_at_impl<NDNBOOST_MPL_AUX_VALUE_WKND(N)::value>
             ::template result_<V_>::type type;
     };
 };
@@ -416,7 +416,7 @@
 {
     template< typename V_, typename N > struct apply
     {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+        typedef typename aux::v_at_impl<NDNBOOST_MPL_AUX_VALUE_WKND(N)::value>
             ::template result_<V_>::type type;
     };
 };
@@ -650,7 +650,7 @@
 {
     template< typename V_, typename N > struct apply
     {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+        typedef typename aux::v_at_impl<NDNBOOST_MPL_AUX_VALUE_WKND(N)::value>
             ::template result_<V_>::type type;
     };
 };
@@ -889,7 +889,7 @@
 {
     template< typename V_, typename N > struct apply
     {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+        typedef typename aux::v_at_impl<NDNBOOST_MPL_AUX_VALUE_WKND(N)::value>
             ::template result_<V_>::type type;
     };
 };
@@ -1129,7 +1129,7 @@
 {
     template< typename V_, typename N > struct apply
     {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+        typedef typename aux::v_at_impl<NDNBOOST_MPL_AUX_VALUE_WKND(N)::value>
             ::template result_<V_>::type type;
     };
 };
@@ -1375,7 +1375,7 @@
 {
     template< typename V_, typename N > struct apply
     {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+        typedef typename aux::v_at_impl<NDNBOOST_MPL_AUX_VALUE_WKND(N)::value>
             ::template result_<V_>::type type;
     };
 };
@@ -1622,7 +1622,7 @@
 {
     template< typename V_, typename N > struct apply
     {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+        typedef typename aux::v_at_impl<NDNBOOST_MPL_AUX_VALUE_WKND(N)::value>
             ::template result_<V_>::type type;
     };
 };
@@ -1874,7 +1874,7 @@
 {
     template< typename V_, typename N > struct apply
     {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+        typedef typename aux::v_at_impl<NDNBOOST_MPL_AUX_VALUE_WKND(N)::value>
             ::template result_<V_>::type type;
     };
 };
@@ -2127,7 +2127,7 @@
 {
     template< typename V_, typename N > struct apply
     {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+        typedef typename aux::v_at_impl<NDNBOOST_MPL_AUX_VALUE_WKND(N)::value>
             ::template result_<V_>::type type;
     };
 };
@@ -2385,7 +2385,7 @@
 {
     template< typename V_, typename N > struct apply
     {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+        typedef typename aux::v_at_impl<NDNBOOST_MPL_AUX_VALUE_WKND(N)::value>
             ::template result_<V_>::type type;
     };
 };
diff --git a/include/ndnboost/mpl/vector/aux_/preprocessed/no_ctps/vector50.hpp b/include/ndnboost/mpl/vector/aux_/preprocessed/no_ctps/vector50.hpp
index 26ca77d..2e6e5de 100644
--- a/include/ndnboost/mpl/vector/aux_/preprocessed/no_ctps/vector50.hpp
+++ b/include/ndnboost/mpl/vector/aux_/preprocessed/no_ctps/vector50.hpp
@@ -215,7 +215,7 @@
 {
     template< typename V_, typename N > struct apply
     {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+        typedef typename aux::v_at_impl<NDNBOOST_MPL_AUX_VALUE_WKND(N)::value>
             ::template result_<V_>::type type;
     };
 };
@@ -480,7 +480,7 @@
 {
     template< typename V_, typename N > struct apply
     {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+        typedef typename aux::v_at_impl<NDNBOOST_MPL_AUX_VALUE_WKND(N)::value>
             ::template result_<V_>::type type;
     };
 };
@@ -746,7 +746,7 @@
 {
     template< typename V_, typename N > struct apply
     {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+        typedef typename aux::v_at_impl<NDNBOOST_MPL_AUX_VALUE_WKND(N)::value>
             ::template result_<V_>::type type;
     };
 };
@@ -1017,7 +1017,7 @@
 {
     template< typename V_, typename N > struct apply
     {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+        typedef typename aux::v_at_impl<NDNBOOST_MPL_AUX_VALUE_WKND(N)::value>
             ::template result_<V_>::type type;
     };
 };
@@ -1289,7 +1289,7 @@
 {
     template< typename V_, typename N > struct apply
     {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+        typedef typename aux::v_at_impl<NDNBOOST_MPL_AUX_VALUE_WKND(N)::value>
             ::template result_<V_>::type type;
     };
 };
@@ -1567,7 +1567,7 @@
 {
     template< typename V_, typename N > struct apply
     {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+        typedef typename aux::v_at_impl<NDNBOOST_MPL_AUX_VALUE_WKND(N)::value>
             ::template result_<V_>::type type;
     };
 };
@@ -1846,7 +1846,7 @@
 {
     template< typename V_, typename N > struct apply
     {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+        typedef typename aux::v_at_impl<NDNBOOST_MPL_AUX_VALUE_WKND(N)::value>
             ::template result_<V_>::type type;
     };
 };
@@ -2130,7 +2130,7 @@
 {
     template< typename V_, typename N > struct apply
     {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+        typedef typename aux::v_at_impl<NDNBOOST_MPL_AUX_VALUE_WKND(N)::value>
             ::template result_<V_>::type type;
     };
 };
@@ -2415,7 +2415,7 @@
 {
     template< typename V_, typename N > struct apply
     {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+        typedef typename aux::v_at_impl<NDNBOOST_MPL_AUX_VALUE_WKND(N)::value>
             ::template result_<V_>::type type;
     };
 };
@@ -2705,7 +2705,7 @@
 {
     template< typename V_, typename N > struct apply
     {
-        typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
+        typedef typename aux::v_at_impl<NDNBOOST_MPL_AUX_VALUE_WKND(N)::value>
             ::template result_<V_>::type type;
     };
 };
diff --git a/include/ndnboost/mpl/vector/aux_/push_back.hpp b/include/ndnboost/mpl/vector/aux_/push_back.hpp
index d2722b2..f61d9b2 100644
--- a/include/ndnboost/mpl/vector/aux_/push_back.hpp
+++ b/include/ndnboost/mpl/vector/aux_/push_back.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_VECTOR_AUX_PUSH_BACK_HPP_INCLUDED
-#define BOOST_MPL_VECTOR_AUX_PUSH_BACK_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_VECTOR_AUX_PUSH_BACK_HPP_INCLUDED
+#define NDNBOOST_MPL_VECTOR_AUX_PUSH_BACK_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -17,7 +17,7 @@
 #include <ndnboost/mpl/push_back_fwd.hpp>
 #include <ndnboost/mpl/aux_/config/typeof.hpp>
 
-#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)
+#if defined(NDNBOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)
 
 #   include <ndnboost/mpl/vector/aux_/item.hpp>
 #   include <ndnboost/mpl/vector/aux_/tag.hpp>
@@ -37,4 +37,4 @@
 
 #endif 
 
-#endif // BOOST_MPL_VECTOR_AUX_PUSH_BACK_HPP_INCLUDED
+#endif // NDNBOOST_MPL_VECTOR_AUX_PUSH_BACK_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/vector/aux_/push_front.hpp b/include/ndnboost/mpl/vector/aux_/push_front.hpp
index 1200174..0643fef 100644
--- a/include/ndnboost/mpl/vector/aux_/push_front.hpp
+++ b/include/ndnboost/mpl/vector/aux_/push_front.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_VECTOR_AUX_PUSH_FRONT_HPP_INCLUDED
-#define BOOST_MPL_VECTOR_AUX_PUSH_FRONT_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_VECTOR_AUX_PUSH_FRONT_HPP_INCLUDED
+#define NDNBOOST_MPL_VECTOR_AUX_PUSH_FRONT_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -17,7 +17,7 @@
 #include <ndnboost/mpl/push_front_fwd.hpp>
 #include <ndnboost/mpl/aux_/config/typeof.hpp>
 
-#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)
+#if defined(NDNBOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)
 
 #   include <ndnboost/mpl/vector/aux_/item.hpp>
 #   include <ndnboost/mpl/vector/aux_/tag.hpp>
@@ -35,6 +35,6 @@
 
 }}
 
-#endif // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES
+#endif // NDNBOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES
 
-#endif // BOOST_MPL_VECTOR_AUX_PUSH_FRONT_HPP_INCLUDED
+#endif // NDNBOOST_MPL_VECTOR_AUX_PUSH_FRONT_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/vector/aux_/size.hpp b/include/ndnboost/mpl/vector/aux_/size.hpp
index dc9749f..e387afa 100644
--- a/include/ndnboost/mpl/vector/aux_/size.hpp
+++ b/include/ndnboost/mpl/vector/aux_/size.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_VECTOR_AUX_SIZE_HPP_INCLUDED
-#define BOOST_MPL_VECTOR_AUX_SIZE_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_VECTOR_AUX_SIZE_HPP_INCLUDED
+#define NDNBOOST_MPL_VECTOR_AUX_SIZE_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -22,7 +22,7 @@
 
 namespace ndnboost { namespace mpl {
 
-#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)
+#if defined(NDNBOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)
 
 template<>
 struct size_impl< aux::vector_tag >
@@ -32,7 +32,7 @@
 
 #else
 
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+#if !defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
 
 template< long N >
 struct size_impl< aux::vector_tag<N> >
@@ -40,10 +40,10 @@
 {
 };
 
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#endif // NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 
-#endif // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES
+#endif // NDNBOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES
 
 }}
 
-#endif // BOOST_MPL_VECTOR_AUX_SIZE_HPP_INCLUDED
+#endif // NDNBOOST_MPL_VECTOR_AUX_SIZE_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/vector/aux_/tag.hpp b/include/ndnboost/mpl/vector/aux_/tag.hpp
index 9576454..bcd51d4 100644
--- a/include/ndnboost/mpl/vector/aux_/tag.hpp
+++ b/include/ndnboost/mpl/vector/aux_/tag.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_VECTOR_AUX_TAG_HPP_INCLUDED
-#define BOOST_MPL_VECTOR_AUX_TAG_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_VECTOR_AUX_TAG_HPP_INCLUDED
+#define NDNBOOST_MPL_VECTOR_AUX_TAG_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -21,12 +21,12 @@
 
 struct v_iter_tag;
 
-#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)
+#if defined(NDNBOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)
 struct vector_tag;
 #else
-template< BOOST_MPL_AUX_NTTP_DECL(long, N) > struct vector_tag;
+template< NDNBOOST_MPL_AUX_NTTP_DECL(long, N) > struct vector_tag;
 #endif
 
 }}}
 
-#endif // BOOST_MPL_VECTOR_AUX_TAG_HPP_INCLUDED
+#endif // NDNBOOST_MPL_VECTOR_AUX_TAG_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/vector/aux_/vector0.hpp b/include/ndnboost/mpl/vector/aux_/vector0.hpp
index a54058b..8aadb13 100644
--- a/include/ndnboost/mpl/vector/aux_/vector0.hpp
+++ b/include/ndnboost/mpl/vector/aux_/vector0.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_VECTOR_AUX_VECTOR0_HPP_INCLUDED
-#define BOOST_MPL_VECTOR_AUX_VECTOR0_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_VECTOR_AUX_VECTOR0_HPP_INCLUDED
+#define NDNBOOST_MPL_VECTOR_AUX_VECTOR0_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -29,7 +29,7 @@
 
 template<> struct vector0<na>
 {
-#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)
+#if defined(NDNBOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)
     typedef aux::vector_tag tag;
     typedef vector0         type;
     typedef long_<32768>    lower_bound_;
@@ -49,4 +49,4 @@
 
 }}
 
-#endif // BOOST_MPL_VECTOR_AUX_VECTOR0_HPP_INCLUDED
+#endif // NDNBOOST_MPL_VECTOR_AUX_VECTOR0_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/vector/vector0.hpp b/include/ndnboost/mpl/vector/vector0.hpp
index f23f5d2..fe11b61 100644
--- a/include/ndnboost/mpl/vector/vector0.hpp
+++ b/include/ndnboost/mpl/vector/vector0.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_VECTOR_VECTOR0_HPP_INCLUDED
-#define BOOST_MPL_VECTOR_VECTOR0_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_VECTOR_VECTOR0_HPP_INCLUDED
+#define NDNBOOST_MPL_VECTOR_VECTOR0_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -31,4 +31,4 @@
 #include <ndnboost/mpl/vector/aux_/begin_end.hpp>
 #include <ndnboost/mpl/vector/aux_/tag.hpp>
 
-#endif // BOOST_MPL_VECTOR_VECTOR0_HPP_INCLUDED
+#endif // NDNBOOST_MPL_VECTOR_VECTOR0_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/vector/vector0_c.hpp b/include/ndnboost/mpl/vector/vector0_c.hpp
index 6b28472..1c6bbab 100644
--- a/include/ndnboost/mpl/vector/vector0_c.hpp
+++ b/include/ndnboost/mpl/vector/vector0_c.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_VECTOR_VECTOR0_C_HPP_INCLUDED
-#define BOOST_MPL_VECTOR_VECTOR0_C_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_VECTOR_VECTOR0_C_HPP_INCLUDED
+#define NDNBOOST_MPL_VECTOR_VECTOR0_C_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -28,4 +28,4 @@
 
 }}
 
-#endif // BOOST_MPL_VECTOR_VECTOR0_C_HPP_INCLUDED
+#endif // NDNBOOST_MPL_VECTOR_VECTOR0_C_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/vector/vector10.hpp b/include/ndnboost/mpl/vector/vector10.hpp
index 45c937a..0db48cb 100644
--- a/include/ndnboost/mpl/vector/vector10.hpp
+++ b/include/ndnboost/mpl/vector/vector10.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_VECTOR_VECTOR10_HPP_INCLUDED
-#define BOOST_MPL_VECTOR_VECTOR10_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_VECTOR_VECTOR10_HPP_INCLUDED
+#define NDNBOOST_MPL_VECTOR_VECTOR10_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -14,16 +14,16 @@
 // $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
 // $Revision: 49267 $
 
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
+#if !defined(NDNBOOST_MPL_PREPROCESSING_MODE)
 #   include <ndnboost/mpl/vector/vector0.hpp>
 #endif
 
 #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 vector10.hpp
+#   define NDNBOOST_MPL_PREPROCESSED_HEADER vector10.hpp
 #   include <ndnboost/mpl/vector/aux_/include_preprocessed.hpp>
 
 #else
@@ -34,12 +34,12 @@
 
 namespace ndnboost { namespace mpl {
 
-#   define BOOST_PP_ITERATION_PARAMS_1 \
+#   define NDNBOOST_PP_ITERATION_PARAMS_1 \
     (3,(0, 10, <ndnboost/mpl/vector/aux_/numbered.hpp>))
-#   include BOOST_PP_ITERATE()
+#   include NDNBOOST_PP_ITERATE()
 
 }}
 
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
+#endif // NDNBOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
 
-#endif // BOOST_MPL_VECTOR_VECTOR10_HPP_INCLUDED
+#endif // NDNBOOST_MPL_VECTOR_VECTOR10_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/vector/vector10_c.hpp b/include/ndnboost/mpl/vector/vector10_c.hpp
index 68efb63..cafd1f9 100644
--- a/include/ndnboost/mpl/vector/vector10_c.hpp
+++ b/include/ndnboost/mpl/vector/vector10_c.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_VECTOR_VECTOR10_C_HPP_INCLUDED
-#define BOOST_MPL_VECTOR_VECTOR10_C_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_VECTOR_VECTOR10_C_HPP_INCLUDED
+#define NDNBOOST_MPL_VECTOR_VECTOR10_C_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -14,17 +14,17 @@
 // $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
 // $Revision: 49267 $
 
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
+#if !defined(NDNBOOST_MPL_PREPROCESSING_MODE)
 #   include <ndnboost/mpl/vector/vector0_c.hpp>
 #   include <ndnboost/mpl/vector/vector10.hpp>
 #endif
 
 #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 vector10_c.hpp
+#   define NDNBOOST_MPL_PREPROCESSED_HEADER vector10_c.hpp
 #   include <ndnboost/mpl/vector/aux_/include_preprocessed.hpp>
 
 #else
@@ -35,12 +35,12 @@
 
 namespace ndnboost { namespace mpl {
 
-#   define BOOST_PP_ITERATION_PARAMS_1 \
+#   define NDNBOOST_PP_ITERATION_PARAMS_1 \
     (3,(1, 10, <ndnboost/mpl/vector/aux_/numbered_c.hpp>))
-#   include BOOST_PP_ITERATE()
+#   include NDNBOOST_PP_ITERATE()
 
 }}
 
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
+#endif // NDNBOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
 
-#endif // BOOST_MPL_VECTOR_VECTOR10_C_HPP_INCLUDED
+#endif // NDNBOOST_MPL_VECTOR_VECTOR10_C_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/vector/vector20.hpp b/include/ndnboost/mpl/vector/vector20.hpp
index ae54255..7b0a0d4 100644
--- a/include/ndnboost/mpl/vector/vector20.hpp
+++ b/include/ndnboost/mpl/vector/vector20.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_VECTOR_VECTOR20_HPP_INCLUDED
-#define BOOST_MPL_VECTOR_VECTOR20_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_VECTOR_VECTOR20_HPP_INCLUDED
+#define NDNBOOST_MPL_VECTOR_VECTOR20_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -14,16 +14,16 @@
 // $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
 // $Revision: 49267 $
 
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
+#if !defined(NDNBOOST_MPL_PREPROCESSING_MODE)
 #   include <ndnboost/mpl/vector/vector10.hpp>
 #endif
 
 #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 vector20.hpp
+#   define NDNBOOST_MPL_PREPROCESSED_HEADER vector20.hpp
 #   include <ndnboost/mpl/vector/aux_/include_preprocessed.hpp>
 
 #else
@@ -34,12 +34,12 @@
 
 namespace ndnboost { namespace mpl {
 
-#   define BOOST_PP_ITERATION_PARAMS_1 \
+#   define NDNBOOST_PP_ITERATION_PARAMS_1 \
     (3,(11, 20, <ndnboost/mpl/vector/aux_/numbered.hpp>))
-#   include BOOST_PP_ITERATE()
+#   include NDNBOOST_PP_ITERATE()
 
 }}
 
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
+#endif // NDNBOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
 
-#endif // BOOST_MPL_VECTOR_VECTOR20_HPP_INCLUDED
+#endif // NDNBOOST_MPL_VECTOR_VECTOR20_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/vector/vector20_c.hpp b/include/ndnboost/mpl/vector/vector20_c.hpp
index fe8d591..0324ed2 100644
--- a/include/ndnboost/mpl/vector/vector20_c.hpp
+++ b/include/ndnboost/mpl/vector/vector20_c.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_VECTOR_VECTOR20_C_HPP_INCLUDED
-#define BOOST_MPL_VECTOR_VECTOR20_C_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_VECTOR_VECTOR20_C_HPP_INCLUDED
+#define NDNBOOST_MPL_VECTOR_VECTOR20_C_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -14,17 +14,17 @@
 // $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
 // $Revision: 49267 $
 
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
+#if !defined(NDNBOOST_MPL_PREPROCESSING_MODE)
 #   include <ndnboost/mpl/vector/vector10_c.hpp>
 #   include <ndnboost/mpl/vector/vector20.hpp>
 #endif
 
 #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 vector20_c.hpp
+#   define NDNBOOST_MPL_PREPROCESSED_HEADER vector20_c.hpp
 #   include <ndnboost/mpl/vector/aux_/include_preprocessed.hpp>
 
 #else
@@ -35,12 +35,12 @@
 
 namespace ndnboost { namespace mpl {
 
-#   define BOOST_PP_ITERATION_PARAMS_1 \
+#   define NDNBOOST_PP_ITERATION_PARAMS_1 \
     (3,(11, 20, <ndnboost/mpl/vector/aux_/numbered_c.hpp>))
-#   include BOOST_PP_ITERATE()
+#   include NDNBOOST_PP_ITERATE()
 
 }}
 
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
+#endif // NDNBOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
 
-#endif // BOOST_MPL_VECTOR_VECTOR20_C_HPP_INCLUDED
+#endif // NDNBOOST_MPL_VECTOR_VECTOR20_C_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/vector/vector30.hpp b/include/ndnboost/mpl/vector/vector30.hpp
index 5898155..4ee4e46 100644
--- a/include/ndnboost/mpl/vector/vector30.hpp
+++ b/include/ndnboost/mpl/vector/vector30.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_VECTOR_VECTOR30_HPP_INCLUDED
-#define BOOST_MPL_VECTOR_VECTOR30_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_VECTOR_VECTOR30_HPP_INCLUDED
+#define NDNBOOST_MPL_VECTOR_VECTOR30_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -14,16 +14,16 @@
 // $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
 // $Revision: 49267 $
 
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
+#if !defined(NDNBOOST_MPL_PREPROCESSING_MODE)
 #   include <ndnboost/mpl/vector/vector20.hpp>
 #endif
 
 #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 vector30.hpp
+#   define NDNBOOST_MPL_PREPROCESSED_HEADER vector30.hpp
 #   include <ndnboost/mpl/vector/aux_/include_preprocessed.hpp>
 
 #else
@@ -34,12 +34,12 @@
 
 namespace ndnboost { namespace mpl {
 
-#   define BOOST_PP_ITERATION_PARAMS_1 \
+#   define NDNBOOST_PP_ITERATION_PARAMS_1 \
     (3,(21, 30, <ndnboost/mpl/vector/aux_/numbered.hpp>))
-#   include BOOST_PP_ITERATE()
+#   include NDNBOOST_PP_ITERATE()
 
 }}
 
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
+#endif // NDNBOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
 
-#endif // BOOST_MPL_VECTOR_VECTOR30_HPP_INCLUDED
+#endif // NDNBOOST_MPL_VECTOR_VECTOR30_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/vector/vector30_c.hpp b/include/ndnboost/mpl/vector/vector30_c.hpp
index 9cc9300..5ca10f2 100644
--- a/include/ndnboost/mpl/vector/vector30_c.hpp
+++ b/include/ndnboost/mpl/vector/vector30_c.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_VECTOR_VECTOR30_C_HPP_INCLUDED
-#define BOOST_MPL_VECTOR_VECTOR30_C_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_VECTOR_VECTOR30_C_HPP_INCLUDED
+#define NDNBOOST_MPL_VECTOR_VECTOR30_C_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -14,17 +14,17 @@
 // $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
 // $Revision: 49267 $
 
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
+#if !defined(NDNBOOST_MPL_PREPROCESSING_MODE)
 #   include <ndnboost/mpl/vector/vector20_c.hpp>
 #   include <ndnboost/mpl/vector/vector30.hpp>
 #endif
 
 #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 vector30_c.hpp
+#   define NDNBOOST_MPL_PREPROCESSED_HEADER vector30_c.hpp
 #   include <ndnboost/mpl/vector/aux_/include_preprocessed.hpp>
 
 #else
@@ -36,12 +36,12 @@
 
 namespace ndnboost { namespace mpl {
 
-#   define BOOST_PP_ITERATION_PARAMS_1 \
+#   define NDNBOOST_PP_ITERATION_PARAMS_1 \
     (3,(21, 30, <ndnboost/mpl/vector/aux_/numbered_c.hpp>))
-#   include BOOST_PP_ITERATE()
+#   include NDNBOOST_PP_ITERATE()
 
 }}
 
-#endif // BOOST_MPL_CFG_USE_PREPROCESSED_HEADERS
+#endif // NDNBOOST_MPL_CFG_USE_PREPROCESSED_HEADERS
 
-#endif // BOOST_MPL_VECTOR_VECTOR30_C_HPP_INCLUDED
+#endif // NDNBOOST_MPL_VECTOR_VECTOR30_C_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/vector/vector40.hpp b/include/ndnboost/mpl/vector/vector40.hpp
index f92d0a3..555ffd7 100644
--- a/include/ndnboost/mpl/vector/vector40.hpp
+++ b/include/ndnboost/mpl/vector/vector40.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_VECTOR_VECTOR40_HPP_INCLUDED
-#define BOOST_MPL_VECTOR_VECTOR40_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_VECTOR_VECTOR40_HPP_INCLUDED
+#define NDNBOOST_MPL_VECTOR_VECTOR40_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -14,16 +14,16 @@
 // $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
 // $Revision: 49267 $
 
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
+#if !defined(NDNBOOST_MPL_PREPROCESSING_MODE)
 #   include <ndnboost/mpl/vector/vector30.hpp>
 #endif
 
 #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 vector40.hpp
+#   define NDNBOOST_MPL_PREPROCESSED_HEADER vector40.hpp
 #   include <ndnboost/mpl/vector/aux_/include_preprocessed.hpp>
 
 #else
@@ -34,12 +34,12 @@
 
 namespace ndnboost { namespace mpl {
 
-#   define BOOST_PP_ITERATION_PARAMS_1 \
+#   define NDNBOOST_PP_ITERATION_PARAMS_1 \
     (3,(31, 40, <ndnboost/mpl/vector/aux_/numbered.hpp>))
-#   include BOOST_PP_ITERATE()
+#   include NDNBOOST_PP_ITERATE()
 
 }}
 
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
+#endif // NDNBOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
 
-#endif // BOOST_MPL_VECTOR_VECTOR40_HPP_INCLUDED
+#endif // NDNBOOST_MPL_VECTOR_VECTOR40_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/vector/vector40_c.hpp b/include/ndnboost/mpl/vector/vector40_c.hpp
index 10969f4..5047a02 100644
--- a/include/ndnboost/mpl/vector/vector40_c.hpp
+++ b/include/ndnboost/mpl/vector/vector40_c.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_VECTOR_VECTOR40_C_HPP_INCLUDED
-#define BOOST_MPL_VECTOR_VECTOR40_C_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_VECTOR_VECTOR40_C_HPP_INCLUDED
+#define NDNBOOST_MPL_VECTOR_VECTOR40_C_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -14,17 +14,17 @@
 // $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
 // $Revision: 49267 $
 
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
+#if !defined(NDNBOOST_MPL_PREPROCESSING_MODE)
 #   include <ndnboost/mpl/vector/vector30_c.hpp>
 #   include <ndnboost/mpl/vector/vector40.hpp>
 #endif
 
 #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 vector40_c.hpp
+#   define NDNBOOST_MPL_PREPROCESSED_HEADER vector40_c.hpp
 #   include <ndnboost/mpl/vector/aux_/include_preprocessed.hpp>
 
 #else
@@ -35,12 +35,12 @@
 
 namespace ndnboost { namespace mpl {
 
-#   define BOOST_PP_ITERATION_PARAMS_1 \
+#   define NDNBOOST_PP_ITERATION_PARAMS_1 \
     (3,(31, 40, <ndnboost/mpl/vector/aux_/numbered_c.hpp>))
-#   include BOOST_PP_ITERATE()
+#   include NDNBOOST_PP_ITERATE()
 
 }}
 
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
+#endif // NDNBOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
 
-#endif // BOOST_MPL_VECTOR_VECTOR40_C_HPP_INCLUDED
+#endif // NDNBOOST_MPL_VECTOR_VECTOR40_C_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/vector/vector50.hpp b/include/ndnboost/mpl/vector/vector50.hpp
index 998e950..6fa916a 100644
--- a/include/ndnboost/mpl/vector/vector50.hpp
+++ b/include/ndnboost/mpl/vector/vector50.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_VECTOR_VECTOR50_HPP_INCLUDED
-#define BOOST_MPL_VECTOR_VECTOR50_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_VECTOR_VECTOR50_HPP_INCLUDED
+#define NDNBOOST_MPL_VECTOR_VECTOR50_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -14,16 +14,16 @@
 // $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
 // $Revision: 49267 $
 
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
+#if !defined(NDNBOOST_MPL_PREPROCESSING_MODE)
 #   include <ndnboost/mpl/vector/vector40.hpp>
 #endif
 
 #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 vector50.hpp
+#   define NDNBOOST_MPL_PREPROCESSED_HEADER vector50.hpp
 #   include <ndnboost/mpl/vector/aux_/include_preprocessed.hpp>
 
 #else
@@ -34,12 +34,12 @@
 
 namespace ndnboost { namespace mpl {
 
-#   define BOOST_PP_ITERATION_PARAMS_1 \
+#   define NDNBOOST_PP_ITERATION_PARAMS_1 \
     (3,(41, 50, <ndnboost/mpl/vector/aux_/numbered.hpp>))
-#   include BOOST_PP_ITERATE()
+#   include NDNBOOST_PP_ITERATE()
 
 }}
 
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
+#endif // NDNBOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
 
-#endif // BOOST_MPL_VECTOR_VECTOR50_HPP_INCLUDED
+#endif // NDNBOOST_MPL_VECTOR_VECTOR50_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/vector/vector50_c.hpp b/include/ndnboost/mpl/vector/vector50_c.hpp
index ea057be..3bdcf64 100644
--- a/include/ndnboost/mpl/vector/vector50_c.hpp
+++ b/include/ndnboost/mpl/vector/vector50_c.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_VECTOR_VECTOR50_C_HPP_INCLUDED
-#define BOOST_MPL_VECTOR_VECTOR50_C_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_VECTOR_VECTOR50_C_HPP_INCLUDED
+#define NDNBOOST_MPL_VECTOR_VECTOR50_C_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -14,17 +14,17 @@
 // $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
 // $Revision: 49267 $
 
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
+#if !defined(NDNBOOST_MPL_PREPROCESSING_MODE)
 #   include <ndnboost/mpl/vector/vector40_c.hpp>
 #   include <ndnboost/mpl/vector/vector50.hpp>
 #endif
 
 #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 vector50_c.hpp
+#   define NDNBOOST_MPL_PREPROCESSED_HEADER vector50_c.hpp
 #   include <ndnboost/mpl/vector/aux_/include_preprocessed.hpp>
 
 #else
@@ -35,12 +35,12 @@
 
 namespace ndnboost { namespace mpl {
 
-#   define BOOST_PP_ITERATION_PARAMS_1 \
+#   define NDNBOOST_PP_ITERATION_PARAMS_1 \
     (3,(41, 50, <ndnboost/mpl/vector/aux_/numbered_c.hpp>))
-#   include BOOST_PP_ITERATE()
+#   include NDNBOOST_PP_ITERATE()
 
 }}
 
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
+#endif // NDNBOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
 
-#endif // BOOST_MPL_VECTOR_VECTOR50_C_HPP_INCLUDED
+#endif // NDNBOOST_MPL_VECTOR_VECTOR50_C_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/void.hpp b/include/ndnboost/mpl/void.hpp
index a5c7aef..9aa237b 100644
--- a/include/ndnboost/mpl/void.hpp
+++ b/include/ndnboost/mpl/void.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_VOID_HPP_INCLUDED
-#define BOOST_MPL_VOID_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_VOID_HPP_INCLUDED
+#define NDNBOOST_MPL_VOID_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2001-2004
 //
@@ -20,7 +20,7 @@
 #include <ndnboost/mpl/aux_/config/msvc.hpp>
 #include <ndnboost/mpl/aux_/config/workaround.hpp>
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 
 //  [JDG Feb-4-2003] made void_ a complete type to allow it to be
 //  instantiated so that it can be passed in as an object that can be
@@ -28,7 +28,7 @@
 //  a zero arity functor evaluation call.
 struct void_ { typedef void_ type; };
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
 
 namespace ndnboost { namespace mpl {
 
@@ -36,7 +36,7 @@
 struct is_void_
     : false_
 {
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
+#if NDNBOOST_WORKAROUND(NDNBOOST_MSVC, < 1300)
     using false_::value;
 #endif
 };
@@ -45,7 +45,7 @@
 struct is_void_<void_>
     : true_
 {
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
+#if NDNBOOST_WORKAROUND(NDNBOOST_MSVC, < 1300)
     using true_::value;
 #endif
 };
@@ -54,7 +54,7 @@
 struct is_not_void_
     : true_
 {
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
+#if NDNBOOST_WORKAROUND(NDNBOOST_MSVC, < 1300)
     using true_::value;
 #endif
 };
@@ -63,14 +63,14 @@
 struct is_not_void_<void_>
     : false_
 {
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
+#if NDNBOOST_WORKAROUND(NDNBOOST_MSVC, < 1300)
     using false_::value;
 #endif
 };
 
-BOOST_MPL_AUX_NA_SPEC(1, is_void_)
-BOOST_MPL_AUX_NA_SPEC(1, is_not_void_)
+NDNBOOST_MPL_AUX_NA_SPEC(1, is_void_)
+NDNBOOST_MPL_AUX_NA_SPEC(1, is_not_void_)
 
 }}
 
-#endif // BOOST_MPL_VOID_HPP_INCLUDED
+#endif // NDNBOOST_MPL_VOID_HPP_INCLUDED
diff --git a/include/ndnboost/mpl/void_fwd.hpp b/include/ndnboost/mpl/void_fwd.hpp
index bb493d7..0f2a76d 100644
--- a/include/ndnboost/mpl/void_fwd.hpp
+++ b/include/ndnboost/mpl/void_fwd.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_VOID_FWD_HPP_INCLUDED
-#define BOOST_MPL_VOID_FWD_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_VOID_FWD_HPP_INCLUDED
+#define NDNBOOST_MPL_VOID_FWD_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2001-2004
 //
@@ -16,11 +16,11 @@
 
 #include <ndnboost/mpl/aux_/adl_barrier.hpp>
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
 
 struct void_;
 
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-BOOST_MPL_AUX_ADL_BARRIER_DECL(void_)
+NDNBOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
+NDNBOOST_MPL_AUX_ADL_BARRIER_DECL(void_)
 
-#endif // BOOST_MPL_VOID_FWD_HPP_INCLUDED
+#endif // NDNBOOST_MPL_VOID_FWD_HPP_INCLUDED
diff --git a/include/ndnboost/next_prior.hpp b/include/ndnboost/next_prior.hpp
index fe00ff1..4e60280 100644
--- a/include/ndnboost/next_prior.hpp
+++ b/include/ndnboost/next_prior.hpp
@@ -9,8 +9,8 @@
 //  Revision History
 //  13 Dec 2003  Added next(x, n) and prior(x, n) (Daniel Walker)
 
-#ifndef BOOST_NEXT_PRIOR_HPP_INCLUDED
-#define BOOST_NEXT_PRIOR_HPP_INCLUDED
+#ifndef NDNBOOST_NEXT_PRIOR_HPP_INCLUDED
+#define NDNBOOST_NEXT_PRIOR_HPP_INCLUDED
 
 #include <iterator>
 
@@ -48,4 +48,4 @@
 
 } // namespace ndnboost
 
-#endif  // BOOST_NEXT_PRIOR_HPP_INCLUDED
+#endif  // NDNBOOST_NEXT_PRIOR_HPP_INCLUDED
diff --git a/include/ndnboost/non_type.hpp b/include/ndnboost/non_type.hpp
index 160d6f1..5550b1c 100644
--- a/include/ndnboost/non_type.hpp
+++ b/include/ndnboost/non_type.hpp
@@ -8,8 +8,8 @@
 //
 // ------------------------------------------------------
 
-#ifndef BOOST_NON_TYPE_HPP_GP_20030417
-#define BOOST_NON_TYPE_HPP_GP_20030417
+#ifndef NDNBOOST_NON_TYPE_HPP_GP_20030417
+#define NDNBOOST_NON_TYPE_HPP_GP_20030417
 
 
 namespace ndnboost {
diff --git a/include/ndnboost/noncopyable.hpp b/include/ndnboost/noncopyable.hpp
index 6c4beeb..3ae9d11 100644
--- a/include/ndnboost/noncopyable.hpp
+++ b/include/ndnboost/noncopyable.hpp
@@ -6,8 +6,8 @@
 
 //  See http://www.boost.org/libs/utility for documentation.
 
-#ifndef BOOST_NONCOPYABLE_HPP_INCLUDED
-#define BOOST_NONCOPYABLE_HPP_INCLUDED
+#ifndef NDNBOOST_NONCOPYABLE_HPP_INCLUDED
+#define NDNBOOST_NONCOPYABLE_HPP_INCLUDED
 
 #include <ndnboost/config.hpp>
 
@@ -23,14 +23,14 @@
   class noncopyable
   {
    protected:
-#ifndef BOOST_NO_DEFAULTED_FUNCTIONS
-    BOOST_CONSTEXPR noncopyable() = default;
+#ifndef NDNBOOST_NO_DEFAULTED_FUNCTIONS
+    NDNBOOST_CONSTEXPR noncopyable() = default;
     ~noncopyable() = default;
 #else
     noncopyable() {}
       ~noncopyable() {}
 #endif
-#ifndef BOOST_NO_DELETED_FUNCTIONS
+#ifndef NDNBOOST_NO_DELETED_FUNCTIONS
         noncopyable( const noncopyable& ) = delete;
         noncopyable& operator=( const noncopyable& ) = delete;
 #else
@@ -45,4 +45,4 @@
 
 } // namespace ndnboost
 
-#endif  // BOOST_NONCOPYABLE_HPP_INCLUDED
+#endif  // NDNBOOST_NONCOPYABLE_HPP_INCLUDED
diff --git a/include/ndnboost/none.hpp b/include/ndnboost/none.hpp
index 58c32c6..44e1921 100644
--- a/include/ndnboost/none.hpp
+++ b/include/ndnboost/none.hpp
@@ -9,8 +9,8 @@
 // You are welcome to contact the author at:
 //  fernando_cacciola@hotmail.com
 //
-#ifndef BOOST_NONE_17SEP2003_HPP
-#define BOOST_NONE_17SEP2003_HPP
+#ifndef NDNBOOST_NONE_17SEP2003_HPP
+#define NDNBOOST_NONE_17SEP2003_HPP
 
 #include "ndnboost/none_t.hpp"
 
diff --git a/include/ndnboost/none_t.hpp b/include/ndnboost/none_t.hpp
index baf3004..3684288 100644
--- a/include/ndnboost/none_t.hpp
+++ b/include/ndnboost/none_t.hpp
@@ -9,8 +9,8 @@
 // You are welcome to contact the author at:
 //  fernando_cacciola@hotmail.com
 //
-#ifndef BOOST_NONE_T_17SEP2003_HPP
-#define BOOST_NONE_T_17SEP2003_HPP
+#ifndef NDNBOOST_NONE_T_17SEP2003_HPP
+#define NDNBOOST_NONE_T_17SEP2003_HPP
 
 namespace ndnboost {
 
diff --git a/include/ndnboost/numeric/conversion/bounds.hpp b/include/ndnboost/numeric/conversion/bounds.hpp
index 2792ab0..519de81 100644
--- a/include/ndnboost/numeric/conversion/bounds.hpp
+++ b/include/ndnboost/numeric/conversion/bounds.hpp
@@ -7,8 +7,8 @@
 //
 // Contact the author at: fernando_cacciola@hotmail.com
 // 
-#ifndef BOOST_NUMERIC_CONVERSION_BOUNDS_12NOV2002_HPP
-#define BOOST_NUMERIC_CONVERSION_BOUNDS_12NOV2002_HPP
+#ifndef NDNBOOST_NUMERIC_CONVERSION_BOUNDS_12NOV2002_HPP
+#define NDNBOOST_NUMERIC_CONVERSION_BOUNDS_12NOV2002_HPP
 
 #include "ndnboost/numeric/conversion/detail/bounds.hpp"
 
diff --git a/include/ndnboost/numeric/conversion/cast.hpp b/include/ndnboost/numeric/conversion/cast.hpp
index de542eb..5799fcd 100644
--- a/include/ndnboost/numeric/conversion/cast.hpp
+++ b/include/ndnboost/numeric/conversion/cast.hpp
@@ -18,12 +18,12 @@
 //    23 Jan 2004 Inital add to cvs (post review)s
 //    22 Jun 2011 Added support for specializing cast policies via numeric_cast_traits (Brandon Kohn).
 //
-#ifndef BOOST_NUMERIC_CONVERSION_CAST_25OCT2001_HPP
-#define BOOST_NUMERIC_CONVERSION_CAST_25OCT2001_HPP
+#ifndef NDNBOOST_NUMERIC_CONVERSION_CAST_25OCT2001_HPP
+#define NDNBOOST_NUMERIC_CONVERSION_CAST_25OCT2001_HPP
 
 #include <ndnboost/detail/workaround.hpp>
 
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1300) || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x582))
+#if NDNBOOST_WORKAROUND(NDNBOOST_MSVC, < 1300) || NDNBOOST_WORKAROUND(__BORLANDC__, NDNBOOST_TESTED_AT(0x582))
 
 #  include<ndnboost/numeric/conversion/detail/old_numeric_cast.hpp>
 
diff --git a/include/ndnboost/numeric/conversion/conversion_traits.hpp b/include/ndnboost/numeric/conversion/conversion_traits.hpp
index 468acb1..de25d8e 100644
--- a/include/ndnboost/numeric/conversion/conversion_traits.hpp
+++ b/include/ndnboost/numeric/conversion/conversion_traits.hpp
@@ -7,8 +7,8 @@
 //
 // Contact the author at: fernando_cacciola@hotmail.com
 // 
-#ifndef BOOST_NUMERIC_CONVERSION_CONVERSION_TRAITS_FLC_12NOV2002_HPP
-#define BOOST_NUMERIC_CONVERSION_CONVERSION_TRAITS_FLC_12NOV2002_HPP
+#ifndef NDNBOOST_NUMERIC_CONVERSION_CONVERSION_TRAITS_FLC_12NOV2002_HPP
+#define NDNBOOST_NUMERIC_CONVERSION_CONVERSION_TRAITS_FLC_12NOV2002_HPP
 
 #include "ndnboost/numeric/conversion/detail/conversion_traits.hpp"
 #include "ndnboost/detail/workaround.hpp"
@@ -21,7 +21,7 @@
 struct conversion_traits 
     : convdetail::get_conversion_traits<T,S>::type 
 {
-#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
+#if NDNBOOST_WORKAROUND(NDNBOOST_MSVC, <= 1300)
     typedef typename convdetail::get_conversion_traits<T,S>::type base_;
     typedef typename base_::target_type     target_type;
     typedef typename base_::source_type     source_type;
diff --git a/include/ndnboost/numeric/conversion/converter.hpp b/include/ndnboost/numeric/conversion/converter.hpp
index ee406a5..95752ff 100644
--- a/include/ndnboost/numeric/conversion/converter.hpp
+++ b/include/ndnboost/numeric/conversion/converter.hpp
@@ -7,8 +7,8 @@
 //
 // Contact the author at: fernando_cacciola@hotmail.com
 // 
-#ifndef BOOST_NUMERIC_CONVERSION_CONVERTER_FLC_12NOV2002_HPP
-#define BOOST_NUMERIC_CONVERSION_CONVERTER_FLC_12NOV2002_HPP
+#ifndef NDNBOOST_NUMERIC_CONVERSION_CONVERTER_FLC_12NOV2002_HPP
+#define NDNBOOST_NUMERIC_CONVERSION_CONVERTER_FLC_12NOV2002_HPP
 
 #include "ndnboost/numeric/conversion/conversion_traits.hpp"
 #include "ndnboost/numeric/conversion/converter_policies.hpp"
@@ -22,7 +22,7 @@
          class S,
          class Traits           = conversion_traits<T,S>,
          class OverflowHandler  = def_overflow_handler,
-         class Float2IntRounder = Trunc< BOOST_DEDUCED_TYPENAME Traits::source_type>  ,
+         class Float2IntRounder = Trunc< NDNBOOST_DEDUCED_TYPENAME Traits::source_type>  ,
          class RawConverter     = raw_converter<Traits>,
          class UserRangeChecker = UseInternalRangeChecker
         >
diff --git a/include/ndnboost/numeric/conversion/converter_policies.hpp b/include/ndnboost/numeric/conversion/converter_policies.hpp
index fd02094..c1c978e 100644
--- a/include/ndnboost/numeric/conversion/converter_policies.hpp
+++ b/include/ndnboost/numeric/conversion/converter_policies.hpp
@@ -7,8 +7,8 @@
 //
 // Contact the author at: fernando_cacciola@hotmail.com
 //
-#ifndef BOOST_NUMERIC_CONVERSION_CONVERTER_POLICIES_FLC_12NOV2002_HPP
-#define BOOST_NUMERIC_CONVERSION_CONVERTER_POLICIES_FLC_12NOV2002_HPP
+#ifndef NDNBOOST_NUMERIC_CONVERSION_CONVERTER_POLICIES_FLC_12NOV2002_HPP
+#define NDNBOOST_NUMERIC_CONVERSION_CONVERTER_POLICIES_FLC_12NOV2002_HPP
 
 #include <typeinfo> // for std::bad_cast
 
@@ -34,7 +34,7 @@
 
   static source_type nearbyint ( argument_type s )
   {
-#if !defined(BOOST_NO_STDC_NAMESPACE)
+#if !defined(NDNBOOST_NO_STDC_NAMESPACE)
     using std::floor ;
     using std::ceil  ;
 #endif
@@ -56,7 +56,7 @@
 
   static source_type nearbyint ( argument_type s )
   {
-#if !defined(BOOST_NO_STDC_NAMESPACE)
+#if !defined(NDNBOOST_NO_STDC_NAMESPACE)
     using std::floor ;
 #endif
 
@@ -75,7 +75,7 @@
 
   static source_type nearbyint ( argument_type s )
   {
-#if !defined(BOOST_NO_STDC_NAMESPACE)
+#if !defined(NDNBOOST_NO_STDC_NAMESPACE)
     using std::ceil ;
 #endif
 
@@ -96,7 +96,7 @@
   {
     // Algorithm contributed by Guillaume Melquiond
 
-#if !defined(BOOST_NO_STDC_NAMESPACE)
+#if !defined(NDNBOOST_NO_STDC_NAMESPACE)
     using std::floor ;
     using std::ceil  ;
 #endif
@@ -159,7 +159,7 @@
 {
   void operator() ( range_check_result r ) // throw(negative_overflow,positive_overflow)
   {
-#ifndef BOOST_NO_EXCEPTIONS
+#ifndef NDNBOOST_NO_EXCEPTIONS
     if ( r == cNegOverflow )
       throw negative_overflow() ;
     else if ( r == cPosOverflow )
diff --git a/include/ndnboost/numeric/conversion/detail/bounds.hpp b/include/ndnboost/numeric/conversion/detail/bounds.hpp
index 34effae..59d3202 100644
--- a/include/ndnboost/numeric/conversion/detail/bounds.hpp
+++ b/include/ndnboost/numeric/conversion/detail/bounds.hpp
@@ -7,8 +7,8 @@
 //
 // Contact the author at: fernando_cacciola@hotmail.com
 // 
-#ifndef BOOST_NUMERIC_CONVERSION_BOUNDS_DETAIL_FLC_12NOV2002_HPP
-#define BOOST_NUMERIC_CONVERSION_BOUNDS_DETAIL_FLC_12NOV2002_HPP
+#ifndef NDNBOOST_NUMERIC_CONVERSION_BOUNDS_DETAIL_FLC_12NOV2002_HPP
+#define NDNBOOST_NUMERIC_CONVERSION_BOUNDS_DETAIL_FLC_12NOV2002_HPP
 
 #include "ndnboost/limits.hpp"
 #include "ndnboost/config.hpp"
@@ -23,8 +23,8 @@
 
     public :
     
-      static N lowest  () { return limits::min BOOST_PREVENT_MACRO_SUBSTITUTION (); }
-      static N highest () { return limits::max BOOST_PREVENT_MACRO_SUBSTITUTION (); }
+      static N lowest  () { return limits::min NDNBOOST_PREVENT_MACRO_SUBSTITUTION (); }
+      static N highest () { return limits::max NDNBOOST_PREVENT_MACRO_SUBSTITUTION (); }
       static N smallest() { return static_cast<N>(1); }
   } ;
 
@@ -35,9 +35,9 @@
 
     public :
     
-      static N lowest  () { return static_cast<N>(-limits::max BOOST_PREVENT_MACRO_SUBSTITUTION ()) ; }
-      static N highest () { return limits::max BOOST_PREVENT_MACRO_SUBSTITUTION (); }
-      static N smallest() { return limits::min BOOST_PREVENT_MACRO_SUBSTITUTION (); }
+      static N lowest  () { return static_cast<N>(-limits::max NDNBOOST_PREVENT_MACRO_SUBSTITUTION ()) ; }
+      static N highest () { return limits::max NDNBOOST_PREVENT_MACRO_SUBSTITUTION (); }
+      static N smallest() { return limits::min NDNBOOST_PREVENT_MACRO_SUBSTITUTION (); }
   } ;
 
   template<class N>
diff --git a/include/ndnboost/numeric/conversion/detail/conversion_traits.hpp b/include/ndnboost/numeric/conversion/detail/conversion_traits.hpp
index 55c7d86..09fe107 100644
--- a/include/ndnboost/numeric/conversion/detail/conversion_traits.hpp
+++ b/include/ndnboost/numeric/conversion/detail/conversion_traits.hpp
@@ -7,8 +7,8 @@
 //
 // Contact the author at: fernando_cacciola@hotmail.com
 // 
-#ifndef BOOST_NUMERIC_CONVERSION_DETAIL_CONVERSION_TRAITS_FLC_12NOV2002_HPP
-#define BOOST_NUMERIC_CONVERSION_DETAIL_CONVERSION_TRAITS_FLC_12NOV2002_HPP
+#ifndef NDNBOOST_NUMERIC_CONVERSION_DETAIL_CONVERSION_TRAITS_FLC_12NOV2002_HPP
+#define NDNBOOST_NUMERIC_CONVERSION_DETAIL_CONVERSION_TRAITS_FLC_12NOV2002_HPP
 
 #include "ndnboost/type_traits/is_arithmetic.hpp"
 #include "ndnboost/type_traits/is_same.hpp"
diff --git a/include/ndnboost/numeric/conversion/detail/converter.hpp b/include/ndnboost/numeric/conversion/detail/converter.hpp
index 813a5c3..37099ef 100644
--- a/include/ndnboost/numeric/conversion/detail/converter.hpp
+++ b/include/ndnboost/numeric/conversion/detail/converter.hpp
@@ -7,8 +7,8 @@
 //
 // Contact the author at: fernando_cacciola@hotmail.com
 //
-#ifndef BOOST_NUMERIC_CONVERSION_DETAIL_CONVERTER_FLC_12NOV2002_HPP
-#define BOOST_NUMERIC_CONVERSION_DETAIL_CONVERTER_FLC_12NOV2002_HPP
+#ifndef NDNBOOST_NUMERIC_CONVERSION_DETAIL_CONVERTER_FLC_12NOV2002_HPP
+#define NDNBOOST_NUMERIC_CONVERSION_DETAIL_CONVERTER_FLC_12NOV2002_HPP
 
 #include <functional>
 
@@ -450,8 +450,8 @@
   // Trivial Converter : used when (cv-unqualified) T == (cv-unqualified)  S
   //
   template<class Traits>
-  struct trivial_converter_impl : public std::unary_function<  BOOST_DEDUCED_TYPENAME Traits::argument_type
-                                                              ,BOOST_DEDUCED_TYPENAME Traits::result_type
+  struct trivial_converter_impl : public std::unary_function<  NDNBOOST_DEDUCED_TYPENAME Traits::argument_type
+                                                              ,NDNBOOST_DEDUCED_TYPENAME Traits::result_type
                                                             >
                                  ,public dummy_range_checker<Traits>
   {
@@ -471,8 +471,8 @@
   // Rounding Converter : used for float to integral conversions.
   //
   template<class Traits,class RangeChecker,class RawConverter,class Float2IntRounder>
-  struct rounding_converter : public std::unary_function<  BOOST_DEDUCED_TYPENAME Traits::argument_type
-                                                          ,BOOST_DEDUCED_TYPENAME Traits::result_type
+  struct rounding_converter : public std::unary_function<  NDNBOOST_DEDUCED_TYPENAME Traits::argument_type
+                                                          ,NDNBOOST_DEDUCED_TYPENAME Traits::result_type
                                                         >
                              ,public RangeChecker
                              ,public Float2IntRounder
@@ -501,8 +501,8 @@
   // Non-Rounding Converter : used for all other conversions.
   //
   template<class Traits,class RangeChecker,class RawConverter>
-  struct non_rounding_converter : public std::unary_function< BOOST_DEDUCED_TYPENAME Traits::argument_type
-                                                             ,BOOST_DEDUCED_TYPENAME Traits::result_type
+  struct non_rounding_converter : public std::unary_function< NDNBOOST_DEDUCED_TYPENAME Traits::argument_type
+                                                             ,NDNBOOST_DEDUCED_TYPENAME Traits::result_type
                                                            >
                                  ,public RangeChecker
                                  ,public RawConverter
@@ -570,7 +570,7 @@
           >
   struct get_converter_impl
   {
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT( 0x0561 ) )
+#if NDNBOOST_WORKAROUND(__BORLANDC__, NDNBOOST_TESTED_AT( 0x0561 ) )
     // bcc55 prefers sometimes template parameters to be explicit local types.
     // (notice that is is illegal to reuse the names like this)
     typedef Traits           Traits ;
diff --git a/include/ndnboost/numeric/conversion/detail/int_float_mixture.hpp b/include/ndnboost/numeric/conversion/detail/int_float_mixture.hpp
index 437b56a..e91ac40 100644
--- a/include/ndnboost/numeric/conversion/detail/int_float_mixture.hpp
+++ b/include/ndnboost/numeric/conversion/detail/int_float_mixture.hpp
@@ -7,8 +7,8 @@
 //
 // Contact the author at: fernando_cacciola@hotmail.com
 // 
-#ifndef BOOST_NUMERIC_CONVERSION_DETAIL_INT_FLOAT_MIXTURE_FLC_12NOV2002_HPP
-#define BOOST_NUMERIC_CONVERSION_DETAIL_INT_FLOAT_MIXTURE_FLC_12NOV2002_HPP
+#ifndef NDNBOOST_NUMERIC_CONVERSION_DETAIL_INT_FLOAT_MIXTURE_FLC_12NOV2002_HPP
+#define NDNBOOST_NUMERIC_CONVERSION_DETAIL_INT_FLOAT_MIXTURE_FLC_12NOV2002_HPP
 
 #include "ndnboost/config.hpp"
 #include "ndnboost/limits.hpp"
diff --git a/include/ndnboost/numeric/conversion/detail/is_subranged.hpp b/include/ndnboost/numeric/conversion/detail/is_subranged.hpp
index 6f84872..9af12c0 100644
--- a/include/ndnboost/numeric/conversion/detail/is_subranged.hpp
+++ b/include/ndnboost/numeric/conversion/detail/is_subranged.hpp
@@ -7,8 +7,8 @@
 //
 // Contact the author at: fernando_cacciola@hotmail.com
 // 
-#ifndef BOOST_NUMERIC_CONVERSION_DETAIL_IS_SUBRANGED_FLC_12NOV2002_HPP
-#define BOOST_NUMERIC_CONVERSION_DETAIL_IS_SUBRANGED_FLC_12NOV2002_HPP
+#ifndef NDNBOOST_NUMERIC_CONVERSION_DETAIL_IS_SUBRANGED_FLC_12NOV2002_HPP
+#define NDNBOOST_NUMERIC_CONVERSION_DETAIL_IS_SUBRANGED_FLC_12NOV2002_HPP
 
 #include "ndnboost/config.hpp"
 #include "ndnboost/limits.hpp"
diff --git a/include/ndnboost/numeric/conversion/detail/meta.hpp b/include/ndnboost/numeric/conversion/detail/meta.hpp
index a79d670..c87bbb8 100644
--- a/include/ndnboost/numeric/conversion/detail/meta.hpp
+++ b/include/ndnboost/numeric/conversion/detail/meta.hpp
@@ -7,8 +7,8 @@
 //
 // Contact the author at: fernando_cacciola@hotmail.com
 // 
-#ifndef BOOST_NUMERIC_CONVERSION_DETAIL_META_FLC_12NOV2002_HPP
-#define BOOST_NUMERIC_CONVERSION_DETAIL_META_FLC_12NOV2002_HPP
+#ifndef NDNBOOST_NUMERIC_CONVERSION_DETAIL_META_FLC_12NOV2002_HPP
+#define NDNBOOST_NUMERIC_CONVERSION_DETAIL_META_FLC_12NOV2002_HPP
 
 #include "ndnboost/type_traits/remove_cv.hpp"
 
@@ -27,22 +27,22 @@
    {
    #if !defined(__BORLANDC__)
    
-       enum { x = ( BOOST_MPL_AUX_VALUE_WKND(T1)::value == BOOST_MPL_AUX_VALUE_WKND(T2)::value ) };
+       enum { x = ( NDNBOOST_MPL_AUX_VALUE_WKND(T1)::value == NDNBOOST_MPL_AUX_VALUE_WKND(T2)::value ) };
            
-       BOOST_STATIC_CONSTANT(bool, value = x);
+       NDNBOOST_STATIC_CONSTANT(bool, value = x);
            
        typedef mpl::bool_<value> type;
        
    #else
    
-       BOOST_STATIC_CONSTANT(bool, value = (
-             BOOST_MPL_AUX_VALUE_WKND(T1)::value 
-               == BOOST_MPL_AUX_VALUE_WKND(T2)::value
+       NDNBOOST_STATIC_CONSTANT(bool, value = (
+             NDNBOOST_MPL_AUX_VALUE_WKND(T1)::value 
+               == NDNBOOST_MPL_AUX_VALUE_WKND(T2)::value
            ));
            
        typedef mpl::bool_<(
-             BOOST_MPL_AUX_VALUE_WKND(T1)::value 
-               == BOOST_MPL_AUX_VALUE_WKND(T2)::value
+             NDNBOOST_MPL_AUX_VALUE_WKND(T1)::value 
+               == NDNBOOST_MPL_AUX_VALUE_WKND(T2)::value
            )> type;
    #endif
    };
diff --git a/include/ndnboost/numeric/conversion/detail/numeric_cast_traits.hpp b/include/ndnboost/numeric/conversion/detail/numeric_cast_traits.hpp
index eaccf5c..96bd961 100644
--- a/include/ndnboost/numeric/conversion/detail/numeric_cast_traits.hpp
+++ b/include/ndnboost/numeric/conversion/detail/numeric_cast_traits.hpp
@@ -7,22 +7,22 @@
 //  http://www.boost.org/LICENSE_1_0.txt)
 //
 
-#if !defined(BOOST_NUMERIC_CONVERSION_DONT_USE_PREPROCESSED_FILES)
+#if !defined(NDNBOOST_NUMERIC_CONVERSION_DONT_USE_PREPROCESSED_FILES)
 
     #include <ndnboost/numeric/conversion/detail/preprocessed/numeric_cast_traits_common.hpp>
 	
-	#if !defined(BOOST_NO_LONG_LONG)
+	#if !defined(NDNBOOST_NO_LONG_LONG)
         #include <ndnboost/numeric/conversion/detail/preprocessed/numeric_cast_traits_long_long.hpp>
 	#endif
 	
 #else
-#if !BOOST_PP_IS_ITERATING
+#if !NDNBOOST_PP_IS_ITERATING
 
     #include <ndnboost/preprocessor/seq/elem.hpp>
     #include <ndnboost/preprocessor/seq/size.hpp>
     #include <ndnboost/preprocessor/iteration/iterate.hpp>
     
-    #if defined(__WAVE__) && defined(BOOST_NUMERIC_CONVERSION_CREATE_PREPROCESSED_FILES)
+    #if defined(__WAVE__) && defined(NDNBOOST_NUMERIC_CONVERSION_CREATE_PREPROCESSED_FILES)
         #pragma wave option(preserve: 2, line: 0, output: "preprocessed/numeric_cast_traits_common.hpp")
     #endif
 //
@@ -33,12 +33,12 @@
 //  accompanying file LICENSE_1_0.txt or copy at
 //  http://www.boost.org/LICENSE_1_0.txt)
 //
-    #if defined(__WAVE__) && defined(BOOST_NUMERIC_CONVERSION_CREATE_PREPROCESSED_FILES)
+    #if defined(__WAVE__) && defined(NDNBOOST_NUMERIC_CONVERSION_CREATE_PREPROCESSED_FILES)
         #pragma wave option(preserve: 1)
     #endif
 	
 	//! These are the assumed common built in fundamental types (not typedefs/macros.)
-	#define BOOST_NUMERIC_CONVERSION_BASE_BUILTIN_TYPES() \
+	#define NDNBOOST_NUMERIC_CONVERSION_BASE_BUILTIN_TYPES() \
         (char)                                            \
         (signed char)                                     \
         (unsigned char)                                   \
@@ -53,26 +53,26 @@
         (long double)                                     \
     /***/
 	
-    #define BOOST_NUMERIC_CONVERSION_SEQ_A() BOOST_NUMERIC_CONVERSION_BASE_BUILTIN_TYPES()
-	#define BOOST_NUMERIC_CONVERSION_SEQ_B() BOOST_NUMERIC_CONVERSION_BASE_BUILTIN_TYPES()
+    #define NDNBOOST_NUMERIC_CONVERSION_SEQ_A() NDNBOOST_NUMERIC_CONVERSION_BASE_BUILTIN_TYPES()
+	#define NDNBOOST_NUMERIC_CONVERSION_SEQ_B() NDNBOOST_NUMERIC_CONVERSION_BASE_BUILTIN_TYPES()
 
 namespace ndnboost { namespace numeric {
 
-    #define BOOST_PP_ITERATION_PARAMS_1 (3, (0, BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(BOOST_NUMERIC_CONVERSION_SEQ_A())), <ndnboost/numeric/conversion/detail/numeric_cast_traits.hpp>))
-    #include BOOST_PP_ITERATE()    
+    #define NDNBOOST_PP_ITERATION_PARAMS_1 (3, (0, NDNBOOST_PP_DEC(NDNBOOST_PP_SEQ_SIZE(NDNBOOST_NUMERIC_CONVERSION_SEQ_A())), <ndnboost/numeric/conversion/detail/numeric_cast_traits.hpp>))
+    #include NDNBOOST_PP_ITERATE()    
 
 }}//namespace ndnboost::numeric;
 
-    #if defined(__WAVE__) && defined(BOOST_NUMERIC_CONVERSION_CREATE_PREPROCESSED_FILES)
+    #if defined(__WAVE__) && defined(NDNBOOST_NUMERIC_CONVERSION_CREATE_PREPROCESSED_FILES)
         #pragma wave option(output: null)
     #endif   
 	
-	#if ( defined(__WAVE__) && defined(BOOST_NUMERIC_CONVERSION_CREATE_PREPROCESSED_FILES) ) || !defined(BOOST_NO_LONG_LONG)
+	#if ( defined(__WAVE__) && defined(NDNBOOST_NUMERIC_CONVERSION_CREATE_PREPROCESSED_FILES) ) || !defined(NDNBOOST_NO_LONG_LONG)
 	
-	    #undef BOOST_NUMERIC_CONVERSION_SEQ_A
-	    #undef BOOST_NUMERIC_CONVERSION_SEQ_B
+	    #undef NDNBOOST_NUMERIC_CONVERSION_SEQ_A
+	    #undef NDNBOOST_NUMERIC_CONVERSION_SEQ_B
 
-	    #if defined(__WAVE__) && defined(BOOST_NUMERIC_CONVERSION_CREATE_PREPROCESSED_FILES)
+	    #if defined(__WAVE__) && defined(NDNBOOST_NUMERIC_CONVERSION_CREATE_PREPROCESSED_FILES)
             #pragma wave option(preserve: 2, line: 0, output: "preprocessed/numeric_cast_traits_long_long.hpp")
         #endif
 
@@ -84,55 +84,55 @@
 //  accompanying file LICENSE_1_0.txt or copy at
 //  http://www.boost.org/LICENSE_1_0.txt)
 //
-        #if defined(__WAVE__) && defined(BOOST_NUMERIC_CONVERSION_CREATE_PREPROCESSED_FILES)
+        #if defined(__WAVE__) && defined(NDNBOOST_NUMERIC_CONVERSION_CREATE_PREPROCESSED_FILES)
             #pragma wave option(preserve: 1)
         #endif
 
 namespace ndnboost { namespace numeric {
 
-    #define BOOST_NUMERIC_CONVERSION_SEQ_A() BOOST_NUMERIC_CONVERSION_BASE_BUILTIN_TYPES()(ndnboost::long_long_type)(ndnboost::ulong_long_type)
-	#define BOOST_NUMERIC_CONVERSION_SEQ_B() (ndnboost::long_long_type)(ndnboost::ulong_long_type)
+    #define NDNBOOST_NUMERIC_CONVERSION_SEQ_A() NDNBOOST_NUMERIC_CONVERSION_BASE_BUILTIN_TYPES()(ndnboost::long_long_type)(ndnboost::ulong_long_type)
+	#define NDNBOOST_NUMERIC_CONVERSION_SEQ_B() (ndnboost::long_long_type)(ndnboost::ulong_long_type)
     
-    #define BOOST_PP_ITERATION_PARAMS_1 (3, (0, BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(BOOST_NUMERIC_CONVERSION_SEQ_A())), <ndnboost/numeric/conversion/detail/numeric_cast_traits.hpp>))
-    #include BOOST_PP_ITERATE()    
+    #define NDNBOOST_PP_ITERATION_PARAMS_1 (3, (0, NDNBOOST_PP_DEC(NDNBOOST_PP_SEQ_SIZE(NDNBOOST_NUMERIC_CONVERSION_SEQ_A())), <ndnboost/numeric/conversion/detail/numeric_cast_traits.hpp>))
+    #include NDNBOOST_PP_ITERATE()    
 
 }}//namespace ndnboost::numeric;
 
-        #if defined(__WAVE__) && defined(BOOST_NUMERIC_CONVERSION_CREATE_PREPROCESSED_FILES)
+        #if defined(__WAVE__) && defined(NDNBOOST_NUMERIC_CONVERSION_CREATE_PREPROCESSED_FILES)
             #pragma wave option(output: null)
         #endif   
 	
 	#endif
 		
-    #undef BOOST_NUMERIC_CONVERSION_BASE_BUILTIN_TYPES
-	#undef BOOST_NUMERIC_CONVERSION_SEQ_A
-	#undef BOOST_NUMERIC_CONVERSION_SEQ_B
+    #undef NDNBOOST_NUMERIC_CONVERSION_BASE_BUILTIN_TYPES
+	#undef NDNBOOST_NUMERIC_CONVERSION_SEQ_A
+	#undef NDNBOOST_NUMERIC_CONVERSION_SEQ_B
     
-#elif BOOST_PP_ITERATION_DEPTH() == 1
+#elif NDNBOOST_PP_ITERATION_DEPTH() == 1
 
-    #define BOOST_PP_ITERATION_PARAMS_2 (3, (0, BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(BOOST_NUMERIC_CONVERSION_SEQ_B())), <ndnboost/numeric/conversion/detail/numeric_cast_traits.hpp>))
-    #include BOOST_PP_ITERATE()
+    #define NDNBOOST_PP_ITERATION_PARAMS_2 (3, (0, NDNBOOST_PP_DEC(NDNBOOST_PP_SEQ_SIZE(NDNBOOST_NUMERIC_CONVERSION_SEQ_B())), <ndnboost/numeric/conversion/detail/numeric_cast_traits.hpp>))
+    #include NDNBOOST_PP_ITERATE()
 
-#elif BOOST_PP_ITERATION_DEPTH() == 2
+#elif NDNBOOST_PP_ITERATION_DEPTH() == 2
 
     //! Generate default traits for the specified source and target.
-    #define BOOST_NUMERIC_CONVERSION_A BOOST_PP_FRAME_ITERATION(1)
-    #define BOOST_NUMERIC_CONVERSION_B BOOST_PP_FRAME_ITERATION(2)
+    #define NDNBOOST_NUMERIC_CONVERSION_A NDNBOOST_PP_FRAME_ITERATION(1)
+    #define NDNBOOST_NUMERIC_CONVERSION_B NDNBOOST_PP_FRAME_ITERATION(2)
 
     template <>
     struct numeric_cast_traits
         <
-            BOOST_PP_SEQ_ELEM(BOOST_NUMERIC_CONVERSION_A, BOOST_NUMERIC_CONVERSION_SEQ_A())
-          , BOOST_PP_SEQ_ELEM(BOOST_NUMERIC_CONVERSION_B, BOOST_NUMERIC_CONVERSION_SEQ_B())
+            NDNBOOST_PP_SEQ_ELEM(NDNBOOST_NUMERIC_CONVERSION_A, NDNBOOST_NUMERIC_CONVERSION_SEQ_A())
+          , NDNBOOST_PP_SEQ_ELEM(NDNBOOST_NUMERIC_CONVERSION_B, NDNBOOST_NUMERIC_CONVERSION_SEQ_B())
         >
     {
         typedef def_overflow_handler overflow_policy;
         typedef UseInternalRangeChecker range_checking_policy;
-        typedef Trunc<BOOST_PP_SEQ_ELEM(BOOST_NUMERIC_CONVERSION_B, BOOST_NUMERIC_CONVERSION_SEQ_B())> rounding_policy;
+        typedef Trunc<NDNBOOST_PP_SEQ_ELEM(NDNBOOST_NUMERIC_CONVERSION_B, NDNBOOST_NUMERIC_CONVERSION_SEQ_B())> rounding_policy;
     };     
 
-    #undef BOOST_NUMERIC_CONVERSION_A
-    #undef BOOST_NUMERIC_CONVERSION_B
+    #undef NDNBOOST_NUMERIC_CONVERSION_A
+    #undef NDNBOOST_NUMERIC_CONVERSION_B
 
 #endif//! Depth 2.
-#endif// BOOST_NUMERIC_CONVERSION_DONT_USE_PREPROCESSED_FILES
+#endif// NDNBOOST_NUMERIC_CONVERSION_DONT_USE_PREPROCESSED_FILES
diff --git a/include/ndnboost/numeric/conversion/detail/old_numeric_cast.hpp b/include/ndnboost/numeric/conversion/detail/old_numeric_cast.hpp
index e9cc453..4fc4cab 100644
--- a/include/ndnboost/numeric/conversion/detail/old_numeric_cast.hpp
+++ b/include/ndnboost/numeric/conversion/detail/old_numeric_cast.hpp
@@ -12,15 +12,15 @@
 //             Keeps this legacy version of numeric_cast<> for old compilers
 //             wich can't compile the new version in /boost/numeric/conversion/cast.hpp
 //             (Fernando Cacciola)
-//  02 Apr 01  Removed BOOST_NO_LIMITS workarounds and included
+//  02 Apr 01  Removed NDNBOOST_NO_LIMITS workarounds and included
 //             <ndnboost/limits.hpp> instead (the workaround did not
-//             actually compile when BOOST_NO_LIMITS was defined in
+//             actually compile when NDNBOOST_NO_LIMITS was defined in
 //             any case, so we loose nothing). (John Maddock)
 //  21 Jan 01  Undid a bug I introduced yesterday. numeric_cast<> never
 //             worked with stock GCC; trying to get it to do that broke
 //             vc-stlport.
-//  20 Jan 01  Moved BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS to config.hpp.
-//             Removed unused BOOST_EXPLICIT_TARGET macro. Moved
+//  20 Jan 01  Moved NDNBOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS to config.hpp.
+//             Removed unused NDNBOOST_EXPLICIT_TARGET macro. Moved
 //             ndnboost::detail::type to ndnboost/type.hpp. Made it compile with
 //             stock gcc again (Dave Abrahams)
 //  29 Nov 00  Remove nested namespace cast, cleanup spacing before Formal
@@ -43,8 +43,8 @@
 //             place in nested namespace.
 //   3 Aug 99  Initial version
 
-#ifndef BOOST_OLD_NUMERIC_CAST_HPP
-#define BOOST_OLD_NUMERIC_CAST_HPP
+#ifndef NDNBOOST_OLD_NUMERIC_CAST_HPP
+#define NDNBOOST_OLD_NUMERIC_CAST_HPP
 
 # include <ndnboost/config.hpp>
 # include <cassert>
@@ -60,10 +60,10 @@
 //  TODO: Add this to config.hpp?
 //  FLC: This macro is repeated in ndnboost/cast.hpp but only locally (is undefined at the bottom)
 //       so is OK to reproduce it here.
-# if defined(BOOST_MSVC) && BOOST_MSVC < 1300
-#  define BOOST_EXPLICIT_DEFAULT_TARGET , ::ndnboost::type<Target>* = 0
+# if defined(NDNBOOST_MSVC) && NDNBOOST_MSVC < 1300
+#  define NDNBOOST_EXPLICIT_DEFAULT_TARGET , ::ndnboost::type<Target>* = 0
 # else
-#  define BOOST_EXPLICIT_DEFAULT_TARGET
+#  define NDNBOOST_EXPLICIT_DEFAULT_TARGET
 # endif
 
 namespace ndnboost
@@ -76,14 +76,14 @@
 
 //  numeric_cast  ------------------------------------------------------------//
 
-#if !defined(BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS) || defined(BOOST_SGI_CPP_LIMITS)
+#if !defined(NDNBOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS) || defined(NDNBOOST_SGI_CPP_LIMITS)
 
     namespace detail
     {
       template <class T>
       struct signed_numeric_limits : std::numeric_limits<T>
       {
-             static inline T min BOOST_PREVENT_MACRO_SUBSTITUTION ()
+             static inline T min NDNBOOST_PREVENT_MACRO_SUBSTITUTION ()
          {
              return (std::numeric_limits<T>::min)() >= 0
                      // unary minus causes integral promotion, thus the static_cast<>
@@ -96,7 +96,7 @@
       template <class T, bool specialized>
       struct fixed_numeric_limits_base
           : public if_true< std::numeric_limits<T>::is_signed >
-           ::BOOST_NESTED_TEMPLATE then< signed_numeric_limits<T>,
+           ::NDNBOOST_NESTED_TEMPLATE then< signed_numeric_limits<T>,
                             std::numeric_limits<T>
                    >::type
       {};
@@ -106,16 +106,16 @@
           : fixed_numeric_limits_base<T,(std::numeric_limits<T>::is_specialized)>
       {};
 
-# ifdef BOOST_HAS_LONG_LONG
+# ifdef NDNBOOST_HAS_LONG_LONG
       // cover implementations which supply no specialization for long
       // long / unsigned long long. Not intended to be full
       // numeric_limits replacements, but good enough for numeric_cast<>
       template <>
       struct fixed_numeric_limits_base< ::ndnboost::long_long_type, false>
       {
-          BOOST_STATIC_CONSTANT(bool, is_specialized = true);
-          BOOST_STATIC_CONSTANT(bool, is_signed = true);
-          static  ::ndnboost::long_long_type max BOOST_PREVENT_MACRO_SUBSTITUTION ()
+          NDNBOOST_STATIC_CONSTANT(bool, is_specialized = true);
+          NDNBOOST_STATIC_CONSTANT(bool, is_signed = true);
+          static  ::ndnboost::long_long_type max NDNBOOST_PREVENT_MACRO_SUBSTITUTION ()
           {
 #  ifdef LONGLONG_MAX
               return LONGLONG_MAX;
@@ -124,7 +124,7 @@
 #  endif
           }
 
-          static  ::ndnboost::long_long_type min BOOST_PREVENT_MACRO_SUBSTITUTION ()
+          static  ::ndnboost::long_long_type min NDNBOOST_PREVENT_MACRO_SUBSTITUTION ()
           {
 #  ifdef LONGLONG_MIN
               return LONGLONG_MIN;
@@ -137,9 +137,9 @@
       template <>
       struct fixed_numeric_limits_base< ::ndnboost::ulong_long_type, false>
       {
-          BOOST_STATIC_CONSTANT(bool, is_specialized = true);
-          BOOST_STATIC_CONSTANT(bool, is_signed = false);
-          static  ::ndnboost::ulong_long_type max BOOST_PREVENT_MACRO_SUBSTITUTION ()
+          NDNBOOST_STATIC_CONSTANT(bool, is_specialized = true);
+          NDNBOOST_STATIC_CONSTANT(bool, is_signed = false);
+          static  ::ndnboost::ulong_long_type max NDNBOOST_PREVENT_MACRO_SUBSTITUTION ()
           {
 #  ifdef ULONGLONG_MAX
               return ULONGLONG_MAX;
@@ -148,7 +148,7 @@
 #  endif
           }
 
-          static  ::ndnboost::ulong_long_type min BOOST_PREVENT_MACRO_SUBSTITUTION () { return 0; }
+          static  ::ndnboost::ulong_long_type min NDNBOOST_PREVENT_MACRO_SUBSTITUTION () { return 0; }
       };
 # endif
     } // namespace detail
@@ -215,9 +215,9 @@
         static inline bool check(X x, Y)
             { return x >= 0 && static_cast<X>(static_cast<Y>(x)) != x; }
 
-# if defined(BOOST_MSVC) && BOOST_MSVC < 1300
+# if defined(NDNBOOST_MSVC) && NDNBOOST_MSVC < 1300
         // MSVC6 can't static_cast  unsigned __int64 -> floating types
-#  define BOOST_UINT64_CAST(src_type)                                   \
+#  define NDNBOOST_UINT64_CAST(src_type)                                   \
         static inline bool check(src_type x, unsigned __int64)          \
         {                                                               \
             if (x < 0) return false;                                    \
@@ -227,10 +227,10 @@
             return ((static_cast<src_type>(div2) * 2.0) + odd) != x;    \
         }
 
-        BOOST_UINT64_CAST(long double);
-        BOOST_UINT64_CAST(double);
-        BOOST_UINT64_CAST(float);
-#  undef BOOST_UINT64_CAST
+        NDNBOOST_UINT64_CAST(long double);
+        NDNBOOST_UINT64_CAST(double);
+        NDNBOOST_UINT64_CAST(float);
+#  undef NDNBOOST_UINT64_CAST
 # endif
     };
 
@@ -256,7 +256,7 @@
 
   namespace detail
   {
-# if BOOST_MSVC
+# if NDNBOOST_MSVC
 #  pragma warning(push)
 #  pragma warning(disable : 4018)
 #  pragma warning(disable : 4146)
@@ -268,14 +268,14 @@
        template <class T>
        struct fixed_numeric_limits : public std::numeric_limits<T>
        {
-           static inline T min BOOST_PREVENT_MACRO_SUBSTITUTION ()
+           static inline T min NDNBOOST_PREVENT_MACRO_SUBSTITUTION ()
            {
                return std::numeric_limits<T>::is_signed && (std::numeric_limits<T>::min)() >= 0
                    ? T(-(std::numeric_limits<T>::max)()) : (std::numeric_limits<T>::min)();
            }
        };
 
-# if BOOST_MSVC
+# if NDNBOOST_MSVC
 #  pragma warning(pop)
 #elif defined(__BORLANDC__)
 #  pragma option pop
@@ -285,16 +285,16 @@
 #endif
 
     template<typename Target, typename Source>
-    inline Target numeric_cast(Source arg BOOST_EXPLICIT_DEFAULT_TARGET)
+    inline Target numeric_cast(Source arg NDNBOOST_EXPLICIT_DEFAULT_TARGET)
     {
         // typedefs abbreviating respective trait classes
         typedef detail::fixed_numeric_limits<Source> arg_traits;
         typedef detail::fixed_numeric_limits<Target> result_traits;
 
-#if defined(BOOST_STRICT_CONFIG) \
+#if defined(NDNBOOST_STRICT_CONFIG) \
     || (!defined(__HP_aCC) || __HP_aCC > 33900) \
-         && (!defined(BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS) \
-             || defined(BOOST_SGI_CPP_LIMITS))
+         && (!defined(NDNBOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS) \
+             || defined(NDNBOOST_SGI_CPP_LIMITS))
         // typedefs that act as compile time assertions
         // (to be replaced by boost compile time assertions
         // as and when they become available and are stable)
@@ -311,7 +311,7 @@
 
 #else // We need to use #pragma hacks if available
 
-# if BOOST_MSVC
+# if NDNBOOST_MSVC
 #  pragma warning(push)
 #  pragma warning(disable : 4018)
 #elif defined(__BORLANDC__)
@@ -320,7 +320,7 @@
         if ((arg < 0 && !result_traits::is_signed)  // loss of negative range
              || (arg_traits::is_signed && arg < (result_traits::min)())  // underflow
              || arg > (result_traits::max)())            // overflow
-# if BOOST_MSVC
+# if NDNBOOST_MSVC
 #  pragma warning(pop)
 #elif defined(__BORLANDC__)
 #pragma option pop
@@ -332,8 +332,8 @@
         return static_cast<Target>(arg);
     } // numeric_cast
 
-#  undef BOOST_EXPLICIT_DEFAULT_TARGET
+#  undef NDNBOOST_EXPLICIT_DEFAULT_TARGET
 
 } // namespace ndnboost
 
-#endif  // BOOST_OLD_NUMERIC_CAST_HPP
+#endif  // NDNBOOST_OLD_NUMERIC_CAST_HPP
diff --git a/include/ndnboost/numeric/conversion/detail/sign_mixture.hpp b/include/ndnboost/numeric/conversion/detail/sign_mixture.hpp
index e49ad1d..1e90ee9 100644
--- a/include/ndnboost/numeric/conversion/detail/sign_mixture.hpp
+++ b/include/ndnboost/numeric/conversion/detail/sign_mixture.hpp
@@ -7,8 +7,8 @@
 //
 // Contact the author at: fernando_cacciola@hotmail.com
 // 
-#ifndef BOOST_NUMERIC_CONVERSION_DETAIL_SIGN_MIXTURE_FLC_12NOV2002_HPP
-#define BOOST_NUMERIC_CONVERSION_DETAIL_SIGN_MIXTURE_FLC_12NOV2002_HPP
+#ifndef NDNBOOST_NUMERIC_CONVERSION_DETAIL_SIGN_MIXTURE_FLC_12NOV2002_HPP
+#define NDNBOOST_NUMERIC_CONVERSION_DETAIL_SIGN_MIXTURE_FLC_12NOV2002_HPP
 
 #include "ndnboost/config.hpp"
 #include "ndnboost/limits.hpp"
diff --git a/include/ndnboost/numeric/conversion/detail/udt_builtin_mixture.hpp b/include/ndnboost/numeric/conversion/detail/udt_builtin_mixture.hpp
index 6b1e282..33382ec 100644
--- a/include/ndnboost/numeric/conversion/detail/udt_builtin_mixture.hpp
+++ b/include/ndnboost/numeric/conversion/detail/udt_builtin_mixture.hpp
@@ -7,8 +7,8 @@
 //
 // Contact the author at: fernando_cacciola@hotmail.com
 // 
-#ifndef BOOST_NUMERIC_CONVERSION_DETAIL_UDT_BUILTIN_MIXTURE_FLC_12NOV2002_HPP
-#define BOOST_NUMERIC_CONVERSION_DETAIL_UDT_BUILTIN_MIXTURE_FLC_12NOV2002_HPP
+#ifndef NDNBOOST_NUMERIC_CONVERSION_DETAIL_UDT_BUILTIN_MIXTURE_FLC_12NOV2002_HPP
+#define NDNBOOST_NUMERIC_CONVERSION_DETAIL_UDT_BUILTIN_MIXTURE_FLC_12NOV2002_HPP
 
 #include "ndnboost/type_traits/is_arithmetic.hpp"
 
diff --git a/include/ndnboost/numeric/conversion/int_float_mixture_enum.hpp b/include/ndnboost/numeric/conversion/int_float_mixture_enum.hpp
index a733404..165cc55 100644
--- a/include/ndnboost/numeric/conversion/int_float_mixture_enum.hpp
+++ b/include/ndnboost/numeric/conversion/int_float_mixture_enum.hpp
@@ -7,8 +7,8 @@
 //
 // Contact the author at: fernando_cacciola@hotmail.com
 // 
-#ifndef BOOST_NUMERIC_CONVERSION_INT_FLOAT_MIXTURE_ENUM_FLC_12NOV2002_HPP
-#define BOOST_NUMERIC_CONVERSION_INT_FLOAT_MIXTURE_ENUM_FLC_12NOV2002_HPP
+#ifndef NDNBOOST_NUMERIC_CONVERSION_INT_FLOAT_MIXTURE_ENUM_FLC_12NOV2002_HPP
+#define NDNBOOST_NUMERIC_CONVERSION_INT_FLOAT_MIXTURE_ENUM_FLC_12NOV2002_HPP
 
 namespace ndnboost { namespace numeric
 {
diff --git a/include/ndnboost/numeric/conversion/numeric_cast_traits.hpp b/include/ndnboost/numeric/conversion/numeric_cast_traits.hpp
index d482bfd..c49364b 100644
--- a/include/ndnboost/numeric/conversion/numeric_cast_traits.hpp
+++ b/include/ndnboost/numeric/conversion/numeric_cast_traits.hpp
@@ -6,8 +6,8 @@
 //  accompanying file LICENSE_1_0.txt or copy at
 //  http://www.boost.org/LICENSE_1_0.txt)
 //
-#ifndef BOOST_NUMERIC_CAST_TRAITS_HPP
-#define BOOST_NUMERIC_CAST_TRAITS_HPP
+#ifndef NDNBOOST_NUMERIC_CAST_TRAITS_HPP
+#define NDNBOOST_NUMERIC_CAST_TRAITS_HPP
 
 #include <ndnboost/numeric/conversion/converter_policies.hpp>
 
@@ -23,9 +23,9 @@
 
 }}//namespace ndnboost::numeric;
 
-#if !defined( BOOST_NUMERIC_CONVERSION_RELAX_BUILT_IN_CAST_TRAITS )
+#if !defined( NDNBOOST_NUMERIC_CONVERSION_RELAX_BUILT_IN_CAST_TRAITS )
 #include <ndnboost/cstdint.hpp>
 #include <ndnboost/numeric/conversion/detail/numeric_cast_traits.hpp>
-#endif//!defined BOOST_NUMERIC_CONVERSION_RELAX_BUILT_IN_CAST_TRAITS
+#endif//!defined NDNBOOST_NUMERIC_CONVERSION_RELAX_BUILT_IN_CAST_TRAITS
 
-#endif//BOOST_NUMERIC_CAST_TRAITS_HPP
+#endif//NDNBOOST_NUMERIC_CAST_TRAITS_HPP
diff --git a/include/ndnboost/numeric/conversion/sign_mixture_enum.hpp b/include/ndnboost/numeric/conversion/sign_mixture_enum.hpp
index cfb7151..bd41df2 100644
--- a/include/ndnboost/numeric/conversion/sign_mixture_enum.hpp
+++ b/include/ndnboost/numeric/conversion/sign_mixture_enum.hpp
@@ -7,8 +7,8 @@
 //
 // Contact the author at: fernando_cacciola@hotmail.com
 // 
-#ifndef BOOST_NUMERIC_CONVERSION_SIGN_MIXTURE_ENUM_FLC_12NOV2002_HPP
-#define BOOST_NUMERIC_CONVERSION_SIGN_MIXTURE_ENUM_FLC_12NOV2002_HPP
+#ifndef NDNBOOST_NUMERIC_CONVERSION_SIGN_MIXTURE_ENUM_FLC_12NOV2002_HPP
+#define NDNBOOST_NUMERIC_CONVERSION_SIGN_MIXTURE_ENUM_FLC_12NOV2002_HPP
 
 namespace ndnboost { namespace numeric
 {
diff --git a/include/ndnboost/numeric/conversion/udt_builtin_mixture_enum.hpp b/include/ndnboost/numeric/conversion/udt_builtin_mixture_enum.hpp
index 6e5bf5d..7ba441c 100644
--- a/include/ndnboost/numeric/conversion/udt_builtin_mixture_enum.hpp
+++ b/include/ndnboost/numeric/conversion/udt_builtin_mixture_enum.hpp
@@ -7,8 +7,8 @@
 //
 // Contact the author at: fernando_cacciola@hotmail.com
 // 
-#ifndef BOOST_NUMERIC_CONVERSION_UDT_BUILTIN_MIXTURE_ENUM_FLC_12NOV2002_HPP
-#define BOOST_NUMERIC_CONVERSION_UDT_BUILTIN_MIXTURE_ENUM_FLC_12NOV2002_HPP
+#ifndef NDNBOOST_NUMERIC_CONVERSION_UDT_BUILTIN_MIXTURE_ENUM_FLC_12NOV2002_HPP
+#define NDNBOOST_NUMERIC_CONVERSION_UDT_BUILTIN_MIXTURE_ENUM_FLC_12NOV2002_HPP
 
 namespace ndnboost { namespace numeric
 {
diff --git a/include/ndnboost/optional.hpp b/include/ndnboost/optional.hpp
index 0eeecbe..ef92639 100644
--- a/include/ndnboost/optional.hpp
+++ b/include/ndnboost/optional.hpp
@@ -9,8 +9,8 @@
 // You are welcome to contact the author at:
 //  fernando_cacciola@hotmail.com
 //
-#ifndef BOOST_OPTIONAL_FLC_19NOV2002_HPP
-#define BOOST_OPTIONAL_FLC_19NOV2002_HPP
+#ifndef NDNBOOST_OPTIONAL_FLC_19NOV2002_HPP
+#define NDNBOOST_OPTIONAL_FLC_19NOV2002_HPP
 
 #include "ndnboost/optional/optional.hpp"
 
diff --git a/include/ndnboost/optional/optional.hpp b/include/ndnboost/optional/optional.hpp
index 19dc46b..7a3db17 100644
--- a/include/ndnboost/optional/optional.hpp
+++ b/include/ndnboost/optional/optional.hpp
@@ -12,8 +12,8 @@
 // Revisions:
 // 27 Apr 2008 (improved swap) Fernando Cacciola, Niels Dekker, Thorsten Ottosen
 //
-#ifndef BOOST_OPTIONAL_OPTIONAL_FLC_19NOV2002_HPP
-#define BOOST_OPTIONAL_OPTIONAL_FLC_19NOV2002_HPP
+#ifndef NDNBOOST_OPTIONAL_OPTIONAL_FLC_19NOV2002_HPP
+#define NDNBOOST_OPTIONAL_OPTIONAL_FLC_19NOV2002_HPP
 
 #include <new>
 #include <algorithm>
@@ -38,7 +38,7 @@
 
 #include <ndnboost/optional/optional_fwd.hpp>
 
-#if BOOST_WORKAROUND(BOOST_MSVC, == 1200)
+#if NDNBOOST_WORKAROUND(NDNBOOST_MSVC, == 1200)
 // VC6.0 has the following bug:
 //   When a templated assignment operator exist, an implicit conversion
 //   constructing an optional<T> is used when assigment of the form:
@@ -47,40 +47,40 @@
 //   However, optional's ctor is _explicit_ and the assignemt shouldn't compile.
 //   Therefore, for VC6.0 templated assignment is disabled.
 //
-#define BOOST_OPTIONAL_NO_CONVERTING_ASSIGNMENT
+#define NDNBOOST_OPTIONAL_NO_CONVERTING_ASSIGNMENT
 #endif
 
-#if BOOST_WORKAROUND(BOOST_MSVC, == 1300)
+#if NDNBOOST_WORKAROUND(NDNBOOST_MSVC, == 1300)
 // VC7.0 has the following bug:
 //   When both a non-template and a template copy-ctor exist
 //   and the templated version is made 'explicit', the explicit is also
 //   given to the non-templated version, making the class non-implicitely-copyable.
 //
-#define BOOST_OPTIONAL_NO_CONVERTING_COPY_CTOR
+#define NDNBOOST_OPTIONAL_NO_CONVERTING_COPY_CTOR
 #endif
 
-#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) || BOOST_WORKAROUND(BOOST_INTEL_CXX_VERSION,<=700)
+#if NDNBOOST_WORKAROUND(NDNBOOST_MSVC, <= 1300) || NDNBOOST_WORKAROUND(NDNBOOST_INTEL_CXX_VERSION,<=700)
 // AFAICT only VC7.1 correctly resolves the overload set
 // that includes the in-place factory taking functions,
 // so for the other VC versions, in-place factory support
 // is disabled
-#define BOOST_OPTIONAL_NO_INPLACE_FACTORY_SUPPORT
+#define NDNBOOST_OPTIONAL_NO_INPLACE_FACTORY_SUPPORT
 #endif
 
-#if BOOST_WORKAROUND(__BORLANDC__, <= 0x551)
+#if NDNBOOST_WORKAROUND(__BORLANDC__, <= 0x551)
 // BCB (5.5.1) cannot parse the nested template struct in an inplace factory.
-#define BOOST_OPTIONAL_NO_INPLACE_FACTORY_SUPPORT
+#define NDNBOOST_OPTIONAL_NO_INPLACE_FACTORY_SUPPORT
 #endif
 
-#if !defined(BOOST_OPTIONAL_NO_INPLACE_FACTORY_SUPPORT) \
-    && BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x581) )
+#if !defined(NDNBOOST_OPTIONAL_NO_INPLACE_FACTORY_SUPPORT) \
+    && NDNBOOST_WORKAROUND(__BORLANDC__, NDNBOOST_TESTED_AT(0x581) )
 // BCB (up to 5.64) has the following bug:
 //   If there is a member function/operator template of the form
 //     template<class Expr> mfunc( Expr expr ) ;
 //   some calls are resolved to this even if there are other better matches.
 //   The effect of this bug is that calls to converting ctors and assignments
 //   are incrorrectly sink to this general catch-all member function template as shown above.
-#define BOOST_OPTIONAL_WEAK_OVERLOAD_RESOLUTION
+#define NDNBOOST_OPTIONAL_WEAK_OVERLOAD_RESOLUTION
 #endif
 
 #if defined(__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__) > 302 \
@@ -89,7 +89,7 @@
 // regard to violation of the strict aliasing rules. The optional< T > storage type is marked
 // with this attribute in order to let the compiler know that it will alias objects of type T
 // and silence compilation warnings.
-#define BOOST_OPTIONAL_DETAIL_USE_ATTRIBUTE_MAY_ALIAS
+#define NDNBOOST_OPTIONAL_DETAIL_USE_ATTRIBUTE_MAY_ALIAS
 #endif
 
 // Daniel Wallin discovered that bind/apply.hpp badly interacts with the apply<>
@@ -101,7 +101,7 @@
   template <class T, class Factory>
   inline void construct(Factory const& factory, void* address)
   {
-    factory.BOOST_NESTED_TEMPLATE apply<T>(address);
+    factory.NDNBOOST_NESTED_TEMPLATE apply<T>(address);
   }
 }
 
@@ -126,19 +126,19 @@
     // Borland ICEs if unnamed unions are used for this!
     union
     // This works around GCC warnings about breaking strict aliasing rules when casting storage address to T*
-#if defined(BOOST_OPTIONAL_DETAIL_USE_ATTRIBUTE_MAY_ALIAS)
+#if defined(NDNBOOST_OPTIONAL_DETAIL_USE_ATTRIBUTE_MAY_ALIAS)
     __attribute__((may_alias))
 #endif
     dummy_u
     {
         char data[ sizeof(T) ];
-        BOOST_DEDUCED_TYPENAME type_with_alignment<
+        NDNBOOST_DEDUCED_TYPENAME type_with_alignment<
           ::ndnboost::alignment_of<T>::value >::type aligner_;
     } dummy_ ;
 
   public:
 
-#if defined(BOOST_OPTIONAL_DETAIL_USE_ATTRIBUTE_MAY_ALIAS)
+#if defined(NDNBOOST_OPTIONAL_DETAIL_USE_ATTRIBUTE_MAY_ALIAS)
     void const* address() const { return &dummy_; }
     void      * address()       { return &dummy_; }
 #else
@@ -159,7 +159,7 @@
 template<class T>
 struct types_when_is_ref
 {
-  typedef BOOST_DEDUCED_TYPENAME remove_reference<T>::type raw_type ;
+  typedef NDNBOOST_DEDUCED_TYPENAME remove_reference<T>::type raw_type ;
 
   typedef raw_type& reference_const_type ;
   typedef raw_type& reference_type ;
@@ -176,8 +176,8 @@
   private :
 
     typedef
-#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
-    BOOST_DEDUCED_TYPENAME
+#if !NDNBOOST_WORKAROUND(__BORLANDC__, NDNBOOST_TESTED_AT(0x564))
+    NDNBOOST_DEDUCED_TYPENAME
 #endif
     ::ndnboost::detail::make_reference_content<T>::type internal_type ;
 
@@ -195,19 +195,19 @@
     typedef mpl::true_  is_reference_tag ;
     typedef mpl::false_ is_not_reference_tag ;
 
-    typedef BOOST_DEDUCED_TYPENAME is_reference<T>::type is_reference_predicate ;
+    typedef NDNBOOST_DEDUCED_TYPENAME is_reference<T>::type is_reference_predicate ;
 
   public:
-    typedef BOOST_DEDUCED_TYPENAME mpl::if_<is_reference_predicate,types_when_ref,types_when_not_ref>::type types ;
+    typedef NDNBOOST_DEDUCED_TYPENAME mpl::if_<is_reference_predicate,types_when_ref,types_when_not_ref>::type types ;
 
   protected:
     typedef bool (this_type::*unspecified_bool_type)() const;
 
-    typedef BOOST_DEDUCED_TYPENAME types::reference_type       reference_type ;
-    typedef BOOST_DEDUCED_TYPENAME types::reference_const_type reference_const_type ;
-    typedef BOOST_DEDUCED_TYPENAME types::pointer_type         pointer_type ;
-    typedef BOOST_DEDUCED_TYPENAME types::pointer_const_type   pointer_const_type ;
-    typedef BOOST_DEDUCED_TYPENAME types::argument_type        argument_type ;
+    typedef NDNBOOST_DEDUCED_TYPENAME types::reference_type       reference_type ;
+    typedef NDNBOOST_DEDUCED_TYPENAME types::reference_const_type reference_const_type ;
+    typedef NDNBOOST_DEDUCED_TYPENAME types::pointer_type         pointer_type ;
+    typedef NDNBOOST_DEDUCED_TYPENAME types::pointer_const_type   pointer_const_type ;
+    typedef NDNBOOST_DEDUCED_TYPENAME types::argument_type        argument_type ;
 
     // Creates an optional<T> uninitialized.
     // No-throw
@@ -312,7 +312,7 @@
     // No-throw (assuming T::~T() doesn't)
     void assign ( none_t ) { destroy(); }
 
-#ifndef BOOST_OPTIONAL_NO_INPLACE_FACTORY_SUPPORT
+#ifndef NDNBOOST_OPTIONAL_NO_INPLACE_FACTORY_SUPPORT
     template<class Expr>
     void assign_expr ( Expr const& expr, Expr const* tag )
       {
@@ -347,12 +347,12 @@
        m_initialized = true ;
      }
 
-#ifndef BOOST_OPTIONAL_NO_INPLACE_FACTORY_SUPPORT
+#ifndef NDNBOOST_OPTIONAL_NO_INPLACE_FACTORY_SUPPORT
     // Constructs in-place using the given factory
     template<class Expr>
     void construct ( Expr const& factory, in_place_factory_base const* )
      {
-       BOOST_STATIC_ASSERT ( ::ndnboost::mpl::not_<is_reference_predicate>::value ) ;
+       NDNBOOST_STATIC_ASSERT ( ::ndnboost::mpl::not_<is_reference_predicate>::value ) ;
        ndnboost_optional_detail::construct<value_type>(factory, m_storage.address());
        m_initialized = true ;
      }
@@ -361,7 +361,7 @@
     template<class Expr>
     void construct ( Expr const& factory, typed_in_place_factory_base const* )
      {
-       BOOST_STATIC_ASSERT ( ::ndnboost::mpl::not_<is_reference_predicate>::value ) ;
+       NDNBOOST_STATIC_ASSERT ( ::ndnboost::mpl::not_<is_reference_predicate>::value ) ;
        factory.apply(m_storage.address()) ;
        m_initialized = true ;
      }
@@ -403,7 +403,7 @@
        assign_value(expr, is_reference_predicate());
      }
 
-#ifdef BOOST_OPTIONAL_WEAK_OVERLOAD_RESOLUTION
+#ifdef NDNBOOST_OPTIONAL_WEAK_OVERLOAD_RESOLUTION
     // BCB5.64 (and probably lower versions) workaround.
     //   The in-place factories are supported by means of catch-all constructors
     //   and assignment operators (the functions are parameterized in terms of
@@ -450,7 +450,7 @@
   private :
 
     // internal_type can be either T or reference_content<T>
-#if defined(BOOST_OPTIONAL_DETAIL_USE_ATTRIBUTE_MAY_ALIAS)
+#if defined(NDNBOOST_OPTIONAL_DETAIL_USE_ATTRIBUTE_MAY_ALIAS)
     // This workaround is supposed to silence GCC warnings about broken strict aliasing rules
     internal_type const* get_object() const
     {
@@ -473,7 +473,7 @@
     reference_const_type dereference( internal_type const* p, is_reference_tag     ) const { return p->get() ; }
     reference_type       dereference( internal_type*       p, is_reference_tag     )       { return p->get() ; }
 
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x581))
+#if NDNBOOST_WORKAROUND(__BORLANDC__, NDNBOOST_TESTED_AT(0x581))
     void destroy_impl ( is_not_reference_tag ) { get_ptr_impl()->internal_type::~internal_type() ; m_initialized = false ; }
 #else
     void destroy_impl ( is_not_reference_tag ) { get_ptr_impl()->T::~T() ; m_initialized = false ; }
@@ -500,18 +500,18 @@
 {
     typedef optional_detail::optional_base<T> base ;
 
-    typedef BOOST_DEDUCED_TYPENAME base::unspecified_bool_type  unspecified_bool_type ;
+    typedef NDNBOOST_DEDUCED_TYPENAME base::unspecified_bool_type  unspecified_bool_type ;
 
   public :
 
     typedef optional<T> this_type ;
 
-    typedef BOOST_DEDUCED_TYPENAME base::value_type           value_type ;
-    typedef BOOST_DEDUCED_TYPENAME base::reference_type       reference_type ;
-    typedef BOOST_DEDUCED_TYPENAME base::reference_const_type reference_const_type ;
-    typedef BOOST_DEDUCED_TYPENAME base::pointer_type         pointer_type ;
-    typedef BOOST_DEDUCED_TYPENAME base::pointer_const_type   pointer_const_type ;
-    typedef BOOST_DEDUCED_TYPENAME base::argument_type        argument_type ;
+    typedef NDNBOOST_DEDUCED_TYPENAME base::value_type           value_type ;
+    typedef NDNBOOST_DEDUCED_TYPENAME base::reference_type       reference_type ;
+    typedef NDNBOOST_DEDUCED_TYPENAME base::reference_const_type reference_const_type ;
+    typedef NDNBOOST_DEDUCED_TYPENAME base::pointer_type         pointer_type ;
+    typedef NDNBOOST_DEDUCED_TYPENAME base::pointer_const_type   pointer_const_type ;
+    typedef NDNBOOST_DEDUCED_TYPENAME base::argument_type        argument_type ;
 
     // Creates an optional<T> uninitialized.
     // No-throw
@@ -529,7 +529,7 @@
     // Can throw if T::T(T const&) does
     optional ( bool cond, argument_type val ) : base(cond,val) {}
 
-#ifndef BOOST_OPTIONAL_NO_CONVERTING_COPY_CTOR
+#ifndef NDNBOOST_OPTIONAL_NO_CONVERTING_COPY_CTOR
     // NOTE: MSVC needs templated versions first
 
     // Creates a deep copy of another convertible optional<U>
@@ -545,7 +545,7 @@
     }
 #endif
 
-#ifndef BOOST_OPTIONAL_NO_INPLACE_FACTORY_SUPPORT
+#ifndef NDNBOOST_OPTIONAL_NO_INPLACE_FACTORY_SUPPORT
     // Creates an optional<T> with an expression which can be either
     //  (a) An instance of InPlaceFactory (i.e. in_place(a,b,...,n);
     //  (b) An instance of TypedInPlaceFactory ( i.e. in_place<T>(a,b,...,n);
@@ -566,7 +566,7 @@
    // No-throw (assuming T::~T() doesn't)
     ~optional() {}
 
-#if !defined(BOOST_OPTIONAL_NO_INPLACE_FACTORY_SUPPORT) && !defined(BOOST_OPTIONAL_WEAK_OVERLOAD_RESOLUTION)
+#if !defined(NDNBOOST_OPTIONAL_NO_INPLACE_FACTORY_SUPPORT) && !defined(NDNBOOST_OPTIONAL_WEAK_OVERLOAD_RESOLUTION)
     // Assigns from an expression. See corresponding constructor.
     // Basic Guarantee: If the resolved T ctor throws, this is left UNINITIALIZED
     template<class Expr>
@@ -578,7 +578,7 @@
 #endif
 
 
-#ifndef BOOST_OPTIONAL_NO_CONVERTING_ASSIGNMENT
+#ifndef NDNBOOST_OPTIONAL_NO_CONVERTING_ASSIGNMENT
     // Assigns from another convertible optional<U> (converts && deep-copies the rhs value)
     // Requires a valid conversion from U to T.
     // Basic Guarantee: If T::T( U const& ) throws, this is left UNINITIALIZED
@@ -627,8 +627,8 @@
     // Returns a reference to the value if this is initialized, otherwise,
     // the behaviour is UNDEFINED
     // No-throw
-    reference_const_type get() const { BOOST_ASSERT(this->is_initialized()) ; return this->get_impl(); }
-    reference_type       get()       { BOOST_ASSERT(this->is_initialized()) ; return this->get_impl(); }
+    reference_const_type get() const { NDNBOOST_ASSERT(this->is_initialized()) ; return this->get_impl(); }
+    reference_type       get()       { NDNBOOST_ASSERT(this->is_initialized()) ; return this->get_impl(); }
 
     // Returns a copy of the value if this is initialized, 'v' otherwise
     reference_const_type get_value_or ( reference_const_type v ) const { return this->is_initialized() ? get() : v ; }
@@ -637,8 +637,8 @@
     // Returns a pointer to the value if this is initialized, otherwise,
     // the behaviour is UNDEFINED
     // No-throw
-    pointer_const_type operator->() const { BOOST_ASSERT(this->is_initialized()) ; return this->get_ptr_impl() ; }
-    pointer_type       operator->()       { BOOST_ASSERT(this->is_initialized()) ; return this->get_ptr_impl() ; }
+    pointer_const_type operator->() const { NDNBOOST_ASSERT(this->is_initialized()) ; return this->get_ptr_impl() ; }
+    pointer_type       operator->()       { NDNBOOST_ASSERT(this->is_initialized()) ; return this->get_ptr_impl() ; }
 
     // Returns a reference to the value if this is initialized, otherwise,
     // the behaviour is UNDEFINED
@@ -675,7 +675,7 @@
 // No-throw
 template<class T>
 inline
-BOOST_DEDUCED_TYPENAME optional<T>::reference_const_type
+NDNBOOST_DEDUCED_TYPENAME optional<T>::reference_const_type
 get ( optional<T> const& opt )
 {
   return opt.get() ;
@@ -683,7 +683,7 @@
 
 template<class T>
 inline
-BOOST_DEDUCED_TYPENAME optional<T>::reference_type
+NDNBOOST_DEDUCED_TYPENAME optional<T>::reference_type
 get ( optional<T>& opt )
 {
   return opt.get() ;
@@ -693,7 +693,7 @@
 // No-throw
 template<class T>
 inline
-BOOST_DEDUCED_TYPENAME optional<T>::pointer_const_type
+NDNBOOST_DEDUCED_TYPENAME optional<T>::pointer_const_type
 get ( optional<T> const* opt )
 {
   return opt->get_ptr() ;
@@ -701,7 +701,7 @@
 
 template<class T>
 inline
-BOOST_DEDUCED_TYPENAME optional<T>::pointer_type
+NDNBOOST_DEDUCED_TYPENAME optional<T>::pointer_type
 get ( optional<T>* opt )
 {
   return opt->get_ptr() ;
@@ -711,16 +711,16 @@
 // No-throw
 template<class T>
 inline
-BOOST_DEDUCED_TYPENAME optional<T>::reference_const_type
-get_optional_value_or ( optional<T> const& opt, BOOST_DEDUCED_TYPENAME optional<T>::reference_const_type v )
+NDNBOOST_DEDUCED_TYPENAME optional<T>::reference_const_type
+get_optional_value_or ( optional<T> const& opt, NDNBOOST_DEDUCED_TYPENAME optional<T>::reference_const_type v )
 {
   return opt.get_value_or(v) ;
 }
 
 template<class T>
 inline
-BOOST_DEDUCED_TYPENAME optional<T>::reference_type
-get_optional_value_or ( optional<T>& opt, BOOST_DEDUCED_TYPENAME optional<T>::reference_type v )
+NDNBOOST_DEDUCED_TYPENAME optional<T>::reference_type
+get_optional_value_or ( optional<T>& opt, NDNBOOST_DEDUCED_TYPENAME optional<T>::reference_type v )
 {
   return opt.get_value_or(v) ;
 }
@@ -729,7 +729,7 @@
 // No-throw
 template<class T>
 inline
-BOOST_DEDUCED_TYPENAME optional<T>::pointer_const_type
+NDNBOOST_DEDUCED_TYPENAME optional<T>::pointer_const_type
 get_pointer ( optional<T> const& opt )
 {
   return opt.get_ptr() ;
@@ -737,7 +737,7 @@
 
 template<class T>
 inline
-BOOST_DEDUCED_TYPENAME optional<T>::pointer_type
+NDNBOOST_DEDUCED_TYPENAME optional<T>::pointer_type
 get_pointer ( optional<T>& opt )
 {
   return opt.get_ptr() ;
diff --git a/include/ndnboost/optional/optional_fwd.hpp b/include/ndnboost/optional/optional_fwd.hpp
index 70fd54b..d5497a2 100644
--- a/include/ndnboost/optional/optional_fwd.hpp
+++ b/include/ndnboost/optional/optional_fwd.hpp
@@ -12,8 +12,8 @@
 // Revisions:
 // 10 May 2008 (added swap related forward declaration) Niels Dekker
 // 
-#ifndef BOOST_OPTIONAL_OPTIONAL_FWD_FLC_19NOV2002_HPP
-#define BOOST_OPTIONAL_OPTIONAL_FWD_FLC_19NOV2002_HPP
+#ifndef NDNBOOST_OPTIONAL_OPTIONAL_FWD_FLC_19NOV2002_HPP
+#define NDNBOOST_OPTIONAL_OPTIONAL_FWD_FLC_19NOV2002_HPP
 
 namespace ndnboost {
 
diff --git a/include/ndnboost/pointee.hpp b/include/ndnboost/pointee.hpp
index f5d1cd8..dd0a3b6 100644
--- a/include/ndnboost/pointee.hpp
+++ b/include/ndnboost/pointee.hpp
@@ -45,10 +45,10 @@
           static Iterator& x;
       };
       
-      BOOST_STATIC_CONSTANT(bool, is_constant = sizeof(impl::test(*impl::x)) == 1);
+      NDNBOOST_STATIC_CONSTANT(bool, is_constant = sizeof(impl::test(*impl::x)) == 1);
       
       typedef typename mpl::if_c<
-#  if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x551))
+#  if NDNBOOST_WORKAROUND(__BORLANDC__, NDNBOOST_TESTED_AT(0x551))
           ::ndnboost::detail::iterator_pointee<Iterator>::is_constant
 #  else
           is_constant
diff --git a/include/ndnboost/pointer_to_other.hpp b/include/ndnboost/pointer_to_other.hpp
index 8d7cd9c..ec6d610 100644
--- a/include/ndnboost/pointer_to_other.hpp
+++ b/include/ndnboost/pointer_to_other.hpp
@@ -1,5 +1,5 @@
-#ifndef BOOST_POINTER_TO_OTHER_HPP_INCLUDED
-#define BOOST_POINTER_TO_OTHER_HPP_INCLUDED
+#ifndef NDNBOOST_POINTER_TO_OTHER_HPP_INCLUDED
+#define NDNBOOST_POINTER_TO_OTHER_HPP_INCLUDED
 
 //
 //  pointer_to_other.hpp
@@ -52,4 +52,4 @@
 
 } // namespace ndnboost
 
-#endif // #ifndef BOOST_POINTER_TO_OTHER_HPP_INCLUDED
+#endif // #ifndef NDNBOOST_POINTER_TO_OTHER_HPP_INCLUDED
diff --git a/include/ndnboost/preprocessor/arithmetic/add.hpp b/include/ndnboost/preprocessor/arithmetic/add.hpp
index c88e661..474c0fb 100644
--- a/include/ndnboost/preprocessor/arithmetic/add.hpp
+++ b/include/ndnboost/preprocessor/arithmetic/add.hpp
@@ -11,8 +11,8 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_ARITHMETIC_ADD_HPP
-# define BOOST_PREPROCESSOR_ARITHMETIC_ADD_HPP
+# ifndef NDNBOOST_PREPROCESSOR_ARITHMETIC_ADD_HPP
+# define NDNBOOST_PREPROCESSOR_ARITHMETIC_ADD_HPP
 #
 # include <ndnboost/preprocessor/arithmetic/dec.hpp>
 # include <ndnboost/preprocessor/arithmetic/inc.hpp>
@@ -20,32 +20,32 @@
 # include <ndnboost/preprocessor/control/while.hpp>
 # include <ndnboost/preprocessor/tuple/elem.hpp>
 #
-# /* BOOST_PP_ADD */
+# /* NDNBOOST_PP_ADD */
 #
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_ADD(x, y) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE(BOOST_PP_ADD_P, BOOST_PP_ADD_O, (x, y)))
+# if ~NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_EDG()
+#    define NDNBOOST_PP_ADD(x, y) NDNBOOST_PP_TUPLE_ELEM(2, 0, NDNBOOST_PP_WHILE(NDNBOOST_PP_ADD_P, NDNBOOST_PP_ADD_O, (x, y)))
 # else
-#    define BOOST_PP_ADD(x, y) BOOST_PP_ADD_I(x, y)
-#    define BOOST_PP_ADD_I(x, y) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE(BOOST_PP_ADD_P, BOOST_PP_ADD_O, (x, y)))
+#    define NDNBOOST_PP_ADD(x, y) NDNBOOST_PP_ADD_I(x, y)
+#    define NDNBOOST_PP_ADD_I(x, y) NDNBOOST_PP_TUPLE_ELEM(2, 0, NDNBOOST_PP_WHILE(NDNBOOST_PP_ADD_P, NDNBOOST_PP_ADD_O, (x, y)))
 # endif
 #
-# define BOOST_PP_ADD_P(d, xy) BOOST_PP_TUPLE_ELEM(2, 1, xy)
+# define NDNBOOST_PP_ADD_P(d, xy) NDNBOOST_PP_TUPLE_ELEM(2, 1, xy)
 #
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-#    define BOOST_PP_ADD_O(d, xy) BOOST_PP_ADD_O_I xy
+# if ~NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_MWCC()
+#    define NDNBOOST_PP_ADD_O(d, xy) NDNBOOST_PP_ADD_O_I xy
 # else
-#    define BOOST_PP_ADD_O(d, xy) BOOST_PP_ADD_O_I(BOOST_PP_TUPLE_ELEM(2, 0, xy), BOOST_PP_TUPLE_ELEM(2, 1, xy))
+#    define NDNBOOST_PP_ADD_O(d, xy) NDNBOOST_PP_ADD_O_I(NDNBOOST_PP_TUPLE_ELEM(2, 0, xy), NDNBOOST_PP_TUPLE_ELEM(2, 1, xy))
 # endif
 #
-# define BOOST_PP_ADD_O_I(x, y) (BOOST_PP_INC(x), BOOST_PP_DEC(y))
+# define NDNBOOST_PP_ADD_O_I(x, y) (NDNBOOST_PP_INC(x), NDNBOOST_PP_DEC(y))
 #
-# /* BOOST_PP_ADD_D */
+# /* NDNBOOST_PP_ADD_D */
 #
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_ADD_D(d, x, y) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE_ ## d(BOOST_PP_ADD_P, BOOST_PP_ADD_O, (x, y)))
+# if ~NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_EDG()
+#    define NDNBOOST_PP_ADD_D(d, x, y) NDNBOOST_PP_TUPLE_ELEM(2, 0, NDNBOOST_PP_WHILE_ ## d(NDNBOOST_PP_ADD_P, NDNBOOST_PP_ADD_O, (x, y)))
 # else
-#    define BOOST_PP_ADD_D(d, x, y) BOOST_PP_ADD_D_I(d, x, y)
-#    define BOOST_PP_ADD_D_I(d, x, y) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE_ ## d(BOOST_PP_ADD_P, BOOST_PP_ADD_O, (x, y)))
+#    define NDNBOOST_PP_ADD_D(d, x, y) NDNBOOST_PP_ADD_D_I(d, x, y)
+#    define NDNBOOST_PP_ADD_D_I(d, x, y) NDNBOOST_PP_TUPLE_ELEM(2, 0, NDNBOOST_PP_WHILE_ ## d(NDNBOOST_PP_ADD_P, NDNBOOST_PP_ADD_O, (x, y)))
 # endif
 #
 # endif
diff --git a/include/ndnboost/preprocessor/arithmetic/dec.hpp b/include/ndnboost/preprocessor/arithmetic/dec.hpp
index 6913d88..5e20c2d 100644
--- a/include/ndnboost/preprocessor/arithmetic/dec.hpp
+++ b/include/ndnboost/preprocessor/arithmetic/dec.hpp
@@ -11,278 +11,278 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_ARITHMETIC_DEC_HPP
-# define BOOST_PREPROCESSOR_ARITHMETIC_DEC_HPP
+# ifndef NDNBOOST_PREPROCESSOR_ARITHMETIC_DEC_HPP
+# define NDNBOOST_PREPROCESSOR_ARITHMETIC_DEC_HPP
 #
 # include <ndnboost/preprocessor/config/config.hpp>
 #
-# /* BOOST_PP_DEC */
+# /* NDNBOOST_PP_DEC */
 #
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-#    define BOOST_PP_DEC(x) BOOST_PP_DEC_I(x)
+# if ~NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_MWCC()
+#    define NDNBOOST_PP_DEC(x) NDNBOOST_PP_DEC_I(x)
 # else
-#    define BOOST_PP_DEC(x) BOOST_PP_DEC_OO((x))
-#    define BOOST_PP_DEC_OO(par) BOOST_PP_DEC_I ## par
+#    define NDNBOOST_PP_DEC(x) NDNBOOST_PP_DEC_OO((x))
+#    define NDNBOOST_PP_DEC_OO(par) NDNBOOST_PP_DEC_I ## par
 # endif
 #
-# define BOOST_PP_DEC_I(x) BOOST_PP_DEC_ ## x
+# define NDNBOOST_PP_DEC_I(x) NDNBOOST_PP_DEC_ ## x
 #
-# define BOOST_PP_DEC_0 0
-# define BOOST_PP_DEC_1 0
-# define BOOST_PP_DEC_2 1
-# define BOOST_PP_DEC_3 2
-# define BOOST_PP_DEC_4 3
-# define BOOST_PP_DEC_5 4
-# define BOOST_PP_DEC_6 5
-# define BOOST_PP_DEC_7 6
-# define BOOST_PP_DEC_8 7
-# define BOOST_PP_DEC_9 8
-# define BOOST_PP_DEC_10 9
-# define BOOST_PP_DEC_11 10
-# define BOOST_PP_DEC_12 11
-# define BOOST_PP_DEC_13 12
-# define BOOST_PP_DEC_14 13
-# define BOOST_PP_DEC_15 14
-# define BOOST_PP_DEC_16 15
-# define BOOST_PP_DEC_17 16
-# define BOOST_PP_DEC_18 17
-# define BOOST_PP_DEC_19 18
-# define BOOST_PP_DEC_20 19
-# define BOOST_PP_DEC_21 20
-# define BOOST_PP_DEC_22 21
-# define BOOST_PP_DEC_23 22
-# define BOOST_PP_DEC_24 23
-# define BOOST_PP_DEC_25 24
-# define BOOST_PP_DEC_26 25
-# define BOOST_PP_DEC_27 26
-# define BOOST_PP_DEC_28 27
-# define BOOST_PP_DEC_29 28
-# define BOOST_PP_DEC_30 29
-# define BOOST_PP_DEC_31 30
-# define BOOST_PP_DEC_32 31
-# define BOOST_PP_DEC_33 32
-# define BOOST_PP_DEC_34 33
-# define BOOST_PP_DEC_35 34
-# define BOOST_PP_DEC_36 35
-# define BOOST_PP_DEC_37 36
-# define BOOST_PP_DEC_38 37
-# define BOOST_PP_DEC_39 38
-# define BOOST_PP_DEC_40 39
-# define BOOST_PP_DEC_41 40
-# define BOOST_PP_DEC_42 41
-# define BOOST_PP_DEC_43 42
-# define BOOST_PP_DEC_44 43
-# define BOOST_PP_DEC_45 44
-# define BOOST_PP_DEC_46 45
-# define BOOST_PP_DEC_47 46
-# define BOOST_PP_DEC_48 47
-# define BOOST_PP_DEC_49 48
-# define BOOST_PP_DEC_50 49
-# define BOOST_PP_DEC_51 50
-# define BOOST_PP_DEC_52 51
-# define BOOST_PP_DEC_53 52
-# define BOOST_PP_DEC_54 53
-# define BOOST_PP_DEC_55 54
-# define BOOST_PP_DEC_56 55
-# define BOOST_PP_DEC_57 56
-# define BOOST_PP_DEC_58 57
-# define BOOST_PP_DEC_59 58
-# define BOOST_PP_DEC_60 59
-# define BOOST_PP_DEC_61 60
-# define BOOST_PP_DEC_62 61
-# define BOOST_PP_DEC_63 62
-# define BOOST_PP_DEC_64 63
-# define BOOST_PP_DEC_65 64
-# define BOOST_PP_DEC_66 65
-# define BOOST_PP_DEC_67 66
-# define BOOST_PP_DEC_68 67
-# define BOOST_PP_DEC_69 68
-# define BOOST_PP_DEC_70 69
-# define BOOST_PP_DEC_71 70
-# define BOOST_PP_DEC_72 71
-# define BOOST_PP_DEC_73 72
-# define BOOST_PP_DEC_74 73
-# define BOOST_PP_DEC_75 74
-# define BOOST_PP_DEC_76 75
-# define BOOST_PP_DEC_77 76
-# define BOOST_PP_DEC_78 77
-# define BOOST_PP_DEC_79 78
-# define BOOST_PP_DEC_80 79
-# define BOOST_PP_DEC_81 80
-# define BOOST_PP_DEC_82 81
-# define BOOST_PP_DEC_83 82
-# define BOOST_PP_DEC_84 83
-# define BOOST_PP_DEC_85 84
-# define BOOST_PP_DEC_86 85
-# define BOOST_PP_DEC_87 86
-# define BOOST_PP_DEC_88 87
-# define BOOST_PP_DEC_89 88
-# define BOOST_PP_DEC_90 89
-# define BOOST_PP_DEC_91 90
-# define BOOST_PP_DEC_92 91
-# define BOOST_PP_DEC_93 92
-# define BOOST_PP_DEC_94 93
-# define BOOST_PP_DEC_95 94
-# define BOOST_PP_DEC_96 95
-# define BOOST_PP_DEC_97 96
-# define BOOST_PP_DEC_98 97
-# define BOOST_PP_DEC_99 98
-# define BOOST_PP_DEC_100 99
-# define BOOST_PP_DEC_101 100
-# define BOOST_PP_DEC_102 101
-# define BOOST_PP_DEC_103 102
-# define BOOST_PP_DEC_104 103
-# define BOOST_PP_DEC_105 104
-# define BOOST_PP_DEC_106 105
-# define BOOST_PP_DEC_107 106
-# define BOOST_PP_DEC_108 107
-# define BOOST_PP_DEC_109 108
-# define BOOST_PP_DEC_110 109
-# define BOOST_PP_DEC_111 110
-# define BOOST_PP_DEC_112 111
-# define BOOST_PP_DEC_113 112
-# define BOOST_PP_DEC_114 113
-# define BOOST_PP_DEC_115 114
-# define BOOST_PP_DEC_116 115
-# define BOOST_PP_DEC_117 116
-# define BOOST_PP_DEC_118 117
-# define BOOST_PP_DEC_119 118
-# define BOOST_PP_DEC_120 119
-# define BOOST_PP_DEC_121 120
-# define BOOST_PP_DEC_122 121
-# define BOOST_PP_DEC_123 122
-# define BOOST_PP_DEC_124 123
-# define BOOST_PP_DEC_125 124
-# define BOOST_PP_DEC_126 125
-# define BOOST_PP_DEC_127 126
-# define BOOST_PP_DEC_128 127
-# define BOOST_PP_DEC_129 128
-# define BOOST_PP_DEC_130 129
-# define BOOST_PP_DEC_131 130
-# define BOOST_PP_DEC_132 131
-# define BOOST_PP_DEC_133 132
-# define BOOST_PP_DEC_134 133
-# define BOOST_PP_DEC_135 134
-# define BOOST_PP_DEC_136 135
-# define BOOST_PP_DEC_137 136
-# define BOOST_PP_DEC_138 137
-# define BOOST_PP_DEC_139 138
-# define BOOST_PP_DEC_140 139
-# define BOOST_PP_DEC_141 140
-# define BOOST_PP_DEC_142 141
-# define BOOST_PP_DEC_143 142
-# define BOOST_PP_DEC_144 143
-# define BOOST_PP_DEC_145 144
-# define BOOST_PP_DEC_146 145
-# define BOOST_PP_DEC_147 146
-# define BOOST_PP_DEC_148 147
-# define BOOST_PP_DEC_149 148
-# define BOOST_PP_DEC_150 149
-# define BOOST_PP_DEC_151 150
-# define BOOST_PP_DEC_152 151
-# define BOOST_PP_DEC_153 152
-# define BOOST_PP_DEC_154 153
-# define BOOST_PP_DEC_155 154
-# define BOOST_PP_DEC_156 155
-# define BOOST_PP_DEC_157 156
-# define BOOST_PP_DEC_158 157
-# define BOOST_PP_DEC_159 158
-# define BOOST_PP_DEC_160 159
-# define BOOST_PP_DEC_161 160
-# define BOOST_PP_DEC_162 161
-# define BOOST_PP_DEC_163 162
-# define BOOST_PP_DEC_164 163
-# define BOOST_PP_DEC_165 164
-# define BOOST_PP_DEC_166 165
-# define BOOST_PP_DEC_167 166
-# define BOOST_PP_DEC_168 167
-# define BOOST_PP_DEC_169 168
-# define BOOST_PP_DEC_170 169
-# define BOOST_PP_DEC_171 170
-# define BOOST_PP_DEC_172 171
-# define BOOST_PP_DEC_173 172
-# define BOOST_PP_DEC_174 173
-# define BOOST_PP_DEC_175 174
-# define BOOST_PP_DEC_176 175
-# define BOOST_PP_DEC_177 176
-# define BOOST_PP_DEC_178 177
-# define BOOST_PP_DEC_179 178
-# define BOOST_PP_DEC_180 179
-# define BOOST_PP_DEC_181 180
-# define BOOST_PP_DEC_182 181
-# define BOOST_PP_DEC_183 182
-# define BOOST_PP_DEC_184 183
-# define BOOST_PP_DEC_185 184
-# define BOOST_PP_DEC_186 185
-# define BOOST_PP_DEC_187 186
-# define BOOST_PP_DEC_188 187
-# define BOOST_PP_DEC_189 188
-# define BOOST_PP_DEC_190 189
-# define BOOST_PP_DEC_191 190
-# define BOOST_PP_DEC_192 191
-# define BOOST_PP_DEC_193 192
-# define BOOST_PP_DEC_194 193
-# define BOOST_PP_DEC_195 194
-# define BOOST_PP_DEC_196 195
-# define BOOST_PP_DEC_197 196
-# define BOOST_PP_DEC_198 197
-# define BOOST_PP_DEC_199 198
-# define BOOST_PP_DEC_200 199
-# define BOOST_PP_DEC_201 200
-# define BOOST_PP_DEC_202 201
-# define BOOST_PP_DEC_203 202
-# define BOOST_PP_DEC_204 203
-# define BOOST_PP_DEC_205 204
-# define BOOST_PP_DEC_206 205
-# define BOOST_PP_DEC_207 206
-# define BOOST_PP_DEC_208 207
-# define BOOST_PP_DEC_209 208
-# define BOOST_PP_DEC_210 209
-# define BOOST_PP_DEC_211 210
-# define BOOST_PP_DEC_212 211
-# define BOOST_PP_DEC_213 212
-# define BOOST_PP_DEC_214 213
-# define BOOST_PP_DEC_215 214
-# define BOOST_PP_DEC_216 215
-# define BOOST_PP_DEC_217 216
-# define BOOST_PP_DEC_218 217
-# define BOOST_PP_DEC_219 218
-# define BOOST_PP_DEC_220 219
-# define BOOST_PP_DEC_221 220
-# define BOOST_PP_DEC_222 221
-# define BOOST_PP_DEC_223 222
-# define BOOST_PP_DEC_224 223
-# define BOOST_PP_DEC_225 224
-# define BOOST_PP_DEC_226 225
-# define BOOST_PP_DEC_227 226
-# define BOOST_PP_DEC_228 227
-# define BOOST_PP_DEC_229 228
-# define BOOST_PP_DEC_230 229
-# define BOOST_PP_DEC_231 230
-# define BOOST_PP_DEC_232 231
-# define BOOST_PP_DEC_233 232
-# define BOOST_PP_DEC_234 233
-# define BOOST_PP_DEC_235 234
-# define BOOST_PP_DEC_236 235
-# define BOOST_PP_DEC_237 236
-# define BOOST_PP_DEC_238 237
-# define BOOST_PP_DEC_239 238
-# define BOOST_PP_DEC_240 239
-# define BOOST_PP_DEC_241 240
-# define BOOST_PP_DEC_242 241
-# define BOOST_PP_DEC_243 242
-# define BOOST_PP_DEC_244 243
-# define BOOST_PP_DEC_245 244
-# define BOOST_PP_DEC_246 245
-# define BOOST_PP_DEC_247 246
-# define BOOST_PP_DEC_248 247
-# define BOOST_PP_DEC_249 248
-# define BOOST_PP_DEC_250 249
-# define BOOST_PP_DEC_251 250
-# define BOOST_PP_DEC_252 251
-# define BOOST_PP_DEC_253 252
-# define BOOST_PP_DEC_254 253
-# define BOOST_PP_DEC_255 254
-# define BOOST_PP_DEC_256 255
+# define NDNBOOST_PP_DEC_0 0
+# define NDNBOOST_PP_DEC_1 0
+# define NDNBOOST_PP_DEC_2 1
+# define NDNBOOST_PP_DEC_3 2
+# define NDNBOOST_PP_DEC_4 3
+# define NDNBOOST_PP_DEC_5 4
+# define NDNBOOST_PP_DEC_6 5
+# define NDNBOOST_PP_DEC_7 6
+# define NDNBOOST_PP_DEC_8 7
+# define NDNBOOST_PP_DEC_9 8
+# define NDNBOOST_PP_DEC_10 9
+# define NDNBOOST_PP_DEC_11 10
+# define NDNBOOST_PP_DEC_12 11
+# define NDNBOOST_PP_DEC_13 12
+# define NDNBOOST_PP_DEC_14 13
+# define NDNBOOST_PP_DEC_15 14
+# define NDNBOOST_PP_DEC_16 15
+# define NDNBOOST_PP_DEC_17 16
+# define NDNBOOST_PP_DEC_18 17
+# define NDNBOOST_PP_DEC_19 18
+# define NDNBOOST_PP_DEC_20 19
+# define NDNBOOST_PP_DEC_21 20
+# define NDNBOOST_PP_DEC_22 21
+# define NDNBOOST_PP_DEC_23 22
+# define NDNBOOST_PP_DEC_24 23
+# define NDNBOOST_PP_DEC_25 24
+# define NDNBOOST_PP_DEC_26 25
+# define NDNBOOST_PP_DEC_27 26
+# define NDNBOOST_PP_DEC_28 27
+# define NDNBOOST_PP_DEC_29 28
+# define NDNBOOST_PP_DEC_30 29
+# define NDNBOOST_PP_DEC_31 30
+# define NDNBOOST_PP_DEC_32 31
+# define NDNBOOST_PP_DEC_33 32
+# define NDNBOOST_PP_DEC_34 33
+# define NDNBOOST_PP_DEC_35 34
+# define NDNBOOST_PP_DEC_36 35
+# define NDNBOOST_PP_DEC_37 36
+# define NDNBOOST_PP_DEC_38 37
+# define NDNBOOST_PP_DEC_39 38
+# define NDNBOOST_PP_DEC_40 39
+# define NDNBOOST_PP_DEC_41 40
+# define NDNBOOST_PP_DEC_42 41
+# define NDNBOOST_PP_DEC_43 42
+# define NDNBOOST_PP_DEC_44 43
+# define NDNBOOST_PP_DEC_45 44
+# define NDNBOOST_PP_DEC_46 45
+# define NDNBOOST_PP_DEC_47 46
+# define NDNBOOST_PP_DEC_48 47
+# define NDNBOOST_PP_DEC_49 48
+# define NDNBOOST_PP_DEC_50 49
+# define NDNBOOST_PP_DEC_51 50
+# define NDNBOOST_PP_DEC_52 51
+# define NDNBOOST_PP_DEC_53 52
+# define NDNBOOST_PP_DEC_54 53
+# define NDNBOOST_PP_DEC_55 54
+# define NDNBOOST_PP_DEC_56 55
+# define NDNBOOST_PP_DEC_57 56
+# define NDNBOOST_PP_DEC_58 57
+# define NDNBOOST_PP_DEC_59 58
+# define NDNBOOST_PP_DEC_60 59
+# define NDNBOOST_PP_DEC_61 60
+# define NDNBOOST_PP_DEC_62 61
+# define NDNBOOST_PP_DEC_63 62
+# define NDNBOOST_PP_DEC_64 63
+# define NDNBOOST_PP_DEC_65 64
+# define NDNBOOST_PP_DEC_66 65
+# define NDNBOOST_PP_DEC_67 66
+# define NDNBOOST_PP_DEC_68 67
+# define NDNBOOST_PP_DEC_69 68
+# define NDNBOOST_PP_DEC_70 69
+# define NDNBOOST_PP_DEC_71 70
+# define NDNBOOST_PP_DEC_72 71
+# define NDNBOOST_PP_DEC_73 72
+# define NDNBOOST_PP_DEC_74 73
+# define NDNBOOST_PP_DEC_75 74
+# define NDNBOOST_PP_DEC_76 75
+# define NDNBOOST_PP_DEC_77 76
+# define NDNBOOST_PP_DEC_78 77
+# define NDNBOOST_PP_DEC_79 78
+# define NDNBOOST_PP_DEC_80 79
+# define NDNBOOST_PP_DEC_81 80
+# define NDNBOOST_PP_DEC_82 81
+# define NDNBOOST_PP_DEC_83 82
+# define NDNBOOST_PP_DEC_84 83
+# define NDNBOOST_PP_DEC_85 84
+# define NDNBOOST_PP_DEC_86 85
+# define NDNBOOST_PP_DEC_87 86
+# define NDNBOOST_PP_DEC_88 87
+# define NDNBOOST_PP_DEC_89 88
+# define NDNBOOST_PP_DEC_90 89
+# define NDNBOOST_PP_DEC_91 90
+# define NDNBOOST_PP_DEC_92 91
+# define NDNBOOST_PP_DEC_93 92
+# define NDNBOOST_PP_DEC_94 93
+# define NDNBOOST_PP_DEC_95 94
+# define NDNBOOST_PP_DEC_96 95
+# define NDNBOOST_PP_DEC_97 96
+# define NDNBOOST_PP_DEC_98 97
+# define NDNBOOST_PP_DEC_99 98
+# define NDNBOOST_PP_DEC_100 99
+# define NDNBOOST_PP_DEC_101 100
+# define NDNBOOST_PP_DEC_102 101
+# define NDNBOOST_PP_DEC_103 102
+# define NDNBOOST_PP_DEC_104 103
+# define NDNBOOST_PP_DEC_105 104
+# define NDNBOOST_PP_DEC_106 105
+# define NDNBOOST_PP_DEC_107 106
+# define NDNBOOST_PP_DEC_108 107
+# define NDNBOOST_PP_DEC_109 108
+# define NDNBOOST_PP_DEC_110 109
+# define NDNBOOST_PP_DEC_111 110
+# define NDNBOOST_PP_DEC_112 111
+# define NDNBOOST_PP_DEC_113 112
+# define NDNBOOST_PP_DEC_114 113
+# define NDNBOOST_PP_DEC_115 114
+# define NDNBOOST_PP_DEC_116 115
+# define NDNBOOST_PP_DEC_117 116
+# define NDNBOOST_PP_DEC_118 117
+# define NDNBOOST_PP_DEC_119 118
+# define NDNBOOST_PP_DEC_120 119
+# define NDNBOOST_PP_DEC_121 120
+# define NDNBOOST_PP_DEC_122 121
+# define NDNBOOST_PP_DEC_123 122
+# define NDNBOOST_PP_DEC_124 123
+# define NDNBOOST_PP_DEC_125 124
+# define NDNBOOST_PP_DEC_126 125
+# define NDNBOOST_PP_DEC_127 126
+# define NDNBOOST_PP_DEC_128 127
+# define NDNBOOST_PP_DEC_129 128
+# define NDNBOOST_PP_DEC_130 129
+# define NDNBOOST_PP_DEC_131 130
+# define NDNBOOST_PP_DEC_132 131
+# define NDNBOOST_PP_DEC_133 132
+# define NDNBOOST_PP_DEC_134 133
+# define NDNBOOST_PP_DEC_135 134
+# define NDNBOOST_PP_DEC_136 135
+# define NDNBOOST_PP_DEC_137 136
+# define NDNBOOST_PP_DEC_138 137
+# define NDNBOOST_PP_DEC_139 138
+# define NDNBOOST_PP_DEC_140 139
+# define NDNBOOST_PP_DEC_141 140
+# define NDNBOOST_PP_DEC_142 141
+# define NDNBOOST_PP_DEC_143 142
+# define NDNBOOST_PP_DEC_144 143
+# define NDNBOOST_PP_DEC_145 144
+# define NDNBOOST_PP_DEC_146 145
+# define NDNBOOST_PP_DEC_147 146
+# define NDNBOOST_PP_DEC_148 147
+# define NDNBOOST_PP_DEC_149 148
+# define NDNBOOST_PP_DEC_150 149
+# define NDNBOOST_PP_DEC_151 150
+# define NDNBOOST_PP_DEC_152 151
+# define NDNBOOST_PP_DEC_153 152
+# define NDNBOOST_PP_DEC_154 153
+# define NDNBOOST_PP_DEC_155 154
+# define NDNBOOST_PP_DEC_156 155
+# define NDNBOOST_PP_DEC_157 156
+# define NDNBOOST_PP_DEC_158 157
+# define NDNBOOST_PP_DEC_159 158
+# define NDNBOOST_PP_DEC_160 159
+# define NDNBOOST_PP_DEC_161 160
+# define NDNBOOST_PP_DEC_162 161
+# define NDNBOOST_PP_DEC_163 162
+# define NDNBOOST_PP_DEC_164 163
+# define NDNBOOST_PP_DEC_165 164
+# define NDNBOOST_PP_DEC_166 165
+# define NDNBOOST_PP_DEC_167 166
+# define NDNBOOST_PP_DEC_168 167
+# define NDNBOOST_PP_DEC_169 168
+# define NDNBOOST_PP_DEC_170 169
+# define NDNBOOST_PP_DEC_171 170
+# define NDNBOOST_PP_DEC_172 171
+# define NDNBOOST_PP_DEC_173 172
+# define NDNBOOST_PP_DEC_174 173
+# define NDNBOOST_PP_DEC_175 174
+# define NDNBOOST_PP_DEC_176 175
+# define NDNBOOST_PP_DEC_177 176
+# define NDNBOOST_PP_DEC_178 177
+# define NDNBOOST_PP_DEC_179 178
+# define NDNBOOST_PP_DEC_180 179
+# define NDNBOOST_PP_DEC_181 180
+# define NDNBOOST_PP_DEC_182 181
+# define NDNBOOST_PP_DEC_183 182
+# define NDNBOOST_PP_DEC_184 183
+# define NDNBOOST_PP_DEC_185 184
+# define NDNBOOST_PP_DEC_186 185
+# define NDNBOOST_PP_DEC_187 186
+# define NDNBOOST_PP_DEC_188 187
+# define NDNBOOST_PP_DEC_189 188
+# define NDNBOOST_PP_DEC_190 189
+# define NDNBOOST_PP_DEC_191 190
+# define NDNBOOST_PP_DEC_192 191
+# define NDNBOOST_PP_DEC_193 192
+# define NDNBOOST_PP_DEC_194 193
+# define NDNBOOST_PP_DEC_195 194
+# define NDNBOOST_PP_DEC_196 195
+# define NDNBOOST_PP_DEC_197 196
+# define NDNBOOST_PP_DEC_198 197
+# define NDNBOOST_PP_DEC_199 198
+# define NDNBOOST_PP_DEC_200 199
+# define NDNBOOST_PP_DEC_201 200
+# define NDNBOOST_PP_DEC_202 201
+# define NDNBOOST_PP_DEC_203 202
+# define NDNBOOST_PP_DEC_204 203
+# define NDNBOOST_PP_DEC_205 204
+# define NDNBOOST_PP_DEC_206 205
+# define NDNBOOST_PP_DEC_207 206
+# define NDNBOOST_PP_DEC_208 207
+# define NDNBOOST_PP_DEC_209 208
+# define NDNBOOST_PP_DEC_210 209
+# define NDNBOOST_PP_DEC_211 210
+# define NDNBOOST_PP_DEC_212 211
+# define NDNBOOST_PP_DEC_213 212
+# define NDNBOOST_PP_DEC_214 213
+# define NDNBOOST_PP_DEC_215 214
+# define NDNBOOST_PP_DEC_216 215
+# define NDNBOOST_PP_DEC_217 216
+# define NDNBOOST_PP_DEC_218 217
+# define NDNBOOST_PP_DEC_219 218
+# define NDNBOOST_PP_DEC_220 219
+# define NDNBOOST_PP_DEC_221 220
+# define NDNBOOST_PP_DEC_222 221
+# define NDNBOOST_PP_DEC_223 222
+# define NDNBOOST_PP_DEC_224 223
+# define NDNBOOST_PP_DEC_225 224
+# define NDNBOOST_PP_DEC_226 225
+# define NDNBOOST_PP_DEC_227 226
+# define NDNBOOST_PP_DEC_228 227
+# define NDNBOOST_PP_DEC_229 228
+# define NDNBOOST_PP_DEC_230 229
+# define NDNBOOST_PP_DEC_231 230
+# define NDNBOOST_PP_DEC_232 231
+# define NDNBOOST_PP_DEC_233 232
+# define NDNBOOST_PP_DEC_234 233
+# define NDNBOOST_PP_DEC_235 234
+# define NDNBOOST_PP_DEC_236 235
+# define NDNBOOST_PP_DEC_237 236
+# define NDNBOOST_PP_DEC_238 237
+# define NDNBOOST_PP_DEC_239 238
+# define NDNBOOST_PP_DEC_240 239
+# define NDNBOOST_PP_DEC_241 240
+# define NDNBOOST_PP_DEC_242 241
+# define NDNBOOST_PP_DEC_243 242
+# define NDNBOOST_PP_DEC_244 243
+# define NDNBOOST_PP_DEC_245 244
+# define NDNBOOST_PP_DEC_246 245
+# define NDNBOOST_PP_DEC_247 246
+# define NDNBOOST_PP_DEC_248 247
+# define NDNBOOST_PP_DEC_249 248
+# define NDNBOOST_PP_DEC_250 249
+# define NDNBOOST_PP_DEC_251 250
+# define NDNBOOST_PP_DEC_252 251
+# define NDNBOOST_PP_DEC_253 252
+# define NDNBOOST_PP_DEC_254 253
+# define NDNBOOST_PP_DEC_255 254
+# define NDNBOOST_PP_DEC_256 255
 #
 # endif
diff --git a/include/ndnboost/preprocessor/arithmetic/detail/div_base.hpp b/include/ndnboost/preprocessor/arithmetic/detail/div_base.hpp
index 5f8e234..524e412 100644
--- a/include/ndnboost/preprocessor/arithmetic/detail/div_base.hpp
+++ b/include/ndnboost/preprocessor/arithmetic/detail/div_base.hpp
@@ -11,8 +11,8 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_ARITHMETIC_DETAIL_DIV_BASE_HPP
-# define BOOST_PREPROCESSOR_ARITHMETIC_DETAIL_DIV_BASE_HPP
+# ifndef NDNBOOST_PREPROCESSOR_ARITHMETIC_DETAIL_DIV_BASE_HPP
+# define NDNBOOST_PREPROCESSOR_ARITHMETIC_DETAIL_DIV_BASE_HPP
 #
 # include <ndnboost/preprocessor/arithmetic/inc.hpp>
 # include <ndnboost/preprocessor/arithmetic/sub.hpp>
@@ -22,40 +22,40 @@
 # include <ndnboost/preprocessor/tuple/elem.hpp>
 # include <ndnboost/preprocessor/tuple/rem.hpp>
 #
-# /* BOOST_PP_DIV_BASE */
+# /* NDNBOOST_PP_DIV_BASE */
 #
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_DIV_BASE(x, y) BOOST_PP_WHILE(BOOST_PP_DIV_BASE_P, BOOST_PP_DIV_BASE_O, (0, x, y))
+# if ~NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_EDG()
+#    define NDNBOOST_PP_DIV_BASE(x, y) NDNBOOST_PP_WHILE(NDNBOOST_PP_DIV_BASE_P, NDNBOOST_PP_DIV_BASE_O, (0, x, y))
 # else
-#    define BOOST_PP_DIV_BASE(x, y) BOOST_PP_DIV_BASE_I(x, y)
-#    define BOOST_PP_DIV_BASE_I(x, y) BOOST_PP_WHILE(BOOST_PP_DIV_BASE_P, BOOST_PP_DIV_BASE_O, (0, x, y))
+#    define NDNBOOST_PP_DIV_BASE(x, y) NDNBOOST_PP_DIV_BASE_I(x, y)
+#    define NDNBOOST_PP_DIV_BASE_I(x, y) NDNBOOST_PP_WHILE(NDNBOOST_PP_DIV_BASE_P, NDNBOOST_PP_DIV_BASE_O, (0, x, y))
 # endif
 #
-# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT()
-#    define BOOST_PP_DIV_BASE_P(d, rxy) BOOST_PP_DIV_BASE_P_IM(d, BOOST_PP_TUPLE_REM_3 rxy)
-#    define BOOST_PP_DIV_BASE_P_IM(d, im) BOOST_PP_DIV_BASE_P_I(d, im)
+# if NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_STRICT()
+#    define NDNBOOST_PP_DIV_BASE_P(d, rxy) NDNBOOST_PP_DIV_BASE_P_IM(d, NDNBOOST_PP_TUPLE_REM_3 rxy)
+#    define NDNBOOST_PP_DIV_BASE_P_IM(d, im) NDNBOOST_PP_DIV_BASE_P_I(d, im)
 # else
-#    define BOOST_PP_DIV_BASE_P(d, rxy) BOOST_PP_DIV_BASE_P_I(d, BOOST_PP_TUPLE_ELEM(3, 0, rxy), BOOST_PP_TUPLE_ELEM(3, 1, rxy), BOOST_PP_TUPLE_ELEM(3, 2, rxy))
+#    define NDNBOOST_PP_DIV_BASE_P(d, rxy) NDNBOOST_PP_DIV_BASE_P_I(d, NDNBOOST_PP_TUPLE_ELEM(3, 0, rxy), NDNBOOST_PP_TUPLE_ELEM(3, 1, rxy), NDNBOOST_PP_TUPLE_ELEM(3, 2, rxy))
 # endif
 #
-# define BOOST_PP_DIV_BASE_P_I(d, r, x, y) BOOST_PP_LESS_EQUAL_D(d, y, x)
+# define NDNBOOST_PP_DIV_BASE_P_I(d, r, x, y) NDNBOOST_PP_LESS_EQUAL_D(d, y, x)
 #
-# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT()
-#    define BOOST_PP_DIV_BASE_O(d, rxy) BOOST_PP_DIV_BASE_O_IM(d, BOOST_PP_TUPLE_REM_3 rxy)
-#    define BOOST_PP_DIV_BASE_O_IM(d, im) BOOST_PP_DIV_BASE_O_I(d, im)
+# if NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_STRICT()
+#    define NDNBOOST_PP_DIV_BASE_O(d, rxy) NDNBOOST_PP_DIV_BASE_O_IM(d, NDNBOOST_PP_TUPLE_REM_3 rxy)
+#    define NDNBOOST_PP_DIV_BASE_O_IM(d, im) NDNBOOST_PP_DIV_BASE_O_I(d, im)
 # else
-#    define BOOST_PP_DIV_BASE_O(d, rxy) BOOST_PP_DIV_BASE_O_I(d, BOOST_PP_TUPLE_ELEM(3, 0, rxy), BOOST_PP_TUPLE_ELEM(3, 1, rxy), BOOST_PP_TUPLE_ELEM(3, 2, rxy))
+#    define NDNBOOST_PP_DIV_BASE_O(d, rxy) NDNBOOST_PP_DIV_BASE_O_I(d, NDNBOOST_PP_TUPLE_ELEM(3, 0, rxy), NDNBOOST_PP_TUPLE_ELEM(3, 1, rxy), NDNBOOST_PP_TUPLE_ELEM(3, 2, rxy))
 # endif
 #
-# define BOOST_PP_DIV_BASE_O_I(d, r, x, y) (BOOST_PP_INC(r), BOOST_PP_SUB_D(d, x, y), y)
+# define NDNBOOST_PP_DIV_BASE_O_I(d, r, x, y) (NDNBOOST_PP_INC(r), NDNBOOST_PP_SUB_D(d, x, y), y)
 #
-# /* BOOST_PP_DIV_BASE_D */
+# /* NDNBOOST_PP_DIV_BASE_D */
 #
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_DIV_BASE_D(d, x, y) BOOST_PP_WHILE_ ## d(BOOST_PP_DIV_BASE_P, BOOST_PP_DIV_BASE_O, (0, x, y))
+# if ~NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_EDG()
+#    define NDNBOOST_PP_DIV_BASE_D(d, x, y) NDNBOOST_PP_WHILE_ ## d(NDNBOOST_PP_DIV_BASE_P, NDNBOOST_PP_DIV_BASE_O, (0, x, y))
 # else
-#    define BOOST_PP_DIV_BASE_D(d, x, y) BOOST_PP_DIV_BASE_D_I(d, x, y)
-#    define BOOST_PP_DIV_BASE_D_I(d, x, y) BOOST_PP_WHILE_ ## d(BOOST_PP_DIV_BASE_P, BOOST_PP_DIV_BASE_O, (0, x, y))
+#    define NDNBOOST_PP_DIV_BASE_D(d, x, y) NDNBOOST_PP_DIV_BASE_D_I(d, x, y)
+#    define NDNBOOST_PP_DIV_BASE_D_I(d, x, y) NDNBOOST_PP_WHILE_ ## d(NDNBOOST_PP_DIV_BASE_P, NDNBOOST_PP_DIV_BASE_O, (0, x, y))
 # endif
 #
 # endif
diff --git a/include/ndnboost/preprocessor/arithmetic/inc.hpp b/include/ndnboost/preprocessor/arithmetic/inc.hpp
index c26e86f..8878395 100644
--- a/include/ndnboost/preprocessor/arithmetic/inc.hpp
+++ b/include/ndnboost/preprocessor/arithmetic/inc.hpp
@@ -11,278 +11,278 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_ARITHMETIC_INC_HPP
-# define BOOST_PREPROCESSOR_ARITHMETIC_INC_HPP
+# ifndef NDNBOOST_PREPROCESSOR_ARITHMETIC_INC_HPP
+# define NDNBOOST_PREPROCESSOR_ARITHMETIC_INC_HPP
 #
 # include <ndnboost/preprocessor/config/config.hpp>
 #
-# /* BOOST_PP_INC */
+# /* NDNBOOST_PP_INC */
 #
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-#    define BOOST_PP_INC(x) BOOST_PP_INC_I(x)
+# if ~NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_MWCC()
+#    define NDNBOOST_PP_INC(x) NDNBOOST_PP_INC_I(x)
 # else
-#    define BOOST_PP_INC(x) BOOST_PP_INC_OO((x))
-#    define BOOST_PP_INC_OO(par) BOOST_PP_INC_I ## par
+#    define NDNBOOST_PP_INC(x) NDNBOOST_PP_INC_OO((x))
+#    define NDNBOOST_PP_INC_OO(par) NDNBOOST_PP_INC_I ## par
 # endif
 #
-# define BOOST_PP_INC_I(x) BOOST_PP_INC_ ## x
+# define NDNBOOST_PP_INC_I(x) NDNBOOST_PP_INC_ ## x
 #
-# define BOOST_PP_INC_0 1
-# define BOOST_PP_INC_1 2
-# define BOOST_PP_INC_2 3
-# define BOOST_PP_INC_3 4
-# define BOOST_PP_INC_4 5
-# define BOOST_PP_INC_5 6
-# define BOOST_PP_INC_6 7
-# define BOOST_PP_INC_7 8
-# define BOOST_PP_INC_8 9
-# define BOOST_PP_INC_9 10
-# define BOOST_PP_INC_10 11
-# define BOOST_PP_INC_11 12
-# define BOOST_PP_INC_12 13
-# define BOOST_PP_INC_13 14
-# define BOOST_PP_INC_14 15
-# define BOOST_PP_INC_15 16
-# define BOOST_PP_INC_16 17
-# define BOOST_PP_INC_17 18
-# define BOOST_PP_INC_18 19
-# define BOOST_PP_INC_19 20
-# define BOOST_PP_INC_20 21
-# define BOOST_PP_INC_21 22
-# define BOOST_PP_INC_22 23
-# define BOOST_PP_INC_23 24
-# define BOOST_PP_INC_24 25
-# define BOOST_PP_INC_25 26
-# define BOOST_PP_INC_26 27
-# define BOOST_PP_INC_27 28
-# define BOOST_PP_INC_28 29
-# define BOOST_PP_INC_29 30
-# define BOOST_PP_INC_30 31
-# define BOOST_PP_INC_31 32
-# define BOOST_PP_INC_32 33
-# define BOOST_PP_INC_33 34
-# define BOOST_PP_INC_34 35
-# define BOOST_PP_INC_35 36
-# define BOOST_PP_INC_36 37
-# define BOOST_PP_INC_37 38
-# define BOOST_PP_INC_38 39
-# define BOOST_PP_INC_39 40
-# define BOOST_PP_INC_40 41
-# define BOOST_PP_INC_41 42
-# define BOOST_PP_INC_42 43
-# define BOOST_PP_INC_43 44
-# define BOOST_PP_INC_44 45
-# define BOOST_PP_INC_45 46
-# define BOOST_PP_INC_46 47
-# define BOOST_PP_INC_47 48
-# define BOOST_PP_INC_48 49
-# define BOOST_PP_INC_49 50
-# define BOOST_PP_INC_50 51
-# define BOOST_PP_INC_51 52
-# define BOOST_PP_INC_52 53
-# define BOOST_PP_INC_53 54
-# define BOOST_PP_INC_54 55
-# define BOOST_PP_INC_55 56
-# define BOOST_PP_INC_56 57
-# define BOOST_PP_INC_57 58
-# define BOOST_PP_INC_58 59
-# define BOOST_PP_INC_59 60
-# define BOOST_PP_INC_60 61
-# define BOOST_PP_INC_61 62
-# define BOOST_PP_INC_62 63
-# define BOOST_PP_INC_63 64
-# define BOOST_PP_INC_64 65
-# define BOOST_PP_INC_65 66
-# define BOOST_PP_INC_66 67
-# define BOOST_PP_INC_67 68
-# define BOOST_PP_INC_68 69
-# define BOOST_PP_INC_69 70
-# define BOOST_PP_INC_70 71
-# define BOOST_PP_INC_71 72
-# define BOOST_PP_INC_72 73
-# define BOOST_PP_INC_73 74
-# define BOOST_PP_INC_74 75
-# define BOOST_PP_INC_75 76
-# define BOOST_PP_INC_76 77
-# define BOOST_PP_INC_77 78
-# define BOOST_PP_INC_78 79
-# define BOOST_PP_INC_79 80
-# define BOOST_PP_INC_80 81
-# define BOOST_PP_INC_81 82
-# define BOOST_PP_INC_82 83
-# define BOOST_PP_INC_83 84
-# define BOOST_PP_INC_84 85
-# define BOOST_PP_INC_85 86
-# define BOOST_PP_INC_86 87
-# define BOOST_PP_INC_87 88
-# define BOOST_PP_INC_88 89
-# define BOOST_PP_INC_89 90
-# define BOOST_PP_INC_90 91
-# define BOOST_PP_INC_91 92
-# define BOOST_PP_INC_92 93
-# define BOOST_PP_INC_93 94
-# define BOOST_PP_INC_94 95
-# define BOOST_PP_INC_95 96
-# define BOOST_PP_INC_96 97
-# define BOOST_PP_INC_97 98
-# define BOOST_PP_INC_98 99
-# define BOOST_PP_INC_99 100
-# define BOOST_PP_INC_100 101
-# define BOOST_PP_INC_101 102
-# define BOOST_PP_INC_102 103
-# define BOOST_PP_INC_103 104
-# define BOOST_PP_INC_104 105
-# define BOOST_PP_INC_105 106
-# define BOOST_PP_INC_106 107
-# define BOOST_PP_INC_107 108
-# define BOOST_PP_INC_108 109
-# define BOOST_PP_INC_109 110
-# define BOOST_PP_INC_110 111
-# define BOOST_PP_INC_111 112
-# define BOOST_PP_INC_112 113
-# define BOOST_PP_INC_113 114
-# define BOOST_PP_INC_114 115
-# define BOOST_PP_INC_115 116
-# define BOOST_PP_INC_116 117
-# define BOOST_PP_INC_117 118
-# define BOOST_PP_INC_118 119
-# define BOOST_PP_INC_119 120
-# define BOOST_PP_INC_120 121
-# define BOOST_PP_INC_121 122
-# define BOOST_PP_INC_122 123
-# define BOOST_PP_INC_123 124
-# define BOOST_PP_INC_124 125
-# define BOOST_PP_INC_125 126
-# define BOOST_PP_INC_126 127
-# define BOOST_PP_INC_127 128
-# define BOOST_PP_INC_128 129
-# define BOOST_PP_INC_129 130
-# define BOOST_PP_INC_130 131
-# define BOOST_PP_INC_131 132
-# define BOOST_PP_INC_132 133
-# define BOOST_PP_INC_133 134
-# define BOOST_PP_INC_134 135
-# define BOOST_PP_INC_135 136
-# define BOOST_PP_INC_136 137
-# define BOOST_PP_INC_137 138
-# define BOOST_PP_INC_138 139
-# define BOOST_PP_INC_139 140
-# define BOOST_PP_INC_140 141
-# define BOOST_PP_INC_141 142
-# define BOOST_PP_INC_142 143
-# define BOOST_PP_INC_143 144
-# define BOOST_PP_INC_144 145
-# define BOOST_PP_INC_145 146
-# define BOOST_PP_INC_146 147
-# define BOOST_PP_INC_147 148
-# define BOOST_PP_INC_148 149
-# define BOOST_PP_INC_149 150
-# define BOOST_PP_INC_150 151
-# define BOOST_PP_INC_151 152
-# define BOOST_PP_INC_152 153
-# define BOOST_PP_INC_153 154
-# define BOOST_PP_INC_154 155
-# define BOOST_PP_INC_155 156
-# define BOOST_PP_INC_156 157
-# define BOOST_PP_INC_157 158
-# define BOOST_PP_INC_158 159
-# define BOOST_PP_INC_159 160
-# define BOOST_PP_INC_160 161
-# define BOOST_PP_INC_161 162
-# define BOOST_PP_INC_162 163
-# define BOOST_PP_INC_163 164
-# define BOOST_PP_INC_164 165
-# define BOOST_PP_INC_165 166
-# define BOOST_PP_INC_166 167
-# define BOOST_PP_INC_167 168
-# define BOOST_PP_INC_168 169
-# define BOOST_PP_INC_169 170
-# define BOOST_PP_INC_170 171
-# define BOOST_PP_INC_171 172
-# define BOOST_PP_INC_172 173
-# define BOOST_PP_INC_173 174
-# define BOOST_PP_INC_174 175
-# define BOOST_PP_INC_175 176
-# define BOOST_PP_INC_176 177
-# define BOOST_PP_INC_177 178
-# define BOOST_PP_INC_178 179
-# define BOOST_PP_INC_179 180
-# define BOOST_PP_INC_180 181
-# define BOOST_PP_INC_181 182
-# define BOOST_PP_INC_182 183
-# define BOOST_PP_INC_183 184
-# define BOOST_PP_INC_184 185
-# define BOOST_PP_INC_185 186
-# define BOOST_PP_INC_186 187
-# define BOOST_PP_INC_187 188
-# define BOOST_PP_INC_188 189
-# define BOOST_PP_INC_189 190
-# define BOOST_PP_INC_190 191
-# define BOOST_PP_INC_191 192
-# define BOOST_PP_INC_192 193
-# define BOOST_PP_INC_193 194
-# define BOOST_PP_INC_194 195
-# define BOOST_PP_INC_195 196
-# define BOOST_PP_INC_196 197
-# define BOOST_PP_INC_197 198
-# define BOOST_PP_INC_198 199
-# define BOOST_PP_INC_199 200
-# define BOOST_PP_INC_200 201
-# define BOOST_PP_INC_201 202
-# define BOOST_PP_INC_202 203
-# define BOOST_PP_INC_203 204
-# define BOOST_PP_INC_204 205
-# define BOOST_PP_INC_205 206
-# define BOOST_PP_INC_206 207
-# define BOOST_PP_INC_207 208
-# define BOOST_PP_INC_208 209
-# define BOOST_PP_INC_209 210
-# define BOOST_PP_INC_210 211
-# define BOOST_PP_INC_211 212
-# define BOOST_PP_INC_212 213
-# define BOOST_PP_INC_213 214
-# define BOOST_PP_INC_214 215
-# define BOOST_PP_INC_215 216
-# define BOOST_PP_INC_216 217
-# define BOOST_PP_INC_217 218
-# define BOOST_PP_INC_218 219
-# define BOOST_PP_INC_219 220
-# define BOOST_PP_INC_220 221
-# define BOOST_PP_INC_221 222
-# define BOOST_PP_INC_222 223
-# define BOOST_PP_INC_223 224
-# define BOOST_PP_INC_224 225
-# define BOOST_PP_INC_225 226
-# define BOOST_PP_INC_226 227
-# define BOOST_PP_INC_227 228
-# define BOOST_PP_INC_228 229
-# define BOOST_PP_INC_229 230
-# define BOOST_PP_INC_230 231
-# define BOOST_PP_INC_231 232
-# define BOOST_PP_INC_232 233
-# define BOOST_PP_INC_233 234
-# define BOOST_PP_INC_234 235
-# define BOOST_PP_INC_235 236
-# define BOOST_PP_INC_236 237
-# define BOOST_PP_INC_237 238
-# define BOOST_PP_INC_238 239
-# define BOOST_PP_INC_239 240
-# define BOOST_PP_INC_240 241
-# define BOOST_PP_INC_241 242
-# define BOOST_PP_INC_242 243
-# define BOOST_PP_INC_243 244
-# define BOOST_PP_INC_244 245
-# define BOOST_PP_INC_245 246
-# define BOOST_PP_INC_246 247
-# define BOOST_PP_INC_247 248
-# define BOOST_PP_INC_248 249
-# define BOOST_PP_INC_249 250
-# define BOOST_PP_INC_250 251
-# define BOOST_PP_INC_251 252
-# define BOOST_PP_INC_252 253
-# define BOOST_PP_INC_253 254
-# define BOOST_PP_INC_254 255
-# define BOOST_PP_INC_255 256
-# define BOOST_PP_INC_256 256
+# define NDNBOOST_PP_INC_0 1
+# define NDNBOOST_PP_INC_1 2
+# define NDNBOOST_PP_INC_2 3
+# define NDNBOOST_PP_INC_3 4
+# define NDNBOOST_PP_INC_4 5
+# define NDNBOOST_PP_INC_5 6
+# define NDNBOOST_PP_INC_6 7
+# define NDNBOOST_PP_INC_7 8
+# define NDNBOOST_PP_INC_8 9
+# define NDNBOOST_PP_INC_9 10
+# define NDNBOOST_PP_INC_10 11
+# define NDNBOOST_PP_INC_11 12
+# define NDNBOOST_PP_INC_12 13
+# define NDNBOOST_PP_INC_13 14
+# define NDNBOOST_PP_INC_14 15
+# define NDNBOOST_PP_INC_15 16
+# define NDNBOOST_PP_INC_16 17
+# define NDNBOOST_PP_INC_17 18
+# define NDNBOOST_PP_INC_18 19
+# define NDNBOOST_PP_INC_19 20
+# define NDNBOOST_PP_INC_20 21
+# define NDNBOOST_PP_INC_21 22
+# define NDNBOOST_PP_INC_22 23
+# define NDNBOOST_PP_INC_23 24
+# define NDNBOOST_PP_INC_24 25
+# define NDNBOOST_PP_INC_25 26
+# define NDNBOOST_PP_INC_26 27
+# define NDNBOOST_PP_INC_27 28
+# define NDNBOOST_PP_INC_28 29
+# define NDNBOOST_PP_INC_29 30
+# define NDNBOOST_PP_INC_30 31
+# define NDNBOOST_PP_INC_31 32
+# define NDNBOOST_PP_INC_32 33
+# define NDNBOOST_PP_INC_33 34
+# define NDNBOOST_PP_INC_34 35
+# define NDNBOOST_PP_INC_35 36
+# define NDNBOOST_PP_INC_36 37
+# define NDNBOOST_PP_INC_37 38
+# define NDNBOOST_PP_INC_38 39
+# define NDNBOOST_PP_INC_39 40
+# define NDNBOOST_PP_INC_40 41
+# define NDNBOOST_PP_INC_41 42
+# define NDNBOOST_PP_INC_42 43
+# define NDNBOOST_PP_INC_43 44
+# define NDNBOOST_PP_INC_44 45
+# define NDNBOOST_PP_INC_45 46
+# define NDNBOOST_PP_INC_46 47
+# define NDNBOOST_PP_INC_47 48
+# define NDNBOOST_PP_INC_48 49
+# define NDNBOOST_PP_INC_49 50
+# define NDNBOOST_PP_INC_50 51
+# define NDNBOOST_PP_INC_51 52
+# define NDNBOOST_PP_INC_52 53
+# define NDNBOOST_PP_INC_53 54
+# define NDNBOOST_PP_INC_54 55
+# define NDNBOOST_PP_INC_55 56
+# define NDNBOOST_PP_INC_56 57
+# define NDNBOOST_PP_INC_57 58
+# define NDNBOOST_PP_INC_58 59
+# define NDNBOOST_PP_INC_59 60
+# define NDNBOOST_PP_INC_60 61
+# define NDNBOOST_PP_INC_61 62
+# define NDNBOOST_PP_INC_62 63
+# define NDNBOOST_PP_INC_63 64
+# define NDNBOOST_PP_INC_64 65
+# define NDNBOOST_PP_INC_65 66
+# define NDNBOOST_PP_INC_66 67
+# define NDNBOOST_PP_INC_67 68
+# define NDNBOOST_PP_INC_68 69
+# define NDNBOOST_PP_INC_69 70
+# define NDNBOOST_PP_INC_70 71
+# define NDNBOOST_PP_INC_71 72
+# define NDNBOOST_PP_INC_72 73
+# define NDNBOOST_PP_INC_73 74
+# define NDNBOOST_PP_INC_74 75
+# define NDNBOOST_PP_INC_75 76
+# define NDNBOOST_PP_INC_76 77
+# define NDNBOOST_PP_INC_77 78
+# define NDNBOOST_PP_INC_78 79
+# define NDNBOOST_PP_INC_79 80
+# define NDNBOOST_PP_INC_80 81
+# define NDNBOOST_PP_INC_81 82
+# define NDNBOOST_PP_INC_82 83
+# define NDNBOOST_PP_INC_83 84
+# define NDNBOOST_PP_INC_84 85
+# define NDNBOOST_PP_INC_85 86
+# define NDNBOOST_PP_INC_86 87
+# define NDNBOOST_PP_INC_87 88
+# define NDNBOOST_PP_INC_88 89
+# define NDNBOOST_PP_INC_89 90
+# define NDNBOOST_PP_INC_90 91
+# define NDNBOOST_PP_INC_91 92
+# define NDNBOOST_PP_INC_92 93
+# define NDNBOOST_PP_INC_93 94
+# define NDNBOOST_PP_INC_94 95
+# define NDNBOOST_PP_INC_95 96
+# define NDNBOOST_PP_INC_96 97
+# define NDNBOOST_PP_INC_97 98
+# define NDNBOOST_PP_INC_98 99
+# define NDNBOOST_PP_INC_99 100
+# define NDNBOOST_PP_INC_100 101
+# define NDNBOOST_PP_INC_101 102
+# define NDNBOOST_PP_INC_102 103
+# define NDNBOOST_PP_INC_103 104
+# define NDNBOOST_PP_INC_104 105
+# define NDNBOOST_PP_INC_105 106
+# define NDNBOOST_PP_INC_106 107
+# define NDNBOOST_PP_INC_107 108
+# define NDNBOOST_PP_INC_108 109
+# define NDNBOOST_PP_INC_109 110
+# define NDNBOOST_PP_INC_110 111
+# define NDNBOOST_PP_INC_111 112
+# define NDNBOOST_PP_INC_112 113
+# define NDNBOOST_PP_INC_113 114
+# define NDNBOOST_PP_INC_114 115
+# define NDNBOOST_PP_INC_115 116
+# define NDNBOOST_PP_INC_116 117
+# define NDNBOOST_PP_INC_117 118
+# define NDNBOOST_PP_INC_118 119
+# define NDNBOOST_PP_INC_119 120
+# define NDNBOOST_PP_INC_120 121
+# define NDNBOOST_PP_INC_121 122
+# define NDNBOOST_PP_INC_122 123
+# define NDNBOOST_PP_INC_123 124
+# define NDNBOOST_PP_INC_124 125
+# define NDNBOOST_PP_INC_125 126
+# define NDNBOOST_PP_INC_126 127
+# define NDNBOOST_PP_INC_127 128
+# define NDNBOOST_PP_INC_128 129
+# define NDNBOOST_PP_INC_129 130
+# define NDNBOOST_PP_INC_130 131
+# define NDNBOOST_PP_INC_131 132
+# define NDNBOOST_PP_INC_132 133
+# define NDNBOOST_PP_INC_133 134
+# define NDNBOOST_PP_INC_134 135
+# define NDNBOOST_PP_INC_135 136
+# define NDNBOOST_PP_INC_136 137
+# define NDNBOOST_PP_INC_137 138
+# define NDNBOOST_PP_INC_138 139
+# define NDNBOOST_PP_INC_139 140
+# define NDNBOOST_PP_INC_140 141
+# define NDNBOOST_PP_INC_141 142
+# define NDNBOOST_PP_INC_142 143
+# define NDNBOOST_PP_INC_143 144
+# define NDNBOOST_PP_INC_144 145
+# define NDNBOOST_PP_INC_145 146
+# define NDNBOOST_PP_INC_146 147
+# define NDNBOOST_PP_INC_147 148
+# define NDNBOOST_PP_INC_148 149
+# define NDNBOOST_PP_INC_149 150
+# define NDNBOOST_PP_INC_150 151
+# define NDNBOOST_PP_INC_151 152
+# define NDNBOOST_PP_INC_152 153
+# define NDNBOOST_PP_INC_153 154
+# define NDNBOOST_PP_INC_154 155
+# define NDNBOOST_PP_INC_155 156
+# define NDNBOOST_PP_INC_156 157
+# define NDNBOOST_PP_INC_157 158
+# define NDNBOOST_PP_INC_158 159
+# define NDNBOOST_PP_INC_159 160
+# define NDNBOOST_PP_INC_160 161
+# define NDNBOOST_PP_INC_161 162
+# define NDNBOOST_PP_INC_162 163
+# define NDNBOOST_PP_INC_163 164
+# define NDNBOOST_PP_INC_164 165
+# define NDNBOOST_PP_INC_165 166
+# define NDNBOOST_PP_INC_166 167
+# define NDNBOOST_PP_INC_167 168
+# define NDNBOOST_PP_INC_168 169
+# define NDNBOOST_PP_INC_169 170
+# define NDNBOOST_PP_INC_170 171
+# define NDNBOOST_PP_INC_171 172
+# define NDNBOOST_PP_INC_172 173
+# define NDNBOOST_PP_INC_173 174
+# define NDNBOOST_PP_INC_174 175
+# define NDNBOOST_PP_INC_175 176
+# define NDNBOOST_PP_INC_176 177
+# define NDNBOOST_PP_INC_177 178
+# define NDNBOOST_PP_INC_178 179
+# define NDNBOOST_PP_INC_179 180
+# define NDNBOOST_PP_INC_180 181
+# define NDNBOOST_PP_INC_181 182
+# define NDNBOOST_PP_INC_182 183
+# define NDNBOOST_PP_INC_183 184
+# define NDNBOOST_PP_INC_184 185
+# define NDNBOOST_PP_INC_185 186
+# define NDNBOOST_PP_INC_186 187
+# define NDNBOOST_PP_INC_187 188
+# define NDNBOOST_PP_INC_188 189
+# define NDNBOOST_PP_INC_189 190
+# define NDNBOOST_PP_INC_190 191
+# define NDNBOOST_PP_INC_191 192
+# define NDNBOOST_PP_INC_192 193
+# define NDNBOOST_PP_INC_193 194
+# define NDNBOOST_PP_INC_194 195
+# define NDNBOOST_PP_INC_195 196
+# define NDNBOOST_PP_INC_196 197
+# define NDNBOOST_PP_INC_197 198
+# define NDNBOOST_PP_INC_198 199
+# define NDNBOOST_PP_INC_199 200
+# define NDNBOOST_PP_INC_200 201
+# define NDNBOOST_PP_INC_201 202
+# define NDNBOOST_PP_INC_202 203
+# define NDNBOOST_PP_INC_203 204
+# define NDNBOOST_PP_INC_204 205
+# define NDNBOOST_PP_INC_205 206
+# define NDNBOOST_PP_INC_206 207
+# define NDNBOOST_PP_INC_207 208
+# define NDNBOOST_PP_INC_208 209
+# define NDNBOOST_PP_INC_209 210
+# define NDNBOOST_PP_INC_210 211
+# define NDNBOOST_PP_INC_211 212
+# define NDNBOOST_PP_INC_212 213
+# define NDNBOOST_PP_INC_213 214
+# define NDNBOOST_PP_INC_214 215
+# define NDNBOOST_PP_INC_215 216
+# define NDNBOOST_PP_INC_216 217
+# define NDNBOOST_PP_INC_217 218
+# define NDNBOOST_PP_INC_218 219
+# define NDNBOOST_PP_INC_219 220
+# define NDNBOOST_PP_INC_220 221
+# define NDNBOOST_PP_INC_221 222
+# define NDNBOOST_PP_INC_222 223
+# define NDNBOOST_PP_INC_223 224
+# define NDNBOOST_PP_INC_224 225
+# define NDNBOOST_PP_INC_225 226
+# define NDNBOOST_PP_INC_226 227
+# define NDNBOOST_PP_INC_227 228
+# define NDNBOOST_PP_INC_228 229
+# define NDNBOOST_PP_INC_229 230
+# define NDNBOOST_PP_INC_230 231
+# define NDNBOOST_PP_INC_231 232
+# define NDNBOOST_PP_INC_232 233
+# define NDNBOOST_PP_INC_233 234
+# define NDNBOOST_PP_INC_234 235
+# define NDNBOOST_PP_INC_235 236
+# define NDNBOOST_PP_INC_236 237
+# define NDNBOOST_PP_INC_237 238
+# define NDNBOOST_PP_INC_238 239
+# define NDNBOOST_PP_INC_239 240
+# define NDNBOOST_PP_INC_240 241
+# define NDNBOOST_PP_INC_241 242
+# define NDNBOOST_PP_INC_242 243
+# define NDNBOOST_PP_INC_243 244
+# define NDNBOOST_PP_INC_244 245
+# define NDNBOOST_PP_INC_245 246
+# define NDNBOOST_PP_INC_246 247
+# define NDNBOOST_PP_INC_247 248
+# define NDNBOOST_PP_INC_248 249
+# define NDNBOOST_PP_INC_249 250
+# define NDNBOOST_PP_INC_250 251
+# define NDNBOOST_PP_INC_251 252
+# define NDNBOOST_PP_INC_252 253
+# define NDNBOOST_PP_INC_253 254
+# define NDNBOOST_PP_INC_254 255
+# define NDNBOOST_PP_INC_255 256
+# define NDNBOOST_PP_INC_256 256
 #
 # endif
diff --git a/include/ndnboost/preprocessor/arithmetic/mod.hpp b/include/ndnboost/preprocessor/arithmetic/mod.hpp
index aa85437..9f5754d 100644
--- a/include/ndnboost/preprocessor/arithmetic/mod.hpp
+++ b/include/ndnboost/preprocessor/arithmetic/mod.hpp
@@ -11,29 +11,29 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_ARITHMETIC_MOD_HPP
-# define BOOST_PREPROCESSOR_ARITHMETIC_MOD_HPP
+# ifndef NDNBOOST_PREPROCESSOR_ARITHMETIC_MOD_HPP
+# define NDNBOOST_PREPROCESSOR_ARITHMETIC_MOD_HPP
 #
 # include <ndnboost/preprocessor/arithmetic/detail/div_base.hpp>
 # include <ndnboost/preprocessor/config/config.hpp>
 # include <ndnboost/preprocessor/tuple/elem.hpp>
 #
-# /* BOOST_PP_MOD */
+# /* NDNBOOST_PP_MOD */
 #
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_MOD(x, y) BOOST_PP_TUPLE_ELEM(3, 1, BOOST_PP_DIV_BASE(x, y))
+# if ~NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_EDG()
+#    define NDNBOOST_PP_MOD(x, y) NDNBOOST_PP_TUPLE_ELEM(3, 1, NDNBOOST_PP_DIV_BASE(x, y))
 # else
-#    define BOOST_PP_MOD(x, y) BOOST_PP_MOD_I(x, y)
-#    define BOOST_PP_MOD_I(x, y) BOOST_PP_TUPLE_ELEM(3, 1, BOOST_PP_DIV_BASE(x, y))
+#    define NDNBOOST_PP_MOD(x, y) NDNBOOST_PP_MOD_I(x, y)
+#    define NDNBOOST_PP_MOD_I(x, y) NDNBOOST_PP_TUPLE_ELEM(3, 1, NDNBOOST_PP_DIV_BASE(x, y))
 # endif
 #
-# /* BOOST_PP_MOD_D */
+# /* NDNBOOST_PP_MOD_D */
 #
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_MOD_D(d, x, y) BOOST_PP_TUPLE_ELEM(3, 1, BOOST_PP_DIV_BASE_D(d, x, y))
+# if ~NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_EDG()
+#    define NDNBOOST_PP_MOD_D(d, x, y) NDNBOOST_PP_TUPLE_ELEM(3, 1, NDNBOOST_PP_DIV_BASE_D(d, x, y))
 # else
-#    define BOOST_PP_MOD_D(d, x, y) BOOST_PP_MOD_D_I(d, x, y)
-#    define BOOST_PP_MOD_D_I(d, x, y) BOOST_PP_TUPLE_ELEM(3, 1, BOOST_PP_DIV_BASE_D(d, x, y))
+#    define NDNBOOST_PP_MOD_D(d, x, y) NDNBOOST_PP_MOD_D_I(d, x, y)
+#    define NDNBOOST_PP_MOD_D_I(d, x, y) NDNBOOST_PP_TUPLE_ELEM(3, 1, NDNBOOST_PP_DIV_BASE_D(d, x, y))
 # endif
 #
 # endif
diff --git a/include/ndnboost/preprocessor/arithmetic/sub.hpp b/include/ndnboost/preprocessor/arithmetic/sub.hpp
index 3384f15..74331f2 100644
--- a/include/ndnboost/preprocessor/arithmetic/sub.hpp
+++ b/include/ndnboost/preprocessor/arithmetic/sub.hpp
@@ -11,40 +11,40 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_ARITHMETIC_SUB_HPP
-# define BOOST_PREPROCESSOR_ARITHMETIC_SUB_HPP
+# ifndef NDNBOOST_PREPROCESSOR_ARITHMETIC_SUB_HPP
+# define NDNBOOST_PREPROCESSOR_ARITHMETIC_SUB_HPP
 #
 # include <ndnboost/preprocessor/arithmetic/dec.hpp>
 # include <ndnboost/preprocessor/config/config.hpp>
 # include <ndnboost/preprocessor/control/while.hpp>
 # include <ndnboost/preprocessor/tuple/elem.hpp>
 #
-# /* BOOST_PP_SUB */
+# /* NDNBOOST_PP_SUB */
 #
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_SUB(x, y) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE(BOOST_PP_SUB_P, BOOST_PP_SUB_O, (x, y)))
+# if ~NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_EDG()
+#    define NDNBOOST_PP_SUB(x, y) NDNBOOST_PP_TUPLE_ELEM(2, 0, NDNBOOST_PP_WHILE(NDNBOOST_PP_SUB_P, NDNBOOST_PP_SUB_O, (x, y)))
 # else
-#    define BOOST_PP_SUB(x, y) BOOST_PP_SUB_I(x, y)
-#    define BOOST_PP_SUB_I(x, y) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE(BOOST_PP_SUB_P, BOOST_PP_SUB_O, (x, y)))
+#    define NDNBOOST_PP_SUB(x, y) NDNBOOST_PP_SUB_I(x, y)
+#    define NDNBOOST_PP_SUB_I(x, y) NDNBOOST_PP_TUPLE_ELEM(2, 0, NDNBOOST_PP_WHILE(NDNBOOST_PP_SUB_P, NDNBOOST_PP_SUB_O, (x, y)))
 # endif
 #
-# define BOOST_PP_SUB_P(d, xy) BOOST_PP_TUPLE_ELEM(2, 1, xy)
+# define NDNBOOST_PP_SUB_P(d, xy) NDNBOOST_PP_TUPLE_ELEM(2, 1, xy)
 #
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-#    define BOOST_PP_SUB_O(d, xy) BOOST_PP_SUB_O_I xy
+# if ~NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_MWCC()
+#    define NDNBOOST_PP_SUB_O(d, xy) NDNBOOST_PP_SUB_O_I xy
 # else
-#    define BOOST_PP_SUB_O(d, xy) BOOST_PP_SUB_O_I(BOOST_PP_TUPLE_ELEM(2, 0, xy), BOOST_PP_TUPLE_ELEM(2, 1, xy))
+#    define NDNBOOST_PP_SUB_O(d, xy) NDNBOOST_PP_SUB_O_I(NDNBOOST_PP_TUPLE_ELEM(2, 0, xy), NDNBOOST_PP_TUPLE_ELEM(2, 1, xy))
 # endif
 #
-# define BOOST_PP_SUB_O_I(x, y) (BOOST_PP_DEC(x), BOOST_PP_DEC(y))
+# define NDNBOOST_PP_SUB_O_I(x, y) (NDNBOOST_PP_DEC(x), NDNBOOST_PP_DEC(y))
 #
-# /* BOOST_PP_SUB_D */
+# /* NDNBOOST_PP_SUB_D */
 #
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_SUB_D(d, x, y) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE_ ## d(BOOST_PP_SUB_P, BOOST_PP_SUB_O, (x, y)))
+# if ~NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_EDG()
+#    define NDNBOOST_PP_SUB_D(d, x, y) NDNBOOST_PP_TUPLE_ELEM(2, 0, NDNBOOST_PP_WHILE_ ## d(NDNBOOST_PP_SUB_P, NDNBOOST_PP_SUB_O, (x, y)))
 # else
-#    define BOOST_PP_SUB_D(d, x, y) BOOST_PP_SUB_D_I(d, x, y)
-#    define BOOST_PP_SUB_D_I(d, x, y) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE_ ## d(BOOST_PP_SUB_P, BOOST_PP_SUB_O, (x, y)))
+#    define NDNBOOST_PP_SUB_D(d, x, y) NDNBOOST_PP_SUB_D_I(d, x, y)
+#    define NDNBOOST_PP_SUB_D_I(d, x, y) NDNBOOST_PP_TUPLE_ELEM(2, 0, NDNBOOST_PP_WHILE_ ## d(NDNBOOST_PP_SUB_P, NDNBOOST_PP_SUB_O, (x, y)))
 # endif
 #
 # endif
diff --git a/include/ndnboost/preprocessor/array/data.hpp b/include/ndnboost/preprocessor/array/data.hpp
index 6a0bae4..5c8ee74 100644
--- a/include/ndnboost/preprocessor/array/data.hpp
+++ b/include/ndnboost/preprocessor/array/data.hpp
@@ -9,20 +9,20 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_ARRAY_DATA_HPP
-# define BOOST_PREPROCESSOR_ARRAY_DATA_HPP
+# ifndef NDNBOOST_PREPROCESSOR_ARRAY_DATA_HPP
+# define NDNBOOST_PREPROCESSOR_ARRAY_DATA_HPP
 #
 # include <ndnboost/preprocessor/config/config.hpp>
 # include <ndnboost/preprocessor/tuple/elem.hpp>
 #
-# /* BOOST_PP_ARRAY_DATA */
+# /* NDNBOOST_PP_ARRAY_DATA */
 #
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_ARRAY_DATA(array) BOOST_PP_TUPLE_ELEM(2, 1, array)
+# if ~NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_EDG()
+#    define NDNBOOST_PP_ARRAY_DATA(array) NDNBOOST_PP_TUPLE_ELEM(2, 1, array)
 # else
-#    define BOOST_PP_ARRAY_DATA(array) BOOST_PP_ARRAY_DATA_I(array)
-#    define BOOST_PP_ARRAY_DATA_I(array) BOOST_PP_ARRAY_DATA_II array
-#    define BOOST_PP_ARRAY_DATA_II(size, data) data
+#    define NDNBOOST_PP_ARRAY_DATA(array) NDNBOOST_PP_ARRAY_DATA_I(array)
+#    define NDNBOOST_PP_ARRAY_DATA_I(array) NDNBOOST_PP_ARRAY_DATA_II array
+#    define NDNBOOST_PP_ARRAY_DATA_II(size, data) data
 # endif
 #
 # endif
diff --git a/include/ndnboost/preprocessor/array/elem.hpp b/include/ndnboost/preprocessor/array/elem.hpp
index 22596e2..a6bba6c 100644
--- a/include/ndnboost/preprocessor/array/elem.hpp
+++ b/include/ndnboost/preprocessor/array/elem.hpp
@@ -9,21 +9,21 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_ARRAY_ELEM_HPP
-# define BOOST_PREPROCESSOR_ARRAY_ELEM_HPP
+# ifndef NDNBOOST_PREPROCESSOR_ARRAY_ELEM_HPP
+# define NDNBOOST_PREPROCESSOR_ARRAY_ELEM_HPP
 #
 # include <ndnboost/preprocessor/array/data.hpp>
 # include <ndnboost/preprocessor/array/size.hpp>
 # include <ndnboost/preprocessor/config/config.hpp>
 # include <ndnboost/preprocessor/tuple/elem.hpp>
 #
-# /* BOOST_PP_ARRAY_ELEM */
+# /* NDNBOOST_PP_ARRAY_ELEM */
 #
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_ARRAY_ELEM(i, array) BOOST_PP_TUPLE_ELEM(BOOST_PP_ARRAY_SIZE(array), i, BOOST_PP_ARRAY_DATA(array))
+# if ~NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_EDG()
+#    define NDNBOOST_PP_ARRAY_ELEM(i, array) NDNBOOST_PP_TUPLE_ELEM(NDNBOOST_PP_ARRAY_SIZE(array), i, NDNBOOST_PP_ARRAY_DATA(array))
 # else
-#    define BOOST_PP_ARRAY_ELEM(i, array) BOOST_PP_ARRAY_ELEM_I(i, array)
-#    define BOOST_PP_ARRAY_ELEM_I(i, array) BOOST_PP_TUPLE_ELEM(BOOST_PP_ARRAY_SIZE(array), i, BOOST_PP_ARRAY_DATA(array))
+#    define NDNBOOST_PP_ARRAY_ELEM(i, array) NDNBOOST_PP_ARRAY_ELEM_I(i, array)
+#    define NDNBOOST_PP_ARRAY_ELEM_I(i, array) NDNBOOST_PP_TUPLE_ELEM(NDNBOOST_PP_ARRAY_SIZE(array), i, NDNBOOST_PP_ARRAY_DATA(array))
 # endif
 #
 # endif
diff --git a/include/ndnboost/preprocessor/array/size.hpp b/include/ndnboost/preprocessor/array/size.hpp
index a4a28de..dee91bd 100644
--- a/include/ndnboost/preprocessor/array/size.hpp
+++ b/include/ndnboost/preprocessor/array/size.hpp
@@ -9,20 +9,20 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_ARRAY_SIZE_HPP
-# define BOOST_PREPROCESSOR_ARRAY_SIZE_HPP
+# ifndef NDNBOOST_PREPROCESSOR_ARRAY_SIZE_HPP
+# define NDNBOOST_PREPROCESSOR_ARRAY_SIZE_HPP
 #
 # include <ndnboost/preprocessor/config/config.hpp>
 # include <ndnboost/preprocessor/tuple/elem.hpp>
 #
-# /* BOOST_PP_ARRAY_SIZE */
+# /* NDNBOOST_PP_ARRAY_SIZE */
 #
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_ARRAY_SIZE(array) BOOST_PP_TUPLE_ELEM(2, 0, array)
+# if ~NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_EDG()
+#    define NDNBOOST_PP_ARRAY_SIZE(array) NDNBOOST_PP_TUPLE_ELEM(2, 0, array)
 # else
-#    define BOOST_PP_ARRAY_SIZE(array) BOOST_PP_ARRAY_SIZE_I(array)
-#    define BOOST_PP_ARRAY_SIZE_I(array) BOOST_PP_ARRAY_SIZE_II array
-#    define BOOST_PP_ARRAY_SIZE_II(size, data) size
+#    define NDNBOOST_PP_ARRAY_SIZE(array) NDNBOOST_PP_ARRAY_SIZE_I(array)
+#    define NDNBOOST_PP_ARRAY_SIZE_I(array) NDNBOOST_PP_ARRAY_SIZE_II array
+#    define NDNBOOST_PP_ARRAY_SIZE_II(size, data) size
 # endif
 #
 # endif
diff --git a/include/ndnboost/preprocessor/cat.hpp b/include/ndnboost/preprocessor/cat.hpp
index 6dbc6c2..b3ed9f6 100644
--- a/include/ndnboost/preprocessor/cat.hpp
+++ b/include/ndnboost/preprocessor/cat.hpp
@@ -11,25 +11,25 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_CAT_HPP
-# define BOOST_PREPROCESSOR_CAT_HPP
+# ifndef NDNBOOST_PREPROCESSOR_CAT_HPP
+# define NDNBOOST_PREPROCESSOR_CAT_HPP
 #
 # include <ndnboost/preprocessor/config/config.hpp>
 #
-# /* BOOST_PP_CAT */
+# /* NDNBOOST_PP_CAT */
 #
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
+# if ~NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_MWCC()
+#    define NDNBOOST_PP_CAT(a, b) NDNBOOST_PP_CAT_I(a, b)
 # else
-#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_OO((a, b))
-#    define BOOST_PP_CAT_OO(par) BOOST_PP_CAT_I ## par
+#    define NDNBOOST_PP_CAT(a, b) NDNBOOST_PP_CAT_OO((a, b))
+#    define NDNBOOST_PP_CAT_OO(par) NDNBOOST_PP_CAT_I ## par
 # endif
 #
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()
-#    define BOOST_PP_CAT_I(a, b) a ## b
+# if ~NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_MSVC()
+#    define NDNBOOST_PP_CAT_I(a, b) a ## b
 # else
-#    define BOOST_PP_CAT_I(a, b) BOOST_PP_CAT_II(~, a ## b)
-#    define BOOST_PP_CAT_II(p, res) res
+#    define NDNBOOST_PP_CAT_I(a, b) NDNBOOST_PP_CAT_II(~, a ## b)
+#    define NDNBOOST_PP_CAT_II(p, res) res
 # endif
 #
 # endif
diff --git a/include/ndnboost/preprocessor/comma_if.hpp b/include/ndnboost/preprocessor/comma_if.hpp
index 78e47a4..cabfbf1 100644
--- a/include/ndnboost/preprocessor/comma_if.hpp
+++ b/include/ndnboost/preprocessor/comma_if.hpp
@@ -9,8 +9,8 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_COMMA_IF_HPP
-# define BOOST_PREPROCESSOR_COMMA_IF_HPP
+# ifndef NDNBOOST_PREPROCESSOR_COMMA_IF_HPP
+# define NDNBOOST_PREPROCESSOR_COMMA_IF_HPP
 #
 # include <ndnboost/preprocessor/punctuation/comma_if.hpp>
 #
diff --git a/include/ndnboost/preprocessor/comparison/less_equal.hpp b/include/ndnboost/preprocessor/comparison/less_equal.hpp
index 2471564..3c209c0 100644
--- a/include/ndnboost/preprocessor/comparison/less_equal.hpp
+++ b/include/ndnboost/preprocessor/comparison/less_equal.hpp
@@ -11,29 +11,29 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_COMPARISON_LESS_EQUAL_HPP
-# define BOOST_PREPROCESSOR_COMPARISON_LESS_EQUAL_HPP
+# ifndef NDNBOOST_PREPROCESSOR_COMPARISON_LESS_EQUAL_HPP
+# define NDNBOOST_PREPROCESSOR_COMPARISON_LESS_EQUAL_HPP
 #
 # include <ndnboost/preprocessor/arithmetic/sub.hpp>
 # include <ndnboost/preprocessor/config/config.hpp>
 # include <ndnboost/preprocessor/logical/not.hpp>
 #
-# /* BOOST_PP_LESS_EQUAL */
+# /* NDNBOOST_PP_LESS_EQUAL */
 #
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_LESS_EQUAL(x, y) BOOST_PP_NOT(BOOST_PP_SUB(x, y))
+# if ~NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_EDG()
+#    define NDNBOOST_PP_LESS_EQUAL(x, y) NDNBOOST_PP_NOT(NDNBOOST_PP_SUB(x, y))
 # else
-#    define BOOST_PP_LESS_EQUAL(x, y) BOOST_PP_LESS_EQUAL_I(x, y)
-#    define BOOST_PP_LESS_EQUAL_I(x, y) BOOST_PP_NOT(BOOST_PP_SUB(x, y))
+#    define NDNBOOST_PP_LESS_EQUAL(x, y) NDNBOOST_PP_LESS_EQUAL_I(x, y)
+#    define NDNBOOST_PP_LESS_EQUAL_I(x, y) NDNBOOST_PP_NOT(NDNBOOST_PP_SUB(x, y))
 # endif
 #
-# /* BOOST_PP_LESS_EQUAL_D */
+# /* NDNBOOST_PP_LESS_EQUAL_D */
 #
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_LESS_EQUAL_D(d, x, y) BOOST_PP_NOT(BOOST_PP_SUB_D(d, x, y))
+# if ~NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_EDG()
+#    define NDNBOOST_PP_LESS_EQUAL_D(d, x, y) NDNBOOST_PP_NOT(NDNBOOST_PP_SUB_D(d, x, y))
 # else
-#    define BOOST_PP_LESS_EQUAL_D(d, x, y) BOOST_PP_LESS_EQUAL_D_I(d, x, y)
-#    define BOOST_PP_LESS_EQUAL_D_I(d, x, y) BOOST_PP_NOT(BOOST_PP_SUB_D(d, x, y))
+#    define NDNBOOST_PP_LESS_EQUAL_D(d, x, y) NDNBOOST_PP_LESS_EQUAL_D_I(d, x, y)
+#    define NDNBOOST_PP_LESS_EQUAL_D_I(d, x, y) NDNBOOST_PP_NOT(NDNBOOST_PP_SUB_D(d, x, y))
 # endif
 #
 # endif
diff --git a/include/ndnboost/preprocessor/config/config.hpp b/include/ndnboost/preprocessor/config/config.hpp
index d02eb58..6a59b4e 100644
--- a/include/ndnboost/preprocessor/config/config.hpp
+++ b/include/ndnboost/preprocessor/config/config.hpp
@@ -10,96 +10,96 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_CONFIG_CONFIG_HPP
-# define BOOST_PREPROCESSOR_CONFIG_CONFIG_HPP
+# ifndef NDNBOOST_PREPROCESSOR_CONFIG_CONFIG_HPP
+# define NDNBOOST_PREPROCESSOR_CONFIG_CONFIG_HPP
 #
-# /* BOOST_PP_CONFIG_FLAGS */
+# /* NDNBOOST_PP_CONFIG_FLAGS */
 #
-# define BOOST_PP_CONFIG_STRICT() 0x0001
-# define BOOST_PP_CONFIG_IDEAL() 0x0002
+# define NDNBOOST_PP_CONFIG_STRICT() 0x0001
+# define NDNBOOST_PP_CONFIG_IDEAL() 0x0002
 #
-# define BOOST_PP_CONFIG_MSVC() 0x0004
-# define BOOST_PP_CONFIG_MWCC() 0x0008
-# define BOOST_PP_CONFIG_BCC() 0x0010
-# define BOOST_PP_CONFIG_EDG() 0x0020
-# define BOOST_PP_CONFIG_DMC() 0x0040
+# define NDNBOOST_PP_CONFIG_MSVC() 0x0004
+# define NDNBOOST_PP_CONFIG_MWCC() 0x0008
+# define NDNBOOST_PP_CONFIG_BCC() 0x0010
+# define NDNBOOST_PP_CONFIG_EDG() 0x0020
+# define NDNBOOST_PP_CONFIG_DMC() 0x0040
 #
-# ifndef BOOST_PP_CONFIG_FLAGS
+# ifndef NDNBOOST_PP_CONFIG_FLAGS
 #    if defined(__GCCXML__)
-#        define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_STRICT())
+#        define NDNBOOST_PP_CONFIG_FLAGS() (NDNBOOST_PP_CONFIG_STRICT())
 #    elif defined(__WAVE__)
-#        define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_STRICT())
+#        define NDNBOOST_PP_CONFIG_FLAGS() (NDNBOOST_PP_CONFIG_STRICT())
 #    elif defined(__MWERKS__) && __MWERKS__ >= 0x3200
-#        define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_STRICT())
+#        define NDNBOOST_PP_CONFIG_FLAGS() (NDNBOOST_PP_CONFIG_STRICT())
 #    elif defined(__EDG__) || defined(__EDG_VERSION__)
 #        if defined(_MSC_VER) && __EDG_VERSION__ >= 308
-#            define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_MSVC())
+#            define NDNBOOST_PP_CONFIG_FLAGS() (NDNBOOST_PP_CONFIG_MSVC())
 #        else
-#            define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_EDG() | BOOST_PP_CONFIG_STRICT())
+#            define NDNBOOST_PP_CONFIG_FLAGS() (NDNBOOST_PP_CONFIG_EDG() | NDNBOOST_PP_CONFIG_STRICT())
 #        endif
 #    elif defined(__MWERKS__)
-#        define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_MWCC())
+#        define NDNBOOST_PP_CONFIG_FLAGS() (NDNBOOST_PP_CONFIG_MWCC())
 #    elif defined(__DMC__)
-#        define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_DMC())
+#        define NDNBOOST_PP_CONFIG_FLAGS() (NDNBOOST_PP_CONFIG_DMC())
 #    elif defined(__BORLANDC__) && __BORLANDC__ >= 0x581
-#        define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_STRICT())
+#        define NDNBOOST_PP_CONFIG_FLAGS() (NDNBOOST_PP_CONFIG_STRICT())
 #    elif defined(__BORLANDC__) || defined(__IBMC__) || defined(__IBMCPP__) || defined(__SUNPRO_CC)
-#        define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_BCC())
+#        define NDNBOOST_PP_CONFIG_FLAGS() (NDNBOOST_PP_CONFIG_BCC())
 #    elif defined(_MSC_VER)
-#        define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_MSVC())
+#        define NDNBOOST_PP_CONFIG_FLAGS() (NDNBOOST_PP_CONFIG_MSVC())
 #    else
-#        define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_STRICT())
+#        define NDNBOOST_PP_CONFIG_FLAGS() (NDNBOOST_PP_CONFIG_STRICT())
 #    endif
 # endif
 #
-# /* BOOST_PP_CONFIG_EXTENDED_LINE_INFO */
+# /* NDNBOOST_PP_CONFIG_EXTENDED_LINE_INFO */
 #
-# ifndef BOOST_PP_CONFIG_EXTENDED_LINE_INFO
-#    define BOOST_PP_CONFIG_EXTENDED_LINE_INFO 0
+# ifndef NDNBOOST_PP_CONFIG_EXTENDED_LINE_INFO
+#    define NDNBOOST_PP_CONFIG_EXTENDED_LINE_INFO 0
 # endif
 #
-# /* BOOST_PP_CONFIG_ERRORS */
+# /* NDNBOOST_PP_CONFIG_ERRORS */
 #
-# ifndef BOOST_PP_CONFIG_ERRORS
+# ifndef NDNBOOST_PP_CONFIG_ERRORS
 #    ifdef NDEBUG
-#        define BOOST_PP_CONFIG_ERRORS 0
+#        define NDNBOOST_PP_CONFIG_ERRORS 0
 #    else
-#        define BOOST_PP_CONFIG_ERRORS 1
+#        define NDNBOOST_PP_CONFIG_ERRORS 1
 #    endif
 # endif
 #
-# /* BOOST_PP_VARIADICS */
+# /* NDNBOOST_PP_VARIADICS */
 #
-# if !defined BOOST_PP_VARIADICS
+# if !defined NDNBOOST_PP_VARIADICS
 #    /* variadic support explicitly disabled for all untested compilers */
 #    if defined __GCCXML__ || defined __CUDACC__ || defined __PATHSCALE__ || defined __clang__ || defined __DMC__ || defined __CODEGEARC__ || defined __BORLANDC__ || defined __MWERKS__ || defined __SUNPRO_CC || defined __HP_aCC && !defined __EDG__ || defined __MRC__ || defined __SC__ || defined __IBMCPP__ || defined __PGI
-#        define BOOST_PP_VARIADICS 0
+#        define NDNBOOST_PP_VARIADICS 0
 #    /* VC++ (C/C++) */
 #    elif defined _MSC_VER && _MSC_VER >= 1400 && !defined __EDG__
 #        if _MSC_VER >= 1400
-#            define BOOST_PP_VARIADICS 1
-#            define BOOST_PP_VARIADICS_MSVC 1
+#            define NDNBOOST_PP_VARIADICS 1
+#            define NDNBOOST_PP_VARIADICS_MSVC 1
 #        else
-#            define BOOST_PP_VARIADICS 0
+#            define NDNBOOST_PP_VARIADICS 0
 #        endif
 #    /* Wave (C/C++), GCC (C++) */
 #    elif defined __WAVE__ && __WAVE_HAS_VARIADICS__ || defined __GNUC__ && __GXX_EXPERIMENTAL_CXX0X__
-#        define BOOST_PP_VARIADICS 1
+#        define NDNBOOST_PP_VARIADICS 1
 #    /* EDG-based (C/C++), GCC (C), and unknown (C/C++) */
 #    elif !defined __cplusplus && __STDC_VERSION__ >= 199901L || __cplusplus >= 201103L
-#        define BOOST_PP_VARIADICS 1
+#        define NDNBOOST_PP_VARIADICS 1
 #    else
-#        define BOOST_PP_VARIADICS 0
+#        define NDNBOOST_PP_VARIADICS 0
 #    endif
-# elif !BOOST_PP_VARIADICS + 1 < 2
-#    undef BOOST_PP_VARIADICS
-#    define BOOST_PP_VARIADICS 1
+# elif !NDNBOOST_PP_VARIADICS + 1 < 2
+#    undef NDNBOOST_PP_VARIADICS
+#    define NDNBOOST_PP_VARIADICS 1
 #    if defined _MSC_VER && _MSC_VER >= 1400 && !(defined __EDG__ || defined __GCCXML__ || defined __CUDACC__ || defined __PATHSCALE__ || defined __clang__ || defined __DMC__ || defined __CODEGEARC__ || defined __BORLANDC__ || defined __MWERKS__ || defined __SUNPRO_CC || defined __HP_aCC || defined __MRC__ || defined __SC__ || defined __IBMCPP__ || defined __PGI)
-#        define BOOST_PP_VARIADICS_MSVC 1
+#        define NDNBOOST_PP_VARIADICS_MSVC 1
 #    endif
 # else
-#    undef BOOST_PP_VARIADICS
-#    define BOOST_PP_VARIADICS 0
+#    undef NDNBOOST_PP_VARIADICS
+#    define NDNBOOST_PP_VARIADICS 0
 # endif
 #
 # endif
diff --git a/include/ndnboost/preprocessor/control/deduce_d.hpp b/include/ndnboost/preprocessor/control/deduce_d.hpp
index 1aba271..6c74cc0 100644
--- a/include/ndnboost/preprocessor/control/deduce_d.hpp
+++ b/include/ndnboost/preprocessor/control/deduce_d.hpp
@@ -9,14 +9,14 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_CONTROL_DEDUCE_D_HPP
-# define BOOST_PREPROCESSOR_CONTROL_DEDUCE_D_HPP
+# ifndef NDNBOOST_PREPROCESSOR_CONTROL_DEDUCE_D_HPP
+# define NDNBOOST_PREPROCESSOR_CONTROL_DEDUCE_D_HPP
 #
 # include <ndnboost/preprocessor/control/while.hpp>
 # include <ndnboost/preprocessor/detail/auto_rec.hpp>
 #
-# /* BOOST_PP_DEDUCE_D */
+# /* NDNBOOST_PP_DEDUCE_D */
 #
-# define BOOST_PP_DEDUCE_D() BOOST_PP_AUTO_REC(BOOST_PP_WHILE_P, 256)
+# define NDNBOOST_PP_DEDUCE_D() NDNBOOST_PP_AUTO_REC(NDNBOOST_PP_WHILE_P, 256)
 #
 # endif
diff --git a/include/ndnboost/preprocessor/control/detail/dmc/while.hpp b/include/ndnboost/preprocessor/control/detail/dmc/while.hpp
index b2e2e9f..a766d9b 100644
--- a/include/ndnboost/preprocessor/control/detail/dmc/while.hpp
+++ b/include/ndnboost/preprocessor/control/detail/dmc/while.hpp
@@ -11,526 +11,526 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_CONTROL_DETAIL_WHILE_HPP
-# define BOOST_PREPROCESSOR_CONTROL_DETAIL_WHILE_HPP
+# ifndef NDNBOOST_PREPROCESSOR_CONTROL_DETAIL_WHILE_HPP
+# define NDNBOOST_PREPROCESSOR_CONTROL_DETAIL_WHILE_HPP
 #
 # include <ndnboost/preprocessor/control/iif.hpp>
 # include <ndnboost/preprocessor/logical/bool.hpp>
 # include <ndnboost/preprocessor/tuple/eat.hpp>
 #
-# define BOOST_PP_WHILE_1(p, o, s) BOOST_PP_WHILE_1_C(BOOST_PP_BOOL(p##(2, s)), p, o, s)
-# define BOOST_PP_WHILE_2(p, o, s) BOOST_PP_WHILE_2_C(BOOST_PP_BOOL(p##(3, s)), p, o, s)
-# define BOOST_PP_WHILE_3(p, o, s) BOOST_PP_WHILE_3_C(BOOST_PP_BOOL(p##(4, s)), p, o, s)
-# define BOOST_PP_WHILE_4(p, o, s) BOOST_PP_WHILE_4_C(BOOST_PP_BOOL(p##(5, s)), p, o, s)
-# define BOOST_PP_WHILE_5(p, o, s) BOOST_PP_WHILE_5_C(BOOST_PP_BOOL(p##(6, s)), p, o, s)
-# define BOOST_PP_WHILE_6(p, o, s) BOOST_PP_WHILE_6_C(BOOST_PP_BOOL(p##(7, s)), p, o, s)
-# define BOOST_PP_WHILE_7(p, o, s) BOOST_PP_WHILE_7_C(BOOST_PP_BOOL(p##(8, s)), p, o, s)
-# define BOOST_PP_WHILE_8(p, o, s) BOOST_PP_WHILE_8_C(BOOST_PP_BOOL(p##(9, s)), p, o, s)
-# define BOOST_PP_WHILE_9(p, o, s) BOOST_PP_WHILE_9_C(BOOST_PP_BOOL(p##(10, s)), p, o, s)
-# define BOOST_PP_WHILE_10(p, o, s) BOOST_PP_WHILE_10_C(BOOST_PP_BOOL(p##(11, s)), p, o, s)
-# define BOOST_PP_WHILE_11(p, o, s) BOOST_PP_WHILE_11_C(BOOST_PP_BOOL(p##(12, s)), p, o, s)
-# define BOOST_PP_WHILE_12(p, o, s) BOOST_PP_WHILE_12_C(BOOST_PP_BOOL(p##(13, s)), p, o, s)
-# define BOOST_PP_WHILE_13(p, o, s) BOOST_PP_WHILE_13_C(BOOST_PP_BOOL(p##(14, s)), p, o, s)
-# define BOOST_PP_WHILE_14(p, o, s) BOOST_PP_WHILE_14_C(BOOST_PP_BOOL(p##(15, s)), p, o, s)
-# define BOOST_PP_WHILE_15(p, o, s) BOOST_PP_WHILE_15_C(BOOST_PP_BOOL(p##(16, s)), p, o, s)
-# define BOOST_PP_WHILE_16(p, o, s) BOOST_PP_WHILE_16_C(BOOST_PP_BOOL(p##(17, s)), p, o, s)
-# define BOOST_PP_WHILE_17(p, o, s) BOOST_PP_WHILE_17_C(BOOST_PP_BOOL(p##(18, s)), p, o, s)
-# define BOOST_PP_WHILE_18(p, o, s) BOOST_PP_WHILE_18_C(BOOST_PP_BOOL(p##(19, s)), p, o, s)
-# define BOOST_PP_WHILE_19(p, o, s) BOOST_PP_WHILE_19_C(BOOST_PP_BOOL(p##(20, s)), p, o, s)
-# define BOOST_PP_WHILE_20(p, o, s) BOOST_PP_WHILE_20_C(BOOST_PP_BOOL(p##(21, s)), p, o, s)
-# define BOOST_PP_WHILE_21(p, o, s) BOOST_PP_WHILE_21_C(BOOST_PP_BOOL(p##(22, s)), p, o, s)
-# define BOOST_PP_WHILE_22(p, o, s) BOOST_PP_WHILE_22_C(BOOST_PP_BOOL(p##(23, s)), p, o, s)
-# define BOOST_PP_WHILE_23(p, o, s) BOOST_PP_WHILE_23_C(BOOST_PP_BOOL(p##(24, s)), p, o, s)
-# define BOOST_PP_WHILE_24(p, o, s) BOOST_PP_WHILE_24_C(BOOST_PP_BOOL(p##(25, s)), p, o, s)
-# define BOOST_PP_WHILE_25(p, o, s) BOOST_PP_WHILE_25_C(BOOST_PP_BOOL(p##(26, s)), p, o, s)
-# define BOOST_PP_WHILE_26(p, o, s) BOOST_PP_WHILE_26_C(BOOST_PP_BOOL(p##(27, s)), p, o, s)
-# define BOOST_PP_WHILE_27(p, o, s) BOOST_PP_WHILE_27_C(BOOST_PP_BOOL(p##(28, s)), p, o, s)
-# define BOOST_PP_WHILE_28(p, o, s) BOOST_PP_WHILE_28_C(BOOST_PP_BOOL(p##(29, s)), p, o, s)
-# define BOOST_PP_WHILE_29(p, o, s) BOOST_PP_WHILE_29_C(BOOST_PP_BOOL(p##(30, s)), p, o, s)
-# define BOOST_PP_WHILE_30(p, o, s) BOOST_PP_WHILE_30_C(BOOST_PP_BOOL(p##(31, s)), p, o, s)
-# define BOOST_PP_WHILE_31(p, o, s) BOOST_PP_WHILE_31_C(BOOST_PP_BOOL(p##(32, s)), p, o, s)
-# define BOOST_PP_WHILE_32(p, o, s) BOOST_PP_WHILE_32_C(BOOST_PP_BOOL(p##(33, s)), p, o, s)
-# define BOOST_PP_WHILE_33(p, o, s) BOOST_PP_WHILE_33_C(BOOST_PP_BOOL(p##(34, s)), p, o, s)
-# define BOOST_PP_WHILE_34(p, o, s) BOOST_PP_WHILE_34_C(BOOST_PP_BOOL(p##(35, s)), p, o, s)
-# define BOOST_PP_WHILE_35(p, o, s) BOOST_PP_WHILE_35_C(BOOST_PP_BOOL(p##(36, s)), p, o, s)
-# define BOOST_PP_WHILE_36(p, o, s) BOOST_PP_WHILE_36_C(BOOST_PP_BOOL(p##(37, s)), p, o, s)
-# define BOOST_PP_WHILE_37(p, o, s) BOOST_PP_WHILE_37_C(BOOST_PP_BOOL(p##(38, s)), p, o, s)
-# define BOOST_PP_WHILE_38(p, o, s) BOOST_PP_WHILE_38_C(BOOST_PP_BOOL(p##(39, s)), p, o, s)
-# define BOOST_PP_WHILE_39(p, o, s) BOOST_PP_WHILE_39_C(BOOST_PP_BOOL(p##(40, s)), p, o, s)
-# define BOOST_PP_WHILE_40(p, o, s) BOOST_PP_WHILE_40_C(BOOST_PP_BOOL(p##(41, s)), p, o, s)
-# define BOOST_PP_WHILE_41(p, o, s) BOOST_PP_WHILE_41_C(BOOST_PP_BOOL(p##(42, s)), p, o, s)
-# define BOOST_PP_WHILE_42(p, o, s) BOOST_PP_WHILE_42_C(BOOST_PP_BOOL(p##(43, s)), p, o, s)
-# define BOOST_PP_WHILE_43(p, o, s) BOOST_PP_WHILE_43_C(BOOST_PP_BOOL(p##(44, s)), p, o, s)
-# define BOOST_PP_WHILE_44(p, o, s) BOOST_PP_WHILE_44_C(BOOST_PP_BOOL(p##(45, s)), p, o, s)
-# define BOOST_PP_WHILE_45(p, o, s) BOOST_PP_WHILE_45_C(BOOST_PP_BOOL(p##(46, s)), p, o, s)
-# define BOOST_PP_WHILE_46(p, o, s) BOOST_PP_WHILE_46_C(BOOST_PP_BOOL(p##(47, s)), p, o, s)
-# define BOOST_PP_WHILE_47(p, o, s) BOOST_PP_WHILE_47_C(BOOST_PP_BOOL(p##(48, s)), p, o, s)
-# define BOOST_PP_WHILE_48(p, o, s) BOOST_PP_WHILE_48_C(BOOST_PP_BOOL(p##(49, s)), p, o, s)
-# define BOOST_PP_WHILE_49(p, o, s) BOOST_PP_WHILE_49_C(BOOST_PP_BOOL(p##(50, s)), p, o, s)
-# define BOOST_PP_WHILE_50(p, o, s) BOOST_PP_WHILE_50_C(BOOST_PP_BOOL(p##(51, s)), p, o, s)
-# define BOOST_PP_WHILE_51(p, o, s) BOOST_PP_WHILE_51_C(BOOST_PP_BOOL(p##(52, s)), p, o, s)
-# define BOOST_PP_WHILE_52(p, o, s) BOOST_PP_WHILE_52_C(BOOST_PP_BOOL(p##(53, s)), p, o, s)
-# define BOOST_PP_WHILE_53(p, o, s) BOOST_PP_WHILE_53_C(BOOST_PP_BOOL(p##(54, s)), p, o, s)
-# define BOOST_PP_WHILE_54(p, o, s) BOOST_PP_WHILE_54_C(BOOST_PP_BOOL(p##(55, s)), p, o, s)
-# define BOOST_PP_WHILE_55(p, o, s) BOOST_PP_WHILE_55_C(BOOST_PP_BOOL(p##(56, s)), p, o, s)
-# define BOOST_PP_WHILE_56(p, o, s) BOOST_PP_WHILE_56_C(BOOST_PP_BOOL(p##(57, s)), p, o, s)
-# define BOOST_PP_WHILE_57(p, o, s) BOOST_PP_WHILE_57_C(BOOST_PP_BOOL(p##(58, s)), p, o, s)
-# define BOOST_PP_WHILE_58(p, o, s) BOOST_PP_WHILE_58_C(BOOST_PP_BOOL(p##(59, s)), p, o, s)
-# define BOOST_PP_WHILE_59(p, o, s) BOOST_PP_WHILE_59_C(BOOST_PP_BOOL(p##(60, s)), p, o, s)
-# define BOOST_PP_WHILE_60(p, o, s) BOOST_PP_WHILE_60_C(BOOST_PP_BOOL(p##(61, s)), p, o, s)
-# define BOOST_PP_WHILE_61(p, o, s) BOOST_PP_WHILE_61_C(BOOST_PP_BOOL(p##(62, s)), p, o, s)
-# define BOOST_PP_WHILE_62(p, o, s) BOOST_PP_WHILE_62_C(BOOST_PP_BOOL(p##(63, s)), p, o, s)
-# define BOOST_PP_WHILE_63(p, o, s) BOOST_PP_WHILE_63_C(BOOST_PP_BOOL(p##(64, s)), p, o, s)
-# define BOOST_PP_WHILE_64(p, o, s) BOOST_PP_WHILE_64_C(BOOST_PP_BOOL(p##(65, s)), p, o, s)
-# define BOOST_PP_WHILE_65(p, o, s) BOOST_PP_WHILE_65_C(BOOST_PP_BOOL(p##(66, s)), p, o, s)
-# define BOOST_PP_WHILE_66(p, o, s) BOOST_PP_WHILE_66_C(BOOST_PP_BOOL(p##(67, s)), p, o, s)
-# define BOOST_PP_WHILE_67(p, o, s) BOOST_PP_WHILE_67_C(BOOST_PP_BOOL(p##(68, s)), p, o, s)
-# define BOOST_PP_WHILE_68(p, o, s) BOOST_PP_WHILE_68_C(BOOST_PP_BOOL(p##(69, s)), p, o, s)
-# define BOOST_PP_WHILE_69(p, o, s) BOOST_PP_WHILE_69_C(BOOST_PP_BOOL(p##(70, s)), p, o, s)
-# define BOOST_PP_WHILE_70(p, o, s) BOOST_PP_WHILE_70_C(BOOST_PP_BOOL(p##(71, s)), p, o, s)
-# define BOOST_PP_WHILE_71(p, o, s) BOOST_PP_WHILE_71_C(BOOST_PP_BOOL(p##(72, s)), p, o, s)
-# define BOOST_PP_WHILE_72(p, o, s) BOOST_PP_WHILE_72_C(BOOST_PP_BOOL(p##(73, s)), p, o, s)
-# define BOOST_PP_WHILE_73(p, o, s) BOOST_PP_WHILE_73_C(BOOST_PP_BOOL(p##(74, s)), p, o, s)
-# define BOOST_PP_WHILE_74(p, o, s) BOOST_PP_WHILE_74_C(BOOST_PP_BOOL(p##(75, s)), p, o, s)
-# define BOOST_PP_WHILE_75(p, o, s) BOOST_PP_WHILE_75_C(BOOST_PP_BOOL(p##(76, s)), p, o, s)
-# define BOOST_PP_WHILE_76(p, o, s) BOOST_PP_WHILE_76_C(BOOST_PP_BOOL(p##(77, s)), p, o, s)
-# define BOOST_PP_WHILE_77(p, o, s) BOOST_PP_WHILE_77_C(BOOST_PP_BOOL(p##(78, s)), p, o, s)
-# define BOOST_PP_WHILE_78(p, o, s) BOOST_PP_WHILE_78_C(BOOST_PP_BOOL(p##(79, s)), p, o, s)
-# define BOOST_PP_WHILE_79(p, o, s) BOOST_PP_WHILE_79_C(BOOST_PP_BOOL(p##(80, s)), p, o, s)
-# define BOOST_PP_WHILE_80(p, o, s) BOOST_PP_WHILE_80_C(BOOST_PP_BOOL(p##(81, s)), p, o, s)
-# define BOOST_PP_WHILE_81(p, o, s) BOOST_PP_WHILE_81_C(BOOST_PP_BOOL(p##(82, s)), p, o, s)
-# define BOOST_PP_WHILE_82(p, o, s) BOOST_PP_WHILE_82_C(BOOST_PP_BOOL(p##(83, s)), p, o, s)
-# define BOOST_PP_WHILE_83(p, o, s) BOOST_PP_WHILE_83_C(BOOST_PP_BOOL(p##(84, s)), p, o, s)
-# define BOOST_PP_WHILE_84(p, o, s) BOOST_PP_WHILE_84_C(BOOST_PP_BOOL(p##(85, s)), p, o, s)
-# define BOOST_PP_WHILE_85(p, o, s) BOOST_PP_WHILE_85_C(BOOST_PP_BOOL(p##(86, s)), p, o, s)
-# define BOOST_PP_WHILE_86(p, o, s) BOOST_PP_WHILE_86_C(BOOST_PP_BOOL(p##(87, s)), p, o, s)
-# define BOOST_PP_WHILE_87(p, o, s) BOOST_PP_WHILE_87_C(BOOST_PP_BOOL(p##(88, s)), p, o, s)
-# define BOOST_PP_WHILE_88(p, o, s) BOOST_PP_WHILE_88_C(BOOST_PP_BOOL(p##(89, s)), p, o, s)
-# define BOOST_PP_WHILE_89(p, o, s) BOOST_PP_WHILE_89_C(BOOST_PP_BOOL(p##(90, s)), p, o, s)
-# define BOOST_PP_WHILE_90(p, o, s) BOOST_PP_WHILE_90_C(BOOST_PP_BOOL(p##(91, s)), p, o, s)
-# define BOOST_PP_WHILE_91(p, o, s) BOOST_PP_WHILE_91_C(BOOST_PP_BOOL(p##(92, s)), p, o, s)
-# define BOOST_PP_WHILE_92(p, o, s) BOOST_PP_WHILE_92_C(BOOST_PP_BOOL(p##(93, s)), p, o, s)
-# define BOOST_PP_WHILE_93(p, o, s) BOOST_PP_WHILE_93_C(BOOST_PP_BOOL(p##(94, s)), p, o, s)
-# define BOOST_PP_WHILE_94(p, o, s) BOOST_PP_WHILE_94_C(BOOST_PP_BOOL(p##(95, s)), p, o, s)
-# define BOOST_PP_WHILE_95(p, o, s) BOOST_PP_WHILE_95_C(BOOST_PP_BOOL(p##(96, s)), p, o, s)
-# define BOOST_PP_WHILE_96(p, o, s) BOOST_PP_WHILE_96_C(BOOST_PP_BOOL(p##(97, s)), p, o, s)
-# define BOOST_PP_WHILE_97(p, o, s) BOOST_PP_WHILE_97_C(BOOST_PP_BOOL(p##(98, s)), p, o, s)
-# define BOOST_PP_WHILE_98(p, o, s) BOOST_PP_WHILE_98_C(BOOST_PP_BOOL(p##(99, s)), p, o, s)
-# define BOOST_PP_WHILE_99(p, o, s) BOOST_PP_WHILE_99_C(BOOST_PP_BOOL(p##(100, s)), p, o, s)
-# define BOOST_PP_WHILE_100(p, o, s) BOOST_PP_WHILE_100_C(BOOST_PP_BOOL(p##(101, s)), p, o, s)
-# define BOOST_PP_WHILE_101(p, o, s) BOOST_PP_WHILE_101_C(BOOST_PP_BOOL(p##(102, s)), p, o, s)
-# define BOOST_PP_WHILE_102(p, o, s) BOOST_PP_WHILE_102_C(BOOST_PP_BOOL(p##(103, s)), p, o, s)
-# define BOOST_PP_WHILE_103(p, o, s) BOOST_PP_WHILE_103_C(BOOST_PP_BOOL(p##(104, s)), p, o, s)
-# define BOOST_PP_WHILE_104(p, o, s) BOOST_PP_WHILE_104_C(BOOST_PP_BOOL(p##(105, s)), p, o, s)
-# define BOOST_PP_WHILE_105(p, o, s) BOOST_PP_WHILE_105_C(BOOST_PP_BOOL(p##(106, s)), p, o, s)
-# define BOOST_PP_WHILE_106(p, o, s) BOOST_PP_WHILE_106_C(BOOST_PP_BOOL(p##(107, s)), p, o, s)
-# define BOOST_PP_WHILE_107(p, o, s) BOOST_PP_WHILE_107_C(BOOST_PP_BOOL(p##(108, s)), p, o, s)
-# define BOOST_PP_WHILE_108(p, o, s) BOOST_PP_WHILE_108_C(BOOST_PP_BOOL(p##(109, s)), p, o, s)
-# define BOOST_PP_WHILE_109(p, o, s) BOOST_PP_WHILE_109_C(BOOST_PP_BOOL(p##(110, s)), p, o, s)
-# define BOOST_PP_WHILE_110(p, o, s) BOOST_PP_WHILE_110_C(BOOST_PP_BOOL(p##(111, s)), p, o, s)
-# define BOOST_PP_WHILE_111(p, o, s) BOOST_PP_WHILE_111_C(BOOST_PP_BOOL(p##(112, s)), p, o, s)
-# define BOOST_PP_WHILE_112(p, o, s) BOOST_PP_WHILE_112_C(BOOST_PP_BOOL(p##(113, s)), p, o, s)
-# define BOOST_PP_WHILE_113(p, o, s) BOOST_PP_WHILE_113_C(BOOST_PP_BOOL(p##(114, s)), p, o, s)
-# define BOOST_PP_WHILE_114(p, o, s) BOOST_PP_WHILE_114_C(BOOST_PP_BOOL(p##(115, s)), p, o, s)
-# define BOOST_PP_WHILE_115(p, o, s) BOOST_PP_WHILE_115_C(BOOST_PP_BOOL(p##(116, s)), p, o, s)
-# define BOOST_PP_WHILE_116(p, o, s) BOOST_PP_WHILE_116_C(BOOST_PP_BOOL(p##(117, s)), p, o, s)
-# define BOOST_PP_WHILE_117(p, o, s) BOOST_PP_WHILE_117_C(BOOST_PP_BOOL(p##(118, s)), p, o, s)
-# define BOOST_PP_WHILE_118(p, o, s) BOOST_PP_WHILE_118_C(BOOST_PP_BOOL(p##(119, s)), p, o, s)
-# define BOOST_PP_WHILE_119(p, o, s) BOOST_PP_WHILE_119_C(BOOST_PP_BOOL(p##(120, s)), p, o, s)
-# define BOOST_PP_WHILE_120(p, o, s) BOOST_PP_WHILE_120_C(BOOST_PP_BOOL(p##(121, s)), p, o, s)
-# define BOOST_PP_WHILE_121(p, o, s) BOOST_PP_WHILE_121_C(BOOST_PP_BOOL(p##(122, s)), p, o, s)
-# define BOOST_PP_WHILE_122(p, o, s) BOOST_PP_WHILE_122_C(BOOST_PP_BOOL(p##(123, s)), p, o, s)
-# define BOOST_PP_WHILE_123(p, o, s) BOOST_PP_WHILE_123_C(BOOST_PP_BOOL(p##(124, s)), p, o, s)
-# define BOOST_PP_WHILE_124(p, o, s) BOOST_PP_WHILE_124_C(BOOST_PP_BOOL(p##(125, s)), p, o, s)
-# define BOOST_PP_WHILE_125(p, o, s) BOOST_PP_WHILE_125_C(BOOST_PP_BOOL(p##(126, s)), p, o, s)
-# define BOOST_PP_WHILE_126(p, o, s) BOOST_PP_WHILE_126_C(BOOST_PP_BOOL(p##(127, s)), p, o, s)
-# define BOOST_PP_WHILE_127(p, o, s) BOOST_PP_WHILE_127_C(BOOST_PP_BOOL(p##(128, s)), p, o, s)
-# define BOOST_PP_WHILE_128(p, o, s) BOOST_PP_WHILE_128_C(BOOST_PP_BOOL(p##(129, s)), p, o, s)
-# define BOOST_PP_WHILE_129(p, o, s) BOOST_PP_WHILE_129_C(BOOST_PP_BOOL(p##(130, s)), p, o, s)
-# define BOOST_PP_WHILE_130(p, o, s) BOOST_PP_WHILE_130_C(BOOST_PP_BOOL(p##(131, s)), p, o, s)
-# define BOOST_PP_WHILE_131(p, o, s) BOOST_PP_WHILE_131_C(BOOST_PP_BOOL(p##(132, s)), p, o, s)
-# define BOOST_PP_WHILE_132(p, o, s) BOOST_PP_WHILE_132_C(BOOST_PP_BOOL(p##(133, s)), p, o, s)
-# define BOOST_PP_WHILE_133(p, o, s) BOOST_PP_WHILE_133_C(BOOST_PP_BOOL(p##(134, s)), p, o, s)
-# define BOOST_PP_WHILE_134(p, o, s) BOOST_PP_WHILE_134_C(BOOST_PP_BOOL(p##(135, s)), p, o, s)
-# define BOOST_PP_WHILE_135(p, o, s) BOOST_PP_WHILE_135_C(BOOST_PP_BOOL(p##(136, s)), p, o, s)
-# define BOOST_PP_WHILE_136(p, o, s) BOOST_PP_WHILE_136_C(BOOST_PP_BOOL(p##(137, s)), p, o, s)
-# define BOOST_PP_WHILE_137(p, o, s) BOOST_PP_WHILE_137_C(BOOST_PP_BOOL(p##(138, s)), p, o, s)
-# define BOOST_PP_WHILE_138(p, o, s) BOOST_PP_WHILE_138_C(BOOST_PP_BOOL(p##(139, s)), p, o, s)
-# define BOOST_PP_WHILE_139(p, o, s) BOOST_PP_WHILE_139_C(BOOST_PP_BOOL(p##(140, s)), p, o, s)
-# define BOOST_PP_WHILE_140(p, o, s) BOOST_PP_WHILE_140_C(BOOST_PP_BOOL(p##(141, s)), p, o, s)
-# define BOOST_PP_WHILE_141(p, o, s) BOOST_PP_WHILE_141_C(BOOST_PP_BOOL(p##(142, s)), p, o, s)
-# define BOOST_PP_WHILE_142(p, o, s) BOOST_PP_WHILE_142_C(BOOST_PP_BOOL(p##(143, s)), p, o, s)
-# define BOOST_PP_WHILE_143(p, o, s) BOOST_PP_WHILE_143_C(BOOST_PP_BOOL(p##(144, s)), p, o, s)
-# define BOOST_PP_WHILE_144(p, o, s) BOOST_PP_WHILE_144_C(BOOST_PP_BOOL(p##(145, s)), p, o, s)
-# define BOOST_PP_WHILE_145(p, o, s) BOOST_PP_WHILE_145_C(BOOST_PP_BOOL(p##(146, s)), p, o, s)
-# define BOOST_PP_WHILE_146(p, o, s) BOOST_PP_WHILE_146_C(BOOST_PP_BOOL(p##(147, s)), p, o, s)
-# define BOOST_PP_WHILE_147(p, o, s) BOOST_PP_WHILE_147_C(BOOST_PP_BOOL(p##(148, s)), p, o, s)
-# define BOOST_PP_WHILE_148(p, o, s) BOOST_PP_WHILE_148_C(BOOST_PP_BOOL(p##(149, s)), p, o, s)
-# define BOOST_PP_WHILE_149(p, o, s) BOOST_PP_WHILE_149_C(BOOST_PP_BOOL(p##(150, s)), p, o, s)
-# define BOOST_PP_WHILE_150(p, o, s) BOOST_PP_WHILE_150_C(BOOST_PP_BOOL(p##(151, s)), p, o, s)
-# define BOOST_PP_WHILE_151(p, o, s) BOOST_PP_WHILE_151_C(BOOST_PP_BOOL(p##(152, s)), p, o, s)
-# define BOOST_PP_WHILE_152(p, o, s) BOOST_PP_WHILE_152_C(BOOST_PP_BOOL(p##(153, s)), p, o, s)
-# define BOOST_PP_WHILE_153(p, o, s) BOOST_PP_WHILE_153_C(BOOST_PP_BOOL(p##(154, s)), p, o, s)
-# define BOOST_PP_WHILE_154(p, o, s) BOOST_PP_WHILE_154_C(BOOST_PP_BOOL(p##(155, s)), p, o, s)
-# define BOOST_PP_WHILE_155(p, o, s) BOOST_PP_WHILE_155_C(BOOST_PP_BOOL(p##(156, s)), p, o, s)
-# define BOOST_PP_WHILE_156(p, o, s) BOOST_PP_WHILE_156_C(BOOST_PP_BOOL(p##(157, s)), p, o, s)
-# define BOOST_PP_WHILE_157(p, o, s) BOOST_PP_WHILE_157_C(BOOST_PP_BOOL(p##(158, s)), p, o, s)
-# define BOOST_PP_WHILE_158(p, o, s) BOOST_PP_WHILE_158_C(BOOST_PP_BOOL(p##(159, s)), p, o, s)
-# define BOOST_PP_WHILE_159(p, o, s) BOOST_PP_WHILE_159_C(BOOST_PP_BOOL(p##(160, s)), p, o, s)
-# define BOOST_PP_WHILE_160(p, o, s) BOOST_PP_WHILE_160_C(BOOST_PP_BOOL(p##(161, s)), p, o, s)
-# define BOOST_PP_WHILE_161(p, o, s) BOOST_PP_WHILE_161_C(BOOST_PP_BOOL(p##(162, s)), p, o, s)
-# define BOOST_PP_WHILE_162(p, o, s) BOOST_PP_WHILE_162_C(BOOST_PP_BOOL(p##(163, s)), p, o, s)
-# define BOOST_PP_WHILE_163(p, o, s) BOOST_PP_WHILE_163_C(BOOST_PP_BOOL(p##(164, s)), p, o, s)
-# define BOOST_PP_WHILE_164(p, o, s) BOOST_PP_WHILE_164_C(BOOST_PP_BOOL(p##(165, s)), p, o, s)
-# define BOOST_PP_WHILE_165(p, o, s) BOOST_PP_WHILE_165_C(BOOST_PP_BOOL(p##(166, s)), p, o, s)
-# define BOOST_PP_WHILE_166(p, o, s) BOOST_PP_WHILE_166_C(BOOST_PP_BOOL(p##(167, s)), p, o, s)
-# define BOOST_PP_WHILE_167(p, o, s) BOOST_PP_WHILE_167_C(BOOST_PP_BOOL(p##(168, s)), p, o, s)
-# define BOOST_PP_WHILE_168(p, o, s) BOOST_PP_WHILE_168_C(BOOST_PP_BOOL(p##(169, s)), p, o, s)
-# define BOOST_PP_WHILE_169(p, o, s) BOOST_PP_WHILE_169_C(BOOST_PP_BOOL(p##(170, s)), p, o, s)
-# define BOOST_PP_WHILE_170(p, o, s) BOOST_PP_WHILE_170_C(BOOST_PP_BOOL(p##(171, s)), p, o, s)
-# define BOOST_PP_WHILE_171(p, o, s) BOOST_PP_WHILE_171_C(BOOST_PP_BOOL(p##(172, s)), p, o, s)
-# define BOOST_PP_WHILE_172(p, o, s) BOOST_PP_WHILE_172_C(BOOST_PP_BOOL(p##(173, s)), p, o, s)
-# define BOOST_PP_WHILE_173(p, o, s) BOOST_PP_WHILE_173_C(BOOST_PP_BOOL(p##(174, s)), p, o, s)
-# define BOOST_PP_WHILE_174(p, o, s) BOOST_PP_WHILE_174_C(BOOST_PP_BOOL(p##(175, s)), p, o, s)
-# define BOOST_PP_WHILE_175(p, o, s) BOOST_PP_WHILE_175_C(BOOST_PP_BOOL(p##(176, s)), p, o, s)
-# define BOOST_PP_WHILE_176(p, o, s) BOOST_PP_WHILE_176_C(BOOST_PP_BOOL(p##(177, s)), p, o, s)
-# define BOOST_PP_WHILE_177(p, o, s) BOOST_PP_WHILE_177_C(BOOST_PP_BOOL(p##(178, s)), p, o, s)
-# define BOOST_PP_WHILE_178(p, o, s) BOOST_PP_WHILE_178_C(BOOST_PP_BOOL(p##(179, s)), p, o, s)
-# define BOOST_PP_WHILE_179(p, o, s) BOOST_PP_WHILE_179_C(BOOST_PP_BOOL(p##(180, s)), p, o, s)
-# define BOOST_PP_WHILE_180(p, o, s) BOOST_PP_WHILE_180_C(BOOST_PP_BOOL(p##(181, s)), p, o, s)
-# define BOOST_PP_WHILE_181(p, o, s) BOOST_PP_WHILE_181_C(BOOST_PP_BOOL(p##(182, s)), p, o, s)
-# define BOOST_PP_WHILE_182(p, o, s) BOOST_PP_WHILE_182_C(BOOST_PP_BOOL(p##(183, s)), p, o, s)
-# define BOOST_PP_WHILE_183(p, o, s) BOOST_PP_WHILE_183_C(BOOST_PP_BOOL(p##(184, s)), p, o, s)
-# define BOOST_PP_WHILE_184(p, o, s) BOOST_PP_WHILE_184_C(BOOST_PP_BOOL(p##(185, s)), p, o, s)
-# define BOOST_PP_WHILE_185(p, o, s) BOOST_PP_WHILE_185_C(BOOST_PP_BOOL(p##(186, s)), p, o, s)
-# define BOOST_PP_WHILE_186(p, o, s) BOOST_PP_WHILE_186_C(BOOST_PP_BOOL(p##(187, s)), p, o, s)
-# define BOOST_PP_WHILE_187(p, o, s) BOOST_PP_WHILE_187_C(BOOST_PP_BOOL(p##(188, s)), p, o, s)
-# define BOOST_PP_WHILE_188(p, o, s) BOOST_PP_WHILE_188_C(BOOST_PP_BOOL(p##(189, s)), p, o, s)
-# define BOOST_PP_WHILE_189(p, o, s) BOOST_PP_WHILE_189_C(BOOST_PP_BOOL(p##(190, s)), p, o, s)
-# define BOOST_PP_WHILE_190(p, o, s) BOOST_PP_WHILE_190_C(BOOST_PP_BOOL(p##(191, s)), p, o, s)
-# define BOOST_PP_WHILE_191(p, o, s) BOOST_PP_WHILE_191_C(BOOST_PP_BOOL(p##(192, s)), p, o, s)
-# define BOOST_PP_WHILE_192(p, o, s) BOOST_PP_WHILE_192_C(BOOST_PP_BOOL(p##(193, s)), p, o, s)
-# define BOOST_PP_WHILE_193(p, o, s) BOOST_PP_WHILE_193_C(BOOST_PP_BOOL(p##(194, s)), p, o, s)
-# define BOOST_PP_WHILE_194(p, o, s) BOOST_PP_WHILE_194_C(BOOST_PP_BOOL(p##(195, s)), p, o, s)
-# define BOOST_PP_WHILE_195(p, o, s) BOOST_PP_WHILE_195_C(BOOST_PP_BOOL(p##(196, s)), p, o, s)
-# define BOOST_PP_WHILE_196(p, o, s) BOOST_PP_WHILE_196_C(BOOST_PP_BOOL(p##(197, s)), p, o, s)
-# define BOOST_PP_WHILE_197(p, o, s) BOOST_PP_WHILE_197_C(BOOST_PP_BOOL(p##(198, s)), p, o, s)
-# define BOOST_PP_WHILE_198(p, o, s) BOOST_PP_WHILE_198_C(BOOST_PP_BOOL(p##(199, s)), p, o, s)
-# define BOOST_PP_WHILE_199(p, o, s) BOOST_PP_WHILE_199_C(BOOST_PP_BOOL(p##(200, s)), p, o, s)
-# define BOOST_PP_WHILE_200(p, o, s) BOOST_PP_WHILE_200_C(BOOST_PP_BOOL(p##(201, s)), p, o, s)
-# define BOOST_PP_WHILE_201(p, o, s) BOOST_PP_WHILE_201_C(BOOST_PP_BOOL(p##(202, s)), p, o, s)
-# define BOOST_PP_WHILE_202(p, o, s) BOOST_PP_WHILE_202_C(BOOST_PP_BOOL(p##(203, s)), p, o, s)
-# define BOOST_PP_WHILE_203(p, o, s) BOOST_PP_WHILE_203_C(BOOST_PP_BOOL(p##(204, s)), p, o, s)
-# define BOOST_PP_WHILE_204(p, o, s) BOOST_PP_WHILE_204_C(BOOST_PP_BOOL(p##(205, s)), p, o, s)
-# define BOOST_PP_WHILE_205(p, o, s) BOOST_PP_WHILE_205_C(BOOST_PP_BOOL(p##(206, s)), p, o, s)
-# define BOOST_PP_WHILE_206(p, o, s) BOOST_PP_WHILE_206_C(BOOST_PP_BOOL(p##(207, s)), p, o, s)
-# define BOOST_PP_WHILE_207(p, o, s) BOOST_PP_WHILE_207_C(BOOST_PP_BOOL(p##(208, s)), p, o, s)
-# define BOOST_PP_WHILE_208(p, o, s) BOOST_PP_WHILE_208_C(BOOST_PP_BOOL(p##(209, s)), p, o, s)
-# define BOOST_PP_WHILE_209(p, o, s) BOOST_PP_WHILE_209_C(BOOST_PP_BOOL(p##(210, s)), p, o, s)
-# define BOOST_PP_WHILE_210(p, o, s) BOOST_PP_WHILE_210_C(BOOST_PP_BOOL(p##(211, s)), p, o, s)
-# define BOOST_PP_WHILE_211(p, o, s) BOOST_PP_WHILE_211_C(BOOST_PP_BOOL(p##(212, s)), p, o, s)
-# define BOOST_PP_WHILE_212(p, o, s) BOOST_PP_WHILE_212_C(BOOST_PP_BOOL(p##(213, s)), p, o, s)
-# define BOOST_PP_WHILE_213(p, o, s) BOOST_PP_WHILE_213_C(BOOST_PP_BOOL(p##(214, s)), p, o, s)
-# define BOOST_PP_WHILE_214(p, o, s) BOOST_PP_WHILE_214_C(BOOST_PP_BOOL(p##(215, s)), p, o, s)
-# define BOOST_PP_WHILE_215(p, o, s) BOOST_PP_WHILE_215_C(BOOST_PP_BOOL(p##(216, s)), p, o, s)
-# define BOOST_PP_WHILE_216(p, o, s) BOOST_PP_WHILE_216_C(BOOST_PP_BOOL(p##(217, s)), p, o, s)
-# define BOOST_PP_WHILE_217(p, o, s) BOOST_PP_WHILE_217_C(BOOST_PP_BOOL(p##(218, s)), p, o, s)
-# define BOOST_PP_WHILE_218(p, o, s) BOOST_PP_WHILE_218_C(BOOST_PP_BOOL(p##(219, s)), p, o, s)
-# define BOOST_PP_WHILE_219(p, o, s) BOOST_PP_WHILE_219_C(BOOST_PP_BOOL(p##(220, s)), p, o, s)
-# define BOOST_PP_WHILE_220(p, o, s) BOOST_PP_WHILE_220_C(BOOST_PP_BOOL(p##(221, s)), p, o, s)
-# define BOOST_PP_WHILE_221(p, o, s) BOOST_PP_WHILE_221_C(BOOST_PP_BOOL(p##(222, s)), p, o, s)
-# define BOOST_PP_WHILE_222(p, o, s) BOOST_PP_WHILE_222_C(BOOST_PP_BOOL(p##(223, s)), p, o, s)
-# define BOOST_PP_WHILE_223(p, o, s) BOOST_PP_WHILE_223_C(BOOST_PP_BOOL(p##(224, s)), p, o, s)
-# define BOOST_PP_WHILE_224(p, o, s) BOOST_PP_WHILE_224_C(BOOST_PP_BOOL(p##(225, s)), p, o, s)
-# define BOOST_PP_WHILE_225(p, o, s) BOOST_PP_WHILE_225_C(BOOST_PP_BOOL(p##(226, s)), p, o, s)
-# define BOOST_PP_WHILE_226(p, o, s) BOOST_PP_WHILE_226_C(BOOST_PP_BOOL(p##(227, s)), p, o, s)
-# define BOOST_PP_WHILE_227(p, o, s) BOOST_PP_WHILE_227_C(BOOST_PP_BOOL(p##(228, s)), p, o, s)
-# define BOOST_PP_WHILE_228(p, o, s) BOOST_PP_WHILE_228_C(BOOST_PP_BOOL(p##(229, s)), p, o, s)
-# define BOOST_PP_WHILE_229(p, o, s) BOOST_PP_WHILE_229_C(BOOST_PP_BOOL(p##(230, s)), p, o, s)
-# define BOOST_PP_WHILE_230(p, o, s) BOOST_PP_WHILE_230_C(BOOST_PP_BOOL(p##(231, s)), p, o, s)
-# define BOOST_PP_WHILE_231(p, o, s) BOOST_PP_WHILE_231_C(BOOST_PP_BOOL(p##(232, s)), p, o, s)
-# define BOOST_PP_WHILE_232(p, o, s) BOOST_PP_WHILE_232_C(BOOST_PP_BOOL(p##(233, s)), p, o, s)
-# define BOOST_PP_WHILE_233(p, o, s) BOOST_PP_WHILE_233_C(BOOST_PP_BOOL(p##(234, s)), p, o, s)
-# define BOOST_PP_WHILE_234(p, o, s) BOOST_PP_WHILE_234_C(BOOST_PP_BOOL(p##(235, s)), p, o, s)
-# define BOOST_PP_WHILE_235(p, o, s) BOOST_PP_WHILE_235_C(BOOST_PP_BOOL(p##(236, s)), p, o, s)
-# define BOOST_PP_WHILE_236(p, o, s) BOOST_PP_WHILE_236_C(BOOST_PP_BOOL(p##(237, s)), p, o, s)
-# define BOOST_PP_WHILE_237(p, o, s) BOOST_PP_WHILE_237_C(BOOST_PP_BOOL(p##(238, s)), p, o, s)
-# define BOOST_PP_WHILE_238(p, o, s) BOOST_PP_WHILE_238_C(BOOST_PP_BOOL(p##(239, s)), p, o, s)
-# define BOOST_PP_WHILE_239(p, o, s) BOOST_PP_WHILE_239_C(BOOST_PP_BOOL(p##(240, s)), p, o, s)
-# define BOOST_PP_WHILE_240(p, o, s) BOOST_PP_WHILE_240_C(BOOST_PP_BOOL(p##(241, s)), p, o, s)
-# define BOOST_PP_WHILE_241(p, o, s) BOOST_PP_WHILE_241_C(BOOST_PP_BOOL(p##(242, s)), p, o, s)
-# define BOOST_PP_WHILE_242(p, o, s) BOOST_PP_WHILE_242_C(BOOST_PP_BOOL(p##(243, s)), p, o, s)
-# define BOOST_PP_WHILE_243(p, o, s) BOOST_PP_WHILE_243_C(BOOST_PP_BOOL(p##(244, s)), p, o, s)
-# define BOOST_PP_WHILE_244(p, o, s) BOOST_PP_WHILE_244_C(BOOST_PP_BOOL(p##(245, s)), p, o, s)
-# define BOOST_PP_WHILE_245(p, o, s) BOOST_PP_WHILE_245_C(BOOST_PP_BOOL(p##(246, s)), p, o, s)
-# define BOOST_PP_WHILE_246(p, o, s) BOOST_PP_WHILE_246_C(BOOST_PP_BOOL(p##(247, s)), p, o, s)
-# define BOOST_PP_WHILE_247(p, o, s) BOOST_PP_WHILE_247_C(BOOST_PP_BOOL(p##(248, s)), p, o, s)
-# define BOOST_PP_WHILE_248(p, o, s) BOOST_PP_WHILE_248_C(BOOST_PP_BOOL(p##(249, s)), p, o, s)
-# define BOOST_PP_WHILE_249(p, o, s) BOOST_PP_WHILE_249_C(BOOST_PP_BOOL(p##(250, s)), p, o, s)
-# define BOOST_PP_WHILE_250(p, o, s) BOOST_PP_WHILE_250_C(BOOST_PP_BOOL(p##(251, s)), p, o, s)
-# define BOOST_PP_WHILE_251(p, o, s) BOOST_PP_WHILE_251_C(BOOST_PP_BOOL(p##(252, s)), p, o, s)
-# define BOOST_PP_WHILE_252(p, o, s) BOOST_PP_WHILE_252_C(BOOST_PP_BOOL(p##(253, s)), p, o, s)
-# define BOOST_PP_WHILE_253(p, o, s) BOOST_PP_WHILE_253_C(BOOST_PP_BOOL(p##(254, s)), p, o, s)
-# define BOOST_PP_WHILE_254(p, o, s) BOOST_PP_WHILE_254_C(BOOST_PP_BOOL(p##(255, s)), p, o, s)
-# define BOOST_PP_WHILE_255(p, o, s) BOOST_PP_WHILE_255_C(BOOST_PP_BOOL(p##(256, s)), p, o, s)
-# define BOOST_PP_WHILE_256(p, o, s) BOOST_PP_WHILE_256_C(BOOST_PP_BOOL(p##(257, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_1(p, o, s) NDNBOOST_PP_WHILE_1_C(NDNBOOST_PP_BOOL(p##(2, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_2(p, o, s) NDNBOOST_PP_WHILE_2_C(NDNBOOST_PP_BOOL(p##(3, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_3(p, o, s) NDNBOOST_PP_WHILE_3_C(NDNBOOST_PP_BOOL(p##(4, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_4(p, o, s) NDNBOOST_PP_WHILE_4_C(NDNBOOST_PP_BOOL(p##(5, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_5(p, o, s) NDNBOOST_PP_WHILE_5_C(NDNBOOST_PP_BOOL(p##(6, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_6(p, o, s) NDNBOOST_PP_WHILE_6_C(NDNBOOST_PP_BOOL(p##(7, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_7(p, o, s) NDNBOOST_PP_WHILE_7_C(NDNBOOST_PP_BOOL(p##(8, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_8(p, o, s) NDNBOOST_PP_WHILE_8_C(NDNBOOST_PP_BOOL(p##(9, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_9(p, o, s) NDNBOOST_PP_WHILE_9_C(NDNBOOST_PP_BOOL(p##(10, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_10(p, o, s) NDNBOOST_PP_WHILE_10_C(NDNBOOST_PP_BOOL(p##(11, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_11(p, o, s) NDNBOOST_PP_WHILE_11_C(NDNBOOST_PP_BOOL(p##(12, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_12(p, o, s) NDNBOOST_PP_WHILE_12_C(NDNBOOST_PP_BOOL(p##(13, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_13(p, o, s) NDNBOOST_PP_WHILE_13_C(NDNBOOST_PP_BOOL(p##(14, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_14(p, o, s) NDNBOOST_PP_WHILE_14_C(NDNBOOST_PP_BOOL(p##(15, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_15(p, o, s) NDNBOOST_PP_WHILE_15_C(NDNBOOST_PP_BOOL(p##(16, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_16(p, o, s) NDNBOOST_PP_WHILE_16_C(NDNBOOST_PP_BOOL(p##(17, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_17(p, o, s) NDNBOOST_PP_WHILE_17_C(NDNBOOST_PP_BOOL(p##(18, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_18(p, o, s) NDNBOOST_PP_WHILE_18_C(NDNBOOST_PP_BOOL(p##(19, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_19(p, o, s) NDNBOOST_PP_WHILE_19_C(NDNBOOST_PP_BOOL(p##(20, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_20(p, o, s) NDNBOOST_PP_WHILE_20_C(NDNBOOST_PP_BOOL(p##(21, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_21(p, o, s) NDNBOOST_PP_WHILE_21_C(NDNBOOST_PP_BOOL(p##(22, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_22(p, o, s) NDNBOOST_PP_WHILE_22_C(NDNBOOST_PP_BOOL(p##(23, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_23(p, o, s) NDNBOOST_PP_WHILE_23_C(NDNBOOST_PP_BOOL(p##(24, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_24(p, o, s) NDNBOOST_PP_WHILE_24_C(NDNBOOST_PP_BOOL(p##(25, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_25(p, o, s) NDNBOOST_PP_WHILE_25_C(NDNBOOST_PP_BOOL(p##(26, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_26(p, o, s) NDNBOOST_PP_WHILE_26_C(NDNBOOST_PP_BOOL(p##(27, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_27(p, o, s) NDNBOOST_PP_WHILE_27_C(NDNBOOST_PP_BOOL(p##(28, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_28(p, o, s) NDNBOOST_PP_WHILE_28_C(NDNBOOST_PP_BOOL(p##(29, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_29(p, o, s) NDNBOOST_PP_WHILE_29_C(NDNBOOST_PP_BOOL(p##(30, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_30(p, o, s) NDNBOOST_PP_WHILE_30_C(NDNBOOST_PP_BOOL(p##(31, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_31(p, o, s) NDNBOOST_PP_WHILE_31_C(NDNBOOST_PP_BOOL(p##(32, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_32(p, o, s) NDNBOOST_PP_WHILE_32_C(NDNBOOST_PP_BOOL(p##(33, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_33(p, o, s) NDNBOOST_PP_WHILE_33_C(NDNBOOST_PP_BOOL(p##(34, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_34(p, o, s) NDNBOOST_PP_WHILE_34_C(NDNBOOST_PP_BOOL(p##(35, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_35(p, o, s) NDNBOOST_PP_WHILE_35_C(NDNBOOST_PP_BOOL(p##(36, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_36(p, o, s) NDNBOOST_PP_WHILE_36_C(NDNBOOST_PP_BOOL(p##(37, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_37(p, o, s) NDNBOOST_PP_WHILE_37_C(NDNBOOST_PP_BOOL(p##(38, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_38(p, o, s) NDNBOOST_PP_WHILE_38_C(NDNBOOST_PP_BOOL(p##(39, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_39(p, o, s) NDNBOOST_PP_WHILE_39_C(NDNBOOST_PP_BOOL(p##(40, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_40(p, o, s) NDNBOOST_PP_WHILE_40_C(NDNBOOST_PP_BOOL(p##(41, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_41(p, o, s) NDNBOOST_PP_WHILE_41_C(NDNBOOST_PP_BOOL(p##(42, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_42(p, o, s) NDNBOOST_PP_WHILE_42_C(NDNBOOST_PP_BOOL(p##(43, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_43(p, o, s) NDNBOOST_PP_WHILE_43_C(NDNBOOST_PP_BOOL(p##(44, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_44(p, o, s) NDNBOOST_PP_WHILE_44_C(NDNBOOST_PP_BOOL(p##(45, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_45(p, o, s) NDNBOOST_PP_WHILE_45_C(NDNBOOST_PP_BOOL(p##(46, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_46(p, o, s) NDNBOOST_PP_WHILE_46_C(NDNBOOST_PP_BOOL(p##(47, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_47(p, o, s) NDNBOOST_PP_WHILE_47_C(NDNBOOST_PP_BOOL(p##(48, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_48(p, o, s) NDNBOOST_PP_WHILE_48_C(NDNBOOST_PP_BOOL(p##(49, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_49(p, o, s) NDNBOOST_PP_WHILE_49_C(NDNBOOST_PP_BOOL(p##(50, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_50(p, o, s) NDNBOOST_PP_WHILE_50_C(NDNBOOST_PP_BOOL(p##(51, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_51(p, o, s) NDNBOOST_PP_WHILE_51_C(NDNBOOST_PP_BOOL(p##(52, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_52(p, o, s) NDNBOOST_PP_WHILE_52_C(NDNBOOST_PP_BOOL(p##(53, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_53(p, o, s) NDNBOOST_PP_WHILE_53_C(NDNBOOST_PP_BOOL(p##(54, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_54(p, o, s) NDNBOOST_PP_WHILE_54_C(NDNBOOST_PP_BOOL(p##(55, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_55(p, o, s) NDNBOOST_PP_WHILE_55_C(NDNBOOST_PP_BOOL(p##(56, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_56(p, o, s) NDNBOOST_PP_WHILE_56_C(NDNBOOST_PP_BOOL(p##(57, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_57(p, o, s) NDNBOOST_PP_WHILE_57_C(NDNBOOST_PP_BOOL(p##(58, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_58(p, o, s) NDNBOOST_PP_WHILE_58_C(NDNBOOST_PP_BOOL(p##(59, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_59(p, o, s) NDNBOOST_PP_WHILE_59_C(NDNBOOST_PP_BOOL(p##(60, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_60(p, o, s) NDNBOOST_PP_WHILE_60_C(NDNBOOST_PP_BOOL(p##(61, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_61(p, o, s) NDNBOOST_PP_WHILE_61_C(NDNBOOST_PP_BOOL(p##(62, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_62(p, o, s) NDNBOOST_PP_WHILE_62_C(NDNBOOST_PP_BOOL(p##(63, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_63(p, o, s) NDNBOOST_PP_WHILE_63_C(NDNBOOST_PP_BOOL(p##(64, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_64(p, o, s) NDNBOOST_PP_WHILE_64_C(NDNBOOST_PP_BOOL(p##(65, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_65(p, o, s) NDNBOOST_PP_WHILE_65_C(NDNBOOST_PP_BOOL(p##(66, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_66(p, o, s) NDNBOOST_PP_WHILE_66_C(NDNBOOST_PP_BOOL(p##(67, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_67(p, o, s) NDNBOOST_PP_WHILE_67_C(NDNBOOST_PP_BOOL(p##(68, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_68(p, o, s) NDNBOOST_PP_WHILE_68_C(NDNBOOST_PP_BOOL(p##(69, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_69(p, o, s) NDNBOOST_PP_WHILE_69_C(NDNBOOST_PP_BOOL(p##(70, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_70(p, o, s) NDNBOOST_PP_WHILE_70_C(NDNBOOST_PP_BOOL(p##(71, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_71(p, o, s) NDNBOOST_PP_WHILE_71_C(NDNBOOST_PP_BOOL(p##(72, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_72(p, o, s) NDNBOOST_PP_WHILE_72_C(NDNBOOST_PP_BOOL(p##(73, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_73(p, o, s) NDNBOOST_PP_WHILE_73_C(NDNBOOST_PP_BOOL(p##(74, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_74(p, o, s) NDNBOOST_PP_WHILE_74_C(NDNBOOST_PP_BOOL(p##(75, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_75(p, o, s) NDNBOOST_PP_WHILE_75_C(NDNBOOST_PP_BOOL(p##(76, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_76(p, o, s) NDNBOOST_PP_WHILE_76_C(NDNBOOST_PP_BOOL(p##(77, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_77(p, o, s) NDNBOOST_PP_WHILE_77_C(NDNBOOST_PP_BOOL(p##(78, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_78(p, o, s) NDNBOOST_PP_WHILE_78_C(NDNBOOST_PP_BOOL(p##(79, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_79(p, o, s) NDNBOOST_PP_WHILE_79_C(NDNBOOST_PP_BOOL(p##(80, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_80(p, o, s) NDNBOOST_PP_WHILE_80_C(NDNBOOST_PP_BOOL(p##(81, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_81(p, o, s) NDNBOOST_PP_WHILE_81_C(NDNBOOST_PP_BOOL(p##(82, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_82(p, o, s) NDNBOOST_PP_WHILE_82_C(NDNBOOST_PP_BOOL(p##(83, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_83(p, o, s) NDNBOOST_PP_WHILE_83_C(NDNBOOST_PP_BOOL(p##(84, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_84(p, o, s) NDNBOOST_PP_WHILE_84_C(NDNBOOST_PP_BOOL(p##(85, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_85(p, o, s) NDNBOOST_PP_WHILE_85_C(NDNBOOST_PP_BOOL(p##(86, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_86(p, o, s) NDNBOOST_PP_WHILE_86_C(NDNBOOST_PP_BOOL(p##(87, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_87(p, o, s) NDNBOOST_PP_WHILE_87_C(NDNBOOST_PP_BOOL(p##(88, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_88(p, o, s) NDNBOOST_PP_WHILE_88_C(NDNBOOST_PP_BOOL(p##(89, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_89(p, o, s) NDNBOOST_PP_WHILE_89_C(NDNBOOST_PP_BOOL(p##(90, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_90(p, o, s) NDNBOOST_PP_WHILE_90_C(NDNBOOST_PP_BOOL(p##(91, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_91(p, o, s) NDNBOOST_PP_WHILE_91_C(NDNBOOST_PP_BOOL(p##(92, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_92(p, o, s) NDNBOOST_PP_WHILE_92_C(NDNBOOST_PP_BOOL(p##(93, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_93(p, o, s) NDNBOOST_PP_WHILE_93_C(NDNBOOST_PP_BOOL(p##(94, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_94(p, o, s) NDNBOOST_PP_WHILE_94_C(NDNBOOST_PP_BOOL(p##(95, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_95(p, o, s) NDNBOOST_PP_WHILE_95_C(NDNBOOST_PP_BOOL(p##(96, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_96(p, o, s) NDNBOOST_PP_WHILE_96_C(NDNBOOST_PP_BOOL(p##(97, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_97(p, o, s) NDNBOOST_PP_WHILE_97_C(NDNBOOST_PP_BOOL(p##(98, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_98(p, o, s) NDNBOOST_PP_WHILE_98_C(NDNBOOST_PP_BOOL(p##(99, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_99(p, o, s) NDNBOOST_PP_WHILE_99_C(NDNBOOST_PP_BOOL(p##(100, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_100(p, o, s) NDNBOOST_PP_WHILE_100_C(NDNBOOST_PP_BOOL(p##(101, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_101(p, o, s) NDNBOOST_PP_WHILE_101_C(NDNBOOST_PP_BOOL(p##(102, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_102(p, o, s) NDNBOOST_PP_WHILE_102_C(NDNBOOST_PP_BOOL(p##(103, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_103(p, o, s) NDNBOOST_PP_WHILE_103_C(NDNBOOST_PP_BOOL(p##(104, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_104(p, o, s) NDNBOOST_PP_WHILE_104_C(NDNBOOST_PP_BOOL(p##(105, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_105(p, o, s) NDNBOOST_PP_WHILE_105_C(NDNBOOST_PP_BOOL(p##(106, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_106(p, o, s) NDNBOOST_PP_WHILE_106_C(NDNBOOST_PP_BOOL(p##(107, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_107(p, o, s) NDNBOOST_PP_WHILE_107_C(NDNBOOST_PP_BOOL(p##(108, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_108(p, o, s) NDNBOOST_PP_WHILE_108_C(NDNBOOST_PP_BOOL(p##(109, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_109(p, o, s) NDNBOOST_PP_WHILE_109_C(NDNBOOST_PP_BOOL(p##(110, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_110(p, o, s) NDNBOOST_PP_WHILE_110_C(NDNBOOST_PP_BOOL(p##(111, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_111(p, o, s) NDNBOOST_PP_WHILE_111_C(NDNBOOST_PP_BOOL(p##(112, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_112(p, o, s) NDNBOOST_PP_WHILE_112_C(NDNBOOST_PP_BOOL(p##(113, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_113(p, o, s) NDNBOOST_PP_WHILE_113_C(NDNBOOST_PP_BOOL(p##(114, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_114(p, o, s) NDNBOOST_PP_WHILE_114_C(NDNBOOST_PP_BOOL(p##(115, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_115(p, o, s) NDNBOOST_PP_WHILE_115_C(NDNBOOST_PP_BOOL(p##(116, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_116(p, o, s) NDNBOOST_PP_WHILE_116_C(NDNBOOST_PP_BOOL(p##(117, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_117(p, o, s) NDNBOOST_PP_WHILE_117_C(NDNBOOST_PP_BOOL(p##(118, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_118(p, o, s) NDNBOOST_PP_WHILE_118_C(NDNBOOST_PP_BOOL(p##(119, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_119(p, o, s) NDNBOOST_PP_WHILE_119_C(NDNBOOST_PP_BOOL(p##(120, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_120(p, o, s) NDNBOOST_PP_WHILE_120_C(NDNBOOST_PP_BOOL(p##(121, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_121(p, o, s) NDNBOOST_PP_WHILE_121_C(NDNBOOST_PP_BOOL(p##(122, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_122(p, o, s) NDNBOOST_PP_WHILE_122_C(NDNBOOST_PP_BOOL(p##(123, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_123(p, o, s) NDNBOOST_PP_WHILE_123_C(NDNBOOST_PP_BOOL(p##(124, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_124(p, o, s) NDNBOOST_PP_WHILE_124_C(NDNBOOST_PP_BOOL(p##(125, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_125(p, o, s) NDNBOOST_PP_WHILE_125_C(NDNBOOST_PP_BOOL(p##(126, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_126(p, o, s) NDNBOOST_PP_WHILE_126_C(NDNBOOST_PP_BOOL(p##(127, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_127(p, o, s) NDNBOOST_PP_WHILE_127_C(NDNBOOST_PP_BOOL(p##(128, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_128(p, o, s) NDNBOOST_PP_WHILE_128_C(NDNBOOST_PP_BOOL(p##(129, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_129(p, o, s) NDNBOOST_PP_WHILE_129_C(NDNBOOST_PP_BOOL(p##(130, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_130(p, o, s) NDNBOOST_PP_WHILE_130_C(NDNBOOST_PP_BOOL(p##(131, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_131(p, o, s) NDNBOOST_PP_WHILE_131_C(NDNBOOST_PP_BOOL(p##(132, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_132(p, o, s) NDNBOOST_PP_WHILE_132_C(NDNBOOST_PP_BOOL(p##(133, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_133(p, o, s) NDNBOOST_PP_WHILE_133_C(NDNBOOST_PP_BOOL(p##(134, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_134(p, o, s) NDNBOOST_PP_WHILE_134_C(NDNBOOST_PP_BOOL(p##(135, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_135(p, o, s) NDNBOOST_PP_WHILE_135_C(NDNBOOST_PP_BOOL(p##(136, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_136(p, o, s) NDNBOOST_PP_WHILE_136_C(NDNBOOST_PP_BOOL(p##(137, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_137(p, o, s) NDNBOOST_PP_WHILE_137_C(NDNBOOST_PP_BOOL(p##(138, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_138(p, o, s) NDNBOOST_PP_WHILE_138_C(NDNBOOST_PP_BOOL(p##(139, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_139(p, o, s) NDNBOOST_PP_WHILE_139_C(NDNBOOST_PP_BOOL(p##(140, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_140(p, o, s) NDNBOOST_PP_WHILE_140_C(NDNBOOST_PP_BOOL(p##(141, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_141(p, o, s) NDNBOOST_PP_WHILE_141_C(NDNBOOST_PP_BOOL(p##(142, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_142(p, o, s) NDNBOOST_PP_WHILE_142_C(NDNBOOST_PP_BOOL(p##(143, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_143(p, o, s) NDNBOOST_PP_WHILE_143_C(NDNBOOST_PP_BOOL(p##(144, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_144(p, o, s) NDNBOOST_PP_WHILE_144_C(NDNBOOST_PP_BOOL(p##(145, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_145(p, o, s) NDNBOOST_PP_WHILE_145_C(NDNBOOST_PP_BOOL(p##(146, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_146(p, o, s) NDNBOOST_PP_WHILE_146_C(NDNBOOST_PP_BOOL(p##(147, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_147(p, o, s) NDNBOOST_PP_WHILE_147_C(NDNBOOST_PP_BOOL(p##(148, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_148(p, o, s) NDNBOOST_PP_WHILE_148_C(NDNBOOST_PP_BOOL(p##(149, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_149(p, o, s) NDNBOOST_PP_WHILE_149_C(NDNBOOST_PP_BOOL(p##(150, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_150(p, o, s) NDNBOOST_PP_WHILE_150_C(NDNBOOST_PP_BOOL(p##(151, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_151(p, o, s) NDNBOOST_PP_WHILE_151_C(NDNBOOST_PP_BOOL(p##(152, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_152(p, o, s) NDNBOOST_PP_WHILE_152_C(NDNBOOST_PP_BOOL(p##(153, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_153(p, o, s) NDNBOOST_PP_WHILE_153_C(NDNBOOST_PP_BOOL(p##(154, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_154(p, o, s) NDNBOOST_PP_WHILE_154_C(NDNBOOST_PP_BOOL(p##(155, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_155(p, o, s) NDNBOOST_PP_WHILE_155_C(NDNBOOST_PP_BOOL(p##(156, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_156(p, o, s) NDNBOOST_PP_WHILE_156_C(NDNBOOST_PP_BOOL(p##(157, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_157(p, o, s) NDNBOOST_PP_WHILE_157_C(NDNBOOST_PP_BOOL(p##(158, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_158(p, o, s) NDNBOOST_PP_WHILE_158_C(NDNBOOST_PP_BOOL(p##(159, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_159(p, o, s) NDNBOOST_PP_WHILE_159_C(NDNBOOST_PP_BOOL(p##(160, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_160(p, o, s) NDNBOOST_PP_WHILE_160_C(NDNBOOST_PP_BOOL(p##(161, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_161(p, o, s) NDNBOOST_PP_WHILE_161_C(NDNBOOST_PP_BOOL(p##(162, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_162(p, o, s) NDNBOOST_PP_WHILE_162_C(NDNBOOST_PP_BOOL(p##(163, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_163(p, o, s) NDNBOOST_PP_WHILE_163_C(NDNBOOST_PP_BOOL(p##(164, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_164(p, o, s) NDNBOOST_PP_WHILE_164_C(NDNBOOST_PP_BOOL(p##(165, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_165(p, o, s) NDNBOOST_PP_WHILE_165_C(NDNBOOST_PP_BOOL(p##(166, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_166(p, o, s) NDNBOOST_PP_WHILE_166_C(NDNBOOST_PP_BOOL(p##(167, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_167(p, o, s) NDNBOOST_PP_WHILE_167_C(NDNBOOST_PP_BOOL(p##(168, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_168(p, o, s) NDNBOOST_PP_WHILE_168_C(NDNBOOST_PP_BOOL(p##(169, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_169(p, o, s) NDNBOOST_PP_WHILE_169_C(NDNBOOST_PP_BOOL(p##(170, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_170(p, o, s) NDNBOOST_PP_WHILE_170_C(NDNBOOST_PP_BOOL(p##(171, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_171(p, o, s) NDNBOOST_PP_WHILE_171_C(NDNBOOST_PP_BOOL(p##(172, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_172(p, o, s) NDNBOOST_PP_WHILE_172_C(NDNBOOST_PP_BOOL(p##(173, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_173(p, o, s) NDNBOOST_PP_WHILE_173_C(NDNBOOST_PP_BOOL(p##(174, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_174(p, o, s) NDNBOOST_PP_WHILE_174_C(NDNBOOST_PP_BOOL(p##(175, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_175(p, o, s) NDNBOOST_PP_WHILE_175_C(NDNBOOST_PP_BOOL(p##(176, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_176(p, o, s) NDNBOOST_PP_WHILE_176_C(NDNBOOST_PP_BOOL(p##(177, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_177(p, o, s) NDNBOOST_PP_WHILE_177_C(NDNBOOST_PP_BOOL(p##(178, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_178(p, o, s) NDNBOOST_PP_WHILE_178_C(NDNBOOST_PP_BOOL(p##(179, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_179(p, o, s) NDNBOOST_PP_WHILE_179_C(NDNBOOST_PP_BOOL(p##(180, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_180(p, o, s) NDNBOOST_PP_WHILE_180_C(NDNBOOST_PP_BOOL(p##(181, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_181(p, o, s) NDNBOOST_PP_WHILE_181_C(NDNBOOST_PP_BOOL(p##(182, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_182(p, o, s) NDNBOOST_PP_WHILE_182_C(NDNBOOST_PP_BOOL(p##(183, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_183(p, o, s) NDNBOOST_PP_WHILE_183_C(NDNBOOST_PP_BOOL(p##(184, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_184(p, o, s) NDNBOOST_PP_WHILE_184_C(NDNBOOST_PP_BOOL(p##(185, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_185(p, o, s) NDNBOOST_PP_WHILE_185_C(NDNBOOST_PP_BOOL(p##(186, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_186(p, o, s) NDNBOOST_PP_WHILE_186_C(NDNBOOST_PP_BOOL(p##(187, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_187(p, o, s) NDNBOOST_PP_WHILE_187_C(NDNBOOST_PP_BOOL(p##(188, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_188(p, o, s) NDNBOOST_PP_WHILE_188_C(NDNBOOST_PP_BOOL(p##(189, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_189(p, o, s) NDNBOOST_PP_WHILE_189_C(NDNBOOST_PP_BOOL(p##(190, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_190(p, o, s) NDNBOOST_PP_WHILE_190_C(NDNBOOST_PP_BOOL(p##(191, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_191(p, o, s) NDNBOOST_PP_WHILE_191_C(NDNBOOST_PP_BOOL(p##(192, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_192(p, o, s) NDNBOOST_PP_WHILE_192_C(NDNBOOST_PP_BOOL(p##(193, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_193(p, o, s) NDNBOOST_PP_WHILE_193_C(NDNBOOST_PP_BOOL(p##(194, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_194(p, o, s) NDNBOOST_PP_WHILE_194_C(NDNBOOST_PP_BOOL(p##(195, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_195(p, o, s) NDNBOOST_PP_WHILE_195_C(NDNBOOST_PP_BOOL(p##(196, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_196(p, o, s) NDNBOOST_PP_WHILE_196_C(NDNBOOST_PP_BOOL(p##(197, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_197(p, o, s) NDNBOOST_PP_WHILE_197_C(NDNBOOST_PP_BOOL(p##(198, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_198(p, o, s) NDNBOOST_PP_WHILE_198_C(NDNBOOST_PP_BOOL(p##(199, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_199(p, o, s) NDNBOOST_PP_WHILE_199_C(NDNBOOST_PP_BOOL(p##(200, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_200(p, o, s) NDNBOOST_PP_WHILE_200_C(NDNBOOST_PP_BOOL(p##(201, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_201(p, o, s) NDNBOOST_PP_WHILE_201_C(NDNBOOST_PP_BOOL(p##(202, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_202(p, o, s) NDNBOOST_PP_WHILE_202_C(NDNBOOST_PP_BOOL(p##(203, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_203(p, o, s) NDNBOOST_PP_WHILE_203_C(NDNBOOST_PP_BOOL(p##(204, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_204(p, o, s) NDNBOOST_PP_WHILE_204_C(NDNBOOST_PP_BOOL(p##(205, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_205(p, o, s) NDNBOOST_PP_WHILE_205_C(NDNBOOST_PP_BOOL(p##(206, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_206(p, o, s) NDNBOOST_PP_WHILE_206_C(NDNBOOST_PP_BOOL(p##(207, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_207(p, o, s) NDNBOOST_PP_WHILE_207_C(NDNBOOST_PP_BOOL(p##(208, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_208(p, o, s) NDNBOOST_PP_WHILE_208_C(NDNBOOST_PP_BOOL(p##(209, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_209(p, o, s) NDNBOOST_PP_WHILE_209_C(NDNBOOST_PP_BOOL(p##(210, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_210(p, o, s) NDNBOOST_PP_WHILE_210_C(NDNBOOST_PP_BOOL(p##(211, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_211(p, o, s) NDNBOOST_PP_WHILE_211_C(NDNBOOST_PP_BOOL(p##(212, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_212(p, o, s) NDNBOOST_PP_WHILE_212_C(NDNBOOST_PP_BOOL(p##(213, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_213(p, o, s) NDNBOOST_PP_WHILE_213_C(NDNBOOST_PP_BOOL(p##(214, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_214(p, o, s) NDNBOOST_PP_WHILE_214_C(NDNBOOST_PP_BOOL(p##(215, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_215(p, o, s) NDNBOOST_PP_WHILE_215_C(NDNBOOST_PP_BOOL(p##(216, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_216(p, o, s) NDNBOOST_PP_WHILE_216_C(NDNBOOST_PP_BOOL(p##(217, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_217(p, o, s) NDNBOOST_PP_WHILE_217_C(NDNBOOST_PP_BOOL(p##(218, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_218(p, o, s) NDNBOOST_PP_WHILE_218_C(NDNBOOST_PP_BOOL(p##(219, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_219(p, o, s) NDNBOOST_PP_WHILE_219_C(NDNBOOST_PP_BOOL(p##(220, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_220(p, o, s) NDNBOOST_PP_WHILE_220_C(NDNBOOST_PP_BOOL(p##(221, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_221(p, o, s) NDNBOOST_PP_WHILE_221_C(NDNBOOST_PP_BOOL(p##(222, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_222(p, o, s) NDNBOOST_PP_WHILE_222_C(NDNBOOST_PP_BOOL(p##(223, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_223(p, o, s) NDNBOOST_PP_WHILE_223_C(NDNBOOST_PP_BOOL(p##(224, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_224(p, o, s) NDNBOOST_PP_WHILE_224_C(NDNBOOST_PP_BOOL(p##(225, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_225(p, o, s) NDNBOOST_PP_WHILE_225_C(NDNBOOST_PP_BOOL(p##(226, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_226(p, o, s) NDNBOOST_PP_WHILE_226_C(NDNBOOST_PP_BOOL(p##(227, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_227(p, o, s) NDNBOOST_PP_WHILE_227_C(NDNBOOST_PP_BOOL(p##(228, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_228(p, o, s) NDNBOOST_PP_WHILE_228_C(NDNBOOST_PP_BOOL(p##(229, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_229(p, o, s) NDNBOOST_PP_WHILE_229_C(NDNBOOST_PP_BOOL(p##(230, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_230(p, o, s) NDNBOOST_PP_WHILE_230_C(NDNBOOST_PP_BOOL(p##(231, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_231(p, o, s) NDNBOOST_PP_WHILE_231_C(NDNBOOST_PP_BOOL(p##(232, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_232(p, o, s) NDNBOOST_PP_WHILE_232_C(NDNBOOST_PP_BOOL(p##(233, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_233(p, o, s) NDNBOOST_PP_WHILE_233_C(NDNBOOST_PP_BOOL(p##(234, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_234(p, o, s) NDNBOOST_PP_WHILE_234_C(NDNBOOST_PP_BOOL(p##(235, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_235(p, o, s) NDNBOOST_PP_WHILE_235_C(NDNBOOST_PP_BOOL(p##(236, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_236(p, o, s) NDNBOOST_PP_WHILE_236_C(NDNBOOST_PP_BOOL(p##(237, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_237(p, o, s) NDNBOOST_PP_WHILE_237_C(NDNBOOST_PP_BOOL(p##(238, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_238(p, o, s) NDNBOOST_PP_WHILE_238_C(NDNBOOST_PP_BOOL(p##(239, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_239(p, o, s) NDNBOOST_PP_WHILE_239_C(NDNBOOST_PP_BOOL(p##(240, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_240(p, o, s) NDNBOOST_PP_WHILE_240_C(NDNBOOST_PP_BOOL(p##(241, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_241(p, o, s) NDNBOOST_PP_WHILE_241_C(NDNBOOST_PP_BOOL(p##(242, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_242(p, o, s) NDNBOOST_PP_WHILE_242_C(NDNBOOST_PP_BOOL(p##(243, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_243(p, o, s) NDNBOOST_PP_WHILE_243_C(NDNBOOST_PP_BOOL(p##(244, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_244(p, o, s) NDNBOOST_PP_WHILE_244_C(NDNBOOST_PP_BOOL(p##(245, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_245(p, o, s) NDNBOOST_PP_WHILE_245_C(NDNBOOST_PP_BOOL(p##(246, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_246(p, o, s) NDNBOOST_PP_WHILE_246_C(NDNBOOST_PP_BOOL(p##(247, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_247(p, o, s) NDNBOOST_PP_WHILE_247_C(NDNBOOST_PP_BOOL(p##(248, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_248(p, o, s) NDNBOOST_PP_WHILE_248_C(NDNBOOST_PP_BOOL(p##(249, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_249(p, o, s) NDNBOOST_PP_WHILE_249_C(NDNBOOST_PP_BOOL(p##(250, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_250(p, o, s) NDNBOOST_PP_WHILE_250_C(NDNBOOST_PP_BOOL(p##(251, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_251(p, o, s) NDNBOOST_PP_WHILE_251_C(NDNBOOST_PP_BOOL(p##(252, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_252(p, o, s) NDNBOOST_PP_WHILE_252_C(NDNBOOST_PP_BOOL(p##(253, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_253(p, o, s) NDNBOOST_PP_WHILE_253_C(NDNBOOST_PP_BOOL(p##(254, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_254(p, o, s) NDNBOOST_PP_WHILE_254_C(NDNBOOST_PP_BOOL(p##(255, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_255(p, o, s) NDNBOOST_PP_WHILE_255_C(NDNBOOST_PP_BOOL(p##(256, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_256(p, o, s) NDNBOOST_PP_WHILE_256_C(NDNBOOST_PP_BOOL(p##(257, s)), p, o, s)
 #
-# define BOOST_PP_WHILE_1_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_2, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(2, s))
-# define BOOST_PP_WHILE_2_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_3, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(3, s))
-# define BOOST_PP_WHILE_3_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_4, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(4, s))
-# define BOOST_PP_WHILE_4_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_5, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(5, s))
-# define BOOST_PP_WHILE_5_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_6, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(6, s))
-# define BOOST_PP_WHILE_6_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_7, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(7, s))
-# define BOOST_PP_WHILE_7_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_8, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(8, s))
-# define BOOST_PP_WHILE_8_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_9, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(9, s))
-# define BOOST_PP_WHILE_9_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_10, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(10, s))
-# define BOOST_PP_WHILE_10_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_11, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(11, s))
-# define BOOST_PP_WHILE_11_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_12, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(12, s))
-# define BOOST_PP_WHILE_12_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_13, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(13, s))
-# define BOOST_PP_WHILE_13_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_14, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(14, s))
-# define BOOST_PP_WHILE_14_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_15, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(15, s))
-# define BOOST_PP_WHILE_15_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_16, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(16, s))
-# define BOOST_PP_WHILE_16_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_17, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(17, s))
-# define BOOST_PP_WHILE_17_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_18, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(18, s))
-# define BOOST_PP_WHILE_18_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_19, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(19, s))
-# define BOOST_PP_WHILE_19_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_20, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(20, s))
-# define BOOST_PP_WHILE_20_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_21, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(21, s))
-# define BOOST_PP_WHILE_21_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_22, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(22, s))
-# define BOOST_PP_WHILE_22_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_23, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(23, s))
-# define BOOST_PP_WHILE_23_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_24, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(24, s))
-# define BOOST_PP_WHILE_24_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_25, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(25, s))
-# define BOOST_PP_WHILE_25_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_26, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(26, s))
-# define BOOST_PP_WHILE_26_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_27, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(27, s))
-# define BOOST_PP_WHILE_27_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_28, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(28, s))
-# define BOOST_PP_WHILE_28_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_29, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(29, s))
-# define BOOST_PP_WHILE_29_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_30, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(30, s))
-# define BOOST_PP_WHILE_30_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_31, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(31, s))
-# define BOOST_PP_WHILE_31_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_32, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(32, s))
-# define BOOST_PP_WHILE_32_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_33, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(33, s))
-# define BOOST_PP_WHILE_33_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_34, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(34, s))
-# define BOOST_PP_WHILE_34_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_35, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(35, s))
-# define BOOST_PP_WHILE_35_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_36, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(36, s))
-# define BOOST_PP_WHILE_36_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_37, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(37, s))
-# define BOOST_PP_WHILE_37_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_38, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(38, s))
-# define BOOST_PP_WHILE_38_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_39, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(39, s))
-# define BOOST_PP_WHILE_39_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_40, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(40, s))
-# define BOOST_PP_WHILE_40_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_41, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(41, s))
-# define BOOST_PP_WHILE_41_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_42, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(42, s))
-# define BOOST_PP_WHILE_42_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_43, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(43, s))
-# define BOOST_PP_WHILE_43_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_44, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(44, s))
-# define BOOST_PP_WHILE_44_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_45, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(45, s))
-# define BOOST_PP_WHILE_45_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_46, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(46, s))
-# define BOOST_PP_WHILE_46_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_47, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(47, s))
-# define BOOST_PP_WHILE_47_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_48, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(48, s))
-# define BOOST_PP_WHILE_48_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_49, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(49, s))
-# define BOOST_PP_WHILE_49_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_50, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(50, s))
-# define BOOST_PP_WHILE_50_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_51, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(51, s))
-# define BOOST_PP_WHILE_51_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_52, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(52, s))
-# define BOOST_PP_WHILE_52_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_53, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(53, s))
-# define BOOST_PP_WHILE_53_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_54, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(54, s))
-# define BOOST_PP_WHILE_54_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_55, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(55, s))
-# define BOOST_PP_WHILE_55_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_56, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(56, s))
-# define BOOST_PP_WHILE_56_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_57, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(57, s))
-# define BOOST_PP_WHILE_57_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_58, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(58, s))
-# define BOOST_PP_WHILE_58_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_59, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(59, s))
-# define BOOST_PP_WHILE_59_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_60, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(60, s))
-# define BOOST_PP_WHILE_60_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_61, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(61, s))
-# define BOOST_PP_WHILE_61_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_62, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(62, s))
-# define BOOST_PP_WHILE_62_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_63, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(63, s))
-# define BOOST_PP_WHILE_63_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_64, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(64, s))
-# define BOOST_PP_WHILE_64_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_65, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(65, s))
-# define BOOST_PP_WHILE_65_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_66, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(66, s))
-# define BOOST_PP_WHILE_66_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_67, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(67, s))
-# define BOOST_PP_WHILE_67_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_68, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(68, s))
-# define BOOST_PP_WHILE_68_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_69, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(69, s))
-# define BOOST_PP_WHILE_69_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_70, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(70, s))
-# define BOOST_PP_WHILE_70_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_71, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(71, s))
-# define BOOST_PP_WHILE_71_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_72, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(72, s))
-# define BOOST_PP_WHILE_72_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_73, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(73, s))
-# define BOOST_PP_WHILE_73_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_74, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(74, s))
-# define BOOST_PP_WHILE_74_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_75, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(75, s))
-# define BOOST_PP_WHILE_75_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_76, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(76, s))
-# define BOOST_PP_WHILE_76_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_77, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(77, s))
-# define BOOST_PP_WHILE_77_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_78, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(78, s))
-# define BOOST_PP_WHILE_78_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_79, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(79, s))
-# define BOOST_PP_WHILE_79_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_80, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(80, s))
-# define BOOST_PP_WHILE_80_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_81, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(81, s))
-# define BOOST_PP_WHILE_81_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_82, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(82, s))
-# define BOOST_PP_WHILE_82_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_83, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(83, s))
-# define BOOST_PP_WHILE_83_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_84, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(84, s))
-# define BOOST_PP_WHILE_84_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_85, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(85, s))
-# define BOOST_PP_WHILE_85_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_86, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(86, s))
-# define BOOST_PP_WHILE_86_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_87, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(87, s))
-# define BOOST_PP_WHILE_87_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_88, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(88, s))
-# define BOOST_PP_WHILE_88_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_89, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(89, s))
-# define BOOST_PP_WHILE_89_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_90, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(90, s))
-# define BOOST_PP_WHILE_90_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_91, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(91, s))
-# define BOOST_PP_WHILE_91_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_92, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(92, s))
-# define BOOST_PP_WHILE_92_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_93, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(93, s))
-# define BOOST_PP_WHILE_93_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_94, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(94, s))
-# define BOOST_PP_WHILE_94_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_95, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(95, s))
-# define BOOST_PP_WHILE_95_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_96, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(96, s))
-# define BOOST_PP_WHILE_96_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_97, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(97, s))
-# define BOOST_PP_WHILE_97_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_98, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(98, s))
-# define BOOST_PP_WHILE_98_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_99, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(99, s))
-# define BOOST_PP_WHILE_99_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_100, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(100, s))
-# define BOOST_PP_WHILE_100_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_101, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(101, s))
-# define BOOST_PP_WHILE_101_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_102, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(102, s))
-# define BOOST_PP_WHILE_102_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_103, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(103, s))
-# define BOOST_PP_WHILE_103_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_104, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(104, s))
-# define BOOST_PP_WHILE_104_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_105, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(105, s))
-# define BOOST_PP_WHILE_105_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_106, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(106, s))
-# define BOOST_PP_WHILE_106_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_107, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(107, s))
-# define BOOST_PP_WHILE_107_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_108, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(108, s))
-# define BOOST_PP_WHILE_108_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_109, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(109, s))
-# define BOOST_PP_WHILE_109_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_110, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(110, s))
-# define BOOST_PP_WHILE_110_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_111, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(111, s))
-# define BOOST_PP_WHILE_111_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_112, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(112, s))
-# define BOOST_PP_WHILE_112_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_113, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(113, s))
-# define BOOST_PP_WHILE_113_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_114, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(114, s))
-# define BOOST_PP_WHILE_114_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_115, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(115, s))
-# define BOOST_PP_WHILE_115_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_116, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(116, s))
-# define BOOST_PP_WHILE_116_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_117, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(117, s))
-# define BOOST_PP_WHILE_117_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_118, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(118, s))
-# define BOOST_PP_WHILE_118_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_119, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(119, s))
-# define BOOST_PP_WHILE_119_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_120, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(120, s))
-# define BOOST_PP_WHILE_120_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_121, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(121, s))
-# define BOOST_PP_WHILE_121_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_122, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(122, s))
-# define BOOST_PP_WHILE_122_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_123, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(123, s))
-# define BOOST_PP_WHILE_123_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_124, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(124, s))
-# define BOOST_PP_WHILE_124_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_125, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(125, s))
-# define BOOST_PP_WHILE_125_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_126, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(126, s))
-# define BOOST_PP_WHILE_126_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_127, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(127, s))
-# define BOOST_PP_WHILE_127_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_128, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(128, s))
-# define BOOST_PP_WHILE_128_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_129, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(129, s))
-# define BOOST_PP_WHILE_129_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_130, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(130, s))
-# define BOOST_PP_WHILE_130_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_131, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(131, s))
-# define BOOST_PP_WHILE_131_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_132, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(132, s))
-# define BOOST_PP_WHILE_132_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_133, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(133, s))
-# define BOOST_PP_WHILE_133_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_134, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(134, s))
-# define BOOST_PP_WHILE_134_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_135, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(135, s))
-# define BOOST_PP_WHILE_135_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_136, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(136, s))
-# define BOOST_PP_WHILE_136_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_137, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(137, s))
-# define BOOST_PP_WHILE_137_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_138, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(138, s))
-# define BOOST_PP_WHILE_138_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_139, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(139, s))
-# define BOOST_PP_WHILE_139_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_140, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(140, s))
-# define BOOST_PP_WHILE_140_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_141, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(141, s))
-# define BOOST_PP_WHILE_141_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_142, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(142, s))
-# define BOOST_PP_WHILE_142_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_143, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(143, s))
-# define BOOST_PP_WHILE_143_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_144, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(144, s))
-# define BOOST_PP_WHILE_144_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_145, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(145, s))
-# define BOOST_PP_WHILE_145_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_146, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(146, s))
-# define BOOST_PP_WHILE_146_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_147, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(147, s))
-# define BOOST_PP_WHILE_147_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_148, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(148, s))
-# define BOOST_PP_WHILE_148_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_149, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(149, s))
-# define BOOST_PP_WHILE_149_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_150, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(150, s))
-# define BOOST_PP_WHILE_150_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_151, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(151, s))
-# define BOOST_PP_WHILE_151_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_152, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(152, s))
-# define BOOST_PP_WHILE_152_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_153, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(153, s))
-# define BOOST_PP_WHILE_153_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_154, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(154, s))
-# define BOOST_PP_WHILE_154_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_155, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(155, s))
-# define BOOST_PP_WHILE_155_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_156, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(156, s))
-# define BOOST_PP_WHILE_156_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_157, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(157, s))
-# define BOOST_PP_WHILE_157_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_158, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(158, s))
-# define BOOST_PP_WHILE_158_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_159, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(159, s))
-# define BOOST_PP_WHILE_159_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_160, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(160, s))
-# define BOOST_PP_WHILE_160_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_161, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(161, s))
-# define BOOST_PP_WHILE_161_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_162, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(162, s))
-# define BOOST_PP_WHILE_162_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_163, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(163, s))
-# define BOOST_PP_WHILE_163_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_164, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(164, s))
-# define BOOST_PP_WHILE_164_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_165, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(165, s))
-# define BOOST_PP_WHILE_165_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_166, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(166, s))
-# define BOOST_PP_WHILE_166_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_167, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(167, s))
-# define BOOST_PP_WHILE_167_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_168, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(168, s))
-# define BOOST_PP_WHILE_168_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_169, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(169, s))
-# define BOOST_PP_WHILE_169_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_170, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(170, s))
-# define BOOST_PP_WHILE_170_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_171, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(171, s))
-# define BOOST_PP_WHILE_171_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_172, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(172, s))
-# define BOOST_PP_WHILE_172_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_173, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(173, s))
-# define BOOST_PP_WHILE_173_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_174, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(174, s))
-# define BOOST_PP_WHILE_174_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_175, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(175, s))
-# define BOOST_PP_WHILE_175_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_176, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(176, s))
-# define BOOST_PP_WHILE_176_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_177, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(177, s))
-# define BOOST_PP_WHILE_177_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_178, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(178, s))
-# define BOOST_PP_WHILE_178_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_179, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(179, s))
-# define BOOST_PP_WHILE_179_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_180, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(180, s))
-# define BOOST_PP_WHILE_180_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_181, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(181, s))
-# define BOOST_PP_WHILE_181_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_182, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(182, s))
-# define BOOST_PP_WHILE_182_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_183, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(183, s))
-# define BOOST_PP_WHILE_183_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_184, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(184, s))
-# define BOOST_PP_WHILE_184_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_185, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(185, s))
-# define BOOST_PP_WHILE_185_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_186, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(186, s))
-# define BOOST_PP_WHILE_186_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_187, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(187, s))
-# define BOOST_PP_WHILE_187_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_188, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(188, s))
-# define BOOST_PP_WHILE_188_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_189, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(189, s))
-# define BOOST_PP_WHILE_189_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_190, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(190, s))
-# define BOOST_PP_WHILE_190_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_191, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(191, s))
-# define BOOST_PP_WHILE_191_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_192, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(192, s))
-# define BOOST_PP_WHILE_192_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_193, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(193, s))
-# define BOOST_PP_WHILE_193_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_194, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(194, s))
-# define BOOST_PP_WHILE_194_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_195, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(195, s))
-# define BOOST_PP_WHILE_195_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_196, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(196, s))
-# define BOOST_PP_WHILE_196_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_197, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(197, s))
-# define BOOST_PP_WHILE_197_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_198, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(198, s))
-# define BOOST_PP_WHILE_198_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_199, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(199, s))
-# define BOOST_PP_WHILE_199_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_200, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(200, s))
-# define BOOST_PP_WHILE_200_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_201, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(201, s))
-# define BOOST_PP_WHILE_201_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_202, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(202, s))
-# define BOOST_PP_WHILE_202_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_203, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(203, s))
-# define BOOST_PP_WHILE_203_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_204, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(204, s))
-# define BOOST_PP_WHILE_204_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_205, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(205, s))
-# define BOOST_PP_WHILE_205_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_206, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(206, s))
-# define BOOST_PP_WHILE_206_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_207, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(207, s))
-# define BOOST_PP_WHILE_207_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_208, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(208, s))
-# define BOOST_PP_WHILE_208_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_209, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(209, s))
-# define BOOST_PP_WHILE_209_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_210, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(210, s))
-# define BOOST_PP_WHILE_210_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_211, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(211, s))
-# define BOOST_PP_WHILE_211_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_212, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(212, s))
-# define BOOST_PP_WHILE_212_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_213, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(213, s))
-# define BOOST_PP_WHILE_213_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_214, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(214, s))
-# define BOOST_PP_WHILE_214_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_215, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(215, s))
-# define BOOST_PP_WHILE_215_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_216, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(216, s))
-# define BOOST_PP_WHILE_216_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_217, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(217, s))
-# define BOOST_PP_WHILE_217_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_218, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(218, s))
-# define BOOST_PP_WHILE_218_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_219, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(219, s))
-# define BOOST_PP_WHILE_219_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_220, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(220, s))
-# define BOOST_PP_WHILE_220_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_221, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(221, s))
-# define BOOST_PP_WHILE_221_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_222, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(222, s))
-# define BOOST_PP_WHILE_222_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_223, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(223, s))
-# define BOOST_PP_WHILE_223_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_224, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(224, s))
-# define BOOST_PP_WHILE_224_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_225, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(225, s))
-# define BOOST_PP_WHILE_225_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_226, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(226, s))
-# define BOOST_PP_WHILE_226_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_227, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(227, s))
-# define BOOST_PP_WHILE_227_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_228, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(228, s))
-# define BOOST_PP_WHILE_228_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_229, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(229, s))
-# define BOOST_PP_WHILE_229_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_230, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(230, s))
-# define BOOST_PP_WHILE_230_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_231, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(231, s))
-# define BOOST_PP_WHILE_231_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_232, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(232, s))
-# define BOOST_PP_WHILE_232_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_233, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(233, s))
-# define BOOST_PP_WHILE_233_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_234, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(234, s))
-# define BOOST_PP_WHILE_234_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_235, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(235, s))
-# define BOOST_PP_WHILE_235_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_236, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(236, s))
-# define BOOST_PP_WHILE_236_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_237, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(237, s))
-# define BOOST_PP_WHILE_237_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_238, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(238, s))
-# define BOOST_PP_WHILE_238_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_239, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(239, s))
-# define BOOST_PP_WHILE_239_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_240, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(240, s))
-# define BOOST_PP_WHILE_240_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_241, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(241, s))
-# define BOOST_PP_WHILE_241_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_242, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(242, s))
-# define BOOST_PP_WHILE_242_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_243, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(243, s))
-# define BOOST_PP_WHILE_243_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_244, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(244, s))
-# define BOOST_PP_WHILE_244_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_245, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(245, s))
-# define BOOST_PP_WHILE_245_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_246, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(246, s))
-# define BOOST_PP_WHILE_246_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_247, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(247, s))
-# define BOOST_PP_WHILE_247_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_248, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(248, s))
-# define BOOST_PP_WHILE_248_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_249, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(249, s))
-# define BOOST_PP_WHILE_249_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_250, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(250, s))
-# define BOOST_PP_WHILE_250_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_251, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(251, s))
-# define BOOST_PP_WHILE_251_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_252, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(252, s))
-# define BOOST_PP_WHILE_252_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_253, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(253, s))
-# define BOOST_PP_WHILE_253_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_254, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(254, s))
-# define BOOST_PP_WHILE_254_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_255, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(255, s))
-# define BOOST_PP_WHILE_255_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_256, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(256, s))
-# define BOOST_PP_WHILE_256_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_257, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(257, s))
+# define NDNBOOST_PP_WHILE_1_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_2, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(2, s))
+# define NDNBOOST_PP_WHILE_2_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_3, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(3, s))
+# define NDNBOOST_PP_WHILE_3_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_4, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(4, s))
+# define NDNBOOST_PP_WHILE_4_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_5, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(5, s))
+# define NDNBOOST_PP_WHILE_5_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_6, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(6, s))
+# define NDNBOOST_PP_WHILE_6_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_7, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(7, s))
+# define NDNBOOST_PP_WHILE_7_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_8, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(8, s))
+# define NDNBOOST_PP_WHILE_8_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_9, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(9, s))
+# define NDNBOOST_PP_WHILE_9_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_10, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(10, s))
+# define NDNBOOST_PP_WHILE_10_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_11, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(11, s))
+# define NDNBOOST_PP_WHILE_11_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_12, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(12, s))
+# define NDNBOOST_PP_WHILE_12_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_13, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(13, s))
+# define NDNBOOST_PP_WHILE_13_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_14, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(14, s))
+# define NDNBOOST_PP_WHILE_14_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_15, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(15, s))
+# define NDNBOOST_PP_WHILE_15_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_16, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(16, s))
+# define NDNBOOST_PP_WHILE_16_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_17, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(17, s))
+# define NDNBOOST_PP_WHILE_17_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_18, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(18, s))
+# define NDNBOOST_PP_WHILE_18_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_19, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(19, s))
+# define NDNBOOST_PP_WHILE_19_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_20, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(20, s))
+# define NDNBOOST_PP_WHILE_20_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_21, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(21, s))
+# define NDNBOOST_PP_WHILE_21_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_22, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(22, s))
+# define NDNBOOST_PP_WHILE_22_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_23, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(23, s))
+# define NDNBOOST_PP_WHILE_23_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_24, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(24, s))
+# define NDNBOOST_PP_WHILE_24_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_25, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(25, s))
+# define NDNBOOST_PP_WHILE_25_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_26, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(26, s))
+# define NDNBOOST_PP_WHILE_26_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_27, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(27, s))
+# define NDNBOOST_PP_WHILE_27_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_28, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(28, s))
+# define NDNBOOST_PP_WHILE_28_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_29, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(29, s))
+# define NDNBOOST_PP_WHILE_29_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_30, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(30, s))
+# define NDNBOOST_PP_WHILE_30_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_31, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(31, s))
+# define NDNBOOST_PP_WHILE_31_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_32, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(32, s))
+# define NDNBOOST_PP_WHILE_32_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_33, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(33, s))
+# define NDNBOOST_PP_WHILE_33_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_34, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(34, s))
+# define NDNBOOST_PP_WHILE_34_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_35, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(35, s))
+# define NDNBOOST_PP_WHILE_35_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_36, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(36, s))
+# define NDNBOOST_PP_WHILE_36_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_37, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(37, s))
+# define NDNBOOST_PP_WHILE_37_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_38, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(38, s))
+# define NDNBOOST_PP_WHILE_38_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_39, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(39, s))
+# define NDNBOOST_PP_WHILE_39_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_40, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(40, s))
+# define NDNBOOST_PP_WHILE_40_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_41, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(41, s))
+# define NDNBOOST_PP_WHILE_41_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_42, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(42, s))
+# define NDNBOOST_PP_WHILE_42_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_43, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(43, s))
+# define NDNBOOST_PP_WHILE_43_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_44, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(44, s))
+# define NDNBOOST_PP_WHILE_44_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_45, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(45, s))
+# define NDNBOOST_PP_WHILE_45_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_46, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(46, s))
+# define NDNBOOST_PP_WHILE_46_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_47, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(47, s))
+# define NDNBOOST_PP_WHILE_47_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_48, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(48, s))
+# define NDNBOOST_PP_WHILE_48_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_49, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(49, s))
+# define NDNBOOST_PP_WHILE_49_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_50, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(50, s))
+# define NDNBOOST_PP_WHILE_50_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_51, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(51, s))
+# define NDNBOOST_PP_WHILE_51_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_52, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(52, s))
+# define NDNBOOST_PP_WHILE_52_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_53, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(53, s))
+# define NDNBOOST_PP_WHILE_53_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_54, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(54, s))
+# define NDNBOOST_PP_WHILE_54_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_55, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(55, s))
+# define NDNBOOST_PP_WHILE_55_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_56, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(56, s))
+# define NDNBOOST_PP_WHILE_56_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_57, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(57, s))
+# define NDNBOOST_PP_WHILE_57_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_58, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(58, s))
+# define NDNBOOST_PP_WHILE_58_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_59, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(59, s))
+# define NDNBOOST_PP_WHILE_59_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_60, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(60, s))
+# define NDNBOOST_PP_WHILE_60_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_61, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(61, s))
+# define NDNBOOST_PP_WHILE_61_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_62, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(62, s))
+# define NDNBOOST_PP_WHILE_62_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_63, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(63, s))
+# define NDNBOOST_PP_WHILE_63_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_64, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(64, s))
+# define NDNBOOST_PP_WHILE_64_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_65, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(65, s))
+# define NDNBOOST_PP_WHILE_65_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_66, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(66, s))
+# define NDNBOOST_PP_WHILE_66_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_67, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(67, s))
+# define NDNBOOST_PP_WHILE_67_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_68, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(68, s))
+# define NDNBOOST_PP_WHILE_68_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_69, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(69, s))
+# define NDNBOOST_PP_WHILE_69_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_70, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(70, s))
+# define NDNBOOST_PP_WHILE_70_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_71, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(71, s))
+# define NDNBOOST_PP_WHILE_71_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_72, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(72, s))
+# define NDNBOOST_PP_WHILE_72_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_73, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(73, s))
+# define NDNBOOST_PP_WHILE_73_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_74, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(74, s))
+# define NDNBOOST_PP_WHILE_74_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_75, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(75, s))
+# define NDNBOOST_PP_WHILE_75_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_76, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(76, s))
+# define NDNBOOST_PP_WHILE_76_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_77, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(77, s))
+# define NDNBOOST_PP_WHILE_77_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_78, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(78, s))
+# define NDNBOOST_PP_WHILE_78_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_79, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(79, s))
+# define NDNBOOST_PP_WHILE_79_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_80, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(80, s))
+# define NDNBOOST_PP_WHILE_80_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_81, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(81, s))
+# define NDNBOOST_PP_WHILE_81_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_82, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(82, s))
+# define NDNBOOST_PP_WHILE_82_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_83, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(83, s))
+# define NDNBOOST_PP_WHILE_83_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_84, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(84, s))
+# define NDNBOOST_PP_WHILE_84_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_85, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(85, s))
+# define NDNBOOST_PP_WHILE_85_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_86, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(86, s))
+# define NDNBOOST_PP_WHILE_86_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_87, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(87, s))
+# define NDNBOOST_PP_WHILE_87_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_88, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(88, s))
+# define NDNBOOST_PP_WHILE_88_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_89, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(89, s))
+# define NDNBOOST_PP_WHILE_89_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_90, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(90, s))
+# define NDNBOOST_PP_WHILE_90_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_91, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(91, s))
+# define NDNBOOST_PP_WHILE_91_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_92, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(92, s))
+# define NDNBOOST_PP_WHILE_92_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_93, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(93, s))
+# define NDNBOOST_PP_WHILE_93_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_94, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(94, s))
+# define NDNBOOST_PP_WHILE_94_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_95, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(95, s))
+# define NDNBOOST_PP_WHILE_95_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_96, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(96, s))
+# define NDNBOOST_PP_WHILE_96_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_97, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(97, s))
+# define NDNBOOST_PP_WHILE_97_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_98, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(98, s))
+# define NDNBOOST_PP_WHILE_98_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_99, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(99, s))
+# define NDNBOOST_PP_WHILE_99_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_100, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(100, s))
+# define NDNBOOST_PP_WHILE_100_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_101, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(101, s))
+# define NDNBOOST_PP_WHILE_101_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_102, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(102, s))
+# define NDNBOOST_PP_WHILE_102_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_103, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(103, s))
+# define NDNBOOST_PP_WHILE_103_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_104, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(104, s))
+# define NDNBOOST_PP_WHILE_104_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_105, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(105, s))
+# define NDNBOOST_PP_WHILE_105_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_106, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(106, s))
+# define NDNBOOST_PP_WHILE_106_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_107, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(107, s))
+# define NDNBOOST_PP_WHILE_107_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_108, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(108, s))
+# define NDNBOOST_PP_WHILE_108_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_109, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(109, s))
+# define NDNBOOST_PP_WHILE_109_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_110, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(110, s))
+# define NDNBOOST_PP_WHILE_110_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_111, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(111, s))
+# define NDNBOOST_PP_WHILE_111_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_112, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(112, s))
+# define NDNBOOST_PP_WHILE_112_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_113, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(113, s))
+# define NDNBOOST_PP_WHILE_113_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_114, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(114, s))
+# define NDNBOOST_PP_WHILE_114_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_115, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(115, s))
+# define NDNBOOST_PP_WHILE_115_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_116, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(116, s))
+# define NDNBOOST_PP_WHILE_116_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_117, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(117, s))
+# define NDNBOOST_PP_WHILE_117_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_118, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(118, s))
+# define NDNBOOST_PP_WHILE_118_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_119, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(119, s))
+# define NDNBOOST_PP_WHILE_119_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_120, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(120, s))
+# define NDNBOOST_PP_WHILE_120_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_121, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(121, s))
+# define NDNBOOST_PP_WHILE_121_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_122, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(122, s))
+# define NDNBOOST_PP_WHILE_122_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_123, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(123, s))
+# define NDNBOOST_PP_WHILE_123_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_124, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(124, s))
+# define NDNBOOST_PP_WHILE_124_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_125, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(125, s))
+# define NDNBOOST_PP_WHILE_125_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_126, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(126, s))
+# define NDNBOOST_PP_WHILE_126_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_127, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(127, s))
+# define NDNBOOST_PP_WHILE_127_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_128, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(128, s))
+# define NDNBOOST_PP_WHILE_128_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_129, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(129, s))
+# define NDNBOOST_PP_WHILE_129_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_130, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(130, s))
+# define NDNBOOST_PP_WHILE_130_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_131, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(131, s))
+# define NDNBOOST_PP_WHILE_131_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_132, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(132, s))
+# define NDNBOOST_PP_WHILE_132_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_133, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(133, s))
+# define NDNBOOST_PP_WHILE_133_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_134, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(134, s))
+# define NDNBOOST_PP_WHILE_134_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_135, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(135, s))
+# define NDNBOOST_PP_WHILE_135_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_136, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(136, s))
+# define NDNBOOST_PP_WHILE_136_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_137, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(137, s))
+# define NDNBOOST_PP_WHILE_137_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_138, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(138, s))
+# define NDNBOOST_PP_WHILE_138_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_139, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(139, s))
+# define NDNBOOST_PP_WHILE_139_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_140, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(140, s))
+# define NDNBOOST_PP_WHILE_140_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_141, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(141, s))
+# define NDNBOOST_PP_WHILE_141_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_142, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(142, s))
+# define NDNBOOST_PP_WHILE_142_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_143, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(143, s))
+# define NDNBOOST_PP_WHILE_143_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_144, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(144, s))
+# define NDNBOOST_PP_WHILE_144_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_145, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(145, s))
+# define NDNBOOST_PP_WHILE_145_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_146, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(146, s))
+# define NDNBOOST_PP_WHILE_146_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_147, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(147, s))
+# define NDNBOOST_PP_WHILE_147_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_148, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(148, s))
+# define NDNBOOST_PP_WHILE_148_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_149, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(149, s))
+# define NDNBOOST_PP_WHILE_149_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_150, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(150, s))
+# define NDNBOOST_PP_WHILE_150_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_151, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(151, s))
+# define NDNBOOST_PP_WHILE_151_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_152, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(152, s))
+# define NDNBOOST_PP_WHILE_152_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_153, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(153, s))
+# define NDNBOOST_PP_WHILE_153_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_154, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(154, s))
+# define NDNBOOST_PP_WHILE_154_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_155, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(155, s))
+# define NDNBOOST_PP_WHILE_155_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_156, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(156, s))
+# define NDNBOOST_PP_WHILE_156_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_157, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(157, s))
+# define NDNBOOST_PP_WHILE_157_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_158, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(158, s))
+# define NDNBOOST_PP_WHILE_158_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_159, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(159, s))
+# define NDNBOOST_PP_WHILE_159_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_160, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(160, s))
+# define NDNBOOST_PP_WHILE_160_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_161, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(161, s))
+# define NDNBOOST_PP_WHILE_161_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_162, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(162, s))
+# define NDNBOOST_PP_WHILE_162_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_163, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(163, s))
+# define NDNBOOST_PP_WHILE_163_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_164, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(164, s))
+# define NDNBOOST_PP_WHILE_164_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_165, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(165, s))
+# define NDNBOOST_PP_WHILE_165_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_166, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(166, s))
+# define NDNBOOST_PP_WHILE_166_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_167, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(167, s))
+# define NDNBOOST_PP_WHILE_167_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_168, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(168, s))
+# define NDNBOOST_PP_WHILE_168_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_169, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(169, s))
+# define NDNBOOST_PP_WHILE_169_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_170, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(170, s))
+# define NDNBOOST_PP_WHILE_170_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_171, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(171, s))
+# define NDNBOOST_PP_WHILE_171_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_172, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(172, s))
+# define NDNBOOST_PP_WHILE_172_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_173, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(173, s))
+# define NDNBOOST_PP_WHILE_173_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_174, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(174, s))
+# define NDNBOOST_PP_WHILE_174_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_175, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(175, s))
+# define NDNBOOST_PP_WHILE_175_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_176, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(176, s))
+# define NDNBOOST_PP_WHILE_176_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_177, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(177, s))
+# define NDNBOOST_PP_WHILE_177_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_178, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(178, s))
+# define NDNBOOST_PP_WHILE_178_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_179, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(179, s))
+# define NDNBOOST_PP_WHILE_179_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_180, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(180, s))
+# define NDNBOOST_PP_WHILE_180_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_181, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(181, s))
+# define NDNBOOST_PP_WHILE_181_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_182, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(182, s))
+# define NDNBOOST_PP_WHILE_182_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_183, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(183, s))
+# define NDNBOOST_PP_WHILE_183_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_184, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(184, s))
+# define NDNBOOST_PP_WHILE_184_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_185, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(185, s))
+# define NDNBOOST_PP_WHILE_185_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_186, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(186, s))
+# define NDNBOOST_PP_WHILE_186_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_187, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(187, s))
+# define NDNBOOST_PP_WHILE_187_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_188, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(188, s))
+# define NDNBOOST_PP_WHILE_188_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_189, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(189, s))
+# define NDNBOOST_PP_WHILE_189_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_190, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(190, s))
+# define NDNBOOST_PP_WHILE_190_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_191, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(191, s))
+# define NDNBOOST_PP_WHILE_191_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_192, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(192, s))
+# define NDNBOOST_PP_WHILE_192_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_193, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(193, s))
+# define NDNBOOST_PP_WHILE_193_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_194, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(194, s))
+# define NDNBOOST_PP_WHILE_194_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_195, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(195, s))
+# define NDNBOOST_PP_WHILE_195_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_196, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(196, s))
+# define NDNBOOST_PP_WHILE_196_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_197, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(197, s))
+# define NDNBOOST_PP_WHILE_197_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_198, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(198, s))
+# define NDNBOOST_PP_WHILE_198_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_199, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(199, s))
+# define NDNBOOST_PP_WHILE_199_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_200, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(200, s))
+# define NDNBOOST_PP_WHILE_200_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_201, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(201, s))
+# define NDNBOOST_PP_WHILE_201_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_202, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(202, s))
+# define NDNBOOST_PP_WHILE_202_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_203, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(203, s))
+# define NDNBOOST_PP_WHILE_203_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_204, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(204, s))
+# define NDNBOOST_PP_WHILE_204_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_205, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(205, s))
+# define NDNBOOST_PP_WHILE_205_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_206, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(206, s))
+# define NDNBOOST_PP_WHILE_206_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_207, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(207, s))
+# define NDNBOOST_PP_WHILE_207_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_208, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(208, s))
+# define NDNBOOST_PP_WHILE_208_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_209, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(209, s))
+# define NDNBOOST_PP_WHILE_209_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_210, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(210, s))
+# define NDNBOOST_PP_WHILE_210_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_211, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(211, s))
+# define NDNBOOST_PP_WHILE_211_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_212, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(212, s))
+# define NDNBOOST_PP_WHILE_212_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_213, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(213, s))
+# define NDNBOOST_PP_WHILE_213_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_214, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(214, s))
+# define NDNBOOST_PP_WHILE_214_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_215, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(215, s))
+# define NDNBOOST_PP_WHILE_215_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_216, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(216, s))
+# define NDNBOOST_PP_WHILE_216_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_217, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(217, s))
+# define NDNBOOST_PP_WHILE_217_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_218, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(218, s))
+# define NDNBOOST_PP_WHILE_218_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_219, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(219, s))
+# define NDNBOOST_PP_WHILE_219_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_220, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(220, s))
+# define NDNBOOST_PP_WHILE_220_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_221, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(221, s))
+# define NDNBOOST_PP_WHILE_221_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_222, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(222, s))
+# define NDNBOOST_PP_WHILE_222_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_223, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(223, s))
+# define NDNBOOST_PP_WHILE_223_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_224, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(224, s))
+# define NDNBOOST_PP_WHILE_224_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_225, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(225, s))
+# define NDNBOOST_PP_WHILE_225_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_226, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(226, s))
+# define NDNBOOST_PP_WHILE_226_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_227, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(227, s))
+# define NDNBOOST_PP_WHILE_227_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_228, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(228, s))
+# define NDNBOOST_PP_WHILE_228_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_229, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(229, s))
+# define NDNBOOST_PP_WHILE_229_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_230, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(230, s))
+# define NDNBOOST_PP_WHILE_230_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_231, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(231, s))
+# define NDNBOOST_PP_WHILE_231_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_232, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(232, s))
+# define NDNBOOST_PP_WHILE_232_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_233, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(233, s))
+# define NDNBOOST_PP_WHILE_233_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_234, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(234, s))
+# define NDNBOOST_PP_WHILE_234_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_235, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(235, s))
+# define NDNBOOST_PP_WHILE_235_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_236, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(236, s))
+# define NDNBOOST_PP_WHILE_236_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_237, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(237, s))
+# define NDNBOOST_PP_WHILE_237_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_238, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(238, s))
+# define NDNBOOST_PP_WHILE_238_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_239, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(239, s))
+# define NDNBOOST_PP_WHILE_239_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_240, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(240, s))
+# define NDNBOOST_PP_WHILE_240_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_241, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(241, s))
+# define NDNBOOST_PP_WHILE_241_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_242, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(242, s))
+# define NDNBOOST_PP_WHILE_242_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_243, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(243, s))
+# define NDNBOOST_PP_WHILE_243_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_244, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(244, s))
+# define NDNBOOST_PP_WHILE_244_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_245, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(245, s))
+# define NDNBOOST_PP_WHILE_245_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_246, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(246, s))
+# define NDNBOOST_PP_WHILE_246_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_247, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(247, s))
+# define NDNBOOST_PP_WHILE_247_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_248, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(248, s))
+# define NDNBOOST_PP_WHILE_248_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_249, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(249, s))
+# define NDNBOOST_PP_WHILE_249_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_250, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(250, s))
+# define NDNBOOST_PP_WHILE_250_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_251, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(251, s))
+# define NDNBOOST_PP_WHILE_251_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_252, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(252, s))
+# define NDNBOOST_PP_WHILE_252_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_253, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(253, s))
+# define NDNBOOST_PP_WHILE_253_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_254, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(254, s))
+# define NDNBOOST_PP_WHILE_254_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_255, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(255, s))
+# define NDNBOOST_PP_WHILE_255_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_256, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(256, s))
+# define NDNBOOST_PP_WHILE_256_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_257, NDNBOOST_PP_TUPLE_ELEM_3_2)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_TUPLE_ELEM_2_1)(257, s))
 #
 #
 # endif
diff --git a/include/ndnboost/preprocessor/control/detail/edg/while.hpp b/include/ndnboost/preprocessor/control/detail/edg/while.hpp
index ec10544..ee1303f 100644
--- a/include/ndnboost/preprocessor/control/detail/edg/while.hpp
+++ b/include/ndnboost/preprocessor/control/detail/edg/while.hpp
@@ -11,524 +11,524 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_CONTROL_DETAIL_EDG_WHILE_HPP
-# define BOOST_PREPROCESSOR_CONTROL_DETAIL_EDG_WHILE_HPP
+# ifndef NDNBOOST_PREPROCESSOR_CONTROL_DETAIL_EDG_WHILE_HPP
+# define NDNBOOST_PREPROCESSOR_CONTROL_DETAIL_EDG_WHILE_HPP
 #
 # include <ndnboost/preprocessor/control/if.hpp>
 # include <ndnboost/preprocessor/tuple/eat.hpp>
 #
-# define BOOST_PP_WHILE_1(p, o, s) BOOST_PP_WHILE_1_I(p, o, s)
-# define BOOST_PP_WHILE_2(p, o, s) BOOST_PP_WHILE_2_I(p, o, s)
-# define BOOST_PP_WHILE_3(p, o, s) BOOST_PP_WHILE_3_I(p, o, s)
-# define BOOST_PP_WHILE_4(p, o, s) BOOST_PP_WHILE_4_I(p, o, s)
-# define BOOST_PP_WHILE_5(p, o, s) BOOST_PP_WHILE_5_I(p, o, s)
-# define BOOST_PP_WHILE_6(p, o, s) BOOST_PP_WHILE_6_I(p, o, s)
-# define BOOST_PP_WHILE_7(p, o, s) BOOST_PP_WHILE_7_I(p, o, s)
-# define BOOST_PP_WHILE_8(p, o, s) BOOST_PP_WHILE_8_I(p, o, s)
-# define BOOST_PP_WHILE_9(p, o, s) BOOST_PP_WHILE_9_I(p, o, s)
-# define BOOST_PP_WHILE_10(p, o, s) BOOST_PP_WHILE_10_I(p, o, s)
-# define BOOST_PP_WHILE_11(p, o, s) BOOST_PP_WHILE_11_I(p, o, s)
-# define BOOST_PP_WHILE_12(p, o, s) BOOST_PP_WHILE_12_I(p, o, s)
-# define BOOST_PP_WHILE_13(p, o, s) BOOST_PP_WHILE_13_I(p, o, s)
-# define BOOST_PP_WHILE_14(p, o, s) BOOST_PP_WHILE_14_I(p, o, s)
-# define BOOST_PP_WHILE_15(p, o, s) BOOST_PP_WHILE_15_I(p, o, s)
-# define BOOST_PP_WHILE_16(p, o, s) BOOST_PP_WHILE_16_I(p, o, s)
-# define BOOST_PP_WHILE_17(p, o, s) BOOST_PP_WHILE_17_I(p, o, s)
-# define BOOST_PP_WHILE_18(p, o, s) BOOST_PP_WHILE_18_I(p, o, s)
-# define BOOST_PP_WHILE_19(p, o, s) BOOST_PP_WHILE_19_I(p, o, s)
-# define BOOST_PP_WHILE_20(p, o, s) BOOST_PP_WHILE_20_I(p, o, s)
-# define BOOST_PP_WHILE_21(p, o, s) BOOST_PP_WHILE_21_I(p, o, s)
-# define BOOST_PP_WHILE_22(p, o, s) BOOST_PP_WHILE_22_I(p, o, s)
-# define BOOST_PP_WHILE_23(p, o, s) BOOST_PP_WHILE_23_I(p, o, s)
-# define BOOST_PP_WHILE_24(p, o, s) BOOST_PP_WHILE_24_I(p, o, s)
-# define BOOST_PP_WHILE_25(p, o, s) BOOST_PP_WHILE_25_I(p, o, s)
-# define BOOST_PP_WHILE_26(p, o, s) BOOST_PP_WHILE_26_I(p, o, s)
-# define BOOST_PP_WHILE_27(p, o, s) BOOST_PP_WHILE_27_I(p, o, s)
-# define BOOST_PP_WHILE_28(p, o, s) BOOST_PP_WHILE_28_I(p, o, s)
-# define BOOST_PP_WHILE_29(p, o, s) BOOST_PP_WHILE_29_I(p, o, s)
-# define BOOST_PP_WHILE_30(p, o, s) BOOST_PP_WHILE_30_I(p, o, s)
-# define BOOST_PP_WHILE_31(p, o, s) BOOST_PP_WHILE_31_I(p, o, s)
-# define BOOST_PP_WHILE_32(p, o, s) BOOST_PP_WHILE_32_I(p, o, s)
-# define BOOST_PP_WHILE_33(p, o, s) BOOST_PP_WHILE_33_I(p, o, s)
-# define BOOST_PP_WHILE_34(p, o, s) BOOST_PP_WHILE_34_I(p, o, s)
-# define BOOST_PP_WHILE_35(p, o, s) BOOST_PP_WHILE_35_I(p, o, s)
-# define BOOST_PP_WHILE_36(p, o, s) BOOST_PP_WHILE_36_I(p, o, s)
-# define BOOST_PP_WHILE_37(p, o, s) BOOST_PP_WHILE_37_I(p, o, s)
-# define BOOST_PP_WHILE_38(p, o, s) BOOST_PP_WHILE_38_I(p, o, s)
-# define BOOST_PP_WHILE_39(p, o, s) BOOST_PP_WHILE_39_I(p, o, s)
-# define BOOST_PP_WHILE_40(p, o, s) BOOST_PP_WHILE_40_I(p, o, s)
-# define BOOST_PP_WHILE_41(p, o, s) BOOST_PP_WHILE_41_I(p, o, s)
-# define BOOST_PP_WHILE_42(p, o, s) BOOST_PP_WHILE_42_I(p, o, s)
-# define BOOST_PP_WHILE_43(p, o, s) BOOST_PP_WHILE_43_I(p, o, s)
-# define BOOST_PP_WHILE_44(p, o, s) BOOST_PP_WHILE_44_I(p, o, s)
-# define BOOST_PP_WHILE_45(p, o, s) BOOST_PP_WHILE_45_I(p, o, s)
-# define BOOST_PP_WHILE_46(p, o, s) BOOST_PP_WHILE_46_I(p, o, s)
-# define BOOST_PP_WHILE_47(p, o, s) BOOST_PP_WHILE_47_I(p, o, s)
-# define BOOST_PP_WHILE_48(p, o, s) BOOST_PP_WHILE_48_I(p, o, s)
-# define BOOST_PP_WHILE_49(p, o, s) BOOST_PP_WHILE_49_I(p, o, s)
-# define BOOST_PP_WHILE_50(p, o, s) BOOST_PP_WHILE_50_I(p, o, s)
-# define BOOST_PP_WHILE_51(p, o, s) BOOST_PP_WHILE_51_I(p, o, s)
-# define BOOST_PP_WHILE_52(p, o, s) BOOST_PP_WHILE_52_I(p, o, s)
-# define BOOST_PP_WHILE_53(p, o, s) BOOST_PP_WHILE_53_I(p, o, s)
-# define BOOST_PP_WHILE_54(p, o, s) BOOST_PP_WHILE_54_I(p, o, s)
-# define BOOST_PP_WHILE_55(p, o, s) BOOST_PP_WHILE_55_I(p, o, s)
-# define BOOST_PP_WHILE_56(p, o, s) BOOST_PP_WHILE_56_I(p, o, s)
-# define BOOST_PP_WHILE_57(p, o, s) BOOST_PP_WHILE_57_I(p, o, s)
-# define BOOST_PP_WHILE_58(p, o, s) BOOST_PP_WHILE_58_I(p, o, s)
-# define BOOST_PP_WHILE_59(p, o, s) BOOST_PP_WHILE_59_I(p, o, s)
-# define BOOST_PP_WHILE_60(p, o, s) BOOST_PP_WHILE_60_I(p, o, s)
-# define BOOST_PP_WHILE_61(p, o, s) BOOST_PP_WHILE_61_I(p, o, s)
-# define BOOST_PP_WHILE_62(p, o, s) BOOST_PP_WHILE_62_I(p, o, s)
-# define BOOST_PP_WHILE_63(p, o, s) BOOST_PP_WHILE_63_I(p, o, s)
-# define BOOST_PP_WHILE_64(p, o, s) BOOST_PP_WHILE_64_I(p, o, s)
-# define BOOST_PP_WHILE_65(p, o, s) BOOST_PP_WHILE_65_I(p, o, s)
-# define BOOST_PP_WHILE_66(p, o, s) BOOST_PP_WHILE_66_I(p, o, s)
-# define BOOST_PP_WHILE_67(p, o, s) BOOST_PP_WHILE_67_I(p, o, s)
-# define BOOST_PP_WHILE_68(p, o, s) BOOST_PP_WHILE_68_I(p, o, s)
-# define BOOST_PP_WHILE_69(p, o, s) BOOST_PP_WHILE_69_I(p, o, s)
-# define BOOST_PP_WHILE_70(p, o, s) BOOST_PP_WHILE_70_I(p, o, s)
-# define BOOST_PP_WHILE_71(p, o, s) BOOST_PP_WHILE_71_I(p, o, s)
-# define BOOST_PP_WHILE_72(p, o, s) BOOST_PP_WHILE_72_I(p, o, s)
-# define BOOST_PP_WHILE_73(p, o, s) BOOST_PP_WHILE_73_I(p, o, s)
-# define BOOST_PP_WHILE_74(p, o, s) BOOST_PP_WHILE_74_I(p, o, s)
-# define BOOST_PP_WHILE_75(p, o, s) BOOST_PP_WHILE_75_I(p, o, s)
-# define BOOST_PP_WHILE_76(p, o, s) BOOST_PP_WHILE_76_I(p, o, s)
-# define BOOST_PP_WHILE_77(p, o, s) BOOST_PP_WHILE_77_I(p, o, s)
-# define BOOST_PP_WHILE_78(p, o, s) BOOST_PP_WHILE_78_I(p, o, s)
-# define BOOST_PP_WHILE_79(p, o, s) BOOST_PP_WHILE_79_I(p, o, s)
-# define BOOST_PP_WHILE_80(p, o, s) BOOST_PP_WHILE_80_I(p, o, s)
-# define BOOST_PP_WHILE_81(p, o, s) BOOST_PP_WHILE_81_I(p, o, s)
-# define BOOST_PP_WHILE_82(p, o, s) BOOST_PP_WHILE_82_I(p, o, s)
-# define BOOST_PP_WHILE_83(p, o, s) BOOST_PP_WHILE_83_I(p, o, s)
-# define BOOST_PP_WHILE_84(p, o, s) BOOST_PP_WHILE_84_I(p, o, s)
-# define BOOST_PP_WHILE_85(p, o, s) BOOST_PP_WHILE_85_I(p, o, s)
-# define BOOST_PP_WHILE_86(p, o, s) BOOST_PP_WHILE_86_I(p, o, s)
-# define BOOST_PP_WHILE_87(p, o, s) BOOST_PP_WHILE_87_I(p, o, s)
-# define BOOST_PP_WHILE_88(p, o, s) BOOST_PP_WHILE_88_I(p, o, s)
-# define BOOST_PP_WHILE_89(p, o, s) BOOST_PP_WHILE_89_I(p, o, s)
-# define BOOST_PP_WHILE_90(p, o, s) BOOST_PP_WHILE_90_I(p, o, s)
-# define BOOST_PP_WHILE_91(p, o, s) BOOST_PP_WHILE_91_I(p, o, s)
-# define BOOST_PP_WHILE_92(p, o, s) BOOST_PP_WHILE_92_I(p, o, s)
-# define BOOST_PP_WHILE_93(p, o, s) BOOST_PP_WHILE_93_I(p, o, s)
-# define BOOST_PP_WHILE_94(p, o, s) BOOST_PP_WHILE_94_I(p, o, s)
-# define BOOST_PP_WHILE_95(p, o, s) BOOST_PP_WHILE_95_I(p, o, s)
-# define BOOST_PP_WHILE_96(p, o, s) BOOST_PP_WHILE_96_I(p, o, s)
-# define BOOST_PP_WHILE_97(p, o, s) BOOST_PP_WHILE_97_I(p, o, s)
-# define BOOST_PP_WHILE_98(p, o, s) BOOST_PP_WHILE_98_I(p, o, s)
-# define BOOST_PP_WHILE_99(p, o, s) BOOST_PP_WHILE_99_I(p, o, s)
-# define BOOST_PP_WHILE_100(p, o, s) BOOST_PP_WHILE_100_I(p, o, s)
-# define BOOST_PP_WHILE_101(p, o, s) BOOST_PP_WHILE_101_I(p, o, s)
-# define BOOST_PP_WHILE_102(p, o, s) BOOST_PP_WHILE_102_I(p, o, s)
-# define BOOST_PP_WHILE_103(p, o, s) BOOST_PP_WHILE_103_I(p, o, s)
-# define BOOST_PP_WHILE_104(p, o, s) BOOST_PP_WHILE_104_I(p, o, s)
-# define BOOST_PP_WHILE_105(p, o, s) BOOST_PP_WHILE_105_I(p, o, s)
-# define BOOST_PP_WHILE_106(p, o, s) BOOST_PP_WHILE_106_I(p, o, s)
-# define BOOST_PP_WHILE_107(p, o, s) BOOST_PP_WHILE_107_I(p, o, s)
-# define BOOST_PP_WHILE_108(p, o, s) BOOST_PP_WHILE_108_I(p, o, s)
-# define BOOST_PP_WHILE_109(p, o, s) BOOST_PP_WHILE_109_I(p, o, s)
-# define BOOST_PP_WHILE_110(p, o, s) BOOST_PP_WHILE_110_I(p, o, s)
-# define BOOST_PP_WHILE_111(p, o, s) BOOST_PP_WHILE_111_I(p, o, s)
-# define BOOST_PP_WHILE_112(p, o, s) BOOST_PP_WHILE_112_I(p, o, s)
-# define BOOST_PP_WHILE_113(p, o, s) BOOST_PP_WHILE_113_I(p, o, s)
-# define BOOST_PP_WHILE_114(p, o, s) BOOST_PP_WHILE_114_I(p, o, s)
-# define BOOST_PP_WHILE_115(p, o, s) BOOST_PP_WHILE_115_I(p, o, s)
-# define BOOST_PP_WHILE_116(p, o, s) BOOST_PP_WHILE_116_I(p, o, s)
-# define BOOST_PP_WHILE_117(p, o, s) BOOST_PP_WHILE_117_I(p, o, s)
-# define BOOST_PP_WHILE_118(p, o, s) BOOST_PP_WHILE_118_I(p, o, s)
-# define BOOST_PP_WHILE_119(p, o, s) BOOST_PP_WHILE_119_I(p, o, s)
-# define BOOST_PP_WHILE_120(p, o, s) BOOST_PP_WHILE_120_I(p, o, s)
-# define BOOST_PP_WHILE_121(p, o, s) BOOST_PP_WHILE_121_I(p, o, s)
-# define BOOST_PP_WHILE_122(p, o, s) BOOST_PP_WHILE_122_I(p, o, s)
-# define BOOST_PP_WHILE_123(p, o, s) BOOST_PP_WHILE_123_I(p, o, s)
-# define BOOST_PP_WHILE_124(p, o, s) BOOST_PP_WHILE_124_I(p, o, s)
-# define BOOST_PP_WHILE_125(p, o, s) BOOST_PP_WHILE_125_I(p, o, s)
-# define BOOST_PP_WHILE_126(p, o, s) BOOST_PP_WHILE_126_I(p, o, s)
-# define BOOST_PP_WHILE_127(p, o, s) BOOST_PP_WHILE_127_I(p, o, s)
-# define BOOST_PP_WHILE_128(p, o, s) BOOST_PP_WHILE_128_I(p, o, s)
-# define BOOST_PP_WHILE_129(p, o, s) BOOST_PP_WHILE_129_I(p, o, s)
-# define BOOST_PP_WHILE_130(p, o, s) BOOST_PP_WHILE_130_I(p, o, s)
-# define BOOST_PP_WHILE_131(p, o, s) BOOST_PP_WHILE_131_I(p, o, s)
-# define BOOST_PP_WHILE_132(p, o, s) BOOST_PP_WHILE_132_I(p, o, s)
-# define BOOST_PP_WHILE_133(p, o, s) BOOST_PP_WHILE_133_I(p, o, s)
-# define BOOST_PP_WHILE_134(p, o, s) BOOST_PP_WHILE_134_I(p, o, s)
-# define BOOST_PP_WHILE_135(p, o, s) BOOST_PP_WHILE_135_I(p, o, s)
-# define BOOST_PP_WHILE_136(p, o, s) BOOST_PP_WHILE_136_I(p, o, s)
-# define BOOST_PP_WHILE_137(p, o, s) BOOST_PP_WHILE_137_I(p, o, s)
-# define BOOST_PP_WHILE_138(p, o, s) BOOST_PP_WHILE_138_I(p, o, s)
-# define BOOST_PP_WHILE_139(p, o, s) BOOST_PP_WHILE_139_I(p, o, s)
-# define BOOST_PP_WHILE_140(p, o, s) BOOST_PP_WHILE_140_I(p, o, s)
-# define BOOST_PP_WHILE_141(p, o, s) BOOST_PP_WHILE_141_I(p, o, s)
-# define BOOST_PP_WHILE_142(p, o, s) BOOST_PP_WHILE_142_I(p, o, s)
-# define BOOST_PP_WHILE_143(p, o, s) BOOST_PP_WHILE_143_I(p, o, s)
-# define BOOST_PP_WHILE_144(p, o, s) BOOST_PP_WHILE_144_I(p, o, s)
-# define BOOST_PP_WHILE_145(p, o, s) BOOST_PP_WHILE_145_I(p, o, s)
-# define BOOST_PP_WHILE_146(p, o, s) BOOST_PP_WHILE_146_I(p, o, s)
-# define BOOST_PP_WHILE_147(p, o, s) BOOST_PP_WHILE_147_I(p, o, s)
-# define BOOST_PP_WHILE_148(p, o, s) BOOST_PP_WHILE_148_I(p, o, s)
-# define BOOST_PP_WHILE_149(p, o, s) BOOST_PP_WHILE_149_I(p, o, s)
-# define BOOST_PP_WHILE_150(p, o, s) BOOST_PP_WHILE_150_I(p, o, s)
-# define BOOST_PP_WHILE_151(p, o, s) BOOST_PP_WHILE_151_I(p, o, s)
-# define BOOST_PP_WHILE_152(p, o, s) BOOST_PP_WHILE_152_I(p, o, s)
-# define BOOST_PP_WHILE_153(p, o, s) BOOST_PP_WHILE_153_I(p, o, s)
-# define BOOST_PP_WHILE_154(p, o, s) BOOST_PP_WHILE_154_I(p, o, s)
-# define BOOST_PP_WHILE_155(p, o, s) BOOST_PP_WHILE_155_I(p, o, s)
-# define BOOST_PP_WHILE_156(p, o, s) BOOST_PP_WHILE_156_I(p, o, s)
-# define BOOST_PP_WHILE_157(p, o, s) BOOST_PP_WHILE_157_I(p, o, s)
-# define BOOST_PP_WHILE_158(p, o, s) BOOST_PP_WHILE_158_I(p, o, s)
-# define BOOST_PP_WHILE_159(p, o, s) BOOST_PP_WHILE_159_I(p, o, s)
-# define BOOST_PP_WHILE_160(p, o, s) BOOST_PP_WHILE_160_I(p, o, s)
-# define BOOST_PP_WHILE_161(p, o, s) BOOST_PP_WHILE_161_I(p, o, s)
-# define BOOST_PP_WHILE_162(p, o, s) BOOST_PP_WHILE_162_I(p, o, s)
-# define BOOST_PP_WHILE_163(p, o, s) BOOST_PP_WHILE_163_I(p, o, s)
-# define BOOST_PP_WHILE_164(p, o, s) BOOST_PP_WHILE_164_I(p, o, s)
-# define BOOST_PP_WHILE_165(p, o, s) BOOST_PP_WHILE_165_I(p, o, s)
-# define BOOST_PP_WHILE_166(p, o, s) BOOST_PP_WHILE_166_I(p, o, s)
-# define BOOST_PP_WHILE_167(p, o, s) BOOST_PP_WHILE_167_I(p, o, s)
-# define BOOST_PP_WHILE_168(p, o, s) BOOST_PP_WHILE_168_I(p, o, s)
-# define BOOST_PP_WHILE_169(p, o, s) BOOST_PP_WHILE_169_I(p, o, s)
-# define BOOST_PP_WHILE_170(p, o, s) BOOST_PP_WHILE_170_I(p, o, s)
-# define BOOST_PP_WHILE_171(p, o, s) BOOST_PP_WHILE_171_I(p, o, s)
-# define BOOST_PP_WHILE_172(p, o, s) BOOST_PP_WHILE_172_I(p, o, s)
-# define BOOST_PP_WHILE_173(p, o, s) BOOST_PP_WHILE_173_I(p, o, s)
-# define BOOST_PP_WHILE_174(p, o, s) BOOST_PP_WHILE_174_I(p, o, s)
-# define BOOST_PP_WHILE_175(p, o, s) BOOST_PP_WHILE_175_I(p, o, s)
-# define BOOST_PP_WHILE_176(p, o, s) BOOST_PP_WHILE_176_I(p, o, s)
-# define BOOST_PP_WHILE_177(p, o, s) BOOST_PP_WHILE_177_I(p, o, s)
-# define BOOST_PP_WHILE_178(p, o, s) BOOST_PP_WHILE_178_I(p, o, s)
-# define BOOST_PP_WHILE_179(p, o, s) BOOST_PP_WHILE_179_I(p, o, s)
-# define BOOST_PP_WHILE_180(p, o, s) BOOST_PP_WHILE_180_I(p, o, s)
-# define BOOST_PP_WHILE_181(p, o, s) BOOST_PP_WHILE_181_I(p, o, s)
-# define BOOST_PP_WHILE_182(p, o, s) BOOST_PP_WHILE_182_I(p, o, s)
-# define BOOST_PP_WHILE_183(p, o, s) BOOST_PP_WHILE_183_I(p, o, s)
-# define BOOST_PP_WHILE_184(p, o, s) BOOST_PP_WHILE_184_I(p, o, s)
-# define BOOST_PP_WHILE_185(p, o, s) BOOST_PP_WHILE_185_I(p, o, s)
-# define BOOST_PP_WHILE_186(p, o, s) BOOST_PP_WHILE_186_I(p, o, s)
-# define BOOST_PP_WHILE_187(p, o, s) BOOST_PP_WHILE_187_I(p, o, s)
-# define BOOST_PP_WHILE_188(p, o, s) BOOST_PP_WHILE_188_I(p, o, s)
-# define BOOST_PP_WHILE_189(p, o, s) BOOST_PP_WHILE_189_I(p, o, s)
-# define BOOST_PP_WHILE_190(p, o, s) BOOST_PP_WHILE_190_I(p, o, s)
-# define BOOST_PP_WHILE_191(p, o, s) BOOST_PP_WHILE_191_I(p, o, s)
-# define BOOST_PP_WHILE_192(p, o, s) BOOST_PP_WHILE_192_I(p, o, s)
-# define BOOST_PP_WHILE_193(p, o, s) BOOST_PP_WHILE_193_I(p, o, s)
-# define BOOST_PP_WHILE_194(p, o, s) BOOST_PP_WHILE_194_I(p, o, s)
-# define BOOST_PP_WHILE_195(p, o, s) BOOST_PP_WHILE_195_I(p, o, s)
-# define BOOST_PP_WHILE_196(p, o, s) BOOST_PP_WHILE_196_I(p, o, s)
-# define BOOST_PP_WHILE_197(p, o, s) BOOST_PP_WHILE_197_I(p, o, s)
-# define BOOST_PP_WHILE_198(p, o, s) BOOST_PP_WHILE_198_I(p, o, s)
-# define BOOST_PP_WHILE_199(p, o, s) BOOST_PP_WHILE_199_I(p, o, s)
-# define BOOST_PP_WHILE_200(p, o, s) BOOST_PP_WHILE_200_I(p, o, s)
-# define BOOST_PP_WHILE_201(p, o, s) BOOST_PP_WHILE_201_I(p, o, s)
-# define BOOST_PP_WHILE_202(p, o, s) BOOST_PP_WHILE_202_I(p, o, s)
-# define BOOST_PP_WHILE_203(p, o, s) BOOST_PP_WHILE_203_I(p, o, s)
-# define BOOST_PP_WHILE_204(p, o, s) BOOST_PP_WHILE_204_I(p, o, s)
-# define BOOST_PP_WHILE_205(p, o, s) BOOST_PP_WHILE_205_I(p, o, s)
-# define BOOST_PP_WHILE_206(p, o, s) BOOST_PP_WHILE_206_I(p, o, s)
-# define BOOST_PP_WHILE_207(p, o, s) BOOST_PP_WHILE_207_I(p, o, s)
-# define BOOST_PP_WHILE_208(p, o, s) BOOST_PP_WHILE_208_I(p, o, s)
-# define BOOST_PP_WHILE_209(p, o, s) BOOST_PP_WHILE_209_I(p, o, s)
-# define BOOST_PP_WHILE_210(p, o, s) BOOST_PP_WHILE_210_I(p, o, s)
-# define BOOST_PP_WHILE_211(p, o, s) BOOST_PP_WHILE_211_I(p, o, s)
-# define BOOST_PP_WHILE_212(p, o, s) BOOST_PP_WHILE_212_I(p, o, s)
-# define BOOST_PP_WHILE_213(p, o, s) BOOST_PP_WHILE_213_I(p, o, s)
-# define BOOST_PP_WHILE_214(p, o, s) BOOST_PP_WHILE_214_I(p, o, s)
-# define BOOST_PP_WHILE_215(p, o, s) BOOST_PP_WHILE_215_I(p, o, s)
-# define BOOST_PP_WHILE_216(p, o, s) BOOST_PP_WHILE_216_I(p, o, s)
-# define BOOST_PP_WHILE_217(p, o, s) BOOST_PP_WHILE_217_I(p, o, s)
-# define BOOST_PP_WHILE_218(p, o, s) BOOST_PP_WHILE_218_I(p, o, s)
-# define BOOST_PP_WHILE_219(p, o, s) BOOST_PP_WHILE_219_I(p, o, s)
-# define BOOST_PP_WHILE_220(p, o, s) BOOST_PP_WHILE_220_I(p, o, s)
-# define BOOST_PP_WHILE_221(p, o, s) BOOST_PP_WHILE_221_I(p, o, s)
-# define BOOST_PP_WHILE_222(p, o, s) BOOST_PP_WHILE_222_I(p, o, s)
-# define BOOST_PP_WHILE_223(p, o, s) BOOST_PP_WHILE_223_I(p, o, s)
-# define BOOST_PP_WHILE_224(p, o, s) BOOST_PP_WHILE_224_I(p, o, s)
-# define BOOST_PP_WHILE_225(p, o, s) BOOST_PP_WHILE_225_I(p, o, s)
-# define BOOST_PP_WHILE_226(p, o, s) BOOST_PP_WHILE_226_I(p, o, s)
-# define BOOST_PP_WHILE_227(p, o, s) BOOST_PP_WHILE_227_I(p, o, s)
-# define BOOST_PP_WHILE_228(p, o, s) BOOST_PP_WHILE_228_I(p, o, s)
-# define BOOST_PP_WHILE_229(p, o, s) BOOST_PP_WHILE_229_I(p, o, s)
-# define BOOST_PP_WHILE_230(p, o, s) BOOST_PP_WHILE_230_I(p, o, s)
-# define BOOST_PP_WHILE_231(p, o, s) BOOST_PP_WHILE_231_I(p, o, s)
-# define BOOST_PP_WHILE_232(p, o, s) BOOST_PP_WHILE_232_I(p, o, s)
-# define BOOST_PP_WHILE_233(p, o, s) BOOST_PP_WHILE_233_I(p, o, s)
-# define BOOST_PP_WHILE_234(p, o, s) BOOST_PP_WHILE_234_I(p, o, s)
-# define BOOST_PP_WHILE_235(p, o, s) BOOST_PP_WHILE_235_I(p, o, s)
-# define BOOST_PP_WHILE_236(p, o, s) BOOST_PP_WHILE_236_I(p, o, s)
-# define BOOST_PP_WHILE_237(p, o, s) BOOST_PP_WHILE_237_I(p, o, s)
-# define BOOST_PP_WHILE_238(p, o, s) BOOST_PP_WHILE_238_I(p, o, s)
-# define BOOST_PP_WHILE_239(p, o, s) BOOST_PP_WHILE_239_I(p, o, s)
-# define BOOST_PP_WHILE_240(p, o, s) BOOST_PP_WHILE_240_I(p, o, s)
-# define BOOST_PP_WHILE_241(p, o, s) BOOST_PP_WHILE_241_I(p, o, s)
-# define BOOST_PP_WHILE_242(p, o, s) BOOST_PP_WHILE_242_I(p, o, s)
-# define BOOST_PP_WHILE_243(p, o, s) BOOST_PP_WHILE_243_I(p, o, s)
-# define BOOST_PP_WHILE_244(p, o, s) BOOST_PP_WHILE_244_I(p, o, s)
-# define BOOST_PP_WHILE_245(p, o, s) BOOST_PP_WHILE_245_I(p, o, s)
-# define BOOST_PP_WHILE_246(p, o, s) BOOST_PP_WHILE_246_I(p, o, s)
-# define BOOST_PP_WHILE_247(p, o, s) BOOST_PP_WHILE_247_I(p, o, s)
-# define BOOST_PP_WHILE_248(p, o, s) BOOST_PP_WHILE_248_I(p, o, s)
-# define BOOST_PP_WHILE_249(p, o, s) BOOST_PP_WHILE_249_I(p, o, s)
-# define BOOST_PP_WHILE_250(p, o, s) BOOST_PP_WHILE_250_I(p, o, s)
-# define BOOST_PP_WHILE_251(p, o, s) BOOST_PP_WHILE_251_I(p, o, s)
-# define BOOST_PP_WHILE_252(p, o, s) BOOST_PP_WHILE_252_I(p, o, s)
-# define BOOST_PP_WHILE_253(p, o, s) BOOST_PP_WHILE_253_I(p, o, s)
-# define BOOST_PP_WHILE_254(p, o, s) BOOST_PP_WHILE_254_I(p, o, s)
-# define BOOST_PP_WHILE_255(p, o, s) BOOST_PP_WHILE_255_I(p, o, s)
-# define BOOST_PP_WHILE_256(p, o, s) BOOST_PP_WHILE_256_I(p, o, s)
+# define NDNBOOST_PP_WHILE_1(p, o, s) NDNBOOST_PP_WHILE_1_I(p, o, s)
+# define NDNBOOST_PP_WHILE_2(p, o, s) NDNBOOST_PP_WHILE_2_I(p, o, s)
+# define NDNBOOST_PP_WHILE_3(p, o, s) NDNBOOST_PP_WHILE_3_I(p, o, s)
+# define NDNBOOST_PP_WHILE_4(p, o, s) NDNBOOST_PP_WHILE_4_I(p, o, s)
+# define NDNBOOST_PP_WHILE_5(p, o, s) NDNBOOST_PP_WHILE_5_I(p, o, s)
+# define NDNBOOST_PP_WHILE_6(p, o, s) NDNBOOST_PP_WHILE_6_I(p, o, s)
+# define NDNBOOST_PP_WHILE_7(p, o, s) NDNBOOST_PP_WHILE_7_I(p, o, s)
+# define NDNBOOST_PP_WHILE_8(p, o, s) NDNBOOST_PP_WHILE_8_I(p, o, s)
+# define NDNBOOST_PP_WHILE_9(p, o, s) NDNBOOST_PP_WHILE_9_I(p, o, s)
+# define NDNBOOST_PP_WHILE_10(p, o, s) NDNBOOST_PP_WHILE_10_I(p, o, s)
+# define NDNBOOST_PP_WHILE_11(p, o, s) NDNBOOST_PP_WHILE_11_I(p, o, s)
+# define NDNBOOST_PP_WHILE_12(p, o, s) NDNBOOST_PP_WHILE_12_I(p, o, s)
+# define NDNBOOST_PP_WHILE_13(p, o, s) NDNBOOST_PP_WHILE_13_I(p, o, s)
+# define NDNBOOST_PP_WHILE_14(p, o, s) NDNBOOST_PP_WHILE_14_I(p, o, s)
+# define NDNBOOST_PP_WHILE_15(p, o, s) NDNBOOST_PP_WHILE_15_I(p, o, s)
+# define NDNBOOST_PP_WHILE_16(p, o, s) NDNBOOST_PP_WHILE_16_I(p, o, s)
+# define NDNBOOST_PP_WHILE_17(p, o, s) NDNBOOST_PP_WHILE_17_I(p, o, s)
+# define NDNBOOST_PP_WHILE_18(p, o, s) NDNBOOST_PP_WHILE_18_I(p, o, s)
+# define NDNBOOST_PP_WHILE_19(p, o, s) NDNBOOST_PP_WHILE_19_I(p, o, s)
+# define NDNBOOST_PP_WHILE_20(p, o, s) NDNBOOST_PP_WHILE_20_I(p, o, s)
+# define NDNBOOST_PP_WHILE_21(p, o, s) NDNBOOST_PP_WHILE_21_I(p, o, s)
+# define NDNBOOST_PP_WHILE_22(p, o, s) NDNBOOST_PP_WHILE_22_I(p, o, s)
+# define NDNBOOST_PP_WHILE_23(p, o, s) NDNBOOST_PP_WHILE_23_I(p, o, s)
+# define NDNBOOST_PP_WHILE_24(p, o, s) NDNBOOST_PP_WHILE_24_I(p, o, s)
+# define NDNBOOST_PP_WHILE_25(p, o, s) NDNBOOST_PP_WHILE_25_I(p, o, s)
+# define NDNBOOST_PP_WHILE_26(p, o, s) NDNBOOST_PP_WHILE_26_I(p, o, s)
+# define NDNBOOST_PP_WHILE_27(p, o, s) NDNBOOST_PP_WHILE_27_I(p, o, s)
+# define NDNBOOST_PP_WHILE_28(p, o, s) NDNBOOST_PP_WHILE_28_I(p, o, s)
+# define NDNBOOST_PP_WHILE_29(p, o, s) NDNBOOST_PP_WHILE_29_I(p, o, s)
+# define NDNBOOST_PP_WHILE_30(p, o, s) NDNBOOST_PP_WHILE_30_I(p, o, s)
+# define NDNBOOST_PP_WHILE_31(p, o, s) NDNBOOST_PP_WHILE_31_I(p, o, s)
+# define NDNBOOST_PP_WHILE_32(p, o, s) NDNBOOST_PP_WHILE_32_I(p, o, s)
+# define NDNBOOST_PP_WHILE_33(p, o, s) NDNBOOST_PP_WHILE_33_I(p, o, s)
+# define NDNBOOST_PP_WHILE_34(p, o, s) NDNBOOST_PP_WHILE_34_I(p, o, s)
+# define NDNBOOST_PP_WHILE_35(p, o, s) NDNBOOST_PP_WHILE_35_I(p, o, s)
+# define NDNBOOST_PP_WHILE_36(p, o, s) NDNBOOST_PP_WHILE_36_I(p, o, s)
+# define NDNBOOST_PP_WHILE_37(p, o, s) NDNBOOST_PP_WHILE_37_I(p, o, s)
+# define NDNBOOST_PP_WHILE_38(p, o, s) NDNBOOST_PP_WHILE_38_I(p, o, s)
+# define NDNBOOST_PP_WHILE_39(p, o, s) NDNBOOST_PP_WHILE_39_I(p, o, s)
+# define NDNBOOST_PP_WHILE_40(p, o, s) NDNBOOST_PP_WHILE_40_I(p, o, s)
+# define NDNBOOST_PP_WHILE_41(p, o, s) NDNBOOST_PP_WHILE_41_I(p, o, s)
+# define NDNBOOST_PP_WHILE_42(p, o, s) NDNBOOST_PP_WHILE_42_I(p, o, s)
+# define NDNBOOST_PP_WHILE_43(p, o, s) NDNBOOST_PP_WHILE_43_I(p, o, s)
+# define NDNBOOST_PP_WHILE_44(p, o, s) NDNBOOST_PP_WHILE_44_I(p, o, s)
+# define NDNBOOST_PP_WHILE_45(p, o, s) NDNBOOST_PP_WHILE_45_I(p, o, s)
+# define NDNBOOST_PP_WHILE_46(p, o, s) NDNBOOST_PP_WHILE_46_I(p, o, s)
+# define NDNBOOST_PP_WHILE_47(p, o, s) NDNBOOST_PP_WHILE_47_I(p, o, s)
+# define NDNBOOST_PP_WHILE_48(p, o, s) NDNBOOST_PP_WHILE_48_I(p, o, s)
+# define NDNBOOST_PP_WHILE_49(p, o, s) NDNBOOST_PP_WHILE_49_I(p, o, s)
+# define NDNBOOST_PP_WHILE_50(p, o, s) NDNBOOST_PP_WHILE_50_I(p, o, s)
+# define NDNBOOST_PP_WHILE_51(p, o, s) NDNBOOST_PP_WHILE_51_I(p, o, s)
+# define NDNBOOST_PP_WHILE_52(p, o, s) NDNBOOST_PP_WHILE_52_I(p, o, s)
+# define NDNBOOST_PP_WHILE_53(p, o, s) NDNBOOST_PP_WHILE_53_I(p, o, s)
+# define NDNBOOST_PP_WHILE_54(p, o, s) NDNBOOST_PP_WHILE_54_I(p, o, s)
+# define NDNBOOST_PP_WHILE_55(p, o, s) NDNBOOST_PP_WHILE_55_I(p, o, s)
+# define NDNBOOST_PP_WHILE_56(p, o, s) NDNBOOST_PP_WHILE_56_I(p, o, s)
+# define NDNBOOST_PP_WHILE_57(p, o, s) NDNBOOST_PP_WHILE_57_I(p, o, s)
+# define NDNBOOST_PP_WHILE_58(p, o, s) NDNBOOST_PP_WHILE_58_I(p, o, s)
+# define NDNBOOST_PP_WHILE_59(p, o, s) NDNBOOST_PP_WHILE_59_I(p, o, s)
+# define NDNBOOST_PP_WHILE_60(p, o, s) NDNBOOST_PP_WHILE_60_I(p, o, s)
+# define NDNBOOST_PP_WHILE_61(p, o, s) NDNBOOST_PP_WHILE_61_I(p, o, s)
+# define NDNBOOST_PP_WHILE_62(p, o, s) NDNBOOST_PP_WHILE_62_I(p, o, s)
+# define NDNBOOST_PP_WHILE_63(p, o, s) NDNBOOST_PP_WHILE_63_I(p, o, s)
+# define NDNBOOST_PP_WHILE_64(p, o, s) NDNBOOST_PP_WHILE_64_I(p, o, s)
+# define NDNBOOST_PP_WHILE_65(p, o, s) NDNBOOST_PP_WHILE_65_I(p, o, s)
+# define NDNBOOST_PP_WHILE_66(p, o, s) NDNBOOST_PP_WHILE_66_I(p, o, s)
+# define NDNBOOST_PP_WHILE_67(p, o, s) NDNBOOST_PP_WHILE_67_I(p, o, s)
+# define NDNBOOST_PP_WHILE_68(p, o, s) NDNBOOST_PP_WHILE_68_I(p, o, s)
+# define NDNBOOST_PP_WHILE_69(p, o, s) NDNBOOST_PP_WHILE_69_I(p, o, s)
+# define NDNBOOST_PP_WHILE_70(p, o, s) NDNBOOST_PP_WHILE_70_I(p, o, s)
+# define NDNBOOST_PP_WHILE_71(p, o, s) NDNBOOST_PP_WHILE_71_I(p, o, s)
+# define NDNBOOST_PP_WHILE_72(p, o, s) NDNBOOST_PP_WHILE_72_I(p, o, s)
+# define NDNBOOST_PP_WHILE_73(p, o, s) NDNBOOST_PP_WHILE_73_I(p, o, s)
+# define NDNBOOST_PP_WHILE_74(p, o, s) NDNBOOST_PP_WHILE_74_I(p, o, s)
+# define NDNBOOST_PP_WHILE_75(p, o, s) NDNBOOST_PP_WHILE_75_I(p, o, s)
+# define NDNBOOST_PP_WHILE_76(p, o, s) NDNBOOST_PP_WHILE_76_I(p, o, s)
+# define NDNBOOST_PP_WHILE_77(p, o, s) NDNBOOST_PP_WHILE_77_I(p, o, s)
+# define NDNBOOST_PP_WHILE_78(p, o, s) NDNBOOST_PP_WHILE_78_I(p, o, s)
+# define NDNBOOST_PP_WHILE_79(p, o, s) NDNBOOST_PP_WHILE_79_I(p, o, s)
+# define NDNBOOST_PP_WHILE_80(p, o, s) NDNBOOST_PP_WHILE_80_I(p, o, s)
+# define NDNBOOST_PP_WHILE_81(p, o, s) NDNBOOST_PP_WHILE_81_I(p, o, s)
+# define NDNBOOST_PP_WHILE_82(p, o, s) NDNBOOST_PP_WHILE_82_I(p, o, s)
+# define NDNBOOST_PP_WHILE_83(p, o, s) NDNBOOST_PP_WHILE_83_I(p, o, s)
+# define NDNBOOST_PP_WHILE_84(p, o, s) NDNBOOST_PP_WHILE_84_I(p, o, s)
+# define NDNBOOST_PP_WHILE_85(p, o, s) NDNBOOST_PP_WHILE_85_I(p, o, s)
+# define NDNBOOST_PP_WHILE_86(p, o, s) NDNBOOST_PP_WHILE_86_I(p, o, s)
+# define NDNBOOST_PP_WHILE_87(p, o, s) NDNBOOST_PP_WHILE_87_I(p, o, s)
+# define NDNBOOST_PP_WHILE_88(p, o, s) NDNBOOST_PP_WHILE_88_I(p, o, s)
+# define NDNBOOST_PP_WHILE_89(p, o, s) NDNBOOST_PP_WHILE_89_I(p, o, s)
+# define NDNBOOST_PP_WHILE_90(p, o, s) NDNBOOST_PP_WHILE_90_I(p, o, s)
+# define NDNBOOST_PP_WHILE_91(p, o, s) NDNBOOST_PP_WHILE_91_I(p, o, s)
+# define NDNBOOST_PP_WHILE_92(p, o, s) NDNBOOST_PP_WHILE_92_I(p, o, s)
+# define NDNBOOST_PP_WHILE_93(p, o, s) NDNBOOST_PP_WHILE_93_I(p, o, s)
+# define NDNBOOST_PP_WHILE_94(p, o, s) NDNBOOST_PP_WHILE_94_I(p, o, s)
+# define NDNBOOST_PP_WHILE_95(p, o, s) NDNBOOST_PP_WHILE_95_I(p, o, s)
+# define NDNBOOST_PP_WHILE_96(p, o, s) NDNBOOST_PP_WHILE_96_I(p, o, s)
+# define NDNBOOST_PP_WHILE_97(p, o, s) NDNBOOST_PP_WHILE_97_I(p, o, s)
+# define NDNBOOST_PP_WHILE_98(p, o, s) NDNBOOST_PP_WHILE_98_I(p, o, s)
+# define NDNBOOST_PP_WHILE_99(p, o, s) NDNBOOST_PP_WHILE_99_I(p, o, s)
+# define NDNBOOST_PP_WHILE_100(p, o, s) NDNBOOST_PP_WHILE_100_I(p, o, s)
+# define NDNBOOST_PP_WHILE_101(p, o, s) NDNBOOST_PP_WHILE_101_I(p, o, s)
+# define NDNBOOST_PP_WHILE_102(p, o, s) NDNBOOST_PP_WHILE_102_I(p, o, s)
+# define NDNBOOST_PP_WHILE_103(p, o, s) NDNBOOST_PP_WHILE_103_I(p, o, s)
+# define NDNBOOST_PP_WHILE_104(p, o, s) NDNBOOST_PP_WHILE_104_I(p, o, s)
+# define NDNBOOST_PP_WHILE_105(p, o, s) NDNBOOST_PP_WHILE_105_I(p, o, s)
+# define NDNBOOST_PP_WHILE_106(p, o, s) NDNBOOST_PP_WHILE_106_I(p, o, s)
+# define NDNBOOST_PP_WHILE_107(p, o, s) NDNBOOST_PP_WHILE_107_I(p, o, s)
+# define NDNBOOST_PP_WHILE_108(p, o, s) NDNBOOST_PP_WHILE_108_I(p, o, s)
+# define NDNBOOST_PP_WHILE_109(p, o, s) NDNBOOST_PP_WHILE_109_I(p, o, s)
+# define NDNBOOST_PP_WHILE_110(p, o, s) NDNBOOST_PP_WHILE_110_I(p, o, s)
+# define NDNBOOST_PP_WHILE_111(p, o, s) NDNBOOST_PP_WHILE_111_I(p, o, s)
+# define NDNBOOST_PP_WHILE_112(p, o, s) NDNBOOST_PP_WHILE_112_I(p, o, s)
+# define NDNBOOST_PP_WHILE_113(p, o, s) NDNBOOST_PP_WHILE_113_I(p, o, s)
+# define NDNBOOST_PP_WHILE_114(p, o, s) NDNBOOST_PP_WHILE_114_I(p, o, s)
+# define NDNBOOST_PP_WHILE_115(p, o, s) NDNBOOST_PP_WHILE_115_I(p, o, s)
+# define NDNBOOST_PP_WHILE_116(p, o, s) NDNBOOST_PP_WHILE_116_I(p, o, s)
+# define NDNBOOST_PP_WHILE_117(p, o, s) NDNBOOST_PP_WHILE_117_I(p, o, s)
+# define NDNBOOST_PP_WHILE_118(p, o, s) NDNBOOST_PP_WHILE_118_I(p, o, s)
+# define NDNBOOST_PP_WHILE_119(p, o, s) NDNBOOST_PP_WHILE_119_I(p, o, s)
+# define NDNBOOST_PP_WHILE_120(p, o, s) NDNBOOST_PP_WHILE_120_I(p, o, s)
+# define NDNBOOST_PP_WHILE_121(p, o, s) NDNBOOST_PP_WHILE_121_I(p, o, s)
+# define NDNBOOST_PP_WHILE_122(p, o, s) NDNBOOST_PP_WHILE_122_I(p, o, s)
+# define NDNBOOST_PP_WHILE_123(p, o, s) NDNBOOST_PP_WHILE_123_I(p, o, s)
+# define NDNBOOST_PP_WHILE_124(p, o, s) NDNBOOST_PP_WHILE_124_I(p, o, s)
+# define NDNBOOST_PP_WHILE_125(p, o, s) NDNBOOST_PP_WHILE_125_I(p, o, s)
+# define NDNBOOST_PP_WHILE_126(p, o, s) NDNBOOST_PP_WHILE_126_I(p, o, s)
+# define NDNBOOST_PP_WHILE_127(p, o, s) NDNBOOST_PP_WHILE_127_I(p, o, s)
+# define NDNBOOST_PP_WHILE_128(p, o, s) NDNBOOST_PP_WHILE_128_I(p, o, s)
+# define NDNBOOST_PP_WHILE_129(p, o, s) NDNBOOST_PP_WHILE_129_I(p, o, s)
+# define NDNBOOST_PP_WHILE_130(p, o, s) NDNBOOST_PP_WHILE_130_I(p, o, s)
+# define NDNBOOST_PP_WHILE_131(p, o, s) NDNBOOST_PP_WHILE_131_I(p, o, s)
+# define NDNBOOST_PP_WHILE_132(p, o, s) NDNBOOST_PP_WHILE_132_I(p, o, s)
+# define NDNBOOST_PP_WHILE_133(p, o, s) NDNBOOST_PP_WHILE_133_I(p, o, s)
+# define NDNBOOST_PP_WHILE_134(p, o, s) NDNBOOST_PP_WHILE_134_I(p, o, s)
+# define NDNBOOST_PP_WHILE_135(p, o, s) NDNBOOST_PP_WHILE_135_I(p, o, s)
+# define NDNBOOST_PP_WHILE_136(p, o, s) NDNBOOST_PP_WHILE_136_I(p, o, s)
+# define NDNBOOST_PP_WHILE_137(p, o, s) NDNBOOST_PP_WHILE_137_I(p, o, s)
+# define NDNBOOST_PP_WHILE_138(p, o, s) NDNBOOST_PP_WHILE_138_I(p, o, s)
+# define NDNBOOST_PP_WHILE_139(p, o, s) NDNBOOST_PP_WHILE_139_I(p, o, s)
+# define NDNBOOST_PP_WHILE_140(p, o, s) NDNBOOST_PP_WHILE_140_I(p, o, s)
+# define NDNBOOST_PP_WHILE_141(p, o, s) NDNBOOST_PP_WHILE_141_I(p, o, s)
+# define NDNBOOST_PP_WHILE_142(p, o, s) NDNBOOST_PP_WHILE_142_I(p, o, s)
+# define NDNBOOST_PP_WHILE_143(p, o, s) NDNBOOST_PP_WHILE_143_I(p, o, s)
+# define NDNBOOST_PP_WHILE_144(p, o, s) NDNBOOST_PP_WHILE_144_I(p, o, s)
+# define NDNBOOST_PP_WHILE_145(p, o, s) NDNBOOST_PP_WHILE_145_I(p, o, s)
+# define NDNBOOST_PP_WHILE_146(p, o, s) NDNBOOST_PP_WHILE_146_I(p, o, s)
+# define NDNBOOST_PP_WHILE_147(p, o, s) NDNBOOST_PP_WHILE_147_I(p, o, s)
+# define NDNBOOST_PP_WHILE_148(p, o, s) NDNBOOST_PP_WHILE_148_I(p, o, s)
+# define NDNBOOST_PP_WHILE_149(p, o, s) NDNBOOST_PP_WHILE_149_I(p, o, s)
+# define NDNBOOST_PP_WHILE_150(p, o, s) NDNBOOST_PP_WHILE_150_I(p, o, s)
+# define NDNBOOST_PP_WHILE_151(p, o, s) NDNBOOST_PP_WHILE_151_I(p, o, s)
+# define NDNBOOST_PP_WHILE_152(p, o, s) NDNBOOST_PP_WHILE_152_I(p, o, s)
+# define NDNBOOST_PP_WHILE_153(p, o, s) NDNBOOST_PP_WHILE_153_I(p, o, s)
+# define NDNBOOST_PP_WHILE_154(p, o, s) NDNBOOST_PP_WHILE_154_I(p, o, s)
+# define NDNBOOST_PP_WHILE_155(p, o, s) NDNBOOST_PP_WHILE_155_I(p, o, s)
+# define NDNBOOST_PP_WHILE_156(p, o, s) NDNBOOST_PP_WHILE_156_I(p, o, s)
+# define NDNBOOST_PP_WHILE_157(p, o, s) NDNBOOST_PP_WHILE_157_I(p, o, s)
+# define NDNBOOST_PP_WHILE_158(p, o, s) NDNBOOST_PP_WHILE_158_I(p, o, s)
+# define NDNBOOST_PP_WHILE_159(p, o, s) NDNBOOST_PP_WHILE_159_I(p, o, s)
+# define NDNBOOST_PP_WHILE_160(p, o, s) NDNBOOST_PP_WHILE_160_I(p, o, s)
+# define NDNBOOST_PP_WHILE_161(p, o, s) NDNBOOST_PP_WHILE_161_I(p, o, s)
+# define NDNBOOST_PP_WHILE_162(p, o, s) NDNBOOST_PP_WHILE_162_I(p, o, s)
+# define NDNBOOST_PP_WHILE_163(p, o, s) NDNBOOST_PP_WHILE_163_I(p, o, s)
+# define NDNBOOST_PP_WHILE_164(p, o, s) NDNBOOST_PP_WHILE_164_I(p, o, s)
+# define NDNBOOST_PP_WHILE_165(p, o, s) NDNBOOST_PP_WHILE_165_I(p, o, s)
+# define NDNBOOST_PP_WHILE_166(p, o, s) NDNBOOST_PP_WHILE_166_I(p, o, s)
+# define NDNBOOST_PP_WHILE_167(p, o, s) NDNBOOST_PP_WHILE_167_I(p, o, s)
+# define NDNBOOST_PP_WHILE_168(p, o, s) NDNBOOST_PP_WHILE_168_I(p, o, s)
+# define NDNBOOST_PP_WHILE_169(p, o, s) NDNBOOST_PP_WHILE_169_I(p, o, s)
+# define NDNBOOST_PP_WHILE_170(p, o, s) NDNBOOST_PP_WHILE_170_I(p, o, s)
+# define NDNBOOST_PP_WHILE_171(p, o, s) NDNBOOST_PP_WHILE_171_I(p, o, s)
+# define NDNBOOST_PP_WHILE_172(p, o, s) NDNBOOST_PP_WHILE_172_I(p, o, s)
+# define NDNBOOST_PP_WHILE_173(p, o, s) NDNBOOST_PP_WHILE_173_I(p, o, s)
+# define NDNBOOST_PP_WHILE_174(p, o, s) NDNBOOST_PP_WHILE_174_I(p, o, s)
+# define NDNBOOST_PP_WHILE_175(p, o, s) NDNBOOST_PP_WHILE_175_I(p, o, s)
+# define NDNBOOST_PP_WHILE_176(p, o, s) NDNBOOST_PP_WHILE_176_I(p, o, s)
+# define NDNBOOST_PP_WHILE_177(p, o, s) NDNBOOST_PP_WHILE_177_I(p, o, s)
+# define NDNBOOST_PP_WHILE_178(p, o, s) NDNBOOST_PP_WHILE_178_I(p, o, s)
+# define NDNBOOST_PP_WHILE_179(p, o, s) NDNBOOST_PP_WHILE_179_I(p, o, s)
+# define NDNBOOST_PP_WHILE_180(p, o, s) NDNBOOST_PP_WHILE_180_I(p, o, s)
+# define NDNBOOST_PP_WHILE_181(p, o, s) NDNBOOST_PP_WHILE_181_I(p, o, s)
+# define NDNBOOST_PP_WHILE_182(p, o, s) NDNBOOST_PP_WHILE_182_I(p, o, s)
+# define NDNBOOST_PP_WHILE_183(p, o, s) NDNBOOST_PP_WHILE_183_I(p, o, s)
+# define NDNBOOST_PP_WHILE_184(p, o, s) NDNBOOST_PP_WHILE_184_I(p, o, s)
+# define NDNBOOST_PP_WHILE_185(p, o, s) NDNBOOST_PP_WHILE_185_I(p, o, s)
+# define NDNBOOST_PP_WHILE_186(p, o, s) NDNBOOST_PP_WHILE_186_I(p, o, s)
+# define NDNBOOST_PP_WHILE_187(p, o, s) NDNBOOST_PP_WHILE_187_I(p, o, s)
+# define NDNBOOST_PP_WHILE_188(p, o, s) NDNBOOST_PP_WHILE_188_I(p, o, s)
+# define NDNBOOST_PP_WHILE_189(p, o, s) NDNBOOST_PP_WHILE_189_I(p, o, s)
+# define NDNBOOST_PP_WHILE_190(p, o, s) NDNBOOST_PP_WHILE_190_I(p, o, s)
+# define NDNBOOST_PP_WHILE_191(p, o, s) NDNBOOST_PP_WHILE_191_I(p, o, s)
+# define NDNBOOST_PP_WHILE_192(p, o, s) NDNBOOST_PP_WHILE_192_I(p, o, s)
+# define NDNBOOST_PP_WHILE_193(p, o, s) NDNBOOST_PP_WHILE_193_I(p, o, s)
+# define NDNBOOST_PP_WHILE_194(p, o, s) NDNBOOST_PP_WHILE_194_I(p, o, s)
+# define NDNBOOST_PP_WHILE_195(p, o, s) NDNBOOST_PP_WHILE_195_I(p, o, s)
+# define NDNBOOST_PP_WHILE_196(p, o, s) NDNBOOST_PP_WHILE_196_I(p, o, s)
+# define NDNBOOST_PP_WHILE_197(p, o, s) NDNBOOST_PP_WHILE_197_I(p, o, s)
+# define NDNBOOST_PP_WHILE_198(p, o, s) NDNBOOST_PP_WHILE_198_I(p, o, s)
+# define NDNBOOST_PP_WHILE_199(p, o, s) NDNBOOST_PP_WHILE_199_I(p, o, s)
+# define NDNBOOST_PP_WHILE_200(p, o, s) NDNBOOST_PP_WHILE_200_I(p, o, s)
+# define NDNBOOST_PP_WHILE_201(p, o, s) NDNBOOST_PP_WHILE_201_I(p, o, s)
+# define NDNBOOST_PP_WHILE_202(p, o, s) NDNBOOST_PP_WHILE_202_I(p, o, s)
+# define NDNBOOST_PP_WHILE_203(p, o, s) NDNBOOST_PP_WHILE_203_I(p, o, s)
+# define NDNBOOST_PP_WHILE_204(p, o, s) NDNBOOST_PP_WHILE_204_I(p, o, s)
+# define NDNBOOST_PP_WHILE_205(p, o, s) NDNBOOST_PP_WHILE_205_I(p, o, s)
+# define NDNBOOST_PP_WHILE_206(p, o, s) NDNBOOST_PP_WHILE_206_I(p, o, s)
+# define NDNBOOST_PP_WHILE_207(p, o, s) NDNBOOST_PP_WHILE_207_I(p, o, s)
+# define NDNBOOST_PP_WHILE_208(p, o, s) NDNBOOST_PP_WHILE_208_I(p, o, s)
+# define NDNBOOST_PP_WHILE_209(p, o, s) NDNBOOST_PP_WHILE_209_I(p, o, s)
+# define NDNBOOST_PP_WHILE_210(p, o, s) NDNBOOST_PP_WHILE_210_I(p, o, s)
+# define NDNBOOST_PP_WHILE_211(p, o, s) NDNBOOST_PP_WHILE_211_I(p, o, s)
+# define NDNBOOST_PP_WHILE_212(p, o, s) NDNBOOST_PP_WHILE_212_I(p, o, s)
+# define NDNBOOST_PP_WHILE_213(p, o, s) NDNBOOST_PP_WHILE_213_I(p, o, s)
+# define NDNBOOST_PP_WHILE_214(p, o, s) NDNBOOST_PP_WHILE_214_I(p, o, s)
+# define NDNBOOST_PP_WHILE_215(p, o, s) NDNBOOST_PP_WHILE_215_I(p, o, s)
+# define NDNBOOST_PP_WHILE_216(p, o, s) NDNBOOST_PP_WHILE_216_I(p, o, s)
+# define NDNBOOST_PP_WHILE_217(p, o, s) NDNBOOST_PP_WHILE_217_I(p, o, s)
+# define NDNBOOST_PP_WHILE_218(p, o, s) NDNBOOST_PP_WHILE_218_I(p, o, s)
+# define NDNBOOST_PP_WHILE_219(p, o, s) NDNBOOST_PP_WHILE_219_I(p, o, s)
+# define NDNBOOST_PP_WHILE_220(p, o, s) NDNBOOST_PP_WHILE_220_I(p, o, s)
+# define NDNBOOST_PP_WHILE_221(p, o, s) NDNBOOST_PP_WHILE_221_I(p, o, s)
+# define NDNBOOST_PP_WHILE_222(p, o, s) NDNBOOST_PP_WHILE_222_I(p, o, s)
+# define NDNBOOST_PP_WHILE_223(p, o, s) NDNBOOST_PP_WHILE_223_I(p, o, s)
+# define NDNBOOST_PP_WHILE_224(p, o, s) NDNBOOST_PP_WHILE_224_I(p, o, s)
+# define NDNBOOST_PP_WHILE_225(p, o, s) NDNBOOST_PP_WHILE_225_I(p, o, s)
+# define NDNBOOST_PP_WHILE_226(p, o, s) NDNBOOST_PP_WHILE_226_I(p, o, s)
+# define NDNBOOST_PP_WHILE_227(p, o, s) NDNBOOST_PP_WHILE_227_I(p, o, s)
+# define NDNBOOST_PP_WHILE_228(p, o, s) NDNBOOST_PP_WHILE_228_I(p, o, s)
+# define NDNBOOST_PP_WHILE_229(p, o, s) NDNBOOST_PP_WHILE_229_I(p, o, s)
+# define NDNBOOST_PP_WHILE_230(p, o, s) NDNBOOST_PP_WHILE_230_I(p, o, s)
+# define NDNBOOST_PP_WHILE_231(p, o, s) NDNBOOST_PP_WHILE_231_I(p, o, s)
+# define NDNBOOST_PP_WHILE_232(p, o, s) NDNBOOST_PP_WHILE_232_I(p, o, s)
+# define NDNBOOST_PP_WHILE_233(p, o, s) NDNBOOST_PP_WHILE_233_I(p, o, s)
+# define NDNBOOST_PP_WHILE_234(p, o, s) NDNBOOST_PP_WHILE_234_I(p, o, s)
+# define NDNBOOST_PP_WHILE_235(p, o, s) NDNBOOST_PP_WHILE_235_I(p, o, s)
+# define NDNBOOST_PP_WHILE_236(p, o, s) NDNBOOST_PP_WHILE_236_I(p, o, s)
+# define NDNBOOST_PP_WHILE_237(p, o, s) NDNBOOST_PP_WHILE_237_I(p, o, s)
+# define NDNBOOST_PP_WHILE_238(p, o, s) NDNBOOST_PP_WHILE_238_I(p, o, s)
+# define NDNBOOST_PP_WHILE_239(p, o, s) NDNBOOST_PP_WHILE_239_I(p, o, s)
+# define NDNBOOST_PP_WHILE_240(p, o, s) NDNBOOST_PP_WHILE_240_I(p, o, s)
+# define NDNBOOST_PP_WHILE_241(p, o, s) NDNBOOST_PP_WHILE_241_I(p, o, s)
+# define NDNBOOST_PP_WHILE_242(p, o, s) NDNBOOST_PP_WHILE_242_I(p, o, s)
+# define NDNBOOST_PP_WHILE_243(p, o, s) NDNBOOST_PP_WHILE_243_I(p, o, s)
+# define NDNBOOST_PP_WHILE_244(p, o, s) NDNBOOST_PP_WHILE_244_I(p, o, s)
+# define NDNBOOST_PP_WHILE_245(p, o, s) NDNBOOST_PP_WHILE_245_I(p, o, s)
+# define NDNBOOST_PP_WHILE_246(p, o, s) NDNBOOST_PP_WHILE_246_I(p, o, s)
+# define NDNBOOST_PP_WHILE_247(p, o, s) NDNBOOST_PP_WHILE_247_I(p, o, s)
+# define NDNBOOST_PP_WHILE_248(p, o, s) NDNBOOST_PP_WHILE_248_I(p, o, s)
+# define NDNBOOST_PP_WHILE_249(p, o, s) NDNBOOST_PP_WHILE_249_I(p, o, s)
+# define NDNBOOST_PP_WHILE_250(p, o, s) NDNBOOST_PP_WHILE_250_I(p, o, s)
+# define NDNBOOST_PP_WHILE_251(p, o, s) NDNBOOST_PP_WHILE_251_I(p, o, s)
+# define NDNBOOST_PP_WHILE_252(p, o, s) NDNBOOST_PP_WHILE_252_I(p, o, s)
+# define NDNBOOST_PP_WHILE_253(p, o, s) NDNBOOST_PP_WHILE_253_I(p, o, s)
+# define NDNBOOST_PP_WHILE_254(p, o, s) NDNBOOST_PP_WHILE_254_I(p, o, s)
+# define NDNBOOST_PP_WHILE_255(p, o, s) NDNBOOST_PP_WHILE_255_I(p, o, s)
+# define NDNBOOST_PP_WHILE_256(p, o, s) NDNBOOST_PP_WHILE_256_I(p, o, s)
 #
-# define BOOST_PP_WHILE_1_I(p, o, s) BOOST_PP_IF(p(2, s), BOOST_PP_WHILE_2, s BOOST_PP_TUPLE_EAT_3)(p, o, o(2, s))
-# define BOOST_PP_WHILE_2_I(p, o, s) BOOST_PP_IF(p(3, s), BOOST_PP_WHILE_3, s BOOST_PP_TUPLE_EAT_3)(p, o, o(3, s))
-# define BOOST_PP_WHILE_3_I(p, o, s) BOOST_PP_IF(p(4, s), BOOST_PP_WHILE_4, s BOOST_PP_TUPLE_EAT_3)(p, o, o(4, s))
-# define BOOST_PP_WHILE_4_I(p, o, s) BOOST_PP_IF(p(5, s), BOOST_PP_WHILE_5, s BOOST_PP_TUPLE_EAT_3)(p, o, o(5, s))
-# define BOOST_PP_WHILE_5_I(p, o, s) BOOST_PP_IF(p(6, s), BOOST_PP_WHILE_6, s BOOST_PP_TUPLE_EAT_3)(p, o, o(6, s))
-# define BOOST_PP_WHILE_6_I(p, o, s) BOOST_PP_IF(p(7, s), BOOST_PP_WHILE_7, s BOOST_PP_TUPLE_EAT_3)(p, o, o(7, s))
-# define BOOST_PP_WHILE_7_I(p, o, s) BOOST_PP_IF(p(8, s), BOOST_PP_WHILE_8, s BOOST_PP_TUPLE_EAT_3)(p, o, o(8, s))
-# define BOOST_PP_WHILE_8_I(p, o, s) BOOST_PP_IF(p(9, s), BOOST_PP_WHILE_9, s BOOST_PP_TUPLE_EAT_3)(p, o, o(9, s))
-# define BOOST_PP_WHILE_9_I(p, o, s) BOOST_PP_IF(p(10, s), BOOST_PP_WHILE_10, s BOOST_PP_TUPLE_EAT_3)(p, o, o(10, s))
-# define BOOST_PP_WHILE_10_I(p, o, s) BOOST_PP_IF(p(11, s), BOOST_PP_WHILE_11, s BOOST_PP_TUPLE_EAT_3)(p, o, o(11, s))
-# define BOOST_PP_WHILE_11_I(p, o, s) BOOST_PP_IF(p(12, s), BOOST_PP_WHILE_12, s BOOST_PP_TUPLE_EAT_3)(p, o, o(12, s))
-# define BOOST_PP_WHILE_12_I(p, o, s) BOOST_PP_IF(p(13, s), BOOST_PP_WHILE_13, s BOOST_PP_TUPLE_EAT_3)(p, o, o(13, s))
-# define BOOST_PP_WHILE_13_I(p, o, s) BOOST_PP_IF(p(14, s), BOOST_PP_WHILE_14, s BOOST_PP_TUPLE_EAT_3)(p, o, o(14, s))
-# define BOOST_PP_WHILE_14_I(p, o, s) BOOST_PP_IF(p(15, s), BOOST_PP_WHILE_15, s BOOST_PP_TUPLE_EAT_3)(p, o, o(15, s))
-# define BOOST_PP_WHILE_15_I(p, o, s) BOOST_PP_IF(p(16, s), BOOST_PP_WHILE_16, s BOOST_PP_TUPLE_EAT_3)(p, o, o(16, s))
-# define BOOST_PP_WHILE_16_I(p, o, s) BOOST_PP_IF(p(17, s), BOOST_PP_WHILE_17, s BOOST_PP_TUPLE_EAT_3)(p, o, o(17, s))
-# define BOOST_PP_WHILE_17_I(p, o, s) BOOST_PP_IF(p(18, s), BOOST_PP_WHILE_18, s BOOST_PP_TUPLE_EAT_3)(p, o, o(18, s))
-# define BOOST_PP_WHILE_18_I(p, o, s) BOOST_PP_IF(p(19, s), BOOST_PP_WHILE_19, s BOOST_PP_TUPLE_EAT_3)(p, o, o(19, s))
-# define BOOST_PP_WHILE_19_I(p, o, s) BOOST_PP_IF(p(20, s), BOOST_PP_WHILE_20, s BOOST_PP_TUPLE_EAT_3)(p, o, o(20, s))
-# define BOOST_PP_WHILE_20_I(p, o, s) BOOST_PP_IF(p(21, s), BOOST_PP_WHILE_21, s BOOST_PP_TUPLE_EAT_3)(p, o, o(21, s))
-# define BOOST_PP_WHILE_21_I(p, o, s) BOOST_PP_IF(p(22, s), BOOST_PP_WHILE_22, s BOOST_PP_TUPLE_EAT_3)(p, o, o(22, s))
-# define BOOST_PP_WHILE_22_I(p, o, s) BOOST_PP_IF(p(23, s), BOOST_PP_WHILE_23, s BOOST_PP_TUPLE_EAT_3)(p, o, o(23, s))
-# define BOOST_PP_WHILE_23_I(p, o, s) BOOST_PP_IF(p(24, s), BOOST_PP_WHILE_24, s BOOST_PP_TUPLE_EAT_3)(p, o, o(24, s))
-# define BOOST_PP_WHILE_24_I(p, o, s) BOOST_PP_IF(p(25, s), BOOST_PP_WHILE_25, s BOOST_PP_TUPLE_EAT_3)(p, o, o(25, s))
-# define BOOST_PP_WHILE_25_I(p, o, s) BOOST_PP_IF(p(26, s), BOOST_PP_WHILE_26, s BOOST_PP_TUPLE_EAT_3)(p, o, o(26, s))
-# define BOOST_PP_WHILE_26_I(p, o, s) BOOST_PP_IF(p(27, s), BOOST_PP_WHILE_27, s BOOST_PP_TUPLE_EAT_3)(p, o, o(27, s))
-# define BOOST_PP_WHILE_27_I(p, o, s) BOOST_PP_IF(p(28, s), BOOST_PP_WHILE_28, s BOOST_PP_TUPLE_EAT_3)(p, o, o(28, s))
-# define BOOST_PP_WHILE_28_I(p, o, s) BOOST_PP_IF(p(29, s), BOOST_PP_WHILE_29, s BOOST_PP_TUPLE_EAT_3)(p, o, o(29, s))
-# define BOOST_PP_WHILE_29_I(p, o, s) BOOST_PP_IF(p(30, s), BOOST_PP_WHILE_30, s BOOST_PP_TUPLE_EAT_3)(p, o, o(30, s))
-# define BOOST_PP_WHILE_30_I(p, o, s) BOOST_PP_IF(p(31, s), BOOST_PP_WHILE_31, s BOOST_PP_TUPLE_EAT_3)(p, o, o(31, s))
-# define BOOST_PP_WHILE_31_I(p, o, s) BOOST_PP_IF(p(32, s), BOOST_PP_WHILE_32, s BOOST_PP_TUPLE_EAT_3)(p, o, o(32, s))
-# define BOOST_PP_WHILE_32_I(p, o, s) BOOST_PP_IF(p(33, s), BOOST_PP_WHILE_33, s BOOST_PP_TUPLE_EAT_3)(p, o, o(33, s))
-# define BOOST_PP_WHILE_33_I(p, o, s) BOOST_PP_IF(p(34, s), BOOST_PP_WHILE_34, s BOOST_PP_TUPLE_EAT_3)(p, o, o(34, s))
-# define BOOST_PP_WHILE_34_I(p, o, s) BOOST_PP_IF(p(35, s), BOOST_PP_WHILE_35, s BOOST_PP_TUPLE_EAT_3)(p, o, o(35, s))
-# define BOOST_PP_WHILE_35_I(p, o, s) BOOST_PP_IF(p(36, s), BOOST_PP_WHILE_36, s BOOST_PP_TUPLE_EAT_3)(p, o, o(36, s))
-# define BOOST_PP_WHILE_36_I(p, o, s) BOOST_PP_IF(p(37, s), BOOST_PP_WHILE_37, s BOOST_PP_TUPLE_EAT_3)(p, o, o(37, s))
-# define BOOST_PP_WHILE_37_I(p, o, s) BOOST_PP_IF(p(38, s), BOOST_PP_WHILE_38, s BOOST_PP_TUPLE_EAT_3)(p, o, o(38, s))
-# define BOOST_PP_WHILE_38_I(p, o, s) BOOST_PP_IF(p(39, s), BOOST_PP_WHILE_39, s BOOST_PP_TUPLE_EAT_3)(p, o, o(39, s))
-# define BOOST_PP_WHILE_39_I(p, o, s) BOOST_PP_IF(p(40, s), BOOST_PP_WHILE_40, s BOOST_PP_TUPLE_EAT_3)(p, o, o(40, s))
-# define BOOST_PP_WHILE_40_I(p, o, s) BOOST_PP_IF(p(41, s), BOOST_PP_WHILE_41, s BOOST_PP_TUPLE_EAT_3)(p, o, o(41, s))
-# define BOOST_PP_WHILE_41_I(p, o, s) BOOST_PP_IF(p(42, s), BOOST_PP_WHILE_42, s BOOST_PP_TUPLE_EAT_3)(p, o, o(42, s))
-# define BOOST_PP_WHILE_42_I(p, o, s) BOOST_PP_IF(p(43, s), BOOST_PP_WHILE_43, s BOOST_PP_TUPLE_EAT_3)(p, o, o(43, s))
-# define BOOST_PP_WHILE_43_I(p, o, s) BOOST_PP_IF(p(44, s), BOOST_PP_WHILE_44, s BOOST_PP_TUPLE_EAT_3)(p, o, o(44, s))
-# define BOOST_PP_WHILE_44_I(p, o, s) BOOST_PP_IF(p(45, s), BOOST_PP_WHILE_45, s BOOST_PP_TUPLE_EAT_3)(p, o, o(45, s))
-# define BOOST_PP_WHILE_45_I(p, o, s) BOOST_PP_IF(p(46, s), BOOST_PP_WHILE_46, s BOOST_PP_TUPLE_EAT_3)(p, o, o(46, s))
-# define BOOST_PP_WHILE_46_I(p, o, s) BOOST_PP_IF(p(47, s), BOOST_PP_WHILE_47, s BOOST_PP_TUPLE_EAT_3)(p, o, o(47, s))
-# define BOOST_PP_WHILE_47_I(p, o, s) BOOST_PP_IF(p(48, s), BOOST_PP_WHILE_48, s BOOST_PP_TUPLE_EAT_3)(p, o, o(48, s))
-# define BOOST_PP_WHILE_48_I(p, o, s) BOOST_PP_IF(p(49, s), BOOST_PP_WHILE_49, s BOOST_PP_TUPLE_EAT_3)(p, o, o(49, s))
-# define BOOST_PP_WHILE_49_I(p, o, s) BOOST_PP_IF(p(50, s), BOOST_PP_WHILE_50, s BOOST_PP_TUPLE_EAT_3)(p, o, o(50, s))
-# define BOOST_PP_WHILE_50_I(p, o, s) BOOST_PP_IF(p(51, s), BOOST_PP_WHILE_51, s BOOST_PP_TUPLE_EAT_3)(p, o, o(51, s))
-# define BOOST_PP_WHILE_51_I(p, o, s) BOOST_PP_IF(p(52, s), BOOST_PP_WHILE_52, s BOOST_PP_TUPLE_EAT_3)(p, o, o(52, s))
-# define BOOST_PP_WHILE_52_I(p, o, s) BOOST_PP_IF(p(53, s), BOOST_PP_WHILE_53, s BOOST_PP_TUPLE_EAT_3)(p, o, o(53, s))
-# define BOOST_PP_WHILE_53_I(p, o, s) BOOST_PP_IF(p(54, s), BOOST_PP_WHILE_54, s BOOST_PP_TUPLE_EAT_3)(p, o, o(54, s))
-# define BOOST_PP_WHILE_54_I(p, o, s) BOOST_PP_IF(p(55, s), BOOST_PP_WHILE_55, s BOOST_PP_TUPLE_EAT_3)(p, o, o(55, s))
-# define BOOST_PP_WHILE_55_I(p, o, s) BOOST_PP_IF(p(56, s), BOOST_PP_WHILE_56, s BOOST_PP_TUPLE_EAT_3)(p, o, o(56, s))
-# define BOOST_PP_WHILE_56_I(p, o, s) BOOST_PP_IF(p(57, s), BOOST_PP_WHILE_57, s BOOST_PP_TUPLE_EAT_3)(p, o, o(57, s))
-# define BOOST_PP_WHILE_57_I(p, o, s) BOOST_PP_IF(p(58, s), BOOST_PP_WHILE_58, s BOOST_PP_TUPLE_EAT_3)(p, o, o(58, s))
-# define BOOST_PP_WHILE_58_I(p, o, s) BOOST_PP_IF(p(59, s), BOOST_PP_WHILE_59, s BOOST_PP_TUPLE_EAT_3)(p, o, o(59, s))
-# define BOOST_PP_WHILE_59_I(p, o, s) BOOST_PP_IF(p(60, s), BOOST_PP_WHILE_60, s BOOST_PP_TUPLE_EAT_3)(p, o, o(60, s))
-# define BOOST_PP_WHILE_60_I(p, o, s) BOOST_PP_IF(p(61, s), BOOST_PP_WHILE_61, s BOOST_PP_TUPLE_EAT_3)(p, o, o(61, s))
-# define BOOST_PP_WHILE_61_I(p, o, s) BOOST_PP_IF(p(62, s), BOOST_PP_WHILE_62, s BOOST_PP_TUPLE_EAT_3)(p, o, o(62, s))
-# define BOOST_PP_WHILE_62_I(p, o, s) BOOST_PP_IF(p(63, s), BOOST_PP_WHILE_63, s BOOST_PP_TUPLE_EAT_3)(p, o, o(63, s))
-# define BOOST_PP_WHILE_63_I(p, o, s) BOOST_PP_IF(p(64, s), BOOST_PP_WHILE_64, s BOOST_PP_TUPLE_EAT_3)(p, o, o(64, s))
-# define BOOST_PP_WHILE_64_I(p, o, s) BOOST_PP_IF(p(65, s), BOOST_PP_WHILE_65, s BOOST_PP_TUPLE_EAT_3)(p, o, o(65, s))
-# define BOOST_PP_WHILE_65_I(p, o, s) BOOST_PP_IF(p(66, s), BOOST_PP_WHILE_66, s BOOST_PP_TUPLE_EAT_3)(p, o, o(66, s))
-# define BOOST_PP_WHILE_66_I(p, o, s) BOOST_PP_IF(p(67, s), BOOST_PP_WHILE_67, s BOOST_PP_TUPLE_EAT_3)(p, o, o(67, s))
-# define BOOST_PP_WHILE_67_I(p, o, s) BOOST_PP_IF(p(68, s), BOOST_PP_WHILE_68, s BOOST_PP_TUPLE_EAT_3)(p, o, o(68, s))
-# define BOOST_PP_WHILE_68_I(p, o, s) BOOST_PP_IF(p(69, s), BOOST_PP_WHILE_69, s BOOST_PP_TUPLE_EAT_3)(p, o, o(69, s))
-# define BOOST_PP_WHILE_69_I(p, o, s) BOOST_PP_IF(p(70, s), BOOST_PP_WHILE_70, s BOOST_PP_TUPLE_EAT_3)(p, o, o(70, s))
-# define BOOST_PP_WHILE_70_I(p, o, s) BOOST_PP_IF(p(71, s), BOOST_PP_WHILE_71, s BOOST_PP_TUPLE_EAT_3)(p, o, o(71, s))
-# define BOOST_PP_WHILE_71_I(p, o, s) BOOST_PP_IF(p(72, s), BOOST_PP_WHILE_72, s BOOST_PP_TUPLE_EAT_3)(p, o, o(72, s))
-# define BOOST_PP_WHILE_72_I(p, o, s) BOOST_PP_IF(p(73, s), BOOST_PP_WHILE_73, s BOOST_PP_TUPLE_EAT_3)(p, o, o(73, s))
-# define BOOST_PP_WHILE_73_I(p, o, s) BOOST_PP_IF(p(74, s), BOOST_PP_WHILE_74, s BOOST_PP_TUPLE_EAT_3)(p, o, o(74, s))
-# define BOOST_PP_WHILE_74_I(p, o, s) BOOST_PP_IF(p(75, s), BOOST_PP_WHILE_75, s BOOST_PP_TUPLE_EAT_3)(p, o, o(75, s))
-# define BOOST_PP_WHILE_75_I(p, o, s) BOOST_PP_IF(p(76, s), BOOST_PP_WHILE_76, s BOOST_PP_TUPLE_EAT_3)(p, o, o(76, s))
-# define BOOST_PP_WHILE_76_I(p, o, s) BOOST_PP_IF(p(77, s), BOOST_PP_WHILE_77, s BOOST_PP_TUPLE_EAT_3)(p, o, o(77, s))
-# define BOOST_PP_WHILE_77_I(p, o, s) BOOST_PP_IF(p(78, s), BOOST_PP_WHILE_78, s BOOST_PP_TUPLE_EAT_3)(p, o, o(78, s))
-# define BOOST_PP_WHILE_78_I(p, o, s) BOOST_PP_IF(p(79, s), BOOST_PP_WHILE_79, s BOOST_PP_TUPLE_EAT_3)(p, o, o(79, s))
-# define BOOST_PP_WHILE_79_I(p, o, s) BOOST_PP_IF(p(80, s), BOOST_PP_WHILE_80, s BOOST_PP_TUPLE_EAT_3)(p, o, o(80, s))
-# define BOOST_PP_WHILE_80_I(p, o, s) BOOST_PP_IF(p(81, s), BOOST_PP_WHILE_81, s BOOST_PP_TUPLE_EAT_3)(p, o, o(81, s))
-# define BOOST_PP_WHILE_81_I(p, o, s) BOOST_PP_IF(p(82, s), BOOST_PP_WHILE_82, s BOOST_PP_TUPLE_EAT_3)(p, o, o(82, s))
-# define BOOST_PP_WHILE_82_I(p, o, s) BOOST_PP_IF(p(83, s), BOOST_PP_WHILE_83, s BOOST_PP_TUPLE_EAT_3)(p, o, o(83, s))
-# define BOOST_PP_WHILE_83_I(p, o, s) BOOST_PP_IF(p(84, s), BOOST_PP_WHILE_84, s BOOST_PP_TUPLE_EAT_3)(p, o, o(84, s))
-# define BOOST_PP_WHILE_84_I(p, o, s) BOOST_PP_IF(p(85, s), BOOST_PP_WHILE_85, s BOOST_PP_TUPLE_EAT_3)(p, o, o(85, s))
-# define BOOST_PP_WHILE_85_I(p, o, s) BOOST_PP_IF(p(86, s), BOOST_PP_WHILE_86, s BOOST_PP_TUPLE_EAT_3)(p, o, o(86, s))
-# define BOOST_PP_WHILE_86_I(p, o, s) BOOST_PP_IF(p(87, s), BOOST_PP_WHILE_87, s BOOST_PP_TUPLE_EAT_3)(p, o, o(87, s))
-# define BOOST_PP_WHILE_87_I(p, o, s) BOOST_PP_IF(p(88, s), BOOST_PP_WHILE_88, s BOOST_PP_TUPLE_EAT_3)(p, o, o(88, s))
-# define BOOST_PP_WHILE_88_I(p, o, s) BOOST_PP_IF(p(89, s), BOOST_PP_WHILE_89, s BOOST_PP_TUPLE_EAT_3)(p, o, o(89, s))
-# define BOOST_PP_WHILE_89_I(p, o, s) BOOST_PP_IF(p(90, s), BOOST_PP_WHILE_90, s BOOST_PP_TUPLE_EAT_3)(p, o, o(90, s))
-# define BOOST_PP_WHILE_90_I(p, o, s) BOOST_PP_IF(p(91, s), BOOST_PP_WHILE_91, s BOOST_PP_TUPLE_EAT_3)(p, o, o(91, s))
-# define BOOST_PP_WHILE_91_I(p, o, s) BOOST_PP_IF(p(92, s), BOOST_PP_WHILE_92, s BOOST_PP_TUPLE_EAT_3)(p, o, o(92, s))
-# define BOOST_PP_WHILE_92_I(p, o, s) BOOST_PP_IF(p(93, s), BOOST_PP_WHILE_93, s BOOST_PP_TUPLE_EAT_3)(p, o, o(93, s))
-# define BOOST_PP_WHILE_93_I(p, o, s) BOOST_PP_IF(p(94, s), BOOST_PP_WHILE_94, s BOOST_PP_TUPLE_EAT_3)(p, o, o(94, s))
-# define BOOST_PP_WHILE_94_I(p, o, s) BOOST_PP_IF(p(95, s), BOOST_PP_WHILE_95, s BOOST_PP_TUPLE_EAT_3)(p, o, o(95, s))
-# define BOOST_PP_WHILE_95_I(p, o, s) BOOST_PP_IF(p(96, s), BOOST_PP_WHILE_96, s BOOST_PP_TUPLE_EAT_3)(p, o, o(96, s))
-# define BOOST_PP_WHILE_96_I(p, o, s) BOOST_PP_IF(p(97, s), BOOST_PP_WHILE_97, s BOOST_PP_TUPLE_EAT_3)(p, o, o(97, s))
-# define BOOST_PP_WHILE_97_I(p, o, s) BOOST_PP_IF(p(98, s), BOOST_PP_WHILE_98, s BOOST_PP_TUPLE_EAT_3)(p, o, o(98, s))
-# define BOOST_PP_WHILE_98_I(p, o, s) BOOST_PP_IF(p(99, s), BOOST_PP_WHILE_99, s BOOST_PP_TUPLE_EAT_3)(p, o, o(99, s))
-# define BOOST_PP_WHILE_99_I(p, o, s) BOOST_PP_IF(p(100, s), BOOST_PP_WHILE_100, s BOOST_PP_TUPLE_EAT_3)(p, o, o(100, s))
-# define BOOST_PP_WHILE_100_I(p, o, s) BOOST_PP_IF(p(101, s), BOOST_PP_WHILE_101, s BOOST_PP_TUPLE_EAT_3)(p, o, o(101, s))
-# define BOOST_PP_WHILE_101_I(p, o, s) BOOST_PP_IF(p(102, s), BOOST_PP_WHILE_102, s BOOST_PP_TUPLE_EAT_3)(p, o, o(102, s))
-# define BOOST_PP_WHILE_102_I(p, o, s) BOOST_PP_IF(p(103, s), BOOST_PP_WHILE_103, s BOOST_PP_TUPLE_EAT_3)(p, o, o(103, s))
-# define BOOST_PP_WHILE_103_I(p, o, s) BOOST_PP_IF(p(104, s), BOOST_PP_WHILE_104, s BOOST_PP_TUPLE_EAT_3)(p, o, o(104, s))
-# define BOOST_PP_WHILE_104_I(p, o, s) BOOST_PP_IF(p(105, s), BOOST_PP_WHILE_105, s BOOST_PP_TUPLE_EAT_3)(p, o, o(105, s))
-# define BOOST_PP_WHILE_105_I(p, o, s) BOOST_PP_IF(p(106, s), BOOST_PP_WHILE_106, s BOOST_PP_TUPLE_EAT_3)(p, o, o(106, s))
-# define BOOST_PP_WHILE_106_I(p, o, s) BOOST_PP_IF(p(107, s), BOOST_PP_WHILE_107, s BOOST_PP_TUPLE_EAT_3)(p, o, o(107, s))
-# define BOOST_PP_WHILE_107_I(p, o, s) BOOST_PP_IF(p(108, s), BOOST_PP_WHILE_108, s BOOST_PP_TUPLE_EAT_3)(p, o, o(108, s))
-# define BOOST_PP_WHILE_108_I(p, o, s) BOOST_PP_IF(p(109, s), BOOST_PP_WHILE_109, s BOOST_PP_TUPLE_EAT_3)(p, o, o(109, s))
-# define BOOST_PP_WHILE_109_I(p, o, s) BOOST_PP_IF(p(110, s), BOOST_PP_WHILE_110, s BOOST_PP_TUPLE_EAT_3)(p, o, o(110, s))
-# define BOOST_PP_WHILE_110_I(p, o, s) BOOST_PP_IF(p(111, s), BOOST_PP_WHILE_111, s BOOST_PP_TUPLE_EAT_3)(p, o, o(111, s))
-# define BOOST_PP_WHILE_111_I(p, o, s) BOOST_PP_IF(p(112, s), BOOST_PP_WHILE_112, s BOOST_PP_TUPLE_EAT_3)(p, o, o(112, s))
-# define BOOST_PP_WHILE_112_I(p, o, s) BOOST_PP_IF(p(113, s), BOOST_PP_WHILE_113, s BOOST_PP_TUPLE_EAT_3)(p, o, o(113, s))
-# define BOOST_PP_WHILE_113_I(p, o, s) BOOST_PP_IF(p(114, s), BOOST_PP_WHILE_114, s BOOST_PP_TUPLE_EAT_3)(p, o, o(114, s))
-# define BOOST_PP_WHILE_114_I(p, o, s) BOOST_PP_IF(p(115, s), BOOST_PP_WHILE_115, s BOOST_PP_TUPLE_EAT_3)(p, o, o(115, s))
-# define BOOST_PP_WHILE_115_I(p, o, s) BOOST_PP_IF(p(116, s), BOOST_PP_WHILE_116, s BOOST_PP_TUPLE_EAT_3)(p, o, o(116, s))
-# define BOOST_PP_WHILE_116_I(p, o, s) BOOST_PP_IF(p(117, s), BOOST_PP_WHILE_117, s BOOST_PP_TUPLE_EAT_3)(p, o, o(117, s))
-# define BOOST_PP_WHILE_117_I(p, o, s) BOOST_PP_IF(p(118, s), BOOST_PP_WHILE_118, s BOOST_PP_TUPLE_EAT_3)(p, o, o(118, s))
-# define BOOST_PP_WHILE_118_I(p, o, s) BOOST_PP_IF(p(119, s), BOOST_PP_WHILE_119, s BOOST_PP_TUPLE_EAT_3)(p, o, o(119, s))
-# define BOOST_PP_WHILE_119_I(p, o, s) BOOST_PP_IF(p(120, s), BOOST_PP_WHILE_120, s BOOST_PP_TUPLE_EAT_3)(p, o, o(120, s))
-# define BOOST_PP_WHILE_120_I(p, o, s) BOOST_PP_IF(p(121, s), BOOST_PP_WHILE_121, s BOOST_PP_TUPLE_EAT_3)(p, o, o(121, s))
-# define BOOST_PP_WHILE_121_I(p, o, s) BOOST_PP_IF(p(122, s), BOOST_PP_WHILE_122, s BOOST_PP_TUPLE_EAT_3)(p, o, o(122, s))
-# define BOOST_PP_WHILE_122_I(p, o, s) BOOST_PP_IF(p(123, s), BOOST_PP_WHILE_123, s BOOST_PP_TUPLE_EAT_3)(p, o, o(123, s))
-# define BOOST_PP_WHILE_123_I(p, o, s) BOOST_PP_IF(p(124, s), BOOST_PP_WHILE_124, s BOOST_PP_TUPLE_EAT_3)(p, o, o(124, s))
-# define BOOST_PP_WHILE_124_I(p, o, s) BOOST_PP_IF(p(125, s), BOOST_PP_WHILE_125, s BOOST_PP_TUPLE_EAT_3)(p, o, o(125, s))
-# define BOOST_PP_WHILE_125_I(p, o, s) BOOST_PP_IF(p(126, s), BOOST_PP_WHILE_126, s BOOST_PP_TUPLE_EAT_3)(p, o, o(126, s))
-# define BOOST_PP_WHILE_126_I(p, o, s) BOOST_PP_IF(p(127, s), BOOST_PP_WHILE_127, s BOOST_PP_TUPLE_EAT_3)(p, o, o(127, s))
-# define BOOST_PP_WHILE_127_I(p, o, s) BOOST_PP_IF(p(128, s), BOOST_PP_WHILE_128, s BOOST_PP_TUPLE_EAT_3)(p, o, o(128, s))
-# define BOOST_PP_WHILE_128_I(p, o, s) BOOST_PP_IF(p(129, s), BOOST_PP_WHILE_129, s BOOST_PP_TUPLE_EAT_3)(p, o, o(129, s))
-# define BOOST_PP_WHILE_129_I(p, o, s) BOOST_PP_IF(p(130, s), BOOST_PP_WHILE_130, s BOOST_PP_TUPLE_EAT_3)(p, o, o(130, s))
-# define BOOST_PP_WHILE_130_I(p, o, s) BOOST_PP_IF(p(131, s), BOOST_PP_WHILE_131, s BOOST_PP_TUPLE_EAT_3)(p, o, o(131, s))
-# define BOOST_PP_WHILE_131_I(p, o, s) BOOST_PP_IF(p(132, s), BOOST_PP_WHILE_132, s BOOST_PP_TUPLE_EAT_3)(p, o, o(132, s))
-# define BOOST_PP_WHILE_132_I(p, o, s) BOOST_PP_IF(p(133, s), BOOST_PP_WHILE_133, s BOOST_PP_TUPLE_EAT_3)(p, o, o(133, s))
-# define BOOST_PP_WHILE_133_I(p, o, s) BOOST_PP_IF(p(134, s), BOOST_PP_WHILE_134, s BOOST_PP_TUPLE_EAT_3)(p, o, o(134, s))
-# define BOOST_PP_WHILE_134_I(p, o, s) BOOST_PP_IF(p(135, s), BOOST_PP_WHILE_135, s BOOST_PP_TUPLE_EAT_3)(p, o, o(135, s))
-# define BOOST_PP_WHILE_135_I(p, o, s) BOOST_PP_IF(p(136, s), BOOST_PP_WHILE_136, s BOOST_PP_TUPLE_EAT_3)(p, o, o(136, s))
-# define BOOST_PP_WHILE_136_I(p, o, s) BOOST_PP_IF(p(137, s), BOOST_PP_WHILE_137, s BOOST_PP_TUPLE_EAT_3)(p, o, o(137, s))
-# define BOOST_PP_WHILE_137_I(p, o, s) BOOST_PP_IF(p(138, s), BOOST_PP_WHILE_138, s BOOST_PP_TUPLE_EAT_3)(p, o, o(138, s))
-# define BOOST_PP_WHILE_138_I(p, o, s) BOOST_PP_IF(p(139, s), BOOST_PP_WHILE_139, s BOOST_PP_TUPLE_EAT_3)(p, o, o(139, s))
-# define BOOST_PP_WHILE_139_I(p, o, s) BOOST_PP_IF(p(140, s), BOOST_PP_WHILE_140, s BOOST_PP_TUPLE_EAT_3)(p, o, o(140, s))
-# define BOOST_PP_WHILE_140_I(p, o, s) BOOST_PP_IF(p(141, s), BOOST_PP_WHILE_141, s BOOST_PP_TUPLE_EAT_3)(p, o, o(141, s))
-# define BOOST_PP_WHILE_141_I(p, o, s) BOOST_PP_IF(p(142, s), BOOST_PP_WHILE_142, s BOOST_PP_TUPLE_EAT_3)(p, o, o(142, s))
-# define BOOST_PP_WHILE_142_I(p, o, s) BOOST_PP_IF(p(143, s), BOOST_PP_WHILE_143, s BOOST_PP_TUPLE_EAT_3)(p, o, o(143, s))
-# define BOOST_PP_WHILE_143_I(p, o, s) BOOST_PP_IF(p(144, s), BOOST_PP_WHILE_144, s BOOST_PP_TUPLE_EAT_3)(p, o, o(144, s))
-# define BOOST_PP_WHILE_144_I(p, o, s) BOOST_PP_IF(p(145, s), BOOST_PP_WHILE_145, s BOOST_PP_TUPLE_EAT_3)(p, o, o(145, s))
-# define BOOST_PP_WHILE_145_I(p, o, s) BOOST_PP_IF(p(146, s), BOOST_PP_WHILE_146, s BOOST_PP_TUPLE_EAT_3)(p, o, o(146, s))
-# define BOOST_PP_WHILE_146_I(p, o, s) BOOST_PP_IF(p(147, s), BOOST_PP_WHILE_147, s BOOST_PP_TUPLE_EAT_3)(p, o, o(147, s))
-# define BOOST_PP_WHILE_147_I(p, o, s) BOOST_PP_IF(p(148, s), BOOST_PP_WHILE_148, s BOOST_PP_TUPLE_EAT_3)(p, o, o(148, s))
-# define BOOST_PP_WHILE_148_I(p, o, s) BOOST_PP_IF(p(149, s), BOOST_PP_WHILE_149, s BOOST_PP_TUPLE_EAT_3)(p, o, o(149, s))
-# define BOOST_PP_WHILE_149_I(p, o, s) BOOST_PP_IF(p(150, s), BOOST_PP_WHILE_150, s BOOST_PP_TUPLE_EAT_3)(p, o, o(150, s))
-# define BOOST_PP_WHILE_150_I(p, o, s) BOOST_PP_IF(p(151, s), BOOST_PP_WHILE_151, s BOOST_PP_TUPLE_EAT_3)(p, o, o(151, s))
-# define BOOST_PP_WHILE_151_I(p, o, s) BOOST_PP_IF(p(152, s), BOOST_PP_WHILE_152, s BOOST_PP_TUPLE_EAT_3)(p, o, o(152, s))
-# define BOOST_PP_WHILE_152_I(p, o, s) BOOST_PP_IF(p(153, s), BOOST_PP_WHILE_153, s BOOST_PP_TUPLE_EAT_3)(p, o, o(153, s))
-# define BOOST_PP_WHILE_153_I(p, o, s) BOOST_PP_IF(p(154, s), BOOST_PP_WHILE_154, s BOOST_PP_TUPLE_EAT_3)(p, o, o(154, s))
-# define BOOST_PP_WHILE_154_I(p, o, s) BOOST_PP_IF(p(155, s), BOOST_PP_WHILE_155, s BOOST_PP_TUPLE_EAT_3)(p, o, o(155, s))
-# define BOOST_PP_WHILE_155_I(p, o, s) BOOST_PP_IF(p(156, s), BOOST_PP_WHILE_156, s BOOST_PP_TUPLE_EAT_3)(p, o, o(156, s))
-# define BOOST_PP_WHILE_156_I(p, o, s) BOOST_PP_IF(p(157, s), BOOST_PP_WHILE_157, s BOOST_PP_TUPLE_EAT_3)(p, o, o(157, s))
-# define BOOST_PP_WHILE_157_I(p, o, s) BOOST_PP_IF(p(158, s), BOOST_PP_WHILE_158, s BOOST_PP_TUPLE_EAT_3)(p, o, o(158, s))
-# define BOOST_PP_WHILE_158_I(p, o, s) BOOST_PP_IF(p(159, s), BOOST_PP_WHILE_159, s BOOST_PP_TUPLE_EAT_3)(p, o, o(159, s))
-# define BOOST_PP_WHILE_159_I(p, o, s) BOOST_PP_IF(p(160, s), BOOST_PP_WHILE_160, s BOOST_PP_TUPLE_EAT_3)(p, o, o(160, s))
-# define BOOST_PP_WHILE_160_I(p, o, s) BOOST_PP_IF(p(161, s), BOOST_PP_WHILE_161, s BOOST_PP_TUPLE_EAT_3)(p, o, o(161, s))
-# define BOOST_PP_WHILE_161_I(p, o, s) BOOST_PP_IF(p(162, s), BOOST_PP_WHILE_162, s BOOST_PP_TUPLE_EAT_3)(p, o, o(162, s))
-# define BOOST_PP_WHILE_162_I(p, o, s) BOOST_PP_IF(p(163, s), BOOST_PP_WHILE_163, s BOOST_PP_TUPLE_EAT_3)(p, o, o(163, s))
-# define BOOST_PP_WHILE_163_I(p, o, s) BOOST_PP_IF(p(164, s), BOOST_PP_WHILE_164, s BOOST_PP_TUPLE_EAT_3)(p, o, o(164, s))
-# define BOOST_PP_WHILE_164_I(p, o, s) BOOST_PP_IF(p(165, s), BOOST_PP_WHILE_165, s BOOST_PP_TUPLE_EAT_3)(p, o, o(165, s))
-# define BOOST_PP_WHILE_165_I(p, o, s) BOOST_PP_IF(p(166, s), BOOST_PP_WHILE_166, s BOOST_PP_TUPLE_EAT_3)(p, o, o(166, s))
-# define BOOST_PP_WHILE_166_I(p, o, s) BOOST_PP_IF(p(167, s), BOOST_PP_WHILE_167, s BOOST_PP_TUPLE_EAT_3)(p, o, o(167, s))
-# define BOOST_PP_WHILE_167_I(p, o, s) BOOST_PP_IF(p(168, s), BOOST_PP_WHILE_168, s BOOST_PP_TUPLE_EAT_3)(p, o, o(168, s))
-# define BOOST_PP_WHILE_168_I(p, o, s) BOOST_PP_IF(p(169, s), BOOST_PP_WHILE_169, s BOOST_PP_TUPLE_EAT_3)(p, o, o(169, s))
-# define BOOST_PP_WHILE_169_I(p, o, s) BOOST_PP_IF(p(170, s), BOOST_PP_WHILE_170, s BOOST_PP_TUPLE_EAT_3)(p, o, o(170, s))
-# define BOOST_PP_WHILE_170_I(p, o, s) BOOST_PP_IF(p(171, s), BOOST_PP_WHILE_171, s BOOST_PP_TUPLE_EAT_3)(p, o, o(171, s))
-# define BOOST_PP_WHILE_171_I(p, o, s) BOOST_PP_IF(p(172, s), BOOST_PP_WHILE_172, s BOOST_PP_TUPLE_EAT_3)(p, o, o(172, s))
-# define BOOST_PP_WHILE_172_I(p, o, s) BOOST_PP_IF(p(173, s), BOOST_PP_WHILE_173, s BOOST_PP_TUPLE_EAT_3)(p, o, o(173, s))
-# define BOOST_PP_WHILE_173_I(p, o, s) BOOST_PP_IF(p(174, s), BOOST_PP_WHILE_174, s BOOST_PP_TUPLE_EAT_3)(p, o, o(174, s))
-# define BOOST_PP_WHILE_174_I(p, o, s) BOOST_PP_IF(p(175, s), BOOST_PP_WHILE_175, s BOOST_PP_TUPLE_EAT_3)(p, o, o(175, s))
-# define BOOST_PP_WHILE_175_I(p, o, s) BOOST_PP_IF(p(176, s), BOOST_PP_WHILE_176, s BOOST_PP_TUPLE_EAT_3)(p, o, o(176, s))
-# define BOOST_PP_WHILE_176_I(p, o, s) BOOST_PP_IF(p(177, s), BOOST_PP_WHILE_177, s BOOST_PP_TUPLE_EAT_3)(p, o, o(177, s))
-# define BOOST_PP_WHILE_177_I(p, o, s) BOOST_PP_IF(p(178, s), BOOST_PP_WHILE_178, s BOOST_PP_TUPLE_EAT_3)(p, o, o(178, s))
-# define BOOST_PP_WHILE_178_I(p, o, s) BOOST_PP_IF(p(179, s), BOOST_PP_WHILE_179, s BOOST_PP_TUPLE_EAT_3)(p, o, o(179, s))
-# define BOOST_PP_WHILE_179_I(p, o, s) BOOST_PP_IF(p(180, s), BOOST_PP_WHILE_180, s BOOST_PP_TUPLE_EAT_3)(p, o, o(180, s))
-# define BOOST_PP_WHILE_180_I(p, o, s) BOOST_PP_IF(p(181, s), BOOST_PP_WHILE_181, s BOOST_PP_TUPLE_EAT_3)(p, o, o(181, s))
-# define BOOST_PP_WHILE_181_I(p, o, s) BOOST_PP_IF(p(182, s), BOOST_PP_WHILE_182, s BOOST_PP_TUPLE_EAT_3)(p, o, o(182, s))
-# define BOOST_PP_WHILE_182_I(p, o, s) BOOST_PP_IF(p(183, s), BOOST_PP_WHILE_183, s BOOST_PP_TUPLE_EAT_3)(p, o, o(183, s))
-# define BOOST_PP_WHILE_183_I(p, o, s) BOOST_PP_IF(p(184, s), BOOST_PP_WHILE_184, s BOOST_PP_TUPLE_EAT_3)(p, o, o(184, s))
-# define BOOST_PP_WHILE_184_I(p, o, s) BOOST_PP_IF(p(185, s), BOOST_PP_WHILE_185, s BOOST_PP_TUPLE_EAT_3)(p, o, o(185, s))
-# define BOOST_PP_WHILE_185_I(p, o, s) BOOST_PP_IF(p(186, s), BOOST_PP_WHILE_186, s BOOST_PP_TUPLE_EAT_3)(p, o, o(186, s))
-# define BOOST_PP_WHILE_186_I(p, o, s) BOOST_PP_IF(p(187, s), BOOST_PP_WHILE_187, s BOOST_PP_TUPLE_EAT_3)(p, o, o(187, s))
-# define BOOST_PP_WHILE_187_I(p, o, s) BOOST_PP_IF(p(188, s), BOOST_PP_WHILE_188, s BOOST_PP_TUPLE_EAT_3)(p, o, o(188, s))
-# define BOOST_PP_WHILE_188_I(p, o, s) BOOST_PP_IF(p(189, s), BOOST_PP_WHILE_189, s BOOST_PP_TUPLE_EAT_3)(p, o, o(189, s))
-# define BOOST_PP_WHILE_189_I(p, o, s) BOOST_PP_IF(p(190, s), BOOST_PP_WHILE_190, s BOOST_PP_TUPLE_EAT_3)(p, o, o(190, s))
-# define BOOST_PP_WHILE_190_I(p, o, s) BOOST_PP_IF(p(191, s), BOOST_PP_WHILE_191, s BOOST_PP_TUPLE_EAT_3)(p, o, o(191, s))
-# define BOOST_PP_WHILE_191_I(p, o, s) BOOST_PP_IF(p(192, s), BOOST_PP_WHILE_192, s BOOST_PP_TUPLE_EAT_3)(p, o, o(192, s))
-# define BOOST_PP_WHILE_192_I(p, o, s) BOOST_PP_IF(p(193, s), BOOST_PP_WHILE_193, s BOOST_PP_TUPLE_EAT_3)(p, o, o(193, s))
-# define BOOST_PP_WHILE_193_I(p, o, s) BOOST_PP_IF(p(194, s), BOOST_PP_WHILE_194, s BOOST_PP_TUPLE_EAT_3)(p, o, o(194, s))
-# define BOOST_PP_WHILE_194_I(p, o, s) BOOST_PP_IF(p(195, s), BOOST_PP_WHILE_195, s BOOST_PP_TUPLE_EAT_3)(p, o, o(195, s))
-# define BOOST_PP_WHILE_195_I(p, o, s) BOOST_PP_IF(p(196, s), BOOST_PP_WHILE_196, s BOOST_PP_TUPLE_EAT_3)(p, o, o(196, s))
-# define BOOST_PP_WHILE_196_I(p, o, s) BOOST_PP_IF(p(197, s), BOOST_PP_WHILE_197, s BOOST_PP_TUPLE_EAT_3)(p, o, o(197, s))
-# define BOOST_PP_WHILE_197_I(p, o, s) BOOST_PP_IF(p(198, s), BOOST_PP_WHILE_198, s BOOST_PP_TUPLE_EAT_3)(p, o, o(198, s))
-# define BOOST_PP_WHILE_198_I(p, o, s) BOOST_PP_IF(p(199, s), BOOST_PP_WHILE_199, s BOOST_PP_TUPLE_EAT_3)(p, o, o(199, s))
-# define BOOST_PP_WHILE_199_I(p, o, s) BOOST_PP_IF(p(200, s), BOOST_PP_WHILE_200, s BOOST_PP_TUPLE_EAT_3)(p, o, o(200, s))
-# define BOOST_PP_WHILE_200_I(p, o, s) BOOST_PP_IF(p(201, s), BOOST_PP_WHILE_201, s BOOST_PP_TUPLE_EAT_3)(p, o, o(201, s))
-# define BOOST_PP_WHILE_201_I(p, o, s) BOOST_PP_IF(p(202, s), BOOST_PP_WHILE_202, s BOOST_PP_TUPLE_EAT_3)(p, o, o(202, s))
-# define BOOST_PP_WHILE_202_I(p, o, s) BOOST_PP_IF(p(203, s), BOOST_PP_WHILE_203, s BOOST_PP_TUPLE_EAT_3)(p, o, o(203, s))
-# define BOOST_PP_WHILE_203_I(p, o, s) BOOST_PP_IF(p(204, s), BOOST_PP_WHILE_204, s BOOST_PP_TUPLE_EAT_3)(p, o, o(204, s))
-# define BOOST_PP_WHILE_204_I(p, o, s) BOOST_PP_IF(p(205, s), BOOST_PP_WHILE_205, s BOOST_PP_TUPLE_EAT_3)(p, o, o(205, s))
-# define BOOST_PP_WHILE_205_I(p, o, s) BOOST_PP_IF(p(206, s), BOOST_PP_WHILE_206, s BOOST_PP_TUPLE_EAT_3)(p, o, o(206, s))
-# define BOOST_PP_WHILE_206_I(p, o, s) BOOST_PP_IF(p(207, s), BOOST_PP_WHILE_207, s BOOST_PP_TUPLE_EAT_3)(p, o, o(207, s))
-# define BOOST_PP_WHILE_207_I(p, o, s) BOOST_PP_IF(p(208, s), BOOST_PP_WHILE_208, s BOOST_PP_TUPLE_EAT_3)(p, o, o(208, s))
-# define BOOST_PP_WHILE_208_I(p, o, s) BOOST_PP_IF(p(209, s), BOOST_PP_WHILE_209, s BOOST_PP_TUPLE_EAT_3)(p, o, o(209, s))
-# define BOOST_PP_WHILE_209_I(p, o, s) BOOST_PP_IF(p(210, s), BOOST_PP_WHILE_210, s BOOST_PP_TUPLE_EAT_3)(p, o, o(210, s))
-# define BOOST_PP_WHILE_210_I(p, o, s) BOOST_PP_IF(p(211, s), BOOST_PP_WHILE_211, s BOOST_PP_TUPLE_EAT_3)(p, o, o(211, s))
-# define BOOST_PP_WHILE_211_I(p, o, s) BOOST_PP_IF(p(212, s), BOOST_PP_WHILE_212, s BOOST_PP_TUPLE_EAT_3)(p, o, o(212, s))
-# define BOOST_PP_WHILE_212_I(p, o, s) BOOST_PP_IF(p(213, s), BOOST_PP_WHILE_213, s BOOST_PP_TUPLE_EAT_3)(p, o, o(213, s))
-# define BOOST_PP_WHILE_213_I(p, o, s) BOOST_PP_IF(p(214, s), BOOST_PP_WHILE_214, s BOOST_PP_TUPLE_EAT_3)(p, o, o(214, s))
-# define BOOST_PP_WHILE_214_I(p, o, s) BOOST_PP_IF(p(215, s), BOOST_PP_WHILE_215, s BOOST_PP_TUPLE_EAT_3)(p, o, o(215, s))
-# define BOOST_PP_WHILE_215_I(p, o, s) BOOST_PP_IF(p(216, s), BOOST_PP_WHILE_216, s BOOST_PP_TUPLE_EAT_3)(p, o, o(216, s))
-# define BOOST_PP_WHILE_216_I(p, o, s) BOOST_PP_IF(p(217, s), BOOST_PP_WHILE_217, s BOOST_PP_TUPLE_EAT_3)(p, o, o(217, s))
-# define BOOST_PP_WHILE_217_I(p, o, s) BOOST_PP_IF(p(218, s), BOOST_PP_WHILE_218, s BOOST_PP_TUPLE_EAT_3)(p, o, o(218, s))
-# define BOOST_PP_WHILE_218_I(p, o, s) BOOST_PP_IF(p(219, s), BOOST_PP_WHILE_219, s BOOST_PP_TUPLE_EAT_3)(p, o, o(219, s))
-# define BOOST_PP_WHILE_219_I(p, o, s) BOOST_PP_IF(p(220, s), BOOST_PP_WHILE_220, s BOOST_PP_TUPLE_EAT_3)(p, o, o(220, s))
-# define BOOST_PP_WHILE_220_I(p, o, s) BOOST_PP_IF(p(221, s), BOOST_PP_WHILE_221, s BOOST_PP_TUPLE_EAT_3)(p, o, o(221, s))
-# define BOOST_PP_WHILE_221_I(p, o, s) BOOST_PP_IF(p(222, s), BOOST_PP_WHILE_222, s BOOST_PP_TUPLE_EAT_3)(p, o, o(222, s))
-# define BOOST_PP_WHILE_222_I(p, o, s) BOOST_PP_IF(p(223, s), BOOST_PP_WHILE_223, s BOOST_PP_TUPLE_EAT_3)(p, o, o(223, s))
-# define BOOST_PP_WHILE_223_I(p, o, s) BOOST_PP_IF(p(224, s), BOOST_PP_WHILE_224, s BOOST_PP_TUPLE_EAT_3)(p, o, o(224, s))
-# define BOOST_PP_WHILE_224_I(p, o, s) BOOST_PP_IF(p(225, s), BOOST_PP_WHILE_225, s BOOST_PP_TUPLE_EAT_3)(p, o, o(225, s))
-# define BOOST_PP_WHILE_225_I(p, o, s) BOOST_PP_IF(p(226, s), BOOST_PP_WHILE_226, s BOOST_PP_TUPLE_EAT_3)(p, o, o(226, s))
-# define BOOST_PP_WHILE_226_I(p, o, s) BOOST_PP_IF(p(227, s), BOOST_PP_WHILE_227, s BOOST_PP_TUPLE_EAT_3)(p, o, o(227, s))
-# define BOOST_PP_WHILE_227_I(p, o, s) BOOST_PP_IF(p(228, s), BOOST_PP_WHILE_228, s BOOST_PP_TUPLE_EAT_3)(p, o, o(228, s))
-# define BOOST_PP_WHILE_228_I(p, o, s) BOOST_PP_IF(p(229, s), BOOST_PP_WHILE_229, s BOOST_PP_TUPLE_EAT_3)(p, o, o(229, s))
-# define BOOST_PP_WHILE_229_I(p, o, s) BOOST_PP_IF(p(230, s), BOOST_PP_WHILE_230, s BOOST_PP_TUPLE_EAT_3)(p, o, o(230, s))
-# define BOOST_PP_WHILE_230_I(p, o, s) BOOST_PP_IF(p(231, s), BOOST_PP_WHILE_231, s BOOST_PP_TUPLE_EAT_3)(p, o, o(231, s))
-# define BOOST_PP_WHILE_231_I(p, o, s) BOOST_PP_IF(p(232, s), BOOST_PP_WHILE_232, s BOOST_PP_TUPLE_EAT_3)(p, o, o(232, s))
-# define BOOST_PP_WHILE_232_I(p, o, s) BOOST_PP_IF(p(233, s), BOOST_PP_WHILE_233, s BOOST_PP_TUPLE_EAT_3)(p, o, o(233, s))
-# define BOOST_PP_WHILE_233_I(p, o, s) BOOST_PP_IF(p(234, s), BOOST_PP_WHILE_234, s BOOST_PP_TUPLE_EAT_3)(p, o, o(234, s))
-# define BOOST_PP_WHILE_234_I(p, o, s) BOOST_PP_IF(p(235, s), BOOST_PP_WHILE_235, s BOOST_PP_TUPLE_EAT_3)(p, o, o(235, s))
-# define BOOST_PP_WHILE_235_I(p, o, s) BOOST_PP_IF(p(236, s), BOOST_PP_WHILE_236, s BOOST_PP_TUPLE_EAT_3)(p, o, o(236, s))
-# define BOOST_PP_WHILE_236_I(p, o, s) BOOST_PP_IF(p(237, s), BOOST_PP_WHILE_237, s BOOST_PP_TUPLE_EAT_3)(p, o, o(237, s))
-# define BOOST_PP_WHILE_237_I(p, o, s) BOOST_PP_IF(p(238, s), BOOST_PP_WHILE_238, s BOOST_PP_TUPLE_EAT_3)(p, o, o(238, s))
-# define BOOST_PP_WHILE_238_I(p, o, s) BOOST_PP_IF(p(239, s), BOOST_PP_WHILE_239, s BOOST_PP_TUPLE_EAT_3)(p, o, o(239, s))
-# define BOOST_PP_WHILE_239_I(p, o, s) BOOST_PP_IF(p(240, s), BOOST_PP_WHILE_240, s BOOST_PP_TUPLE_EAT_3)(p, o, o(240, s))
-# define BOOST_PP_WHILE_240_I(p, o, s) BOOST_PP_IF(p(241, s), BOOST_PP_WHILE_241, s BOOST_PP_TUPLE_EAT_3)(p, o, o(241, s))
-# define BOOST_PP_WHILE_241_I(p, o, s) BOOST_PP_IF(p(242, s), BOOST_PP_WHILE_242, s BOOST_PP_TUPLE_EAT_3)(p, o, o(242, s))
-# define BOOST_PP_WHILE_242_I(p, o, s) BOOST_PP_IF(p(243, s), BOOST_PP_WHILE_243, s BOOST_PP_TUPLE_EAT_3)(p, o, o(243, s))
-# define BOOST_PP_WHILE_243_I(p, o, s) BOOST_PP_IF(p(244, s), BOOST_PP_WHILE_244, s BOOST_PP_TUPLE_EAT_3)(p, o, o(244, s))
-# define BOOST_PP_WHILE_244_I(p, o, s) BOOST_PP_IF(p(245, s), BOOST_PP_WHILE_245, s BOOST_PP_TUPLE_EAT_3)(p, o, o(245, s))
-# define BOOST_PP_WHILE_245_I(p, o, s) BOOST_PP_IF(p(246, s), BOOST_PP_WHILE_246, s BOOST_PP_TUPLE_EAT_3)(p, o, o(246, s))
-# define BOOST_PP_WHILE_246_I(p, o, s) BOOST_PP_IF(p(247, s), BOOST_PP_WHILE_247, s BOOST_PP_TUPLE_EAT_3)(p, o, o(247, s))
-# define BOOST_PP_WHILE_247_I(p, o, s) BOOST_PP_IF(p(248, s), BOOST_PP_WHILE_248, s BOOST_PP_TUPLE_EAT_3)(p, o, o(248, s))
-# define BOOST_PP_WHILE_248_I(p, o, s) BOOST_PP_IF(p(249, s), BOOST_PP_WHILE_249, s BOOST_PP_TUPLE_EAT_3)(p, o, o(249, s))
-# define BOOST_PP_WHILE_249_I(p, o, s) BOOST_PP_IF(p(250, s), BOOST_PP_WHILE_250, s BOOST_PP_TUPLE_EAT_3)(p, o, o(250, s))
-# define BOOST_PP_WHILE_250_I(p, o, s) BOOST_PP_IF(p(251, s), BOOST_PP_WHILE_251, s BOOST_PP_TUPLE_EAT_3)(p, o, o(251, s))
-# define BOOST_PP_WHILE_251_I(p, o, s) BOOST_PP_IF(p(252, s), BOOST_PP_WHILE_252, s BOOST_PP_TUPLE_EAT_3)(p, o, o(252, s))
-# define BOOST_PP_WHILE_252_I(p, o, s) BOOST_PP_IF(p(253, s), BOOST_PP_WHILE_253, s BOOST_PP_TUPLE_EAT_3)(p, o, o(253, s))
-# define BOOST_PP_WHILE_253_I(p, o, s) BOOST_PP_IF(p(254, s), BOOST_PP_WHILE_254, s BOOST_PP_TUPLE_EAT_3)(p, o, o(254, s))
-# define BOOST_PP_WHILE_254_I(p, o, s) BOOST_PP_IF(p(255, s), BOOST_PP_WHILE_255, s BOOST_PP_TUPLE_EAT_3)(p, o, o(255, s))
-# define BOOST_PP_WHILE_255_I(p, o, s) BOOST_PP_IF(p(256, s), BOOST_PP_WHILE_256, s BOOST_PP_TUPLE_EAT_3)(p, o, o(256, s))
-# define BOOST_PP_WHILE_256_I(p, o, s) BOOST_PP_IF(p(257, s), BOOST_PP_WHILE_257, s BOOST_PP_TUPLE_EAT_3)(p, o, o(257, s))
+# define NDNBOOST_PP_WHILE_1_I(p, o, s) NDNBOOST_PP_IF(p(2, s), NDNBOOST_PP_WHILE_2, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(2, s))
+# define NDNBOOST_PP_WHILE_2_I(p, o, s) NDNBOOST_PP_IF(p(3, s), NDNBOOST_PP_WHILE_3, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(3, s))
+# define NDNBOOST_PP_WHILE_3_I(p, o, s) NDNBOOST_PP_IF(p(4, s), NDNBOOST_PP_WHILE_4, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(4, s))
+# define NDNBOOST_PP_WHILE_4_I(p, o, s) NDNBOOST_PP_IF(p(5, s), NDNBOOST_PP_WHILE_5, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(5, s))
+# define NDNBOOST_PP_WHILE_5_I(p, o, s) NDNBOOST_PP_IF(p(6, s), NDNBOOST_PP_WHILE_6, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(6, s))
+# define NDNBOOST_PP_WHILE_6_I(p, o, s) NDNBOOST_PP_IF(p(7, s), NDNBOOST_PP_WHILE_7, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(7, s))
+# define NDNBOOST_PP_WHILE_7_I(p, o, s) NDNBOOST_PP_IF(p(8, s), NDNBOOST_PP_WHILE_8, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(8, s))
+# define NDNBOOST_PP_WHILE_8_I(p, o, s) NDNBOOST_PP_IF(p(9, s), NDNBOOST_PP_WHILE_9, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(9, s))
+# define NDNBOOST_PP_WHILE_9_I(p, o, s) NDNBOOST_PP_IF(p(10, s), NDNBOOST_PP_WHILE_10, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(10, s))
+# define NDNBOOST_PP_WHILE_10_I(p, o, s) NDNBOOST_PP_IF(p(11, s), NDNBOOST_PP_WHILE_11, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(11, s))
+# define NDNBOOST_PP_WHILE_11_I(p, o, s) NDNBOOST_PP_IF(p(12, s), NDNBOOST_PP_WHILE_12, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(12, s))
+# define NDNBOOST_PP_WHILE_12_I(p, o, s) NDNBOOST_PP_IF(p(13, s), NDNBOOST_PP_WHILE_13, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(13, s))
+# define NDNBOOST_PP_WHILE_13_I(p, o, s) NDNBOOST_PP_IF(p(14, s), NDNBOOST_PP_WHILE_14, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(14, s))
+# define NDNBOOST_PP_WHILE_14_I(p, o, s) NDNBOOST_PP_IF(p(15, s), NDNBOOST_PP_WHILE_15, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(15, s))
+# define NDNBOOST_PP_WHILE_15_I(p, o, s) NDNBOOST_PP_IF(p(16, s), NDNBOOST_PP_WHILE_16, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(16, s))
+# define NDNBOOST_PP_WHILE_16_I(p, o, s) NDNBOOST_PP_IF(p(17, s), NDNBOOST_PP_WHILE_17, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(17, s))
+# define NDNBOOST_PP_WHILE_17_I(p, o, s) NDNBOOST_PP_IF(p(18, s), NDNBOOST_PP_WHILE_18, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(18, s))
+# define NDNBOOST_PP_WHILE_18_I(p, o, s) NDNBOOST_PP_IF(p(19, s), NDNBOOST_PP_WHILE_19, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(19, s))
+# define NDNBOOST_PP_WHILE_19_I(p, o, s) NDNBOOST_PP_IF(p(20, s), NDNBOOST_PP_WHILE_20, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(20, s))
+# define NDNBOOST_PP_WHILE_20_I(p, o, s) NDNBOOST_PP_IF(p(21, s), NDNBOOST_PP_WHILE_21, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(21, s))
+# define NDNBOOST_PP_WHILE_21_I(p, o, s) NDNBOOST_PP_IF(p(22, s), NDNBOOST_PP_WHILE_22, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(22, s))
+# define NDNBOOST_PP_WHILE_22_I(p, o, s) NDNBOOST_PP_IF(p(23, s), NDNBOOST_PP_WHILE_23, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(23, s))
+# define NDNBOOST_PP_WHILE_23_I(p, o, s) NDNBOOST_PP_IF(p(24, s), NDNBOOST_PP_WHILE_24, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(24, s))
+# define NDNBOOST_PP_WHILE_24_I(p, o, s) NDNBOOST_PP_IF(p(25, s), NDNBOOST_PP_WHILE_25, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(25, s))
+# define NDNBOOST_PP_WHILE_25_I(p, o, s) NDNBOOST_PP_IF(p(26, s), NDNBOOST_PP_WHILE_26, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(26, s))
+# define NDNBOOST_PP_WHILE_26_I(p, o, s) NDNBOOST_PP_IF(p(27, s), NDNBOOST_PP_WHILE_27, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(27, s))
+# define NDNBOOST_PP_WHILE_27_I(p, o, s) NDNBOOST_PP_IF(p(28, s), NDNBOOST_PP_WHILE_28, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(28, s))
+# define NDNBOOST_PP_WHILE_28_I(p, o, s) NDNBOOST_PP_IF(p(29, s), NDNBOOST_PP_WHILE_29, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(29, s))
+# define NDNBOOST_PP_WHILE_29_I(p, o, s) NDNBOOST_PP_IF(p(30, s), NDNBOOST_PP_WHILE_30, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(30, s))
+# define NDNBOOST_PP_WHILE_30_I(p, o, s) NDNBOOST_PP_IF(p(31, s), NDNBOOST_PP_WHILE_31, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(31, s))
+# define NDNBOOST_PP_WHILE_31_I(p, o, s) NDNBOOST_PP_IF(p(32, s), NDNBOOST_PP_WHILE_32, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(32, s))
+# define NDNBOOST_PP_WHILE_32_I(p, o, s) NDNBOOST_PP_IF(p(33, s), NDNBOOST_PP_WHILE_33, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(33, s))
+# define NDNBOOST_PP_WHILE_33_I(p, o, s) NDNBOOST_PP_IF(p(34, s), NDNBOOST_PP_WHILE_34, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(34, s))
+# define NDNBOOST_PP_WHILE_34_I(p, o, s) NDNBOOST_PP_IF(p(35, s), NDNBOOST_PP_WHILE_35, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(35, s))
+# define NDNBOOST_PP_WHILE_35_I(p, o, s) NDNBOOST_PP_IF(p(36, s), NDNBOOST_PP_WHILE_36, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(36, s))
+# define NDNBOOST_PP_WHILE_36_I(p, o, s) NDNBOOST_PP_IF(p(37, s), NDNBOOST_PP_WHILE_37, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(37, s))
+# define NDNBOOST_PP_WHILE_37_I(p, o, s) NDNBOOST_PP_IF(p(38, s), NDNBOOST_PP_WHILE_38, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(38, s))
+# define NDNBOOST_PP_WHILE_38_I(p, o, s) NDNBOOST_PP_IF(p(39, s), NDNBOOST_PP_WHILE_39, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(39, s))
+# define NDNBOOST_PP_WHILE_39_I(p, o, s) NDNBOOST_PP_IF(p(40, s), NDNBOOST_PP_WHILE_40, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(40, s))
+# define NDNBOOST_PP_WHILE_40_I(p, o, s) NDNBOOST_PP_IF(p(41, s), NDNBOOST_PP_WHILE_41, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(41, s))
+# define NDNBOOST_PP_WHILE_41_I(p, o, s) NDNBOOST_PP_IF(p(42, s), NDNBOOST_PP_WHILE_42, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(42, s))
+# define NDNBOOST_PP_WHILE_42_I(p, o, s) NDNBOOST_PP_IF(p(43, s), NDNBOOST_PP_WHILE_43, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(43, s))
+# define NDNBOOST_PP_WHILE_43_I(p, o, s) NDNBOOST_PP_IF(p(44, s), NDNBOOST_PP_WHILE_44, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(44, s))
+# define NDNBOOST_PP_WHILE_44_I(p, o, s) NDNBOOST_PP_IF(p(45, s), NDNBOOST_PP_WHILE_45, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(45, s))
+# define NDNBOOST_PP_WHILE_45_I(p, o, s) NDNBOOST_PP_IF(p(46, s), NDNBOOST_PP_WHILE_46, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(46, s))
+# define NDNBOOST_PP_WHILE_46_I(p, o, s) NDNBOOST_PP_IF(p(47, s), NDNBOOST_PP_WHILE_47, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(47, s))
+# define NDNBOOST_PP_WHILE_47_I(p, o, s) NDNBOOST_PP_IF(p(48, s), NDNBOOST_PP_WHILE_48, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(48, s))
+# define NDNBOOST_PP_WHILE_48_I(p, o, s) NDNBOOST_PP_IF(p(49, s), NDNBOOST_PP_WHILE_49, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(49, s))
+# define NDNBOOST_PP_WHILE_49_I(p, o, s) NDNBOOST_PP_IF(p(50, s), NDNBOOST_PP_WHILE_50, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(50, s))
+# define NDNBOOST_PP_WHILE_50_I(p, o, s) NDNBOOST_PP_IF(p(51, s), NDNBOOST_PP_WHILE_51, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(51, s))
+# define NDNBOOST_PP_WHILE_51_I(p, o, s) NDNBOOST_PP_IF(p(52, s), NDNBOOST_PP_WHILE_52, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(52, s))
+# define NDNBOOST_PP_WHILE_52_I(p, o, s) NDNBOOST_PP_IF(p(53, s), NDNBOOST_PP_WHILE_53, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(53, s))
+# define NDNBOOST_PP_WHILE_53_I(p, o, s) NDNBOOST_PP_IF(p(54, s), NDNBOOST_PP_WHILE_54, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(54, s))
+# define NDNBOOST_PP_WHILE_54_I(p, o, s) NDNBOOST_PP_IF(p(55, s), NDNBOOST_PP_WHILE_55, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(55, s))
+# define NDNBOOST_PP_WHILE_55_I(p, o, s) NDNBOOST_PP_IF(p(56, s), NDNBOOST_PP_WHILE_56, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(56, s))
+# define NDNBOOST_PP_WHILE_56_I(p, o, s) NDNBOOST_PP_IF(p(57, s), NDNBOOST_PP_WHILE_57, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(57, s))
+# define NDNBOOST_PP_WHILE_57_I(p, o, s) NDNBOOST_PP_IF(p(58, s), NDNBOOST_PP_WHILE_58, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(58, s))
+# define NDNBOOST_PP_WHILE_58_I(p, o, s) NDNBOOST_PP_IF(p(59, s), NDNBOOST_PP_WHILE_59, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(59, s))
+# define NDNBOOST_PP_WHILE_59_I(p, o, s) NDNBOOST_PP_IF(p(60, s), NDNBOOST_PP_WHILE_60, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(60, s))
+# define NDNBOOST_PP_WHILE_60_I(p, o, s) NDNBOOST_PP_IF(p(61, s), NDNBOOST_PP_WHILE_61, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(61, s))
+# define NDNBOOST_PP_WHILE_61_I(p, o, s) NDNBOOST_PP_IF(p(62, s), NDNBOOST_PP_WHILE_62, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(62, s))
+# define NDNBOOST_PP_WHILE_62_I(p, o, s) NDNBOOST_PP_IF(p(63, s), NDNBOOST_PP_WHILE_63, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(63, s))
+# define NDNBOOST_PP_WHILE_63_I(p, o, s) NDNBOOST_PP_IF(p(64, s), NDNBOOST_PP_WHILE_64, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(64, s))
+# define NDNBOOST_PP_WHILE_64_I(p, o, s) NDNBOOST_PP_IF(p(65, s), NDNBOOST_PP_WHILE_65, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(65, s))
+# define NDNBOOST_PP_WHILE_65_I(p, o, s) NDNBOOST_PP_IF(p(66, s), NDNBOOST_PP_WHILE_66, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(66, s))
+# define NDNBOOST_PP_WHILE_66_I(p, o, s) NDNBOOST_PP_IF(p(67, s), NDNBOOST_PP_WHILE_67, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(67, s))
+# define NDNBOOST_PP_WHILE_67_I(p, o, s) NDNBOOST_PP_IF(p(68, s), NDNBOOST_PP_WHILE_68, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(68, s))
+# define NDNBOOST_PP_WHILE_68_I(p, o, s) NDNBOOST_PP_IF(p(69, s), NDNBOOST_PP_WHILE_69, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(69, s))
+# define NDNBOOST_PP_WHILE_69_I(p, o, s) NDNBOOST_PP_IF(p(70, s), NDNBOOST_PP_WHILE_70, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(70, s))
+# define NDNBOOST_PP_WHILE_70_I(p, o, s) NDNBOOST_PP_IF(p(71, s), NDNBOOST_PP_WHILE_71, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(71, s))
+# define NDNBOOST_PP_WHILE_71_I(p, o, s) NDNBOOST_PP_IF(p(72, s), NDNBOOST_PP_WHILE_72, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(72, s))
+# define NDNBOOST_PP_WHILE_72_I(p, o, s) NDNBOOST_PP_IF(p(73, s), NDNBOOST_PP_WHILE_73, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(73, s))
+# define NDNBOOST_PP_WHILE_73_I(p, o, s) NDNBOOST_PP_IF(p(74, s), NDNBOOST_PP_WHILE_74, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(74, s))
+# define NDNBOOST_PP_WHILE_74_I(p, o, s) NDNBOOST_PP_IF(p(75, s), NDNBOOST_PP_WHILE_75, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(75, s))
+# define NDNBOOST_PP_WHILE_75_I(p, o, s) NDNBOOST_PP_IF(p(76, s), NDNBOOST_PP_WHILE_76, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(76, s))
+# define NDNBOOST_PP_WHILE_76_I(p, o, s) NDNBOOST_PP_IF(p(77, s), NDNBOOST_PP_WHILE_77, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(77, s))
+# define NDNBOOST_PP_WHILE_77_I(p, o, s) NDNBOOST_PP_IF(p(78, s), NDNBOOST_PP_WHILE_78, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(78, s))
+# define NDNBOOST_PP_WHILE_78_I(p, o, s) NDNBOOST_PP_IF(p(79, s), NDNBOOST_PP_WHILE_79, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(79, s))
+# define NDNBOOST_PP_WHILE_79_I(p, o, s) NDNBOOST_PP_IF(p(80, s), NDNBOOST_PP_WHILE_80, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(80, s))
+# define NDNBOOST_PP_WHILE_80_I(p, o, s) NDNBOOST_PP_IF(p(81, s), NDNBOOST_PP_WHILE_81, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(81, s))
+# define NDNBOOST_PP_WHILE_81_I(p, o, s) NDNBOOST_PP_IF(p(82, s), NDNBOOST_PP_WHILE_82, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(82, s))
+# define NDNBOOST_PP_WHILE_82_I(p, o, s) NDNBOOST_PP_IF(p(83, s), NDNBOOST_PP_WHILE_83, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(83, s))
+# define NDNBOOST_PP_WHILE_83_I(p, o, s) NDNBOOST_PP_IF(p(84, s), NDNBOOST_PP_WHILE_84, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(84, s))
+# define NDNBOOST_PP_WHILE_84_I(p, o, s) NDNBOOST_PP_IF(p(85, s), NDNBOOST_PP_WHILE_85, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(85, s))
+# define NDNBOOST_PP_WHILE_85_I(p, o, s) NDNBOOST_PP_IF(p(86, s), NDNBOOST_PP_WHILE_86, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(86, s))
+# define NDNBOOST_PP_WHILE_86_I(p, o, s) NDNBOOST_PP_IF(p(87, s), NDNBOOST_PP_WHILE_87, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(87, s))
+# define NDNBOOST_PP_WHILE_87_I(p, o, s) NDNBOOST_PP_IF(p(88, s), NDNBOOST_PP_WHILE_88, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(88, s))
+# define NDNBOOST_PP_WHILE_88_I(p, o, s) NDNBOOST_PP_IF(p(89, s), NDNBOOST_PP_WHILE_89, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(89, s))
+# define NDNBOOST_PP_WHILE_89_I(p, o, s) NDNBOOST_PP_IF(p(90, s), NDNBOOST_PP_WHILE_90, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(90, s))
+# define NDNBOOST_PP_WHILE_90_I(p, o, s) NDNBOOST_PP_IF(p(91, s), NDNBOOST_PP_WHILE_91, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(91, s))
+# define NDNBOOST_PP_WHILE_91_I(p, o, s) NDNBOOST_PP_IF(p(92, s), NDNBOOST_PP_WHILE_92, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(92, s))
+# define NDNBOOST_PP_WHILE_92_I(p, o, s) NDNBOOST_PP_IF(p(93, s), NDNBOOST_PP_WHILE_93, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(93, s))
+# define NDNBOOST_PP_WHILE_93_I(p, o, s) NDNBOOST_PP_IF(p(94, s), NDNBOOST_PP_WHILE_94, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(94, s))
+# define NDNBOOST_PP_WHILE_94_I(p, o, s) NDNBOOST_PP_IF(p(95, s), NDNBOOST_PP_WHILE_95, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(95, s))
+# define NDNBOOST_PP_WHILE_95_I(p, o, s) NDNBOOST_PP_IF(p(96, s), NDNBOOST_PP_WHILE_96, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(96, s))
+# define NDNBOOST_PP_WHILE_96_I(p, o, s) NDNBOOST_PP_IF(p(97, s), NDNBOOST_PP_WHILE_97, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(97, s))
+# define NDNBOOST_PP_WHILE_97_I(p, o, s) NDNBOOST_PP_IF(p(98, s), NDNBOOST_PP_WHILE_98, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(98, s))
+# define NDNBOOST_PP_WHILE_98_I(p, o, s) NDNBOOST_PP_IF(p(99, s), NDNBOOST_PP_WHILE_99, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(99, s))
+# define NDNBOOST_PP_WHILE_99_I(p, o, s) NDNBOOST_PP_IF(p(100, s), NDNBOOST_PP_WHILE_100, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(100, s))
+# define NDNBOOST_PP_WHILE_100_I(p, o, s) NDNBOOST_PP_IF(p(101, s), NDNBOOST_PP_WHILE_101, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(101, s))
+# define NDNBOOST_PP_WHILE_101_I(p, o, s) NDNBOOST_PP_IF(p(102, s), NDNBOOST_PP_WHILE_102, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(102, s))
+# define NDNBOOST_PP_WHILE_102_I(p, o, s) NDNBOOST_PP_IF(p(103, s), NDNBOOST_PP_WHILE_103, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(103, s))
+# define NDNBOOST_PP_WHILE_103_I(p, o, s) NDNBOOST_PP_IF(p(104, s), NDNBOOST_PP_WHILE_104, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(104, s))
+# define NDNBOOST_PP_WHILE_104_I(p, o, s) NDNBOOST_PP_IF(p(105, s), NDNBOOST_PP_WHILE_105, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(105, s))
+# define NDNBOOST_PP_WHILE_105_I(p, o, s) NDNBOOST_PP_IF(p(106, s), NDNBOOST_PP_WHILE_106, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(106, s))
+# define NDNBOOST_PP_WHILE_106_I(p, o, s) NDNBOOST_PP_IF(p(107, s), NDNBOOST_PP_WHILE_107, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(107, s))
+# define NDNBOOST_PP_WHILE_107_I(p, o, s) NDNBOOST_PP_IF(p(108, s), NDNBOOST_PP_WHILE_108, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(108, s))
+# define NDNBOOST_PP_WHILE_108_I(p, o, s) NDNBOOST_PP_IF(p(109, s), NDNBOOST_PP_WHILE_109, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(109, s))
+# define NDNBOOST_PP_WHILE_109_I(p, o, s) NDNBOOST_PP_IF(p(110, s), NDNBOOST_PP_WHILE_110, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(110, s))
+# define NDNBOOST_PP_WHILE_110_I(p, o, s) NDNBOOST_PP_IF(p(111, s), NDNBOOST_PP_WHILE_111, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(111, s))
+# define NDNBOOST_PP_WHILE_111_I(p, o, s) NDNBOOST_PP_IF(p(112, s), NDNBOOST_PP_WHILE_112, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(112, s))
+# define NDNBOOST_PP_WHILE_112_I(p, o, s) NDNBOOST_PP_IF(p(113, s), NDNBOOST_PP_WHILE_113, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(113, s))
+# define NDNBOOST_PP_WHILE_113_I(p, o, s) NDNBOOST_PP_IF(p(114, s), NDNBOOST_PP_WHILE_114, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(114, s))
+# define NDNBOOST_PP_WHILE_114_I(p, o, s) NDNBOOST_PP_IF(p(115, s), NDNBOOST_PP_WHILE_115, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(115, s))
+# define NDNBOOST_PP_WHILE_115_I(p, o, s) NDNBOOST_PP_IF(p(116, s), NDNBOOST_PP_WHILE_116, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(116, s))
+# define NDNBOOST_PP_WHILE_116_I(p, o, s) NDNBOOST_PP_IF(p(117, s), NDNBOOST_PP_WHILE_117, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(117, s))
+# define NDNBOOST_PP_WHILE_117_I(p, o, s) NDNBOOST_PP_IF(p(118, s), NDNBOOST_PP_WHILE_118, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(118, s))
+# define NDNBOOST_PP_WHILE_118_I(p, o, s) NDNBOOST_PP_IF(p(119, s), NDNBOOST_PP_WHILE_119, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(119, s))
+# define NDNBOOST_PP_WHILE_119_I(p, o, s) NDNBOOST_PP_IF(p(120, s), NDNBOOST_PP_WHILE_120, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(120, s))
+# define NDNBOOST_PP_WHILE_120_I(p, o, s) NDNBOOST_PP_IF(p(121, s), NDNBOOST_PP_WHILE_121, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(121, s))
+# define NDNBOOST_PP_WHILE_121_I(p, o, s) NDNBOOST_PP_IF(p(122, s), NDNBOOST_PP_WHILE_122, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(122, s))
+# define NDNBOOST_PP_WHILE_122_I(p, o, s) NDNBOOST_PP_IF(p(123, s), NDNBOOST_PP_WHILE_123, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(123, s))
+# define NDNBOOST_PP_WHILE_123_I(p, o, s) NDNBOOST_PP_IF(p(124, s), NDNBOOST_PP_WHILE_124, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(124, s))
+# define NDNBOOST_PP_WHILE_124_I(p, o, s) NDNBOOST_PP_IF(p(125, s), NDNBOOST_PP_WHILE_125, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(125, s))
+# define NDNBOOST_PP_WHILE_125_I(p, o, s) NDNBOOST_PP_IF(p(126, s), NDNBOOST_PP_WHILE_126, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(126, s))
+# define NDNBOOST_PP_WHILE_126_I(p, o, s) NDNBOOST_PP_IF(p(127, s), NDNBOOST_PP_WHILE_127, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(127, s))
+# define NDNBOOST_PP_WHILE_127_I(p, o, s) NDNBOOST_PP_IF(p(128, s), NDNBOOST_PP_WHILE_128, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(128, s))
+# define NDNBOOST_PP_WHILE_128_I(p, o, s) NDNBOOST_PP_IF(p(129, s), NDNBOOST_PP_WHILE_129, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(129, s))
+# define NDNBOOST_PP_WHILE_129_I(p, o, s) NDNBOOST_PP_IF(p(130, s), NDNBOOST_PP_WHILE_130, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(130, s))
+# define NDNBOOST_PP_WHILE_130_I(p, o, s) NDNBOOST_PP_IF(p(131, s), NDNBOOST_PP_WHILE_131, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(131, s))
+# define NDNBOOST_PP_WHILE_131_I(p, o, s) NDNBOOST_PP_IF(p(132, s), NDNBOOST_PP_WHILE_132, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(132, s))
+# define NDNBOOST_PP_WHILE_132_I(p, o, s) NDNBOOST_PP_IF(p(133, s), NDNBOOST_PP_WHILE_133, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(133, s))
+# define NDNBOOST_PP_WHILE_133_I(p, o, s) NDNBOOST_PP_IF(p(134, s), NDNBOOST_PP_WHILE_134, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(134, s))
+# define NDNBOOST_PP_WHILE_134_I(p, o, s) NDNBOOST_PP_IF(p(135, s), NDNBOOST_PP_WHILE_135, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(135, s))
+# define NDNBOOST_PP_WHILE_135_I(p, o, s) NDNBOOST_PP_IF(p(136, s), NDNBOOST_PP_WHILE_136, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(136, s))
+# define NDNBOOST_PP_WHILE_136_I(p, o, s) NDNBOOST_PP_IF(p(137, s), NDNBOOST_PP_WHILE_137, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(137, s))
+# define NDNBOOST_PP_WHILE_137_I(p, o, s) NDNBOOST_PP_IF(p(138, s), NDNBOOST_PP_WHILE_138, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(138, s))
+# define NDNBOOST_PP_WHILE_138_I(p, o, s) NDNBOOST_PP_IF(p(139, s), NDNBOOST_PP_WHILE_139, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(139, s))
+# define NDNBOOST_PP_WHILE_139_I(p, o, s) NDNBOOST_PP_IF(p(140, s), NDNBOOST_PP_WHILE_140, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(140, s))
+# define NDNBOOST_PP_WHILE_140_I(p, o, s) NDNBOOST_PP_IF(p(141, s), NDNBOOST_PP_WHILE_141, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(141, s))
+# define NDNBOOST_PP_WHILE_141_I(p, o, s) NDNBOOST_PP_IF(p(142, s), NDNBOOST_PP_WHILE_142, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(142, s))
+# define NDNBOOST_PP_WHILE_142_I(p, o, s) NDNBOOST_PP_IF(p(143, s), NDNBOOST_PP_WHILE_143, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(143, s))
+# define NDNBOOST_PP_WHILE_143_I(p, o, s) NDNBOOST_PP_IF(p(144, s), NDNBOOST_PP_WHILE_144, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(144, s))
+# define NDNBOOST_PP_WHILE_144_I(p, o, s) NDNBOOST_PP_IF(p(145, s), NDNBOOST_PP_WHILE_145, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(145, s))
+# define NDNBOOST_PP_WHILE_145_I(p, o, s) NDNBOOST_PP_IF(p(146, s), NDNBOOST_PP_WHILE_146, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(146, s))
+# define NDNBOOST_PP_WHILE_146_I(p, o, s) NDNBOOST_PP_IF(p(147, s), NDNBOOST_PP_WHILE_147, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(147, s))
+# define NDNBOOST_PP_WHILE_147_I(p, o, s) NDNBOOST_PP_IF(p(148, s), NDNBOOST_PP_WHILE_148, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(148, s))
+# define NDNBOOST_PP_WHILE_148_I(p, o, s) NDNBOOST_PP_IF(p(149, s), NDNBOOST_PP_WHILE_149, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(149, s))
+# define NDNBOOST_PP_WHILE_149_I(p, o, s) NDNBOOST_PP_IF(p(150, s), NDNBOOST_PP_WHILE_150, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(150, s))
+# define NDNBOOST_PP_WHILE_150_I(p, o, s) NDNBOOST_PP_IF(p(151, s), NDNBOOST_PP_WHILE_151, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(151, s))
+# define NDNBOOST_PP_WHILE_151_I(p, o, s) NDNBOOST_PP_IF(p(152, s), NDNBOOST_PP_WHILE_152, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(152, s))
+# define NDNBOOST_PP_WHILE_152_I(p, o, s) NDNBOOST_PP_IF(p(153, s), NDNBOOST_PP_WHILE_153, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(153, s))
+# define NDNBOOST_PP_WHILE_153_I(p, o, s) NDNBOOST_PP_IF(p(154, s), NDNBOOST_PP_WHILE_154, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(154, s))
+# define NDNBOOST_PP_WHILE_154_I(p, o, s) NDNBOOST_PP_IF(p(155, s), NDNBOOST_PP_WHILE_155, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(155, s))
+# define NDNBOOST_PP_WHILE_155_I(p, o, s) NDNBOOST_PP_IF(p(156, s), NDNBOOST_PP_WHILE_156, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(156, s))
+# define NDNBOOST_PP_WHILE_156_I(p, o, s) NDNBOOST_PP_IF(p(157, s), NDNBOOST_PP_WHILE_157, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(157, s))
+# define NDNBOOST_PP_WHILE_157_I(p, o, s) NDNBOOST_PP_IF(p(158, s), NDNBOOST_PP_WHILE_158, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(158, s))
+# define NDNBOOST_PP_WHILE_158_I(p, o, s) NDNBOOST_PP_IF(p(159, s), NDNBOOST_PP_WHILE_159, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(159, s))
+# define NDNBOOST_PP_WHILE_159_I(p, o, s) NDNBOOST_PP_IF(p(160, s), NDNBOOST_PP_WHILE_160, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(160, s))
+# define NDNBOOST_PP_WHILE_160_I(p, o, s) NDNBOOST_PP_IF(p(161, s), NDNBOOST_PP_WHILE_161, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(161, s))
+# define NDNBOOST_PP_WHILE_161_I(p, o, s) NDNBOOST_PP_IF(p(162, s), NDNBOOST_PP_WHILE_162, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(162, s))
+# define NDNBOOST_PP_WHILE_162_I(p, o, s) NDNBOOST_PP_IF(p(163, s), NDNBOOST_PP_WHILE_163, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(163, s))
+# define NDNBOOST_PP_WHILE_163_I(p, o, s) NDNBOOST_PP_IF(p(164, s), NDNBOOST_PP_WHILE_164, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(164, s))
+# define NDNBOOST_PP_WHILE_164_I(p, o, s) NDNBOOST_PP_IF(p(165, s), NDNBOOST_PP_WHILE_165, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(165, s))
+# define NDNBOOST_PP_WHILE_165_I(p, o, s) NDNBOOST_PP_IF(p(166, s), NDNBOOST_PP_WHILE_166, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(166, s))
+# define NDNBOOST_PP_WHILE_166_I(p, o, s) NDNBOOST_PP_IF(p(167, s), NDNBOOST_PP_WHILE_167, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(167, s))
+# define NDNBOOST_PP_WHILE_167_I(p, o, s) NDNBOOST_PP_IF(p(168, s), NDNBOOST_PP_WHILE_168, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(168, s))
+# define NDNBOOST_PP_WHILE_168_I(p, o, s) NDNBOOST_PP_IF(p(169, s), NDNBOOST_PP_WHILE_169, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(169, s))
+# define NDNBOOST_PP_WHILE_169_I(p, o, s) NDNBOOST_PP_IF(p(170, s), NDNBOOST_PP_WHILE_170, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(170, s))
+# define NDNBOOST_PP_WHILE_170_I(p, o, s) NDNBOOST_PP_IF(p(171, s), NDNBOOST_PP_WHILE_171, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(171, s))
+# define NDNBOOST_PP_WHILE_171_I(p, o, s) NDNBOOST_PP_IF(p(172, s), NDNBOOST_PP_WHILE_172, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(172, s))
+# define NDNBOOST_PP_WHILE_172_I(p, o, s) NDNBOOST_PP_IF(p(173, s), NDNBOOST_PP_WHILE_173, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(173, s))
+# define NDNBOOST_PP_WHILE_173_I(p, o, s) NDNBOOST_PP_IF(p(174, s), NDNBOOST_PP_WHILE_174, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(174, s))
+# define NDNBOOST_PP_WHILE_174_I(p, o, s) NDNBOOST_PP_IF(p(175, s), NDNBOOST_PP_WHILE_175, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(175, s))
+# define NDNBOOST_PP_WHILE_175_I(p, o, s) NDNBOOST_PP_IF(p(176, s), NDNBOOST_PP_WHILE_176, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(176, s))
+# define NDNBOOST_PP_WHILE_176_I(p, o, s) NDNBOOST_PP_IF(p(177, s), NDNBOOST_PP_WHILE_177, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(177, s))
+# define NDNBOOST_PP_WHILE_177_I(p, o, s) NDNBOOST_PP_IF(p(178, s), NDNBOOST_PP_WHILE_178, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(178, s))
+# define NDNBOOST_PP_WHILE_178_I(p, o, s) NDNBOOST_PP_IF(p(179, s), NDNBOOST_PP_WHILE_179, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(179, s))
+# define NDNBOOST_PP_WHILE_179_I(p, o, s) NDNBOOST_PP_IF(p(180, s), NDNBOOST_PP_WHILE_180, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(180, s))
+# define NDNBOOST_PP_WHILE_180_I(p, o, s) NDNBOOST_PP_IF(p(181, s), NDNBOOST_PP_WHILE_181, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(181, s))
+# define NDNBOOST_PP_WHILE_181_I(p, o, s) NDNBOOST_PP_IF(p(182, s), NDNBOOST_PP_WHILE_182, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(182, s))
+# define NDNBOOST_PP_WHILE_182_I(p, o, s) NDNBOOST_PP_IF(p(183, s), NDNBOOST_PP_WHILE_183, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(183, s))
+# define NDNBOOST_PP_WHILE_183_I(p, o, s) NDNBOOST_PP_IF(p(184, s), NDNBOOST_PP_WHILE_184, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(184, s))
+# define NDNBOOST_PP_WHILE_184_I(p, o, s) NDNBOOST_PP_IF(p(185, s), NDNBOOST_PP_WHILE_185, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(185, s))
+# define NDNBOOST_PP_WHILE_185_I(p, o, s) NDNBOOST_PP_IF(p(186, s), NDNBOOST_PP_WHILE_186, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(186, s))
+# define NDNBOOST_PP_WHILE_186_I(p, o, s) NDNBOOST_PP_IF(p(187, s), NDNBOOST_PP_WHILE_187, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(187, s))
+# define NDNBOOST_PP_WHILE_187_I(p, o, s) NDNBOOST_PP_IF(p(188, s), NDNBOOST_PP_WHILE_188, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(188, s))
+# define NDNBOOST_PP_WHILE_188_I(p, o, s) NDNBOOST_PP_IF(p(189, s), NDNBOOST_PP_WHILE_189, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(189, s))
+# define NDNBOOST_PP_WHILE_189_I(p, o, s) NDNBOOST_PP_IF(p(190, s), NDNBOOST_PP_WHILE_190, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(190, s))
+# define NDNBOOST_PP_WHILE_190_I(p, o, s) NDNBOOST_PP_IF(p(191, s), NDNBOOST_PP_WHILE_191, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(191, s))
+# define NDNBOOST_PP_WHILE_191_I(p, o, s) NDNBOOST_PP_IF(p(192, s), NDNBOOST_PP_WHILE_192, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(192, s))
+# define NDNBOOST_PP_WHILE_192_I(p, o, s) NDNBOOST_PP_IF(p(193, s), NDNBOOST_PP_WHILE_193, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(193, s))
+# define NDNBOOST_PP_WHILE_193_I(p, o, s) NDNBOOST_PP_IF(p(194, s), NDNBOOST_PP_WHILE_194, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(194, s))
+# define NDNBOOST_PP_WHILE_194_I(p, o, s) NDNBOOST_PP_IF(p(195, s), NDNBOOST_PP_WHILE_195, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(195, s))
+# define NDNBOOST_PP_WHILE_195_I(p, o, s) NDNBOOST_PP_IF(p(196, s), NDNBOOST_PP_WHILE_196, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(196, s))
+# define NDNBOOST_PP_WHILE_196_I(p, o, s) NDNBOOST_PP_IF(p(197, s), NDNBOOST_PP_WHILE_197, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(197, s))
+# define NDNBOOST_PP_WHILE_197_I(p, o, s) NDNBOOST_PP_IF(p(198, s), NDNBOOST_PP_WHILE_198, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(198, s))
+# define NDNBOOST_PP_WHILE_198_I(p, o, s) NDNBOOST_PP_IF(p(199, s), NDNBOOST_PP_WHILE_199, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(199, s))
+# define NDNBOOST_PP_WHILE_199_I(p, o, s) NDNBOOST_PP_IF(p(200, s), NDNBOOST_PP_WHILE_200, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(200, s))
+# define NDNBOOST_PP_WHILE_200_I(p, o, s) NDNBOOST_PP_IF(p(201, s), NDNBOOST_PP_WHILE_201, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(201, s))
+# define NDNBOOST_PP_WHILE_201_I(p, o, s) NDNBOOST_PP_IF(p(202, s), NDNBOOST_PP_WHILE_202, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(202, s))
+# define NDNBOOST_PP_WHILE_202_I(p, o, s) NDNBOOST_PP_IF(p(203, s), NDNBOOST_PP_WHILE_203, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(203, s))
+# define NDNBOOST_PP_WHILE_203_I(p, o, s) NDNBOOST_PP_IF(p(204, s), NDNBOOST_PP_WHILE_204, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(204, s))
+# define NDNBOOST_PP_WHILE_204_I(p, o, s) NDNBOOST_PP_IF(p(205, s), NDNBOOST_PP_WHILE_205, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(205, s))
+# define NDNBOOST_PP_WHILE_205_I(p, o, s) NDNBOOST_PP_IF(p(206, s), NDNBOOST_PP_WHILE_206, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(206, s))
+# define NDNBOOST_PP_WHILE_206_I(p, o, s) NDNBOOST_PP_IF(p(207, s), NDNBOOST_PP_WHILE_207, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(207, s))
+# define NDNBOOST_PP_WHILE_207_I(p, o, s) NDNBOOST_PP_IF(p(208, s), NDNBOOST_PP_WHILE_208, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(208, s))
+# define NDNBOOST_PP_WHILE_208_I(p, o, s) NDNBOOST_PP_IF(p(209, s), NDNBOOST_PP_WHILE_209, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(209, s))
+# define NDNBOOST_PP_WHILE_209_I(p, o, s) NDNBOOST_PP_IF(p(210, s), NDNBOOST_PP_WHILE_210, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(210, s))
+# define NDNBOOST_PP_WHILE_210_I(p, o, s) NDNBOOST_PP_IF(p(211, s), NDNBOOST_PP_WHILE_211, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(211, s))
+# define NDNBOOST_PP_WHILE_211_I(p, o, s) NDNBOOST_PP_IF(p(212, s), NDNBOOST_PP_WHILE_212, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(212, s))
+# define NDNBOOST_PP_WHILE_212_I(p, o, s) NDNBOOST_PP_IF(p(213, s), NDNBOOST_PP_WHILE_213, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(213, s))
+# define NDNBOOST_PP_WHILE_213_I(p, o, s) NDNBOOST_PP_IF(p(214, s), NDNBOOST_PP_WHILE_214, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(214, s))
+# define NDNBOOST_PP_WHILE_214_I(p, o, s) NDNBOOST_PP_IF(p(215, s), NDNBOOST_PP_WHILE_215, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(215, s))
+# define NDNBOOST_PP_WHILE_215_I(p, o, s) NDNBOOST_PP_IF(p(216, s), NDNBOOST_PP_WHILE_216, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(216, s))
+# define NDNBOOST_PP_WHILE_216_I(p, o, s) NDNBOOST_PP_IF(p(217, s), NDNBOOST_PP_WHILE_217, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(217, s))
+# define NDNBOOST_PP_WHILE_217_I(p, o, s) NDNBOOST_PP_IF(p(218, s), NDNBOOST_PP_WHILE_218, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(218, s))
+# define NDNBOOST_PP_WHILE_218_I(p, o, s) NDNBOOST_PP_IF(p(219, s), NDNBOOST_PP_WHILE_219, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(219, s))
+# define NDNBOOST_PP_WHILE_219_I(p, o, s) NDNBOOST_PP_IF(p(220, s), NDNBOOST_PP_WHILE_220, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(220, s))
+# define NDNBOOST_PP_WHILE_220_I(p, o, s) NDNBOOST_PP_IF(p(221, s), NDNBOOST_PP_WHILE_221, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(221, s))
+# define NDNBOOST_PP_WHILE_221_I(p, o, s) NDNBOOST_PP_IF(p(222, s), NDNBOOST_PP_WHILE_222, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(222, s))
+# define NDNBOOST_PP_WHILE_222_I(p, o, s) NDNBOOST_PP_IF(p(223, s), NDNBOOST_PP_WHILE_223, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(223, s))
+# define NDNBOOST_PP_WHILE_223_I(p, o, s) NDNBOOST_PP_IF(p(224, s), NDNBOOST_PP_WHILE_224, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(224, s))
+# define NDNBOOST_PP_WHILE_224_I(p, o, s) NDNBOOST_PP_IF(p(225, s), NDNBOOST_PP_WHILE_225, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(225, s))
+# define NDNBOOST_PP_WHILE_225_I(p, o, s) NDNBOOST_PP_IF(p(226, s), NDNBOOST_PP_WHILE_226, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(226, s))
+# define NDNBOOST_PP_WHILE_226_I(p, o, s) NDNBOOST_PP_IF(p(227, s), NDNBOOST_PP_WHILE_227, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(227, s))
+# define NDNBOOST_PP_WHILE_227_I(p, o, s) NDNBOOST_PP_IF(p(228, s), NDNBOOST_PP_WHILE_228, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(228, s))
+# define NDNBOOST_PP_WHILE_228_I(p, o, s) NDNBOOST_PP_IF(p(229, s), NDNBOOST_PP_WHILE_229, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(229, s))
+# define NDNBOOST_PP_WHILE_229_I(p, o, s) NDNBOOST_PP_IF(p(230, s), NDNBOOST_PP_WHILE_230, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(230, s))
+# define NDNBOOST_PP_WHILE_230_I(p, o, s) NDNBOOST_PP_IF(p(231, s), NDNBOOST_PP_WHILE_231, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(231, s))
+# define NDNBOOST_PP_WHILE_231_I(p, o, s) NDNBOOST_PP_IF(p(232, s), NDNBOOST_PP_WHILE_232, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(232, s))
+# define NDNBOOST_PP_WHILE_232_I(p, o, s) NDNBOOST_PP_IF(p(233, s), NDNBOOST_PP_WHILE_233, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(233, s))
+# define NDNBOOST_PP_WHILE_233_I(p, o, s) NDNBOOST_PP_IF(p(234, s), NDNBOOST_PP_WHILE_234, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(234, s))
+# define NDNBOOST_PP_WHILE_234_I(p, o, s) NDNBOOST_PP_IF(p(235, s), NDNBOOST_PP_WHILE_235, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(235, s))
+# define NDNBOOST_PP_WHILE_235_I(p, o, s) NDNBOOST_PP_IF(p(236, s), NDNBOOST_PP_WHILE_236, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(236, s))
+# define NDNBOOST_PP_WHILE_236_I(p, o, s) NDNBOOST_PP_IF(p(237, s), NDNBOOST_PP_WHILE_237, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(237, s))
+# define NDNBOOST_PP_WHILE_237_I(p, o, s) NDNBOOST_PP_IF(p(238, s), NDNBOOST_PP_WHILE_238, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(238, s))
+# define NDNBOOST_PP_WHILE_238_I(p, o, s) NDNBOOST_PP_IF(p(239, s), NDNBOOST_PP_WHILE_239, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(239, s))
+# define NDNBOOST_PP_WHILE_239_I(p, o, s) NDNBOOST_PP_IF(p(240, s), NDNBOOST_PP_WHILE_240, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(240, s))
+# define NDNBOOST_PP_WHILE_240_I(p, o, s) NDNBOOST_PP_IF(p(241, s), NDNBOOST_PP_WHILE_241, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(241, s))
+# define NDNBOOST_PP_WHILE_241_I(p, o, s) NDNBOOST_PP_IF(p(242, s), NDNBOOST_PP_WHILE_242, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(242, s))
+# define NDNBOOST_PP_WHILE_242_I(p, o, s) NDNBOOST_PP_IF(p(243, s), NDNBOOST_PP_WHILE_243, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(243, s))
+# define NDNBOOST_PP_WHILE_243_I(p, o, s) NDNBOOST_PP_IF(p(244, s), NDNBOOST_PP_WHILE_244, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(244, s))
+# define NDNBOOST_PP_WHILE_244_I(p, o, s) NDNBOOST_PP_IF(p(245, s), NDNBOOST_PP_WHILE_245, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(245, s))
+# define NDNBOOST_PP_WHILE_245_I(p, o, s) NDNBOOST_PP_IF(p(246, s), NDNBOOST_PP_WHILE_246, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(246, s))
+# define NDNBOOST_PP_WHILE_246_I(p, o, s) NDNBOOST_PP_IF(p(247, s), NDNBOOST_PP_WHILE_247, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(247, s))
+# define NDNBOOST_PP_WHILE_247_I(p, o, s) NDNBOOST_PP_IF(p(248, s), NDNBOOST_PP_WHILE_248, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(248, s))
+# define NDNBOOST_PP_WHILE_248_I(p, o, s) NDNBOOST_PP_IF(p(249, s), NDNBOOST_PP_WHILE_249, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(249, s))
+# define NDNBOOST_PP_WHILE_249_I(p, o, s) NDNBOOST_PP_IF(p(250, s), NDNBOOST_PP_WHILE_250, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(250, s))
+# define NDNBOOST_PP_WHILE_250_I(p, o, s) NDNBOOST_PP_IF(p(251, s), NDNBOOST_PP_WHILE_251, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(251, s))
+# define NDNBOOST_PP_WHILE_251_I(p, o, s) NDNBOOST_PP_IF(p(252, s), NDNBOOST_PP_WHILE_252, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(252, s))
+# define NDNBOOST_PP_WHILE_252_I(p, o, s) NDNBOOST_PP_IF(p(253, s), NDNBOOST_PP_WHILE_253, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(253, s))
+# define NDNBOOST_PP_WHILE_253_I(p, o, s) NDNBOOST_PP_IF(p(254, s), NDNBOOST_PP_WHILE_254, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(254, s))
+# define NDNBOOST_PP_WHILE_254_I(p, o, s) NDNBOOST_PP_IF(p(255, s), NDNBOOST_PP_WHILE_255, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(255, s))
+# define NDNBOOST_PP_WHILE_255_I(p, o, s) NDNBOOST_PP_IF(p(256, s), NDNBOOST_PP_WHILE_256, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(256, s))
+# define NDNBOOST_PP_WHILE_256_I(p, o, s) NDNBOOST_PP_IF(p(257, s), NDNBOOST_PP_WHILE_257, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(257, s))
 #
 # endif
diff --git a/include/ndnboost/preprocessor/control/detail/msvc/while.hpp b/include/ndnboost/preprocessor/control/detail/msvc/while.hpp
index bd2d461..bac9861 100644
--- a/include/ndnboost/preprocessor/control/detail/msvc/while.hpp
+++ b/include/ndnboost/preprocessor/control/detail/msvc/while.hpp
@@ -11,267 +11,267 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_CONTROL_DETAIL_MSVC_WHILE_HPP
-# define BOOST_PREPROCESSOR_CONTROL_DETAIL_MSVC_WHILE_HPP
+# ifndef NDNBOOST_PREPROCESSOR_CONTROL_DETAIL_MSVC_WHILE_HPP
+# define NDNBOOST_PREPROCESSOR_CONTROL_DETAIL_MSVC_WHILE_HPP
 #
 # include <ndnboost/preprocessor/control/if.hpp>
 # include <ndnboost/preprocessor/tuple/eat.hpp>
 #
-# define BOOST_PP_WHILE_1(p, o, s) BOOST_PP_IF(p(2, s), BOOST_PP_WHILE_2, s BOOST_PP_TUPLE_EAT_3)(p, o, o(2, s))
-# define BOOST_PP_WHILE_2(p, o, s) BOOST_PP_IF(p(3, s), BOOST_PP_WHILE_3, s BOOST_PP_TUPLE_EAT_3)(p, o, o(3, s))
-# define BOOST_PP_WHILE_3(p, o, s) BOOST_PP_IF(p(4, s), BOOST_PP_WHILE_4, s BOOST_PP_TUPLE_EAT_3)(p, o, o(4, s))
-# define BOOST_PP_WHILE_4(p, o, s) BOOST_PP_IF(p(5, s), BOOST_PP_WHILE_5, s BOOST_PP_TUPLE_EAT_3)(p, o, o(5, s))
-# define BOOST_PP_WHILE_5(p, o, s) BOOST_PP_IF(p(6, s), BOOST_PP_WHILE_6, s BOOST_PP_TUPLE_EAT_3)(p, o, o(6, s))
-# define BOOST_PP_WHILE_6(p, o, s) BOOST_PP_IF(p(7, s), BOOST_PP_WHILE_7, s BOOST_PP_TUPLE_EAT_3)(p, o, o(7, s))
-# define BOOST_PP_WHILE_7(p, o, s) BOOST_PP_IF(p(8, s), BOOST_PP_WHILE_8, s BOOST_PP_TUPLE_EAT_3)(p, o, o(8, s))
-# define BOOST_PP_WHILE_8(p, o, s) BOOST_PP_IF(p(9, s), BOOST_PP_WHILE_9, s BOOST_PP_TUPLE_EAT_3)(p, o, o(9, s))
-# define BOOST_PP_WHILE_9(p, o, s) BOOST_PP_IF(p(10, s), BOOST_PP_WHILE_10, s BOOST_PP_TUPLE_EAT_3)(p, o, o(10, s))
-# define BOOST_PP_WHILE_10(p, o, s) BOOST_PP_IF(p(11, s), BOOST_PP_WHILE_11, s BOOST_PP_TUPLE_EAT_3)(p, o, o(11, s))
-# define BOOST_PP_WHILE_11(p, o, s) BOOST_PP_IF(p(12, s), BOOST_PP_WHILE_12, s BOOST_PP_TUPLE_EAT_3)(p, o, o(12, s))
-# define BOOST_PP_WHILE_12(p, o, s) BOOST_PP_IF(p(13, s), BOOST_PP_WHILE_13, s BOOST_PP_TUPLE_EAT_3)(p, o, o(13, s))
-# define BOOST_PP_WHILE_13(p, o, s) BOOST_PP_IF(p(14, s), BOOST_PP_WHILE_14, s BOOST_PP_TUPLE_EAT_3)(p, o, o(14, s))
-# define BOOST_PP_WHILE_14(p, o, s) BOOST_PP_IF(p(15, s), BOOST_PP_WHILE_15, s BOOST_PP_TUPLE_EAT_3)(p, o, o(15, s))
-# define BOOST_PP_WHILE_15(p, o, s) BOOST_PP_IF(p(16, s), BOOST_PP_WHILE_16, s BOOST_PP_TUPLE_EAT_3)(p, o, o(16, s))
-# define BOOST_PP_WHILE_16(p, o, s) BOOST_PP_IF(p(17, s), BOOST_PP_WHILE_17, s BOOST_PP_TUPLE_EAT_3)(p, o, o(17, s))
-# define BOOST_PP_WHILE_17(p, o, s) BOOST_PP_IF(p(18, s), BOOST_PP_WHILE_18, s BOOST_PP_TUPLE_EAT_3)(p, o, o(18, s))
-# define BOOST_PP_WHILE_18(p, o, s) BOOST_PP_IF(p(19, s), BOOST_PP_WHILE_19, s BOOST_PP_TUPLE_EAT_3)(p, o, o(19, s))
-# define BOOST_PP_WHILE_19(p, o, s) BOOST_PP_IF(p(20, s), BOOST_PP_WHILE_20, s BOOST_PP_TUPLE_EAT_3)(p, o, o(20, s))
-# define BOOST_PP_WHILE_20(p, o, s) BOOST_PP_IF(p(21, s), BOOST_PP_WHILE_21, s BOOST_PP_TUPLE_EAT_3)(p, o, o(21, s))
-# define BOOST_PP_WHILE_21(p, o, s) BOOST_PP_IF(p(22, s), BOOST_PP_WHILE_22, s BOOST_PP_TUPLE_EAT_3)(p, o, o(22, s))
-# define BOOST_PP_WHILE_22(p, o, s) BOOST_PP_IF(p(23, s), BOOST_PP_WHILE_23, s BOOST_PP_TUPLE_EAT_3)(p, o, o(23, s))
-# define BOOST_PP_WHILE_23(p, o, s) BOOST_PP_IF(p(24, s), BOOST_PP_WHILE_24, s BOOST_PP_TUPLE_EAT_3)(p, o, o(24, s))
-# define BOOST_PP_WHILE_24(p, o, s) BOOST_PP_IF(p(25, s), BOOST_PP_WHILE_25, s BOOST_PP_TUPLE_EAT_3)(p, o, o(25, s))
-# define BOOST_PP_WHILE_25(p, o, s) BOOST_PP_IF(p(26, s), BOOST_PP_WHILE_26, s BOOST_PP_TUPLE_EAT_3)(p, o, o(26, s))
-# define BOOST_PP_WHILE_26(p, o, s) BOOST_PP_IF(p(27, s), BOOST_PP_WHILE_27, s BOOST_PP_TUPLE_EAT_3)(p, o, o(27, s))
-# define BOOST_PP_WHILE_27(p, o, s) BOOST_PP_IF(p(28, s), BOOST_PP_WHILE_28, s BOOST_PP_TUPLE_EAT_3)(p, o, o(28, s))
-# define BOOST_PP_WHILE_28(p, o, s) BOOST_PP_IF(p(29, s), BOOST_PP_WHILE_29, s BOOST_PP_TUPLE_EAT_3)(p, o, o(29, s))
-# define BOOST_PP_WHILE_29(p, o, s) BOOST_PP_IF(p(30, s), BOOST_PP_WHILE_30, s BOOST_PP_TUPLE_EAT_3)(p, o, o(30, s))
-# define BOOST_PP_WHILE_30(p, o, s) BOOST_PP_IF(p(31, s), BOOST_PP_WHILE_31, s BOOST_PP_TUPLE_EAT_3)(p, o, o(31, s))
-# define BOOST_PP_WHILE_31(p, o, s) BOOST_PP_IF(p(32, s), BOOST_PP_WHILE_32, s BOOST_PP_TUPLE_EAT_3)(p, o, o(32, s))
-# define BOOST_PP_WHILE_32(p, o, s) BOOST_PP_IF(p(33, s), BOOST_PP_WHILE_33, s BOOST_PP_TUPLE_EAT_3)(p, o, o(33, s))
-# define BOOST_PP_WHILE_33(p, o, s) BOOST_PP_IF(p(34, s), BOOST_PP_WHILE_34, s BOOST_PP_TUPLE_EAT_3)(p, o, o(34, s))
-# define BOOST_PP_WHILE_34(p, o, s) BOOST_PP_IF(p(35, s), BOOST_PP_WHILE_35, s BOOST_PP_TUPLE_EAT_3)(p, o, o(35, s))
-# define BOOST_PP_WHILE_35(p, o, s) BOOST_PP_IF(p(36, s), BOOST_PP_WHILE_36, s BOOST_PP_TUPLE_EAT_3)(p, o, o(36, s))
-# define BOOST_PP_WHILE_36(p, o, s) BOOST_PP_IF(p(37, s), BOOST_PP_WHILE_37, s BOOST_PP_TUPLE_EAT_3)(p, o, o(37, s))
-# define BOOST_PP_WHILE_37(p, o, s) BOOST_PP_IF(p(38, s), BOOST_PP_WHILE_38, s BOOST_PP_TUPLE_EAT_3)(p, o, o(38, s))
-# define BOOST_PP_WHILE_38(p, o, s) BOOST_PP_IF(p(39, s), BOOST_PP_WHILE_39, s BOOST_PP_TUPLE_EAT_3)(p, o, o(39, s))
-# define BOOST_PP_WHILE_39(p, o, s) BOOST_PP_IF(p(40, s), BOOST_PP_WHILE_40, s BOOST_PP_TUPLE_EAT_3)(p, o, o(40, s))
-# define BOOST_PP_WHILE_40(p, o, s) BOOST_PP_IF(p(41, s), BOOST_PP_WHILE_41, s BOOST_PP_TUPLE_EAT_3)(p, o, o(41, s))
-# define BOOST_PP_WHILE_41(p, o, s) BOOST_PP_IF(p(42, s), BOOST_PP_WHILE_42, s BOOST_PP_TUPLE_EAT_3)(p, o, o(42, s))
-# define BOOST_PP_WHILE_42(p, o, s) BOOST_PP_IF(p(43, s), BOOST_PP_WHILE_43, s BOOST_PP_TUPLE_EAT_3)(p, o, o(43, s))
-# define BOOST_PP_WHILE_43(p, o, s) BOOST_PP_IF(p(44, s), BOOST_PP_WHILE_44, s BOOST_PP_TUPLE_EAT_3)(p, o, o(44, s))
-# define BOOST_PP_WHILE_44(p, o, s) BOOST_PP_IF(p(45, s), BOOST_PP_WHILE_45, s BOOST_PP_TUPLE_EAT_3)(p, o, o(45, s))
-# define BOOST_PP_WHILE_45(p, o, s) BOOST_PP_IF(p(46, s), BOOST_PP_WHILE_46, s BOOST_PP_TUPLE_EAT_3)(p, o, o(46, s))
-# define BOOST_PP_WHILE_46(p, o, s) BOOST_PP_IF(p(47, s), BOOST_PP_WHILE_47, s BOOST_PP_TUPLE_EAT_3)(p, o, o(47, s))
-# define BOOST_PP_WHILE_47(p, o, s) BOOST_PP_IF(p(48, s), BOOST_PP_WHILE_48, s BOOST_PP_TUPLE_EAT_3)(p, o, o(48, s))
-# define BOOST_PP_WHILE_48(p, o, s) BOOST_PP_IF(p(49, s), BOOST_PP_WHILE_49, s BOOST_PP_TUPLE_EAT_3)(p, o, o(49, s))
-# define BOOST_PP_WHILE_49(p, o, s) BOOST_PP_IF(p(50, s), BOOST_PP_WHILE_50, s BOOST_PP_TUPLE_EAT_3)(p, o, o(50, s))
-# define BOOST_PP_WHILE_50(p, o, s) BOOST_PP_IF(p(51, s), BOOST_PP_WHILE_51, s BOOST_PP_TUPLE_EAT_3)(p, o, o(51, s))
-# define BOOST_PP_WHILE_51(p, o, s) BOOST_PP_IF(p(52, s), BOOST_PP_WHILE_52, s BOOST_PP_TUPLE_EAT_3)(p, o, o(52, s))
-# define BOOST_PP_WHILE_52(p, o, s) BOOST_PP_IF(p(53, s), BOOST_PP_WHILE_53, s BOOST_PP_TUPLE_EAT_3)(p, o, o(53, s))
-# define BOOST_PP_WHILE_53(p, o, s) BOOST_PP_IF(p(54, s), BOOST_PP_WHILE_54, s BOOST_PP_TUPLE_EAT_3)(p, o, o(54, s))
-# define BOOST_PP_WHILE_54(p, o, s) BOOST_PP_IF(p(55, s), BOOST_PP_WHILE_55, s BOOST_PP_TUPLE_EAT_3)(p, o, o(55, s))
-# define BOOST_PP_WHILE_55(p, o, s) BOOST_PP_IF(p(56, s), BOOST_PP_WHILE_56, s BOOST_PP_TUPLE_EAT_3)(p, o, o(56, s))
-# define BOOST_PP_WHILE_56(p, o, s) BOOST_PP_IF(p(57, s), BOOST_PP_WHILE_57, s BOOST_PP_TUPLE_EAT_3)(p, o, o(57, s))
-# define BOOST_PP_WHILE_57(p, o, s) BOOST_PP_IF(p(58, s), BOOST_PP_WHILE_58, s BOOST_PP_TUPLE_EAT_3)(p, o, o(58, s))
-# define BOOST_PP_WHILE_58(p, o, s) BOOST_PP_IF(p(59, s), BOOST_PP_WHILE_59, s BOOST_PP_TUPLE_EAT_3)(p, o, o(59, s))
-# define BOOST_PP_WHILE_59(p, o, s) BOOST_PP_IF(p(60, s), BOOST_PP_WHILE_60, s BOOST_PP_TUPLE_EAT_3)(p, o, o(60, s))
-# define BOOST_PP_WHILE_60(p, o, s) BOOST_PP_IF(p(61, s), BOOST_PP_WHILE_61, s BOOST_PP_TUPLE_EAT_3)(p, o, o(61, s))
-# define BOOST_PP_WHILE_61(p, o, s) BOOST_PP_IF(p(62, s), BOOST_PP_WHILE_62, s BOOST_PP_TUPLE_EAT_3)(p, o, o(62, s))
-# define BOOST_PP_WHILE_62(p, o, s) BOOST_PP_IF(p(63, s), BOOST_PP_WHILE_63, s BOOST_PP_TUPLE_EAT_3)(p, o, o(63, s))
-# define BOOST_PP_WHILE_63(p, o, s) BOOST_PP_IF(p(64, s), BOOST_PP_WHILE_64, s BOOST_PP_TUPLE_EAT_3)(p, o, o(64, s))
-# define BOOST_PP_WHILE_64(p, o, s) BOOST_PP_IF(p(65, s), BOOST_PP_WHILE_65, s BOOST_PP_TUPLE_EAT_3)(p, o, o(65, s))
-# define BOOST_PP_WHILE_65(p, o, s) BOOST_PP_IF(p(66, s), BOOST_PP_WHILE_66, s BOOST_PP_TUPLE_EAT_3)(p, o, o(66, s))
-# define BOOST_PP_WHILE_66(p, o, s) BOOST_PP_IF(p(67, s), BOOST_PP_WHILE_67, s BOOST_PP_TUPLE_EAT_3)(p, o, o(67, s))
-# define BOOST_PP_WHILE_67(p, o, s) BOOST_PP_IF(p(68, s), BOOST_PP_WHILE_68, s BOOST_PP_TUPLE_EAT_3)(p, o, o(68, s))
-# define BOOST_PP_WHILE_68(p, o, s) BOOST_PP_IF(p(69, s), BOOST_PP_WHILE_69, s BOOST_PP_TUPLE_EAT_3)(p, o, o(69, s))
-# define BOOST_PP_WHILE_69(p, o, s) BOOST_PP_IF(p(70, s), BOOST_PP_WHILE_70, s BOOST_PP_TUPLE_EAT_3)(p, o, o(70, s))
-# define BOOST_PP_WHILE_70(p, o, s) BOOST_PP_IF(p(71, s), BOOST_PP_WHILE_71, s BOOST_PP_TUPLE_EAT_3)(p, o, o(71, s))
-# define BOOST_PP_WHILE_71(p, o, s) BOOST_PP_IF(p(72, s), BOOST_PP_WHILE_72, s BOOST_PP_TUPLE_EAT_3)(p, o, o(72, s))
-# define BOOST_PP_WHILE_72(p, o, s) BOOST_PP_IF(p(73, s), BOOST_PP_WHILE_73, s BOOST_PP_TUPLE_EAT_3)(p, o, o(73, s))
-# define BOOST_PP_WHILE_73(p, o, s) BOOST_PP_IF(p(74, s), BOOST_PP_WHILE_74, s BOOST_PP_TUPLE_EAT_3)(p, o, o(74, s))
-# define BOOST_PP_WHILE_74(p, o, s) BOOST_PP_IF(p(75, s), BOOST_PP_WHILE_75, s BOOST_PP_TUPLE_EAT_3)(p, o, o(75, s))
-# define BOOST_PP_WHILE_75(p, o, s) BOOST_PP_IF(p(76, s), BOOST_PP_WHILE_76, s BOOST_PP_TUPLE_EAT_3)(p, o, o(76, s))
-# define BOOST_PP_WHILE_76(p, o, s) BOOST_PP_IF(p(77, s), BOOST_PP_WHILE_77, s BOOST_PP_TUPLE_EAT_3)(p, o, o(77, s))
-# define BOOST_PP_WHILE_77(p, o, s) BOOST_PP_IF(p(78, s), BOOST_PP_WHILE_78, s BOOST_PP_TUPLE_EAT_3)(p, o, o(78, s))
-# define BOOST_PP_WHILE_78(p, o, s) BOOST_PP_IF(p(79, s), BOOST_PP_WHILE_79, s BOOST_PP_TUPLE_EAT_3)(p, o, o(79, s))
-# define BOOST_PP_WHILE_79(p, o, s) BOOST_PP_IF(p(80, s), BOOST_PP_WHILE_80, s BOOST_PP_TUPLE_EAT_3)(p, o, o(80, s))
-# define BOOST_PP_WHILE_80(p, o, s) BOOST_PP_IF(p(81, s), BOOST_PP_WHILE_81, s BOOST_PP_TUPLE_EAT_3)(p, o, o(81, s))
-# define BOOST_PP_WHILE_81(p, o, s) BOOST_PP_IF(p(82, s), BOOST_PP_WHILE_82, s BOOST_PP_TUPLE_EAT_3)(p, o, o(82, s))
-# define BOOST_PP_WHILE_82(p, o, s) BOOST_PP_IF(p(83, s), BOOST_PP_WHILE_83, s BOOST_PP_TUPLE_EAT_3)(p, o, o(83, s))
-# define BOOST_PP_WHILE_83(p, o, s) BOOST_PP_IF(p(84, s), BOOST_PP_WHILE_84, s BOOST_PP_TUPLE_EAT_3)(p, o, o(84, s))
-# define BOOST_PP_WHILE_84(p, o, s) BOOST_PP_IF(p(85, s), BOOST_PP_WHILE_85, s BOOST_PP_TUPLE_EAT_3)(p, o, o(85, s))
-# define BOOST_PP_WHILE_85(p, o, s) BOOST_PP_IF(p(86, s), BOOST_PP_WHILE_86, s BOOST_PP_TUPLE_EAT_3)(p, o, o(86, s))
-# define BOOST_PP_WHILE_86(p, o, s) BOOST_PP_IF(p(87, s), BOOST_PP_WHILE_87, s BOOST_PP_TUPLE_EAT_3)(p, o, o(87, s))
-# define BOOST_PP_WHILE_87(p, o, s) BOOST_PP_IF(p(88, s), BOOST_PP_WHILE_88, s BOOST_PP_TUPLE_EAT_3)(p, o, o(88, s))
-# define BOOST_PP_WHILE_88(p, o, s) BOOST_PP_IF(p(89, s), BOOST_PP_WHILE_89, s BOOST_PP_TUPLE_EAT_3)(p, o, o(89, s))
-# define BOOST_PP_WHILE_89(p, o, s) BOOST_PP_IF(p(90, s), BOOST_PP_WHILE_90, s BOOST_PP_TUPLE_EAT_3)(p, o, o(90, s))
-# define BOOST_PP_WHILE_90(p, o, s) BOOST_PP_IF(p(91, s), BOOST_PP_WHILE_91, s BOOST_PP_TUPLE_EAT_3)(p, o, o(91, s))
-# define BOOST_PP_WHILE_91(p, o, s) BOOST_PP_IF(p(92, s), BOOST_PP_WHILE_92, s BOOST_PP_TUPLE_EAT_3)(p, o, o(92, s))
-# define BOOST_PP_WHILE_92(p, o, s) BOOST_PP_IF(p(93, s), BOOST_PP_WHILE_93, s BOOST_PP_TUPLE_EAT_3)(p, o, o(93, s))
-# define BOOST_PP_WHILE_93(p, o, s) BOOST_PP_IF(p(94, s), BOOST_PP_WHILE_94, s BOOST_PP_TUPLE_EAT_3)(p, o, o(94, s))
-# define BOOST_PP_WHILE_94(p, o, s) BOOST_PP_IF(p(95, s), BOOST_PP_WHILE_95, s BOOST_PP_TUPLE_EAT_3)(p, o, o(95, s))
-# define BOOST_PP_WHILE_95(p, o, s) BOOST_PP_IF(p(96, s), BOOST_PP_WHILE_96, s BOOST_PP_TUPLE_EAT_3)(p, o, o(96, s))
-# define BOOST_PP_WHILE_96(p, o, s) BOOST_PP_IF(p(97, s), BOOST_PP_WHILE_97, s BOOST_PP_TUPLE_EAT_3)(p, o, o(97, s))
-# define BOOST_PP_WHILE_97(p, o, s) BOOST_PP_IF(p(98, s), BOOST_PP_WHILE_98, s BOOST_PP_TUPLE_EAT_3)(p, o, o(98, s))
-# define BOOST_PP_WHILE_98(p, o, s) BOOST_PP_IF(p(99, s), BOOST_PP_WHILE_99, s BOOST_PP_TUPLE_EAT_3)(p, o, o(99, s))
-# define BOOST_PP_WHILE_99(p, o, s) BOOST_PP_IF(p(100, s), BOOST_PP_WHILE_100, s BOOST_PP_TUPLE_EAT_3)(p, o, o(100, s))
-# define BOOST_PP_WHILE_100(p, o, s) BOOST_PP_IF(p(101, s), BOOST_PP_WHILE_101, s BOOST_PP_TUPLE_EAT_3)(p, o, o(101, s))
-# define BOOST_PP_WHILE_101(p, o, s) BOOST_PP_IF(p(102, s), BOOST_PP_WHILE_102, s BOOST_PP_TUPLE_EAT_3)(p, o, o(102, s))
-# define BOOST_PP_WHILE_102(p, o, s) BOOST_PP_IF(p(103, s), BOOST_PP_WHILE_103, s BOOST_PP_TUPLE_EAT_3)(p, o, o(103, s))
-# define BOOST_PP_WHILE_103(p, o, s) BOOST_PP_IF(p(104, s), BOOST_PP_WHILE_104, s BOOST_PP_TUPLE_EAT_3)(p, o, o(104, s))
-# define BOOST_PP_WHILE_104(p, o, s) BOOST_PP_IF(p(105, s), BOOST_PP_WHILE_105, s BOOST_PP_TUPLE_EAT_3)(p, o, o(105, s))
-# define BOOST_PP_WHILE_105(p, o, s) BOOST_PP_IF(p(106, s), BOOST_PP_WHILE_106, s BOOST_PP_TUPLE_EAT_3)(p, o, o(106, s))
-# define BOOST_PP_WHILE_106(p, o, s) BOOST_PP_IF(p(107, s), BOOST_PP_WHILE_107, s BOOST_PP_TUPLE_EAT_3)(p, o, o(107, s))
-# define BOOST_PP_WHILE_107(p, o, s) BOOST_PP_IF(p(108, s), BOOST_PP_WHILE_108, s BOOST_PP_TUPLE_EAT_3)(p, o, o(108, s))
-# define BOOST_PP_WHILE_108(p, o, s) BOOST_PP_IF(p(109, s), BOOST_PP_WHILE_109, s BOOST_PP_TUPLE_EAT_3)(p, o, o(109, s))
-# define BOOST_PP_WHILE_109(p, o, s) BOOST_PP_IF(p(110, s), BOOST_PP_WHILE_110, s BOOST_PP_TUPLE_EAT_3)(p, o, o(110, s))
-# define BOOST_PP_WHILE_110(p, o, s) BOOST_PP_IF(p(111, s), BOOST_PP_WHILE_111, s BOOST_PP_TUPLE_EAT_3)(p, o, o(111, s))
-# define BOOST_PP_WHILE_111(p, o, s) BOOST_PP_IF(p(112, s), BOOST_PP_WHILE_112, s BOOST_PP_TUPLE_EAT_3)(p, o, o(112, s))
-# define BOOST_PP_WHILE_112(p, o, s) BOOST_PP_IF(p(113, s), BOOST_PP_WHILE_113, s BOOST_PP_TUPLE_EAT_3)(p, o, o(113, s))
-# define BOOST_PP_WHILE_113(p, o, s) BOOST_PP_IF(p(114, s), BOOST_PP_WHILE_114, s BOOST_PP_TUPLE_EAT_3)(p, o, o(114, s))
-# define BOOST_PP_WHILE_114(p, o, s) BOOST_PP_IF(p(115, s), BOOST_PP_WHILE_115, s BOOST_PP_TUPLE_EAT_3)(p, o, o(115, s))
-# define BOOST_PP_WHILE_115(p, o, s) BOOST_PP_IF(p(116, s), BOOST_PP_WHILE_116, s BOOST_PP_TUPLE_EAT_3)(p, o, o(116, s))
-# define BOOST_PP_WHILE_116(p, o, s) BOOST_PP_IF(p(117, s), BOOST_PP_WHILE_117, s BOOST_PP_TUPLE_EAT_3)(p, o, o(117, s))
-# define BOOST_PP_WHILE_117(p, o, s) BOOST_PP_IF(p(118, s), BOOST_PP_WHILE_118, s BOOST_PP_TUPLE_EAT_3)(p, o, o(118, s))
-# define BOOST_PP_WHILE_118(p, o, s) BOOST_PP_IF(p(119, s), BOOST_PP_WHILE_119, s BOOST_PP_TUPLE_EAT_3)(p, o, o(119, s))
-# define BOOST_PP_WHILE_119(p, o, s) BOOST_PP_IF(p(120, s), BOOST_PP_WHILE_120, s BOOST_PP_TUPLE_EAT_3)(p, o, o(120, s))
-# define BOOST_PP_WHILE_120(p, o, s) BOOST_PP_IF(p(121, s), BOOST_PP_WHILE_121, s BOOST_PP_TUPLE_EAT_3)(p, o, o(121, s))
-# define BOOST_PP_WHILE_121(p, o, s) BOOST_PP_IF(p(122, s), BOOST_PP_WHILE_122, s BOOST_PP_TUPLE_EAT_3)(p, o, o(122, s))
-# define BOOST_PP_WHILE_122(p, o, s) BOOST_PP_IF(p(123, s), BOOST_PP_WHILE_123, s BOOST_PP_TUPLE_EAT_3)(p, o, o(123, s))
-# define BOOST_PP_WHILE_123(p, o, s) BOOST_PP_IF(p(124, s), BOOST_PP_WHILE_124, s BOOST_PP_TUPLE_EAT_3)(p, o, o(124, s))
-# define BOOST_PP_WHILE_124(p, o, s) BOOST_PP_IF(p(125, s), BOOST_PP_WHILE_125, s BOOST_PP_TUPLE_EAT_3)(p, o, o(125, s))
-# define BOOST_PP_WHILE_125(p, o, s) BOOST_PP_IF(p(126, s), BOOST_PP_WHILE_126, s BOOST_PP_TUPLE_EAT_3)(p, o, o(126, s))
-# define BOOST_PP_WHILE_126(p, o, s) BOOST_PP_IF(p(127, s), BOOST_PP_WHILE_127, s BOOST_PP_TUPLE_EAT_3)(p, o, o(127, s))
-# define BOOST_PP_WHILE_127(p, o, s) BOOST_PP_IF(p(128, s), BOOST_PP_WHILE_128, s BOOST_PP_TUPLE_EAT_3)(p, o, o(128, s))
-# define BOOST_PP_WHILE_128(p, o, s) BOOST_PP_IF(p(129, s), BOOST_PP_WHILE_129, s BOOST_PP_TUPLE_EAT_3)(p, o, o(129, s))
-# define BOOST_PP_WHILE_129(p, o, s) BOOST_PP_IF(p(130, s), BOOST_PP_WHILE_130, s BOOST_PP_TUPLE_EAT_3)(p, o, o(130, s))
-# define BOOST_PP_WHILE_130(p, o, s) BOOST_PP_IF(p(131, s), BOOST_PP_WHILE_131, s BOOST_PP_TUPLE_EAT_3)(p, o, o(131, s))
-# define BOOST_PP_WHILE_131(p, o, s) BOOST_PP_IF(p(132, s), BOOST_PP_WHILE_132, s BOOST_PP_TUPLE_EAT_3)(p, o, o(132, s))
-# define BOOST_PP_WHILE_132(p, o, s) BOOST_PP_IF(p(133, s), BOOST_PP_WHILE_133, s BOOST_PP_TUPLE_EAT_3)(p, o, o(133, s))
-# define BOOST_PP_WHILE_133(p, o, s) BOOST_PP_IF(p(134, s), BOOST_PP_WHILE_134, s BOOST_PP_TUPLE_EAT_3)(p, o, o(134, s))
-# define BOOST_PP_WHILE_134(p, o, s) BOOST_PP_IF(p(135, s), BOOST_PP_WHILE_135, s BOOST_PP_TUPLE_EAT_3)(p, o, o(135, s))
-# define BOOST_PP_WHILE_135(p, o, s) BOOST_PP_IF(p(136, s), BOOST_PP_WHILE_136, s BOOST_PP_TUPLE_EAT_3)(p, o, o(136, s))
-# define BOOST_PP_WHILE_136(p, o, s) BOOST_PP_IF(p(137, s), BOOST_PP_WHILE_137, s BOOST_PP_TUPLE_EAT_3)(p, o, o(137, s))
-# define BOOST_PP_WHILE_137(p, o, s) BOOST_PP_IF(p(138, s), BOOST_PP_WHILE_138, s BOOST_PP_TUPLE_EAT_3)(p, o, o(138, s))
-# define BOOST_PP_WHILE_138(p, o, s) BOOST_PP_IF(p(139, s), BOOST_PP_WHILE_139, s BOOST_PP_TUPLE_EAT_3)(p, o, o(139, s))
-# define BOOST_PP_WHILE_139(p, o, s) BOOST_PP_IF(p(140, s), BOOST_PP_WHILE_140, s BOOST_PP_TUPLE_EAT_3)(p, o, o(140, s))
-# define BOOST_PP_WHILE_140(p, o, s) BOOST_PP_IF(p(141, s), BOOST_PP_WHILE_141, s BOOST_PP_TUPLE_EAT_3)(p, o, o(141, s))
-# define BOOST_PP_WHILE_141(p, o, s) BOOST_PP_IF(p(142, s), BOOST_PP_WHILE_142, s BOOST_PP_TUPLE_EAT_3)(p, o, o(142, s))
-# define BOOST_PP_WHILE_142(p, o, s) BOOST_PP_IF(p(143, s), BOOST_PP_WHILE_143, s BOOST_PP_TUPLE_EAT_3)(p, o, o(143, s))
-# define BOOST_PP_WHILE_143(p, o, s) BOOST_PP_IF(p(144, s), BOOST_PP_WHILE_144, s BOOST_PP_TUPLE_EAT_3)(p, o, o(144, s))
-# define BOOST_PP_WHILE_144(p, o, s) BOOST_PP_IF(p(145, s), BOOST_PP_WHILE_145, s BOOST_PP_TUPLE_EAT_3)(p, o, o(145, s))
-# define BOOST_PP_WHILE_145(p, o, s) BOOST_PP_IF(p(146, s), BOOST_PP_WHILE_146, s BOOST_PP_TUPLE_EAT_3)(p, o, o(146, s))
-# define BOOST_PP_WHILE_146(p, o, s) BOOST_PP_IF(p(147, s), BOOST_PP_WHILE_147, s BOOST_PP_TUPLE_EAT_3)(p, o, o(147, s))
-# define BOOST_PP_WHILE_147(p, o, s) BOOST_PP_IF(p(148, s), BOOST_PP_WHILE_148, s BOOST_PP_TUPLE_EAT_3)(p, o, o(148, s))
-# define BOOST_PP_WHILE_148(p, o, s) BOOST_PP_IF(p(149, s), BOOST_PP_WHILE_149, s BOOST_PP_TUPLE_EAT_3)(p, o, o(149, s))
-# define BOOST_PP_WHILE_149(p, o, s) BOOST_PP_IF(p(150, s), BOOST_PP_WHILE_150, s BOOST_PP_TUPLE_EAT_3)(p, o, o(150, s))
-# define BOOST_PP_WHILE_150(p, o, s) BOOST_PP_IF(p(151, s), BOOST_PP_WHILE_151, s BOOST_PP_TUPLE_EAT_3)(p, o, o(151, s))
-# define BOOST_PP_WHILE_151(p, o, s) BOOST_PP_IF(p(152, s), BOOST_PP_WHILE_152, s BOOST_PP_TUPLE_EAT_3)(p, o, o(152, s))
-# define BOOST_PP_WHILE_152(p, o, s) BOOST_PP_IF(p(153, s), BOOST_PP_WHILE_153, s BOOST_PP_TUPLE_EAT_3)(p, o, o(153, s))
-# define BOOST_PP_WHILE_153(p, o, s) BOOST_PP_IF(p(154, s), BOOST_PP_WHILE_154, s BOOST_PP_TUPLE_EAT_3)(p, o, o(154, s))
-# define BOOST_PP_WHILE_154(p, o, s) BOOST_PP_IF(p(155, s), BOOST_PP_WHILE_155, s BOOST_PP_TUPLE_EAT_3)(p, o, o(155, s))
-# define BOOST_PP_WHILE_155(p, o, s) BOOST_PP_IF(p(156, s), BOOST_PP_WHILE_156, s BOOST_PP_TUPLE_EAT_3)(p, o, o(156, s))
-# define BOOST_PP_WHILE_156(p, o, s) BOOST_PP_IF(p(157, s), BOOST_PP_WHILE_157, s BOOST_PP_TUPLE_EAT_3)(p, o, o(157, s))
-# define BOOST_PP_WHILE_157(p, o, s) BOOST_PP_IF(p(158, s), BOOST_PP_WHILE_158, s BOOST_PP_TUPLE_EAT_3)(p, o, o(158, s))
-# define BOOST_PP_WHILE_158(p, o, s) BOOST_PP_IF(p(159, s), BOOST_PP_WHILE_159, s BOOST_PP_TUPLE_EAT_3)(p, o, o(159, s))
-# define BOOST_PP_WHILE_159(p, o, s) BOOST_PP_IF(p(160, s), BOOST_PP_WHILE_160, s BOOST_PP_TUPLE_EAT_3)(p, o, o(160, s))
-# define BOOST_PP_WHILE_160(p, o, s) BOOST_PP_IF(p(161, s), BOOST_PP_WHILE_161, s BOOST_PP_TUPLE_EAT_3)(p, o, o(161, s))
-# define BOOST_PP_WHILE_161(p, o, s) BOOST_PP_IF(p(162, s), BOOST_PP_WHILE_162, s BOOST_PP_TUPLE_EAT_3)(p, o, o(162, s))
-# define BOOST_PP_WHILE_162(p, o, s) BOOST_PP_IF(p(163, s), BOOST_PP_WHILE_163, s BOOST_PP_TUPLE_EAT_3)(p, o, o(163, s))
-# define BOOST_PP_WHILE_163(p, o, s) BOOST_PP_IF(p(164, s), BOOST_PP_WHILE_164, s BOOST_PP_TUPLE_EAT_3)(p, o, o(164, s))
-# define BOOST_PP_WHILE_164(p, o, s) BOOST_PP_IF(p(165, s), BOOST_PP_WHILE_165, s BOOST_PP_TUPLE_EAT_3)(p, o, o(165, s))
-# define BOOST_PP_WHILE_165(p, o, s) BOOST_PP_IF(p(166, s), BOOST_PP_WHILE_166, s BOOST_PP_TUPLE_EAT_3)(p, o, o(166, s))
-# define BOOST_PP_WHILE_166(p, o, s) BOOST_PP_IF(p(167, s), BOOST_PP_WHILE_167, s BOOST_PP_TUPLE_EAT_3)(p, o, o(167, s))
-# define BOOST_PP_WHILE_167(p, o, s) BOOST_PP_IF(p(168, s), BOOST_PP_WHILE_168, s BOOST_PP_TUPLE_EAT_3)(p, o, o(168, s))
-# define BOOST_PP_WHILE_168(p, o, s) BOOST_PP_IF(p(169, s), BOOST_PP_WHILE_169, s BOOST_PP_TUPLE_EAT_3)(p, o, o(169, s))
-# define BOOST_PP_WHILE_169(p, o, s) BOOST_PP_IF(p(170, s), BOOST_PP_WHILE_170, s BOOST_PP_TUPLE_EAT_3)(p, o, o(170, s))
-# define BOOST_PP_WHILE_170(p, o, s) BOOST_PP_IF(p(171, s), BOOST_PP_WHILE_171, s BOOST_PP_TUPLE_EAT_3)(p, o, o(171, s))
-# define BOOST_PP_WHILE_171(p, o, s) BOOST_PP_IF(p(172, s), BOOST_PP_WHILE_172, s BOOST_PP_TUPLE_EAT_3)(p, o, o(172, s))
-# define BOOST_PP_WHILE_172(p, o, s) BOOST_PP_IF(p(173, s), BOOST_PP_WHILE_173, s BOOST_PP_TUPLE_EAT_3)(p, o, o(173, s))
-# define BOOST_PP_WHILE_173(p, o, s) BOOST_PP_IF(p(174, s), BOOST_PP_WHILE_174, s BOOST_PP_TUPLE_EAT_3)(p, o, o(174, s))
-# define BOOST_PP_WHILE_174(p, o, s) BOOST_PP_IF(p(175, s), BOOST_PP_WHILE_175, s BOOST_PP_TUPLE_EAT_3)(p, o, o(175, s))
-# define BOOST_PP_WHILE_175(p, o, s) BOOST_PP_IF(p(176, s), BOOST_PP_WHILE_176, s BOOST_PP_TUPLE_EAT_3)(p, o, o(176, s))
-# define BOOST_PP_WHILE_176(p, o, s) BOOST_PP_IF(p(177, s), BOOST_PP_WHILE_177, s BOOST_PP_TUPLE_EAT_3)(p, o, o(177, s))
-# define BOOST_PP_WHILE_177(p, o, s) BOOST_PP_IF(p(178, s), BOOST_PP_WHILE_178, s BOOST_PP_TUPLE_EAT_3)(p, o, o(178, s))
-# define BOOST_PP_WHILE_178(p, o, s) BOOST_PP_IF(p(179, s), BOOST_PP_WHILE_179, s BOOST_PP_TUPLE_EAT_3)(p, o, o(179, s))
-# define BOOST_PP_WHILE_179(p, o, s) BOOST_PP_IF(p(180, s), BOOST_PP_WHILE_180, s BOOST_PP_TUPLE_EAT_3)(p, o, o(180, s))
-# define BOOST_PP_WHILE_180(p, o, s) BOOST_PP_IF(p(181, s), BOOST_PP_WHILE_181, s BOOST_PP_TUPLE_EAT_3)(p, o, o(181, s))
-# define BOOST_PP_WHILE_181(p, o, s) BOOST_PP_IF(p(182, s), BOOST_PP_WHILE_182, s BOOST_PP_TUPLE_EAT_3)(p, o, o(182, s))
-# define BOOST_PP_WHILE_182(p, o, s) BOOST_PP_IF(p(183, s), BOOST_PP_WHILE_183, s BOOST_PP_TUPLE_EAT_3)(p, o, o(183, s))
-# define BOOST_PP_WHILE_183(p, o, s) BOOST_PP_IF(p(184, s), BOOST_PP_WHILE_184, s BOOST_PP_TUPLE_EAT_3)(p, o, o(184, s))
-# define BOOST_PP_WHILE_184(p, o, s) BOOST_PP_IF(p(185, s), BOOST_PP_WHILE_185, s BOOST_PP_TUPLE_EAT_3)(p, o, o(185, s))
-# define BOOST_PP_WHILE_185(p, o, s) BOOST_PP_IF(p(186, s), BOOST_PP_WHILE_186, s BOOST_PP_TUPLE_EAT_3)(p, o, o(186, s))
-# define BOOST_PP_WHILE_186(p, o, s) BOOST_PP_IF(p(187, s), BOOST_PP_WHILE_187, s BOOST_PP_TUPLE_EAT_3)(p, o, o(187, s))
-# define BOOST_PP_WHILE_187(p, o, s) BOOST_PP_IF(p(188, s), BOOST_PP_WHILE_188, s BOOST_PP_TUPLE_EAT_3)(p, o, o(188, s))
-# define BOOST_PP_WHILE_188(p, o, s) BOOST_PP_IF(p(189, s), BOOST_PP_WHILE_189, s BOOST_PP_TUPLE_EAT_3)(p, o, o(189, s))
-# define BOOST_PP_WHILE_189(p, o, s) BOOST_PP_IF(p(190, s), BOOST_PP_WHILE_190, s BOOST_PP_TUPLE_EAT_3)(p, o, o(190, s))
-# define BOOST_PP_WHILE_190(p, o, s) BOOST_PP_IF(p(191, s), BOOST_PP_WHILE_191, s BOOST_PP_TUPLE_EAT_3)(p, o, o(191, s))
-# define BOOST_PP_WHILE_191(p, o, s) BOOST_PP_IF(p(192, s), BOOST_PP_WHILE_192, s BOOST_PP_TUPLE_EAT_3)(p, o, o(192, s))
-# define BOOST_PP_WHILE_192(p, o, s) BOOST_PP_IF(p(193, s), BOOST_PP_WHILE_193, s BOOST_PP_TUPLE_EAT_3)(p, o, o(193, s))
-# define BOOST_PP_WHILE_193(p, o, s) BOOST_PP_IF(p(194, s), BOOST_PP_WHILE_194, s BOOST_PP_TUPLE_EAT_3)(p, o, o(194, s))
-# define BOOST_PP_WHILE_194(p, o, s) BOOST_PP_IF(p(195, s), BOOST_PP_WHILE_195, s BOOST_PP_TUPLE_EAT_3)(p, o, o(195, s))
-# define BOOST_PP_WHILE_195(p, o, s) BOOST_PP_IF(p(196, s), BOOST_PP_WHILE_196, s BOOST_PP_TUPLE_EAT_3)(p, o, o(196, s))
-# define BOOST_PP_WHILE_196(p, o, s) BOOST_PP_IF(p(197, s), BOOST_PP_WHILE_197, s BOOST_PP_TUPLE_EAT_3)(p, o, o(197, s))
-# define BOOST_PP_WHILE_197(p, o, s) BOOST_PP_IF(p(198, s), BOOST_PP_WHILE_198, s BOOST_PP_TUPLE_EAT_3)(p, o, o(198, s))
-# define BOOST_PP_WHILE_198(p, o, s) BOOST_PP_IF(p(199, s), BOOST_PP_WHILE_199, s BOOST_PP_TUPLE_EAT_3)(p, o, o(199, s))
-# define BOOST_PP_WHILE_199(p, o, s) BOOST_PP_IF(p(200, s), BOOST_PP_WHILE_200, s BOOST_PP_TUPLE_EAT_3)(p, o, o(200, s))
-# define BOOST_PP_WHILE_200(p, o, s) BOOST_PP_IF(p(201, s), BOOST_PP_WHILE_201, s BOOST_PP_TUPLE_EAT_3)(p, o, o(201, s))
-# define BOOST_PP_WHILE_201(p, o, s) BOOST_PP_IF(p(202, s), BOOST_PP_WHILE_202, s BOOST_PP_TUPLE_EAT_3)(p, o, o(202, s))
-# define BOOST_PP_WHILE_202(p, o, s) BOOST_PP_IF(p(203, s), BOOST_PP_WHILE_203, s BOOST_PP_TUPLE_EAT_3)(p, o, o(203, s))
-# define BOOST_PP_WHILE_203(p, o, s) BOOST_PP_IF(p(204, s), BOOST_PP_WHILE_204, s BOOST_PP_TUPLE_EAT_3)(p, o, o(204, s))
-# define BOOST_PP_WHILE_204(p, o, s) BOOST_PP_IF(p(205, s), BOOST_PP_WHILE_205, s BOOST_PP_TUPLE_EAT_3)(p, o, o(205, s))
-# define BOOST_PP_WHILE_205(p, o, s) BOOST_PP_IF(p(206, s), BOOST_PP_WHILE_206, s BOOST_PP_TUPLE_EAT_3)(p, o, o(206, s))
-# define BOOST_PP_WHILE_206(p, o, s) BOOST_PP_IF(p(207, s), BOOST_PP_WHILE_207, s BOOST_PP_TUPLE_EAT_3)(p, o, o(207, s))
-# define BOOST_PP_WHILE_207(p, o, s) BOOST_PP_IF(p(208, s), BOOST_PP_WHILE_208, s BOOST_PP_TUPLE_EAT_3)(p, o, o(208, s))
-# define BOOST_PP_WHILE_208(p, o, s) BOOST_PP_IF(p(209, s), BOOST_PP_WHILE_209, s BOOST_PP_TUPLE_EAT_3)(p, o, o(209, s))
-# define BOOST_PP_WHILE_209(p, o, s) BOOST_PP_IF(p(210, s), BOOST_PP_WHILE_210, s BOOST_PP_TUPLE_EAT_3)(p, o, o(210, s))
-# define BOOST_PP_WHILE_210(p, o, s) BOOST_PP_IF(p(211, s), BOOST_PP_WHILE_211, s BOOST_PP_TUPLE_EAT_3)(p, o, o(211, s))
-# define BOOST_PP_WHILE_211(p, o, s) BOOST_PP_IF(p(212, s), BOOST_PP_WHILE_212, s BOOST_PP_TUPLE_EAT_3)(p, o, o(212, s))
-# define BOOST_PP_WHILE_212(p, o, s) BOOST_PP_IF(p(213, s), BOOST_PP_WHILE_213, s BOOST_PP_TUPLE_EAT_3)(p, o, o(213, s))
-# define BOOST_PP_WHILE_213(p, o, s) BOOST_PP_IF(p(214, s), BOOST_PP_WHILE_214, s BOOST_PP_TUPLE_EAT_3)(p, o, o(214, s))
-# define BOOST_PP_WHILE_214(p, o, s) BOOST_PP_IF(p(215, s), BOOST_PP_WHILE_215, s BOOST_PP_TUPLE_EAT_3)(p, o, o(215, s))
-# define BOOST_PP_WHILE_215(p, o, s) BOOST_PP_IF(p(216, s), BOOST_PP_WHILE_216, s BOOST_PP_TUPLE_EAT_3)(p, o, o(216, s))
-# define BOOST_PP_WHILE_216(p, o, s) BOOST_PP_IF(p(217, s), BOOST_PP_WHILE_217, s BOOST_PP_TUPLE_EAT_3)(p, o, o(217, s))
-# define BOOST_PP_WHILE_217(p, o, s) BOOST_PP_IF(p(218, s), BOOST_PP_WHILE_218, s BOOST_PP_TUPLE_EAT_3)(p, o, o(218, s))
-# define BOOST_PP_WHILE_218(p, o, s) BOOST_PP_IF(p(219, s), BOOST_PP_WHILE_219, s BOOST_PP_TUPLE_EAT_3)(p, o, o(219, s))
-# define BOOST_PP_WHILE_219(p, o, s) BOOST_PP_IF(p(220, s), BOOST_PP_WHILE_220, s BOOST_PP_TUPLE_EAT_3)(p, o, o(220, s))
-# define BOOST_PP_WHILE_220(p, o, s) BOOST_PP_IF(p(221, s), BOOST_PP_WHILE_221, s BOOST_PP_TUPLE_EAT_3)(p, o, o(221, s))
-# define BOOST_PP_WHILE_221(p, o, s) BOOST_PP_IF(p(222, s), BOOST_PP_WHILE_222, s BOOST_PP_TUPLE_EAT_3)(p, o, o(222, s))
-# define BOOST_PP_WHILE_222(p, o, s) BOOST_PP_IF(p(223, s), BOOST_PP_WHILE_223, s BOOST_PP_TUPLE_EAT_3)(p, o, o(223, s))
-# define BOOST_PP_WHILE_223(p, o, s) BOOST_PP_IF(p(224, s), BOOST_PP_WHILE_224, s BOOST_PP_TUPLE_EAT_3)(p, o, o(224, s))
-# define BOOST_PP_WHILE_224(p, o, s) BOOST_PP_IF(p(225, s), BOOST_PP_WHILE_225, s BOOST_PP_TUPLE_EAT_3)(p, o, o(225, s))
-# define BOOST_PP_WHILE_225(p, o, s) BOOST_PP_IF(p(226, s), BOOST_PP_WHILE_226, s BOOST_PP_TUPLE_EAT_3)(p, o, o(226, s))
-# define BOOST_PP_WHILE_226(p, o, s) BOOST_PP_IF(p(227, s), BOOST_PP_WHILE_227, s BOOST_PP_TUPLE_EAT_3)(p, o, o(227, s))
-# define BOOST_PP_WHILE_227(p, o, s) BOOST_PP_IF(p(228, s), BOOST_PP_WHILE_228, s BOOST_PP_TUPLE_EAT_3)(p, o, o(228, s))
-# define BOOST_PP_WHILE_228(p, o, s) BOOST_PP_IF(p(229, s), BOOST_PP_WHILE_229, s BOOST_PP_TUPLE_EAT_3)(p, o, o(229, s))
-# define BOOST_PP_WHILE_229(p, o, s) BOOST_PP_IF(p(230, s), BOOST_PP_WHILE_230, s BOOST_PP_TUPLE_EAT_3)(p, o, o(230, s))
-# define BOOST_PP_WHILE_230(p, o, s) BOOST_PP_IF(p(231, s), BOOST_PP_WHILE_231, s BOOST_PP_TUPLE_EAT_3)(p, o, o(231, s))
-# define BOOST_PP_WHILE_231(p, o, s) BOOST_PP_IF(p(232, s), BOOST_PP_WHILE_232, s BOOST_PP_TUPLE_EAT_3)(p, o, o(232, s))
-# define BOOST_PP_WHILE_232(p, o, s) BOOST_PP_IF(p(233, s), BOOST_PP_WHILE_233, s BOOST_PP_TUPLE_EAT_3)(p, o, o(233, s))
-# define BOOST_PP_WHILE_233(p, o, s) BOOST_PP_IF(p(234, s), BOOST_PP_WHILE_234, s BOOST_PP_TUPLE_EAT_3)(p, o, o(234, s))
-# define BOOST_PP_WHILE_234(p, o, s) BOOST_PP_IF(p(235, s), BOOST_PP_WHILE_235, s BOOST_PP_TUPLE_EAT_3)(p, o, o(235, s))
-# define BOOST_PP_WHILE_235(p, o, s) BOOST_PP_IF(p(236, s), BOOST_PP_WHILE_236, s BOOST_PP_TUPLE_EAT_3)(p, o, o(236, s))
-# define BOOST_PP_WHILE_236(p, o, s) BOOST_PP_IF(p(237, s), BOOST_PP_WHILE_237, s BOOST_PP_TUPLE_EAT_3)(p, o, o(237, s))
-# define BOOST_PP_WHILE_237(p, o, s) BOOST_PP_IF(p(238, s), BOOST_PP_WHILE_238, s BOOST_PP_TUPLE_EAT_3)(p, o, o(238, s))
-# define BOOST_PP_WHILE_238(p, o, s) BOOST_PP_IF(p(239, s), BOOST_PP_WHILE_239, s BOOST_PP_TUPLE_EAT_3)(p, o, o(239, s))
-# define BOOST_PP_WHILE_239(p, o, s) BOOST_PP_IF(p(240, s), BOOST_PP_WHILE_240, s BOOST_PP_TUPLE_EAT_3)(p, o, o(240, s))
-# define BOOST_PP_WHILE_240(p, o, s) BOOST_PP_IF(p(241, s), BOOST_PP_WHILE_241, s BOOST_PP_TUPLE_EAT_3)(p, o, o(241, s))
-# define BOOST_PP_WHILE_241(p, o, s) BOOST_PP_IF(p(242, s), BOOST_PP_WHILE_242, s BOOST_PP_TUPLE_EAT_3)(p, o, o(242, s))
-# define BOOST_PP_WHILE_242(p, o, s) BOOST_PP_IF(p(243, s), BOOST_PP_WHILE_243, s BOOST_PP_TUPLE_EAT_3)(p, o, o(243, s))
-# define BOOST_PP_WHILE_243(p, o, s) BOOST_PP_IF(p(244, s), BOOST_PP_WHILE_244, s BOOST_PP_TUPLE_EAT_3)(p, o, o(244, s))
-# define BOOST_PP_WHILE_244(p, o, s) BOOST_PP_IF(p(245, s), BOOST_PP_WHILE_245, s BOOST_PP_TUPLE_EAT_3)(p, o, o(245, s))
-# define BOOST_PP_WHILE_245(p, o, s) BOOST_PP_IF(p(246, s), BOOST_PP_WHILE_246, s BOOST_PP_TUPLE_EAT_3)(p, o, o(246, s))
-# define BOOST_PP_WHILE_246(p, o, s) BOOST_PP_IF(p(247, s), BOOST_PP_WHILE_247, s BOOST_PP_TUPLE_EAT_3)(p, o, o(247, s))
-# define BOOST_PP_WHILE_247(p, o, s) BOOST_PP_IF(p(248, s), BOOST_PP_WHILE_248, s BOOST_PP_TUPLE_EAT_3)(p, o, o(248, s))
-# define BOOST_PP_WHILE_248(p, o, s) BOOST_PP_IF(p(249, s), BOOST_PP_WHILE_249, s BOOST_PP_TUPLE_EAT_3)(p, o, o(249, s))
-# define BOOST_PP_WHILE_249(p, o, s) BOOST_PP_IF(p(250, s), BOOST_PP_WHILE_250, s BOOST_PP_TUPLE_EAT_3)(p, o, o(250, s))
-# define BOOST_PP_WHILE_250(p, o, s) BOOST_PP_IF(p(251, s), BOOST_PP_WHILE_251, s BOOST_PP_TUPLE_EAT_3)(p, o, o(251, s))
-# define BOOST_PP_WHILE_251(p, o, s) BOOST_PP_IF(p(252, s), BOOST_PP_WHILE_252, s BOOST_PP_TUPLE_EAT_3)(p, o, o(252, s))
-# define BOOST_PP_WHILE_252(p, o, s) BOOST_PP_IF(p(253, s), BOOST_PP_WHILE_253, s BOOST_PP_TUPLE_EAT_3)(p, o, o(253, s))
-# define BOOST_PP_WHILE_253(p, o, s) BOOST_PP_IF(p(254, s), BOOST_PP_WHILE_254, s BOOST_PP_TUPLE_EAT_3)(p, o, o(254, s))
-# define BOOST_PP_WHILE_254(p, o, s) BOOST_PP_IF(p(255, s), BOOST_PP_WHILE_255, s BOOST_PP_TUPLE_EAT_3)(p, o, o(255, s))
-# define BOOST_PP_WHILE_255(p, o, s) BOOST_PP_IF(p(256, s), BOOST_PP_WHILE_256, s BOOST_PP_TUPLE_EAT_3)(p, o, o(256, s))
-# define BOOST_PP_WHILE_256(p, o, s) BOOST_PP_IF(p(257, s), BOOST_PP_WHILE_257, s BOOST_PP_TUPLE_EAT_3)(p, o, o(257, s))
+# define NDNBOOST_PP_WHILE_1(p, o, s) NDNBOOST_PP_IF(p(2, s), NDNBOOST_PP_WHILE_2, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(2, s))
+# define NDNBOOST_PP_WHILE_2(p, o, s) NDNBOOST_PP_IF(p(3, s), NDNBOOST_PP_WHILE_3, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(3, s))
+# define NDNBOOST_PP_WHILE_3(p, o, s) NDNBOOST_PP_IF(p(4, s), NDNBOOST_PP_WHILE_4, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(4, s))
+# define NDNBOOST_PP_WHILE_4(p, o, s) NDNBOOST_PP_IF(p(5, s), NDNBOOST_PP_WHILE_5, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(5, s))
+# define NDNBOOST_PP_WHILE_5(p, o, s) NDNBOOST_PP_IF(p(6, s), NDNBOOST_PP_WHILE_6, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(6, s))
+# define NDNBOOST_PP_WHILE_6(p, o, s) NDNBOOST_PP_IF(p(7, s), NDNBOOST_PP_WHILE_7, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(7, s))
+# define NDNBOOST_PP_WHILE_7(p, o, s) NDNBOOST_PP_IF(p(8, s), NDNBOOST_PP_WHILE_8, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(8, s))
+# define NDNBOOST_PP_WHILE_8(p, o, s) NDNBOOST_PP_IF(p(9, s), NDNBOOST_PP_WHILE_9, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(9, s))
+# define NDNBOOST_PP_WHILE_9(p, o, s) NDNBOOST_PP_IF(p(10, s), NDNBOOST_PP_WHILE_10, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(10, s))
+# define NDNBOOST_PP_WHILE_10(p, o, s) NDNBOOST_PP_IF(p(11, s), NDNBOOST_PP_WHILE_11, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(11, s))
+# define NDNBOOST_PP_WHILE_11(p, o, s) NDNBOOST_PP_IF(p(12, s), NDNBOOST_PP_WHILE_12, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(12, s))
+# define NDNBOOST_PP_WHILE_12(p, o, s) NDNBOOST_PP_IF(p(13, s), NDNBOOST_PP_WHILE_13, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(13, s))
+# define NDNBOOST_PP_WHILE_13(p, o, s) NDNBOOST_PP_IF(p(14, s), NDNBOOST_PP_WHILE_14, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(14, s))
+# define NDNBOOST_PP_WHILE_14(p, o, s) NDNBOOST_PP_IF(p(15, s), NDNBOOST_PP_WHILE_15, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(15, s))
+# define NDNBOOST_PP_WHILE_15(p, o, s) NDNBOOST_PP_IF(p(16, s), NDNBOOST_PP_WHILE_16, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(16, s))
+# define NDNBOOST_PP_WHILE_16(p, o, s) NDNBOOST_PP_IF(p(17, s), NDNBOOST_PP_WHILE_17, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(17, s))
+# define NDNBOOST_PP_WHILE_17(p, o, s) NDNBOOST_PP_IF(p(18, s), NDNBOOST_PP_WHILE_18, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(18, s))
+# define NDNBOOST_PP_WHILE_18(p, o, s) NDNBOOST_PP_IF(p(19, s), NDNBOOST_PP_WHILE_19, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(19, s))
+# define NDNBOOST_PP_WHILE_19(p, o, s) NDNBOOST_PP_IF(p(20, s), NDNBOOST_PP_WHILE_20, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(20, s))
+# define NDNBOOST_PP_WHILE_20(p, o, s) NDNBOOST_PP_IF(p(21, s), NDNBOOST_PP_WHILE_21, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(21, s))
+# define NDNBOOST_PP_WHILE_21(p, o, s) NDNBOOST_PP_IF(p(22, s), NDNBOOST_PP_WHILE_22, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(22, s))
+# define NDNBOOST_PP_WHILE_22(p, o, s) NDNBOOST_PP_IF(p(23, s), NDNBOOST_PP_WHILE_23, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(23, s))
+# define NDNBOOST_PP_WHILE_23(p, o, s) NDNBOOST_PP_IF(p(24, s), NDNBOOST_PP_WHILE_24, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(24, s))
+# define NDNBOOST_PP_WHILE_24(p, o, s) NDNBOOST_PP_IF(p(25, s), NDNBOOST_PP_WHILE_25, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(25, s))
+# define NDNBOOST_PP_WHILE_25(p, o, s) NDNBOOST_PP_IF(p(26, s), NDNBOOST_PP_WHILE_26, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(26, s))
+# define NDNBOOST_PP_WHILE_26(p, o, s) NDNBOOST_PP_IF(p(27, s), NDNBOOST_PP_WHILE_27, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(27, s))
+# define NDNBOOST_PP_WHILE_27(p, o, s) NDNBOOST_PP_IF(p(28, s), NDNBOOST_PP_WHILE_28, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(28, s))
+# define NDNBOOST_PP_WHILE_28(p, o, s) NDNBOOST_PP_IF(p(29, s), NDNBOOST_PP_WHILE_29, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(29, s))
+# define NDNBOOST_PP_WHILE_29(p, o, s) NDNBOOST_PP_IF(p(30, s), NDNBOOST_PP_WHILE_30, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(30, s))
+# define NDNBOOST_PP_WHILE_30(p, o, s) NDNBOOST_PP_IF(p(31, s), NDNBOOST_PP_WHILE_31, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(31, s))
+# define NDNBOOST_PP_WHILE_31(p, o, s) NDNBOOST_PP_IF(p(32, s), NDNBOOST_PP_WHILE_32, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(32, s))
+# define NDNBOOST_PP_WHILE_32(p, o, s) NDNBOOST_PP_IF(p(33, s), NDNBOOST_PP_WHILE_33, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(33, s))
+# define NDNBOOST_PP_WHILE_33(p, o, s) NDNBOOST_PP_IF(p(34, s), NDNBOOST_PP_WHILE_34, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(34, s))
+# define NDNBOOST_PP_WHILE_34(p, o, s) NDNBOOST_PP_IF(p(35, s), NDNBOOST_PP_WHILE_35, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(35, s))
+# define NDNBOOST_PP_WHILE_35(p, o, s) NDNBOOST_PP_IF(p(36, s), NDNBOOST_PP_WHILE_36, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(36, s))
+# define NDNBOOST_PP_WHILE_36(p, o, s) NDNBOOST_PP_IF(p(37, s), NDNBOOST_PP_WHILE_37, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(37, s))
+# define NDNBOOST_PP_WHILE_37(p, o, s) NDNBOOST_PP_IF(p(38, s), NDNBOOST_PP_WHILE_38, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(38, s))
+# define NDNBOOST_PP_WHILE_38(p, o, s) NDNBOOST_PP_IF(p(39, s), NDNBOOST_PP_WHILE_39, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(39, s))
+# define NDNBOOST_PP_WHILE_39(p, o, s) NDNBOOST_PP_IF(p(40, s), NDNBOOST_PP_WHILE_40, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(40, s))
+# define NDNBOOST_PP_WHILE_40(p, o, s) NDNBOOST_PP_IF(p(41, s), NDNBOOST_PP_WHILE_41, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(41, s))
+# define NDNBOOST_PP_WHILE_41(p, o, s) NDNBOOST_PP_IF(p(42, s), NDNBOOST_PP_WHILE_42, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(42, s))
+# define NDNBOOST_PP_WHILE_42(p, o, s) NDNBOOST_PP_IF(p(43, s), NDNBOOST_PP_WHILE_43, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(43, s))
+# define NDNBOOST_PP_WHILE_43(p, o, s) NDNBOOST_PP_IF(p(44, s), NDNBOOST_PP_WHILE_44, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(44, s))
+# define NDNBOOST_PP_WHILE_44(p, o, s) NDNBOOST_PP_IF(p(45, s), NDNBOOST_PP_WHILE_45, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(45, s))
+# define NDNBOOST_PP_WHILE_45(p, o, s) NDNBOOST_PP_IF(p(46, s), NDNBOOST_PP_WHILE_46, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(46, s))
+# define NDNBOOST_PP_WHILE_46(p, o, s) NDNBOOST_PP_IF(p(47, s), NDNBOOST_PP_WHILE_47, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(47, s))
+# define NDNBOOST_PP_WHILE_47(p, o, s) NDNBOOST_PP_IF(p(48, s), NDNBOOST_PP_WHILE_48, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(48, s))
+# define NDNBOOST_PP_WHILE_48(p, o, s) NDNBOOST_PP_IF(p(49, s), NDNBOOST_PP_WHILE_49, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(49, s))
+# define NDNBOOST_PP_WHILE_49(p, o, s) NDNBOOST_PP_IF(p(50, s), NDNBOOST_PP_WHILE_50, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(50, s))
+# define NDNBOOST_PP_WHILE_50(p, o, s) NDNBOOST_PP_IF(p(51, s), NDNBOOST_PP_WHILE_51, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(51, s))
+# define NDNBOOST_PP_WHILE_51(p, o, s) NDNBOOST_PP_IF(p(52, s), NDNBOOST_PP_WHILE_52, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(52, s))
+# define NDNBOOST_PP_WHILE_52(p, o, s) NDNBOOST_PP_IF(p(53, s), NDNBOOST_PP_WHILE_53, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(53, s))
+# define NDNBOOST_PP_WHILE_53(p, o, s) NDNBOOST_PP_IF(p(54, s), NDNBOOST_PP_WHILE_54, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(54, s))
+# define NDNBOOST_PP_WHILE_54(p, o, s) NDNBOOST_PP_IF(p(55, s), NDNBOOST_PP_WHILE_55, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(55, s))
+# define NDNBOOST_PP_WHILE_55(p, o, s) NDNBOOST_PP_IF(p(56, s), NDNBOOST_PP_WHILE_56, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(56, s))
+# define NDNBOOST_PP_WHILE_56(p, o, s) NDNBOOST_PP_IF(p(57, s), NDNBOOST_PP_WHILE_57, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(57, s))
+# define NDNBOOST_PP_WHILE_57(p, o, s) NDNBOOST_PP_IF(p(58, s), NDNBOOST_PP_WHILE_58, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(58, s))
+# define NDNBOOST_PP_WHILE_58(p, o, s) NDNBOOST_PP_IF(p(59, s), NDNBOOST_PP_WHILE_59, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(59, s))
+# define NDNBOOST_PP_WHILE_59(p, o, s) NDNBOOST_PP_IF(p(60, s), NDNBOOST_PP_WHILE_60, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(60, s))
+# define NDNBOOST_PP_WHILE_60(p, o, s) NDNBOOST_PP_IF(p(61, s), NDNBOOST_PP_WHILE_61, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(61, s))
+# define NDNBOOST_PP_WHILE_61(p, o, s) NDNBOOST_PP_IF(p(62, s), NDNBOOST_PP_WHILE_62, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(62, s))
+# define NDNBOOST_PP_WHILE_62(p, o, s) NDNBOOST_PP_IF(p(63, s), NDNBOOST_PP_WHILE_63, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(63, s))
+# define NDNBOOST_PP_WHILE_63(p, o, s) NDNBOOST_PP_IF(p(64, s), NDNBOOST_PP_WHILE_64, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(64, s))
+# define NDNBOOST_PP_WHILE_64(p, o, s) NDNBOOST_PP_IF(p(65, s), NDNBOOST_PP_WHILE_65, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(65, s))
+# define NDNBOOST_PP_WHILE_65(p, o, s) NDNBOOST_PP_IF(p(66, s), NDNBOOST_PP_WHILE_66, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(66, s))
+# define NDNBOOST_PP_WHILE_66(p, o, s) NDNBOOST_PP_IF(p(67, s), NDNBOOST_PP_WHILE_67, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(67, s))
+# define NDNBOOST_PP_WHILE_67(p, o, s) NDNBOOST_PP_IF(p(68, s), NDNBOOST_PP_WHILE_68, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(68, s))
+# define NDNBOOST_PP_WHILE_68(p, o, s) NDNBOOST_PP_IF(p(69, s), NDNBOOST_PP_WHILE_69, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(69, s))
+# define NDNBOOST_PP_WHILE_69(p, o, s) NDNBOOST_PP_IF(p(70, s), NDNBOOST_PP_WHILE_70, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(70, s))
+# define NDNBOOST_PP_WHILE_70(p, o, s) NDNBOOST_PP_IF(p(71, s), NDNBOOST_PP_WHILE_71, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(71, s))
+# define NDNBOOST_PP_WHILE_71(p, o, s) NDNBOOST_PP_IF(p(72, s), NDNBOOST_PP_WHILE_72, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(72, s))
+# define NDNBOOST_PP_WHILE_72(p, o, s) NDNBOOST_PP_IF(p(73, s), NDNBOOST_PP_WHILE_73, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(73, s))
+# define NDNBOOST_PP_WHILE_73(p, o, s) NDNBOOST_PP_IF(p(74, s), NDNBOOST_PP_WHILE_74, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(74, s))
+# define NDNBOOST_PP_WHILE_74(p, o, s) NDNBOOST_PP_IF(p(75, s), NDNBOOST_PP_WHILE_75, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(75, s))
+# define NDNBOOST_PP_WHILE_75(p, o, s) NDNBOOST_PP_IF(p(76, s), NDNBOOST_PP_WHILE_76, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(76, s))
+# define NDNBOOST_PP_WHILE_76(p, o, s) NDNBOOST_PP_IF(p(77, s), NDNBOOST_PP_WHILE_77, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(77, s))
+# define NDNBOOST_PP_WHILE_77(p, o, s) NDNBOOST_PP_IF(p(78, s), NDNBOOST_PP_WHILE_78, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(78, s))
+# define NDNBOOST_PP_WHILE_78(p, o, s) NDNBOOST_PP_IF(p(79, s), NDNBOOST_PP_WHILE_79, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(79, s))
+# define NDNBOOST_PP_WHILE_79(p, o, s) NDNBOOST_PP_IF(p(80, s), NDNBOOST_PP_WHILE_80, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(80, s))
+# define NDNBOOST_PP_WHILE_80(p, o, s) NDNBOOST_PP_IF(p(81, s), NDNBOOST_PP_WHILE_81, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(81, s))
+# define NDNBOOST_PP_WHILE_81(p, o, s) NDNBOOST_PP_IF(p(82, s), NDNBOOST_PP_WHILE_82, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(82, s))
+# define NDNBOOST_PP_WHILE_82(p, o, s) NDNBOOST_PP_IF(p(83, s), NDNBOOST_PP_WHILE_83, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(83, s))
+# define NDNBOOST_PP_WHILE_83(p, o, s) NDNBOOST_PP_IF(p(84, s), NDNBOOST_PP_WHILE_84, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(84, s))
+# define NDNBOOST_PP_WHILE_84(p, o, s) NDNBOOST_PP_IF(p(85, s), NDNBOOST_PP_WHILE_85, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(85, s))
+# define NDNBOOST_PP_WHILE_85(p, o, s) NDNBOOST_PP_IF(p(86, s), NDNBOOST_PP_WHILE_86, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(86, s))
+# define NDNBOOST_PP_WHILE_86(p, o, s) NDNBOOST_PP_IF(p(87, s), NDNBOOST_PP_WHILE_87, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(87, s))
+# define NDNBOOST_PP_WHILE_87(p, o, s) NDNBOOST_PP_IF(p(88, s), NDNBOOST_PP_WHILE_88, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(88, s))
+# define NDNBOOST_PP_WHILE_88(p, o, s) NDNBOOST_PP_IF(p(89, s), NDNBOOST_PP_WHILE_89, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(89, s))
+# define NDNBOOST_PP_WHILE_89(p, o, s) NDNBOOST_PP_IF(p(90, s), NDNBOOST_PP_WHILE_90, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(90, s))
+# define NDNBOOST_PP_WHILE_90(p, o, s) NDNBOOST_PP_IF(p(91, s), NDNBOOST_PP_WHILE_91, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(91, s))
+# define NDNBOOST_PP_WHILE_91(p, o, s) NDNBOOST_PP_IF(p(92, s), NDNBOOST_PP_WHILE_92, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(92, s))
+# define NDNBOOST_PP_WHILE_92(p, o, s) NDNBOOST_PP_IF(p(93, s), NDNBOOST_PP_WHILE_93, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(93, s))
+# define NDNBOOST_PP_WHILE_93(p, o, s) NDNBOOST_PP_IF(p(94, s), NDNBOOST_PP_WHILE_94, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(94, s))
+# define NDNBOOST_PP_WHILE_94(p, o, s) NDNBOOST_PP_IF(p(95, s), NDNBOOST_PP_WHILE_95, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(95, s))
+# define NDNBOOST_PP_WHILE_95(p, o, s) NDNBOOST_PP_IF(p(96, s), NDNBOOST_PP_WHILE_96, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(96, s))
+# define NDNBOOST_PP_WHILE_96(p, o, s) NDNBOOST_PP_IF(p(97, s), NDNBOOST_PP_WHILE_97, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(97, s))
+# define NDNBOOST_PP_WHILE_97(p, o, s) NDNBOOST_PP_IF(p(98, s), NDNBOOST_PP_WHILE_98, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(98, s))
+# define NDNBOOST_PP_WHILE_98(p, o, s) NDNBOOST_PP_IF(p(99, s), NDNBOOST_PP_WHILE_99, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(99, s))
+# define NDNBOOST_PP_WHILE_99(p, o, s) NDNBOOST_PP_IF(p(100, s), NDNBOOST_PP_WHILE_100, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(100, s))
+# define NDNBOOST_PP_WHILE_100(p, o, s) NDNBOOST_PP_IF(p(101, s), NDNBOOST_PP_WHILE_101, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(101, s))
+# define NDNBOOST_PP_WHILE_101(p, o, s) NDNBOOST_PP_IF(p(102, s), NDNBOOST_PP_WHILE_102, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(102, s))
+# define NDNBOOST_PP_WHILE_102(p, o, s) NDNBOOST_PP_IF(p(103, s), NDNBOOST_PP_WHILE_103, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(103, s))
+# define NDNBOOST_PP_WHILE_103(p, o, s) NDNBOOST_PP_IF(p(104, s), NDNBOOST_PP_WHILE_104, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(104, s))
+# define NDNBOOST_PP_WHILE_104(p, o, s) NDNBOOST_PP_IF(p(105, s), NDNBOOST_PP_WHILE_105, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(105, s))
+# define NDNBOOST_PP_WHILE_105(p, o, s) NDNBOOST_PP_IF(p(106, s), NDNBOOST_PP_WHILE_106, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(106, s))
+# define NDNBOOST_PP_WHILE_106(p, o, s) NDNBOOST_PP_IF(p(107, s), NDNBOOST_PP_WHILE_107, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(107, s))
+# define NDNBOOST_PP_WHILE_107(p, o, s) NDNBOOST_PP_IF(p(108, s), NDNBOOST_PP_WHILE_108, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(108, s))
+# define NDNBOOST_PP_WHILE_108(p, o, s) NDNBOOST_PP_IF(p(109, s), NDNBOOST_PP_WHILE_109, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(109, s))
+# define NDNBOOST_PP_WHILE_109(p, o, s) NDNBOOST_PP_IF(p(110, s), NDNBOOST_PP_WHILE_110, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(110, s))
+# define NDNBOOST_PP_WHILE_110(p, o, s) NDNBOOST_PP_IF(p(111, s), NDNBOOST_PP_WHILE_111, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(111, s))
+# define NDNBOOST_PP_WHILE_111(p, o, s) NDNBOOST_PP_IF(p(112, s), NDNBOOST_PP_WHILE_112, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(112, s))
+# define NDNBOOST_PP_WHILE_112(p, o, s) NDNBOOST_PP_IF(p(113, s), NDNBOOST_PP_WHILE_113, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(113, s))
+# define NDNBOOST_PP_WHILE_113(p, o, s) NDNBOOST_PP_IF(p(114, s), NDNBOOST_PP_WHILE_114, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(114, s))
+# define NDNBOOST_PP_WHILE_114(p, o, s) NDNBOOST_PP_IF(p(115, s), NDNBOOST_PP_WHILE_115, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(115, s))
+# define NDNBOOST_PP_WHILE_115(p, o, s) NDNBOOST_PP_IF(p(116, s), NDNBOOST_PP_WHILE_116, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(116, s))
+# define NDNBOOST_PP_WHILE_116(p, o, s) NDNBOOST_PP_IF(p(117, s), NDNBOOST_PP_WHILE_117, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(117, s))
+# define NDNBOOST_PP_WHILE_117(p, o, s) NDNBOOST_PP_IF(p(118, s), NDNBOOST_PP_WHILE_118, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(118, s))
+# define NDNBOOST_PP_WHILE_118(p, o, s) NDNBOOST_PP_IF(p(119, s), NDNBOOST_PP_WHILE_119, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(119, s))
+# define NDNBOOST_PP_WHILE_119(p, o, s) NDNBOOST_PP_IF(p(120, s), NDNBOOST_PP_WHILE_120, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(120, s))
+# define NDNBOOST_PP_WHILE_120(p, o, s) NDNBOOST_PP_IF(p(121, s), NDNBOOST_PP_WHILE_121, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(121, s))
+# define NDNBOOST_PP_WHILE_121(p, o, s) NDNBOOST_PP_IF(p(122, s), NDNBOOST_PP_WHILE_122, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(122, s))
+# define NDNBOOST_PP_WHILE_122(p, o, s) NDNBOOST_PP_IF(p(123, s), NDNBOOST_PP_WHILE_123, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(123, s))
+# define NDNBOOST_PP_WHILE_123(p, o, s) NDNBOOST_PP_IF(p(124, s), NDNBOOST_PP_WHILE_124, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(124, s))
+# define NDNBOOST_PP_WHILE_124(p, o, s) NDNBOOST_PP_IF(p(125, s), NDNBOOST_PP_WHILE_125, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(125, s))
+# define NDNBOOST_PP_WHILE_125(p, o, s) NDNBOOST_PP_IF(p(126, s), NDNBOOST_PP_WHILE_126, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(126, s))
+# define NDNBOOST_PP_WHILE_126(p, o, s) NDNBOOST_PP_IF(p(127, s), NDNBOOST_PP_WHILE_127, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(127, s))
+# define NDNBOOST_PP_WHILE_127(p, o, s) NDNBOOST_PP_IF(p(128, s), NDNBOOST_PP_WHILE_128, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(128, s))
+# define NDNBOOST_PP_WHILE_128(p, o, s) NDNBOOST_PP_IF(p(129, s), NDNBOOST_PP_WHILE_129, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(129, s))
+# define NDNBOOST_PP_WHILE_129(p, o, s) NDNBOOST_PP_IF(p(130, s), NDNBOOST_PP_WHILE_130, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(130, s))
+# define NDNBOOST_PP_WHILE_130(p, o, s) NDNBOOST_PP_IF(p(131, s), NDNBOOST_PP_WHILE_131, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(131, s))
+# define NDNBOOST_PP_WHILE_131(p, o, s) NDNBOOST_PP_IF(p(132, s), NDNBOOST_PP_WHILE_132, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(132, s))
+# define NDNBOOST_PP_WHILE_132(p, o, s) NDNBOOST_PP_IF(p(133, s), NDNBOOST_PP_WHILE_133, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(133, s))
+# define NDNBOOST_PP_WHILE_133(p, o, s) NDNBOOST_PP_IF(p(134, s), NDNBOOST_PP_WHILE_134, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(134, s))
+# define NDNBOOST_PP_WHILE_134(p, o, s) NDNBOOST_PP_IF(p(135, s), NDNBOOST_PP_WHILE_135, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(135, s))
+# define NDNBOOST_PP_WHILE_135(p, o, s) NDNBOOST_PP_IF(p(136, s), NDNBOOST_PP_WHILE_136, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(136, s))
+# define NDNBOOST_PP_WHILE_136(p, o, s) NDNBOOST_PP_IF(p(137, s), NDNBOOST_PP_WHILE_137, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(137, s))
+# define NDNBOOST_PP_WHILE_137(p, o, s) NDNBOOST_PP_IF(p(138, s), NDNBOOST_PP_WHILE_138, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(138, s))
+# define NDNBOOST_PP_WHILE_138(p, o, s) NDNBOOST_PP_IF(p(139, s), NDNBOOST_PP_WHILE_139, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(139, s))
+# define NDNBOOST_PP_WHILE_139(p, o, s) NDNBOOST_PP_IF(p(140, s), NDNBOOST_PP_WHILE_140, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(140, s))
+# define NDNBOOST_PP_WHILE_140(p, o, s) NDNBOOST_PP_IF(p(141, s), NDNBOOST_PP_WHILE_141, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(141, s))
+# define NDNBOOST_PP_WHILE_141(p, o, s) NDNBOOST_PP_IF(p(142, s), NDNBOOST_PP_WHILE_142, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(142, s))
+# define NDNBOOST_PP_WHILE_142(p, o, s) NDNBOOST_PP_IF(p(143, s), NDNBOOST_PP_WHILE_143, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(143, s))
+# define NDNBOOST_PP_WHILE_143(p, o, s) NDNBOOST_PP_IF(p(144, s), NDNBOOST_PP_WHILE_144, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(144, s))
+# define NDNBOOST_PP_WHILE_144(p, o, s) NDNBOOST_PP_IF(p(145, s), NDNBOOST_PP_WHILE_145, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(145, s))
+# define NDNBOOST_PP_WHILE_145(p, o, s) NDNBOOST_PP_IF(p(146, s), NDNBOOST_PP_WHILE_146, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(146, s))
+# define NDNBOOST_PP_WHILE_146(p, o, s) NDNBOOST_PP_IF(p(147, s), NDNBOOST_PP_WHILE_147, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(147, s))
+# define NDNBOOST_PP_WHILE_147(p, o, s) NDNBOOST_PP_IF(p(148, s), NDNBOOST_PP_WHILE_148, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(148, s))
+# define NDNBOOST_PP_WHILE_148(p, o, s) NDNBOOST_PP_IF(p(149, s), NDNBOOST_PP_WHILE_149, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(149, s))
+# define NDNBOOST_PP_WHILE_149(p, o, s) NDNBOOST_PP_IF(p(150, s), NDNBOOST_PP_WHILE_150, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(150, s))
+# define NDNBOOST_PP_WHILE_150(p, o, s) NDNBOOST_PP_IF(p(151, s), NDNBOOST_PP_WHILE_151, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(151, s))
+# define NDNBOOST_PP_WHILE_151(p, o, s) NDNBOOST_PP_IF(p(152, s), NDNBOOST_PP_WHILE_152, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(152, s))
+# define NDNBOOST_PP_WHILE_152(p, o, s) NDNBOOST_PP_IF(p(153, s), NDNBOOST_PP_WHILE_153, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(153, s))
+# define NDNBOOST_PP_WHILE_153(p, o, s) NDNBOOST_PP_IF(p(154, s), NDNBOOST_PP_WHILE_154, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(154, s))
+# define NDNBOOST_PP_WHILE_154(p, o, s) NDNBOOST_PP_IF(p(155, s), NDNBOOST_PP_WHILE_155, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(155, s))
+# define NDNBOOST_PP_WHILE_155(p, o, s) NDNBOOST_PP_IF(p(156, s), NDNBOOST_PP_WHILE_156, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(156, s))
+# define NDNBOOST_PP_WHILE_156(p, o, s) NDNBOOST_PP_IF(p(157, s), NDNBOOST_PP_WHILE_157, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(157, s))
+# define NDNBOOST_PP_WHILE_157(p, o, s) NDNBOOST_PP_IF(p(158, s), NDNBOOST_PP_WHILE_158, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(158, s))
+# define NDNBOOST_PP_WHILE_158(p, o, s) NDNBOOST_PP_IF(p(159, s), NDNBOOST_PP_WHILE_159, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(159, s))
+# define NDNBOOST_PP_WHILE_159(p, o, s) NDNBOOST_PP_IF(p(160, s), NDNBOOST_PP_WHILE_160, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(160, s))
+# define NDNBOOST_PP_WHILE_160(p, o, s) NDNBOOST_PP_IF(p(161, s), NDNBOOST_PP_WHILE_161, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(161, s))
+# define NDNBOOST_PP_WHILE_161(p, o, s) NDNBOOST_PP_IF(p(162, s), NDNBOOST_PP_WHILE_162, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(162, s))
+# define NDNBOOST_PP_WHILE_162(p, o, s) NDNBOOST_PP_IF(p(163, s), NDNBOOST_PP_WHILE_163, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(163, s))
+# define NDNBOOST_PP_WHILE_163(p, o, s) NDNBOOST_PP_IF(p(164, s), NDNBOOST_PP_WHILE_164, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(164, s))
+# define NDNBOOST_PP_WHILE_164(p, o, s) NDNBOOST_PP_IF(p(165, s), NDNBOOST_PP_WHILE_165, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(165, s))
+# define NDNBOOST_PP_WHILE_165(p, o, s) NDNBOOST_PP_IF(p(166, s), NDNBOOST_PP_WHILE_166, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(166, s))
+# define NDNBOOST_PP_WHILE_166(p, o, s) NDNBOOST_PP_IF(p(167, s), NDNBOOST_PP_WHILE_167, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(167, s))
+# define NDNBOOST_PP_WHILE_167(p, o, s) NDNBOOST_PP_IF(p(168, s), NDNBOOST_PP_WHILE_168, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(168, s))
+# define NDNBOOST_PP_WHILE_168(p, o, s) NDNBOOST_PP_IF(p(169, s), NDNBOOST_PP_WHILE_169, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(169, s))
+# define NDNBOOST_PP_WHILE_169(p, o, s) NDNBOOST_PP_IF(p(170, s), NDNBOOST_PP_WHILE_170, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(170, s))
+# define NDNBOOST_PP_WHILE_170(p, o, s) NDNBOOST_PP_IF(p(171, s), NDNBOOST_PP_WHILE_171, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(171, s))
+# define NDNBOOST_PP_WHILE_171(p, o, s) NDNBOOST_PP_IF(p(172, s), NDNBOOST_PP_WHILE_172, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(172, s))
+# define NDNBOOST_PP_WHILE_172(p, o, s) NDNBOOST_PP_IF(p(173, s), NDNBOOST_PP_WHILE_173, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(173, s))
+# define NDNBOOST_PP_WHILE_173(p, o, s) NDNBOOST_PP_IF(p(174, s), NDNBOOST_PP_WHILE_174, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(174, s))
+# define NDNBOOST_PP_WHILE_174(p, o, s) NDNBOOST_PP_IF(p(175, s), NDNBOOST_PP_WHILE_175, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(175, s))
+# define NDNBOOST_PP_WHILE_175(p, o, s) NDNBOOST_PP_IF(p(176, s), NDNBOOST_PP_WHILE_176, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(176, s))
+# define NDNBOOST_PP_WHILE_176(p, o, s) NDNBOOST_PP_IF(p(177, s), NDNBOOST_PP_WHILE_177, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(177, s))
+# define NDNBOOST_PP_WHILE_177(p, o, s) NDNBOOST_PP_IF(p(178, s), NDNBOOST_PP_WHILE_178, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(178, s))
+# define NDNBOOST_PP_WHILE_178(p, o, s) NDNBOOST_PP_IF(p(179, s), NDNBOOST_PP_WHILE_179, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(179, s))
+# define NDNBOOST_PP_WHILE_179(p, o, s) NDNBOOST_PP_IF(p(180, s), NDNBOOST_PP_WHILE_180, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(180, s))
+# define NDNBOOST_PP_WHILE_180(p, o, s) NDNBOOST_PP_IF(p(181, s), NDNBOOST_PP_WHILE_181, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(181, s))
+# define NDNBOOST_PP_WHILE_181(p, o, s) NDNBOOST_PP_IF(p(182, s), NDNBOOST_PP_WHILE_182, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(182, s))
+# define NDNBOOST_PP_WHILE_182(p, o, s) NDNBOOST_PP_IF(p(183, s), NDNBOOST_PP_WHILE_183, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(183, s))
+# define NDNBOOST_PP_WHILE_183(p, o, s) NDNBOOST_PP_IF(p(184, s), NDNBOOST_PP_WHILE_184, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(184, s))
+# define NDNBOOST_PP_WHILE_184(p, o, s) NDNBOOST_PP_IF(p(185, s), NDNBOOST_PP_WHILE_185, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(185, s))
+# define NDNBOOST_PP_WHILE_185(p, o, s) NDNBOOST_PP_IF(p(186, s), NDNBOOST_PP_WHILE_186, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(186, s))
+# define NDNBOOST_PP_WHILE_186(p, o, s) NDNBOOST_PP_IF(p(187, s), NDNBOOST_PP_WHILE_187, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(187, s))
+# define NDNBOOST_PP_WHILE_187(p, o, s) NDNBOOST_PP_IF(p(188, s), NDNBOOST_PP_WHILE_188, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(188, s))
+# define NDNBOOST_PP_WHILE_188(p, o, s) NDNBOOST_PP_IF(p(189, s), NDNBOOST_PP_WHILE_189, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(189, s))
+# define NDNBOOST_PP_WHILE_189(p, o, s) NDNBOOST_PP_IF(p(190, s), NDNBOOST_PP_WHILE_190, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(190, s))
+# define NDNBOOST_PP_WHILE_190(p, o, s) NDNBOOST_PP_IF(p(191, s), NDNBOOST_PP_WHILE_191, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(191, s))
+# define NDNBOOST_PP_WHILE_191(p, o, s) NDNBOOST_PP_IF(p(192, s), NDNBOOST_PP_WHILE_192, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(192, s))
+# define NDNBOOST_PP_WHILE_192(p, o, s) NDNBOOST_PP_IF(p(193, s), NDNBOOST_PP_WHILE_193, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(193, s))
+# define NDNBOOST_PP_WHILE_193(p, o, s) NDNBOOST_PP_IF(p(194, s), NDNBOOST_PP_WHILE_194, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(194, s))
+# define NDNBOOST_PP_WHILE_194(p, o, s) NDNBOOST_PP_IF(p(195, s), NDNBOOST_PP_WHILE_195, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(195, s))
+# define NDNBOOST_PP_WHILE_195(p, o, s) NDNBOOST_PP_IF(p(196, s), NDNBOOST_PP_WHILE_196, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(196, s))
+# define NDNBOOST_PP_WHILE_196(p, o, s) NDNBOOST_PP_IF(p(197, s), NDNBOOST_PP_WHILE_197, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(197, s))
+# define NDNBOOST_PP_WHILE_197(p, o, s) NDNBOOST_PP_IF(p(198, s), NDNBOOST_PP_WHILE_198, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(198, s))
+# define NDNBOOST_PP_WHILE_198(p, o, s) NDNBOOST_PP_IF(p(199, s), NDNBOOST_PP_WHILE_199, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(199, s))
+# define NDNBOOST_PP_WHILE_199(p, o, s) NDNBOOST_PP_IF(p(200, s), NDNBOOST_PP_WHILE_200, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(200, s))
+# define NDNBOOST_PP_WHILE_200(p, o, s) NDNBOOST_PP_IF(p(201, s), NDNBOOST_PP_WHILE_201, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(201, s))
+# define NDNBOOST_PP_WHILE_201(p, o, s) NDNBOOST_PP_IF(p(202, s), NDNBOOST_PP_WHILE_202, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(202, s))
+# define NDNBOOST_PP_WHILE_202(p, o, s) NDNBOOST_PP_IF(p(203, s), NDNBOOST_PP_WHILE_203, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(203, s))
+# define NDNBOOST_PP_WHILE_203(p, o, s) NDNBOOST_PP_IF(p(204, s), NDNBOOST_PP_WHILE_204, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(204, s))
+# define NDNBOOST_PP_WHILE_204(p, o, s) NDNBOOST_PP_IF(p(205, s), NDNBOOST_PP_WHILE_205, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(205, s))
+# define NDNBOOST_PP_WHILE_205(p, o, s) NDNBOOST_PP_IF(p(206, s), NDNBOOST_PP_WHILE_206, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(206, s))
+# define NDNBOOST_PP_WHILE_206(p, o, s) NDNBOOST_PP_IF(p(207, s), NDNBOOST_PP_WHILE_207, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(207, s))
+# define NDNBOOST_PP_WHILE_207(p, o, s) NDNBOOST_PP_IF(p(208, s), NDNBOOST_PP_WHILE_208, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(208, s))
+# define NDNBOOST_PP_WHILE_208(p, o, s) NDNBOOST_PP_IF(p(209, s), NDNBOOST_PP_WHILE_209, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(209, s))
+# define NDNBOOST_PP_WHILE_209(p, o, s) NDNBOOST_PP_IF(p(210, s), NDNBOOST_PP_WHILE_210, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(210, s))
+# define NDNBOOST_PP_WHILE_210(p, o, s) NDNBOOST_PP_IF(p(211, s), NDNBOOST_PP_WHILE_211, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(211, s))
+# define NDNBOOST_PP_WHILE_211(p, o, s) NDNBOOST_PP_IF(p(212, s), NDNBOOST_PP_WHILE_212, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(212, s))
+# define NDNBOOST_PP_WHILE_212(p, o, s) NDNBOOST_PP_IF(p(213, s), NDNBOOST_PP_WHILE_213, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(213, s))
+# define NDNBOOST_PP_WHILE_213(p, o, s) NDNBOOST_PP_IF(p(214, s), NDNBOOST_PP_WHILE_214, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(214, s))
+# define NDNBOOST_PP_WHILE_214(p, o, s) NDNBOOST_PP_IF(p(215, s), NDNBOOST_PP_WHILE_215, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(215, s))
+# define NDNBOOST_PP_WHILE_215(p, o, s) NDNBOOST_PP_IF(p(216, s), NDNBOOST_PP_WHILE_216, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(216, s))
+# define NDNBOOST_PP_WHILE_216(p, o, s) NDNBOOST_PP_IF(p(217, s), NDNBOOST_PP_WHILE_217, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(217, s))
+# define NDNBOOST_PP_WHILE_217(p, o, s) NDNBOOST_PP_IF(p(218, s), NDNBOOST_PP_WHILE_218, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(218, s))
+# define NDNBOOST_PP_WHILE_218(p, o, s) NDNBOOST_PP_IF(p(219, s), NDNBOOST_PP_WHILE_219, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(219, s))
+# define NDNBOOST_PP_WHILE_219(p, o, s) NDNBOOST_PP_IF(p(220, s), NDNBOOST_PP_WHILE_220, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(220, s))
+# define NDNBOOST_PP_WHILE_220(p, o, s) NDNBOOST_PP_IF(p(221, s), NDNBOOST_PP_WHILE_221, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(221, s))
+# define NDNBOOST_PP_WHILE_221(p, o, s) NDNBOOST_PP_IF(p(222, s), NDNBOOST_PP_WHILE_222, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(222, s))
+# define NDNBOOST_PP_WHILE_222(p, o, s) NDNBOOST_PP_IF(p(223, s), NDNBOOST_PP_WHILE_223, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(223, s))
+# define NDNBOOST_PP_WHILE_223(p, o, s) NDNBOOST_PP_IF(p(224, s), NDNBOOST_PP_WHILE_224, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(224, s))
+# define NDNBOOST_PP_WHILE_224(p, o, s) NDNBOOST_PP_IF(p(225, s), NDNBOOST_PP_WHILE_225, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(225, s))
+# define NDNBOOST_PP_WHILE_225(p, o, s) NDNBOOST_PP_IF(p(226, s), NDNBOOST_PP_WHILE_226, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(226, s))
+# define NDNBOOST_PP_WHILE_226(p, o, s) NDNBOOST_PP_IF(p(227, s), NDNBOOST_PP_WHILE_227, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(227, s))
+# define NDNBOOST_PP_WHILE_227(p, o, s) NDNBOOST_PP_IF(p(228, s), NDNBOOST_PP_WHILE_228, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(228, s))
+# define NDNBOOST_PP_WHILE_228(p, o, s) NDNBOOST_PP_IF(p(229, s), NDNBOOST_PP_WHILE_229, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(229, s))
+# define NDNBOOST_PP_WHILE_229(p, o, s) NDNBOOST_PP_IF(p(230, s), NDNBOOST_PP_WHILE_230, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(230, s))
+# define NDNBOOST_PP_WHILE_230(p, o, s) NDNBOOST_PP_IF(p(231, s), NDNBOOST_PP_WHILE_231, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(231, s))
+# define NDNBOOST_PP_WHILE_231(p, o, s) NDNBOOST_PP_IF(p(232, s), NDNBOOST_PP_WHILE_232, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(232, s))
+# define NDNBOOST_PP_WHILE_232(p, o, s) NDNBOOST_PP_IF(p(233, s), NDNBOOST_PP_WHILE_233, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(233, s))
+# define NDNBOOST_PP_WHILE_233(p, o, s) NDNBOOST_PP_IF(p(234, s), NDNBOOST_PP_WHILE_234, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(234, s))
+# define NDNBOOST_PP_WHILE_234(p, o, s) NDNBOOST_PP_IF(p(235, s), NDNBOOST_PP_WHILE_235, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(235, s))
+# define NDNBOOST_PP_WHILE_235(p, o, s) NDNBOOST_PP_IF(p(236, s), NDNBOOST_PP_WHILE_236, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(236, s))
+# define NDNBOOST_PP_WHILE_236(p, o, s) NDNBOOST_PP_IF(p(237, s), NDNBOOST_PP_WHILE_237, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(237, s))
+# define NDNBOOST_PP_WHILE_237(p, o, s) NDNBOOST_PP_IF(p(238, s), NDNBOOST_PP_WHILE_238, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(238, s))
+# define NDNBOOST_PP_WHILE_238(p, o, s) NDNBOOST_PP_IF(p(239, s), NDNBOOST_PP_WHILE_239, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(239, s))
+# define NDNBOOST_PP_WHILE_239(p, o, s) NDNBOOST_PP_IF(p(240, s), NDNBOOST_PP_WHILE_240, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(240, s))
+# define NDNBOOST_PP_WHILE_240(p, o, s) NDNBOOST_PP_IF(p(241, s), NDNBOOST_PP_WHILE_241, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(241, s))
+# define NDNBOOST_PP_WHILE_241(p, o, s) NDNBOOST_PP_IF(p(242, s), NDNBOOST_PP_WHILE_242, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(242, s))
+# define NDNBOOST_PP_WHILE_242(p, o, s) NDNBOOST_PP_IF(p(243, s), NDNBOOST_PP_WHILE_243, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(243, s))
+# define NDNBOOST_PP_WHILE_243(p, o, s) NDNBOOST_PP_IF(p(244, s), NDNBOOST_PP_WHILE_244, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(244, s))
+# define NDNBOOST_PP_WHILE_244(p, o, s) NDNBOOST_PP_IF(p(245, s), NDNBOOST_PP_WHILE_245, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(245, s))
+# define NDNBOOST_PP_WHILE_245(p, o, s) NDNBOOST_PP_IF(p(246, s), NDNBOOST_PP_WHILE_246, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(246, s))
+# define NDNBOOST_PP_WHILE_246(p, o, s) NDNBOOST_PP_IF(p(247, s), NDNBOOST_PP_WHILE_247, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(247, s))
+# define NDNBOOST_PP_WHILE_247(p, o, s) NDNBOOST_PP_IF(p(248, s), NDNBOOST_PP_WHILE_248, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(248, s))
+# define NDNBOOST_PP_WHILE_248(p, o, s) NDNBOOST_PP_IF(p(249, s), NDNBOOST_PP_WHILE_249, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(249, s))
+# define NDNBOOST_PP_WHILE_249(p, o, s) NDNBOOST_PP_IF(p(250, s), NDNBOOST_PP_WHILE_250, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(250, s))
+# define NDNBOOST_PP_WHILE_250(p, o, s) NDNBOOST_PP_IF(p(251, s), NDNBOOST_PP_WHILE_251, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(251, s))
+# define NDNBOOST_PP_WHILE_251(p, o, s) NDNBOOST_PP_IF(p(252, s), NDNBOOST_PP_WHILE_252, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(252, s))
+# define NDNBOOST_PP_WHILE_252(p, o, s) NDNBOOST_PP_IF(p(253, s), NDNBOOST_PP_WHILE_253, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(253, s))
+# define NDNBOOST_PP_WHILE_253(p, o, s) NDNBOOST_PP_IF(p(254, s), NDNBOOST_PP_WHILE_254, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(254, s))
+# define NDNBOOST_PP_WHILE_254(p, o, s) NDNBOOST_PP_IF(p(255, s), NDNBOOST_PP_WHILE_255, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(255, s))
+# define NDNBOOST_PP_WHILE_255(p, o, s) NDNBOOST_PP_IF(p(256, s), NDNBOOST_PP_WHILE_256, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(256, s))
+# define NDNBOOST_PP_WHILE_256(p, o, s) NDNBOOST_PP_IF(p(257, s), NDNBOOST_PP_WHILE_257, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, o(257, s))
 #
 # endif
diff --git a/include/ndnboost/preprocessor/control/detail/while.hpp b/include/ndnboost/preprocessor/control/detail/while.hpp
index bc81737..a1e9ee1 100644
--- a/include/ndnboost/preprocessor/control/detail/while.hpp
+++ b/include/ndnboost/preprocessor/control/detail/while.hpp
@@ -11,526 +11,526 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_CONTROL_DETAIL_WHILE_HPP
-# define BOOST_PREPROCESSOR_CONTROL_DETAIL_WHILE_HPP
+# ifndef NDNBOOST_PREPROCESSOR_CONTROL_DETAIL_WHILE_HPP
+# define NDNBOOST_PREPROCESSOR_CONTROL_DETAIL_WHILE_HPP
 #
 # include <ndnboost/preprocessor/control/iif.hpp>
 # include <ndnboost/preprocessor/logical/bool.hpp>
 # include <ndnboost/preprocessor/tuple/eat.hpp>
 #
-# define BOOST_PP_WHILE_1(p, o, s) BOOST_PP_WHILE_1_C(BOOST_PP_BOOL(p(2, s)), p, o, s)
-# define BOOST_PP_WHILE_2(p, o, s) BOOST_PP_WHILE_2_C(BOOST_PP_BOOL(p(3, s)), p, o, s)
-# define BOOST_PP_WHILE_3(p, o, s) BOOST_PP_WHILE_3_C(BOOST_PP_BOOL(p(4, s)), p, o, s)
-# define BOOST_PP_WHILE_4(p, o, s) BOOST_PP_WHILE_4_C(BOOST_PP_BOOL(p(5, s)), p, o, s)
-# define BOOST_PP_WHILE_5(p, o, s) BOOST_PP_WHILE_5_C(BOOST_PP_BOOL(p(6, s)), p, o, s)
-# define BOOST_PP_WHILE_6(p, o, s) BOOST_PP_WHILE_6_C(BOOST_PP_BOOL(p(7, s)), p, o, s)
-# define BOOST_PP_WHILE_7(p, o, s) BOOST_PP_WHILE_7_C(BOOST_PP_BOOL(p(8, s)), p, o, s)
-# define BOOST_PP_WHILE_8(p, o, s) BOOST_PP_WHILE_8_C(BOOST_PP_BOOL(p(9, s)), p, o, s)
-# define BOOST_PP_WHILE_9(p, o, s) BOOST_PP_WHILE_9_C(BOOST_PP_BOOL(p(10, s)), p, o, s)
-# define BOOST_PP_WHILE_10(p, o, s) BOOST_PP_WHILE_10_C(BOOST_PP_BOOL(p(11, s)), p, o, s)
-# define BOOST_PP_WHILE_11(p, o, s) BOOST_PP_WHILE_11_C(BOOST_PP_BOOL(p(12, s)), p, o, s)
-# define BOOST_PP_WHILE_12(p, o, s) BOOST_PP_WHILE_12_C(BOOST_PP_BOOL(p(13, s)), p, o, s)
-# define BOOST_PP_WHILE_13(p, o, s) BOOST_PP_WHILE_13_C(BOOST_PP_BOOL(p(14, s)), p, o, s)
-# define BOOST_PP_WHILE_14(p, o, s) BOOST_PP_WHILE_14_C(BOOST_PP_BOOL(p(15, s)), p, o, s)
-# define BOOST_PP_WHILE_15(p, o, s) BOOST_PP_WHILE_15_C(BOOST_PP_BOOL(p(16, s)), p, o, s)
-# define BOOST_PP_WHILE_16(p, o, s) BOOST_PP_WHILE_16_C(BOOST_PP_BOOL(p(17, s)), p, o, s)
-# define BOOST_PP_WHILE_17(p, o, s) BOOST_PP_WHILE_17_C(BOOST_PP_BOOL(p(18, s)), p, o, s)
-# define BOOST_PP_WHILE_18(p, o, s) BOOST_PP_WHILE_18_C(BOOST_PP_BOOL(p(19, s)), p, o, s)
-# define BOOST_PP_WHILE_19(p, o, s) BOOST_PP_WHILE_19_C(BOOST_PP_BOOL(p(20, s)), p, o, s)
-# define BOOST_PP_WHILE_20(p, o, s) BOOST_PP_WHILE_20_C(BOOST_PP_BOOL(p(21, s)), p, o, s)
-# define BOOST_PP_WHILE_21(p, o, s) BOOST_PP_WHILE_21_C(BOOST_PP_BOOL(p(22, s)), p, o, s)
-# define BOOST_PP_WHILE_22(p, o, s) BOOST_PP_WHILE_22_C(BOOST_PP_BOOL(p(23, s)), p, o, s)
-# define BOOST_PP_WHILE_23(p, o, s) BOOST_PP_WHILE_23_C(BOOST_PP_BOOL(p(24, s)), p, o, s)
-# define BOOST_PP_WHILE_24(p, o, s) BOOST_PP_WHILE_24_C(BOOST_PP_BOOL(p(25, s)), p, o, s)
-# define BOOST_PP_WHILE_25(p, o, s) BOOST_PP_WHILE_25_C(BOOST_PP_BOOL(p(26, s)), p, o, s)
-# define BOOST_PP_WHILE_26(p, o, s) BOOST_PP_WHILE_26_C(BOOST_PP_BOOL(p(27, s)), p, o, s)
-# define BOOST_PP_WHILE_27(p, o, s) BOOST_PP_WHILE_27_C(BOOST_PP_BOOL(p(28, s)), p, o, s)
-# define BOOST_PP_WHILE_28(p, o, s) BOOST_PP_WHILE_28_C(BOOST_PP_BOOL(p(29, s)), p, o, s)
-# define BOOST_PP_WHILE_29(p, o, s) BOOST_PP_WHILE_29_C(BOOST_PP_BOOL(p(30, s)), p, o, s)
-# define BOOST_PP_WHILE_30(p, o, s) BOOST_PP_WHILE_30_C(BOOST_PP_BOOL(p(31, s)), p, o, s)
-# define BOOST_PP_WHILE_31(p, o, s) BOOST_PP_WHILE_31_C(BOOST_PP_BOOL(p(32, s)), p, o, s)
-# define BOOST_PP_WHILE_32(p, o, s) BOOST_PP_WHILE_32_C(BOOST_PP_BOOL(p(33, s)), p, o, s)
-# define BOOST_PP_WHILE_33(p, o, s) BOOST_PP_WHILE_33_C(BOOST_PP_BOOL(p(34, s)), p, o, s)
-# define BOOST_PP_WHILE_34(p, o, s) BOOST_PP_WHILE_34_C(BOOST_PP_BOOL(p(35, s)), p, o, s)
-# define BOOST_PP_WHILE_35(p, o, s) BOOST_PP_WHILE_35_C(BOOST_PP_BOOL(p(36, s)), p, o, s)
-# define BOOST_PP_WHILE_36(p, o, s) BOOST_PP_WHILE_36_C(BOOST_PP_BOOL(p(37, s)), p, o, s)
-# define BOOST_PP_WHILE_37(p, o, s) BOOST_PP_WHILE_37_C(BOOST_PP_BOOL(p(38, s)), p, o, s)
-# define BOOST_PP_WHILE_38(p, o, s) BOOST_PP_WHILE_38_C(BOOST_PP_BOOL(p(39, s)), p, o, s)
-# define BOOST_PP_WHILE_39(p, o, s) BOOST_PP_WHILE_39_C(BOOST_PP_BOOL(p(40, s)), p, o, s)
-# define BOOST_PP_WHILE_40(p, o, s) BOOST_PP_WHILE_40_C(BOOST_PP_BOOL(p(41, s)), p, o, s)
-# define BOOST_PP_WHILE_41(p, o, s) BOOST_PP_WHILE_41_C(BOOST_PP_BOOL(p(42, s)), p, o, s)
-# define BOOST_PP_WHILE_42(p, o, s) BOOST_PP_WHILE_42_C(BOOST_PP_BOOL(p(43, s)), p, o, s)
-# define BOOST_PP_WHILE_43(p, o, s) BOOST_PP_WHILE_43_C(BOOST_PP_BOOL(p(44, s)), p, o, s)
-# define BOOST_PP_WHILE_44(p, o, s) BOOST_PP_WHILE_44_C(BOOST_PP_BOOL(p(45, s)), p, o, s)
-# define BOOST_PP_WHILE_45(p, o, s) BOOST_PP_WHILE_45_C(BOOST_PP_BOOL(p(46, s)), p, o, s)
-# define BOOST_PP_WHILE_46(p, o, s) BOOST_PP_WHILE_46_C(BOOST_PP_BOOL(p(47, s)), p, o, s)
-# define BOOST_PP_WHILE_47(p, o, s) BOOST_PP_WHILE_47_C(BOOST_PP_BOOL(p(48, s)), p, o, s)
-# define BOOST_PP_WHILE_48(p, o, s) BOOST_PP_WHILE_48_C(BOOST_PP_BOOL(p(49, s)), p, o, s)
-# define BOOST_PP_WHILE_49(p, o, s) BOOST_PP_WHILE_49_C(BOOST_PP_BOOL(p(50, s)), p, o, s)
-# define BOOST_PP_WHILE_50(p, o, s) BOOST_PP_WHILE_50_C(BOOST_PP_BOOL(p(51, s)), p, o, s)
-# define BOOST_PP_WHILE_51(p, o, s) BOOST_PP_WHILE_51_C(BOOST_PP_BOOL(p(52, s)), p, o, s)
-# define BOOST_PP_WHILE_52(p, o, s) BOOST_PP_WHILE_52_C(BOOST_PP_BOOL(p(53, s)), p, o, s)
-# define BOOST_PP_WHILE_53(p, o, s) BOOST_PP_WHILE_53_C(BOOST_PP_BOOL(p(54, s)), p, o, s)
-# define BOOST_PP_WHILE_54(p, o, s) BOOST_PP_WHILE_54_C(BOOST_PP_BOOL(p(55, s)), p, o, s)
-# define BOOST_PP_WHILE_55(p, o, s) BOOST_PP_WHILE_55_C(BOOST_PP_BOOL(p(56, s)), p, o, s)
-# define BOOST_PP_WHILE_56(p, o, s) BOOST_PP_WHILE_56_C(BOOST_PP_BOOL(p(57, s)), p, o, s)
-# define BOOST_PP_WHILE_57(p, o, s) BOOST_PP_WHILE_57_C(BOOST_PP_BOOL(p(58, s)), p, o, s)
-# define BOOST_PP_WHILE_58(p, o, s) BOOST_PP_WHILE_58_C(BOOST_PP_BOOL(p(59, s)), p, o, s)
-# define BOOST_PP_WHILE_59(p, o, s) BOOST_PP_WHILE_59_C(BOOST_PP_BOOL(p(60, s)), p, o, s)
-# define BOOST_PP_WHILE_60(p, o, s) BOOST_PP_WHILE_60_C(BOOST_PP_BOOL(p(61, s)), p, o, s)
-# define BOOST_PP_WHILE_61(p, o, s) BOOST_PP_WHILE_61_C(BOOST_PP_BOOL(p(62, s)), p, o, s)
-# define BOOST_PP_WHILE_62(p, o, s) BOOST_PP_WHILE_62_C(BOOST_PP_BOOL(p(63, s)), p, o, s)
-# define BOOST_PP_WHILE_63(p, o, s) BOOST_PP_WHILE_63_C(BOOST_PP_BOOL(p(64, s)), p, o, s)
-# define BOOST_PP_WHILE_64(p, o, s) BOOST_PP_WHILE_64_C(BOOST_PP_BOOL(p(65, s)), p, o, s)
-# define BOOST_PP_WHILE_65(p, o, s) BOOST_PP_WHILE_65_C(BOOST_PP_BOOL(p(66, s)), p, o, s)
-# define BOOST_PP_WHILE_66(p, o, s) BOOST_PP_WHILE_66_C(BOOST_PP_BOOL(p(67, s)), p, o, s)
-# define BOOST_PP_WHILE_67(p, o, s) BOOST_PP_WHILE_67_C(BOOST_PP_BOOL(p(68, s)), p, o, s)
-# define BOOST_PP_WHILE_68(p, o, s) BOOST_PP_WHILE_68_C(BOOST_PP_BOOL(p(69, s)), p, o, s)
-# define BOOST_PP_WHILE_69(p, o, s) BOOST_PP_WHILE_69_C(BOOST_PP_BOOL(p(70, s)), p, o, s)
-# define BOOST_PP_WHILE_70(p, o, s) BOOST_PP_WHILE_70_C(BOOST_PP_BOOL(p(71, s)), p, o, s)
-# define BOOST_PP_WHILE_71(p, o, s) BOOST_PP_WHILE_71_C(BOOST_PP_BOOL(p(72, s)), p, o, s)
-# define BOOST_PP_WHILE_72(p, o, s) BOOST_PP_WHILE_72_C(BOOST_PP_BOOL(p(73, s)), p, o, s)
-# define BOOST_PP_WHILE_73(p, o, s) BOOST_PP_WHILE_73_C(BOOST_PP_BOOL(p(74, s)), p, o, s)
-# define BOOST_PP_WHILE_74(p, o, s) BOOST_PP_WHILE_74_C(BOOST_PP_BOOL(p(75, s)), p, o, s)
-# define BOOST_PP_WHILE_75(p, o, s) BOOST_PP_WHILE_75_C(BOOST_PP_BOOL(p(76, s)), p, o, s)
-# define BOOST_PP_WHILE_76(p, o, s) BOOST_PP_WHILE_76_C(BOOST_PP_BOOL(p(77, s)), p, o, s)
-# define BOOST_PP_WHILE_77(p, o, s) BOOST_PP_WHILE_77_C(BOOST_PP_BOOL(p(78, s)), p, o, s)
-# define BOOST_PP_WHILE_78(p, o, s) BOOST_PP_WHILE_78_C(BOOST_PP_BOOL(p(79, s)), p, o, s)
-# define BOOST_PP_WHILE_79(p, o, s) BOOST_PP_WHILE_79_C(BOOST_PP_BOOL(p(80, s)), p, o, s)
-# define BOOST_PP_WHILE_80(p, o, s) BOOST_PP_WHILE_80_C(BOOST_PP_BOOL(p(81, s)), p, o, s)
-# define BOOST_PP_WHILE_81(p, o, s) BOOST_PP_WHILE_81_C(BOOST_PP_BOOL(p(82, s)), p, o, s)
-# define BOOST_PP_WHILE_82(p, o, s) BOOST_PP_WHILE_82_C(BOOST_PP_BOOL(p(83, s)), p, o, s)
-# define BOOST_PP_WHILE_83(p, o, s) BOOST_PP_WHILE_83_C(BOOST_PP_BOOL(p(84, s)), p, o, s)
-# define BOOST_PP_WHILE_84(p, o, s) BOOST_PP_WHILE_84_C(BOOST_PP_BOOL(p(85, s)), p, o, s)
-# define BOOST_PP_WHILE_85(p, o, s) BOOST_PP_WHILE_85_C(BOOST_PP_BOOL(p(86, s)), p, o, s)
-# define BOOST_PP_WHILE_86(p, o, s) BOOST_PP_WHILE_86_C(BOOST_PP_BOOL(p(87, s)), p, o, s)
-# define BOOST_PP_WHILE_87(p, o, s) BOOST_PP_WHILE_87_C(BOOST_PP_BOOL(p(88, s)), p, o, s)
-# define BOOST_PP_WHILE_88(p, o, s) BOOST_PP_WHILE_88_C(BOOST_PP_BOOL(p(89, s)), p, o, s)
-# define BOOST_PP_WHILE_89(p, o, s) BOOST_PP_WHILE_89_C(BOOST_PP_BOOL(p(90, s)), p, o, s)
-# define BOOST_PP_WHILE_90(p, o, s) BOOST_PP_WHILE_90_C(BOOST_PP_BOOL(p(91, s)), p, o, s)
-# define BOOST_PP_WHILE_91(p, o, s) BOOST_PP_WHILE_91_C(BOOST_PP_BOOL(p(92, s)), p, o, s)
-# define BOOST_PP_WHILE_92(p, o, s) BOOST_PP_WHILE_92_C(BOOST_PP_BOOL(p(93, s)), p, o, s)
-# define BOOST_PP_WHILE_93(p, o, s) BOOST_PP_WHILE_93_C(BOOST_PP_BOOL(p(94, s)), p, o, s)
-# define BOOST_PP_WHILE_94(p, o, s) BOOST_PP_WHILE_94_C(BOOST_PP_BOOL(p(95, s)), p, o, s)
-# define BOOST_PP_WHILE_95(p, o, s) BOOST_PP_WHILE_95_C(BOOST_PP_BOOL(p(96, s)), p, o, s)
-# define BOOST_PP_WHILE_96(p, o, s) BOOST_PP_WHILE_96_C(BOOST_PP_BOOL(p(97, s)), p, o, s)
-# define BOOST_PP_WHILE_97(p, o, s) BOOST_PP_WHILE_97_C(BOOST_PP_BOOL(p(98, s)), p, o, s)
-# define BOOST_PP_WHILE_98(p, o, s) BOOST_PP_WHILE_98_C(BOOST_PP_BOOL(p(99, s)), p, o, s)
-# define BOOST_PP_WHILE_99(p, o, s) BOOST_PP_WHILE_99_C(BOOST_PP_BOOL(p(100, s)), p, o, s)
-# define BOOST_PP_WHILE_100(p, o, s) BOOST_PP_WHILE_100_C(BOOST_PP_BOOL(p(101, s)), p, o, s)
-# define BOOST_PP_WHILE_101(p, o, s) BOOST_PP_WHILE_101_C(BOOST_PP_BOOL(p(102, s)), p, o, s)
-# define BOOST_PP_WHILE_102(p, o, s) BOOST_PP_WHILE_102_C(BOOST_PP_BOOL(p(103, s)), p, o, s)
-# define BOOST_PP_WHILE_103(p, o, s) BOOST_PP_WHILE_103_C(BOOST_PP_BOOL(p(104, s)), p, o, s)
-# define BOOST_PP_WHILE_104(p, o, s) BOOST_PP_WHILE_104_C(BOOST_PP_BOOL(p(105, s)), p, o, s)
-# define BOOST_PP_WHILE_105(p, o, s) BOOST_PP_WHILE_105_C(BOOST_PP_BOOL(p(106, s)), p, o, s)
-# define BOOST_PP_WHILE_106(p, o, s) BOOST_PP_WHILE_106_C(BOOST_PP_BOOL(p(107, s)), p, o, s)
-# define BOOST_PP_WHILE_107(p, o, s) BOOST_PP_WHILE_107_C(BOOST_PP_BOOL(p(108, s)), p, o, s)
-# define BOOST_PP_WHILE_108(p, o, s) BOOST_PP_WHILE_108_C(BOOST_PP_BOOL(p(109, s)), p, o, s)
-# define BOOST_PP_WHILE_109(p, o, s) BOOST_PP_WHILE_109_C(BOOST_PP_BOOL(p(110, s)), p, o, s)
-# define BOOST_PP_WHILE_110(p, o, s) BOOST_PP_WHILE_110_C(BOOST_PP_BOOL(p(111, s)), p, o, s)
-# define BOOST_PP_WHILE_111(p, o, s) BOOST_PP_WHILE_111_C(BOOST_PP_BOOL(p(112, s)), p, o, s)
-# define BOOST_PP_WHILE_112(p, o, s) BOOST_PP_WHILE_112_C(BOOST_PP_BOOL(p(113, s)), p, o, s)
-# define BOOST_PP_WHILE_113(p, o, s) BOOST_PP_WHILE_113_C(BOOST_PP_BOOL(p(114, s)), p, o, s)
-# define BOOST_PP_WHILE_114(p, o, s) BOOST_PP_WHILE_114_C(BOOST_PP_BOOL(p(115, s)), p, o, s)
-# define BOOST_PP_WHILE_115(p, o, s) BOOST_PP_WHILE_115_C(BOOST_PP_BOOL(p(116, s)), p, o, s)
-# define BOOST_PP_WHILE_116(p, o, s) BOOST_PP_WHILE_116_C(BOOST_PP_BOOL(p(117, s)), p, o, s)
-# define BOOST_PP_WHILE_117(p, o, s) BOOST_PP_WHILE_117_C(BOOST_PP_BOOL(p(118, s)), p, o, s)
-# define BOOST_PP_WHILE_118(p, o, s) BOOST_PP_WHILE_118_C(BOOST_PP_BOOL(p(119, s)), p, o, s)
-# define BOOST_PP_WHILE_119(p, o, s) BOOST_PP_WHILE_119_C(BOOST_PP_BOOL(p(120, s)), p, o, s)
-# define BOOST_PP_WHILE_120(p, o, s) BOOST_PP_WHILE_120_C(BOOST_PP_BOOL(p(121, s)), p, o, s)
-# define BOOST_PP_WHILE_121(p, o, s) BOOST_PP_WHILE_121_C(BOOST_PP_BOOL(p(122, s)), p, o, s)
-# define BOOST_PP_WHILE_122(p, o, s) BOOST_PP_WHILE_122_C(BOOST_PP_BOOL(p(123, s)), p, o, s)
-# define BOOST_PP_WHILE_123(p, o, s) BOOST_PP_WHILE_123_C(BOOST_PP_BOOL(p(124, s)), p, o, s)
-# define BOOST_PP_WHILE_124(p, o, s) BOOST_PP_WHILE_124_C(BOOST_PP_BOOL(p(125, s)), p, o, s)
-# define BOOST_PP_WHILE_125(p, o, s) BOOST_PP_WHILE_125_C(BOOST_PP_BOOL(p(126, s)), p, o, s)
-# define BOOST_PP_WHILE_126(p, o, s) BOOST_PP_WHILE_126_C(BOOST_PP_BOOL(p(127, s)), p, o, s)
-# define BOOST_PP_WHILE_127(p, o, s) BOOST_PP_WHILE_127_C(BOOST_PP_BOOL(p(128, s)), p, o, s)
-# define BOOST_PP_WHILE_128(p, o, s) BOOST_PP_WHILE_128_C(BOOST_PP_BOOL(p(129, s)), p, o, s)
-# define BOOST_PP_WHILE_129(p, o, s) BOOST_PP_WHILE_129_C(BOOST_PP_BOOL(p(130, s)), p, o, s)
-# define BOOST_PP_WHILE_130(p, o, s) BOOST_PP_WHILE_130_C(BOOST_PP_BOOL(p(131, s)), p, o, s)
-# define BOOST_PP_WHILE_131(p, o, s) BOOST_PP_WHILE_131_C(BOOST_PP_BOOL(p(132, s)), p, o, s)
-# define BOOST_PP_WHILE_132(p, o, s) BOOST_PP_WHILE_132_C(BOOST_PP_BOOL(p(133, s)), p, o, s)
-# define BOOST_PP_WHILE_133(p, o, s) BOOST_PP_WHILE_133_C(BOOST_PP_BOOL(p(134, s)), p, o, s)
-# define BOOST_PP_WHILE_134(p, o, s) BOOST_PP_WHILE_134_C(BOOST_PP_BOOL(p(135, s)), p, o, s)
-# define BOOST_PP_WHILE_135(p, o, s) BOOST_PP_WHILE_135_C(BOOST_PP_BOOL(p(136, s)), p, o, s)
-# define BOOST_PP_WHILE_136(p, o, s) BOOST_PP_WHILE_136_C(BOOST_PP_BOOL(p(137, s)), p, o, s)
-# define BOOST_PP_WHILE_137(p, o, s) BOOST_PP_WHILE_137_C(BOOST_PP_BOOL(p(138, s)), p, o, s)
-# define BOOST_PP_WHILE_138(p, o, s) BOOST_PP_WHILE_138_C(BOOST_PP_BOOL(p(139, s)), p, o, s)
-# define BOOST_PP_WHILE_139(p, o, s) BOOST_PP_WHILE_139_C(BOOST_PP_BOOL(p(140, s)), p, o, s)
-# define BOOST_PP_WHILE_140(p, o, s) BOOST_PP_WHILE_140_C(BOOST_PP_BOOL(p(141, s)), p, o, s)
-# define BOOST_PP_WHILE_141(p, o, s) BOOST_PP_WHILE_141_C(BOOST_PP_BOOL(p(142, s)), p, o, s)
-# define BOOST_PP_WHILE_142(p, o, s) BOOST_PP_WHILE_142_C(BOOST_PP_BOOL(p(143, s)), p, o, s)
-# define BOOST_PP_WHILE_143(p, o, s) BOOST_PP_WHILE_143_C(BOOST_PP_BOOL(p(144, s)), p, o, s)
-# define BOOST_PP_WHILE_144(p, o, s) BOOST_PP_WHILE_144_C(BOOST_PP_BOOL(p(145, s)), p, o, s)
-# define BOOST_PP_WHILE_145(p, o, s) BOOST_PP_WHILE_145_C(BOOST_PP_BOOL(p(146, s)), p, o, s)
-# define BOOST_PP_WHILE_146(p, o, s) BOOST_PP_WHILE_146_C(BOOST_PP_BOOL(p(147, s)), p, o, s)
-# define BOOST_PP_WHILE_147(p, o, s) BOOST_PP_WHILE_147_C(BOOST_PP_BOOL(p(148, s)), p, o, s)
-# define BOOST_PP_WHILE_148(p, o, s) BOOST_PP_WHILE_148_C(BOOST_PP_BOOL(p(149, s)), p, o, s)
-# define BOOST_PP_WHILE_149(p, o, s) BOOST_PP_WHILE_149_C(BOOST_PP_BOOL(p(150, s)), p, o, s)
-# define BOOST_PP_WHILE_150(p, o, s) BOOST_PP_WHILE_150_C(BOOST_PP_BOOL(p(151, s)), p, o, s)
-# define BOOST_PP_WHILE_151(p, o, s) BOOST_PP_WHILE_151_C(BOOST_PP_BOOL(p(152, s)), p, o, s)
-# define BOOST_PP_WHILE_152(p, o, s) BOOST_PP_WHILE_152_C(BOOST_PP_BOOL(p(153, s)), p, o, s)
-# define BOOST_PP_WHILE_153(p, o, s) BOOST_PP_WHILE_153_C(BOOST_PP_BOOL(p(154, s)), p, o, s)
-# define BOOST_PP_WHILE_154(p, o, s) BOOST_PP_WHILE_154_C(BOOST_PP_BOOL(p(155, s)), p, o, s)
-# define BOOST_PP_WHILE_155(p, o, s) BOOST_PP_WHILE_155_C(BOOST_PP_BOOL(p(156, s)), p, o, s)
-# define BOOST_PP_WHILE_156(p, o, s) BOOST_PP_WHILE_156_C(BOOST_PP_BOOL(p(157, s)), p, o, s)
-# define BOOST_PP_WHILE_157(p, o, s) BOOST_PP_WHILE_157_C(BOOST_PP_BOOL(p(158, s)), p, o, s)
-# define BOOST_PP_WHILE_158(p, o, s) BOOST_PP_WHILE_158_C(BOOST_PP_BOOL(p(159, s)), p, o, s)
-# define BOOST_PP_WHILE_159(p, o, s) BOOST_PP_WHILE_159_C(BOOST_PP_BOOL(p(160, s)), p, o, s)
-# define BOOST_PP_WHILE_160(p, o, s) BOOST_PP_WHILE_160_C(BOOST_PP_BOOL(p(161, s)), p, o, s)
-# define BOOST_PP_WHILE_161(p, o, s) BOOST_PP_WHILE_161_C(BOOST_PP_BOOL(p(162, s)), p, o, s)
-# define BOOST_PP_WHILE_162(p, o, s) BOOST_PP_WHILE_162_C(BOOST_PP_BOOL(p(163, s)), p, o, s)
-# define BOOST_PP_WHILE_163(p, o, s) BOOST_PP_WHILE_163_C(BOOST_PP_BOOL(p(164, s)), p, o, s)
-# define BOOST_PP_WHILE_164(p, o, s) BOOST_PP_WHILE_164_C(BOOST_PP_BOOL(p(165, s)), p, o, s)
-# define BOOST_PP_WHILE_165(p, o, s) BOOST_PP_WHILE_165_C(BOOST_PP_BOOL(p(166, s)), p, o, s)
-# define BOOST_PP_WHILE_166(p, o, s) BOOST_PP_WHILE_166_C(BOOST_PP_BOOL(p(167, s)), p, o, s)
-# define BOOST_PP_WHILE_167(p, o, s) BOOST_PP_WHILE_167_C(BOOST_PP_BOOL(p(168, s)), p, o, s)
-# define BOOST_PP_WHILE_168(p, o, s) BOOST_PP_WHILE_168_C(BOOST_PP_BOOL(p(169, s)), p, o, s)
-# define BOOST_PP_WHILE_169(p, o, s) BOOST_PP_WHILE_169_C(BOOST_PP_BOOL(p(170, s)), p, o, s)
-# define BOOST_PP_WHILE_170(p, o, s) BOOST_PP_WHILE_170_C(BOOST_PP_BOOL(p(171, s)), p, o, s)
-# define BOOST_PP_WHILE_171(p, o, s) BOOST_PP_WHILE_171_C(BOOST_PP_BOOL(p(172, s)), p, o, s)
-# define BOOST_PP_WHILE_172(p, o, s) BOOST_PP_WHILE_172_C(BOOST_PP_BOOL(p(173, s)), p, o, s)
-# define BOOST_PP_WHILE_173(p, o, s) BOOST_PP_WHILE_173_C(BOOST_PP_BOOL(p(174, s)), p, o, s)
-# define BOOST_PP_WHILE_174(p, o, s) BOOST_PP_WHILE_174_C(BOOST_PP_BOOL(p(175, s)), p, o, s)
-# define BOOST_PP_WHILE_175(p, o, s) BOOST_PP_WHILE_175_C(BOOST_PP_BOOL(p(176, s)), p, o, s)
-# define BOOST_PP_WHILE_176(p, o, s) BOOST_PP_WHILE_176_C(BOOST_PP_BOOL(p(177, s)), p, o, s)
-# define BOOST_PP_WHILE_177(p, o, s) BOOST_PP_WHILE_177_C(BOOST_PP_BOOL(p(178, s)), p, o, s)
-# define BOOST_PP_WHILE_178(p, o, s) BOOST_PP_WHILE_178_C(BOOST_PP_BOOL(p(179, s)), p, o, s)
-# define BOOST_PP_WHILE_179(p, o, s) BOOST_PP_WHILE_179_C(BOOST_PP_BOOL(p(180, s)), p, o, s)
-# define BOOST_PP_WHILE_180(p, o, s) BOOST_PP_WHILE_180_C(BOOST_PP_BOOL(p(181, s)), p, o, s)
-# define BOOST_PP_WHILE_181(p, o, s) BOOST_PP_WHILE_181_C(BOOST_PP_BOOL(p(182, s)), p, o, s)
-# define BOOST_PP_WHILE_182(p, o, s) BOOST_PP_WHILE_182_C(BOOST_PP_BOOL(p(183, s)), p, o, s)
-# define BOOST_PP_WHILE_183(p, o, s) BOOST_PP_WHILE_183_C(BOOST_PP_BOOL(p(184, s)), p, o, s)
-# define BOOST_PP_WHILE_184(p, o, s) BOOST_PP_WHILE_184_C(BOOST_PP_BOOL(p(185, s)), p, o, s)
-# define BOOST_PP_WHILE_185(p, o, s) BOOST_PP_WHILE_185_C(BOOST_PP_BOOL(p(186, s)), p, o, s)
-# define BOOST_PP_WHILE_186(p, o, s) BOOST_PP_WHILE_186_C(BOOST_PP_BOOL(p(187, s)), p, o, s)
-# define BOOST_PP_WHILE_187(p, o, s) BOOST_PP_WHILE_187_C(BOOST_PP_BOOL(p(188, s)), p, o, s)
-# define BOOST_PP_WHILE_188(p, o, s) BOOST_PP_WHILE_188_C(BOOST_PP_BOOL(p(189, s)), p, o, s)
-# define BOOST_PP_WHILE_189(p, o, s) BOOST_PP_WHILE_189_C(BOOST_PP_BOOL(p(190, s)), p, o, s)
-# define BOOST_PP_WHILE_190(p, o, s) BOOST_PP_WHILE_190_C(BOOST_PP_BOOL(p(191, s)), p, o, s)
-# define BOOST_PP_WHILE_191(p, o, s) BOOST_PP_WHILE_191_C(BOOST_PP_BOOL(p(192, s)), p, o, s)
-# define BOOST_PP_WHILE_192(p, o, s) BOOST_PP_WHILE_192_C(BOOST_PP_BOOL(p(193, s)), p, o, s)
-# define BOOST_PP_WHILE_193(p, o, s) BOOST_PP_WHILE_193_C(BOOST_PP_BOOL(p(194, s)), p, o, s)
-# define BOOST_PP_WHILE_194(p, o, s) BOOST_PP_WHILE_194_C(BOOST_PP_BOOL(p(195, s)), p, o, s)
-# define BOOST_PP_WHILE_195(p, o, s) BOOST_PP_WHILE_195_C(BOOST_PP_BOOL(p(196, s)), p, o, s)
-# define BOOST_PP_WHILE_196(p, o, s) BOOST_PP_WHILE_196_C(BOOST_PP_BOOL(p(197, s)), p, o, s)
-# define BOOST_PP_WHILE_197(p, o, s) BOOST_PP_WHILE_197_C(BOOST_PP_BOOL(p(198, s)), p, o, s)
-# define BOOST_PP_WHILE_198(p, o, s) BOOST_PP_WHILE_198_C(BOOST_PP_BOOL(p(199, s)), p, o, s)
-# define BOOST_PP_WHILE_199(p, o, s) BOOST_PP_WHILE_199_C(BOOST_PP_BOOL(p(200, s)), p, o, s)
-# define BOOST_PP_WHILE_200(p, o, s) BOOST_PP_WHILE_200_C(BOOST_PP_BOOL(p(201, s)), p, o, s)
-# define BOOST_PP_WHILE_201(p, o, s) BOOST_PP_WHILE_201_C(BOOST_PP_BOOL(p(202, s)), p, o, s)
-# define BOOST_PP_WHILE_202(p, o, s) BOOST_PP_WHILE_202_C(BOOST_PP_BOOL(p(203, s)), p, o, s)
-# define BOOST_PP_WHILE_203(p, o, s) BOOST_PP_WHILE_203_C(BOOST_PP_BOOL(p(204, s)), p, o, s)
-# define BOOST_PP_WHILE_204(p, o, s) BOOST_PP_WHILE_204_C(BOOST_PP_BOOL(p(205, s)), p, o, s)
-# define BOOST_PP_WHILE_205(p, o, s) BOOST_PP_WHILE_205_C(BOOST_PP_BOOL(p(206, s)), p, o, s)
-# define BOOST_PP_WHILE_206(p, o, s) BOOST_PP_WHILE_206_C(BOOST_PP_BOOL(p(207, s)), p, o, s)
-# define BOOST_PP_WHILE_207(p, o, s) BOOST_PP_WHILE_207_C(BOOST_PP_BOOL(p(208, s)), p, o, s)
-# define BOOST_PP_WHILE_208(p, o, s) BOOST_PP_WHILE_208_C(BOOST_PP_BOOL(p(209, s)), p, o, s)
-# define BOOST_PP_WHILE_209(p, o, s) BOOST_PP_WHILE_209_C(BOOST_PP_BOOL(p(210, s)), p, o, s)
-# define BOOST_PP_WHILE_210(p, o, s) BOOST_PP_WHILE_210_C(BOOST_PP_BOOL(p(211, s)), p, o, s)
-# define BOOST_PP_WHILE_211(p, o, s) BOOST_PP_WHILE_211_C(BOOST_PP_BOOL(p(212, s)), p, o, s)
-# define BOOST_PP_WHILE_212(p, o, s) BOOST_PP_WHILE_212_C(BOOST_PP_BOOL(p(213, s)), p, o, s)
-# define BOOST_PP_WHILE_213(p, o, s) BOOST_PP_WHILE_213_C(BOOST_PP_BOOL(p(214, s)), p, o, s)
-# define BOOST_PP_WHILE_214(p, o, s) BOOST_PP_WHILE_214_C(BOOST_PP_BOOL(p(215, s)), p, o, s)
-# define BOOST_PP_WHILE_215(p, o, s) BOOST_PP_WHILE_215_C(BOOST_PP_BOOL(p(216, s)), p, o, s)
-# define BOOST_PP_WHILE_216(p, o, s) BOOST_PP_WHILE_216_C(BOOST_PP_BOOL(p(217, s)), p, o, s)
-# define BOOST_PP_WHILE_217(p, o, s) BOOST_PP_WHILE_217_C(BOOST_PP_BOOL(p(218, s)), p, o, s)
-# define BOOST_PP_WHILE_218(p, o, s) BOOST_PP_WHILE_218_C(BOOST_PP_BOOL(p(219, s)), p, o, s)
-# define BOOST_PP_WHILE_219(p, o, s) BOOST_PP_WHILE_219_C(BOOST_PP_BOOL(p(220, s)), p, o, s)
-# define BOOST_PP_WHILE_220(p, o, s) BOOST_PP_WHILE_220_C(BOOST_PP_BOOL(p(221, s)), p, o, s)
-# define BOOST_PP_WHILE_221(p, o, s) BOOST_PP_WHILE_221_C(BOOST_PP_BOOL(p(222, s)), p, o, s)
-# define BOOST_PP_WHILE_222(p, o, s) BOOST_PP_WHILE_222_C(BOOST_PP_BOOL(p(223, s)), p, o, s)
-# define BOOST_PP_WHILE_223(p, o, s) BOOST_PP_WHILE_223_C(BOOST_PP_BOOL(p(224, s)), p, o, s)
-# define BOOST_PP_WHILE_224(p, o, s) BOOST_PP_WHILE_224_C(BOOST_PP_BOOL(p(225, s)), p, o, s)
-# define BOOST_PP_WHILE_225(p, o, s) BOOST_PP_WHILE_225_C(BOOST_PP_BOOL(p(226, s)), p, o, s)
-# define BOOST_PP_WHILE_226(p, o, s) BOOST_PP_WHILE_226_C(BOOST_PP_BOOL(p(227, s)), p, o, s)
-# define BOOST_PP_WHILE_227(p, o, s) BOOST_PP_WHILE_227_C(BOOST_PP_BOOL(p(228, s)), p, o, s)
-# define BOOST_PP_WHILE_228(p, o, s) BOOST_PP_WHILE_228_C(BOOST_PP_BOOL(p(229, s)), p, o, s)
-# define BOOST_PP_WHILE_229(p, o, s) BOOST_PP_WHILE_229_C(BOOST_PP_BOOL(p(230, s)), p, o, s)
-# define BOOST_PP_WHILE_230(p, o, s) BOOST_PP_WHILE_230_C(BOOST_PP_BOOL(p(231, s)), p, o, s)
-# define BOOST_PP_WHILE_231(p, o, s) BOOST_PP_WHILE_231_C(BOOST_PP_BOOL(p(232, s)), p, o, s)
-# define BOOST_PP_WHILE_232(p, o, s) BOOST_PP_WHILE_232_C(BOOST_PP_BOOL(p(233, s)), p, o, s)
-# define BOOST_PP_WHILE_233(p, o, s) BOOST_PP_WHILE_233_C(BOOST_PP_BOOL(p(234, s)), p, o, s)
-# define BOOST_PP_WHILE_234(p, o, s) BOOST_PP_WHILE_234_C(BOOST_PP_BOOL(p(235, s)), p, o, s)
-# define BOOST_PP_WHILE_235(p, o, s) BOOST_PP_WHILE_235_C(BOOST_PP_BOOL(p(236, s)), p, o, s)
-# define BOOST_PP_WHILE_236(p, o, s) BOOST_PP_WHILE_236_C(BOOST_PP_BOOL(p(237, s)), p, o, s)
-# define BOOST_PP_WHILE_237(p, o, s) BOOST_PP_WHILE_237_C(BOOST_PP_BOOL(p(238, s)), p, o, s)
-# define BOOST_PP_WHILE_238(p, o, s) BOOST_PP_WHILE_238_C(BOOST_PP_BOOL(p(239, s)), p, o, s)
-# define BOOST_PP_WHILE_239(p, o, s) BOOST_PP_WHILE_239_C(BOOST_PP_BOOL(p(240, s)), p, o, s)
-# define BOOST_PP_WHILE_240(p, o, s) BOOST_PP_WHILE_240_C(BOOST_PP_BOOL(p(241, s)), p, o, s)
-# define BOOST_PP_WHILE_241(p, o, s) BOOST_PP_WHILE_241_C(BOOST_PP_BOOL(p(242, s)), p, o, s)
-# define BOOST_PP_WHILE_242(p, o, s) BOOST_PP_WHILE_242_C(BOOST_PP_BOOL(p(243, s)), p, o, s)
-# define BOOST_PP_WHILE_243(p, o, s) BOOST_PP_WHILE_243_C(BOOST_PP_BOOL(p(244, s)), p, o, s)
-# define BOOST_PP_WHILE_244(p, o, s) BOOST_PP_WHILE_244_C(BOOST_PP_BOOL(p(245, s)), p, o, s)
-# define BOOST_PP_WHILE_245(p, o, s) BOOST_PP_WHILE_245_C(BOOST_PP_BOOL(p(246, s)), p, o, s)
-# define BOOST_PP_WHILE_246(p, o, s) BOOST_PP_WHILE_246_C(BOOST_PP_BOOL(p(247, s)), p, o, s)
-# define BOOST_PP_WHILE_247(p, o, s) BOOST_PP_WHILE_247_C(BOOST_PP_BOOL(p(248, s)), p, o, s)
-# define BOOST_PP_WHILE_248(p, o, s) BOOST_PP_WHILE_248_C(BOOST_PP_BOOL(p(249, s)), p, o, s)
-# define BOOST_PP_WHILE_249(p, o, s) BOOST_PP_WHILE_249_C(BOOST_PP_BOOL(p(250, s)), p, o, s)
-# define BOOST_PP_WHILE_250(p, o, s) BOOST_PP_WHILE_250_C(BOOST_PP_BOOL(p(251, s)), p, o, s)
-# define BOOST_PP_WHILE_251(p, o, s) BOOST_PP_WHILE_251_C(BOOST_PP_BOOL(p(252, s)), p, o, s)
-# define BOOST_PP_WHILE_252(p, o, s) BOOST_PP_WHILE_252_C(BOOST_PP_BOOL(p(253, s)), p, o, s)
-# define BOOST_PP_WHILE_253(p, o, s) BOOST_PP_WHILE_253_C(BOOST_PP_BOOL(p(254, s)), p, o, s)
-# define BOOST_PP_WHILE_254(p, o, s) BOOST_PP_WHILE_254_C(BOOST_PP_BOOL(p(255, s)), p, o, s)
-# define BOOST_PP_WHILE_255(p, o, s) BOOST_PP_WHILE_255_C(BOOST_PP_BOOL(p(256, s)), p, o, s)
-# define BOOST_PP_WHILE_256(p, o, s) BOOST_PP_WHILE_256_C(BOOST_PP_BOOL(p(257, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_1(p, o, s) NDNBOOST_PP_WHILE_1_C(NDNBOOST_PP_BOOL(p(2, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_2(p, o, s) NDNBOOST_PP_WHILE_2_C(NDNBOOST_PP_BOOL(p(3, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_3(p, o, s) NDNBOOST_PP_WHILE_3_C(NDNBOOST_PP_BOOL(p(4, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_4(p, o, s) NDNBOOST_PP_WHILE_4_C(NDNBOOST_PP_BOOL(p(5, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_5(p, o, s) NDNBOOST_PP_WHILE_5_C(NDNBOOST_PP_BOOL(p(6, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_6(p, o, s) NDNBOOST_PP_WHILE_6_C(NDNBOOST_PP_BOOL(p(7, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_7(p, o, s) NDNBOOST_PP_WHILE_7_C(NDNBOOST_PP_BOOL(p(8, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_8(p, o, s) NDNBOOST_PP_WHILE_8_C(NDNBOOST_PP_BOOL(p(9, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_9(p, o, s) NDNBOOST_PP_WHILE_9_C(NDNBOOST_PP_BOOL(p(10, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_10(p, o, s) NDNBOOST_PP_WHILE_10_C(NDNBOOST_PP_BOOL(p(11, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_11(p, o, s) NDNBOOST_PP_WHILE_11_C(NDNBOOST_PP_BOOL(p(12, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_12(p, o, s) NDNBOOST_PP_WHILE_12_C(NDNBOOST_PP_BOOL(p(13, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_13(p, o, s) NDNBOOST_PP_WHILE_13_C(NDNBOOST_PP_BOOL(p(14, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_14(p, o, s) NDNBOOST_PP_WHILE_14_C(NDNBOOST_PP_BOOL(p(15, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_15(p, o, s) NDNBOOST_PP_WHILE_15_C(NDNBOOST_PP_BOOL(p(16, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_16(p, o, s) NDNBOOST_PP_WHILE_16_C(NDNBOOST_PP_BOOL(p(17, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_17(p, o, s) NDNBOOST_PP_WHILE_17_C(NDNBOOST_PP_BOOL(p(18, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_18(p, o, s) NDNBOOST_PP_WHILE_18_C(NDNBOOST_PP_BOOL(p(19, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_19(p, o, s) NDNBOOST_PP_WHILE_19_C(NDNBOOST_PP_BOOL(p(20, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_20(p, o, s) NDNBOOST_PP_WHILE_20_C(NDNBOOST_PP_BOOL(p(21, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_21(p, o, s) NDNBOOST_PP_WHILE_21_C(NDNBOOST_PP_BOOL(p(22, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_22(p, o, s) NDNBOOST_PP_WHILE_22_C(NDNBOOST_PP_BOOL(p(23, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_23(p, o, s) NDNBOOST_PP_WHILE_23_C(NDNBOOST_PP_BOOL(p(24, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_24(p, o, s) NDNBOOST_PP_WHILE_24_C(NDNBOOST_PP_BOOL(p(25, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_25(p, o, s) NDNBOOST_PP_WHILE_25_C(NDNBOOST_PP_BOOL(p(26, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_26(p, o, s) NDNBOOST_PP_WHILE_26_C(NDNBOOST_PP_BOOL(p(27, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_27(p, o, s) NDNBOOST_PP_WHILE_27_C(NDNBOOST_PP_BOOL(p(28, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_28(p, o, s) NDNBOOST_PP_WHILE_28_C(NDNBOOST_PP_BOOL(p(29, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_29(p, o, s) NDNBOOST_PP_WHILE_29_C(NDNBOOST_PP_BOOL(p(30, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_30(p, o, s) NDNBOOST_PP_WHILE_30_C(NDNBOOST_PP_BOOL(p(31, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_31(p, o, s) NDNBOOST_PP_WHILE_31_C(NDNBOOST_PP_BOOL(p(32, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_32(p, o, s) NDNBOOST_PP_WHILE_32_C(NDNBOOST_PP_BOOL(p(33, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_33(p, o, s) NDNBOOST_PP_WHILE_33_C(NDNBOOST_PP_BOOL(p(34, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_34(p, o, s) NDNBOOST_PP_WHILE_34_C(NDNBOOST_PP_BOOL(p(35, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_35(p, o, s) NDNBOOST_PP_WHILE_35_C(NDNBOOST_PP_BOOL(p(36, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_36(p, o, s) NDNBOOST_PP_WHILE_36_C(NDNBOOST_PP_BOOL(p(37, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_37(p, o, s) NDNBOOST_PP_WHILE_37_C(NDNBOOST_PP_BOOL(p(38, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_38(p, o, s) NDNBOOST_PP_WHILE_38_C(NDNBOOST_PP_BOOL(p(39, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_39(p, o, s) NDNBOOST_PP_WHILE_39_C(NDNBOOST_PP_BOOL(p(40, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_40(p, o, s) NDNBOOST_PP_WHILE_40_C(NDNBOOST_PP_BOOL(p(41, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_41(p, o, s) NDNBOOST_PP_WHILE_41_C(NDNBOOST_PP_BOOL(p(42, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_42(p, o, s) NDNBOOST_PP_WHILE_42_C(NDNBOOST_PP_BOOL(p(43, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_43(p, o, s) NDNBOOST_PP_WHILE_43_C(NDNBOOST_PP_BOOL(p(44, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_44(p, o, s) NDNBOOST_PP_WHILE_44_C(NDNBOOST_PP_BOOL(p(45, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_45(p, o, s) NDNBOOST_PP_WHILE_45_C(NDNBOOST_PP_BOOL(p(46, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_46(p, o, s) NDNBOOST_PP_WHILE_46_C(NDNBOOST_PP_BOOL(p(47, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_47(p, o, s) NDNBOOST_PP_WHILE_47_C(NDNBOOST_PP_BOOL(p(48, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_48(p, o, s) NDNBOOST_PP_WHILE_48_C(NDNBOOST_PP_BOOL(p(49, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_49(p, o, s) NDNBOOST_PP_WHILE_49_C(NDNBOOST_PP_BOOL(p(50, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_50(p, o, s) NDNBOOST_PP_WHILE_50_C(NDNBOOST_PP_BOOL(p(51, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_51(p, o, s) NDNBOOST_PP_WHILE_51_C(NDNBOOST_PP_BOOL(p(52, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_52(p, o, s) NDNBOOST_PP_WHILE_52_C(NDNBOOST_PP_BOOL(p(53, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_53(p, o, s) NDNBOOST_PP_WHILE_53_C(NDNBOOST_PP_BOOL(p(54, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_54(p, o, s) NDNBOOST_PP_WHILE_54_C(NDNBOOST_PP_BOOL(p(55, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_55(p, o, s) NDNBOOST_PP_WHILE_55_C(NDNBOOST_PP_BOOL(p(56, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_56(p, o, s) NDNBOOST_PP_WHILE_56_C(NDNBOOST_PP_BOOL(p(57, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_57(p, o, s) NDNBOOST_PP_WHILE_57_C(NDNBOOST_PP_BOOL(p(58, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_58(p, o, s) NDNBOOST_PP_WHILE_58_C(NDNBOOST_PP_BOOL(p(59, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_59(p, o, s) NDNBOOST_PP_WHILE_59_C(NDNBOOST_PP_BOOL(p(60, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_60(p, o, s) NDNBOOST_PP_WHILE_60_C(NDNBOOST_PP_BOOL(p(61, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_61(p, o, s) NDNBOOST_PP_WHILE_61_C(NDNBOOST_PP_BOOL(p(62, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_62(p, o, s) NDNBOOST_PP_WHILE_62_C(NDNBOOST_PP_BOOL(p(63, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_63(p, o, s) NDNBOOST_PP_WHILE_63_C(NDNBOOST_PP_BOOL(p(64, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_64(p, o, s) NDNBOOST_PP_WHILE_64_C(NDNBOOST_PP_BOOL(p(65, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_65(p, o, s) NDNBOOST_PP_WHILE_65_C(NDNBOOST_PP_BOOL(p(66, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_66(p, o, s) NDNBOOST_PP_WHILE_66_C(NDNBOOST_PP_BOOL(p(67, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_67(p, o, s) NDNBOOST_PP_WHILE_67_C(NDNBOOST_PP_BOOL(p(68, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_68(p, o, s) NDNBOOST_PP_WHILE_68_C(NDNBOOST_PP_BOOL(p(69, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_69(p, o, s) NDNBOOST_PP_WHILE_69_C(NDNBOOST_PP_BOOL(p(70, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_70(p, o, s) NDNBOOST_PP_WHILE_70_C(NDNBOOST_PP_BOOL(p(71, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_71(p, o, s) NDNBOOST_PP_WHILE_71_C(NDNBOOST_PP_BOOL(p(72, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_72(p, o, s) NDNBOOST_PP_WHILE_72_C(NDNBOOST_PP_BOOL(p(73, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_73(p, o, s) NDNBOOST_PP_WHILE_73_C(NDNBOOST_PP_BOOL(p(74, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_74(p, o, s) NDNBOOST_PP_WHILE_74_C(NDNBOOST_PP_BOOL(p(75, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_75(p, o, s) NDNBOOST_PP_WHILE_75_C(NDNBOOST_PP_BOOL(p(76, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_76(p, o, s) NDNBOOST_PP_WHILE_76_C(NDNBOOST_PP_BOOL(p(77, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_77(p, o, s) NDNBOOST_PP_WHILE_77_C(NDNBOOST_PP_BOOL(p(78, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_78(p, o, s) NDNBOOST_PP_WHILE_78_C(NDNBOOST_PP_BOOL(p(79, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_79(p, o, s) NDNBOOST_PP_WHILE_79_C(NDNBOOST_PP_BOOL(p(80, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_80(p, o, s) NDNBOOST_PP_WHILE_80_C(NDNBOOST_PP_BOOL(p(81, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_81(p, o, s) NDNBOOST_PP_WHILE_81_C(NDNBOOST_PP_BOOL(p(82, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_82(p, o, s) NDNBOOST_PP_WHILE_82_C(NDNBOOST_PP_BOOL(p(83, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_83(p, o, s) NDNBOOST_PP_WHILE_83_C(NDNBOOST_PP_BOOL(p(84, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_84(p, o, s) NDNBOOST_PP_WHILE_84_C(NDNBOOST_PP_BOOL(p(85, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_85(p, o, s) NDNBOOST_PP_WHILE_85_C(NDNBOOST_PP_BOOL(p(86, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_86(p, o, s) NDNBOOST_PP_WHILE_86_C(NDNBOOST_PP_BOOL(p(87, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_87(p, o, s) NDNBOOST_PP_WHILE_87_C(NDNBOOST_PP_BOOL(p(88, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_88(p, o, s) NDNBOOST_PP_WHILE_88_C(NDNBOOST_PP_BOOL(p(89, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_89(p, o, s) NDNBOOST_PP_WHILE_89_C(NDNBOOST_PP_BOOL(p(90, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_90(p, o, s) NDNBOOST_PP_WHILE_90_C(NDNBOOST_PP_BOOL(p(91, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_91(p, o, s) NDNBOOST_PP_WHILE_91_C(NDNBOOST_PP_BOOL(p(92, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_92(p, o, s) NDNBOOST_PP_WHILE_92_C(NDNBOOST_PP_BOOL(p(93, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_93(p, o, s) NDNBOOST_PP_WHILE_93_C(NDNBOOST_PP_BOOL(p(94, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_94(p, o, s) NDNBOOST_PP_WHILE_94_C(NDNBOOST_PP_BOOL(p(95, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_95(p, o, s) NDNBOOST_PP_WHILE_95_C(NDNBOOST_PP_BOOL(p(96, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_96(p, o, s) NDNBOOST_PP_WHILE_96_C(NDNBOOST_PP_BOOL(p(97, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_97(p, o, s) NDNBOOST_PP_WHILE_97_C(NDNBOOST_PP_BOOL(p(98, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_98(p, o, s) NDNBOOST_PP_WHILE_98_C(NDNBOOST_PP_BOOL(p(99, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_99(p, o, s) NDNBOOST_PP_WHILE_99_C(NDNBOOST_PP_BOOL(p(100, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_100(p, o, s) NDNBOOST_PP_WHILE_100_C(NDNBOOST_PP_BOOL(p(101, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_101(p, o, s) NDNBOOST_PP_WHILE_101_C(NDNBOOST_PP_BOOL(p(102, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_102(p, o, s) NDNBOOST_PP_WHILE_102_C(NDNBOOST_PP_BOOL(p(103, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_103(p, o, s) NDNBOOST_PP_WHILE_103_C(NDNBOOST_PP_BOOL(p(104, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_104(p, o, s) NDNBOOST_PP_WHILE_104_C(NDNBOOST_PP_BOOL(p(105, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_105(p, o, s) NDNBOOST_PP_WHILE_105_C(NDNBOOST_PP_BOOL(p(106, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_106(p, o, s) NDNBOOST_PP_WHILE_106_C(NDNBOOST_PP_BOOL(p(107, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_107(p, o, s) NDNBOOST_PP_WHILE_107_C(NDNBOOST_PP_BOOL(p(108, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_108(p, o, s) NDNBOOST_PP_WHILE_108_C(NDNBOOST_PP_BOOL(p(109, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_109(p, o, s) NDNBOOST_PP_WHILE_109_C(NDNBOOST_PP_BOOL(p(110, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_110(p, o, s) NDNBOOST_PP_WHILE_110_C(NDNBOOST_PP_BOOL(p(111, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_111(p, o, s) NDNBOOST_PP_WHILE_111_C(NDNBOOST_PP_BOOL(p(112, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_112(p, o, s) NDNBOOST_PP_WHILE_112_C(NDNBOOST_PP_BOOL(p(113, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_113(p, o, s) NDNBOOST_PP_WHILE_113_C(NDNBOOST_PP_BOOL(p(114, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_114(p, o, s) NDNBOOST_PP_WHILE_114_C(NDNBOOST_PP_BOOL(p(115, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_115(p, o, s) NDNBOOST_PP_WHILE_115_C(NDNBOOST_PP_BOOL(p(116, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_116(p, o, s) NDNBOOST_PP_WHILE_116_C(NDNBOOST_PP_BOOL(p(117, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_117(p, o, s) NDNBOOST_PP_WHILE_117_C(NDNBOOST_PP_BOOL(p(118, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_118(p, o, s) NDNBOOST_PP_WHILE_118_C(NDNBOOST_PP_BOOL(p(119, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_119(p, o, s) NDNBOOST_PP_WHILE_119_C(NDNBOOST_PP_BOOL(p(120, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_120(p, o, s) NDNBOOST_PP_WHILE_120_C(NDNBOOST_PP_BOOL(p(121, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_121(p, o, s) NDNBOOST_PP_WHILE_121_C(NDNBOOST_PP_BOOL(p(122, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_122(p, o, s) NDNBOOST_PP_WHILE_122_C(NDNBOOST_PP_BOOL(p(123, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_123(p, o, s) NDNBOOST_PP_WHILE_123_C(NDNBOOST_PP_BOOL(p(124, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_124(p, o, s) NDNBOOST_PP_WHILE_124_C(NDNBOOST_PP_BOOL(p(125, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_125(p, o, s) NDNBOOST_PP_WHILE_125_C(NDNBOOST_PP_BOOL(p(126, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_126(p, o, s) NDNBOOST_PP_WHILE_126_C(NDNBOOST_PP_BOOL(p(127, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_127(p, o, s) NDNBOOST_PP_WHILE_127_C(NDNBOOST_PP_BOOL(p(128, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_128(p, o, s) NDNBOOST_PP_WHILE_128_C(NDNBOOST_PP_BOOL(p(129, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_129(p, o, s) NDNBOOST_PP_WHILE_129_C(NDNBOOST_PP_BOOL(p(130, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_130(p, o, s) NDNBOOST_PP_WHILE_130_C(NDNBOOST_PP_BOOL(p(131, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_131(p, o, s) NDNBOOST_PP_WHILE_131_C(NDNBOOST_PP_BOOL(p(132, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_132(p, o, s) NDNBOOST_PP_WHILE_132_C(NDNBOOST_PP_BOOL(p(133, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_133(p, o, s) NDNBOOST_PP_WHILE_133_C(NDNBOOST_PP_BOOL(p(134, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_134(p, o, s) NDNBOOST_PP_WHILE_134_C(NDNBOOST_PP_BOOL(p(135, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_135(p, o, s) NDNBOOST_PP_WHILE_135_C(NDNBOOST_PP_BOOL(p(136, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_136(p, o, s) NDNBOOST_PP_WHILE_136_C(NDNBOOST_PP_BOOL(p(137, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_137(p, o, s) NDNBOOST_PP_WHILE_137_C(NDNBOOST_PP_BOOL(p(138, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_138(p, o, s) NDNBOOST_PP_WHILE_138_C(NDNBOOST_PP_BOOL(p(139, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_139(p, o, s) NDNBOOST_PP_WHILE_139_C(NDNBOOST_PP_BOOL(p(140, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_140(p, o, s) NDNBOOST_PP_WHILE_140_C(NDNBOOST_PP_BOOL(p(141, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_141(p, o, s) NDNBOOST_PP_WHILE_141_C(NDNBOOST_PP_BOOL(p(142, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_142(p, o, s) NDNBOOST_PP_WHILE_142_C(NDNBOOST_PP_BOOL(p(143, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_143(p, o, s) NDNBOOST_PP_WHILE_143_C(NDNBOOST_PP_BOOL(p(144, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_144(p, o, s) NDNBOOST_PP_WHILE_144_C(NDNBOOST_PP_BOOL(p(145, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_145(p, o, s) NDNBOOST_PP_WHILE_145_C(NDNBOOST_PP_BOOL(p(146, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_146(p, o, s) NDNBOOST_PP_WHILE_146_C(NDNBOOST_PP_BOOL(p(147, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_147(p, o, s) NDNBOOST_PP_WHILE_147_C(NDNBOOST_PP_BOOL(p(148, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_148(p, o, s) NDNBOOST_PP_WHILE_148_C(NDNBOOST_PP_BOOL(p(149, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_149(p, o, s) NDNBOOST_PP_WHILE_149_C(NDNBOOST_PP_BOOL(p(150, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_150(p, o, s) NDNBOOST_PP_WHILE_150_C(NDNBOOST_PP_BOOL(p(151, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_151(p, o, s) NDNBOOST_PP_WHILE_151_C(NDNBOOST_PP_BOOL(p(152, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_152(p, o, s) NDNBOOST_PP_WHILE_152_C(NDNBOOST_PP_BOOL(p(153, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_153(p, o, s) NDNBOOST_PP_WHILE_153_C(NDNBOOST_PP_BOOL(p(154, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_154(p, o, s) NDNBOOST_PP_WHILE_154_C(NDNBOOST_PP_BOOL(p(155, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_155(p, o, s) NDNBOOST_PP_WHILE_155_C(NDNBOOST_PP_BOOL(p(156, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_156(p, o, s) NDNBOOST_PP_WHILE_156_C(NDNBOOST_PP_BOOL(p(157, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_157(p, o, s) NDNBOOST_PP_WHILE_157_C(NDNBOOST_PP_BOOL(p(158, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_158(p, o, s) NDNBOOST_PP_WHILE_158_C(NDNBOOST_PP_BOOL(p(159, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_159(p, o, s) NDNBOOST_PP_WHILE_159_C(NDNBOOST_PP_BOOL(p(160, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_160(p, o, s) NDNBOOST_PP_WHILE_160_C(NDNBOOST_PP_BOOL(p(161, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_161(p, o, s) NDNBOOST_PP_WHILE_161_C(NDNBOOST_PP_BOOL(p(162, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_162(p, o, s) NDNBOOST_PP_WHILE_162_C(NDNBOOST_PP_BOOL(p(163, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_163(p, o, s) NDNBOOST_PP_WHILE_163_C(NDNBOOST_PP_BOOL(p(164, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_164(p, o, s) NDNBOOST_PP_WHILE_164_C(NDNBOOST_PP_BOOL(p(165, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_165(p, o, s) NDNBOOST_PP_WHILE_165_C(NDNBOOST_PP_BOOL(p(166, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_166(p, o, s) NDNBOOST_PP_WHILE_166_C(NDNBOOST_PP_BOOL(p(167, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_167(p, o, s) NDNBOOST_PP_WHILE_167_C(NDNBOOST_PP_BOOL(p(168, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_168(p, o, s) NDNBOOST_PP_WHILE_168_C(NDNBOOST_PP_BOOL(p(169, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_169(p, o, s) NDNBOOST_PP_WHILE_169_C(NDNBOOST_PP_BOOL(p(170, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_170(p, o, s) NDNBOOST_PP_WHILE_170_C(NDNBOOST_PP_BOOL(p(171, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_171(p, o, s) NDNBOOST_PP_WHILE_171_C(NDNBOOST_PP_BOOL(p(172, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_172(p, o, s) NDNBOOST_PP_WHILE_172_C(NDNBOOST_PP_BOOL(p(173, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_173(p, o, s) NDNBOOST_PP_WHILE_173_C(NDNBOOST_PP_BOOL(p(174, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_174(p, o, s) NDNBOOST_PP_WHILE_174_C(NDNBOOST_PP_BOOL(p(175, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_175(p, o, s) NDNBOOST_PP_WHILE_175_C(NDNBOOST_PP_BOOL(p(176, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_176(p, o, s) NDNBOOST_PP_WHILE_176_C(NDNBOOST_PP_BOOL(p(177, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_177(p, o, s) NDNBOOST_PP_WHILE_177_C(NDNBOOST_PP_BOOL(p(178, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_178(p, o, s) NDNBOOST_PP_WHILE_178_C(NDNBOOST_PP_BOOL(p(179, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_179(p, o, s) NDNBOOST_PP_WHILE_179_C(NDNBOOST_PP_BOOL(p(180, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_180(p, o, s) NDNBOOST_PP_WHILE_180_C(NDNBOOST_PP_BOOL(p(181, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_181(p, o, s) NDNBOOST_PP_WHILE_181_C(NDNBOOST_PP_BOOL(p(182, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_182(p, o, s) NDNBOOST_PP_WHILE_182_C(NDNBOOST_PP_BOOL(p(183, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_183(p, o, s) NDNBOOST_PP_WHILE_183_C(NDNBOOST_PP_BOOL(p(184, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_184(p, o, s) NDNBOOST_PP_WHILE_184_C(NDNBOOST_PP_BOOL(p(185, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_185(p, o, s) NDNBOOST_PP_WHILE_185_C(NDNBOOST_PP_BOOL(p(186, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_186(p, o, s) NDNBOOST_PP_WHILE_186_C(NDNBOOST_PP_BOOL(p(187, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_187(p, o, s) NDNBOOST_PP_WHILE_187_C(NDNBOOST_PP_BOOL(p(188, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_188(p, o, s) NDNBOOST_PP_WHILE_188_C(NDNBOOST_PP_BOOL(p(189, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_189(p, o, s) NDNBOOST_PP_WHILE_189_C(NDNBOOST_PP_BOOL(p(190, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_190(p, o, s) NDNBOOST_PP_WHILE_190_C(NDNBOOST_PP_BOOL(p(191, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_191(p, o, s) NDNBOOST_PP_WHILE_191_C(NDNBOOST_PP_BOOL(p(192, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_192(p, o, s) NDNBOOST_PP_WHILE_192_C(NDNBOOST_PP_BOOL(p(193, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_193(p, o, s) NDNBOOST_PP_WHILE_193_C(NDNBOOST_PP_BOOL(p(194, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_194(p, o, s) NDNBOOST_PP_WHILE_194_C(NDNBOOST_PP_BOOL(p(195, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_195(p, o, s) NDNBOOST_PP_WHILE_195_C(NDNBOOST_PP_BOOL(p(196, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_196(p, o, s) NDNBOOST_PP_WHILE_196_C(NDNBOOST_PP_BOOL(p(197, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_197(p, o, s) NDNBOOST_PP_WHILE_197_C(NDNBOOST_PP_BOOL(p(198, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_198(p, o, s) NDNBOOST_PP_WHILE_198_C(NDNBOOST_PP_BOOL(p(199, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_199(p, o, s) NDNBOOST_PP_WHILE_199_C(NDNBOOST_PP_BOOL(p(200, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_200(p, o, s) NDNBOOST_PP_WHILE_200_C(NDNBOOST_PP_BOOL(p(201, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_201(p, o, s) NDNBOOST_PP_WHILE_201_C(NDNBOOST_PP_BOOL(p(202, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_202(p, o, s) NDNBOOST_PP_WHILE_202_C(NDNBOOST_PP_BOOL(p(203, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_203(p, o, s) NDNBOOST_PP_WHILE_203_C(NDNBOOST_PP_BOOL(p(204, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_204(p, o, s) NDNBOOST_PP_WHILE_204_C(NDNBOOST_PP_BOOL(p(205, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_205(p, o, s) NDNBOOST_PP_WHILE_205_C(NDNBOOST_PP_BOOL(p(206, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_206(p, o, s) NDNBOOST_PP_WHILE_206_C(NDNBOOST_PP_BOOL(p(207, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_207(p, o, s) NDNBOOST_PP_WHILE_207_C(NDNBOOST_PP_BOOL(p(208, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_208(p, o, s) NDNBOOST_PP_WHILE_208_C(NDNBOOST_PP_BOOL(p(209, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_209(p, o, s) NDNBOOST_PP_WHILE_209_C(NDNBOOST_PP_BOOL(p(210, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_210(p, o, s) NDNBOOST_PP_WHILE_210_C(NDNBOOST_PP_BOOL(p(211, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_211(p, o, s) NDNBOOST_PP_WHILE_211_C(NDNBOOST_PP_BOOL(p(212, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_212(p, o, s) NDNBOOST_PP_WHILE_212_C(NDNBOOST_PP_BOOL(p(213, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_213(p, o, s) NDNBOOST_PP_WHILE_213_C(NDNBOOST_PP_BOOL(p(214, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_214(p, o, s) NDNBOOST_PP_WHILE_214_C(NDNBOOST_PP_BOOL(p(215, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_215(p, o, s) NDNBOOST_PP_WHILE_215_C(NDNBOOST_PP_BOOL(p(216, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_216(p, o, s) NDNBOOST_PP_WHILE_216_C(NDNBOOST_PP_BOOL(p(217, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_217(p, o, s) NDNBOOST_PP_WHILE_217_C(NDNBOOST_PP_BOOL(p(218, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_218(p, o, s) NDNBOOST_PP_WHILE_218_C(NDNBOOST_PP_BOOL(p(219, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_219(p, o, s) NDNBOOST_PP_WHILE_219_C(NDNBOOST_PP_BOOL(p(220, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_220(p, o, s) NDNBOOST_PP_WHILE_220_C(NDNBOOST_PP_BOOL(p(221, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_221(p, o, s) NDNBOOST_PP_WHILE_221_C(NDNBOOST_PP_BOOL(p(222, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_222(p, o, s) NDNBOOST_PP_WHILE_222_C(NDNBOOST_PP_BOOL(p(223, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_223(p, o, s) NDNBOOST_PP_WHILE_223_C(NDNBOOST_PP_BOOL(p(224, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_224(p, o, s) NDNBOOST_PP_WHILE_224_C(NDNBOOST_PP_BOOL(p(225, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_225(p, o, s) NDNBOOST_PP_WHILE_225_C(NDNBOOST_PP_BOOL(p(226, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_226(p, o, s) NDNBOOST_PP_WHILE_226_C(NDNBOOST_PP_BOOL(p(227, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_227(p, o, s) NDNBOOST_PP_WHILE_227_C(NDNBOOST_PP_BOOL(p(228, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_228(p, o, s) NDNBOOST_PP_WHILE_228_C(NDNBOOST_PP_BOOL(p(229, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_229(p, o, s) NDNBOOST_PP_WHILE_229_C(NDNBOOST_PP_BOOL(p(230, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_230(p, o, s) NDNBOOST_PP_WHILE_230_C(NDNBOOST_PP_BOOL(p(231, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_231(p, o, s) NDNBOOST_PP_WHILE_231_C(NDNBOOST_PP_BOOL(p(232, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_232(p, o, s) NDNBOOST_PP_WHILE_232_C(NDNBOOST_PP_BOOL(p(233, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_233(p, o, s) NDNBOOST_PP_WHILE_233_C(NDNBOOST_PP_BOOL(p(234, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_234(p, o, s) NDNBOOST_PP_WHILE_234_C(NDNBOOST_PP_BOOL(p(235, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_235(p, o, s) NDNBOOST_PP_WHILE_235_C(NDNBOOST_PP_BOOL(p(236, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_236(p, o, s) NDNBOOST_PP_WHILE_236_C(NDNBOOST_PP_BOOL(p(237, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_237(p, o, s) NDNBOOST_PP_WHILE_237_C(NDNBOOST_PP_BOOL(p(238, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_238(p, o, s) NDNBOOST_PP_WHILE_238_C(NDNBOOST_PP_BOOL(p(239, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_239(p, o, s) NDNBOOST_PP_WHILE_239_C(NDNBOOST_PP_BOOL(p(240, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_240(p, o, s) NDNBOOST_PP_WHILE_240_C(NDNBOOST_PP_BOOL(p(241, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_241(p, o, s) NDNBOOST_PP_WHILE_241_C(NDNBOOST_PP_BOOL(p(242, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_242(p, o, s) NDNBOOST_PP_WHILE_242_C(NDNBOOST_PP_BOOL(p(243, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_243(p, o, s) NDNBOOST_PP_WHILE_243_C(NDNBOOST_PP_BOOL(p(244, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_244(p, o, s) NDNBOOST_PP_WHILE_244_C(NDNBOOST_PP_BOOL(p(245, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_245(p, o, s) NDNBOOST_PP_WHILE_245_C(NDNBOOST_PP_BOOL(p(246, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_246(p, o, s) NDNBOOST_PP_WHILE_246_C(NDNBOOST_PP_BOOL(p(247, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_247(p, o, s) NDNBOOST_PP_WHILE_247_C(NDNBOOST_PP_BOOL(p(248, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_248(p, o, s) NDNBOOST_PP_WHILE_248_C(NDNBOOST_PP_BOOL(p(249, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_249(p, o, s) NDNBOOST_PP_WHILE_249_C(NDNBOOST_PP_BOOL(p(250, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_250(p, o, s) NDNBOOST_PP_WHILE_250_C(NDNBOOST_PP_BOOL(p(251, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_251(p, o, s) NDNBOOST_PP_WHILE_251_C(NDNBOOST_PP_BOOL(p(252, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_252(p, o, s) NDNBOOST_PP_WHILE_252_C(NDNBOOST_PP_BOOL(p(253, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_253(p, o, s) NDNBOOST_PP_WHILE_253_C(NDNBOOST_PP_BOOL(p(254, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_254(p, o, s) NDNBOOST_PP_WHILE_254_C(NDNBOOST_PP_BOOL(p(255, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_255(p, o, s) NDNBOOST_PP_WHILE_255_C(NDNBOOST_PP_BOOL(p(256, s)), p, o, s)
+# define NDNBOOST_PP_WHILE_256(p, o, s) NDNBOOST_PP_WHILE_256_C(NDNBOOST_PP_BOOL(p(257, s)), p, o, s)
 #
-# define BOOST_PP_WHILE_1_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_2, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(2, s))
-# define BOOST_PP_WHILE_2_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_3, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(3, s))
-# define BOOST_PP_WHILE_3_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_4, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(4, s))
-# define BOOST_PP_WHILE_4_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_5, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(5, s))
-# define BOOST_PP_WHILE_5_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_6, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(6, s))
-# define BOOST_PP_WHILE_6_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_7, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(7, s))
-# define BOOST_PP_WHILE_7_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_8, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(8, s))
-# define BOOST_PP_WHILE_8_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_9, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(9, s))
-# define BOOST_PP_WHILE_9_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_10, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(10, s))
-# define BOOST_PP_WHILE_10_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_11, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(11, s))
-# define BOOST_PP_WHILE_11_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_12, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(12, s))
-# define BOOST_PP_WHILE_12_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_13, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(13, s))
-# define BOOST_PP_WHILE_13_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_14, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(14, s))
-# define BOOST_PP_WHILE_14_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_15, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(15, s))
-# define BOOST_PP_WHILE_15_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_16, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(16, s))
-# define BOOST_PP_WHILE_16_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_17, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(17, s))
-# define BOOST_PP_WHILE_17_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_18, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(18, s))
-# define BOOST_PP_WHILE_18_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_19, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(19, s))
-# define BOOST_PP_WHILE_19_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_20, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(20, s))
-# define BOOST_PP_WHILE_20_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_21, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(21, s))
-# define BOOST_PP_WHILE_21_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_22, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(22, s))
-# define BOOST_PP_WHILE_22_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_23, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(23, s))
-# define BOOST_PP_WHILE_23_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_24, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(24, s))
-# define BOOST_PP_WHILE_24_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_25, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(25, s))
-# define BOOST_PP_WHILE_25_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_26, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(26, s))
-# define BOOST_PP_WHILE_26_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_27, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(27, s))
-# define BOOST_PP_WHILE_27_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_28, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(28, s))
-# define BOOST_PP_WHILE_28_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_29, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(29, s))
-# define BOOST_PP_WHILE_29_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_30, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(30, s))
-# define BOOST_PP_WHILE_30_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_31, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(31, s))
-# define BOOST_PP_WHILE_31_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_32, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(32, s))
-# define BOOST_PP_WHILE_32_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_33, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(33, s))
-# define BOOST_PP_WHILE_33_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_34, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(34, s))
-# define BOOST_PP_WHILE_34_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_35, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(35, s))
-# define BOOST_PP_WHILE_35_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_36, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(36, s))
-# define BOOST_PP_WHILE_36_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_37, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(37, s))
-# define BOOST_PP_WHILE_37_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_38, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(38, s))
-# define BOOST_PP_WHILE_38_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_39, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(39, s))
-# define BOOST_PP_WHILE_39_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_40, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(40, s))
-# define BOOST_PP_WHILE_40_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_41, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(41, s))
-# define BOOST_PP_WHILE_41_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_42, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(42, s))
-# define BOOST_PP_WHILE_42_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_43, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(43, s))
-# define BOOST_PP_WHILE_43_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_44, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(44, s))
-# define BOOST_PP_WHILE_44_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_45, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(45, s))
-# define BOOST_PP_WHILE_45_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_46, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(46, s))
-# define BOOST_PP_WHILE_46_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_47, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(47, s))
-# define BOOST_PP_WHILE_47_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_48, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(48, s))
-# define BOOST_PP_WHILE_48_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_49, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(49, s))
-# define BOOST_PP_WHILE_49_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_50, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(50, s))
-# define BOOST_PP_WHILE_50_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_51, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(51, s))
-# define BOOST_PP_WHILE_51_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_52, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(52, s))
-# define BOOST_PP_WHILE_52_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_53, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(53, s))
-# define BOOST_PP_WHILE_53_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_54, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(54, s))
-# define BOOST_PP_WHILE_54_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_55, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(55, s))
-# define BOOST_PP_WHILE_55_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_56, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(56, s))
-# define BOOST_PP_WHILE_56_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_57, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(57, s))
-# define BOOST_PP_WHILE_57_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_58, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(58, s))
-# define BOOST_PP_WHILE_58_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_59, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(59, s))
-# define BOOST_PP_WHILE_59_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_60, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(60, s))
-# define BOOST_PP_WHILE_60_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_61, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(61, s))
-# define BOOST_PP_WHILE_61_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_62, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(62, s))
-# define BOOST_PP_WHILE_62_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_63, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(63, s))
-# define BOOST_PP_WHILE_63_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_64, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(64, s))
-# define BOOST_PP_WHILE_64_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_65, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(65, s))
-# define BOOST_PP_WHILE_65_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_66, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(66, s))
-# define BOOST_PP_WHILE_66_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_67, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(67, s))
-# define BOOST_PP_WHILE_67_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_68, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(68, s))
-# define BOOST_PP_WHILE_68_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_69, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(69, s))
-# define BOOST_PP_WHILE_69_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_70, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(70, s))
-# define BOOST_PP_WHILE_70_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_71, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(71, s))
-# define BOOST_PP_WHILE_71_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_72, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(72, s))
-# define BOOST_PP_WHILE_72_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_73, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(73, s))
-# define BOOST_PP_WHILE_73_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_74, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(74, s))
-# define BOOST_PP_WHILE_74_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_75, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(75, s))
-# define BOOST_PP_WHILE_75_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_76, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(76, s))
-# define BOOST_PP_WHILE_76_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_77, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(77, s))
-# define BOOST_PP_WHILE_77_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_78, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(78, s))
-# define BOOST_PP_WHILE_78_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_79, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(79, s))
-# define BOOST_PP_WHILE_79_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_80, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(80, s))
-# define BOOST_PP_WHILE_80_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_81, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(81, s))
-# define BOOST_PP_WHILE_81_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_82, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(82, s))
-# define BOOST_PP_WHILE_82_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_83, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(83, s))
-# define BOOST_PP_WHILE_83_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_84, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(84, s))
-# define BOOST_PP_WHILE_84_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_85, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(85, s))
-# define BOOST_PP_WHILE_85_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_86, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(86, s))
-# define BOOST_PP_WHILE_86_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_87, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(87, s))
-# define BOOST_PP_WHILE_87_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_88, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(88, s))
-# define BOOST_PP_WHILE_88_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_89, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(89, s))
-# define BOOST_PP_WHILE_89_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_90, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(90, s))
-# define BOOST_PP_WHILE_90_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_91, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(91, s))
-# define BOOST_PP_WHILE_91_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_92, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(92, s))
-# define BOOST_PP_WHILE_92_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_93, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(93, s))
-# define BOOST_PP_WHILE_93_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_94, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(94, s))
-# define BOOST_PP_WHILE_94_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_95, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(95, s))
-# define BOOST_PP_WHILE_95_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_96, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(96, s))
-# define BOOST_PP_WHILE_96_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_97, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(97, s))
-# define BOOST_PP_WHILE_97_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_98, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(98, s))
-# define BOOST_PP_WHILE_98_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_99, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(99, s))
-# define BOOST_PP_WHILE_99_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_100, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(100, s))
-# define BOOST_PP_WHILE_100_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_101, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(101, s))
-# define BOOST_PP_WHILE_101_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_102, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(102, s))
-# define BOOST_PP_WHILE_102_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_103, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(103, s))
-# define BOOST_PP_WHILE_103_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_104, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(104, s))
-# define BOOST_PP_WHILE_104_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_105, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(105, s))
-# define BOOST_PP_WHILE_105_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_106, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(106, s))
-# define BOOST_PP_WHILE_106_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_107, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(107, s))
-# define BOOST_PP_WHILE_107_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_108, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(108, s))
-# define BOOST_PP_WHILE_108_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_109, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(109, s))
-# define BOOST_PP_WHILE_109_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_110, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(110, s))
-# define BOOST_PP_WHILE_110_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_111, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(111, s))
-# define BOOST_PP_WHILE_111_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_112, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(112, s))
-# define BOOST_PP_WHILE_112_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_113, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(113, s))
-# define BOOST_PP_WHILE_113_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_114, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(114, s))
-# define BOOST_PP_WHILE_114_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_115, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(115, s))
-# define BOOST_PP_WHILE_115_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_116, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(116, s))
-# define BOOST_PP_WHILE_116_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_117, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(117, s))
-# define BOOST_PP_WHILE_117_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_118, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(118, s))
-# define BOOST_PP_WHILE_118_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_119, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(119, s))
-# define BOOST_PP_WHILE_119_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_120, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(120, s))
-# define BOOST_PP_WHILE_120_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_121, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(121, s))
-# define BOOST_PP_WHILE_121_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_122, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(122, s))
-# define BOOST_PP_WHILE_122_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_123, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(123, s))
-# define BOOST_PP_WHILE_123_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_124, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(124, s))
-# define BOOST_PP_WHILE_124_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_125, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(125, s))
-# define BOOST_PP_WHILE_125_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_126, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(126, s))
-# define BOOST_PP_WHILE_126_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_127, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(127, s))
-# define BOOST_PP_WHILE_127_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_128, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(128, s))
-# define BOOST_PP_WHILE_128_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_129, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(129, s))
-# define BOOST_PP_WHILE_129_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_130, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(130, s))
-# define BOOST_PP_WHILE_130_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_131, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(131, s))
-# define BOOST_PP_WHILE_131_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_132, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(132, s))
-# define BOOST_PP_WHILE_132_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_133, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(133, s))
-# define BOOST_PP_WHILE_133_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_134, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(134, s))
-# define BOOST_PP_WHILE_134_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_135, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(135, s))
-# define BOOST_PP_WHILE_135_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_136, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(136, s))
-# define BOOST_PP_WHILE_136_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_137, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(137, s))
-# define BOOST_PP_WHILE_137_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_138, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(138, s))
-# define BOOST_PP_WHILE_138_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_139, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(139, s))
-# define BOOST_PP_WHILE_139_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_140, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(140, s))
-# define BOOST_PP_WHILE_140_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_141, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(141, s))
-# define BOOST_PP_WHILE_141_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_142, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(142, s))
-# define BOOST_PP_WHILE_142_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_143, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(143, s))
-# define BOOST_PP_WHILE_143_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_144, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(144, s))
-# define BOOST_PP_WHILE_144_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_145, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(145, s))
-# define BOOST_PP_WHILE_145_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_146, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(146, s))
-# define BOOST_PP_WHILE_146_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_147, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(147, s))
-# define BOOST_PP_WHILE_147_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_148, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(148, s))
-# define BOOST_PP_WHILE_148_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_149, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(149, s))
-# define BOOST_PP_WHILE_149_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_150, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(150, s))
-# define BOOST_PP_WHILE_150_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_151, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(151, s))
-# define BOOST_PP_WHILE_151_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_152, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(152, s))
-# define BOOST_PP_WHILE_152_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_153, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(153, s))
-# define BOOST_PP_WHILE_153_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_154, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(154, s))
-# define BOOST_PP_WHILE_154_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_155, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(155, s))
-# define BOOST_PP_WHILE_155_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_156, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(156, s))
-# define BOOST_PP_WHILE_156_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_157, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(157, s))
-# define BOOST_PP_WHILE_157_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_158, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(158, s))
-# define BOOST_PP_WHILE_158_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_159, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(159, s))
-# define BOOST_PP_WHILE_159_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_160, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(160, s))
-# define BOOST_PP_WHILE_160_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_161, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(161, s))
-# define BOOST_PP_WHILE_161_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_162, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(162, s))
-# define BOOST_PP_WHILE_162_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_163, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(163, s))
-# define BOOST_PP_WHILE_163_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_164, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(164, s))
-# define BOOST_PP_WHILE_164_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_165, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(165, s))
-# define BOOST_PP_WHILE_165_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_166, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(166, s))
-# define BOOST_PP_WHILE_166_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_167, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(167, s))
-# define BOOST_PP_WHILE_167_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_168, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(168, s))
-# define BOOST_PP_WHILE_168_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_169, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(169, s))
-# define BOOST_PP_WHILE_169_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_170, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(170, s))
-# define BOOST_PP_WHILE_170_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_171, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(171, s))
-# define BOOST_PP_WHILE_171_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_172, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(172, s))
-# define BOOST_PP_WHILE_172_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_173, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(173, s))
-# define BOOST_PP_WHILE_173_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_174, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(174, s))
-# define BOOST_PP_WHILE_174_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_175, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(175, s))
-# define BOOST_PP_WHILE_175_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_176, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(176, s))
-# define BOOST_PP_WHILE_176_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_177, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(177, s))
-# define BOOST_PP_WHILE_177_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_178, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(178, s))
-# define BOOST_PP_WHILE_178_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_179, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(179, s))
-# define BOOST_PP_WHILE_179_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_180, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(180, s))
-# define BOOST_PP_WHILE_180_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_181, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(181, s))
-# define BOOST_PP_WHILE_181_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_182, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(182, s))
-# define BOOST_PP_WHILE_182_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_183, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(183, s))
-# define BOOST_PP_WHILE_183_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_184, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(184, s))
-# define BOOST_PP_WHILE_184_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_185, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(185, s))
-# define BOOST_PP_WHILE_185_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_186, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(186, s))
-# define BOOST_PP_WHILE_186_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_187, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(187, s))
-# define BOOST_PP_WHILE_187_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_188, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(188, s))
-# define BOOST_PP_WHILE_188_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_189, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(189, s))
-# define BOOST_PP_WHILE_189_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_190, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(190, s))
-# define BOOST_PP_WHILE_190_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_191, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(191, s))
-# define BOOST_PP_WHILE_191_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_192, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(192, s))
-# define BOOST_PP_WHILE_192_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_193, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(193, s))
-# define BOOST_PP_WHILE_193_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_194, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(194, s))
-# define BOOST_PP_WHILE_194_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_195, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(195, s))
-# define BOOST_PP_WHILE_195_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_196, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(196, s))
-# define BOOST_PP_WHILE_196_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_197, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(197, s))
-# define BOOST_PP_WHILE_197_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_198, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(198, s))
-# define BOOST_PP_WHILE_198_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_199, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(199, s))
-# define BOOST_PP_WHILE_199_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_200, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(200, s))
-# define BOOST_PP_WHILE_200_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_201, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(201, s))
-# define BOOST_PP_WHILE_201_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_202, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(202, s))
-# define BOOST_PP_WHILE_202_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_203, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(203, s))
-# define BOOST_PP_WHILE_203_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_204, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(204, s))
-# define BOOST_PP_WHILE_204_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_205, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(205, s))
-# define BOOST_PP_WHILE_205_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_206, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(206, s))
-# define BOOST_PP_WHILE_206_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_207, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(207, s))
-# define BOOST_PP_WHILE_207_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_208, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(208, s))
-# define BOOST_PP_WHILE_208_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_209, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(209, s))
-# define BOOST_PP_WHILE_209_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_210, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(210, s))
-# define BOOST_PP_WHILE_210_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_211, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(211, s))
-# define BOOST_PP_WHILE_211_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_212, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(212, s))
-# define BOOST_PP_WHILE_212_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_213, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(213, s))
-# define BOOST_PP_WHILE_213_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_214, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(214, s))
-# define BOOST_PP_WHILE_214_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_215, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(215, s))
-# define BOOST_PP_WHILE_215_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_216, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(216, s))
-# define BOOST_PP_WHILE_216_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_217, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(217, s))
-# define BOOST_PP_WHILE_217_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_218, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(218, s))
-# define BOOST_PP_WHILE_218_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_219, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(219, s))
-# define BOOST_PP_WHILE_219_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_220, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(220, s))
-# define BOOST_PP_WHILE_220_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_221, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(221, s))
-# define BOOST_PP_WHILE_221_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_222, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(222, s))
-# define BOOST_PP_WHILE_222_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_223, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(223, s))
-# define BOOST_PP_WHILE_223_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_224, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(224, s))
-# define BOOST_PP_WHILE_224_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_225, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(225, s))
-# define BOOST_PP_WHILE_225_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_226, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(226, s))
-# define BOOST_PP_WHILE_226_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_227, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(227, s))
-# define BOOST_PP_WHILE_227_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_228, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(228, s))
-# define BOOST_PP_WHILE_228_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_229, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(229, s))
-# define BOOST_PP_WHILE_229_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_230, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(230, s))
-# define BOOST_PP_WHILE_230_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_231, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(231, s))
-# define BOOST_PP_WHILE_231_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_232, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(232, s))
-# define BOOST_PP_WHILE_232_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_233, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(233, s))
-# define BOOST_PP_WHILE_233_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_234, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(234, s))
-# define BOOST_PP_WHILE_234_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_235, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(235, s))
-# define BOOST_PP_WHILE_235_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_236, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(236, s))
-# define BOOST_PP_WHILE_236_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_237, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(237, s))
-# define BOOST_PP_WHILE_237_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_238, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(238, s))
-# define BOOST_PP_WHILE_238_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_239, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(239, s))
-# define BOOST_PP_WHILE_239_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_240, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(240, s))
-# define BOOST_PP_WHILE_240_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_241, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(241, s))
-# define BOOST_PP_WHILE_241_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_242, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(242, s))
-# define BOOST_PP_WHILE_242_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_243, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(243, s))
-# define BOOST_PP_WHILE_243_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_244, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(244, s))
-# define BOOST_PP_WHILE_244_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_245, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(245, s))
-# define BOOST_PP_WHILE_245_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_246, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(246, s))
-# define BOOST_PP_WHILE_246_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_247, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(247, s))
-# define BOOST_PP_WHILE_247_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_248, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(248, s))
-# define BOOST_PP_WHILE_248_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_249, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(249, s))
-# define BOOST_PP_WHILE_249_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_250, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(250, s))
-# define BOOST_PP_WHILE_250_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_251, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(251, s))
-# define BOOST_PP_WHILE_251_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_252, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(252, s))
-# define BOOST_PP_WHILE_252_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_253, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(253, s))
-# define BOOST_PP_WHILE_253_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_254, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(254, s))
-# define BOOST_PP_WHILE_254_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_255, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(255, s))
-# define BOOST_PP_WHILE_255_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_256, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(256, s))
-# define BOOST_PP_WHILE_256_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_257, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(257, s))
+# define NDNBOOST_PP_WHILE_1_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_2, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(2, s))
+# define NDNBOOST_PP_WHILE_2_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_3, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(3, s))
+# define NDNBOOST_PP_WHILE_3_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_4, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(4, s))
+# define NDNBOOST_PP_WHILE_4_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_5, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(5, s))
+# define NDNBOOST_PP_WHILE_5_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_6, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(6, s))
+# define NDNBOOST_PP_WHILE_6_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_7, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(7, s))
+# define NDNBOOST_PP_WHILE_7_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_8, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(8, s))
+# define NDNBOOST_PP_WHILE_8_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_9, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(9, s))
+# define NDNBOOST_PP_WHILE_9_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_10, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(10, s))
+# define NDNBOOST_PP_WHILE_10_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_11, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(11, s))
+# define NDNBOOST_PP_WHILE_11_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_12, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(12, s))
+# define NDNBOOST_PP_WHILE_12_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_13, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(13, s))
+# define NDNBOOST_PP_WHILE_13_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_14, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(14, s))
+# define NDNBOOST_PP_WHILE_14_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_15, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(15, s))
+# define NDNBOOST_PP_WHILE_15_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_16, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(16, s))
+# define NDNBOOST_PP_WHILE_16_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_17, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(17, s))
+# define NDNBOOST_PP_WHILE_17_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_18, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(18, s))
+# define NDNBOOST_PP_WHILE_18_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_19, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(19, s))
+# define NDNBOOST_PP_WHILE_19_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_20, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(20, s))
+# define NDNBOOST_PP_WHILE_20_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_21, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(21, s))
+# define NDNBOOST_PP_WHILE_21_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_22, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(22, s))
+# define NDNBOOST_PP_WHILE_22_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_23, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(23, s))
+# define NDNBOOST_PP_WHILE_23_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_24, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(24, s))
+# define NDNBOOST_PP_WHILE_24_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_25, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(25, s))
+# define NDNBOOST_PP_WHILE_25_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_26, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(26, s))
+# define NDNBOOST_PP_WHILE_26_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_27, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(27, s))
+# define NDNBOOST_PP_WHILE_27_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_28, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(28, s))
+# define NDNBOOST_PP_WHILE_28_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_29, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(29, s))
+# define NDNBOOST_PP_WHILE_29_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_30, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(30, s))
+# define NDNBOOST_PP_WHILE_30_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_31, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(31, s))
+# define NDNBOOST_PP_WHILE_31_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_32, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(32, s))
+# define NDNBOOST_PP_WHILE_32_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_33, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(33, s))
+# define NDNBOOST_PP_WHILE_33_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_34, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(34, s))
+# define NDNBOOST_PP_WHILE_34_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_35, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(35, s))
+# define NDNBOOST_PP_WHILE_35_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_36, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(36, s))
+# define NDNBOOST_PP_WHILE_36_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_37, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(37, s))
+# define NDNBOOST_PP_WHILE_37_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_38, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(38, s))
+# define NDNBOOST_PP_WHILE_38_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_39, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(39, s))
+# define NDNBOOST_PP_WHILE_39_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_40, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(40, s))
+# define NDNBOOST_PP_WHILE_40_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_41, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(41, s))
+# define NDNBOOST_PP_WHILE_41_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_42, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(42, s))
+# define NDNBOOST_PP_WHILE_42_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_43, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(43, s))
+# define NDNBOOST_PP_WHILE_43_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_44, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(44, s))
+# define NDNBOOST_PP_WHILE_44_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_45, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(45, s))
+# define NDNBOOST_PP_WHILE_45_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_46, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(46, s))
+# define NDNBOOST_PP_WHILE_46_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_47, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(47, s))
+# define NDNBOOST_PP_WHILE_47_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_48, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(48, s))
+# define NDNBOOST_PP_WHILE_48_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_49, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(49, s))
+# define NDNBOOST_PP_WHILE_49_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_50, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(50, s))
+# define NDNBOOST_PP_WHILE_50_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_51, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(51, s))
+# define NDNBOOST_PP_WHILE_51_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_52, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(52, s))
+# define NDNBOOST_PP_WHILE_52_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_53, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(53, s))
+# define NDNBOOST_PP_WHILE_53_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_54, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(54, s))
+# define NDNBOOST_PP_WHILE_54_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_55, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(55, s))
+# define NDNBOOST_PP_WHILE_55_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_56, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(56, s))
+# define NDNBOOST_PP_WHILE_56_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_57, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(57, s))
+# define NDNBOOST_PP_WHILE_57_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_58, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(58, s))
+# define NDNBOOST_PP_WHILE_58_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_59, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(59, s))
+# define NDNBOOST_PP_WHILE_59_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_60, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(60, s))
+# define NDNBOOST_PP_WHILE_60_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_61, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(61, s))
+# define NDNBOOST_PP_WHILE_61_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_62, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(62, s))
+# define NDNBOOST_PP_WHILE_62_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_63, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(63, s))
+# define NDNBOOST_PP_WHILE_63_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_64, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(64, s))
+# define NDNBOOST_PP_WHILE_64_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_65, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(65, s))
+# define NDNBOOST_PP_WHILE_65_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_66, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(66, s))
+# define NDNBOOST_PP_WHILE_66_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_67, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(67, s))
+# define NDNBOOST_PP_WHILE_67_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_68, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(68, s))
+# define NDNBOOST_PP_WHILE_68_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_69, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(69, s))
+# define NDNBOOST_PP_WHILE_69_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_70, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(70, s))
+# define NDNBOOST_PP_WHILE_70_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_71, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(71, s))
+# define NDNBOOST_PP_WHILE_71_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_72, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(72, s))
+# define NDNBOOST_PP_WHILE_72_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_73, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(73, s))
+# define NDNBOOST_PP_WHILE_73_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_74, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(74, s))
+# define NDNBOOST_PP_WHILE_74_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_75, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(75, s))
+# define NDNBOOST_PP_WHILE_75_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_76, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(76, s))
+# define NDNBOOST_PP_WHILE_76_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_77, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(77, s))
+# define NDNBOOST_PP_WHILE_77_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_78, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(78, s))
+# define NDNBOOST_PP_WHILE_78_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_79, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(79, s))
+# define NDNBOOST_PP_WHILE_79_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_80, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(80, s))
+# define NDNBOOST_PP_WHILE_80_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_81, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(81, s))
+# define NDNBOOST_PP_WHILE_81_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_82, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(82, s))
+# define NDNBOOST_PP_WHILE_82_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_83, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(83, s))
+# define NDNBOOST_PP_WHILE_83_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_84, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(84, s))
+# define NDNBOOST_PP_WHILE_84_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_85, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(85, s))
+# define NDNBOOST_PP_WHILE_85_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_86, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(86, s))
+# define NDNBOOST_PP_WHILE_86_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_87, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(87, s))
+# define NDNBOOST_PP_WHILE_87_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_88, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(88, s))
+# define NDNBOOST_PP_WHILE_88_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_89, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(89, s))
+# define NDNBOOST_PP_WHILE_89_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_90, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(90, s))
+# define NDNBOOST_PP_WHILE_90_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_91, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(91, s))
+# define NDNBOOST_PP_WHILE_91_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_92, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(92, s))
+# define NDNBOOST_PP_WHILE_92_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_93, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(93, s))
+# define NDNBOOST_PP_WHILE_93_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_94, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(94, s))
+# define NDNBOOST_PP_WHILE_94_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_95, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(95, s))
+# define NDNBOOST_PP_WHILE_95_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_96, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(96, s))
+# define NDNBOOST_PP_WHILE_96_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_97, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(97, s))
+# define NDNBOOST_PP_WHILE_97_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_98, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(98, s))
+# define NDNBOOST_PP_WHILE_98_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_99, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(99, s))
+# define NDNBOOST_PP_WHILE_99_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_100, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(100, s))
+# define NDNBOOST_PP_WHILE_100_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_101, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(101, s))
+# define NDNBOOST_PP_WHILE_101_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_102, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(102, s))
+# define NDNBOOST_PP_WHILE_102_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_103, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(103, s))
+# define NDNBOOST_PP_WHILE_103_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_104, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(104, s))
+# define NDNBOOST_PP_WHILE_104_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_105, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(105, s))
+# define NDNBOOST_PP_WHILE_105_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_106, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(106, s))
+# define NDNBOOST_PP_WHILE_106_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_107, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(107, s))
+# define NDNBOOST_PP_WHILE_107_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_108, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(108, s))
+# define NDNBOOST_PP_WHILE_108_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_109, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(109, s))
+# define NDNBOOST_PP_WHILE_109_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_110, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(110, s))
+# define NDNBOOST_PP_WHILE_110_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_111, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(111, s))
+# define NDNBOOST_PP_WHILE_111_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_112, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(112, s))
+# define NDNBOOST_PP_WHILE_112_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_113, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(113, s))
+# define NDNBOOST_PP_WHILE_113_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_114, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(114, s))
+# define NDNBOOST_PP_WHILE_114_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_115, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(115, s))
+# define NDNBOOST_PP_WHILE_115_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_116, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(116, s))
+# define NDNBOOST_PP_WHILE_116_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_117, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(117, s))
+# define NDNBOOST_PP_WHILE_117_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_118, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(118, s))
+# define NDNBOOST_PP_WHILE_118_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_119, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(119, s))
+# define NDNBOOST_PP_WHILE_119_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_120, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(120, s))
+# define NDNBOOST_PP_WHILE_120_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_121, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(121, s))
+# define NDNBOOST_PP_WHILE_121_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_122, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(122, s))
+# define NDNBOOST_PP_WHILE_122_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_123, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(123, s))
+# define NDNBOOST_PP_WHILE_123_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_124, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(124, s))
+# define NDNBOOST_PP_WHILE_124_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_125, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(125, s))
+# define NDNBOOST_PP_WHILE_125_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_126, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(126, s))
+# define NDNBOOST_PP_WHILE_126_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_127, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(127, s))
+# define NDNBOOST_PP_WHILE_127_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_128, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(128, s))
+# define NDNBOOST_PP_WHILE_128_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_129, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(129, s))
+# define NDNBOOST_PP_WHILE_129_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_130, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(130, s))
+# define NDNBOOST_PP_WHILE_130_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_131, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(131, s))
+# define NDNBOOST_PP_WHILE_131_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_132, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(132, s))
+# define NDNBOOST_PP_WHILE_132_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_133, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(133, s))
+# define NDNBOOST_PP_WHILE_133_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_134, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(134, s))
+# define NDNBOOST_PP_WHILE_134_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_135, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(135, s))
+# define NDNBOOST_PP_WHILE_135_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_136, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(136, s))
+# define NDNBOOST_PP_WHILE_136_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_137, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(137, s))
+# define NDNBOOST_PP_WHILE_137_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_138, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(138, s))
+# define NDNBOOST_PP_WHILE_138_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_139, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(139, s))
+# define NDNBOOST_PP_WHILE_139_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_140, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(140, s))
+# define NDNBOOST_PP_WHILE_140_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_141, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(141, s))
+# define NDNBOOST_PP_WHILE_141_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_142, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(142, s))
+# define NDNBOOST_PP_WHILE_142_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_143, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(143, s))
+# define NDNBOOST_PP_WHILE_143_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_144, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(144, s))
+# define NDNBOOST_PP_WHILE_144_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_145, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(145, s))
+# define NDNBOOST_PP_WHILE_145_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_146, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(146, s))
+# define NDNBOOST_PP_WHILE_146_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_147, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(147, s))
+# define NDNBOOST_PP_WHILE_147_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_148, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(148, s))
+# define NDNBOOST_PP_WHILE_148_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_149, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(149, s))
+# define NDNBOOST_PP_WHILE_149_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_150, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(150, s))
+# define NDNBOOST_PP_WHILE_150_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_151, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(151, s))
+# define NDNBOOST_PP_WHILE_151_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_152, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(152, s))
+# define NDNBOOST_PP_WHILE_152_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_153, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(153, s))
+# define NDNBOOST_PP_WHILE_153_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_154, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(154, s))
+# define NDNBOOST_PP_WHILE_154_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_155, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(155, s))
+# define NDNBOOST_PP_WHILE_155_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_156, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(156, s))
+# define NDNBOOST_PP_WHILE_156_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_157, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(157, s))
+# define NDNBOOST_PP_WHILE_157_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_158, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(158, s))
+# define NDNBOOST_PP_WHILE_158_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_159, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(159, s))
+# define NDNBOOST_PP_WHILE_159_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_160, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(160, s))
+# define NDNBOOST_PP_WHILE_160_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_161, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(161, s))
+# define NDNBOOST_PP_WHILE_161_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_162, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(162, s))
+# define NDNBOOST_PP_WHILE_162_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_163, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(163, s))
+# define NDNBOOST_PP_WHILE_163_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_164, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(164, s))
+# define NDNBOOST_PP_WHILE_164_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_165, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(165, s))
+# define NDNBOOST_PP_WHILE_165_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_166, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(166, s))
+# define NDNBOOST_PP_WHILE_166_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_167, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(167, s))
+# define NDNBOOST_PP_WHILE_167_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_168, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(168, s))
+# define NDNBOOST_PP_WHILE_168_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_169, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(169, s))
+# define NDNBOOST_PP_WHILE_169_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_170, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(170, s))
+# define NDNBOOST_PP_WHILE_170_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_171, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(171, s))
+# define NDNBOOST_PP_WHILE_171_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_172, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(172, s))
+# define NDNBOOST_PP_WHILE_172_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_173, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(173, s))
+# define NDNBOOST_PP_WHILE_173_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_174, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(174, s))
+# define NDNBOOST_PP_WHILE_174_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_175, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(175, s))
+# define NDNBOOST_PP_WHILE_175_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_176, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(176, s))
+# define NDNBOOST_PP_WHILE_176_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_177, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(177, s))
+# define NDNBOOST_PP_WHILE_177_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_178, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(178, s))
+# define NDNBOOST_PP_WHILE_178_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_179, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(179, s))
+# define NDNBOOST_PP_WHILE_179_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_180, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(180, s))
+# define NDNBOOST_PP_WHILE_180_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_181, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(181, s))
+# define NDNBOOST_PP_WHILE_181_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_182, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(182, s))
+# define NDNBOOST_PP_WHILE_182_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_183, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(183, s))
+# define NDNBOOST_PP_WHILE_183_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_184, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(184, s))
+# define NDNBOOST_PP_WHILE_184_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_185, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(185, s))
+# define NDNBOOST_PP_WHILE_185_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_186, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(186, s))
+# define NDNBOOST_PP_WHILE_186_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_187, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(187, s))
+# define NDNBOOST_PP_WHILE_187_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_188, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(188, s))
+# define NDNBOOST_PP_WHILE_188_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_189, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(189, s))
+# define NDNBOOST_PP_WHILE_189_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_190, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(190, s))
+# define NDNBOOST_PP_WHILE_190_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_191, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(191, s))
+# define NDNBOOST_PP_WHILE_191_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_192, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(192, s))
+# define NDNBOOST_PP_WHILE_192_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_193, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(193, s))
+# define NDNBOOST_PP_WHILE_193_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_194, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(194, s))
+# define NDNBOOST_PP_WHILE_194_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_195, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(195, s))
+# define NDNBOOST_PP_WHILE_195_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_196, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(196, s))
+# define NDNBOOST_PP_WHILE_196_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_197, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(197, s))
+# define NDNBOOST_PP_WHILE_197_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_198, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(198, s))
+# define NDNBOOST_PP_WHILE_198_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_199, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(199, s))
+# define NDNBOOST_PP_WHILE_199_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_200, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(200, s))
+# define NDNBOOST_PP_WHILE_200_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_201, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(201, s))
+# define NDNBOOST_PP_WHILE_201_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_202, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(202, s))
+# define NDNBOOST_PP_WHILE_202_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_203, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(203, s))
+# define NDNBOOST_PP_WHILE_203_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_204, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(204, s))
+# define NDNBOOST_PP_WHILE_204_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_205, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(205, s))
+# define NDNBOOST_PP_WHILE_205_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_206, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(206, s))
+# define NDNBOOST_PP_WHILE_206_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_207, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(207, s))
+# define NDNBOOST_PP_WHILE_207_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_208, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(208, s))
+# define NDNBOOST_PP_WHILE_208_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_209, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(209, s))
+# define NDNBOOST_PP_WHILE_209_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_210, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(210, s))
+# define NDNBOOST_PP_WHILE_210_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_211, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(211, s))
+# define NDNBOOST_PP_WHILE_211_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_212, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(212, s))
+# define NDNBOOST_PP_WHILE_212_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_213, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(213, s))
+# define NDNBOOST_PP_WHILE_213_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_214, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(214, s))
+# define NDNBOOST_PP_WHILE_214_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_215, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(215, s))
+# define NDNBOOST_PP_WHILE_215_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_216, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(216, s))
+# define NDNBOOST_PP_WHILE_216_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_217, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(217, s))
+# define NDNBOOST_PP_WHILE_217_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_218, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(218, s))
+# define NDNBOOST_PP_WHILE_218_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_219, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(219, s))
+# define NDNBOOST_PP_WHILE_219_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_220, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(220, s))
+# define NDNBOOST_PP_WHILE_220_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_221, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(221, s))
+# define NDNBOOST_PP_WHILE_221_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_222, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(222, s))
+# define NDNBOOST_PP_WHILE_222_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_223, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(223, s))
+# define NDNBOOST_PP_WHILE_223_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_224, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(224, s))
+# define NDNBOOST_PP_WHILE_224_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_225, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(225, s))
+# define NDNBOOST_PP_WHILE_225_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_226, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(226, s))
+# define NDNBOOST_PP_WHILE_226_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_227, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(227, s))
+# define NDNBOOST_PP_WHILE_227_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_228, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(228, s))
+# define NDNBOOST_PP_WHILE_228_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_229, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(229, s))
+# define NDNBOOST_PP_WHILE_229_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_230, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(230, s))
+# define NDNBOOST_PP_WHILE_230_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_231, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(231, s))
+# define NDNBOOST_PP_WHILE_231_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_232, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(232, s))
+# define NDNBOOST_PP_WHILE_232_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_233, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(233, s))
+# define NDNBOOST_PP_WHILE_233_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_234, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(234, s))
+# define NDNBOOST_PP_WHILE_234_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_235, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(235, s))
+# define NDNBOOST_PP_WHILE_235_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_236, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(236, s))
+# define NDNBOOST_PP_WHILE_236_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_237, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(237, s))
+# define NDNBOOST_PP_WHILE_237_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_238, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(238, s))
+# define NDNBOOST_PP_WHILE_238_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_239, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(239, s))
+# define NDNBOOST_PP_WHILE_239_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_240, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(240, s))
+# define NDNBOOST_PP_WHILE_240_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_241, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(241, s))
+# define NDNBOOST_PP_WHILE_241_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_242, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(242, s))
+# define NDNBOOST_PP_WHILE_242_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_243, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(243, s))
+# define NDNBOOST_PP_WHILE_243_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_244, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(244, s))
+# define NDNBOOST_PP_WHILE_244_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_245, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(245, s))
+# define NDNBOOST_PP_WHILE_245_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_246, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(246, s))
+# define NDNBOOST_PP_WHILE_246_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_247, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(247, s))
+# define NDNBOOST_PP_WHILE_247_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_248, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(248, s))
+# define NDNBOOST_PP_WHILE_248_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_249, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(249, s))
+# define NDNBOOST_PP_WHILE_249_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_250, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(250, s))
+# define NDNBOOST_PP_WHILE_250_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_251, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(251, s))
+# define NDNBOOST_PP_WHILE_251_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_252, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(252, s))
+# define NDNBOOST_PP_WHILE_252_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_253, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(253, s))
+# define NDNBOOST_PP_WHILE_253_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_254, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(254, s))
+# define NDNBOOST_PP_WHILE_254_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_255, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(255, s))
+# define NDNBOOST_PP_WHILE_255_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_256, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(256, s))
+# define NDNBOOST_PP_WHILE_256_C(c, p, o, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_WHILE_257, s NDNBOOST_PP_TUPLE_EAT_3)(p, o, NDNBOOST_PP_IIF(c, o, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_2)(257, s))
 #
 #
 # endif
diff --git a/include/ndnboost/preprocessor/control/expr_if.hpp b/include/ndnboost/preprocessor/control/expr_if.hpp
index 364ef59..b51a326 100644
--- a/include/ndnboost/preprocessor/control/expr_if.hpp
+++ b/include/ndnboost/preprocessor/control/expr_if.hpp
@@ -11,20 +11,20 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_CONTROL_EXPR_IF_HPP
-# define BOOST_PREPROCESSOR_CONTROL_EXPR_IF_HPP
+# ifndef NDNBOOST_PREPROCESSOR_CONTROL_EXPR_IF_HPP
+# define NDNBOOST_PREPROCESSOR_CONTROL_EXPR_IF_HPP
 #
 # include <ndnboost/preprocessor/config/config.hpp>
 # include <ndnboost/preprocessor/control/expr_iif.hpp>
 # include <ndnboost/preprocessor/logical/bool.hpp>
 #
-# /* BOOST_PP_EXPR_IF */
+# /* NDNBOOST_PP_EXPR_IF */
 #
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_EXPR_IF(cond, expr) BOOST_PP_EXPR_IIF(BOOST_PP_BOOL(cond), expr)
+# if ~NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_EDG()
+#    define NDNBOOST_PP_EXPR_IF(cond, expr) NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_BOOL(cond), expr)
 # else
-#    define BOOST_PP_EXPR_IF(cond, expr) BOOST_PP_EXPR_IF_I(cond, expr)
-#    define BOOST_PP_EXPR_IF_I(cond, expr) BOOST_PP_EXPR_IIF(BOOST_PP_BOOL(cond), expr)
+#    define NDNBOOST_PP_EXPR_IF(cond, expr) NDNBOOST_PP_EXPR_IF_I(cond, expr)
+#    define NDNBOOST_PP_EXPR_IF_I(cond, expr) NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_BOOL(cond), expr)
 # endif
 #
 # endif
diff --git a/include/ndnboost/preprocessor/control/expr_iif.hpp b/include/ndnboost/preprocessor/control/expr_iif.hpp
index acd4c15..0fa4aea 100644
--- a/include/ndnboost/preprocessor/control/expr_iif.hpp
+++ b/include/ndnboost/preprocessor/control/expr_iif.hpp
@@ -9,23 +9,23 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_CONTROL_EXPR_IIF_HPP
-# define BOOST_PREPROCESSOR_CONTROL_EXPR_IIF_HPP
+# ifndef NDNBOOST_PREPROCESSOR_CONTROL_EXPR_IIF_HPP
+# define NDNBOOST_PREPROCESSOR_CONTROL_EXPR_IIF_HPP
 #
 # include <ndnboost/preprocessor/config/config.hpp>
 #
-# /* BOOST_PP_EXPR_IIF */
+# /* NDNBOOST_PP_EXPR_IIF */
 #
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-#    define BOOST_PP_EXPR_IIF(bit, expr) BOOST_PP_EXPR_IIF_I(bit, expr)
+# if ~NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_MWCC()
+#    define NDNBOOST_PP_EXPR_IIF(bit, expr) NDNBOOST_PP_EXPR_IIF_I(bit, expr)
 # else
-#    define BOOST_PP_EXPR_IIF(bit, expr) BOOST_PP_EXPR_IIF_OO((bit, expr))
-#    define BOOST_PP_EXPR_IIF_OO(par) BOOST_PP_EXPR_IIF_I ## par
+#    define NDNBOOST_PP_EXPR_IIF(bit, expr) NDNBOOST_PP_EXPR_IIF_OO((bit, expr))
+#    define NDNBOOST_PP_EXPR_IIF_OO(par) NDNBOOST_PP_EXPR_IIF_I ## par
 # endif
 #
-# define BOOST_PP_EXPR_IIF_I(bit, expr) BOOST_PP_EXPR_IIF_ ## bit(expr)
+# define NDNBOOST_PP_EXPR_IIF_I(bit, expr) NDNBOOST_PP_EXPR_IIF_ ## bit(expr)
 #
-# define BOOST_PP_EXPR_IIF_0(expr)
-# define BOOST_PP_EXPR_IIF_1(expr) expr
+# define NDNBOOST_PP_EXPR_IIF_0(expr)
+# define NDNBOOST_PP_EXPR_IIF_1(expr) expr
 #
 # endif
diff --git a/include/ndnboost/preprocessor/control/if.hpp b/include/ndnboost/preprocessor/control/if.hpp
index 92ea96d..2b2f1c7 100644
--- a/include/ndnboost/preprocessor/control/if.hpp
+++ b/include/ndnboost/preprocessor/control/if.hpp
@@ -11,20 +11,20 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_CONTROL_IF_HPP
-# define BOOST_PREPROCESSOR_CONTROL_IF_HPP
+# ifndef NDNBOOST_PREPROCESSOR_CONTROL_IF_HPP
+# define NDNBOOST_PREPROCESSOR_CONTROL_IF_HPP
 #
 # include <ndnboost/preprocessor/config/config.hpp>
 # include <ndnboost/preprocessor/control/iif.hpp>
 # include <ndnboost/preprocessor/logical/bool.hpp>
 #
-# /* BOOST_PP_IF */
+# /* NDNBOOST_PP_IF */
 #
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_IF(cond, t, f) BOOST_PP_IIF(BOOST_PP_BOOL(cond), t, f)
+# if ~NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_EDG()
+#    define NDNBOOST_PP_IF(cond, t, f) NDNBOOST_PP_IIF(NDNBOOST_PP_BOOL(cond), t, f)
 # else
-#    define BOOST_PP_IF(cond, t, f) BOOST_PP_IF_I(cond, t, f)
-#    define BOOST_PP_IF_I(cond, t, f) BOOST_PP_IIF(BOOST_PP_BOOL(cond), t, f)
+#    define NDNBOOST_PP_IF(cond, t, f) NDNBOOST_PP_IF_I(cond, t, f)
+#    define NDNBOOST_PP_IF_I(cond, t, f) NDNBOOST_PP_IIF(NDNBOOST_PP_BOOL(cond), t, f)
 # endif
 #
 # endif
diff --git a/include/ndnboost/preprocessor/control/iif.hpp b/include/ndnboost/preprocessor/control/iif.hpp
index b5e33cf..5cc6f22 100644
--- a/include/ndnboost/preprocessor/control/iif.hpp
+++ b/include/ndnboost/preprocessor/control/iif.hpp
@@ -9,26 +9,26 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_CONTROL_IIF_HPP
-# define BOOST_PREPROCESSOR_CONTROL_IIF_HPP
+# ifndef NDNBOOST_PREPROCESSOR_CONTROL_IIF_HPP
+# define NDNBOOST_PREPROCESSOR_CONTROL_IIF_HPP
 #
 # include <ndnboost/preprocessor/config/config.hpp>
 #
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-#    define BOOST_PP_IIF(bit, t, f) BOOST_PP_IIF_I(bit, t, f)
+# if ~NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_MWCC()
+#    define NDNBOOST_PP_IIF(bit, t, f) NDNBOOST_PP_IIF_I(bit, t, f)
 # else
-#    define BOOST_PP_IIF(bit, t, f) BOOST_PP_IIF_OO((bit, t, f))
-#    define BOOST_PP_IIF_OO(par) BOOST_PP_IIF_I ## par
+#    define NDNBOOST_PP_IIF(bit, t, f) NDNBOOST_PP_IIF_OO((bit, t, f))
+#    define NDNBOOST_PP_IIF_OO(par) NDNBOOST_PP_IIF_I ## par
 # endif
 #
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()
-#    define BOOST_PP_IIF_I(bit, t, f) BOOST_PP_IIF_ ## bit(t, f)
+# if ~NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_MSVC()
+#    define NDNBOOST_PP_IIF_I(bit, t, f) NDNBOOST_PP_IIF_ ## bit(t, f)
 # else
-#    define BOOST_PP_IIF_I(bit, t, f) BOOST_PP_IIF_II(BOOST_PP_IIF_ ## bit(t, f))
-#    define BOOST_PP_IIF_II(id) id
+#    define NDNBOOST_PP_IIF_I(bit, t, f) NDNBOOST_PP_IIF_II(NDNBOOST_PP_IIF_ ## bit(t, f))
+#    define NDNBOOST_PP_IIF_II(id) id
 # endif
 #
-# define BOOST_PP_IIF_0(t, f) f
-# define BOOST_PP_IIF_1(t, f) t
+# define NDNBOOST_PP_IIF_0(t, f) f
+# define NDNBOOST_PP_IIF_1(t, f) t
 #
 # endif
diff --git a/include/ndnboost/preprocessor/control/while.hpp b/include/ndnboost/preprocessor/control/while.hpp
index 20dd37f..a53c398 100644
--- a/include/ndnboost/preprocessor/control/while.hpp
+++ b/include/ndnboost/preprocessor/control/while.hpp
@@ -11,8 +11,8 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_CONTROL_WHILE_HPP
-# define BOOST_PREPROCESSOR_CONTROL_WHILE_HPP
+# ifndef NDNBOOST_PREPROCESSOR_CONTROL_WHILE_HPP
+# define NDNBOOST_PREPROCESSOR_CONTROL_WHILE_HPP
 #
 # include <ndnboost/preprocessor/cat.hpp>
 # include <ndnboost/preprocessor/config/config.hpp>
@@ -22,291 +22,291 @@
 # include <ndnboost/preprocessor/list/fold_right.hpp>
 # include <ndnboost/preprocessor/logical/bitand.hpp>
 #
-# /* BOOST_PP_WHILE */
+# /* NDNBOOST_PP_WHILE */
 #
 # if 0
-#    define BOOST_PP_WHILE(pred, op, state)
+#    define NDNBOOST_PP_WHILE(pred, op, state)
 # endif
 #
-# define BOOST_PP_WHILE BOOST_PP_CAT(BOOST_PP_WHILE_, BOOST_PP_AUTO_REC(BOOST_PP_WHILE_P, 256))
+# define NDNBOOST_PP_WHILE NDNBOOST_PP_CAT(NDNBOOST_PP_WHILE_, NDNBOOST_PP_AUTO_REC(NDNBOOST_PP_WHILE_P, 256))
 #
-# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_WHILE_P(n) BOOST_PP_BITAND(BOOST_PP_CAT(BOOST_PP_WHILE_CHECK_, BOOST_PP_WHILE_ ## n(BOOST_PP_WHILE_F, BOOST_PP_NIL, BOOST_PP_NIL)), BOOST_PP_BITAND(BOOST_PP_CAT(BOOST_PP_LIST_FOLD_LEFT_CHECK_, BOOST_PP_LIST_FOLD_LEFT_ ## n(BOOST_PP_NIL, BOOST_PP_NIL, BOOST_PP_NIL)), BOOST_PP_CAT(BOOST_PP_LIST_FOLD_RIGHT_CHECK_, BOOST_PP_LIST_FOLD_RIGHT_ ## n(BOOST_PP_NIL, BOOST_PP_NIL, BOOST_PP_NIL))))
+# if NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_EDG()
+#    define NDNBOOST_PP_WHILE_P(n) NDNBOOST_PP_BITAND(NDNBOOST_PP_CAT(NDNBOOST_PP_WHILE_CHECK_, NDNBOOST_PP_WHILE_ ## n(NDNBOOST_PP_WHILE_F, NDNBOOST_PP_NIL, NDNBOOST_PP_NIL)), NDNBOOST_PP_BITAND(NDNBOOST_PP_CAT(NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_, NDNBOOST_PP_LIST_FOLD_LEFT_ ## n(NDNBOOST_PP_NIL, NDNBOOST_PP_NIL, NDNBOOST_PP_NIL)), NDNBOOST_PP_CAT(NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_, NDNBOOST_PP_LIST_FOLD_RIGHT_ ## n(NDNBOOST_PP_NIL, NDNBOOST_PP_NIL, NDNBOOST_PP_NIL))))
 # else
-#    define BOOST_PP_WHILE_P(n) BOOST_PP_BITAND(BOOST_PP_CAT(BOOST_PP_WHILE_CHECK_, BOOST_PP_WHILE_ ## n(BOOST_PP_WHILE_F, BOOST_PP_NIL, BOOST_PP_NIL)), BOOST_PP_CAT(BOOST_PP_LIST_FOLD_LEFT_CHECK_, BOOST_PP_LIST_FOLD_LEFT_ ## n(BOOST_PP_NIL, BOOST_PP_NIL, BOOST_PP_NIL)))
+#    define NDNBOOST_PP_WHILE_P(n) NDNBOOST_PP_BITAND(NDNBOOST_PP_CAT(NDNBOOST_PP_WHILE_CHECK_, NDNBOOST_PP_WHILE_ ## n(NDNBOOST_PP_WHILE_F, NDNBOOST_PP_NIL, NDNBOOST_PP_NIL)), NDNBOOST_PP_CAT(NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_, NDNBOOST_PP_LIST_FOLD_LEFT_ ## n(NDNBOOST_PP_NIL, NDNBOOST_PP_NIL, NDNBOOST_PP_NIL)))
 # endif
 #
-# define BOOST_PP_WHILE_F(d, _) 0
+# define NDNBOOST_PP_WHILE_F(d, _) 0
 #
-# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
+# if NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_EDG()
 #    include <ndnboost/preprocessor/control/detail/edg/while.hpp>
-# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()
+# elif NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_MSVC()
 #    include <ndnboost/preprocessor/control/detail/msvc/while.hpp>
-# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_DMC()
+# elif NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_DMC()
 #    include <ndnboost/preprocessor/control/detail/dmc/while.hpp>
 # else
 #    include <ndnboost/preprocessor/control/detail/while.hpp>
 # endif
 #
-# define BOOST_PP_WHILE_257(p, o, s) BOOST_PP_ERROR(0x0001)
+# define NDNBOOST_PP_WHILE_257(p, o, s) NDNBOOST_PP_ERROR(0x0001)
 #
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_NIL 1
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_NIL 1
 #
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_1(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_2(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_3(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_4(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_5(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_6(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_7(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_8(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_9(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_10(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_11(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_12(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_13(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_14(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_15(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_16(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_17(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_18(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_19(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_20(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_21(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_22(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_23(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_24(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_25(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_26(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_27(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_28(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_29(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_30(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_31(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_32(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_33(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_34(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_35(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_36(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_37(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_38(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_39(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_40(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_41(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_42(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_43(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_44(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_45(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_46(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_47(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_48(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_49(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_50(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_51(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_52(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_53(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_54(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_55(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_56(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_57(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_58(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_59(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_60(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_61(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_62(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_63(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_64(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_65(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_66(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_67(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_68(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_69(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_70(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_71(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_72(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_73(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_74(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_75(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_76(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_77(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_78(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_79(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_80(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_81(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_82(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_83(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_84(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_85(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_86(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_87(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_88(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_89(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_90(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_91(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_92(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_93(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_94(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_95(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_96(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_97(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_98(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_99(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_100(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_101(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_102(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_103(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_104(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_105(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_106(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_107(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_108(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_109(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_110(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_111(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_112(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_113(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_114(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_115(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_116(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_117(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_118(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_119(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_120(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_121(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_122(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_123(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_124(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_125(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_126(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_127(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_128(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_129(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_130(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_131(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_132(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_133(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_134(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_135(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_136(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_137(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_138(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_139(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_140(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_141(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_142(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_143(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_144(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_145(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_146(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_147(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_148(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_149(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_150(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_151(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_152(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_153(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_154(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_155(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_156(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_157(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_158(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_159(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_160(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_161(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_162(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_163(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_164(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_165(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_166(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_167(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_168(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_169(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_170(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_171(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_172(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_173(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_174(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_175(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_176(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_177(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_178(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_179(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_180(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_181(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_182(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_183(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_184(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_185(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_186(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_187(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_188(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_189(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_190(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_191(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_192(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_193(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_194(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_195(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_196(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_197(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_198(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_199(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_200(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_201(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_202(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_203(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_204(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_205(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_206(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_207(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_208(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_209(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_210(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_211(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_212(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_213(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_214(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_215(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_216(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_217(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_218(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_219(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_220(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_221(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_222(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_223(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_224(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_225(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_226(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_227(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_228(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_229(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_230(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_231(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_232(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_233(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_234(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_235(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_236(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_237(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_238(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_239(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_240(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_241(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_242(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_243(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_244(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_245(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_246(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_247(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_248(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_249(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_250(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_251(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_252(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_253(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_254(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_255(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_256(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_1(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_2(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_3(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_4(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_5(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_6(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_7(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_8(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_9(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_10(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_11(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_12(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_13(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_14(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_15(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_16(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_17(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_18(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_19(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_20(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_21(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_22(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_23(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_24(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_25(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_26(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_27(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_28(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_29(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_30(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_31(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_32(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_33(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_34(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_35(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_36(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_37(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_38(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_39(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_40(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_41(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_42(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_43(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_44(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_45(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_46(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_47(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_48(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_49(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_50(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_51(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_52(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_53(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_54(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_55(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_56(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_57(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_58(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_59(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_60(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_61(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_62(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_63(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_64(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_65(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_66(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_67(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_68(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_69(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_70(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_71(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_72(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_73(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_74(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_75(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_76(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_77(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_78(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_79(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_80(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_81(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_82(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_83(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_84(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_85(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_86(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_87(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_88(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_89(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_90(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_91(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_92(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_93(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_94(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_95(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_96(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_97(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_98(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_99(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_100(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_101(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_102(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_103(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_104(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_105(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_106(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_107(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_108(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_109(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_110(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_111(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_112(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_113(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_114(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_115(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_116(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_117(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_118(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_119(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_120(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_121(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_122(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_123(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_124(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_125(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_126(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_127(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_128(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_129(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_130(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_131(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_132(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_133(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_134(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_135(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_136(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_137(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_138(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_139(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_140(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_141(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_142(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_143(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_144(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_145(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_146(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_147(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_148(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_149(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_150(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_151(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_152(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_153(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_154(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_155(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_156(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_157(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_158(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_159(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_160(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_161(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_162(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_163(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_164(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_165(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_166(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_167(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_168(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_169(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_170(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_171(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_172(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_173(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_174(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_175(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_176(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_177(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_178(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_179(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_180(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_181(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_182(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_183(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_184(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_185(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_186(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_187(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_188(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_189(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_190(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_191(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_192(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_193(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_194(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_195(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_196(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_197(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_198(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_199(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_200(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_201(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_202(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_203(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_204(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_205(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_206(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_207(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_208(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_209(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_210(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_211(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_212(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_213(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_214(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_215(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_216(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_217(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_218(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_219(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_220(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_221(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_222(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_223(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_224(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_225(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_226(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_227(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_228(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_229(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_230(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_231(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_232(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_233(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_234(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_235(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_236(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_237(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_238(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_239(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_240(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_241(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_242(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_243(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_244(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_245(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_246(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_247(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_248(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_249(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_250(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_251(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_252(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_253(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_254(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_255(p, o, s) 0
+# define NDNBOOST_PP_WHILE_CHECK_NDNBOOST_PP_WHILE_256(p, o, s) 0
 #
 # endif
diff --git a/include/ndnboost/preprocessor/debug/error.hpp b/include/ndnboost/preprocessor/debug/error.hpp
index 5adb571..69f1358 100644
--- a/include/ndnboost/preprocessor/debug/error.hpp
+++ b/include/ndnboost/preprocessor/debug/error.hpp
@@ -9,25 +9,25 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_DEBUG_ERROR_HPP
-# define BOOST_PREPROCESSOR_DEBUG_ERROR_HPP
+# ifndef NDNBOOST_PREPROCESSOR_DEBUG_ERROR_HPP
+# define NDNBOOST_PREPROCESSOR_DEBUG_ERROR_HPP
 #
 # include <ndnboost/preprocessor/cat.hpp>
 # include <ndnboost/preprocessor/config/config.hpp>
 #
-# /* BOOST_PP_ERROR */
+# /* NDNBOOST_PP_ERROR */
 #
-# if BOOST_PP_CONFIG_ERRORS
-#    define BOOST_PP_ERROR(code) BOOST_PP_CAT(BOOST_PP_ERROR_, code)
+# if NDNBOOST_PP_CONFIG_ERRORS
+#    define NDNBOOST_PP_ERROR(code) NDNBOOST_PP_CAT(NDNBOOST_PP_ERROR_, code)
 # endif
 #
-# define BOOST_PP_ERROR_0x0000 BOOST_PP_ERROR(0x0000, BOOST_PP_INDEX_OUT_OF_BOUNDS)
-# define BOOST_PP_ERROR_0x0001 BOOST_PP_ERROR(0x0001, BOOST_PP_WHILE_OVERFLOW)
-# define BOOST_PP_ERROR_0x0002 BOOST_PP_ERROR(0x0002, BOOST_PP_FOR_OVERFLOW)
-# define BOOST_PP_ERROR_0x0003 BOOST_PP_ERROR(0x0003, BOOST_PP_REPEAT_OVERFLOW)
-# define BOOST_PP_ERROR_0x0004 BOOST_PP_ERROR(0x0004, BOOST_PP_LIST_FOLD_OVERFLOW)
-# define BOOST_PP_ERROR_0x0005 BOOST_PP_ERROR(0x0005, BOOST_PP_SEQ_FOLD_OVERFLOW)
-# define BOOST_PP_ERROR_0x0006 BOOST_PP_ERROR(0x0006, BOOST_PP_ARITHMETIC_OVERFLOW)
-# define BOOST_PP_ERROR_0x0007 BOOST_PP_ERROR(0x0007, BOOST_PP_DIVISION_BY_ZERO)
+# define NDNBOOST_PP_ERROR_0x0000 NDNBOOST_PP_ERROR(0x0000, NDNBOOST_PP_INDEX_OUT_OF_BOUNDS)
+# define NDNBOOST_PP_ERROR_0x0001 NDNBOOST_PP_ERROR(0x0001, NDNBOOST_PP_WHILE_OVERFLOW)
+# define NDNBOOST_PP_ERROR_0x0002 NDNBOOST_PP_ERROR(0x0002, NDNBOOST_PP_FOR_OVERFLOW)
+# define NDNBOOST_PP_ERROR_0x0003 NDNBOOST_PP_ERROR(0x0003, NDNBOOST_PP_REPEAT_OVERFLOW)
+# define NDNBOOST_PP_ERROR_0x0004 NDNBOOST_PP_ERROR(0x0004, NDNBOOST_PP_LIST_FOLD_OVERFLOW)
+# define NDNBOOST_PP_ERROR_0x0005 NDNBOOST_PP_ERROR(0x0005, NDNBOOST_PP_SEQ_FOLD_OVERFLOW)
+# define NDNBOOST_PP_ERROR_0x0006 NDNBOOST_PP_ERROR(0x0006, NDNBOOST_PP_ARITHMETIC_OVERFLOW)
+# define NDNBOOST_PP_ERROR_0x0007 NDNBOOST_PP_ERROR(0x0007, NDNBOOST_PP_DIVISION_BY_ZERO)
 #
 # endif
diff --git a/include/ndnboost/preprocessor/dec.hpp b/include/ndnboost/preprocessor/dec.hpp
index a5678ad..148e739 100644
--- a/include/ndnboost/preprocessor/dec.hpp
+++ b/include/ndnboost/preprocessor/dec.hpp
@@ -9,8 +9,8 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_DEC_HPP
-# define BOOST_PREPROCESSOR_DEC_HPP
+# ifndef NDNBOOST_PREPROCESSOR_DEC_HPP
+# define NDNBOOST_PREPROCESSOR_DEC_HPP
 #
 # include <ndnboost/preprocessor/arithmetic/dec.hpp>
 #
diff --git a/include/ndnboost/preprocessor/detail/auto_rec.hpp b/include/ndnboost/preprocessor/detail/auto_rec.hpp
index 8167a15..0bf4ace 100644
--- a/include/ndnboost/preprocessor/detail/auto_rec.hpp
+++ b/include/ndnboost/preprocessor/detail/auto_rec.hpp
@@ -11,283 +11,283 @@
 #
 # include <ndnboost/preprocessor/config/config.hpp>
 #
-# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_DMC()
+# if NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_DMC()
 #     include <ndnboost/preprocessor/detail/dmc/auto_rec.hpp>
 # else
 #
-# ifndef BOOST_PREPROCESSOR_DETAIL_AUTO_REC_HPP
-# define BOOST_PREPROCESSOR_DETAIL_AUTO_REC_HPP
+# ifndef NDNBOOST_PREPROCESSOR_DETAIL_AUTO_REC_HPP
+# define NDNBOOST_PREPROCESSOR_DETAIL_AUTO_REC_HPP
 #
 # include <ndnboost/preprocessor/control/iif.hpp>
 #
-# /* BOOST_PP_AUTO_REC */
+# /* NDNBOOST_PP_AUTO_REC */
 #
-# define BOOST_PP_AUTO_REC(pred, n) BOOST_PP_NODE_ENTRY_ ## n(pred)
+# define NDNBOOST_PP_AUTO_REC(pred, n) NDNBOOST_PP_NODE_ENTRY_ ## n(pred)
 #
-# define BOOST_PP_NODE_ENTRY_256(p) BOOST_PP_NODE_128(p)(p)(p)(p)(p)(p)(p)(p)
-# define BOOST_PP_NODE_ENTRY_128(p) BOOST_PP_NODE_64(p)(p)(p)(p)(p)(p)(p)
-# define BOOST_PP_NODE_ENTRY_64(p) BOOST_PP_NODE_32(p)(p)(p)(p)(p)(p)
-# define BOOST_PP_NODE_ENTRY_32(p) BOOST_PP_NODE_16(p)(p)(p)(p)(p)
-# define BOOST_PP_NODE_ENTRY_16(p) BOOST_PP_NODE_8(p)(p)(p)(p)
-# define BOOST_PP_NODE_ENTRY_8(p) BOOST_PP_NODE_4(p)(p)(p)
-# define BOOST_PP_NODE_ENTRY_4(p) BOOST_PP_NODE_2(p)(p)
-# define BOOST_PP_NODE_ENTRY_2(p) BOOST_PP_NODE_1(p)
+# define NDNBOOST_PP_NODE_ENTRY_256(p) NDNBOOST_PP_NODE_128(p)(p)(p)(p)(p)(p)(p)(p)
+# define NDNBOOST_PP_NODE_ENTRY_128(p) NDNBOOST_PP_NODE_64(p)(p)(p)(p)(p)(p)(p)
+# define NDNBOOST_PP_NODE_ENTRY_64(p) NDNBOOST_PP_NODE_32(p)(p)(p)(p)(p)(p)
+# define NDNBOOST_PP_NODE_ENTRY_32(p) NDNBOOST_PP_NODE_16(p)(p)(p)(p)(p)
+# define NDNBOOST_PP_NODE_ENTRY_16(p) NDNBOOST_PP_NODE_8(p)(p)(p)(p)
+# define NDNBOOST_PP_NODE_ENTRY_8(p) NDNBOOST_PP_NODE_4(p)(p)(p)
+# define NDNBOOST_PP_NODE_ENTRY_4(p) NDNBOOST_PP_NODE_2(p)(p)
+# define NDNBOOST_PP_NODE_ENTRY_2(p) NDNBOOST_PP_NODE_1(p)
 #
-# define BOOST_PP_NODE_128(p) BOOST_PP_IIF(p(128), BOOST_PP_NODE_64, BOOST_PP_NODE_192)
-#    define BOOST_PP_NODE_64(p) BOOST_PP_IIF(p(64), BOOST_PP_NODE_32, BOOST_PP_NODE_96)
-#        define BOOST_PP_NODE_32(p) BOOST_PP_IIF(p(32), BOOST_PP_NODE_16, BOOST_PP_NODE_48)
-#            define BOOST_PP_NODE_16(p) BOOST_PP_IIF(p(16), BOOST_PP_NODE_8, BOOST_PP_NODE_24)
-#                define BOOST_PP_NODE_8(p) BOOST_PP_IIF(p(8), BOOST_PP_NODE_4, BOOST_PP_NODE_12)
-#                    define BOOST_PP_NODE_4(p) BOOST_PP_IIF(p(4), BOOST_PP_NODE_2, BOOST_PP_NODE_6)
-#                        define BOOST_PP_NODE_2(p) BOOST_PP_IIF(p(2), BOOST_PP_NODE_1, BOOST_PP_NODE_3)
-#                            define BOOST_PP_NODE_1(p) BOOST_PP_IIF(p(1), 1, 2)
-#                            define BOOST_PP_NODE_3(p) BOOST_PP_IIF(p(3), 3, 4)
-#                        define BOOST_PP_NODE_6(p) BOOST_PP_IIF(p(6), BOOST_PP_NODE_5, BOOST_PP_NODE_7)
-#                            define BOOST_PP_NODE_5(p) BOOST_PP_IIF(p(5), 5, 6)
-#                            define BOOST_PP_NODE_7(p) BOOST_PP_IIF(p(7), 7, 8)
-#                    define BOOST_PP_NODE_12(p) BOOST_PP_IIF(p(12), BOOST_PP_NODE_10, BOOST_PP_NODE_14)
-#                        define BOOST_PP_NODE_10(p) BOOST_PP_IIF(p(10), BOOST_PP_NODE_9, BOOST_PP_NODE_11)
-#                            define BOOST_PP_NODE_9(p) BOOST_PP_IIF(p(9), 9, 10)
-#                            define BOOST_PP_NODE_11(p) BOOST_PP_IIF(p(11), 11, 12)
-#                        define BOOST_PP_NODE_14(p) BOOST_PP_IIF(p(14), BOOST_PP_NODE_13, BOOST_PP_NODE_15)
-#                            define BOOST_PP_NODE_13(p) BOOST_PP_IIF(p(13), 13, 14)
-#                            define BOOST_PP_NODE_15(p) BOOST_PP_IIF(p(15), 15, 16)
-#                define BOOST_PP_NODE_24(p) BOOST_PP_IIF(p(24), BOOST_PP_NODE_20, BOOST_PP_NODE_28)
-#                    define BOOST_PP_NODE_20(p) BOOST_PP_IIF(p(20), BOOST_PP_NODE_18, BOOST_PP_NODE_22)
-#                        define BOOST_PP_NODE_18(p) BOOST_PP_IIF(p(18), BOOST_PP_NODE_17, BOOST_PP_NODE_19)
-#                            define BOOST_PP_NODE_17(p) BOOST_PP_IIF(p(17), 17, 18)
-#                            define BOOST_PP_NODE_19(p) BOOST_PP_IIF(p(19), 19, 20)
-#                        define BOOST_PP_NODE_22(p) BOOST_PP_IIF(p(22), BOOST_PP_NODE_21, BOOST_PP_NODE_23)
-#                            define BOOST_PP_NODE_21(p) BOOST_PP_IIF(p(21), 21, 22)
-#                            define BOOST_PP_NODE_23(p) BOOST_PP_IIF(p(23), 23, 24)
-#                    define BOOST_PP_NODE_28(p) BOOST_PP_IIF(p(28), BOOST_PP_NODE_26, BOOST_PP_NODE_30)
-#                        define BOOST_PP_NODE_26(p) BOOST_PP_IIF(p(26), BOOST_PP_NODE_25, BOOST_PP_NODE_27)
-#                            define BOOST_PP_NODE_25(p) BOOST_PP_IIF(p(25), 25, 26)
-#                            define BOOST_PP_NODE_27(p) BOOST_PP_IIF(p(27), 27, 28)
-#                        define BOOST_PP_NODE_30(p) BOOST_PP_IIF(p(30), BOOST_PP_NODE_29, BOOST_PP_NODE_31)
-#                            define BOOST_PP_NODE_29(p) BOOST_PP_IIF(p(29), 29, 30)
-#                            define BOOST_PP_NODE_31(p) BOOST_PP_IIF(p(31), 31, 32)
-#            define BOOST_PP_NODE_48(p) BOOST_PP_IIF(p(48), BOOST_PP_NODE_40, BOOST_PP_NODE_56)
-#                define BOOST_PP_NODE_40(p) BOOST_PP_IIF(p(40), BOOST_PP_NODE_36, BOOST_PP_NODE_44)
-#                    define BOOST_PP_NODE_36(p) BOOST_PP_IIF(p(36), BOOST_PP_NODE_34, BOOST_PP_NODE_38)
-#                        define BOOST_PP_NODE_34(p) BOOST_PP_IIF(p(34), BOOST_PP_NODE_33, BOOST_PP_NODE_35)
-#                            define BOOST_PP_NODE_33(p) BOOST_PP_IIF(p(33), 33, 34)
-#                            define BOOST_PP_NODE_35(p) BOOST_PP_IIF(p(35), 35, 36)
-#                        define BOOST_PP_NODE_38(p) BOOST_PP_IIF(p(38), BOOST_PP_NODE_37, BOOST_PP_NODE_39)
-#                            define BOOST_PP_NODE_37(p) BOOST_PP_IIF(p(37), 37, 38)
-#                            define BOOST_PP_NODE_39(p) BOOST_PP_IIF(p(39), 39, 40)
-#                    define BOOST_PP_NODE_44(p) BOOST_PP_IIF(p(44), BOOST_PP_NODE_42, BOOST_PP_NODE_46)
-#                        define BOOST_PP_NODE_42(p) BOOST_PP_IIF(p(42), BOOST_PP_NODE_41, BOOST_PP_NODE_43)
-#                            define BOOST_PP_NODE_41(p) BOOST_PP_IIF(p(41), 41, 42)
-#                            define BOOST_PP_NODE_43(p) BOOST_PP_IIF(p(43), 43, 44)
-#                        define BOOST_PP_NODE_46(p) BOOST_PP_IIF(p(46), BOOST_PP_NODE_45, BOOST_PP_NODE_47)
-#                            define BOOST_PP_NODE_45(p) BOOST_PP_IIF(p(45), 45, 46)
-#                            define BOOST_PP_NODE_47(p) BOOST_PP_IIF(p(47), 47, 48)
-#                define BOOST_PP_NODE_56(p) BOOST_PP_IIF(p(56), BOOST_PP_NODE_52, BOOST_PP_NODE_60)
-#                    define BOOST_PP_NODE_52(p) BOOST_PP_IIF(p(52), BOOST_PP_NODE_50, BOOST_PP_NODE_54)
-#                        define BOOST_PP_NODE_50(p) BOOST_PP_IIF(p(50), BOOST_PP_NODE_49, BOOST_PP_NODE_51)
-#                            define BOOST_PP_NODE_49(p) BOOST_PP_IIF(p(49), 49, 50)
-#                            define BOOST_PP_NODE_51(p) BOOST_PP_IIF(p(51), 51, 52)
-#                        define BOOST_PP_NODE_54(p) BOOST_PP_IIF(p(54), BOOST_PP_NODE_53, BOOST_PP_NODE_55)
-#                            define BOOST_PP_NODE_53(p) BOOST_PP_IIF(p(53), 53, 54)
-#                            define BOOST_PP_NODE_55(p) BOOST_PP_IIF(p(55), 55, 56)
-#                    define BOOST_PP_NODE_60(p) BOOST_PP_IIF(p(60), BOOST_PP_NODE_58, BOOST_PP_NODE_62)
-#                        define BOOST_PP_NODE_58(p) BOOST_PP_IIF(p(58), BOOST_PP_NODE_57, BOOST_PP_NODE_59)
-#                            define BOOST_PP_NODE_57(p) BOOST_PP_IIF(p(57), 57, 58)
-#                            define BOOST_PP_NODE_59(p) BOOST_PP_IIF(p(59), 59, 60)
-#                        define BOOST_PP_NODE_62(p) BOOST_PP_IIF(p(62), BOOST_PP_NODE_61, BOOST_PP_NODE_63)
-#                            define BOOST_PP_NODE_61(p) BOOST_PP_IIF(p(61), 61, 62)
-#                            define BOOST_PP_NODE_63(p) BOOST_PP_IIF(p(63), 63, 64)
-#        define BOOST_PP_NODE_96(p) BOOST_PP_IIF(p(96), BOOST_PP_NODE_80, BOOST_PP_NODE_112)
-#            define BOOST_PP_NODE_80(p) BOOST_PP_IIF(p(80), BOOST_PP_NODE_72, BOOST_PP_NODE_88)
-#                define BOOST_PP_NODE_72(p) BOOST_PP_IIF(p(72), BOOST_PP_NODE_68, BOOST_PP_NODE_76)
-#                    define BOOST_PP_NODE_68(p) BOOST_PP_IIF(p(68), BOOST_PP_NODE_66, BOOST_PP_NODE_70)
-#                        define BOOST_PP_NODE_66(p) BOOST_PP_IIF(p(66), BOOST_PP_NODE_65, BOOST_PP_NODE_67)
-#                            define BOOST_PP_NODE_65(p) BOOST_PP_IIF(p(65), 65, 66)
-#                            define BOOST_PP_NODE_67(p) BOOST_PP_IIF(p(67), 67, 68)
-#                        define BOOST_PP_NODE_70(p) BOOST_PP_IIF(p(70), BOOST_PP_NODE_69, BOOST_PP_NODE_71)
-#                            define BOOST_PP_NODE_69(p) BOOST_PP_IIF(p(69), 69, 70)
-#                            define BOOST_PP_NODE_71(p) BOOST_PP_IIF(p(71), 71, 72)
-#                    define BOOST_PP_NODE_76(p) BOOST_PP_IIF(p(76), BOOST_PP_NODE_74, BOOST_PP_NODE_78)
-#                        define BOOST_PP_NODE_74(p) BOOST_PP_IIF(p(74), BOOST_PP_NODE_73, BOOST_PP_NODE_75)
-#                            define BOOST_PP_NODE_73(p) BOOST_PP_IIF(p(73), 73, 74)
-#                            define BOOST_PP_NODE_75(p) BOOST_PP_IIF(p(75), 75, 76)
-#                        define BOOST_PP_NODE_78(p) BOOST_PP_IIF(p(78), BOOST_PP_NODE_77, BOOST_PP_NODE_79)
-#                            define BOOST_PP_NODE_77(p) BOOST_PP_IIF(p(77), 77, 78)
-#                            define BOOST_PP_NODE_79(p) BOOST_PP_IIF(p(79), 79, 80)
-#                define BOOST_PP_NODE_88(p) BOOST_PP_IIF(p(88), BOOST_PP_NODE_84, BOOST_PP_NODE_92)
-#                    define BOOST_PP_NODE_84(p) BOOST_PP_IIF(p(84), BOOST_PP_NODE_82, BOOST_PP_NODE_86)
-#                        define BOOST_PP_NODE_82(p) BOOST_PP_IIF(p(82), BOOST_PP_NODE_81, BOOST_PP_NODE_83)
-#                            define BOOST_PP_NODE_81(p) BOOST_PP_IIF(p(81), 81, 82)
-#                            define BOOST_PP_NODE_83(p) BOOST_PP_IIF(p(83), 83, 84)
-#                        define BOOST_PP_NODE_86(p) BOOST_PP_IIF(p(86), BOOST_PP_NODE_85, BOOST_PP_NODE_87)
-#                            define BOOST_PP_NODE_85(p) BOOST_PP_IIF(p(85), 85, 86)
-#                            define BOOST_PP_NODE_87(p) BOOST_PP_IIF(p(87), 87, 88)
-#                    define BOOST_PP_NODE_92(p) BOOST_PP_IIF(p(92), BOOST_PP_NODE_90, BOOST_PP_NODE_94)
-#                        define BOOST_PP_NODE_90(p) BOOST_PP_IIF(p(90), BOOST_PP_NODE_89, BOOST_PP_NODE_91)
-#                            define BOOST_PP_NODE_89(p) BOOST_PP_IIF(p(89), 89, 90)
-#                            define BOOST_PP_NODE_91(p) BOOST_PP_IIF(p(91), 91, 92)
-#                        define BOOST_PP_NODE_94(p) BOOST_PP_IIF(p(94), BOOST_PP_NODE_93, BOOST_PP_NODE_95)
-#                            define BOOST_PP_NODE_93(p) BOOST_PP_IIF(p(93), 93, 94)
-#                            define BOOST_PP_NODE_95(p) BOOST_PP_IIF(p(95), 95, 96)
-#            define BOOST_PP_NODE_112(p) BOOST_PP_IIF(p(112), BOOST_PP_NODE_104, BOOST_PP_NODE_120)
-#                define BOOST_PP_NODE_104(p) BOOST_PP_IIF(p(104), BOOST_PP_NODE_100, BOOST_PP_NODE_108)
-#                    define BOOST_PP_NODE_100(p) BOOST_PP_IIF(p(100), BOOST_PP_NODE_98, BOOST_PP_NODE_102)
-#                        define BOOST_PP_NODE_98(p) BOOST_PP_IIF(p(98), BOOST_PP_NODE_97, BOOST_PP_NODE_99)
-#                            define BOOST_PP_NODE_97(p) BOOST_PP_IIF(p(97), 97, 98)
-#                            define BOOST_PP_NODE_99(p) BOOST_PP_IIF(p(99), 99, 100)
-#                        define BOOST_PP_NODE_102(p) BOOST_PP_IIF(p(102), BOOST_PP_NODE_101, BOOST_PP_NODE_103)
-#                            define BOOST_PP_NODE_101(p) BOOST_PP_IIF(p(101), 101, 102)
-#                            define BOOST_PP_NODE_103(p) BOOST_PP_IIF(p(103), 103, 104)
-#                    define BOOST_PP_NODE_108(p) BOOST_PP_IIF(p(108), BOOST_PP_NODE_106, BOOST_PP_NODE_110)
-#                        define BOOST_PP_NODE_106(p) BOOST_PP_IIF(p(106), BOOST_PP_NODE_105, BOOST_PP_NODE_107)
-#                            define BOOST_PP_NODE_105(p) BOOST_PP_IIF(p(105), 105, 106)
-#                            define BOOST_PP_NODE_107(p) BOOST_PP_IIF(p(107), 107, 108)
-#                        define BOOST_PP_NODE_110(p) BOOST_PP_IIF(p(110), BOOST_PP_NODE_109, BOOST_PP_NODE_111)
-#                            define BOOST_PP_NODE_109(p) BOOST_PP_IIF(p(109), 109, 110)
-#                            define BOOST_PP_NODE_111(p) BOOST_PP_IIF(p(111), 111, 112)
-#                define BOOST_PP_NODE_120(p) BOOST_PP_IIF(p(120), BOOST_PP_NODE_116, BOOST_PP_NODE_124)
-#                    define BOOST_PP_NODE_116(p) BOOST_PP_IIF(p(116), BOOST_PP_NODE_114, BOOST_PP_NODE_118)
-#                        define BOOST_PP_NODE_114(p) BOOST_PP_IIF(p(114), BOOST_PP_NODE_113, BOOST_PP_NODE_115)
-#                            define BOOST_PP_NODE_113(p) BOOST_PP_IIF(p(113), 113, 114)
-#                            define BOOST_PP_NODE_115(p) BOOST_PP_IIF(p(115), 115, 116)
-#                        define BOOST_PP_NODE_118(p) BOOST_PP_IIF(p(118), BOOST_PP_NODE_117, BOOST_PP_NODE_119)
-#                            define BOOST_PP_NODE_117(p) BOOST_PP_IIF(p(117), 117, 118)
-#                            define BOOST_PP_NODE_119(p) BOOST_PP_IIF(p(119), 119, 120)
-#                    define BOOST_PP_NODE_124(p) BOOST_PP_IIF(p(124), BOOST_PP_NODE_122, BOOST_PP_NODE_126)
-#                        define BOOST_PP_NODE_122(p) BOOST_PP_IIF(p(122), BOOST_PP_NODE_121, BOOST_PP_NODE_123)
-#                            define BOOST_PP_NODE_121(p) BOOST_PP_IIF(p(121), 121, 122)
-#                            define BOOST_PP_NODE_123(p) BOOST_PP_IIF(p(123), 123, 124)
-#                        define BOOST_PP_NODE_126(p) BOOST_PP_IIF(p(126), BOOST_PP_NODE_125, BOOST_PP_NODE_127)
-#                            define BOOST_PP_NODE_125(p) BOOST_PP_IIF(p(125), 125, 126)
-#                            define BOOST_PP_NODE_127(p) BOOST_PP_IIF(p(127), 127, 128)
-#    define BOOST_PP_NODE_192(p) BOOST_PP_IIF(p(192), BOOST_PP_NODE_160, BOOST_PP_NODE_224)
-#        define BOOST_PP_NODE_160(p) BOOST_PP_IIF(p(160), BOOST_PP_NODE_144, BOOST_PP_NODE_176)
-#            define BOOST_PP_NODE_144(p) BOOST_PP_IIF(p(144), BOOST_PP_NODE_136, BOOST_PP_NODE_152)
-#                define BOOST_PP_NODE_136(p) BOOST_PP_IIF(p(136), BOOST_PP_NODE_132, BOOST_PP_NODE_140)
-#                    define BOOST_PP_NODE_132(p) BOOST_PP_IIF(p(132), BOOST_PP_NODE_130, BOOST_PP_NODE_134)
-#                        define BOOST_PP_NODE_130(p) BOOST_PP_IIF(p(130), BOOST_PP_NODE_129, BOOST_PP_NODE_131)
-#                            define BOOST_PP_NODE_129(p) BOOST_PP_IIF(p(129), 129, 130)
-#                            define BOOST_PP_NODE_131(p) BOOST_PP_IIF(p(131), 131, 132)
-#                        define BOOST_PP_NODE_134(p) BOOST_PP_IIF(p(134), BOOST_PP_NODE_133, BOOST_PP_NODE_135)
-#                            define BOOST_PP_NODE_133(p) BOOST_PP_IIF(p(133), 133, 134)
-#                            define BOOST_PP_NODE_135(p) BOOST_PP_IIF(p(135), 135, 136)
-#                    define BOOST_PP_NODE_140(p) BOOST_PP_IIF(p(140), BOOST_PP_NODE_138, BOOST_PP_NODE_142)
-#                        define BOOST_PP_NODE_138(p) BOOST_PP_IIF(p(138), BOOST_PP_NODE_137, BOOST_PP_NODE_139)
-#                            define BOOST_PP_NODE_137(p) BOOST_PP_IIF(p(137), 137, 138)
-#                            define BOOST_PP_NODE_139(p) BOOST_PP_IIF(p(139), 139, 140)
-#                        define BOOST_PP_NODE_142(p) BOOST_PP_IIF(p(142), BOOST_PP_NODE_141, BOOST_PP_NODE_143)
-#                            define BOOST_PP_NODE_141(p) BOOST_PP_IIF(p(141), 141, 142)
-#                            define BOOST_PP_NODE_143(p) BOOST_PP_IIF(p(143), 143, 144)
-#                define BOOST_PP_NODE_152(p) BOOST_PP_IIF(p(152), BOOST_PP_NODE_148, BOOST_PP_NODE_156)
-#                    define BOOST_PP_NODE_148(p) BOOST_PP_IIF(p(148), BOOST_PP_NODE_146, BOOST_PP_NODE_150)
-#                        define BOOST_PP_NODE_146(p) BOOST_PP_IIF(p(146), BOOST_PP_NODE_145, BOOST_PP_NODE_147)
-#                            define BOOST_PP_NODE_145(p) BOOST_PP_IIF(p(145), 145, 146)
-#                            define BOOST_PP_NODE_147(p) BOOST_PP_IIF(p(147), 147, 148)
-#                        define BOOST_PP_NODE_150(p) BOOST_PP_IIF(p(150), BOOST_PP_NODE_149, BOOST_PP_NODE_151)
-#                            define BOOST_PP_NODE_149(p) BOOST_PP_IIF(p(149), 149, 150)
-#                            define BOOST_PP_NODE_151(p) BOOST_PP_IIF(p(151), 151, 152)
-#                    define BOOST_PP_NODE_156(p) BOOST_PP_IIF(p(156), BOOST_PP_NODE_154, BOOST_PP_NODE_158)
-#                        define BOOST_PP_NODE_154(p) BOOST_PP_IIF(p(154), BOOST_PP_NODE_153, BOOST_PP_NODE_155)
-#                            define BOOST_PP_NODE_153(p) BOOST_PP_IIF(p(153), 153, 154)
-#                            define BOOST_PP_NODE_155(p) BOOST_PP_IIF(p(155), 155, 156)
-#                        define BOOST_PP_NODE_158(p) BOOST_PP_IIF(p(158), BOOST_PP_NODE_157, BOOST_PP_NODE_159)
-#                            define BOOST_PP_NODE_157(p) BOOST_PP_IIF(p(157), 157, 158)
-#                            define BOOST_PP_NODE_159(p) BOOST_PP_IIF(p(159), 159, 160)
-#            define BOOST_PP_NODE_176(p) BOOST_PP_IIF(p(176), BOOST_PP_NODE_168, BOOST_PP_NODE_184)
-#                define BOOST_PP_NODE_168(p) BOOST_PP_IIF(p(168), BOOST_PP_NODE_164, BOOST_PP_NODE_172)
-#                    define BOOST_PP_NODE_164(p) BOOST_PP_IIF(p(164), BOOST_PP_NODE_162, BOOST_PP_NODE_166)
-#                        define BOOST_PP_NODE_162(p) BOOST_PP_IIF(p(162), BOOST_PP_NODE_161, BOOST_PP_NODE_163)
-#                            define BOOST_PP_NODE_161(p) BOOST_PP_IIF(p(161), 161, 162)
-#                            define BOOST_PP_NODE_163(p) BOOST_PP_IIF(p(163), 163, 164)
-#                        define BOOST_PP_NODE_166(p) BOOST_PP_IIF(p(166), BOOST_PP_NODE_165, BOOST_PP_NODE_167)
-#                            define BOOST_PP_NODE_165(p) BOOST_PP_IIF(p(165), 165, 166)
-#                            define BOOST_PP_NODE_167(p) BOOST_PP_IIF(p(167), 167, 168)
-#                    define BOOST_PP_NODE_172(p) BOOST_PP_IIF(p(172), BOOST_PP_NODE_170, BOOST_PP_NODE_174)
-#                        define BOOST_PP_NODE_170(p) BOOST_PP_IIF(p(170), BOOST_PP_NODE_169, BOOST_PP_NODE_171)
-#                            define BOOST_PP_NODE_169(p) BOOST_PP_IIF(p(169), 169, 170)
-#                            define BOOST_PP_NODE_171(p) BOOST_PP_IIF(p(171), 171, 172)
-#                        define BOOST_PP_NODE_174(p) BOOST_PP_IIF(p(174), BOOST_PP_NODE_173, BOOST_PP_NODE_175)
-#                            define BOOST_PP_NODE_173(p) BOOST_PP_IIF(p(173), 173, 174)
-#                            define BOOST_PP_NODE_175(p) BOOST_PP_IIF(p(175), 175, 176)
-#                define BOOST_PP_NODE_184(p) BOOST_PP_IIF(p(184), BOOST_PP_NODE_180, BOOST_PP_NODE_188)
-#                    define BOOST_PP_NODE_180(p) BOOST_PP_IIF(p(180), BOOST_PP_NODE_178, BOOST_PP_NODE_182)
-#                        define BOOST_PP_NODE_178(p) BOOST_PP_IIF(p(178), BOOST_PP_NODE_177, BOOST_PP_NODE_179)
-#                            define BOOST_PP_NODE_177(p) BOOST_PP_IIF(p(177), 177, 178)
-#                            define BOOST_PP_NODE_179(p) BOOST_PP_IIF(p(179), 179, 180)
-#                        define BOOST_PP_NODE_182(p) BOOST_PP_IIF(p(182), BOOST_PP_NODE_181, BOOST_PP_NODE_183)
-#                            define BOOST_PP_NODE_181(p) BOOST_PP_IIF(p(181), 181, 182)
-#                            define BOOST_PP_NODE_183(p) BOOST_PP_IIF(p(183), 183, 184)
-#                    define BOOST_PP_NODE_188(p) BOOST_PP_IIF(p(188), BOOST_PP_NODE_186, BOOST_PP_NODE_190)
-#                        define BOOST_PP_NODE_186(p) BOOST_PP_IIF(p(186), BOOST_PP_NODE_185, BOOST_PP_NODE_187)
-#                            define BOOST_PP_NODE_185(p) BOOST_PP_IIF(p(185), 185, 186)
-#                            define BOOST_PP_NODE_187(p) BOOST_PP_IIF(p(187), 187, 188)
-#                        define BOOST_PP_NODE_190(p) BOOST_PP_IIF(p(190), BOOST_PP_NODE_189, BOOST_PP_NODE_191)
-#                            define BOOST_PP_NODE_189(p) BOOST_PP_IIF(p(189), 189, 190)
-#                            define BOOST_PP_NODE_191(p) BOOST_PP_IIF(p(191), 191, 192)
-#        define BOOST_PP_NODE_224(p) BOOST_PP_IIF(p(224), BOOST_PP_NODE_208, BOOST_PP_NODE_240)
-#            define BOOST_PP_NODE_208(p) BOOST_PP_IIF(p(208), BOOST_PP_NODE_200, BOOST_PP_NODE_216)
-#                define BOOST_PP_NODE_200(p) BOOST_PP_IIF(p(200), BOOST_PP_NODE_196, BOOST_PP_NODE_204)
-#                    define BOOST_PP_NODE_196(p) BOOST_PP_IIF(p(196), BOOST_PP_NODE_194, BOOST_PP_NODE_198)
-#                        define BOOST_PP_NODE_194(p) BOOST_PP_IIF(p(194), BOOST_PP_NODE_193, BOOST_PP_NODE_195)
-#                            define BOOST_PP_NODE_193(p) BOOST_PP_IIF(p(193), 193, 194)
-#                            define BOOST_PP_NODE_195(p) BOOST_PP_IIF(p(195), 195, 196)
-#                        define BOOST_PP_NODE_198(p) BOOST_PP_IIF(p(198), BOOST_PP_NODE_197, BOOST_PP_NODE_199)
-#                            define BOOST_PP_NODE_197(p) BOOST_PP_IIF(p(197), 197, 198)
-#                            define BOOST_PP_NODE_199(p) BOOST_PP_IIF(p(199), 199, 200)
-#                    define BOOST_PP_NODE_204(p) BOOST_PP_IIF(p(204), BOOST_PP_NODE_202, BOOST_PP_NODE_206)
-#                        define BOOST_PP_NODE_202(p) BOOST_PP_IIF(p(202), BOOST_PP_NODE_201, BOOST_PP_NODE_203)
-#                            define BOOST_PP_NODE_201(p) BOOST_PP_IIF(p(201), 201, 202)
-#                            define BOOST_PP_NODE_203(p) BOOST_PP_IIF(p(203), 203, 204)
-#                        define BOOST_PP_NODE_206(p) BOOST_PP_IIF(p(206), BOOST_PP_NODE_205, BOOST_PP_NODE_207)
-#                            define BOOST_PP_NODE_205(p) BOOST_PP_IIF(p(205), 205, 206)
-#                            define BOOST_PP_NODE_207(p) BOOST_PP_IIF(p(207), 207, 208)
-#                define BOOST_PP_NODE_216(p) BOOST_PP_IIF(p(216), BOOST_PP_NODE_212, BOOST_PP_NODE_220)
-#                    define BOOST_PP_NODE_212(p) BOOST_PP_IIF(p(212), BOOST_PP_NODE_210, BOOST_PP_NODE_214)
-#                        define BOOST_PP_NODE_210(p) BOOST_PP_IIF(p(210), BOOST_PP_NODE_209, BOOST_PP_NODE_211)
-#                            define BOOST_PP_NODE_209(p) BOOST_PP_IIF(p(209), 209, 210)
-#                            define BOOST_PP_NODE_211(p) BOOST_PP_IIF(p(211), 211, 212)
-#                        define BOOST_PP_NODE_214(p) BOOST_PP_IIF(p(214), BOOST_PP_NODE_213, BOOST_PP_NODE_215)
-#                            define BOOST_PP_NODE_213(p) BOOST_PP_IIF(p(213), 213, 214)
-#                            define BOOST_PP_NODE_215(p) BOOST_PP_IIF(p(215), 215, 216)
-#                    define BOOST_PP_NODE_220(p) BOOST_PP_IIF(p(220), BOOST_PP_NODE_218, BOOST_PP_NODE_222)
-#                        define BOOST_PP_NODE_218(p) BOOST_PP_IIF(p(218), BOOST_PP_NODE_217, BOOST_PP_NODE_219)
-#                            define BOOST_PP_NODE_217(p) BOOST_PP_IIF(p(217), 217, 218)
-#                            define BOOST_PP_NODE_219(p) BOOST_PP_IIF(p(219), 219, 220)
-#                        define BOOST_PP_NODE_222(p) BOOST_PP_IIF(p(222), BOOST_PP_NODE_221, BOOST_PP_NODE_223)
-#                            define BOOST_PP_NODE_221(p) BOOST_PP_IIF(p(221), 221, 222)
-#                            define BOOST_PP_NODE_223(p) BOOST_PP_IIF(p(223), 223, 224)
-#            define BOOST_PP_NODE_240(p) BOOST_PP_IIF(p(240), BOOST_PP_NODE_232, BOOST_PP_NODE_248)
-#                define BOOST_PP_NODE_232(p) BOOST_PP_IIF(p(232), BOOST_PP_NODE_228, BOOST_PP_NODE_236)
-#                    define BOOST_PP_NODE_228(p) BOOST_PP_IIF(p(228), BOOST_PP_NODE_226, BOOST_PP_NODE_230)
-#                        define BOOST_PP_NODE_226(p) BOOST_PP_IIF(p(226), BOOST_PP_NODE_225, BOOST_PP_NODE_227)
-#                            define BOOST_PP_NODE_225(p) BOOST_PP_IIF(p(225), 225, 226)
-#                            define BOOST_PP_NODE_227(p) BOOST_PP_IIF(p(227), 227, 228)
-#                        define BOOST_PP_NODE_230(p) BOOST_PP_IIF(p(230), BOOST_PP_NODE_229, BOOST_PP_NODE_231)
-#                            define BOOST_PP_NODE_229(p) BOOST_PP_IIF(p(229), 229, 230)
-#                            define BOOST_PP_NODE_231(p) BOOST_PP_IIF(p(231), 231, 232)
-#                    define BOOST_PP_NODE_236(p) BOOST_PP_IIF(p(236), BOOST_PP_NODE_234, BOOST_PP_NODE_238)
-#                        define BOOST_PP_NODE_234(p) BOOST_PP_IIF(p(234), BOOST_PP_NODE_233, BOOST_PP_NODE_235)
-#                            define BOOST_PP_NODE_233(p) BOOST_PP_IIF(p(233), 233, 234)
-#                            define BOOST_PP_NODE_235(p) BOOST_PP_IIF(p(235), 235, 236)
-#                        define BOOST_PP_NODE_238(p) BOOST_PP_IIF(p(238), BOOST_PP_NODE_237, BOOST_PP_NODE_239)
-#                            define BOOST_PP_NODE_237(p) BOOST_PP_IIF(p(237), 237, 238)
-#                            define BOOST_PP_NODE_239(p) BOOST_PP_IIF(p(239), 239, 240)
-#                define BOOST_PP_NODE_248(p) BOOST_PP_IIF(p(248), BOOST_PP_NODE_244, BOOST_PP_NODE_252)
-#                    define BOOST_PP_NODE_244(p) BOOST_PP_IIF(p(244), BOOST_PP_NODE_242, BOOST_PP_NODE_246)
-#                        define BOOST_PP_NODE_242(p) BOOST_PP_IIF(p(242), BOOST_PP_NODE_241, BOOST_PP_NODE_243)
-#                            define BOOST_PP_NODE_241(p) BOOST_PP_IIF(p(241), 241, 242)
-#                            define BOOST_PP_NODE_243(p) BOOST_PP_IIF(p(243), 243, 244)
-#                        define BOOST_PP_NODE_246(p) BOOST_PP_IIF(p(246), BOOST_PP_NODE_245, BOOST_PP_NODE_247)
-#                            define BOOST_PP_NODE_245(p) BOOST_PP_IIF(p(245), 245, 246)
-#                            define BOOST_PP_NODE_247(p) BOOST_PP_IIF(p(247), 247, 248)
-#                    define BOOST_PP_NODE_252(p) BOOST_PP_IIF(p(252), BOOST_PP_NODE_250, BOOST_PP_NODE_254)
-#                        define BOOST_PP_NODE_250(p) BOOST_PP_IIF(p(250), BOOST_PP_NODE_249, BOOST_PP_NODE_251)
-#                            define BOOST_PP_NODE_249(p) BOOST_PP_IIF(p(249), 249, 250)
-#                            define BOOST_PP_NODE_251(p) BOOST_PP_IIF(p(251), 251, 252)
-#                        define BOOST_PP_NODE_254(p) BOOST_PP_IIF(p(254), BOOST_PP_NODE_253, BOOST_PP_NODE_255)
-#                            define BOOST_PP_NODE_253(p) BOOST_PP_IIF(p(253), 253, 254)
-#                            define BOOST_PP_NODE_255(p) BOOST_PP_IIF(p(255), 255, 256)
+# define NDNBOOST_PP_NODE_128(p) NDNBOOST_PP_IIF(p(128), NDNBOOST_PP_NODE_64, NDNBOOST_PP_NODE_192)
+#    define NDNBOOST_PP_NODE_64(p) NDNBOOST_PP_IIF(p(64), NDNBOOST_PP_NODE_32, NDNBOOST_PP_NODE_96)
+#        define NDNBOOST_PP_NODE_32(p) NDNBOOST_PP_IIF(p(32), NDNBOOST_PP_NODE_16, NDNBOOST_PP_NODE_48)
+#            define NDNBOOST_PP_NODE_16(p) NDNBOOST_PP_IIF(p(16), NDNBOOST_PP_NODE_8, NDNBOOST_PP_NODE_24)
+#                define NDNBOOST_PP_NODE_8(p) NDNBOOST_PP_IIF(p(8), NDNBOOST_PP_NODE_4, NDNBOOST_PP_NODE_12)
+#                    define NDNBOOST_PP_NODE_4(p) NDNBOOST_PP_IIF(p(4), NDNBOOST_PP_NODE_2, NDNBOOST_PP_NODE_6)
+#                        define NDNBOOST_PP_NODE_2(p) NDNBOOST_PP_IIF(p(2), NDNBOOST_PP_NODE_1, NDNBOOST_PP_NODE_3)
+#                            define NDNBOOST_PP_NODE_1(p) NDNBOOST_PP_IIF(p(1), 1, 2)
+#                            define NDNBOOST_PP_NODE_3(p) NDNBOOST_PP_IIF(p(3), 3, 4)
+#                        define NDNBOOST_PP_NODE_6(p) NDNBOOST_PP_IIF(p(6), NDNBOOST_PP_NODE_5, NDNBOOST_PP_NODE_7)
+#                            define NDNBOOST_PP_NODE_5(p) NDNBOOST_PP_IIF(p(5), 5, 6)
+#                            define NDNBOOST_PP_NODE_7(p) NDNBOOST_PP_IIF(p(7), 7, 8)
+#                    define NDNBOOST_PP_NODE_12(p) NDNBOOST_PP_IIF(p(12), NDNBOOST_PP_NODE_10, NDNBOOST_PP_NODE_14)
+#                        define NDNBOOST_PP_NODE_10(p) NDNBOOST_PP_IIF(p(10), NDNBOOST_PP_NODE_9, NDNBOOST_PP_NODE_11)
+#                            define NDNBOOST_PP_NODE_9(p) NDNBOOST_PP_IIF(p(9), 9, 10)
+#                            define NDNBOOST_PP_NODE_11(p) NDNBOOST_PP_IIF(p(11), 11, 12)
+#                        define NDNBOOST_PP_NODE_14(p) NDNBOOST_PP_IIF(p(14), NDNBOOST_PP_NODE_13, NDNBOOST_PP_NODE_15)
+#                            define NDNBOOST_PP_NODE_13(p) NDNBOOST_PP_IIF(p(13), 13, 14)
+#                            define NDNBOOST_PP_NODE_15(p) NDNBOOST_PP_IIF(p(15), 15, 16)
+#                define NDNBOOST_PP_NODE_24(p) NDNBOOST_PP_IIF(p(24), NDNBOOST_PP_NODE_20, NDNBOOST_PP_NODE_28)
+#                    define NDNBOOST_PP_NODE_20(p) NDNBOOST_PP_IIF(p(20), NDNBOOST_PP_NODE_18, NDNBOOST_PP_NODE_22)
+#                        define NDNBOOST_PP_NODE_18(p) NDNBOOST_PP_IIF(p(18), NDNBOOST_PP_NODE_17, NDNBOOST_PP_NODE_19)
+#                            define NDNBOOST_PP_NODE_17(p) NDNBOOST_PP_IIF(p(17), 17, 18)
+#                            define NDNBOOST_PP_NODE_19(p) NDNBOOST_PP_IIF(p(19), 19, 20)
+#                        define NDNBOOST_PP_NODE_22(p) NDNBOOST_PP_IIF(p(22), NDNBOOST_PP_NODE_21, NDNBOOST_PP_NODE_23)
+#                            define NDNBOOST_PP_NODE_21(p) NDNBOOST_PP_IIF(p(21), 21, 22)
+#                            define NDNBOOST_PP_NODE_23(p) NDNBOOST_PP_IIF(p(23), 23, 24)
+#                    define NDNBOOST_PP_NODE_28(p) NDNBOOST_PP_IIF(p(28), NDNBOOST_PP_NODE_26, NDNBOOST_PP_NODE_30)
+#                        define NDNBOOST_PP_NODE_26(p) NDNBOOST_PP_IIF(p(26), NDNBOOST_PP_NODE_25, NDNBOOST_PP_NODE_27)
+#                            define NDNBOOST_PP_NODE_25(p) NDNBOOST_PP_IIF(p(25), 25, 26)
+#                            define NDNBOOST_PP_NODE_27(p) NDNBOOST_PP_IIF(p(27), 27, 28)
+#                        define NDNBOOST_PP_NODE_30(p) NDNBOOST_PP_IIF(p(30), NDNBOOST_PP_NODE_29, NDNBOOST_PP_NODE_31)
+#                            define NDNBOOST_PP_NODE_29(p) NDNBOOST_PP_IIF(p(29), 29, 30)
+#                            define NDNBOOST_PP_NODE_31(p) NDNBOOST_PP_IIF(p(31), 31, 32)
+#            define NDNBOOST_PP_NODE_48(p) NDNBOOST_PP_IIF(p(48), NDNBOOST_PP_NODE_40, NDNBOOST_PP_NODE_56)
+#                define NDNBOOST_PP_NODE_40(p) NDNBOOST_PP_IIF(p(40), NDNBOOST_PP_NODE_36, NDNBOOST_PP_NODE_44)
+#                    define NDNBOOST_PP_NODE_36(p) NDNBOOST_PP_IIF(p(36), NDNBOOST_PP_NODE_34, NDNBOOST_PP_NODE_38)
+#                        define NDNBOOST_PP_NODE_34(p) NDNBOOST_PP_IIF(p(34), NDNBOOST_PP_NODE_33, NDNBOOST_PP_NODE_35)
+#                            define NDNBOOST_PP_NODE_33(p) NDNBOOST_PP_IIF(p(33), 33, 34)
+#                            define NDNBOOST_PP_NODE_35(p) NDNBOOST_PP_IIF(p(35), 35, 36)
+#                        define NDNBOOST_PP_NODE_38(p) NDNBOOST_PP_IIF(p(38), NDNBOOST_PP_NODE_37, NDNBOOST_PP_NODE_39)
+#                            define NDNBOOST_PP_NODE_37(p) NDNBOOST_PP_IIF(p(37), 37, 38)
+#                            define NDNBOOST_PP_NODE_39(p) NDNBOOST_PP_IIF(p(39), 39, 40)
+#                    define NDNBOOST_PP_NODE_44(p) NDNBOOST_PP_IIF(p(44), NDNBOOST_PP_NODE_42, NDNBOOST_PP_NODE_46)
+#                        define NDNBOOST_PP_NODE_42(p) NDNBOOST_PP_IIF(p(42), NDNBOOST_PP_NODE_41, NDNBOOST_PP_NODE_43)
+#                            define NDNBOOST_PP_NODE_41(p) NDNBOOST_PP_IIF(p(41), 41, 42)
+#                            define NDNBOOST_PP_NODE_43(p) NDNBOOST_PP_IIF(p(43), 43, 44)
+#                        define NDNBOOST_PP_NODE_46(p) NDNBOOST_PP_IIF(p(46), NDNBOOST_PP_NODE_45, NDNBOOST_PP_NODE_47)
+#                            define NDNBOOST_PP_NODE_45(p) NDNBOOST_PP_IIF(p(45), 45, 46)
+#                            define NDNBOOST_PP_NODE_47(p) NDNBOOST_PP_IIF(p(47), 47, 48)
+#                define NDNBOOST_PP_NODE_56(p) NDNBOOST_PP_IIF(p(56), NDNBOOST_PP_NODE_52, NDNBOOST_PP_NODE_60)
+#                    define NDNBOOST_PP_NODE_52(p) NDNBOOST_PP_IIF(p(52), NDNBOOST_PP_NODE_50, NDNBOOST_PP_NODE_54)
+#                        define NDNBOOST_PP_NODE_50(p) NDNBOOST_PP_IIF(p(50), NDNBOOST_PP_NODE_49, NDNBOOST_PP_NODE_51)
+#                            define NDNBOOST_PP_NODE_49(p) NDNBOOST_PP_IIF(p(49), 49, 50)
+#                            define NDNBOOST_PP_NODE_51(p) NDNBOOST_PP_IIF(p(51), 51, 52)
+#                        define NDNBOOST_PP_NODE_54(p) NDNBOOST_PP_IIF(p(54), NDNBOOST_PP_NODE_53, NDNBOOST_PP_NODE_55)
+#                            define NDNBOOST_PP_NODE_53(p) NDNBOOST_PP_IIF(p(53), 53, 54)
+#                            define NDNBOOST_PP_NODE_55(p) NDNBOOST_PP_IIF(p(55), 55, 56)
+#                    define NDNBOOST_PP_NODE_60(p) NDNBOOST_PP_IIF(p(60), NDNBOOST_PP_NODE_58, NDNBOOST_PP_NODE_62)
+#                        define NDNBOOST_PP_NODE_58(p) NDNBOOST_PP_IIF(p(58), NDNBOOST_PP_NODE_57, NDNBOOST_PP_NODE_59)
+#                            define NDNBOOST_PP_NODE_57(p) NDNBOOST_PP_IIF(p(57), 57, 58)
+#                            define NDNBOOST_PP_NODE_59(p) NDNBOOST_PP_IIF(p(59), 59, 60)
+#                        define NDNBOOST_PP_NODE_62(p) NDNBOOST_PP_IIF(p(62), NDNBOOST_PP_NODE_61, NDNBOOST_PP_NODE_63)
+#                            define NDNBOOST_PP_NODE_61(p) NDNBOOST_PP_IIF(p(61), 61, 62)
+#                            define NDNBOOST_PP_NODE_63(p) NDNBOOST_PP_IIF(p(63), 63, 64)
+#        define NDNBOOST_PP_NODE_96(p) NDNBOOST_PP_IIF(p(96), NDNBOOST_PP_NODE_80, NDNBOOST_PP_NODE_112)
+#            define NDNBOOST_PP_NODE_80(p) NDNBOOST_PP_IIF(p(80), NDNBOOST_PP_NODE_72, NDNBOOST_PP_NODE_88)
+#                define NDNBOOST_PP_NODE_72(p) NDNBOOST_PP_IIF(p(72), NDNBOOST_PP_NODE_68, NDNBOOST_PP_NODE_76)
+#                    define NDNBOOST_PP_NODE_68(p) NDNBOOST_PP_IIF(p(68), NDNBOOST_PP_NODE_66, NDNBOOST_PP_NODE_70)
+#                        define NDNBOOST_PP_NODE_66(p) NDNBOOST_PP_IIF(p(66), NDNBOOST_PP_NODE_65, NDNBOOST_PP_NODE_67)
+#                            define NDNBOOST_PP_NODE_65(p) NDNBOOST_PP_IIF(p(65), 65, 66)
+#                            define NDNBOOST_PP_NODE_67(p) NDNBOOST_PP_IIF(p(67), 67, 68)
+#                        define NDNBOOST_PP_NODE_70(p) NDNBOOST_PP_IIF(p(70), NDNBOOST_PP_NODE_69, NDNBOOST_PP_NODE_71)
+#                            define NDNBOOST_PP_NODE_69(p) NDNBOOST_PP_IIF(p(69), 69, 70)
+#                            define NDNBOOST_PP_NODE_71(p) NDNBOOST_PP_IIF(p(71), 71, 72)
+#                    define NDNBOOST_PP_NODE_76(p) NDNBOOST_PP_IIF(p(76), NDNBOOST_PP_NODE_74, NDNBOOST_PP_NODE_78)
+#                        define NDNBOOST_PP_NODE_74(p) NDNBOOST_PP_IIF(p(74), NDNBOOST_PP_NODE_73, NDNBOOST_PP_NODE_75)
+#                            define NDNBOOST_PP_NODE_73(p) NDNBOOST_PP_IIF(p(73), 73, 74)
+#                            define NDNBOOST_PP_NODE_75(p) NDNBOOST_PP_IIF(p(75), 75, 76)
+#                        define NDNBOOST_PP_NODE_78(p) NDNBOOST_PP_IIF(p(78), NDNBOOST_PP_NODE_77, NDNBOOST_PP_NODE_79)
+#                            define NDNBOOST_PP_NODE_77(p) NDNBOOST_PP_IIF(p(77), 77, 78)
+#                            define NDNBOOST_PP_NODE_79(p) NDNBOOST_PP_IIF(p(79), 79, 80)
+#                define NDNBOOST_PP_NODE_88(p) NDNBOOST_PP_IIF(p(88), NDNBOOST_PP_NODE_84, NDNBOOST_PP_NODE_92)
+#                    define NDNBOOST_PP_NODE_84(p) NDNBOOST_PP_IIF(p(84), NDNBOOST_PP_NODE_82, NDNBOOST_PP_NODE_86)
+#                        define NDNBOOST_PP_NODE_82(p) NDNBOOST_PP_IIF(p(82), NDNBOOST_PP_NODE_81, NDNBOOST_PP_NODE_83)
+#                            define NDNBOOST_PP_NODE_81(p) NDNBOOST_PP_IIF(p(81), 81, 82)
+#                            define NDNBOOST_PP_NODE_83(p) NDNBOOST_PP_IIF(p(83), 83, 84)
+#                        define NDNBOOST_PP_NODE_86(p) NDNBOOST_PP_IIF(p(86), NDNBOOST_PP_NODE_85, NDNBOOST_PP_NODE_87)
+#                            define NDNBOOST_PP_NODE_85(p) NDNBOOST_PP_IIF(p(85), 85, 86)
+#                            define NDNBOOST_PP_NODE_87(p) NDNBOOST_PP_IIF(p(87), 87, 88)
+#                    define NDNBOOST_PP_NODE_92(p) NDNBOOST_PP_IIF(p(92), NDNBOOST_PP_NODE_90, NDNBOOST_PP_NODE_94)
+#                        define NDNBOOST_PP_NODE_90(p) NDNBOOST_PP_IIF(p(90), NDNBOOST_PP_NODE_89, NDNBOOST_PP_NODE_91)
+#                            define NDNBOOST_PP_NODE_89(p) NDNBOOST_PP_IIF(p(89), 89, 90)
+#                            define NDNBOOST_PP_NODE_91(p) NDNBOOST_PP_IIF(p(91), 91, 92)
+#                        define NDNBOOST_PP_NODE_94(p) NDNBOOST_PP_IIF(p(94), NDNBOOST_PP_NODE_93, NDNBOOST_PP_NODE_95)
+#                            define NDNBOOST_PP_NODE_93(p) NDNBOOST_PP_IIF(p(93), 93, 94)
+#                            define NDNBOOST_PP_NODE_95(p) NDNBOOST_PP_IIF(p(95), 95, 96)
+#            define NDNBOOST_PP_NODE_112(p) NDNBOOST_PP_IIF(p(112), NDNBOOST_PP_NODE_104, NDNBOOST_PP_NODE_120)
+#                define NDNBOOST_PP_NODE_104(p) NDNBOOST_PP_IIF(p(104), NDNBOOST_PP_NODE_100, NDNBOOST_PP_NODE_108)
+#                    define NDNBOOST_PP_NODE_100(p) NDNBOOST_PP_IIF(p(100), NDNBOOST_PP_NODE_98, NDNBOOST_PP_NODE_102)
+#                        define NDNBOOST_PP_NODE_98(p) NDNBOOST_PP_IIF(p(98), NDNBOOST_PP_NODE_97, NDNBOOST_PP_NODE_99)
+#                            define NDNBOOST_PP_NODE_97(p) NDNBOOST_PP_IIF(p(97), 97, 98)
+#                            define NDNBOOST_PP_NODE_99(p) NDNBOOST_PP_IIF(p(99), 99, 100)
+#                        define NDNBOOST_PP_NODE_102(p) NDNBOOST_PP_IIF(p(102), NDNBOOST_PP_NODE_101, NDNBOOST_PP_NODE_103)
+#                            define NDNBOOST_PP_NODE_101(p) NDNBOOST_PP_IIF(p(101), 101, 102)
+#                            define NDNBOOST_PP_NODE_103(p) NDNBOOST_PP_IIF(p(103), 103, 104)
+#                    define NDNBOOST_PP_NODE_108(p) NDNBOOST_PP_IIF(p(108), NDNBOOST_PP_NODE_106, NDNBOOST_PP_NODE_110)
+#                        define NDNBOOST_PP_NODE_106(p) NDNBOOST_PP_IIF(p(106), NDNBOOST_PP_NODE_105, NDNBOOST_PP_NODE_107)
+#                            define NDNBOOST_PP_NODE_105(p) NDNBOOST_PP_IIF(p(105), 105, 106)
+#                            define NDNBOOST_PP_NODE_107(p) NDNBOOST_PP_IIF(p(107), 107, 108)
+#                        define NDNBOOST_PP_NODE_110(p) NDNBOOST_PP_IIF(p(110), NDNBOOST_PP_NODE_109, NDNBOOST_PP_NODE_111)
+#                            define NDNBOOST_PP_NODE_109(p) NDNBOOST_PP_IIF(p(109), 109, 110)
+#                            define NDNBOOST_PP_NODE_111(p) NDNBOOST_PP_IIF(p(111), 111, 112)
+#                define NDNBOOST_PP_NODE_120(p) NDNBOOST_PP_IIF(p(120), NDNBOOST_PP_NODE_116, NDNBOOST_PP_NODE_124)
+#                    define NDNBOOST_PP_NODE_116(p) NDNBOOST_PP_IIF(p(116), NDNBOOST_PP_NODE_114, NDNBOOST_PP_NODE_118)
+#                        define NDNBOOST_PP_NODE_114(p) NDNBOOST_PP_IIF(p(114), NDNBOOST_PP_NODE_113, NDNBOOST_PP_NODE_115)
+#                            define NDNBOOST_PP_NODE_113(p) NDNBOOST_PP_IIF(p(113), 113, 114)
+#                            define NDNBOOST_PP_NODE_115(p) NDNBOOST_PP_IIF(p(115), 115, 116)
+#                        define NDNBOOST_PP_NODE_118(p) NDNBOOST_PP_IIF(p(118), NDNBOOST_PP_NODE_117, NDNBOOST_PP_NODE_119)
+#                            define NDNBOOST_PP_NODE_117(p) NDNBOOST_PP_IIF(p(117), 117, 118)
+#                            define NDNBOOST_PP_NODE_119(p) NDNBOOST_PP_IIF(p(119), 119, 120)
+#                    define NDNBOOST_PP_NODE_124(p) NDNBOOST_PP_IIF(p(124), NDNBOOST_PP_NODE_122, NDNBOOST_PP_NODE_126)
+#                        define NDNBOOST_PP_NODE_122(p) NDNBOOST_PP_IIF(p(122), NDNBOOST_PP_NODE_121, NDNBOOST_PP_NODE_123)
+#                            define NDNBOOST_PP_NODE_121(p) NDNBOOST_PP_IIF(p(121), 121, 122)
+#                            define NDNBOOST_PP_NODE_123(p) NDNBOOST_PP_IIF(p(123), 123, 124)
+#                        define NDNBOOST_PP_NODE_126(p) NDNBOOST_PP_IIF(p(126), NDNBOOST_PP_NODE_125, NDNBOOST_PP_NODE_127)
+#                            define NDNBOOST_PP_NODE_125(p) NDNBOOST_PP_IIF(p(125), 125, 126)
+#                            define NDNBOOST_PP_NODE_127(p) NDNBOOST_PP_IIF(p(127), 127, 128)
+#    define NDNBOOST_PP_NODE_192(p) NDNBOOST_PP_IIF(p(192), NDNBOOST_PP_NODE_160, NDNBOOST_PP_NODE_224)
+#        define NDNBOOST_PP_NODE_160(p) NDNBOOST_PP_IIF(p(160), NDNBOOST_PP_NODE_144, NDNBOOST_PP_NODE_176)
+#            define NDNBOOST_PP_NODE_144(p) NDNBOOST_PP_IIF(p(144), NDNBOOST_PP_NODE_136, NDNBOOST_PP_NODE_152)
+#                define NDNBOOST_PP_NODE_136(p) NDNBOOST_PP_IIF(p(136), NDNBOOST_PP_NODE_132, NDNBOOST_PP_NODE_140)
+#                    define NDNBOOST_PP_NODE_132(p) NDNBOOST_PP_IIF(p(132), NDNBOOST_PP_NODE_130, NDNBOOST_PP_NODE_134)
+#                        define NDNBOOST_PP_NODE_130(p) NDNBOOST_PP_IIF(p(130), NDNBOOST_PP_NODE_129, NDNBOOST_PP_NODE_131)
+#                            define NDNBOOST_PP_NODE_129(p) NDNBOOST_PP_IIF(p(129), 129, 130)
+#                            define NDNBOOST_PP_NODE_131(p) NDNBOOST_PP_IIF(p(131), 131, 132)
+#                        define NDNBOOST_PP_NODE_134(p) NDNBOOST_PP_IIF(p(134), NDNBOOST_PP_NODE_133, NDNBOOST_PP_NODE_135)
+#                            define NDNBOOST_PP_NODE_133(p) NDNBOOST_PP_IIF(p(133), 133, 134)
+#                            define NDNBOOST_PP_NODE_135(p) NDNBOOST_PP_IIF(p(135), 135, 136)
+#                    define NDNBOOST_PP_NODE_140(p) NDNBOOST_PP_IIF(p(140), NDNBOOST_PP_NODE_138, NDNBOOST_PP_NODE_142)
+#                        define NDNBOOST_PP_NODE_138(p) NDNBOOST_PP_IIF(p(138), NDNBOOST_PP_NODE_137, NDNBOOST_PP_NODE_139)
+#                            define NDNBOOST_PP_NODE_137(p) NDNBOOST_PP_IIF(p(137), 137, 138)
+#                            define NDNBOOST_PP_NODE_139(p) NDNBOOST_PP_IIF(p(139), 139, 140)
+#                        define NDNBOOST_PP_NODE_142(p) NDNBOOST_PP_IIF(p(142), NDNBOOST_PP_NODE_141, NDNBOOST_PP_NODE_143)
+#                            define NDNBOOST_PP_NODE_141(p) NDNBOOST_PP_IIF(p(141), 141, 142)
+#                            define NDNBOOST_PP_NODE_143(p) NDNBOOST_PP_IIF(p(143), 143, 144)
+#                define NDNBOOST_PP_NODE_152(p) NDNBOOST_PP_IIF(p(152), NDNBOOST_PP_NODE_148, NDNBOOST_PP_NODE_156)
+#                    define NDNBOOST_PP_NODE_148(p) NDNBOOST_PP_IIF(p(148), NDNBOOST_PP_NODE_146, NDNBOOST_PP_NODE_150)
+#                        define NDNBOOST_PP_NODE_146(p) NDNBOOST_PP_IIF(p(146), NDNBOOST_PP_NODE_145, NDNBOOST_PP_NODE_147)
+#                            define NDNBOOST_PP_NODE_145(p) NDNBOOST_PP_IIF(p(145), 145, 146)
+#                            define NDNBOOST_PP_NODE_147(p) NDNBOOST_PP_IIF(p(147), 147, 148)
+#                        define NDNBOOST_PP_NODE_150(p) NDNBOOST_PP_IIF(p(150), NDNBOOST_PP_NODE_149, NDNBOOST_PP_NODE_151)
+#                            define NDNBOOST_PP_NODE_149(p) NDNBOOST_PP_IIF(p(149), 149, 150)
+#                            define NDNBOOST_PP_NODE_151(p) NDNBOOST_PP_IIF(p(151), 151, 152)
+#                    define NDNBOOST_PP_NODE_156(p) NDNBOOST_PP_IIF(p(156), NDNBOOST_PP_NODE_154, NDNBOOST_PP_NODE_158)
+#                        define NDNBOOST_PP_NODE_154(p) NDNBOOST_PP_IIF(p(154), NDNBOOST_PP_NODE_153, NDNBOOST_PP_NODE_155)
+#                            define NDNBOOST_PP_NODE_153(p) NDNBOOST_PP_IIF(p(153), 153, 154)
+#                            define NDNBOOST_PP_NODE_155(p) NDNBOOST_PP_IIF(p(155), 155, 156)
+#                        define NDNBOOST_PP_NODE_158(p) NDNBOOST_PP_IIF(p(158), NDNBOOST_PP_NODE_157, NDNBOOST_PP_NODE_159)
+#                            define NDNBOOST_PP_NODE_157(p) NDNBOOST_PP_IIF(p(157), 157, 158)
+#                            define NDNBOOST_PP_NODE_159(p) NDNBOOST_PP_IIF(p(159), 159, 160)
+#            define NDNBOOST_PP_NODE_176(p) NDNBOOST_PP_IIF(p(176), NDNBOOST_PP_NODE_168, NDNBOOST_PP_NODE_184)
+#                define NDNBOOST_PP_NODE_168(p) NDNBOOST_PP_IIF(p(168), NDNBOOST_PP_NODE_164, NDNBOOST_PP_NODE_172)
+#                    define NDNBOOST_PP_NODE_164(p) NDNBOOST_PP_IIF(p(164), NDNBOOST_PP_NODE_162, NDNBOOST_PP_NODE_166)
+#                        define NDNBOOST_PP_NODE_162(p) NDNBOOST_PP_IIF(p(162), NDNBOOST_PP_NODE_161, NDNBOOST_PP_NODE_163)
+#                            define NDNBOOST_PP_NODE_161(p) NDNBOOST_PP_IIF(p(161), 161, 162)
+#                            define NDNBOOST_PP_NODE_163(p) NDNBOOST_PP_IIF(p(163), 163, 164)
+#                        define NDNBOOST_PP_NODE_166(p) NDNBOOST_PP_IIF(p(166), NDNBOOST_PP_NODE_165, NDNBOOST_PP_NODE_167)
+#                            define NDNBOOST_PP_NODE_165(p) NDNBOOST_PP_IIF(p(165), 165, 166)
+#                            define NDNBOOST_PP_NODE_167(p) NDNBOOST_PP_IIF(p(167), 167, 168)
+#                    define NDNBOOST_PP_NODE_172(p) NDNBOOST_PP_IIF(p(172), NDNBOOST_PP_NODE_170, NDNBOOST_PP_NODE_174)
+#                        define NDNBOOST_PP_NODE_170(p) NDNBOOST_PP_IIF(p(170), NDNBOOST_PP_NODE_169, NDNBOOST_PP_NODE_171)
+#                            define NDNBOOST_PP_NODE_169(p) NDNBOOST_PP_IIF(p(169), 169, 170)
+#                            define NDNBOOST_PP_NODE_171(p) NDNBOOST_PP_IIF(p(171), 171, 172)
+#                        define NDNBOOST_PP_NODE_174(p) NDNBOOST_PP_IIF(p(174), NDNBOOST_PP_NODE_173, NDNBOOST_PP_NODE_175)
+#                            define NDNBOOST_PP_NODE_173(p) NDNBOOST_PP_IIF(p(173), 173, 174)
+#                            define NDNBOOST_PP_NODE_175(p) NDNBOOST_PP_IIF(p(175), 175, 176)
+#                define NDNBOOST_PP_NODE_184(p) NDNBOOST_PP_IIF(p(184), NDNBOOST_PP_NODE_180, NDNBOOST_PP_NODE_188)
+#                    define NDNBOOST_PP_NODE_180(p) NDNBOOST_PP_IIF(p(180), NDNBOOST_PP_NODE_178, NDNBOOST_PP_NODE_182)
+#                        define NDNBOOST_PP_NODE_178(p) NDNBOOST_PP_IIF(p(178), NDNBOOST_PP_NODE_177, NDNBOOST_PP_NODE_179)
+#                            define NDNBOOST_PP_NODE_177(p) NDNBOOST_PP_IIF(p(177), 177, 178)
+#                            define NDNBOOST_PP_NODE_179(p) NDNBOOST_PP_IIF(p(179), 179, 180)
+#                        define NDNBOOST_PP_NODE_182(p) NDNBOOST_PP_IIF(p(182), NDNBOOST_PP_NODE_181, NDNBOOST_PP_NODE_183)
+#                            define NDNBOOST_PP_NODE_181(p) NDNBOOST_PP_IIF(p(181), 181, 182)
+#                            define NDNBOOST_PP_NODE_183(p) NDNBOOST_PP_IIF(p(183), 183, 184)
+#                    define NDNBOOST_PP_NODE_188(p) NDNBOOST_PP_IIF(p(188), NDNBOOST_PP_NODE_186, NDNBOOST_PP_NODE_190)
+#                        define NDNBOOST_PP_NODE_186(p) NDNBOOST_PP_IIF(p(186), NDNBOOST_PP_NODE_185, NDNBOOST_PP_NODE_187)
+#                            define NDNBOOST_PP_NODE_185(p) NDNBOOST_PP_IIF(p(185), 185, 186)
+#                            define NDNBOOST_PP_NODE_187(p) NDNBOOST_PP_IIF(p(187), 187, 188)
+#                        define NDNBOOST_PP_NODE_190(p) NDNBOOST_PP_IIF(p(190), NDNBOOST_PP_NODE_189, NDNBOOST_PP_NODE_191)
+#                            define NDNBOOST_PP_NODE_189(p) NDNBOOST_PP_IIF(p(189), 189, 190)
+#                            define NDNBOOST_PP_NODE_191(p) NDNBOOST_PP_IIF(p(191), 191, 192)
+#        define NDNBOOST_PP_NODE_224(p) NDNBOOST_PP_IIF(p(224), NDNBOOST_PP_NODE_208, NDNBOOST_PP_NODE_240)
+#            define NDNBOOST_PP_NODE_208(p) NDNBOOST_PP_IIF(p(208), NDNBOOST_PP_NODE_200, NDNBOOST_PP_NODE_216)
+#                define NDNBOOST_PP_NODE_200(p) NDNBOOST_PP_IIF(p(200), NDNBOOST_PP_NODE_196, NDNBOOST_PP_NODE_204)
+#                    define NDNBOOST_PP_NODE_196(p) NDNBOOST_PP_IIF(p(196), NDNBOOST_PP_NODE_194, NDNBOOST_PP_NODE_198)
+#                        define NDNBOOST_PP_NODE_194(p) NDNBOOST_PP_IIF(p(194), NDNBOOST_PP_NODE_193, NDNBOOST_PP_NODE_195)
+#                            define NDNBOOST_PP_NODE_193(p) NDNBOOST_PP_IIF(p(193), 193, 194)
+#                            define NDNBOOST_PP_NODE_195(p) NDNBOOST_PP_IIF(p(195), 195, 196)
+#                        define NDNBOOST_PP_NODE_198(p) NDNBOOST_PP_IIF(p(198), NDNBOOST_PP_NODE_197, NDNBOOST_PP_NODE_199)
+#                            define NDNBOOST_PP_NODE_197(p) NDNBOOST_PP_IIF(p(197), 197, 198)
+#                            define NDNBOOST_PP_NODE_199(p) NDNBOOST_PP_IIF(p(199), 199, 200)
+#                    define NDNBOOST_PP_NODE_204(p) NDNBOOST_PP_IIF(p(204), NDNBOOST_PP_NODE_202, NDNBOOST_PP_NODE_206)
+#                        define NDNBOOST_PP_NODE_202(p) NDNBOOST_PP_IIF(p(202), NDNBOOST_PP_NODE_201, NDNBOOST_PP_NODE_203)
+#                            define NDNBOOST_PP_NODE_201(p) NDNBOOST_PP_IIF(p(201), 201, 202)
+#                            define NDNBOOST_PP_NODE_203(p) NDNBOOST_PP_IIF(p(203), 203, 204)
+#                        define NDNBOOST_PP_NODE_206(p) NDNBOOST_PP_IIF(p(206), NDNBOOST_PP_NODE_205, NDNBOOST_PP_NODE_207)
+#                            define NDNBOOST_PP_NODE_205(p) NDNBOOST_PP_IIF(p(205), 205, 206)
+#                            define NDNBOOST_PP_NODE_207(p) NDNBOOST_PP_IIF(p(207), 207, 208)
+#                define NDNBOOST_PP_NODE_216(p) NDNBOOST_PP_IIF(p(216), NDNBOOST_PP_NODE_212, NDNBOOST_PP_NODE_220)
+#                    define NDNBOOST_PP_NODE_212(p) NDNBOOST_PP_IIF(p(212), NDNBOOST_PP_NODE_210, NDNBOOST_PP_NODE_214)
+#                        define NDNBOOST_PP_NODE_210(p) NDNBOOST_PP_IIF(p(210), NDNBOOST_PP_NODE_209, NDNBOOST_PP_NODE_211)
+#                            define NDNBOOST_PP_NODE_209(p) NDNBOOST_PP_IIF(p(209), 209, 210)
+#                            define NDNBOOST_PP_NODE_211(p) NDNBOOST_PP_IIF(p(211), 211, 212)
+#                        define NDNBOOST_PP_NODE_214(p) NDNBOOST_PP_IIF(p(214), NDNBOOST_PP_NODE_213, NDNBOOST_PP_NODE_215)
+#                            define NDNBOOST_PP_NODE_213(p) NDNBOOST_PP_IIF(p(213), 213, 214)
+#                            define NDNBOOST_PP_NODE_215(p) NDNBOOST_PP_IIF(p(215), 215, 216)
+#                    define NDNBOOST_PP_NODE_220(p) NDNBOOST_PP_IIF(p(220), NDNBOOST_PP_NODE_218, NDNBOOST_PP_NODE_222)
+#                        define NDNBOOST_PP_NODE_218(p) NDNBOOST_PP_IIF(p(218), NDNBOOST_PP_NODE_217, NDNBOOST_PP_NODE_219)
+#                            define NDNBOOST_PP_NODE_217(p) NDNBOOST_PP_IIF(p(217), 217, 218)
+#                            define NDNBOOST_PP_NODE_219(p) NDNBOOST_PP_IIF(p(219), 219, 220)
+#                        define NDNBOOST_PP_NODE_222(p) NDNBOOST_PP_IIF(p(222), NDNBOOST_PP_NODE_221, NDNBOOST_PP_NODE_223)
+#                            define NDNBOOST_PP_NODE_221(p) NDNBOOST_PP_IIF(p(221), 221, 222)
+#                            define NDNBOOST_PP_NODE_223(p) NDNBOOST_PP_IIF(p(223), 223, 224)
+#            define NDNBOOST_PP_NODE_240(p) NDNBOOST_PP_IIF(p(240), NDNBOOST_PP_NODE_232, NDNBOOST_PP_NODE_248)
+#                define NDNBOOST_PP_NODE_232(p) NDNBOOST_PP_IIF(p(232), NDNBOOST_PP_NODE_228, NDNBOOST_PP_NODE_236)
+#                    define NDNBOOST_PP_NODE_228(p) NDNBOOST_PP_IIF(p(228), NDNBOOST_PP_NODE_226, NDNBOOST_PP_NODE_230)
+#                        define NDNBOOST_PP_NODE_226(p) NDNBOOST_PP_IIF(p(226), NDNBOOST_PP_NODE_225, NDNBOOST_PP_NODE_227)
+#                            define NDNBOOST_PP_NODE_225(p) NDNBOOST_PP_IIF(p(225), 225, 226)
+#                            define NDNBOOST_PP_NODE_227(p) NDNBOOST_PP_IIF(p(227), 227, 228)
+#                        define NDNBOOST_PP_NODE_230(p) NDNBOOST_PP_IIF(p(230), NDNBOOST_PP_NODE_229, NDNBOOST_PP_NODE_231)
+#                            define NDNBOOST_PP_NODE_229(p) NDNBOOST_PP_IIF(p(229), 229, 230)
+#                            define NDNBOOST_PP_NODE_231(p) NDNBOOST_PP_IIF(p(231), 231, 232)
+#                    define NDNBOOST_PP_NODE_236(p) NDNBOOST_PP_IIF(p(236), NDNBOOST_PP_NODE_234, NDNBOOST_PP_NODE_238)
+#                        define NDNBOOST_PP_NODE_234(p) NDNBOOST_PP_IIF(p(234), NDNBOOST_PP_NODE_233, NDNBOOST_PP_NODE_235)
+#                            define NDNBOOST_PP_NODE_233(p) NDNBOOST_PP_IIF(p(233), 233, 234)
+#                            define NDNBOOST_PP_NODE_235(p) NDNBOOST_PP_IIF(p(235), 235, 236)
+#                        define NDNBOOST_PP_NODE_238(p) NDNBOOST_PP_IIF(p(238), NDNBOOST_PP_NODE_237, NDNBOOST_PP_NODE_239)
+#                            define NDNBOOST_PP_NODE_237(p) NDNBOOST_PP_IIF(p(237), 237, 238)
+#                            define NDNBOOST_PP_NODE_239(p) NDNBOOST_PP_IIF(p(239), 239, 240)
+#                define NDNBOOST_PP_NODE_248(p) NDNBOOST_PP_IIF(p(248), NDNBOOST_PP_NODE_244, NDNBOOST_PP_NODE_252)
+#                    define NDNBOOST_PP_NODE_244(p) NDNBOOST_PP_IIF(p(244), NDNBOOST_PP_NODE_242, NDNBOOST_PP_NODE_246)
+#                        define NDNBOOST_PP_NODE_242(p) NDNBOOST_PP_IIF(p(242), NDNBOOST_PP_NODE_241, NDNBOOST_PP_NODE_243)
+#                            define NDNBOOST_PP_NODE_241(p) NDNBOOST_PP_IIF(p(241), 241, 242)
+#                            define NDNBOOST_PP_NODE_243(p) NDNBOOST_PP_IIF(p(243), 243, 244)
+#                        define NDNBOOST_PP_NODE_246(p) NDNBOOST_PP_IIF(p(246), NDNBOOST_PP_NODE_245, NDNBOOST_PP_NODE_247)
+#                            define NDNBOOST_PP_NODE_245(p) NDNBOOST_PP_IIF(p(245), 245, 246)
+#                            define NDNBOOST_PP_NODE_247(p) NDNBOOST_PP_IIF(p(247), 247, 248)
+#                    define NDNBOOST_PP_NODE_252(p) NDNBOOST_PP_IIF(p(252), NDNBOOST_PP_NODE_250, NDNBOOST_PP_NODE_254)
+#                        define NDNBOOST_PP_NODE_250(p) NDNBOOST_PP_IIF(p(250), NDNBOOST_PP_NODE_249, NDNBOOST_PP_NODE_251)
+#                            define NDNBOOST_PP_NODE_249(p) NDNBOOST_PP_IIF(p(249), 249, 250)
+#                            define NDNBOOST_PP_NODE_251(p) NDNBOOST_PP_IIF(p(251), 251, 252)
+#                        define NDNBOOST_PP_NODE_254(p) NDNBOOST_PP_IIF(p(254), NDNBOOST_PP_NODE_253, NDNBOOST_PP_NODE_255)
+#                            define NDNBOOST_PP_NODE_253(p) NDNBOOST_PP_IIF(p(253), 253, 254)
+#                            define NDNBOOST_PP_NODE_255(p) NDNBOOST_PP_IIF(p(255), 255, 256)
 #
 # endif
 # endif
diff --git a/include/ndnboost/preprocessor/detail/check.hpp b/include/ndnboost/preprocessor/detail/check.hpp
index 3a908d4..8a08e3e 100644
--- a/include/ndnboost/preprocessor/detail/check.hpp
+++ b/include/ndnboost/preprocessor/detail/check.hpp
@@ -9,40 +9,40 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_DETAIL_CHECK_HPP
-# define BOOST_PREPROCESSOR_DETAIL_CHECK_HPP
+# ifndef NDNBOOST_PREPROCESSOR_DETAIL_CHECK_HPP
+# define NDNBOOST_PREPROCESSOR_DETAIL_CHECK_HPP
 #
 # include <ndnboost/preprocessor/cat.hpp>
 # include <ndnboost/preprocessor/config/config.hpp>
 #
-# /* BOOST_PP_CHECK */
+# /* NDNBOOST_PP_CHECK */
 #
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-#    define BOOST_PP_CHECK(x, type) BOOST_PP_CHECK_D(x, type)
+# if ~NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_MWCC()
+#    define NDNBOOST_PP_CHECK(x, type) NDNBOOST_PP_CHECK_D(x, type)
 # else
-#    define BOOST_PP_CHECK(x, type) BOOST_PP_CHECK_OO((x, type))
-#    define BOOST_PP_CHECK_OO(par) BOOST_PP_CHECK_D ## par
+#    define NDNBOOST_PP_CHECK(x, type) NDNBOOST_PP_CHECK_OO((x, type))
+#    define NDNBOOST_PP_CHECK_OO(par) NDNBOOST_PP_CHECK_D ## par
 # endif
 #
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC() && ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_DMC()
-#    define BOOST_PP_CHECK_D(x, type) BOOST_PP_CHECK_1(BOOST_PP_CAT(BOOST_PP_CHECK_RESULT_, type x))
-#    define BOOST_PP_CHECK_1(chk) BOOST_PP_CHECK_2(chk)
-#    define BOOST_PP_CHECK_2(res, _) res
-# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()
-#    define BOOST_PP_CHECK_D(x, type) BOOST_PP_CHECK_1(type x)
-#    define BOOST_PP_CHECK_1(chk) BOOST_PP_CHECK_2(chk)
-#    define BOOST_PP_CHECK_2(chk) BOOST_PP_CHECK_3((BOOST_PP_CHECK_RESULT_ ## chk))
-#    define BOOST_PP_CHECK_3(im) BOOST_PP_CHECK_5(BOOST_PP_CHECK_4 im)
-#    define BOOST_PP_CHECK_4(res, _) res
-#    define BOOST_PP_CHECK_5(res) res
+# if ~NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_MSVC() && ~NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_DMC()
+#    define NDNBOOST_PP_CHECK_D(x, type) NDNBOOST_PP_CHECK_1(NDNBOOST_PP_CAT(NDNBOOST_PP_CHECK_RESULT_, type x))
+#    define NDNBOOST_PP_CHECK_1(chk) NDNBOOST_PP_CHECK_2(chk)
+#    define NDNBOOST_PP_CHECK_2(res, _) res
+# elif NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_MSVC()
+#    define NDNBOOST_PP_CHECK_D(x, type) NDNBOOST_PP_CHECK_1(type x)
+#    define NDNBOOST_PP_CHECK_1(chk) NDNBOOST_PP_CHECK_2(chk)
+#    define NDNBOOST_PP_CHECK_2(chk) NDNBOOST_PP_CHECK_3((NDNBOOST_PP_CHECK_RESULT_ ## chk))
+#    define NDNBOOST_PP_CHECK_3(im) NDNBOOST_PP_CHECK_5(NDNBOOST_PP_CHECK_4 im)
+#    define NDNBOOST_PP_CHECK_4(res, _) res
+#    define NDNBOOST_PP_CHECK_5(res) res
 # else /* DMC */
-#    define BOOST_PP_CHECK_D(x, type) BOOST_PP_CHECK_OO((type x))
-#    define BOOST_PP_CHECK_OO(par) BOOST_PP_CHECK_0 ## par
-#    define BOOST_PP_CHECK_0(chk) BOOST_PP_CHECK_1(BOOST_PP_CAT(BOOST_PP_CHECK_RESULT_, chk))
-#    define BOOST_PP_CHECK_1(chk) BOOST_PP_CHECK_2(chk)
-#    define BOOST_PP_CHECK_2(res, _) res
+#    define NDNBOOST_PP_CHECK_D(x, type) NDNBOOST_PP_CHECK_OO((type x))
+#    define NDNBOOST_PP_CHECK_OO(par) NDNBOOST_PP_CHECK_0 ## par
+#    define NDNBOOST_PP_CHECK_0(chk) NDNBOOST_PP_CHECK_1(NDNBOOST_PP_CAT(NDNBOOST_PP_CHECK_RESULT_, chk))
+#    define NDNBOOST_PP_CHECK_1(chk) NDNBOOST_PP_CHECK_2(chk)
+#    define NDNBOOST_PP_CHECK_2(res, _) res
 # endif
 #
-# define BOOST_PP_CHECK_RESULT_1 1, BOOST_PP_NIL
+# define NDNBOOST_PP_CHECK_RESULT_1 1, NDNBOOST_PP_NIL
 #
 # endif
diff --git a/include/ndnboost/preprocessor/detail/dmc/auto_rec.hpp b/include/ndnboost/preprocessor/detail/dmc/auto_rec.hpp
index 9e40364..1f2e6b5 100644
--- a/include/ndnboost/preprocessor/detail/dmc/auto_rec.hpp
+++ b/include/ndnboost/preprocessor/detail/dmc/auto_rec.hpp
@@ -9,278 +9,278 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_DETAIL_AUTO_REC_HPP
-# define BOOST_PREPROCESSOR_DETAIL_AUTO_REC_HPP
+# ifndef NDNBOOST_PREPROCESSOR_DETAIL_AUTO_REC_HPP
+# define NDNBOOST_PREPROCESSOR_DETAIL_AUTO_REC_HPP
 #
 # include <ndnboost/preprocessor/control/iif.hpp>
 #
-# /* BOOST_PP_AUTO_REC */
+# /* NDNBOOST_PP_AUTO_REC */
 #
-# define BOOST_PP_AUTO_REC(pred, n) BOOST_PP_NODE_ENTRY_ ## n(pred)
+# define NDNBOOST_PP_AUTO_REC(pred, n) NDNBOOST_PP_NODE_ENTRY_ ## n(pred)
 #
-# define BOOST_PP_NODE_ENTRY_256(p) BOOST_PP_NODE_128(p)(p)(p)(p)(p)(p)(p)(p)
-# define BOOST_PP_NODE_ENTRY_128(p) BOOST_PP_NODE_64(p)(p)(p)(p)(p)(p)(p)
-# define BOOST_PP_NODE_ENTRY_64(p) BOOST_PP_NODE_32(p)(p)(p)(p)(p)(p)
-# define BOOST_PP_NODE_ENTRY_32(p) BOOST_PP_NODE_16(p)(p)(p)(p)(p)
-# define BOOST_PP_NODE_ENTRY_16(p) BOOST_PP_NODE_8(p)(p)(p)(p)
-# define BOOST_PP_NODE_ENTRY_8(p) BOOST_PP_NODE_4(p)(p)(p)
-# define BOOST_PP_NODE_ENTRY_4(p) BOOST_PP_NODE_2(p)(p)
-# define BOOST_PP_NODE_ENTRY_2(p) BOOST_PP_NODE_1(p)
+# define NDNBOOST_PP_NODE_ENTRY_256(p) NDNBOOST_PP_NODE_128(p)(p)(p)(p)(p)(p)(p)(p)
+# define NDNBOOST_PP_NODE_ENTRY_128(p) NDNBOOST_PP_NODE_64(p)(p)(p)(p)(p)(p)(p)
+# define NDNBOOST_PP_NODE_ENTRY_64(p) NDNBOOST_PP_NODE_32(p)(p)(p)(p)(p)(p)
+# define NDNBOOST_PP_NODE_ENTRY_32(p) NDNBOOST_PP_NODE_16(p)(p)(p)(p)(p)
+# define NDNBOOST_PP_NODE_ENTRY_16(p) NDNBOOST_PP_NODE_8(p)(p)(p)(p)
+# define NDNBOOST_PP_NODE_ENTRY_8(p) NDNBOOST_PP_NODE_4(p)(p)(p)
+# define NDNBOOST_PP_NODE_ENTRY_4(p) NDNBOOST_PP_NODE_2(p)(p)
+# define NDNBOOST_PP_NODE_ENTRY_2(p) NDNBOOST_PP_NODE_1(p)
 #
-# define BOOST_PP_NODE_128(p) BOOST_PP_IIF(p##(128), BOOST_PP_NODE_64, BOOST_PP_NODE_192)
-#    define BOOST_PP_NODE_64(p) BOOST_PP_IIF(p##(64), BOOST_PP_NODE_32, BOOST_PP_NODE_96)
-#        define BOOST_PP_NODE_32(p) BOOST_PP_IIF(p##(32), BOOST_PP_NODE_16, BOOST_PP_NODE_48)
-#            define BOOST_PP_NODE_16(p) BOOST_PP_IIF(p##(16), BOOST_PP_NODE_8, BOOST_PP_NODE_24)
-#                define BOOST_PP_NODE_8(p) BOOST_PP_IIF(p##(8), BOOST_PP_NODE_4, BOOST_PP_NODE_12)
-#                    define BOOST_PP_NODE_4(p) BOOST_PP_IIF(p##(4), BOOST_PP_NODE_2, BOOST_PP_NODE_6)
-#                        define BOOST_PP_NODE_2(p) BOOST_PP_IIF(p##(2), BOOST_PP_NODE_1, BOOST_PP_NODE_3)
-#                            define BOOST_PP_NODE_1(p) BOOST_PP_IIF(p##(1), 1, 2)
-#                            define BOOST_PP_NODE_3(p) BOOST_PP_IIF(p##(3), 3, 4)
-#                        define BOOST_PP_NODE_6(p) BOOST_PP_IIF(p##(6), BOOST_PP_NODE_5, BOOST_PP_NODE_7)
-#                            define BOOST_PP_NODE_5(p) BOOST_PP_IIF(p##(5), 5, 6)
-#                            define BOOST_PP_NODE_7(p) BOOST_PP_IIF(p##(7), 7, 8)
-#                    define BOOST_PP_NODE_12(p) BOOST_PP_IIF(p##(12), BOOST_PP_NODE_10, BOOST_PP_NODE_14)
-#                        define BOOST_PP_NODE_10(p) BOOST_PP_IIF(p##(10), BOOST_PP_NODE_9, BOOST_PP_NODE_11)
-#                            define BOOST_PP_NODE_9(p) BOOST_PP_IIF(p##(9), 9, 10)
-#                            define BOOST_PP_NODE_11(p) BOOST_PP_IIF(p##(11), 11, 12)
-#                        define BOOST_PP_NODE_14(p) BOOST_PP_IIF(p##(14), BOOST_PP_NODE_13, BOOST_PP_NODE_15)
-#                            define BOOST_PP_NODE_13(p) BOOST_PP_IIF(p##(13), 13, 14)
-#                            define BOOST_PP_NODE_15(p) BOOST_PP_IIF(p##(15), 15, 16)
-#                define BOOST_PP_NODE_24(p) BOOST_PP_IIF(p##(24), BOOST_PP_NODE_20, BOOST_PP_NODE_28)
-#                    define BOOST_PP_NODE_20(p) BOOST_PP_IIF(p##(20), BOOST_PP_NODE_18, BOOST_PP_NODE_22)
-#                        define BOOST_PP_NODE_18(p) BOOST_PP_IIF(p##(18), BOOST_PP_NODE_17, BOOST_PP_NODE_19)
-#                            define BOOST_PP_NODE_17(p) BOOST_PP_IIF(p##(17), 17, 18)
-#                            define BOOST_PP_NODE_19(p) BOOST_PP_IIF(p##(19), 19, 20)
-#                        define BOOST_PP_NODE_22(p) BOOST_PP_IIF(p##(22), BOOST_PP_NODE_21, BOOST_PP_NODE_23)
-#                            define BOOST_PP_NODE_21(p) BOOST_PP_IIF(p##(21), 21, 22)
-#                            define BOOST_PP_NODE_23(p) BOOST_PP_IIF(p##(23), 23, 24)
-#                    define BOOST_PP_NODE_28(p) BOOST_PP_IIF(p##(28), BOOST_PP_NODE_26, BOOST_PP_NODE_30)
-#                        define BOOST_PP_NODE_26(p) BOOST_PP_IIF(p##(26), BOOST_PP_NODE_25, BOOST_PP_NODE_27)
-#                            define BOOST_PP_NODE_25(p) BOOST_PP_IIF(p##(25), 25, 26)
-#                            define BOOST_PP_NODE_27(p) BOOST_PP_IIF(p##(27), 27, 28)
-#                        define BOOST_PP_NODE_30(p) BOOST_PP_IIF(p##(30), BOOST_PP_NODE_29, BOOST_PP_NODE_31)
-#                            define BOOST_PP_NODE_29(p) BOOST_PP_IIF(p##(29), 29, 30)
-#                            define BOOST_PP_NODE_31(p) BOOST_PP_IIF(p##(31), 31, 32)
-#            define BOOST_PP_NODE_48(p) BOOST_PP_IIF(p##(48), BOOST_PP_NODE_40, BOOST_PP_NODE_56)
-#                define BOOST_PP_NODE_40(p) BOOST_PP_IIF(p##(40), BOOST_PP_NODE_36, BOOST_PP_NODE_44)
-#                    define BOOST_PP_NODE_36(p) BOOST_PP_IIF(p##(36), BOOST_PP_NODE_34, BOOST_PP_NODE_38)
-#                        define BOOST_PP_NODE_34(p) BOOST_PP_IIF(p##(34), BOOST_PP_NODE_33, BOOST_PP_NODE_35)
-#                            define BOOST_PP_NODE_33(p) BOOST_PP_IIF(p##(33), 33, 34)
-#                            define BOOST_PP_NODE_35(p) BOOST_PP_IIF(p##(35), 35, 36)
-#                        define BOOST_PP_NODE_38(p) BOOST_PP_IIF(p##(38), BOOST_PP_NODE_37, BOOST_PP_NODE_39)
-#                            define BOOST_PP_NODE_37(p) BOOST_PP_IIF(p##(37), 37, 38)
-#                            define BOOST_PP_NODE_39(p) BOOST_PP_IIF(p##(39), 39, 40)
-#                    define BOOST_PP_NODE_44(p) BOOST_PP_IIF(p##(44), BOOST_PP_NODE_42, BOOST_PP_NODE_46)
-#                        define BOOST_PP_NODE_42(p) BOOST_PP_IIF(p##(42), BOOST_PP_NODE_41, BOOST_PP_NODE_43)
-#                            define BOOST_PP_NODE_41(p) BOOST_PP_IIF(p##(41), 41, 42)
-#                            define BOOST_PP_NODE_43(p) BOOST_PP_IIF(p##(43), 43, 44)
-#                        define BOOST_PP_NODE_46(p) BOOST_PP_IIF(p##(46), BOOST_PP_NODE_45, BOOST_PP_NODE_47)
-#                            define BOOST_PP_NODE_45(p) BOOST_PP_IIF(p##(45), 45, 46)
-#                            define BOOST_PP_NODE_47(p) BOOST_PP_IIF(p##(47), 47, 48)
-#                define BOOST_PP_NODE_56(p) BOOST_PP_IIF(p##(56), BOOST_PP_NODE_52, BOOST_PP_NODE_60)
-#                    define BOOST_PP_NODE_52(p) BOOST_PP_IIF(p##(52), BOOST_PP_NODE_50, BOOST_PP_NODE_54)
-#                        define BOOST_PP_NODE_50(p) BOOST_PP_IIF(p##(50), BOOST_PP_NODE_49, BOOST_PP_NODE_51)
-#                            define BOOST_PP_NODE_49(p) BOOST_PP_IIF(p##(49), 49, 50)
-#                            define BOOST_PP_NODE_51(p) BOOST_PP_IIF(p##(51), 51, 52)
-#                        define BOOST_PP_NODE_54(p) BOOST_PP_IIF(p##(54), BOOST_PP_NODE_53, BOOST_PP_NODE_55)
-#                            define BOOST_PP_NODE_53(p) BOOST_PP_IIF(p##(53), 53, 54)
-#                            define BOOST_PP_NODE_55(p) BOOST_PP_IIF(p##(55), 55, 56)
-#                    define BOOST_PP_NODE_60(p) BOOST_PP_IIF(p##(60), BOOST_PP_NODE_58, BOOST_PP_NODE_62)
-#                        define BOOST_PP_NODE_58(p) BOOST_PP_IIF(p##(58), BOOST_PP_NODE_57, BOOST_PP_NODE_59)
-#                            define BOOST_PP_NODE_57(p) BOOST_PP_IIF(p##(57), 57, 58)
-#                            define BOOST_PP_NODE_59(p) BOOST_PP_IIF(p##(59), 59, 60)
-#                        define BOOST_PP_NODE_62(p) BOOST_PP_IIF(p##(62), BOOST_PP_NODE_61, BOOST_PP_NODE_63)
-#                            define BOOST_PP_NODE_61(p) BOOST_PP_IIF(p##(61), 61, 62)
-#                            define BOOST_PP_NODE_63(p) BOOST_PP_IIF(p##(63), 63, 64)
-#        define BOOST_PP_NODE_96(p) BOOST_PP_IIF(p##(96), BOOST_PP_NODE_80, BOOST_PP_NODE_112)
-#            define BOOST_PP_NODE_80(p) BOOST_PP_IIF(p##(80), BOOST_PP_NODE_72, BOOST_PP_NODE_88)
-#                define BOOST_PP_NODE_72(p) BOOST_PP_IIF(p##(72), BOOST_PP_NODE_68, BOOST_PP_NODE_76)
-#                    define BOOST_PP_NODE_68(p) BOOST_PP_IIF(p##(68), BOOST_PP_NODE_66, BOOST_PP_NODE_70)
-#                        define BOOST_PP_NODE_66(p) BOOST_PP_IIF(p##(66), BOOST_PP_NODE_65, BOOST_PP_NODE_67)
-#                            define BOOST_PP_NODE_65(p) BOOST_PP_IIF(p##(65), 65, 66)
-#                            define BOOST_PP_NODE_67(p) BOOST_PP_IIF(p##(67), 67, 68)
-#                        define BOOST_PP_NODE_70(p) BOOST_PP_IIF(p##(70), BOOST_PP_NODE_69, BOOST_PP_NODE_71)
-#                            define BOOST_PP_NODE_69(p) BOOST_PP_IIF(p##(69), 69, 70)
-#                            define BOOST_PP_NODE_71(p) BOOST_PP_IIF(p##(71), 71, 72)
-#                    define BOOST_PP_NODE_76(p) BOOST_PP_IIF(p##(76), BOOST_PP_NODE_74, BOOST_PP_NODE_78)
-#                        define BOOST_PP_NODE_74(p) BOOST_PP_IIF(p##(74), BOOST_PP_NODE_73, BOOST_PP_NODE_75)
-#                            define BOOST_PP_NODE_73(p) BOOST_PP_IIF(p##(73), 73, 74)
-#                            define BOOST_PP_NODE_75(p) BOOST_PP_IIF(p##(75), 75, 76)
-#                        define BOOST_PP_NODE_78(p) BOOST_PP_IIF(p##(78), BOOST_PP_NODE_77, BOOST_PP_NODE_79)
-#                            define BOOST_PP_NODE_77(p) BOOST_PP_IIF(p##(77), 77, 78)
-#                            define BOOST_PP_NODE_79(p) BOOST_PP_IIF(p##(79), 79, 80)
-#                define BOOST_PP_NODE_88(p) BOOST_PP_IIF(p##(88), BOOST_PP_NODE_84, BOOST_PP_NODE_92)
-#                    define BOOST_PP_NODE_84(p) BOOST_PP_IIF(p##(84), BOOST_PP_NODE_82, BOOST_PP_NODE_86)
-#                        define BOOST_PP_NODE_82(p) BOOST_PP_IIF(p##(82), BOOST_PP_NODE_81, BOOST_PP_NODE_83)
-#                            define BOOST_PP_NODE_81(p) BOOST_PP_IIF(p##(81), 81, 82)
-#                            define BOOST_PP_NODE_83(p) BOOST_PP_IIF(p##(83), 83, 84)
-#                        define BOOST_PP_NODE_86(p) BOOST_PP_IIF(p##(86), BOOST_PP_NODE_85, BOOST_PP_NODE_87)
-#                            define BOOST_PP_NODE_85(p) BOOST_PP_IIF(p##(85), 85, 86)
-#                            define BOOST_PP_NODE_87(p) BOOST_PP_IIF(p##(87), 87, 88)
-#                    define BOOST_PP_NODE_92(p) BOOST_PP_IIF(p##(92), BOOST_PP_NODE_90, BOOST_PP_NODE_94)
-#                        define BOOST_PP_NODE_90(p) BOOST_PP_IIF(p##(90), BOOST_PP_NODE_89, BOOST_PP_NODE_91)
-#                            define BOOST_PP_NODE_89(p) BOOST_PP_IIF(p##(89), 89, 90)
-#                            define BOOST_PP_NODE_91(p) BOOST_PP_IIF(p##(91), 91, 92)
-#                        define BOOST_PP_NODE_94(p) BOOST_PP_IIF(p##(94), BOOST_PP_NODE_93, BOOST_PP_NODE_95)
-#                            define BOOST_PP_NODE_93(p) BOOST_PP_IIF(p##(93), 93, 94)
-#                            define BOOST_PP_NODE_95(p) BOOST_PP_IIF(p##(95), 95, 96)
-#            define BOOST_PP_NODE_112(p) BOOST_PP_IIF(p##(112), BOOST_PP_NODE_104, BOOST_PP_NODE_120)
-#                define BOOST_PP_NODE_104(p) BOOST_PP_IIF(p##(104), BOOST_PP_NODE_100, BOOST_PP_NODE_108)
-#                    define BOOST_PP_NODE_100(p) BOOST_PP_IIF(p##(100), BOOST_PP_NODE_98, BOOST_PP_NODE_102)
-#                        define BOOST_PP_NODE_98(p) BOOST_PP_IIF(p##(98), BOOST_PP_NODE_97, BOOST_PP_NODE_99)
-#                            define BOOST_PP_NODE_97(p) BOOST_PP_IIF(p##(97), 97, 98)
-#                            define BOOST_PP_NODE_99(p) BOOST_PP_IIF(p##(99), 99, 100)
-#                        define BOOST_PP_NODE_102(p) BOOST_PP_IIF(p##(102), BOOST_PP_NODE_101, BOOST_PP_NODE_103)
-#                            define BOOST_PP_NODE_101(p) BOOST_PP_IIF(p##(101), 101, 102)
-#                            define BOOST_PP_NODE_103(p) BOOST_PP_IIF(p##(103), 103, 104)
-#                    define BOOST_PP_NODE_108(p) BOOST_PP_IIF(p##(108), BOOST_PP_NODE_106, BOOST_PP_NODE_110)
-#                        define BOOST_PP_NODE_106(p) BOOST_PP_IIF(p##(106), BOOST_PP_NODE_105, BOOST_PP_NODE_107)
-#                            define BOOST_PP_NODE_105(p) BOOST_PP_IIF(p##(105), 105, 106)
-#                            define BOOST_PP_NODE_107(p) BOOST_PP_IIF(p##(107), 107, 108)
-#                        define BOOST_PP_NODE_110(p) BOOST_PP_IIF(p##(110), BOOST_PP_NODE_109, BOOST_PP_NODE_111)
-#                            define BOOST_PP_NODE_109(p) BOOST_PP_IIF(p##(109), 109, 110)
-#                            define BOOST_PP_NODE_111(p) BOOST_PP_IIF(p##(111), 111, 112)
-#                define BOOST_PP_NODE_120(p) BOOST_PP_IIF(p##(120), BOOST_PP_NODE_116, BOOST_PP_NODE_124)
-#                    define BOOST_PP_NODE_116(p) BOOST_PP_IIF(p##(116), BOOST_PP_NODE_114, BOOST_PP_NODE_118)
-#                        define BOOST_PP_NODE_114(p) BOOST_PP_IIF(p##(114), BOOST_PP_NODE_113, BOOST_PP_NODE_115)
-#                            define BOOST_PP_NODE_113(p) BOOST_PP_IIF(p##(113), 113, 114)
-#                            define BOOST_PP_NODE_115(p) BOOST_PP_IIF(p##(115), 115, 116)
-#                        define BOOST_PP_NODE_118(p) BOOST_PP_IIF(p##(118), BOOST_PP_NODE_117, BOOST_PP_NODE_119)
-#                            define BOOST_PP_NODE_117(p) BOOST_PP_IIF(p##(117), 117, 118)
-#                            define BOOST_PP_NODE_119(p) BOOST_PP_IIF(p##(119), 119, 120)
-#                    define BOOST_PP_NODE_124(p) BOOST_PP_IIF(p##(124), BOOST_PP_NODE_122, BOOST_PP_NODE_126)
-#                        define BOOST_PP_NODE_122(p) BOOST_PP_IIF(p##(122), BOOST_PP_NODE_121, BOOST_PP_NODE_123)
-#                            define BOOST_PP_NODE_121(p) BOOST_PP_IIF(p##(121), 121, 122)
-#                            define BOOST_PP_NODE_123(p) BOOST_PP_IIF(p##(123), 123, 124)
-#                        define BOOST_PP_NODE_126(p) BOOST_PP_IIF(p##(126), BOOST_PP_NODE_125, BOOST_PP_NODE_127)
-#                            define BOOST_PP_NODE_125(p) BOOST_PP_IIF(p##(125), 125, 126)
-#                            define BOOST_PP_NODE_127(p) BOOST_PP_IIF(p##(127), 127, 128)
-#    define BOOST_PP_NODE_192(p) BOOST_PP_IIF(p##(192), BOOST_PP_NODE_160, BOOST_PP_NODE_224)
-#        define BOOST_PP_NODE_160(p) BOOST_PP_IIF(p##(160), BOOST_PP_NODE_144, BOOST_PP_NODE_176)
-#            define BOOST_PP_NODE_144(p) BOOST_PP_IIF(p##(144), BOOST_PP_NODE_136, BOOST_PP_NODE_152)
-#                define BOOST_PP_NODE_136(p) BOOST_PP_IIF(p##(136), BOOST_PP_NODE_132, BOOST_PP_NODE_140)
-#                    define BOOST_PP_NODE_132(p) BOOST_PP_IIF(p##(132), BOOST_PP_NODE_130, BOOST_PP_NODE_134)
-#                        define BOOST_PP_NODE_130(p) BOOST_PP_IIF(p##(130), BOOST_PP_NODE_129, BOOST_PP_NODE_131)
-#                            define BOOST_PP_NODE_129(p) BOOST_PP_IIF(p##(129), 129, 130)
-#                            define BOOST_PP_NODE_131(p) BOOST_PP_IIF(p##(131), 131, 132)
-#                        define BOOST_PP_NODE_134(p) BOOST_PP_IIF(p##(134), BOOST_PP_NODE_133, BOOST_PP_NODE_135)
-#                            define BOOST_PP_NODE_133(p) BOOST_PP_IIF(p##(133), 133, 134)
-#                            define BOOST_PP_NODE_135(p) BOOST_PP_IIF(p##(135), 135, 136)
-#                    define BOOST_PP_NODE_140(p) BOOST_PP_IIF(p##(140), BOOST_PP_NODE_138, BOOST_PP_NODE_142)
-#                        define BOOST_PP_NODE_138(p) BOOST_PP_IIF(p##(138), BOOST_PP_NODE_137, BOOST_PP_NODE_139)
-#                            define BOOST_PP_NODE_137(p) BOOST_PP_IIF(p##(137), 137, 138)
-#                            define BOOST_PP_NODE_139(p) BOOST_PP_IIF(p##(139), 139, 140)
-#                        define BOOST_PP_NODE_142(p) BOOST_PP_IIF(p##(142), BOOST_PP_NODE_141, BOOST_PP_NODE_143)
-#                            define BOOST_PP_NODE_141(p) BOOST_PP_IIF(p##(141), 141, 142)
-#                            define BOOST_PP_NODE_143(p) BOOST_PP_IIF(p##(143), 143, 144)
-#                define BOOST_PP_NODE_152(p) BOOST_PP_IIF(p##(152), BOOST_PP_NODE_148, BOOST_PP_NODE_156)
-#                    define BOOST_PP_NODE_148(p) BOOST_PP_IIF(p##(148), BOOST_PP_NODE_146, BOOST_PP_NODE_150)
-#                        define BOOST_PP_NODE_146(p) BOOST_PP_IIF(p##(146), BOOST_PP_NODE_145, BOOST_PP_NODE_147)
-#                            define BOOST_PP_NODE_145(p) BOOST_PP_IIF(p##(145), 145, 146)
-#                            define BOOST_PP_NODE_147(p) BOOST_PP_IIF(p##(147), 147, 148)
-#                        define BOOST_PP_NODE_150(p) BOOST_PP_IIF(p##(150), BOOST_PP_NODE_149, BOOST_PP_NODE_151)
-#                            define BOOST_PP_NODE_149(p) BOOST_PP_IIF(p##(149), 149, 150)
-#                            define BOOST_PP_NODE_151(p) BOOST_PP_IIF(p##(151), 151, 152)
-#                    define BOOST_PP_NODE_156(p) BOOST_PP_IIF(p##(156), BOOST_PP_NODE_154, BOOST_PP_NODE_158)
-#                        define BOOST_PP_NODE_154(p) BOOST_PP_IIF(p##(154), BOOST_PP_NODE_153, BOOST_PP_NODE_155)
-#                            define BOOST_PP_NODE_153(p) BOOST_PP_IIF(p##(153), 153, 154)
-#                            define BOOST_PP_NODE_155(p) BOOST_PP_IIF(p##(155), 155, 156)
-#                        define BOOST_PP_NODE_158(p) BOOST_PP_IIF(p##(158), BOOST_PP_NODE_157, BOOST_PP_NODE_159)
-#                            define BOOST_PP_NODE_157(p) BOOST_PP_IIF(p##(157), 157, 158)
-#                            define BOOST_PP_NODE_159(p) BOOST_PP_IIF(p##(159), 159, 160)
-#            define BOOST_PP_NODE_176(p) BOOST_PP_IIF(p##(176), BOOST_PP_NODE_168, BOOST_PP_NODE_184)
-#                define BOOST_PP_NODE_168(p) BOOST_PP_IIF(p##(168), BOOST_PP_NODE_164, BOOST_PP_NODE_172)
-#                    define BOOST_PP_NODE_164(p) BOOST_PP_IIF(p##(164), BOOST_PP_NODE_162, BOOST_PP_NODE_166)
-#                        define BOOST_PP_NODE_162(p) BOOST_PP_IIF(p##(162), BOOST_PP_NODE_161, BOOST_PP_NODE_163)
-#                            define BOOST_PP_NODE_161(p) BOOST_PP_IIF(p##(161), 161, 162)
-#                            define BOOST_PP_NODE_163(p) BOOST_PP_IIF(p##(163), 163, 164)
-#                        define BOOST_PP_NODE_166(p) BOOST_PP_IIF(p##(166), BOOST_PP_NODE_165, BOOST_PP_NODE_167)
-#                            define BOOST_PP_NODE_165(p) BOOST_PP_IIF(p##(165), 165, 166)
-#                            define BOOST_PP_NODE_167(p) BOOST_PP_IIF(p##(167), 167, 168)
-#                    define BOOST_PP_NODE_172(p) BOOST_PP_IIF(p##(172), BOOST_PP_NODE_170, BOOST_PP_NODE_174)
-#                        define BOOST_PP_NODE_170(p) BOOST_PP_IIF(p##(170), BOOST_PP_NODE_169, BOOST_PP_NODE_171)
-#                            define BOOST_PP_NODE_169(p) BOOST_PP_IIF(p##(169), 169, 170)
-#                            define BOOST_PP_NODE_171(p) BOOST_PP_IIF(p##(171), 171, 172)
-#                        define BOOST_PP_NODE_174(p) BOOST_PP_IIF(p##(174), BOOST_PP_NODE_173, BOOST_PP_NODE_175)
-#                            define BOOST_PP_NODE_173(p) BOOST_PP_IIF(p##(173), 173, 174)
-#                            define BOOST_PP_NODE_175(p) BOOST_PP_IIF(p##(175), 175, 176)
-#                define BOOST_PP_NODE_184(p) BOOST_PP_IIF(p##(184), BOOST_PP_NODE_180, BOOST_PP_NODE_188)
-#                    define BOOST_PP_NODE_180(p) BOOST_PP_IIF(p##(180), BOOST_PP_NODE_178, BOOST_PP_NODE_182)
-#                        define BOOST_PP_NODE_178(p) BOOST_PP_IIF(p##(178), BOOST_PP_NODE_177, BOOST_PP_NODE_179)
-#                            define BOOST_PP_NODE_177(p) BOOST_PP_IIF(p##(177), 177, 178)
-#                            define BOOST_PP_NODE_179(p) BOOST_PP_IIF(p##(179), 179, 180)
-#                        define BOOST_PP_NODE_182(p) BOOST_PP_IIF(p##(182), BOOST_PP_NODE_181, BOOST_PP_NODE_183)
-#                            define BOOST_PP_NODE_181(p) BOOST_PP_IIF(p##(181), 181, 182)
-#                            define BOOST_PP_NODE_183(p) BOOST_PP_IIF(p##(183), 183, 184)
-#                    define BOOST_PP_NODE_188(p) BOOST_PP_IIF(p##(188), BOOST_PP_NODE_186, BOOST_PP_NODE_190)
-#                        define BOOST_PP_NODE_186(p) BOOST_PP_IIF(p##(186), BOOST_PP_NODE_185, BOOST_PP_NODE_187)
-#                            define BOOST_PP_NODE_185(p) BOOST_PP_IIF(p##(185), 185, 186)
-#                            define BOOST_PP_NODE_187(p) BOOST_PP_IIF(p##(187), 187, 188)
-#                        define BOOST_PP_NODE_190(p) BOOST_PP_IIF(p##(190), BOOST_PP_NODE_189, BOOST_PP_NODE_191)
-#                            define BOOST_PP_NODE_189(p) BOOST_PP_IIF(p##(189), 189, 190)
-#                            define BOOST_PP_NODE_191(p) BOOST_PP_IIF(p##(191), 191, 192)
-#        define BOOST_PP_NODE_224(p) BOOST_PP_IIF(p##(224), BOOST_PP_NODE_208, BOOST_PP_NODE_240)
-#            define BOOST_PP_NODE_208(p) BOOST_PP_IIF(p##(208), BOOST_PP_NODE_200, BOOST_PP_NODE_216)
-#                define BOOST_PP_NODE_200(p) BOOST_PP_IIF(p##(200), BOOST_PP_NODE_196, BOOST_PP_NODE_204)
-#                    define BOOST_PP_NODE_196(p) BOOST_PP_IIF(p##(196), BOOST_PP_NODE_194, BOOST_PP_NODE_198)
-#                        define BOOST_PP_NODE_194(p) BOOST_PP_IIF(p##(194), BOOST_PP_NODE_193, BOOST_PP_NODE_195)
-#                            define BOOST_PP_NODE_193(p) BOOST_PP_IIF(p##(193), 193, 194)
-#                            define BOOST_PP_NODE_195(p) BOOST_PP_IIF(p##(195), 195, 196)
-#                        define BOOST_PP_NODE_198(p) BOOST_PP_IIF(p##(198), BOOST_PP_NODE_197, BOOST_PP_NODE_199)
-#                            define BOOST_PP_NODE_197(p) BOOST_PP_IIF(p##(197), 197, 198)
-#                            define BOOST_PP_NODE_199(p) BOOST_PP_IIF(p##(199), 199, 200)
-#                    define BOOST_PP_NODE_204(p) BOOST_PP_IIF(p##(204), BOOST_PP_NODE_202, BOOST_PP_NODE_206)
-#                        define BOOST_PP_NODE_202(p) BOOST_PP_IIF(p##(202), BOOST_PP_NODE_201, BOOST_PP_NODE_203)
-#                            define BOOST_PP_NODE_201(p) BOOST_PP_IIF(p##(201), 201, 202)
-#                            define BOOST_PP_NODE_203(p) BOOST_PP_IIF(p##(203), 203, 204)
-#                        define BOOST_PP_NODE_206(p) BOOST_PP_IIF(p##(206), BOOST_PP_NODE_205, BOOST_PP_NODE_207)
-#                            define BOOST_PP_NODE_205(p) BOOST_PP_IIF(p##(205), 205, 206)
-#                            define BOOST_PP_NODE_207(p) BOOST_PP_IIF(p##(207), 207, 208)
-#                define BOOST_PP_NODE_216(p) BOOST_PP_IIF(p##(216), BOOST_PP_NODE_212, BOOST_PP_NODE_220)
-#                    define BOOST_PP_NODE_212(p) BOOST_PP_IIF(p##(212), BOOST_PP_NODE_210, BOOST_PP_NODE_214)
-#                        define BOOST_PP_NODE_210(p) BOOST_PP_IIF(p##(210), BOOST_PP_NODE_209, BOOST_PP_NODE_211)
-#                            define BOOST_PP_NODE_209(p) BOOST_PP_IIF(p##(209), 209, 210)
-#                            define BOOST_PP_NODE_211(p) BOOST_PP_IIF(p##(211), 211, 212)
-#                        define BOOST_PP_NODE_214(p) BOOST_PP_IIF(p##(214), BOOST_PP_NODE_213, BOOST_PP_NODE_215)
-#                            define BOOST_PP_NODE_213(p) BOOST_PP_IIF(p##(213), 213, 214)
-#                            define BOOST_PP_NODE_215(p) BOOST_PP_IIF(p##(215), 215, 216)
-#                    define BOOST_PP_NODE_220(p) BOOST_PP_IIF(p##(220), BOOST_PP_NODE_218, BOOST_PP_NODE_222)
-#                        define BOOST_PP_NODE_218(p) BOOST_PP_IIF(p##(218), BOOST_PP_NODE_217, BOOST_PP_NODE_219)
-#                            define BOOST_PP_NODE_217(p) BOOST_PP_IIF(p##(217), 217, 218)
-#                            define BOOST_PP_NODE_219(p) BOOST_PP_IIF(p##(219), 219, 220)
-#                        define BOOST_PP_NODE_222(p) BOOST_PP_IIF(p##(222), BOOST_PP_NODE_221, BOOST_PP_NODE_223)
-#                            define BOOST_PP_NODE_221(p) BOOST_PP_IIF(p##(221), 221, 222)
-#                            define BOOST_PP_NODE_223(p) BOOST_PP_IIF(p##(223), 223, 224)
-#            define BOOST_PP_NODE_240(p) BOOST_PP_IIF(p##(240), BOOST_PP_NODE_232, BOOST_PP_NODE_248)
-#                define BOOST_PP_NODE_232(p) BOOST_PP_IIF(p##(232), BOOST_PP_NODE_228, BOOST_PP_NODE_236)
-#                    define BOOST_PP_NODE_228(p) BOOST_PP_IIF(p##(228), BOOST_PP_NODE_226, BOOST_PP_NODE_230)
-#                        define BOOST_PP_NODE_226(p) BOOST_PP_IIF(p##(226), BOOST_PP_NODE_225, BOOST_PP_NODE_227)
-#                            define BOOST_PP_NODE_225(p) BOOST_PP_IIF(p##(225), 225, 226)
-#                            define BOOST_PP_NODE_227(p) BOOST_PP_IIF(p##(227), 227, 228)
-#                        define BOOST_PP_NODE_230(p) BOOST_PP_IIF(p##(230), BOOST_PP_NODE_229, BOOST_PP_NODE_231)
-#                            define BOOST_PP_NODE_229(p) BOOST_PP_IIF(p##(229), 229, 230)
-#                            define BOOST_PP_NODE_231(p) BOOST_PP_IIF(p##(231), 231, 232)
-#                    define BOOST_PP_NODE_236(p) BOOST_PP_IIF(p##(236), BOOST_PP_NODE_234, BOOST_PP_NODE_238)
-#                        define BOOST_PP_NODE_234(p) BOOST_PP_IIF(p##(234), BOOST_PP_NODE_233, BOOST_PP_NODE_235)
-#                            define BOOST_PP_NODE_233(p) BOOST_PP_IIF(p##(233), 233, 234)
-#                            define BOOST_PP_NODE_235(p) BOOST_PP_IIF(p##(235), 235, 236)
-#                        define BOOST_PP_NODE_238(p) BOOST_PP_IIF(p##(238), BOOST_PP_NODE_237, BOOST_PP_NODE_239)
-#                            define BOOST_PP_NODE_237(p) BOOST_PP_IIF(p##(237), 237, 238)
-#                            define BOOST_PP_NODE_239(p) BOOST_PP_IIF(p##(239), 239, 240)
-#                define BOOST_PP_NODE_248(p) BOOST_PP_IIF(p##(248), BOOST_PP_NODE_244, BOOST_PP_NODE_252)
-#                    define BOOST_PP_NODE_244(p) BOOST_PP_IIF(p##(244), BOOST_PP_NODE_242, BOOST_PP_NODE_246)
-#                        define BOOST_PP_NODE_242(p) BOOST_PP_IIF(p##(242), BOOST_PP_NODE_241, BOOST_PP_NODE_243)
-#                            define BOOST_PP_NODE_241(p) BOOST_PP_IIF(p##(241), 241, 242)
-#                            define BOOST_PP_NODE_243(p) BOOST_PP_IIF(p##(243), 243, 244)
-#                        define BOOST_PP_NODE_246(p) BOOST_PP_IIF(p##(246), BOOST_PP_NODE_245, BOOST_PP_NODE_247)
-#                            define BOOST_PP_NODE_245(p) BOOST_PP_IIF(p##(245), 245, 246)
-#                            define BOOST_PP_NODE_247(p) BOOST_PP_IIF(p##(247), 247, 248)
-#                    define BOOST_PP_NODE_252(p) BOOST_PP_IIF(p##(252), BOOST_PP_NODE_250, BOOST_PP_NODE_254)
-#                        define BOOST_PP_NODE_250(p) BOOST_PP_IIF(p##(250), BOOST_PP_NODE_249, BOOST_PP_NODE_251)
-#                            define BOOST_PP_NODE_249(p) BOOST_PP_IIF(p##(249), 249, 250)
-#                            define BOOST_PP_NODE_251(p) BOOST_PP_IIF(p##(251), 251, 252)
-#                        define BOOST_PP_NODE_254(p) BOOST_PP_IIF(p##(254), BOOST_PP_NODE_253, BOOST_PP_NODE_255)
-#                            define BOOST_PP_NODE_253(p) BOOST_PP_IIF(p##(253), 253, 254)
-#                            define BOOST_PP_NODE_255(p) BOOST_PP_IIF(p##(255), 255, 256)
+# define NDNBOOST_PP_NODE_128(p) NDNBOOST_PP_IIF(p##(128), NDNBOOST_PP_NODE_64, NDNBOOST_PP_NODE_192)
+#    define NDNBOOST_PP_NODE_64(p) NDNBOOST_PP_IIF(p##(64), NDNBOOST_PP_NODE_32, NDNBOOST_PP_NODE_96)
+#        define NDNBOOST_PP_NODE_32(p) NDNBOOST_PP_IIF(p##(32), NDNBOOST_PP_NODE_16, NDNBOOST_PP_NODE_48)
+#            define NDNBOOST_PP_NODE_16(p) NDNBOOST_PP_IIF(p##(16), NDNBOOST_PP_NODE_8, NDNBOOST_PP_NODE_24)
+#                define NDNBOOST_PP_NODE_8(p) NDNBOOST_PP_IIF(p##(8), NDNBOOST_PP_NODE_4, NDNBOOST_PP_NODE_12)
+#                    define NDNBOOST_PP_NODE_4(p) NDNBOOST_PP_IIF(p##(4), NDNBOOST_PP_NODE_2, NDNBOOST_PP_NODE_6)
+#                        define NDNBOOST_PP_NODE_2(p) NDNBOOST_PP_IIF(p##(2), NDNBOOST_PP_NODE_1, NDNBOOST_PP_NODE_3)
+#                            define NDNBOOST_PP_NODE_1(p) NDNBOOST_PP_IIF(p##(1), 1, 2)
+#                            define NDNBOOST_PP_NODE_3(p) NDNBOOST_PP_IIF(p##(3), 3, 4)
+#                        define NDNBOOST_PP_NODE_6(p) NDNBOOST_PP_IIF(p##(6), NDNBOOST_PP_NODE_5, NDNBOOST_PP_NODE_7)
+#                            define NDNBOOST_PP_NODE_5(p) NDNBOOST_PP_IIF(p##(5), 5, 6)
+#                            define NDNBOOST_PP_NODE_7(p) NDNBOOST_PP_IIF(p##(7), 7, 8)
+#                    define NDNBOOST_PP_NODE_12(p) NDNBOOST_PP_IIF(p##(12), NDNBOOST_PP_NODE_10, NDNBOOST_PP_NODE_14)
+#                        define NDNBOOST_PP_NODE_10(p) NDNBOOST_PP_IIF(p##(10), NDNBOOST_PP_NODE_9, NDNBOOST_PP_NODE_11)
+#                            define NDNBOOST_PP_NODE_9(p) NDNBOOST_PP_IIF(p##(9), 9, 10)
+#                            define NDNBOOST_PP_NODE_11(p) NDNBOOST_PP_IIF(p##(11), 11, 12)
+#                        define NDNBOOST_PP_NODE_14(p) NDNBOOST_PP_IIF(p##(14), NDNBOOST_PP_NODE_13, NDNBOOST_PP_NODE_15)
+#                            define NDNBOOST_PP_NODE_13(p) NDNBOOST_PP_IIF(p##(13), 13, 14)
+#                            define NDNBOOST_PP_NODE_15(p) NDNBOOST_PP_IIF(p##(15), 15, 16)
+#                define NDNBOOST_PP_NODE_24(p) NDNBOOST_PP_IIF(p##(24), NDNBOOST_PP_NODE_20, NDNBOOST_PP_NODE_28)
+#                    define NDNBOOST_PP_NODE_20(p) NDNBOOST_PP_IIF(p##(20), NDNBOOST_PP_NODE_18, NDNBOOST_PP_NODE_22)
+#                        define NDNBOOST_PP_NODE_18(p) NDNBOOST_PP_IIF(p##(18), NDNBOOST_PP_NODE_17, NDNBOOST_PP_NODE_19)
+#                            define NDNBOOST_PP_NODE_17(p) NDNBOOST_PP_IIF(p##(17), 17, 18)
+#                            define NDNBOOST_PP_NODE_19(p) NDNBOOST_PP_IIF(p##(19), 19, 20)
+#                        define NDNBOOST_PP_NODE_22(p) NDNBOOST_PP_IIF(p##(22), NDNBOOST_PP_NODE_21, NDNBOOST_PP_NODE_23)
+#                            define NDNBOOST_PP_NODE_21(p) NDNBOOST_PP_IIF(p##(21), 21, 22)
+#                            define NDNBOOST_PP_NODE_23(p) NDNBOOST_PP_IIF(p##(23), 23, 24)
+#                    define NDNBOOST_PP_NODE_28(p) NDNBOOST_PP_IIF(p##(28), NDNBOOST_PP_NODE_26, NDNBOOST_PP_NODE_30)
+#                        define NDNBOOST_PP_NODE_26(p) NDNBOOST_PP_IIF(p##(26), NDNBOOST_PP_NODE_25, NDNBOOST_PP_NODE_27)
+#                            define NDNBOOST_PP_NODE_25(p) NDNBOOST_PP_IIF(p##(25), 25, 26)
+#                            define NDNBOOST_PP_NODE_27(p) NDNBOOST_PP_IIF(p##(27), 27, 28)
+#                        define NDNBOOST_PP_NODE_30(p) NDNBOOST_PP_IIF(p##(30), NDNBOOST_PP_NODE_29, NDNBOOST_PP_NODE_31)
+#                            define NDNBOOST_PP_NODE_29(p) NDNBOOST_PP_IIF(p##(29), 29, 30)
+#                            define NDNBOOST_PP_NODE_31(p) NDNBOOST_PP_IIF(p##(31), 31, 32)
+#            define NDNBOOST_PP_NODE_48(p) NDNBOOST_PP_IIF(p##(48), NDNBOOST_PP_NODE_40, NDNBOOST_PP_NODE_56)
+#                define NDNBOOST_PP_NODE_40(p) NDNBOOST_PP_IIF(p##(40), NDNBOOST_PP_NODE_36, NDNBOOST_PP_NODE_44)
+#                    define NDNBOOST_PP_NODE_36(p) NDNBOOST_PP_IIF(p##(36), NDNBOOST_PP_NODE_34, NDNBOOST_PP_NODE_38)
+#                        define NDNBOOST_PP_NODE_34(p) NDNBOOST_PP_IIF(p##(34), NDNBOOST_PP_NODE_33, NDNBOOST_PP_NODE_35)
+#                            define NDNBOOST_PP_NODE_33(p) NDNBOOST_PP_IIF(p##(33), 33, 34)
+#                            define NDNBOOST_PP_NODE_35(p) NDNBOOST_PP_IIF(p##(35), 35, 36)
+#                        define NDNBOOST_PP_NODE_38(p) NDNBOOST_PP_IIF(p##(38), NDNBOOST_PP_NODE_37, NDNBOOST_PP_NODE_39)
+#                            define NDNBOOST_PP_NODE_37(p) NDNBOOST_PP_IIF(p##(37), 37, 38)
+#                            define NDNBOOST_PP_NODE_39(p) NDNBOOST_PP_IIF(p##(39), 39, 40)
+#                    define NDNBOOST_PP_NODE_44(p) NDNBOOST_PP_IIF(p##(44), NDNBOOST_PP_NODE_42, NDNBOOST_PP_NODE_46)
+#                        define NDNBOOST_PP_NODE_42(p) NDNBOOST_PP_IIF(p##(42), NDNBOOST_PP_NODE_41, NDNBOOST_PP_NODE_43)
+#                            define NDNBOOST_PP_NODE_41(p) NDNBOOST_PP_IIF(p##(41), 41, 42)
+#                            define NDNBOOST_PP_NODE_43(p) NDNBOOST_PP_IIF(p##(43), 43, 44)
+#                        define NDNBOOST_PP_NODE_46(p) NDNBOOST_PP_IIF(p##(46), NDNBOOST_PP_NODE_45, NDNBOOST_PP_NODE_47)
+#                            define NDNBOOST_PP_NODE_45(p) NDNBOOST_PP_IIF(p##(45), 45, 46)
+#                            define NDNBOOST_PP_NODE_47(p) NDNBOOST_PP_IIF(p##(47), 47, 48)
+#                define NDNBOOST_PP_NODE_56(p) NDNBOOST_PP_IIF(p##(56), NDNBOOST_PP_NODE_52, NDNBOOST_PP_NODE_60)
+#                    define NDNBOOST_PP_NODE_52(p) NDNBOOST_PP_IIF(p##(52), NDNBOOST_PP_NODE_50, NDNBOOST_PP_NODE_54)
+#                        define NDNBOOST_PP_NODE_50(p) NDNBOOST_PP_IIF(p##(50), NDNBOOST_PP_NODE_49, NDNBOOST_PP_NODE_51)
+#                            define NDNBOOST_PP_NODE_49(p) NDNBOOST_PP_IIF(p##(49), 49, 50)
+#                            define NDNBOOST_PP_NODE_51(p) NDNBOOST_PP_IIF(p##(51), 51, 52)
+#                        define NDNBOOST_PP_NODE_54(p) NDNBOOST_PP_IIF(p##(54), NDNBOOST_PP_NODE_53, NDNBOOST_PP_NODE_55)
+#                            define NDNBOOST_PP_NODE_53(p) NDNBOOST_PP_IIF(p##(53), 53, 54)
+#                            define NDNBOOST_PP_NODE_55(p) NDNBOOST_PP_IIF(p##(55), 55, 56)
+#                    define NDNBOOST_PP_NODE_60(p) NDNBOOST_PP_IIF(p##(60), NDNBOOST_PP_NODE_58, NDNBOOST_PP_NODE_62)
+#                        define NDNBOOST_PP_NODE_58(p) NDNBOOST_PP_IIF(p##(58), NDNBOOST_PP_NODE_57, NDNBOOST_PP_NODE_59)
+#                            define NDNBOOST_PP_NODE_57(p) NDNBOOST_PP_IIF(p##(57), 57, 58)
+#                            define NDNBOOST_PP_NODE_59(p) NDNBOOST_PP_IIF(p##(59), 59, 60)
+#                        define NDNBOOST_PP_NODE_62(p) NDNBOOST_PP_IIF(p##(62), NDNBOOST_PP_NODE_61, NDNBOOST_PP_NODE_63)
+#                            define NDNBOOST_PP_NODE_61(p) NDNBOOST_PP_IIF(p##(61), 61, 62)
+#                            define NDNBOOST_PP_NODE_63(p) NDNBOOST_PP_IIF(p##(63), 63, 64)
+#        define NDNBOOST_PP_NODE_96(p) NDNBOOST_PP_IIF(p##(96), NDNBOOST_PP_NODE_80, NDNBOOST_PP_NODE_112)
+#            define NDNBOOST_PP_NODE_80(p) NDNBOOST_PP_IIF(p##(80), NDNBOOST_PP_NODE_72, NDNBOOST_PP_NODE_88)
+#                define NDNBOOST_PP_NODE_72(p) NDNBOOST_PP_IIF(p##(72), NDNBOOST_PP_NODE_68, NDNBOOST_PP_NODE_76)
+#                    define NDNBOOST_PP_NODE_68(p) NDNBOOST_PP_IIF(p##(68), NDNBOOST_PP_NODE_66, NDNBOOST_PP_NODE_70)
+#                        define NDNBOOST_PP_NODE_66(p) NDNBOOST_PP_IIF(p##(66), NDNBOOST_PP_NODE_65, NDNBOOST_PP_NODE_67)
+#                            define NDNBOOST_PP_NODE_65(p) NDNBOOST_PP_IIF(p##(65), 65, 66)
+#                            define NDNBOOST_PP_NODE_67(p) NDNBOOST_PP_IIF(p##(67), 67, 68)
+#                        define NDNBOOST_PP_NODE_70(p) NDNBOOST_PP_IIF(p##(70), NDNBOOST_PP_NODE_69, NDNBOOST_PP_NODE_71)
+#                            define NDNBOOST_PP_NODE_69(p) NDNBOOST_PP_IIF(p##(69), 69, 70)
+#                            define NDNBOOST_PP_NODE_71(p) NDNBOOST_PP_IIF(p##(71), 71, 72)
+#                    define NDNBOOST_PP_NODE_76(p) NDNBOOST_PP_IIF(p##(76), NDNBOOST_PP_NODE_74, NDNBOOST_PP_NODE_78)
+#                        define NDNBOOST_PP_NODE_74(p) NDNBOOST_PP_IIF(p##(74), NDNBOOST_PP_NODE_73, NDNBOOST_PP_NODE_75)
+#                            define NDNBOOST_PP_NODE_73(p) NDNBOOST_PP_IIF(p##(73), 73, 74)
+#                            define NDNBOOST_PP_NODE_75(p) NDNBOOST_PP_IIF(p##(75), 75, 76)
+#                        define NDNBOOST_PP_NODE_78(p) NDNBOOST_PP_IIF(p##(78), NDNBOOST_PP_NODE_77, NDNBOOST_PP_NODE_79)
+#                            define NDNBOOST_PP_NODE_77(p) NDNBOOST_PP_IIF(p##(77), 77, 78)
+#                            define NDNBOOST_PP_NODE_79(p) NDNBOOST_PP_IIF(p##(79), 79, 80)
+#                define NDNBOOST_PP_NODE_88(p) NDNBOOST_PP_IIF(p##(88), NDNBOOST_PP_NODE_84, NDNBOOST_PP_NODE_92)
+#                    define NDNBOOST_PP_NODE_84(p) NDNBOOST_PP_IIF(p##(84), NDNBOOST_PP_NODE_82, NDNBOOST_PP_NODE_86)
+#                        define NDNBOOST_PP_NODE_82(p) NDNBOOST_PP_IIF(p##(82), NDNBOOST_PP_NODE_81, NDNBOOST_PP_NODE_83)
+#                            define NDNBOOST_PP_NODE_81(p) NDNBOOST_PP_IIF(p##(81), 81, 82)
+#                            define NDNBOOST_PP_NODE_83(p) NDNBOOST_PP_IIF(p##(83), 83, 84)
+#                        define NDNBOOST_PP_NODE_86(p) NDNBOOST_PP_IIF(p##(86), NDNBOOST_PP_NODE_85, NDNBOOST_PP_NODE_87)
+#                            define NDNBOOST_PP_NODE_85(p) NDNBOOST_PP_IIF(p##(85), 85, 86)
+#                            define NDNBOOST_PP_NODE_87(p) NDNBOOST_PP_IIF(p##(87), 87, 88)
+#                    define NDNBOOST_PP_NODE_92(p) NDNBOOST_PP_IIF(p##(92), NDNBOOST_PP_NODE_90, NDNBOOST_PP_NODE_94)
+#                        define NDNBOOST_PP_NODE_90(p) NDNBOOST_PP_IIF(p##(90), NDNBOOST_PP_NODE_89, NDNBOOST_PP_NODE_91)
+#                            define NDNBOOST_PP_NODE_89(p) NDNBOOST_PP_IIF(p##(89), 89, 90)
+#                            define NDNBOOST_PP_NODE_91(p) NDNBOOST_PP_IIF(p##(91), 91, 92)
+#                        define NDNBOOST_PP_NODE_94(p) NDNBOOST_PP_IIF(p##(94), NDNBOOST_PP_NODE_93, NDNBOOST_PP_NODE_95)
+#                            define NDNBOOST_PP_NODE_93(p) NDNBOOST_PP_IIF(p##(93), 93, 94)
+#                            define NDNBOOST_PP_NODE_95(p) NDNBOOST_PP_IIF(p##(95), 95, 96)
+#            define NDNBOOST_PP_NODE_112(p) NDNBOOST_PP_IIF(p##(112), NDNBOOST_PP_NODE_104, NDNBOOST_PP_NODE_120)
+#                define NDNBOOST_PP_NODE_104(p) NDNBOOST_PP_IIF(p##(104), NDNBOOST_PP_NODE_100, NDNBOOST_PP_NODE_108)
+#                    define NDNBOOST_PP_NODE_100(p) NDNBOOST_PP_IIF(p##(100), NDNBOOST_PP_NODE_98, NDNBOOST_PP_NODE_102)
+#                        define NDNBOOST_PP_NODE_98(p) NDNBOOST_PP_IIF(p##(98), NDNBOOST_PP_NODE_97, NDNBOOST_PP_NODE_99)
+#                            define NDNBOOST_PP_NODE_97(p) NDNBOOST_PP_IIF(p##(97), 97, 98)
+#                            define NDNBOOST_PP_NODE_99(p) NDNBOOST_PP_IIF(p##(99), 99, 100)
+#                        define NDNBOOST_PP_NODE_102(p) NDNBOOST_PP_IIF(p##(102), NDNBOOST_PP_NODE_101, NDNBOOST_PP_NODE_103)
+#                            define NDNBOOST_PP_NODE_101(p) NDNBOOST_PP_IIF(p##(101), 101, 102)
+#                            define NDNBOOST_PP_NODE_103(p) NDNBOOST_PP_IIF(p##(103), 103, 104)
+#                    define NDNBOOST_PP_NODE_108(p) NDNBOOST_PP_IIF(p##(108), NDNBOOST_PP_NODE_106, NDNBOOST_PP_NODE_110)
+#                        define NDNBOOST_PP_NODE_106(p) NDNBOOST_PP_IIF(p##(106), NDNBOOST_PP_NODE_105, NDNBOOST_PP_NODE_107)
+#                            define NDNBOOST_PP_NODE_105(p) NDNBOOST_PP_IIF(p##(105), 105, 106)
+#                            define NDNBOOST_PP_NODE_107(p) NDNBOOST_PP_IIF(p##(107), 107, 108)
+#                        define NDNBOOST_PP_NODE_110(p) NDNBOOST_PP_IIF(p##(110), NDNBOOST_PP_NODE_109, NDNBOOST_PP_NODE_111)
+#                            define NDNBOOST_PP_NODE_109(p) NDNBOOST_PP_IIF(p##(109), 109, 110)
+#                            define NDNBOOST_PP_NODE_111(p) NDNBOOST_PP_IIF(p##(111), 111, 112)
+#                define NDNBOOST_PP_NODE_120(p) NDNBOOST_PP_IIF(p##(120), NDNBOOST_PP_NODE_116, NDNBOOST_PP_NODE_124)
+#                    define NDNBOOST_PP_NODE_116(p) NDNBOOST_PP_IIF(p##(116), NDNBOOST_PP_NODE_114, NDNBOOST_PP_NODE_118)
+#                        define NDNBOOST_PP_NODE_114(p) NDNBOOST_PP_IIF(p##(114), NDNBOOST_PP_NODE_113, NDNBOOST_PP_NODE_115)
+#                            define NDNBOOST_PP_NODE_113(p) NDNBOOST_PP_IIF(p##(113), 113, 114)
+#                            define NDNBOOST_PP_NODE_115(p) NDNBOOST_PP_IIF(p##(115), 115, 116)
+#                        define NDNBOOST_PP_NODE_118(p) NDNBOOST_PP_IIF(p##(118), NDNBOOST_PP_NODE_117, NDNBOOST_PP_NODE_119)
+#                            define NDNBOOST_PP_NODE_117(p) NDNBOOST_PP_IIF(p##(117), 117, 118)
+#                            define NDNBOOST_PP_NODE_119(p) NDNBOOST_PP_IIF(p##(119), 119, 120)
+#                    define NDNBOOST_PP_NODE_124(p) NDNBOOST_PP_IIF(p##(124), NDNBOOST_PP_NODE_122, NDNBOOST_PP_NODE_126)
+#                        define NDNBOOST_PP_NODE_122(p) NDNBOOST_PP_IIF(p##(122), NDNBOOST_PP_NODE_121, NDNBOOST_PP_NODE_123)
+#                            define NDNBOOST_PP_NODE_121(p) NDNBOOST_PP_IIF(p##(121), 121, 122)
+#                            define NDNBOOST_PP_NODE_123(p) NDNBOOST_PP_IIF(p##(123), 123, 124)
+#                        define NDNBOOST_PP_NODE_126(p) NDNBOOST_PP_IIF(p##(126), NDNBOOST_PP_NODE_125, NDNBOOST_PP_NODE_127)
+#                            define NDNBOOST_PP_NODE_125(p) NDNBOOST_PP_IIF(p##(125), 125, 126)
+#                            define NDNBOOST_PP_NODE_127(p) NDNBOOST_PP_IIF(p##(127), 127, 128)
+#    define NDNBOOST_PP_NODE_192(p) NDNBOOST_PP_IIF(p##(192), NDNBOOST_PP_NODE_160, NDNBOOST_PP_NODE_224)
+#        define NDNBOOST_PP_NODE_160(p) NDNBOOST_PP_IIF(p##(160), NDNBOOST_PP_NODE_144, NDNBOOST_PP_NODE_176)
+#            define NDNBOOST_PP_NODE_144(p) NDNBOOST_PP_IIF(p##(144), NDNBOOST_PP_NODE_136, NDNBOOST_PP_NODE_152)
+#                define NDNBOOST_PP_NODE_136(p) NDNBOOST_PP_IIF(p##(136), NDNBOOST_PP_NODE_132, NDNBOOST_PP_NODE_140)
+#                    define NDNBOOST_PP_NODE_132(p) NDNBOOST_PP_IIF(p##(132), NDNBOOST_PP_NODE_130, NDNBOOST_PP_NODE_134)
+#                        define NDNBOOST_PP_NODE_130(p) NDNBOOST_PP_IIF(p##(130), NDNBOOST_PP_NODE_129, NDNBOOST_PP_NODE_131)
+#                            define NDNBOOST_PP_NODE_129(p) NDNBOOST_PP_IIF(p##(129), 129, 130)
+#                            define NDNBOOST_PP_NODE_131(p) NDNBOOST_PP_IIF(p##(131), 131, 132)
+#                        define NDNBOOST_PP_NODE_134(p) NDNBOOST_PP_IIF(p##(134), NDNBOOST_PP_NODE_133, NDNBOOST_PP_NODE_135)
+#                            define NDNBOOST_PP_NODE_133(p) NDNBOOST_PP_IIF(p##(133), 133, 134)
+#                            define NDNBOOST_PP_NODE_135(p) NDNBOOST_PP_IIF(p##(135), 135, 136)
+#                    define NDNBOOST_PP_NODE_140(p) NDNBOOST_PP_IIF(p##(140), NDNBOOST_PP_NODE_138, NDNBOOST_PP_NODE_142)
+#                        define NDNBOOST_PP_NODE_138(p) NDNBOOST_PP_IIF(p##(138), NDNBOOST_PP_NODE_137, NDNBOOST_PP_NODE_139)
+#                            define NDNBOOST_PP_NODE_137(p) NDNBOOST_PP_IIF(p##(137), 137, 138)
+#                            define NDNBOOST_PP_NODE_139(p) NDNBOOST_PP_IIF(p##(139), 139, 140)
+#                        define NDNBOOST_PP_NODE_142(p) NDNBOOST_PP_IIF(p##(142), NDNBOOST_PP_NODE_141, NDNBOOST_PP_NODE_143)
+#                            define NDNBOOST_PP_NODE_141(p) NDNBOOST_PP_IIF(p##(141), 141, 142)
+#                            define NDNBOOST_PP_NODE_143(p) NDNBOOST_PP_IIF(p##(143), 143, 144)
+#                define NDNBOOST_PP_NODE_152(p) NDNBOOST_PP_IIF(p##(152), NDNBOOST_PP_NODE_148, NDNBOOST_PP_NODE_156)
+#                    define NDNBOOST_PP_NODE_148(p) NDNBOOST_PP_IIF(p##(148), NDNBOOST_PP_NODE_146, NDNBOOST_PP_NODE_150)
+#                        define NDNBOOST_PP_NODE_146(p) NDNBOOST_PP_IIF(p##(146), NDNBOOST_PP_NODE_145, NDNBOOST_PP_NODE_147)
+#                            define NDNBOOST_PP_NODE_145(p) NDNBOOST_PP_IIF(p##(145), 145, 146)
+#                            define NDNBOOST_PP_NODE_147(p) NDNBOOST_PP_IIF(p##(147), 147, 148)
+#                        define NDNBOOST_PP_NODE_150(p) NDNBOOST_PP_IIF(p##(150), NDNBOOST_PP_NODE_149, NDNBOOST_PP_NODE_151)
+#                            define NDNBOOST_PP_NODE_149(p) NDNBOOST_PP_IIF(p##(149), 149, 150)
+#                            define NDNBOOST_PP_NODE_151(p) NDNBOOST_PP_IIF(p##(151), 151, 152)
+#                    define NDNBOOST_PP_NODE_156(p) NDNBOOST_PP_IIF(p##(156), NDNBOOST_PP_NODE_154, NDNBOOST_PP_NODE_158)
+#                        define NDNBOOST_PP_NODE_154(p) NDNBOOST_PP_IIF(p##(154), NDNBOOST_PP_NODE_153, NDNBOOST_PP_NODE_155)
+#                            define NDNBOOST_PP_NODE_153(p) NDNBOOST_PP_IIF(p##(153), 153, 154)
+#                            define NDNBOOST_PP_NODE_155(p) NDNBOOST_PP_IIF(p##(155), 155, 156)
+#                        define NDNBOOST_PP_NODE_158(p) NDNBOOST_PP_IIF(p##(158), NDNBOOST_PP_NODE_157, NDNBOOST_PP_NODE_159)
+#                            define NDNBOOST_PP_NODE_157(p) NDNBOOST_PP_IIF(p##(157), 157, 158)
+#                            define NDNBOOST_PP_NODE_159(p) NDNBOOST_PP_IIF(p##(159), 159, 160)
+#            define NDNBOOST_PP_NODE_176(p) NDNBOOST_PP_IIF(p##(176), NDNBOOST_PP_NODE_168, NDNBOOST_PP_NODE_184)
+#                define NDNBOOST_PP_NODE_168(p) NDNBOOST_PP_IIF(p##(168), NDNBOOST_PP_NODE_164, NDNBOOST_PP_NODE_172)
+#                    define NDNBOOST_PP_NODE_164(p) NDNBOOST_PP_IIF(p##(164), NDNBOOST_PP_NODE_162, NDNBOOST_PP_NODE_166)
+#                        define NDNBOOST_PP_NODE_162(p) NDNBOOST_PP_IIF(p##(162), NDNBOOST_PP_NODE_161, NDNBOOST_PP_NODE_163)
+#                            define NDNBOOST_PP_NODE_161(p) NDNBOOST_PP_IIF(p##(161), 161, 162)
+#                            define NDNBOOST_PP_NODE_163(p) NDNBOOST_PP_IIF(p##(163), 163, 164)
+#                        define NDNBOOST_PP_NODE_166(p) NDNBOOST_PP_IIF(p##(166), NDNBOOST_PP_NODE_165, NDNBOOST_PP_NODE_167)
+#                            define NDNBOOST_PP_NODE_165(p) NDNBOOST_PP_IIF(p##(165), 165, 166)
+#                            define NDNBOOST_PP_NODE_167(p) NDNBOOST_PP_IIF(p##(167), 167, 168)
+#                    define NDNBOOST_PP_NODE_172(p) NDNBOOST_PP_IIF(p##(172), NDNBOOST_PP_NODE_170, NDNBOOST_PP_NODE_174)
+#                        define NDNBOOST_PP_NODE_170(p) NDNBOOST_PP_IIF(p##(170), NDNBOOST_PP_NODE_169, NDNBOOST_PP_NODE_171)
+#                            define NDNBOOST_PP_NODE_169(p) NDNBOOST_PP_IIF(p##(169), 169, 170)
+#                            define NDNBOOST_PP_NODE_171(p) NDNBOOST_PP_IIF(p##(171), 171, 172)
+#                        define NDNBOOST_PP_NODE_174(p) NDNBOOST_PP_IIF(p##(174), NDNBOOST_PP_NODE_173, NDNBOOST_PP_NODE_175)
+#                            define NDNBOOST_PP_NODE_173(p) NDNBOOST_PP_IIF(p##(173), 173, 174)
+#                            define NDNBOOST_PP_NODE_175(p) NDNBOOST_PP_IIF(p##(175), 175, 176)
+#                define NDNBOOST_PP_NODE_184(p) NDNBOOST_PP_IIF(p##(184), NDNBOOST_PP_NODE_180, NDNBOOST_PP_NODE_188)
+#                    define NDNBOOST_PP_NODE_180(p) NDNBOOST_PP_IIF(p##(180), NDNBOOST_PP_NODE_178, NDNBOOST_PP_NODE_182)
+#                        define NDNBOOST_PP_NODE_178(p) NDNBOOST_PP_IIF(p##(178), NDNBOOST_PP_NODE_177, NDNBOOST_PP_NODE_179)
+#                            define NDNBOOST_PP_NODE_177(p) NDNBOOST_PP_IIF(p##(177), 177, 178)
+#                            define NDNBOOST_PP_NODE_179(p) NDNBOOST_PP_IIF(p##(179), 179, 180)
+#                        define NDNBOOST_PP_NODE_182(p) NDNBOOST_PP_IIF(p##(182), NDNBOOST_PP_NODE_181, NDNBOOST_PP_NODE_183)
+#                            define NDNBOOST_PP_NODE_181(p) NDNBOOST_PP_IIF(p##(181), 181, 182)
+#                            define NDNBOOST_PP_NODE_183(p) NDNBOOST_PP_IIF(p##(183), 183, 184)
+#                    define NDNBOOST_PP_NODE_188(p) NDNBOOST_PP_IIF(p##(188), NDNBOOST_PP_NODE_186, NDNBOOST_PP_NODE_190)
+#                        define NDNBOOST_PP_NODE_186(p) NDNBOOST_PP_IIF(p##(186), NDNBOOST_PP_NODE_185, NDNBOOST_PP_NODE_187)
+#                            define NDNBOOST_PP_NODE_185(p) NDNBOOST_PP_IIF(p##(185), 185, 186)
+#                            define NDNBOOST_PP_NODE_187(p) NDNBOOST_PP_IIF(p##(187), 187, 188)
+#                        define NDNBOOST_PP_NODE_190(p) NDNBOOST_PP_IIF(p##(190), NDNBOOST_PP_NODE_189, NDNBOOST_PP_NODE_191)
+#                            define NDNBOOST_PP_NODE_189(p) NDNBOOST_PP_IIF(p##(189), 189, 190)
+#                            define NDNBOOST_PP_NODE_191(p) NDNBOOST_PP_IIF(p##(191), 191, 192)
+#        define NDNBOOST_PP_NODE_224(p) NDNBOOST_PP_IIF(p##(224), NDNBOOST_PP_NODE_208, NDNBOOST_PP_NODE_240)
+#            define NDNBOOST_PP_NODE_208(p) NDNBOOST_PP_IIF(p##(208), NDNBOOST_PP_NODE_200, NDNBOOST_PP_NODE_216)
+#                define NDNBOOST_PP_NODE_200(p) NDNBOOST_PP_IIF(p##(200), NDNBOOST_PP_NODE_196, NDNBOOST_PP_NODE_204)
+#                    define NDNBOOST_PP_NODE_196(p) NDNBOOST_PP_IIF(p##(196), NDNBOOST_PP_NODE_194, NDNBOOST_PP_NODE_198)
+#                        define NDNBOOST_PP_NODE_194(p) NDNBOOST_PP_IIF(p##(194), NDNBOOST_PP_NODE_193, NDNBOOST_PP_NODE_195)
+#                            define NDNBOOST_PP_NODE_193(p) NDNBOOST_PP_IIF(p##(193), 193, 194)
+#                            define NDNBOOST_PP_NODE_195(p) NDNBOOST_PP_IIF(p##(195), 195, 196)
+#                        define NDNBOOST_PP_NODE_198(p) NDNBOOST_PP_IIF(p##(198), NDNBOOST_PP_NODE_197, NDNBOOST_PP_NODE_199)
+#                            define NDNBOOST_PP_NODE_197(p) NDNBOOST_PP_IIF(p##(197), 197, 198)
+#                            define NDNBOOST_PP_NODE_199(p) NDNBOOST_PP_IIF(p##(199), 199, 200)
+#                    define NDNBOOST_PP_NODE_204(p) NDNBOOST_PP_IIF(p##(204), NDNBOOST_PP_NODE_202, NDNBOOST_PP_NODE_206)
+#                        define NDNBOOST_PP_NODE_202(p) NDNBOOST_PP_IIF(p##(202), NDNBOOST_PP_NODE_201, NDNBOOST_PP_NODE_203)
+#                            define NDNBOOST_PP_NODE_201(p) NDNBOOST_PP_IIF(p##(201), 201, 202)
+#                            define NDNBOOST_PP_NODE_203(p) NDNBOOST_PP_IIF(p##(203), 203, 204)
+#                        define NDNBOOST_PP_NODE_206(p) NDNBOOST_PP_IIF(p##(206), NDNBOOST_PP_NODE_205, NDNBOOST_PP_NODE_207)
+#                            define NDNBOOST_PP_NODE_205(p) NDNBOOST_PP_IIF(p##(205), 205, 206)
+#                            define NDNBOOST_PP_NODE_207(p) NDNBOOST_PP_IIF(p##(207), 207, 208)
+#                define NDNBOOST_PP_NODE_216(p) NDNBOOST_PP_IIF(p##(216), NDNBOOST_PP_NODE_212, NDNBOOST_PP_NODE_220)
+#                    define NDNBOOST_PP_NODE_212(p) NDNBOOST_PP_IIF(p##(212), NDNBOOST_PP_NODE_210, NDNBOOST_PP_NODE_214)
+#                        define NDNBOOST_PP_NODE_210(p) NDNBOOST_PP_IIF(p##(210), NDNBOOST_PP_NODE_209, NDNBOOST_PP_NODE_211)
+#                            define NDNBOOST_PP_NODE_209(p) NDNBOOST_PP_IIF(p##(209), 209, 210)
+#                            define NDNBOOST_PP_NODE_211(p) NDNBOOST_PP_IIF(p##(211), 211, 212)
+#                        define NDNBOOST_PP_NODE_214(p) NDNBOOST_PP_IIF(p##(214), NDNBOOST_PP_NODE_213, NDNBOOST_PP_NODE_215)
+#                            define NDNBOOST_PP_NODE_213(p) NDNBOOST_PP_IIF(p##(213), 213, 214)
+#                            define NDNBOOST_PP_NODE_215(p) NDNBOOST_PP_IIF(p##(215), 215, 216)
+#                    define NDNBOOST_PP_NODE_220(p) NDNBOOST_PP_IIF(p##(220), NDNBOOST_PP_NODE_218, NDNBOOST_PP_NODE_222)
+#                        define NDNBOOST_PP_NODE_218(p) NDNBOOST_PP_IIF(p##(218), NDNBOOST_PP_NODE_217, NDNBOOST_PP_NODE_219)
+#                            define NDNBOOST_PP_NODE_217(p) NDNBOOST_PP_IIF(p##(217), 217, 218)
+#                            define NDNBOOST_PP_NODE_219(p) NDNBOOST_PP_IIF(p##(219), 219, 220)
+#                        define NDNBOOST_PP_NODE_222(p) NDNBOOST_PP_IIF(p##(222), NDNBOOST_PP_NODE_221, NDNBOOST_PP_NODE_223)
+#                            define NDNBOOST_PP_NODE_221(p) NDNBOOST_PP_IIF(p##(221), 221, 222)
+#                            define NDNBOOST_PP_NODE_223(p) NDNBOOST_PP_IIF(p##(223), 223, 224)
+#            define NDNBOOST_PP_NODE_240(p) NDNBOOST_PP_IIF(p##(240), NDNBOOST_PP_NODE_232, NDNBOOST_PP_NODE_248)
+#                define NDNBOOST_PP_NODE_232(p) NDNBOOST_PP_IIF(p##(232), NDNBOOST_PP_NODE_228, NDNBOOST_PP_NODE_236)
+#                    define NDNBOOST_PP_NODE_228(p) NDNBOOST_PP_IIF(p##(228), NDNBOOST_PP_NODE_226, NDNBOOST_PP_NODE_230)
+#                        define NDNBOOST_PP_NODE_226(p) NDNBOOST_PP_IIF(p##(226), NDNBOOST_PP_NODE_225, NDNBOOST_PP_NODE_227)
+#                            define NDNBOOST_PP_NODE_225(p) NDNBOOST_PP_IIF(p##(225), 225, 226)
+#                            define NDNBOOST_PP_NODE_227(p) NDNBOOST_PP_IIF(p##(227), 227, 228)
+#                        define NDNBOOST_PP_NODE_230(p) NDNBOOST_PP_IIF(p##(230), NDNBOOST_PP_NODE_229, NDNBOOST_PP_NODE_231)
+#                            define NDNBOOST_PP_NODE_229(p) NDNBOOST_PP_IIF(p##(229), 229, 230)
+#                            define NDNBOOST_PP_NODE_231(p) NDNBOOST_PP_IIF(p##(231), 231, 232)
+#                    define NDNBOOST_PP_NODE_236(p) NDNBOOST_PP_IIF(p##(236), NDNBOOST_PP_NODE_234, NDNBOOST_PP_NODE_238)
+#                        define NDNBOOST_PP_NODE_234(p) NDNBOOST_PP_IIF(p##(234), NDNBOOST_PP_NODE_233, NDNBOOST_PP_NODE_235)
+#                            define NDNBOOST_PP_NODE_233(p) NDNBOOST_PP_IIF(p##(233), 233, 234)
+#                            define NDNBOOST_PP_NODE_235(p) NDNBOOST_PP_IIF(p##(235), 235, 236)
+#                        define NDNBOOST_PP_NODE_238(p) NDNBOOST_PP_IIF(p##(238), NDNBOOST_PP_NODE_237, NDNBOOST_PP_NODE_239)
+#                            define NDNBOOST_PP_NODE_237(p) NDNBOOST_PP_IIF(p##(237), 237, 238)
+#                            define NDNBOOST_PP_NODE_239(p) NDNBOOST_PP_IIF(p##(239), 239, 240)
+#                define NDNBOOST_PP_NODE_248(p) NDNBOOST_PP_IIF(p##(248), NDNBOOST_PP_NODE_244, NDNBOOST_PP_NODE_252)
+#                    define NDNBOOST_PP_NODE_244(p) NDNBOOST_PP_IIF(p##(244), NDNBOOST_PP_NODE_242, NDNBOOST_PP_NODE_246)
+#                        define NDNBOOST_PP_NODE_242(p) NDNBOOST_PP_IIF(p##(242), NDNBOOST_PP_NODE_241, NDNBOOST_PP_NODE_243)
+#                            define NDNBOOST_PP_NODE_241(p) NDNBOOST_PP_IIF(p##(241), 241, 242)
+#                            define NDNBOOST_PP_NODE_243(p) NDNBOOST_PP_IIF(p##(243), 243, 244)
+#                        define NDNBOOST_PP_NODE_246(p) NDNBOOST_PP_IIF(p##(246), NDNBOOST_PP_NODE_245, NDNBOOST_PP_NODE_247)
+#                            define NDNBOOST_PP_NODE_245(p) NDNBOOST_PP_IIF(p##(245), 245, 246)
+#                            define NDNBOOST_PP_NODE_247(p) NDNBOOST_PP_IIF(p##(247), 247, 248)
+#                    define NDNBOOST_PP_NODE_252(p) NDNBOOST_PP_IIF(p##(252), NDNBOOST_PP_NODE_250, NDNBOOST_PP_NODE_254)
+#                        define NDNBOOST_PP_NODE_250(p) NDNBOOST_PP_IIF(p##(250), NDNBOOST_PP_NODE_249, NDNBOOST_PP_NODE_251)
+#                            define NDNBOOST_PP_NODE_249(p) NDNBOOST_PP_IIF(p##(249), 249, 250)
+#                            define NDNBOOST_PP_NODE_251(p) NDNBOOST_PP_IIF(p##(251), 251, 252)
+#                        define NDNBOOST_PP_NODE_254(p) NDNBOOST_PP_IIF(p##(254), NDNBOOST_PP_NODE_253, NDNBOOST_PP_NODE_255)
+#                            define NDNBOOST_PP_NODE_253(p) NDNBOOST_PP_IIF(p##(253), 253, 254)
+#                            define NDNBOOST_PP_NODE_255(p) NDNBOOST_PP_IIF(p##(255), 255, 256)
 #
 # endif
diff --git a/include/ndnboost/preprocessor/detail/is_binary.hpp b/include/ndnboost/preprocessor/detail/is_binary.hpp
index ed35dc8..c08777f 100644
--- a/include/ndnboost/preprocessor/detail/is_binary.hpp
+++ b/include/ndnboost/preprocessor/detail/is_binary.hpp
@@ -9,22 +9,22 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_DETAIL_IS_BINARY_HPP
-# define BOOST_PREPROCESSOR_DETAIL_IS_BINARY_HPP
+# ifndef NDNBOOST_PREPROCESSOR_DETAIL_IS_BINARY_HPP
+# define NDNBOOST_PREPROCESSOR_DETAIL_IS_BINARY_HPP
 #
 # include <ndnboost/preprocessor/config/config.hpp>
 # include <ndnboost/preprocessor/detail/check.hpp>
 #
-# /* BOOST_PP_IS_BINARY */
+# /* NDNBOOST_PP_IS_BINARY */
 #
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_IS_BINARY(x) BOOST_PP_CHECK(x, BOOST_PP_IS_BINARY_CHECK)
+# if ~NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_EDG()
+#    define NDNBOOST_PP_IS_BINARY(x) NDNBOOST_PP_CHECK(x, NDNBOOST_PP_IS_BINARY_CHECK)
 # else
-#    define BOOST_PP_IS_BINARY(x) BOOST_PP_IS_BINARY_I(x)
-#    define BOOST_PP_IS_BINARY_I(x) BOOST_PP_CHECK(x, BOOST_PP_IS_BINARY_CHECK)
+#    define NDNBOOST_PP_IS_BINARY(x) NDNBOOST_PP_IS_BINARY_I(x)
+#    define NDNBOOST_PP_IS_BINARY_I(x) NDNBOOST_PP_CHECK(x, NDNBOOST_PP_IS_BINARY_CHECK)
 # endif
 #
-# define BOOST_PP_IS_BINARY_CHECK(a, b) 1
-# define BOOST_PP_CHECK_RESULT_BOOST_PP_IS_BINARY_CHECK 0, BOOST_PP_NIL
+# define NDNBOOST_PP_IS_BINARY_CHECK(a, b) 1
+# define NDNBOOST_PP_CHECK_RESULT_NDNBOOST_PP_IS_BINARY_CHECK 0, NDNBOOST_PP_NIL
 #
 # endif
diff --git a/include/ndnboost/preprocessor/detail/is_unary.hpp b/include/ndnboost/preprocessor/detail/is_unary.hpp
index c12f008..e1aaf59 100644
--- a/include/ndnboost/preprocessor/detail/is_unary.hpp
+++ b/include/ndnboost/preprocessor/detail/is_unary.hpp
@@ -9,22 +9,22 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_DETAIL_IS_UNARY_HPP
-# define BOOST_PREPROCESSOR_DETAIL_IS_UNARY_HPP
+# ifndef NDNBOOST_PREPROCESSOR_DETAIL_IS_UNARY_HPP
+# define NDNBOOST_PREPROCESSOR_DETAIL_IS_UNARY_HPP
 #
 # include <ndnboost/preprocessor/config/config.hpp>
 # include <ndnboost/preprocessor/detail/check.hpp>
 #
-# /* BOOST_PP_IS_UNARY */
+# /* NDNBOOST_PP_IS_UNARY */
 #
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_IS_UNARY(x) BOOST_PP_CHECK(x, BOOST_PP_IS_UNARY_CHECK)
+# if ~NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_EDG()
+#    define NDNBOOST_PP_IS_UNARY(x) NDNBOOST_PP_CHECK(x, NDNBOOST_PP_IS_UNARY_CHECK)
 # else
-#    define BOOST_PP_IS_UNARY(x) BOOST_PP_IS_UNARY_I(x)
-#    define BOOST_PP_IS_UNARY_I(x) BOOST_PP_CHECK(x, BOOST_PP_IS_UNARY_CHECK)
+#    define NDNBOOST_PP_IS_UNARY(x) NDNBOOST_PP_IS_UNARY_I(x)
+#    define NDNBOOST_PP_IS_UNARY_I(x) NDNBOOST_PP_CHECK(x, NDNBOOST_PP_IS_UNARY_CHECK)
 # endif
 #
-# define BOOST_PP_IS_UNARY_CHECK(a) 1
-# define BOOST_PP_CHECK_RESULT_BOOST_PP_IS_UNARY_CHECK 0, BOOST_PP_NIL
+# define NDNBOOST_PP_IS_UNARY_CHECK(a) 1
+# define NDNBOOST_PP_CHECK_RESULT_NDNBOOST_PP_IS_UNARY_CHECK 0, NDNBOOST_PP_NIL
 #
 # endif
diff --git a/include/ndnboost/preprocessor/empty.hpp b/include/ndnboost/preprocessor/empty.hpp
index 4c81065..bdb9ada 100644
--- a/include/ndnboost/preprocessor/empty.hpp
+++ b/include/ndnboost/preprocessor/empty.hpp
@@ -9,8 +9,8 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_EMPTY_HPP
-# define BOOST_PREPROCESSOR_EMPTY_HPP
+# ifndef NDNBOOST_PREPROCESSOR_EMPTY_HPP
+# define NDNBOOST_PREPROCESSOR_EMPTY_HPP
 #
 # include <ndnboost/preprocessor/facilities/empty.hpp>
 #
diff --git a/include/ndnboost/preprocessor/enum.hpp b/include/ndnboost/preprocessor/enum.hpp
index 715834f..0ddb8a0 100644
--- a/include/ndnboost/preprocessor/enum.hpp
+++ b/include/ndnboost/preprocessor/enum.hpp
@@ -9,8 +9,8 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_ENUM_HPP
-# define BOOST_PREPROCESSOR_ENUM_HPP
+# ifndef NDNBOOST_PREPROCESSOR_ENUM_HPP
+# define NDNBOOST_PREPROCESSOR_ENUM_HPP
 #
 # include <ndnboost/preprocessor/repetition/enum.hpp>
 #
diff --git a/include/ndnboost/preprocessor/enum_params.hpp b/include/ndnboost/preprocessor/enum_params.hpp
index b2752ce..f11f6df 100644
--- a/include/ndnboost/preprocessor/enum_params.hpp
+++ b/include/ndnboost/preprocessor/enum_params.hpp
@@ -9,8 +9,8 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_ENUM_PARAMS_HPP
-# define BOOST_PREPROCESSOR_ENUM_PARAMS_HPP
+# ifndef NDNBOOST_PREPROCESSOR_ENUM_PARAMS_HPP
+# define NDNBOOST_PREPROCESSOR_ENUM_PARAMS_HPP
 #
 # include <ndnboost/preprocessor/repetition/enum_params.hpp>
 #
diff --git a/include/ndnboost/preprocessor/enum_params_with_a_default.hpp b/include/ndnboost/preprocessor/enum_params_with_a_default.hpp
index 96386c2..ed80fbc 100644
--- a/include/ndnboost/preprocessor/enum_params_with_a_default.hpp
+++ b/include/ndnboost/preprocessor/enum_params_with_a_default.hpp
@@ -9,8 +9,8 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_ENUM_PARAMS_WITH_A_DEFAULT_HPP
-# define BOOST_PREPROCESSOR_ENUM_PARAMS_WITH_A_DEFAULT_HPP
+# ifndef NDNBOOST_PREPROCESSOR_ENUM_PARAMS_WITH_A_DEFAULT_HPP
+# define NDNBOOST_PREPROCESSOR_ENUM_PARAMS_WITH_A_DEFAULT_HPP
 #
 # include <ndnboost/preprocessor/repetition/enum_params_with_a_default.hpp>
 #
diff --git a/include/ndnboost/preprocessor/enum_shifted_params.hpp b/include/ndnboost/preprocessor/enum_shifted_params.hpp
index cad9fda..497a22a 100644
--- a/include/ndnboost/preprocessor/enum_shifted_params.hpp
+++ b/include/ndnboost/preprocessor/enum_shifted_params.hpp
@@ -9,8 +9,8 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_ENUM_SHIFTED_PARAMS_HPP
-# define BOOST_PREPROCESSOR_ENUM_SHIFTED_PARAMS_HPP
+# ifndef NDNBOOST_PREPROCESSOR_ENUM_SHIFTED_PARAMS_HPP
+# define NDNBOOST_PREPROCESSOR_ENUM_SHIFTED_PARAMS_HPP
 #
 # include <ndnboost/preprocessor/repetition/enum_shifted_params.hpp>
 #
diff --git a/include/ndnboost/preprocessor/expr_if.hpp b/include/ndnboost/preprocessor/expr_if.hpp
index 6fedfb3..0bd3027 100644
--- a/include/ndnboost/preprocessor/expr_if.hpp
+++ b/include/ndnboost/preprocessor/expr_if.hpp
@@ -9,8 +9,8 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_EXPR_IF_HPP
-# define BOOST_PREPROCESSOR_EXPR_IF_HPP
+# ifndef NDNBOOST_PREPROCESSOR_EXPR_IF_HPP
+# define NDNBOOST_PREPROCESSOR_EXPR_IF_HPP
 #
 # include <ndnboost/preprocessor/control/expr_if.hpp>
 #
diff --git a/include/ndnboost/preprocessor/facilities/empty.hpp b/include/ndnboost/preprocessor/facilities/empty.hpp
index 46db190..e3fd3ea 100644
--- a/include/ndnboost/preprocessor/facilities/empty.hpp
+++ b/include/ndnboost/preprocessor/facilities/empty.hpp
@@ -11,11 +11,11 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_FACILITIES_EMPTY_HPP
-# define BOOST_PREPROCESSOR_FACILITIES_EMPTY_HPP
+# ifndef NDNBOOST_PREPROCESSOR_FACILITIES_EMPTY_HPP
+# define NDNBOOST_PREPROCESSOR_FACILITIES_EMPTY_HPP
 #
-# /* BOOST_PP_EMPTY */
+# /* NDNBOOST_PP_EMPTY */
 #
-# define BOOST_PP_EMPTY()
+# define NDNBOOST_PP_EMPTY()
 #
 # endif
diff --git a/include/ndnboost/preprocessor/facilities/identity.hpp b/include/ndnboost/preprocessor/facilities/identity.hpp
index 4f48d28..6e14af4 100644
--- a/include/ndnboost/preprocessor/facilities/identity.hpp
+++ b/include/ndnboost/preprocessor/facilities/identity.hpp
@@ -11,13 +11,13 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_FACILITIES_IDENTITY_HPP
-# define BOOST_PREPROCESSOR_FACILITIES_IDENTITY_HPP
+# ifndef NDNBOOST_PREPROCESSOR_FACILITIES_IDENTITY_HPP
+# define NDNBOOST_PREPROCESSOR_FACILITIES_IDENTITY_HPP
 #
 # include <ndnboost/preprocessor/facilities/empty.hpp>
 #
-# /* BOOST_PP_IDENTITY */
+# /* NDNBOOST_PP_IDENTITY */
 #
-# define BOOST_PP_IDENTITY(item) item BOOST_PP_EMPTY
+# define NDNBOOST_PP_IDENTITY(item) item NDNBOOST_PP_EMPTY
 #
 # endif
diff --git a/include/ndnboost/preprocessor/facilities/intercept.hpp b/include/ndnboost/preprocessor/facilities/intercept.hpp
index 41dcc6a..8a22566 100644
--- a/include/ndnboost/preprocessor/facilities/intercept.hpp
+++ b/include/ndnboost/preprocessor/facilities/intercept.hpp
@@ -9,269 +9,269 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_FACILITIES_INTERCEPT_HPP
-# define BOOST_PREPROCESSOR_FACILITIES_INTERCEPT_HPP
+# ifndef NDNBOOST_PREPROCESSOR_FACILITIES_INTERCEPT_HPP
+# define NDNBOOST_PREPROCESSOR_FACILITIES_INTERCEPT_HPP
 #
-# /* BOOST_PP_INTERCEPT */
+# /* NDNBOOST_PP_INTERCEPT */
 #
-# define BOOST_PP_INTERCEPT BOOST_PP_INTERCEPT_
+# define NDNBOOST_PP_INTERCEPT NDNBOOST_PP_INTERCEPT_
 #
-# define BOOST_PP_INTERCEPT_0
-# define BOOST_PP_INTERCEPT_1
-# define BOOST_PP_INTERCEPT_2
-# define BOOST_PP_INTERCEPT_3
-# define BOOST_PP_INTERCEPT_4
-# define BOOST_PP_INTERCEPT_5
-# define BOOST_PP_INTERCEPT_6
-# define BOOST_PP_INTERCEPT_7
-# define BOOST_PP_INTERCEPT_8
-# define BOOST_PP_INTERCEPT_9
-# define BOOST_PP_INTERCEPT_10
-# define BOOST_PP_INTERCEPT_11
-# define BOOST_PP_INTERCEPT_12
-# define BOOST_PP_INTERCEPT_13
-# define BOOST_PP_INTERCEPT_14
-# define BOOST_PP_INTERCEPT_15
-# define BOOST_PP_INTERCEPT_16
-# define BOOST_PP_INTERCEPT_17
-# define BOOST_PP_INTERCEPT_18
-# define BOOST_PP_INTERCEPT_19
-# define BOOST_PP_INTERCEPT_20
-# define BOOST_PP_INTERCEPT_21
-# define BOOST_PP_INTERCEPT_22
-# define BOOST_PP_INTERCEPT_23
-# define BOOST_PP_INTERCEPT_24
-# define BOOST_PP_INTERCEPT_25
-# define BOOST_PP_INTERCEPT_26
-# define BOOST_PP_INTERCEPT_27
-# define BOOST_PP_INTERCEPT_28
-# define BOOST_PP_INTERCEPT_29
-# define BOOST_PP_INTERCEPT_30
-# define BOOST_PP_INTERCEPT_31
-# define BOOST_PP_INTERCEPT_32
-# define BOOST_PP_INTERCEPT_33
-# define BOOST_PP_INTERCEPT_34
-# define BOOST_PP_INTERCEPT_35
-# define BOOST_PP_INTERCEPT_36
-# define BOOST_PP_INTERCEPT_37
-# define BOOST_PP_INTERCEPT_38
-# define BOOST_PP_INTERCEPT_39
-# define BOOST_PP_INTERCEPT_40
-# define BOOST_PP_INTERCEPT_41
-# define BOOST_PP_INTERCEPT_42
-# define BOOST_PP_INTERCEPT_43
-# define BOOST_PP_INTERCEPT_44
-# define BOOST_PP_INTERCEPT_45
-# define BOOST_PP_INTERCEPT_46
-# define BOOST_PP_INTERCEPT_47
-# define BOOST_PP_INTERCEPT_48
-# define BOOST_PP_INTERCEPT_49
-# define BOOST_PP_INTERCEPT_50
-# define BOOST_PP_INTERCEPT_51
-# define BOOST_PP_INTERCEPT_52
-# define BOOST_PP_INTERCEPT_53
-# define BOOST_PP_INTERCEPT_54
-# define BOOST_PP_INTERCEPT_55
-# define BOOST_PP_INTERCEPT_56
-# define BOOST_PP_INTERCEPT_57
-# define BOOST_PP_INTERCEPT_58
-# define BOOST_PP_INTERCEPT_59
-# define BOOST_PP_INTERCEPT_60
-# define BOOST_PP_INTERCEPT_61
-# define BOOST_PP_INTERCEPT_62
-# define BOOST_PP_INTERCEPT_63
-# define BOOST_PP_INTERCEPT_64
-# define BOOST_PP_INTERCEPT_65
-# define BOOST_PP_INTERCEPT_66
-# define BOOST_PP_INTERCEPT_67
-# define BOOST_PP_INTERCEPT_68
-# define BOOST_PP_INTERCEPT_69
-# define BOOST_PP_INTERCEPT_70
-# define BOOST_PP_INTERCEPT_71
-# define BOOST_PP_INTERCEPT_72
-# define BOOST_PP_INTERCEPT_73
-# define BOOST_PP_INTERCEPT_74
-# define BOOST_PP_INTERCEPT_75
-# define BOOST_PP_INTERCEPT_76
-# define BOOST_PP_INTERCEPT_77
-# define BOOST_PP_INTERCEPT_78
-# define BOOST_PP_INTERCEPT_79
-# define BOOST_PP_INTERCEPT_80
-# define BOOST_PP_INTERCEPT_81
-# define BOOST_PP_INTERCEPT_82
-# define BOOST_PP_INTERCEPT_83
-# define BOOST_PP_INTERCEPT_84
-# define BOOST_PP_INTERCEPT_85
-# define BOOST_PP_INTERCEPT_86
-# define BOOST_PP_INTERCEPT_87
-# define BOOST_PP_INTERCEPT_88
-# define BOOST_PP_INTERCEPT_89
-# define BOOST_PP_INTERCEPT_90
-# define BOOST_PP_INTERCEPT_91
-# define BOOST_PP_INTERCEPT_92
-# define BOOST_PP_INTERCEPT_93
-# define BOOST_PP_INTERCEPT_94
-# define BOOST_PP_INTERCEPT_95
-# define BOOST_PP_INTERCEPT_96
-# define BOOST_PP_INTERCEPT_97
-# define BOOST_PP_INTERCEPT_98
-# define BOOST_PP_INTERCEPT_99
-# define BOOST_PP_INTERCEPT_100
-# define BOOST_PP_INTERCEPT_101
-# define BOOST_PP_INTERCEPT_102
-# define BOOST_PP_INTERCEPT_103
-# define BOOST_PP_INTERCEPT_104
-# define BOOST_PP_INTERCEPT_105
-# define BOOST_PP_INTERCEPT_106
-# define BOOST_PP_INTERCEPT_107
-# define BOOST_PP_INTERCEPT_108
-# define BOOST_PP_INTERCEPT_109
-# define BOOST_PP_INTERCEPT_110
-# define BOOST_PP_INTERCEPT_111
-# define BOOST_PP_INTERCEPT_112
-# define BOOST_PP_INTERCEPT_113
-# define BOOST_PP_INTERCEPT_114
-# define BOOST_PP_INTERCEPT_115
-# define BOOST_PP_INTERCEPT_116
-# define BOOST_PP_INTERCEPT_117
-# define BOOST_PP_INTERCEPT_118
-# define BOOST_PP_INTERCEPT_119
-# define BOOST_PP_INTERCEPT_120
-# define BOOST_PP_INTERCEPT_121
-# define BOOST_PP_INTERCEPT_122
-# define BOOST_PP_INTERCEPT_123
-# define BOOST_PP_INTERCEPT_124
-# define BOOST_PP_INTERCEPT_125
-# define BOOST_PP_INTERCEPT_126
-# define BOOST_PP_INTERCEPT_127
-# define BOOST_PP_INTERCEPT_128
-# define BOOST_PP_INTERCEPT_129
-# define BOOST_PP_INTERCEPT_130
-# define BOOST_PP_INTERCEPT_131
-# define BOOST_PP_INTERCEPT_132
-# define BOOST_PP_INTERCEPT_133
-# define BOOST_PP_INTERCEPT_134
-# define BOOST_PP_INTERCEPT_135
-# define BOOST_PP_INTERCEPT_136
-# define BOOST_PP_INTERCEPT_137
-# define BOOST_PP_INTERCEPT_138
-# define BOOST_PP_INTERCEPT_139
-# define BOOST_PP_INTERCEPT_140
-# define BOOST_PP_INTERCEPT_141
-# define BOOST_PP_INTERCEPT_142
-# define BOOST_PP_INTERCEPT_143
-# define BOOST_PP_INTERCEPT_144
-# define BOOST_PP_INTERCEPT_145
-# define BOOST_PP_INTERCEPT_146
-# define BOOST_PP_INTERCEPT_147
-# define BOOST_PP_INTERCEPT_148
-# define BOOST_PP_INTERCEPT_149
-# define BOOST_PP_INTERCEPT_150
-# define BOOST_PP_INTERCEPT_151
-# define BOOST_PP_INTERCEPT_152
-# define BOOST_PP_INTERCEPT_153
-# define BOOST_PP_INTERCEPT_154
-# define BOOST_PP_INTERCEPT_155
-# define BOOST_PP_INTERCEPT_156
-# define BOOST_PP_INTERCEPT_157
-# define BOOST_PP_INTERCEPT_158
-# define BOOST_PP_INTERCEPT_159
-# define BOOST_PP_INTERCEPT_160
-# define BOOST_PP_INTERCEPT_161
-# define BOOST_PP_INTERCEPT_162
-# define BOOST_PP_INTERCEPT_163
-# define BOOST_PP_INTERCEPT_164
-# define BOOST_PP_INTERCEPT_165
-# define BOOST_PP_INTERCEPT_166
-# define BOOST_PP_INTERCEPT_167
-# define BOOST_PP_INTERCEPT_168
-# define BOOST_PP_INTERCEPT_169
-# define BOOST_PP_INTERCEPT_170
-# define BOOST_PP_INTERCEPT_171
-# define BOOST_PP_INTERCEPT_172
-# define BOOST_PP_INTERCEPT_173
-# define BOOST_PP_INTERCEPT_174
-# define BOOST_PP_INTERCEPT_175
-# define BOOST_PP_INTERCEPT_176
-# define BOOST_PP_INTERCEPT_177
-# define BOOST_PP_INTERCEPT_178
-# define BOOST_PP_INTERCEPT_179
-# define BOOST_PP_INTERCEPT_180
-# define BOOST_PP_INTERCEPT_181
-# define BOOST_PP_INTERCEPT_182
-# define BOOST_PP_INTERCEPT_183
-# define BOOST_PP_INTERCEPT_184
-# define BOOST_PP_INTERCEPT_185
-# define BOOST_PP_INTERCEPT_186
-# define BOOST_PP_INTERCEPT_187
-# define BOOST_PP_INTERCEPT_188
-# define BOOST_PP_INTERCEPT_189
-# define BOOST_PP_INTERCEPT_190
-# define BOOST_PP_INTERCEPT_191
-# define BOOST_PP_INTERCEPT_192
-# define BOOST_PP_INTERCEPT_193
-# define BOOST_PP_INTERCEPT_194
-# define BOOST_PP_INTERCEPT_195
-# define BOOST_PP_INTERCEPT_196
-# define BOOST_PP_INTERCEPT_197
-# define BOOST_PP_INTERCEPT_198
-# define BOOST_PP_INTERCEPT_199
-# define BOOST_PP_INTERCEPT_200
-# define BOOST_PP_INTERCEPT_201
-# define BOOST_PP_INTERCEPT_202
-# define BOOST_PP_INTERCEPT_203
-# define BOOST_PP_INTERCEPT_204
-# define BOOST_PP_INTERCEPT_205
-# define BOOST_PP_INTERCEPT_206
-# define BOOST_PP_INTERCEPT_207
-# define BOOST_PP_INTERCEPT_208
-# define BOOST_PP_INTERCEPT_209
-# define BOOST_PP_INTERCEPT_210
-# define BOOST_PP_INTERCEPT_211
-# define BOOST_PP_INTERCEPT_212
-# define BOOST_PP_INTERCEPT_213
-# define BOOST_PP_INTERCEPT_214
-# define BOOST_PP_INTERCEPT_215
-# define BOOST_PP_INTERCEPT_216
-# define BOOST_PP_INTERCEPT_217
-# define BOOST_PP_INTERCEPT_218
-# define BOOST_PP_INTERCEPT_219
-# define BOOST_PP_INTERCEPT_220
-# define BOOST_PP_INTERCEPT_221
-# define BOOST_PP_INTERCEPT_222
-# define BOOST_PP_INTERCEPT_223
-# define BOOST_PP_INTERCEPT_224
-# define BOOST_PP_INTERCEPT_225
-# define BOOST_PP_INTERCEPT_226
-# define BOOST_PP_INTERCEPT_227
-# define BOOST_PP_INTERCEPT_228
-# define BOOST_PP_INTERCEPT_229
-# define BOOST_PP_INTERCEPT_230
-# define BOOST_PP_INTERCEPT_231
-# define BOOST_PP_INTERCEPT_232
-# define BOOST_PP_INTERCEPT_233
-# define BOOST_PP_INTERCEPT_234
-# define BOOST_PP_INTERCEPT_235
-# define BOOST_PP_INTERCEPT_236
-# define BOOST_PP_INTERCEPT_237
-# define BOOST_PP_INTERCEPT_238
-# define BOOST_PP_INTERCEPT_239
-# define BOOST_PP_INTERCEPT_240
-# define BOOST_PP_INTERCEPT_241
-# define BOOST_PP_INTERCEPT_242
-# define BOOST_PP_INTERCEPT_243
-# define BOOST_PP_INTERCEPT_244
-# define BOOST_PP_INTERCEPT_245
-# define BOOST_PP_INTERCEPT_246
-# define BOOST_PP_INTERCEPT_247
-# define BOOST_PP_INTERCEPT_248
-# define BOOST_PP_INTERCEPT_249
-# define BOOST_PP_INTERCEPT_250
-# define BOOST_PP_INTERCEPT_251
-# define BOOST_PP_INTERCEPT_252
-# define BOOST_PP_INTERCEPT_253
-# define BOOST_PP_INTERCEPT_254
-# define BOOST_PP_INTERCEPT_255
-# define BOOST_PP_INTERCEPT_256
+# define NDNBOOST_PP_INTERCEPT_0
+# define NDNBOOST_PP_INTERCEPT_1
+# define NDNBOOST_PP_INTERCEPT_2
+# define NDNBOOST_PP_INTERCEPT_3
+# define NDNBOOST_PP_INTERCEPT_4
+# define NDNBOOST_PP_INTERCEPT_5
+# define NDNBOOST_PP_INTERCEPT_6
+# define NDNBOOST_PP_INTERCEPT_7
+# define NDNBOOST_PP_INTERCEPT_8
+# define NDNBOOST_PP_INTERCEPT_9
+# define NDNBOOST_PP_INTERCEPT_10
+# define NDNBOOST_PP_INTERCEPT_11
+# define NDNBOOST_PP_INTERCEPT_12
+# define NDNBOOST_PP_INTERCEPT_13
+# define NDNBOOST_PP_INTERCEPT_14
+# define NDNBOOST_PP_INTERCEPT_15
+# define NDNBOOST_PP_INTERCEPT_16
+# define NDNBOOST_PP_INTERCEPT_17
+# define NDNBOOST_PP_INTERCEPT_18
+# define NDNBOOST_PP_INTERCEPT_19
+# define NDNBOOST_PP_INTERCEPT_20
+# define NDNBOOST_PP_INTERCEPT_21
+# define NDNBOOST_PP_INTERCEPT_22
+# define NDNBOOST_PP_INTERCEPT_23
+# define NDNBOOST_PP_INTERCEPT_24
+# define NDNBOOST_PP_INTERCEPT_25
+# define NDNBOOST_PP_INTERCEPT_26
+# define NDNBOOST_PP_INTERCEPT_27
+# define NDNBOOST_PP_INTERCEPT_28
+# define NDNBOOST_PP_INTERCEPT_29
+# define NDNBOOST_PP_INTERCEPT_30
+# define NDNBOOST_PP_INTERCEPT_31
+# define NDNBOOST_PP_INTERCEPT_32
+# define NDNBOOST_PP_INTERCEPT_33
+# define NDNBOOST_PP_INTERCEPT_34
+# define NDNBOOST_PP_INTERCEPT_35
+# define NDNBOOST_PP_INTERCEPT_36
+# define NDNBOOST_PP_INTERCEPT_37
+# define NDNBOOST_PP_INTERCEPT_38
+# define NDNBOOST_PP_INTERCEPT_39
+# define NDNBOOST_PP_INTERCEPT_40
+# define NDNBOOST_PP_INTERCEPT_41
+# define NDNBOOST_PP_INTERCEPT_42
+# define NDNBOOST_PP_INTERCEPT_43
+# define NDNBOOST_PP_INTERCEPT_44
+# define NDNBOOST_PP_INTERCEPT_45
+# define NDNBOOST_PP_INTERCEPT_46
+# define NDNBOOST_PP_INTERCEPT_47
+# define NDNBOOST_PP_INTERCEPT_48
+# define NDNBOOST_PP_INTERCEPT_49
+# define NDNBOOST_PP_INTERCEPT_50
+# define NDNBOOST_PP_INTERCEPT_51
+# define NDNBOOST_PP_INTERCEPT_52
+# define NDNBOOST_PP_INTERCEPT_53
+# define NDNBOOST_PP_INTERCEPT_54
+# define NDNBOOST_PP_INTERCEPT_55
+# define NDNBOOST_PP_INTERCEPT_56
+# define NDNBOOST_PP_INTERCEPT_57
+# define NDNBOOST_PP_INTERCEPT_58
+# define NDNBOOST_PP_INTERCEPT_59
+# define NDNBOOST_PP_INTERCEPT_60
+# define NDNBOOST_PP_INTERCEPT_61
+# define NDNBOOST_PP_INTERCEPT_62
+# define NDNBOOST_PP_INTERCEPT_63
+# define NDNBOOST_PP_INTERCEPT_64
+# define NDNBOOST_PP_INTERCEPT_65
+# define NDNBOOST_PP_INTERCEPT_66
+# define NDNBOOST_PP_INTERCEPT_67
+# define NDNBOOST_PP_INTERCEPT_68
+# define NDNBOOST_PP_INTERCEPT_69
+# define NDNBOOST_PP_INTERCEPT_70
+# define NDNBOOST_PP_INTERCEPT_71
+# define NDNBOOST_PP_INTERCEPT_72
+# define NDNBOOST_PP_INTERCEPT_73
+# define NDNBOOST_PP_INTERCEPT_74
+# define NDNBOOST_PP_INTERCEPT_75
+# define NDNBOOST_PP_INTERCEPT_76
+# define NDNBOOST_PP_INTERCEPT_77
+# define NDNBOOST_PP_INTERCEPT_78
+# define NDNBOOST_PP_INTERCEPT_79
+# define NDNBOOST_PP_INTERCEPT_80
+# define NDNBOOST_PP_INTERCEPT_81
+# define NDNBOOST_PP_INTERCEPT_82
+# define NDNBOOST_PP_INTERCEPT_83
+# define NDNBOOST_PP_INTERCEPT_84
+# define NDNBOOST_PP_INTERCEPT_85
+# define NDNBOOST_PP_INTERCEPT_86
+# define NDNBOOST_PP_INTERCEPT_87
+# define NDNBOOST_PP_INTERCEPT_88
+# define NDNBOOST_PP_INTERCEPT_89
+# define NDNBOOST_PP_INTERCEPT_90
+# define NDNBOOST_PP_INTERCEPT_91
+# define NDNBOOST_PP_INTERCEPT_92
+# define NDNBOOST_PP_INTERCEPT_93
+# define NDNBOOST_PP_INTERCEPT_94
+# define NDNBOOST_PP_INTERCEPT_95
+# define NDNBOOST_PP_INTERCEPT_96
+# define NDNBOOST_PP_INTERCEPT_97
+# define NDNBOOST_PP_INTERCEPT_98
+# define NDNBOOST_PP_INTERCEPT_99
+# define NDNBOOST_PP_INTERCEPT_100
+# define NDNBOOST_PP_INTERCEPT_101
+# define NDNBOOST_PP_INTERCEPT_102
+# define NDNBOOST_PP_INTERCEPT_103
+# define NDNBOOST_PP_INTERCEPT_104
+# define NDNBOOST_PP_INTERCEPT_105
+# define NDNBOOST_PP_INTERCEPT_106
+# define NDNBOOST_PP_INTERCEPT_107
+# define NDNBOOST_PP_INTERCEPT_108
+# define NDNBOOST_PP_INTERCEPT_109
+# define NDNBOOST_PP_INTERCEPT_110
+# define NDNBOOST_PP_INTERCEPT_111
+# define NDNBOOST_PP_INTERCEPT_112
+# define NDNBOOST_PP_INTERCEPT_113
+# define NDNBOOST_PP_INTERCEPT_114
+# define NDNBOOST_PP_INTERCEPT_115
+# define NDNBOOST_PP_INTERCEPT_116
+# define NDNBOOST_PP_INTERCEPT_117
+# define NDNBOOST_PP_INTERCEPT_118
+# define NDNBOOST_PP_INTERCEPT_119
+# define NDNBOOST_PP_INTERCEPT_120
+# define NDNBOOST_PP_INTERCEPT_121
+# define NDNBOOST_PP_INTERCEPT_122
+# define NDNBOOST_PP_INTERCEPT_123
+# define NDNBOOST_PP_INTERCEPT_124
+# define NDNBOOST_PP_INTERCEPT_125
+# define NDNBOOST_PP_INTERCEPT_126
+# define NDNBOOST_PP_INTERCEPT_127
+# define NDNBOOST_PP_INTERCEPT_128
+# define NDNBOOST_PP_INTERCEPT_129
+# define NDNBOOST_PP_INTERCEPT_130
+# define NDNBOOST_PP_INTERCEPT_131
+# define NDNBOOST_PP_INTERCEPT_132
+# define NDNBOOST_PP_INTERCEPT_133
+# define NDNBOOST_PP_INTERCEPT_134
+# define NDNBOOST_PP_INTERCEPT_135
+# define NDNBOOST_PP_INTERCEPT_136
+# define NDNBOOST_PP_INTERCEPT_137
+# define NDNBOOST_PP_INTERCEPT_138
+# define NDNBOOST_PP_INTERCEPT_139
+# define NDNBOOST_PP_INTERCEPT_140
+# define NDNBOOST_PP_INTERCEPT_141
+# define NDNBOOST_PP_INTERCEPT_142
+# define NDNBOOST_PP_INTERCEPT_143
+# define NDNBOOST_PP_INTERCEPT_144
+# define NDNBOOST_PP_INTERCEPT_145
+# define NDNBOOST_PP_INTERCEPT_146
+# define NDNBOOST_PP_INTERCEPT_147
+# define NDNBOOST_PP_INTERCEPT_148
+# define NDNBOOST_PP_INTERCEPT_149
+# define NDNBOOST_PP_INTERCEPT_150
+# define NDNBOOST_PP_INTERCEPT_151
+# define NDNBOOST_PP_INTERCEPT_152
+# define NDNBOOST_PP_INTERCEPT_153
+# define NDNBOOST_PP_INTERCEPT_154
+# define NDNBOOST_PP_INTERCEPT_155
+# define NDNBOOST_PP_INTERCEPT_156
+# define NDNBOOST_PP_INTERCEPT_157
+# define NDNBOOST_PP_INTERCEPT_158
+# define NDNBOOST_PP_INTERCEPT_159
+# define NDNBOOST_PP_INTERCEPT_160
+# define NDNBOOST_PP_INTERCEPT_161
+# define NDNBOOST_PP_INTERCEPT_162
+# define NDNBOOST_PP_INTERCEPT_163
+# define NDNBOOST_PP_INTERCEPT_164
+# define NDNBOOST_PP_INTERCEPT_165
+# define NDNBOOST_PP_INTERCEPT_166
+# define NDNBOOST_PP_INTERCEPT_167
+# define NDNBOOST_PP_INTERCEPT_168
+# define NDNBOOST_PP_INTERCEPT_169
+# define NDNBOOST_PP_INTERCEPT_170
+# define NDNBOOST_PP_INTERCEPT_171
+# define NDNBOOST_PP_INTERCEPT_172
+# define NDNBOOST_PP_INTERCEPT_173
+# define NDNBOOST_PP_INTERCEPT_174
+# define NDNBOOST_PP_INTERCEPT_175
+# define NDNBOOST_PP_INTERCEPT_176
+# define NDNBOOST_PP_INTERCEPT_177
+# define NDNBOOST_PP_INTERCEPT_178
+# define NDNBOOST_PP_INTERCEPT_179
+# define NDNBOOST_PP_INTERCEPT_180
+# define NDNBOOST_PP_INTERCEPT_181
+# define NDNBOOST_PP_INTERCEPT_182
+# define NDNBOOST_PP_INTERCEPT_183
+# define NDNBOOST_PP_INTERCEPT_184
+# define NDNBOOST_PP_INTERCEPT_185
+# define NDNBOOST_PP_INTERCEPT_186
+# define NDNBOOST_PP_INTERCEPT_187
+# define NDNBOOST_PP_INTERCEPT_188
+# define NDNBOOST_PP_INTERCEPT_189
+# define NDNBOOST_PP_INTERCEPT_190
+# define NDNBOOST_PP_INTERCEPT_191
+# define NDNBOOST_PP_INTERCEPT_192
+# define NDNBOOST_PP_INTERCEPT_193
+# define NDNBOOST_PP_INTERCEPT_194
+# define NDNBOOST_PP_INTERCEPT_195
+# define NDNBOOST_PP_INTERCEPT_196
+# define NDNBOOST_PP_INTERCEPT_197
+# define NDNBOOST_PP_INTERCEPT_198
+# define NDNBOOST_PP_INTERCEPT_199
+# define NDNBOOST_PP_INTERCEPT_200
+# define NDNBOOST_PP_INTERCEPT_201
+# define NDNBOOST_PP_INTERCEPT_202
+# define NDNBOOST_PP_INTERCEPT_203
+# define NDNBOOST_PP_INTERCEPT_204
+# define NDNBOOST_PP_INTERCEPT_205
+# define NDNBOOST_PP_INTERCEPT_206
+# define NDNBOOST_PP_INTERCEPT_207
+# define NDNBOOST_PP_INTERCEPT_208
+# define NDNBOOST_PP_INTERCEPT_209
+# define NDNBOOST_PP_INTERCEPT_210
+# define NDNBOOST_PP_INTERCEPT_211
+# define NDNBOOST_PP_INTERCEPT_212
+# define NDNBOOST_PP_INTERCEPT_213
+# define NDNBOOST_PP_INTERCEPT_214
+# define NDNBOOST_PP_INTERCEPT_215
+# define NDNBOOST_PP_INTERCEPT_216
+# define NDNBOOST_PP_INTERCEPT_217
+# define NDNBOOST_PP_INTERCEPT_218
+# define NDNBOOST_PP_INTERCEPT_219
+# define NDNBOOST_PP_INTERCEPT_220
+# define NDNBOOST_PP_INTERCEPT_221
+# define NDNBOOST_PP_INTERCEPT_222
+# define NDNBOOST_PP_INTERCEPT_223
+# define NDNBOOST_PP_INTERCEPT_224
+# define NDNBOOST_PP_INTERCEPT_225
+# define NDNBOOST_PP_INTERCEPT_226
+# define NDNBOOST_PP_INTERCEPT_227
+# define NDNBOOST_PP_INTERCEPT_228
+# define NDNBOOST_PP_INTERCEPT_229
+# define NDNBOOST_PP_INTERCEPT_230
+# define NDNBOOST_PP_INTERCEPT_231
+# define NDNBOOST_PP_INTERCEPT_232
+# define NDNBOOST_PP_INTERCEPT_233
+# define NDNBOOST_PP_INTERCEPT_234
+# define NDNBOOST_PP_INTERCEPT_235
+# define NDNBOOST_PP_INTERCEPT_236
+# define NDNBOOST_PP_INTERCEPT_237
+# define NDNBOOST_PP_INTERCEPT_238
+# define NDNBOOST_PP_INTERCEPT_239
+# define NDNBOOST_PP_INTERCEPT_240
+# define NDNBOOST_PP_INTERCEPT_241
+# define NDNBOOST_PP_INTERCEPT_242
+# define NDNBOOST_PP_INTERCEPT_243
+# define NDNBOOST_PP_INTERCEPT_244
+# define NDNBOOST_PP_INTERCEPT_245
+# define NDNBOOST_PP_INTERCEPT_246
+# define NDNBOOST_PP_INTERCEPT_247
+# define NDNBOOST_PP_INTERCEPT_248
+# define NDNBOOST_PP_INTERCEPT_249
+# define NDNBOOST_PP_INTERCEPT_250
+# define NDNBOOST_PP_INTERCEPT_251
+# define NDNBOOST_PP_INTERCEPT_252
+# define NDNBOOST_PP_INTERCEPT_253
+# define NDNBOOST_PP_INTERCEPT_254
+# define NDNBOOST_PP_INTERCEPT_255
+# define NDNBOOST_PP_INTERCEPT_256
 #
 # endif
diff --git a/include/ndnboost/preprocessor/facilities/overload.hpp b/include/ndnboost/preprocessor/facilities/overload.hpp
index 2d26d6b..769eedd 100644
--- a/include/ndnboost/preprocessor/facilities/overload.hpp
+++ b/include/ndnboost/preprocessor/facilities/overload.hpp
@@ -10,16 +10,16 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_FACILITIES_OVERLOAD_HPP
-# define BOOST_PREPROCESSOR_FACILITIES_OVERLOAD_HPP
+# ifndef NDNBOOST_PREPROCESSOR_FACILITIES_OVERLOAD_HPP
+# define NDNBOOST_PREPROCESSOR_FACILITIES_OVERLOAD_HPP
 #
 # include <ndnboost/preprocessor/cat.hpp>
 # include <ndnboost/preprocessor/variadic/size.hpp>
 #
-# /* BOOST_PP_OVERLOAD */
+# /* NDNBOOST_PP_OVERLOAD */
 #
-# if BOOST_PP_VARIADICS
-#    define BOOST_PP_OVERLOAD(prefix, ...) BOOST_PP_CAT(prefix, BOOST_PP_VARIADIC_SIZE(__VA_ARGS__))
+# if NDNBOOST_PP_VARIADICS
+#    define NDNBOOST_PP_OVERLOAD(prefix, ...) NDNBOOST_PP_CAT(prefix, NDNBOOST_PP_VARIADIC_SIZE(__VA_ARGS__))
 # endif
 #
 # endif
diff --git a/include/ndnboost/preprocessor/identity.hpp b/include/ndnboost/preprocessor/identity.hpp
index 3101d21..e06bd58 100644
--- a/include/ndnboost/preprocessor/identity.hpp
+++ b/include/ndnboost/preprocessor/identity.hpp
@@ -9,8 +9,8 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_IDENTITY_HPP
-# define BOOST_PREPROCESSOR_IDENTITY_HPP
+# ifndef NDNBOOST_PREPROCESSOR_IDENTITY_HPP
+# define NDNBOOST_PREPROCESSOR_IDENTITY_HPP
 #
 # include <ndnboost/preprocessor/facilities/identity.hpp>
 #
diff --git a/include/ndnboost/preprocessor/if.hpp b/include/ndnboost/preprocessor/if.hpp
index a51d169..8a44ed0 100644
--- a/include/ndnboost/preprocessor/if.hpp
+++ b/include/ndnboost/preprocessor/if.hpp
@@ -9,8 +9,8 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_IF_HPP
-# define BOOST_PREPROCESSOR_IF_HPP
+# ifndef NDNBOOST_PREPROCESSOR_IF_HPP
+# define NDNBOOST_PREPROCESSOR_IF_HPP
 #
 # include <ndnboost/preprocessor/control/if.hpp>
 #
diff --git a/include/ndnboost/preprocessor/inc.hpp b/include/ndnboost/preprocessor/inc.hpp
index 143930d..c45b668 100644
--- a/include/ndnboost/preprocessor/inc.hpp
+++ b/include/ndnboost/preprocessor/inc.hpp
@@ -9,8 +9,8 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_INC_HPP
-# define BOOST_PREPROCESSOR_INC_HPP
+# ifndef NDNBOOST_PREPROCESSOR_INC_HPP
+# define NDNBOOST_PREPROCESSOR_INC_HPP
 #
 # include <ndnboost/preprocessor/arithmetic/inc.hpp>
 #
diff --git a/include/ndnboost/preprocessor/iterate.hpp b/include/ndnboost/preprocessor/iterate.hpp
index 0d2d058..10b2f37 100644
--- a/include/ndnboost/preprocessor/iterate.hpp
+++ b/include/ndnboost/preprocessor/iterate.hpp
@@ -9,8 +9,8 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_ITERATE_HPP
-# define BOOST_PREPROCESSOR_ITERATE_HPP
+# ifndef NDNBOOST_PREPROCESSOR_ITERATE_HPP
+# define NDNBOOST_PREPROCESSOR_ITERATE_HPP
 #
 # include <ndnboost/preprocessor/iteration/iterate.hpp>
 #
diff --git a/include/ndnboost/preprocessor/iteration/detail/bounds/lower1.hpp b/include/ndnboost/preprocessor/iteration/detail/bounds/lower1.hpp
index 576e070..4d7166e 100644
--- a/include/ndnboost/preprocessor/iteration/detail/bounds/lower1.hpp
+++ b/include/ndnboost/preprocessor/iteration/detail/bounds/lower1.hpp
@@ -11,89 +11,89 @@
 #
 # include <ndnboost/preprocessor/slot/detail/shared.hpp>
 #
-# undef BOOST_PP_ITERATION_START_1
+# undef NDNBOOST_PP_ITERATION_START_1
 #
-# undef BOOST_PP_ITERATION_START_1_DIGIT_1
-# undef BOOST_PP_ITERATION_START_1_DIGIT_2
-# undef BOOST_PP_ITERATION_START_1_DIGIT_3
-# undef BOOST_PP_ITERATION_START_1_DIGIT_4
-# undef BOOST_PP_ITERATION_START_1_DIGIT_5
-# undef BOOST_PP_ITERATION_START_1_DIGIT_6
-# undef BOOST_PP_ITERATION_START_1_DIGIT_7
-# undef BOOST_PP_ITERATION_START_1_DIGIT_8
-# undef BOOST_PP_ITERATION_START_1_DIGIT_9
-# undef BOOST_PP_ITERATION_START_1_DIGIT_10
+# undef NDNBOOST_PP_ITERATION_START_1_DIGIT_1
+# undef NDNBOOST_PP_ITERATION_START_1_DIGIT_2
+# undef NDNBOOST_PP_ITERATION_START_1_DIGIT_3
+# undef NDNBOOST_PP_ITERATION_START_1_DIGIT_4
+# undef NDNBOOST_PP_ITERATION_START_1_DIGIT_5
+# undef NDNBOOST_PP_ITERATION_START_1_DIGIT_6
+# undef NDNBOOST_PP_ITERATION_START_1_DIGIT_7
+# undef NDNBOOST_PP_ITERATION_START_1_DIGIT_8
+# undef NDNBOOST_PP_ITERATION_START_1_DIGIT_9
+# undef NDNBOOST_PP_ITERATION_START_1_DIGIT_10
 #
-# if BOOST_PP_SLOT_TEMP_3 == 0
-#    define BOOST_PP_ITERATION_START_1_DIGIT_3 0
-# elif BOOST_PP_SLOT_TEMP_3 == 1
-#    define BOOST_PP_ITERATION_START_1_DIGIT_3 1
-# elif BOOST_PP_SLOT_TEMP_3 == 2
-#    define BOOST_PP_ITERATION_START_1_DIGIT_3 2
-# elif BOOST_PP_SLOT_TEMP_3 == 3
-#    define BOOST_PP_ITERATION_START_1_DIGIT_3 3
-# elif BOOST_PP_SLOT_TEMP_3 == 4
-#    define BOOST_PP_ITERATION_START_1_DIGIT_3 4
-# elif BOOST_PP_SLOT_TEMP_3 == 5
-#    define BOOST_PP_ITERATION_START_1_DIGIT_3 5
-# elif BOOST_PP_SLOT_TEMP_3 == 6
-#    define BOOST_PP_ITERATION_START_1_DIGIT_3 6
-# elif BOOST_PP_SLOT_TEMP_3 == 7
-#    define BOOST_PP_ITERATION_START_1_DIGIT_3 7
-# elif BOOST_PP_SLOT_TEMP_3 == 8
-#    define BOOST_PP_ITERATION_START_1_DIGIT_3 8
-# elif BOOST_PP_SLOT_TEMP_3 == 9
-#    define BOOST_PP_ITERATION_START_1_DIGIT_3 9
+# if NDNBOOST_PP_SLOT_TEMP_3 == 0
+#    define NDNBOOST_PP_ITERATION_START_1_DIGIT_3 0
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 1
+#    define NDNBOOST_PP_ITERATION_START_1_DIGIT_3 1
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 2
+#    define NDNBOOST_PP_ITERATION_START_1_DIGIT_3 2
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 3
+#    define NDNBOOST_PP_ITERATION_START_1_DIGIT_3 3
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 4
+#    define NDNBOOST_PP_ITERATION_START_1_DIGIT_3 4
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 5
+#    define NDNBOOST_PP_ITERATION_START_1_DIGIT_3 5
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 6
+#    define NDNBOOST_PP_ITERATION_START_1_DIGIT_3 6
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 7
+#    define NDNBOOST_PP_ITERATION_START_1_DIGIT_3 7
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 8
+#    define NDNBOOST_PP_ITERATION_START_1_DIGIT_3 8
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 9
+#    define NDNBOOST_PP_ITERATION_START_1_DIGIT_3 9
 # endif
 #
-# if BOOST_PP_SLOT_TEMP_2 == 0
-#    define BOOST_PP_ITERATION_START_1_DIGIT_2 0
-# elif BOOST_PP_SLOT_TEMP_2 == 1
-#    define BOOST_PP_ITERATION_START_1_DIGIT_2 1
-# elif BOOST_PP_SLOT_TEMP_2 == 2
-#    define BOOST_PP_ITERATION_START_1_DIGIT_2 2
-# elif BOOST_PP_SLOT_TEMP_2 == 3
-#    define BOOST_PP_ITERATION_START_1_DIGIT_2 3
-# elif BOOST_PP_SLOT_TEMP_2 == 4
-#    define BOOST_PP_ITERATION_START_1_DIGIT_2 4
-# elif BOOST_PP_SLOT_TEMP_2 == 5
-#    define BOOST_PP_ITERATION_START_1_DIGIT_2 5
-# elif BOOST_PP_SLOT_TEMP_2 == 6
-#    define BOOST_PP_ITERATION_START_1_DIGIT_2 6
-# elif BOOST_PP_SLOT_TEMP_2 == 7
-#    define BOOST_PP_ITERATION_START_1_DIGIT_2 7
-# elif BOOST_PP_SLOT_TEMP_2 == 8
-#    define BOOST_PP_ITERATION_START_1_DIGIT_2 8
-# elif BOOST_PP_SLOT_TEMP_2 == 9
-#    define BOOST_PP_ITERATION_START_1_DIGIT_2 9
+# if NDNBOOST_PP_SLOT_TEMP_2 == 0
+#    define NDNBOOST_PP_ITERATION_START_1_DIGIT_2 0
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 1
+#    define NDNBOOST_PP_ITERATION_START_1_DIGIT_2 1
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 2
+#    define NDNBOOST_PP_ITERATION_START_1_DIGIT_2 2
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 3
+#    define NDNBOOST_PP_ITERATION_START_1_DIGIT_2 3
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 4
+#    define NDNBOOST_PP_ITERATION_START_1_DIGIT_2 4
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 5
+#    define NDNBOOST_PP_ITERATION_START_1_DIGIT_2 5
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 6
+#    define NDNBOOST_PP_ITERATION_START_1_DIGIT_2 6
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 7
+#    define NDNBOOST_PP_ITERATION_START_1_DIGIT_2 7
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 8
+#    define NDNBOOST_PP_ITERATION_START_1_DIGIT_2 8
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 9
+#    define NDNBOOST_PP_ITERATION_START_1_DIGIT_2 9
 # endif
 #
-# if BOOST_PP_SLOT_TEMP_1 == 0
-#    define BOOST_PP_ITERATION_START_1_DIGIT_1 0
-# elif BOOST_PP_SLOT_TEMP_1 == 1
-#    define BOOST_PP_ITERATION_START_1_DIGIT_1 1
-# elif BOOST_PP_SLOT_TEMP_1 == 2
-#    define BOOST_PP_ITERATION_START_1_DIGIT_1 2
-# elif BOOST_PP_SLOT_TEMP_1 == 3
-#    define BOOST_PP_ITERATION_START_1_DIGIT_1 3
-# elif BOOST_PP_SLOT_TEMP_1 == 4
-#    define BOOST_PP_ITERATION_START_1_DIGIT_1 4
-# elif BOOST_PP_SLOT_TEMP_1 == 5
-#    define BOOST_PP_ITERATION_START_1_DIGIT_1 5
-# elif BOOST_PP_SLOT_TEMP_1 == 6
-#    define BOOST_PP_ITERATION_START_1_DIGIT_1 6
-# elif BOOST_PP_SLOT_TEMP_1 == 7
-#    define BOOST_PP_ITERATION_START_1_DIGIT_1 7
-# elif BOOST_PP_SLOT_TEMP_1 == 8
-#    define BOOST_PP_ITERATION_START_1_DIGIT_1 8
-# elif BOOST_PP_SLOT_TEMP_1 == 9
-#    define BOOST_PP_ITERATION_START_1_DIGIT_1 9
+# if NDNBOOST_PP_SLOT_TEMP_1 == 0
+#    define NDNBOOST_PP_ITERATION_START_1_DIGIT_1 0
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 1
+#    define NDNBOOST_PP_ITERATION_START_1_DIGIT_1 1
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 2
+#    define NDNBOOST_PP_ITERATION_START_1_DIGIT_1 2
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 3
+#    define NDNBOOST_PP_ITERATION_START_1_DIGIT_1 3
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 4
+#    define NDNBOOST_PP_ITERATION_START_1_DIGIT_1 4
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 5
+#    define NDNBOOST_PP_ITERATION_START_1_DIGIT_1 5
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 6
+#    define NDNBOOST_PP_ITERATION_START_1_DIGIT_1 6
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 7
+#    define NDNBOOST_PP_ITERATION_START_1_DIGIT_1 7
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 8
+#    define NDNBOOST_PP_ITERATION_START_1_DIGIT_1 8
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 9
+#    define NDNBOOST_PP_ITERATION_START_1_DIGIT_1 9
 # endif
 #
-# if BOOST_PP_ITERATION_START_1_DIGIT_3
-#    define BOOST_PP_ITERATION_START_1 BOOST_PP_SLOT_CC_3(BOOST_PP_ITERATION_START_1_DIGIT_3, BOOST_PP_ITERATION_START_1_DIGIT_2, BOOST_PP_ITERATION_START_1_DIGIT_1)
-# elif BOOST_PP_ITERATION_START_1_DIGIT_2
-#    define BOOST_PP_ITERATION_START_1 BOOST_PP_SLOT_CC_2(BOOST_PP_ITERATION_START_1_DIGIT_2, BOOST_PP_ITERATION_START_1_DIGIT_1)
+# if NDNBOOST_PP_ITERATION_START_1_DIGIT_3
+#    define NDNBOOST_PP_ITERATION_START_1 NDNBOOST_PP_SLOT_CC_3(NDNBOOST_PP_ITERATION_START_1_DIGIT_3, NDNBOOST_PP_ITERATION_START_1_DIGIT_2, NDNBOOST_PP_ITERATION_START_1_DIGIT_1)
+# elif NDNBOOST_PP_ITERATION_START_1_DIGIT_2
+#    define NDNBOOST_PP_ITERATION_START_1 NDNBOOST_PP_SLOT_CC_2(NDNBOOST_PP_ITERATION_START_1_DIGIT_2, NDNBOOST_PP_ITERATION_START_1_DIGIT_1)
 # else
-#    define BOOST_PP_ITERATION_START_1 BOOST_PP_ITERATION_START_1_DIGIT_1
+#    define NDNBOOST_PP_ITERATION_START_1 NDNBOOST_PP_ITERATION_START_1_DIGIT_1
 # endif
diff --git a/include/ndnboost/preprocessor/iteration/detail/bounds/lower2.hpp b/include/ndnboost/preprocessor/iteration/detail/bounds/lower2.hpp
index 50c430c..379b2dd 100644
--- a/include/ndnboost/preprocessor/iteration/detail/bounds/lower2.hpp
+++ b/include/ndnboost/preprocessor/iteration/detail/bounds/lower2.hpp
@@ -11,89 +11,89 @@
 #
 # include <ndnboost/preprocessor/slot/detail/shared.hpp>
 #
-# undef BOOST_PP_ITERATION_START_2
+# undef NDNBOOST_PP_ITERATION_START_2
 #
-# undef BOOST_PP_ITERATION_START_2_DIGIT_1
-# undef BOOST_PP_ITERATION_START_2_DIGIT_2
-# undef BOOST_PP_ITERATION_START_2_DIGIT_3
-# undef BOOST_PP_ITERATION_START_2_DIGIT_4
-# undef BOOST_PP_ITERATION_START_2_DIGIT_5
-# undef BOOST_PP_ITERATION_START_2_DIGIT_6
-# undef BOOST_PP_ITERATION_START_2_DIGIT_7
-# undef BOOST_PP_ITERATION_START_2_DIGIT_8
-# undef BOOST_PP_ITERATION_START_2_DIGIT_9
-# undef BOOST_PP_ITERATION_START_2_DIGIT_10
+# undef NDNBOOST_PP_ITERATION_START_2_DIGIT_1
+# undef NDNBOOST_PP_ITERATION_START_2_DIGIT_2
+# undef NDNBOOST_PP_ITERATION_START_2_DIGIT_3
+# undef NDNBOOST_PP_ITERATION_START_2_DIGIT_4
+# undef NDNBOOST_PP_ITERATION_START_2_DIGIT_5
+# undef NDNBOOST_PP_ITERATION_START_2_DIGIT_6
+# undef NDNBOOST_PP_ITERATION_START_2_DIGIT_7
+# undef NDNBOOST_PP_ITERATION_START_2_DIGIT_8
+# undef NDNBOOST_PP_ITERATION_START_2_DIGIT_9
+# undef NDNBOOST_PP_ITERATION_START_2_DIGIT_10
 #
-# if BOOST_PP_SLOT_TEMP_3 == 0
-#    define BOOST_PP_ITERATION_START_2_DIGIT_3 0
-# elif BOOST_PP_SLOT_TEMP_3 == 1
-#    define BOOST_PP_ITERATION_START_2_DIGIT_3 1
-# elif BOOST_PP_SLOT_TEMP_3 == 2
-#    define BOOST_PP_ITERATION_START_2_DIGIT_3 2
-# elif BOOST_PP_SLOT_TEMP_3 == 3
-#    define BOOST_PP_ITERATION_START_2_DIGIT_3 3
-# elif BOOST_PP_SLOT_TEMP_3 == 4
-#    define BOOST_PP_ITERATION_START_2_DIGIT_3 4
-# elif BOOST_PP_SLOT_TEMP_3 == 5
-#    define BOOST_PP_ITERATION_START_2_DIGIT_3 5
-# elif BOOST_PP_SLOT_TEMP_3 == 6
-#    define BOOST_PP_ITERATION_START_2_DIGIT_3 6
-# elif BOOST_PP_SLOT_TEMP_3 == 7
-#    define BOOST_PP_ITERATION_START_2_DIGIT_3 7
-# elif BOOST_PP_SLOT_TEMP_3 == 8
-#    define BOOST_PP_ITERATION_START_2_DIGIT_3 8
-# elif BOOST_PP_SLOT_TEMP_3 == 9
-#    define BOOST_PP_ITERATION_START_2_DIGIT_3 9
+# if NDNBOOST_PP_SLOT_TEMP_3 == 0
+#    define NDNBOOST_PP_ITERATION_START_2_DIGIT_3 0
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 1
+#    define NDNBOOST_PP_ITERATION_START_2_DIGIT_3 1
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 2
+#    define NDNBOOST_PP_ITERATION_START_2_DIGIT_3 2
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 3
+#    define NDNBOOST_PP_ITERATION_START_2_DIGIT_3 3
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 4
+#    define NDNBOOST_PP_ITERATION_START_2_DIGIT_3 4
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 5
+#    define NDNBOOST_PP_ITERATION_START_2_DIGIT_3 5
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 6
+#    define NDNBOOST_PP_ITERATION_START_2_DIGIT_3 6
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 7
+#    define NDNBOOST_PP_ITERATION_START_2_DIGIT_3 7
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 8
+#    define NDNBOOST_PP_ITERATION_START_2_DIGIT_3 8
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 9
+#    define NDNBOOST_PP_ITERATION_START_2_DIGIT_3 9
 # endif
 #
-# if BOOST_PP_SLOT_TEMP_2 == 0
-#    define BOOST_PP_ITERATION_START_2_DIGIT_2 0
-# elif BOOST_PP_SLOT_TEMP_2 == 1
-#    define BOOST_PP_ITERATION_START_2_DIGIT_2 1
-# elif BOOST_PP_SLOT_TEMP_2 == 2
-#    define BOOST_PP_ITERATION_START_2_DIGIT_2 2
-# elif BOOST_PP_SLOT_TEMP_2 == 3
-#    define BOOST_PP_ITERATION_START_2_DIGIT_2 3
-# elif BOOST_PP_SLOT_TEMP_2 == 4
-#    define BOOST_PP_ITERATION_START_2_DIGIT_2 4
-# elif BOOST_PP_SLOT_TEMP_2 == 5
-#    define BOOST_PP_ITERATION_START_2_DIGIT_2 5
-# elif BOOST_PP_SLOT_TEMP_2 == 6
-#    define BOOST_PP_ITERATION_START_2_DIGIT_2 6
-# elif BOOST_PP_SLOT_TEMP_2 == 7
-#    define BOOST_PP_ITERATION_START_2_DIGIT_2 7
-# elif BOOST_PP_SLOT_TEMP_2 == 8
-#    define BOOST_PP_ITERATION_START_2_DIGIT_2 8
-# elif BOOST_PP_SLOT_TEMP_2 == 9
-#    define BOOST_PP_ITERATION_START_2_DIGIT_2 9
+# if NDNBOOST_PP_SLOT_TEMP_2 == 0
+#    define NDNBOOST_PP_ITERATION_START_2_DIGIT_2 0
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 1
+#    define NDNBOOST_PP_ITERATION_START_2_DIGIT_2 1
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 2
+#    define NDNBOOST_PP_ITERATION_START_2_DIGIT_2 2
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 3
+#    define NDNBOOST_PP_ITERATION_START_2_DIGIT_2 3
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 4
+#    define NDNBOOST_PP_ITERATION_START_2_DIGIT_2 4
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 5
+#    define NDNBOOST_PP_ITERATION_START_2_DIGIT_2 5
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 6
+#    define NDNBOOST_PP_ITERATION_START_2_DIGIT_2 6
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 7
+#    define NDNBOOST_PP_ITERATION_START_2_DIGIT_2 7
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 8
+#    define NDNBOOST_PP_ITERATION_START_2_DIGIT_2 8
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 9
+#    define NDNBOOST_PP_ITERATION_START_2_DIGIT_2 9
 # endif
 #
-# if BOOST_PP_SLOT_TEMP_1 == 0
-#    define BOOST_PP_ITERATION_START_2_DIGIT_1 0
-# elif BOOST_PP_SLOT_TEMP_1 == 1
-#    define BOOST_PP_ITERATION_START_2_DIGIT_1 1
-# elif BOOST_PP_SLOT_TEMP_1 == 2
-#    define BOOST_PP_ITERATION_START_2_DIGIT_1 2
-# elif BOOST_PP_SLOT_TEMP_1 == 3
-#    define BOOST_PP_ITERATION_START_2_DIGIT_1 3
-# elif BOOST_PP_SLOT_TEMP_1 == 4
-#    define BOOST_PP_ITERATION_START_2_DIGIT_1 4
-# elif BOOST_PP_SLOT_TEMP_1 == 5
-#    define BOOST_PP_ITERATION_START_2_DIGIT_1 5
-# elif BOOST_PP_SLOT_TEMP_1 == 6
-#    define BOOST_PP_ITERATION_START_2_DIGIT_1 6
-# elif BOOST_PP_SLOT_TEMP_1 == 7
-#    define BOOST_PP_ITERATION_START_2_DIGIT_1 7
-# elif BOOST_PP_SLOT_TEMP_1 == 8
-#    define BOOST_PP_ITERATION_START_2_DIGIT_1 8
-# elif BOOST_PP_SLOT_TEMP_1 == 9
-#    define BOOST_PP_ITERATION_START_2_DIGIT_1 9
+# if NDNBOOST_PP_SLOT_TEMP_1 == 0
+#    define NDNBOOST_PP_ITERATION_START_2_DIGIT_1 0
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 1
+#    define NDNBOOST_PP_ITERATION_START_2_DIGIT_1 1
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 2
+#    define NDNBOOST_PP_ITERATION_START_2_DIGIT_1 2
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 3
+#    define NDNBOOST_PP_ITERATION_START_2_DIGIT_1 3
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 4
+#    define NDNBOOST_PP_ITERATION_START_2_DIGIT_1 4
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 5
+#    define NDNBOOST_PP_ITERATION_START_2_DIGIT_1 5
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 6
+#    define NDNBOOST_PP_ITERATION_START_2_DIGIT_1 6
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 7
+#    define NDNBOOST_PP_ITERATION_START_2_DIGIT_1 7
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 8
+#    define NDNBOOST_PP_ITERATION_START_2_DIGIT_1 8
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 9
+#    define NDNBOOST_PP_ITERATION_START_2_DIGIT_1 9
 # endif
 #
-# if BOOST_PP_ITERATION_START_2_DIGIT_3
-#    define BOOST_PP_ITERATION_START_2 BOOST_PP_SLOT_CC_3(BOOST_PP_ITERATION_START_2_DIGIT_3, BOOST_PP_ITERATION_START_2_DIGIT_2, BOOST_PP_ITERATION_START_2_DIGIT_1)
-# elif BOOST_PP_ITERATION_START_2_DIGIT_2
-#    define BOOST_PP_ITERATION_START_2 BOOST_PP_SLOT_CC_2(BOOST_PP_ITERATION_START_2_DIGIT_2, BOOST_PP_ITERATION_START_2_DIGIT_1)
+# if NDNBOOST_PP_ITERATION_START_2_DIGIT_3
+#    define NDNBOOST_PP_ITERATION_START_2 NDNBOOST_PP_SLOT_CC_3(NDNBOOST_PP_ITERATION_START_2_DIGIT_3, NDNBOOST_PP_ITERATION_START_2_DIGIT_2, NDNBOOST_PP_ITERATION_START_2_DIGIT_1)
+# elif NDNBOOST_PP_ITERATION_START_2_DIGIT_2
+#    define NDNBOOST_PP_ITERATION_START_2 NDNBOOST_PP_SLOT_CC_2(NDNBOOST_PP_ITERATION_START_2_DIGIT_2, NDNBOOST_PP_ITERATION_START_2_DIGIT_1)
 # else
-#    define BOOST_PP_ITERATION_START_2 BOOST_PP_ITERATION_START_2_DIGIT_1
+#    define NDNBOOST_PP_ITERATION_START_2 NDNBOOST_PP_ITERATION_START_2_DIGIT_1
 # endif
diff --git a/include/ndnboost/preprocessor/iteration/detail/bounds/lower3.hpp b/include/ndnboost/preprocessor/iteration/detail/bounds/lower3.hpp
index f90cd0e..b4e3453 100644
--- a/include/ndnboost/preprocessor/iteration/detail/bounds/lower3.hpp
+++ b/include/ndnboost/preprocessor/iteration/detail/bounds/lower3.hpp
@@ -11,89 +11,89 @@
 #
 # include <ndnboost/preprocessor/slot/detail/shared.hpp>
 #
-# undef BOOST_PP_ITERATION_START_3
+# undef NDNBOOST_PP_ITERATION_START_3
 #
-# undef BOOST_PP_ITERATION_START_3_DIGIT_1
-# undef BOOST_PP_ITERATION_START_3_DIGIT_2
-# undef BOOST_PP_ITERATION_START_3_DIGIT_3
-# undef BOOST_PP_ITERATION_START_3_DIGIT_4
-# undef BOOST_PP_ITERATION_START_3_DIGIT_5
-# undef BOOST_PP_ITERATION_START_3_DIGIT_6
-# undef BOOST_PP_ITERATION_START_3_DIGIT_7
-# undef BOOST_PP_ITERATION_START_3_DIGIT_8
-# undef BOOST_PP_ITERATION_START_3_DIGIT_9
-# undef BOOST_PP_ITERATION_START_3_DIGIT_10
+# undef NDNBOOST_PP_ITERATION_START_3_DIGIT_1
+# undef NDNBOOST_PP_ITERATION_START_3_DIGIT_2
+# undef NDNBOOST_PP_ITERATION_START_3_DIGIT_3
+# undef NDNBOOST_PP_ITERATION_START_3_DIGIT_4
+# undef NDNBOOST_PP_ITERATION_START_3_DIGIT_5
+# undef NDNBOOST_PP_ITERATION_START_3_DIGIT_6
+# undef NDNBOOST_PP_ITERATION_START_3_DIGIT_7
+# undef NDNBOOST_PP_ITERATION_START_3_DIGIT_8
+# undef NDNBOOST_PP_ITERATION_START_3_DIGIT_9
+# undef NDNBOOST_PP_ITERATION_START_3_DIGIT_10
 #
-# if BOOST_PP_SLOT_TEMP_3 == 0
-#    define BOOST_PP_ITERATION_START_3_DIGIT_3 0
-# elif BOOST_PP_SLOT_TEMP_3 == 1
-#    define BOOST_PP_ITERATION_START_3_DIGIT_3 1
-# elif BOOST_PP_SLOT_TEMP_3 == 2
-#    define BOOST_PP_ITERATION_START_3_DIGIT_3 2
-# elif BOOST_PP_SLOT_TEMP_3 == 3
-#    define BOOST_PP_ITERATION_START_3_DIGIT_3 3
-# elif BOOST_PP_SLOT_TEMP_3 == 4
-#    define BOOST_PP_ITERATION_START_3_DIGIT_3 4
-# elif BOOST_PP_SLOT_TEMP_3 == 5
-#    define BOOST_PP_ITERATION_START_3_DIGIT_3 5
-# elif BOOST_PP_SLOT_TEMP_3 == 6
-#    define BOOST_PP_ITERATION_START_3_DIGIT_3 6
-# elif BOOST_PP_SLOT_TEMP_3 == 7
-#    define BOOST_PP_ITERATION_START_3_DIGIT_3 7
-# elif BOOST_PP_SLOT_TEMP_3 == 8
-#    define BOOST_PP_ITERATION_START_3_DIGIT_3 8
-# elif BOOST_PP_SLOT_TEMP_3 == 9
-#    define BOOST_PP_ITERATION_START_3_DIGIT_3 9
+# if NDNBOOST_PP_SLOT_TEMP_3 == 0
+#    define NDNBOOST_PP_ITERATION_START_3_DIGIT_3 0
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 1
+#    define NDNBOOST_PP_ITERATION_START_3_DIGIT_3 1
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 2
+#    define NDNBOOST_PP_ITERATION_START_3_DIGIT_3 2
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 3
+#    define NDNBOOST_PP_ITERATION_START_3_DIGIT_3 3
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 4
+#    define NDNBOOST_PP_ITERATION_START_3_DIGIT_3 4
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 5
+#    define NDNBOOST_PP_ITERATION_START_3_DIGIT_3 5
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 6
+#    define NDNBOOST_PP_ITERATION_START_3_DIGIT_3 6
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 7
+#    define NDNBOOST_PP_ITERATION_START_3_DIGIT_3 7
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 8
+#    define NDNBOOST_PP_ITERATION_START_3_DIGIT_3 8
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 9
+#    define NDNBOOST_PP_ITERATION_START_3_DIGIT_3 9
 # endif
 #
-# if BOOST_PP_SLOT_TEMP_2 == 0
-#    define BOOST_PP_ITERATION_START_3_DIGIT_2 0
-# elif BOOST_PP_SLOT_TEMP_2 == 1
-#    define BOOST_PP_ITERATION_START_3_DIGIT_2 1
-# elif BOOST_PP_SLOT_TEMP_2 == 2
-#    define BOOST_PP_ITERATION_START_3_DIGIT_2 2
-# elif BOOST_PP_SLOT_TEMP_2 == 3
-#    define BOOST_PP_ITERATION_START_3_DIGIT_2 3
-# elif BOOST_PP_SLOT_TEMP_2 == 4
-#    define BOOST_PP_ITERATION_START_3_DIGIT_2 4
-# elif BOOST_PP_SLOT_TEMP_2 == 5
-#    define BOOST_PP_ITERATION_START_3_DIGIT_2 5
-# elif BOOST_PP_SLOT_TEMP_2 == 6
-#    define BOOST_PP_ITERATION_START_3_DIGIT_2 6
-# elif BOOST_PP_SLOT_TEMP_2 == 7
-#    define BOOST_PP_ITERATION_START_3_DIGIT_2 7
-# elif BOOST_PP_SLOT_TEMP_2 == 8
-#    define BOOST_PP_ITERATION_START_3_DIGIT_2 8
-# elif BOOST_PP_SLOT_TEMP_2 == 9
-#    define BOOST_PP_ITERATION_START_3_DIGIT_2 9
+# if NDNBOOST_PP_SLOT_TEMP_2 == 0
+#    define NDNBOOST_PP_ITERATION_START_3_DIGIT_2 0
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 1
+#    define NDNBOOST_PP_ITERATION_START_3_DIGIT_2 1
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 2
+#    define NDNBOOST_PP_ITERATION_START_3_DIGIT_2 2
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 3
+#    define NDNBOOST_PP_ITERATION_START_3_DIGIT_2 3
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 4
+#    define NDNBOOST_PP_ITERATION_START_3_DIGIT_2 4
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 5
+#    define NDNBOOST_PP_ITERATION_START_3_DIGIT_2 5
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 6
+#    define NDNBOOST_PP_ITERATION_START_3_DIGIT_2 6
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 7
+#    define NDNBOOST_PP_ITERATION_START_3_DIGIT_2 7
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 8
+#    define NDNBOOST_PP_ITERATION_START_3_DIGIT_2 8
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 9
+#    define NDNBOOST_PP_ITERATION_START_3_DIGIT_2 9
 # endif
 #
-# if BOOST_PP_SLOT_TEMP_1 == 0
-#    define BOOST_PP_ITERATION_START_3_DIGIT_1 0
-# elif BOOST_PP_SLOT_TEMP_1 == 1
-#    define BOOST_PP_ITERATION_START_3_DIGIT_1 1
-# elif BOOST_PP_SLOT_TEMP_1 == 2
-#    define BOOST_PP_ITERATION_START_3_DIGIT_1 2
-# elif BOOST_PP_SLOT_TEMP_1 == 3
-#    define BOOST_PP_ITERATION_START_3_DIGIT_1 3
-# elif BOOST_PP_SLOT_TEMP_1 == 4
-#    define BOOST_PP_ITERATION_START_3_DIGIT_1 4
-# elif BOOST_PP_SLOT_TEMP_1 == 5
-#    define BOOST_PP_ITERATION_START_3_DIGIT_1 5
-# elif BOOST_PP_SLOT_TEMP_1 == 6
-#    define BOOST_PP_ITERATION_START_3_DIGIT_1 6
-# elif BOOST_PP_SLOT_TEMP_1 == 7
-#    define BOOST_PP_ITERATION_START_3_DIGIT_1 7
-# elif BOOST_PP_SLOT_TEMP_1 == 8
-#    define BOOST_PP_ITERATION_START_3_DIGIT_1 8
-# elif BOOST_PP_SLOT_TEMP_1 == 9
-#    define BOOST_PP_ITERATION_START_3_DIGIT_1 9
+# if NDNBOOST_PP_SLOT_TEMP_1 == 0
+#    define NDNBOOST_PP_ITERATION_START_3_DIGIT_1 0
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 1
+#    define NDNBOOST_PP_ITERATION_START_3_DIGIT_1 1
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 2
+#    define NDNBOOST_PP_ITERATION_START_3_DIGIT_1 2
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 3
+#    define NDNBOOST_PP_ITERATION_START_3_DIGIT_1 3
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 4
+#    define NDNBOOST_PP_ITERATION_START_3_DIGIT_1 4
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 5
+#    define NDNBOOST_PP_ITERATION_START_3_DIGIT_1 5
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 6
+#    define NDNBOOST_PP_ITERATION_START_3_DIGIT_1 6
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 7
+#    define NDNBOOST_PP_ITERATION_START_3_DIGIT_1 7
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 8
+#    define NDNBOOST_PP_ITERATION_START_3_DIGIT_1 8
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 9
+#    define NDNBOOST_PP_ITERATION_START_3_DIGIT_1 9
 # endif
 #
-# if BOOST_PP_ITERATION_START_3_DIGIT_3
-#    define BOOST_PP_ITERATION_START_3 BOOST_PP_SLOT_CC_3(BOOST_PP_ITERATION_START_3_DIGIT_3, BOOST_PP_ITERATION_START_3_DIGIT_2, BOOST_PP_ITERATION_START_3_DIGIT_1)
-# elif BOOST_PP_ITERATION_START_3_DIGIT_2
-#    define BOOST_PP_ITERATION_START_3 BOOST_PP_SLOT_CC_2(BOOST_PP_ITERATION_START_3_DIGIT_2, BOOST_PP_ITERATION_START_3_DIGIT_1)
+# if NDNBOOST_PP_ITERATION_START_3_DIGIT_3
+#    define NDNBOOST_PP_ITERATION_START_3 NDNBOOST_PP_SLOT_CC_3(NDNBOOST_PP_ITERATION_START_3_DIGIT_3, NDNBOOST_PP_ITERATION_START_3_DIGIT_2, NDNBOOST_PP_ITERATION_START_3_DIGIT_1)
+# elif NDNBOOST_PP_ITERATION_START_3_DIGIT_2
+#    define NDNBOOST_PP_ITERATION_START_3 NDNBOOST_PP_SLOT_CC_2(NDNBOOST_PP_ITERATION_START_3_DIGIT_2, NDNBOOST_PP_ITERATION_START_3_DIGIT_1)
 # else
-#    define BOOST_PP_ITERATION_START_3 BOOST_PP_ITERATION_START_3_DIGIT_1
+#    define NDNBOOST_PP_ITERATION_START_3 NDNBOOST_PP_ITERATION_START_3_DIGIT_1
 # endif
diff --git a/include/ndnboost/preprocessor/iteration/detail/bounds/lower4.hpp b/include/ndnboost/preprocessor/iteration/detail/bounds/lower4.hpp
index 4617e5c..4ecd799 100644
--- a/include/ndnboost/preprocessor/iteration/detail/bounds/lower4.hpp
+++ b/include/ndnboost/preprocessor/iteration/detail/bounds/lower4.hpp
@@ -11,89 +11,89 @@
 #
 # include <ndnboost/preprocessor/slot/detail/shared.hpp>
 #
-# undef BOOST_PP_ITERATION_START_4
+# undef NDNBOOST_PP_ITERATION_START_4
 #
-# undef BOOST_PP_ITERATION_START_4_DIGIT_1
-# undef BOOST_PP_ITERATION_START_4_DIGIT_2
-# undef BOOST_PP_ITERATION_START_4_DIGIT_3
-# undef BOOST_PP_ITERATION_START_4_DIGIT_4
-# undef BOOST_PP_ITERATION_START_4_DIGIT_5
-# undef BOOST_PP_ITERATION_START_4_DIGIT_6
-# undef BOOST_PP_ITERATION_START_4_DIGIT_7
-# undef BOOST_PP_ITERATION_START_4_DIGIT_8
-# undef BOOST_PP_ITERATION_START_4_DIGIT_9
-# undef BOOST_PP_ITERATION_START_4_DIGIT_10
+# undef NDNBOOST_PP_ITERATION_START_4_DIGIT_1
+# undef NDNBOOST_PP_ITERATION_START_4_DIGIT_2
+# undef NDNBOOST_PP_ITERATION_START_4_DIGIT_3
+# undef NDNBOOST_PP_ITERATION_START_4_DIGIT_4
+# undef NDNBOOST_PP_ITERATION_START_4_DIGIT_5
+# undef NDNBOOST_PP_ITERATION_START_4_DIGIT_6
+# undef NDNBOOST_PP_ITERATION_START_4_DIGIT_7
+# undef NDNBOOST_PP_ITERATION_START_4_DIGIT_8
+# undef NDNBOOST_PP_ITERATION_START_4_DIGIT_9
+# undef NDNBOOST_PP_ITERATION_START_4_DIGIT_10
 #
-# if BOOST_PP_SLOT_TEMP_3 == 0
-#    define BOOST_PP_ITERATION_START_4_DIGIT_3 0
-# elif BOOST_PP_SLOT_TEMP_3 == 1
-#    define BOOST_PP_ITERATION_START_4_DIGIT_3 1
-# elif BOOST_PP_SLOT_TEMP_3 == 2
-#    define BOOST_PP_ITERATION_START_4_DIGIT_3 2
-# elif BOOST_PP_SLOT_TEMP_3 == 3
-#    define BOOST_PP_ITERATION_START_4_DIGIT_3 3
-# elif BOOST_PP_SLOT_TEMP_3 == 4
-#    define BOOST_PP_ITERATION_START_4_DIGIT_3 4
-# elif BOOST_PP_SLOT_TEMP_3 == 5
-#    define BOOST_PP_ITERATION_START_4_DIGIT_3 5
-# elif BOOST_PP_SLOT_TEMP_3 == 6
-#    define BOOST_PP_ITERATION_START_4_DIGIT_3 6
-# elif BOOST_PP_SLOT_TEMP_3 == 7
-#    define BOOST_PP_ITERATION_START_4_DIGIT_3 7
-# elif BOOST_PP_SLOT_TEMP_3 == 8
-#    define BOOST_PP_ITERATION_START_4_DIGIT_3 8
-# elif BOOST_PP_SLOT_TEMP_3 == 9
-#    define BOOST_PP_ITERATION_START_4_DIGIT_3 9
+# if NDNBOOST_PP_SLOT_TEMP_3 == 0
+#    define NDNBOOST_PP_ITERATION_START_4_DIGIT_3 0
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 1
+#    define NDNBOOST_PP_ITERATION_START_4_DIGIT_3 1
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 2
+#    define NDNBOOST_PP_ITERATION_START_4_DIGIT_3 2
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 3
+#    define NDNBOOST_PP_ITERATION_START_4_DIGIT_3 3
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 4
+#    define NDNBOOST_PP_ITERATION_START_4_DIGIT_3 4
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 5
+#    define NDNBOOST_PP_ITERATION_START_4_DIGIT_3 5
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 6
+#    define NDNBOOST_PP_ITERATION_START_4_DIGIT_3 6
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 7
+#    define NDNBOOST_PP_ITERATION_START_4_DIGIT_3 7
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 8
+#    define NDNBOOST_PP_ITERATION_START_4_DIGIT_3 8
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 9
+#    define NDNBOOST_PP_ITERATION_START_4_DIGIT_3 9
 # endif
 #
-# if BOOST_PP_SLOT_TEMP_2 == 0
-#    define BOOST_PP_ITERATION_START_4_DIGIT_2 0
-# elif BOOST_PP_SLOT_TEMP_2 == 1
-#    define BOOST_PP_ITERATION_START_4_DIGIT_2 1
-# elif BOOST_PP_SLOT_TEMP_2 == 2
-#    define BOOST_PP_ITERATION_START_4_DIGIT_2 2
-# elif BOOST_PP_SLOT_TEMP_2 == 3
-#    define BOOST_PP_ITERATION_START_4_DIGIT_2 3
-# elif BOOST_PP_SLOT_TEMP_2 == 4
-#    define BOOST_PP_ITERATION_START_4_DIGIT_2 4
-# elif BOOST_PP_SLOT_TEMP_2 == 5
-#    define BOOST_PP_ITERATION_START_4_DIGIT_2 5
-# elif BOOST_PP_SLOT_TEMP_2 == 6
-#    define BOOST_PP_ITERATION_START_4_DIGIT_2 6
-# elif BOOST_PP_SLOT_TEMP_2 == 7
-#    define BOOST_PP_ITERATION_START_4_DIGIT_2 7
-# elif BOOST_PP_SLOT_TEMP_2 == 8
-#    define BOOST_PP_ITERATION_START_4_DIGIT_2 8
-# elif BOOST_PP_SLOT_TEMP_2 == 9
-#    define BOOST_PP_ITERATION_START_4_DIGIT_2 9
+# if NDNBOOST_PP_SLOT_TEMP_2 == 0
+#    define NDNBOOST_PP_ITERATION_START_4_DIGIT_2 0
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 1
+#    define NDNBOOST_PP_ITERATION_START_4_DIGIT_2 1
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 2
+#    define NDNBOOST_PP_ITERATION_START_4_DIGIT_2 2
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 3
+#    define NDNBOOST_PP_ITERATION_START_4_DIGIT_2 3
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 4
+#    define NDNBOOST_PP_ITERATION_START_4_DIGIT_2 4
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 5
+#    define NDNBOOST_PP_ITERATION_START_4_DIGIT_2 5
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 6
+#    define NDNBOOST_PP_ITERATION_START_4_DIGIT_2 6
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 7
+#    define NDNBOOST_PP_ITERATION_START_4_DIGIT_2 7
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 8
+#    define NDNBOOST_PP_ITERATION_START_4_DIGIT_2 8
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 9
+#    define NDNBOOST_PP_ITERATION_START_4_DIGIT_2 9
 # endif
 #
-# if BOOST_PP_SLOT_TEMP_1 == 0
-#    define BOOST_PP_ITERATION_START_4_DIGIT_1 0
-# elif BOOST_PP_SLOT_TEMP_1 == 1
-#    define BOOST_PP_ITERATION_START_4_DIGIT_1 1
-# elif BOOST_PP_SLOT_TEMP_1 == 2
-#    define BOOST_PP_ITERATION_START_4_DIGIT_1 2
-# elif BOOST_PP_SLOT_TEMP_1 == 3
-#    define BOOST_PP_ITERATION_START_4_DIGIT_1 3
-# elif BOOST_PP_SLOT_TEMP_1 == 4
-#    define BOOST_PP_ITERATION_START_4_DIGIT_1 4
-# elif BOOST_PP_SLOT_TEMP_1 == 5
-#    define BOOST_PP_ITERATION_START_4_DIGIT_1 5
-# elif BOOST_PP_SLOT_TEMP_1 == 6
-#    define BOOST_PP_ITERATION_START_4_DIGIT_1 6
-# elif BOOST_PP_SLOT_TEMP_1 == 7
-#    define BOOST_PP_ITERATION_START_4_DIGIT_1 7
-# elif BOOST_PP_SLOT_TEMP_1 == 8
-#    define BOOST_PP_ITERATION_START_4_DIGIT_1 8
-# elif BOOST_PP_SLOT_TEMP_1 == 9
-#    define BOOST_PP_ITERATION_START_4_DIGIT_1 9
+# if NDNBOOST_PP_SLOT_TEMP_1 == 0
+#    define NDNBOOST_PP_ITERATION_START_4_DIGIT_1 0
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 1
+#    define NDNBOOST_PP_ITERATION_START_4_DIGIT_1 1
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 2
+#    define NDNBOOST_PP_ITERATION_START_4_DIGIT_1 2
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 3
+#    define NDNBOOST_PP_ITERATION_START_4_DIGIT_1 3
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 4
+#    define NDNBOOST_PP_ITERATION_START_4_DIGIT_1 4
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 5
+#    define NDNBOOST_PP_ITERATION_START_4_DIGIT_1 5
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 6
+#    define NDNBOOST_PP_ITERATION_START_4_DIGIT_1 6
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 7
+#    define NDNBOOST_PP_ITERATION_START_4_DIGIT_1 7
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 8
+#    define NDNBOOST_PP_ITERATION_START_4_DIGIT_1 8
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 9
+#    define NDNBOOST_PP_ITERATION_START_4_DIGIT_1 9
 # endif
 #
-# if BOOST_PP_ITERATION_START_4_DIGIT_3
-#    define BOOST_PP_ITERATION_START_4 BOOST_PP_SLOT_CC_3(BOOST_PP_ITERATION_START_4_DIGIT_3, BOOST_PP_ITERATION_START_4_DIGIT_2, BOOST_PP_ITERATION_START_4_DIGIT_1)
-# elif BOOST_PP_ITERATION_START_4_DIGIT_2
-#    define BOOST_PP_ITERATION_START_4 BOOST_PP_SLOT_CC_2(BOOST_PP_ITERATION_START_4_DIGIT_2, BOOST_PP_ITERATION_START_4_DIGIT_1)
+# if NDNBOOST_PP_ITERATION_START_4_DIGIT_3
+#    define NDNBOOST_PP_ITERATION_START_4 NDNBOOST_PP_SLOT_CC_3(NDNBOOST_PP_ITERATION_START_4_DIGIT_3, NDNBOOST_PP_ITERATION_START_4_DIGIT_2, NDNBOOST_PP_ITERATION_START_4_DIGIT_1)
+# elif NDNBOOST_PP_ITERATION_START_4_DIGIT_2
+#    define NDNBOOST_PP_ITERATION_START_4 NDNBOOST_PP_SLOT_CC_2(NDNBOOST_PP_ITERATION_START_4_DIGIT_2, NDNBOOST_PP_ITERATION_START_4_DIGIT_1)
 # else
-#    define BOOST_PP_ITERATION_START_4 BOOST_PP_ITERATION_START_4_DIGIT_1
+#    define NDNBOOST_PP_ITERATION_START_4 NDNBOOST_PP_ITERATION_START_4_DIGIT_1
 # endif
diff --git a/include/ndnboost/preprocessor/iteration/detail/bounds/lower5.hpp b/include/ndnboost/preprocessor/iteration/detail/bounds/lower5.hpp
index b7ae8d6..120c539 100644
--- a/include/ndnboost/preprocessor/iteration/detail/bounds/lower5.hpp
+++ b/include/ndnboost/preprocessor/iteration/detail/bounds/lower5.hpp
@@ -11,89 +11,89 @@
 #
 # include <ndnboost/preprocessor/slot/detail/shared.hpp>
 #
-# undef BOOST_PP_ITERATION_START_5
+# undef NDNBOOST_PP_ITERATION_START_5
 #
-# undef BOOST_PP_ITERATION_START_5_DIGIT_1
-# undef BOOST_PP_ITERATION_START_5_DIGIT_2
-# undef BOOST_PP_ITERATION_START_5_DIGIT_3
-# undef BOOST_PP_ITERATION_START_5_DIGIT_4
-# undef BOOST_PP_ITERATION_START_5_DIGIT_5
-# undef BOOST_PP_ITERATION_START_5_DIGIT_6
-# undef BOOST_PP_ITERATION_START_5_DIGIT_7
-# undef BOOST_PP_ITERATION_START_5_DIGIT_8
-# undef BOOST_PP_ITERATION_START_5_DIGIT_9
-# undef BOOST_PP_ITERATION_START_5_DIGIT_10
+# undef NDNBOOST_PP_ITERATION_START_5_DIGIT_1
+# undef NDNBOOST_PP_ITERATION_START_5_DIGIT_2
+# undef NDNBOOST_PP_ITERATION_START_5_DIGIT_3
+# undef NDNBOOST_PP_ITERATION_START_5_DIGIT_4
+# undef NDNBOOST_PP_ITERATION_START_5_DIGIT_5
+# undef NDNBOOST_PP_ITERATION_START_5_DIGIT_6
+# undef NDNBOOST_PP_ITERATION_START_5_DIGIT_7
+# undef NDNBOOST_PP_ITERATION_START_5_DIGIT_8
+# undef NDNBOOST_PP_ITERATION_START_5_DIGIT_9
+# undef NDNBOOST_PP_ITERATION_START_5_DIGIT_10
 #
-# if BOOST_PP_SLOT_TEMP_3 == 0
-#    define BOOST_PP_ITERATION_START_5_DIGIT_3 0
-# elif BOOST_PP_SLOT_TEMP_3 == 1
-#    define BOOST_PP_ITERATION_START_5_DIGIT_3 1
-# elif BOOST_PP_SLOT_TEMP_3 == 2
-#    define BOOST_PP_ITERATION_START_5_DIGIT_3 2
-# elif BOOST_PP_SLOT_TEMP_3 == 3
-#    define BOOST_PP_ITERATION_START_5_DIGIT_3 3
-# elif BOOST_PP_SLOT_TEMP_3 == 4
-#    define BOOST_PP_ITERATION_START_5_DIGIT_3 4
-# elif BOOST_PP_SLOT_TEMP_3 == 5
-#    define BOOST_PP_ITERATION_START_5_DIGIT_3 5
-# elif BOOST_PP_SLOT_TEMP_3 == 6
-#    define BOOST_PP_ITERATION_START_5_DIGIT_3 6
-# elif BOOST_PP_SLOT_TEMP_3 == 7
-#    define BOOST_PP_ITERATION_START_5_DIGIT_3 7
-# elif BOOST_PP_SLOT_TEMP_3 == 8
-#    define BOOST_PP_ITERATION_START_5_DIGIT_3 8
-# elif BOOST_PP_SLOT_TEMP_3 == 9
-#    define BOOST_PP_ITERATION_START_5_DIGIT_3 9
+# if NDNBOOST_PP_SLOT_TEMP_3 == 0
+#    define NDNBOOST_PP_ITERATION_START_5_DIGIT_3 0
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 1
+#    define NDNBOOST_PP_ITERATION_START_5_DIGIT_3 1
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 2
+#    define NDNBOOST_PP_ITERATION_START_5_DIGIT_3 2
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 3
+#    define NDNBOOST_PP_ITERATION_START_5_DIGIT_3 3
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 4
+#    define NDNBOOST_PP_ITERATION_START_5_DIGIT_3 4
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 5
+#    define NDNBOOST_PP_ITERATION_START_5_DIGIT_3 5
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 6
+#    define NDNBOOST_PP_ITERATION_START_5_DIGIT_3 6
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 7
+#    define NDNBOOST_PP_ITERATION_START_5_DIGIT_3 7
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 8
+#    define NDNBOOST_PP_ITERATION_START_5_DIGIT_3 8
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 9
+#    define NDNBOOST_PP_ITERATION_START_5_DIGIT_3 9
 # endif
 #
-# if BOOST_PP_SLOT_TEMP_2 == 0
-#    define BOOST_PP_ITERATION_START_5_DIGIT_2 0
-# elif BOOST_PP_SLOT_TEMP_2 == 1
-#    define BOOST_PP_ITERATION_START_5_DIGIT_2 1
-# elif BOOST_PP_SLOT_TEMP_2 == 2
-#    define BOOST_PP_ITERATION_START_5_DIGIT_2 2
-# elif BOOST_PP_SLOT_TEMP_2 == 3
-#    define BOOST_PP_ITERATION_START_5_DIGIT_2 3
-# elif BOOST_PP_SLOT_TEMP_2 == 4
-#    define BOOST_PP_ITERATION_START_5_DIGIT_2 4
-# elif BOOST_PP_SLOT_TEMP_2 == 5
-#    define BOOST_PP_ITERATION_START_5_DIGIT_2 5
-# elif BOOST_PP_SLOT_TEMP_2 == 6
-#    define BOOST_PP_ITERATION_START_5_DIGIT_2 6
-# elif BOOST_PP_SLOT_TEMP_2 == 7
-#    define BOOST_PP_ITERATION_START_5_DIGIT_2 7
-# elif BOOST_PP_SLOT_TEMP_2 == 8
-#    define BOOST_PP_ITERATION_START_5_DIGIT_2 8
-# elif BOOST_PP_SLOT_TEMP_2 == 9
-#    define BOOST_PP_ITERATION_START_5_DIGIT_2 9
+# if NDNBOOST_PP_SLOT_TEMP_2 == 0
+#    define NDNBOOST_PP_ITERATION_START_5_DIGIT_2 0
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 1
+#    define NDNBOOST_PP_ITERATION_START_5_DIGIT_2 1
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 2
+#    define NDNBOOST_PP_ITERATION_START_5_DIGIT_2 2
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 3
+#    define NDNBOOST_PP_ITERATION_START_5_DIGIT_2 3
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 4
+#    define NDNBOOST_PP_ITERATION_START_5_DIGIT_2 4
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 5
+#    define NDNBOOST_PP_ITERATION_START_5_DIGIT_2 5
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 6
+#    define NDNBOOST_PP_ITERATION_START_5_DIGIT_2 6
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 7
+#    define NDNBOOST_PP_ITERATION_START_5_DIGIT_2 7
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 8
+#    define NDNBOOST_PP_ITERATION_START_5_DIGIT_2 8
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 9
+#    define NDNBOOST_PP_ITERATION_START_5_DIGIT_2 9
 # endif
 #
-# if BOOST_PP_SLOT_TEMP_1 == 0
-#    define BOOST_PP_ITERATION_START_5_DIGIT_1 0
-# elif BOOST_PP_SLOT_TEMP_1 == 1
-#    define BOOST_PP_ITERATION_START_5_DIGIT_1 1
-# elif BOOST_PP_SLOT_TEMP_1 == 2
-#    define BOOST_PP_ITERATION_START_5_DIGIT_1 2
-# elif BOOST_PP_SLOT_TEMP_1 == 3
-#    define BOOST_PP_ITERATION_START_5_DIGIT_1 3
-# elif BOOST_PP_SLOT_TEMP_1 == 4
-#    define BOOST_PP_ITERATION_START_5_DIGIT_1 4
-# elif BOOST_PP_SLOT_TEMP_1 == 5
-#    define BOOST_PP_ITERATION_START_5_DIGIT_1 5
-# elif BOOST_PP_SLOT_TEMP_1 == 6
-#    define BOOST_PP_ITERATION_START_5_DIGIT_1 6
-# elif BOOST_PP_SLOT_TEMP_1 == 7
-#    define BOOST_PP_ITERATION_START_5_DIGIT_1 7
-# elif BOOST_PP_SLOT_TEMP_1 == 8
-#    define BOOST_PP_ITERATION_START_5_DIGIT_1 8
-# elif BOOST_PP_SLOT_TEMP_1 == 9
-#    define BOOST_PP_ITERATION_START_5_DIGIT_1 9
+# if NDNBOOST_PP_SLOT_TEMP_1 == 0
+#    define NDNBOOST_PP_ITERATION_START_5_DIGIT_1 0
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 1
+#    define NDNBOOST_PP_ITERATION_START_5_DIGIT_1 1
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 2
+#    define NDNBOOST_PP_ITERATION_START_5_DIGIT_1 2
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 3
+#    define NDNBOOST_PP_ITERATION_START_5_DIGIT_1 3
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 4
+#    define NDNBOOST_PP_ITERATION_START_5_DIGIT_1 4
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 5
+#    define NDNBOOST_PP_ITERATION_START_5_DIGIT_1 5
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 6
+#    define NDNBOOST_PP_ITERATION_START_5_DIGIT_1 6
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 7
+#    define NDNBOOST_PP_ITERATION_START_5_DIGIT_1 7
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 8
+#    define NDNBOOST_PP_ITERATION_START_5_DIGIT_1 8
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 9
+#    define NDNBOOST_PP_ITERATION_START_5_DIGIT_1 9
 # endif
 #
-# if BOOST_PP_ITERATION_START_5_DIGIT_3
-#    define BOOST_PP_ITERATION_START_5 BOOST_PP_SLOT_CC_3(BOOST_PP_ITERATION_START_5_DIGIT_3, BOOST_PP_ITERATION_START_5_DIGIT_2, BOOST_PP_ITERATION_START_5_DIGIT_1)
-# elif BOOST_PP_ITERATION_START_5_DIGIT_2
-#    define BOOST_PP_ITERATION_START_5 BOOST_PP_SLOT_CC_2(BOOST_PP_ITERATION_START_5_DIGIT_2, BOOST_PP_ITERATION_START_5_DIGIT_1)
+# if NDNBOOST_PP_ITERATION_START_5_DIGIT_3
+#    define NDNBOOST_PP_ITERATION_START_5 NDNBOOST_PP_SLOT_CC_3(NDNBOOST_PP_ITERATION_START_5_DIGIT_3, NDNBOOST_PP_ITERATION_START_5_DIGIT_2, NDNBOOST_PP_ITERATION_START_5_DIGIT_1)
+# elif NDNBOOST_PP_ITERATION_START_5_DIGIT_2
+#    define NDNBOOST_PP_ITERATION_START_5 NDNBOOST_PP_SLOT_CC_2(NDNBOOST_PP_ITERATION_START_5_DIGIT_2, NDNBOOST_PP_ITERATION_START_5_DIGIT_1)
 # else
-#    define BOOST_PP_ITERATION_START_5 BOOST_PP_ITERATION_START_5_DIGIT_1
+#    define NDNBOOST_PP_ITERATION_START_5 NDNBOOST_PP_ITERATION_START_5_DIGIT_1
 # endif
diff --git a/include/ndnboost/preprocessor/iteration/detail/bounds/upper1.hpp b/include/ndnboost/preprocessor/iteration/detail/bounds/upper1.hpp
index f7b1a0f..a8547fd 100644
--- a/include/ndnboost/preprocessor/iteration/detail/bounds/upper1.hpp
+++ b/include/ndnboost/preprocessor/iteration/detail/bounds/upper1.hpp
@@ -11,89 +11,89 @@
 #
 # include <ndnboost/preprocessor/slot/detail/shared.hpp>
 #
-# undef BOOST_PP_ITERATION_FINISH_1
+# undef NDNBOOST_PP_ITERATION_FINISH_1
 #
-# undef BOOST_PP_ITERATION_FINISH_1_DIGIT_1
-# undef BOOST_PP_ITERATION_FINISH_1_DIGIT_2
-# undef BOOST_PP_ITERATION_FINISH_1_DIGIT_3
-# undef BOOST_PP_ITERATION_FINISH_1_DIGIT_4
-# undef BOOST_PP_ITERATION_FINISH_1_DIGIT_5
-# undef BOOST_PP_ITERATION_FINISH_1_DIGIT_6
-# undef BOOST_PP_ITERATION_FINISH_1_DIGIT_7
-# undef BOOST_PP_ITERATION_FINISH_1_DIGIT_8
-# undef BOOST_PP_ITERATION_FINISH_1_DIGIT_9
-# undef BOOST_PP_ITERATION_FINISH_1_DIGIT_10
+# undef NDNBOOST_PP_ITERATION_FINISH_1_DIGIT_1
+# undef NDNBOOST_PP_ITERATION_FINISH_1_DIGIT_2
+# undef NDNBOOST_PP_ITERATION_FINISH_1_DIGIT_3
+# undef NDNBOOST_PP_ITERATION_FINISH_1_DIGIT_4
+# undef NDNBOOST_PP_ITERATION_FINISH_1_DIGIT_5
+# undef NDNBOOST_PP_ITERATION_FINISH_1_DIGIT_6
+# undef NDNBOOST_PP_ITERATION_FINISH_1_DIGIT_7
+# undef NDNBOOST_PP_ITERATION_FINISH_1_DIGIT_8
+# undef NDNBOOST_PP_ITERATION_FINISH_1_DIGIT_9
+# undef NDNBOOST_PP_ITERATION_FINISH_1_DIGIT_10
 #
-# if BOOST_PP_SLOT_TEMP_3 == 0
-#    define BOOST_PP_ITERATION_FINISH_1_DIGIT_3 0
-# elif BOOST_PP_SLOT_TEMP_3 == 1
-#    define BOOST_PP_ITERATION_FINISH_1_DIGIT_3 1
-# elif BOOST_PP_SLOT_TEMP_3 == 2
-#    define BOOST_PP_ITERATION_FINISH_1_DIGIT_3 2
-# elif BOOST_PP_SLOT_TEMP_3 == 3
-#    define BOOST_PP_ITERATION_FINISH_1_DIGIT_3 3
-# elif BOOST_PP_SLOT_TEMP_3 == 4
-#    define BOOST_PP_ITERATION_FINISH_1_DIGIT_3 4
-# elif BOOST_PP_SLOT_TEMP_3 == 5
-#    define BOOST_PP_ITERATION_FINISH_1_DIGIT_3 5
-# elif BOOST_PP_SLOT_TEMP_3 == 6
-#    define BOOST_PP_ITERATION_FINISH_1_DIGIT_3 6
-# elif BOOST_PP_SLOT_TEMP_3 == 7
-#    define BOOST_PP_ITERATION_FINISH_1_DIGIT_3 7
-# elif BOOST_PP_SLOT_TEMP_3 == 8
-#    define BOOST_PP_ITERATION_FINISH_1_DIGIT_3 8
-# elif BOOST_PP_SLOT_TEMP_3 == 9
-#    define BOOST_PP_ITERATION_FINISH_1_DIGIT_3 9
+# if NDNBOOST_PP_SLOT_TEMP_3 == 0
+#    define NDNBOOST_PP_ITERATION_FINISH_1_DIGIT_3 0
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 1
+#    define NDNBOOST_PP_ITERATION_FINISH_1_DIGIT_3 1
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 2
+#    define NDNBOOST_PP_ITERATION_FINISH_1_DIGIT_3 2
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 3
+#    define NDNBOOST_PP_ITERATION_FINISH_1_DIGIT_3 3
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 4
+#    define NDNBOOST_PP_ITERATION_FINISH_1_DIGIT_3 4
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 5
+#    define NDNBOOST_PP_ITERATION_FINISH_1_DIGIT_3 5
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 6
+#    define NDNBOOST_PP_ITERATION_FINISH_1_DIGIT_3 6
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 7
+#    define NDNBOOST_PP_ITERATION_FINISH_1_DIGIT_3 7
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 8
+#    define NDNBOOST_PP_ITERATION_FINISH_1_DIGIT_3 8
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 9
+#    define NDNBOOST_PP_ITERATION_FINISH_1_DIGIT_3 9
 # endif
 #
-# if BOOST_PP_SLOT_TEMP_2 == 0
-#    define BOOST_PP_ITERATION_FINISH_1_DIGIT_2 0
-# elif BOOST_PP_SLOT_TEMP_2 == 1
-#    define BOOST_PP_ITERATION_FINISH_1_DIGIT_2 1
-# elif BOOST_PP_SLOT_TEMP_2 == 2
-#    define BOOST_PP_ITERATION_FINISH_1_DIGIT_2 2
-# elif BOOST_PP_SLOT_TEMP_2 == 3
-#    define BOOST_PP_ITERATION_FINISH_1_DIGIT_2 3
-# elif BOOST_PP_SLOT_TEMP_2 == 4
-#    define BOOST_PP_ITERATION_FINISH_1_DIGIT_2 4
-# elif BOOST_PP_SLOT_TEMP_2 == 5
-#    define BOOST_PP_ITERATION_FINISH_1_DIGIT_2 5
-# elif BOOST_PP_SLOT_TEMP_2 == 6
-#    define BOOST_PP_ITERATION_FINISH_1_DIGIT_2 6
-# elif BOOST_PP_SLOT_TEMP_2 == 7
-#    define BOOST_PP_ITERATION_FINISH_1_DIGIT_2 7
-# elif BOOST_PP_SLOT_TEMP_2 == 8
-#    define BOOST_PP_ITERATION_FINISH_1_DIGIT_2 8
-# elif BOOST_PP_SLOT_TEMP_2 == 9
-#    define BOOST_PP_ITERATION_FINISH_1_DIGIT_2 9
+# if NDNBOOST_PP_SLOT_TEMP_2 == 0
+#    define NDNBOOST_PP_ITERATION_FINISH_1_DIGIT_2 0
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 1
+#    define NDNBOOST_PP_ITERATION_FINISH_1_DIGIT_2 1
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 2
+#    define NDNBOOST_PP_ITERATION_FINISH_1_DIGIT_2 2
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 3
+#    define NDNBOOST_PP_ITERATION_FINISH_1_DIGIT_2 3
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 4
+#    define NDNBOOST_PP_ITERATION_FINISH_1_DIGIT_2 4
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 5
+#    define NDNBOOST_PP_ITERATION_FINISH_1_DIGIT_2 5
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 6
+#    define NDNBOOST_PP_ITERATION_FINISH_1_DIGIT_2 6
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 7
+#    define NDNBOOST_PP_ITERATION_FINISH_1_DIGIT_2 7
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 8
+#    define NDNBOOST_PP_ITERATION_FINISH_1_DIGIT_2 8
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 9
+#    define NDNBOOST_PP_ITERATION_FINISH_1_DIGIT_2 9
 # endif
 #
-# if BOOST_PP_SLOT_TEMP_1 == 0
-#    define BOOST_PP_ITERATION_FINISH_1_DIGIT_1 0
-# elif BOOST_PP_SLOT_TEMP_1 == 1
-#    define BOOST_PP_ITERATION_FINISH_1_DIGIT_1 1
-# elif BOOST_PP_SLOT_TEMP_1 == 2
-#    define BOOST_PP_ITERATION_FINISH_1_DIGIT_1 2
-# elif BOOST_PP_SLOT_TEMP_1 == 3
-#    define BOOST_PP_ITERATION_FINISH_1_DIGIT_1 3
-# elif BOOST_PP_SLOT_TEMP_1 == 4
-#    define BOOST_PP_ITERATION_FINISH_1_DIGIT_1 4
-# elif BOOST_PP_SLOT_TEMP_1 == 5
-#    define BOOST_PP_ITERATION_FINISH_1_DIGIT_1 5
-# elif BOOST_PP_SLOT_TEMP_1 == 6
-#    define BOOST_PP_ITERATION_FINISH_1_DIGIT_1 6
-# elif BOOST_PP_SLOT_TEMP_1 == 7
-#    define BOOST_PP_ITERATION_FINISH_1_DIGIT_1 7
-# elif BOOST_PP_SLOT_TEMP_1 == 8
-#    define BOOST_PP_ITERATION_FINISH_1_DIGIT_1 8
-# elif BOOST_PP_SLOT_TEMP_1 == 9
-#    define BOOST_PP_ITERATION_FINISH_1_DIGIT_1 9
+# if NDNBOOST_PP_SLOT_TEMP_1 == 0
+#    define NDNBOOST_PP_ITERATION_FINISH_1_DIGIT_1 0
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 1
+#    define NDNBOOST_PP_ITERATION_FINISH_1_DIGIT_1 1
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 2
+#    define NDNBOOST_PP_ITERATION_FINISH_1_DIGIT_1 2
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 3
+#    define NDNBOOST_PP_ITERATION_FINISH_1_DIGIT_1 3
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 4
+#    define NDNBOOST_PP_ITERATION_FINISH_1_DIGIT_1 4
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 5
+#    define NDNBOOST_PP_ITERATION_FINISH_1_DIGIT_1 5
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 6
+#    define NDNBOOST_PP_ITERATION_FINISH_1_DIGIT_1 6
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 7
+#    define NDNBOOST_PP_ITERATION_FINISH_1_DIGIT_1 7
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 8
+#    define NDNBOOST_PP_ITERATION_FINISH_1_DIGIT_1 8
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 9
+#    define NDNBOOST_PP_ITERATION_FINISH_1_DIGIT_1 9
 # endif
 #
-# if BOOST_PP_ITERATION_FINISH_1_DIGIT_3
-#    define BOOST_PP_ITERATION_FINISH_1 BOOST_PP_SLOT_CC_3(BOOST_PP_ITERATION_FINISH_1_DIGIT_3, BOOST_PP_ITERATION_FINISH_1_DIGIT_2, BOOST_PP_ITERATION_FINISH_1_DIGIT_1)
-# elif BOOST_PP_ITERATION_FINISH_1_DIGIT_2
-#    define BOOST_PP_ITERATION_FINISH_1 BOOST_PP_SLOT_CC_2(BOOST_PP_ITERATION_FINISH_1_DIGIT_2, BOOST_PP_ITERATION_FINISH_1_DIGIT_1)
+# if NDNBOOST_PP_ITERATION_FINISH_1_DIGIT_3
+#    define NDNBOOST_PP_ITERATION_FINISH_1 NDNBOOST_PP_SLOT_CC_3(NDNBOOST_PP_ITERATION_FINISH_1_DIGIT_3, NDNBOOST_PP_ITERATION_FINISH_1_DIGIT_2, NDNBOOST_PP_ITERATION_FINISH_1_DIGIT_1)
+# elif NDNBOOST_PP_ITERATION_FINISH_1_DIGIT_2
+#    define NDNBOOST_PP_ITERATION_FINISH_1 NDNBOOST_PP_SLOT_CC_2(NDNBOOST_PP_ITERATION_FINISH_1_DIGIT_2, NDNBOOST_PP_ITERATION_FINISH_1_DIGIT_1)
 # else
-#    define BOOST_PP_ITERATION_FINISH_1 BOOST_PP_ITERATION_FINISH_1_DIGIT_1
+#    define NDNBOOST_PP_ITERATION_FINISH_1 NDNBOOST_PP_ITERATION_FINISH_1_DIGIT_1
 # endif
diff --git a/include/ndnboost/preprocessor/iteration/detail/bounds/upper2.hpp b/include/ndnboost/preprocessor/iteration/detail/bounds/upper2.hpp
index 7960ef9..5d82aaf 100644
--- a/include/ndnboost/preprocessor/iteration/detail/bounds/upper2.hpp
+++ b/include/ndnboost/preprocessor/iteration/detail/bounds/upper2.hpp
@@ -11,89 +11,89 @@
 #
 # include <ndnboost/preprocessor/slot/detail/shared.hpp>
 #
-# undef BOOST_PP_ITERATION_FINISH_2
+# undef NDNBOOST_PP_ITERATION_FINISH_2
 #
-# undef BOOST_PP_ITERATION_FINISH_2_DIGIT_1
-# undef BOOST_PP_ITERATION_FINISH_2_DIGIT_2
-# undef BOOST_PP_ITERATION_FINISH_2_DIGIT_3
-# undef BOOST_PP_ITERATION_FINISH_2_DIGIT_4
-# undef BOOST_PP_ITERATION_FINISH_2_DIGIT_5
-# undef BOOST_PP_ITERATION_FINISH_2_DIGIT_6
-# undef BOOST_PP_ITERATION_FINISH_2_DIGIT_7
-# undef BOOST_PP_ITERATION_FINISH_2_DIGIT_8
-# undef BOOST_PP_ITERATION_FINISH_2_DIGIT_9
-# undef BOOST_PP_ITERATION_FINISH_2_DIGIT_10
+# undef NDNBOOST_PP_ITERATION_FINISH_2_DIGIT_1
+# undef NDNBOOST_PP_ITERATION_FINISH_2_DIGIT_2
+# undef NDNBOOST_PP_ITERATION_FINISH_2_DIGIT_3
+# undef NDNBOOST_PP_ITERATION_FINISH_2_DIGIT_4
+# undef NDNBOOST_PP_ITERATION_FINISH_2_DIGIT_5
+# undef NDNBOOST_PP_ITERATION_FINISH_2_DIGIT_6
+# undef NDNBOOST_PP_ITERATION_FINISH_2_DIGIT_7
+# undef NDNBOOST_PP_ITERATION_FINISH_2_DIGIT_8
+# undef NDNBOOST_PP_ITERATION_FINISH_2_DIGIT_9
+# undef NDNBOOST_PP_ITERATION_FINISH_2_DIGIT_10
 #
-# if BOOST_PP_SLOT_TEMP_3 == 0
-#    define BOOST_PP_ITERATION_FINISH_2_DIGIT_3 0
-# elif BOOST_PP_SLOT_TEMP_3 == 1
-#    define BOOST_PP_ITERATION_FINISH_2_DIGIT_3 1
-# elif BOOST_PP_SLOT_TEMP_3 == 2
-#    define BOOST_PP_ITERATION_FINISH_2_DIGIT_3 2
-# elif BOOST_PP_SLOT_TEMP_3 == 3
-#    define BOOST_PP_ITERATION_FINISH_2_DIGIT_3 3
-# elif BOOST_PP_SLOT_TEMP_3 == 4
-#    define BOOST_PP_ITERATION_FINISH_2_DIGIT_3 4
-# elif BOOST_PP_SLOT_TEMP_3 == 5
-#    define BOOST_PP_ITERATION_FINISH_2_DIGIT_3 5
-# elif BOOST_PP_SLOT_TEMP_3 == 6
-#    define BOOST_PP_ITERATION_FINISH_2_DIGIT_3 6
-# elif BOOST_PP_SLOT_TEMP_3 == 7
-#    define BOOST_PP_ITERATION_FINISH_2_DIGIT_3 7
-# elif BOOST_PP_SLOT_TEMP_3 == 8
-#    define BOOST_PP_ITERATION_FINISH_2_DIGIT_3 8
-# elif BOOST_PP_SLOT_TEMP_3 == 9
-#    define BOOST_PP_ITERATION_FINISH_2_DIGIT_3 9
+# if NDNBOOST_PP_SLOT_TEMP_3 == 0
+#    define NDNBOOST_PP_ITERATION_FINISH_2_DIGIT_3 0
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 1
+#    define NDNBOOST_PP_ITERATION_FINISH_2_DIGIT_3 1
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 2
+#    define NDNBOOST_PP_ITERATION_FINISH_2_DIGIT_3 2
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 3
+#    define NDNBOOST_PP_ITERATION_FINISH_2_DIGIT_3 3
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 4
+#    define NDNBOOST_PP_ITERATION_FINISH_2_DIGIT_3 4
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 5
+#    define NDNBOOST_PP_ITERATION_FINISH_2_DIGIT_3 5
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 6
+#    define NDNBOOST_PP_ITERATION_FINISH_2_DIGIT_3 6
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 7
+#    define NDNBOOST_PP_ITERATION_FINISH_2_DIGIT_3 7
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 8
+#    define NDNBOOST_PP_ITERATION_FINISH_2_DIGIT_3 8
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 9
+#    define NDNBOOST_PP_ITERATION_FINISH_2_DIGIT_3 9
 # endif
 #
-# if BOOST_PP_SLOT_TEMP_2 == 0
-#    define BOOST_PP_ITERATION_FINISH_2_DIGIT_2 0
-# elif BOOST_PP_SLOT_TEMP_2 == 1
-#    define BOOST_PP_ITERATION_FINISH_2_DIGIT_2 1
-# elif BOOST_PP_SLOT_TEMP_2 == 2
-#    define BOOST_PP_ITERATION_FINISH_2_DIGIT_2 2
-# elif BOOST_PP_SLOT_TEMP_2 == 3
-#    define BOOST_PP_ITERATION_FINISH_2_DIGIT_2 3
-# elif BOOST_PP_SLOT_TEMP_2 == 4
-#    define BOOST_PP_ITERATION_FINISH_2_DIGIT_2 4
-# elif BOOST_PP_SLOT_TEMP_2 == 5
-#    define BOOST_PP_ITERATION_FINISH_2_DIGIT_2 5
-# elif BOOST_PP_SLOT_TEMP_2 == 6
-#    define BOOST_PP_ITERATION_FINISH_2_DIGIT_2 6
-# elif BOOST_PP_SLOT_TEMP_2 == 7
-#    define BOOST_PP_ITERATION_FINISH_2_DIGIT_2 7
-# elif BOOST_PP_SLOT_TEMP_2 == 8
-#    define BOOST_PP_ITERATION_FINISH_2_DIGIT_2 8
-# elif BOOST_PP_SLOT_TEMP_2 == 9
-#    define BOOST_PP_ITERATION_FINISH_2_DIGIT_2 9
+# if NDNBOOST_PP_SLOT_TEMP_2 == 0
+#    define NDNBOOST_PP_ITERATION_FINISH_2_DIGIT_2 0
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 1
+#    define NDNBOOST_PP_ITERATION_FINISH_2_DIGIT_2 1
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 2
+#    define NDNBOOST_PP_ITERATION_FINISH_2_DIGIT_2 2
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 3
+#    define NDNBOOST_PP_ITERATION_FINISH_2_DIGIT_2 3
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 4
+#    define NDNBOOST_PP_ITERATION_FINISH_2_DIGIT_2 4
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 5
+#    define NDNBOOST_PP_ITERATION_FINISH_2_DIGIT_2 5
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 6
+#    define NDNBOOST_PP_ITERATION_FINISH_2_DIGIT_2 6
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 7
+#    define NDNBOOST_PP_ITERATION_FINISH_2_DIGIT_2 7
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 8
+#    define NDNBOOST_PP_ITERATION_FINISH_2_DIGIT_2 8
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 9
+#    define NDNBOOST_PP_ITERATION_FINISH_2_DIGIT_2 9
 # endif
 #
-# if BOOST_PP_SLOT_TEMP_1 == 0
-#    define BOOST_PP_ITERATION_FINISH_2_DIGIT_1 0
-# elif BOOST_PP_SLOT_TEMP_1 == 1
-#    define BOOST_PP_ITERATION_FINISH_2_DIGIT_1 1
-# elif BOOST_PP_SLOT_TEMP_1 == 2
-#    define BOOST_PP_ITERATION_FINISH_2_DIGIT_1 2
-# elif BOOST_PP_SLOT_TEMP_1 == 3
-#    define BOOST_PP_ITERATION_FINISH_2_DIGIT_1 3
-# elif BOOST_PP_SLOT_TEMP_1 == 4
-#    define BOOST_PP_ITERATION_FINISH_2_DIGIT_1 4
-# elif BOOST_PP_SLOT_TEMP_1 == 5
-#    define BOOST_PP_ITERATION_FINISH_2_DIGIT_1 5
-# elif BOOST_PP_SLOT_TEMP_1 == 6
-#    define BOOST_PP_ITERATION_FINISH_2_DIGIT_1 6
-# elif BOOST_PP_SLOT_TEMP_1 == 7
-#    define BOOST_PP_ITERATION_FINISH_2_DIGIT_1 7
-# elif BOOST_PP_SLOT_TEMP_1 == 8
-#    define BOOST_PP_ITERATION_FINISH_2_DIGIT_1 8
-# elif BOOST_PP_SLOT_TEMP_1 == 9
-#    define BOOST_PP_ITERATION_FINISH_2_DIGIT_1 9
+# if NDNBOOST_PP_SLOT_TEMP_1 == 0
+#    define NDNBOOST_PP_ITERATION_FINISH_2_DIGIT_1 0
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 1
+#    define NDNBOOST_PP_ITERATION_FINISH_2_DIGIT_1 1
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 2
+#    define NDNBOOST_PP_ITERATION_FINISH_2_DIGIT_1 2
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 3
+#    define NDNBOOST_PP_ITERATION_FINISH_2_DIGIT_1 3
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 4
+#    define NDNBOOST_PP_ITERATION_FINISH_2_DIGIT_1 4
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 5
+#    define NDNBOOST_PP_ITERATION_FINISH_2_DIGIT_1 5
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 6
+#    define NDNBOOST_PP_ITERATION_FINISH_2_DIGIT_1 6
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 7
+#    define NDNBOOST_PP_ITERATION_FINISH_2_DIGIT_1 7
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 8
+#    define NDNBOOST_PP_ITERATION_FINISH_2_DIGIT_1 8
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 9
+#    define NDNBOOST_PP_ITERATION_FINISH_2_DIGIT_1 9
 # endif
 #
-# if BOOST_PP_ITERATION_FINISH_2_DIGIT_3
-#    define BOOST_PP_ITERATION_FINISH_2 BOOST_PP_SLOT_CC_3(BOOST_PP_ITERATION_FINISH_2_DIGIT_3, BOOST_PP_ITERATION_FINISH_2_DIGIT_2, BOOST_PP_ITERATION_FINISH_2_DIGIT_1)
-# elif BOOST_PP_ITERATION_FINISH_2_DIGIT_2
-#    define BOOST_PP_ITERATION_FINISH_2 BOOST_PP_SLOT_CC_2(BOOST_PP_ITERATION_FINISH_2_DIGIT_2, BOOST_PP_ITERATION_FINISH_2_DIGIT_1)
+# if NDNBOOST_PP_ITERATION_FINISH_2_DIGIT_3
+#    define NDNBOOST_PP_ITERATION_FINISH_2 NDNBOOST_PP_SLOT_CC_3(NDNBOOST_PP_ITERATION_FINISH_2_DIGIT_3, NDNBOOST_PP_ITERATION_FINISH_2_DIGIT_2, NDNBOOST_PP_ITERATION_FINISH_2_DIGIT_1)
+# elif NDNBOOST_PP_ITERATION_FINISH_2_DIGIT_2
+#    define NDNBOOST_PP_ITERATION_FINISH_2 NDNBOOST_PP_SLOT_CC_2(NDNBOOST_PP_ITERATION_FINISH_2_DIGIT_2, NDNBOOST_PP_ITERATION_FINISH_2_DIGIT_1)
 # else
-#    define BOOST_PP_ITERATION_FINISH_2 BOOST_PP_ITERATION_FINISH_2_DIGIT_1
+#    define NDNBOOST_PP_ITERATION_FINISH_2 NDNBOOST_PP_ITERATION_FINISH_2_DIGIT_1
 # endif
diff --git a/include/ndnboost/preprocessor/iteration/detail/bounds/upper3.hpp b/include/ndnboost/preprocessor/iteration/detail/bounds/upper3.hpp
index fa4aaef..b285717 100644
--- a/include/ndnboost/preprocessor/iteration/detail/bounds/upper3.hpp
+++ b/include/ndnboost/preprocessor/iteration/detail/bounds/upper3.hpp
@@ -11,89 +11,89 @@
 #
 # include <ndnboost/preprocessor/slot/detail/shared.hpp>
 #
-# undef BOOST_PP_ITERATION_FINISH_3
+# undef NDNBOOST_PP_ITERATION_FINISH_3
 #
-# undef BOOST_PP_ITERATION_FINISH_3_DIGIT_1
-# undef BOOST_PP_ITERATION_FINISH_3_DIGIT_2
-# undef BOOST_PP_ITERATION_FINISH_3_DIGIT_3
-# undef BOOST_PP_ITERATION_FINISH_3_DIGIT_4
-# undef BOOST_PP_ITERATION_FINISH_3_DIGIT_5
-# undef BOOST_PP_ITERATION_FINISH_3_DIGIT_6
-# undef BOOST_PP_ITERATION_FINISH_3_DIGIT_7
-# undef BOOST_PP_ITERATION_FINISH_3_DIGIT_8
-# undef BOOST_PP_ITERATION_FINISH_3_DIGIT_9
-# undef BOOST_PP_ITERATION_FINISH_3_DIGIT_10
+# undef NDNBOOST_PP_ITERATION_FINISH_3_DIGIT_1
+# undef NDNBOOST_PP_ITERATION_FINISH_3_DIGIT_2
+# undef NDNBOOST_PP_ITERATION_FINISH_3_DIGIT_3
+# undef NDNBOOST_PP_ITERATION_FINISH_3_DIGIT_4
+# undef NDNBOOST_PP_ITERATION_FINISH_3_DIGIT_5
+# undef NDNBOOST_PP_ITERATION_FINISH_3_DIGIT_6
+# undef NDNBOOST_PP_ITERATION_FINISH_3_DIGIT_7
+# undef NDNBOOST_PP_ITERATION_FINISH_3_DIGIT_8
+# undef NDNBOOST_PP_ITERATION_FINISH_3_DIGIT_9
+# undef NDNBOOST_PP_ITERATION_FINISH_3_DIGIT_10
 #
-# if BOOST_PP_SLOT_TEMP_3 == 0
-#    define BOOST_PP_ITERATION_FINISH_3_DIGIT_3 0
-# elif BOOST_PP_SLOT_TEMP_3 == 1
-#    define BOOST_PP_ITERATION_FINISH_3_DIGIT_3 1
-# elif BOOST_PP_SLOT_TEMP_3 == 2
-#    define BOOST_PP_ITERATION_FINISH_3_DIGIT_3 2
-# elif BOOST_PP_SLOT_TEMP_3 == 3
-#    define BOOST_PP_ITERATION_FINISH_3_DIGIT_3 3
-# elif BOOST_PP_SLOT_TEMP_3 == 4
-#    define BOOST_PP_ITERATION_FINISH_3_DIGIT_3 4
-# elif BOOST_PP_SLOT_TEMP_3 == 5
-#    define BOOST_PP_ITERATION_FINISH_3_DIGIT_3 5
-# elif BOOST_PP_SLOT_TEMP_3 == 6
-#    define BOOST_PP_ITERATION_FINISH_3_DIGIT_3 6
-# elif BOOST_PP_SLOT_TEMP_3 == 7
-#    define BOOST_PP_ITERATION_FINISH_3_DIGIT_3 7
-# elif BOOST_PP_SLOT_TEMP_3 == 8
-#    define BOOST_PP_ITERATION_FINISH_3_DIGIT_3 8
-# elif BOOST_PP_SLOT_TEMP_3 == 9
-#    define BOOST_PP_ITERATION_FINISH_3_DIGIT_3 9
+# if NDNBOOST_PP_SLOT_TEMP_3 == 0
+#    define NDNBOOST_PP_ITERATION_FINISH_3_DIGIT_3 0
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 1
+#    define NDNBOOST_PP_ITERATION_FINISH_3_DIGIT_3 1
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 2
+#    define NDNBOOST_PP_ITERATION_FINISH_3_DIGIT_3 2
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 3
+#    define NDNBOOST_PP_ITERATION_FINISH_3_DIGIT_3 3
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 4
+#    define NDNBOOST_PP_ITERATION_FINISH_3_DIGIT_3 4
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 5
+#    define NDNBOOST_PP_ITERATION_FINISH_3_DIGIT_3 5
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 6
+#    define NDNBOOST_PP_ITERATION_FINISH_3_DIGIT_3 6
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 7
+#    define NDNBOOST_PP_ITERATION_FINISH_3_DIGIT_3 7
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 8
+#    define NDNBOOST_PP_ITERATION_FINISH_3_DIGIT_3 8
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 9
+#    define NDNBOOST_PP_ITERATION_FINISH_3_DIGIT_3 9
 # endif
 #
-# if BOOST_PP_SLOT_TEMP_2 == 0
-#    define BOOST_PP_ITERATION_FINISH_3_DIGIT_2 0
-# elif BOOST_PP_SLOT_TEMP_2 == 1
-#    define BOOST_PP_ITERATION_FINISH_3_DIGIT_2 1
-# elif BOOST_PP_SLOT_TEMP_2 == 2
-#    define BOOST_PP_ITERATION_FINISH_3_DIGIT_2 2
-# elif BOOST_PP_SLOT_TEMP_2 == 3
-#    define BOOST_PP_ITERATION_FINISH_3_DIGIT_2 3
-# elif BOOST_PP_SLOT_TEMP_2 == 4
-#    define BOOST_PP_ITERATION_FINISH_3_DIGIT_2 4
-# elif BOOST_PP_SLOT_TEMP_2 == 5
-#    define BOOST_PP_ITERATION_FINISH_3_DIGIT_2 5
-# elif BOOST_PP_SLOT_TEMP_2 == 6
-#    define BOOST_PP_ITERATION_FINISH_3_DIGIT_2 6
-# elif BOOST_PP_SLOT_TEMP_2 == 7
-#    define BOOST_PP_ITERATION_FINISH_3_DIGIT_2 7
-# elif BOOST_PP_SLOT_TEMP_2 == 8
-#    define BOOST_PP_ITERATION_FINISH_3_DIGIT_2 8
-# elif BOOST_PP_SLOT_TEMP_2 == 9
-#    define BOOST_PP_ITERATION_FINISH_3_DIGIT_2 9
+# if NDNBOOST_PP_SLOT_TEMP_2 == 0
+#    define NDNBOOST_PP_ITERATION_FINISH_3_DIGIT_2 0
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 1
+#    define NDNBOOST_PP_ITERATION_FINISH_3_DIGIT_2 1
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 2
+#    define NDNBOOST_PP_ITERATION_FINISH_3_DIGIT_2 2
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 3
+#    define NDNBOOST_PP_ITERATION_FINISH_3_DIGIT_2 3
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 4
+#    define NDNBOOST_PP_ITERATION_FINISH_3_DIGIT_2 4
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 5
+#    define NDNBOOST_PP_ITERATION_FINISH_3_DIGIT_2 5
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 6
+#    define NDNBOOST_PP_ITERATION_FINISH_3_DIGIT_2 6
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 7
+#    define NDNBOOST_PP_ITERATION_FINISH_3_DIGIT_2 7
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 8
+#    define NDNBOOST_PP_ITERATION_FINISH_3_DIGIT_2 8
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 9
+#    define NDNBOOST_PP_ITERATION_FINISH_3_DIGIT_2 9
 # endif
 #
-# if BOOST_PP_SLOT_TEMP_1 == 0
-#    define BOOST_PP_ITERATION_FINISH_3_DIGIT_1 0
-# elif BOOST_PP_SLOT_TEMP_1 == 1
-#    define BOOST_PP_ITERATION_FINISH_3_DIGIT_1 1
-# elif BOOST_PP_SLOT_TEMP_1 == 2
-#    define BOOST_PP_ITERATION_FINISH_3_DIGIT_1 2
-# elif BOOST_PP_SLOT_TEMP_1 == 3
-#    define BOOST_PP_ITERATION_FINISH_3_DIGIT_1 3
-# elif BOOST_PP_SLOT_TEMP_1 == 4
-#    define BOOST_PP_ITERATION_FINISH_3_DIGIT_1 4
-# elif BOOST_PP_SLOT_TEMP_1 == 5
-#    define BOOST_PP_ITERATION_FINISH_3_DIGIT_1 5
-# elif BOOST_PP_SLOT_TEMP_1 == 6
-#    define BOOST_PP_ITERATION_FINISH_3_DIGIT_1 6
-# elif BOOST_PP_SLOT_TEMP_1 == 7
-#    define BOOST_PP_ITERATION_FINISH_3_DIGIT_1 7
-# elif BOOST_PP_SLOT_TEMP_1 == 8
-#    define BOOST_PP_ITERATION_FINISH_3_DIGIT_1 8
-# elif BOOST_PP_SLOT_TEMP_1 == 9
-#    define BOOST_PP_ITERATION_FINISH_3_DIGIT_1 9
+# if NDNBOOST_PP_SLOT_TEMP_1 == 0
+#    define NDNBOOST_PP_ITERATION_FINISH_3_DIGIT_1 0
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 1
+#    define NDNBOOST_PP_ITERATION_FINISH_3_DIGIT_1 1
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 2
+#    define NDNBOOST_PP_ITERATION_FINISH_3_DIGIT_1 2
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 3
+#    define NDNBOOST_PP_ITERATION_FINISH_3_DIGIT_1 3
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 4
+#    define NDNBOOST_PP_ITERATION_FINISH_3_DIGIT_1 4
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 5
+#    define NDNBOOST_PP_ITERATION_FINISH_3_DIGIT_1 5
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 6
+#    define NDNBOOST_PP_ITERATION_FINISH_3_DIGIT_1 6
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 7
+#    define NDNBOOST_PP_ITERATION_FINISH_3_DIGIT_1 7
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 8
+#    define NDNBOOST_PP_ITERATION_FINISH_3_DIGIT_1 8
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 9
+#    define NDNBOOST_PP_ITERATION_FINISH_3_DIGIT_1 9
 # endif
 #
-# if BOOST_PP_ITERATION_FINISH_3_DIGIT_3
-#    define BOOST_PP_ITERATION_FINISH_3 BOOST_PP_SLOT_CC_3(BOOST_PP_ITERATION_FINISH_3_DIGIT_3, BOOST_PP_ITERATION_FINISH_3_DIGIT_2, BOOST_PP_ITERATION_FINISH_3_DIGIT_1)
-# elif BOOST_PP_ITERATION_FINISH_3_DIGIT_2
-#    define BOOST_PP_ITERATION_FINISH_3 BOOST_PP_SLOT_CC_2(BOOST_PP_ITERATION_FINISH_3_DIGIT_2, BOOST_PP_ITERATION_FINISH_3_DIGIT_1)
+# if NDNBOOST_PP_ITERATION_FINISH_3_DIGIT_3
+#    define NDNBOOST_PP_ITERATION_FINISH_3 NDNBOOST_PP_SLOT_CC_3(NDNBOOST_PP_ITERATION_FINISH_3_DIGIT_3, NDNBOOST_PP_ITERATION_FINISH_3_DIGIT_2, NDNBOOST_PP_ITERATION_FINISH_3_DIGIT_1)
+# elif NDNBOOST_PP_ITERATION_FINISH_3_DIGIT_2
+#    define NDNBOOST_PP_ITERATION_FINISH_3 NDNBOOST_PP_SLOT_CC_2(NDNBOOST_PP_ITERATION_FINISH_3_DIGIT_2, NDNBOOST_PP_ITERATION_FINISH_3_DIGIT_1)
 # else
-#    define BOOST_PP_ITERATION_FINISH_3 BOOST_PP_ITERATION_FINISH_3_DIGIT_1
+#    define NDNBOOST_PP_ITERATION_FINISH_3 NDNBOOST_PP_ITERATION_FINISH_3_DIGIT_1
 # endif
diff --git a/include/ndnboost/preprocessor/iteration/detail/bounds/upper4.hpp b/include/ndnboost/preprocessor/iteration/detail/bounds/upper4.hpp
index 820031e..b8610c0 100644
--- a/include/ndnboost/preprocessor/iteration/detail/bounds/upper4.hpp
+++ b/include/ndnboost/preprocessor/iteration/detail/bounds/upper4.hpp
@@ -11,89 +11,89 @@
 #
 # include <ndnboost/preprocessor/slot/detail/shared.hpp>
 #
-# undef BOOST_PP_ITERATION_FINISH_4
+# undef NDNBOOST_PP_ITERATION_FINISH_4
 #
-# undef BOOST_PP_ITERATION_FINISH_4_DIGIT_1
-# undef BOOST_PP_ITERATION_FINISH_4_DIGIT_2
-# undef BOOST_PP_ITERATION_FINISH_4_DIGIT_3
-# undef BOOST_PP_ITERATION_FINISH_4_DIGIT_4
-# undef BOOST_PP_ITERATION_FINISH_4_DIGIT_5
-# undef BOOST_PP_ITERATION_FINISH_4_DIGIT_6
-# undef BOOST_PP_ITERATION_FINISH_4_DIGIT_7
-# undef BOOST_PP_ITERATION_FINISH_4_DIGIT_8
-# undef BOOST_PP_ITERATION_FINISH_4_DIGIT_9
-# undef BOOST_PP_ITERATION_FINISH_4_DIGIT_10
+# undef NDNBOOST_PP_ITERATION_FINISH_4_DIGIT_1
+# undef NDNBOOST_PP_ITERATION_FINISH_4_DIGIT_2
+# undef NDNBOOST_PP_ITERATION_FINISH_4_DIGIT_3
+# undef NDNBOOST_PP_ITERATION_FINISH_4_DIGIT_4
+# undef NDNBOOST_PP_ITERATION_FINISH_4_DIGIT_5
+# undef NDNBOOST_PP_ITERATION_FINISH_4_DIGIT_6
+# undef NDNBOOST_PP_ITERATION_FINISH_4_DIGIT_7
+# undef NDNBOOST_PP_ITERATION_FINISH_4_DIGIT_8
+# undef NDNBOOST_PP_ITERATION_FINISH_4_DIGIT_9
+# undef NDNBOOST_PP_ITERATION_FINISH_4_DIGIT_10
 #
-# if BOOST_PP_SLOT_TEMP_3 == 0
-#    define BOOST_PP_ITERATION_FINISH_4_DIGIT_3 0
-# elif BOOST_PP_SLOT_TEMP_3 == 1
-#    define BOOST_PP_ITERATION_FINISH_4_DIGIT_3 1
-# elif BOOST_PP_SLOT_TEMP_3 == 2
-#    define BOOST_PP_ITERATION_FINISH_4_DIGIT_3 2
-# elif BOOST_PP_SLOT_TEMP_3 == 3
-#    define BOOST_PP_ITERATION_FINISH_4_DIGIT_3 3
-# elif BOOST_PP_SLOT_TEMP_3 == 4
-#    define BOOST_PP_ITERATION_FINISH_4_DIGIT_3 4
-# elif BOOST_PP_SLOT_TEMP_3 == 5
-#    define BOOST_PP_ITERATION_FINISH_4_DIGIT_3 5
-# elif BOOST_PP_SLOT_TEMP_3 == 6
-#    define BOOST_PP_ITERATION_FINISH_4_DIGIT_3 6
-# elif BOOST_PP_SLOT_TEMP_3 == 7
-#    define BOOST_PP_ITERATION_FINISH_4_DIGIT_3 7
-# elif BOOST_PP_SLOT_TEMP_3 == 8
-#    define BOOST_PP_ITERATION_FINISH_4_DIGIT_3 8
-# elif BOOST_PP_SLOT_TEMP_3 == 9
-#    define BOOST_PP_ITERATION_FINISH_4_DIGIT_3 9
+# if NDNBOOST_PP_SLOT_TEMP_3 == 0
+#    define NDNBOOST_PP_ITERATION_FINISH_4_DIGIT_3 0
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 1
+#    define NDNBOOST_PP_ITERATION_FINISH_4_DIGIT_3 1
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 2
+#    define NDNBOOST_PP_ITERATION_FINISH_4_DIGIT_3 2
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 3
+#    define NDNBOOST_PP_ITERATION_FINISH_4_DIGIT_3 3
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 4
+#    define NDNBOOST_PP_ITERATION_FINISH_4_DIGIT_3 4
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 5
+#    define NDNBOOST_PP_ITERATION_FINISH_4_DIGIT_3 5
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 6
+#    define NDNBOOST_PP_ITERATION_FINISH_4_DIGIT_3 6
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 7
+#    define NDNBOOST_PP_ITERATION_FINISH_4_DIGIT_3 7
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 8
+#    define NDNBOOST_PP_ITERATION_FINISH_4_DIGIT_3 8
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 9
+#    define NDNBOOST_PP_ITERATION_FINISH_4_DIGIT_3 9
 # endif
 #
-# if BOOST_PP_SLOT_TEMP_2 == 0
-#    define BOOST_PP_ITERATION_FINISH_4_DIGIT_2 0
-# elif BOOST_PP_SLOT_TEMP_2 == 1
-#    define BOOST_PP_ITERATION_FINISH_4_DIGIT_2 1
-# elif BOOST_PP_SLOT_TEMP_2 == 2
-#    define BOOST_PP_ITERATION_FINISH_4_DIGIT_2 2
-# elif BOOST_PP_SLOT_TEMP_2 == 3
-#    define BOOST_PP_ITERATION_FINISH_4_DIGIT_2 3
-# elif BOOST_PP_SLOT_TEMP_2 == 4
-#    define BOOST_PP_ITERATION_FINISH_4_DIGIT_2 4
-# elif BOOST_PP_SLOT_TEMP_2 == 5
-#    define BOOST_PP_ITERATION_FINISH_4_DIGIT_2 5
-# elif BOOST_PP_SLOT_TEMP_2 == 6
-#    define BOOST_PP_ITERATION_FINISH_4_DIGIT_2 6
-# elif BOOST_PP_SLOT_TEMP_2 == 7
-#    define BOOST_PP_ITERATION_FINISH_4_DIGIT_2 7
-# elif BOOST_PP_SLOT_TEMP_2 == 8
-#    define BOOST_PP_ITERATION_FINISH_4_DIGIT_2 8
-# elif BOOST_PP_SLOT_TEMP_2 == 9
-#    define BOOST_PP_ITERATION_FINISH_4_DIGIT_2 9
+# if NDNBOOST_PP_SLOT_TEMP_2 == 0
+#    define NDNBOOST_PP_ITERATION_FINISH_4_DIGIT_2 0
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 1
+#    define NDNBOOST_PP_ITERATION_FINISH_4_DIGIT_2 1
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 2
+#    define NDNBOOST_PP_ITERATION_FINISH_4_DIGIT_2 2
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 3
+#    define NDNBOOST_PP_ITERATION_FINISH_4_DIGIT_2 3
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 4
+#    define NDNBOOST_PP_ITERATION_FINISH_4_DIGIT_2 4
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 5
+#    define NDNBOOST_PP_ITERATION_FINISH_4_DIGIT_2 5
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 6
+#    define NDNBOOST_PP_ITERATION_FINISH_4_DIGIT_2 6
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 7
+#    define NDNBOOST_PP_ITERATION_FINISH_4_DIGIT_2 7
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 8
+#    define NDNBOOST_PP_ITERATION_FINISH_4_DIGIT_2 8
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 9
+#    define NDNBOOST_PP_ITERATION_FINISH_4_DIGIT_2 9
 # endif
 #
-# if BOOST_PP_SLOT_TEMP_1 == 0
-#    define BOOST_PP_ITERATION_FINISH_4_DIGIT_1 0
-# elif BOOST_PP_SLOT_TEMP_1 == 1
-#    define BOOST_PP_ITERATION_FINISH_4_DIGIT_1 1
-# elif BOOST_PP_SLOT_TEMP_1 == 2
-#    define BOOST_PP_ITERATION_FINISH_4_DIGIT_1 2
-# elif BOOST_PP_SLOT_TEMP_1 == 3
-#    define BOOST_PP_ITERATION_FINISH_4_DIGIT_1 3
-# elif BOOST_PP_SLOT_TEMP_1 == 4
-#    define BOOST_PP_ITERATION_FINISH_4_DIGIT_1 4
-# elif BOOST_PP_SLOT_TEMP_1 == 5
-#    define BOOST_PP_ITERATION_FINISH_4_DIGIT_1 5
-# elif BOOST_PP_SLOT_TEMP_1 == 6
-#    define BOOST_PP_ITERATION_FINISH_4_DIGIT_1 6
-# elif BOOST_PP_SLOT_TEMP_1 == 7
-#    define BOOST_PP_ITERATION_FINISH_4_DIGIT_1 7
-# elif BOOST_PP_SLOT_TEMP_1 == 8
-#    define BOOST_PP_ITERATION_FINISH_4_DIGIT_1 8
-# elif BOOST_PP_SLOT_TEMP_1 == 9
-#    define BOOST_PP_ITERATION_FINISH_4_DIGIT_1 9
+# if NDNBOOST_PP_SLOT_TEMP_1 == 0
+#    define NDNBOOST_PP_ITERATION_FINISH_4_DIGIT_1 0
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 1
+#    define NDNBOOST_PP_ITERATION_FINISH_4_DIGIT_1 1
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 2
+#    define NDNBOOST_PP_ITERATION_FINISH_4_DIGIT_1 2
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 3
+#    define NDNBOOST_PP_ITERATION_FINISH_4_DIGIT_1 3
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 4
+#    define NDNBOOST_PP_ITERATION_FINISH_4_DIGIT_1 4
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 5
+#    define NDNBOOST_PP_ITERATION_FINISH_4_DIGIT_1 5
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 6
+#    define NDNBOOST_PP_ITERATION_FINISH_4_DIGIT_1 6
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 7
+#    define NDNBOOST_PP_ITERATION_FINISH_4_DIGIT_1 7
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 8
+#    define NDNBOOST_PP_ITERATION_FINISH_4_DIGIT_1 8
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 9
+#    define NDNBOOST_PP_ITERATION_FINISH_4_DIGIT_1 9
 # endif
 #
-# if BOOST_PP_ITERATION_FINISH_4_DIGIT_3
-#    define BOOST_PP_ITERATION_FINISH_4 BOOST_PP_SLOT_CC_3(BOOST_PP_ITERATION_FINISH_4_DIGIT_3, BOOST_PP_ITERATION_FINISH_4_DIGIT_2, BOOST_PP_ITERATION_FINISH_4_DIGIT_1)
-# elif BOOST_PP_ITERATION_FINISH_4_DIGIT_2
-#    define BOOST_PP_ITERATION_FINISH_4 BOOST_PP_SLOT_CC_2(BOOST_PP_ITERATION_FINISH_4_DIGIT_2, BOOST_PP_ITERATION_FINISH_4_DIGIT_1)
+# if NDNBOOST_PP_ITERATION_FINISH_4_DIGIT_3
+#    define NDNBOOST_PP_ITERATION_FINISH_4 NDNBOOST_PP_SLOT_CC_3(NDNBOOST_PP_ITERATION_FINISH_4_DIGIT_3, NDNBOOST_PP_ITERATION_FINISH_4_DIGIT_2, NDNBOOST_PP_ITERATION_FINISH_4_DIGIT_1)
+# elif NDNBOOST_PP_ITERATION_FINISH_4_DIGIT_2
+#    define NDNBOOST_PP_ITERATION_FINISH_4 NDNBOOST_PP_SLOT_CC_2(NDNBOOST_PP_ITERATION_FINISH_4_DIGIT_2, NDNBOOST_PP_ITERATION_FINISH_4_DIGIT_1)
 # else
-#    define BOOST_PP_ITERATION_FINISH_4 BOOST_PP_ITERATION_FINISH_4_DIGIT_1
+#    define NDNBOOST_PP_ITERATION_FINISH_4 NDNBOOST_PP_ITERATION_FINISH_4_DIGIT_1
 # endif
diff --git a/include/ndnboost/preprocessor/iteration/detail/bounds/upper5.hpp b/include/ndnboost/preprocessor/iteration/detail/bounds/upper5.hpp
index 6cd5e2a..d787c7f 100644
--- a/include/ndnboost/preprocessor/iteration/detail/bounds/upper5.hpp
+++ b/include/ndnboost/preprocessor/iteration/detail/bounds/upper5.hpp
@@ -11,89 +11,89 @@
 #
 # include <ndnboost/preprocessor/slot/detail/shared.hpp>
 #
-# undef BOOST_PP_ITERATION_FINISH_5
+# undef NDNBOOST_PP_ITERATION_FINISH_5
 #
-# undef BOOST_PP_ITERATION_FINISH_5_DIGIT_1
-# undef BOOST_PP_ITERATION_FINISH_5_DIGIT_2
-# undef BOOST_PP_ITERATION_FINISH_5_DIGIT_3
-# undef BOOST_PP_ITERATION_FINISH_5_DIGIT_4
-# undef BOOST_PP_ITERATION_FINISH_5_DIGIT_5
-# undef BOOST_PP_ITERATION_FINISH_5_DIGIT_6
-# undef BOOST_PP_ITERATION_FINISH_5_DIGIT_7
-# undef BOOST_PP_ITERATION_FINISH_5_DIGIT_8
-# undef BOOST_PP_ITERATION_FINISH_5_DIGIT_9
-# undef BOOST_PP_ITERATION_FINISH_5_DIGIT_10
+# undef NDNBOOST_PP_ITERATION_FINISH_5_DIGIT_1
+# undef NDNBOOST_PP_ITERATION_FINISH_5_DIGIT_2
+# undef NDNBOOST_PP_ITERATION_FINISH_5_DIGIT_3
+# undef NDNBOOST_PP_ITERATION_FINISH_5_DIGIT_4
+# undef NDNBOOST_PP_ITERATION_FINISH_5_DIGIT_5
+# undef NDNBOOST_PP_ITERATION_FINISH_5_DIGIT_6
+# undef NDNBOOST_PP_ITERATION_FINISH_5_DIGIT_7
+# undef NDNBOOST_PP_ITERATION_FINISH_5_DIGIT_8
+# undef NDNBOOST_PP_ITERATION_FINISH_5_DIGIT_9
+# undef NDNBOOST_PP_ITERATION_FINISH_5_DIGIT_10
 #
-# if BOOST_PP_SLOT_TEMP_3 == 0
-#    define BOOST_PP_ITERATION_FINISH_5_DIGIT_3 0
-# elif BOOST_PP_SLOT_TEMP_3 == 1
-#    define BOOST_PP_ITERATION_FINISH_5_DIGIT_3 1
-# elif BOOST_PP_SLOT_TEMP_3 == 2
-#    define BOOST_PP_ITERATION_FINISH_5_DIGIT_3 2
-# elif BOOST_PP_SLOT_TEMP_3 == 3
-#    define BOOST_PP_ITERATION_FINISH_5_DIGIT_3 3
-# elif BOOST_PP_SLOT_TEMP_3 == 4
-#    define BOOST_PP_ITERATION_FINISH_5_DIGIT_3 4
-# elif BOOST_PP_SLOT_TEMP_3 == 5
-#    define BOOST_PP_ITERATION_FINISH_5_DIGIT_3 5
-# elif BOOST_PP_SLOT_TEMP_3 == 6
-#    define BOOST_PP_ITERATION_FINISH_5_DIGIT_3 6
-# elif BOOST_PP_SLOT_TEMP_3 == 7
-#    define BOOST_PP_ITERATION_FINISH_5_DIGIT_3 7
-# elif BOOST_PP_SLOT_TEMP_3 == 8
-#    define BOOST_PP_ITERATION_FINISH_5_DIGIT_3 8
-# elif BOOST_PP_SLOT_TEMP_3 == 9
-#    define BOOST_PP_ITERATION_FINISH_5_DIGIT_3 9
+# if NDNBOOST_PP_SLOT_TEMP_3 == 0
+#    define NDNBOOST_PP_ITERATION_FINISH_5_DIGIT_3 0
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 1
+#    define NDNBOOST_PP_ITERATION_FINISH_5_DIGIT_3 1
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 2
+#    define NDNBOOST_PP_ITERATION_FINISH_5_DIGIT_3 2
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 3
+#    define NDNBOOST_PP_ITERATION_FINISH_5_DIGIT_3 3
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 4
+#    define NDNBOOST_PP_ITERATION_FINISH_5_DIGIT_3 4
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 5
+#    define NDNBOOST_PP_ITERATION_FINISH_5_DIGIT_3 5
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 6
+#    define NDNBOOST_PP_ITERATION_FINISH_5_DIGIT_3 6
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 7
+#    define NDNBOOST_PP_ITERATION_FINISH_5_DIGIT_3 7
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 8
+#    define NDNBOOST_PP_ITERATION_FINISH_5_DIGIT_3 8
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 9
+#    define NDNBOOST_PP_ITERATION_FINISH_5_DIGIT_3 9
 # endif
 #
-# if BOOST_PP_SLOT_TEMP_2 == 0
-#    define BOOST_PP_ITERATION_FINISH_5_DIGIT_2 0
-# elif BOOST_PP_SLOT_TEMP_2 == 1
-#    define BOOST_PP_ITERATION_FINISH_5_DIGIT_2 1
-# elif BOOST_PP_SLOT_TEMP_2 == 2
-#    define BOOST_PP_ITERATION_FINISH_5_DIGIT_2 2
-# elif BOOST_PP_SLOT_TEMP_2 == 3
-#    define BOOST_PP_ITERATION_FINISH_5_DIGIT_2 3
-# elif BOOST_PP_SLOT_TEMP_2 == 4
-#    define BOOST_PP_ITERATION_FINISH_5_DIGIT_2 4
-# elif BOOST_PP_SLOT_TEMP_2 == 5
-#    define BOOST_PP_ITERATION_FINISH_5_DIGIT_2 5
-# elif BOOST_PP_SLOT_TEMP_2 == 6
-#    define BOOST_PP_ITERATION_FINISH_5_DIGIT_2 6
-# elif BOOST_PP_SLOT_TEMP_2 == 7
-#    define BOOST_PP_ITERATION_FINISH_5_DIGIT_2 7
-# elif BOOST_PP_SLOT_TEMP_2 == 8
-#    define BOOST_PP_ITERATION_FINISH_5_DIGIT_2 8
-# elif BOOST_PP_SLOT_TEMP_2 == 9
-#    define BOOST_PP_ITERATION_FINISH_5_DIGIT_2 9
+# if NDNBOOST_PP_SLOT_TEMP_2 == 0
+#    define NDNBOOST_PP_ITERATION_FINISH_5_DIGIT_2 0
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 1
+#    define NDNBOOST_PP_ITERATION_FINISH_5_DIGIT_2 1
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 2
+#    define NDNBOOST_PP_ITERATION_FINISH_5_DIGIT_2 2
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 3
+#    define NDNBOOST_PP_ITERATION_FINISH_5_DIGIT_2 3
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 4
+#    define NDNBOOST_PP_ITERATION_FINISH_5_DIGIT_2 4
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 5
+#    define NDNBOOST_PP_ITERATION_FINISH_5_DIGIT_2 5
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 6
+#    define NDNBOOST_PP_ITERATION_FINISH_5_DIGIT_2 6
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 7
+#    define NDNBOOST_PP_ITERATION_FINISH_5_DIGIT_2 7
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 8
+#    define NDNBOOST_PP_ITERATION_FINISH_5_DIGIT_2 8
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 9
+#    define NDNBOOST_PP_ITERATION_FINISH_5_DIGIT_2 9
 # endif
 #
-# if BOOST_PP_SLOT_TEMP_1 == 0
-#    define BOOST_PP_ITERATION_FINISH_5_DIGIT_1 0
-# elif BOOST_PP_SLOT_TEMP_1 == 1
-#    define BOOST_PP_ITERATION_FINISH_5_DIGIT_1 1
-# elif BOOST_PP_SLOT_TEMP_1 == 2
-#    define BOOST_PP_ITERATION_FINISH_5_DIGIT_1 2
-# elif BOOST_PP_SLOT_TEMP_1 == 3
-#    define BOOST_PP_ITERATION_FINISH_5_DIGIT_1 3
-# elif BOOST_PP_SLOT_TEMP_1 == 4
-#    define BOOST_PP_ITERATION_FINISH_5_DIGIT_1 4
-# elif BOOST_PP_SLOT_TEMP_1 == 5
-#    define BOOST_PP_ITERATION_FINISH_5_DIGIT_1 5
-# elif BOOST_PP_SLOT_TEMP_1 == 6
-#    define BOOST_PP_ITERATION_FINISH_5_DIGIT_1 6
-# elif BOOST_PP_SLOT_TEMP_1 == 7
-#    define BOOST_PP_ITERATION_FINISH_5_DIGIT_1 7
-# elif BOOST_PP_SLOT_TEMP_1 == 8
-#    define BOOST_PP_ITERATION_FINISH_5_DIGIT_1 8
-# elif BOOST_PP_SLOT_TEMP_1 == 9
-#    define BOOST_PP_ITERATION_FINISH_5_DIGIT_1 9
+# if NDNBOOST_PP_SLOT_TEMP_1 == 0
+#    define NDNBOOST_PP_ITERATION_FINISH_5_DIGIT_1 0
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 1
+#    define NDNBOOST_PP_ITERATION_FINISH_5_DIGIT_1 1
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 2
+#    define NDNBOOST_PP_ITERATION_FINISH_5_DIGIT_1 2
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 3
+#    define NDNBOOST_PP_ITERATION_FINISH_5_DIGIT_1 3
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 4
+#    define NDNBOOST_PP_ITERATION_FINISH_5_DIGIT_1 4
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 5
+#    define NDNBOOST_PP_ITERATION_FINISH_5_DIGIT_1 5
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 6
+#    define NDNBOOST_PP_ITERATION_FINISH_5_DIGIT_1 6
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 7
+#    define NDNBOOST_PP_ITERATION_FINISH_5_DIGIT_1 7
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 8
+#    define NDNBOOST_PP_ITERATION_FINISH_5_DIGIT_1 8
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 9
+#    define NDNBOOST_PP_ITERATION_FINISH_5_DIGIT_1 9
 # endif
 #
-# if BOOST_PP_ITERATION_FINISH_5_DIGIT_3
-#    define BOOST_PP_ITERATION_FINISH_5 BOOST_PP_SLOT_CC_3(BOOST_PP_ITERATION_FINISH_5_DIGIT_3, BOOST_PP_ITERATION_FINISH_5_DIGIT_2, BOOST_PP_ITERATION_FINISH_5_DIGIT_1)
-# elif BOOST_PP_ITERATION_FINISH_5_DIGIT_2
-#    define BOOST_PP_ITERATION_FINISH_5 BOOST_PP_SLOT_CC_2(BOOST_PP_ITERATION_FINISH_5_DIGIT_2, BOOST_PP_ITERATION_FINISH_5_DIGIT_1)
+# if NDNBOOST_PP_ITERATION_FINISH_5_DIGIT_3
+#    define NDNBOOST_PP_ITERATION_FINISH_5 NDNBOOST_PP_SLOT_CC_3(NDNBOOST_PP_ITERATION_FINISH_5_DIGIT_3, NDNBOOST_PP_ITERATION_FINISH_5_DIGIT_2, NDNBOOST_PP_ITERATION_FINISH_5_DIGIT_1)
+# elif NDNBOOST_PP_ITERATION_FINISH_5_DIGIT_2
+#    define NDNBOOST_PP_ITERATION_FINISH_5 NDNBOOST_PP_SLOT_CC_2(NDNBOOST_PP_ITERATION_FINISH_5_DIGIT_2, NDNBOOST_PP_ITERATION_FINISH_5_DIGIT_1)
 # else
-#    define BOOST_PP_ITERATION_FINISH_5 BOOST_PP_ITERATION_FINISH_5_DIGIT_1
+#    define NDNBOOST_PP_ITERATION_FINISH_5 NDNBOOST_PP_ITERATION_FINISH_5_DIGIT_1
 # endif
diff --git a/include/ndnboost/preprocessor/iteration/detail/finish.hpp b/include/ndnboost/preprocessor/iteration/detail/finish.hpp
index bcd6ca9..738172c 100644
--- a/include/ndnboost/preprocessor/iteration/detail/finish.hpp
+++ b/include/ndnboost/preprocessor/iteration/detail/finish.hpp
@@ -11,89 +11,89 @@
 #
 # include <ndnboost/preprocessor/slot/detail/shared.hpp>
 #
-# undef BOOST_PP_LOCAL_FE
+# undef NDNBOOST_PP_LOCAL_FE
 #
-# undef BOOST_PP_LOCAL_FE_DIGIT_1
-# undef BOOST_PP_LOCAL_FE_DIGIT_2
-# undef BOOST_PP_LOCAL_FE_DIGIT_3
-# undef BOOST_PP_LOCAL_FE_DIGIT_4
-# undef BOOST_PP_LOCAL_FE_DIGIT_5
-# undef BOOST_PP_LOCAL_FE_DIGIT_6
-# undef BOOST_PP_LOCAL_FE_DIGIT_7
-# undef BOOST_PP_LOCAL_FE_DIGIT_8
-# undef BOOST_PP_LOCAL_FE_DIGIT_9
-# undef BOOST_PP_LOCAL_FE_DIGIT_10
+# undef NDNBOOST_PP_LOCAL_FE_DIGIT_1
+# undef NDNBOOST_PP_LOCAL_FE_DIGIT_2
+# undef NDNBOOST_PP_LOCAL_FE_DIGIT_3
+# undef NDNBOOST_PP_LOCAL_FE_DIGIT_4
+# undef NDNBOOST_PP_LOCAL_FE_DIGIT_5
+# undef NDNBOOST_PP_LOCAL_FE_DIGIT_6
+# undef NDNBOOST_PP_LOCAL_FE_DIGIT_7
+# undef NDNBOOST_PP_LOCAL_FE_DIGIT_8
+# undef NDNBOOST_PP_LOCAL_FE_DIGIT_9
+# undef NDNBOOST_PP_LOCAL_FE_DIGIT_10
 #
-# if BOOST_PP_SLOT_TEMP_3 == 0
-#    define BOOST_PP_LOCAL_FE_DIGIT_3 0
-# elif BOOST_PP_SLOT_TEMP_3 == 1
-#    define BOOST_PP_LOCAL_FE_DIGIT_3 1
-# elif BOOST_PP_SLOT_TEMP_3 == 2
-#    define BOOST_PP_LOCAL_FE_DIGIT_3 2
-# elif BOOST_PP_SLOT_TEMP_3 == 3
-#    define BOOST_PP_LOCAL_FE_DIGIT_3 3
-# elif BOOST_PP_SLOT_TEMP_3 == 4
-#    define BOOST_PP_LOCAL_FE_DIGIT_3 4
-# elif BOOST_PP_SLOT_TEMP_3 == 5
-#    define BOOST_PP_LOCAL_FE_DIGIT_3 5
-# elif BOOST_PP_SLOT_TEMP_3 == 6
-#    define BOOST_PP_LOCAL_FE_DIGIT_3 6
-# elif BOOST_PP_SLOT_TEMP_3 == 7
-#    define BOOST_PP_LOCAL_FE_DIGIT_3 7
-# elif BOOST_PP_SLOT_TEMP_3 == 8
-#    define BOOST_PP_LOCAL_FE_DIGIT_3 8
-# elif BOOST_PP_SLOT_TEMP_3 == 9
-#    define BOOST_PP_LOCAL_FE_DIGIT_3 9
+# if NDNBOOST_PP_SLOT_TEMP_3 == 0
+#    define NDNBOOST_PP_LOCAL_FE_DIGIT_3 0
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 1
+#    define NDNBOOST_PP_LOCAL_FE_DIGIT_3 1
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 2
+#    define NDNBOOST_PP_LOCAL_FE_DIGIT_3 2
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 3
+#    define NDNBOOST_PP_LOCAL_FE_DIGIT_3 3
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 4
+#    define NDNBOOST_PP_LOCAL_FE_DIGIT_3 4
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 5
+#    define NDNBOOST_PP_LOCAL_FE_DIGIT_3 5
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 6
+#    define NDNBOOST_PP_LOCAL_FE_DIGIT_3 6
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 7
+#    define NDNBOOST_PP_LOCAL_FE_DIGIT_3 7
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 8
+#    define NDNBOOST_PP_LOCAL_FE_DIGIT_3 8
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 9
+#    define NDNBOOST_PP_LOCAL_FE_DIGIT_3 9
 # endif
 #
-# if BOOST_PP_SLOT_TEMP_2 == 0
-#    define BOOST_PP_LOCAL_FE_DIGIT_2 0
-# elif BOOST_PP_SLOT_TEMP_2 == 1
-#    define BOOST_PP_LOCAL_FE_DIGIT_2 1
-# elif BOOST_PP_SLOT_TEMP_2 == 2
-#    define BOOST_PP_LOCAL_FE_DIGIT_2 2
-# elif BOOST_PP_SLOT_TEMP_2 == 3
-#    define BOOST_PP_LOCAL_FE_DIGIT_2 3
-# elif BOOST_PP_SLOT_TEMP_2 == 4
-#    define BOOST_PP_LOCAL_FE_DIGIT_2 4
-# elif BOOST_PP_SLOT_TEMP_2 == 5
-#    define BOOST_PP_LOCAL_FE_DIGIT_2 5
-# elif BOOST_PP_SLOT_TEMP_2 == 6
-#    define BOOST_PP_LOCAL_FE_DIGIT_2 6
-# elif BOOST_PP_SLOT_TEMP_2 == 7
-#    define BOOST_PP_LOCAL_FE_DIGIT_2 7
-# elif BOOST_PP_SLOT_TEMP_2 == 8
-#    define BOOST_PP_LOCAL_FE_DIGIT_2 8
-# elif BOOST_PP_SLOT_TEMP_2 == 9
-#    define BOOST_PP_LOCAL_FE_DIGIT_2 9
+# if NDNBOOST_PP_SLOT_TEMP_2 == 0
+#    define NDNBOOST_PP_LOCAL_FE_DIGIT_2 0
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 1
+#    define NDNBOOST_PP_LOCAL_FE_DIGIT_2 1
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 2
+#    define NDNBOOST_PP_LOCAL_FE_DIGIT_2 2
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 3
+#    define NDNBOOST_PP_LOCAL_FE_DIGIT_2 3
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 4
+#    define NDNBOOST_PP_LOCAL_FE_DIGIT_2 4
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 5
+#    define NDNBOOST_PP_LOCAL_FE_DIGIT_2 5
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 6
+#    define NDNBOOST_PP_LOCAL_FE_DIGIT_2 6
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 7
+#    define NDNBOOST_PP_LOCAL_FE_DIGIT_2 7
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 8
+#    define NDNBOOST_PP_LOCAL_FE_DIGIT_2 8
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 9
+#    define NDNBOOST_PP_LOCAL_FE_DIGIT_2 9
 # endif
 #
-# if BOOST_PP_SLOT_TEMP_1 == 0
-#    define BOOST_PP_LOCAL_FE_DIGIT_1 0
-# elif BOOST_PP_SLOT_TEMP_1 == 1
-#    define BOOST_PP_LOCAL_FE_DIGIT_1 1
-# elif BOOST_PP_SLOT_TEMP_1 == 2
-#    define BOOST_PP_LOCAL_FE_DIGIT_1 2
-# elif BOOST_PP_SLOT_TEMP_1 == 3
-#    define BOOST_PP_LOCAL_FE_DIGIT_1 3
-# elif BOOST_PP_SLOT_TEMP_1 == 4
-#    define BOOST_PP_LOCAL_FE_DIGIT_1 4
-# elif BOOST_PP_SLOT_TEMP_1 == 5
-#    define BOOST_PP_LOCAL_FE_DIGIT_1 5
-# elif BOOST_PP_SLOT_TEMP_1 == 6
-#    define BOOST_PP_LOCAL_FE_DIGIT_1 6
-# elif BOOST_PP_SLOT_TEMP_1 == 7
-#    define BOOST_PP_LOCAL_FE_DIGIT_1 7
-# elif BOOST_PP_SLOT_TEMP_1 == 8
-#    define BOOST_PP_LOCAL_FE_DIGIT_1 8
-# elif BOOST_PP_SLOT_TEMP_1 == 9
-#    define BOOST_PP_LOCAL_FE_DIGIT_1 9
+# if NDNBOOST_PP_SLOT_TEMP_1 == 0
+#    define NDNBOOST_PP_LOCAL_FE_DIGIT_1 0
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 1
+#    define NDNBOOST_PP_LOCAL_FE_DIGIT_1 1
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 2
+#    define NDNBOOST_PP_LOCAL_FE_DIGIT_1 2
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 3
+#    define NDNBOOST_PP_LOCAL_FE_DIGIT_1 3
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 4
+#    define NDNBOOST_PP_LOCAL_FE_DIGIT_1 4
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 5
+#    define NDNBOOST_PP_LOCAL_FE_DIGIT_1 5
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 6
+#    define NDNBOOST_PP_LOCAL_FE_DIGIT_1 6
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 7
+#    define NDNBOOST_PP_LOCAL_FE_DIGIT_1 7
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 8
+#    define NDNBOOST_PP_LOCAL_FE_DIGIT_1 8
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 9
+#    define NDNBOOST_PP_LOCAL_FE_DIGIT_1 9
 # endif
 #
-# if BOOST_PP_LOCAL_FE_DIGIT_3
-#    define BOOST_PP_LOCAL_FE() BOOST_PP_SLOT_CC_3(BOOST_PP_LOCAL_FE_DIGIT_3, BOOST_PP_LOCAL_FE_DIGIT_2, BOOST_PP_LOCAL_FE_DIGIT_1)
-# elif BOOST_PP_LOCAL_FE_DIGIT_2
-#    define BOOST_PP_LOCAL_FE() BOOST_PP_SLOT_CC_2(BOOST_PP_LOCAL_FE_DIGIT_2, BOOST_PP_LOCAL_FE_DIGIT_1)
+# if NDNBOOST_PP_LOCAL_FE_DIGIT_3
+#    define NDNBOOST_PP_LOCAL_FE() NDNBOOST_PP_SLOT_CC_3(NDNBOOST_PP_LOCAL_FE_DIGIT_3, NDNBOOST_PP_LOCAL_FE_DIGIT_2, NDNBOOST_PP_LOCAL_FE_DIGIT_1)
+# elif NDNBOOST_PP_LOCAL_FE_DIGIT_2
+#    define NDNBOOST_PP_LOCAL_FE() NDNBOOST_PP_SLOT_CC_2(NDNBOOST_PP_LOCAL_FE_DIGIT_2, NDNBOOST_PP_LOCAL_FE_DIGIT_1)
 # else
-#    define BOOST_PP_LOCAL_FE() BOOST_PP_LOCAL_FE_DIGIT_1
+#    define NDNBOOST_PP_LOCAL_FE() NDNBOOST_PP_LOCAL_FE_DIGIT_1
 # endif
diff --git a/include/ndnboost/preprocessor/iteration/detail/iter/forward1.hpp b/include/ndnboost/preprocessor/iteration/detail/iter/forward1.hpp
index 542e1c3..dd29460 100644
--- a/include/ndnboost/preprocessor/iteration/detail/iter/forward1.hpp
+++ b/include/ndnboost/preprocessor/iteration/detail/iter/forward1.hpp
@@ -9,1334 +9,1334 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# if defined(BOOST_PP_ITERATION_LIMITS)
-#    if !defined(BOOST_PP_FILENAME_1)
-#        error BOOST_PP_ERROR:  depth #1 filename is not defined
+# if defined(NDNBOOST_PP_ITERATION_LIMITS)
+#    if !defined(NDNBOOST_PP_FILENAME_1)
+#        error NDNBOOST_PP_ERROR:  depth #1 filename is not defined
 #    endif
-#    define BOOST_PP_VALUE BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_ITERATION_LIMITS)
+#    define NDNBOOST_PP_VALUE NDNBOOST_PP_TUPLE_ELEM(2, 0, NDNBOOST_PP_ITERATION_LIMITS)
 #    include <ndnboost/preprocessor/iteration/detail/bounds/lower1.hpp>
-#    define BOOST_PP_VALUE BOOST_PP_TUPLE_ELEM(2, 1, BOOST_PP_ITERATION_LIMITS)
+#    define NDNBOOST_PP_VALUE NDNBOOST_PP_TUPLE_ELEM(2, 1, NDNBOOST_PP_ITERATION_LIMITS)
 #    include <ndnboost/preprocessor/iteration/detail/bounds/upper1.hpp>
-#    define BOOST_PP_ITERATION_FLAGS_1() 0
-#    undef BOOST_PP_ITERATION_LIMITS
-# elif defined(BOOST_PP_ITERATION_PARAMS_1)
-#    define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(0, BOOST_PP_ITERATION_PARAMS_1)
+#    define NDNBOOST_PP_ITERATION_FLAGS_1() 0
+#    undef NDNBOOST_PP_ITERATION_LIMITS
+# elif defined(NDNBOOST_PP_ITERATION_PARAMS_1)
+#    define NDNBOOST_PP_VALUE NDNBOOST_PP_ARRAY_ELEM(0, NDNBOOST_PP_ITERATION_PARAMS_1)
 #    include <ndnboost/preprocessor/iteration/detail/bounds/lower1.hpp>
-#    define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(1, BOOST_PP_ITERATION_PARAMS_1)
+#    define NDNBOOST_PP_VALUE NDNBOOST_PP_ARRAY_ELEM(1, NDNBOOST_PP_ITERATION_PARAMS_1)
 #    include <ndnboost/preprocessor/iteration/detail/bounds/upper1.hpp>
-#    define BOOST_PP_FILENAME_1 BOOST_PP_ARRAY_ELEM(2, BOOST_PP_ITERATION_PARAMS_1)
-#    if BOOST_PP_ARRAY_SIZE(BOOST_PP_ITERATION_PARAMS_1) >= 4
-#        define BOOST_PP_ITERATION_FLAGS_1() BOOST_PP_ARRAY_ELEM(3, BOOST_PP_ITERATION_PARAMS_1)
+#    define NDNBOOST_PP_FILENAME_1 NDNBOOST_PP_ARRAY_ELEM(2, NDNBOOST_PP_ITERATION_PARAMS_1)
+#    if NDNBOOST_PP_ARRAY_SIZE(NDNBOOST_PP_ITERATION_PARAMS_1) >= 4
+#        define NDNBOOST_PP_ITERATION_FLAGS_1() NDNBOOST_PP_ARRAY_ELEM(3, NDNBOOST_PP_ITERATION_PARAMS_1)
 #    else
-#        define BOOST_PP_ITERATION_FLAGS_1() 0
+#        define NDNBOOST_PP_ITERATION_FLAGS_1() 0
 #    endif
 # else
-#    error BOOST_PP_ERROR:  depth #1 iteration boundaries or filename not defined
+#    error NDNBOOST_PP_ERROR:  depth #1 iteration boundaries or filename not defined
 # endif
 #
-# undef BOOST_PP_ITERATION_DEPTH
-# define BOOST_PP_ITERATION_DEPTH() 1
+# undef NDNBOOST_PP_ITERATION_DEPTH
+# define NDNBOOST_PP_ITERATION_DEPTH() 1
 #
-# define BOOST_PP_IS_ITERATING 1
+# define NDNBOOST_PP_IS_ITERATING 1
 #
-# if (BOOST_PP_ITERATION_START_1) > (BOOST_PP_ITERATION_FINISH_1)
+# if (NDNBOOST_PP_ITERATION_START_1) > (NDNBOOST_PP_ITERATION_FINISH_1)
 #    include <ndnboost/preprocessor/iteration/detail/iter/reverse1.hpp>
 # else
-#    if BOOST_PP_ITERATION_START_1 <= 0 && BOOST_PP_ITERATION_FINISH_1 >= 0
-#        define BOOST_PP_ITERATION_1 0
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 0 && NDNBOOST_PP_ITERATION_FINISH_1 >= 0
+#        define NDNBOOST_PP_ITERATION_1 0
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 1 && BOOST_PP_ITERATION_FINISH_1 >= 1
-#        define BOOST_PP_ITERATION_1 1
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 1 && NDNBOOST_PP_ITERATION_FINISH_1 >= 1
+#        define NDNBOOST_PP_ITERATION_1 1
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 2 && BOOST_PP_ITERATION_FINISH_1 >= 2
-#        define BOOST_PP_ITERATION_1 2
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 2 && NDNBOOST_PP_ITERATION_FINISH_1 >= 2
+#        define NDNBOOST_PP_ITERATION_1 2
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 3 && BOOST_PP_ITERATION_FINISH_1 >= 3
-#        define BOOST_PP_ITERATION_1 3
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 3 && NDNBOOST_PP_ITERATION_FINISH_1 >= 3
+#        define NDNBOOST_PP_ITERATION_1 3
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 4 && BOOST_PP_ITERATION_FINISH_1 >= 4
-#        define BOOST_PP_ITERATION_1 4
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 4 && NDNBOOST_PP_ITERATION_FINISH_1 >= 4
+#        define NDNBOOST_PP_ITERATION_1 4
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 5 && BOOST_PP_ITERATION_FINISH_1 >= 5
-#        define BOOST_PP_ITERATION_1 5
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 5 && NDNBOOST_PP_ITERATION_FINISH_1 >= 5
+#        define NDNBOOST_PP_ITERATION_1 5
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 6 && BOOST_PP_ITERATION_FINISH_1 >= 6
-#        define BOOST_PP_ITERATION_1 6
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 6 && NDNBOOST_PP_ITERATION_FINISH_1 >= 6
+#        define NDNBOOST_PP_ITERATION_1 6
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 7 && BOOST_PP_ITERATION_FINISH_1 >= 7
-#        define BOOST_PP_ITERATION_1 7
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 7 && NDNBOOST_PP_ITERATION_FINISH_1 >= 7
+#        define NDNBOOST_PP_ITERATION_1 7
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 8 && BOOST_PP_ITERATION_FINISH_1 >= 8
-#        define BOOST_PP_ITERATION_1 8
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 8 && NDNBOOST_PP_ITERATION_FINISH_1 >= 8
+#        define NDNBOOST_PP_ITERATION_1 8
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 9 && BOOST_PP_ITERATION_FINISH_1 >= 9
-#        define BOOST_PP_ITERATION_1 9
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 9 && NDNBOOST_PP_ITERATION_FINISH_1 >= 9
+#        define NDNBOOST_PP_ITERATION_1 9
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 10 && BOOST_PP_ITERATION_FINISH_1 >= 10
-#        define BOOST_PP_ITERATION_1 10
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 10 && NDNBOOST_PP_ITERATION_FINISH_1 >= 10
+#        define NDNBOOST_PP_ITERATION_1 10
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 11 && BOOST_PP_ITERATION_FINISH_1 >= 11
-#        define BOOST_PP_ITERATION_1 11
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 11 && NDNBOOST_PP_ITERATION_FINISH_1 >= 11
+#        define NDNBOOST_PP_ITERATION_1 11
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 12 && BOOST_PP_ITERATION_FINISH_1 >= 12
-#        define BOOST_PP_ITERATION_1 12
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 12 && NDNBOOST_PP_ITERATION_FINISH_1 >= 12
+#        define NDNBOOST_PP_ITERATION_1 12
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 13 && BOOST_PP_ITERATION_FINISH_1 >= 13
-#        define BOOST_PP_ITERATION_1 13
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 13 && NDNBOOST_PP_ITERATION_FINISH_1 >= 13
+#        define NDNBOOST_PP_ITERATION_1 13
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 14 && BOOST_PP_ITERATION_FINISH_1 >= 14
-#        define BOOST_PP_ITERATION_1 14
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 14 && NDNBOOST_PP_ITERATION_FINISH_1 >= 14
+#        define NDNBOOST_PP_ITERATION_1 14
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 15 && BOOST_PP_ITERATION_FINISH_1 >= 15
-#        define BOOST_PP_ITERATION_1 15
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 15 && NDNBOOST_PP_ITERATION_FINISH_1 >= 15
+#        define NDNBOOST_PP_ITERATION_1 15
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 16 && BOOST_PP_ITERATION_FINISH_1 >= 16
-#        define BOOST_PP_ITERATION_1 16
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 16 && NDNBOOST_PP_ITERATION_FINISH_1 >= 16
+#        define NDNBOOST_PP_ITERATION_1 16
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 17 && BOOST_PP_ITERATION_FINISH_1 >= 17
-#        define BOOST_PP_ITERATION_1 17
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 17 && NDNBOOST_PP_ITERATION_FINISH_1 >= 17
+#        define NDNBOOST_PP_ITERATION_1 17
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 18 && BOOST_PP_ITERATION_FINISH_1 >= 18
-#        define BOOST_PP_ITERATION_1 18
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 18 && NDNBOOST_PP_ITERATION_FINISH_1 >= 18
+#        define NDNBOOST_PP_ITERATION_1 18
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 19 && BOOST_PP_ITERATION_FINISH_1 >= 19
-#        define BOOST_PP_ITERATION_1 19
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 19 && NDNBOOST_PP_ITERATION_FINISH_1 >= 19
+#        define NDNBOOST_PP_ITERATION_1 19
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 20 && BOOST_PP_ITERATION_FINISH_1 >= 20
-#        define BOOST_PP_ITERATION_1 20
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 20 && NDNBOOST_PP_ITERATION_FINISH_1 >= 20
+#        define NDNBOOST_PP_ITERATION_1 20
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 21 && BOOST_PP_ITERATION_FINISH_1 >= 21
-#        define BOOST_PP_ITERATION_1 21
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 21 && NDNBOOST_PP_ITERATION_FINISH_1 >= 21
+#        define NDNBOOST_PP_ITERATION_1 21
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 22 && BOOST_PP_ITERATION_FINISH_1 >= 22
-#        define BOOST_PP_ITERATION_1 22
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 22 && NDNBOOST_PP_ITERATION_FINISH_1 >= 22
+#        define NDNBOOST_PP_ITERATION_1 22
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 23 && BOOST_PP_ITERATION_FINISH_1 >= 23
-#        define BOOST_PP_ITERATION_1 23
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 23 && NDNBOOST_PP_ITERATION_FINISH_1 >= 23
+#        define NDNBOOST_PP_ITERATION_1 23
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 24 && BOOST_PP_ITERATION_FINISH_1 >= 24
-#        define BOOST_PP_ITERATION_1 24
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 24 && NDNBOOST_PP_ITERATION_FINISH_1 >= 24
+#        define NDNBOOST_PP_ITERATION_1 24
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 25 && BOOST_PP_ITERATION_FINISH_1 >= 25
-#        define BOOST_PP_ITERATION_1 25
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 25 && NDNBOOST_PP_ITERATION_FINISH_1 >= 25
+#        define NDNBOOST_PP_ITERATION_1 25
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 26 && BOOST_PP_ITERATION_FINISH_1 >= 26
-#        define BOOST_PP_ITERATION_1 26
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 26 && NDNBOOST_PP_ITERATION_FINISH_1 >= 26
+#        define NDNBOOST_PP_ITERATION_1 26
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 27 && BOOST_PP_ITERATION_FINISH_1 >= 27
-#        define BOOST_PP_ITERATION_1 27
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 27 && NDNBOOST_PP_ITERATION_FINISH_1 >= 27
+#        define NDNBOOST_PP_ITERATION_1 27
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 28 && BOOST_PP_ITERATION_FINISH_1 >= 28
-#        define BOOST_PP_ITERATION_1 28
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 28 && NDNBOOST_PP_ITERATION_FINISH_1 >= 28
+#        define NDNBOOST_PP_ITERATION_1 28
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 29 && BOOST_PP_ITERATION_FINISH_1 >= 29
-#        define BOOST_PP_ITERATION_1 29
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 29 && NDNBOOST_PP_ITERATION_FINISH_1 >= 29
+#        define NDNBOOST_PP_ITERATION_1 29
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 30 && BOOST_PP_ITERATION_FINISH_1 >= 30
-#        define BOOST_PP_ITERATION_1 30
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 30 && NDNBOOST_PP_ITERATION_FINISH_1 >= 30
+#        define NDNBOOST_PP_ITERATION_1 30
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 31 && BOOST_PP_ITERATION_FINISH_1 >= 31
-#        define BOOST_PP_ITERATION_1 31
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 31 && NDNBOOST_PP_ITERATION_FINISH_1 >= 31
+#        define NDNBOOST_PP_ITERATION_1 31
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 32 && BOOST_PP_ITERATION_FINISH_1 >= 32
-#        define BOOST_PP_ITERATION_1 32
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 32 && NDNBOOST_PP_ITERATION_FINISH_1 >= 32
+#        define NDNBOOST_PP_ITERATION_1 32
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 33 && BOOST_PP_ITERATION_FINISH_1 >= 33
-#        define BOOST_PP_ITERATION_1 33
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 33 && NDNBOOST_PP_ITERATION_FINISH_1 >= 33
+#        define NDNBOOST_PP_ITERATION_1 33
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 34 && BOOST_PP_ITERATION_FINISH_1 >= 34
-#        define BOOST_PP_ITERATION_1 34
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 34 && NDNBOOST_PP_ITERATION_FINISH_1 >= 34
+#        define NDNBOOST_PP_ITERATION_1 34
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 35 && BOOST_PP_ITERATION_FINISH_1 >= 35
-#        define BOOST_PP_ITERATION_1 35
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 35 && NDNBOOST_PP_ITERATION_FINISH_1 >= 35
+#        define NDNBOOST_PP_ITERATION_1 35
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 36 && BOOST_PP_ITERATION_FINISH_1 >= 36
-#        define BOOST_PP_ITERATION_1 36
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 36 && NDNBOOST_PP_ITERATION_FINISH_1 >= 36
+#        define NDNBOOST_PP_ITERATION_1 36
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 37 && BOOST_PP_ITERATION_FINISH_1 >= 37
-#        define BOOST_PP_ITERATION_1 37
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 37 && NDNBOOST_PP_ITERATION_FINISH_1 >= 37
+#        define NDNBOOST_PP_ITERATION_1 37
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 38 && BOOST_PP_ITERATION_FINISH_1 >= 38
-#        define BOOST_PP_ITERATION_1 38
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 38 && NDNBOOST_PP_ITERATION_FINISH_1 >= 38
+#        define NDNBOOST_PP_ITERATION_1 38
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 39 && BOOST_PP_ITERATION_FINISH_1 >= 39
-#        define BOOST_PP_ITERATION_1 39
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 39 && NDNBOOST_PP_ITERATION_FINISH_1 >= 39
+#        define NDNBOOST_PP_ITERATION_1 39
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 40 && BOOST_PP_ITERATION_FINISH_1 >= 40
-#        define BOOST_PP_ITERATION_1 40
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 40 && NDNBOOST_PP_ITERATION_FINISH_1 >= 40
+#        define NDNBOOST_PP_ITERATION_1 40
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 41 && BOOST_PP_ITERATION_FINISH_1 >= 41
-#        define BOOST_PP_ITERATION_1 41
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 41 && NDNBOOST_PP_ITERATION_FINISH_1 >= 41
+#        define NDNBOOST_PP_ITERATION_1 41
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 42 && BOOST_PP_ITERATION_FINISH_1 >= 42
-#        define BOOST_PP_ITERATION_1 42
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 42 && NDNBOOST_PP_ITERATION_FINISH_1 >= 42
+#        define NDNBOOST_PP_ITERATION_1 42
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 43 && BOOST_PP_ITERATION_FINISH_1 >= 43
-#        define BOOST_PP_ITERATION_1 43
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 43 && NDNBOOST_PP_ITERATION_FINISH_1 >= 43
+#        define NDNBOOST_PP_ITERATION_1 43
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 44 && BOOST_PP_ITERATION_FINISH_1 >= 44
-#        define BOOST_PP_ITERATION_1 44
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 44 && NDNBOOST_PP_ITERATION_FINISH_1 >= 44
+#        define NDNBOOST_PP_ITERATION_1 44
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 45 && BOOST_PP_ITERATION_FINISH_1 >= 45
-#        define BOOST_PP_ITERATION_1 45
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 45 && NDNBOOST_PP_ITERATION_FINISH_1 >= 45
+#        define NDNBOOST_PP_ITERATION_1 45
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 46 && BOOST_PP_ITERATION_FINISH_1 >= 46
-#        define BOOST_PP_ITERATION_1 46
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 46 && NDNBOOST_PP_ITERATION_FINISH_1 >= 46
+#        define NDNBOOST_PP_ITERATION_1 46
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 47 && BOOST_PP_ITERATION_FINISH_1 >= 47
-#        define BOOST_PP_ITERATION_1 47
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 47 && NDNBOOST_PP_ITERATION_FINISH_1 >= 47
+#        define NDNBOOST_PP_ITERATION_1 47
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 48 && BOOST_PP_ITERATION_FINISH_1 >= 48
-#        define BOOST_PP_ITERATION_1 48
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 48 && NDNBOOST_PP_ITERATION_FINISH_1 >= 48
+#        define NDNBOOST_PP_ITERATION_1 48
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 49 && BOOST_PP_ITERATION_FINISH_1 >= 49
-#        define BOOST_PP_ITERATION_1 49
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 49 && NDNBOOST_PP_ITERATION_FINISH_1 >= 49
+#        define NDNBOOST_PP_ITERATION_1 49
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 50 && BOOST_PP_ITERATION_FINISH_1 >= 50
-#        define BOOST_PP_ITERATION_1 50
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 50 && NDNBOOST_PP_ITERATION_FINISH_1 >= 50
+#        define NDNBOOST_PP_ITERATION_1 50
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 51 && BOOST_PP_ITERATION_FINISH_1 >= 51
-#        define BOOST_PP_ITERATION_1 51
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 51 && NDNBOOST_PP_ITERATION_FINISH_1 >= 51
+#        define NDNBOOST_PP_ITERATION_1 51
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 52 && BOOST_PP_ITERATION_FINISH_1 >= 52
-#        define BOOST_PP_ITERATION_1 52
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 52 && NDNBOOST_PP_ITERATION_FINISH_1 >= 52
+#        define NDNBOOST_PP_ITERATION_1 52
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 53 && BOOST_PP_ITERATION_FINISH_1 >= 53
-#        define BOOST_PP_ITERATION_1 53
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 53 && NDNBOOST_PP_ITERATION_FINISH_1 >= 53
+#        define NDNBOOST_PP_ITERATION_1 53
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 54 && BOOST_PP_ITERATION_FINISH_1 >= 54
-#        define BOOST_PP_ITERATION_1 54
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 54 && NDNBOOST_PP_ITERATION_FINISH_1 >= 54
+#        define NDNBOOST_PP_ITERATION_1 54
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 55 && BOOST_PP_ITERATION_FINISH_1 >= 55
-#        define BOOST_PP_ITERATION_1 55
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 55 && NDNBOOST_PP_ITERATION_FINISH_1 >= 55
+#        define NDNBOOST_PP_ITERATION_1 55
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 56 && BOOST_PP_ITERATION_FINISH_1 >= 56
-#        define BOOST_PP_ITERATION_1 56
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 56 && NDNBOOST_PP_ITERATION_FINISH_1 >= 56
+#        define NDNBOOST_PP_ITERATION_1 56
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 57 && BOOST_PP_ITERATION_FINISH_1 >= 57
-#        define BOOST_PP_ITERATION_1 57
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 57 && NDNBOOST_PP_ITERATION_FINISH_1 >= 57
+#        define NDNBOOST_PP_ITERATION_1 57
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 58 && BOOST_PP_ITERATION_FINISH_1 >= 58
-#        define BOOST_PP_ITERATION_1 58
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 58 && NDNBOOST_PP_ITERATION_FINISH_1 >= 58
+#        define NDNBOOST_PP_ITERATION_1 58
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 59 && BOOST_PP_ITERATION_FINISH_1 >= 59
-#        define BOOST_PP_ITERATION_1 59
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 59 && NDNBOOST_PP_ITERATION_FINISH_1 >= 59
+#        define NDNBOOST_PP_ITERATION_1 59
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 60 && BOOST_PP_ITERATION_FINISH_1 >= 60
-#        define BOOST_PP_ITERATION_1 60
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 60 && NDNBOOST_PP_ITERATION_FINISH_1 >= 60
+#        define NDNBOOST_PP_ITERATION_1 60
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 61 && BOOST_PP_ITERATION_FINISH_1 >= 61
-#        define BOOST_PP_ITERATION_1 61
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 61 && NDNBOOST_PP_ITERATION_FINISH_1 >= 61
+#        define NDNBOOST_PP_ITERATION_1 61
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 62 && BOOST_PP_ITERATION_FINISH_1 >= 62
-#        define BOOST_PP_ITERATION_1 62
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 62 && NDNBOOST_PP_ITERATION_FINISH_1 >= 62
+#        define NDNBOOST_PP_ITERATION_1 62
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 63 && BOOST_PP_ITERATION_FINISH_1 >= 63
-#        define BOOST_PP_ITERATION_1 63
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 63 && NDNBOOST_PP_ITERATION_FINISH_1 >= 63
+#        define NDNBOOST_PP_ITERATION_1 63
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 64 && BOOST_PP_ITERATION_FINISH_1 >= 64
-#        define BOOST_PP_ITERATION_1 64
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 64 && NDNBOOST_PP_ITERATION_FINISH_1 >= 64
+#        define NDNBOOST_PP_ITERATION_1 64
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 65 && BOOST_PP_ITERATION_FINISH_1 >= 65
-#        define BOOST_PP_ITERATION_1 65
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 65 && NDNBOOST_PP_ITERATION_FINISH_1 >= 65
+#        define NDNBOOST_PP_ITERATION_1 65
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 66 && BOOST_PP_ITERATION_FINISH_1 >= 66
-#        define BOOST_PP_ITERATION_1 66
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 66 && NDNBOOST_PP_ITERATION_FINISH_1 >= 66
+#        define NDNBOOST_PP_ITERATION_1 66
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 67 && BOOST_PP_ITERATION_FINISH_1 >= 67
-#        define BOOST_PP_ITERATION_1 67
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 67 && NDNBOOST_PP_ITERATION_FINISH_1 >= 67
+#        define NDNBOOST_PP_ITERATION_1 67
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 68 && BOOST_PP_ITERATION_FINISH_1 >= 68
-#        define BOOST_PP_ITERATION_1 68
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 68 && NDNBOOST_PP_ITERATION_FINISH_1 >= 68
+#        define NDNBOOST_PP_ITERATION_1 68
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 69 && BOOST_PP_ITERATION_FINISH_1 >= 69
-#        define BOOST_PP_ITERATION_1 69
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 69 && NDNBOOST_PP_ITERATION_FINISH_1 >= 69
+#        define NDNBOOST_PP_ITERATION_1 69
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 70 && BOOST_PP_ITERATION_FINISH_1 >= 70
-#        define BOOST_PP_ITERATION_1 70
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 70 && NDNBOOST_PP_ITERATION_FINISH_1 >= 70
+#        define NDNBOOST_PP_ITERATION_1 70
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 71 && BOOST_PP_ITERATION_FINISH_1 >= 71
-#        define BOOST_PP_ITERATION_1 71
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 71 && NDNBOOST_PP_ITERATION_FINISH_1 >= 71
+#        define NDNBOOST_PP_ITERATION_1 71
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 72 && BOOST_PP_ITERATION_FINISH_1 >= 72
-#        define BOOST_PP_ITERATION_1 72
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 72 && NDNBOOST_PP_ITERATION_FINISH_1 >= 72
+#        define NDNBOOST_PP_ITERATION_1 72
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 73 && BOOST_PP_ITERATION_FINISH_1 >= 73
-#        define BOOST_PP_ITERATION_1 73
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 73 && NDNBOOST_PP_ITERATION_FINISH_1 >= 73
+#        define NDNBOOST_PP_ITERATION_1 73
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 74 && BOOST_PP_ITERATION_FINISH_1 >= 74
-#        define BOOST_PP_ITERATION_1 74
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 74 && NDNBOOST_PP_ITERATION_FINISH_1 >= 74
+#        define NDNBOOST_PP_ITERATION_1 74
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 75 && BOOST_PP_ITERATION_FINISH_1 >= 75
-#        define BOOST_PP_ITERATION_1 75
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 75 && NDNBOOST_PP_ITERATION_FINISH_1 >= 75
+#        define NDNBOOST_PP_ITERATION_1 75
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 76 && BOOST_PP_ITERATION_FINISH_1 >= 76
-#        define BOOST_PP_ITERATION_1 76
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 76 && NDNBOOST_PP_ITERATION_FINISH_1 >= 76
+#        define NDNBOOST_PP_ITERATION_1 76
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 77 && BOOST_PP_ITERATION_FINISH_1 >= 77
-#        define BOOST_PP_ITERATION_1 77
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 77 && NDNBOOST_PP_ITERATION_FINISH_1 >= 77
+#        define NDNBOOST_PP_ITERATION_1 77
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 78 && BOOST_PP_ITERATION_FINISH_1 >= 78
-#        define BOOST_PP_ITERATION_1 78
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 78 && NDNBOOST_PP_ITERATION_FINISH_1 >= 78
+#        define NDNBOOST_PP_ITERATION_1 78
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 79 && BOOST_PP_ITERATION_FINISH_1 >= 79
-#        define BOOST_PP_ITERATION_1 79
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 79 && NDNBOOST_PP_ITERATION_FINISH_1 >= 79
+#        define NDNBOOST_PP_ITERATION_1 79
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 80 && BOOST_PP_ITERATION_FINISH_1 >= 80
-#        define BOOST_PP_ITERATION_1 80
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 80 && NDNBOOST_PP_ITERATION_FINISH_1 >= 80
+#        define NDNBOOST_PP_ITERATION_1 80
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 81 && BOOST_PP_ITERATION_FINISH_1 >= 81
-#        define BOOST_PP_ITERATION_1 81
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 81 && NDNBOOST_PP_ITERATION_FINISH_1 >= 81
+#        define NDNBOOST_PP_ITERATION_1 81
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 82 && BOOST_PP_ITERATION_FINISH_1 >= 82
-#        define BOOST_PP_ITERATION_1 82
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 82 && NDNBOOST_PP_ITERATION_FINISH_1 >= 82
+#        define NDNBOOST_PP_ITERATION_1 82
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 83 && BOOST_PP_ITERATION_FINISH_1 >= 83
-#        define BOOST_PP_ITERATION_1 83
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 83 && NDNBOOST_PP_ITERATION_FINISH_1 >= 83
+#        define NDNBOOST_PP_ITERATION_1 83
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 84 && BOOST_PP_ITERATION_FINISH_1 >= 84
-#        define BOOST_PP_ITERATION_1 84
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 84 && NDNBOOST_PP_ITERATION_FINISH_1 >= 84
+#        define NDNBOOST_PP_ITERATION_1 84
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 85 && BOOST_PP_ITERATION_FINISH_1 >= 85
-#        define BOOST_PP_ITERATION_1 85
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 85 && NDNBOOST_PP_ITERATION_FINISH_1 >= 85
+#        define NDNBOOST_PP_ITERATION_1 85
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 86 && BOOST_PP_ITERATION_FINISH_1 >= 86
-#        define BOOST_PP_ITERATION_1 86
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 86 && NDNBOOST_PP_ITERATION_FINISH_1 >= 86
+#        define NDNBOOST_PP_ITERATION_1 86
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 87 && BOOST_PP_ITERATION_FINISH_1 >= 87
-#        define BOOST_PP_ITERATION_1 87
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 87 && NDNBOOST_PP_ITERATION_FINISH_1 >= 87
+#        define NDNBOOST_PP_ITERATION_1 87
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 88 && BOOST_PP_ITERATION_FINISH_1 >= 88
-#        define BOOST_PP_ITERATION_1 88
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 88 && NDNBOOST_PP_ITERATION_FINISH_1 >= 88
+#        define NDNBOOST_PP_ITERATION_1 88
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 89 && BOOST_PP_ITERATION_FINISH_1 >= 89
-#        define BOOST_PP_ITERATION_1 89
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 89 && NDNBOOST_PP_ITERATION_FINISH_1 >= 89
+#        define NDNBOOST_PP_ITERATION_1 89
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 90 && BOOST_PP_ITERATION_FINISH_1 >= 90
-#        define BOOST_PP_ITERATION_1 90
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 90 && NDNBOOST_PP_ITERATION_FINISH_1 >= 90
+#        define NDNBOOST_PP_ITERATION_1 90
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 91 && BOOST_PP_ITERATION_FINISH_1 >= 91
-#        define BOOST_PP_ITERATION_1 91
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 91 && NDNBOOST_PP_ITERATION_FINISH_1 >= 91
+#        define NDNBOOST_PP_ITERATION_1 91
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 92 && BOOST_PP_ITERATION_FINISH_1 >= 92
-#        define BOOST_PP_ITERATION_1 92
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 92 && NDNBOOST_PP_ITERATION_FINISH_1 >= 92
+#        define NDNBOOST_PP_ITERATION_1 92
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 93 && BOOST_PP_ITERATION_FINISH_1 >= 93
-#        define BOOST_PP_ITERATION_1 93
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 93 && NDNBOOST_PP_ITERATION_FINISH_1 >= 93
+#        define NDNBOOST_PP_ITERATION_1 93
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 94 && BOOST_PP_ITERATION_FINISH_1 >= 94
-#        define BOOST_PP_ITERATION_1 94
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 94 && NDNBOOST_PP_ITERATION_FINISH_1 >= 94
+#        define NDNBOOST_PP_ITERATION_1 94
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 95 && BOOST_PP_ITERATION_FINISH_1 >= 95
-#        define BOOST_PP_ITERATION_1 95
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 95 && NDNBOOST_PP_ITERATION_FINISH_1 >= 95
+#        define NDNBOOST_PP_ITERATION_1 95
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 96 && BOOST_PP_ITERATION_FINISH_1 >= 96
-#        define BOOST_PP_ITERATION_1 96
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 96 && NDNBOOST_PP_ITERATION_FINISH_1 >= 96
+#        define NDNBOOST_PP_ITERATION_1 96
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 97 && BOOST_PP_ITERATION_FINISH_1 >= 97
-#        define BOOST_PP_ITERATION_1 97
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 97 && NDNBOOST_PP_ITERATION_FINISH_1 >= 97
+#        define NDNBOOST_PP_ITERATION_1 97
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 98 && BOOST_PP_ITERATION_FINISH_1 >= 98
-#        define BOOST_PP_ITERATION_1 98
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 98 && NDNBOOST_PP_ITERATION_FINISH_1 >= 98
+#        define NDNBOOST_PP_ITERATION_1 98
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 99 && BOOST_PP_ITERATION_FINISH_1 >= 99
-#        define BOOST_PP_ITERATION_1 99
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 99 && NDNBOOST_PP_ITERATION_FINISH_1 >= 99
+#        define NDNBOOST_PP_ITERATION_1 99
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 100 && BOOST_PP_ITERATION_FINISH_1 >= 100
-#        define BOOST_PP_ITERATION_1 100
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 100 && NDNBOOST_PP_ITERATION_FINISH_1 >= 100
+#        define NDNBOOST_PP_ITERATION_1 100
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 101 && BOOST_PP_ITERATION_FINISH_1 >= 101
-#        define BOOST_PP_ITERATION_1 101
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 101 && NDNBOOST_PP_ITERATION_FINISH_1 >= 101
+#        define NDNBOOST_PP_ITERATION_1 101
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 102 && BOOST_PP_ITERATION_FINISH_1 >= 102
-#        define BOOST_PP_ITERATION_1 102
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 102 && NDNBOOST_PP_ITERATION_FINISH_1 >= 102
+#        define NDNBOOST_PP_ITERATION_1 102
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 103 && BOOST_PP_ITERATION_FINISH_1 >= 103
-#        define BOOST_PP_ITERATION_1 103
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 103 && NDNBOOST_PP_ITERATION_FINISH_1 >= 103
+#        define NDNBOOST_PP_ITERATION_1 103
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 104 && BOOST_PP_ITERATION_FINISH_1 >= 104
-#        define BOOST_PP_ITERATION_1 104
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 104 && NDNBOOST_PP_ITERATION_FINISH_1 >= 104
+#        define NDNBOOST_PP_ITERATION_1 104
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 105 && BOOST_PP_ITERATION_FINISH_1 >= 105
-#        define BOOST_PP_ITERATION_1 105
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 105 && NDNBOOST_PP_ITERATION_FINISH_1 >= 105
+#        define NDNBOOST_PP_ITERATION_1 105
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 106 && BOOST_PP_ITERATION_FINISH_1 >= 106
-#        define BOOST_PP_ITERATION_1 106
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 106 && NDNBOOST_PP_ITERATION_FINISH_1 >= 106
+#        define NDNBOOST_PP_ITERATION_1 106
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 107 && BOOST_PP_ITERATION_FINISH_1 >= 107
-#        define BOOST_PP_ITERATION_1 107
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 107 && NDNBOOST_PP_ITERATION_FINISH_1 >= 107
+#        define NDNBOOST_PP_ITERATION_1 107
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 108 && BOOST_PP_ITERATION_FINISH_1 >= 108
-#        define BOOST_PP_ITERATION_1 108
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 108 && NDNBOOST_PP_ITERATION_FINISH_1 >= 108
+#        define NDNBOOST_PP_ITERATION_1 108
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 109 && BOOST_PP_ITERATION_FINISH_1 >= 109
-#        define BOOST_PP_ITERATION_1 109
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 109 && NDNBOOST_PP_ITERATION_FINISH_1 >= 109
+#        define NDNBOOST_PP_ITERATION_1 109
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 110 && BOOST_PP_ITERATION_FINISH_1 >= 110
-#        define BOOST_PP_ITERATION_1 110
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 110 && NDNBOOST_PP_ITERATION_FINISH_1 >= 110
+#        define NDNBOOST_PP_ITERATION_1 110
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 111 && BOOST_PP_ITERATION_FINISH_1 >= 111
-#        define BOOST_PP_ITERATION_1 111
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 111 && NDNBOOST_PP_ITERATION_FINISH_1 >= 111
+#        define NDNBOOST_PP_ITERATION_1 111
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 112 && BOOST_PP_ITERATION_FINISH_1 >= 112
-#        define BOOST_PP_ITERATION_1 112
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 112 && NDNBOOST_PP_ITERATION_FINISH_1 >= 112
+#        define NDNBOOST_PP_ITERATION_1 112
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 113 && BOOST_PP_ITERATION_FINISH_1 >= 113
-#        define BOOST_PP_ITERATION_1 113
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 113 && NDNBOOST_PP_ITERATION_FINISH_1 >= 113
+#        define NDNBOOST_PP_ITERATION_1 113
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 114 && BOOST_PP_ITERATION_FINISH_1 >= 114
-#        define BOOST_PP_ITERATION_1 114
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 114 && NDNBOOST_PP_ITERATION_FINISH_1 >= 114
+#        define NDNBOOST_PP_ITERATION_1 114
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 115 && BOOST_PP_ITERATION_FINISH_1 >= 115
-#        define BOOST_PP_ITERATION_1 115
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 115 && NDNBOOST_PP_ITERATION_FINISH_1 >= 115
+#        define NDNBOOST_PP_ITERATION_1 115
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 116 && BOOST_PP_ITERATION_FINISH_1 >= 116
-#        define BOOST_PP_ITERATION_1 116
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 116 && NDNBOOST_PP_ITERATION_FINISH_1 >= 116
+#        define NDNBOOST_PP_ITERATION_1 116
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 117 && BOOST_PP_ITERATION_FINISH_1 >= 117
-#        define BOOST_PP_ITERATION_1 117
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 117 && NDNBOOST_PP_ITERATION_FINISH_1 >= 117
+#        define NDNBOOST_PP_ITERATION_1 117
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 118 && BOOST_PP_ITERATION_FINISH_1 >= 118
-#        define BOOST_PP_ITERATION_1 118
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 118 && NDNBOOST_PP_ITERATION_FINISH_1 >= 118
+#        define NDNBOOST_PP_ITERATION_1 118
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 119 && BOOST_PP_ITERATION_FINISH_1 >= 119
-#        define BOOST_PP_ITERATION_1 119
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 119 && NDNBOOST_PP_ITERATION_FINISH_1 >= 119
+#        define NDNBOOST_PP_ITERATION_1 119
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 120 && BOOST_PP_ITERATION_FINISH_1 >= 120
-#        define BOOST_PP_ITERATION_1 120
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 120 && NDNBOOST_PP_ITERATION_FINISH_1 >= 120
+#        define NDNBOOST_PP_ITERATION_1 120
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 121 && BOOST_PP_ITERATION_FINISH_1 >= 121
-#        define BOOST_PP_ITERATION_1 121
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 121 && NDNBOOST_PP_ITERATION_FINISH_1 >= 121
+#        define NDNBOOST_PP_ITERATION_1 121
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 122 && BOOST_PP_ITERATION_FINISH_1 >= 122
-#        define BOOST_PP_ITERATION_1 122
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 122 && NDNBOOST_PP_ITERATION_FINISH_1 >= 122
+#        define NDNBOOST_PP_ITERATION_1 122
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 123 && BOOST_PP_ITERATION_FINISH_1 >= 123
-#        define BOOST_PP_ITERATION_1 123
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 123 && NDNBOOST_PP_ITERATION_FINISH_1 >= 123
+#        define NDNBOOST_PP_ITERATION_1 123
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 124 && BOOST_PP_ITERATION_FINISH_1 >= 124
-#        define BOOST_PP_ITERATION_1 124
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 124 && NDNBOOST_PP_ITERATION_FINISH_1 >= 124
+#        define NDNBOOST_PP_ITERATION_1 124
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 125 && BOOST_PP_ITERATION_FINISH_1 >= 125
-#        define BOOST_PP_ITERATION_1 125
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 125 && NDNBOOST_PP_ITERATION_FINISH_1 >= 125
+#        define NDNBOOST_PP_ITERATION_1 125
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 126 && BOOST_PP_ITERATION_FINISH_1 >= 126
-#        define BOOST_PP_ITERATION_1 126
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 126 && NDNBOOST_PP_ITERATION_FINISH_1 >= 126
+#        define NDNBOOST_PP_ITERATION_1 126
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 127 && BOOST_PP_ITERATION_FINISH_1 >= 127
-#        define BOOST_PP_ITERATION_1 127
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 127 && NDNBOOST_PP_ITERATION_FINISH_1 >= 127
+#        define NDNBOOST_PP_ITERATION_1 127
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 128 && BOOST_PP_ITERATION_FINISH_1 >= 128
-#        define BOOST_PP_ITERATION_1 128
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 128 && NDNBOOST_PP_ITERATION_FINISH_1 >= 128
+#        define NDNBOOST_PP_ITERATION_1 128
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 129 && BOOST_PP_ITERATION_FINISH_1 >= 129
-#        define BOOST_PP_ITERATION_1 129
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 129 && NDNBOOST_PP_ITERATION_FINISH_1 >= 129
+#        define NDNBOOST_PP_ITERATION_1 129
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 130 && BOOST_PP_ITERATION_FINISH_1 >= 130
-#        define BOOST_PP_ITERATION_1 130
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 130 && NDNBOOST_PP_ITERATION_FINISH_1 >= 130
+#        define NDNBOOST_PP_ITERATION_1 130
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 131 && BOOST_PP_ITERATION_FINISH_1 >= 131
-#        define BOOST_PP_ITERATION_1 131
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 131 && NDNBOOST_PP_ITERATION_FINISH_1 >= 131
+#        define NDNBOOST_PP_ITERATION_1 131
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 132 && BOOST_PP_ITERATION_FINISH_1 >= 132
-#        define BOOST_PP_ITERATION_1 132
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 132 && NDNBOOST_PP_ITERATION_FINISH_1 >= 132
+#        define NDNBOOST_PP_ITERATION_1 132
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 133 && BOOST_PP_ITERATION_FINISH_1 >= 133
-#        define BOOST_PP_ITERATION_1 133
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 133 && NDNBOOST_PP_ITERATION_FINISH_1 >= 133
+#        define NDNBOOST_PP_ITERATION_1 133
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 134 && BOOST_PP_ITERATION_FINISH_1 >= 134
-#        define BOOST_PP_ITERATION_1 134
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 134 && NDNBOOST_PP_ITERATION_FINISH_1 >= 134
+#        define NDNBOOST_PP_ITERATION_1 134
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 135 && BOOST_PP_ITERATION_FINISH_1 >= 135
-#        define BOOST_PP_ITERATION_1 135
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 135 && NDNBOOST_PP_ITERATION_FINISH_1 >= 135
+#        define NDNBOOST_PP_ITERATION_1 135
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 136 && BOOST_PP_ITERATION_FINISH_1 >= 136
-#        define BOOST_PP_ITERATION_1 136
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 136 && NDNBOOST_PP_ITERATION_FINISH_1 >= 136
+#        define NDNBOOST_PP_ITERATION_1 136
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 137 && BOOST_PP_ITERATION_FINISH_1 >= 137
-#        define BOOST_PP_ITERATION_1 137
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 137 && NDNBOOST_PP_ITERATION_FINISH_1 >= 137
+#        define NDNBOOST_PP_ITERATION_1 137
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 138 && BOOST_PP_ITERATION_FINISH_1 >= 138
-#        define BOOST_PP_ITERATION_1 138
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 138 && NDNBOOST_PP_ITERATION_FINISH_1 >= 138
+#        define NDNBOOST_PP_ITERATION_1 138
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 139 && BOOST_PP_ITERATION_FINISH_1 >= 139
-#        define BOOST_PP_ITERATION_1 139
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 139 && NDNBOOST_PP_ITERATION_FINISH_1 >= 139
+#        define NDNBOOST_PP_ITERATION_1 139
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 140 && BOOST_PP_ITERATION_FINISH_1 >= 140
-#        define BOOST_PP_ITERATION_1 140
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 140 && NDNBOOST_PP_ITERATION_FINISH_1 >= 140
+#        define NDNBOOST_PP_ITERATION_1 140
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 141 && BOOST_PP_ITERATION_FINISH_1 >= 141
-#        define BOOST_PP_ITERATION_1 141
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 141 && NDNBOOST_PP_ITERATION_FINISH_1 >= 141
+#        define NDNBOOST_PP_ITERATION_1 141
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 142 && BOOST_PP_ITERATION_FINISH_1 >= 142
-#        define BOOST_PP_ITERATION_1 142
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 142 && NDNBOOST_PP_ITERATION_FINISH_1 >= 142
+#        define NDNBOOST_PP_ITERATION_1 142
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 143 && BOOST_PP_ITERATION_FINISH_1 >= 143
-#        define BOOST_PP_ITERATION_1 143
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 143 && NDNBOOST_PP_ITERATION_FINISH_1 >= 143
+#        define NDNBOOST_PP_ITERATION_1 143
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 144 && BOOST_PP_ITERATION_FINISH_1 >= 144
-#        define BOOST_PP_ITERATION_1 144
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 144 && NDNBOOST_PP_ITERATION_FINISH_1 >= 144
+#        define NDNBOOST_PP_ITERATION_1 144
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 145 && BOOST_PP_ITERATION_FINISH_1 >= 145
-#        define BOOST_PP_ITERATION_1 145
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 145 && NDNBOOST_PP_ITERATION_FINISH_1 >= 145
+#        define NDNBOOST_PP_ITERATION_1 145
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 146 && BOOST_PP_ITERATION_FINISH_1 >= 146
-#        define BOOST_PP_ITERATION_1 146
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 146 && NDNBOOST_PP_ITERATION_FINISH_1 >= 146
+#        define NDNBOOST_PP_ITERATION_1 146
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 147 && BOOST_PP_ITERATION_FINISH_1 >= 147
-#        define BOOST_PP_ITERATION_1 147
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 147 && NDNBOOST_PP_ITERATION_FINISH_1 >= 147
+#        define NDNBOOST_PP_ITERATION_1 147
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 148 && BOOST_PP_ITERATION_FINISH_1 >= 148
-#        define BOOST_PP_ITERATION_1 148
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 148 && NDNBOOST_PP_ITERATION_FINISH_1 >= 148
+#        define NDNBOOST_PP_ITERATION_1 148
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 149 && BOOST_PP_ITERATION_FINISH_1 >= 149
-#        define BOOST_PP_ITERATION_1 149
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 149 && NDNBOOST_PP_ITERATION_FINISH_1 >= 149
+#        define NDNBOOST_PP_ITERATION_1 149
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 150 && BOOST_PP_ITERATION_FINISH_1 >= 150
-#        define BOOST_PP_ITERATION_1 150
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 150 && NDNBOOST_PP_ITERATION_FINISH_1 >= 150
+#        define NDNBOOST_PP_ITERATION_1 150
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 151 && BOOST_PP_ITERATION_FINISH_1 >= 151
-#        define BOOST_PP_ITERATION_1 151
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 151 && NDNBOOST_PP_ITERATION_FINISH_1 >= 151
+#        define NDNBOOST_PP_ITERATION_1 151
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 152 && BOOST_PP_ITERATION_FINISH_1 >= 152
-#        define BOOST_PP_ITERATION_1 152
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 152 && NDNBOOST_PP_ITERATION_FINISH_1 >= 152
+#        define NDNBOOST_PP_ITERATION_1 152
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 153 && BOOST_PP_ITERATION_FINISH_1 >= 153
-#        define BOOST_PP_ITERATION_1 153
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 153 && NDNBOOST_PP_ITERATION_FINISH_1 >= 153
+#        define NDNBOOST_PP_ITERATION_1 153
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 154 && BOOST_PP_ITERATION_FINISH_1 >= 154
-#        define BOOST_PP_ITERATION_1 154
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 154 && NDNBOOST_PP_ITERATION_FINISH_1 >= 154
+#        define NDNBOOST_PP_ITERATION_1 154
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 155 && BOOST_PP_ITERATION_FINISH_1 >= 155
-#        define BOOST_PP_ITERATION_1 155
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 155 && NDNBOOST_PP_ITERATION_FINISH_1 >= 155
+#        define NDNBOOST_PP_ITERATION_1 155
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 156 && BOOST_PP_ITERATION_FINISH_1 >= 156
-#        define BOOST_PP_ITERATION_1 156
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 156 && NDNBOOST_PP_ITERATION_FINISH_1 >= 156
+#        define NDNBOOST_PP_ITERATION_1 156
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 157 && BOOST_PP_ITERATION_FINISH_1 >= 157
-#        define BOOST_PP_ITERATION_1 157
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 157 && NDNBOOST_PP_ITERATION_FINISH_1 >= 157
+#        define NDNBOOST_PP_ITERATION_1 157
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 158 && BOOST_PP_ITERATION_FINISH_1 >= 158
-#        define BOOST_PP_ITERATION_1 158
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 158 && NDNBOOST_PP_ITERATION_FINISH_1 >= 158
+#        define NDNBOOST_PP_ITERATION_1 158
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 159 && BOOST_PP_ITERATION_FINISH_1 >= 159
-#        define BOOST_PP_ITERATION_1 159
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 159 && NDNBOOST_PP_ITERATION_FINISH_1 >= 159
+#        define NDNBOOST_PP_ITERATION_1 159
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 160 && BOOST_PP_ITERATION_FINISH_1 >= 160
-#        define BOOST_PP_ITERATION_1 160
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 160 && NDNBOOST_PP_ITERATION_FINISH_1 >= 160
+#        define NDNBOOST_PP_ITERATION_1 160
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 161 && BOOST_PP_ITERATION_FINISH_1 >= 161
-#        define BOOST_PP_ITERATION_1 161
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 161 && NDNBOOST_PP_ITERATION_FINISH_1 >= 161
+#        define NDNBOOST_PP_ITERATION_1 161
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 162 && BOOST_PP_ITERATION_FINISH_1 >= 162
-#        define BOOST_PP_ITERATION_1 162
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 162 && NDNBOOST_PP_ITERATION_FINISH_1 >= 162
+#        define NDNBOOST_PP_ITERATION_1 162
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 163 && BOOST_PP_ITERATION_FINISH_1 >= 163
-#        define BOOST_PP_ITERATION_1 163
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 163 && NDNBOOST_PP_ITERATION_FINISH_1 >= 163
+#        define NDNBOOST_PP_ITERATION_1 163
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 164 && BOOST_PP_ITERATION_FINISH_1 >= 164
-#        define BOOST_PP_ITERATION_1 164
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 164 && NDNBOOST_PP_ITERATION_FINISH_1 >= 164
+#        define NDNBOOST_PP_ITERATION_1 164
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 165 && BOOST_PP_ITERATION_FINISH_1 >= 165
-#        define BOOST_PP_ITERATION_1 165
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 165 && NDNBOOST_PP_ITERATION_FINISH_1 >= 165
+#        define NDNBOOST_PP_ITERATION_1 165
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 166 && BOOST_PP_ITERATION_FINISH_1 >= 166
-#        define BOOST_PP_ITERATION_1 166
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 166 && NDNBOOST_PP_ITERATION_FINISH_1 >= 166
+#        define NDNBOOST_PP_ITERATION_1 166
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 167 && BOOST_PP_ITERATION_FINISH_1 >= 167
-#        define BOOST_PP_ITERATION_1 167
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 167 && NDNBOOST_PP_ITERATION_FINISH_1 >= 167
+#        define NDNBOOST_PP_ITERATION_1 167
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 168 && BOOST_PP_ITERATION_FINISH_1 >= 168
-#        define BOOST_PP_ITERATION_1 168
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 168 && NDNBOOST_PP_ITERATION_FINISH_1 >= 168
+#        define NDNBOOST_PP_ITERATION_1 168
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 169 && BOOST_PP_ITERATION_FINISH_1 >= 169
-#        define BOOST_PP_ITERATION_1 169
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 169 && NDNBOOST_PP_ITERATION_FINISH_1 >= 169
+#        define NDNBOOST_PP_ITERATION_1 169
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 170 && BOOST_PP_ITERATION_FINISH_1 >= 170
-#        define BOOST_PP_ITERATION_1 170
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 170 && NDNBOOST_PP_ITERATION_FINISH_1 >= 170
+#        define NDNBOOST_PP_ITERATION_1 170
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 171 && BOOST_PP_ITERATION_FINISH_1 >= 171
-#        define BOOST_PP_ITERATION_1 171
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 171 && NDNBOOST_PP_ITERATION_FINISH_1 >= 171
+#        define NDNBOOST_PP_ITERATION_1 171
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 172 && BOOST_PP_ITERATION_FINISH_1 >= 172
-#        define BOOST_PP_ITERATION_1 172
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 172 && NDNBOOST_PP_ITERATION_FINISH_1 >= 172
+#        define NDNBOOST_PP_ITERATION_1 172
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 173 && BOOST_PP_ITERATION_FINISH_1 >= 173
-#        define BOOST_PP_ITERATION_1 173
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 173 && NDNBOOST_PP_ITERATION_FINISH_1 >= 173
+#        define NDNBOOST_PP_ITERATION_1 173
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 174 && BOOST_PP_ITERATION_FINISH_1 >= 174
-#        define BOOST_PP_ITERATION_1 174
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 174 && NDNBOOST_PP_ITERATION_FINISH_1 >= 174
+#        define NDNBOOST_PP_ITERATION_1 174
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 175 && BOOST_PP_ITERATION_FINISH_1 >= 175
-#        define BOOST_PP_ITERATION_1 175
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 175 && NDNBOOST_PP_ITERATION_FINISH_1 >= 175
+#        define NDNBOOST_PP_ITERATION_1 175
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 176 && BOOST_PP_ITERATION_FINISH_1 >= 176
-#        define BOOST_PP_ITERATION_1 176
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 176 && NDNBOOST_PP_ITERATION_FINISH_1 >= 176
+#        define NDNBOOST_PP_ITERATION_1 176
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 177 && BOOST_PP_ITERATION_FINISH_1 >= 177
-#        define BOOST_PP_ITERATION_1 177
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 177 && NDNBOOST_PP_ITERATION_FINISH_1 >= 177
+#        define NDNBOOST_PP_ITERATION_1 177
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 178 && BOOST_PP_ITERATION_FINISH_1 >= 178
-#        define BOOST_PP_ITERATION_1 178
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 178 && NDNBOOST_PP_ITERATION_FINISH_1 >= 178
+#        define NDNBOOST_PP_ITERATION_1 178
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 179 && BOOST_PP_ITERATION_FINISH_1 >= 179
-#        define BOOST_PP_ITERATION_1 179
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 179 && NDNBOOST_PP_ITERATION_FINISH_1 >= 179
+#        define NDNBOOST_PP_ITERATION_1 179
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 180 && BOOST_PP_ITERATION_FINISH_1 >= 180
-#        define BOOST_PP_ITERATION_1 180
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 180 && NDNBOOST_PP_ITERATION_FINISH_1 >= 180
+#        define NDNBOOST_PP_ITERATION_1 180
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 181 && BOOST_PP_ITERATION_FINISH_1 >= 181
-#        define BOOST_PP_ITERATION_1 181
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 181 && NDNBOOST_PP_ITERATION_FINISH_1 >= 181
+#        define NDNBOOST_PP_ITERATION_1 181
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 182 && BOOST_PP_ITERATION_FINISH_1 >= 182
-#        define BOOST_PP_ITERATION_1 182
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 182 && NDNBOOST_PP_ITERATION_FINISH_1 >= 182
+#        define NDNBOOST_PP_ITERATION_1 182
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 183 && BOOST_PP_ITERATION_FINISH_1 >= 183
-#        define BOOST_PP_ITERATION_1 183
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 183 && NDNBOOST_PP_ITERATION_FINISH_1 >= 183
+#        define NDNBOOST_PP_ITERATION_1 183
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 184 && BOOST_PP_ITERATION_FINISH_1 >= 184
-#        define BOOST_PP_ITERATION_1 184
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 184 && NDNBOOST_PP_ITERATION_FINISH_1 >= 184
+#        define NDNBOOST_PP_ITERATION_1 184
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 185 && BOOST_PP_ITERATION_FINISH_1 >= 185
-#        define BOOST_PP_ITERATION_1 185
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 185 && NDNBOOST_PP_ITERATION_FINISH_1 >= 185
+#        define NDNBOOST_PP_ITERATION_1 185
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 186 && BOOST_PP_ITERATION_FINISH_1 >= 186
-#        define BOOST_PP_ITERATION_1 186
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 186 && NDNBOOST_PP_ITERATION_FINISH_1 >= 186
+#        define NDNBOOST_PP_ITERATION_1 186
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 187 && BOOST_PP_ITERATION_FINISH_1 >= 187
-#        define BOOST_PP_ITERATION_1 187
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 187 && NDNBOOST_PP_ITERATION_FINISH_1 >= 187
+#        define NDNBOOST_PP_ITERATION_1 187
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 188 && BOOST_PP_ITERATION_FINISH_1 >= 188
-#        define BOOST_PP_ITERATION_1 188
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 188 && NDNBOOST_PP_ITERATION_FINISH_1 >= 188
+#        define NDNBOOST_PP_ITERATION_1 188
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 189 && BOOST_PP_ITERATION_FINISH_1 >= 189
-#        define BOOST_PP_ITERATION_1 189
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 189 && NDNBOOST_PP_ITERATION_FINISH_1 >= 189
+#        define NDNBOOST_PP_ITERATION_1 189
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 190 && BOOST_PP_ITERATION_FINISH_1 >= 190
-#        define BOOST_PP_ITERATION_1 190
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 190 && NDNBOOST_PP_ITERATION_FINISH_1 >= 190
+#        define NDNBOOST_PP_ITERATION_1 190
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 191 && BOOST_PP_ITERATION_FINISH_1 >= 191
-#        define BOOST_PP_ITERATION_1 191
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 191 && NDNBOOST_PP_ITERATION_FINISH_1 >= 191
+#        define NDNBOOST_PP_ITERATION_1 191
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 192 && BOOST_PP_ITERATION_FINISH_1 >= 192
-#        define BOOST_PP_ITERATION_1 192
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 192 && NDNBOOST_PP_ITERATION_FINISH_1 >= 192
+#        define NDNBOOST_PP_ITERATION_1 192
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 193 && BOOST_PP_ITERATION_FINISH_1 >= 193
-#        define BOOST_PP_ITERATION_1 193
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 193 && NDNBOOST_PP_ITERATION_FINISH_1 >= 193
+#        define NDNBOOST_PP_ITERATION_1 193
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 194 && BOOST_PP_ITERATION_FINISH_1 >= 194
-#        define BOOST_PP_ITERATION_1 194
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 194 && NDNBOOST_PP_ITERATION_FINISH_1 >= 194
+#        define NDNBOOST_PP_ITERATION_1 194
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 195 && BOOST_PP_ITERATION_FINISH_1 >= 195
-#        define BOOST_PP_ITERATION_1 195
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 195 && NDNBOOST_PP_ITERATION_FINISH_1 >= 195
+#        define NDNBOOST_PP_ITERATION_1 195
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 196 && BOOST_PP_ITERATION_FINISH_1 >= 196
-#        define BOOST_PP_ITERATION_1 196
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 196 && NDNBOOST_PP_ITERATION_FINISH_1 >= 196
+#        define NDNBOOST_PP_ITERATION_1 196
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 197 && BOOST_PP_ITERATION_FINISH_1 >= 197
-#        define BOOST_PP_ITERATION_1 197
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 197 && NDNBOOST_PP_ITERATION_FINISH_1 >= 197
+#        define NDNBOOST_PP_ITERATION_1 197
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 198 && BOOST_PP_ITERATION_FINISH_1 >= 198
-#        define BOOST_PP_ITERATION_1 198
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 198 && NDNBOOST_PP_ITERATION_FINISH_1 >= 198
+#        define NDNBOOST_PP_ITERATION_1 198
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 199 && BOOST_PP_ITERATION_FINISH_1 >= 199
-#        define BOOST_PP_ITERATION_1 199
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 199 && NDNBOOST_PP_ITERATION_FINISH_1 >= 199
+#        define NDNBOOST_PP_ITERATION_1 199
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 200 && BOOST_PP_ITERATION_FINISH_1 >= 200
-#        define BOOST_PP_ITERATION_1 200
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 200 && NDNBOOST_PP_ITERATION_FINISH_1 >= 200
+#        define NDNBOOST_PP_ITERATION_1 200
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 201 && BOOST_PP_ITERATION_FINISH_1 >= 201
-#        define BOOST_PP_ITERATION_1 201
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 201 && NDNBOOST_PP_ITERATION_FINISH_1 >= 201
+#        define NDNBOOST_PP_ITERATION_1 201
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 202 && BOOST_PP_ITERATION_FINISH_1 >= 202
-#        define BOOST_PP_ITERATION_1 202
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 202 && NDNBOOST_PP_ITERATION_FINISH_1 >= 202
+#        define NDNBOOST_PP_ITERATION_1 202
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 203 && BOOST_PP_ITERATION_FINISH_1 >= 203
-#        define BOOST_PP_ITERATION_1 203
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 203 && NDNBOOST_PP_ITERATION_FINISH_1 >= 203
+#        define NDNBOOST_PP_ITERATION_1 203
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 204 && BOOST_PP_ITERATION_FINISH_1 >= 204
-#        define BOOST_PP_ITERATION_1 204
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 204 && NDNBOOST_PP_ITERATION_FINISH_1 >= 204
+#        define NDNBOOST_PP_ITERATION_1 204
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 205 && BOOST_PP_ITERATION_FINISH_1 >= 205
-#        define BOOST_PP_ITERATION_1 205
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 205 && NDNBOOST_PP_ITERATION_FINISH_1 >= 205
+#        define NDNBOOST_PP_ITERATION_1 205
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 206 && BOOST_PP_ITERATION_FINISH_1 >= 206
-#        define BOOST_PP_ITERATION_1 206
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 206 && NDNBOOST_PP_ITERATION_FINISH_1 >= 206
+#        define NDNBOOST_PP_ITERATION_1 206
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 207 && BOOST_PP_ITERATION_FINISH_1 >= 207
-#        define BOOST_PP_ITERATION_1 207
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 207 && NDNBOOST_PP_ITERATION_FINISH_1 >= 207
+#        define NDNBOOST_PP_ITERATION_1 207
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 208 && BOOST_PP_ITERATION_FINISH_1 >= 208
-#        define BOOST_PP_ITERATION_1 208
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 208 && NDNBOOST_PP_ITERATION_FINISH_1 >= 208
+#        define NDNBOOST_PP_ITERATION_1 208
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 209 && BOOST_PP_ITERATION_FINISH_1 >= 209
-#        define BOOST_PP_ITERATION_1 209
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 209 && NDNBOOST_PP_ITERATION_FINISH_1 >= 209
+#        define NDNBOOST_PP_ITERATION_1 209
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 210 && BOOST_PP_ITERATION_FINISH_1 >= 210
-#        define BOOST_PP_ITERATION_1 210
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 210 && NDNBOOST_PP_ITERATION_FINISH_1 >= 210
+#        define NDNBOOST_PP_ITERATION_1 210
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 211 && BOOST_PP_ITERATION_FINISH_1 >= 211
-#        define BOOST_PP_ITERATION_1 211
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 211 && NDNBOOST_PP_ITERATION_FINISH_1 >= 211
+#        define NDNBOOST_PP_ITERATION_1 211
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 212 && BOOST_PP_ITERATION_FINISH_1 >= 212
-#        define BOOST_PP_ITERATION_1 212
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 212 && NDNBOOST_PP_ITERATION_FINISH_1 >= 212
+#        define NDNBOOST_PP_ITERATION_1 212
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 213 && BOOST_PP_ITERATION_FINISH_1 >= 213
-#        define BOOST_PP_ITERATION_1 213
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 213 && NDNBOOST_PP_ITERATION_FINISH_1 >= 213
+#        define NDNBOOST_PP_ITERATION_1 213
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 214 && BOOST_PP_ITERATION_FINISH_1 >= 214
-#        define BOOST_PP_ITERATION_1 214
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 214 && NDNBOOST_PP_ITERATION_FINISH_1 >= 214
+#        define NDNBOOST_PP_ITERATION_1 214
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 215 && BOOST_PP_ITERATION_FINISH_1 >= 215
-#        define BOOST_PP_ITERATION_1 215
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 215 && NDNBOOST_PP_ITERATION_FINISH_1 >= 215
+#        define NDNBOOST_PP_ITERATION_1 215
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 216 && BOOST_PP_ITERATION_FINISH_1 >= 216
-#        define BOOST_PP_ITERATION_1 216
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 216 && NDNBOOST_PP_ITERATION_FINISH_1 >= 216
+#        define NDNBOOST_PP_ITERATION_1 216
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 217 && BOOST_PP_ITERATION_FINISH_1 >= 217
-#        define BOOST_PP_ITERATION_1 217
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 217 && NDNBOOST_PP_ITERATION_FINISH_1 >= 217
+#        define NDNBOOST_PP_ITERATION_1 217
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 218 && BOOST_PP_ITERATION_FINISH_1 >= 218
-#        define BOOST_PP_ITERATION_1 218
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 218 && NDNBOOST_PP_ITERATION_FINISH_1 >= 218
+#        define NDNBOOST_PP_ITERATION_1 218
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 219 && BOOST_PP_ITERATION_FINISH_1 >= 219
-#        define BOOST_PP_ITERATION_1 219
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 219 && NDNBOOST_PP_ITERATION_FINISH_1 >= 219
+#        define NDNBOOST_PP_ITERATION_1 219
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 220 && BOOST_PP_ITERATION_FINISH_1 >= 220
-#        define BOOST_PP_ITERATION_1 220
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 220 && NDNBOOST_PP_ITERATION_FINISH_1 >= 220
+#        define NDNBOOST_PP_ITERATION_1 220
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 221 && BOOST_PP_ITERATION_FINISH_1 >= 221
-#        define BOOST_PP_ITERATION_1 221
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 221 && NDNBOOST_PP_ITERATION_FINISH_1 >= 221
+#        define NDNBOOST_PP_ITERATION_1 221
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 222 && BOOST_PP_ITERATION_FINISH_1 >= 222
-#        define BOOST_PP_ITERATION_1 222
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 222 && NDNBOOST_PP_ITERATION_FINISH_1 >= 222
+#        define NDNBOOST_PP_ITERATION_1 222
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 223 && BOOST_PP_ITERATION_FINISH_1 >= 223
-#        define BOOST_PP_ITERATION_1 223
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 223 && NDNBOOST_PP_ITERATION_FINISH_1 >= 223
+#        define NDNBOOST_PP_ITERATION_1 223
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 224 && BOOST_PP_ITERATION_FINISH_1 >= 224
-#        define BOOST_PP_ITERATION_1 224
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 224 && NDNBOOST_PP_ITERATION_FINISH_1 >= 224
+#        define NDNBOOST_PP_ITERATION_1 224
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 225 && BOOST_PP_ITERATION_FINISH_1 >= 225
-#        define BOOST_PP_ITERATION_1 225
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 225 && NDNBOOST_PP_ITERATION_FINISH_1 >= 225
+#        define NDNBOOST_PP_ITERATION_1 225
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 226 && BOOST_PP_ITERATION_FINISH_1 >= 226
-#        define BOOST_PP_ITERATION_1 226
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 226 && NDNBOOST_PP_ITERATION_FINISH_1 >= 226
+#        define NDNBOOST_PP_ITERATION_1 226
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 227 && BOOST_PP_ITERATION_FINISH_1 >= 227
-#        define BOOST_PP_ITERATION_1 227
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 227 && NDNBOOST_PP_ITERATION_FINISH_1 >= 227
+#        define NDNBOOST_PP_ITERATION_1 227
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 228 && BOOST_PP_ITERATION_FINISH_1 >= 228
-#        define BOOST_PP_ITERATION_1 228
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 228 && NDNBOOST_PP_ITERATION_FINISH_1 >= 228
+#        define NDNBOOST_PP_ITERATION_1 228
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 229 && BOOST_PP_ITERATION_FINISH_1 >= 229
-#        define BOOST_PP_ITERATION_1 229
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 229 && NDNBOOST_PP_ITERATION_FINISH_1 >= 229
+#        define NDNBOOST_PP_ITERATION_1 229
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 230 && BOOST_PP_ITERATION_FINISH_1 >= 230
-#        define BOOST_PP_ITERATION_1 230
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 230 && NDNBOOST_PP_ITERATION_FINISH_1 >= 230
+#        define NDNBOOST_PP_ITERATION_1 230
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 231 && BOOST_PP_ITERATION_FINISH_1 >= 231
-#        define BOOST_PP_ITERATION_1 231
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 231 && NDNBOOST_PP_ITERATION_FINISH_1 >= 231
+#        define NDNBOOST_PP_ITERATION_1 231
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 232 && BOOST_PP_ITERATION_FINISH_1 >= 232
-#        define BOOST_PP_ITERATION_1 232
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 232 && NDNBOOST_PP_ITERATION_FINISH_1 >= 232
+#        define NDNBOOST_PP_ITERATION_1 232
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 233 && BOOST_PP_ITERATION_FINISH_1 >= 233
-#        define BOOST_PP_ITERATION_1 233
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 233 && NDNBOOST_PP_ITERATION_FINISH_1 >= 233
+#        define NDNBOOST_PP_ITERATION_1 233
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 234 && BOOST_PP_ITERATION_FINISH_1 >= 234
-#        define BOOST_PP_ITERATION_1 234
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 234 && NDNBOOST_PP_ITERATION_FINISH_1 >= 234
+#        define NDNBOOST_PP_ITERATION_1 234
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 235 && BOOST_PP_ITERATION_FINISH_1 >= 235
-#        define BOOST_PP_ITERATION_1 235
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 235 && NDNBOOST_PP_ITERATION_FINISH_1 >= 235
+#        define NDNBOOST_PP_ITERATION_1 235
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 236 && BOOST_PP_ITERATION_FINISH_1 >= 236
-#        define BOOST_PP_ITERATION_1 236
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 236 && NDNBOOST_PP_ITERATION_FINISH_1 >= 236
+#        define NDNBOOST_PP_ITERATION_1 236
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 237 && BOOST_PP_ITERATION_FINISH_1 >= 237
-#        define BOOST_PP_ITERATION_1 237
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 237 && NDNBOOST_PP_ITERATION_FINISH_1 >= 237
+#        define NDNBOOST_PP_ITERATION_1 237
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 238 && BOOST_PP_ITERATION_FINISH_1 >= 238
-#        define BOOST_PP_ITERATION_1 238
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 238 && NDNBOOST_PP_ITERATION_FINISH_1 >= 238
+#        define NDNBOOST_PP_ITERATION_1 238
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 239 && BOOST_PP_ITERATION_FINISH_1 >= 239
-#        define BOOST_PP_ITERATION_1 239
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 239 && NDNBOOST_PP_ITERATION_FINISH_1 >= 239
+#        define NDNBOOST_PP_ITERATION_1 239
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 240 && BOOST_PP_ITERATION_FINISH_1 >= 240
-#        define BOOST_PP_ITERATION_1 240
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 240 && NDNBOOST_PP_ITERATION_FINISH_1 >= 240
+#        define NDNBOOST_PP_ITERATION_1 240
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 241 && BOOST_PP_ITERATION_FINISH_1 >= 241
-#        define BOOST_PP_ITERATION_1 241
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 241 && NDNBOOST_PP_ITERATION_FINISH_1 >= 241
+#        define NDNBOOST_PP_ITERATION_1 241
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 242 && BOOST_PP_ITERATION_FINISH_1 >= 242
-#        define BOOST_PP_ITERATION_1 242
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 242 && NDNBOOST_PP_ITERATION_FINISH_1 >= 242
+#        define NDNBOOST_PP_ITERATION_1 242
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 243 && BOOST_PP_ITERATION_FINISH_1 >= 243
-#        define BOOST_PP_ITERATION_1 243
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 243 && NDNBOOST_PP_ITERATION_FINISH_1 >= 243
+#        define NDNBOOST_PP_ITERATION_1 243
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 244 && BOOST_PP_ITERATION_FINISH_1 >= 244
-#        define BOOST_PP_ITERATION_1 244
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 244 && NDNBOOST_PP_ITERATION_FINISH_1 >= 244
+#        define NDNBOOST_PP_ITERATION_1 244
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 245 && BOOST_PP_ITERATION_FINISH_1 >= 245
-#        define BOOST_PP_ITERATION_1 245
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 245 && NDNBOOST_PP_ITERATION_FINISH_1 >= 245
+#        define NDNBOOST_PP_ITERATION_1 245
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 246 && BOOST_PP_ITERATION_FINISH_1 >= 246
-#        define BOOST_PP_ITERATION_1 246
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 246 && NDNBOOST_PP_ITERATION_FINISH_1 >= 246
+#        define NDNBOOST_PP_ITERATION_1 246
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 247 && BOOST_PP_ITERATION_FINISH_1 >= 247
-#        define BOOST_PP_ITERATION_1 247
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 247 && NDNBOOST_PP_ITERATION_FINISH_1 >= 247
+#        define NDNBOOST_PP_ITERATION_1 247
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 248 && BOOST_PP_ITERATION_FINISH_1 >= 248
-#        define BOOST_PP_ITERATION_1 248
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 248 && NDNBOOST_PP_ITERATION_FINISH_1 >= 248
+#        define NDNBOOST_PP_ITERATION_1 248
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 249 && BOOST_PP_ITERATION_FINISH_1 >= 249
-#        define BOOST_PP_ITERATION_1 249
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 249 && NDNBOOST_PP_ITERATION_FINISH_1 >= 249
+#        define NDNBOOST_PP_ITERATION_1 249
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 250 && BOOST_PP_ITERATION_FINISH_1 >= 250
-#        define BOOST_PP_ITERATION_1 250
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 250 && NDNBOOST_PP_ITERATION_FINISH_1 >= 250
+#        define NDNBOOST_PP_ITERATION_1 250
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 251 && BOOST_PP_ITERATION_FINISH_1 >= 251
-#        define BOOST_PP_ITERATION_1 251
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 251 && NDNBOOST_PP_ITERATION_FINISH_1 >= 251
+#        define NDNBOOST_PP_ITERATION_1 251
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 252 && BOOST_PP_ITERATION_FINISH_1 >= 252
-#        define BOOST_PP_ITERATION_1 252
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 252 && NDNBOOST_PP_ITERATION_FINISH_1 >= 252
+#        define NDNBOOST_PP_ITERATION_1 252
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 253 && BOOST_PP_ITERATION_FINISH_1 >= 253
-#        define BOOST_PP_ITERATION_1 253
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 253 && NDNBOOST_PP_ITERATION_FINISH_1 >= 253
+#        define NDNBOOST_PP_ITERATION_1 253
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 254 && BOOST_PP_ITERATION_FINISH_1 >= 254
-#        define BOOST_PP_ITERATION_1 254
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 254 && NDNBOOST_PP_ITERATION_FINISH_1 >= 254
+#        define NDNBOOST_PP_ITERATION_1 254
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 255 && BOOST_PP_ITERATION_FINISH_1 >= 255
-#        define BOOST_PP_ITERATION_1 255
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 255 && NDNBOOST_PP_ITERATION_FINISH_1 >= 255
+#        define NDNBOOST_PP_ITERATION_1 255
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
-#    if BOOST_PP_ITERATION_START_1 <= 256 && BOOST_PP_ITERATION_FINISH_1 >= 256
-#        define BOOST_PP_ITERATION_1 256
-#        include BOOST_PP_FILENAME_1
-#        undef BOOST_PP_ITERATION_1
+#    if NDNBOOST_PP_ITERATION_START_1 <= 256 && NDNBOOST_PP_ITERATION_FINISH_1 >= 256
+#        define NDNBOOST_PP_ITERATION_1 256
+#        include NDNBOOST_PP_FILENAME_1
+#        undef NDNBOOST_PP_ITERATION_1
 #    endif
 # endif
 #
-# undef BOOST_PP_IS_ITERATING
+# undef NDNBOOST_PP_IS_ITERATING
 #
-# undef BOOST_PP_ITERATION_DEPTH
-# define BOOST_PP_ITERATION_DEPTH() 0
+# undef NDNBOOST_PP_ITERATION_DEPTH
+# define NDNBOOST_PP_ITERATION_DEPTH() 0
 #
-# undef BOOST_PP_ITERATION_START_1
-# undef BOOST_PP_ITERATION_FINISH_1
-# undef BOOST_PP_FILENAME_1
+# undef NDNBOOST_PP_ITERATION_START_1
+# undef NDNBOOST_PP_ITERATION_FINISH_1
+# undef NDNBOOST_PP_FILENAME_1
 #
-# undef BOOST_PP_ITERATION_FLAGS_1
-# undef BOOST_PP_ITERATION_PARAMS_1
+# undef NDNBOOST_PP_ITERATION_FLAGS_1
+# undef NDNBOOST_PP_ITERATION_PARAMS_1
diff --git a/include/ndnboost/preprocessor/iteration/detail/iter/forward2.hpp b/include/ndnboost/preprocessor/iteration/detail/iter/forward2.hpp
index 25ad55c..09a2d9c 100644
--- a/include/ndnboost/preprocessor/iteration/detail/iter/forward2.hpp
+++ b/include/ndnboost/preprocessor/iteration/detail/iter/forward2.hpp
@@ -9,1330 +9,1330 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# if defined(BOOST_PP_ITERATION_LIMITS)
-#    if !defined(BOOST_PP_FILENAME_2)
-#        error BOOST_PP_ERROR:  depth #2 filename is not defined
+# if defined(NDNBOOST_PP_ITERATION_LIMITS)
+#    if !defined(NDNBOOST_PP_FILENAME_2)
+#        error NDNBOOST_PP_ERROR:  depth #2 filename is not defined
 #    endif
-#    define BOOST_PP_VALUE BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_ITERATION_LIMITS)
+#    define NDNBOOST_PP_VALUE NDNBOOST_PP_TUPLE_ELEM(2, 0, NDNBOOST_PP_ITERATION_LIMITS)
 #    include <ndnboost/preprocessor/iteration/detail/bounds/lower2.hpp>
-#    define BOOST_PP_VALUE BOOST_PP_TUPLE_ELEM(2, 1, BOOST_PP_ITERATION_LIMITS)
+#    define NDNBOOST_PP_VALUE NDNBOOST_PP_TUPLE_ELEM(2, 1, NDNBOOST_PP_ITERATION_LIMITS)
 #    include <ndnboost/preprocessor/iteration/detail/bounds/upper2.hpp>
-#    define BOOST_PP_ITERATION_FLAGS_2() 0
-#    undef BOOST_PP_ITERATION_LIMITS
-# elif defined(BOOST_PP_ITERATION_PARAMS_2)
-#    define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(0, BOOST_PP_ITERATION_PARAMS_2)
+#    define NDNBOOST_PP_ITERATION_FLAGS_2() 0
+#    undef NDNBOOST_PP_ITERATION_LIMITS
+# elif defined(NDNBOOST_PP_ITERATION_PARAMS_2)
+#    define NDNBOOST_PP_VALUE NDNBOOST_PP_ARRAY_ELEM(0, NDNBOOST_PP_ITERATION_PARAMS_2)
 #    include <ndnboost/preprocessor/iteration/detail/bounds/lower2.hpp>
-#    define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(1, BOOST_PP_ITERATION_PARAMS_2)
+#    define NDNBOOST_PP_VALUE NDNBOOST_PP_ARRAY_ELEM(1, NDNBOOST_PP_ITERATION_PARAMS_2)
 #    include <ndnboost/preprocessor/iteration/detail/bounds/upper2.hpp>
-#    define BOOST_PP_FILENAME_2 BOOST_PP_ARRAY_ELEM(2, BOOST_PP_ITERATION_PARAMS_2)
-#    if BOOST_PP_ARRAY_SIZE(BOOST_PP_ITERATION_PARAMS_2) >= 4
-#        define BOOST_PP_ITERATION_FLAGS_2() BOOST_PP_ARRAY_ELEM(3, BOOST_PP_ITERATION_PARAMS_2)
+#    define NDNBOOST_PP_FILENAME_2 NDNBOOST_PP_ARRAY_ELEM(2, NDNBOOST_PP_ITERATION_PARAMS_2)
+#    if NDNBOOST_PP_ARRAY_SIZE(NDNBOOST_PP_ITERATION_PARAMS_2) >= 4
+#        define NDNBOOST_PP_ITERATION_FLAGS_2() NDNBOOST_PP_ARRAY_ELEM(3, NDNBOOST_PP_ITERATION_PARAMS_2)
 #    else
-#        define BOOST_PP_ITERATION_FLAGS_2() 0
+#        define NDNBOOST_PP_ITERATION_FLAGS_2() 0
 #    endif
 # else
-#    error BOOST_PP_ERROR:  depth #2 iteration boundaries or filename not defined
+#    error NDNBOOST_PP_ERROR:  depth #2 iteration boundaries or filename not defined
 # endif
 #
-# undef BOOST_PP_ITERATION_DEPTH
-# define BOOST_PP_ITERATION_DEPTH() 2
+# undef NDNBOOST_PP_ITERATION_DEPTH
+# define NDNBOOST_PP_ITERATION_DEPTH() 2
 #
-# if (BOOST_PP_ITERATION_START_2) > (BOOST_PP_ITERATION_FINISH_2)
+# if (NDNBOOST_PP_ITERATION_START_2) > (NDNBOOST_PP_ITERATION_FINISH_2)
 #    include <ndnboost/preprocessor/iteration/detail/iter/reverse2.hpp>
 # else
-#    if BOOST_PP_ITERATION_START_2 <= 0 && BOOST_PP_ITERATION_FINISH_2 >= 0
-#        define BOOST_PP_ITERATION_2 0
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 0 && NDNBOOST_PP_ITERATION_FINISH_2 >= 0
+#        define NDNBOOST_PP_ITERATION_2 0
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 1 && BOOST_PP_ITERATION_FINISH_2 >= 1
-#        define BOOST_PP_ITERATION_2 1
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 1 && NDNBOOST_PP_ITERATION_FINISH_2 >= 1
+#        define NDNBOOST_PP_ITERATION_2 1
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 2 && BOOST_PP_ITERATION_FINISH_2 >= 2
-#        define BOOST_PP_ITERATION_2 2
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 2 && NDNBOOST_PP_ITERATION_FINISH_2 >= 2
+#        define NDNBOOST_PP_ITERATION_2 2
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 3 && BOOST_PP_ITERATION_FINISH_2 >= 3
-#        define BOOST_PP_ITERATION_2 3
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 3 && NDNBOOST_PP_ITERATION_FINISH_2 >= 3
+#        define NDNBOOST_PP_ITERATION_2 3
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 4 && BOOST_PP_ITERATION_FINISH_2 >= 4
-#        define BOOST_PP_ITERATION_2 4
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 4 && NDNBOOST_PP_ITERATION_FINISH_2 >= 4
+#        define NDNBOOST_PP_ITERATION_2 4
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 5 && BOOST_PP_ITERATION_FINISH_2 >= 5
-#        define BOOST_PP_ITERATION_2 5
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 5 && NDNBOOST_PP_ITERATION_FINISH_2 >= 5
+#        define NDNBOOST_PP_ITERATION_2 5
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 6 && BOOST_PP_ITERATION_FINISH_2 >= 6
-#        define BOOST_PP_ITERATION_2 6
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 6 && NDNBOOST_PP_ITERATION_FINISH_2 >= 6
+#        define NDNBOOST_PP_ITERATION_2 6
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 7 && BOOST_PP_ITERATION_FINISH_2 >= 7
-#        define BOOST_PP_ITERATION_2 7
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 7 && NDNBOOST_PP_ITERATION_FINISH_2 >= 7
+#        define NDNBOOST_PP_ITERATION_2 7
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 8 && BOOST_PP_ITERATION_FINISH_2 >= 8
-#        define BOOST_PP_ITERATION_2 8
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 8 && NDNBOOST_PP_ITERATION_FINISH_2 >= 8
+#        define NDNBOOST_PP_ITERATION_2 8
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 9 && BOOST_PP_ITERATION_FINISH_2 >= 9
-#        define BOOST_PP_ITERATION_2 9
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 9 && NDNBOOST_PP_ITERATION_FINISH_2 >= 9
+#        define NDNBOOST_PP_ITERATION_2 9
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 10 && BOOST_PP_ITERATION_FINISH_2 >= 10
-#        define BOOST_PP_ITERATION_2 10
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 10 && NDNBOOST_PP_ITERATION_FINISH_2 >= 10
+#        define NDNBOOST_PP_ITERATION_2 10
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 11 && BOOST_PP_ITERATION_FINISH_2 >= 11
-#        define BOOST_PP_ITERATION_2 11
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 11 && NDNBOOST_PP_ITERATION_FINISH_2 >= 11
+#        define NDNBOOST_PP_ITERATION_2 11
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 12 && BOOST_PP_ITERATION_FINISH_2 >= 12
-#        define BOOST_PP_ITERATION_2 12
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 12 && NDNBOOST_PP_ITERATION_FINISH_2 >= 12
+#        define NDNBOOST_PP_ITERATION_2 12
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 13 && BOOST_PP_ITERATION_FINISH_2 >= 13
-#        define BOOST_PP_ITERATION_2 13
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 13 && NDNBOOST_PP_ITERATION_FINISH_2 >= 13
+#        define NDNBOOST_PP_ITERATION_2 13
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 14 && BOOST_PP_ITERATION_FINISH_2 >= 14
-#        define BOOST_PP_ITERATION_2 14
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 14 && NDNBOOST_PP_ITERATION_FINISH_2 >= 14
+#        define NDNBOOST_PP_ITERATION_2 14
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 15 && BOOST_PP_ITERATION_FINISH_2 >= 15
-#        define BOOST_PP_ITERATION_2 15
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 15 && NDNBOOST_PP_ITERATION_FINISH_2 >= 15
+#        define NDNBOOST_PP_ITERATION_2 15
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 16 && BOOST_PP_ITERATION_FINISH_2 >= 16
-#        define BOOST_PP_ITERATION_2 16
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 16 && NDNBOOST_PP_ITERATION_FINISH_2 >= 16
+#        define NDNBOOST_PP_ITERATION_2 16
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 17 && BOOST_PP_ITERATION_FINISH_2 >= 17
-#        define BOOST_PP_ITERATION_2 17
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 17 && NDNBOOST_PP_ITERATION_FINISH_2 >= 17
+#        define NDNBOOST_PP_ITERATION_2 17
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 18 && BOOST_PP_ITERATION_FINISH_2 >= 18
-#        define BOOST_PP_ITERATION_2 18
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 18 && NDNBOOST_PP_ITERATION_FINISH_2 >= 18
+#        define NDNBOOST_PP_ITERATION_2 18
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 19 && BOOST_PP_ITERATION_FINISH_2 >= 19
-#        define BOOST_PP_ITERATION_2 19
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 19 && NDNBOOST_PP_ITERATION_FINISH_2 >= 19
+#        define NDNBOOST_PP_ITERATION_2 19
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 20 && BOOST_PP_ITERATION_FINISH_2 >= 20
-#        define BOOST_PP_ITERATION_2 20
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 20 && NDNBOOST_PP_ITERATION_FINISH_2 >= 20
+#        define NDNBOOST_PP_ITERATION_2 20
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 21 && BOOST_PP_ITERATION_FINISH_2 >= 21
-#        define BOOST_PP_ITERATION_2 21
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 21 && NDNBOOST_PP_ITERATION_FINISH_2 >= 21
+#        define NDNBOOST_PP_ITERATION_2 21
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 22 && BOOST_PP_ITERATION_FINISH_2 >= 22
-#        define BOOST_PP_ITERATION_2 22
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 22 && NDNBOOST_PP_ITERATION_FINISH_2 >= 22
+#        define NDNBOOST_PP_ITERATION_2 22
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 23 && BOOST_PP_ITERATION_FINISH_2 >= 23
-#        define BOOST_PP_ITERATION_2 23
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 23 && NDNBOOST_PP_ITERATION_FINISH_2 >= 23
+#        define NDNBOOST_PP_ITERATION_2 23
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 24 && BOOST_PP_ITERATION_FINISH_2 >= 24
-#        define BOOST_PP_ITERATION_2 24
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 24 && NDNBOOST_PP_ITERATION_FINISH_2 >= 24
+#        define NDNBOOST_PP_ITERATION_2 24
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 25 && BOOST_PP_ITERATION_FINISH_2 >= 25
-#        define BOOST_PP_ITERATION_2 25
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 25 && NDNBOOST_PP_ITERATION_FINISH_2 >= 25
+#        define NDNBOOST_PP_ITERATION_2 25
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 26 && BOOST_PP_ITERATION_FINISH_2 >= 26
-#        define BOOST_PP_ITERATION_2 26
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 26 && NDNBOOST_PP_ITERATION_FINISH_2 >= 26
+#        define NDNBOOST_PP_ITERATION_2 26
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 27 && BOOST_PP_ITERATION_FINISH_2 >= 27
-#        define BOOST_PP_ITERATION_2 27
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 27 && NDNBOOST_PP_ITERATION_FINISH_2 >= 27
+#        define NDNBOOST_PP_ITERATION_2 27
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 28 && BOOST_PP_ITERATION_FINISH_2 >= 28
-#        define BOOST_PP_ITERATION_2 28
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 28 && NDNBOOST_PP_ITERATION_FINISH_2 >= 28
+#        define NDNBOOST_PP_ITERATION_2 28
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 29 && BOOST_PP_ITERATION_FINISH_2 >= 29
-#        define BOOST_PP_ITERATION_2 29
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 29 && NDNBOOST_PP_ITERATION_FINISH_2 >= 29
+#        define NDNBOOST_PP_ITERATION_2 29
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 30 && BOOST_PP_ITERATION_FINISH_2 >= 30
-#        define BOOST_PP_ITERATION_2 30
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 30 && NDNBOOST_PP_ITERATION_FINISH_2 >= 30
+#        define NDNBOOST_PP_ITERATION_2 30
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 31 && BOOST_PP_ITERATION_FINISH_2 >= 31
-#        define BOOST_PP_ITERATION_2 31
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 31 && NDNBOOST_PP_ITERATION_FINISH_2 >= 31
+#        define NDNBOOST_PP_ITERATION_2 31
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 32 && BOOST_PP_ITERATION_FINISH_2 >= 32
-#        define BOOST_PP_ITERATION_2 32
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 32 && NDNBOOST_PP_ITERATION_FINISH_2 >= 32
+#        define NDNBOOST_PP_ITERATION_2 32
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 33 && BOOST_PP_ITERATION_FINISH_2 >= 33
-#        define BOOST_PP_ITERATION_2 33
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 33 && NDNBOOST_PP_ITERATION_FINISH_2 >= 33
+#        define NDNBOOST_PP_ITERATION_2 33
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 34 && BOOST_PP_ITERATION_FINISH_2 >= 34
-#        define BOOST_PP_ITERATION_2 34
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 34 && NDNBOOST_PP_ITERATION_FINISH_2 >= 34
+#        define NDNBOOST_PP_ITERATION_2 34
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 35 && BOOST_PP_ITERATION_FINISH_2 >= 35
-#        define BOOST_PP_ITERATION_2 35
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 35 && NDNBOOST_PP_ITERATION_FINISH_2 >= 35
+#        define NDNBOOST_PP_ITERATION_2 35
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 36 && BOOST_PP_ITERATION_FINISH_2 >= 36
-#        define BOOST_PP_ITERATION_2 36
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 36 && NDNBOOST_PP_ITERATION_FINISH_2 >= 36
+#        define NDNBOOST_PP_ITERATION_2 36
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 37 && BOOST_PP_ITERATION_FINISH_2 >= 37
-#        define BOOST_PP_ITERATION_2 37
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 37 && NDNBOOST_PP_ITERATION_FINISH_2 >= 37
+#        define NDNBOOST_PP_ITERATION_2 37
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 38 && BOOST_PP_ITERATION_FINISH_2 >= 38
-#        define BOOST_PP_ITERATION_2 38
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 38 && NDNBOOST_PP_ITERATION_FINISH_2 >= 38
+#        define NDNBOOST_PP_ITERATION_2 38
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 39 && BOOST_PP_ITERATION_FINISH_2 >= 39
-#        define BOOST_PP_ITERATION_2 39
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 39 && NDNBOOST_PP_ITERATION_FINISH_2 >= 39
+#        define NDNBOOST_PP_ITERATION_2 39
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 40 && BOOST_PP_ITERATION_FINISH_2 >= 40
-#        define BOOST_PP_ITERATION_2 40
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 40 && NDNBOOST_PP_ITERATION_FINISH_2 >= 40
+#        define NDNBOOST_PP_ITERATION_2 40
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 41 && BOOST_PP_ITERATION_FINISH_2 >= 41
-#        define BOOST_PP_ITERATION_2 41
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 41 && NDNBOOST_PP_ITERATION_FINISH_2 >= 41
+#        define NDNBOOST_PP_ITERATION_2 41
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 42 && BOOST_PP_ITERATION_FINISH_2 >= 42
-#        define BOOST_PP_ITERATION_2 42
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 42 && NDNBOOST_PP_ITERATION_FINISH_2 >= 42
+#        define NDNBOOST_PP_ITERATION_2 42
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 43 && BOOST_PP_ITERATION_FINISH_2 >= 43
-#        define BOOST_PP_ITERATION_2 43
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 43 && NDNBOOST_PP_ITERATION_FINISH_2 >= 43
+#        define NDNBOOST_PP_ITERATION_2 43
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 44 && BOOST_PP_ITERATION_FINISH_2 >= 44
-#        define BOOST_PP_ITERATION_2 44
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 44 && NDNBOOST_PP_ITERATION_FINISH_2 >= 44
+#        define NDNBOOST_PP_ITERATION_2 44
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 45 && BOOST_PP_ITERATION_FINISH_2 >= 45
-#        define BOOST_PP_ITERATION_2 45
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 45 && NDNBOOST_PP_ITERATION_FINISH_2 >= 45
+#        define NDNBOOST_PP_ITERATION_2 45
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 46 && BOOST_PP_ITERATION_FINISH_2 >= 46
-#        define BOOST_PP_ITERATION_2 46
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 46 && NDNBOOST_PP_ITERATION_FINISH_2 >= 46
+#        define NDNBOOST_PP_ITERATION_2 46
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 47 && BOOST_PP_ITERATION_FINISH_2 >= 47
-#        define BOOST_PP_ITERATION_2 47
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 47 && NDNBOOST_PP_ITERATION_FINISH_2 >= 47
+#        define NDNBOOST_PP_ITERATION_2 47
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 48 && BOOST_PP_ITERATION_FINISH_2 >= 48
-#        define BOOST_PP_ITERATION_2 48
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 48 && NDNBOOST_PP_ITERATION_FINISH_2 >= 48
+#        define NDNBOOST_PP_ITERATION_2 48
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 49 && BOOST_PP_ITERATION_FINISH_2 >= 49
-#        define BOOST_PP_ITERATION_2 49
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 49 && NDNBOOST_PP_ITERATION_FINISH_2 >= 49
+#        define NDNBOOST_PP_ITERATION_2 49
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 50 && BOOST_PP_ITERATION_FINISH_2 >= 50
-#        define BOOST_PP_ITERATION_2 50
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 50 && NDNBOOST_PP_ITERATION_FINISH_2 >= 50
+#        define NDNBOOST_PP_ITERATION_2 50
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 51 && BOOST_PP_ITERATION_FINISH_2 >= 51
-#        define BOOST_PP_ITERATION_2 51
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 51 && NDNBOOST_PP_ITERATION_FINISH_2 >= 51
+#        define NDNBOOST_PP_ITERATION_2 51
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 52 && BOOST_PP_ITERATION_FINISH_2 >= 52
-#        define BOOST_PP_ITERATION_2 52
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 52 && NDNBOOST_PP_ITERATION_FINISH_2 >= 52
+#        define NDNBOOST_PP_ITERATION_2 52
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 53 && BOOST_PP_ITERATION_FINISH_2 >= 53
-#        define BOOST_PP_ITERATION_2 53
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 53 && NDNBOOST_PP_ITERATION_FINISH_2 >= 53
+#        define NDNBOOST_PP_ITERATION_2 53
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 54 && BOOST_PP_ITERATION_FINISH_2 >= 54
-#        define BOOST_PP_ITERATION_2 54
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 54 && NDNBOOST_PP_ITERATION_FINISH_2 >= 54
+#        define NDNBOOST_PP_ITERATION_2 54
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 55 && BOOST_PP_ITERATION_FINISH_2 >= 55
-#        define BOOST_PP_ITERATION_2 55
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 55 && NDNBOOST_PP_ITERATION_FINISH_2 >= 55
+#        define NDNBOOST_PP_ITERATION_2 55
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 56 && BOOST_PP_ITERATION_FINISH_2 >= 56
-#        define BOOST_PP_ITERATION_2 56
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 56 && NDNBOOST_PP_ITERATION_FINISH_2 >= 56
+#        define NDNBOOST_PP_ITERATION_2 56
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 57 && BOOST_PP_ITERATION_FINISH_2 >= 57
-#        define BOOST_PP_ITERATION_2 57
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 57 && NDNBOOST_PP_ITERATION_FINISH_2 >= 57
+#        define NDNBOOST_PP_ITERATION_2 57
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 58 && BOOST_PP_ITERATION_FINISH_2 >= 58
-#        define BOOST_PP_ITERATION_2 58
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 58 && NDNBOOST_PP_ITERATION_FINISH_2 >= 58
+#        define NDNBOOST_PP_ITERATION_2 58
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 59 && BOOST_PP_ITERATION_FINISH_2 >= 59
-#        define BOOST_PP_ITERATION_2 59
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 59 && NDNBOOST_PP_ITERATION_FINISH_2 >= 59
+#        define NDNBOOST_PP_ITERATION_2 59
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 60 && BOOST_PP_ITERATION_FINISH_2 >= 60
-#        define BOOST_PP_ITERATION_2 60
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 60 && NDNBOOST_PP_ITERATION_FINISH_2 >= 60
+#        define NDNBOOST_PP_ITERATION_2 60
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 61 && BOOST_PP_ITERATION_FINISH_2 >= 61
-#        define BOOST_PP_ITERATION_2 61
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 61 && NDNBOOST_PP_ITERATION_FINISH_2 >= 61
+#        define NDNBOOST_PP_ITERATION_2 61
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 62 && BOOST_PP_ITERATION_FINISH_2 >= 62
-#        define BOOST_PP_ITERATION_2 62
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 62 && NDNBOOST_PP_ITERATION_FINISH_2 >= 62
+#        define NDNBOOST_PP_ITERATION_2 62
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 63 && BOOST_PP_ITERATION_FINISH_2 >= 63
-#        define BOOST_PP_ITERATION_2 63
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 63 && NDNBOOST_PP_ITERATION_FINISH_2 >= 63
+#        define NDNBOOST_PP_ITERATION_2 63
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 64 && BOOST_PP_ITERATION_FINISH_2 >= 64
-#        define BOOST_PP_ITERATION_2 64
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 64 && NDNBOOST_PP_ITERATION_FINISH_2 >= 64
+#        define NDNBOOST_PP_ITERATION_2 64
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 65 && BOOST_PP_ITERATION_FINISH_2 >= 65
-#        define BOOST_PP_ITERATION_2 65
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 65 && NDNBOOST_PP_ITERATION_FINISH_2 >= 65
+#        define NDNBOOST_PP_ITERATION_2 65
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 66 && BOOST_PP_ITERATION_FINISH_2 >= 66
-#        define BOOST_PP_ITERATION_2 66
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 66 && NDNBOOST_PP_ITERATION_FINISH_2 >= 66
+#        define NDNBOOST_PP_ITERATION_2 66
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 67 && BOOST_PP_ITERATION_FINISH_2 >= 67
-#        define BOOST_PP_ITERATION_2 67
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 67 && NDNBOOST_PP_ITERATION_FINISH_2 >= 67
+#        define NDNBOOST_PP_ITERATION_2 67
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 68 && BOOST_PP_ITERATION_FINISH_2 >= 68
-#        define BOOST_PP_ITERATION_2 68
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 68 && NDNBOOST_PP_ITERATION_FINISH_2 >= 68
+#        define NDNBOOST_PP_ITERATION_2 68
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 69 && BOOST_PP_ITERATION_FINISH_2 >= 69
-#        define BOOST_PP_ITERATION_2 69
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 69 && NDNBOOST_PP_ITERATION_FINISH_2 >= 69
+#        define NDNBOOST_PP_ITERATION_2 69
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 70 && BOOST_PP_ITERATION_FINISH_2 >= 70
-#        define BOOST_PP_ITERATION_2 70
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 70 && NDNBOOST_PP_ITERATION_FINISH_2 >= 70
+#        define NDNBOOST_PP_ITERATION_2 70
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 71 && BOOST_PP_ITERATION_FINISH_2 >= 71
-#        define BOOST_PP_ITERATION_2 71
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 71 && NDNBOOST_PP_ITERATION_FINISH_2 >= 71
+#        define NDNBOOST_PP_ITERATION_2 71
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 72 && BOOST_PP_ITERATION_FINISH_2 >= 72
-#        define BOOST_PP_ITERATION_2 72
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 72 && NDNBOOST_PP_ITERATION_FINISH_2 >= 72
+#        define NDNBOOST_PP_ITERATION_2 72
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 73 && BOOST_PP_ITERATION_FINISH_2 >= 73
-#        define BOOST_PP_ITERATION_2 73
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 73 && NDNBOOST_PP_ITERATION_FINISH_2 >= 73
+#        define NDNBOOST_PP_ITERATION_2 73
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 74 && BOOST_PP_ITERATION_FINISH_2 >= 74
-#        define BOOST_PP_ITERATION_2 74
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 74 && NDNBOOST_PP_ITERATION_FINISH_2 >= 74
+#        define NDNBOOST_PP_ITERATION_2 74
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 75 && BOOST_PP_ITERATION_FINISH_2 >= 75
-#        define BOOST_PP_ITERATION_2 75
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 75 && NDNBOOST_PP_ITERATION_FINISH_2 >= 75
+#        define NDNBOOST_PP_ITERATION_2 75
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 76 && BOOST_PP_ITERATION_FINISH_2 >= 76
-#        define BOOST_PP_ITERATION_2 76
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 76 && NDNBOOST_PP_ITERATION_FINISH_2 >= 76
+#        define NDNBOOST_PP_ITERATION_2 76
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 77 && BOOST_PP_ITERATION_FINISH_2 >= 77
-#        define BOOST_PP_ITERATION_2 77
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 77 && NDNBOOST_PP_ITERATION_FINISH_2 >= 77
+#        define NDNBOOST_PP_ITERATION_2 77
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 78 && BOOST_PP_ITERATION_FINISH_2 >= 78
-#        define BOOST_PP_ITERATION_2 78
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 78 && NDNBOOST_PP_ITERATION_FINISH_2 >= 78
+#        define NDNBOOST_PP_ITERATION_2 78
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 79 && BOOST_PP_ITERATION_FINISH_2 >= 79
-#        define BOOST_PP_ITERATION_2 79
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 79 && NDNBOOST_PP_ITERATION_FINISH_2 >= 79
+#        define NDNBOOST_PP_ITERATION_2 79
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 80 && BOOST_PP_ITERATION_FINISH_2 >= 80
-#        define BOOST_PP_ITERATION_2 80
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 80 && NDNBOOST_PP_ITERATION_FINISH_2 >= 80
+#        define NDNBOOST_PP_ITERATION_2 80
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 81 && BOOST_PP_ITERATION_FINISH_2 >= 81
-#        define BOOST_PP_ITERATION_2 81
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 81 && NDNBOOST_PP_ITERATION_FINISH_2 >= 81
+#        define NDNBOOST_PP_ITERATION_2 81
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 82 && BOOST_PP_ITERATION_FINISH_2 >= 82
-#        define BOOST_PP_ITERATION_2 82
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 82 && NDNBOOST_PP_ITERATION_FINISH_2 >= 82
+#        define NDNBOOST_PP_ITERATION_2 82
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 83 && BOOST_PP_ITERATION_FINISH_2 >= 83
-#        define BOOST_PP_ITERATION_2 83
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 83 && NDNBOOST_PP_ITERATION_FINISH_2 >= 83
+#        define NDNBOOST_PP_ITERATION_2 83
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 84 && BOOST_PP_ITERATION_FINISH_2 >= 84
-#        define BOOST_PP_ITERATION_2 84
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 84 && NDNBOOST_PP_ITERATION_FINISH_2 >= 84
+#        define NDNBOOST_PP_ITERATION_2 84
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 85 && BOOST_PP_ITERATION_FINISH_2 >= 85
-#        define BOOST_PP_ITERATION_2 85
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 85 && NDNBOOST_PP_ITERATION_FINISH_2 >= 85
+#        define NDNBOOST_PP_ITERATION_2 85
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 86 && BOOST_PP_ITERATION_FINISH_2 >= 86
-#        define BOOST_PP_ITERATION_2 86
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 86 && NDNBOOST_PP_ITERATION_FINISH_2 >= 86
+#        define NDNBOOST_PP_ITERATION_2 86
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 87 && BOOST_PP_ITERATION_FINISH_2 >= 87
-#        define BOOST_PP_ITERATION_2 87
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 87 && NDNBOOST_PP_ITERATION_FINISH_2 >= 87
+#        define NDNBOOST_PP_ITERATION_2 87
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 88 && BOOST_PP_ITERATION_FINISH_2 >= 88
-#        define BOOST_PP_ITERATION_2 88
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 88 && NDNBOOST_PP_ITERATION_FINISH_2 >= 88
+#        define NDNBOOST_PP_ITERATION_2 88
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 89 && BOOST_PP_ITERATION_FINISH_2 >= 89
-#        define BOOST_PP_ITERATION_2 89
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 89 && NDNBOOST_PP_ITERATION_FINISH_2 >= 89
+#        define NDNBOOST_PP_ITERATION_2 89
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 90 && BOOST_PP_ITERATION_FINISH_2 >= 90
-#        define BOOST_PP_ITERATION_2 90
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 90 && NDNBOOST_PP_ITERATION_FINISH_2 >= 90
+#        define NDNBOOST_PP_ITERATION_2 90
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 91 && BOOST_PP_ITERATION_FINISH_2 >= 91
-#        define BOOST_PP_ITERATION_2 91
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 91 && NDNBOOST_PP_ITERATION_FINISH_2 >= 91
+#        define NDNBOOST_PP_ITERATION_2 91
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 92 && BOOST_PP_ITERATION_FINISH_2 >= 92
-#        define BOOST_PP_ITERATION_2 92
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 92 && NDNBOOST_PP_ITERATION_FINISH_2 >= 92
+#        define NDNBOOST_PP_ITERATION_2 92
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 93 && BOOST_PP_ITERATION_FINISH_2 >= 93
-#        define BOOST_PP_ITERATION_2 93
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 93 && NDNBOOST_PP_ITERATION_FINISH_2 >= 93
+#        define NDNBOOST_PP_ITERATION_2 93
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 94 && BOOST_PP_ITERATION_FINISH_2 >= 94
-#        define BOOST_PP_ITERATION_2 94
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 94 && NDNBOOST_PP_ITERATION_FINISH_2 >= 94
+#        define NDNBOOST_PP_ITERATION_2 94
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 95 && BOOST_PP_ITERATION_FINISH_2 >= 95
-#        define BOOST_PP_ITERATION_2 95
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 95 && NDNBOOST_PP_ITERATION_FINISH_2 >= 95
+#        define NDNBOOST_PP_ITERATION_2 95
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 96 && BOOST_PP_ITERATION_FINISH_2 >= 96
-#        define BOOST_PP_ITERATION_2 96
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 96 && NDNBOOST_PP_ITERATION_FINISH_2 >= 96
+#        define NDNBOOST_PP_ITERATION_2 96
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 97 && BOOST_PP_ITERATION_FINISH_2 >= 97
-#        define BOOST_PP_ITERATION_2 97
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 97 && NDNBOOST_PP_ITERATION_FINISH_2 >= 97
+#        define NDNBOOST_PP_ITERATION_2 97
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 98 && BOOST_PP_ITERATION_FINISH_2 >= 98
-#        define BOOST_PP_ITERATION_2 98
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 98 && NDNBOOST_PP_ITERATION_FINISH_2 >= 98
+#        define NDNBOOST_PP_ITERATION_2 98
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 99 && BOOST_PP_ITERATION_FINISH_2 >= 99
-#        define BOOST_PP_ITERATION_2 99
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 99 && NDNBOOST_PP_ITERATION_FINISH_2 >= 99
+#        define NDNBOOST_PP_ITERATION_2 99
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 100 && BOOST_PP_ITERATION_FINISH_2 >= 100
-#        define BOOST_PP_ITERATION_2 100
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 100 && NDNBOOST_PP_ITERATION_FINISH_2 >= 100
+#        define NDNBOOST_PP_ITERATION_2 100
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 101 && BOOST_PP_ITERATION_FINISH_2 >= 101
-#        define BOOST_PP_ITERATION_2 101
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 101 && NDNBOOST_PP_ITERATION_FINISH_2 >= 101
+#        define NDNBOOST_PP_ITERATION_2 101
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 102 && BOOST_PP_ITERATION_FINISH_2 >= 102
-#        define BOOST_PP_ITERATION_2 102
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 102 && NDNBOOST_PP_ITERATION_FINISH_2 >= 102
+#        define NDNBOOST_PP_ITERATION_2 102
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 103 && BOOST_PP_ITERATION_FINISH_2 >= 103
-#        define BOOST_PP_ITERATION_2 103
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 103 && NDNBOOST_PP_ITERATION_FINISH_2 >= 103
+#        define NDNBOOST_PP_ITERATION_2 103
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 104 && BOOST_PP_ITERATION_FINISH_2 >= 104
-#        define BOOST_PP_ITERATION_2 104
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 104 && NDNBOOST_PP_ITERATION_FINISH_2 >= 104
+#        define NDNBOOST_PP_ITERATION_2 104
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 105 && BOOST_PP_ITERATION_FINISH_2 >= 105
-#        define BOOST_PP_ITERATION_2 105
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 105 && NDNBOOST_PP_ITERATION_FINISH_2 >= 105
+#        define NDNBOOST_PP_ITERATION_2 105
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 106 && BOOST_PP_ITERATION_FINISH_2 >= 106
-#        define BOOST_PP_ITERATION_2 106
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 106 && NDNBOOST_PP_ITERATION_FINISH_2 >= 106
+#        define NDNBOOST_PP_ITERATION_2 106
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 107 && BOOST_PP_ITERATION_FINISH_2 >= 107
-#        define BOOST_PP_ITERATION_2 107
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 107 && NDNBOOST_PP_ITERATION_FINISH_2 >= 107
+#        define NDNBOOST_PP_ITERATION_2 107
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 108 && BOOST_PP_ITERATION_FINISH_2 >= 108
-#        define BOOST_PP_ITERATION_2 108
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 108 && NDNBOOST_PP_ITERATION_FINISH_2 >= 108
+#        define NDNBOOST_PP_ITERATION_2 108
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 109 && BOOST_PP_ITERATION_FINISH_2 >= 109
-#        define BOOST_PP_ITERATION_2 109
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 109 && NDNBOOST_PP_ITERATION_FINISH_2 >= 109
+#        define NDNBOOST_PP_ITERATION_2 109
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 110 && BOOST_PP_ITERATION_FINISH_2 >= 110
-#        define BOOST_PP_ITERATION_2 110
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 110 && NDNBOOST_PP_ITERATION_FINISH_2 >= 110
+#        define NDNBOOST_PP_ITERATION_2 110
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 111 && BOOST_PP_ITERATION_FINISH_2 >= 111
-#        define BOOST_PP_ITERATION_2 111
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 111 && NDNBOOST_PP_ITERATION_FINISH_2 >= 111
+#        define NDNBOOST_PP_ITERATION_2 111
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 112 && BOOST_PP_ITERATION_FINISH_2 >= 112
-#        define BOOST_PP_ITERATION_2 112
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 112 && NDNBOOST_PP_ITERATION_FINISH_2 >= 112
+#        define NDNBOOST_PP_ITERATION_2 112
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 113 && BOOST_PP_ITERATION_FINISH_2 >= 113
-#        define BOOST_PP_ITERATION_2 113
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 113 && NDNBOOST_PP_ITERATION_FINISH_2 >= 113
+#        define NDNBOOST_PP_ITERATION_2 113
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 114 && BOOST_PP_ITERATION_FINISH_2 >= 114
-#        define BOOST_PP_ITERATION_2 114
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 114 && NDNBOOST_PP_ITERATION_FINISH_2 >= 114
+#        define NDNBOOST_PP_ITERATION_2 114
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 115 && BOOST_PP_ITERATION_FINISH_2 >= 115
-#        define BOOST_PP_ITERATION_2 115
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 115 && NDNBOOST_PP_ITERATION_FINISH_2 >= 115
+#        define NDNBOOST_PP_ITERATION_2 115
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 116 && BOOST_PP_ITERATION_FINISH_2 >= 116
-#        define BOOST_PP_ITERATION_2 116
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 116 && NDNBOOST_PP_ITERATION_FINISH_2 >= 116
+#        define NDNBOOST_PP_ITERATION_2 116
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 117 && BOOST_PP_ITERATION_FINISH_2 >= 117
-#        define BOOST_PP_ITERATION_2 117
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 117 && NDNBOOST_PP_ITERATION_FINISH_2 >= 117
+#        define NDNBOOST_PP_ITERATION_2 117
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 118 && BOOST_PP_ITERATION_FINISH_2 >= 118
-#        define BOOST_PP_ITERATION_2 118
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 118 && NDNBOOST_PP_ITERATION_FINISH_2 >= 118
+#        define NDNBOOST_PP_ITERATION_2 118
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 119 && BOOST_PP_ITERATION_FINISH_2 >= 119
-#        define BOOST_PP_ITERATION_2 119
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 119 && NDNBOOST_PP_ITERATION_FINISH_2 >= 119
+#        define NDNBOOST_PP_ITERATION_2 119
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 120 && BOOST_PP_ITERATION_FINISH_2 >= 120
-#        define BOOST_PP_ITERATION_2 120
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 120 && NDNBOOST_PP_ITERATION_FINISH_2 >= 120
+#        define NDNBOOST_PP_ITERATION_2 120
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 121 && BOOST_PP_ITERATION_FINISH_2 >= 121
-#        define BOOST_PP_ITERATION_2 121
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 121 && NDNBOOST_PP_ITERATION_FINISH_2 >= 121
+#        define NDNBOOST_PP_ITERATION_2 121
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 122 && BOOST_PP_ITERATION_FINISH_2 >= 122
-#        define BOOST_PP_ITERATION_2 122
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 122 && NDNBOOST_PP_ITERATION_FINISH_2 >= 122
+#        define NDNBOOST_PP_ITERATION_2 122
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 123 && BOOST_PP_ITERATION_FINISH_2 >= 123
-#        define BOOST_PP_ITERATION_2 123
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 123 && NDNBOOST_PP_ITERATION_FINISH_2 >= 123
+#        define NDNBOOST_PP_ITERATION_2 123
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 124 && BOOST_PP_ITERATION_FINISH_2 >= 124
-#        define BOOST_PP_ITERATION_2 124
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 124 && NDNBOOST_PP_ITERATION_FINISH_2 >= 124
+#        define NDNBOOST_PP_ITERATION_2 124
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 125 && BOOST_PP_ITERATION_FINISH_2 >= 125
-#        define BOOST_PP_ITERATION_2 125
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 125 && NDNBOOST_PP_ITERATION_FINISH_2 >= 125
+#        define NDNBOOST_PP_ITERATION_2 125
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 126 && BOOST_PP_ITERATION_FINISH_2 >= 126
-#        define BOOST_PP_ITERATION_2 126
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 126 && NDNBOOST_PP_ITERATION_FINISH_2 >= 126
+#        define NDNBOOST_PP_ITERATION_2 126
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 127 && BOOST_PP_ITERATION_FINISH_2 >= 127
-#        define BOOST_PP_ITERATION_2 127
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 127 && NDNBOOST_PP_ITERATION_FINISH_2 >= 127
+#        define NDNBOOST_PP_ITERATION_2 127
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 128 && BOOST_PP_ITERATION_FINISH_2 >= 128
-#        define BOOST_PP_ITERATION_2 128
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 128 && NDNBOOST_PP_ITERATION_FINISH_2 >= 128
+#        define NDNBOOST_PP_ITERATION_2 128
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 129 && BOOST_PP_ITERATION_FINISH_2 >= 129
-#        define BOOST_PP_ITERATION_2 129
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 129 && NDNBOOST_PP_ITERATION_FINISH_2 >= 129
+#        define NDNBOOST_PP_ITERATION_2 129
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 130 && BOOST_PP_ITERATION_FINISH_2 >= 130
-#        define BOOST_PP_ITERATION_2 130
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 130 && NDNBOOST_PP_ITERATION_FINISH_2 >= 130
+#        define NDNBOOST_PP_ITERATION_2 130
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 131 && BOOST_PP_ITERATION_FINISH_2 >= 131
-#        define BOOST_PP_ITERATION_2 131
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 131 && NDNBOOST_PP_ITERATION_FINISH_2 >= 131
+#        define NDNBOOST_PP_ITERATION_2 131
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 132 && BOOST_PP_ITERATION_FINISH_2 >= 132
-#        define BOOST_PP_ITERATION_2 132
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 132 && NDNBOOST_PP_ITERATION_FINISH_2 >= 132
+#        define NDNBOOST_PP_ITERATION_2 132
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 133 && BOOST_PP_ITERATION_FINISH_2 >= 133
-#        define BOOST_PP_ITERATION_2 133
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 133 && NDNBOOST_PP_ITERATION_FINISH_2 >= 133
+#        define NDNBOOST_PP_ITERATION_2 133
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 134 && BOOST_PP_ITERATION_FINISH_2 >= 134
-#        define BOOST_PP_ITERATION_2 134
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 134 && NDNBOOST_PP_ITERATION_FINISH_2 >= 134
+#        define NDNBOOST_PP_ITERATION_2 134
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 135 && BOOST_PP_ITERATION_FINISH_2 >= 135
-#        define BOOST_PP_ITERATION_2 135
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 135 && NDNBOOST_PP_ITERATION_FINISH_2 >= 135
+#        define NDNBOOST_PP_ITERATION_2 135
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 136 && BOOST_PP_ITERATION_FINISH_2 >= 136
-#        define BOOST_PP_ITERATION_2 136
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 136 && NDNBOOST_PP_ITERATION_FINISH_2 >= 136
+#        define NDNBOOST_PP_ITERATION_2 136
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 137 && BOOST_PP_ITERATION_FINISH_2 >= 137
-#        define BOOST_PP_ITERATION_2 137
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 137 && NDNBOOST_PP_ITERATION_FINISH_2 >= 137
+#        define NDNBOOST_PP_ITERATION_2 137
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 138 && BOOST_PP_ITERATION_FINISH_2 >= 138
-#        define BOOST_PP_ITERATION_2 138
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 138 && NDNBOOST_PP_ITERATION_FINISH_2 >= 138
+#        define NDNBOOST_PP_ITERATION_2 138
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 139 && BOOST_PP_ITERATION_FINISH_2 >= 139
-#        define BOOST_PP_ITERATION_2 139
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 139 && NDNBOOST_PP_ITERATION_FINISH_2 >= 139
+#        define NDNBOOST_PP_ITERATION_2 139
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 140 && BOOST_PP_ITERATION_FINISH_2 >= 140
-#        define BOOST_PP_ITERATION_2 140
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 140 && NDNBOOST_PP_ITERATION_FINISH_2 >= 140
+#        define NDNBOOST_PP_ITERATION_2 140
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 141 && BOOST_PP_ITERATION_FINISH_2 >= 141
-#        define BOOST_PP_ITERATION_2 141
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 141 && NDNBOOST_PP_ITERATION_FINISH_2 >= 141
+#        define NDNBOOST_PP_ITERATION_2 141
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 142 && BOOST_PP_ITERATION_FINISH_2 >= 142
-#        define BOOST_PP_ITERATION_2 142
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 142 && NDNBOOST_PP_ITERATION_FINISH_2 >= 142
+#        define NDNBOOST_PP_ITERATION_2 142
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 143 && BOOST_PP_ITERATION_FINISH_2 >= 143
-#        define BOOST_PP_ITERATION_2 143
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 143 && NDNBOOST_PP_ITERATION_FINISH_2 >= 143
+#        define NDNBOOST_PP_ITERATION_2 143
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 144 && BOOST_PP_ITERATION_FINISH_2 >= 144
-#        define BOOST_PP_ITERATION_2 144
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 144 && NDNBOOST_PP_ITERATION_FINISH_2 >= 144
+#        define NDNBOOST_PP_ITERATION_2 144
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 145 && BOOST_PP_ITERATION_FINISH_2 >= 145
-#        define BOOST_PP_ITERATION_2 145
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 145 && NDNBOOST_PP_ITERATION_FINISH_2 >= 145
+#        define NDNBOOST_PP_ITERATION_2 145
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 146 && BOOST_PP_ITERATION_FINISH_2 >= 146
-#        define BOOST_PP_ITERATION_2 146
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 146 && NDNBOOST_PP_ITERATION_FINISH_2 >= 146
+#        define NDNBOOST_PP_ITERATION_2 146
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 147 && BOOST_PP_ITERATION_FINISH_2 >= 147
-#        define BOOST_PP_ITERATION_2 147
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 147 && NDNBOOST_PP_ITERATION_FINISH_2 >= 147
+#        define NDNBOOST_PP_ITERATION_2 147
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 148 && BOOST_PP_ITERATION_FINISH_2 >= 148
-#        define BOOST_PP_ITERATION_2 148
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 148 && NDNBOOST_PP_ITERATION_FINISH_2 >= 148
+#        define NDNBOOST_PP_ITERATION_2 148
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 149 && BOOST_PP_ITERATION_FINISH_2 >= 149
-#        define BOOST_PP_ITERATION_2 149
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 149 && NDNBOOST_PP_ITERATION_FINISH_2 >= 149
+#        define NDNBOOST_PP_ITERATION_2 149
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 150 && BOOST_PP_ITERATION_FINISH_2 >= 150
-#        define BOOST_PP_ITERATION_2 150
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 150 && NDNBOOST_PP_ITERATION_FINISH_2 >= 150
+#        define NDNBOOST_PP_ITERATION_2 150
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 151 && BOOST_PP_ITERATION_FINISH_2 >= 151
-#        define BOOST_PP_ITERATION_2 151
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 151 && NDNBOOST_PP_ITERATION_FINISH_2 >= 151
+#        define NDNBOOST_PP_ITERATION_2 151
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 152 && BOOST_PP_ITERATION_FINISH_2 >= 152
-#        define BOOST_PP_ITERATION_2 152
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 152 && NDNBOOST_PP_ITERATION_FINISH_2 >= 152
+#        define NDNBOOST_PP_ITERATION_2 152
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 153 && BOOST_PP_ITERATION_FINISH_2 >= 153
-#        define BOOST_PP_ITERATION_2 153
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 153 && NDNBOOST_PP_ITERATION_FINISH_2 >= 153
+#        define NDNBOOST_PP_ITERATION_2 153
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 154 && BOOST_PP_ITERATION_FINISH_2 >= 154
-#        define BOOST_PP_ITERATION_2 154
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 154 && NDNBOOST_PP_ITERATION_FINISH_2 >= 154
+#        define NDNBOOST_PP_ITERATION_2 154
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 155 && BOOST_PP_ITERATION_FINISH_2 >= 155
-#        define BOOST_PP_ITERATION_2 155
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 155 && NDNBOOST_PP_ITERATION_FINISH_2 >= 155
+#        define NDNBOOST_PP_ITERATION_2 155
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 156 && BOOST_PP_ITERATION_FINISH_2 >= 156
-#        define BOOST_PP_ITERATION_2 156
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 156 && NDNBOOST_PP_ITERATION_FINISH_2 >= 156
+#        define NDNBOOST_PP_ITERATION_2 156
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 157 && BOOST_PP_ITERATION_FINISH_2 >= 157
-#        define BOOST_PP_ITERATION_2 157
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 157 && NDNBOOST_PP_ITERATION_FINISH_2 >= 157
+#        define NDNBOOST_PP_ITERATION_2 157
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 158 && BOOST_PP_ITERATION_FINISH_2 >= 158
-#        define BOOST_PP_ITERATION_2 158
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 158 && NDNBOOST_PP_ITERATION_FINISH_2 >= 158
+#        define NDNBOOST_PP_ITERATION_2 158
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 159 && BOOST_PP_ITERATION_FINISH_2 >= 159
-#        define BOOST_PP_ITERATION_2 159
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 159 && NDNBOOST_PP_ITERATION_FINISH_2 >= 159
+#        define NDNBOOST_PP_ITERATION_2 159
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 160 && BOOST_PP_ITERATION_FINISH_2 >= 160
-#        define BOOST_PP_ITERATION_2 160
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 160 && NDNBOOST_PP_ITERATION_FINISH_2 >= 160
+#        define NDNBOOST_PP_ITERATION_2 160
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 161 && BOOST_PP_ITERATION_FINISH_2 >= 161
-#        define BOOST_PP_ITERATION_2 161
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 161 && NDNBOOST_PP_ITERATION_FINISH_2 >= 161
+#        define NDNBOOST_PP_ITERATION_2 161
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 162 && BOOST_PP_ITERATION_FINISH_2 >= 162
-#        define BOOST_PP_ITERATION_2 162
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 162 && NDNBOOST_PP_ITERATION_FINISH_2 >= 162
+#        define NDNBOOST_PP_ITERATION_2 162
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 163 && BOOST_PP_ITERATION_FINISH_2 >= 163
-#        define BOOST_PP_ITERATION_2 163
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 163 && NDNBOOST_PP_ITERATION_FINISH_2 >= 163
+#        define NDNBOOST_PP_ITERATION_2 163
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 164 && BOOST_PP_ITERATION_FINISH_2 >= 164
-#        define BOOST_PP_ITERATION_2 164
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 164 && NDNBOOST_PP_ITERATION_FINISH_2 >= 164
+#        define NDNBOOST_PP_ITERATION_2 164
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 165 && BOOST_PP_ITERATION_FINISH_2 >= 165
-#        define BOOST_PP_ITERATION_2 165
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 165 && NDNBOOST_PP_ITERATION_FINISH_2 >= 165
+#        define NDNBOOST_PP_ITERATION_2 165
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 166 && BOOST_PP_ITERATION_FINISH_2 >= 166
-#        define BOOST_PP_ITERATION_2 166
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 166 && NDNBOOST_PP_ITERATION_FINISH_2 >= 166
+#        define NDNBOOST_PP_ITERATION_2 166
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 167 && BOOST_PP_ITERATION_FINISH_2 >= 167
-#        define BOOST_PP_ITERATION_2 167
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 167 && NDNBOOST_PP_ITERATION_FINISH_2 >= 167
+#        define NDNBOOST_PP_ITERATION_2 167
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 168 && BOOST_PP_ITERATION_FINISH_2 >= 168
-#        define BOOST_PP_ITERATION_2 168
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 168 && NDNBOOST_PP_ITERATION_FINISH_2 >= 168
+#        define NDNBOOST_PP_ITERATION_2 168
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 169 && BOOST_PP_ITERATION_FINISH_2 >= 169
-#        define BOOST_PP_ITERATION_2 169
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 169 && NDNBOOST_PP_ITERATION_FINISH_2 >= 169
+#        define NDNBOOST_PP_ITERATION_2 169
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 170 && BOOST_PP_ITERATION_FINISH_2 >= 170
-#        define BOOST_PP_ITERATION_2 170
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 170 && NDNBOOST_PP_ITERATION_FINISH_2 >= 170
+#        define NDNBOOST_PP_ITERATION_2 170
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 171 && BOOST_PP_ITERATION_FINISH_2 >= 171
-#        define BOOST_PP_ITERATION_2 171
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 171 && NDNBOOST_PP_ITERATION_FINISH_2 >= 171
+#        define NDNBOOST_PP_ITERATION_2 171
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 172 && BOOST_PP_ITERATION_FINISH_2 >= 172
-#        define BOOST_PP_ITERATION_2 172
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 172 && NDNBOOST_PP_ITERATION_FINISH_2 >= 172
+#        define NDNBOOST_PP_ITERATION_2 172
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 173 && BOOST_PP_ITERATION_FINISH_2 >= 173
-#        define BOOST_PP_ITERATION_2 173
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 173 && NDNBOOST_PP_ITERATION_FINISH_2 >= 173
+#        define NDNBOOST_PP_ITERATION_2 173
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 174 && BOOST_PP_ITERATION_FINISH_2 >= 174
-#        define BOOST_PP_ITERATION_2 174
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 174 && NDNBOOST_PP_ITERATION_FINISH_2 >= 174
+#        define NDNBOOST_PP_ITERATION_2 174
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 175 && BOOST_PP_ITERATION_FINISH_2 >= 175
-#        define BOOST_PP_ITERATION_2 175
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 175 && NDNBOOST_PP_ITERATION_FINISH_2 >= 175
+#        define NDNBOOST_PP_ITERATION_2 175
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 176 && BOOST_PP_ITERATION_FINISH_2 >= 176
-#        define BOOST_PP_ITERATION_2 176
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 176 && NDNBOOST_PP_ITERATION_FINISH_2 >= 176
+#        define NDNBOOST_PP_ITERATION_2 176
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 177 && BOOST_PP_ITERATION_FINISH_2 >= 177
-#        define BOOST_PP_ITERATION_2 177
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 177 && NDNBOOST_PP_ITERATION_FINISH_2 >= 177
+#        define NDNBOOST_PP_ITERATION_2 177
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 178 && BOOST_PP_ITERATION_FINISH_2 >= 178
-#        define BOOST_PP_ITERATION_2 178
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 178 && NDNBOOST_PP_ITERATION_FINISH_2 >= 178
+#        define NDNBOOST_PP_ITERATION_2 178
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 179 && BOOST_PP_ITERATION_FINISH_2 >= 179
-#        define BOOST_PP_ITERATION_2 179
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 179 && NDNBOOST_PP_ITERATION_FINISH_2 >= 179
+#        define NDNBOOST_PP_ITERATION_2 179
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 180 && BOOST_PP_ITERATION_FINISH_2 >= 180
-#        define BOOST_PP_ITERATION_2 180
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 180 && NDNBOOST_PP_ITERATION_FINISH_2 >= 180
+#        define NDNBOOST_PP_ITERATION_2 180
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 181 && BOOST_PP_ITERATION_FINISH_2 >= 181
-#        define BOOST_PP_ITERATION_2 181
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 181 && NDNBOOST_PP_ITERATION_FINISH_2 >= 181
+#        define NDNBOOST_PP_ITERATION_2 181
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 182 && BOOST_PP_ITERATION_FINISH_2 >= 182
-#        define BOOST_PP_ITERATION_2 182
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 182 && NDNBOOST_PP_ITERATION_FINISH_2 >= 182
+#        define NDNBOOST_PP_ITERATION_2 182
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 183 && BOOST_PP_ITERATION_FINISH_2 >= 183
-#        define BOOST_PP_ITERATION_2 183
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 183 && NDNBOOST_PP_ITERATION_FINISH_2 >= 183
+#        define NDNBOOST_PP_ITERATION_2 183
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 184 && BOOST_PP_ITERATION_FINISH_2 >= 184
-#        define BOOST_PP_ITERATION_2 184
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 184 && NDNBOOST_PP_ITERATION_FINISH_2 >= 184
+#        define NDNBOOST_PP_ITERATION_2 184
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 185 && BOOST_PP_ITERATION_FINISH_2 >= 185
-#        define BOOST_PP_ITERATION_2 185
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 185 && NDNBOOST_PP_ITERATION_FINISH_2 >= 185
+#        define NDNBOOST_PP_ITERATION_2 185
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 186 && BOOST_PP_ITERATION_FINISH_2 >= 186
-#        define BOOST_PP_ITERATION_2 186
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 186 && NDNBOOST_PP_ITERATION_FINISH_2 >= 186
+#        define NDNBOOST_PP_ITERATION_2 186
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 187 && BOOST_PP_ITERATION_FINISH_2 >= 187
-#        define BOOST_PP_ITERATION_2 187
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 187 && NDNBOOST_PP_ITERATION_FINISH_2 >= 187
+#        define NDNBOOST_PP_ITERATION_2 187
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 188 && BOOST_PP_ITERATION_FINISH_2 >= 188
-#        define BOOST_PP_ITERATION_2 188
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 188 && NDNBOOST_PP_ITERATION_FINISH_2 >= 188
+#        define NDNBOOST_PP_ITERATION_2 188
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 189 && BOOST_PP_ITERATION_FINISH_2 >= 189
-#        define BOOST_PP_ITERATION_2 189
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 189 && NDNBOOST_PP_ITERATION_FINISH_2 >= 189
+#        define NDNBOOST_PP_ITERATION_2 189
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 190 && BOOST_PP_ITERATION_FINISH_2 >= 190
-#        define BOOST_PP_ITERATION_2 190
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 190 && NDNBOOST_PP_ITERATION_FINISH_2 >= 190
+#        define NDNBOOST_PP_ITERATION_2 190
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 191 && BOOST_PP_ITERATION_FINISH_2 >= 191
-#        define BOOST_PP_ITERATION_2 191
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 191 && NDNBOOST_PP_ITERATION_FINISH_2 >= 191
+#        define NDNBOOST_PP_ITERATION_2 191
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 192 && BOOST_PP_ITERATION_FINISH_2 >= 192
-#        define BOOST_PP_ITERATION_2 192
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 192 && NDNBOOST_PP_ITERATION_FINISH_2 >= 192
+#        define NDNBOOST_PP_ITERATION_2 192
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 193 && BOOST_PP_ITERATION_FINISH_2 >= 193
-#        define BOOST_PP_ITERATION_2 193
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 193 && NDNBOOST_PP_ITERATION_FINISH_2 >= 193
+#        define NDNBOOST_PP_ITERATION_2 193
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 194 && BOOST_PP_ITERATION_FINISH_2 >= 194
-#        define BOOST_PP_ITERATION_2 194
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 194 && NDNBOOST_PP_ITERATION_FINISH_2 >= 194
+#        define NDNBOOST_PP_ITERATION_2 194
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 195 && BOOST_PP_ITERATION_FINISH_2 >= 195
-#        define BOOST_PP_ITERATION_2 195
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 195 && NDNBOOST_PP_ITERATION_FINISH_2 >= 195
+#        define NDNBOOST_PP_ITERATION_2 195
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 196 && BOOST_PP_ITERATION_FINISH_2 >= 196
-#        define BOOST_PP_ITERATION_2 196
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 196 && NDNBOOST_PP_ITERATION_FINISH_2 >= 196
+#        define NDNBOOST_PP_ITERATION_2 196
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 197 && BOOST_PP_ITERATION_FINISH_2 >= 197
-#        define BOOST_PP_ITERATION_2 197
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 197 && NDNBOOST_PP_ITERATION_FINISH_2 >= 197
+#        define NDNBOOST_PP_ITERATION_2 197
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 198 && BOOST_PP_ITERATION_FINISH_2 >= 198
-#        define BOOST_PP_ITERATION_2 198
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 198 && NDNBOOST_PP_ITERATION_FINISH_2 >= 198
+#        define NDNBOOST_PP_ITERATION_2 198
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 199 && BOOST_PP_ITERATION_FINISH_2 >= 199
-#        define BOOST_PP_ITERATION_2 199
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 199 && NDNBOOST_PP_ITERATION_FINISH_2 >= 199
+#        define NDNBOOST_PP_ITERATION_2 199
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 200 && BOOST_PP_ITERATION_FINISH_2 >= 200
-#        define BOOST_PP_ITERATION_2 200
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 200 && NDNBOOST_PP_ITERATION_FINISH_2 >= 200
+#        define NDNBOOST_PP_ITERATION_2 200
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 201 && BOOST_PP_ITERATION_FINISH_2 >= 201
-#        define BOOST_PP_ITERATION_2 201
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 201 && NDNBOOST_PP_ITERATION_FINISH_2 >= 201
+#        define NDNBOOST_PP_ITERATION_2 201
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 202 && BOOST_PP_ITERATION_FINISH_2 >= 202
-#        define BOOST_PP_ITERATION_2 202
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 202 && NDNBOOST_PP_ITERATION_FINISH_2 >= 202
+#        define NDNBOOST_PP_ITERATION_2 202
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 203 && BOOST_PP_ITERATION_FINISH_2 >= 203
-#        define BOOST_PP_ITERATION_2 203
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 203 && NDNBOOST_PP_ITERATION_FINISH_2 >= 203
+#        define NDNBOOST_PP_ITERATION_2 203
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 204 && BOOST_PP_ITERATION_FINISH_2 >= 204
-#        define BOOST_PP_ITERATION_2 204
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 204 && NDNBOOST_PP_ITERATION_FINISH_2 >= 204
+#        define NDNBOOST_PP_ITERATION_2 204
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 205 && BOOST_PP_ITERATION_FINISH_2 >= 205
-#        define BOOST_PP_ITERATION_2 205
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 205 && NDNBOOST_PP_ITERATION_FINISH_2 >= 205
+#        define NDNBOOST_PP_ITERATION_2 205
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 206 && BOOST_PP_ITERATION_FINISH_2 >= 206
-#        define BOOST_PP_ITERATION_2 206
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 206 && NDNBOOST_PP_ITERATION_FINISH_2 >= 206
+#        define NDNBOOST_PP_ITERATION_2 206
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 207 && BOOST_PP_ITERATION_FINISH_2 >= 207
-#        define BOOST_PP_ITERATION_2 207
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 207 && NDNBOOST_PP_ITERATION_FINISH_2 >= 207
+#        define NDNBOOST_PP_ITERATION_2 207
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 208 && BOOST_PP_ITERATION_FINISH_2 >= 208
-#        define BOOST_PP_ITERATION_2 208
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 208 && NDNBOOST_PP_ITERATION_FINISH_2 >= 208
+#        define NDNBOOST_PP_ITERATION_2 208
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 209 && BOOST_PP_ITERATION_FINISH_2 >= 209
-#        define BOOST_PP_ITERATION_2 209
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 209 && NDNBOOST_PP_ITERATION_FINISH_2 >= 209
+#        define NDNBOOST_PP_ITERATION_2 209
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 210 && BOOST_PP_ITERATION_FINISH_2 >= 210
-#        define BOOST_PP_ITERATION_2 210
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 210 && NDNBOOST_PP_ITERATION_FINISH_2 >= 210
+#        define NDNBOOST_PP_ITERATION_2 210
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 211 && BOOST_PP_ITERATION_FINISH_2 >= 211
-#        define BOOST_PP_ITERATION_2 211
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 211 && NDNBOOST_PP_ITERATION_FINISH_2 >= 211
+#        define NDNBOOST_PP_ITERATION_2 211
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 212 && BOOST_PP_ITERATION_FINISH_2 >= 212
-#        define BOOST_PP_ITERATION_2 212
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 212 && NDNBOOST_PP_ITERATION_FINISH_2 >= 212
+#        define NDNBOOST_PP_ITERATION_2 212
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 213 && BOOST_PP_ITERATION_FINISH_2 >= 213
-#        define BOOST_PP_ITERATION_2 213
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 213 && NDNBOOST_PP_ITERATION_FINISH_2 >= 213
+#        define NDNBOOST_PP_ITERATION_2 213
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 214 && BOOST_PP_ITERATION_FINISH_2 >= 214
-#        define BOOST_PP_ITERATION_2 214
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 214 && NDNBOOST_PP_ITERATION_FINISH_2 >= 214
+#        define NDNBOOST_PP_ITERATION_2 214
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 215 && BOOST_PP_ITERATION_FINISH_2 >= 215
-#        define BOOST_PP_ITERATION_2 215
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 215 && NDNBOOST_PP_ITERATION_FINISH_2 >= 215
+#        define NDNBOOST_PP_ITERATION_2 215
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 216 && BOOST_PP_ITERATION_FINISH_2 >= 216
-#        define BOOST_PP_ITERATION_2 216
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 216 && NDNBOOST_PP_ITERATION_FINISH_2 >= 216
+#        define NDNBOOST_PP_ITERATION_2 216
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 217 && BOOST_PP_ITERATION_FINISH_2 >= 217
-#        define BOOST_PP_ITERATION_2 217
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 217 && NDNBOOST_PP_ITERATION_FINISH_2 >= 217
+#        define NDNBOOST_PP_ITERATION_2 217
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 218 && BOOST_PP_ITERATION_FINISH_2 >= 218
-#        define BOOST_PP_ITERATION_2 218
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 218 && NDNBOOST_PP_ITERATION_FINISH_2 >= 218
+#        define NDNBOOST_PP_ITERATION_2 218
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 219 && BOOST_PP_ITERATION_FINISH_2 >= 219
-#        define BOOST_PP_ITERATION_2 219
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 219 && NDNBOOST_PP_ITERATION_FINISH_2 >= 219
+#        define NDNBOOST_PP_ITERATION_2 219
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 220 && BOOST_PP_ITERATION_FINISH_2 >= 220
-#        define BOOST_PP_ITERATION_2 220
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 220 && NDNBOOST_PP_ITERATION_FINISH_2 >= 220
+#        define NDNBOOST_PP_ITERATION_2 220
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 221 && BOOST_PP_ITERATION_FINISH_2 >= 221
-#        define BOOST_PP_ITERATION_2 221
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 221 && NDNBOOST_PP_ITERATION_FINISH_2 >= 221
+#        define NDNBOOST_PP_ITERATION_2 221
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 222 && BOOST_PP_ITERATION_FINISH_2 >= 222
-#        define BOOST_PP_ITERATION_2 222
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 222 && NDNBOOST_PP_ITERATION_FINISH_2 >= 222
+#        define NDNBOOST_PP_ITERATION_2 222
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 223 && BOOST_PP_ITERATION_FINISH_2 >= 223
-#        define BOOST_PP_ITERATION_2 223
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 223 && NDNBOOST_PP_ITERATION_FINISH_2 >= 223
+#        define NDNBOOST_PP_ITERATION_2 223
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 224 && BOOST_PP_ITERATION_FINISH_2 >= 224
-#        define BOOST_PP_ITERATION_2 224
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 224 && NDNBOOST_PP_ITERATION_FINISH_2 >= 224
+#        define NDNBOOST_PP_ITERATION_2 224
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 225 && BOOST_PP_ITERATION_FINISH_2 >= 225
-#        define BOOST_PP_ITERATION_2 225
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 225 && NDNBOOST_PP_ITERATION_FINISH_2 >= 225
+#        define NDNBOOST_PP_ITERATION_2 225
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 226 && BOOST_PP_ITERATION_FINISH_2 >= 226
-#        define BOOST_PP_ITERATION_2 226
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 226 && NDNBOOST_PP_ITERATION_FINISH_2 >= 226
+#        define NDNBOOST_PP_ITERATION_2 226
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 227 && BOOST_PP_ITERATION_FINISH_2 >= 227
-#        define BOOST_PP_ITERATION_2 227
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 227 && NDNBOOST_PP_ITERATION_FINISH_2 >= 227
+#        define NDNBOOST_PP_ITERATION_2 227
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 228 && BOOST_PP_ITERATION_FINISH_2 >= 228
-#        define BOOST_PP_ITERATION_2 228
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 228 && NDNBOOST_PP_ITERATION_FINISH_2 >= 228
+#        define NDNBOOST_PP_ITERATION_2 228
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 229 && BOOST_PP_ITERATION_FINISH_2 >= 229
-#        define BOOST_PP_ITERATION_2 229
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 229 && NDNBOOST_PP_ITERATION_FINISH_2 >= 229
+#        define NDNBOOST_PP_ITERATION_2 229
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 230 && BOOST_PP_ITERATION_FINISH_2 >= 230
-#        define BOOST_PP_ITERATION_2 230
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 230 && NDNBOOST_PP_ITERATION_FINISH_2 >= 230
+#        define NDNBOOST_PP_ITERATION_2 230
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 231 && BOOST_PP_ITERATION_FINISH_2 >= 231
-#        define BOOST_PP_ITERATION_2 231
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 231 && NDNBOOST_PP_ITERATION_FINISH_2 >= 231
+#        define NDNBOOST_PP_ITERATION_2 231
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 232 && BOOST_PP_ITERATION_FINISH_2 >= 232
-#        define BOOST_PP_ITERATION_2 232
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 232 && NDNBOOST_PP_ITERATION_FINISH_2 >= 232
+#        define NDNBOOST_PP_ITERATION_2 232
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 233 && BOOST_PP_ITERATION_FINISH_2 >= 233
-#        define BOOST_PP_ITERATION_2 233
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 233 && NDNBOOST_PP_ITERATION_FINISH_2 >= 233
+#        define NDNBOOST_PP_ITERATION_2 233
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 234 && BOOST_PP_ITERATION_FINISH_2 >= 234
-#        define BOOST_PP_ITERATION_2 234
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 234 && NDNBOOST_PP_ITERATION_FINISH_2 >= 234
+#        define NDNBOOST_PP_ITERATION_2 234
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 235 && BOOST_PP_ITERATION_FINISH_2 >= 235
-#        define BOOST_PP_ITERATION_2 235
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 235 && NDNBOOST_PP_ITERATION_FINISH_2 >= 235
+#        define NDNBOOST_PP_ITERATION_2 235
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 236 && BOOST_PP_ITERATION_FINISH_2 >= 236
-#        define BOOST_PP_ITERATION_2 236
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 236 && NDNBOOST_PP_ITERATION_FINISH_2 >= 236
+#        define NDNBOOST_PP_ITERATION_2 236
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 237 && BOOST_PP_ITERATION_FINISH_2 >= 237
-#        define BOOST_PP_ITERATION_2 237
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 237 && NDNBOOST_PP_ITERATION_FINISH_2 >= 237
+#        define NDNBOOST_PP_ITERATION_2 237
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 238 && BOOST_PP_ITERATION_FINISH_2 >= 238
-#        define BOOST_PP_ITERATION_2 238
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 238 && NDNBOOST_PP_ITERATION_FINISH_2 >= 238
+#        define NDNBOOST_PP_ITERATION_2 238
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 239 && BOOST_PP_ITERATION_FINISH_2 >= 239
-#        define BOOST_PP_ITERATION_2 239
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 239 && NDNBOOST_PP_ITERATION_FINISH_2 >= 239
+#        define NDNBOOST_PP_ITERATION_2 239
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 240 && BOOST_PP_ITERATION_FINISH_2 >= 240
-#        define BOOST_PP_ITERATION_2 240
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 240 && NDNBOOST_PP_ITERATION_FINISH_2 >= 240
+#        define NDNBOOST_PP_ITERATION_2 240
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 241 && BOOST_PP_ITERATION_FINISH_2 >= 241
-#        define BOOST_PP_ITERATION_2 241
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 241 && NDNBOOST_PP_ITERATION_FINISH_2 >= 241
+#        define NDNBOOST_PP_ITERATION_2 241
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 242 && BOOST_PP_ITERATION_FINISH_2 >= 242
-#        define BOOST_PP_ITERATION_2 242
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 242 && NDNBOOST_PP_ITERATION_FINISH_2 >= 242
+#        define NDNBOOST_PP_ITERATION_2 242
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 243 && BOOST_PP_ITERATION_FINISH_2 >= 243
-#        define BOOST_PP_ITERATION_2 243
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 243 && NDNBOOST_PP_ITERATION_FINISH_2 >= 243
+#        define NDNBOOST_PP_ITERATION_2 243
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 244 && BOOST_PP_ITERATION_FINISH_2 >= 244
-#        define BOOST_PP_ITERATION_2 244
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 244 && NDNBOOST_PP_ITERATION_FINISH_2 >= 244
+#        define NDNBOOST_PP_ITERATION_2 244
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 245 && BOOST_PP_ITERATION_FINISH_2 >= 245
-#        define BOOST_PP_ITERATION_2 245
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 245 && NDNBOOST_PP_ITERATION_FINISH_2 >= 245
+#        define NDNBOOST_PP_ITERATION_2 245
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 246 && BOOST_PP_ITERATION_FINISH_2 >= 246
-#        define BOOST_PP_ITERATION_2 246
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 246 && NDNBOOST_PP_ITERATION_FINISH_2 >= 246
+#        define NDNBOOST_PP_ITERATION_2 246
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 247 && BOOST_PP_ITERATION_FINISH_2 >= 247
-#        define BOOST_PP_ITERATION_2 247
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 247 && NDNBOOST_PP_ITERATION_FINISH_2 >= 247
+#        define NDNBOOST_PP_ITERATION_2 247
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 248 && BOOST_PP_ITERATION_FINISH_2 >= 248
-#        define BOOST_PP_ITERATION_2 248
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 248 && NDNBOOST_PP_ITERATION_FINISH_2 >= 248
+#        define NDNBOOST_PP_ITERATION_2 248
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 249 && BOOST_PP_ITERATION_FINISH_2 >= 249
-#        define BOOST_PP_ITERATION_2 249
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 249 && NDNBOOST_PP_ITERATION_FINISH_2 >= 249
+#        define NDNBOOST_PP_ITERATION_2 249
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 250 && BOOST_PP_ITERATION_FINISH_2 >= 250
-#        define BOOST_PP_ITERATION_2 250
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 250 && NDNBOOST_PP_ITERATION_FINISH_2 >= 250
+#        define NDNBOOST_PP_ITERATION_2 250
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 251 && BOOST_PP_ITERATION_FINISH_2 >= 251
-#        define BOOST_PP_ITERATION_2 251
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 251 && NDNBOOST_PP_ITERATION_FINISH_2 >= 251
+#        define NDNBOOST_PP_ITERATION_2 251
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 252 && BOOST_PP_ITERATION_FINISH_2 >= 252
-#        define BOOST_PP_ITERATION_2 252
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 252 && NDNBOOST_PP_ITERATION_FINISH_2 >= 252
+#        define NDNBOOST_PP_ITERATION_2 252
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 253 && BOOST_PP_ITERATION_FINISH_2 >= 253
-#        define BOOST_PP_ITERATION_2 253
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 253 && NDNBOOST_PP_ITERATION_FINISH_2 >= 253
+#        define NDNBOOST_PP_ITERATION_2 253
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 254 && BOOST_PP_ITERATION_FINISH_2 >= 254
-#        define BOOST_PP_ITERATION_2 254
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 254 && NDNBOOST_PP_ITERATION_FINISH_2 >= 254
+#        define NDNBOOST_PP_ITERATION_2 254
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 255 && BOOST_PP_ITERATION_FINISH_2 >= 255
-#        define BOOST_PP_ITERATION_2 255
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 255 && NDNBOOST_PP_ITERATION_FINISH_2 >= 255
+#        define NDNBOOST_PP_ITERATION_2 255
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
-#    if BOOST_PP_ITERATION_START_2 <= 256 && BOOST_PP_ITERATION_FINISH_2 >= 256
-#        define BOOST_PP_ITERATION_2 256
-#        include BOOST_PP_FILENAME_2
-#        undef BOOST_PP_ITERATION_2
+#    if NDNBOOST_PP_ITERATION_START_2 <= 256 && NDNBOOST_PP_ITERATION_FINISH_2 >= 256
+#        define NDNBOOST_PP_ITERATION_2 256
+#        include NDNBOOST_PP_FILENAME_2
+#        undef NDNBOOST_PP_ITERATION_2
 #    endif
 # endif
 #
-# undef BOOST_PP_ITERATION_DEPTH
-# define BOOST_PP_ITERATION_DEPTH() 1
+# undef NDNBOOST_PP_ITERATION_DEPTH
+# define NDNBOOST_PP_ITERATION_DEPTH() 1
 #
-# undef BOOST_PP_ITERATION_START_2
-# undef BOOST_PP_ITERATION_FINISH_2
-# undef BOOST_PP_FILENAME_2
+# undef NDNBOOST_PP_ITERATION_START_2
+# undef NDNBOOST_PP_ITERATION_FINISH_2
+# undef NDNBOOST_PP_FILENAME_2
 #
-# undef BOOST_PP_ITERATION_FLAGS_2
-# undef BOOST_PP_ITERATION_PARAMS_2
+# undef NDNBOOST_PP_ITERATION_FLAGS_2
+# undef NDNBOOST_PP_ITERATION_PARAMS_2
diff --git a/include/ndnboost/preprocessor/iteration/detail/iter/forward3.hpp b/include/ndnboost/preprocessor/iteration/detail/iter/forward3.hpp
index f650c18..ed79e18 100644
--- a/include/ndnboost/preprocessor/iteration/detail/iter/forward3.hpp
+++ b/include/ndnboost/preprocessor/iteration/detail/iter/forward3.hpp
@@ -9,1330 +9,1330 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# if defined(BOOST_PP_ITERATION_LIMITS)
-#    if !defined(BOOST_PP_FILENAME_3)
-#        error BOOST_PP_ERROR:  depth #3 filename is not defined
+# if defined(NDNBOOST_PP_ITERATION_LIMITS)
+#    if !defined(NDNBOOST_PP_FILENAME_3)
+#        error NDNBOOST_PP_ERROR:  depth #3 filename is not defined
 #    endif
-#    define BOOST_PP_VALUE BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_ITERATION_LIMITS)
+#    define NDNBOOST_PP_VALUE NDNBOOST_PP_TUPLE_ELEM(2, 0, NDNBOOST_PP_ITERATION_LIMITS)
 #    include <ndnboost/preprocessor/iteration/detail/bounds/lower3.hpp>
-#    define BOOST_PP_VALUE BOOST_PP_TUPLE_ELEM(2, 1, BOOST_PP_ITERATION_LIMITS)
+#    define NDNBOOST_PP_VALUE NDNBOOST_PP_TUPLE_ELEM(2, 1, NDNBOOST_PP_ITERATION_LIMITS)
 #    include <ndnboost/preprocessor/iteration/detail/bounds/upper3.hpp>
-#    define BOOST_PP_ITERATION_FLAGS_3() 0
-#    undef BOOST_PP_ITERATION_LIMITS
-# elif defined(BOOST_PP_ITERATION_PARAMS_3)
-#    define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(0, BOOST_PP_ITERATION_PARAMS_3)
+#    define NDNBOOST_PP_ITERATION_FLAGS_3() 0
+#    undef NDNBOOST_PP_ITERATION_LIMITS
+# elif defined(NDNBOOST_PP_ITERATION_PARAMS_3)
+#    define NDNBOOST_PP_VALUE NDNBOOST_PP_ARRAY_ELEM(0, NDNBOOST_PP_ITERATION_PARAMS_3)
 #    include <ndnboost/preprocessor/iteration/detail/bounds/lower3.hpp>
-#    define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(1, BOOST_PP_ITERATION_PARAMS_3)
+#    define NDNBOOST_PP_VALUE NDNBOOST_PP_ARRAY_ELEM(1, NDNBOOST_PP_ITERATION_PARAMS_3)
 #    include <ndnboost/preprocessor/iteration/detail/bounds/upper3.hpp>
-#    define BOOST_PP_FILENAME_3 BOOST_PP_ARRAY_ELEM(2, BOOST_PP_ITERATION_PARAMS_3)
-#    if BOOST_PP_ARRAY_SIZE(BOOST_PP_ITERATION_PARAMS_3) >= 4
-#        define BOOST_PP_ITERATION_FLAGS_3() BOOST_PP_ARRAY_ELEM(3, BOOST_PP_ITERATION_PARAMS_3)
+#    define NDNBOOST_PP_FILENAME_3 NDNBOOST_PP_ARRAY_ELEM(2, NDNBOOST_PP_ITERATION_PARAMS_3)
+#    if NDNBOOST_PP_ARRAY_SIZE(NDNBOOST_PP_ITERATION_PARAMS_3) >= 4
+#        define NDNBOOST_PP_ITERATION_FLAGS_3() NDNBOOST_PP_ARRAY_ELEM(3, NDNBOOST_PP_ITERATION_PARAMS_3)
 #    else
-#        define BOOST_PP_ITERATION_FLAGS_3() 0
+#        define NDNBOOST_PP_ITERATION_FLAGS_3() 0
 #    endif
 # else
-#    error BOOST_PP_ERROR:  depth #3 iteration boundaries or filename not defined
+#    error NDNBOOST_PP_ERROR:  depth #3 iteration boundaries or filename not defined
 # endif
 #
-# undef BOOST_PP_ITERATION_DEPTH
-# define BOOST_PP_ITERATION_DEPTH() 3
+# undef NDNBOOST_PP_ITERATION_DEPTH
+# define NDNBOOST_PP_ITERATION_DEPTH() 3
 #
-# if (BOOST_PP_ITERATION_START_3) > (BOOST_PP_ITERATION_FINISH_3)
+# if (NDNBOOST_PP_ITERATION_START_3) > (NDNBOOST_PP_ITERATION_FINISH_3)
 #    include <ndnboost/preprocessor/iteration/detail/iter/reverse3.hpp>
 # else
-#    if BOOST_PP_ITERATION_START_3 <= 0 && BOOST_PP_ITERATION_FINISH_3 >= 0
-#        define BOOST_PP_ITERATION_3 0
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 0 && NDNBOOST_PP_ITERATION_FINISH_3 >= 0
+#        define NDNBOOST_PP_ITERATION_3 0
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 1 && BOOST_PP_ITERATION_FINISH_3 >= 1
-#        define BOOST_PP_ITERATION_3 1
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 1 && NDNBOOST_PP_ITERATION_FINISH_3 >= 1
+#        define NDNBOOST_PP_ITERATION_3 1
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 2 && BOOST_PP_ITERATION_FINISH_3 >= 2
-#        define BOOST_PP_ITERATION_3 2
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 2 && NDNBOOST_PP_ITERATION_FINISH_3 >= 2
+#        define NDNBOOST_PP_ITERATION_3 2
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 3 && BOOST_PP_ITERATION_FINISH_3 >= 3
-#        define BOOST_PP_ITERATION_3 3
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 3 && NDNBOOST_PP_ITERATION_FINISH_3 >= 3
+#        define NDNBOOST_PP_ITERATION_3 3
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 4 && BOOST_PP_ITERATION_FINISH_3 >= 4
-#        define BOOST_PP_ITERATION_3 4
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 4 && NDNBOOST_PP_ITERATION_FINISH_3 >= 4
+#        define NDNBOOST_PP_ITERATION_3 4
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 5 && BOOST_PP_ITERATION_FINISH_3 >= 5
-#        define BOOST_PP_ITERATION_3 5
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 5 && NDNBOOST_PP_ITERATION_FINISH_3 >= 5
+#        define NDNBOOST_PP_ITERATION_3 5
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 6 && BOOST_PP_ITERATION_FINISH_3 >= 6
-#        define BOOST_PP_ITERATION_3 6
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 6 && NDNBOOST_PP_ITERATION_FINISH_3 >= 6
+#        define NDNBOOST_PP_ITERATION_3 6
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 7 && BOOST_PP_ITERATION_FINISH_3 >= 7
-#        define BOOST_PP_ITERATION_3 7
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 7 && NDNBOOST_PP_ITERATION_FINISH_3 >= 7
+#        define NDNBOOST_PP_ITERATION_3 7
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 8 && BOOST_PP_ITERATION_FINISH_3 >= 8
-#        define BOOST_PP_ITERATION_3 8
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 8 && NDNBOOST_PP_ITERATION_FINISH_3 >= 8
+#        define NDNBOOST_PP_ITERATION_3 8
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 9 && BOOST_PP_ITERATION_FINISH_3 >= 9
-#        define BOOST_PP_ITERATION_3 9
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 9 && NDNBOOST_PP_ITERATION_FINISH_3 >= 9
+#        define NDNBOOST_PP_ITERATION_3 9
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 10 && BOOST_PP_ITERATION_FINISH_3 >= 10
-#        define BOOST_PP_ITERATION_3 10
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 10 && NDNBOOST_PP_ITERATION_FINISH_3 >= 10
+#        define NDNBOOST_PP_ITERATION_3 10
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 11 && BOOST_PP_ITERATION_FINISH_3 >= 11
-#        define BOOST_PP_ITERATION_3 11
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 11 && NDNBOOST_PP_ITERATION_FINISH_3 >= 11
+#        define NDNBOOST_PP_ITERATION_3 11
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 12 && BOOST_PP_ITERATION_FINISH_3 >= 12
-#        define BOOST_PP_ITERATION_3 12
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 12 && NDNBOOST_PP_ITERATION_FINISH_3 >= 12
+#        define NDNBOOST_PP_ITERATION_3 12
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 13 && BOOST_PP_ITERATION_FINISH_3 >= 13
-#        define BOOST_PP_ITERATION_3 13
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 13 && NDNBOOST_PP_ITERATION_FINISH_3 >= 13
+#        define NDNBOOST_PP_ITERATION_3 13
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 14 && BOOST_PP_ITERATION_FINISH_3 >= 14
-#        define BOOST_PP_ITERATION_3 14
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 14 && NDNBOOST_PP_ITERATION_FINISH_3 >= 14
+#        define NDNBOOST_PP_ITERATION_3 14
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 15 && BOOST_PP_ITERATION_FINISH_3 >= 15
-#        define BOOST_PP_ITERATION_3 15
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 15 && NDNBOOST_PP_ITERATION_FINISH_3 >= 15
+#        define NDNBOOST_PP_ITERATION_3 15
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 16 && BOOST_PP_ITERATION_FINISH_3 >= 16
-#        define BOOST_PP_ITERATION_3 16
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 16 && NDNBOOST_PP_ITERATION_FINISH_3 >= 16
+#        define NDNBOOST_PP_ITERATION_3 16
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 17 && BOOST_PP_ITERATION_FINISH_3 >= 17
-#        define BOOST_PP_ITERATION_3 17
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 17 && NDNBOOST_PP_ITERATION_FINISH_3 >= 17
+#        define NDNBOOST_PP_ITERATION_3 17
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 18 && BOOST_PP_ITERATION_FINISH_3 >= 18
-#        define BOOST_PP_ITERATION_3 18
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 18 && NDNBOOST_PP_ITERATION_FINISH_3 >= 18
+#        define NDNBOOST_PP_ITERATION_3 18
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 19 && BOOST_PP_ITERATION_FINISH_3 >= 19
-#        define BOOST_PP_ITERATION_3 19
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 19 && NDNBOOST_PP_ITERATION_FINISH_3 >= 19
+#        define NDNBOOST_PP_ITERATION_3 19
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 20 && BOOST_PP_ITERATION_FINISH_3 >= 20
-#        define BOOST_PP_ITERATION_3 20
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 20 && NDNBOOST_PP_ITERATION_FINISH_3 >= 20
+#        define NDNBOOST_PP_ITERATION_3 20
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 21 && BOOST_PP_ITERATION_FINISH_3 >= 21
-#        define BOOST_PP_ITERATION_3 21
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 21 && NDNBOOST_PP_ITERATION_FINISH_3 >= 21
+#        define NDNBOOST_PP_ITERATION_3 21
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 22 && BOOST_PP_ITERATION_FINISH_3 >= 22
-#        define BOOST_PP_ITERATION_3 22
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 22 && NDNBOOST_PP_ITERATION_FINISH_3 >= 22
+#        define NDNBOOST_PP_ITERATION_3 22
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 23 && BOOST_PP_ITERATION_FINISH_3 >= 23
-#        define BOOST_PP_ITERATION_3 23
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 23 && NDNBOOST_PP_ITERATION_FINISH_3 >= 23
+#        define NDNBOOST_PP_ITERATION_3 23
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 24 && BOOST_PP_ITERATION_FINISH_3 >= 24
-#        define BOOST_PP_ITERATION_3 24
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 24 && NDNBOOST_PP_ITERATION_FINISH_3 >= 24
+#        define NDNBOOST_PP_ITERATION_3 24
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 25 && BOOST_PP_ITERATION_FINISH_3 >= 25
-#        define BOOST_PP_ITERATION_3 25
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 25 && NDNBOOST_PP_ITERATION_FINISH_3 >= 25
+#        define NDNBOOST_PP_ITERATION_3 25
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 26 && BOOST_PP_ITERATION_FINISH_3 >= 26
-#        define BOOST_PP_ITERATION_3 26
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 26 && NDNBOOST_PP_ITERATION_FINISH_3 >= 26
+#        define NDNBOOST_PP_ITERATION_3 26
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 27 && BOOST_PP_ITERATION_FINISH_3 >= 27
-#        define BOOST_PP_ITERATION_3 27
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 27 && NDNBOOST_PP_ITERATION_FINISH_3 >= 27
+#        define NDNBOOST_PP_ITERATION_3 27
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 28 && BOOST_PP_ITERATION_FINISH_3 >= 28
-#        define BOOST_PP_ITERATION_3 28
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 28 && NDNBOOST_PP_ITERATION_FINISH_3 >= 28
+#        define NDNBOOST_PP_ITERATION_3 28
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 29 && BOOST_PP_ITERATION_FINISH_3 >= 29
-#        define BOOST_PP_ITERATION_3 29
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 29 && NDNBOOST_PP_ITERATION_FINISH_3 >= 29
+#        define NDNBOOST_PP_ITERATION_3 29
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 30 && BOOST_PP_ITERATION_FINISH_3 >= 30
-#        define BOOST_PP_ITERATION_3 30
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 30 && NDNBOOST_PP_ITERATION_FINISH_3 >= 30
+#        define NDNBOOST_PP_ITERATION_3 30
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 31 && BOOST_PP_ITERATION_FINISH_3 >= 31
-#        define BOOST_PP_ITERATION_3 31
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 31 && NDNBOOST_PP_ITERATION_FINISH_3 >= 31
+#        define NDNBOOST_PP_ITERATION_3 31
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 32 && BOOST_PP_ITERATION_FINISH_3 >= 32
-#        define BOOST_PP_ITERATION_3 32
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 32 && NDNBOOST_PP_ITERATION_FINISH_3 >= 32
+#        define NDNBOOST_PP_ITERATION_3 32
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 33 && BOOST_PP_ITERATION_FINISH_3 >= 33
-#        define BOOST_PP_ITERATION_3 33
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 33 && NDNBOOST_PP_ITERATION_FINISH_3 >= 33
+#        define NDNBOOST_PP_ITERATION_3 33
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 34 && BOOST_PP_ITERATION_FINISH_3 >= 34
-#        define BOOST_PP_ITERATION_3 34
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 34 && NDNBOOST_PP_ITERATION_FINISH_3 >= 34
+#        define NDNBOOST_PP_ITERATION_3 34
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 35 && BOOST_PP_ITERATION_FINISH_3 >= 35
-#        define BOOST_PP_ITERATION_3 35
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 35 && NDNBOOST_PP_ITERATION_FINISH_3 >= 35
+#        define NDNBOOST_PP_ITERATION_3 35
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 36 && BOOST_PP_ITERATION_FINISH_3 >= 36
-#        define BOOST_PP_ITERATION_3 36
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 36 && NDNBOOST_PP_ITERATION_FINISH_3 >= 36
+#        define NDNBOOST_PP_ITERATION_3 36
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 37 && BOOST_PP_ITERATION_FINISH_3 >= 37
-#        define BOOST_PP_ITERATION_3 37
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 37 && NDNBOOST_PP_ITERATION_FINISH_3 >= 37
+#        define NDNBOOST_PP_ITERATION_3 37
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 38 && BOOST_PP_ITERATION_FINISH_3 >= 38
-#        define BOOST_PP_ITERATION_3 38
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 38 && NDNBOOST_PP_ITERATION_FINISH_3 >= 38
+#        define NDNBOOST_PP_ITERATION_3 38
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 39 && BOOST_PP_ITERATION_FINISH_3 >= 39
-#        define BOOST_PP_ITERATION_3 39
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 39 && NDNBOOST_PP_ITERATION_FINISH_3 >= 39
+#        define NDNBOOST_PP_ITERATION_3 39
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 40 && BOOST_PP_ITERATION_FINISH_3 >= 40
-#        define BOOST_PP_ITERATION_3 40
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 40 && NDNBOOST_PP_ITERATION_FINISH_3 >= 40
+#        define NDNBOOST_PP_ITERATION_3 40
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 41 && BOOST_PP_ITERATION_FINISH_3 >= 41
-#        define BOOST_PP_ITERATION_3 41
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 41 && NDNBOOST_PP_ITERATION_FINISH_3 >= 41
+#        define NDNBOOST_PP_ITERATION_3 41
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 42 && BOOST_PP_ITERATION_FINISH_3 >= 42
-#        define BOOST_PP_ITERATION_3 42
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 42 && NDNBOOST_PP_ITERATION_FINISH_3 >= 42
+#        define NDNBOOST_PP_ITERATION_3 42
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 43 && BOOST_PP_ITERATION_FINISH_3 >= 43
-#        define BOOST_PP_ITERATION_3 43
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 43 && NDNBOOST_PP_ITERATION_FINISH_3 >= 43
+#        define NDNBOOST_PP_ITERATION_3 43
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 44 && BOOST_PP_ITERATION_FINISH_3 >= 44
-#        define BOOST_PP_ITERATION_3 44
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 44 && NDNBOOST_PP_ITERATION_FINISH_3 >= 44
+#        define NDNBOOST_PP_ITERATION_3 44
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 45 && BOOST_PP_ITERATION_FINISH_3 >= 45
-#        define BOOST_PP_ITERATION_3 45
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 45 && NDNBOOST_PP_ITERATION_FINISH_3 >= 45
+#        define NDNBOOST_PP_ITERATION_3 45
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 46 && BOOST_PP_ITERATION_FINISH_3 >= 46
-#        define BOOST_PP_ITERATION_3 46
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 46 && NDNBOOST_PP_ITERATION_FINISH_3 >= 46
+#        define NDNBOOST_PP_ITERATION_3 46
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 47 && BOOST_PP_ITERATION_FINISH_3 >= 47
-#        define BOOST_PP_ITERATION_3 47
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 47 && NDNBOOST_PP_ITERATION_FINISH_3 >= 47
+#        define NDNBOOST_PP_ITERATION_3 47
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 48 && BOOST_PP_ITERATION_FINISH_3 >= 48
-#        define BOOST_PP_ITERATION_3 48
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 48 && NDNBOOST_PP_ITERATION_FINISH_3 >= 48
+#        define NDNBOOST_PP_ITERATION_3 48
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 49 && BOOST_PP_ITERATION_FINISH_3 >= 49
-#        define BOOST_PP_ITERATION_3 49
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 49 && NDNBOOST_PP_ITERATION_FINISH_3 >= 49
+#        define NDNBOOST_PP_ITERATION_3 49
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 50 && BOOST_PP_ITERATION_FINISH_3 >= 50
-#        define BOOST_PP_ITERATION_3 50
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 50 && NDNBOOST_PP_ITERATION_FINISH_3 >= 50
+#        define NDNBOOST_PP_ITERATION_3 50
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 51 && BOOST_PP_ITERATION_FINISH_3 >= 51
-#        define BOOST_PP_ITERATION_3 51
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 51 && NDNBOOST_PP_ITERATION_FINISH_3 >= 51
+#        define NDNBOOST_PP_ITERATION_3 51
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 52 && BOOST_PP_ITERATION_FINISH_3 >= 52
-#        define BOOST_PP_ITERATION_3 52
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 52 && NDNBOOST_PP_ITERATION_FINISH_3 >= 52
+#        define NDNBOOST_PP_ITERATION_3 52
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 53 && BOOST_PP_ITERATION_FINISH_3 >= 53
-#        define BOOST_PP_ITERATION_3 53
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 53 && NDNBOOST_PP_ITERATION_FINISH_3 >= 53
+#        define NDNBOOST_PP_ITERATION_3 53
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 54 && BOOST_PP_ITERATION_FINISH_3 >= 54
-#        define BOOST_PP_ITERATION_3 54
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 54 && NDNBOOST_PP_ITERATION_FINISH_3 >= 54
+#        define NDNBOOST_PP_ITERATION_3 54
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 55 && BOOST_PP_ITERATION_FINISH_3 >= 55
-#        define BOOST_PP_ITERATION_3 55
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 55 && NDNBOOST_PP_ITERATION_FINISH_3 >= 55
+#        define NDNBOOST_PP_ITERATION_3 55
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 56 && BOOST_PP_ITERATION_FINISH_3 >= 56
-#        define BOOST_PP_ITERATION_3 56
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 56 && NDNBOOST_PP_ITERATION_FINISH_3 >= 56
+#        define NDNBOOST_PP_ITERATION_3 56
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 57 && BOOST_PP_ITERATION_FINISH_3 >= 57
-#        define BOOST_PP_ITERATION_3 57
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 57 && NDNBOOST_PP_ITERATION_FINISH_3 >= 57
+#        define NDNBOOST_PP_ITERATION_3 57
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 58 && BOOST_PP_ITERATION_FINISH_3 >= 58
-#        define BOOST_PP_ITERATION_3 58
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 58 && NDNBOOST_PP_ITERATION_FINISH_3 >= 58
+#        define NDNBOOST_PP_ITERATION_3 58
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 59 && BOOST_PP_ITERATION_FINISH_3 >= 59
-#        define BOOST_PP_ITERATION_3 59
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 59 && NDNBOOST_PP_ITERATION_FINISH_3 >= 59
+#        define NDNBOOST_PP_ITERATION_3 59
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 60 && BOOST_PP_ITERATION_FINISH_3 >= 60
-#        define BOOST_PP_ITERATION_3 60
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 60 && NDNBOOST_PP_ITERATION_FINISH_3 >= 60
+#        define NDNBOOST_PP_ITERATION_3 60
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 61 && BOOST_PP_ITERATION_FINISH_3 >= 61
-#        define BOOST_PP_ITERATION_3 61
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 61 && NDNBOOST_PP_ITERATION_FINISH_3 >= 61
+#        define NDNBOOST_PP_ITERATION_3 61
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 62 && BOOST_PP_ITERATION_FINISH_3 >= 62
-#        define BOOST_PP_ITERATION_3 62
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 62 && NDNBOOST_PP_ITERATION_FINISH_3 >= 62
+#        define NDNBOOST_PP_ITERATION_3 62
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 63 && BOOST_PP_ITERATION_FINISH_3 >= 63
-#        define BOOST_PP_ITERATION_3 63
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 63 && NDNBOOST_PP_ITERATION_FINISH_3 >= 63
+#        define NDNBOOST_PP_ITERATION_3 63
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 64 && BOOST_PP_ITERATION_FINISH_3 >= 64
-#        define BOOST_PP_ITERATION_3 64
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 64 && NDNBOOST_PP_ITERATION_FINISH_3 >= 64
+#        define NDNBOOST_PP_ITERATION_3 64
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 65 && BOOST_PP_ITERATION_FINISH_3 >= 65
-#        define BOOST_PP_ITERATION_3 65
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 65 && NDNBOOST_PP_ITERATION_FINISH_3 >= 65
+#        define NDNBOOST_PP_ITERATION_3 65
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 66 && BOOST_PP_ITERATION_FINISH_3 >= 66
-#        define BOOST_PP_ITERATION_3 66
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 66 && NDNBOOST_PP_ITERATION_FINISH_3 >= 66
+#        define NDNBOOST_PP_ITERATION_3 66
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 67 && BOOST_PP_ITERATION_FINISH_3 >= 67
-#        define BOOST_PP_ITERATION_3 67
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 67 && NDNBOOST_PP_ITERATION_FINISH_3 >= 67
+#        define NDNBOOST_PP_ITERATION_3 67
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 68 && BOOST_PP_ITERATION_FINISH_3 >= 68
-#        define BOOST_PP_ITERATION_3 68
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 68 && NDNBOOST_PP_ITERATION_FINISH_3 >= 68
+#        define NDNBOOST_PP_ITERATION_3 68
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 69 && BOOST_PP_ITERATION_FINISH_3 >= 69
-#        define BOOST_PP_ITERATION_3 69
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 69 && NDNBOOST_PP_ITERATION_FINISH_3 >= 69
+#        define NDNBOOST_PP_ITERATION_3 69
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 70 && BOOST_PP_ITERATION_FINISH_3 >= 70
-#        define BOOST_PP_ITERATION_3 70
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 70 && NDNBOOST_PP_ITERATION_FINISH_3 >= 70
+#        define NDNBOOST_PP_ITERATION_3 70
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 71 && BOOST_PP_ITERATION_FINISH_3 >= 71
-#        define BOOST_PP_ITERATION_3 71
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 71 && NDNBOOST_PP_ITERATION_FINISH_3 >= 71
+#        define NDNBOOST_PP_ITERATION_3 71
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 72 && BOOST_PP_ITERATION_FINISH_3 >= 72
-#        define BOOST_PP_ITERATION_3 72
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 72 && NDNBOOST_PP_ITERATION_FINISH_3 >= 72
+#        define NDNBOOST_PP_ITERATION_3 72
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 73 && BOOST_PP_ITERATION_FINISH_3 >= 73
-#        define BOOST_PP_ITERATION_3 73
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 73 && NDNBOOST_PP_ITERATION_FINISH_3 >= 73
+#        define NDNBOOST_PP_ITERATION_3 73
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 74 && BOOST_PP_ITERATION_FINISH_3 >= 74
-#        define BOOST_PP_ITERATION_3 74
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 74 && NDNBOOST_PP_ITERATION_FINISH_3 >= 74
+#        define NDNBOOST_PP_ITERATION_3 74
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 75 && BOOST_PP_ITERATION_FINISH_3 >= 75
-#        define BOOST_PP_ITERATION_3 75
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 75 && NDNBOOST_PP_ITERATION_FINISH_3 >= 75
+#        define NDNBOOST_PP_ITERATION_3 75
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 76 && BOOST_PP_ITERATION_FINISH_3 >= 76
-#        define BOOST_PP_ITERATION_3 76
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 76 && NDNBOOST_PP_ITERATION_FINISH_3 >= 76
+#        define NDNBOOST_PP_ITERATION_3 76
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 77 && BOOST_PP_ITERATION_FINISH_3 >= 77
-#        define BOOST_PP_ITERATION_3 77
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 77 && NDNBOOST_PP_ITERATION_FINISH_3 >= 77
+#        define NDNBOOST_PP_ITERATION_3 77
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 78 && BOOST_PP_ITERATION_FINISH_3 >= 78
-#        define BOOST_PP_ITERATION_3 78
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 78 && NDNBOOST_PP_ITERATION_FINISH_3 >= 78
+#        define NDNBOOST_PP_ITERATION_3 78
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 79 && BOOST_PP_ITERATION_FINISH_3 >= 79
-#        define BOOST_PP_ITERATION_3 79
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 79 && NDNBOOST_PP_ITERATION_FINISH_3 >= 79
+#        define NDNBOOST_PP_ITERATION_3 79
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 80 && BOOST_PP_ITERATION_FINISH_3 >= 80
-#        define BOOST_PP_ITERATION_3 80
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 80 && NDNBOOST_PP_ITERATION_FINISH_3 >= 80
+#        define NDNBOOST_PP_ITERATION_3 80
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 81 && BOOST_PP_ITERATION_FINISH_3 >= 81
-#        define BOOST_PP_ITERATION_3 81
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 81 && NDNBOOST_PP_ITERATION_FINISH_3 >= 81
+#        define NDNBOOST_PP_ITERATION_3 81
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 82 && BOOST_PP_ITERATION_FINISH_3 >= 82
-#        define BOOST_PP_ITERATION_3 82
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 82 && NDNBOOST_PP_ITERATION_FINISH_3 >= 82
+#        define NDNBOOST_PP_ITERATION_3 82
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 83 && BOOST_PP_ITERATION_FINISH_3 >= 83
-#        define BOOST_PP_ITERATION_3 83
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 83 && NDNBOOST_PP_ITERATION_FINISH_3 >= 83
+#        define NDNBOOST_PP_ITERATION_3 83
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 84 && BOOST_PP_ITERATION_FINISH_3 >= 84
-#        define BOOST_PP_ITERATION_3 84
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 84 && NDNBOOST_PP_ITERATION_FINISH_3 >= 84
+#        define NDNBOOST_PP_ITERATION_3 84
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 85 && BOOST_PP_ITERATION_FINISH_3 >= 85
-#        define BOOST_PP_ITERATION_3 85
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 85 && NDNBOOST_PP_ITERATION_FINISH_3 >= 85
+#        define NDNBOOST_PP_ITERATION_3 85
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 86 && BOOST_PP_ITERATION_FINISH_3 >= 86
-#        define BOOST_PP_ITERATION_3 86
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 86 && NDNBOOST_PP_ITERATION_FINISH_3 >= 86
+#        define NDNBOOST_PP_ITERATION_3 86
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 87 && BOOST_PP_ITERATION_FINISH_3 >= 87
-#        define BOOST_PP_ITERATION_3 87
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 87 && NDNBOOST_PP_ITERATION_FINISH_3 >= 87
+#        define NDNBOOST_PP_ITERATION_3 87
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 88 && BOOST_PP_ITERATION_FINISH_3 >= 88
-#        define BOOST_PP_ITERATION_3 88
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 88 && NDNBOOST_PP_ITERATION_FINISH_3 >= 88
+#        define NDNBOOST_PP_ITERATION_3 88
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 89 && BOOST_PP_ITERATION_FINISH_3 >= 89
-#        define BOOST_PP_ITERATION_3 89
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 89 && NDNBOOST_PP_ITERATION_FINISH_3 >= 89
+#        define NDNBOOST_PP_ITERATION_3 89
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 90 && BOOST_PP_ITERATION_FINISH_3 >= 90
-#        define BOOST_PP_ITERATION_3 90
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 90 && NDNBOOST_PP_ITERATION_FINISH_3 >= 90
+#        define NDNBOOST_PP_ITERATION_3 90
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 91 && BOOST_PP_ITERATION_FINISH_3 >= 91
-#        define BOOST_PP_ITERATION_3 91
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 91 && NDNBOOST_PP_ITERATION_FINISH_3 >= 91
+#        define NDNBOOST_PP_ITERATION_3 91
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 92 && BOOST_PP_ITERATION_FINISH_3 >= 92
-#        define BOOST_PP_ITERATION_3 92
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 92 && NDNBOOST_PP_ITERATION_FINISH_3 >= 92
+#        define NDNBOOST_PP_ITERATION_3 92
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 93 && BOOST_PP_ITERATION_FINISH_3 >= 93
-#        define BOOST_PP_ITERATION_3 93
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 93 && NDNBOOST_PP_ITERATION_FINISH_3 >= 93
+#        define NDNBOOST_PP_ITERATION_3 93
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 94 && BOOST_PP_ITERATION_FINISH_3 >= 94
-#        define BOOST_PP_ITERATION_3 94
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 94 && NDNBOOST_PP_ITERATION_FINISH_3 >= 94
+#        define NDNBOOST_PP_ITERATION_3 94
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 95 && BOOST_PP_ITERATION_FINISH_3 >= 95
-#        define BOOST_PP_ITERATION_3 95
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 95 && NDNBOOST_PP_ITERATION_FINISH_3 >= 95
+#        define NDNBOOST_PP_ITERATION_3 95
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 96 && BOOST_PP_ITERATION_FINISH_3 >= 96
-#        define BOOST_PP_ITERATION_3 96
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 96 && NDNBOOST_PP_ITERATION_FINISH_3 >= 96
+#        define NDNBOOST_PP_ITERATION_3 96
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 97 && BOOST_PP_ITERATION_FINISH_3 >= 97
-#        define BOOST_PP_ITERATION_3 97
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 97 && NDNBOOST_PP_ITERATION_FINISH_3 >= 97
+#        define NDNBOOST_PP_ITERATION_3 97
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 98 && BOOST_PP_ITERATION_FINISH_3 >= 98
-#        define BOOST_PP_ITERATION_3 98
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 98 && NDNBOOST_PP_ITERATION_FINISH_3 >= 98
+#        define NDNBOOST_PP_ITERATION_3 98
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 99 && BOOST_PP_ITERATION_FINISH_3 >= 99
-#        define BOOST_PP_ITERATION_3 99
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 99 && NDNBOOST_PP_ITERATION_FINISH_3 >= 99
+#        define NDNBOOST_PP_ITERATION_3 99
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 100 && BOOST_PP_ITERATION_FINISH_3 >= 100
-#        define BOOST_PP_ITERATION_3 100
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 100 && NDNBOOST_PP_ITERATION_FINISH_3 >= 100
+#        define NDNBOOST_PP_ITERATION_3 100
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 101 && BOOST_PP_ITERATION_FINISH_3 >= 101
-#        define BOOST_PP_ITERATION_3 101
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 101 && NDNBOOST_PP_ITERATION_FINISH_3 >= 101
+#        define NDNBOOST_PP_ITERATION_3 101
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 102 && BOOST_PP_ITERATION_FINISH_3 >= 102
-#        define BOOST_PP_ITERATION_3 102
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 102 && NDNBOOST_PP_ITERATION_FINISH_3 >= 102
+#        define NDNBOOST_PP_ITERATION_3 102
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 103 && BOOST_PP_ITERATION_FINISH_3 >= 103
-#        define BOOST_PP_ITERATION_3 103
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 103 && NDNBOOST_PP_ITERATION_FINISH_3 >= 103
+#        define NDNBOOST_PP_ITERATION_3 103
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 104 && BOOST_PP_ITERATION_FINISH_3 >= 104
-#        define BOOST_PP_ITERATION_3 104
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 104 && NDNBOOST_PP_ITERATION_FINISH_3 >= 104
+#        define NDNBOOST_PP_ITERATION_3 104
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 105 && BOOST_PP_ITERATION_FINISH_3 >= 105
-#        define BOOST_PP_ITERATION_3 105
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 105 && NDNBOOST_PP_ITERATION_FINISH_3 >= 105
+#        define NDNBOOST_PP_ITERATION_3 105
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 106 && BOOST_PP_ITERATION_FINISH_3 >= 106
-#        define BOOST_PP_ITERATION_3 106
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 106 && NDNBOOST_PP_ITERATION_FINISH_3 >= 106
+#        define NDNBOOST_PP_ITERATION_3 106
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 107 && BOOST_PP_ITERATION_FINISH_3 >= 107
-#        define BOOST_PP_ITERATION_3 107
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 107 && NDNBOOST_PP_ITERATION_FINISH_3 >= 107
+#        define NDNBOOST_PP_ITERATION_3 107
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 108 && BOOST_PP_ITERATION_FINISH_3 >= 108
-#        define BOOST_PP_ITERATION_3 108
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 108 && NDNBOOST_PP_ITERATION_FINISH_3 >= 108
+#        define NDNBOOST_PP_ITERATION_3 108
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 109 && BOOST_PP_ITERATION_FINISH_3 >= 109
-#        define BOOST_PP_ITERATION_3 109
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 109 && NDNBOOST_PP_ITERATION_FINISH_3 >= 109
+#        define NDNBOOST_PP_ITERATION_3 109
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 110 && BOOST_PP_ITERATION_FINISH_3 >= 110
-#        define BOOST_PP_ITERATION_3 110
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 110 && NDNBOOST_PP_ITERATION_FINISH_3 >= 110
+#        define NDNBOOST_PP_ITERATION_3 110
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 111 && BOOST_PP_ITERATION_FINISH_3 >= 111
-#        define BOOST_PP_ITERATION_3 111
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 111 && NDNBOOST_PP_ITERATION_FINISH_3 >= 111
+#        define NDNBOOST_PP_ITERATION_3 111
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 112 && BOOST_PP_ITERATION_FINISH_3 >= 112
-#        define BOOST_PP_ITERATION_3 112
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 112 && NDNBOOST_PP_ITERATION_FINISH_3 >= 112
+#        define NDNBOOST_PP_ITERATION_3 112
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 113 && BOOST_PP_ITERATION_FINISH_3 >= 113
-#        define BOOST_PP_ITERATION_3 113
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 113 && NDNBOOST_PP_ITERATION_FINISH_3 >= 113
+#        define NDNBOOST_PP_ITERATION_3 113
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 114 && BOOST_PP_ITERATION_FINISH_3 >= 114
-#        define BOOST_PP_ITERATION_3 114
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 114 && NDNBOOST_PP_ITERATION_FINISH_3 >= 114
+#        define NDNBOOST_PP_ITERATION_3 114
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 115 && BOOST_PP_ITERATION_FINISH_3 >= 115
-#        define BOOST_PP_ITERATION_3 115
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 115 && NDNBOOST_PP_ITERATION_FINISH_3 >= 115
+#        define NDNBOOST_PP_ITERATION_3 115
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 116 && BOOST_PP_ITERATION_FINISH_3 >= 116
-#        define BOOST_PP_ITERATION_3 116
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 116 && NDNBOOST_PP_ITERATION_FINISH_3 >= 116
+#        define NDNBOOST_PP_ITERATION_3 116
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 117 && BOOST_PP_ITERATION_FINISH_3 >= 117
-#        define BOOST_PP_ITERATION_3 117
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 117 && NDNBOOST_PP_ITERATION_FINISH_3 >= 117
+#        define NDNBOOST_PP_ITERATION_3 117
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 118 && BOOST_PP_ITERATION_FINISH_3 >= 118
-#        define BOOST_PP_ITERATION_3 118
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 118 && NDNBOOST_PP_ITERATION_FINISH_3 >= 118
+#        define NDNBOOST_PP_ITERATION_3 118
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 119 && BOOST_PP_ITERATION_FINISH_3 >= 119
-#        define BOOST_PP_ITERATION_3 119
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 119 && NDNBOOST_PP_ITERATION_FINISH_3 >= 119
+#        define NDNBOOST_PP_ITERATION_3 119
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 120 && BOOST_PP_ITERATION_FINISH_3 >= 120
-#        define BOOST_PP_ITERATION_3 120
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 120 && NDNBOOST_PP_ITERATION_FINISH_3 >= 120
+#        define NDNBOOST_PP_ITERATION_3 120
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 121 && BOOST_PP_ITERATION_FINISH_3 >= 121
-#        define BOOST_PP_ITERATION_3 121
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 121 && NDNBOOST_PP_ITERATION_FINISH_3 >= 121
+#        define NDNBOOST_PP_ITERATION_3 121
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 122 && BOOST_PP_ITERATION_FINISH_3 >= 122
-#        define BOOST_PP_ITERATION_3 122
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 122 && NDNBOOST_PP_ITERATION_FINISH_3 >= 122
+#        define NDNBOOST_PP_ITERATION_3 122
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 123 && BOOST_PP_ITERATION_FINISH_3 >= 123
-#        define BOOST_PP_ITERATION_3 123
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 123 && NDNBOOST_PP_ITERATION_FINISH_3 >= 123
+#        define NDNBOOST_PP_ITERATION_3 123
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 124 && BOOST_PP_ITERATION_FINISH_3 >= 124
-#        define BOOST_PP_ITERATION_3 124
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 124 && NDNBOOST_PP_ITERATION_FINISH_3 >= 124
+#        define NDNBOOST_PP_ITERATION_3 124
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 125 && BOOST_PP_ITERATION_FINISH_3 >= 125
-#        define BOOST_PP_ITERATION_3 125
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 125 && NDNBOOST_PP_ITERATION_FINISH_3 >= 125
+#        define NDNBOOST_PP_ITERATION_3 125
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 126 && BOOST_PP_ITERATION_FINISH_3 >= 126
-#        define BOOST_PP_ITERATION_3 126
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 126 && NDNBOOST_PP_ITERATION_FINISH_3 >= 126
+#        define NDNBOOST_PP_ITERATION_3 126
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 127 && BOOST_PP_ITERATION_FINISH_3 >= 127
-#        define BOOST_PP_ITERATION_3 127
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 127 && NDNBOOST_PP_ITERATION_FINISH_3 >= 127
+#        define NDNBOOST_PP_ITERATION_3 127
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 128 && BOOST_PP_ITERATION_FINISH_3 >= 128
-#        define BOOST_PP_ITERATION_3 128
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 128 && NDNBOOST_PP_ITERATION_FINISH_3 >= 128
+#        define NDNBOOST_PP_ITERATION_3 128
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 129 && BOOST_PP_ITERATION_FINISH_3 >= 129
-#        define BOOST_PP_ITERATION_3 129
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 129 && NDNBOOST_PP_ITERATION_FINISH_3 >= 129
+#        define NDNBOOST_PP_ITERATION_3 129
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 130 && BOOST_PP_ITERATION_FINISH_3 >= 130
-#        define BOOST_PP_ITERATION_3 130
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 130 && NDNBOOST_PP_ITERATION_FINISH_3 >= 130
+#        define NDNBOOST_PP_ITERATION_3 130
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 131 && BOOST_PP_ITERATION_FINISH_3 >= 131
-#        define BOOST_PP_ITERATION_3 131
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 131 && NDNBOOST_PP_ITERATION_FINISH_3 >= 131
+#        define NDNBOOST_PP_ITERATION_3 131
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 132 && BOOST_PP_ITERATION_FINISH_3 >= 132
-#        define BOOST_PP_ITERATION_3 132
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 132 && NDNBOOST_PP_ITERATION_FINISH_3 >= 132
+#        define NDNBOOST_PP_ITERATION_3 132
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 133 && BOOST_PP_ITERATION_FINISH_3 >= 133
-#        define BOOST_PP_ITERATION_3 133
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 133 && NDNBOOST_PP_ITERATION_FINISH_3 >= 133
+#        define NDNBOOST_PP_ITERATION_3 133
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 134 && BOOST_PP_ITERATION_FINISH_3 >= 134
-#        define BOOST_PP_ITERATION_3 134
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 134 && NDNBOOST_PP_ITERATION_FINISH_3 >= 134
+#        define NDNBOOST_PP_ITERATION_3 134
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 135 && BOOST_PP_ITERATION_FINISH_3 >= 135
-#        define BOOST_PP_ITERATION_3 135
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 135 && NDNBOOST_PP_ITERATION_FINISH_3 >= 135
+#        define NDNBOOST_PP_ITERATION_3 135
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 136 && BOOST_PP_ITERATION_FINISH_3 >= 136
-#        define BOOST_PP_ITERATION_3 136
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 136 && NDNBOOST_PP_ITERATION_FINISH_3 >= 136
+#        define NDNBOOST_PP_ITERATION_3 136
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 137 && BOOST_PP_ITERATION_FINISH_3 >= 137
-#        define BOOST_PP_ITERATION_3 137
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 137 && NDNBOOST_PP_ITERATION_FINISH_3 >= 137
+#        define NDNBOOST_PP_ITERATION_3 137
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 138 && BOOST_PP_ITERATION_FINISH_3 >= 138
-#        define BOOST_PP_ITERATION_3 138
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 138 && NDNBOOST_PP_ITERATION_FINISH_3 >= 138
+#        define NDNBOOST_PP_ITERATION_3 138
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 139 && BOOST_PP_ITERATION_FINISH_3 >= 139
-#        define BOOST_PP_ITERATION_3 139
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 139 && NDNBOOST_PP_ITERATION_FINISH_3 >= 139
+#        define NDNBOOST_PP_ITERATION_3 139
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 140 && BOOST_PP_ITERATION_FINISH_3 >= 140
-#        define BOOST_PP_ITERATION_3 140
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 140 && NDNBOOST_PP_ITERATION_FINISH_3 >= 140
+#        define NDNBOOST_PP_ITERATION_3 140
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 141 && BOOST_PP_ITERATION_FINISH_3 >= 141
-#        define BOOST_PP_ITERATION_3 141
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 141 && NDNBOOST_PP_ITERATION_FINISH_3 >= 141
+#        define NDNBOOST_PP_ITERATION_3 141
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 142 && BOOST_PP_ITERATION_FINISH_3 >= 142
-#        define BOOST_PP_ITERATION_3 142
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 142 && NDNBOOST_PP_ITERATION_FINISH_3 >= 142
+#        define NDNBOOST_PP_ITERATION_3 142
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 143 && BOOST_PP_ITERATION_FINISH_3 >= 143
-#        define BOOST_PP_ITERATION_3 143
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 143 && NDNBOOST_PP_ITERATION_FINISH_3 >= 143
+#        define NDNBOOST_PP_ITERATION_3 143
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 144 && BOOST_PP_ITERATION_FINISH_3 >= 144
-#        define BOOST_PP_ITERATION_3 144
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 144 && NDNBOOST_PP_ITERATION_FINISH_3 >= 144
+#        define NDNBOOST_PP_ITERATION_3 144
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 145 && BOOST_PP_ITERATION_FINISH_3 >= 145
-#        define BOOST_PP_ITERATION_3 145
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 145 && NDNBOOST_PP_ITERATION_FINISH_3 >= 145
+#        define NDNBOOST_PP_ITERATION_3 145
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 146 && BOOST_PP_ITERATION_FINISH_3 >= 146
-#        define BOOST_PP_ITERATION_3 146
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 146 && NDNBOOST_PP_ITERATION_FINISH_3 >= 146
+#        define NDNBOOST_PP_ITERATION_3 146
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 147 && BOOST_PP_ITERATION_FINISH_3 >= 147
-#        define BOOST_PP_ITERATION_3 147
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 147 && NDNBOOST_PP_ITERATION_FINISH_3 >= 147
+#        define NDNBOOST_PP_ITERATION_3 147
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 148 && BOOST_PP_ITERATION_FINISH_3 >= 148
-#        define BOOST_PP_ITERATION_3 148
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 148 && NDNBOOST_PP_ITERATION_FINISH_3 >= 148
+#        define NDNBOOST_PP_ITERATION_3 148
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 149 && BOOST_PP_ITERATION_FINISH_3 >= 149
-#        define BOOST_PP_ITERATION_3 149
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 149 && NDNBOOST_PP_ITERATION_FINISH_3 >= 149
+#        define NDNBOOST_PP_ITERATION_3 149
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 150 && BOOST_PP_ITERATION_FINISH_3 >= 150
-#        define BOOST_PP_ITERATION_3 150
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 150 && NDNBOOST_PP_ITERATION_FINISH_3 >= 150
+#        define NDNBOOST_PP_ITERATION_3 150
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 151 && BOOST_PP_ITERATION_FINISH_3 >= 151
-#        define BOOST_PP_ITERATION_3 151
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 151 && NDNBOOST_PP_ITERATION_FINISH_3 >= 151
+#        define NDNBOOST_PP_ITERATION_3 151
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 152 && BOOST_PP_ITERATION_FINISH_3 >= 152
-#        define BOOST_PP_ITERATION_3 152
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 152 && NDNBOOST_PP_ITERATION_FINISH_3 >= 152
+#        define NDNBOOST_PP_ITERATION_3 152
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 153 && BOOST_PP_ITERATION_FINISH_3 >= 153
-#        define BOOST_PP_ITERATION_3 153
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 153 && NDNBOOST_PP_ITERATION_FINISH_3 >= 153
+#        define NDNBOOST_PP_ITERATION_3 153
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 154 && BOOST_PP_ITERATION_FINISH_3 >= 154
-#        define BOOST_PP_ITERATION_3 154
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 154 && NDNBOOST_PP_ITERATION_FINISH_3 >= 154
+#        define NDNBOOST_PP_ITERATION_3 154
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 155 && BOOST_PP_ITERATION_FINISH_3 >= 155
-#        define BOOST_PP_ITERATION_3 155
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 155 && NDNBOOST_PP_ITERATION_FINISH_3 >= 155
+#        define NDNBOOST_PP_ITERATION_3 155
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 156 && BOOST_PP_ITERATION_FINISH_3 >= 156
-#        define BOOST_PP_ITERATION_3 156
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 156 && NDNBOOST_PP_ITERATION_FINISH_3 >= 156
+#        define NDNBOOST_PP_ITERATION_3 156
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 157 && BOOST_PP_ITERATION_FINISH_3 >= 157
-#        define BOOST_PP_ITERATION_3 157
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 157 && NDNBOOST_PP_ITERATION_FINISH_3 >= 157
+#        define NDNBOOST_PP_ITERATION_3 157
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 158 && BOOST_PP_ITERATION_FINISH_3 >= 158
-#        define BOOST_PP_ITERATION_3 158
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 158 && NDNBOOST_PP_ITERATION_FINISH_3 >= 158
+#        define NDNBOOST_PP_ITERATION_3 158
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 159 && BOOST_PP_ITERATION_FINISH_3 >= 159
-#        define BOOST_PP_ITERATION_3 159
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 159 && NDNBOOST_PP_ITERATION_FINISH_3 >= 159
+#        define NDNBOOST_PP_ITERATION_3 159
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 160 && BOOST_PP_ITERATION_FINISH_3 >= 160
-#        define BOOST_PP_ITERATION_3 160
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 160 && NDNBOOST_PP_ITERATION_FINISH_3 >= 160
+#        define NDNBOOST_PP_ITERATION_3 160
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 161 && BOOST_PP_ITERATION_FINISH_3 >= 161
-#        define BOOST_PP_ITERATION_3 161
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 161 && NDNBOOST_PP_ITERATION_FINISH_3 >= 161
+#        define NDNBOOST_PP_ITERATION_3 161
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 162 && BOOST_PP_ITERATION_FINISH_3 >= 162
-#        define BOOST_PP_ITERATION_3 162
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 162 && NDNBOOST_PP_ITERATION_FINISH_3 >= 162
+#        define NDNBOOST_PP_ITERATION_3 162
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 163 && BOOST_PP_ITERATION_FINISH_3 >= 163
-#        define BOOST_PP_ITERATION_3 163
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 163 && NDNBOOST_PP_ITERATION_FINISH_3 >= 163
+#        define NDNBOOST_PP_ITERATION_3 163
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 164 && BOOST_PP_ITERATION_FINISH_3 >= 164
-#        define BOOST_PP_ITERATION_3 164
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 164 && NDNBOOST_PP_ITERATION_FINISH_3 >= 164
+#        define NDNBOOST_PP_ITERATION_3 164
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 165 && BOOST_PP_ITERATION_FINISH_3 >= 165
-#        define BOOST_PP_ITERATION_3 165
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 165 && NDNBOOST_PP_ITERATION_FINISH_3 >= 165
+#        define NDNBOOST_PP_ITERATION_3 165
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 166 && BOOST_PP_ITERATION_FINISH_3 >= 166
-#        define BOOST_PP_ITERATION_3 166
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 166 && NDNBOOST_PP_ITERATION_FINISH_3 >= 166
+#        define NDNBOOST_PP_ITERATION_3 166
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 167 && BOOST_PP_ITERATION_FINISH_3 >= 167
-#        define BOOST_PP_ITERATION_3 167
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 167 && NDNBOOST_PP_ITERATION_FINISH_3 >= 167
+#        define NDNBOOST_PP_ITERATION_3 167
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 168 && BOOST_PP_ITERATION_FINISH_3 >= 168
-#        define BOOST_PP_ITERATION_3 168
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 168 && NDNBOOST_PP_ITERATION_FINISH_3 >= 168
+#        define NDNBOOST_PP_ITERATION_3 168
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 169 && BOOST_PP_ITERATION_FINISH_3 >= 169
-#        define BOOST_PP_ITERATION_3 169
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 169 && NDNBOOST_PP_ITERATION_FINISH_3 >= 169
+#        define NDNBOOST_PP_ITERATION_3 169
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 170 && BOOST_PP_ITERATION_FINISH_3 >= 170
-#        define BOOST_PP_ITERATION_3 170
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 170 && NDNBOOST_PP_ITERATION_FINISH_3 >= 170
+#        define NDNBOOST_PP_ITERATION_3 170
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 171 && BOOST_PP_ITERATION_FINISH_3 >= 171
-#        define BOOST_PP_ITERATION_3 171
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 171 && NDNBOOST_PP_ITERATION_FINISH_3 >= 171
+#        define NDNBOOST_PP_ITERATION_3 171
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 172 && BOOST_PP_ITERATION_FINISH_3 >= 172
-#        define BOOST_PP_ITERATION_3 172
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 172 && NDNBOOST_PP_ITERATION_FINISH_3 >= 172
+#        define NDNBOOST_PP_ITERATION_3 172
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 173 && BOOST_PP_ITERATION_FINISH_3 >= 173
-#        define BOOST_PP_ITERATION_3 173
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 173 && NDNBOOST_PP_ITERATION_FINISH_3 >= 173
+#        define NDNBOOST_PP_ITERATION_3 173
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 174 && BOOST_PP_ITERATION_FINISH_3 >= 174
-#        define BOOST_PP_ITERATION_3 174
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 174 && NDNBOOST_PP_ITERATION_FINISH_3 >= 174
+#        define NDNBOOST_PP_ITERATION_3 174
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 175 && BOOST_PP_ITERATION_FINISH_3 >= 175
-#        define BOOST_PP_ITERATION_3 175
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 175 && NDNBOOST_PP_ITERATION_FINISH_3 >= 175
+#        define NDNBOOST_PP_ITERATION_3 175
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 176 && BOOST_PP_ITERATION_FINISH_3 >= 176
-#        define BOOST_PP_ITERATION_3 176
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 176 && NDNBOOST_PP_ITERATION_FINISH_3 >= 176
+#        define NDNBOOST_PP_ITERATION_3 176
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 177 && BOOST_PP_ITERATION_FINISH_3 >= 177
-#        define BOOST_PP_ITERATION_3 177
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 177 && NDNBOOST_PP_ITERATION_FINISH_3 >= 177
+#        define NDNBOOST_PP_ITERATION_3 177
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 178 && BOOST_PP_ITERATION_FINISH_3 >= 178
-#        define BOOST_PP_ITERATION_3 178
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 178 && NDNBOOST_PP_ITERATION_FINISH_3 >= 178
+#        define NDNBOOST_PP_ITERATION_3 178
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 179 && BOOST_PP_ITERATION_FINISH_3 >= 179
-#        define BOOST_PP_ITERATION_3 179
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 179 && NDNBOOST_PP_ITERATION_FINISH_3 >= 179
+#        define NDNBOOST_PP_ITERATION_3 179
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 180 && BOOST_PP_ITERATION_FINISH_3 >= 180
-#        define BOOST_PP_ITERATION_3 180
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 180 && NDNBOOST_PP_ITERATION_FINISH_3 >= 180
+#        define NDNBOOST_PP_ITERATION_3 180
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 181 && BOOST_PP_ITERATION_FINISH_3 >= 181
-#        define BOOST_PP_ITERATION_3 181
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 181 && NDNBOOST_PP_ITERATION_FINISH_3 >= 181
+#        define NDNBOOST_PP_ITERATION_3 181
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 182 && BOOST_PP_ITERATION_FINISH_3 >= 182
-#        define BOOST_PP_ITERATION_3 182
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 182 && NDNBOOST_PP_ITERATION_FINISH_3 >= 182
+#        define NDNBOOST_PP_ITERATION_3 182
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 183 && BOOST_PP_ITERATION_FINISH_3 >= 183
-#        define BOOST_PP_ITERATION_3 183
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 183 && NDNBOOST_PP_ITERATION_FINISH_3 >= 183
+#        define NDNBOOST_PP_ITERATION_3 183
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 184 && BOOST_PP_ITERATION_FINISH_3 >= 184
-#        define BOOST_PP_ITERATION_3 184
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 184 && NDNBOOST_PP_ITERATION_FINISH_3 >= 184
+#        define NDNBOOST_PP_ITERATION_3 184
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 185 && BOOST_PP_ITERATION_FINISH_3 >= 185
-#        define BOOST_PP_ITERATION_3 185
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 185 && NDNBOOST_PP_ITERATION_FINISH_3 >= 185
+#        define NDNBOOST_PP_ITERATION_3 185
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 186 && BOOST_PP_ITERATION_FINISH_3 >= 186
-#        define BOOST_PP_ITERATION_3 186
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 186 && NDNBOOST_PP_ITERATION_FINISH_3 >= 186
+#        define NDNBOOST_PP_ITERATION_3 186
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 187 && BOOST_PP_ITERATION_FINISH_3 >= 187
-#        define BOOST_PP_ITERATION_3 187
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 187 && NDNBOOST_PP_ITERATION_FINISH_3 >= 187
+#        define NDNBOOST_PP_ITERATION_3 187
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 188 && BOOST_PP_ITERATION_FINISH_3 >= 188
-#        define BOOST_PP_ITERATION_3 188
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 188 && NDNBOOST_PP_ITERATION_FINISH_3 >= 188
+#        define NDNBOOST_PP_ITERATION_3 188
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 189 && BOOST_PP_ITERATION_FINISH_3 >= 189
-#        define BOOST_PP_ITERATION_3 189
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 189 && NDNBOOST_PP_ITERATION_FINISH_3 >= 189
+#        define NDNBOOST_PP_ITERATION_3 189
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 190 && BOOST_PP_ITERATION_FINISH_3 >= 190
-#        define BOOST_PP_ITERATION_3 190
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 190 && NDNBOOST_PP_ITERATION_FINISH_3 >= 190
+#        define NDNBOOST_PP_ITERATION_3 190
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 191 && BOOST_PP_ITERATION_FINISH_3 >= 191
-#        define BOOST_PP_ITERATION_3 191
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 191 && NDNBOOST_PP_ITERATION_FINISH_3 >= 191
+#        define NDNBOOST_PP_ITERATION_3 191
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 192 && BOOST_PP_ITERATION_FINISH_3 >= 192
-#        define BOOST_PP_ITERATION_3 192
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 192 && NDNBOOST_PP_ITERATION_FINISH_3 >= 192
+#        define NDNBOOST_PP_ITERATION_3 192
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 193 && BOOST_PP_ITERATION_FINISH_3 >= 193
-#        define BOOST_PP_ITERATION_3 193
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 193 && NDNBOOST_PP_ITERATION_FINISH_3 >= 193
+#        define NDNBOOST_PP_ITERATION_3 193
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 194 && BOOST_PP_ITERATION_FINISH_3 >= 194
-#        define BOOST_PP_ITERATION_3 194
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 194 && NDNBOOST_PP_ITERATION_FINISH_3 >= 194
+#        define NDNBOOST_PP_ITERATION_3 194
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 195 && BOOST_PP_ITERATION_FINISH_3 >= 195
-#        define BOOST_PP_ITERATION_3 195
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 195 && NDNBOOST_PP_ITERATION_FINISH_3 >= 195
+#        define NDNBOOST_PP_ITERATION_3 195
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 196 && BOOST_PP_ITERATION_FINISH_3 >= 196
-#        define BOOST_PP_ITERATION_3 196
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 196 && NDNBOOST_PP_ITERATION_FINISH_3 >= 196
+#        define NDNBOOST_PP_ITERATION_3 196
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 197 && BOOST_PP_ITERATION_FINISH_3 >= 197
-#        define BOOST_PP_ITERATION_3 197
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 197 && NDNBOOST_PP_ITERATION_FINISH_3 >= 197
+#        define NDNBOOST_PP_ITERATION_3 197
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 198 && BOOST_PP_ITERATION_FINISH_3 >= 198
-#        define BOOST_PP_ITERATION_3 198
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 198 && NDNBOOST_PP_ITERATION_FINISH_3 >= 198
+#        define NDNBOOST_PP_ITERATION_3 198
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 199 && BOOST_PP_ITERATION_FINISH_3 >= 199
-#        define BOOST_PP_ITERATION_3 199
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 199 && NDNBOOST_PP_ITERATION_FINISH_3 >= 199
+#        define NDNBOOST_PP_ITERATION_3 199
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 200 && BOOST_PP_ITERATION_FINISH_3 >= 200
-#        define BOOST_PP_ITERATION_3 200
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 200 && NDNBOOST_PP_ITERATION_FINISH_3 >= 200
+#        define NDNBOOST_PP_ITERATION_3 200
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 201 && BOOST_PP_ITERATION_FINISH_3 >= 201
-#        define BOOST_PP_ITERATION_3 201
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 201 && NDNBOOST_PP_ITERATION_FINISH_3 >= 201
+#        define NDNBOOST_PP_ITERATION_3 201
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 202 && BOOST_PP_ITERATION_FINISH_3 >= 202
-#        define BOOST_PP_ITERATION_3 202
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 202 && NDNBOOST_PP_ITERATION_FINISH_3 >= 202
+#        define NDNBOOST_PP_ITERATION_3 202
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 203 && BOOST_PP_ITERATION_FINISH_3 >= 203
-#        define BOOST_PP_ITERATION_3 203
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 203 && NDNBOOST_PP_ITERATION_FINISH_3 >= 203
+#        define NDNBOOST_PP_ITERATION_3 203
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 204 && BOOST_PP_ITERATION_FINISH_3 >= 204
-#        define BOOST_PP_ITERATION_3 204
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 204 && NDNBOOST_PP_ITERATION_FINISH_3 >= 204
+#        define NDNBOOST_PP_ITERATION_3 204
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 205 && BOOST_PP_ITERATION_FINISH_3 >= 205
-#        define BOOST_PP_ITERATION_3 205
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 205 && NDNBOOST_PP_ITERATION_FINISH_3 >= 205
+#        define NDNBOOST_PP_ITERATION_3 205
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 206 && BOOST_PP_ITERATION_FINISH_3 >= 206
-#        define BOOST_PP_ITERATION_3 206
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 206 && NDNBOOST_PP_ITERATION_FINISH_3 >= 206
+#        define NDNBOOST_PP_ITERATION_3 206
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 207 && BOOST_PP_ITERATION_FINISH_3 >= 207
-#        define BOOST_PP_ITERATION_3 207
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 207 && NDNBOOST_PP_ITERATION_FINISH_3 >= 207
+#        define NDNBOOST_PP_ITERATION_3 207
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 208 && BOOST_PP_ITERATION_FINISH_3 >= 208
-#        define BOOST_PP_ITERATION_3 208
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 208 && NDNBOOST_PP_ITERATION_FINISH_3 >= 208
+#        define NDNBOOST_PP_ITERATION_3 208
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 209 && BOOST_PP_ITERATION_FINISH_3 >= 209
-#        define BOOST_PP_ITERATION_3 209
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 209 && NDNBOOST_PP_ITERATION_FINISH_3 >= 209
+#        define NDNBOOST_PP_ITERATION_3 209
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 210 && BOOST_PP_ITERATION_FINISH_3 >= 210
-#        define BOOST_PP_ITERATION_3 210
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 210 && NDNBOOST_PP_ITERATION_FINISH_3 >= 210
+#        define NDNBOOST_PP_ITERATION_3 210
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 211 && BOOST_PP_ITERATION_FINISH_3 >= 211
-#        define BOOST_PP_ITERATION_3 211
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 211 && NDNBOOST_PP_ITERATION_FINISH_3 >= 211
+#        define NDNBOOST_PP_ITERATION_3 211
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 212 && BOOST_PP_ITERATION_FINISH_3 >= 212
-#        define BOOST_PP_ITERATION_3 212
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 212 && NDNBOOST_PP_ITERATION_FINISH_3 >= 212
+#        define NDNBOOST_PP_ITERATION_3 212
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 213 && BOOST_PP_ITERATION_FINISH_3 >= 213
-#        define BOOST_PP_ITERATION_3 213
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 213 && NDNBOOST_PP_ITERATION_FINISH_3 >= 213
+#        define NDNBOOST_PP_ITERATION_3 213
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 214 && BOOST_PP_ITERATION_FINISH_3 >= 214
-#        define BOOST_PP_ITERATION_3 214
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 214 && NDNBOOST_PP_ITERATION_FINISH_3 >= 214
+#        define NDNBOOST_PP_ITERATION_3 214
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 215 && BOOST_PP_ITERATION_FINISH_3 >= 215
-#        define BOOST_PP_ITERATION_3 215
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 215 && NDNBOOST_PP_ITERATION_FINISH_3 >= 215
+#        define NDNBOOST_PP_ITERATION_3 215
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 216 && BOOST_PP_ITERATION_FINISH_3 >= 216
-#        define BOOST_PP_ITERATION_3 216
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 216 && NDNBOOST_PP_ITERATION_FINISH_3 >= 216
+#        define NDNBOOST_PP_ITERATION_3 216
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 217 && BOOST_PP_ITERATION_FINISH_3 >= 217
-#        define BOOST_PP_ITERATION_3 217
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 217 && NDNBOOST_PP_ITERATION_FINISH_3 >= 217
+#        define NDNBOOST_PP_ITERATION_3 217
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 218 && BOOST_PP_ITERATION_FINISH_3 >= 218
-#        define BOOST_PP_ITERATION_3 218
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 218 && NDNBOOST_PP_ITERATION_FINISH_3 >= 218
+#        define NDNBOOST_PP_ITERATION_3 218
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 219 && BOOST_PP_ITERATION_FINISH_3 >= 219
-#        define BOOST_PP_ITERATION_3 219
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 219 && NDNBOOST_PP_ITERATION_FINISH_3 >= 219
+#        define NDNBOOST_PP_ITERATION_3 219
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 220 && BOOST_PP_ITERATION_FINISH_3 >= 220
-#        define BOOST_PP_ITERATION_3 220
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 220 && NDNBOOST_PP_ITERATION_FINISH_3 >= 220
+#        define NDNBOOST_PP_ITERATION_3 220
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 221 && BOOST_PP_ITERATION_FINISH_3 >= 221
-#        define BOOST_PP_ITERATION_3 221
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 221 && NDNBOOST_PP_ITERATION_FINISH_3 >= 221
+#        define NDNBOOST_PP_ITERATION_3 221
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 222 && BOOST_PP_ITERATION_FINISH_3 >= 222
-#        define BOOST_PP_ITERATION_3 222
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 222 && NDNBOOST_PP_ITERATION_FINISH_3 >= 222
+#        define NDNBOOST_PP_ITERATION_3 222
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 223 && BOOST_PP_ITERATION_FINISH_3 >= 223
-#        define BOOST_PP_ITERATION_3 223
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 223 && NDNBOOST_PP_ITERATION_FINISH_3 >= 223
+#        define NDNBOOST_PP_ITERATION_3 223
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 224 && BOOST_PP_ITERATION_FINISH_3 >= 224
-#        define BOOST_PP_ITERATION_3 224
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 224 && NDNBOOST_PP_ITERATION_FINISH_3 >= 224
+#        define NDNBOOST_PP_ITERATION_3 224
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 225 && BOOST_PP_ITERATION_FINISH_3 >= 225
-#        define BOOST_PP_ITERATION_3 225
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 225 && NDNBOOST_PP_ITERATION_FINISH_3 >= 225
+#        define NDNBOOST_PP_ITERATION_3 225
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 226 && BOOST_PP_ITERATION_FINISH_3 >= 226
-#        define BOOST_PP_ITERATION_3 226
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 226 && NDNBOOST_PP_ITERATION_FINISH_3 >= 226
+#        define NDNBOOST_PP_ITERATION_3 226
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 227 && BOOST_PP_ITERATION_FINISH_3 >= 227
-#        define BOOST_PP_ITERATION_3 227
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 227 && NDNBOOST_PP_ITERATION_FINISH_3 >= 227
+#        define NDNBOOST_PP_ITERATION_3 227
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 228 && BOOST_PP_ITERATION_FINISH_3 >= 228
-#        define BOOST_PP_ITERATION_3 228
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 228 && NDNBOOST_PP_ITERATION_FINISH_3 >= 228
+#        define NDNBOOST_PP_ITERATION_3 228
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 229 && BOOST_PP_ITERATION_FINISH_3 >= 229
-#        define BOOST_PP_ITERATION_3 229
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 229 && NDNBOOST_PP_ITERATION_FINISH_3 >= 229
+#        define NDNBOOST_PP_ITERATION_3 229
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 230 && BOOST_PP_ITERATION_FINISH_3 >= 230
-#        define BOOST_PP_ITERATION_3 230
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 230 && NDNBOOST_PP_ITERATION_FINISH_3 >= 230
+#        define NDNBOOST_PP_ITERATION_3 230
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 231 && BOOST_PP_ITERATION_FINISH_3 >= 231
-#        define BOOST_PP_ITERATION_3 231
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 231 && NDNBOOST_PP_ITERATION_FINISH_3 >= 231
+#        define NDNBOOST_PP_ITERATION_3 231
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 232 && BOOST_PP_ITERATION_FINISH_3 >= 232
-#        define BOOST_PP_ITERATION_3 232
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 232 && NDNBOOST_PP_ITERATION_FINISH_3 >= 232
+#        define NDNBOOST_PP_ITERATION_3 232
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 233 && BOOST_PP_ITERATION_FINISH_3 >= 233
-#        define BOOST_PP_ITERATION_3 233
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 233 && NDNBOOST_PP_ITERATION_FINISH_3 >= 233
+#        define NDNBOOST_PP_ITERATION_3 233
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 234 && BOOST_PP_ITERATION_FINISH_3 >= 234
-#        define BOOST_PP_ITERATION_3 234
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 234 && NDNBOOST_PP_ITERATION_FINISH_3 >= 234
+#        define NDNBOOST_PP_ITERATION_3 234
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 235 && BOOST_PP_ITERATION_FINISH_3 >= 235
-#        define BOOST_PP_ITERATION_3 235
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 235 && NDNBOOST_PP_ITERATION_FINISH_3 >= 235
+#        define NDNBOOST_PP_ITERATION_3 235
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 236 && BOOST_PP_ITERATION_FINISH_3 >= 236
-#        define BOOST_PP_ITERATION_3 236
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 236 && NDNBOOST_PP_ITERATION_FINISH_3 >= 236
+#        define NDNBOOST_PP_ITERATION_3 236
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 237 && BOOST_PP_ITERATION_FINISH_3 >= 237
-#        define BOOST_PP_ITERATION_3 237
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 237 && NDNBOOST_PP_ITERATION_FINISH_3 >= 237
+#        define NDNBOOST_PP_ITERATION_3 237
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 238 && BOOST_PP_ITERATION_FINISH_3 >= 238
-#        define BOOST_PP_ITERATION_3 238
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 238 && NDNBOOST_PP_ITERATION_FINISH_3 >= 238
+#        define NDNBOOST_PP_ITERATION_3 238
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 239 && BOOST_PP_ITERATION_FINISH_3 >= 239
-#        define BOOST_PP_ITERATION_3 239
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 239 && NDNBOOST_PP_ITERATION_FINISH_3 >= 239
+#        define NDNBOOST_PP_ITERATION_3 239
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 240 && BOOST_PP_ITERATION_FINISH_3 >= 240
-#        define BOOST_PP_ITERATION_3 240
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 240 && NDNBOOST_PP_ITERATION_FINISH_3 >= 240
+#        define NDNBOOST_PP_ITERATION_3 240
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 241 && BOOST_PP_ITERATION_FINISH_3 >= 241
-#        define BOOST_PP_ITERATION_3 241
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 241 && NDNBOOST_PP_ITERATION_FINISH_3 >= 241
+#        define NDNBOOST_PP_ITERATION_3 241
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 242 && BOOST_PP_ITERATION_FINISH_3 >= 242
-#        define BOOST_PP_ITERATION_3 242
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 242 && NDNBOOST_PP_ITERATION_FINISH_3 >= 242
+#        define NDNBOOST_PP_ITERATION_3 242
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 243 && BOOST_PP_ITERATION_FINISH_3 >= 243
-#        define BOOST_PP_ITERATION_3 243
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 243 && NDNBOOST_PP_ITERATION_FINISH_3 >= 243
+#        define NDNBOOST_PP_ITERATION_3 243
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 244 && BOOST_PP_ITERATION_FINISH_3 >= 244
-#        define BOOST_PP_ITERATION_3 244
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 244 && NDNBOOST_PP_ITERATION_FINISH_3 >= 244
+#        define NDNBOOST_PP_ITERATION_3 244
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 245 && BOOST_PP_ITERATION_FINISH_3 >= 245
-#        define BOOST_PP_ITERATION_3 245
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 245 && NDNBOOST_PP_ITERATION_FINISH_3 >= 245
+#        define NDNBOOST_PP_ITERATION_3 245
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 246 && BOOST_PP_ITERATION_FINISH_3 >= 246
-#        define BOOST_PP_ITERATION_3 246
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 246 && NDNBOOST_PP_ITERATION_FINISH_3 >= 246
+#        define NDNBOOST_PP_ITERATION_3 246
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 247 && BOOST_PP_ITERATION_FINISH_3 >= 247
-#        define BOOST_PP_ITERATION_3 247
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 247 && NDNBOOST_PP_ITERATION_FINISH_3 >= 247
+#        define NDNBOOST_PP_ITERATION_3 247
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 248 && BOOST_PP_ITERATION_FINISH_3 >= 248
-#        define BOOST_PP_ITERATION_3 248
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 248 && NDNBOOST_PP_ITERATION_FINISH_3 >= 248
+#        define NDNBOOST_PP_ITERATION_3 248
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 249 && BOOST_PP_ITERATION_FINISH_3 >= 249
-#        define BOOST_PP_ITERATION_3 249
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 249 && NDNBOOST_PP_ITERATION_FINISH_3 >= 249
+#        define NDNBOOST_PP_ITERATION_3 249
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 250 && BOOST_PP_ITERATION_FINISH_3 >= 250
-#        define BOOST_PP_ITERATION_3 250
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 250 && NDNBOOST_PP_ITERATION_FINISH_3 >= 250
+#        define NDNBOOST_PP_ITERATION_3 250
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 251 && BOOST_PP_ITERATION_FINISH_3 >= 251
-#        define BOOST_PP_ITERATION_3 251
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 251 && NDNBOOST_PP_ITERATION_FINISH_3 >= 251
+#        define NDNBOOST_PP_ITERATION_3 251
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 252 && BOOST_PP_ITERATION_FINISH_3 >= 252
-#        define BOOST_PP_ITERATION_3 252
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 252 && NDNBOOST_PP_ITERATION_FINISH_3 >= 252
+#        define NDNBOOST_PP_ITERATION_3 252
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 253 && BOOST_PP_ITERATION_FINISH_3 >= 253
-#        define BOOST_PP_ITERATION_3 253
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 253 && NDNBOOST_PP_ITERATION_FINISH_3 >= 253
+#        define NDNBOOST_PP_ITERATION_3 253
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 254 && BOOST_PP_ITERATION_FINISH_3 >= 254
-#        define BOOST_PP_ITERATION_3 254
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 254 && NDNBOOST_PP_ITERATION_FINISH_3 >= 254
+#        define NDNBOOST_PP_ITERATION_3 254
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 255 && BOOST_PP_ITERATION_FINISH_3 >= 255
-#        define BOOST_PP_ITERATION_3 255
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 255 && NDNBOOST_PP_ITERATION_FINISH_3 >= 255
+#        define NDNBOOST_PP_ITERATION_3 255
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
-#    if BOOST_PP_ITERATION_START_3 <= 256 && BOOST_PP_ITERATION_FINISH_3 >= 256
-#        define BOOST_PP_ITERATION_3 256
-#        include BOOST_PP_FILENAME_3
-#        undef BOOST_PP_ITERATION_3
+#    if NDNBOOST_PP_ITERATION_START_3 <= 256 && NDNBOOST_PP_ITERATION_FINISH_3 >= 256
+#        define NDNBOOST_PP_ITERATION_3 256
+#        include NDNBOOST_PP_FILENAME_3
+#        undef NDNBOOST_PP_ITERATION_3
 #    endif
 # endif
 #
-# undef BOOST_PP_ITERATION_DEPTH
-# define BOOST_PP_ITERATION_DEPTH() 2
+# undef NDNBOOST_PP_ITERATION_DEPTH
+# define NDNBOOST_PP_ITERATION_DEPTH() 2
 #
-# undef BOOST_PP_ITERATION_START_3
-# undef BOOST_PP_ITERATION_FINISH_3
-# undef BOOST_PP_FILENAME_3
+# undef NDNBOOST_PP_ITERATION_START_3
+# undef NDNBOOST_PP_ITERATION_FINISH_3
+# undef NDNBOOST_PP_FILENAME_3
 #
-# undef BOOST_PP_ITERATION_FLAGS_3
-# undef BOOST_PP_ITERATION_PARAMS_3
+# undef NDNBOOST_PP_ITERATION_FLAGS_3
+# undef NDNBOOST_PP_ITERATION_PARAMS_3
diff --git a/include/ndnboost/preprocessor/iteration/detail/iter/forward4.hpp b/include/ndnboost/preprocessor/iteration/detail/iter/forward4.hpp
index 3ddfbf5..4bc2152 100644
--- a/include/ndnboost/preprocessor/iteration/detail/iter/forward4.hpp
+++ b/include/ndnboost/preprocessor/iteration/detail/iter/forward4.hpp
@@ -9,1330 +9,1330 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# if defined(BOOST_PP_ITERATION_LIMITS)
-#    if !defined(BOOST_PP_FILENAME_4)
-#        error BOOST_PP_ERROR:  depth #4 filename is not defined
+# if defined(NDNBOOST_PP_ITERATION_LIMITS)
+#    if !defined(NDNBOOST_PP_FILENAME_4)
+#        error NDNBOOST_PP_ERROR:  depth #4 filename is not defined
 #    endif
-#    define BOOST_PP_VALUE BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_ITERATION_LIMITS)
+#    define NDNBOOST_PP_VALUE NDNBOOST_PP_TUPLE_ELEM(2, 0, NDNBOOST_PP_ITERATION_LIMITS)
 #    include <ndnboost/preprocessor/iteration/detail/bounds/lower4.hpp>
-#    define BOOST_PP_VALUE BOOST_PP_TUPLE_ELEM(2, 1, BOOST_PP_ITERATION_LIMITS)
+#    define NDNBOOST_PP_VALUE NDNBOOST_PP_TUPLE_ELEM(2, 1, NDNBOOST_PP_ITERATION_LIMITS)
 #    include <ndnboost/preprocessor/iteration/detail/bounds/upper4.hpp>
-#    define BOOST_PP_ITERATION_FLAGS_4() 0
-#    undef BOOST_PP_ITERATION_LIMITS
-# elif defined(BOOST_PP_ITERATION_PARAMS_4)
-#    define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(0, BOOST_PP_ITERATION_PARAMS_4)
+#    define NDNBOOST_PP_ITERATION_FLAGS_4() 0
+#    undef NDNBOOST_PP_ITERATION_LIMITS
+# elif defined(NDNBOOST_PP_ITERATION_PARAMS_4)
+#    define NDNBOOST_PP_VALUE NDNBOOST_PP_ARRAY_ELEM(0, NDNBOOST_PP_ITERATION_PARAMS_4)
 #    include <ndnboost/preprocessor/iteration/detail/bounds/lower4.hpp>
-#    define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(1, BOOST_PP_ITERATION_PARAMS_4)
+#    define NDNBOOST_PP_VALUE NDNBOOST_PP_ARRAY_ELEM(1, NDNBOOST_PP_ITERATION_PARAMS_4)
 #    include <ndnboost/preprocessor/iteration/detail/bounds/upper4.hpp>
-#    define BOOST_PP_FILENAME_4 BOOST_PP_ARRAY_ELEM(2, BOOST_PP_ITERATION_PARAMS_4)
-#    if BOOST_PP_ARRAY_SIZE(BOOST_PP_ITERATION_PARAMS_4) >= 4
-#        define BOOST_PP_ITERATION_FLAGS_4() BOOST_PP_ARRAY_ELEM(3, BOOST_PP_ITERATION_PARAMS_4)
+#    define NDNBOOST_PP_FILENAME_4 NDNBOOST_PP_ARRAY_ELEM(2, NDNBOOST_PP_ITERATION_PARAMS_4)
+#    if NDNBOOST_PP_ARRAY_SIZE(NDNBOOST_PP_ITERATION_PARAMS_4) >= 4
+#        define NDNBOOST_PP_ITERATION_FLAGS_4() NDNBOOST_PP_ARRAY_ELEM(3, NDNBOOST_PP_ITERATION_PARAMS_4)
 #    else
-#        define BOOST_PP_ITERATION_FLAGS_4() 0
+#        define NDNBOOST_PP_ITERATION_FLAGS_4() 0
 #    endif
 # else
-#    error BOOST_PP_ERROR:  depth #4 iteration boundaries or filename not defined
+#    error NDNBOOST_PP_ERROR:  depth #4 iteration boundaries or filename not defined
 # endif
 #
-# undef BOOST_PP_ITERATION_DEPTH
-# define BOOST_PP_ITERATION_DEPTH() 4
+# undef NDNBOOST_PP_ITERATION_DEPTH
+# define NDNBOOST_PP_ITERATION_DEPTH() 4
 #
-# if (BOOST_PP_ITERATION_START_4) > (BOOST_PP_ITERATION_FINISH_4)
+# if (NDNBOOST_PP_ITERATION_START_4) > (NDNBOOST_PP_ITERATION_FINISH_4)
 #    include <ndnboost/preprocessor/iteration/detail/iter/reverse4.hpp>
 # else
-#    if BOOST_PP_ITERATION_START_4 <= 0 && BOOST_PP_ITERATION_FINISH_4 >= 0
-#        define BOOST_PP_ITERATION_4 0
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 0 && NDNBOOST_PP_ITERATION_FINISH_4 >= 0
+#        define NDNBOOST_PP_ITERATION_4 0
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 1 && BOOST_PP_ITERATION_FINISH_4 >= 1
-#        define BOOST_PP_ITERATION_4 1
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 1 && NDNBOOST_PP_ITERATION_FINISH_4 >= 1
+#        define NDNBOOST_PP_ITERATION_4 1
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 2 && BOOST_PP_ITERATION_FINISH_4 >= 2
-#        define BOOST_PP_ITERATION_4 2
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 2 && NDNBOOST_PP_ITERATION_FINISH_4 >= 2
+#        define NDNBOOST_PP_ITERATION_4 2
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 3 && BOOST_PP_ITERATION_FINISH_4 >= 3
-#        define BOOST_PP_ITERATION_4 3
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 3 && NDNBOOST_PP_ITERATION_FINISH_4 >= 3
+#        define NDNBOOST_PP_ITERATION_4 3
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 4 && BOOST_PP_ITERATION_FINISH_4 >= 4
-#        define BOOST_PP_ITERATION_4 4
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 4 && NDNBOOST_PP_ITERATION_FINISH_4 >= 4
+#        define NDNBOOST_PP_ITERATION_4 4
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 5 && BOOST_PP_ITERATION_FINISH_4 >= 5
-#        define BOOST_PP_ITERATION_4 5
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 5 && NDNBOOST_PP_ITERATION_FINISH_4 >= 5
+#        define NDNBOOST_PP_ITERATION_4 5
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 6 && BOOST_PP_ITERATION_FINISH_4 >= 6
-#        define BOOST_PP_ITERATION_4 6
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 6 && NDNBOOST_PP_ITERATION_FINISH_4 >= 6
+#        define NDNBOOST_PP_ITERATION_4 6
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 7 && BOOST_PP_ITERATION_FINISH_4 >= 7
-#        define BOOST_PP_ITERATION_4 7
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 7 && NDNBOOST_PP_ITERATION_FINISH_4 >= 7
+#        define NDNBOOST_PP_ITERATION_4 7
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 8 && BOOST_PP_ITERATION_FINISH_4 >= 8
-#        define BOOST_PP_ITERATION_4 8
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 8 && NDNBOOST_PP_ITERATION_FINISH_4 >= 8
+#        define NDNBOOST_PP_ITERATION_4 8
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 9 && BOOST_PP_ITERATION_FINISH_4 >= 9
-#        define BOOST_PP_ITERATION_4 9
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 9 && NDNBOOST_PP_ITERATION_FINISH_4 >= 9
+#        define NDNBOOST_PP_ITERATION_4 9
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 10 && BOOST_PP_ITERATION_FINISH_4 >= 10
-#        define BOOST_PP_ITERATION_4 10
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 10 && NDNBOOST_PP_ITERATION_FINISH_4 >= 10
+#        define NDNBOOST_PP_ITERATION_4 10
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 11 && BOOST_PP_ITERATION_FINISH_4 >= 11
-#        define BOOST_PP_ITERATION_4 11
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 11 && NDNBOOST_PP_ITERATION_FINISH_4 >= 11
+#        define NDNBOOST_PP_ITERATION_4 11
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 12 && BOOST_PP_ITERATION_FINISH_4 >= 12
-#        define BOOST_PP_ITERATION_4 12
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 12 && NDNBOOST_PP_ITERATION_FINISH_4 >= 12
+#        define NDNBOOST_PP_ITERATION_4 12
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 13 && BOOST_PP_ITERATION_FINISH_4 >= 13
-#        define BOOST_PP_ITERATION_4 13
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 13 && NDNBOOST_PP_ITERATION_FINISH_4 >= 13
+#        define NDNBOOST_PP_ITERATION_4 13
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 14 && BOOST_PP_ITERATION_FINISH_4 >= 14
-#        define BOOST_PP_ITERATION_4 14
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 14 && NDNBOOST_PP_ITERATION_FINISH_4 >= 14
+#        define NDNBOOST_PP_ITERATION_4 14
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 15 && BOOST_PP_ITERATION_FINISH_4 >= 15
-#        define BOOST_PP_ITERATION_4 15
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 15 && NDNBOOST_PP_ITERATION_FINISH_4 >= 15
+#        define NDNBOOST_PP_ITERATION_4 15
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 16 && BOOST_PP_ITERATION_FINISH_4 >= 16
-#        define BOOST_PP_ITERATION_4 16
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 16 && NDNBOOST_PP_ITERATION_FINISH_4 >= 16
+#        define NDNBOOST_PP_ITERATION_4 16
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 17 && BOOST_PP_ITERATION_FINISH_4 >= 17
-#        define BOOST_PP_ITERATION_4 17
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 17 && NDNBOOST_PP_ITERATION_FINISH_4 >= 17
+#        define NDNBOOST_PP_ITERATION_4 17
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 18 && BOOST_PP_ITERATION_FINISH_4 >= 18
-#        define BOOST_PP_ITERATION_4 18
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 18 && NDNBOOST_PP_ITERATION_FINISH_4 >= 18
+#        define NDNBOOST_PP_ITERATION_4 18
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 19 && BOOST_PP_ITERATION_FINISH_4 >= 19
-#        define BOOST_PP_ITERATION_4 19
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 19 && NDNBOOST_PP_ITERATION_FINISH_4 >= 19
+#        define NDNBOOST_PP_ITERATION_4 19
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 20 && BOOST_PP_ITERATION_FINISH_4 >= 20
-#        define BOOST_PP_ITERATION_4 20
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 20 && NDNBOOST_PP_ITERATION_FINISH_4 >= 20
+#        define NDNBOOST_PP_ITERATION_4 20
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 21 && BOOST_PP_ITERATION_FINISH_4 >= 21
-#        define BOOST_PP_ITERATION_4 21
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 21 && NDNBOOST_PP_ITERATION_FINISH_4 >= 21
+#        define NDNBOOST_PP_ITERATION_4 21
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 22 && BOOST_PP_ITERATION_FINISH_4 >= 22
-#        define BOOST_PP_ITERATION_4 22
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 22 && NDNBOOST_PP_ITERATION_FINISH_4 >= 22
+#        define NDNBOOST_PP_ITERATION_4 22
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 23 && BOOST_PP_ITERATION_FINISH_4 >= 23
-#        define BOOST_PP_ITERATION_4 23
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 23 && NDNBOOST_PP_ITERATION_FINISH_4 >= 23
+#        define NDNBOOST_PP_ITERATION_4 23
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 24 && BOOST_PP_ITERATION_FINISH_4 >= 24
-#        define BOOST_PP_ITERATION_4 24
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 24 && NDNBOOST_PP_ITERATION_FINISH_4 >= 24
+#        define NDNBOOST_PP_ITERATION_4 24
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 25 && BOOST_PP_ITERATION_FINISH_4 >= 25
-#        define BOOST_PP_ITERATION_4 25
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 25 && NDNBOOST_PP_ITERATION_FINISH_4 >= 25
+#        define NDNBOOST_PP_ITERATION_4 25
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 26 && BOOST_PP_ITERATION_FINISH_4 >= 26
-#        define BOOST_PP_ITERATION_4 26
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 26 && NDNBOOST_PP_ITERATION_FINISH_4 >= 26
+#        define NDNBOOST_PP_ITERATION_4 26
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 27 && BOOST_PP_ITERATION_FINISH_4 >= 27
-#        define BOOST_PP_ITERATION_4 27
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 27 && NDNBOOST_PP_ITERATION_FINISH_4 >= 27
+#        define NDNBOOST_PP_ITERATION_4 27
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 28 && BOOST_PP_ITERATION_FINISH_4 >= 28
-#        define BOOST_PP_ITERATION_4 28
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 28 && NDNBOOST_PP_ITERATION_FINISH_4 >= 28
+#        define NDNBOOST_PP_ITERATION_4 28
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 29 && BOOST_PP_ITERATION_FINISH_4 >= 29
-#        define BOOST_PP_ITERATION_4 29
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 29 && NDNBOOST_PP_ITERATION_FINISH_4 >= 29
+#        define NDNBOOST_PP_ITERATION_4 29
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 30 && BOOST_PP_ITERATION_FINISH_4 >= 30
-#        define BOOST_PP_ITERATION_4 30
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 30 && NDNBOOST_PP_ITERATION_FINISH_4 >= 30
+#        define NDNBOOST_PP_ITERATION_4 30
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 31 && BOOST_PP_ITERATION_FINISH_4 >= 31
-#        define BOOST_PP_ITERATION_4 31
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 31 && NDNBOOST_PP_ITERATION_FINISH_4 >= 31
+#        define NDNBOOST_PP_ITERATION_4 31
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 32 && BOOST_PP_ITERATION_FINISH_4 >= 32
-#        define BOOST_PP_ITERATION_4 32
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 32 && NDNBOOST_PP_ITERATION_FINISH_4 >= 32
+#        define NDNBOOST_PP_ITERATION_4 32
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 33 && BOOST_PP_ITERATION_FINISH_4 >= 33
-#        define BOOST_PP_ITERATION_4 33
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 33 && NDNBOOST_PP_ITERATION_FINISH_4 >= 33
+#        define NDNBOOST_PP_ITERATION_4 33
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 34 && BOOST_PP_ITERATION_FINISH_4 >= 34
-#        define BOOST_PP_ITERATION_4 34
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 34 && NDNBOOST_PP_ITERATION_FINISH_4 >= 34
+#        define NDNBOOST_PP_ITERATION_4 34
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 35 && BOOST_PP_ITERATION_FINISH_4 >= 35
-#        define BOOST_PP_ITERATION_4 35
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 35 && NDNBOOST_PP_ITERATION_FINISH_4 >= 35
+#        define NDNBOOST_PP_ITERATION_4 35
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 36 && BOOST_PP_ITERATION_FINISH_4 >= 36
-#        define BOOST_PP_ITERATION_4 36
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 36 && NDNBOOST_PP_ITERATION_FINISH_4 >= 36
+#        define NDNBOOST_PP_ITERATION_4 36
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 37 && BOOST_PP_ITERATION_FINISH_4 >= 37
-#        define BOOST_PP_ITERATION_4 37
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 37 && NDNBOOST_PP_ITERATION_FINISH_4 >= 37
+#        define NDNBOOST_PP_ITERATION_4 37
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 38 && BOOST_PP_ITERATION_FINISH_4 >= 38
-#        define BOOST_PP_ITERATION_4 38
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 38 && NDNBOOST_PP_ITERATION_FINISH_4 >= 38
+#        define NDNBOOST_PP_ITERATION_4 38
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 39 && BOOST_PP_ITERATION_FINISH_4 >= 39
-#        define BOOST_PP_ITERATION_4 39
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 39 && NDNBOOST_PP_ITERATION_FINISH_4 >= 39
+#        define NDNBOOST_PP_ITERATION_4 39
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 40 && BOOST_PP_ITERATION_FINISH_4 >= 40
-#        define BOOST_PP_ITERATION_4 40
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 40 && NDNBOOST_PP_ITERATION_FINISH_4 >= 40
+#        define NDNBOOST_PP_ITERATION_4 40
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 41 && BOOST_PP_ITERATION_FINISH_4 >= 41
-#        define BOOST_PP_ITERATION_4 41
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 41 && NDNBOOST_PP_ITERATION_FINISH_4 >= 41
+#        define NDNBOOST_PP_ITERATION_4 41
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 42 && BOOST_PP_ITERATION_FINISH_4 >= 42
-#        define BOOST_PP_ITERATION_4 42
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 42 && NDNBOOST_PP_ITERATION_FINISH_4 >= 42
+#        define NDNBOOST_PP_ITERATION_4 42
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 43 && BOOST_PP_ITERATION_FINISH_4 >= 43
-#        define BOOST_PP_ITERATION_4 43
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 43 && NDNBOOST_PP_ITERATION_FINISH_4 >= 43
+#        define NDNBOOST_PP_ITERATION_4 43
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 44 && BOOST_PP_ITERATION_FINISH_4 >= 44
-#        define BOOST_PP_ITERATION_4 44
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 44 && NDNBOOST_PP_ITERATION_FINISH_4 >= 44
+#        define NDNBOOST_PP_ITERATION_4 44
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 45 && BOOST_PP_ITERATION_FINISH_4 >= 45
-#        define BOOST_PP_ITERATION_4 45
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 45 && NDNBOOST_PP_ITERATION_FINISH_4 >= 45
+#        define NDNBOOST_PP_ITERATION_4 45
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 46 && BOOST_PP_ITERATION_FINISH_4 >= 46
-#        define BOOST_PP_ITERATION_4 46
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 46 && NDNBOOST_PP_ITERATION_FINISH_4 >= 46
+#        define NDNBOOST_PP_ITERATION_4 46
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 47 && BOOST_PP_ITERATION_FINISH_4 >= 47
-#        define BOOST_PP_ITERATION_4 47
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 47 && NDNBOOST_PP_ITERATION_FINISH_4 >= 47
+#        define NDNBOOST_PP_ITERATION_4 47
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 48 && BOOST_PP_ITERATION_FINISH_4 >= 48
-#        define BOOST_PP_ITERATION_4 48
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 48 && NDNBOOST_PP_ITERATION_FINISH_4 >= 48
+#        define NDNBOOST_PP_ITERATION_4 48
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 49 && BOOST_PP_ITERATION_FINISH_4 >= 49
-#        define BOOST_PP_ITERATION_4 49
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 49 && NDNBOOST_PP_ITERATION_FINISH_4 >= 49
+#        define NDNBOOST_PP_ITERATION_4 49
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 50 && BOOST_PP_ITERATION_FINISH_4 >= 50
-#        define BOOST_PP_ITERATION_4 50
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 50 && NDNBOOST_PP_ITERATION_FINISH_4 >= 50
+#        define NDNBOOST_PP_ITERATION_4 50
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 51 && BOOST_PP_ITERATION_FINISH_4 >= 51
-#        define BOOST_PP_ITERATION_4 51
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 51 && NDNBOOST_PP_ITERATION_FINISH_4 >= 51
+#        define NDNBOOST_PP_ITERATION_4 51
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 52 && BOOST_PP_ITERATION_FINISH_4 >= 52
-#        define BOOST_PP_ITERATION_4 52
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 52 && NDNBOOST_PP_ITERATION_FINISH_4 >= 52
+#        define NDNBOOST_PP_ITERATION_4 52
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 53 && BOOST_PP_ITERATION_FINISH_4 >= 53
-#        define BOOST_PP_ITERATION_4 53
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 53 && NDNBOOST_PP_ITERATION_FINISH_4 >= 53
+#        define NDNBOOST_PP_ITERATION_4 53
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 54 && BOOST_PP_ITERATION_FINISH_4 >= 54
-#        define BOOST_PP_ITERATION_4 54
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 54 && NDNBOOST_PP_ITERATION_FINISH_4 >= 54
+#        define NDNBOOST_PP_ITERATION_4 54
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 55 && BOOST_PP_ITERATION_FINISH_4 >= 55
-#        define BOOST_PP_ITERATION_4 55
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 55 && NDNBOOST_PP_ITERATION_FINISH_4 >= 55
+#        define NDNBOOST_PP_ITERATION_4 55
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 56 && BOOST_PP_ITERATION_FINISH_4 >= 56
-#        define BOOST_PP_ITERATION_4 56
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 56 && NDNBOOST_PP_ITERATION_FINISH_4 >= 56
+#        define NDNBOOST_PP_ITERATION_4 56
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 57 && BOOST_PP_ITERATION_FINISH_4 >= 57
-#        define BOOST_PP_ITERATION_4 57
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 57 && NDNBOOST_PP_ITERATION_FINISH_4 >= 57
+#        define NDNBOOST_PP_ITERATION_4 57
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 58 && BOOST_PP_ITERATION_FINISH_4 >= 58
-#        define BOOST_PP_ITERATION_4 58
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 58 && NDNBOOST_PP_ITERATION_FINISH_4 >= 58
+#        define NDNBOOST_PP_ITERATION_4 58
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 59 && BOOST_PP_ITERATION_FINISH_4 >= 59
-#        define BOOST_PP_ITERATION_4 59
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 59 && NDNBOOST_PP_ITERATION_FINISH_4 >= 59
+#        define NDNBOOST_PP_ITERATION_4 59
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 60 && BOOST_PP_ITERATION_FINISH_4 >= 60
-#        define BOOST_PP_ITERATION_4 60
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 60 && NDNBOOST_PP_ITERATION_FINISH_4 >= 60
+#        define NDNBOOST_PP_ITERATION_4 60
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 61 && BOOST_PP_ITERATION_FINISH_4 >= 61
-#        define BOOST_PP_ITERATION_4 61
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 61 && NDNBOOST_PP_ITERATION_FINISH_4 >= 61
+#        define NDNBOOST_PP_ITERATION_4 61
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 62 && BOOST_PP_ITERATION_FINISH_4 >= 62
-#        define BOOST_PP_ITERATION_4 62
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 62 && NDNBOOST_PP_ITERATION_FINISH_4 >= 62
+#        define NDNBOOST_PP_ITERATION_4 62
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 63 && BOOST_PP_ITERATION_FINISH_4 >= 63
-#        define BOOST_PP_ITERATION_4 63
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 63 && NDNBOOST_PP_ITERATION_FINISH_4 >= 63
+#        define NDNBOOST_PP_ITERATION_4 63
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 64 && BOOST_PP_ITERATION_FINISH_4 >= 64
-#        define BOOST_PP_ITERATION_4 64
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 64 && NDNBOOST_PP_ITERATION_FINISH_4 >= 64
+#        define NDNBOOST_PP_ITERATION_4 64
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 65 && BOOST_PP_ITERATION_FINISH_4 >= 65
-#        define BOOST_PP_ITERATION_4 65
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 65 && NDNBOOST_PP_ITERATION_FINISH_4 >= 65
+#        define NDNBOOST_PP_ITERATION_4 65
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 66 && BOOST_PP_ITERATION_FINISH_4 >= 66
-#        define BOOST_PP_ITERATION_4 66
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 66 && NDNBOOST_PP_ITERATION_FINISH_4 >= 66
+#        define NDNBOOST_PP_ITERATION_4 66
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 67 && BOOST_PP_ITERATION_FINISH_4 >= 67
-#        define BOOST_PP_ITERATION_4 67
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 67 && NDNBOOST_PP_ITERATION_FINISH_4 >= 67
+#        define NDNBOOST_PP_ITERATION_4 67
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 68 && BOOST_PP_ITERATION_FINISH_4 >= 68
-#        define BOOST_PP_ITERATION_4 68
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 68 && NDNBOOST_PP_ITERATION_FINISH_4 >= 68
+#        define NDNBOOST_PP_ITERATION_4 68
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 69 && BOOST_PP_ITERATION_FINISH_4 >= 69
-#        define BOOST_PP_ITERATION_4 69
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 69 && NDNBOOST_PP_ITERATION_FINISH_4 >= 69
+#        define NDNBOOST_PP_ITERATION_4 69
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 70 && BOOST_PP_ITERATION_FINISH_4 >= 70
-#        define BOOST_PP_ITERATION_4 70
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 70 && NDNBOOST_PP_ITERATION_FINISH_4 >= 70
+#        define NDNBOOST_PP_ITERATION_4 70
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 71 && BOOST_PP_ITERATION_FINISH_4 >= 71
-#        define BOOST_PP_ITERATION_4 71
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 71 && NDNBOOST_PP_ITERATION_FINISH_4 >= 71
+#        define NDNBOOST_PP_ITERATION_4 71
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 72 && BOOST_PP_ITERATION_FINISH_4 >= 72
-#        define BOOST_PP_ITERATION_4 72
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 72 && NDNBOOST_PP_ITERATION_FINISH_4 >= 72
+#        define NDNBOOST_PP_ITERATION_4 72
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 73 && BOOST_PP_ITERATION_FINISH_4 >= 73
-#        define BOOST_PP_ITERATION_4 73
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 73 && NDNBOOST_PP_ITERATION_FINISH_4 >= 73
+#        define NDNBOOST_PP_ITERATION_4 73
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 74 && BOOST_PP_ITERATION_FINISH_4 >= 74
-#        define BOOST_PP_ITERATION_4 74
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 74 && NDNBOOST_PP_ITERATION_FINISH_4 >= 74
+#        define NDNBOOST_PP_ITERATION_4 74
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 75 && BOOST_PP_ITERATION_FINISH_4 >= 75
-#        define BOOST_PP_ITERATION_4 75
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 75 && NDNBOOST_PP_ITERATION_FINISH_4 >= 75
+#        define NDNBOOST_PP_ITERATION_4 75
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 76 && BOOST_PP_ITERATION_FINISH_4 >= 76
-#        define BOOST_PP_ITERATION_4 76
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 76 && NDNBOOST_PP_ITERATION_FINISH_4 >= 76
+#        define NDNBOOST_PP_ITERATION_4 76
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 77 && BOOST_PP_ITERATION_FINISH_4 >= 77
-#        define BOOST_PP_ITERATION_4 77
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 77 && NDNBOOST_PP_ITERATION_FINISH_4 >= 77
+#        define NDNBOOST_PP_ITERATION_4 77
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 78 && BOOST_PP_ITERATION_FINISH_4 >= 78
-#        define BOOST_PP_ITERATION_4 78
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 78 && NDNBOOST_PP_ITERATION_FINISH_4 >= 78
+#        define NDNBOOST_PP_ITERATION_4 78
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 79 && BOOST_PP_ITERATION_FINISH_4 >= 79
-#        define BOOST_PP_ITERATION_4 79
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 79 && NDNBOOST_PP_ITERATION_FINISH_4 >= 79
+#        define NDNBOOST_PP_ITERATION_4 79
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 80 && BOOST_PP_ITERATION_FINISH_4 >= 80
-#        define BOOST_PP_ITERATION_4 80
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 80 && NDNBOOST_PP_ITERATION_FINISH_4 >= 80
+#        define NDNBOOST_PP_ITERATION_4 80
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 81 && BOOST_PP_ITERATION_FINISH_4 >= 81
-#        define BOOST_PP_ITERATION_4 81
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 81 && NDNBOOST_PP_ITERATION_FINISH_4 >= 81
+#        define NDNBOOST_PP_ITERATION_4 81
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 82 && BOOST_PP_ITERATION_FINISH_4 >= 82
-#        define BOOST_PP_ITERATION_4 82
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 82 && NDNBOOST_PP_ITERATION_FINISH_4 >= 82
+#        define NDNBOOST_PP_ITERATION_4 82
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 83 && BOOST_PP_ITERATION_FINISH_4 >= 83
-#        define BOOST_PP_ITERATION_4 83
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 83 && NDNBOOST_PP_ITERATION_FINISH_4 >= 83
+#        define NDNBOOST_PP_ITERATION_4 83
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 84 && BOOST_PP_ITERATION_FINISH_4 >= 84
-#        define BOOST_PP_ITERATION_4 84
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 84 && NDNBOOST_PP_ITERATION_FINISH_4 >= 84
+#        define NDNBOOST_PP_ITERATION_4 84
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 85 && BOOST_PP_ITERATION_FINISH_4 >= 85
-#        define BOOST_PP_ITERATION_4 85
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 85 && NDNBOOST_PP_ITERATION_FINISH_4 >= 85
+#        define NDNBOOST_PP_ITERATION_4 85
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 86 && BOOST_PP_ITERATION_FINISH_4 >= 86
-#        define BOOST_PP_ITERATION_4 86
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 86 && NDNBOOST_PP_ITERATION_FINISH_4 >= 86
+#        define NDNBOOST_PP_ITERATION_4 86
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 87 && BOOST_PP_ITERATION_FINISH_4 >= 87
-#        define BOOST_PP_ITERATION_4 87
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 87 && NDNBOOST_PP_ITERATION_FINISH_4 >= 87
+#        define NDNBOOST_PP_ITERATION_4 87
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 88 && BOOST_PP_ITERATION_FINISH_4 >= 88
-#        define BOOST_PP_ITERATION_4 88
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 88 && NDNBOOST_PP_ITERATION_FINISH_4 >= 88
+#        define NDNBOOST_PP_ITERATION_4 88
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 89 && BOOST_PP_ITERATION_FINISH_4 >= 89
-#        define BOOST_PP_ITERATION_4 89
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 89 && NDNBOOST_PP_ITERATION_FINISH_4 >= 89
+#        define NDNBOOST_PP_ITERATION_4 89
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 90 && BOOST_PP_ITERATION_FINISH_4 >= 90
-#        define BOOST_PP_ITERATION_4 90
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 90 && NDNBOOST_PP_ITERATION_FINISH_4 >= 90
+#        define NDNBOOST_PP_ITERATION_4 90
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 91 && BOOST_PP_ITERATION_FINISH_4 >= 91
-#        define BOOST_PP_ITERATION_4 91
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 91 && NDNBOOST_PP_ITERATION_FINISH_4 >= 91
+#        define NDNBOOST_PP_ITERATION_4 91
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 92 && BOOST_PP_ITERATION_FINISH_4 >= 92
-#        define BOOST_PP_ITERATION_4 92
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 92 && NDNBOOST_PP_ITERATION_FINISH_4 >= 92
+#        define NDNBOOST_PP_ITERATION_4 92
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 93 && BOOST_PP_ITERATION_FINISH_4 >= 93
-#        define BOOST_PP_ITERATION_4 93
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 93 && NDNBOOST_PP_ITERATION_FINISH_4 >= 93
+#        define NDNBOOST_PP_ITERATION_4 93
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 94 && BOOST_PP_ITERATION_FINISH_4 >= 94
-#        define BOOST_PP_ITERATION_4 94
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 94 && NDNBOOST_PP_ITERATION_FINISH_4 >= 94
+#        define NDNBOOST_PP_ITERATION_4 94
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 95 && BOOST_PP_ITERATION_FINISH_4 >= 95
-#        define BOOST_PP_ITERATION_4 95
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 95 && NDNBOOST_PP_ITERATION_FINISH_4 >= 95
+#        define NDNBOOST_PP_ITERATION_4 95
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 96 && BOOST_PP_ITERATION_FINISH_4 >= 96
-#        define BOOST_PP_ITERATION_4 96
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 96 && NDNBOOST_PP_ITERATION_FINISH_4 >= 96
+#        define NDNBOOST_PP_ITERATION_4 96
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 97 && BOOST_PP_ITERATION_FINISH_4 >= 97
-#        define BOOST_PP_ITERATION_4 97
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 97 && NDNBOOST_PP_ITERATION_FINISH_4 >= 97
+#        define NDNBOOST_PP_ITERATION_4 97
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 98 && BOOST_PP_ITERATION_FINISH_4 >= 98
-#        define BOOST_PP_ITERATION_4 98
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 98 && NDNBOOST_PP_ITERATION_FINISH_4 >= 98
+#        define NDNBOOST_PP_ITERATION_4 98
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 99 && BOOST_PP_ITERATION_FINISH_4 >= 99
-#        define BOOST_PP_ITERATION_4 99
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 99 && NDNBOOST_PP_ITERATION_FINISH_4 >= 99
+#        define NDNBOOST_PP_ITERATION_4 99
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 100 && BOOST_PP_ITERATION_FINISH_4 >= 100
-#        define BOOST_PP_ITERATION_4 100
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 100 && NDNBOOST_PP_ITERATION_FINISH_4 >= 100
+#        define NDNBOOST_PP_ITERATION_4 100
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 101 && BOOST_PP_ITERATION_FINISH_4 >= 101
-#        define BOOST_PP_ITERATION_4 101
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 101 && NDNBOOST_PP_ITERATION_FINISH_4 >= 101
+#        define NDNBOOST_PP_ITERATION_4 101
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 102 && BOOST_PP_ITERATION_FINISH_4 >= 102
-#        define BOOST_PP_ITERATION_4 102
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 102 && NDNBOOST_PP_ITERATION_FINISH_4 >= 102
+#        define NDNBOOST_PP_ITERATION_4 102
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 103 && BOOST_PP_ITERATION_FINISH_4 >= 103
-#        define BOOST_PP_ITERATION_4 103
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 103 && NDNBOOST_PP_ITERATION_FINISH_4 >= 103
+#        define NDNBOOST_PP_ITERATION_4 103
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 104 && BOOST_PP_ITERATION_FINISH_4 >= 104
-#        define BOOST_PP_ITERATION_4 104
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 104 && NDNBOOST_PP_ITERATION_FINISH_4 >= 104
+#        define NDNBOOST_PP_ITERATION_4 104
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 105 && BOOST_PP_ITERATION_FINISH_4 >= 105
-#        define BOOST_PP_ITERATION_4 105
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 105 && NDNBOOST_PP_ITERATION_FINISH_4 >= 105
+#        define NDNBOOST_PP_ITERATION_4 105
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 106 && BOOST_PP_ITERATION_FINISH_4 >= 106
-#        define BOOST_PP_ITERATION_4 106
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 106 && NDNBOOST_PP_ITERATION_FINISH_4 >= 106
+#        define NDNBOOST_PP_ITERATION_4 106
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 107 && BOOST_PP_ITERATION_FINISH_4 >= 107
-#        define BOOST_PP_ITERATION_4 107
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 107 && NDNBOOST_PP_ITERATION_FINISH_4 >= 107
+#        define NDNBOOST_PP_ITERATION_4 107
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 108 && BOOST_PP_ITERATION_FINISH_4 >= 108
-#        define BOOST_PP_ITERATION_4 108
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 108 && NDNBOOST_PP_ITERATION_FINISH_4 >= 108
+#        define NDNBOOST_PP_ITERATION_4 108
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 109 && BOOST_PP_ITERATION_FINISH_4 >= 109
-#        define BOOST_PP_ITERATION_4 109
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 109 && NDNBOOST_PP_ITERATION_FINISH_4 >= 109
+#        define NDNBOOST_PP_ITERATION_4 109
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 110 && BOOST_PP_ITERATION_FINISH_4 >= 110
-#        define BOOST_PP_ITERATION_4 110
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 110 && NDNBOOST_PP_ITERATION_FINISH_4 >= 110
+#        define NDNBOOST_PP_ITERATION_4 110
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 111 && BOOST_PP_ITERATION_FINISH_4 >= 111
-#        define BOOST_PP_ITERATION_4 111
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 111 && NDNBOOST_PP_ITERATION_FINISH_4 >= 111
+#        define NDNBOOST_PP_ITERATION_4 111
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 112 && BOOST_PP_ITERATION_FINISH_4 >= 112
-#        define BOOST_PP_ITERATION_4 112
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 112 && NDNBOOST_PP_ITERATION_FINISH_4 >= 112
+#        define NDNBOOST_PP_ITERATION_4 112
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 113 && BOOST_PP_ITERATION_FINISH_4 >= 113
-#        define BOOST_PP_ITERATION_4 113
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 113 && NDNBOOST_PP_ITERATION_FINISH_4 >= 113
+#        define NDNBOOST_PP_ITERATION_4 113
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 114 && BOOST_PP_ITERATION_FINISH_4 >= 114
-#        define BOOST_PP_ITERATION_4 114
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 114 && NDNBOOST_PP_ITERATION_FINISH_4 >= 114
+#        define NDNBOOST_PP_ITERATION_4 114
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 115 && BOOST_PP_ITERATION_FINISH_4 >= 115
-#        define BOOST_PP_ITERATION_4 115
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 115 && NDNBOOST_PP_ITERATION_FINISH_4 >= 115
+#        define NDNBOOST_PP_ITERATION_4 115
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 116 && BOOST_PP_ITERATION_FINISH_4 >= 116
-#        define BOOST_PP_ITERATION_4 116
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 116 && NDNBOOST_PP_ITERATION_FINISH_4 >= 116
+#        define NDNBOOST_PP_ITERATION_4 116
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 117 && BOOST_PP_ITERATION_FINISH_4 >= 117
-#        define BOOST_PP_ITERATION_4 117
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 117 && NDNBOOST_PP_ITERATION_FINISH_4 >= 117
+#        define NDNBOOST_PP_ITERATION_4 117
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 118 && BOOST_PP_ITERATION_FINISH_4 >= 118
-#        define BOOST_PP_ITERATION_4 118
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 118 && NDNBOOST_PP_ITERATION_FINISH_4 >= 118
+#        define NDNBOOST_PP_ITERATION_4 118
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 119 && BOOST_PP_ITERATION_FINISH_4 >= 119
-#        define BOOST_PP_ITERATION_4 119
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 119 && NDNBOOST_PP_ITERATION_FINISH_4 >= 119
+#        define NDNBOOST_PP_ITERATION_4 119
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 120 && BOOST_PP_ITERATION_FINISH_4 >= 120
-#        define BOOST_PP_ITERATION_4 120
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 120 && NDNBOOST_PP_ITERATION_FINISH_4 >= 120
+#        define NDNBOOST_PP_ITERATION_4 120
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 121 && BOOST_PP_ITERATION_FINISH_4 >= 121
-#        define BOOST_PP_ITERATION_4 121
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 121 && NDNBOOST_PP_ITERATION_FINISH_4 >= 121
+#        define NDNBOOST_PP_ITERATION_4 121
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 122 && BOOST_PP_ITERATION_FINISH_4 >= 122
-#        define BOOST_PP_ITERATION_4 122
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 122 && NDNBOOST_PP_ITERATION_FINISH_4 >= 122
+#        define NDNBOOST_PP_ITERATION_4 122
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 123 && BOOST_PP_ITERATION_FINISH_4 >= 123
-#        define BOOST_PP_ITERATION_4 123
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 123 && NDNBOOST_PP_ITERATION_FINISH_4 >= 123
+#        define NDNBOOST_PP_ITERATION_4 123
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 124 && BOOST_PP_ITERATION_FINISH_4 >= 124
-#        define BOOST_PP_ITERATION_4 124
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 124 && NDNBOOST_PP_ITERATION_FINISH_4 >= 124
+#        define NDNBOOST_PP_ITERATION_4 124
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 125 && BOOST_PP_ITERATION_FINISH_4 >= 125
-#        define BOOST_PP_ITERATION_4 125
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 125 && NDNBOOST_PP_ITERATION_FINISH_4 >= 125
+#        define NDNBOOST_PP_ITERATION_4 125
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 126 && BOOST_PP_ITERATION_FINISH_4 >= 126
-#        define BOOST_PP_ITERATION_4 126
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 126 && NDNBOOST_PP_ITERATION_FINISH_4 >= 126
+#        define NDNBOOST_PP_ITERATION_4 126
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 127 && BOOST_PP_ITERATION_FINISH_4 >= 127
-#        define BOOST_PP_ITERATION_4 127
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 127 && NDNBOOST_PP_ITERATION_FINISH_4 >= 127
+#        define NDNBOOST_PP_ITERATION_4 127
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 128 && BOOST_PP_ITERATION_FINISH_4 >= 128
-#        define BOOST_PP_ITERATION_4 128
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 128 && NDNBOOST_PP_ITERATION_FINISH_4 >= 128
+#        define NDNBOOST_PP_ITERATION_4 128
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 129 && BOOST_PP_ITERATION_FINISH_4 >= 129
-#        define BOOST_PP_ITERATION_4 129
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 129 && NDNBOOST_PP_ITERATION_FINISH_4 >= 129
+#        define NDNBOOST_PP_ITERATION_4 129
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 130 && BOOST_PP_ITERATION_FINISH_4 >= 130
-#        define BOOST_PP_ITERATION_4 130
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 130 && NDNBOOST_PP_ITERATION_FINISH_4 >= 130
+#        define NDNBOOST_PP_ITERATION_4 130
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 131 && BOOST_PP_ITERATION_FINISH_4 >= 131
-#        define BOOST_PP_ITERATION_4 131
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 131 && NDNBOOST_PP_ITERATION_FINISH_4 >= 131
+#        define NDNBOOST_PP_ITERATION_4 131
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 132 && BOOST_PP_ITERATION_FINISH_4 >= 132
-#        define BOOST_PP_ITERATION_4 132
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 132 && NDNBOOST_PP_ITERATION_FINISH_4 >= 132
+#        define NDNBOOST_PP_ITERATION_4 132
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 133 && BOOST_PP_ITERATION_FINISH_4 >= 133
-#        define BOOST_PP_ITERATION_4 133
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 133 && NDNBOOST_PP_ITERATION_FINISH_4 >= 133
+#        define NDNBOOST_PP_ITERATION_4 133
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 134 && BOOST_PP_ITERATION_FINISH_4 >= 134
-#        define BOOST_PP_ITERATION_4 134
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 134 && NDNBOOST_PP_ITERATION_FINISH_4 >= 134
+#        define NDNBOOST_PP_ITERATION_4 134
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 135 && BOOST_PP_ITERATION_FINISH_4 >= 135
-#        define BOOST_PP_ITERATION_4 135
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 135 && NDNBOOST_PP_ITERATION_FINISH_4 >= 135
+#        define NDNBOOST_PP_ITERATION_4 135
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 136 && BOOST_PP_ITERATION_FINISH_4 >= 136
-#        define BOOST_PP_ITERATION_4 136
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 136 && NDNBOOST_PP_ITERATION_FINISH_4 >= 136
+#        define NDNBOOST_PP_ITERATION_4 136
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 137 && BOOST_PP_ITERATION_FINISH_4 >= 137
-#        define BOOST_PP_ITERATION_4 137
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 137 && NDNBOOST_PP_ITERATION_FINISH_4 >= 137
+#        define NDNBOOST_PP_ITERATION_4 137
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 138 && BOOST_PP_ITERATION_FINISH_4 >= 138
-#        define BOOST_PP_ITERATION_4 138
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 138 && NDNBOOST_PP_ITERATION_FINISH_4 >= 138
+#        define NDNBOOST_PP_ITERATION_4 138
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 139 && BOOST_PP_ITERATION_FINISH_4 >= 139
-#        define BOOST_PP_ITERATION_4 139
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 139 && NDNBOOST_PP_ITERATION_FINISH_4 >= 139
+#        define NDNBOOST_PP_ITERATION_4 139
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 140 && BOOST_PP_ITERATION_FINISH_4 >= 140
-#        define BOOST_PP_ITERATION_4 140
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 140 && NDNBOOST_PP_ITERATION_FINISH_4 >= 140
+#        define NDNBOOST_PP_ITERATION_4 140
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 141 && BOOST_PP_ITERATION_FINISH_4 >= 141
-#        define BOOST_PP_ITERATION_4 141
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 141 && NDNBOOST_PP_ITERATION_FINISH_4 >= 141
+#        define NDNBOOST_PP_ITERATION_4 141
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 142 && BOOST_PP_ITERATION_FINISH_4 >= 142
-#        define BOOST_PP_ITERATION_4 142
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 142 && NDNBOOST_PP_ITERATION_FINISH_4 >= 142
+#        define NDNBOOST_PP_ITERATION_4 142
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 143 && BOOST_PP_ITERATION_FINISH_4 >= 143
-#        define BOOST_PP_ITERATION_4 143
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 143 && NDNBOOST_PP_ITERATION_FINISH_4 >= 143
+#        define NDNBOOST_PP_ITERATION_4 143
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 144 && BOOST_PP_ITERATION_FINISH_4 >= 144
-#        define BOOST_PP_ITERATION_4 144
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 144 && NDNBOOST_PP_ITERATION_FINISH_4 >= 144
+#        define NDNBOOST_PP_ITERATION_4 144
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 145 && BOOST_PP_ITERATION_FINISH_4 >= 145
-#        define BOOST_PP_ITERATION_4 145
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 145 && NDNBOOST_PP_ITERATION_FINISH_4 >= 145
+#        define NDNBOOST_PP_ITERATION_4 145
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 146 && BOOST_PP_ITERATION_FINISH_4 >= 146
-#        define BOOST_PP_ITERATION_4 146
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 146 && NDNBOOST_PP_ITERATION_FINISH_4 >= 146
+#        define NDNBOOST_PP_ITERATION_4 146
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 147 && BOOST_PP_ITERATION_FINISH_4 >= 147
-#        define BOOST_PP_ITERATION_4 147
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 147 && NDNBOOST_PP_ITERATION_FINISH_4 >= 147
+#        define NDNBOOST_PP_ITERATION_4 147
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 148 && BOOST_PP_ITERATION_FINISH_4 >= 148
-#        define BOOST_PP_ITERATION_4 148
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 148 && NDNBOOST_PP_ITERATION_FINISH_4 >= 148
+#        define NDNBOOST_PP_ITERATION_4 148
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 149 && BOOST_PP_ITERATION_FINISH_4 >= 149
-#        define BOOST_PP_ITERATION_4 149
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 149 && NDNBOOST_PP_ITERATION_FINISH_4 >= 149
+#        define NDNBOOST_PP_ITERATION_4 149
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 150 && BOOST_PP_ITERATION_FINISH_4 >= 150
-#        define BOOST_PP_ITERATION_4 150
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 150 && NDNBOOST_PP_ITERATION_FINISH_4 >= 150
+#        define NDNBOOST_PP_ITERATION_4 150
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 151 && BOOST_PP_ITERATION_FINISH_4 >= 151
-#        define BOOST_PP_ITERATION_4 151
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 151 && NDNBOOST_PP_ITERATION_FINISH_4 >= 151
+#        define NDNBOOST_PP_ITERATION_4 151
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 152 && BOOST_PP_ITERATION_FINISH_4 >= 152
-#        define BOOST_PP_ITERATION_4 152
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 152 && NDNBOOST_PP_ITERATION_FINISH_4 >= 152
+#        define NDNBOOST_PP_ITERATION_4 152
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 153 && BOOST_PP_ITERATION_FINISH_4 >= 153
-#        define BOOST_PP_ITERATION_4 153
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 153 && NDNBOOST_PP_ITERATION_FINISH_4 >= 153
+#        define NDNBOOST_PP_ITERATION_4 153
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 154 && BOOST_PP_ITERATION_FINISH_4 >= 154
-#        define BOOST_PP_ITERATION_4 154
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 154 && NDNBOOST_PP_ITERATION_FINISH_4 >= 154
+#        define NDNBOOST_PP_ITERATION_4 154
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 155 && BOOST_PP_ITERATION_FINISH_4 >= 155
-#        define BOOST_PP_ITERATION_4 155
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 155 && NDNBOOST_PP_ITERATION_FINISH_4 >= 155
+#        define NDNBOOST_PP_ITERATION_4 155
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 156 && BOOST_PP_ITERATION_FINISH_4 >= 156
-#        define BOOST_PP_ITERATION_4 156
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 156 && NDNBOOST_PP_ITERATION_FINISH_4 >= 156
+#        define NDNBOOST_PP_ITERATION_4 156
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 157 && BOOST_PP_ITERATION_FINISH_4 >= 157
-#        define BOOST_PP_ITERATION_4 157
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 157 && NDNBOOST_PP_ITERATION_FINISH_4 >= 157
+#        define NDNBOOST_PP_ITERATION_4 157
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 158 && BOOST_PP_ITERATION_FINISH_4 >= 158
-#        define BOOST_PP_ITERATION_4 158
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 158 && NDNBOOST_PP_ITERATION_FINISH_4 >= 158
+#        define NDNBOOST_PP_ITERATION_4 158
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 159 && BOOST_PP_ITERATION_FINISH_4 >= 159
-#        define BOOST_PP_ITERATION_4 159
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 159 && NDNBOOST_PP_ITERATION_FINISH_4 >= 159
+#        define NDNBOOST_PP_ITERATION_4 159
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 160 && BOOST_PP_ITERATION_FINISH_4 >= 160
-#        define BOOST_PP_ITERATION_4 160
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 160 && NDNBOOST_PP_ITERATION_FINISH_4 >= 160
+#        define NDNBOOST_PP_ITERATION_4 160
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 161 && BOOST_PP_ITERATION_FINISH_4 >= 161
-#        define BOOST_PP_ITERATION_4 161
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 161 && NDNBOOST_PP_ITERATION_FINISH_4 >= 161
+#        define NDNBOOST_PP_ITERATION_4 161
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 162 && BOOST_PP_ITERATION_FINISH_4 >= 162
-#        define BOOST_PP_ITERATION_4 162
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 162 && NDNBOOST_PP_ITERATION_FINISH_4 >= 162
+#        define NDNBOOST_PP_ITERATION_4 162
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 163 && BOOST_PP_ITERATION_FINISH_4 >= 163
-#        define BOOST_PP_ITERATION_4 163
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 163 && NDNBOOST_PP_ITERATION_FINISH_4 >= 163
+#        define NDNBOOST_PP_ITERATION_4 163
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 164 && BOOST_PP_ITERATION_FINISH_4 >= 164
-#        define BOOST_PP_ITERATION_4 164
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 164 && NDNBOOST_PP_ITERATION_FINISH_4 >= 164
+#        define NDNBOOST_PP_ITERATION_4 164
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 165 && BOOST_PP_ITERATION_FINISH_4 >= 165
-#        define BOOST_PP_ITERATION_4 165
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 165 && NDNBOOST_PP_ITERATION_FINISH_4 >= 165
+#        define NDNBOOST_PP_ITERATION_4 165
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 166 && BOOST_PP_ITERATION_FINISH_4 >= 166
-#        define BOOST_PP_ITERATION_4 166
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 166 && NDNBOOST_PP_ITERATION_FINISH_4 >= 166
+#        define NDNBOOST_PP_ITERATION_4 166
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 167 && BOOST_PP_ITERATION_FINISH_4 >= 167
-#        define BOOST_PP_ITERATION_4 167
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 167 && NDNBOOST_PP_ITERATION_FINISH_4 >= 167
+#        define NDNBOOST_PP_ITERATION_4 167
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 168 && BOOST_PP_ITERATION_FINISH_4 >= 168
-#        define BOOST_PP_ITERATION_4 168
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 168 && NDNBOOST_PP_ITERATION_FINISH_4 >= 168
+#        define NDNBOOST_PP_ITERATION_4 168
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 169 && BOOST_PP_ITERATION_FINISH_4 >= 169
-#        define BOOST_PP_ITERATION_4 169
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 169 && NDNBOOST_PP_ITERATION_FINISH_4 >= 169
+#        define NDNBOOST_PP_ITERATION_4 169
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 170 && BOOST_PP_ITERATION_FINISH_4 >= 170
-#        define BOOST_PP_ITERATION_4 170
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 170 && NDNBOOST_PP_ITERATION_FINISH_4 >= 170
+#        define NDNBOOST_PP_ITERATION_4 170
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 171 && BOOST_PP_ITERATION_FINISH_4 >= 171
-#        define BOOST_PP_ITERATION_4 171
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 171 && NDNBOOST_PP_ITERATION_FINISH_4 >= 171
+#        define NDNBOOST_PP_ITERATION_4 171
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 172 && BOOST_PP_ITERATION_FINISH_4 >= 172
-#        define BOOST_PP_ITERATION_4 172
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 172 && NDNBOOST_PP_ITERATION_FINISH_4 >= 172
+#        define NDNBOOST_PP_ITERATION_4 172
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 173 && BOOST_PP_ITERATION_FINISH_4 >= 173
-#        define BOOST_PP_ITERATION_4 173
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 173 && NDNBOOST_PP_ITERATION_FINISH_4 >= 173
+#        define NDNBOOST_PP_ITERATION_4 173
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 174 && BOOST_PP_ITERATION_FINISH_4 >= 174
-#        define BOOST_PP_ITERATION_4 174
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 174 && NDNBOOST_PP_ITERATION_FINISH_4 >= 174
+#        define NDNBOOST_PP_ITERATION_4 174
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 175 && BOOST_PP_ITERATION_FINISH_4 >= 175
-#        define BOOST_PP_ITERATION_4 175
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 175 && NDNBOOST_PP_ITERATION_FINISH_4 >= 175
+#        define NDNBOOST_PP_ITERATION_4 175
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 176 && BOOST_PP_ITERATION_FINISH_4 >= 176
-#        define BOOST_PP_ITERATION_4 176
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 176 && NDNBOOST_PP_ITERATION_FINISH_4 >= 176
+#        define NDNBOOST_PP_ITERATION_4 176
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 177 && BOOST_PP_ITERATION_FINISH_4 >= 177
-#        define BOOST_PP_ITERATION_4 177
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 177 && NDNBOOST_PP_ITERATION_FINISH_4 >= 177
+#        define NDNBOOST_PP_ITERATION_4 177
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 178 && BOOST_PP_ITERATION_FINISH_4 >= 178
-#        define BOOST_PP_ITERATION_4 178
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 178 && NDNBOOST_PP_ITERATION_FINISH_4 >= 178
+#        define NDNBOOST_PP_ITERATION_4 178
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 179 && BOOST_PP_ITERATION_FINISH_4 >= 179
-#        define BOOST_PP_ITERATION_4 179
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 179 && NDNBOOST_PP_ITERATION_FINISH_4 >= 179
+#        define NDNBOOST_PP_ITERATION_4 179
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 180 && BOOST_PP_ITERATION_FINISH_4 >= 180
-#        define BOOST_PP_ITERATION_4 180
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 180 && NDNBOOST_PP_ITERATION_FINISH_4 >= 180
+#        define NDNBOOST_PP_ITERATION_4 180
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 181 && BOOST_PP_ITERATION_FINISH_4 >= 181
-#        define BOOST_PP_ITERATION_4 181
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 181 && NDNBOOST_PP_ITERATION_FINISH_4 >= 181
+#        define NDNBOOST_PP_ITERATION_4 181
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 182 && BOOST_PP_ITERATION_FINISH_4 >= 182
-#        define BOOST_PP_ITERATION_4 182
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 182 && NDNBOOST_PP_ITERATION_FINISH_4 >= 182
+#        define NDNBOOST_PP_ITERATION_4 182
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 183 && BOOST_PP_ITERATION_FINISH_4 >= 183
-#        define BOOST_PP_ITERATION_4 183
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 183 && NDNBOOST_PP_ITERATION_FINISH_4 >= 183
+#        define NDNBOOST_PP_ITERATION_4 183
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 184 && BOOST_PP_ITERATION_FINISH_4 >= 184
-#        define BOOST_PP_ITERATION_4 184
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 184 && NDNBOOST_PP_ITERATION_FINISH_4 >= 184
+#        define NDNBOOST_PP_ITERATION_4 184
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 185 && BOOST_PP_ITERATION_FINISH_4 >= 185
-#        define BOOST_PP_ITERATION_4 185
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 185 && NDNBOOST_PP_ITERATION_FINISH_4 >= 185
+#        define NDNBOOST_PP_ITERATION_4 185
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 186 && BOOST_PP_ITERATION_FINISH_4 >= 186
-#        define BOOST_PP_ITERATION_4 186
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 186 && NDNBOOST_PP_ITERATION_FINISH_4 >= 186
+#        define NDNBOOST_PP_ITERATION_4 186
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 187 && BOOST_PP_ITERATION_FINISH_4 >= 187
-#        define BOOST_PP_ITERATION_4 187
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 187 && NDNBOOST_PP_ITERATION_FINISH_4 >= 187
+#        define NDNBOOST_PP_ITERATION_4 187
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 188 && BOOST_PP_ITERATION_FINISH_4 >= 188
-#        define BOOST_PP_ITERATION_4 188
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 188 && NDNBOOST_PP_ITERATION_FINISH_4 >= 188
+#        define NDNBOOST_PP_ITERATION_4 188
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 189 && BOOST_PP_ITERATION_FINISH_4 >= 189
-#        define BOOST_PP_ITERATION_4 189
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 189 && NDNBOOST_PP_ITERATION_FINISH_4 >= 189
+#        define NDNBOOST_PP_ITERATION_4 189
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 190 && BOOST_PP_ITERATION_FINISH_4 >= 190
-#        define BOOST_PP_ITERATION_4 190
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 190 && NDNBOOST_PP_ITERATION_FINISH_4 >= 190
+#        define NDNBOOST_PP_ITERATION_4 190
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 191 && BOOST_PP_ITERATION_FINISH_4 >= 191
-#        define BOOST_PP_ITERATION_4 191
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 191 && NDNBOOST_PP_ITERATION_FINISH_4 >= 191
+#        define NDNBOOST_PP_ITERATION_4 191
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 192 && BOOST_PP_ITERATION_FINISH_4 >= 192
-#        define BOOST_PP_ITERATION_4 192
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 192 && NDNBOOST_PP_ITERATION_FINISH_4 >= 192
+#        define NDNBOOST_PP_ITERATION_4 192
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 193 && BOOST_PP_ITERATION_FINISH_4 >= 193
-#        define BOOST_PP_ITERATION_4 193
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 193 && NDNBOOST_PP_ITERATION_FINISH_4 >= 193
+#        define NDNBOOST_PP_ITERATION_4 193
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 194 && BOOST_PP_ITERATION_FINISH_4 >= 194
-#        define BOOST_PP_ITERATION_4 194
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 194 && NDNBOOST_PP_ITERATION_FINISH_4 >= 194
+#        define NDNBOOST_PP_ITERATION_4 194
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 195 && BOOST_PP_ITERATION_FINISH_4 >= 195
-#        define BOOST_PP_ITERATION_4 195
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 195 && NDNBOOST_PP_ITERATION_FINISH_4 >= 195
+#        define NDNBOOST_PP_ITERATION_4 195
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 196 && BOOST_PP_ITERATION_FINISH_4 >= 196
-#        define BOOST_PP_ITERATION_4 196
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 196 && NDNBOOST_PP_ITERATION_FINISH_4 >= 196
+#        define NDNBOOST_PP_ITERATION_4 196
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 197 && BOOST_PP_ITERATION_FINISH_4 >= 197
-#        define BOOST_PP_ITERATION_4 197
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 197 && NDNBOOST_PP_ITERATION_FINISH_4 >= 197
+#        define NDNBOOST_PP_ITERATION_4 197
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 198 && BOOST_PP_ITERATION_FINISH_4 >= 198
-#        define BOOST_PP_ITERATION_4 198
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 198 && NDNBOOST_PP_ITERATION_FINISH_4 >= 198
+#        define NDNBOOST_PP_ITERATION_4 198
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 199 && BOOST_PP_ITERATION_FINISH_4 >= 199
-#        define BOOST_PP_ITERATION_4 199
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 199 && NDNBOOST_PP_ITERATION_FINISH_4 >= 199
+#        define NDNBOOST_PP_ITERATION_4 199
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 200 && BOOST_PP_ITERATION_FINISH_4 >= 200
-#        define BOOST_PP_ITERATION_4 200
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 200 && NDNBOOST_PP_ITERATION_FINISH_4 >= 200
+#        define NDNBOOST_PP_ITERATION_4 200
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 201 && BOOST_PP_ITERATION_FINISH_4 >= 201
-#        define BOOST_PP_ITERATION_4 201
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 201 && NDNBOOST_PP_ITERATION_FINISH_4 >= 201
+#        define NDNBOOST_PP_ITERATION_4 201
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 202 && BOOST_PP_ITERATION_FINISH_4 >= 202
-#        define BOOST_PP_ITERATION_4 202
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 202 && NDNBOOST_PP_ITERATION_FINISH_4 >= 202
+#        define NDNBOOST_PP_ITERATION_4 202
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 203 && BOOST_PP_ITERATION_FINISH_4 >= 203
-#        define BOOST_PP_ITERATION_4 203
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 203 && NDNBOOST_PP_ITERATION_FINISH_4 >= 203
+#        define NDNBOOST_PP_ITERATION_4 203
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 204 && BOOST_PP_ITERATION_FINISH_4 >= 204
-#        define BOOST_PP_ITERATION_4 204
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 204 && NDNBOOST_PP_ITERATION_FINISH_4 >= 204
+#        define NDNBOOST_PP_ITERATION_4 204
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 205 && BOOST_PP_ITERATION_FINISH_4 >= 205
-#        define BOOST_PP_ITERATION_4 205
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 205 && NDNBOOST_PP_ITERATION_FINISH_4 >= 205
+#        define NDNBOOST_PP_ITERATION_4 205
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 206 && BOOST_PP_ITERATION_FINISH_4 >= 206
-#        define BOOST_PP_ITERATION_4 206
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 206 && NDNBOOST_PP_ITERATION_FINISH_4 >= 206
+#        define NDNBOOST_PP_ITERATION_4 206
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 207 && BOOST_PP_ITERATION_FINISH_4 >= 207
-#        define BOOST_PP_ITERATION_4 207
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 207 && NDNBOOST_PP_ITERATION_FINISH_4 >= 207
+#        define NDNBOOST_PP_ITERATION_4 207
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 208 && BOOST_PP_ITERATION_FINISH_4 >= 208
-#        define BOOST_PP_ITERATION_4 208
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 208 && NDNBOOST_PP_ITERATION_FINISH_4 >= 208
+#        define NDNBOOST_PP_ITERATION_4 208
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 209 && BOOST_PP_ITERATION_FINISH_4 >= 209
-#        define BOOST_PP_ITERATION_4 209
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 209 && NDNBOOST_PP_ITERATION_FINISH_4 >= 209
+#        define NDNBOOST_PP_ITERATION_4 209
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 210 && BOOST_PP_ITERATION_FINISH_4 >= 210
-#        define BOOST_PP_ITERATION_4 210
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 210 && NDNBOOST_PP_ITERATION_FINISH_4 >= 210
+#        define NDNBOOST_PP_ITERATION_4 210
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 211 && BOOST_PP_ITERATION_FINISH_4 >= 211
-#        define BOOST_PP_ITERATION_4 211
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 211 && NDNBOOST_PP_ITERATION_FINISH_4 >= 211
+#        define NDNBOOST_PP_ITERATION_4 211
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 212 && BOOST_PP_ITERATION_FINISH_4 >= 212
-#        define BOOST_PP_ITERATION_4 212
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 212 && NDNBOOST_PP_ITERATION_FINISH_4 >= 212
+#        define NDNBOOST_PP_ITERATION_4 212
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 213 && BOOST_PP_ITERATION_FINISH_4 >= 213
-#        define BOOST_PP_ITERATION_4 213
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 213 && NDNBOOST_PP_ITERATION_FINISH_4 >= 213
+#        define NDNBOOST_PP_ITERATION_4 213
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 214 && BOOST_PP_ITERATION_FINISH_4 >= 214
-#        define BOOST_PP_ITERATION_4 214
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 214 && NDNBOOST_PP_ITERATION_FINISH_4 >= 214
+#        define NDNBOOST_PP_ITERATION_4 214
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 215 && BOOST_PP_ITERATION_FINISH_4 >= 215
-#        define BOOST_PP_ITERATION_4 215
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 215 && NDNBOOST_PP_ITERATION_FINISH_4 >= 215
+#        define NDNBOOST_PP_ITERATION_4 215
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 216 && BOOST_PP_ITERATION_FINISH_4 >= 216
-#        define BOOST_PP_ITERATION_4 216
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 216 && NDNBOOST_PP_ITERATION_FINISH_4 >= 216
+#        define NDNBOOST_PP_ITERATION_4 216
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 217 && BOOST_PP_ITERATION_FINISH_4 >= 217
-#        define BOOST_PP_ITERATION_4 217
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 217 && NDNBOOST_PP_ITERATION_FINISH_4 >= 217
+#        define NDNBOOST_PP_ITERATION_4 217
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 218 && BOOST_PP_ITERATION_FINISH_4 >= 218
-#        define BOOST_PP_ITERATION_4 218
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 218 && NDNBOOST_PP_ITERATION_FINISH_4 >= 218
+#        define NDNBOOST_PP_ITERATION_4 218
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 219 && BOOST_PP_ITERATION_FINISH_4 >= 219
-#        define BOOST_PP_ITERATION_4 219
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 219 && NDNBOOST_PP_ITERATION_FINISH_4 >= 219
+#        define NDNBOOST_PP_ITERATION_4 219
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 220 && BOOST_PP_ITERATION_FINISH_4 >= 220
-#        define BOOST_PP_ITERATION_4 220
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 220 && NDNBOOST_PP_ITERATION_FINISH_4 >= 220
+#        define NDNBOOST_PP_ITERATION_4 220
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 221 && BOOST_PP_ITERATION_FINISH_4 >= 221
-#        define BOOST_PP_ITERATION_4 221
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 221 && NDNBOOST_PP_ITERATION_FINISH_4 >= 221
+#        define NDNBOOST_PP_ITERATION_4 221
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 222 && BOOST_PP_ITERATION_FINISH_4 >= 222
-#        define BOOST_PP_ITERATION_4 222
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 222 && NDNBOOST_PP_ITERATION_FINISH_4 >= 222
+#        define NDNBOOST_PP_ITERATION_4 222
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 223 && BOOST_PP_ITERATION_FINISH_4 >= 223
-#        define BOOST_PP_ITERATION_4 223
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 223 && NDNBOOST_PP_ITERATION_FINISH_4 >= 223
+#        define NDNBOOST_PP_ITERATION_4 223
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 224 && BOOST_PP_ITERATION_FINISH_4 >= 224
-#        define BOOST_PP_ITERATION_4 224
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 224 && NDNBOOST_PP_ITERATION_FINISH_4 >= 224
+#        define NDNBOOST_PP_ITERATION_4 224
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 225 && BOOST_PP_ITERATION_FINISH_4 >= 225
-#        define BOOST_PP_ITERATION_4 225
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 225 && NDNBOOST_PP_ITERATION_FINISH_4 >= 225
+#        define NDNBOOST_PP_ITERATION_4 225
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 226 && BOOST_PP_ITERATION_FINISH_4 >= 226
-#        define BOOST_PP_ITERATION_4 226
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 226 && NDNBOOST_PP_ITERATION_FINISH_4 >= 226
+#        define NDNBOOST_PP_ITERATION_4 226
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 227 && BOOST_PP_ITERATION_FINISH_4 >= 227
-#        define BOOST_PP_ITERATION_4 227
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 227 && NDNBOOST_PP_ITERATION_FINISH_4 >= 227
+#        define NDNBOOST_PP_ITERATION_4 227
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 228 && BOOST_PP_ITERATION_FINISH_4 >= 228
-#        define BOOST_PP_ITERATION_4 228
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 228 && NDNBOOST_PP_ITERATION_FINISH_4 >= 228
+#        define NDNBOOST_PP_ITERATION_4 228
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 229 && BOOST_PP_ITERATION_FINISH_4 >= 229
-#        define BOOST_PP_ITERATION_4 229
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 229 && NDNBOOST_PP_ITERATION_FINISH_4 >= 229
+#        define NDNBOOST_PP_ITERATION_4 229
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 230 && BOOST_PP_ITERATION_FINISH_4 >= 230
-#        define BOOST_PP_ITERATION_4 230
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 230 && NDNBOOST_PP_ITERATION_FINISH_4 >= 230
+#        define NDNBOOST_PP_ITERATION_4 230
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 231 && BOOST_PP_ITERATION_FINISH_4 >= 231
-#        define BOOST_PP_ITERATION_4 231
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 231 && NDNBOOST_PP_ITERATION_FINISH_4 >= 231
+#        define NDNBOOST_PP_ITERATION_4 231
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 232 && BOOST_PP_ITERATION_FINISH_4 >= 232
-#        define BOOST_PP_ITERATION_4 232
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 232 && NDNBOOST_PP_ITERATION_FINISH_4 >= 232
+#        define NDNBOOST_PP_ITERATION_4 232
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 233 && BOOST_PP_ITERATION_FINISH_4 >= 233
-#        define BOOST_PP_ITERATION_4 233
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 233 && NDNBOOST_PP_ITERATION_FINISH_4 >= 233
+#        define NDNBOOST_PP_ITERATION_4 233
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 234 && BOOST_PP_ITERATION_FINISH_4 >= 234
-#        define BOOST_PP_ITERATION_4 234
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 234 && NDNBOOST_PP_ITERATION_FINISH_4 >= 234
+#        define NDNBOOST_PP_ITERATION_4 234
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 235 && BOOST_PP_ITERATION_FINISH_4 >= 235
-#        define BOOST_PP_ITERATION_4 235
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 235 && NDNBOOST_PP_ITERATION_FINISH_4 >= 235
+#        define NDNBOOST_PP_ITERATION_4 235
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 236 && BOOST_PP_ITERATION_FINISH_4 >= 236
-#        define BOOST_PP_ITERATION_4 236
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 236 && NDNBOOST_PP_ITERATION_FINISH_4 >= 236
+#        define NDNBOOST_PP_ITERATION_4 236
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 237 && BOOST_PP_ITERATION_FINISH_4 >= 237
-#        define BOOST_PP_ITERATION_4 237
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 237 && NDNBOOST_PP_ITERATION_FINISH_4 >= 237
+#        define NDNBOOST_PP_ITERATION_4 237
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 238 && BOOST_PP_ITERATION_FINISH_4 >= 238
-#        define BOOST_PP_ITERATION_4 238
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 238 && NDNBOOST_PP_ITERATION_FINISH_4 >= 238
+#        define NDNBOOST_PP_ITERATION_4 238
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 239 && BOOST_PP_ITERATION_FINISH_4 >= 239
-#        define BOOST_PP_ITERATION_4 239
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 239 && NDNBOOST_PP_ITERATION_FINISH_4 >= 239
+#        define NDNBOOST_PP_ITERATION_4 239
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 240 && BOOST_PP_ITERATION_FINISH_4 >= 240
-#        define BOOST_PP_ITERATION_4 240
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 240 && NDNBOOST_PP_ITERATION_FINISH_4 >= 240
+#        define NDNBOOST_PP_ITERATION_4 240
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 241 && BOOST_PP_ITERATION_FINISH_4 >= 241
-#        define BOOST_PP_ITERATION_4 241
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 241 && NDNBOOST_PP_ITERATION_FINISH_4 >= 241
+#        define NDNBOOST_PP_ITERATION_4 241
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 242 && BOOST_PP_ITERATION_FINISH_4 >= 242
-#        define BOOST_PP_ITERATION_4 242
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 242 && NDNBOOST_PP_ITERATION_FINISH_4 >= 242
+#        define NDNBOOST_PP_ITERATION_4 242
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 243 && BOOST_PP_ITERATION_FINISH_4 >= 243
-#        define BOOST_PP_ITERATION_4 243
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 243 && NDNBOOST_PP_ITERATION_FINISH_4 >= 243
+#        define NDNBOOST_PP_ITERATION_4 243
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 244 && BOOST_PP_ITERATION_FINISH_4 >= 244
-#        define BOOST_PP_ITERATION_4 244
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 244 && NDNBOOST_PP_ITERATION_FINISH_4 >= 244
+#        define NDNBOOST_PP_ITERATION_4 244
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 245 && BOOST_PP_ITERATION_FINISH_4 >= 245
-#        define BOOST_PP_ITERATION_4 245
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 245 && NDNBOOST_PP_ITERATION_FINISH_4 >= 245
+#        define NDNBOOST_PP_ITERATION_4 245
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 246 && BOOST_PP_ITERATION_FINISH_4 >= 246
-#        define BOOST_PP_ITERATION_4 246
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 246 && NDNBOOST_PP_ITERATION_FINISH_4 >= 246
+#        define NDNBOOST_PP_ITERATION_4 246
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 247 && BOOST_PP_ITERATION_FINISH_4 >= 247
-#        define BOOST_PP_ITERATION_4 247
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 247 && NDNBOOST_PP_ITERATION_FINISH_4 >= 247
+#        define NDNBOOST_PP_ITERATION_4 247
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 248 && BOOST_PP_ITERATION_FINISH_4 >= 248
-#        define BOOST_PP_ITERATION_4 248
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 248 && NDNBOOST_PP_ITERATION_FINISH_4 >= 248
+#        define NDNBOOST_PP_ITERATION_4 248
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 249 && BOOST_PP_ITERATION_FINISH_4 >= 249
-#        define BOOST_PP_ITERATION_4 249
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 249 && NDNBOOST_PP_ITERATION_FINISH_4 >= 249
+#        define NDNBOOST_PP_ITERATION_4 249
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 250 && BOOST_PP_ITERATION_FINISH_4 >= 250
-#        define BOOST_PP_ITERATION_4 250
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 250 && NDNBOOST_PP_ITERATION_FINISH_4 >= 250
+#        define NDNBOOST_PP_ITERATION_4 250
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 251 && BOOST_PP_ITERATION_FINISH_4 >= 251
-#        define BOOST_PP_ITERATION_4 251
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 251 && NDNBOOST_PP_ITERATION_FINISH_4 >= 251
+#        define NDNBOOST_PP_ITERATION_4 251
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 252 && BOOST_PP_ITERATION_FINISH_4 >= 252
-#        define BOOST_PP_ITERATION_4 252
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 252 && NDNBOOST_PP_ITERATION_FINISH_4 >= 252
+#        define NDNBOOST_PP_ITERATION_4 252
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 253 && BOOST_PP_ITERATION_FINISH_4 >= 253
-#        define BOOST_PP_ITERATION_4 253
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 253 && NDNBOOST_PP_ITERATION_FINISH_4 >= 253
+#        define NDNBOOST_PP_ITERATION_4 253
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 254 && BOOST_PP_ITERATION_FINISH_4 >= 254
-#        define BOOST_PP_ITERATION_4 254
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 254 && NDNBOOST_PP_ITERATION_FINISH_4 >= 254
+#        define NDNBOOST_PP_ITERATION_4 254
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 255 && BOOST_PP_ITERATION_FINISH_4 >= 255
-#        define BOOST_PP_ITERATION_4 255
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 255 && NDNBOOST_PP_ITERATION_FINISH_4 >= 255
+#        define NDNBOOST_PP_ITERATION_4 255
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
-#    if BOOST_PP_ITERATION_START_4 <= 256 && BOOST_PP_ITERATION_FINISH_4 >= 256
-#        define BOOST_PP_ITERATION_4 256
-#        include BOOST_PP_FILENAME_4
-#        undef BOOST_PP_ITERATION_4
+#    if NDNBOOST_PP_ITERATION_START_4 <= 256 && NDNBOOST_PP_ITERATION_FINISH_4 >= 256
+#        define NDNBOOST_PP_ITERATION_4 256
+#        include NDNBOOST_PP_FILENAME_4
+#        undef NDNBOOST_PP_ITERATION_4
 #    endif
 # endif
 #
-# undef BOOST_PP_ITERATION_DEPTH
-# define BOOST_PP_ITERATION_DEPTH() 3
+# undef NDNBOOST_PP_ITERATION_DEPTH
+# define NDNBOOST_PP_ITERATION_DEPTH() 3
 #
-# undef BOOST_PP_ITERATION_START_4
-# undef BOOST_PP_ITERATION_FINISH_4
-# undef BOOST_PP_FILENAME_4
+# undef NDNBOOST_PP_ITERATION_START_4
+# undef NDNBOOST_PP_ITERATION_FINISH_4
+# undef NDNBOOST_PP_FILENAME_4
 #
-# undef BOOST_PP_ITERATION_FLAGS_4
-# undef BOOST_PP_ITERATION_PARAMS_4
+# undef NDNBOOST_PP_ITERATION_FLAGS_4
+# undef NDNBOOST_PP_ITERATION_PARAMS_4
diff --git a/include/ndnboost/preprocessor/iteration/detail/iter/forward5.hpp b/include/ndnboost/preprocessor/iteration/detail/iter/forward5.hpp
index acefeea..e9febb1 100644
--- a/include/ndnboost/preprocessor/iteration/detail/iter/forward5.hpp
+++ b/include/ndnboost/preprocessor/iteration/detail/iter/forward5.hpp
@@ -9,1330 +9,1330 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# if defined(BOOST_PP_ITERATION_LIMITS)
-#    if !defined(BOOST_PP_FILENAME_5)
-#        error BOOST_PP_ERROR:  depth #5 filename is not defined
+# if defined(NDNBOOST_PP_ITERATION_LIMITS)
+#    if !defined(NDNBOOST_PP_FILENAME_5)
+#        error NDNBOOST_PP_ERROR:  depth #5 filename is not defined
 #    endif
-#    define BOOST_PP_VALUE BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_ITERATION_LIMITS)
+#    define NDNBOOST_PP_VALUE NDNBOOST_PP_TUPLE_ELEM(2, 0, NDNBOOST_PP_ITERATION_LIMITS)
 #    include <ndnboost/preprocessor/iteration/detail/bounds/lower5.hpp>
-#    define BOOST_PP_VALUE BOOST_PP_TUPLE_ELEM(2, 1, BOOST_PP_ITERATION_LIMITS)
+#    define NDNBOOST_PP_VALUE NDNBOOST_PP_TUPLE_ELEM(2, 1, NDNBOOST_PP_ITERATION_LIMITS)
 #    include <ndnboost/preprocessor/iteration/detail/bounds/upper5.hpp>
-#    define BOOST_PP_ITERATION_FLAGS_5() 0
-#    undef BOOST_PP_ITERATION_LIMITS
-# elif defined(BOOST_PP_ITERATION_PARAMS_5)
-#    define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(0, BOOST_PP_ITERATION_PARAMS_5)
+#    define NDNBOOST_PP_ITERATION_FLAGS_5() 0
+#    undef NDNBOOST_PP_ITERATION_LIMITS
+# elif defined(NDNBOOST_PP_ITERATION_PARAMS_5)
+#    define NDNBOOST_PP_VALUE NDNBOOST_PP_ARRAY_ELEM(0, NDNBOOST_PP_ITERATION_PARAMS_5)
 #    include <ndnboost/preprocessor/iteration/detail/bounds/lower5.hpp>
-#    define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(1, BOOST_PP_ITERATION_PARAMS_5)
+#    define NDNBOOST_PP_VALUE NDNBOOST_PP_ARRAY_ELEM(1, NDNBOOST_PP_ITERATION_PARAMS_5)
 #    include <ndnboost/preprocessor/iteration/detail/bounds/upper5.hpp>
-#    define BOOST_PP_FILENAME_5 BOOST_PP_ARRAY_ELEM(2, BOOST_PP_ITERATION_PARAMS_5)
-#    if BOOST_PP_ARRAY_SIZE(BOOST_PP_ITERATION_PARAMS_5) >= 4
-#        define BOOST_PP_ITERATION_FLAGS_5() BOOST_PP_ARRAY_ELEM(3, BOOST_PP_ITERATION_PARAMS_5)
+#    define NDNBOOST_PP_FILENAME_5 NDNBOOST_PP_ARRAY_ELEM(2, NDNBOOST_PP_ITERATION_PARAMS_5)
+#    if NDNBOOST_PP_ARRAY_SIZE(NDNBOOST_PP_ITERATION_PARAMS_5) >= 4
+#        define NDNBOOST_PP_ITERATION_FLAGS_5() NDNBOOST_PP_ARRAY_ELEM(3, NDNBOOST_PP_ITERATION_PARAMS_5)
 #    else
-#        define BOOST_PP_ITERATION_FLAGS_5() 0
+#        define NDNBOOST_PP_ITERATION_FLAGS_5() 0
 #    endif
 # else
-#    error BOOST_PP_ERROR:  depth #5 iteration boundaries or filename not defined
+#    error NDNBOOST_PP_ERROR:  depth #5 iteration boundaries or filename not defined
 # endif
 #
-# undef BOOST_PP_ITERATION_DEPTH
-# define BOOST_PP_ITERATION_DEPTH() 5
+# undef NDNBOOST_PP_ITERATION_DEPTH
+# define NDNBOOST_PP_ITERATION_DEPTH() 5
 #
-# if (BOOST_PP_ITERATION_START_5) > (BOOST_PP_ITERATION_FINISH_5)
+# if (NDNBOOST_PP_ITERATION_START_5) > (NDNBOOST_PP_ITERATION_FINISH_5)
 #    include <ndnboost/preprocessor/iteration/detail/iter/reverse5.hpp>
 # else
-#    if BOOST_PP_ITERATION_START_5 <= 0 && BOOST_PP_ITERATION_FINISH_5 >= 0
-#        define BOOST_PP_ITERATION_5 0
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 0 && NDNBOOST_PP_ITERATION_FINISH_5 >= 0
+#        define NDNBOOST_PP_ITERATION_5 0
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 1 && BOOST_PP_ITERATION_FINISH_5 >= 1
-#        define BOOST_PP_ITERATION_5 1
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 1 && NDNBOOST_PP_ITERATION_FINISH_5 >= 1
+#        define NDNBOOST_PP_ITERATION_5 1
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 2 && BOOST_PP_ITERATION_FINISH_5 >= 2
-#        define BOOST_PP_ITERATION_5 2
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 2 && NDNBOOST_PP_ITERATION_FINISH_5 >= 2
+#        define NDNBOOST_PP_ITERATION_5 2
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 3 && BOOST_PP_ITERATION_FINISH_5 >= 3
-#        define BOOST_PP_ITERATION_5 3
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 3 && NDNBOOST_PP_ITERATION_FINISH_5 >= 3
+#        define NDNBOOST_PP_ITERATION_5 3
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 4 && BOOST_PP_ITERATION_FINISH_5 >= 4
-#        define BOOST_PP_ITERATION_5 4
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 4 && NDNBOOST_PP_ITERATION_FINISH_5 >= 4
+#        define NDNBOOST_PP_ITERATION_5 4
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 5 && BOOST_PP_ITERATION_FINISH_5 >= 5
-#        define BOOST_PP_ITERATION_5 5
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 5 && NDNBOOST_PP_ITERATION_FINISH_5 >= 5
+#        define NDNBOOST_PP_ITERATION_5 5
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 6 && BOOST_PP_ITERATION_FINISH_5 >= 6
-#        define BOOST_PP_ITERATION_5 6
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 6 && NDNBOOST_PP_ITERATION_FINISH_5 >= 6
+#        define NDNBOOST_PP_ITERATION_5 6
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 7 && BOOST_PP_ITERATION_FINISH_5 >= 7
-#        define BOOST_PP_ITERATION_5 7
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 7 && NDNBOOST_PP_ITERATION_FINISH_5 >= 7
+#        define NDNBOOST_PP_ITERATION_5 7
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 8 && BOOST_PP_ITERATION_FINISH_5 >= 8
-#        define BOOST_PP_ITERATION_5 8
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 8 && NDNBOOST_PP_ITERATION_FINISH_5 >= 8
+#        define NDNBOOST_PP_ITERATION_5 8
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 9 && BOOST_PP_ITERATION_FINISH_5 >= 9
-#        define BOOST_PP_ITERATION_5 9
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 9 && NDNBOOST_PP_ITERATION_FINISH_5 >= 9
+#        define NDNBOOST_PP_ITERATION_5 9
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 10 && BOOST_PP_ITERATION_FINISH_5 >= 10
-#        define BOOST_PP_ITERATION_5 10
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 10 && NDNBOOST_PP_ITERATION_FINISH_5 >= 10
+#        define NDNBOOST_PP_ITERATION_5 10
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 11 && BOOST_PP_ITERATION_FINISH_5 >= 11
-#        define BOOST_PP_ITERATION_5 11
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 11 && NDNBOOST_PP_ITERATION_FINISH_5 >= 11
+#        define NDNBOOST_PP_ITERATION_5 11
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 12 && BOOST_PP_ITERATION_FINISH_5 >= 12
-#        define BOOST_PP_ITERATION_5 12
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 12 && NDNBOOST_PP_ITERATION_FINISH_5 >= 12
+#        define NDNBOOST_PP_ITERATION_5 12
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 13 && BOOST_PP_ITERATION_FINISH_5 >= 13
-#        define BOOST_PP_ITERATION_5 13
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 13 && NDNBOOST_PP_ITERATION_FINISH_5 >= 13
+#        define NDNBOOST_PP_ITERATION_5 13
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 14 && BOOST_PP_ITERATION_FINISH_5 >= 14
-#        define BOOST_PP_ITERATION_5 14
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 14 && NDNBOOST_PP_ITERATION_FINISH_5 >= 14
+#        define NDNBOOST_PP_ITERATION_5 14
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 15 && BOOST_PP_ITERATION_FINISH_5 >= 15
-#        define BOOST_PP_ITERATION_5 15
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 15 && NDNBOOST_PP_ITERATION_FINISH_5 >= 15
+#        define NDNBOOST_PP_ITERATION_5 15
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 16 && BOOST_PP_ITERATION_FINISH_5 >= 16
-#        define BOOST_PP_ITERATION_5 16
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 16 && NDNBOOST_PP_ITERATION_FINISH_5 >= 16
+#        define NDNBOOST_PP_ITERATION_5 16
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 17 && BOOST_PP_ITERATION_FINISH_5 >= 17
-#        define BOOST_PP_ITERATION_5 17
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 17 && NDNBOOST_PP_ITERATION_FINISH_5 >= 17
+#        define NDNBOOST_PP_ITERATION_5 17
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 18 && BOOST_PP_ITERATION_FINISH_5 >= 18
-#        define BOOST_PP_ITERATION_5 18
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 18 && NDNBOOST_PP_ITERATION_FINISH_5 >= 18
+#        define NDNBOOST_PP_ITERATION_5 18
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 19 && BOOST_PP_ITERATION_FINISH_5 >= 19
-#        define BOOST_PP_ITERATION_5 19
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 19 && NDNBOOST_PP_ITERATION_FINISH_5 >= 19
+#        define NDNBOOST_PP_ITERATION_5 19
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 20 && BOOST_PP_ITERATION_FINISH_5 >= 20
-#        define BOOST_PP_ITERATION_5 20
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 20 && NDNBOOST_PP_ITERATION_FINISH_5 >= 20
+#        define NDNBOOST_PP_ITERATION_5 20
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 21 && BOOST_PP_ITERATION_FINISH_5 >= 21
-#        define BOOST_PP_ITERATION_5 21
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 21 && NDNBOOST_PP_ITERATION_FINISH_5 >= 21
+#        define NDNBOOST_PP_ITERATION_5 21
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 22 && BOOST_PP_ITERATION_FINISH_5 >= 22
-#        define BOOST_PP_ITERATION_5 22
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 22 && NDNBOOST_PP_ITERATION_FINISH_5 >= 22
+#        define NDNBOOST_PP_ITERATION_5 22
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 23 && BOOST_PP_ITERATION_FINISH_5 >= 23
-#        define BOOST_PP_ITERATION_5 23
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 23 && NDNBOOST_PP_ITERATION_FINISH_5 >= 23
+#        define NDNBOOST_PP_ITERATION_5 23
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 24 && BOOST_PP_ITERATION_FINISH_5 >= 24
-#        define BOOST_PP_ITERATION_5 24
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 24 && NDNBOOST_PP_ITERATION_FINISH_5 >= 24
+#        define NDNBOOST_PP_ITERATION_5 24
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 25 && BOOST_PP_ITERATION_FINISH_5 >= 25
-#        define BOOST_PP_ITERATION_5 25
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 25 && NDNBOOST_PP_ITERATION_FINISH_5 >= 25
+#        define NDNBOOST_PP_ITERATION_5 25
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 26 && BOOST_PP_ITERATION_FINISH_5 >= 26
-#        define BOOST_PP_ITERATION_5 26
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 26 && NDNBOOST_PP_ITERATION_FINISH_5 >= 26
+#        define NDNBOOST_PP_ITERATION_5 26
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 27 && BOOST_PP_ITERATION_FINISH_5 >= 27
-#        define BOOST_PP_ITERATION_5 27
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 27 && NDNBOOST_PP_ITERATION_FINISH_5 >= 27
+#        define NDNBOOST_PP_ITERATION_5 27
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 28 && BOOST_PP_ITERATION_FINISH_5 >= 28
-#        define BOOST_PP_ITERATION_5 28
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 28 && NDNBOOST_PP_ITERATION_FINISH_5 >= 28
+#        define NDNBOOST_PP_ITERATION_5 28
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 29 && BOOST_PP_ITERATION_FINISH_5 >= 29
-#        define BOOST_PP_ITERATION_5 29
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 29 && NDNBOOST_PP_ITERATION_FINISH_5 >= 29
+#        define NDNBOOST_PP_ITERATION_5 29
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 30 && BOOST_PP_ITERATION_FINISH_5 >= 30
-#        define BOOST_PP_ITERATION_5 30
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 30 && NDNBOOST_PP_ITERATION_FINISH_5 >= 30
+#        define NDNBOOST_PP_ITERATION_5 30
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 31 && BOOST_PP_ITERATION_FINISH_5 >= 31
-#        define BOOST_PP_ITERATION_5 31
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 31 && NDNBOOST_PP_ITERATION_FINISH_5 >= 31
+#        define NDNBOOST_PP_ITERATION_5 31
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 32 && BOOST_PP_ITERATION_FINISH_5 >= 32
-#        define BOOST_PP_ITERATION_5 32
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 32 && NDNBOOST_PP_ITERATION_FINISH_5 >= 32
+#        define NDNBOOST_PP_ITERATION_5 32
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 33 && BOOST_PP_ITERATION_FINISH_5 >= 33
-#        define BOOST_PP_ITERATION_5 33
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 33 && NDNBOOST_PP_ITERATION_FINISH_5 >= 33
+#        define NDNBOOST_PP_ITERATION_5 33
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 34 && BOOST_PP_ITERATION_FINISH_5 >= 34
-#        define BOOST_PP_ITERATION_5 34
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 34 && NDNBOOST_PP_ITERATION_FINISH_5 >= 34
+#        define NDNBOOST_PP_ITERATION_5 34
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 35 && BOOST_PP_ITERATION_FINISH_5 >= 35
-#        define BOOST_PP_ITERATION_5 35
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 35 && NDNBOOST_PP_ITERATION_FINISH_5 >= 35
+#        define NDNBOOST_PP_ITERATION_5 35
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 36 && BOOST_PP_ITERATION_FINISH_5 >= 36
-#        define BOOST_PP_ITERATION_5 36
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 36 && NDNBOOST_PP_ITERATION_FINISH_5 >= 36
+#        define NDNBOOST_PP_ITERATION_5 36
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 37 && BOOST_PP_ITERATION_FINISH_5 >= 37
-#        define BOOST_PP_ITERATION_5 37
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 37 && NDNBOOST_PP_ITERATION_FINISH_5 >= 37
+#        define NDNBOOST_PP_ITERATION_5 37
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 38 && BOOST_PP_ITERATION_FINISH_5 >= 38
-#        define BOOST_PP_ITERATION_5 38
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 38 && NDNBOOST_PP_ITERATION_FINISH_5 >= 38
+#        define NDNBOOST_PP_ITERATION_5 38
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 39 && BOOST_PP_ITERATION_FINISH_5 >= 39
-#        define BOOST_PP_ITERATION_5 39
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 39 && NDNBOOST_PP_ITERATION_FINISH_5 >= 39
+#        define NDNBOOST_PP_ITERATION_5 39
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 40 && BOOST_PP_ITERATION_FINISH_5 >= 40
-#        define BOOST_PP_ITERATION_5 40
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 40 && NDNBOOST_PP_ITERATION_FINISH_5 >= 40
+#        define NDNBOOST_PP_ITERATION_5 40
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 41 && BOOST_PP_ITERATION_FINISH_5 >= 41
-#        define BOOST_PP_ITERATION_5 41
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 41 && NDNBOOST_PP_ITERATION_FINISH_5 >= 41
+#        define NDNBOOST_PP_ITERATION_5 41
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 42 && BOOST_PP_ITERATION_FINISH_5 >= 42
-#        define BOOST_PP_ITERATION_5 42
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 42 && NDNBOOST_PP_ITERATION_FINISH_5 >= 42
+#        define NDNBOOST_PP_ITERATION_5 42
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 43 && BOOST_PP_ITERATION_FINISH_5 >= 43
-#        define BOOST_PP_ITERATION_5 43
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 43 && NDNBOOST_PP_ITERATION_FINISH_5 >= 43
+#        define NDNBOOST_PP_ITERATION_5 43
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 44 && BOOST_PP_ITERATION_FINISH_5 >= 44
-#        define BOOST_PP_ITERATION_5 44
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 44 && NDNBOOST_PP_ITERATION_FINISH_5 >= 44
+#        define NDNBOOST_PP_ITERATION_5 44
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 45 && BOOST_PP_ITERATION_FINISH_5 >= 45
-#        define BOOST_PP_ITERATION_5 45
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 45 && NDNBOOST_PP_ITERATION_FINISH_5 >= 45
+#        define NDNBOOST_PP_ITERATION_5 45
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 46 && BOOST_PP_ITERATION_FINISH_5 >= 46
-#        define BOOST_PP_ITERATION_5 46
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 46 && NDNBOOST_PP_ITERATION_FINISH_5 >= 46
+#        define NDNBOOST_PP_ITERATION_5 46
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 47 && BOOST_PP_ITERATION_FINISH_5 >= 47
-#        define BOOST_PP_ITERATION_5 47
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 47 && NDNBOOST_PP_ITERATION_FINISH_5 >= 47
+#        define NDNBOOST_PP_ITERATION_5 47
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 48 && BOOST_PP_ITERATION_FINISH_5 >= 48
-#        define BOOST_PP_ITERATION_5 48
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 48 && NDNBOOST_PP_ITERATION_FINISH_5 >= 48
+#        define NDNBOOST_PP_ITERATION_5 48
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 49 && BOOST_PP_ITERATION_FINISH_5 >= 49
-#        define BOOST_PP_ITERATION_5 49
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 49 && NDNBOOST_PP_ITERATION_FINISH_5 >= 49
+#        define NDNBOOST_PP_ITERATION_5 49
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 50 && BOOST_PP_ITERATION_FINISH_5 >= 50
-#        define BOOST_PP_ITERATION_5 50
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 50 && NDNBOOST_PP_ITERATION_FINISH_5 >= 50
+#        define NDNBOOST_PP_ITERATION_5 50
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 51 && BOOST_PP_ITERATION_FINISH_5 >= 51
-#        define BOOST_PP_ITERATION_5 51
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 51 && NDNBOOST_PP_ITERATION_FINISH_5 >= 51
+#        define NDNBOOST_PP_ITERATION_5 51
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 52 && BOOST_PP_ITERATION_FINISH_5 >= 52
-#        define BOOST_PP_ITERATION_5 52
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 52 && NDNBOOST_PP_ITERATION_FINISH_5 >= 52
+#        define NDNBOOST_PP_ITERATION_5 52
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 53 && BOOST_PP_ITERATION_FINISH_5 >= 53
-#        define BOOST_PP_ITERATION_5 53
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 53 && NDNBOOST_PP_ITERATION_FINISH_5 >= 53
+#        define NDNBOOST_PP_ITERATION_5 53
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 54 && BOOST_PP_ITERATION_FINISH_5 >= 54
-#        define BOOST_PP_ITERATION_5 54
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 54 && NDNBOOST_PP_ITERATION_FINISH_5 >= 54
+#        define NDNBOOST_PP_ITERATION_5 54
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 55 && BOOST_PP_ITERATION_FINISH_5 >= 55
-#        define BOOST_PP_ITERATION_5 55
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 55 && NDNBOOST_PP_ITERATION_FINISH_5 >= 55
+#        define NDNBOOST_PP_ITERATION_5 55
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 56 && BOOST_PP_ITERATION_FINISH_5 >= 56
-#        define BOOST_PP_ITERATION_5 56
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 56 && NDNBOOST_PP_ITERATION_FINISH_5 >= 56
+#        define NDNBOOST_PP_ITERATION_5 56
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 57 && BOOST_PP_ITERATION_FINISH_5 >= 57
-#        define BOOST_PP_ITERATION_5 57
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 57 && NDNBOOST_PP_ITERATION_FINISH_5 >= 57
+#        define NDNBOOST_PP_ITERATION_5 57
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 58 && BOOST_PP_ITERATION_FINISH_5 >= 58
-#        define BOOST_PP_ITERATION_5 58
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 58 && NDNBOOST_PP_ITERATION_FINISH_5 >= 58
+#        define NDNBOOST_PP_ITERATION_5 58
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 59 && BOOST_PP_ITERATION_FINISH_5 >= 59
-#        define BOOST_PP_ITERATION_5 59
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 59 && NDNBOOST_PP_ITERATION_FINISH_5 >= 59
+#        define NDNBOOST_PP_ITERATION_5 59
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 60 && BOOST_PP_ITERATION_FINISH_5 >= 60
-#        define BOOST_PP_ITERATION_5 60
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 60 && NDNBOOST_PP_ITERATION_FINISH_5 >= 60
+#        define NDNBOOST_PP_ITERATION_5 60
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 61 && BOOST_PP_ITERATION_FINISH_5 >= 61
-#        define BOOST_PP_ITERATION_5 61
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 61 && NDNBOOST_PP_ITERATION_FINISH_5 >= 61
+#        define NDNBOOST_PP_ITERATION_5 61
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 62 && BOOST_PP_ITERATION_FINISH_5 >= 62
-#        define BOOST_PP_ITERATION_5 62
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 62 && NDNBOOST_PP_ITERATION_FINISH_5 >= 62
+#        define NDNBOOST_PP_ITERATION_5 62
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 63 && BOOST_PP_ITERATION_FINISH_5 >= 63
-#        define BOOST_PP_ITERATION_5 63
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 63 && NDNBOOST_PP_ITERATION_FINISH_5 >= 63
+#        define NDNBOOST_PP_ITERATION_5 63
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 64 && BOOST_PP_ITERATION_FINISH_5 >= 64
-#        define BOOST_PP_ITERATION_5 64
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 64 && NDNBOOST_PP_ITERATION_FINISH_5 >= 64
+#        define NDNBOOST_PP_ITERATION_5 64
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 65 && BOOST_PP_ITERATION_FINISH_5 >= 65
-#        define BOOST_PP_ITERATION_5 65
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 65 && NDNBOOST_PP_ITERATION_FINISH_5 >= 65
+#        define NDNBOOST_PP_ITERATION_5 65
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 66 && BOOST_PP_ITERATION_FINISH_5 >= 66
-#        define BOOST_PP_ITERATION_5 66
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 66 && NDNBOOST_PP_ITERATION_FINISH_5 >= 66
+#        define NDNBOOST_PP_ITERATION_5 66
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 67 && BOOST_PP_ITERATION_FINISH_5 >= 67
-#        define BOOST_PP_ITERATION_5 67
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 67 && NDNBOOST_PP_ITERATION_FINISH_5 >= 67
+#        define NDNBOOST_PP_ITERATION_5 67
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 68 && BOOST_PP_ITERATION_FINISH_5 >= 68
-#        define BOOST_PP_ITERATION_5 68
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 68 && NDNBOOST_PP_ITERATION_FINISH_5 >= 68
+#        define NDNBOOST_PP_ITERATION_5 68
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 69 && BOOST_PP_ITERATION_FINISH_5 >= 69
-#        define BOOST_PP_ITERATION_5 69
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 69 && NDNBOOST_PP_ITERATION_FINISH_5 >= 69
+#        define NDNBOOST_PP_ITERATION_5 69
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 70 && BOOST_PP_ITERATION_FINISH_5 >= 70
-#        define BOOST_PP_ITERATION_5 70
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 70 && NDNBOOST_PP_ITERATION_FINISH_5 >= 70
+#        define NDNBOOST_PP_ITERATION_5 70
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 71 && BOOST_PP_ITERATION_FINISH_5 >= 71
-#        define BOOST_PP_ITERATION_5 71
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 71 && NDNBOOST_PP_ITERATION_FINISH_5 >= 71
+#        define NDNBOOST_PP_ITERATION_5 71
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 72 && BOOST_PP_ITERATION_FINISH_5 >= 72
-#        define BOOST_PP_ITERATION_5 72
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 72 && NDNBOOST_PP_ITERATION_FINISH_5 >= 72
+#        define NDNBOOST_PP_ITERATION_5 72
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 73 && BOOST_PP_ITERATION_FINISH_5 >= 73
-#        define BOOST_PP_ITERATION_5 73
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 73 && NDNBOOST_PP_ITERATION_FINISH_5 >= 73
+#        define NDNBOOST_PP_ITERATION_5 73
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 74 && BOOST_PP_ITERATION_FINISH_5 >= 74
-#        define BOOST_PP_ITERATION_5 74
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 74 && NDNBOOST_PP_ITERATION_FINISH_5 >= 74
+#        define NDNBOOST_PP_ITERATION_5 74
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 75 && BOOST_PP_ITERATION_FINISH_5 >= 75
-#        define BOOST_PP_ITERATION_5 75
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 75 && NDNBOOST_PP_ITERATION_FINISH_5 >= 75
+#        define NDNBOOST_PP_ITERATION_5 75
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 76 && BOOST_PP_ITERATION_FINISH_5 >= 76
-#        define BOOST_PP_ITERATION_5 76
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 76 && NDNBOOST_PP_ITERATION_FINISH_5 >= 76
+#        define NDNBOOST_PP_ITERATION_5 76
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 77 && BOOST_PP_ITERATION_FINISH_5 >= 77
-#        define BOOST_PP_ITERATION_5 77
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 77 && NDNBOOST_PP_ITERATION_FINISH_5 >= 77
+#        define NDNBOOST_PP_ITERATION_5 77
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 78 && BOOST_PP_ITERATION_FINISH_5 >= 78
-#        define BOOST_PP_ITERATION_5 78
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 78 && NDNBOOST_PP_ITERATION_FINISH_5 >= 78
+#        define NDNBOOST_PP_ITERATION_5 78
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 79 && BOOST_PP_ITERATION_FINISH_5 >= 79
-#        define BOOST_PP_ITERATION_5 79
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 79 && NDNBOOST_PP_ITERATION_FINISH_5 >= 79
+#        define NDNBOOST_PP_ITERATION_5 79
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 80 && BOOST_PP_ITERATION_FINISH_5 >= 80
-#        define BOOST_PP_ITERATION_5 80
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 80 && NDNBOOST_PP_ITERATION_FINISH_5 >= 80
+#        define NDNBOOST_PP_ITERATION_5 80
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 81 && BOOST_PP_ITERATION_FINISH_5 >= 81
-#        define BOOST_PP_ITERATION_5 81
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 81 && NDNBOOST_PP_ITERATION_FINISH_5 >= 81
+#        define NDNBOOST_PP_ITERATION_5 81
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 82 && BOOST_PP_ITERATION_FINISH_5 >= 82
-#        define BOOST_PP_ITERATION_5 82
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 82 && NDNBOOST_PP_ITERATION_FINISH_5 >= 82
+#        define NDNBOOST_PP_ITERATION_5 82
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 83 && BOOST_PP_ITERATION_FINISH_5 >= 83
-#        define BOOST_PP_ITERATION_5 83
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 83 && NDNBOOST_PP_ITERATION_FINISH_5 >= 83
+#        define NDNBOOST_PP_ITERATION_5 83
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 84 && BOOST_PP_ITERATION_FINISH_5 >= 84
-#        define BOOST_PP_ITERATION_5 84
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 84 && NDNBOOST_PP_ITERATION_FINISH_5 >= 84
+#        define NDNBOOST_PP_ITERATION_5 84
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 85 && BOOST_PP_ITERATION_FINISH_5 >= 85
-#        define BOOST_PP_ITERATION_5 85
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 85 && NDNBOOST_PP_ITERATION_FINISH_5 >= 85
+#        define NDNBOOST_PP_ITERATION_5 85
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 86 && BOOST_PP_ITERATION_FINISH_5 >= 86
-#        define BOOST_PP_ITERATION_5 86
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 86 && NDNBOOST_PP_ITERATION_FINISH_5 >= 86
+#        define NDNBOOST_PP_ITERATION_5 86
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 87 && BOOST_PP_ITERATION_FINISH_5 >= 87
-#        define BOOST_PP_ITERATION_5 87
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 87 && NDNBOOST_PP_ITERATION_FINISH_5 >= 87
+#        define NDNBOOST_PP_ITERATION_5 87
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 88 && BOOST_PP_ITERATION_FINISH_5 >= 88
-#        define BOOST_PP_ITERATION_5 88
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 88 && NDNBOOST_PP_ITERATION_FINISH_5 >= 88
+#        define NDNBOOST_PP_ITERATION_5 88
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 89 && BOOST_PP_ITERATION_FINISH_5 >= 89
-#        define BOOST_PP_ITERATION_5 89
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 89 && NDNBOOST_PP_ITERATION_FINISH_5 >= 89
+#        define NDNBOOST_PP_ITERATION_5 89
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 90 && BOOST_PP_ITERATION_FINISH_5 >= 90
-#        define BOOST_PP_ITERATION_5 90
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 90 && NDNBOOST_PP_ITERATION_FINISH_5 >= 90
+#        define NDNBOOST_PP_ITERATION_5 90
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 91 && BOOST_PP_ITERATION_FINISH_5 >= 91
-#        define BOOST_PP_ITERATION_5 91
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 91 && NDNBOOST_PP_ITERATION_FINISH_5 >= 91
+#        define NDNBOOST_PP_ITERATION_5 91
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 92 && BOOST_PP_ITERATION_FINISH_5 >= 92
-#        define BOOST_PP_ITERATION_5 92
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 92 && NDNBOOST_PP_ITERATION_FINISH_5 >= 92
+#        define NDNBOOST_PP_ITERATION_5 92
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 93 && BOOST_PP_ITERATION_FINISH_5 >= 93
-#        define BOOST_PP_ITERATION_5 93
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 93 && NDNBOOST_PP_ITERATION_FINISH_5 >= 93
+#        define NDNBOOST_PP_ITERATION_5 93
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 94 && BOOST_PP_ITERATION_FINISH_5 >= 94
-#        define BOOST_PP_ITERATION_5 94
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 94 && NDNBOOST_PP_ITERATION_FINISH_5 >= 94
+#        define NDNBOOST_PP_ITERATION_5 94
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 95 && BOOST_PP_ITERATION_FINISH_5 >= 95
-#        define BOOST_PP_ITERATION_5 95
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 95 && NDNBOOST_PP_ITERATION_FINISH_5 >= 95
+#        define NDNBOOST_PP_ITERATION_5 95
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 96 && BOOST_PP_ITERATION_FINISH_5 >= 96
-#        define BOOST_PP_ITERATION_5 96
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 96 && NDNBOOST_PP_ITERATION_FINISH_5 >= 96
+#        define NDNBOOST_PP_ITERATION_5 96
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 97 && BOOST_PP_ITERATION_FINISH_5 >= 97
-#        define BOOST_PP_ITERATION_5 97
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 97 && NDNBOOST_PP_ITERATION_FINISH_5 >= 97
+#        define NDNBOOST_PP_ITERATION_5 97
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 98 && BOOST_PP_ITERATION_FINISH_5 >= 98
-#        define BOOST_PP_ITERATION_5 98
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 98 && NDNBOOST_PP_ITERATION_FINISH_5 >= 98
+#        define NDNBOOST_PP_ITERATION_5 98
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 99 && BOOST_PP_ITERATION_FINISH_5 >= 99
-#        define BOOST_PP_ITERATION_5 99
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 99 && NDNBOOST_PP_ITERATION_FINISH_5 >= 99
+#        define NDNBOOST_PP_ITERATION_5 99
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 100 && BOOST_PP_ITERATION_FINISH_5 >= 100
-#        define BOOST_PP_ITERATION_5 100
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 100 && NDNBOOST_PP_ITERATION_FINISH_5 >= 100
+#        define NDNBOOST_PP_ITERATION_5 100
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 101 && BOOST_PP_ITERATION_FINISH_5 >= 101
-#        define BOOST_PP_ITERATION_5 101
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 101 && NDNBOOST_PP_ITERATION_FINISH_5 >= 101
+#        define NDNBOOST_PP_ITERATION_5 101
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 102 && BOOST_PP_ITERATION_FINISH_5 >= 102
-#        define BOOST_PP_ITERATION_5 102
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 102 && NDNBOOST_PP_ITERATION_FINISH_5 >= 102
+#        define NDNBOOST_PP_ITERATION_5 102
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 103 && BOOST_PP_ITERATION_FINISH_5 >= 103
-#        define BOOST_PP_ITERATION_5 103
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 103 && NDNBOOST_PP_ITERATION_FINISH_5 >= 103
+#        define NDNBOOST_PP_ITERATION_5 103
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 104 && BOOST_PP_ITERATION_FINISH_5 >= 104
-#        define BOOST_PP_ITERATION_5 104
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 104 && NDNBOOST_PP_ITERATION_FINISH_5 >= 104
+#        define NDNBOOST_PP_ITERATION_5 104
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 105 && BOOST_PP_ITERATION_FINISH_5 >= 105
-#        define BOOST_PP_ITERATION_5 105
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 105 && NDNBOOST_PP_ITERATION_FINISH_5 >= 105
+#        define NDNBOOST_PP_ITERATION_5 105
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 106 && BOOST_PP_ITERATION_FINISH_5 >= 106
-#        define BOOST_PP_ITERATION_5 106
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 106 && NDNBOOST_PP_ITERATION_FINISH_5 >= 106
+#        define NDNBOOST_PP_ITERATION_5 106
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 107 && BOOST_PP_ITERATION_FINISH_5 >= 107
-#        define BOOST_PP_ITERATION_5 107
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 107 && NDNBOOST_PP_ITERATION_FINISH_5 >= 107
+#        define NDNBOOST_PP_ITERATION_5 107
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 108 && BOOST_PP_ITERATION_FINISH_5 >= 108
-#        define BOOST_PP_ITERATION_5 108
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 108 && NDNBOOST_PP_ITERATION_FINISH_5 >= 108
+#        define NDNBOOST_PP_ITERATION_5 108
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 109 && BOOST_PP_ITERATION_FINISH_5 >= 109
-#        define BOOST_PP_ITERATION_5 109
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 109 && NDNBOOST_PP_ITERATION_FINISH_5 >= 109
+#        define NDNBOOST_PP_ITERATION_5 109
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 110 && BOOST_PP_ITERATION_FINISH_5 >= 110
-#        define BOOST_PP_ITERATION_5 110
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 110 && NDNBOOST_PP_ITERATION_FINISH_5 >= 110
+#        define NDNBOOST_PP_ITERATION_5 110
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 111 && BOOST_PP_ITERATION_FINISH_5 >= 111
-#        define BOOST_PP_ITERATION_5 111
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 111 && NDNBOOST_PP_ITERATION_FINISH_5 >= 111
+#        define NDNBOOST_PP_ITERATION_5 111
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 112 && BOOST_PP_ITERATION_FINISH_5 >= 112
-#        define BOOST_PP_ITERATION_5 112
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 112 && NDNBOOST_PP_ITERATION_FINISH_5 >= 112
+#        define NDNBOOST_PP_ITERATION_5 112
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 113 && BOOST_PP_ITERATION_FINISH_5 >= 113
-#        define BOOST_PP_ITERATION_5 113
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 113 && NDNBOOST_PP_ITERATION_FINISH_5 >= 113
+#        define NDNBOOST_PP_ITERATION_5 113
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 114 && BOOST_PP_ITERATION_FINISH_5 >= 114
-#        define BOOST_PP_ITERATION_5 114
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 114 && NDNBOOST_PP_ITERATION_FINISH_5 >= 114
+#        define NDNBOOST_PP_ITERATION_5 114
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 115 && BOOST_PP_ITERATION_FINISH_5 >= 115
-#        define BOOST_PP_ITERATION_5 115
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 115 && NDNBOOST_PP_ITERATION_FINISH_5 >= 115
+#        define NDNBOOST_PP_ITERATION_5 115
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 116 && BOOST_PP_ITERATION_FINISH_5 >= 116
-#        define BOOST_PP_ITERATION_5 116
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 116 && NDNBOOST_PP_ITERATION_FINISH_5 >= 116
+#        define NDNBOOST_PP_ITERATION_5 116
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 117 && BOOST_PP_ITERATION_FINISH_5 >= 117
-#        define BOOST_PP_ITERATION_5 117
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 117 && NDNBOOST_PP_ITERATION_FINISH_5 >= 117
+#        define NDNBOOST_PP_ITERATION_5 117
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 118 && BOOST_PP_ITERATION_FINISH_5 >= 118
-#        define BOOST_PP_ITERATION_5 118
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 118 && NDNBOOST_PP_ITERATION_FINISH_5 >= 118
+#        define NDNBOOST_PP_ITERATION_5 118
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 119 && BOOST_PP_ITERATION_FINISH_5 >= 119
-#        define BOOST_PP_ITERATION_5 119
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 119 && NDNBOOST_PP_ITERATION_FINISH_5 >= 119
+#        define NDNBOOST_PP_ITERATION_5 119
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 120 && BOOST_PP_ITERATION_FINISH_5 >= 120
-#        define BOOST_PP_ITERATION_5 120
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 120 && NDNBOOST_PP_ITERATION_FINISH_5 >= 120
+#        define NDNBOOST_PP_ITERATION_5 120
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 121 && BOOST_PP_ITERATION_FINISH_5 >= 121
-#        define BOOST_PP_ITERATION_5 121
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 121 && NDNBOOST_PP_ITERATION_FINISH_5 >= 121
+#        define NDNBOOST_PP_ITERATION_5 121
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 122 && BOOST_PP_ITERATION_FINISH_5 >= 122
-#        define BOOST_PP_ITERATION_5 122
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 122 && NDNBOOST_PP_ITERATION_FINISH_5 >= 122
+#        define NDNBOOST_PP_ITERATION_5 122
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 123 && BOOST_PP_ITERATION_FINISH_5 >= 123
-#        define BOOST_PP_ITERATION_5 123
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 123 && NDNBOOST_PP_ITERATION_FINISH_5 >= 123
+#        define NDNBOOST_PP_ITERATION_5 123
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 124 && BOOST_PP_ITERATION_FINISH_5 >= 124
-#        define BOOST_PP_ITERATION_5 124
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 124 && NDNBOOST_PP_ITERATION_FINISH_5 >= 124
+#        define NDNBOOST_PP_ITERATION_5 124
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 125 && BOOST_PP_ITERATION_FINISH_5 >= 125
-#        define BOOST_PP_ITERATION_5 125
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 125 && NDNBOOST_PP_ITERATION_FINISH_5 >= 125
+#        define NDNBOOST_PP_ITERATION_5 125
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 126 && BOOST_PP_ITERATION_FINISH_5 >= 126
-#        define BOOST_PP_ITERATION_5 126
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 126 && NDNBOOST_PP_ITERATION_FINISH_5 >= 126
+#        define NDNBOOST_PP_ITERATION_5 126
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 127 && BOOST_PP_ITERATION_FINISH_5 >= 127
-#        define BOOST_PP_ITERATION_5 127
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 127 && NDNBOOST_PP_ITERATION_FINISH_5 >= 127
+#        define NDNBOOST_PP_ITERATION_5 127
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 128 && BOOST_PP_ITERATION_FINISH_5 >= 128
-#        define BOOST_PP_ITERATION_5 128
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 128 && NDNBOOST_PP_ITERATION_FINISH_5 >= 128
+#        define NDNBOOST_PP_ITERATION_5 128
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 129 && BOOST_PP_ITERATION_FINISH_5 >= 129
-#        define BOOST_PP_ITERATION_5 129
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 129 && NDNBOOST_PP_ITERATION_FINISH_5 >= 129
+#        define NDNBOOST_PP_ITERATION_5 129
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 130 && BOOST_PP_ITERATION_FINISH_5 >= 130
-#        define BOOST_PP_ITERATION_5 130
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 130 && NDNBOOST_PP_ITERATION_FINISH_5 >= 130
+#        define NDNBOOST_PP_ITERATION_5 130
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 131 && BOOST_PP_ITERATION_FINISH_5 >= 131
-#        define BOOST_PP_ITERATION_5 131
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 131 && NDNBOOST_PP_ITERATION_FINISH_5 >= 131
+#        define NDNBOOST_PP_ITERATION_5 131
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 132 && BOOST_PP_ITERATION_FINISH_5 >= 132
-#        define BOOST_PP_ITERATION_5 132
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 132 && NDNBOOST_PP_ITERATION_FINISH_5 >= 132
+#        define NDNBOOST_PP_ITERATION_5 132
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 133 && BOOST_PP_ITERATION_FINISH_5 >= 133
-#        define BOOST_PP_ITERATION_5 133
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 133 && NDNBOOST_PP_ITERATION_FINISH_5 >= 133
+#        define NDNBOOST_PP_ITERATION_5 133
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 134 && BOOST_PP_ITERATION_FINISH_5 >= 134
-#        define BOOST_PP_ITERATION_5 134
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 134 && NDNBOOST_PP_ITERATION_FINISH_5 >= 134
+#        define NDNBOOST_PP_ITERATION_5 134
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 135 && BOOST_PP_ITERATION_FINISH_5 >= 135
-#        define BOOST_PP_ITERATION_5 135
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 135 && NDNBOOST_PP_ITERATION_FINISH_5 >= 135
+#        define NDNBOOST_PP_ITERATION_5 135
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 136 && BOOST_PP_ITERATION_FINISH_5 >= 136
-#        define BOOST_PP_ITERATION_5 136
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 136 && NDNBOOST_PP_ITERATION_FINISH_5 >= 136
+#        define NDNBOOST_PP_ITERATION_5 136
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 137 && BOOST_PP_ITERATION_FINISH_5 >= 137
-#        define BOOST_PP_ITERATION_5 137
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 137 && NDNBOOST_PP_ITERATION_FINISH_5 >= 137
+#        define NDNBOOST_PP_ITERATION_5 137
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 138 && BOOST_PP_ITERATION_FINISH_5 >= 138
-#        define BOOST_PP_ITERATION_5 138
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 138 && NDNBOOST_PP_ITERATION_FINISH_5 >= 138
+#        define NDNBOOST_PP_ITERATION_5 138
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 139 && BOOST_PP_ITERATION_FINISH_5 >= 139
-#        define BOOST_PP_ITERATION_5 139
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 139 && NDNBOOST_PP_ITERATION_FINISH_5 >= 139
+#        define NDNBOOST_PP_ITERATION_5 139
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 140 && BOOST_PP_ITERATION_FINISH_5 >= 140
-#        define BOOST_PP_ITERATION_5 140
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 140 && NDNBOOST_PP_ITERATION_FINISH_5 >= 140
+#        define NDNBOOST_PP_ITERATION_5 140
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 141 && BOOST_PP_ITERATION_FINISH_5 >= 141
-#        define BOOST_PP_ITERATION_5 141
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 141 && NDNBOOST_PP_ITERATION_FINISH_5 >= 141
+#        define NDNBOOST_PP_ITERATION_5 141
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 142 && BOOST_PP_ITERATION_FINISH_5 >= 142
-#        define BOOST_PP_ITERATION_5 142
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 142 && NDNBOOST_PP_ITERATION_FINISH_5 >= 142
+#        define NDNBOOST_PP_ITERATION_5 142
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 143 && BOOST_PP_ITERATION_FINISH_5 >= 143
-#        define BOOST_PP_ITERATION_5 143
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 143 && NDNBOOST_PP_ITERATION_FINISH_5 >= 143
+#        define NDNBOOST_PP_ITERATION_5 143
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 144 && BOOST_PP_ITERATION_FINISH_5 >= 144
-#        define BOOST_PP_ITERATION_5 144
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 144 && NDNBOOST_PP_ITERATION_FINISH_5 >= 144
+#        define NDNBOOST_PP_ITERATION_5 144
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 145 && BOOST_PP_ITERATION_FINISH_5 >= 145
-#        define BOOST_PP_ITERATION_5 145
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 145 && NDNBOOST_PP_ITERATION_FINISH_5 >= 145
+#        define NDNBOOST_PP_ITERATION_5 145
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 146 && BOOST_PP_ITERATION_FINISH_5 >= 146
-#        define BOOST_PP_ITERATION_5 146
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 146 && NDNBOOST_PP_ITERATION_FINISH_5 >= 146
+#        define NDNBOOST_PP_ITERATION_5 146
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 147 && BOOST_PP_ITERATION_FINISH_5 >= 147
-#        define BOOST_PP_ITERATION_5 147
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 147 && NDNBOOST_PP_ITERATION_FINISH_5 >= 147
+#        define NDNBOOST_PP_ITERATION_5 147
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 148 && BOOST_PP_ITERATION_FINISH_5 >= 148
-#        define BOOST_PP_ITERATION_5 148
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 148 && NDNBOOST_PP_ITERATION_FINISH_5 >= 148
+#        define NDNBOOST_PP_ITERATION_5 148
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 149 && BOOST_PP_ITERATION_FINISH_5 >= 149
-#        define BOOST_PP_ITERATION_5 149
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 149 && NDNBOOST_PP_ITERATION_FINISH_5 >= 149
+#        define NDNBOOST_PP_ITERATION_5 149
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 150 && BOOST_PP_ITERATION_FINISH_5 >= 150
-#        define BOOST_PP_ITERATION_5 150
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 150 && NDNBOOST_PP_ITERATION_FINISH_5 >= 150
+#        define NDNBOOST_PP_ITERATION_5 150
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 151 && BOOST_PP_ITERATION_FINISH_5 >= 151
-#        define BOOST_PP_ITERATION_5 151
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 151 && NDNBOOST_PP_ITERATION_FINISH_5 >= 151
+#        define NDNBOOST_PP_ITERATION_5 151
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 152 && BOOST_PP_ITERATION_FINISH_5 >= 152
-#        define BOOST_PP_ITERATION_5 152
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 152 && NDNBOOST_PP_ITERATION_FINISH_5 >= 152
+#        define NDNBOOST_PP_ITERATION_5 152
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 153 && BOOST_PP_ITERATION_FINISH_5 >= 153
-#        define BOOST_PP_ITERATION_5 153
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 153 && NDNBOOST_PP_ITERATION_FINISH_5 >= 153
+#        define NDNBOOST_PP_ITERATION_5 153
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 154 && BOOST_PP_ITERATION_FINISH_5 >= 154
-#        define BOOST_PP_ITERATION_5 154
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 154 && NDNBOOST_PP_ITERATION_FINISH_5 >= 154
+#        define NDNBOOST_PP_ITERATION_5 154
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 155 && BOOST_PP_ITERATION_FINISH_5 >= 155
-#        define BOOST_PP_ITERATION_5 155
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 155 && NDNBOOST_PP_ITERATION_FINISH_5 >= 155
+#        define NDNBOOST_PP_ITERATION_5 155
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 156 && BOOST_PP_ITERATION_FINISH_5 >= 156
-#        define BOOST_PP_ITERATION_5 156
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 156 && NDNBOOST_PP_ITERATION_FINISH_5 >= 156
+#        define NDNBOOST_PP_ITERATION_5 156
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 157 && BOOST_PP_ITERATION_FINISH_5 >= 157
-#        define BOOST_PP_ITERATION_5 157
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 157 && NDNBOOST_PP_ITERATION_FINISH_5 >= 157
+#        define NDNBOOST_PP_ITERATION_5 157
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 158 && BOOST_PP_ITERATION_FINISH_5 >= 158
-#        define BOOST_PP_ITERATION_5 158
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 158 && NDNBOOST_PP_ITERATION_FINISH_5 >= 158
+#        define NDNBOOST_PP_ITERATION_5 158
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 159 && BOOST_PP_ITERATION_FINISH_5 >= 159
-#        define BOOST_PP_ITERATION_5 159
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 159 && NDNBOOST_PP_ITERATION_FINISH_5 >= 159
+#        define NDNBOOST_PP_ITERATION_5 159
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 160 && BOOST_PP_ITERATION_FINISH_5 >= 160
-#        define BOOST_PP_ITERATION_5 160
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 160 && NDNBOOST_PP_ITERATION_FINISH_5 >= 160
+#        define NDNBOOST_PP_ITERATION_5 160
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 161 && BOOST_PP_ITERATION_FINISH_5 >= 161
-#        define BOOST_PP_ITERATION_5 161
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 161 && NDNBOOST_PP_ITERATION_FINISH_5 >= 161
+#        define NDNBOOST_PP_ITERATION_5 161
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 162 && BOOST_PP_ITERATION_FINISH_5 >= 162
-#        define BOOST_PP_ITERATION_5 162
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 162 && NDNBOOST_PP_ITERATION_FINISH_5 >= 162
+#        define NDNBOOST_PP_ITERATION_5 162
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 163 && BOOST_PP_ITERATION_FINISH_5 >= 163
-#        define BOOST_PP_ITERATION_5 163
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 163 && NDNBOOST_PP_ITERATION_FINISH_5 >= 163
+#        define NDNBOOST_PP_ITERATION_5 163
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 164 && BOOST_PP_ITERATION_FINISH_5 >= 164
-#        define BOOST_PP_ITERATION_5 164
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 164 && NDNBOOST_PP_ITERATION_FINISH_5 >= 164
+#        define NDNBOOST_PP_ITERATION_5 164
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 165 && BOOST_PP_ITERATION_FINISH_5 >= 165
-#        define BOOST_PP_ITERATION_5 165
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 165 && NDNBOOST_PP_ITERATION_FINISH_5 >= 165
+#        define NDNBOOST_PP_ITERATION_5 165
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 166 && BOOST_PP_ITERATION_FINISH_5 >= 166
-#        define BOOST_PP_ITERATION_5 166
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 166 && NDNBOOST_PP_ITERATION_FINISH_5 >= 166
+#        define NDNBOOST_PP_ITERATION_5 166
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 167 && BOOST_PP_ITERATION_FINISH_5 >= 167
-#        define BOOST_PP_ITERATION_5 167
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 167 && NDNBOOST_PP_ITERATION_FINISH_5 >= 167
+#        define NDNBOOST_PP_ITERATION_5 167
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 168 && BOOST_PP_ITERATION_FINISH_5 >= 168
-#        define BOOST_PP_ITERATION_5 168
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 168 && NDNBOOST_PP_ITERATION_FINISH_5 >= 168
+#        define NDNBOOST_PP_ITERATION_5 168
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 169 && BOOST_PP_ITERATION_FINISH_5 >= 169
-#        define BOOST_PP_ITERATION_5 169
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 169 && NDNBOOST_PP_ITERATION_FINISH_5 >= 169
+#        define NDNBOOST_PP_ITERATION_5 169
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 170 && BOOST_PP_ITERATION_FINISH_5 >= 170
-#        define BOOST_PP_ITERATION_5 170
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 170 && NDNBOOST_PP_ITERATION_FINISH_5 >= 170
+#        define NDNBOOST_PP_ITERATION_5 170
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 171 && BOOST_PP_ITERATION_FINISH_5 >= 171
-#        define BOOST_PP_ITERATION_5 171
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 171 && NDNBOOST_PP_ITERATION_FINISH_5 >= 171
+#        define NDNBOOST_PP_ITERATION_5 171
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 172 && BOOST_PP_ITERATION_FINISH_5 >= 172
-#        define BOOST_PP_ITERATION_5 172
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 172 && NDNBOOST_PP_ITERATION_FINISH_5 >= 172
+#        define NDNBOOST_PP_ITERATION_5 172
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 173 && BOOST_PP_ITERATION_FINISH_5 >= 173
-#        define BOOST_PP_ITERATION_5 173
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 173 && NDNBOOST_PP_ITERATION_FINISH_5 >= 173
+#        define NDNBOOST_PP_ITERATION_5 173
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 174 && BOOST_PP_ITERATION_FINISH_5 >= 174
-#        define BOOST_PP_ITERATION_5 174
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 174 && NDNBOOST_PP_ITERATION_FINISH_5 >= 174
+#        define NDNBOOST_PP_ITERATION_5 174
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 175 && BOOST_PP_ITERATION_FINISH_5 >= 175
-#        define BOOST_PP_ITERATION_5 175
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 175 && NDNBOOST_PP_ITERATION_FINISH_5 >= 175
+#        define NDNBOOST_PP_ITERATION_5 175
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 176 && BOOST_PP_ITERATION_FINISH_5 >= 176
-#        define BOOST_PP_ITERATION_5 176
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 176 && NDNBOOST_PP_ITERATION_FINISH_5 >= 176
+#        define NDNBOOST_PP_ITERATION_5 176
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 177 && BOOST_PP_ITERATION_FINISH_5 >= 177
-#        define BOOST_PP_ITERATION_5 177
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 177 && NDNBOOST_PP_ITERATION_FINISH_5 >= 177
+#        define NDNBOOST_PP_ITERATION_5 177
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 178 && BOOST_PP_ITERATION_FINISH_5 >= 178
-#        define BOOST_PP_ITERATION_5 178
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 178 && NDNBOOST_PP_ITERATION_FINISH_5 >= 178
+#        define NDNBOOST_PP_ITERATION_5 178
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 179 && BOOST_PP_ITERATION_FINISH_5 >= 179
-#        define BOOST_PP_ITERATION_5 179
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 179 && NDNBOOST_PP_ITERATION_FINISH_5 >= 179
+#        define NDNBOOST_PP_ITERATION_5 179
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 180 && BOOST_PP_ITERATION_FINISH_5 >= 180
-#        define BOOST_PP_ITERATION_5 180
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 180 && NDNBOOST_PP_ITERATION_FINISH_5 >= 180
+#        define NDNBOOST_PP_ITERATION_5 180
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 181 && BOOST_PP_ITERATION_FINISH_5 >= 181
-#        define BOOST_PP_ITERATION_5 181
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 181 && NDNBOOST_PP_ITERATION_FINISH_5 >= 181
+#        define NDNBOOST_PP_ITERATION_5 181
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 182 && BOOST_PP_ITERATION_FINISH_5 >= 182
-#        define BOOST_PP_ITERATION_5 182
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 182 && NDNBOOST_PP_ITERATION_FINISH_5 >= 182
+#        define NDNBOOST_PP_ITERATION_5 182
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 183 && BOOST_PP_ITERATION_FINISH_5 >= 183
-#        define BOOST_PP_ITERATION_5 183
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 183 && NDNBOOST_PP_ITERATION_FINISH_5 >= 183
+#        define NDNBOOST_PP_ITERATION_5 183
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 184 && BOOST_PP_ITERATION_FINISH_5 >= 184
-#        define BOOST_PP_ITERATION_5 184
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 184 && NDNBOOST_PP_ITERATION_FINISH_5 >= 184
+#        define NDNBOOST_PP_ITERATION_5 184
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 185 && BOOST_PP_ITERATION_FINISH_5 >= 185
-#        define BOOST_PP_ITERATION_5 185
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 185 && NDNBOOST_PP_ITERATION_FINISH_5 >= 185
+#        define NDNBOOST_PP_ITERATION_5 185
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 186 && BOOST_PP_ITERATION_FINISH_5 >= 186
-#        define BOOST_PP_ITERATION_5 186
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 186 && NDNBOOST_PP_ITERATION_FINISH_5 >= 186
+#        define NDNBOOST_PP_ITERATION_5 186
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 187 && BOOST_PP_ITERATION_FINISH_5 >= 187
-#        define BOOST_PP_ITERATION_5 187
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 187 && NDNBOOST_PP_ITERATION_FINISH_5 >= 187
+#        define NDNBOOST_PP_ITERATION_5 187
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 188 && BOOST_PP_ITERATION_FINISH_5 >= 188
-#        define BOOST_PP_ITERATION_5 188
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 188 && NDNBOOST_PP_ITERATION_FINISH_5 >= 188
+#        define NDNBOOST_PP_ITERATION_5 188
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 189 && BOOST_PP_ITERATION_FINISH_5 >= 189
-#        define BOOST_PP_ITERATION_5 189
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 189 && NDNBOOST_PP_ITERATION_FINISH_5 >= 189
+#        define NDNBOOST_PP_ITERATION_5 189
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 190 && BOOST_PP_ITERATION_FINISH_5 >= 190
-#        define BOOST_PP_ITERATION_5 190
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 190 && NDNBOOST_PP_ITERATION_FINISH_5 >= 190
+#        define NDNBOOST_PP_ITERATION_5 190
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 191 && BOOST_PP_ITERATION_FINISH_5 >= 191
-#        define BOOST_PP_ITERATION_5 191
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 191 && NDNBOOST_PP_ITERATION_FINISH_5 >= 191
+#        define NDNBOOST_PP_ITERATION_5 191
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 192 && BOOST_PP_ITERATION_FINISH_5 >= 192
-#        define BOOST_PP_ITERATION_5 192
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 192 && NDNBOOST_PP_ITERATION_FINISH_5 >= 192
+#        define NDNBOOST_PP_ITERATION_5 192
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 193 && BOOST_PP_ITERATION_FINISH_5 >= 193
-#        define BOOST_PP_ITERATION_5 193
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 193 && NDNBOOST_PP_ITERATION_FINISH_5 >= 193
+#        define NDNBOOST_PP_ITERATION_5 193
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 194 && BOOST_PP_ITERATION_FINISH_5 >= 194
-#        define BOOST_PP_ITERATION_5 194
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 194 && NDNBOOST_PP_ITERATION_FINISH_5 >= 194
+#        define NDNBOOST_PP_ITERATION_5 194
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 195 && BOOST_PP_ITERATION_FINISH_5 >= 195
-#        define BOOST_PP_ITERATION_5 195
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 195 && NDNBOOST_PP_ITERATION_FINISH_5 >= 195
+#        define NDNBOOST_PP_ITERATION_5 195
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 196 && BOOST_PP_ITERATION_FINISH_5 >= 196
-#        define BOOST_PP_ITERATION_5 196
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 196 && NDNBOOST_PP_ITERATION_FINISH_5 >= 196
+#        define NDNBOOST_PP_ITERATION_5 196
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 197 && BOOST_PP_ITERATION_FINISH_5 >= 197
-#        define BOOST_PP_ITERATION_5 197
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 197 && NDNBOOST_PP_ITERATION_FINISH_5 >= 197
+#        define NDNBOOST_PP_ITERATION_5 197
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 198 && BOOST_PP_ITERATION_FINISH_5 >= 198
-#        define BOOST_PP_ITERATION_5 198
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 198 && NDNBOOST_PP_ITERATION_FINISH_5 >= 198
+#        define NDNBOOST_PP_ITERATION_5 198
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 199 && BOOST_PP_ITERATION_FINISH_5 >= 199
-#        define BOOST_PP_ITERATION_5 199
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 199 && NDNBOOST_PP_ITERATION_FINISH_5 >= 199
+#        define NDNBOOST_PP_ITERATION_5 199
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 200 && BOOST_PP_ITERATION_FINISH_5 >= 200
-#        define BOOST_PP_ITERATION_5 200
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 200 && NDNBOOST_PP_ITERATION_FINISH_5 >= 200
+#        define NDNBOOST_PP_ITERATION_5 200
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 201 && BOOST_PP_ITERATION_FINISH_5 >= 201
-#        define BOOST_PP_ITERATION_5 201
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 201 && NDNBOOST_PP_ITERATION_FINISH_5 >= 201
+#        define NDNBOOST_PP_ITERATION_5 201
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 202 && BOOST_PP_ITERATION_FINISH_5 >= 202
-#        define BOOST_PP_ITERATION_5 202
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 202 && NDNBOOST_PP_ITERATION_FINISH_5 >= 202
+#        define NDNBOOST_PP_ITERATION_5 202
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 203 && BOOST_PP_ITERATION_FINISH_5 >= 203
-#        define BOOST_PP_ITERATION_5 203
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 203 && NDNBOOST_PP_ITERATION_FINISH_5 >= 203
+#        define NDNBOOST_PP_ITERATION_5 203
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 204 && BOOST_PP_ITERATION_FINISH_5 >= 204
-#        define BOOST_PP_ITERATION_5 204
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 204 && NDNBOOST_PP_ITERATION_FINISH_5 >= 204
+#        define NDNBOOST_PP_ITERATION_5 204
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 205 && BOOST_PP_ITERATION_FINISH_5 >= 205
-#        define BOOST_PP_ITERATION_5 205
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 205 && NDNBOOST_PP_ITERATION_FINISH_5 >= 205
+#        define NDNBOOST_PP_ITERATION_5 205
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 206 && BOOST_PP_ITERATION_FINISH_5 >= 206
-#        define BOOST_PP_ITERATION_5 206
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 206 && NDNBOOST_PP_ITERATION_FINISH_5 >= 206
+#        define NDNBOOST_PP_ITERATION_5 206
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 207 && BOOST_PP_ITERATION_FINISH_5 >= 207
-#        define BOOST_PP_ITERATION_5 207
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 207 && NDNBOOST_PP_ITERATION_FINISH_5 >= 207
+#        define NDNBOOST_PP_ITERATION_5 207
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 208 && BOOST_PP_ITERATION_FINISH_5 >= 208
-#        define BOOST_PP_ITERATION_5 208
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 208 && NDNBOOST_PP_ITERATION_FINISH_5 >= 208
+#        define NDNBOOST_PP_ITERATION_5 208
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 209 && BOOST_PP_ITERATION_FINISH_5 >= 209
-#        define BOOST_PP_ITERATION_5 209
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 209 && NDNBOOST_PP_ITERATION_FINISH_5 >= 209
+#        define NDNBOOST_PP_ITERATION_5 209
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 210 && BOOST_PP_ITERATION_FINISH_5 >= 210
-#        define BOOST_PP_ITERATION_5 210
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 210 && NDNBOOST_PP_ITERATION_FINISH_5 >= 210
+#        define NDNBOOST_PP_ITERATION_5 210
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 211 && BOOST_PP_ITERATION_FINISH_5 >= 211
-#        define BOOST_PP_ITERATION_5 211
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 211 && NDNBOOST_PP_ITERATION_FINISH_5 >= 211
+#        define NDNBOOST_PP_ITERATION_5 211
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 212 && BOOST_PP_ITERATION_FINISH_5 >= 212
-#        define BOOST_PP_ITERATION_5 212
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 212 && NDNBOOST_PP_ITERATION_FINISH_5 >= 212
+#        define NDNBOOST_PP_ITERATION_5 212
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 213 && BOOST_PP_ITERATION_FINISH_5 >= 213
-#        define BOOST_PP_ITERATION_5 213
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 213 && NDNBOOST_PP_ITERATION_FINISH_5 >= 213
+#        define NDNBOOST_PP_ITERATION_5 213
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 214 && BOOST_PP_ITERATION_FINISH_5 >= 214
-#        define BOOST_PP_ITERATION_5 214
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 214 && NDNBOOST_PP_ITERATION_FINISH_5 >= 214
+#        define NDNBOOST_PP_ITERATION_5 214
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 215 && BOOST_PP_ITERATION_FINISH_5 >= 215
-#        define BOOST_PP_ITERATION_5 215
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 215 && NDNBOOST_PP_ITERATION_FINISH_5 >= 215
+#        define NDNBOOST_PP_ITERATION_5 215
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 216 && BOOST_PP_ITERATION_FINISH_5 >= 216
-#        define BOOST_PP_ITERATION_5 216
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 216 && NDNBOOST_PP_ITERATION_FINISH_5 >= 216
+#        define NDNBOOST_PP_ITERATION_5 216
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 217 && BOOST_PP_ITERATION_FINISH_5 >= 217
-#        define BOOST_PP_ITERATION_5 217
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 217 && NDNBOOST_PP_ITERATION_FINISH_5 >= 217
+#        define NDNBOOST_PP_ITERATION_5 217
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 218 && BOOST_PP_ITERATION_FINISH_5 >= 218
-#        define BOOST_PP_ITERATION_5 218
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 218 && NDNBOOST_PP_ITERATION_FINISH_5 >= 218
+#        define NDNBOOST_PP_ITERATION_5 218
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 219 && BOOST_PP_ITERATION_FINISH_5 >= 219
-#        define BOOST_PP_ITERATION_5 219
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 219 && NDNBOOST_PP_ITERATION_FINISH_5 >= 219
+#        define NDNBOOST_PP_ITERATION_5 219
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 220 && BOOST_PP_ITERATION_FINISH_5 >= 220
-#        define BOOST_PP_ITERATION_5 220
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 220 && NDNBOOST_PP_ITERATION_FINISH_5 >= 220
+#        define NDNBOOST_PP_ITERATION_5 220
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 221 && BOOST_PP_ITERATION_FINISH_5 >= 221
-#        define BOOST_PP_ITERATION_5 221
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 221 && NDNBOOST_PP_ITERATION_FINISH_5 >= 221
+#        define NDNBOOST_PP_ITERATION_5 221
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 222 && BOOST_PP_ITERATION_FINISH_5 >= 222
-#        define BOOST_PP_ITERATION_5 222
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 222 && NDNBOOST_PP_ITERATION_FINISH_5 >= 222
+#        define NDNBOOST_PP_ITERATION_5 222
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 223 && BOOST_PP_ITERATION_FINISH_5 >= 223
-#        define BOOST_PP_ITERATION_5 223
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 223 && NDNBOOST_PP_ITERATION_FINISH_5 >= 223
+#        define NDNBOOST_PP_ITERATION_5 223
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 224 && BOOST_PP_ITERATION_FINISH_5 >= 224
-#        define BOOST_PP_ITERATION_5 224
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 224 && NDNBOOST_PP_ITERATION_FINISH_5 >= 224
+#        define NDNBOOST_PP_ITERATION_5 224
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 225 && BOOST_PP_ITERATION_FINISH_5 >= 225
-#        define BOOST_PP_ITERATION_5 225
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 225 && NDNBOOST_PP_ITERATION_FINISH_5 >= 225
+#        define NDNBOOST_PP_ITERATION_5 225
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 226 && BOOST_PP_ITERATION_FINISH_5 >= 226
-#        define BOOST_PP_ITERATION_5 226
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 226 && NDNBOOST_PP_ITERATION_FINISH_5 >= 226
+#        define NDNBOOST_PP_ITERATION_5 226
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 227 && BOOST_PP_ITERATION_FINISH_5 >= 227
-#        define BOOST_PP_ITERATION_5 227
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 227 && NDNBOOST_PP_ITERATION_FINISH_5 >= 227
+#        define NDNBOOST_PP_ITERATION_5 227
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 228 && BOOST_PP_ITERATION_FINISH_5 >= 228
-#        define BOOST_PP_ITERATION_5 228
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 228 && NDNBOOST_PP_ITERATION_FINISH_5 >= 228
+#        define NDNBOOST_PP_ITERATION_5 228
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 229 && BOOST_PP_ITERATION_FINISH_5 >= 229
-#        define BOOST_PP_ITERATION_5 229
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 229 && NDNBOOST_PP_ITERATION_FINISH_5 >= 229
+#        define NDNBOOST_PP_ITERATION_5 229
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 230 && BOOST_PP_ITERATION_FINISH_5 >= 230
-#        define BOOST_PP_ITERATION_5 230
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 230 && NDNBOOST_PP_ITERATION_FINISH_5 >= 230
+#        define NDNBOOST_PP_ITERATION_5 230
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 231 && BOOST_PP_ITERATION_FINISH_5 >= 231
-#        define BOOST_PP_ITERATION_5 231
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 231 && NDNBOOST_PP_ITERATION_FINISH_5 >= 231
+#        define NDNBOOST_PP_ITERATION_5 231
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 232 && BOOST_PP_ITERATION_FINISH_5 >= 232
-#        define BOOST_PP_ITERATION_5 232
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 232 && NDNBOOST_PP_ITERATION_FINISH_5 >= 232
+#        define NDNBOOST_PP_ITERATION_5 232
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 233 && BOOST_PP_ITERATION_FINISH_5 >= 233
-#        define BOOST_PP_ITERATION_5 233
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 233 && NDNBOOST_PP_ITERATION_FINISH_5 >= 233
+#        define NDNBOOST_PP_ITERATION_5 233
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 234 && BOOST_PP_ITERATION_FINISH_5 >= 234
-#        define BOOST_PP_ITERATION_5 234
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 234 && NDNBOOST_PP_ITERATION_FINISH_5 >= 234
+#        define NDNBOOST_PP_ITERATION_5 234
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 235 && BOOST_PP_ITERATION_FINISH_5 >= 235
-#        define BOOST_PP_ITERATION_5 235
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 235 && NDNBOOST_PP_ITERATION_FINISH_5 >= 235
+#        define NDNBOOST_PP_ITERATION_5 235
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 236 && BOOST_PP_ITERATION_FINISH_5 >= 236
-#        define BOOST_PP_ITERATION_5 236
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 236 && NDNBOOST_PP_ITERATION_FINISH_5 >= 236
+#        define NDNBOOST_PP_ITERATION_5 236
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 237 && BOOST_PP_ITERATION_FINISH_5 >= 237
-#        define BOOST_PP_ITERATION_5 237
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 237 && NDNBOOST_PP_ITERATION_FINISH_5 >= 237
+#        define NDNBOOST_PP_ITERATION_5 237
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 238 && BOOST_PP_ITERATION_FINISH_5 >= 238
-#        define BOOST_PP_ITERATION_5 238
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 238 && NDNBOOST_PP_ITERATION_FINISH_5 >= 238
+#        define NDNBOOST_PP_ITERATION_5 238
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 239 && BOOST_PP_ITERATION_FINISH_5 >= 239
-#        define BOOST_PP_ITERATION_5 239
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 239 && NDNBOOST_PP_ITERATION_FINISH_5 >= 239
+#        define NDNBOOST_PP_ITERATION_5 239
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 240 && BOOST_PP_ITERATION_FINISH_5 >= 240
-#        define BOOST_PP_ITERATION_5 240
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 240 && NDNBOOST_PP_ITERATION_FINISH_5 >= 240
+#        define NDNBOOST_PP_ITERATION_5 240
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 241 && BOOST_PP_ITERATION_FINISH_5 >= 241
-#        define BOOST_PP_ITERATION_5 241
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 241 && NDNBOOST_PP_ITERATION_FINISH_5 >= 241
+#        define NDNBOOST_PP_ITERATION_5 241
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 242 && BOOST_PP_ITERATION_FINISH_5 >= 242
-#        define BOOST_PP_ITERATION_5 242
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 242 && NDNBOOST_PP_ITERATION_FINISH_5 >= 242
+#        define NDNBOOST_PP_ITERATION_5 242
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 243 && BOOST_PP_ITERATION_FINISH_5 >= 243
-#        define BOOST_PP_ITERATION_5 243
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 243 && NDNBOOST_PP_ITERATION_FINISH_5 >= 243
+#        define NDNBOOST_PP_ITERATION_5 243
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 244 && BOOST_PP_ITERATION_FINISH_5 >= 244
-#        define BOOST_PP_ITERATION_5 244
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 244 && NDNBOOST_PP_ITERATION_FINISH_5 >= 244
+#        define NDNBOOST_PP_ITERATION_5 244
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 245 && BOOST_PP_ITERATION_FINISH_5 >= 245
-#        define BOOST_PP_ITERATION_5 245
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 245 && NDNBOOST_PP_ITERATION_FINISH_5 >= 245
+#        define NDNBOOST_PP_ITERATION_5 245
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 246 && BOOST_PP_ITERATION_FINISH_5 >= 246
-#        define BOOST_PP_ITERATION_5 246
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 246 && NDNBOOST_PP_ITERATION_FINISH_5 >= 246
+#        define NDNBOOST_PP_ITERATION_5 246
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 247 && BOOST_PP_ITERATION_FINISH_5 >= 247
-#        define BOOST_PP_ITERATION_5 247
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 247 && NDNBOOST_PP_ITERATION_FINISH_5 >= 247
+#        define NDNBOOST_PP_ITERATION_5 247
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 248 && BOOST_PP_ITERATION_FINISH_5 >= 248
-#        define BOOST_PP_ITERATION_5 248
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 248 && NDNBOOST_PP_ITERATION_FINISH_5 >= 248
+#        define NDNBOOST_PP_ITERATION_5 248
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 249 && BOOST_PP_ITERATION_FINISH_5 >= 249
-#        define BOOST_PP_ITERATION_5 249
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 249 && NDNBOOST_PP_ITERATION_FINISH_5 >= 249
+#        define NDNBOOST_PP_ITERATION_5 249
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 250 && BOOST_PP_ITERATION_FINISH_5 >= 250
-#        define BOOST_PP_ITERATION_5 250
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 250 && NDNBOOST_PP_ITERATION_FINISH_5 >= 250
+#        define NDNBOOST_PP_ITERATION_5 250
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 251 && BOOST_PP_ITERATION_FINISH_5 >= 251
-#        define BOOST_PP_ITERATION_5 251
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 251 && NDNBOOST_PP_ITERATION_FINISH_5 >= 251
+#        define NDNBOOST_PP_ITERATION_5 251
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 252 && BOOST_PP_ITERATION_FINISH_5 >= 252
-#        define BOOST_PP_ITERATION_5 252
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 252 && NDNBOOST_PP_ITERATION_FINISH_5 >= 252
+#        define NDNBOOST_PP_ITERATION_5 252
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 253 && BOOST_PP_ITERATION_FINISH_5 >= 253
-#        define BOOST_PP_ITERATION_5 253
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 253 && NDNBOOST_PP_ITERATION_FINISH_5 >= 253
+#        define NDNBOOST_PP_ITERATION_5 253
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 254 && BOOST_PP_ITERATION_FINISH_5 >= 254
-#        define BOOST_PP_ITERATION_5 254
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 254 && NDNBOOST_PP_ITERATION_FINISH_5 >= 254
+#        define NDNBOOST_PP_ITERATION_5 254
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 255 && BOOST_PP_ITERATION_FINISH_5 >= 255
-#        define BOOST_PP_ITERATION_5 255
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 255 && NDNBOOST_PP_ITERATION_FINISH_5 >= 255
+#        define NDNBOOST_PP_ITERATION_5 255
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
-#    if BOOST_PP_ITERATION_START_5 <= 256 && BOOST_PP_ITERATION_FINISH_5 >= 256
-#        define BOOST_PP_ITERATION_5 256
-#        include BOOST_PP_FILENAME_5
-#        undef BOOST_PP_ITERATION_5
+#    if NDNBOOST_PP_ITERATION_START_5 <= 256 && NDNBOOST_PP_ITERATION_FINISH_5 >= 256
+#        define NDNBOOST_PP_ITERATION_5 256
+#        include NDNBOOST_PP_FILENAME_5
+#        undef NDNBOOST_PP_ITERATION_5
 #    endif
 # endif
 #
-# undef BOOST_PP_ITERATION_DEPTH
-# define BOOST_PP_ITERATION_DEPTH() 4
+# undef NDNBOOST_PP_ITERATION_DEPTH
+# define NDNBOOST_PP_ITERATION_DEPTH() 4
 #
-# undef BOOST_PP_ITERATION_START_5
-# undef BOOST_PP_ITERATION_FINISH_5
-# undef BOOST_PP_FILENAME_5
+# undef NDNBOOST_PP_ITERATION_START_5
+# undef NDNBOOST_PP_ITERATION_FINISH_5
+# undef NDNBOOST_PP_FILENAME_5
 #
-# undef BOOST_PP_ITERATION_FLAGS_5
-# undef BOOST_PP_ITERATION_PARAMS_5
+# undef NDNBOOST_PP_ITERATION_FLAGS_5
+# undef NDNBOOST_PP_ITERATION_PARAMS_5
diff --git a/include/ndnboost/preprocessor/iteration/detail/iter/reverse1.hpp b/include/ndnboost/preprocessor/iteration/detail/iter/reverse1.hpp
index bf88d2f..bb01af1 100644
--- a/include/ndnboost/preprocessor/iteration/detail/iter/reverse1.hpp
+++ b/include/ndnboost/preprocessor/iteration/detail/iter/reverse1.hpp
@@ -9,1288 +9,1288 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# if BOOST_PP_ITERATION_FINISH_1 <= 256 && BOOST_PP_ITERATION_START_1 >= 256
-#    define BOOST_PP_ITERATION_1 256
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 256 && NDNBOOST_PP_ITERATION_START_1 >= 256
+#    define NDNBOOST_PP_ITERATION_1 256
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 255 && BOOST_PP_ITERATION_START_1 >= 255
-#    define BOOST_PP_ITERATION_1 255
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 255 && NDNBOOST_PP_ITERATION_START_1 >= 255
+#    define NDNBOOST_PP_ITERATION_1 255
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 254 && BOOST_PP_ITERATION_START_1 >= 254
-#    define BOOST_PP_ITERATION_1 254
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 254 && NDNBOOST_PP_ITERATION_START_1 >= 254
+#    define NDNBOOST_PP_ITERATION_1 254
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 253 && BOOST_PP_ITERATION_START_1 >= 253
-#    define BOOST_PP_ITERATION_1 253
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 253 && NDNBOOST_PP_ITERATION_START_1 >= 253
+#    define NDNBOOST_PP_ITERATION_1 253
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 252 && BOOST_PP_ITERATION_START_1 >= 252
-#    define BOOST_PP_ITERATION_1 252
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 252 && NDNBOOST_PP_ITERATION_START_1 >= 252
+#    define NDNBOOST_PP_ITERATION_1 252
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 251 && BOOST_PP_ITERATION_START_1 >= 251
-#    define BOOST_PP_ITERATION_1 251
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 251 && NDNBOOST_PP_ITERATION_START_1 >= 251
+#    define NDNBOOST_PP_ITERATION_1 251
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 250 && BOOST_PP_ITERATION_START_1 >= 250
-#    define BOOST_PP_ITERATION_1 250
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 250 && NDNBOOST_PP_ITERATION_START_1 >= 250
+#    define NDNBOOST_PP_ITERATION_1 250
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 249 && BOOST_PP_ITERATION_START_1 >= 249
-#    define BOOST_PP_ITERATION_1 249
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 249 && NDNBOOST_PP_ITERATION_START_1 >= 249
+#    define NDNBOOST_PP_ITERATION_1 249
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 248 && BOOST_PP_ITERATION_START_1 >= 248
-#    define BOOST_PP_ITERATION_1 248
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 248 && NDNBOOST_PP_ITERATION_START_1 >= 248
+#    define NDNBOOST_PP_ITERATION_1 248
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 247 && BOOST_PP_ITERATION_START_1 >= 247
-#    define BOOST_PP_ITERATION_1 247
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 247 && NDNBOOST_PP_ITERATION_START_1 >= 247
+#    define NDNBOOST_PP_ITERATION_1 247
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 246 && BOOST_PP_ITERATION_START_1 >= 246
-#    define BOOST_PP_ITERATION_1 246
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 246 && NDNBOOST_PP_ITERATION_START_1 >= 246
+#    define NDNBOOST_PP_ITERATION_1 246
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 245 && BOOST_PP_ITERATION_START_1 >= 245
-#    define BOOST_PP_ITERATION_1 245
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 245 && NDNBOOST_PP_ITERATION_START_1 >= 245
+#    define NDNBOOST_PP_ITERATION_1 245
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 244 && BOOST_PP_ITERATION_START_1 >= 244
-#    define BOOST_PP_ITERATION_1 244
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 244 && NDNBOOST_PP_ITERATION_START_1 >= 244
+#    define NDNBOOST_PP_ITERATION_1 244
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 243 && BOOST_PP_ITERATION_START_1 >= 243
-#    define BOOST_PP_ITERATION_1 243
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 243 && NDNBOOST_PP_ITERATION_START_1 >= 243
+#    define NDNBOOST_PP_ITERATION_1 243
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 242 && BOOST_PP_ITERATION_START_1 >= 242
-#    define BOOST_PP_ITERATION_1 242
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 242 && NDNBOOST_PP_ITERATION_START_1 >= 242
+#    define NDNBOOST_PP_ITERATION_1 242
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 241 && BOOST_PP_ITERATION_START_1 >= 241
-#    define BOOST_PP_ITERATION_1 241
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 241 && NDNBOOST_PP_ITERATION_START_1 >= 241
+#    define NDNBOOST_PP_ITERATION_1 241
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 240 && BOOST_PP_ITERATION_START_1 >= 240
-#    define BOOST_PP_ITERATION_1 240
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 240 && NDNBOOST_PP_ITERATION_START_1 >= 240
+#    define NDNBOOST_PP_ITERATION_1 240
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 239 && BOOST_PP_ITERATION_START_1 >= 239
-#    define BOOST_PP_ITERATION_1 239
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 239 && NDNBOOST_PP_ITERATION_START_1 >= 239
+#    define NDNBOOST_PP_ITERATION_1 239
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 238 && BOOST_PP_ITERATION_START_1 >= 238
-#    define BOOST_PP_ITERATION_1 238
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 238 && NDNBOOST_PP_ITERATION_START_1 >= 238
+#    define NDNBOOST_PP_ITERATION_1 238
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 237 && BOOST_PP_ITERATION_START_1 >= 237
-#    define BOOST_PP_ITERATION_1 237
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 237 && NDNBOOST_PP_ITERATION_START_1 >= 237
+#    define NDNBOOST_PP_ITERATION_1 237
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 236 && BOOST_PP_ITERATION_START_1 >= 236
-#    define BOOST_PP_ITERATION_1 236
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 236 && NDNBOOST_PP_ITERATION_START_1 >= 236
+#    define NDNBOOST_PP_ITERATION_1 236
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 235 && BOOST_PP_ITERATION_START_1 >= 235
-#    define BOOST_PP_ITERATION_1 235
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 235 && NDNBOOST_PP_ITERATION_START_1 >= 235
+#    define NDNBOOST_PP_ITERATION_1 235
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 234 && BOOST_PP_ITERATION_START_1 >= 234
-#    define BOOST_PP_ITERATION_1 234
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 234 && NDNBOOST_PP_ITERATION_START_1 >= 234
+#    define NDNBOOST_PP_ITERATION_1 234
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 233 && BOOST_PP_ITERATION_START_1 >= 233
-#    define BOOST_PP_ITERATION_1 233
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 233 && NDNBOOST_PP_ITERATION_START_1 >= 233
+#    define NDNBOOST_PP_ITERATION_1 233
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 232 && BOOST_PP_ITERATION_START_1 >= 232
-#    define BOOST_PP_ITERATION_1 232
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 232 && NDNBOOST_PP_ITERATION_START_1 >= 232
+#    define NDNBOOST_PP_ITERATION_1 232
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 231 && BOOST_PP_ITERATION_START_1 >= 231
-#    define BOOST_PP_ITERATION_1 231
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 231 && NDNBOOST_PP_ITERATION_START_1 >= 231
+#    define NDNBOOST_PP_ITERATION_1 231
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 230 && BOOST_PP_ITERATION_START_1 >= 230
-#    define BOOST_PP_ITERATION_1 230
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 230 && NDNBOOST_PP_ITERATION_START_1 >= 230
+#    define NDNBOOST_PP_ITERATION_1 230
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 229 && BOOST_PP_ITERATION_START_1 >= 229
-#    define BOOST_PP_ITERATION_1 229
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 229 && NDNBOOST_PP_ITERATION_START_1 >= 229
+#    define NDNBOOST_PP_ITERATION_1 229
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 228 && BOOST_PP_ITERATION_START_1 >= 228
-#    define BOOST_PP_ITERATION_1 228
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 228 && NDNBOOST_PP_ITERATION_START_1 >= 228
+#    define NDNBOOST_PP_ITERATION_1 228
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 227 && BOOST_PP_ITERATION_START_1 >= 227
-#    define BOOST_PP_ITERATION_1 227
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 227 && NDNBOOST_PP_ITERATION_START_1 >= 227
+#    define NDNBOOST_PP_ITERATION_1 227
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 226 && BOOST_PP_ITERATION_START_1 >= 226
-#    define BOOST_PP_ITERATION_1 226
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 226 && NDNBOOST_PP_ITERATION_START_1 >= 226
+#    define NDNBOOST_PP_ITERATION_1 226
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 225 && BOOST_PP_ITERATION_START_1 >= 225
-#    define BOOST_PP_ITERATION_1 225
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 225 && NDNBOOST_PP_ITERATION_START_1 >= 225
+#    define NDNBOOST_PP_ITERATION_1 225
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 224 && BOOST_PP_ITERATION_START_1 >= 224
-#    define BOOST_PP_ITERATION_1 224
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 224 && NDNBOOST_PP_ITERATION_START_1 >= 224
+#    define NDNBOOST_PP_ITERATION_1 224
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 223 && BOOST_PP_ITERATION_START_1 >= 223
-#    define BOOST_PP_ITERATION_1 223
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 223 && NDNBOOST_PP_ITERATION_START_1 >= 223
+#    define NDNBOOST_PP_ITERATION_1 223
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 222 && BOOST_PP_ITERATION_START_1 >= 222
-#    define BOOST_PP_ITERATION_1 222
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 222 && NDNBOOST_PP_ITERATION_START_1 >= 222
+#    define NDNBOOST_PP_ITERATION_1 222
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 221 && BOOST_PP_ITERATION_START_1 >= 221
-#    define BOOST_PP_ITERATION_1 221
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 221 && NDNBOOST_PP_ITERATION_START_1 >= 221
+#    define NDNBOOST_PP_ITERATION_1 221
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 220 && BOOST_PP_ITERATION_START_1 >= 220
-#    define BOOST_PP_ITERATION_1 220
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 220 && NDNBOOST_PP_ITERATION_START_1 >= 220
+#    define NDNBOOST_PP_ITERATION_1 220
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 219 && BOOST_PP_ITERATION_START_1 >= 219
-#    define BOOST_PP_ITERATION_1 219
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 219 && NDNBOOST_PP_ITERATION_START_1 >= 219
+#    define NDNBOOST_PP_ITERATION_1 219
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 218 && BOOST_PP_ITERATION_START_1 >= 218
-#    define BOOST_PP_ITERATION_1 218
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 218 && NDNBOOST_PP_ITERATION_START_1 >= 218
+#    define NDNBOOST_PP_ITERATION_1 218
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 217 && BOOST_PP_ITERATION_START_1 >= 217
-#    define BOOST_PP_ITERATION_1 217
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 217 && NDNBOOST_PP_ITERATION_START_1 >= 217
+#    define NDNBOOST_PP_ITERATION_1 217
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 216 && BOOST_PP_ITERATION_START_1 >= 216
-#    define BOOST_PP_ITERATION_1 216
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 216 && NDNBOOST_PP_ITERATION_START_1 >= 216
+#    define NDNBOOST_PP_ITERATION_1 216
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 215 && BOOST_PP_ITERATION_START_1 >= 215
-#    define BOOST_PP_ITERATION_1 215
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 215 && NDNBOOST_PP_ITERATION_START_1 >= 215
+#    define NDNBOOST_PP_ITERATION_1 215
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 214 && BOOST_PP_ITERATION_START_1 >= 214
-#    define BOOST_PP_ITERATION_1 214
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 214 && NDNBOOST_PP_ITERATION_START_1 >= 214
+#    define NDNBOOST_PP_ITERATION_1 214
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 213 && BOOST_PP_ITERATION_START_1 >= 213
-#    define BOOST_PP_ITERATION_1 213
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 213 && NDNBOOST_PP_ITERATION_START_1 >= 213
+#    define NDNBOOST_PP_ITERATION_1 213
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 212 && BOOST_PP_ITERATION_START_1 >= 212
-#    define BOOST_PP_ITERATION_1 212
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 212 && NDNBOOST_PP_ITERATION_START_1 >= 212
+#    define NDNBOOST_PP_ITERATION_1 212
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 211 && BOOST_PP_ITERATION_START_1 >= 211
-#    define BOOST_PP_ITERATION_1 211
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 211 && NDNBOOST_PP_ITERATION_START_1 >= 211
+#    define NDNBOOST_PP_ITERATION_1 211
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 210 && BOOST_PP_ITERATION_START_1 >= 210
-#    define BOOST_PP_ITERATION_1 210
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 210 && NDNBOOST_PP_ITERATION_START_1 >= 210
+#    define NDNBOOST_PP_ITERATION_1 210
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 209 && BOOST_PP_ITERATION_START_1 >= 209
-#    define BOOST_PP_ITERATION_1 209
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 209 && NDNBOOST_PP_ITERATION_START_1 >= 209
+#    define NDNBOOST_PP_ITERATION_1 209
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 208 && BOOST_PP_ITERATION_START_1 >= 208
-#    define BOOST_PP_ITERATION_1 208
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 208 && NDNBOOST_PP_ITERATION_START_1 >= 208
+#    define NDNBOOST_PP_ITERATION_1 208
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 207 && BOOST_PP_ITERATION_START_1 >= 207
-#    define BOOST_PP_ITERATION_1 207
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 207 && NDNBOOST_PP_ITERATION_START_1 >= 207
+#    define NDNBOOST_PP_ITERATION_1 207
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 206 && BOOST_PP_ITERATION_START_1 >= 206
-#    define BOOST_PP_ITERATION_1 206
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 206 && NDNBOOST_PP_ITERATION_START_1 >= 206
+#    define NDNBOOST_PP_ITERATION_1 206
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 205 && BOOST_PP_ITERATION_START_1 >= 205
-#    define BOOST_PP_ITERATION_1 205
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 205 && NDNBOOST_PP_ITERATION_START_1 >= 205
+#    define NDNBOOST_PP_ITERATION_1 205
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 204 && BOOST_PP_ITERATION_START_1 >= 204
-#    define BOOST_PP_ITERATION_1 204
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 204 && NDNBOOST_PP_ITERATION_START_1 >= 204
+#    define NDNBOOST_PP_ITERATION_1 204
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 203 && BOOST_PP_ITERATION_START_1 >= 203
-#    define BOOST_PP_ITERATION_1 203
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 203 && NDNBOOST_PP_ITERATION_START_1 >= 203
+#    define NDNBOOST_PP_ITERATION_1 203
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 202 && BOOST_PP_ITERATION_START_1 >= 202
-#    define BOOST_PP_ITERATION_1 202
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 202 && NDNBOOST_PP_ITERATION_START_1 >= 202
+#    define NDNBOOST_PP_ITERATION_1 202
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 201 && BOOST_PP_ITERATION_START_1 >= 201
-#    define BOOST_PP_ITERATION_1 201
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 201 && NDNBOOST_PP_ITERATION_START_1 >= 201
+#    define NDNBOOST_PP_ITERATION_1 201
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 200 && BOOST_PP_ITERATION_START_1 >= 200
-#    define BOOST_PP_ITERATION_1 200
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 200 && NDNBOOST_PP_ITERATION_START_1 >= 200
+#    define NDNBOOST_PP_ITERATION_1 200
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 199 && BOOST_PP_ITERATION_START_1 >= 199
-#    define BOOST_PP_ITERATION_1 199
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 199 && NDNBOOST_PP_ITERATION_START_1 >= 199
+#    define NDNBOOST_PP_ITERATION_1 199
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 198 && BOOST_PP_ITERATION_START_1 >= 198
-#    define BOOST_PP_ITERATION_1 198
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 198 && NDNBOOST_PP_ITERATION_START_1 >= 198
+#    define NDNBOOST_PP_ITERATION_1 198
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 197 && BOOST_PP_ITERATION_START_1 >= 197
-#    define BOOST_PP_ITERATION_1 197
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 197 && NDNBOOST_PP_ITERATION_START_1 >= 197
+#    define NDNBOOST_PP_ITERATION_1 197
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 196 && BOOST_PP_ITERATION_START_1 >= 196
-#    define BOOST_PP_ITERATION_1 196
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 196 && NDNBOOST_PP_ITERATION_START_1 >= 196
+#    define NDNBOOST_PP_ITERATION_1 196
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 195 && BOOST_PP_ITERATION_START_1 >= 195
-#    define BOOST_PP_ITERATION_1 195
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 195 && NDNBOOST_PP_ITERATION_START_1 >= 195
+#    define NDNBOOST_PP_ITERATION_1 195
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 194 && BOOST_PP_ITERATION_START_1 >= 194
-#    define BOOST_PP_ITERATION_1 194
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 194 && NDNBOOST_PP_ITERATION_START_1 >= 194
+#    define NDNBOOST_PP_ITERATION_1 194
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 193 && BOOST_PP_ITERATION_START_1 >= 193
-#    define BOOST_PP_ITERATION_1 193
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 193 && NDNBOOST_PP_ITERATION_START_1 >= 193
+#    define NDNBOOST_PP_ITERATION_1 193
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 192 && BOOST_PP_ITERATION_START_1 >= 192
-#    define BOOST_PP_ITERATION_1 192
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 192 && NDNBOOST_PP_ITERATION_START_1 >= 192
+#    define NDNBOOST_PP_ITERATION_1 192
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 191 && BOOST_PP_ITERATION_START_1 >= 191
-#    define BOOST_PP_ITERATION_1 191
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 191 && NDNBOOST_PP_ITERATION_START_1 >= 191
+#    define NDNBOOST_PP_ITERATION_1 191
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 190 && BOOST_PP_ITERATION_START_1 >= 190
-#    define BOOST_PP_ITERATION_1 190
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 190 && NDNBOOST_PP_ITERATION_START_1 >= 190
+#    define NDNBOOST_PP_ITERATION_1 190
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 189 && BOOST_PP_ITERATION_START_1 >= 189
-#    define BOOST_PP_ITERATION_1 189
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 189 && NDNBOOST_PP_ITERATION_START_1 >= 189
+#    define NDNBOOST_PP_ITERATION_1 189
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 188 && BOOST_PP_ITERATION_START_1 >= 188
-#    define BOOST_PP_ITERATION_1 188
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 188 && NDNBOOST_PP_ITERATION_START_1 >= 188
+#    define NDNBOOST_PP_ITERATION_1 188
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 187 && BOOST_PP_ITERATION_START_1 >= 187
-#    define BOOST_PP_ITERATION_1 187
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 187 && NDNBOOST_PP_ITERATION_START_1 >= 187
+#    define NDNBOOST_PP_ITERATION_1 187
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 186 && BOOST_PP_ITERATION_START_1 >= 186
-#    define BOOST_PP_ITERATION_1 186
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 186 && NDNBOOST_PP_ITERATION_START_1 >= 186
+#    define NDNBOOST_PP_ITERATION_1 186
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 185 && BOOST_PP_ITERATION_START_1 >= 185
-#    define BOOST_PP_ITERATION_1 185
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 185 && NDNBOOST_PP_ITERATION_START_1 >= 185
+#    define NDNBOOST_PP_ITERATION_1 185
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 184 && BOOST_PP_ITERATION_START_1 >= 184
-#    define BOOST_PP_ITERATION_1 184
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 184 && NDNBOOST_PP_ITERATION_START_1 >= 184
+#    define NDNBOOST_PP_ITERATION_1 184
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 183 && BOOST_PP_ITERATION_START_1 >= 183
-#    define BOOST_PP_ITERATION_1 183
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 183 && NDNBOOST_PP_ITERATION_START_1 >= 183
+#    define NDNBOOST_PP_ITERATION_1 183
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 182 && BOOST_PP_ITERATION_START_1 >= 182
-#    define BOOST_PP_ITERATION_1 182
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 182 && NDNBOOST_PP_ITERATION_START_1 >= 182
+#    define NDNBOOST_PP_ITERATION_1 182
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 181 && BOOST_PP_ITERATION_START_1 >= 181
-#    define BOOST_PP_ITERATION_1 181
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 181 && NDNBOOST_PP_ITERATION_START_1 >= 181
+#    define NDNBOOST_PP_ITERATION_1 181
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 180 && BOOST_PP_ITERATION_START_1 >= 180
-#    define BOOST_PP_ITERATION_1 180
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 180 && NDNBOOST_PP_ITERATION_START_1 >= 180
+#    define NDNBOOST_PP_ITERATION_1 180
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 179 && BOOST_PP_ITERATION_START_1 >= 179
-#    define BOOST_PP_ITERATION_1 179
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 179 && NDNBOOST_PP_ITERATION_START_1 >= 179
+#    define NDNBOOST_PP_ITERATION_1 179
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 178 && BOOST_PP_ITERATION_START_1 >= 178
-#    define BOOST_PP_ITERATION_1 178
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 178 && NDNBOOST_PP_ITERATION_START_1 >= 178
+#    define NDNBOOST_PP_ITERATION_1 178
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 177 && BOOST_PP_ITERATION_START_1 >= 177
-#    define BOOST_PP_ITERATION_1 177
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 177 && NDNBOOST_PP_ITERATION_START_1 >= 177
+#    define NDNBOOST_PP_ITERATION_1 177
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 176 && BOOST_PP_ITERATION_START_1 >= 176
-#    define BOOST_PP_ITERATION_1 176
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 176 && NDNBOOST_PP_ITERATION_START_1 >= 176
+#    define NDNBOOST_PP_ITERATION_1 176
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 175 && BOOST_PP_ITERATION_START_1 >= 175
-#    define BOOST_PP_ITERATION_1 175
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 175 && NDNBOOST_PP_ITERATION_START_1 >= 175
+#    define NDNBOOST_PP_ITERATION_1 175
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 174 && BOOST_PP_ITERATION_START_1 >= 174
-#    define BOOST_PP_ITERATION_1 174
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 174 && NDNBOOST_PP_ITERATION_START_1 >= 174
+#    define NDNBOOST_PP_ITERATION_1 174
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 173 && BOOST_PP_ITERATION_START_1 >= 173
-#    define BOOST_PP_ITERATION_1 173
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 173 && NDNBOOST_PP_ITERATION_START_1 >= 173
+#    define NDNBOOST_PP_ITERATION_1 173
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 172 && BOOST_PP_ITERATION_START_1 >= 172
-#    define BOOST_PP_ITERATION_1 172
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 172 && NDNBOOST_PP_ITERATION_START_1 >= 172
+#    define NDNBOOST_PP_ITERATION_1 172
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 171 && BOOST_PP_ITERATION_START_1 >= 171
-#    define BOOST_PP_ITERATION_1 171
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 171 && NDNBOOST_PP_ITERATION_START_1 >= 171
+#    define NDNBOOST_PP_ITERATION_1 171
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 170 && BOOST_PP_ITERATION_START_1 >= 170
-#    define BOOST_PP_ITERATION_1 170
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 170 && NDNBOOST_PP_ITERATION_START_1 >= 170
+#    define NDNBOOST_PP_ITERATION_1 170
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 169 && BOOST_PP_ITERATION_START_1 >= 169
-#    define BOOST_PP_ITERATION_1 169
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 169 && NDNBOOST_PP_ITERATION_START_1 >= 169
+#    define NDNBOOST_PP_ITERATION_1 169
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 168 && BOOST_PP_ITERATION_START_1 >= 168
-#    define BOOST_PP_ITERATION_1 168
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 168 && NDNBOOST_PP_ITERATION_START_1 >= 168
+#    define NDNBOOST_PP_ITERATION_1 168
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 167 && BOOST_PP_ITERATION_START_1 >= 167
-#    define BOOST_PP_ITERATION_1 167
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 167 && NDNBOOST_PP_ITERATION_START_1 >= 167
+#    define NDNBOOST_PP_ITERATION_1 167
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 166 && BOOST_PP_ITERATION_START_1 >= 166
-#    define BOOST_PP_ITERATION_1 166
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 166 && NDNBOOST_PP_ITERATION_START_1 >= 166
+#    define NDNBOOST_PP_ITERATION_1 166
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 165 && BOOST_PP_ITERATION_START_1 >= 165
-#    define BOOST_PP_ITERATION_1 165
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 165 && NDNBOOST_PP_ITERATION_START_1 >= 165
+#    define NDNBOOST_PP_ITERATION_1 165
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 164 && BOOST_PP_ITERATION_START_1 >= 164
-#    define BOOST_PP_ITERATION_1 164
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 164 && NDNBOOST_PP_ITERATION_START_1 >= 164
+#    define NDNBOOST_PP_ITERATION_1 164
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 163 && BOOST_PP_ITERATION_START_1 >= 163
-#    define BOOST_PP_ITERATION_1 163
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 163 && NDNBOOST_PP_ITERATION_START_1 >= 163
+#    define NDNBOOST_PP_ITERATION_1 163
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 162 && BOOST_PP_ITERATION_START_1 >= 162
-#    define BOOST_PP_ITERATION_1 162
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 162 && NDNBOOST_PP_ITERATION_START_1 >= 162
+#    define NDNBOOST_PP_ITERATION_1 162
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 161 && BOOST_PP_ITERATION_START_1 >= 161
-#    define BOOST_PP_ITERATION_1 161
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 161 && NDNBOOST_PP_ITERATION_START_1 >= 161
+#    define NDNBOOST_PP_ITERATION_1 161
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 160 && BOOST_PP_ITERATION_START_1 >= 160
-#    define BOOST_PP_ITERATION_1 160
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 160 && NDNBOOST_PP_ITERATION_START_1 >= 160
+#    define NDNBOOST_PP_ITERATION_1 160
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 159 && BOOST_PP_ITERATION_START_1 >= 159
-#    define BOOST_PP_ITERATION_1 159
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 159 && NDNBOOST_PP_ITERATION_START_1 >= 159
+#    define NDNBOOST_PP_ITERATION_1 159
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 158 && BOOST_PP_ITERATION_START_1 >= 158
-#    define BOOST_PP_ITERATION_1 158
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 158 && NDNBOOST_PP_ITERATION_START_1 >= 158
+#    define NDNBOOST_PP_ITERATION_1 158
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 157 && BOOST_PP_ITERATION_START_1 >= 157
-#    define BOOST_PP_ITERATION_1 157
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 157 && NDNBOOST_PP_ITERATION_START_1 >= 157
+#    define NDNBOOST_PP_ITERATION_1 157
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 156 && BOOST_PP_ITERATION_START_1 >= 156
-#    define BOOST_PP_ITERATION_1 156
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 156 && NDNBOOST_PP_ITERATION_START_1 >= 156
+#    define NDNBOOST_PP_ITERATION_1 156
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 155 && BOOST_PP_ITERATION_START_1 >= 155
-#    define BOOST_PP_ITERATION_1 155
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 155 && NDNBOOST_PP_ITERATION_START_1 >= 155
+#    define NDNBOOST_PP_ITERATION_1 155
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 154 && BOOST_PP_ITERATION_START_1 >= 154
-#    define BOOST_PP_ITERATION_1 154
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 154 && NDNBOOST_PP_ITERATION_START_1 >= 154
+#    define NDNBOOST_PP_ITERATION_1 154
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 153 && BOOST_PP_ITERATION_START_1 >= 153
-#    define BOOST_PP_ITERATION_1 153
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 153 && NDNBOOST_PP_ITERATION_START_1 >= 153
+#    define NDNBOOST_PP_ITERATION_1 153
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 152 && BOOST_PP_ITERATION_START_1 >= 152
-#    define BOOST_PP_ITERATION_1 152
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 152 && NDNBOOST_PP_ITERATION_START_1 >= 152
+#    define NDNBOOST_PP_ITERATION_1 152
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 151 && BOOST_PP_ITERATION_START_1 >= 151
-#    define BOOST_PP_ITERATION_1 151
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 151 && NDNBOOST_PP_ITERATION_START_1 >= 151
+#    define NDNBOOST_PP_ITERATION_1 151
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 150 && BOOST_PP_ITERATION_START_1 >= 150
-#    define BOOST_PP_ITERATION_1 150
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 150 && NDNBOOST_PP_ITERATION_START_1 >= 150
+#    define NDNBOOST_PP_ITERATION_1 150
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 149 && BOOST_PP_ITERATION_START_1 >= 149
-#    define BOOST_PP_ITERATION_1 149
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 149 && NDNBOOST_PP_ITERATION_START_1 >= 149
+#    define NDNBOOST_PP_ITERATION_1 149
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 148 && BOOST_PP_ITERATION_START_1 >= 148
-#    define BOOST_PP_ITERATION_1 148
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 148 && NDNBOOST_PP_ITERATION_START_1 >= 148
+#    define NDNBOOST_PP_ITERATION_1 148
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 147 && BOOST_PP_ITERATION_START_1 >= 147
-#    define BOOST_PP_ITERATION_1 147
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 147 && NDNBOOST_PP_ITERATION_START_1 >= 147
+#    define NDNBOOST_PP_ITERATION_1 147
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 146 && BOOST_PP_ITERATION_START_1 >= 146
-#    define BOOST_PP_ITERATION_1 146
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 146 && NDNBOOST_PP_ITERATION_START_1 >= 146
+#    define NDNBOOST_PP_ITERATION_1 146
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 145 && BOOST_PP_ITERATION_START_1 >= 145
-#    define BOOST_PP_ITERATION_1 145
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 145 && NDNBOOST_PP_ITERATION_START_1 >= 145
+#    define NDNBOOST_PP_ITERATION_1 145
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 144 && BOOST_PP_ITERATION_START_1 >= 144
-#    define BOOST_PP_ITERATION_1 144
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 144 && NDNBOOST_PP_ITERATION_START_1 >= 144
+#    define NDNBOOST_PP_ITERATION_1 144
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 143 && BOOST_PP_ITERATION_START_1 >= 143
-#    define BOOST_PP_ITERATION_1 143
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 143 && NDNBOOST_PP_ITERATION_START_1 >= 143
+#    define NDNBOOST_PP_ITERATION_1 143
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 142 && BOOST_PP_ITERATION_START_1 >= 142
-#    define BOOST_PP_ITERATION_1 142
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 142 && NDNBOOST_PP_ITERATION_START_1 >= 142
+#    define NDNBOOST_PP_ITERATION_1 142
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 141 && BOOST_PP_ITERATION_START_1 >= 141
-#    define BOOST_PP_ITERATION_1 141
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 141 && NDNBOOST_PP_ITERATION_START_1 >= 141
+#    define NDNBOOST_PP_ITERATION_1 141
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 140 && BOOST_PP_ITERATION_START_1 >= 140
-#    define BOOST_PP_ITERATION_1 140
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 140 && NDNBOOST_PP_ITERATION_START_1 >= 140
+#    define NDNBOOST_PP_ITERATION_1 140
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 139 && BOOST_PP_ITERATION_START_1 >= 139
-#    define BOOST_PP_ITERATION_1 139
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 139 && NDNBOOST_PP_ITERATION_START_1 >= 139
+#    define NDNBOOST_PP_ITERATION_1 139
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 138 && BOOST_PP_ITERATION_START_1 >= 138
-#    define BOOST_PP_ITERATION_1 138
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 138 && NDNBOOST_PP_ITERATION_START_1 >= 138
+#    define NDNBOOST_PP_ITERATION_1 138
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 137 && BOOST_PP_ITERATION_START_1 >= 137
-#    define BOOST_PP_ITERATION_1 137
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 137 && NDNBOOST_PP_ITERATION_START_1 >= 137
+#    define NDNBOOST_PP_ITERATION_1 137
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 136 && BOOST_PP_ITERATION_START_1 >= 136
-#    define BOOST_PP_ITERATION_1 136
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 136 && NDNBOOST_PP_ITERATION_START_1 >= 136
+#    define NDNBOOST_PP_ITERATION_1 136
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 135 && BOOST_PP_ITERATION_START_1 >= 135
-#    define BOOST_PP_ITERATION_1 135
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 135 && NDNBOOST_PP_ITERATION_START_1 >= 135
+#    define NDNBOOST_PP_ITERATION_1 135
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 134 && BOOST_PP_ITERATION_START_1 >= 134
-#    define BOOST_PP_ITERATION_1 134
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 134 && NDNBOOST_PP_ITERATION_START_1 >= 134
+#    define NDNBOOST_PP_ITERATION_1 134
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 133 && BOOST_PP_ITERATION_START_1 >= 133
-#    define BOOST_PP_ITERATION_1 133
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 133 && NDNBOOST_PP_ITERATION_START_1 >= 133
+#    define NDNBOOST_PP_ITERATION_1 133
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 132 && BOOST_PP_ITERATION_START_1 >= 132
-#    define BOOST_PP_ITERATION_1 132
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 132 && NDNBOOST_PP_ITERATION_START_1 >= 132
+#    define NDNBOOST_PP_ITERATION_1 132
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 131 && BOOST_PP_ITERATION_START_1 >= 131
-#    define BOOST_PP_ITERATION_1 131
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 131 && NDNBOOST_PP_ITERATION_START_1 >= 131
+#    define NDNBOOST_PP_ITERATION_1 131
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 130 && BOOST_PP_ITERATION_START_1 >= 130
-#    define BOOST_PP_ITERATION_1 130
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 130 && NDNBOOST_PP_ITERATION_START_1 >= 130
+#    define NDNBOOST_PP_ITERATION_1 130
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 129 && BOOST_PP_ITERATION_START_1 >= 129
-#    define BOOST_PP_ITERATION_1 129
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 129 && NDNBOOST_PP_ITERATION_START_1 >= 129
+#    define NDNBOOST_PP_ITERATION_1 129
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 128 && BOOST_PP_ITERATION_START_1 >= 128
-#    define BOOST_PP_ITERATION_1 128
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 128 && NDNBOOST_PP_ITERATION_START_1 >= 128
+#    define NDNBOOST_PP_ITERATION_1 128
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 127 && BOOST_PP_ITERATION_START_1 >= 127
-#    define BOOST_PP_ITERATION_1 127
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 127 && NDNBOOST_PP_ITERATION_START_1 >= 127
+#    define NDNBOOST_PP_ITERATION_1 127
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 126 && BOOST_PP_ITERATION_START_1 >= 126
-#    define BOOST_PP_ITERATION_1 126
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 126 && NDNBOOST_PP_ITERATION_START_1 >= 126
+#    define NDNBOOST_PP_ITERATION_1 126
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 125 && BOOST_PP_ITERATION_START_1 >= 125
-#    define BOOST_PP_ITERATION_1 125
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 125 && NDNBOOST_PP_ITERATION_START_1 >= 125
+#    define NDNBOOST_PP_ITERATION_1 125
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 124 && BOOST_PP_ITERATION_START_1 >= 124
-#    define BOOST_PP_ITERATION_1 124
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 124 && NDNBOOST_PP_ITERATION_START_1 >= 124
+#    define NDNBOOST_PP_ITERATION_1 124
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 123 && BOOST_PP_ITERATION_START_1 >= 123
-#    define BOOST_PP_ITERATION_1 123
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 123 && NDNBOOST_PP_ITERATION_START_1 >= 123
+#    define NDNBOOST_PP_ITERATION_1 123
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 122 && BOOST_PP_ITERATION_START_1 >= 122
-#    define BOOST_PP_ITERATION_1 122
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 122 && NDNBOOST_PP_ITERATION_START_1 >= 122
+#    define NDNBOOST_PP_ITERATION_1 122
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 121 && BOOST_PP_ITERATION_START_1 >= 121
-#    define BOOST_PP_ITERATION_1 121
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 121 && NDNBOOST_PP_ITERATION_START_1 >= 121
+#    define NDNBOOST_PP_ITERATION_1 121
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 120 && BOOST_PP_ITERATION_START_1 >= 120
-#    define BOOST_PP_ITERATION_1 120
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 120 && NDNBOOST_PP_ITERATION_START_1 >= 120
+#    define NDNBOOST_PP_ITERATION_1 120
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 119 && BOOST_PP_ITERATION_START_1 >= 119
-#    define BOOST_PP_ITERATION_1 119
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 119 && NDNBOOST_PP_ITERATION_START_1 >= 119
+#    define NDNBOOST_PP_ITERATION_1 119
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 118 && BOOST_PP_ITERATION_START_1 >= 118
-#    define BOOST_PP_ITERATION_1 118
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 118 && NDNBOOST_PP_ITERATION_START_1 >= 118
+#    define NDNBOOST_PP_ITERATION_1 118
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 117 && BOOST_PP_ITERATION_START_1 >= 117
-#    define BOOST_PP_ITERATION_1 117
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 117 && NDNBOOST_PP_ITERATION_START_1 >= 117
+#    define NDNBOOST_PP_ITERATION_1 117
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 116 && BOOST_PP_ITERATION_START_1 >= 116
-#    define BOOST_PP_ITERATION_1 116
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 116 && NDNBOOST_PP_ITERATION_START_1 >= 116
+#    define NDNBOOST_PP_ITERATION_1 116
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 115 && BOOST_PP_ITERATION_START_1 >= 115
-#    define BOOST_PP_ITERATION_1 115
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 115 && NDNBOOST_PP_ITERATION_START_1 >= 115
+#    define NDNBOOST_PP_ITERATION_1 115
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 114 && BOOST_PP_ITERATION_START_1 >= 114
-#    define BOOST_PP_ITERATION_1 114
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 114 && NDNBOOST_PP_ITERATION_START_1 >= 114
+#    define NDNBOOST_PP_ITERATION_1 114
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 113 && BOOST_PP_ITERATION_START_1 >= 113
-#    define BOOST_PP_ITERATION_1 113
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 113 && NDNBOOST_PP_ITERATION_START_1 >= 113
+#    define NDNBOOST_PP_ITERATION_1 113
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 112 && BOOST_PP_ITERATION_START_1 >= 112
-#    define BOOST_PP_ITERATION_1 112
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 112 && NDNBOOST_PP_ITERATION_START_1 >= 112
+#    define NDNBOOST_PP_ITERATION_1 112
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 111 && BOOST_PP_ITERATION_START_1 >= 111
-#    define BOOST_PP_ITERATION_1 111
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 111 && NDNBOOST_PP_ITERATION_START_1 >= 111
+#    define NDNBOOST_PP_ITERATION_1 111
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 110 && BOOST_PP_ITERATION_START_1 >= 110
-#    define BOOST_PP_ITERATION_1 110
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 110 && NDNBOOST_PP_ITERATION_START_1 >= 110
+#    define NDNBOOST_PP_ITERATION_1 110
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 109 && BOOST_PP_ITERATION_START_1 >= 109
-#    define BOOST_PP_ITERATION_1 109
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 109 && NDNBOOST_PP_ITERATION_START_1 >= 109
+#    define NDNBOOST_PP_ITERATION_1 109
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 108 && BOOST_PP_ITERATION_START_1 >= 108
-#    define BOOST_PP_ITERATION_1 108
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 108 && NDNBOOST_PP_ITERATION_START_1 >= 108
+#    define NDNBOOST_PP_ITERATION_1 108
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 107 && BOOST_PP_ITERATION_START_1 >= 107
-#    define BOOST_PP_ITERATION_1 107
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 107 && NDNBOOST_PP_ITERATION_START_1 >= 107
+#    define NDNBOOST_PP_ITERATION_1 107
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 106 && BOOST_PP_ITERATION_START_1 >= 106
-#    define BOOST_PP_ITERATION_1 106
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 106 && NDNBOOST_PP_ITERATION_START_1 >= 106
+#    define NDNBOOST_PP_ITERATION_1 106
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 105 && BOOST_PP_ITERATION_START_1 >= 105
-#    define BOOST_PP_ITERATION_1 105
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 105 && NDNBOOST_PP_ITERATION_START_1 >= 105
+#    define NDNBOOST_PP_ITERATION_1 105
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 104 && BOOST_PP_ITERATION_START_1 >= 104
-#    define BOOST_PP_ITERATION_1 104
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 104 && NDNBOOST_PP_ITERATION_START_1 >= 104
+#    define NDNBOOST_PP_ITERATION_1 104
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 103 && BOOST_PP_ITERATION_START_1 >= 103
-#    define BOOST_PP_ITERATION_1 103
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 103 && NDNBOOST_PP_ITERATION_START_1 >= 103
+#    define NDNBOOST_PP_ITERATION_1 103
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 102 && BOOST_PP_ITERATION_START_1 >= 102
-#    define BOOST_PP_ITERATION_1 102
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 102 && NDNBOOST_PP_ITERATION_START_1 >= 102
+#    define NDNBOOST_PP_ITERATION_1 102
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 101 && BOOST_PP_ITERATION_START_1 >= 101
-#    define BOOST_PP_ITERATION_1 101
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 101 && NDNBOOST_PP_ITERATION_START_1 >= 101
+#    define NDNBOOST_PP_ITERATION_1 101
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 100 && BOOST_PP_ITERATION_START_1 >= 100
-#    define BOOST_PP_ITERATION_1 100
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 100 && NDNBOOST_PP_ITERATION_START_1 >= 100
+#    define NDNBOOST_PP_ITERATION_1 100
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 99 && BOOST_PP_ITERATION_START_1 >= 99
-#    define BOOST_PP_ITERATION_1 99
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 99 && NDNBOOST_PP_ITERATION_START_1 >= 99
+#    define NDNBOOST_PP_ITERATION_1 99
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 98 && BOOST_PP_ITERATION_START_1 >= 98
-#    define BOOST_PP_ITERATION_1 98
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 98 && NDNBOOST_PP_ITERATION_START_1 >= 98
+#    define NDNBOOST_PP_ITERATION_1 98
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 97 && BOOST_PP_ITERATION_START_1 >= 97
-#    define BOOST_PP_ITERATION_1 97
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 97 && NDNBOOST_PP_ITERATION_START_1 >= 97
+#    define NDNBOOST_PP_ITERATION_1 97
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 96 && BOOST_PP_ITERATION_START_1 >= 96
-#    define BOOST_PP_ITERATION_1 96
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 96 && NDNBOOST_PP_ITERATION_START_1 >= 96
+#    define NDNBOOST_PP_ITERATION_1 96
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 95 && BOOST_PP_ITERATION_START_1 >= 95
-#    define BOOST_PP_ITERATION_1 95
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 95 && NDNBOOST_PP_ITERATION_START_1 >= 95
+#    define NDNBOOST_PP_ITERATION_1 95
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 94 && BOOST_PP_ITERATION_START_1 >= 94
-#    define BOOST_PP_ITERATION_1 94
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 94 && NDNBOOST_PP_ITERATION_START_1 >= 94
+#    define NDNBOOST_PP_ITERATION_1 94
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 93 && BOOST_PP_ITERATION_START_1 >= 93
-#    define BOOST_PP_ITERATION_1 93
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 93 && NDNBOOST_PP_ITERATION_START_1 >= 93
+#    define NDNBOOST_PP_ITERATION_1 93
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 92 && BOOST_PP_ITERATION_START_1 >= 92
-#    define BOOST_PP_ITERATION_1 92
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 92 && NDNBOOST_PP_ITERATION_START_1 >= 92
+#    define NDNBOOST_PP_ITERATION_1 92
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 91 && BOOST_PP_ITERATION_START_1 >= 91
-#    define BOOST_PP_ITERATION_1 91
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 91 && NDNBOOST_PP_ITERATION_START_1 >= 91
+#    define NDNBOOST_PP_ITERATION_1 91
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 90 && BOOST_PP_ITERATION_START_1 >= 90
-#    define BOOST_PP_ITERATION_1 90
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 90 && NDNBOOST_PP_ITERATION_START_1 >= 90
+#    define NDNBOOST_PP_ITERATION_1 90
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 89 && BOOST_PP_ITERATION_START_1 >= 89
-#    define BOOST_PP_ITERATION_1 89
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 89 && NDNBOOST_PP_ITERATION_START_1 >= 89
+#    define NDNBOOST_PP_ITERATION_1 89
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 88 && BOOST_PP_ITERATION_START_1 >= 88
-#    define BOOST_PP_ITERATION_1 88
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 88 && NDNBOOST_PP_ITERATION_START_1 >= 88
+#    define NDNBOOST_PP_ITERATION_1 88
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 87 && BOOST_PP_ITERATION_START_1 >= 87
-#    define BOOST_PP_ITERATION_1 87
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 87 && NDNBOOST_PP_ITERATION_START_1 >= 87
+#    define NDNBOOST_PP_ITERATION_1 87
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 86 && BOOST_PP_ITERATION_START_1 >= 86
-#    define BOOST_PP_ITERATION_1 86
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 86 && NDNBOOST_PP_ITERATION_START_1 >= 86
+#    define NDNBOOST_PP_ITERATION_1 86
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 85 && BOOST_PP_ITERATION_START_1 >= 85
-#    define BOOST_PP_ITERATION_1 85
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 85 && NDNBOOST_PP_ITERATION_START_1 >= 85
+#    define NDNBOOST_PP_ITERATION_1 85
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 84 && BOOST_PP_ITERATION_START_1 >= 84
-#    define BOOST_PP_ITERATION_1 84
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 84 && NDNBOOST_PP_ITERATION_START_1 >= 84
+#    define NDNBOOST_PP_ITERATION_1 84
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 83 && BOOST_PP_ITERATION_START_1 >= 83
-#    define BOOST_PP_ITERATION_1 83
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 83 && NDNBOOST_PP_ITERATION_START_1 >= 83
+#    define NDNBOOST_PP_ITERATION_1 83
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 82 && BOOST_PP_ITERATION_START_1 >= 82
-#    define BOOST_PP_ITERATION_1 82
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 82 && NDNBOOST_PP_ITERATION_START_1 >= 82
+#    define NDNBOOST_PP_ITERATION_1 82
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 81 && BOOST_PP_ITERATION_START_1 >= 81
-#    define BOOST_PP_ITERATION_1 81
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 81 && NDNBOOST_PP_ITERATION_START_1 >= 81
+#    define NDNBOOST_PP_ITERATION_1 81
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 80 && BOOST_PP_ITERATION_START_1 >= 80
-#    define BOOST_PP_ITERATION_1 80
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 80 && NDNBOOST_PP_ITERATION_START_1 >= 80
+#    define NDNBOOST_PP_ITERATION_1 80
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 79 && BOOST_PP_ITERATION_START_1 >= 79
-#    define BOOST_PP_ITERATION_1 79
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 79 && NDNBOOST_PP_ITERATION_START_1 >= 79
+#    define NDNBOOST_PP_ITERATION_1 79
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 78 && BOOST_PP_ITERATION_START_1 >= 78
-#    define BOOST_PP_ITERATION_1 78
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 78 && NDNBOOST_PP_ITERATION_START_1 >= 78
+#    define NDNBOOST_PP_ITERATION_1 78
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 77 && BOOST_PP_ITERATION_START_1 >= 77
-#    define BOOST_PP_ITERATION_1 77
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 77 && NDNBOOST_PP_ITERATION_START_1 >= 77
+#    define NDNBOOST_PP_ITERATION_1 77
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 76 && BOOST_PP_ITERATION_START_1 >= 76
-#    define BOOST_PP_ITERATION_1 76
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 76 && NDNBOOST_PP_ITERATION_START_1 >= 76
+#    define NDNBOOST_PP_ITERATION_1 76
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 75 && BOOST_PP_ITERATION_START_1 >= 75
-#    define BOOST_PP_ITERATION_1 75
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 75 && NDNBOOST_PP_ITERATION_START_1 >= 75
+#    define NDNBOOST_PP_ITERATION_1 75
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 74 && BOOST_PP_ITERATION_START_1 >= 74
-#    define BOOST_PP_ITERATION_1 74
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 74 && NDNBOOST_PP_ITERATION_START_1 >= 74
+#    define NDNBOOST_PP_ITERATION_1 74
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 73 && BOOST_PP_ITERATION_START_1 >= 73
-#    define BOOST_PP_ITERATION_1 73
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 73 && NDNBOOST_PP_ITERATION_START_1 >= 73
+#    define NDNBOOST_PP_ITERATION_1 73
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 72 && BOOST_PP_ITERATION_START_1 >= 72
-#    define BOOST_PP_ITERATION_1 72
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 72 && NDNBOOST_PP_ITERATION_START_1 >= 72
+#    define NDNBOOST_PP_ITERATION_1 72
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 71 && BOOST_PP_ITERATION_START_1 >= 71
-#    define BOOST_PP_ITERATION_1 71
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 71 && NDNBOOST_PP_ITERATION_START_1 >= 71
+#    define NDNBOOST_PP_ITERATION_1 71
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 70 && BOOST_PP_ITERATION_START_1 >= 70
-#    define BOOST_PP_ITERATION_1 70
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 70 && NDNBOOST_PP_ITERATION_START_1 >= 70
+#    define NDNBOOST_PP_ITERATION_1 70
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 69 && BOOST_PP_ITERATION_START_1 >= 69
-#    define BOOST_PP_ITERATION_1 69
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 69 && NDNBOOST_PP_ITERATION_START_1 >= 69
+#    define NDNBOOST_PP_ITERATION_1 69
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 68 && BOOST_PP_ITERATION_START_1 >= 68
-#    define BOOST_PP_ITERATION_1 68
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 68 && NDNBOOST_PP_ITERATION_START_1 >= 68
+#    define NDNBOOST_PP_ITERATION_1 68
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 67 && BOOST_PP_ITERATION_START_1 >= 67
-#    define BOOST_PP_ITERATION_1 67
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 67 && NDNBOOST_PP_ITERATION_START_1 >= 67
+#    define NDNBOOST_PP_ITERATION_1 67
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 66 && BOOST_PP_ITERATION_START_1 >= 66
-#    define BOOST_PP_ITERATION_1 66
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 66 && NDNBOOST_PP_ITERATION_START_1 >= 66
+#    define NDNBOOST_PP_ITERATION_1 66
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 65 && BOOST_PP_ITERATION_START_1 >= 65
-#    define BOOST_PP_ITERATION_1 65
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 65 && NDNBOOST_PP_ITERATION_START_1 >= 65
+#    define NDNBOOST_PP_ITERATION_1 65
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 64 && BOOST_PP_ITERATION_START_1 >= 64
-#    define BOOST_PP_ITERATION_1 64
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 64 && NDNBOOST_PP_ITERATION_START_1 >= 64
+#    define NDNBOOST_PP_ITERATION_1 64
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 63 && BOOST_PP_ITERATION_START_1 >= 63
-#    define BOOST_PP_ITERATION_1 63
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 63 && NDNBOOST_PP_ITERATION_START_1 >= 63
+#    define NDNBOOST_PP_ITERATION_1 63
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 62 && BOOST_PP_ITERATION_START_1 >= 62
-#    define BOOST_PP_ITERATION_1 62
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 62 && NDNBOOST_PP_ITERATION_START_1 >= 62
+#    define NDNBOOST_PP_ITERATION_1 62
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 61 && BOOST_PP_ITERATION_START_1 >= 61
-#    define BOOST_PP_ITERATION_1 61
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 61 && NDNBOOST_PP_ITERATION_START_1 >= 61
+#    define NDNBOOST_PP_ITERATION_1 61
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 60 && BOOST_PP_ITERATION_START_1 >= 60
-#    define BOOST_PP_ITERATION_1 60
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 60 && NDNBOOST_PP_ITERATION_START_1 >= 60
+#    define NDNBOOST_PP_ITERATION_1 60
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 59 && BOOST_PP_ITERATION_START_1 >= 59
-#    define BOOST_PP_ITERATION_1 59
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 59 && NDNBOOST_PP_ITERATION_START_1 >= 59
+#    define NDNBOOST_PP_ITERATION_1 59
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 58 && BOOST_PP_ITERATION_START_1 >= 58
-#    define BOOST_PP_ITERATION_1 58
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 58 && NDNBOOST_PP_ITERATION_START_1 >= 58
+#    define NDNBOOST_PP_ITERATION_1 58
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 57 && BOOST_PP_ITERATION_START_1 >= 57
-#    define BOOST_PP_ITERATION_1 57
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 57 && NDNBOOST_PP_ITERATION_START_1 >= 57
+#    define NDNBOOST_PP_ITERATION_1 57
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 56 && BOOST_PP_ITERATION_START_1 >= 56
-#    define BOOST_PP_ITERATION_1 56
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 56 && NDNBOOST_PP_ITERATION_START_1 >= 56
+#    define NDNBOOST_PP_ITERATION_1 56
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 55 && BOOST_PP_ITERATION_START_1 >= 55
-#    define BOOST_PP_ITERATION_1 55
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 55 && NDNBOOST_PP_ITERATION_START_1 >= 55
+#    define NDNBOOST_PP_ITERATION_1 55
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 54 && BOOST_PP_ITERATION_START_1 >= 54
-#    define BOOST_PP_ITERATION_1 54
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 54 && NDNBOOST_PP_ITERATION_START_1 >= 54
+#    define NDNBOOST_PP_ITERATION_1 54
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 53 && BOOST_PP_ITERATION_START_1 >= 53
-#    define BOOST_PP_ITERATION_1 53
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 53 && NDNBOOST_PP_ITERATION_START_1 >= 53
+#    define NDNBOOST_PP_ITERATION_1 53
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 52 && BOOST_PP_ITERATION_START_1 >= 52
-#    define BOOST_PP_ITERATION_1 52
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 52 && NDNBOOST_PP_ITERATION_START_1 >= 52
+#    define NDNBOOST_PP_ITERATION_1 52
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 51 && BOOST_PP_ITERATION_START_1 >= 51
-#    define BOOST_PP_ITERATION_1 51
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 51 && NDNBOOST_PP_ITERATION_START_1 >= 51
+#    define NDNBOOST_PP_ITERATION_1 51
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 50 && BOOST_PP_ITERATION_START_1 >= 50
-#    define BOOST_PP_ITERATION_1 50
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 50 && NDNBOOST_PP_ITERATION_START_1 >= 50
+#    define NDNBOOST_PP_ITERATION_1 50
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 49 && BOOST_PP_ITERATION_START_1 >= 49
-#    define BOOST_PP_ITERATION_1 49
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 49 && NDNBOOST_PP_ITERATION_START_1 >= 49
+#    define NDNBOOST_PP_ITERATION_1 49
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 48 && BOOST_PP_ITERATION_START_1 >= 48
-#    define BOOST_PP_ITERATION_1 48
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 48 && NDNBOOST_PP_ITERATION_START_1 >= 48
+#    define NDNBOOST_PP_ITERATION_1 48
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 47 && BOOST_PP_ITERATION_START_1 >= 47
-#    define BOOST_PP_ITERATION_1 47
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 47 && NDNBOOST_PP_ITERATION_START_1 >= 47
+#    define NDNBOOST_PP_ITERATION_1 47
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 46 && BOOST_PP_ITERATION_START_1 >= 46
-#    define BOOST_PP_ITERATION_1 46
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 46 && NDNBOOST_PP_ITERATION_START_1 >= 46
+#    define NDNBOOST_PP_ITERATION_1 46
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 45 && BOOST_PP_ITERATION_START_1 >= 45
-#    define BOOST_PP_ITERATION_1 45
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 45 && NDNBOOST_PP_ITERATION_START_1 >= 45
+#    define NDNBOOST_PP_ITERATION_1 45
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 44 && BOOST_PP_ITERATION_START_1 >= 44
-#    define BOOST_PP_ITERATION_1 44
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 44 && NDNBOOST_PP_ITERATION_START_1 >= 44
+#    define NDNBOOST_PP_ITERATION_1 44
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 43 && BOOST_PP_ITERATION_START_1 >= 43
-#    define BOOST_PP_ITERATION_1 43
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 43 && NDNBOOST_PP_ITERATION_START_1 >= 43
+#    define NDNBOOST_PP_ITERATION_1 43
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 42 && BOOST_PP_ITERATION_START_1 >= 42
-#    define BOOST_PP_ITERATION_1 42
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 42 && NDNBOOST_PP_ITERATION_START_1 >= 42
+#    define NDNBOOST_PP_ITERATION_1 42
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 41 && BOOST_PP_ITERATION_START_1 >= 41
-#    define BOOST_PP_ITERATION_1 41
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 41 && NDNBOOST_PP_ITERATION_START_1 >= 41
+#    define NDNBOOST_PP_ITERATION_1 41
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 40 && BOOST_PP_ITERATION_START_1 >= 40
-#    define BOOST_PP_ITERATION_1 40
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 40 && NDNBOOST_PP_ITERATION_START_1 >= 40
+#    define NDNBOOST_PP_ITERATION_1 40
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 39 && BOOST_PP_ITERATION_START_1 >= 39
-#    define BOOST_PP_ITERATION_1 39
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 39 && NDNBOOST_PP_ITERATION_START_1 >= 39
+#    define NDNBOOST_PP_ITERATION_1 39
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 38 && BOOST_PP_ITERATION_START_1 >= 38
-#    define BOOST_PP_ITERATION_1 38
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 38 && NDNBOOST_PP_ITERATION_START_1 >= 38
+#    define NDNBOOST_PP_ITERATION_1 38
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 37 && BOOST_PP_ITERATION_START_1 >= 37
-#    define BOOST_PP_ITERATION_1 37
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 37 && NDNBOOST_PP_ITERATION_START_1 >= 37
+#    define NDNBOOST_PP_ITERATION_1 37
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 36 && BOOST_PP_ITERATION_START_1 >= 36
-#    define BOOST_PP_ITERATION_1 36
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 36 && NDNBOOST_PP_ITERATION_START_1 >= 36
+#    define NDNBOOST_PP_ITERATION_1 36
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 35 && BOOST_PP_ITERATION_START_1 >= 35
-#    define BOOST_PP_ITERATION_1 35
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 35 && NDNBOOST_PP_ITERATION_START_1 >= 35
+#    define NDNBOOST_PP_ITERATION_1 35
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 34 && BOOST_PP_ITERATION_START_1 >= 34
-#    define BOOST_PP_ITERATION_1 34
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 34 && NDNBOOST_PP_ITERATION_START_1 >= 34
+#    define NDNBOOST_PP_ITERATION_1 34
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 33 && BOOST_PP_ITERATION_START_1 >= 33
-#    define BOOST_PP_ITERATION_1 33
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 33 && NDNBOOST_PP_ITERATION_START_1 >= 33
+#    define NDNBOOST_PP_ITERATION_1 33
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 32 && BOOST_PP_ITERATION_START_1 >= 32
-#    define BOOST_PP_ITERATION_1 32
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 32 && NDNBOOST_PP_ITERATION_START_1 >= 32
+#    define NDNBOOST_PP_ITERATION_1 32
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 31 && BOOST_PP_ITERATION_START_1 >= 31
-#    define BOOST_PP_ITERATION_1 31
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 31 && NDNBOOST_PP_ITERATION_START_1 >= 31
+#    define NDNBOOST_PP_ITERATION_1 31
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 30 && BOOST_PP_ITERATION_START_1 >= 30
-#    define BOOST_PP_ITERATION_1 30
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 30 && NDNBOOST_PP_ITERATION_START_1 >= 30
+#    define NDNBOOST_PP_ITERATION_1 30
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 29 && BOOST_PP_ITERATION_START_1 >= 29
-#    define BOOST_PP_ITERATION_1 29
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 29 && NDNBOOST_PP_ITERATION_START_1 >= 29
+#    define NDNBOOST_PP_ITERATION_1 29
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 28 && BOOST_PP_ITERATION_START_1 >= 28
-#    define BOOST_PP_ITERATION_1 28
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 28 && NDNBOOST_PP_ITERATION_START_1 >= 28
+#    define NDNBOOST_PP_ITERATION_1 28
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 27 && BOOST_PP_ITERATION_START_1 >= 27
-#    define BOOST_PP_ITERATION_1 27
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 27 && NDNBOOST_PP_ITERATION_START_1 >= 27
+#    define NDNBOOST_PP_ITERATION_1 27
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 26 && BOOST_PP_ITERATION_START_1 >= 26
-#    define BOOST_PP_ITERATION_1 26
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 26 && NDNBOOST_PP_ITERATION_START_1 >= 26
+#    define NDNBOOST_PP_ITERATION_1 26
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 25 && BOOST_PP_ITERATION_START_1 >= 25
-#    define BOOST_PP_ITERATION_1 25
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 25 && NDNBOOST_PP_ITERATION_START_1 >= 25
+#    define NDNBOOST_PP_ITERATION_1 25
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 24 && BOOST_PP_ITERATION_START_1 >= 24
-#    define BOOST_PP_ITERATION_1 24
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 24 && NDNBOOST_PP_ITERATION_START_1 >= 24
+#    define NDNBOOST_PP_ITERATION_1 24
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 23 && BOOST_PP_ITERATION_START_1 >= 23
-#    define BOOST_PP_ITERATION_1 23
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 23 && NDNBOOST_PP_ITERATION_START_1 >= 23
+#    define NDNBOOST_PP_ITERATION_1 23
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 22 && BOOST_PP_ITERATION_START_1 >= 22
-#    define BOOST_PP_ITERATION_1 22
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 22 && NDNBOOST_PP_ITERATION_START_1 >= 22
+#    define NDNBOOST_PP_ITERATION_1 22
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 21 && BOOST_PP_ITERATION_START_1 >= 21
-#    define BOOST_PP_ITERATION_1 21
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 21 && NDNBOOST_PP_ITERATION_START_1 >= 21
+#    define NDNBOOST_PP_ITERATION_1 21
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 20 && BOOST_PP_ITERATION_START_1 >= 20
-#    define BOOST_PP_ITERATION_1 20
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 20 && NDNBOOST_PP_ITERATION_START_1 >= 20
+#    define NDNBOOST_PP_ITERATION_1 20
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 19 && BOOST_PP_ITERATION_START_1 >= 19
-#    define BOOST_PP_ITERATION_1 19
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 19 && NDNBOOST_PP_ITERATION_START_1 >= 19
+#    define NDNBOOST_PP_ITERATION_1 19
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 18 && BOOST_PP_ITERATION_START_1 >= 18
-#    define BOOST_PP_ITERATION_1 18
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 18 && NDNBOOST_PP_ITERATION_START_1 >= 18
+#    define NDNBOOST_PP_ITERATION_1 18
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 17 && BOOST_PP_ITERATION_START_1 >= 17
-#    define BOOST_PP_ITERATION_1 17
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 17 && NDNBOOST_PP_ITERATION_START_1 >= 17
+#    define NDNBOOST_PP_ITERATION_1 17
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 16 && BOOST_PP_ITERATION_START_1 >= 16
-#    define BOOST_PP_ITERATION_1 16
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 16 && NDNBOOST_PP_ITERATION_START_1 >= 16
+#    define NDNBOOST_PP_ITERATION_1 16
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 15 && BOOST_PP_ITERATION_START_1 >= 15
-#    define BOOST_PP_ITERATION_1 15
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 15 && NDNBOOST_PP_ITERATION_START_1 >= 15
+#    define NDNBOOST_PP_ITERATION_1 15
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 14 && BOOST_PP_ITERATION_START_1 >= 14
-#    define BOOST_PP_ITERATION_1 14
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 14 && NDNBOOST_PP_ITERATION_START_1 >= 14
+#    define NDNBOOST_PP_ITERATION_1 14
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 13 && BOOST_PP_ITERATION_START_1 >= 13
-#    define BOOST_PP_ITERATION_1 13
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 13 && NDNBOOST_PP_ITERATION_START_1 >= 13
+#    define NDNBOOST_PP_ITERATION_1 13
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 12 && BOOST_PP_ITERATION_START_1 >= 12
-#    define BOOST_PP_ITERATION_1 12
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 12 && NDNBOOST_PP_ITERATION_START_1 >= 12
+#    define NDNBOOST_PP_ITERATION_1 12
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 11 && BOOST_PP_ITERATION_START_1 >= 11
-#    define BOOST_PP_ITERATION_1 11
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 11 && NDNBOOST_PP_ITERATION_START_1 >= 11
+#    define NDNBOOST_PP_ITERATION_1 11
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 10 && BOOST_PP_ITERATION_START_1 >= 10
-#    define BOOST_PP_ITERATION_1 10
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 10 && NDNBOOST_PP_ITERATION_START_1 >= 10
+#    define NDNBOOST_PP_ITERATION_1 10
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 9 && BOOST_PP_ITERATION_START_1 >= 9
-#    define BOOST_PP_ITERATION_1 9
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 9 && NDNBOOST_PP_ITERATION_START_1 >= 9
+#    define NDNBOOST_PP_ITERATION_1 9
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 8 && BOOST_PP_ITERATION_START_1 >= 8
-#    define BOOST_PP_ITERATION_1 8
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 8 && NDNBOOST_PP_ITERATION_START_1 >= 8
+#    define NDNBOOST_PP_ITERATION_1 8
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 7 && BOOST_PP_ITERATION_START_1 >= 7
-#    define BOOST_PP_ITERATION_1 7
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 7 && NDNBOOST_PP_ITERATION_START_1 >= 7
+#    define NDNBOOST_PP_ITERATION_1 7
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 6 && BOOST_PP_ITERATION_START_1 >= 6
-#    define BOOST_PP_ITERATION_1 6
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 6 && NDNBOOST_PP_ITERATION_START_1 >= 6
+#    define NDNBOOST_PP_ITERATION_1 6
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 5 && BOOST_PP_ITERATION_START_1 >= 5
-#    define BOOST_PP_ITERATION_1 5
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 5 && NDNBOOST_PP_ITERATION_START_1 >= 5
+#    define NDNBOOST_PP_ITERATION_1 5
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 4 && BOOST_PP_ITERATION_START_1 >= 4
-#    define BOOST_PP_ITERATION_1 4
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 4 && NDNBOOST_PP_ITERATION_START_1 >= 4
+#    define NDNBOOST_PP_ITERATION_1 4
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 3 && BOOST_PP_ITERATION_START_1 >= 3
-#    define BOOST_PP_ITERATION_1 3
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 3 && NDNBOOST_PP_ITERATION_START_1 >= 3
+#    define NDNBOOST_PP_ITERATION_1 3
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 2 && BOOST_PP_ITERATION_START_1 >= 2
-#    define BOOST_PP_ITERATION_1 2
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 2 && NDNBOOST_PP_ITERATION_START_1 >= 2
+#    define NDNBOOST_PP_ITERATION_1 2
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 1 && BOOST_PP_ITERATION_START_1 >= 1
-#    define BOOST_PP_ITERATION_1 1
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 1 && NDNBOOST_PP_ITERATION_START_1 >= 1
+#    define NDNBOOST_PP_ITERATION_1 1
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 0 && BOOST_PP_ITERATION_START_1 >= 0
-#    define BOOST_PP_ITERATION_1 0
-#    include BOOST_PP_FILENAME_1
-#    undef BOOST_PP_ITERATION_1
+# if NDNBOOST_PP_ITERATION_FINISH_1 <= 0 && NDNBOOST_PP_ITERATION_START_1 >= 0
+#    define NDNBOOST_PP_ITERATION_1 0
+#    include NDNBOOST_PP_FILENAME_1
+#    undef NDNBOOST_PP_ITERATION_1
 # endif
diff --git a/include/ndnboost/preprocessor/iteration/detail/iter/reverse2.hpp b/include/ndnboost/preprocessor/iteration/detail/iter/reverse2.hpp
index 521bd24..56cc6b9 100644
--- a/include/ndnboost/preprocessor/iteration/detail/iter/reverse2.hpp
+++ b/include/ndnboost/preprocessor/iteration/detail/iter/reverse2.hpp
@@ -9,1288 +9,1288 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# if BOOST_PP_ITERATION_FINISH_2 <= 256 && BOOST_PP_ITERATION_START_2 >= 256
-#    define BOOST_PP_ITERATION_2 256
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 256 && NDNBOOST_PP_ITERATION_START_2 >= 256
+#    define NDNBOOST_PP_ITERATION_2 256
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 255 && BOOST_PP_ITERATION_START_2 >= 255
-#    define BOOST_PP_ITERATION_2 255
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 255 && NDNBOOST_PP_ITERATION_START_2 >= 255
+#    define NDNBOOST_PP_ITERATION_2 255
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 254 && BOOST_PP_ITERATION_START_2 >= 254
-#    define BOOST_PP_ITERATION_2 254
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 254 && NDNBOOST_PP_ITERATION_START_2 >= 254
+#    define NDNBOOST_PP_ITERATION_2 254
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 253 && BOOST_PP_ITERATION_START_2 >= 253
-#    define BOOST_PP_ITERATION_2 253
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 253 && NDNBOOST_PP_ITERATION_START_2 >= 253
+#    define NDNBOOST_PP_ITERATION_2 253
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 252 && BOOST_PP_ITERATION_START_2 >= 252
-#    define BOOST_PP_ITERATION_2 252
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 252 && NDNBOOST_PP_ITERATION_START_2 >= 252
+#    define NDNBOOST_PP_ITERATION_2 252
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 251 && BOOST_PP_ITERATION_START_2 >= 251
-#    define BOOST_PP_ITERATION_2 251
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 251 && NDNBOOST_PP_ITERATION_START_2 >= 251
+#    define NDNBOOST_PP_ITERATION_2 251
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 250 && BOOST_PP_ITERATION_START_2 >= 250
-#    define BOOST_PP_ITERATION_2 250
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 250 && NDNBOOST_PP_ITERATION_START_2 >= 250
+#    define NDNBOOST_PP_ITERATION_2 250
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 249 && BOOST_PP_ITERATION_START_2 >= 249
-#    define BOOST_PP_ITERATION_2 249
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 249 && NDNBOOST_PP_ITERATION_START_2 >= 249
+#    define NDNBOOST_PP_ITERATION_2 249
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 248 && BOOST_PP_ITERATION_START_2 >= 248
-#    define BOOST_PP_ITERATION_2 248
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 248 && NDNBOOST_PP_ITERATION_START_2 >= 248
+#    define NDNBOOST_PP_ITERATION_2 248
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 247 && BOOST_PP_ITERATION_START_2 >= 247
-#    define BOOST_PP_ITERATION_2 247
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 247 && NDNBOOST_PP_ITERATION_START_2 >= 247
+#    define NDNBOOST_PP_ITERATION_2 247
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 246 && BOOST_PP_ITERATION_START_2 >= 246
-#    define BOOST_PP_ITERATION_2 246
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 246 && NDNBOOST_PP_ITERATION_START_2 >= 246
+#    define NDNBOOST_PP_ITERATION_2 246
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 245 && BOOST_PP_ITERATION_START_2 >= 245
-#    define BOOST_PP_ITERATION_2 245
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 245 && NDNBOOST_PP_ITERATION_START_2 >= 245
+#    define NDNBOOST_PP_ITERATION_2 245
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 244 && BOOST_PP_ITERATION_START_2 >= 244
-#    define BOOST_PP_ITERATION_2 244
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 244 && NDNBOOST_PP_ITERATION_START_2 >= 244
+#    define NDNBOOST_PP_ITERATION_2 244
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 243 && BOOST_PP_ITERATION_START_2 >= 243
-#    define BOOST_PP_ITERATION_2 243
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 243 && NDNBOOST_PP_ITERATION_START_2 >= 243
+#    define NDNBOOST_PP_ITERATION_2 243
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 242 && BOOST_PP_ITERATION_START_2 >= 242
-#    define BOOST_PP_ITERATION_2 242
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 242 && NDNBOOST_PP_ITERATION_START_2 >= 242
+#    define NDNBOOST_PP_ITERATION_2 242
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 241 && BOOST_PP_ITERATION_START_2 >= 241
-#    define BOOST_PP_ITERATION_2 241
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 241 && NDNBOOST_PP_ITERATION_START_2 >= 241
+#    define NDNBOOST_PP_ITERATION_2 241
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 240 && BOOST_PP_ITERATION_START_2 >= 240
-#    define BOOST_PP_ITERATION_2 240
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 240 && NDNBOOST_PP_ITERATION_START_2 >= 240
+#    define NDNBOOST_PP_ITERATION_2 240
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 239 && BOOST_PP_ITERATION_START_2 >= 239
-#    define BOOST_PP_ITERATION_2 239
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 239 && NDNBOOST_PP_ITERATION_START_2 >= 239
+#    define NDNBOOST_PP_ITERATION_2 239
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 238 && BOOST_PP_ITERATION_START_2 >= 238
-#    define BOOST_PP_ITERATION_2 238
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 238 && NDNBOOST_PP_ITERATION_START_2 >= 238
+#    define NDNBOOST_PP_ITERATION_2 238
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 237 && BOOST_PP_ITERATION_START_2 >= 237
-#    define BOOST_PP_ITERATION_2 237
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 237 && NDNBOOST_PP_ITERATION_START_2 >= 237
+#    define NDNBOOST_PP_ITERATION_2 237
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 236 && BOOST_PP_ITERATION_START_2 >= 236
-#    define BOOST_PP_ITERATION_2 236
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 236 && NDNBOOST_PP_ITERATION_START_2 >= 236
+#    define NDNBOOST_PP_ITERATION_2 236
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 235 && BOOST_PP_ITERATION_START_2 >= 235
-#    define BOOST_PP_ITERATION_2 235
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 235 && NDNBOOST_PP_ITERATION_START_2 >= 235
+#    define NDNBOOST_PP_ITERATION_2 235
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 234 && BOOST_PP_ITERATION_START_2 >= 234
-#    define BOOST_PP_ITERATION_2 234
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 234 && NDNBOOST_PP_ITERATION_START_2 >= 234
+#    define NDNBOOST_PP_ITERATION_2 234
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 233 && BOOST_PP_ITERATION_START_2 >= 233
-#    define BOOST_PP_ITERATION_2 233
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 233 && NDNBOOST_PP_ITERATION_START_2 >= 233
+#    define NDNBOOST_PP_ITERATION_2 233
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 232 && BOOST_PP_ITERATION_START_2 >= 232
-#    define BOOST_PP_ITERATION_2 232
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 232 && NDNBOOST_PP_ITERATION_START_2 >= 232
+#    define NDNBOOST_PP_ITERATION_2 232
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 231 && BOOST_PP_ITERATION_START_2 >= 231
-#    define BOOST_PP_ITERATION_2 231
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 231 && NDNBOOST_PP_ITERATION_START_2 >= 231
+#    define NDNBOOST_PP_ITERATION_2 231
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 230 && BOOST_PP_ITERATION_START_2 >= 230
-#    define BOOST_PP_ITERATION_2 230
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 230 && NDNBOOST_PP_ITERATION_START_2 >= 230
+#    define NDNBOOST_PP_ITERATION_2 230
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 229 && BOOST_PP_ITERATION_START_2 >= 229
-#    define BOOST_PP_ITERATION_2 229
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 229 && NDNBOOST_PP_ITERATION_START_2 >= 229
+#    define NDNBOOST_PP_ITERATION_2 229
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 228 && BOOST_PP_ITERATION_START_2 >= 228
-#    define BOOST_PP_ITERATION_2 228
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 228 && NDNBOOST_PP_ITERATION_START_2 >= 228
+#    define NDNBOOST_PP_ITERATION_2 228
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 227 && BOOST_PP_ITERATION_START_2 >= 227
-#    define BOOST_PP_ITERATION_2 227
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 227 && NDNBOOST_PP_ITERATION_START_2 >= 227
+#    define NDNBOOST_PP_ITERATION_2 227
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 226 && BOOST_PP_ITERATION_START_2 >= 226
-#    define BOOST_PP_ITERATION_2 226
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 226 && NDNBOOST_PP_ITERATION_START_2 >= 226
+#    define NDNBOOST_PP_ITERATION_2 226
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 225 && BOOST_PP_ITERATION_START_2 >= 225
-#    define BOOST_PP_ITERATION_2 225
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 225 && NDNBOOST_PP_ITERATION_START_2 >= 225
+#    define NDNBOOST_PP_ITERATION_2 225
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 224 && BOOST_PP_ITERATION_START_2 >= 224
-#    define BOOST_PP_ITERATION_2 224
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 224 && NDNBOOST_PP_ITERATION_START_2 >= 224
+#    define NDNBOOST_PP_ITERATION_2 224
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 223 && BOOST_PP_ITERATION_START_2 >= 223
-#    define BOOST_PP_ITERATION_2 223
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 223 && NDNBOOST_PP_ITERATION_START_2 >= 223
+#    define NDNBOOST_PP_ITERATION_2 223
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 222 && BOOST_PP_ITERATION_START_2 >= 222
-#    define BOOST_PP_ITERATION_2 222
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 222 && NDNBOOST_PP_ITERATION_START_2 >= 222
+#    define NDNBOOST_PP_ITERATION_2 222
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 221 && BOOST_PP_ITERATION_START_2 >= 221
-#    define BOOST_PP_ITERATION_2 221
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 221 && NDNBOOST_PP_ITERATION_START_2 >= 221
+#    define NDNBOOST_PP_ITERATION_2 221
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 220 && BOOST_PP_ITERATION_START_2 >= 220
-#    define BOOST_PP_ITERATION_2 220
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 220 && NDNBOOST_PP_ITERATION_START_2 >= 220
+#    define NDNBOOST_PP_ITERATION_2 220
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 219 && BOOST_PP_ITERATION_START_2 >= 219
-#    define BOOST_PP_ITERATION_2 219
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 219 && NDNBOOST_PP_ITERATION_START_2 >= 219
+#    define NDNBOOST_PP_ITERATION_2 219
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 218 && BOOST_PP_ITERATION_START_2 >= 218
-#    define BOOST_PP_ITERATION_2 218
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 218 && NDNBOOST_PP_ITERATION_START_2 >= 218
+#    define NDNBOOST_PP_ITERATION_2 218
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 217 && BOOST_PP_ITERATION_START_2 >= 217
-#    define BOOST_PP_ITERATION_2 217
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 217 && NDNBOOST_PP_ITERATION_START_2 >= 217
+#    define NDNBOOST_PP_ITERATION_2 217
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 216 && BOOST_PP_ITERATION_START_2 >= 216
-#    define BOOST_PP_ITERATION_2 216
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 216 && NDNBOOST_PP_ITERATION_START_2 >= 216
+#    define NDNBOOST_PP_ITERATION_2 216
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 215 && BOOST_PP_ITERATION_START_2 >= 215
-#    define BOOST_PP_ITERATION_2 215
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 215 && NDNBOOST_PP_ITERATION_START_2 >= 215
+#    define NDNBOOST_PP_ITERATION_2 215
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 214 && BOOST_PP_ITERATION_START_2 >= 214
-#    define BOOST_PP_ITERATION_2 214
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 214 && NDNBOOST_PP_ITERATION_START_2 >= 214
+#    define NDNBOOST_PP_ITERATION_2 214
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 213 && BOOST_PP_ITERATION_START_2 >= 213
-#    define BOOST_PP_ITERATION_2 213
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 213 && NDNBOOST_PP_ITERATION_START_2 >= 213
+#    define NDNBOOST_PP_ITERATION_2 213
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 212 && BOOST_PP_ITERATION_START_2 >= 212
-#    define BOOST_PP_ITERATION_2 212
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 212 && NDNBOOST_PP_ITERATION_START_2 >= 212
+#    define NDNBOOST_PP_ITERATION_2 212
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 211 && BOOST_PP_ITERATION_START_2 >= 211
-#    define BOOST_PP_ITERATION_2 211
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 211 && NDNBOOST_PP_ITERATION_START_2 >= 211
+#    define NDNBOOST_PP_ITERATION_2 211
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 210 && BOOST_PP_ITERATION_START_2 >= 210
-#    define BOOST_PP_ITERATION_2 210
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 210 && NDNBOOST_PP_ITERATION_START_2 >= 210
+#    define NDNBOOST_PP_ITERATION_2 210
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 209 && BOOST_PP_ITERATION_START_2 >= 209
-#    define BOOST_PP_ITERATION_2 209
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 209 && NDNBOOST_PP_ITERATION_START_2 >= 209
+#    define NDNBOOST_PP_ITERATION_2 209
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 208 && BOOST_PP_ITERATION_START_2 >= 208
-#    define BOOST_PP_ITERATION_2 208
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 208 && NDNBOOST_PP_ITERATION_START_2 >= 208
+#    define NDNBOOST_PP_ITERATION_2 208
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 207 && BOOST_PP_ITERATION_START_2 >= 207
-#    define BOOST_PP_ITERATION_2 207
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 207 && NDNBOOST_PP_ITERATION_START_2 >= 207
+#    define NDNBOOST_PP_ITERATION_2 207
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 206 && BOOST_PP_ITERATION_START_2 >= 206
-#    define BOOST_PP_ITERATION_2 206
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 206 && NDNBOOST_PP_ITERATION_START_2 >= 206
+#    define NDNBOOST_PP_ITERATION_2 206
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 205 && BOOST_PP_ITERATION_START_2 >= 205
-#    define BOOST_PP_ITERATION_2 205
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 205 && NDNBOOST_PP_ITERATION_START_2 >= 205
+#    define NDNBOOST_PP_ITERATION_2 205
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 204 && BOOST_PP_ITERATION_START_2 >= 204
-#    define BOOST_PP_ITERATION_2 204
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 204 && NDNBOOST_PP_ITERATION_START_2 >= 204
+#    define NDNBOOST_PP_ITERATION_2 204
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 203 && BOOST_PP_ITERATION_START_2 >= 203
-#    define BOOST_PP_ITERATION_2 203
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 203 && NDNBOOST_PP_ITERATION_START_2 >= 203
+#    define NDNBOOST_PP_ITERATION_2 203
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 202 && BOOST_PP_ITERATION_START_2 >= 202
-#    define BOOST_PP_ITERATION_2 202
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 202 && NDNBOOST_PP_ITERATION_START_2 >= 202
+#    define NDNBOOST_PP_ITERATION_2 202
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 201 && BOOST_PP_ITERATION_START_2 >= 201
-#    define BOOST_PP_ITERATION_2 201
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 201 && NDNBOOST_PP_ITERATION_START_2 >= 201
+#    define NDNBOOST_PP_ITERATION_2 201
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 200 && BOOST_PP_ITERATION_START_2 >= 200
-#    define BOOST_PP_ITERATION_2 200
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 200 && NDNBOOST_PP_ITERATION_START_2 >= 200
+#    define NDNBOOST_PP_ITERATION_2 200
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 199 && BOOST_PP_ITERATION_START_2 >= 199
-#    define BOOST_PP_ITERATION_2 199
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 199 && NDNBOOST_PP_ITERATION_START_2 >= 199
+#    define NDNBOOST_PP_ITERATION_2 199
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 198 && BOOST_PP_ITERATION_START_2 >= 198
-#    define BOOST_PP_ITERATION_2 198
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 198 && NDNBOOST_PP_ITERATION_START_2 >= 198
+#    define NDNBOOST_PP_ITERATION_2 198
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 197 && BOOST_PP_ITERATION_START_2 >= 197
-#    define BOOST_PP_ITERATION_2 197
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 197 && NDNBOOST_PP_ITERATION_START_2 >= 197
+#    define NDNBOOST_PP_ITERATION_2 197
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 196 && BOOST_PP_ITERATION_START_2 >= 196
-#    define BOOST_PP_ITERATION_2 196
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 196 && NDNBOOST_PP_ITERATION_START_2 >= 196
+#    define NDNBOOST_PP_ITERATION_2 196
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 195 && BOOST_PP_ITERATION_START_2 >= 195
-#    define BOOST_PP_ITERATION_2 195
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 195 && NDNBOOST_PP_ITERATION_START_2 >= 195
+#    define NDNBOOST_PP_ITERATION_2 195
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 194 && BOOST_PP_ITERATION_START_2 >= 194
-#    define BOOST_PP_ITERATION_2 194
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 194 && NDNBOOST_PP_ITERATION_START_2 >= 194
+#    define NDNBOOST_PP_ITERATION_2 194
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 193 && BOOST_PP_ITERATION_START_2 >= 193
-#    define BOOST_PP_ITERATION_2 193
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 193 && NDNBOOST_PP_ITERATION_START_2 >= 193
+#    define NDNBOOST_PP_ITERATION_2 193
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 192 && BOOST_PP_ITERATION_START_2 >= 192
-#    define BOOST_PP_ITERATION_2 192
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 192 && NDNBOOST_PP_ITERATION_START_2 >= 192
+#    define NDNBOOST_PP_ITERATION_2 192
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 191 && BOOST_PP_ITERATION_START_2 >= 191
-#    define BOOST_PP_ITERATION_2 191
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 191 && NDNBOOST_PP_ITERATION_START_2 >= 191
+#    define NDNBOOST_PP_ITERATION_2 191
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 190 && BOOST_PP_ITERATION_START_2 >= 190
-#    define BOOST_PP_ITERATION_2 190
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 190 && NDNBOOST_PP_ITERATION_START_2 >= 190
+#    define NDNBOOST_PP_ITERATION_2 190
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 189 && BOOST_PP_ITERATION_START_2 >= 189
-#    define BOOST_PP_ITERATION_2 189
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 189 && NDNBOOST_PP_ITERATION_START_2 >= 189
+#    define NDNBOOST_PP_ITERATION_2 189
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 188 && BOOST_PP_ITERATION_START_2 >= 188
-#    define BOOST_PP_ITERATION_2 188
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 188 && NDNBOOST_PP_ITERATION_START_2 >= 188
+#    define NDNBOOST_PP_ITERATION_2 188
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 187 && BOOST_PP_ITERATION_START_2 >= 187
-#    define BOOST_PP_ITERATION_2 187
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 187 && NDNBOOST_PP_ITERATION_START_2 >= 187
+#    define NDNBOOST_PP_ITERATION_2 187
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 186 && BOOST_PP_ITERATION_START_2 >= 186
-#    define BOOST_PP_ITERATION_2 186
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 186 && NDNBOOST_PP_ITERATION_START_2 >= 186
+#    define NDNBOOST_PP_ITERATION_2 186
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 185 && BOOST_PP_ITERATION_START_2 >= 185
-#    define BOOST_PP_ITERATION_2 185
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 185 && NDNBOOST_PP_ITERATION_START_2 >= 185
+#    define NDNBOOST_PP_ITERATION_2 185
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 184 && BOOST_PP_ITERATION_START_2 >= 184
-#    define BOOST_PP_ITERATION_2 184
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 184 && NDNBOOST_PP_ITERATION_START_2 >= 184
+#    define NDNBOOST_PP_ITERATION_2 184
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 183 && BOOST_PP_ITERATION_START_2 >= 183
-#    define BOOST_PP_ITERATION_2 183
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 183 && NDNBOOST_PP_ITERATION_START_2 >= 183
+#    define NDNBOOST_PP_ITERATION_2 183
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 182 && BOOST_PP_ITERATION_START_2 >= 182
-#    define BOOST_PP_ITERATION_2 182
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 182 && NDNBOOST_PP_ITERATION_START_2 >= 182
+#    define NDNBOOST_PP_ITERATION_2 182
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 181 && BOOST_PP_ITERATION_START_2 >= 181
-#    define BOOST_PP_ITERATION_2 181
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 181 && NDNBOOST_PP_ITERATION_START_2 >= 181
+#    define NDNBOOST_PP_ITERATION_2 181
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 180 && BOOST_PP_ITERATION_START_2 >= 180
-#    define BOOST_PP_ITERATION_2 180
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 180 && NDNBOOST_PP_ITERATION_START_2 >= 180
+#    define NDNBOOST_PP_ITERATION_2 180
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 179 && BOOST_PP_ITERATION_START_2 >= 179
-#    define BOOST_PP_ITERATION_2 179
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 179 && NDNBOOST_PP_ITERATION_START_2 >= 179
+#    define NDNBOOST_PP_ITERATION_2 179
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 178 && BOOST_PP_ITERATION_START_2 >= 178
-#    define BOOST_PP_ITERATION_2 178
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 178 && NDNBOOST_PP_ITERATION_START_2 >= 178
+#    define NDNBOOST_PP_ITERATION_2 178
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 177 && BOOST_PP_ITERATION_START_2 >= 177
-#    define BOOST_PP_ITERATION_2 177
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 177 && NDNBOOST_PP_ITERATION_START_2 >= 177
+#    define NDNBOOST_PP_ITERATION_2 177
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 176 && BOOST_PP_ITERATION_START_2 >= 176
-#    define BOOST_PP_ITERATION_2 176
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 176 && NDNBOOST_PP_ITERATION_START_2 >= 176
+#    define NDNBOOST_PP_ITERATION_2 176
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 175 && BOOST_PP_ITERATION_START_2 >= 175
-#    define BOOST_PP_ITERATION_2 175
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 175 && NDNBOOST_PP_ITERATION_START_2 >= 175
+#    define NDNBOOST_PP_ITERATION_2 175
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 174 && BOOST_PP_ITERATION_START_2 >= 174
-#    define BOOST_PP_ITERATION_2 174
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 174 && NDNBOOST_PP_ITERATION_START_2 >= 174
+#    define NDNBOOST_PP_ITERATION_2 174
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 173 && BOOST_PP_ITERATION_START_2 >= 173
-#    define BOOST_PP_ITERATION_2 173
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 173 && NDNBOOST_PP_ITERATION_START_2 >= 173
+#    define NDNBOOST_PP_ITERATION_2 173
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 172 && BOOST_PP_ITERATION_START_2 >= 172
-#    define BOOST_PP_ITERATION_2 172
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 172 && NDNBOOST_PP_ITERATION_START_2 >= 172
+#    define NDNBOOST_PP_ITERATION_2 172
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 171 && BOOST_PP_ITERATION_START_2 >= 171
-#    define BOOST_PP_ITERATION_2 171
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 171 && NDNBOOST_PP_ITERATION_START_2 >= 171
+#    define NDNBOOST_PP_ITERATION_2 171
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 170 && BOOST_PP_ITERATION_START_2 >= 170
-#    define BOOST_PP_ITERATION_2 170
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 170 && NDNBOOST_PP_ITERATION_START_2 >= 170
+#    define NDNBOOST_PP_ITERATION_2 170
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 169 && BOOST_PP_ITERATION_START_2 >= 169
-#    define BOOST_PP_ITERATION_2 169
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 169 && NDNBOOST_PP_ITERATION_START_2 >= 169
+#    define NDNBOOST_PP_ITERATION_2 169
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 168 && BOOST_PP_ITERATION_START_2 >= 168
-#    define BOOST_PP_ITERATION_2 168
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 168 && NDNBOOST_PP_ITERATION_START_2 >= 168
+#    define NDNBOOST_PP_ITERATION_2 168
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 167 && BOOST_PP_ITERATION_START_2 >= 167
-#    define BOOST_PP_ITERATION_2 167
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 167 && NDNBOOST_PP_ITERATION_START_2 >= 167
+#    define NDNBOOST_PP_ITERATION_2 167
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 166 && BOOST_PP_ITERATION_START_2 >= 166
-#    define BOOST_PP_ITERATION_2 166
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 166 && NDNBOOST_PP_ITERATION_START_2 >= 166
+#    define NDNBOOST_PP_ITERATION_2 166
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 165 && BOOST_PP_ITERATION_START_2 >= 165
-#    define BOOST_PP_ITERATION_2 165
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 165 && NDNBOOST_PP_ITERATION_START_2 >= 165
+#    define NDNBOOST_PP_ITERATION_2 165
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 164 && BOOST_PP_ITERATION_START_2 >= 164
-#    define BOOST_PP_ITERATION_2 164
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 164 && NDNBOOST_PP_ITERATION_START_2 >= 164
+#    define NDNBOOST_PP_ITERATION_2 164
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 163 && BOOST_PP_ITERATION_START_2 >= 163
-#    define BOOST_PP_ITERATION_2 163
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 163 && NDNBOOST_PP_ITERATION_START_2 >= 163
+#    define NDNBOOST_PP_ITERATION_2 163
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 162 && BOOST_PP_ITERATION_START_2 >= 162
-#    define BOOST_PP_ITERATION_2 162
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 162 && NDNBOOST_PP_ITERATION_START_2 >= 162
+#    define NDNBOOST_PP_ITERATION_2 162
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 161 && BOOST_PP_ITERATION_START_2 >= 161
-#    define BOOST_PP_ITERATION_2 161
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 161 && NDNBOOST_PP_ITERATION_START_2 >= 161
+#    define NDNBOOST_PP_ITERATION_2 161
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 160 && BOOST_PP_ITERATION_START_2 >= 160
-#    define BOOST_PP_ITERATION_2 160
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 160 && NDNBOOST_PP_ITERATION_START_2 >= 160
+#    define NDNBOOST_PP_ITERATION_2 160
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 159 && BOOST_PP_ITERATION_START_2 >= 159
-#    define BOOST_PP_ITERATION_2 159
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 159 && NDNBOOST_PP_ITERATION_START_2 >= 159
+#    define NDNBOOST_PP_ITERATION_2 159
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 158 && BOOST_PP_ITERATION_START_2 >= 158
-#    define BOOST_PP_ITERATION_2 158
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 158 && NDNBOOST_PP_ITERATION_START_2 >= 158
+#    define NDNBOOST_PP_ITERATION_2 158
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 157 && BOOST_PP_ITERATION_START_2 >= 157
-#    define BOOST_PP_ITERATION_2 157
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 157 && NDNBOOST_PP_ITERATION_START_2 >= 157
+#    define NDNBOOST_PP_ITERATION_2 157
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 156 && BOOST_PP_ITERATION_START_2 >= 156
-#    define BOOST_PP_ITERATION_2 156
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 156 && NDNBOOST_PP_ITERATION_START_2 >= 156
+#    define NDNBOOST_PP_ITERATION_2 156
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 155 && BOOST_PP_ITERATION_START_2 >= 155
-#    define BOOST_PP_ITERATION_2 155
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 155 && NDNBOOST_PP_ITERATION_START_2 >= 155
+#    define NDNBOOST_PP_ITERATION_2 155
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 154 && BOOST_PP_ITERATION_START_2 >= 154
-#    define BOOST_PP_ITERATION_2 154
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 154 && NDNBOOST_PP_ITERATION_START_2 >= 154
+#    define NDNBOOST_PP_ITERATION_2 154
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 153 && BOOST_PP_ITERATION_START_2 >= 153
-#    define BOOST_PP_ITERATION_2 153
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 153 && NDNBOOST_PP_ITERATION_START_2 >= 153
+#    define NDNBOOST_PP_ITERATION_2 153
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 152 && BOOST_PP_ITERATION_START_2 >= 152
-#    define BOOST_PP_ITERATION_2 152
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 152 && NDNBOOST_PP_ITERATION_START_2 >= 152
+#    define NDNBOOST_PP_ITERATION_2 152
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 151 && BOOST_PP_ITERATION_START_2 >= 151
-#    define BOOST_PP_ITERATION_2 151
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 151 && NDNBOOST_PP_ITERATION_START_2 >= 151
+#    define NDNBOOST_PP_ITERATION_2 151
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 150 && BOOST_PP_ITERATION_START_2 >= 150
-#    define BOOST_PP_ITERATION_2 150
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 150 && NDNBOOST_PP_ITERATION_START_2 >= 150
+#    define NDNBOOST_PP_ITERATION_2 150
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 149 && BOOST_PP_ITERATION_START_2 >= 149
-#    define BOOST_PP_ITERATION_2 149
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 149 && NDNBOOST_PP_ITERATION_START_2 >= 149
+#    define NDNBOOST_PP_ITERATION_2 149
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 148 && BOOST_PP_ITERATION_START_2 >= 148
-#    define BOOST_PP_ITERATION_2 148
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 148 && NDNBOOST_PP_ITERATION_START_2 >= 148
+#    define NDNBOOST_PP_ITERATION_2 148
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 147 && BOOST_PP_ITERATION_START_2 >= 147
-#    define BOOST_PP_ITERATION_2 147
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 147 && NDNBOOST_PP_ITERATION_START_2 >= 147
+#    define NDNBOOST_PP_ITERATION_2 147
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 146 && BOOST_PP_ITERATION_START_2 >= 146
-#    define BOOST_PP_ITERATION_2 146
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 146 && NDNBOOST_PP_ITERATION_START_2 >= 146
+#    define NDNBOOST_PP_ITERATION_2 146
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 145 && BOOST_PP_ITERATION_START_2 >= 145
-#    define BOOST_PP_ITERATION_2 145
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 145 && NDNBOOST_PP_ITERATION_START_2 >= 145
+#    define NDNBOOST_PP_ITERATION_2 145
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 144 && BOOST_PP_ITERATION_START_2 >= 144
-#    define BOOST_PP_ITERATION_2 144
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 144 && NDNBOOST_PP_ITERATION_START_2 >= 144
+#    define NDNBOOST_PP_ITERATION_2 144
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 143 && BOOST_PP_ITERATION_START_2 >= 143
-#    define BOOST_PP_ITERATION_2 143
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 143 && NDNBOOST_PP_ITERATION_START_2 >= 143
+#    define NDNBOOST_PP_ITERATION_2 143
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 142 && BOOST_PP_ITERATION_START_2 >= 142
-#    define BOOST_PP_ITERATION_2 142
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 142 && NDNBOOST_PP_ITERATION_START_2 >= 142
+#    define NDNBOOST_PP_ITERATION_2 142
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 141 && BOOST_PP_ITERATION_START_2 >= 141
-#    define BOOST_PP_ITERATION_2 141
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 141 && NDNBOOST_PP_ITERATION_START_2 >= 141
+#    define NDNBOOST_PP_ITERATION_2 141
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 140 && BOOST_PP_ITERATION_START_2 >= 140
-#    define BOOST_PP_ITERATION_2 140
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 140 && NDNBOOST_PP_ITERATION_START_2 >= 140
+#    define NDNBOOST_PP_ITERATION_2 140
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 139 && BOOST_PP_ITERATION_START_2 >= 139
-#    define BOOST_PP_ITERATION_2 139
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 139 && NDNBOOST_PP_ITERATION_START_2 >= 139
+#    define NDNBOOST_PP_ITERATION_2 139
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 138 && BOOST_PP_ITERATION_START_2 >= 138
-#    define BOOST_PP_ITERATION_2 138
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 138 && NDNBOOST_PP_ITERATION_START_2 >= 138
+#    define NDNBOOST_PP_ITERATION_2 138
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 137 && BOOST_PP_ITERATION_START_2 >= 137
-#    define BOOST_PP_ITERATION_2 137
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 137 && NDNBOOST_PP_ITERATION_START_2 >= 137
+#    define NDNBOOST_PP_ITERATION_2 137
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 136 && BOOST_PP_ITERATION_START_2 >= 136
-#    define BOOST_PP_ITERATION_2 136
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 136 && NDNBOOST_PP_ITERATION_START_2 >= 136
+#    define NDNBOOST_PP_ITERATION_2 136
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 135 && BOOST_PP_ITERATION_START_2 >= 135
-#    define BOOST_PP_ITERATION_2 135
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 135 && NDNBOOST_PP_ITERATION_START_2 >= 135
+#    define NDNBOOST_PP_ITERATION_2 135
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 134 && BOOST_PP_ITERATION_START_2 >= 134
-#    define BOOST_PP_ITERATION_2 134
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 134 && NDNBOOST_PP_ITERATION_START_2 >= 134
+#    define NDNBOOST_PP_ITERATION_2 134
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 133 && BOOST_PP_ITERATION_START_2 >= 133
-#    define BOOST_PP_ITERATION_2 133
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 133 && NDNBOOST_PP_ITERATION_START_2 >= 133
+#    define NDNBOOST_PP_ITERATION_2 133
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 132 && BOOST_PP_ITERATION_START_2 >= 132
-#    define BOOST_PP_ITERATION_2 132
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 132 && NDNBOOST_PP_ITERATION_START_2 >= 132
+#    define NDNBOOST_PP_ITERATION_2 132
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 131 && BOOST_PP_ITERATION_START_2 >= 131
-#    define BOOST_PP_ITERATION_2 131
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 131 && NDNBOOST_PP_ITERATION_START_2 >= 131
+#    define NDNBOOST_PP_ITERATION_2 131
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 130 && BOOST_PP_ITERATION_START_2 >= 130
-#    define BOOST_PP_ITERATION_2 130
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 130 && NDNBOOST_PP_ITERATION_START_2 >= 130
+#    define NDNBOOST_PP_ITERATION_2 130
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 129 && BOOST_PP_ITERATION_START_2 >= 129
-#    define BOOST_PP_ITERATION_2 129
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 129 && NDNBOOST_PP_ITERATION_START_2 >= 129
+#    define NDNBOOST_PP_ITERATION_2 129
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 128 && BOOST_PP_ITERATION_START_2 >= 128
-#    define BOOST_PP_ITERATION_2 128
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 128 && NDNBOOST_PP_ITERATION_START_2 >= 128
+#    define NDNBOOST_PP_ITERATION_2 128
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 127 && BOOST_PP_ITERATION_START_2 >= 127
-#    define BOOST_PP_ITERATION_2 127
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 127 && NDNBOOST_PP_ITERATION_START_2 >= 127
+#    define NDNBOOST_PP_ITERATION_2 127
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 126 && BOOST_PP_ITERATION_START_2 >= 126
-#    define BOOST_PP_ITERATION_2 126
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 126 && NDNBOOST_PP_ITERATION_START_2 >= 126
+#    define NDNBOOST_PP_ITERATION_2 126
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 125 && BOOST_PP_ITERATION_START_2 >= 125
-#    define BOOST_PP_ITERATION_2 125
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 125 && NDNBOOST_PP_ITERATION_START_2 >= 125
+#    define NDNBOOST_PP_ITERATION_2 125
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 124 && BOOST_PP_ITERATION_START_2 >= 124
-#    define BOOST_PP_ITERATION_2 124
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 124 && NDNBOOST_PP_ITERATION_START_2 >= 124
+#    define NDNBOOST_PP_ITERATION_2 124
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 123 && BOOST_PP_ITERATION_START_2 >= 123
-#    define BOOST_PP_ITERATION_2 123
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 123 && NDNBOOST_PP_ITERATION_START_2 >= 123
+#    define NDNBOOST_PP_ITERATION_2 123
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 122 && BOOST_PP_ITERATION_START_2 >= 122
-#    define BOOST_PP_ITERATION_2 122
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 122 && NDNBOOST_PP_ITERATION_START_2 >= 122
+#    define NDNBOOST_PP_ITERATION_2 122
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 121 && BOOST_PP_ITERATION_START_2 >= 121
-#    define BOOST_PP_ITERATION_2 121
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 121 && NDNBOOST_PP_ITERATION_START_2 >= 121
+#    define NDNBOOST_PP_ITERATION_2 121
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 120 && BOOST_PP_ITERATION_START_2 >= 120
-#    define BOOST_PP_ITERATION_2 120
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 120 && NDNBOOST_PP_ITERATION_START_2 >= 120
+#    define NDNBOOST_PP_ITERATION_2 120
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 119 && BOOST_PP_ITERATION_START_2 >= 119
-#    define BOOST_PP_ITERATION_2 119
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 119 && NDNBOOST_PP_ITERATION_START_2 >= 119
+#    define NDNBOOST_PP_ITERATION_2 119
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 118 && BOOST_PP_ITERATION_START_2 >= 118
-#    define BOOST_PP_ITERATION_2 118
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 118 && NDNBOOST_PP_ITERATION_START_2 >= 118
+#    define NDNBOOST_PP_ITERATION_2 118
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 117 && BOOST_PP_ITERATION_START_2 >= 117
-#    define BOOST_PP_ITERATION_2 117
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 117 && NDNBOOST_PP_ITERATION_START_2 >= 117
+#    define NDNBOOST_PP_ITERATION_2 117
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 116 && BOOST_PP_ITERATION_START_2 >= 116
-#    define BOOST_PP_ITERATION_2 116
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 116 && NDNBOOST_PP_ITERATION_START_2 >= 116
+#    define NDNBOOST_PP_ITERATION_2 116
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 115 && BOOST_PP_ITERATION_START_2 >= 115
-#    define BOOST_PP_ITERATION_2 115
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 115 && NDNBOOST_PP_ITERATION_START_2 >= 115
+#    define NDNBOOST_PP_ITERATION_2 115
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 114 && BOOST_PP_ITERATION_START_2 >= 114
-#    define BOOST_PP_ITERATION_2 114
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 114 && NDNBOOST_PP_ITERATION_START_2 >= 114
+#    define NDNBOOST_PP_ITERATION_2 114
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 113 && BOOST_PP_ITERATION_START_2 >= 113
-#    define BOOST_PP_ITERATION_2 113
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 113 && NDNBOOST_PP_ITERATION_START_2 >= 113
+#    define NDNBOOST_PP_ITERATION_2 113
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 112 && BOOST_PP_ITERATION_START_2 >= 112
-#    define BOOST_PP_ITERATION_2 112
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 112 && NDNBOOST_PP_ITERATION_START_2 >= 112
+#    define NDNBOOST_PP_ITERATION_2 112
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 111 && BOOST_PP_ITERATION_START_2 >= 111
-#    define BOOST_PP_ITERATION_2 111
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 111 && NDNBOOST_PP_ITERATION_START_2 >= 111
+#    define NDNBOOST_PP_ITERATION_2 111
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 110 && BOOST_PP_ITERATION_START_2 >= 110
-#    define BOOST_PP_ITERATION_2 110
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 110 && NDNBOOST_PP_ITERATION_START_2 >= 110
+#    define NDNBOOST_PP_ITERATION_2 110
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 109 && BOOST_PP_ITERATION_START_2 >= 109
-#    define BOOST_PP_ITERATION_2 109
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 109 && NDNBOOST_PP_ITERATION_START_2 >= 109
+#    define NDNBOOST_PP_ITERATION_2 109
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 108 && BOOST_PP_ITERATION_START_2 >= 108
-#    define BOOST_PP_ITERATION_2 108
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 108 && NDNBOOST_PP_ITERATION_START_2 >= 108
+#    define NDNBOOST_PP_ITERATION_2 108
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 107 && BOOST_PP_ITERATION_START_2 >= 107
-#    define BOOST_PP_ITERATION_2 107
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 107 && NDNBOOST_PP_ITERATION_START_2 >= 107
+#    define NDNBOOST_PP_ITERATION_2 107
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 106 && BOOST_PP_ITERATION_START_2 >= 106
-#    define BOOST_PP_ITERATION_2 106
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 106 && NDNBOOST_PP_ITERATION_START_2 >= 106
+#    define NDNBOOST_PP_ITERATION_2 106
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 105 && BOOST_PP_ITERATION_START_2 >= 105
-#    define BOOST_PP_ITERATION_2 105
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 105 && NDNBOOST_PP_ITERATION_START_2 >= 105
+#    define NDNBOOST_PP_ITERATION_2 105
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 104 && BOOST_PP_ITERATION_START_2 >= 104
-#    define BOOST_PP_ITERATION_2 104
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 104 && NDNBOOST_PP_ITERATION_START_2 >= 104
+#    define NDNBOOST_PP_ITERATION_2 104
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 103 && BOOST_PP_ITERATION_START_2 >= 103
-#    define BOOST_PP_ITERATION_2 103
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 103 && NDNBOOST_PP_ITERATION_START_2 >= 103
+#    define NDNBOOST_PP_ITERATION_2 103
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 102 && BOOST_PP_ITERATION_START_2 >= 102
-#    define BOOST_PP_ITERATION_2 102
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 102 && NDNBOOST_PP_ITERATION_START_2 >= 102
+#    define NDNBOOST_PP_ITERATION_2 102
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 101 && BOOST_PP_ITERATION_START_2 >= 101
-#    define BOOST_PP_ITERATION_2 101
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 101 && NDNBOOST_PP_ITERATION_START_2 >= 101
+#    define NDNBOOST_PP_ITERATION_2 101
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 100 && BOOST_PP_ITERATION_START_2 >= 100
-#    define BOOST_PP_ITERATION_2 100
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 100 && NDNBOOST_PP_ITERATION_START_2 >= 100
+#    define NDNBOOST_PP_ITERATION_2 100
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 99 && BOOST_PP_ITERATION_START_2 >= 99
-#    define BOOST_PP_ITERATION_2 99
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 99 && NDNBOOST_PP_ITERATION_START_2 >= 99
+#    define NDNBOOST_PP_ITERATION_2 99
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 98 && BOOST_PP_ITERATION_START_2 >= 98
-#    define BOOST_PP_ITERATION_2 98
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 98 && NDNBOOST_PP_ITERATION_START_2 >= 98
+#    define NDNBOOST_PP_ITERATION_2 98
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 97 && BOOST_PP_ITERATION_START_2 >= 97
-#    define BOOST_PP_ITERATION_2 97
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 97 && NDNBOOST_PP_ITERATION_START_2 >= 97
+#    define NDNBOOST_PP_ITERATION_2 97
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 96 && BOOST_PP_ITERATION_START_2 >= 96
-#    define BOOST_PP_ITERATION_2 96
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 96 && NDNBOOST_PP_ITERATION_START_2 >= 96
+#    define NDNBOOST_PP_ITERATION_2 96
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 95 && BOOST_PP_ITERATION_START_2 >= 95
-#    define BOOST_PP_ITERATION_2 95
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 95 && NDNBOOST_PP_ITERATION_START_2 >= 95
+#    define NDNBOOST_PP_ITERATION_2 95
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 94 && BOOST_PP_ITERATION_START_2 >= 94
-#    define BOOST_PP_ITERATION_2 94
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 94 && NDNBOOST_PP_ITERATION_START_2 >= 94
+#    define NDNBOOST_PP_ITERATION_2 94
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 93 && BOOST_PP_ITERATION_START_2 >= 93
-#    define BOOST_PP_ITERATION_2 93
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 93 && NDNBOOST_PP_ITERATION_START_2 >= 93
+#    define NDNBOOST_PP_ITERATION_2 93
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 92 && BOOST_PP_ITERATION_START_2 >= 92
-#    define BOOST_PP_ITERATION_2 92
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 92 && NDNBOOST_PP_ITERATION_START_2 >= 92
+#    define NDNBOOST_PP_ITERATION_2 92
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 91 && BOOST_PP_ITERATION_START_2 >= 91
-#    define BOOST_PP_ITERATION_2 91
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 91 && NDNBOOST_PP_ITERATION_START_2 >= 91
+#    define NDNBOOST_PP_ITERATION_2 91
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 90 && BOOST_PP_ITERATION_START_2 >= 90
-#    define BOOST_PP_ITERATION_2 90
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 90 && NDNBOOST_PP_ITERATION_START_2 >= 90
+#    define NDNBOOST_PP_ITERATION_2 90
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 89 && BOOST_PP_ITERATION_START_2 >= 89
-#    define BOOST_PP_ITERATION_2 89
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 89 && NDNBOOST_PP_ITERATION_START_2 >= 89
+#    define NDNBOOST_PP_ITERATION_2 89
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 88 && BOOST_PP_ITERATION_START_2 >= 88
-#    define BOOST_PP_ITERATION_2 88
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 88 && NDNBOOST_PP_ITERATION_START_2 >= 88
+#    define NDNBOOST_PP_ITERATION_2 88
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 87 && BOOST_PP_ITERATION_START_2 >= 87
-#    define BOOST_PP_ITERATION_2 87
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 87 && NDNBOOST_PP_ITERATION_START_2 >= 87
+#    define NDNBOOST_PP_ITERATION_2 87
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 86 && BOOST_PP_ITERATION_START_2 >= 86
-#    define BOOST_PP_ITERATION_2 86
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 86 && NDNBOOST_PP_ITERATION_START_2 >= 86
+#    define NDNBOOST_PP_ITERATION_2 86
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 85 && BOOST_PP_ITERATION_START_2 >= 85
-#    define BOOST_PP_ITERATION_2 85
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 85 && NDNBOOST_PP_ITERATION_START_2 >= 85
+#    define NDNBOOST_PP_ITERATION_2 85
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 84 && BOOST_PP_ITERATION_START_2 >= 84
-#    define BOOST_PP_ITERATION_2 84
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 84 && NDNBOOST_PP_ITERATION_START_2 >= 84
+#    define NDNBOOST_PP_ITERATION_2 84
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 83 && BOOST_PP_ITERATION_START_2 >= 83
-#    define BOOST_PP_ITERATION_2 83
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 83 && NDNBOOST_PP_ITERATION_START_2 >= 83
+#    define NDNBOOST_PP_ITERATION_2 83
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 82 && BOOST_PP_ITERATION_START_2 >= 82
-#    define BOOST_PP_ITERATION_2 82
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 82 && NDNBOOST_PP_ITERATION_START_2 >= 82
+#    define NDNBOOST_PP_ITERATION_2 82
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 81 && BOOST_PP_ITERATION_START_2 >= 81
-#    define BOOST_PP_ITERATION_2 81
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 81 && NDNBOOST_PP_ITERATION_START_2 >= 81
+#    define NDNBOOST_PP_ITERATION_2 81
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 80 && BOOST_PP_ITERATION_START_2 >= 80
-#    define BOOST_PP_ITERATION_2 80
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 80 && NDNBOOST_PP_ITERATION_START_2 >= 80
+#    define NDNBOOST_PP_ITERATION_2 80
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 79 && BOOST_PP_ITERATION_START_2 >= 79
-#    define BOOST_PP_ITERATION_2 79
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 79 && NDNBOOST_PP_ITERATION_START_2 >= 79
+#    define NDNBOOST_PP_ITERATION_2 79
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 78 && BOOST_PP_ITERATION_START_2 >= 78
-#    define BOOST_PP_ITERATION_2 78
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 78 && NDNBOOST_PP_ITERATION_START_2 >= 78
+#    define NDNBOOST_PP_ITERATION_2 78
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 77 && BOOST_PP_ITERATION_START_2 >= 77
-#    define BOOST_PP_ITERATION_2 77
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 77 && NDNBOOST_PP_ITERATION_START_2 >= 77
+#    define NDNBOOST_PP_ITERATION_2 77
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 76 && BOOST_PP_ITERATION_START_2 >= 76
-#    define BOOST_PP_ITERATION_2 76
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 76 && NDNBOOST_PP_ITERATION_START_2 >= 76
+#    define NDNBOOST_PP_ITERATION_2 76
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 75 && BOOST_PP_ITERATION_START_2 >= 75
-#    define BOOST_PP_ITERATION_2 75
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 75 && NDNBOOST_PP_ITERATION_START_2 >= 75
+#    define NDNBOOST_PP_ITERATION_2 75
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 74 && BOOST_PP_ITERATION_START_2 >= 74
-#    define BOOST_PP_ITERATION_2 74
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 74 && NDNBOOST_PP_ITERATION_START_2 >= 74
+#    define NDNBOOST_PP_ITERATION_2 74
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 73 && BOOST_PP_ITERATION_START_2 >= 73
-#    define BOOST_PP_ITERATION_2 73
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 73 && NDNBOOST_PP_ITERATION_START_2 >= 73
+#    define NDNBOOST_PP_ITERATION_2 73
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 72 && BOOST_PP_ITERATION_START_2 >= 72
-#    define BOOST_PP_ITERATION_2 72
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 72 && NDNBOOST_PP_ITERATION_START_2 >= 72
+#    define NDNBOOST_PP_ITERATION_2 72
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 71 && BOOST_PP_ITERATION_START_2 >= 71
-#    define BOOST_PP_ITERATION_2 71
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 71 && NDNBOOST_PP_ITERATION_START_2 >= 71
+#    define NDNBOOST_PP_ITERATION_2 71
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 70 && BOOST_PP_ITERATION_START_2 >= 70
-#    define BOOST_PP_ITERATION_2 70
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 70 && NDNBOOST_PP_ITERATION_START_2 >= 70
+#    define NDNBOOST_PP_ITERATION_2 70
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 69 && BOOST_PP_ITERATION_START_2 >= 69
-#    define BOOST_PP_ITERATION_2 69
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 69 && NDNBOOST_PP_ITERATION_START_2 >= 69
+#    define NDNBOOST_PP_ITERATION_2 69
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 68 && BOOST_PP_ITERATION_START_2 >= 68
-#    define BOOST_PP_ITERATION_2 68
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 68 && NDNBOOST_PP_ITERATION_START_2 >= 68
+#    define NDNBOOST_PP_ITERATION_2 68
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 67 && BOOST_PP_ITERATION_START_2 >= 67
-#    define BOOST_PP_ITERATION_2 67
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 67 && NDNBOOST_PP_ITERATION_START_2 >= 67
+#    define NDNBOOST_PP_ITERATION_2 67
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 66 && BOOST_PP_ITERATION_START_2 >= 66
-#    define BOOST_PP_ITERATION_2 66
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 66 && NDNBOOST_PP_ITERATION_START_2 >= 66
+#    define NDNBOOST_PP_ITERATION_2 66
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 65 && BOOST_PP_ITERATION_START_2 >= 65
-#    define BOOST_PP_ITERATION_2 65
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 65 && NDNBOOST_PP_ITERATION_START_2 >= 65
+#    define NDNBOOST_PP_ITERATION_2 65
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 64 && BOOST_PP_ITERATION_START_2 >= 64
-#    define BOOST_PP_ITERATION_2 64
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 64 && NDNBOOST_PP_ITERATION_START_2 >= 64
+#    define NDNBOOST_PP_ITERATION_2 64
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 63 && BOOST_PP_ITERATION_START_2 >= 63
-#    define BOOST_PP_ITERATION_2 63
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 63 && NDNBOOST_PP_ITERATION_START_2 >= 63
+#    define NDNBOOST_PP_ITERATION_2 63
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 62 && BOOST_PP_ITERATION_START_2 >= 62
-#    define BOOST_PP_ITERATION_2 62
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 62 && NDNBOOST_PP_ITERATION_START_2 >= 62
+#    define NDNBOOST_PP_ITERATION_2 62
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 61 && BOOST_PP_ITERATION_START_2 >= 61
-#    define BOOST_PP_ITERATION_2 61
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 61 && NDNBOOST_PP_ITERATION_START_2 >= 61
+#    define NDNBOOST_PP_ITERATION_2 61
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 60 && BOOST_PP_ITERATION_START_2 >= 60
-#    define BOOST_PP_ITERATION_2 60
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 60 && NDNBOOST_PP_ITERATION_START_2 >= 60
+#    define NDNBOOST_PP_ITERATION_2 60
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 59 && BOOST_PP_ITERATION_START_2 >= 59
-#    define BOOST_PP_ITERATION_2 59
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 59 && NDNBOOST_PP_ITERATION_START_2 >= 59
+#    define NDNBOOST_PP_ITERATION_2 59
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 58 && BOOST_PP_ITERATION_START_2 >= 58
-#    define BOOST_PP_ITERATION_2 58
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 58 && NDNBOOST_PP_ITERATION_START_2 >= 58
+#    define NDNBOOST_PP_ITERATION_2 58
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 57 && BOOST_PP_ITERATION_START_2 >= 57
-#    define BOOST_PP_ITERATION_2 57
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 57 && NDNBOOST_PP_ITERATION_START_2 >= 57
+#    define NDNBOOST_PP_ITERATION_2 57
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 56 && BOOST_PP_ITERATION_START_2 >= 56
-#    define BOOST_PP_ITERATION_2 56
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 56 && NDNBOOST_PP_ITERATION_START_2 >= 56
+#    define NDNBOOST_PP_ITERATION_2 56
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 55 && BOOST_PP_ITERATION_START_2 >= 55
-#    define BOOST_PP_ITERATION_2 55
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 55 && NDNBOOST_PP_ITERATION_START_2 >= 55
+#    define NDNBOOST_PP_ITERATION_2 55
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 54 && BOOST_PP_ITERATION_START_2 >= 54
-#    define BOOST_PP_ITERATION_2 54
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 54 && NDNBOOST_PP_ITERATION_START_2 >= 54
+#    define NDNBOOST_PP_ITERATION_2 54
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 53 && BOOST_PP_ITERATION_START_2 >= 53
-#    define BOOST_PP_ITERATION_2 53
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 53 && NDNBOOST_PP_ITERATION_START_2 >= 53
+#    define NDNBOOST_PP_ITERATION_2 53
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 52 && BOOST_PP_ITERATION_START_2 >= 52
-#    define BOOST_PP_ITERATION_2 52
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 52 && NDNBOOST_PP_ITERATION_START_2 >= 52
+#    define NDNBOOST_PP_ITERATION_2 52
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 51 && BOOST_PP_ITERATION_START_2 >= 51
-#    define BOOST_PP_ITERATION_2 51
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 51 && NDNBOOST_PP_ITERATION_START_2 >= 51
+#    define NDNBOOST_PP_ITERATION_2 51
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 50 && BOOST_PP_ITERATION_START_2 >= 50
-#    define BOOST_PP_ITERATION_2 50
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 50 && NDNBOOST_PP_ITERATION_START_2 >= 50
+#    define NDNBOOST_PP_ITERATION_2 50
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 49 && BOOST_PP_ITERATION_START_2 >= 49
-#    define BOOST_PP_ITERATION_2 49
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 49 && NDNBOOST_PP_ITERATION_START_2 >= 49
+#    define NDNBOOST_PP_ITERATION_2 49
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 48 && BOOST_PP_ITERATION_START_2 >= 48
-#    define BOOST_PP_ITERATION_2 48
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 48 && NDNBOOST_PP_ITERATION_START_2 >= 48
+#    define NDNBOOST_PP_ITERATION_2 48
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 47 && BOOST_PP_ITERATION_START_2 >= 47
-#    define BOOST_PP_ITERATION_2 47
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 47 && NDNBOOST_PP_ITERATION_START_2 >= 47
+#    define NDNBOOST_PP_ITERATION_2 47
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 46 && BOOST_PP_ITERATION_START_2 >= 46
-#    define BOOST_PP_ITERATION_2 46
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 46 && NDNBOOST_PP_ITERATION_START_2 >= 46
+#    define NDNBOOST_PP_ITERATION_2 46
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 45 && BOOST_PP_ITERATION_START_2 >= 45
-#    define BOOST_PP_ITERATION_2 45
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 45 && NDNBOOST_PP_ITERATION_START_2 >= 45
+#    define NDNBOOST_PP_ITERATION_2 45
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 44 && BOOST_PP_ITERATION_START_2 >= 44
-#    define BOOST_PP_ITERATION_2 44
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 44 && NDNBOOST_PP_ITERATION_START_2 >= 44
+#    define NDNBOOST_PP_ITERATION_2 44
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 43 && BOOST_PP_ITERATION_START_2 >= 43
-#    define BOOST_PP_ITERATION_2 43
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 43 && NDNBOOST_PP_ITERATION_START_2 >= 43
+#    define NDNBOOST_PP_ITERATION_2 43
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 42 && BOOST_PP_ITERATION_START_2 >= 42
-#    define BOOST_PP_ITERATION_2 42
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 42 && NDNBOOST_PP_ITERATION_START_2 >= 42
+#    define NDNBOOST_PP_ITERATION_2 42
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 41 && BOOST_PP_ITERATION_START_2 >= 41
-#    define BOOST_PP_ITERATION_2 41
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 41 && NDNBOOST_PP_ITERATION_START_2 >= 41
+#    define NDNBOOST_PP_ITERATION_2 41
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 40 && BOOST_PP_ITERATION_START_2 >= 40
-#    define BOOST_PP_ITERATION_2 40
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 40 && NDNBOOST_PP_ITERATION_START_2 >= 40
+#    define NDNBOOST_PP_ITERATION_2 40
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 39 && BOOST_PP_ITERATION_START_2 >= 39
-#    define BOOST_PP_ITERATION_2 39
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 39 && NDNBOOST_PP_ITERATION_START_2 >= 39
+#    define NDNBOOST_PP_ITERATION_2 39
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 38 && BOOST_PP_ITERATION_START_2 >= 38
-#    define BOOST_PP_ITERATION_2 38
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 38 && NDNBOOST_PP_ITERATION_START_2 >= 38
+#    define NDNBOOST_PP_ITERATION_2 38
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 37 && BOOST_PP_ITERATION_START_2 >= 37
-#    define BOOST_PP_ITERATION_2 37
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 37 && NDNBOOST_PP_ITERATION_START_2 >= 37
+#    define NDNBOOST_PP_ITERATION_2 37
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 36 && BOOST_PP_ITERATION_START_2 >= 36
-#    define BOOST_PP_ITERATION_2 36
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 36 && NDNBOOST_PP_ITERATION_START_2 >= 36
+#    define NDNBOOST_PP_ITERATION_2 36
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 35 && BOOST_PP_ITERATION_START_2 >= 35
-#    define BOOST_PP_ITERATION_2 35
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 35 && NDNBOOST_PP_ITERATION_START_2 >= 35
+#    define NDNBOOST_PP_ITERATION_2 35
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 34 && BOOST_PP_ITERATION_START_2 >= 34
-#    define BOOST_PP_ITERATION_2 34
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 34 && NDNBOOST_PP_ITERATION_START_2 >= 34
+#    define NDNBOOST_PP_ITERATION_2 34
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 33 && BOOST_PP_ITERATION_START_2 >= 33
-#    define BOOST_PP_ITERATION_2 33
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 33 && NDNBOOST_PP_ITERATION_START_2 >= 33
+#    define NDNBOOST_PP_ITERATION_2 33
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 32 && BOOST_PP_ITERATION_START_2 >= 32
-#    define BOOST_PP_ITERATION_2 32
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 32 && NDNBOOST_PP_ITERATION_START_2 >= 32
+#    define NDNBOOST_PP_ITERATION_2 32
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 31 && BOOST_PP_ITERATION_START_2 >= 31
-#    define BOOST_PP_ITERATION_2 31
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 31 && NDNBOOST_PP_ITERATION_START_2 >= 31
+#    define NDNBOOST_PP_ITERATION_2 31
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 30 && BOOST_PP_ITERATION_START_2 >= 30
-#    define BOOST_PP_ITERATION_2 30
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 30 && NDNBOOST_PP_ITERATION_START_2 >= 30
+#    define NDNBOOST_PP_ITERATION_2 30
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 29 && BOOST_PP_ITERATION_START_2 >= 29
-#    define BOOST_PP_ITERATION_2 29
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 29 && NDNBOOST_PP_ITERATION_START_2 >= 29
+#    define NDNBOOST_PP_ITERATION_2 29
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 28 && BOOST_PP_ITERATION_START_2 >= 28
-#    define BOOST_PP_ITERATION_2 28
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 28 && NDNBOOST_PP_ITERATION_START_2 >= 28
+#    define NDNBOOST_PP_ITERATION_2 28
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 27 && BOOST_PP_ITERATION_START_2 >= 27
-#    define BOOST_PP_ITERATION_2 27
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 27 && NDNBOOST_PP_ITERATION_START_2 >= 27
+#    define NDNBOOST_PP_ITERATION_2 27
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 26 && BOOST_PP_ITERATION_START_2 >= 26
-#    define BOOST_PP_ITERATION_2 26
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 26 && NDNBOOST_PP_ITERATION_START_2 >= 26
+#    define NDNBOOST_PP_ITERATION_2 26
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 25 && BOOST_PP_ITERATION_START_2 >= 25
-#    define BOOST_PP_ITERATION_2 25
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 25 && NDNBOOST_PP_ITERATION_START_2 >= 25
+#    define NDNBOOST_PP_ITERATION_2 25
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 24 && BOOST_PP_ITERATION_START_2 >= 24
-#    define BOOST_PP_ITERATION_2 24
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 24 && NDNBOOST_PP_ITERATION_START_2 >= 24
+#    define NDNBOOST_PP_ITERATION_2 24
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 23 && BOOST_PP_ITERATION_START_2 >= 23
-#    define BOOST_PP_ITERATION_2 23
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 23 && NDNBOOST_PP_ITERATION_START_2 >= 23
+#    define NDNBOOST_PP_ITERATION_2 23
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 22 && BOOST_PP_ITERATION_START_2 >= 22
-#    define BOOST_PP_ITERATION_2 22
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 22 && NDNBOOST_PP_ITERATION_START_2 >= 22
+#    define NDNBOOST_PP_ITERATION_2 22
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 21 && BOOST_PP_ITERATION_START_2 >= 21
-#    define BOOST_PP_ITERATION_2 21
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 21 && NDNBOOST_PP_ITERATION_START_2 >= 21
+#    define NDNBOOST_PP_ITERATION_2 21
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 20 && BOOST_PP_ITERATION_START_2 >= 20
-#    define BOOST_PP_ITERATION_2 20
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 20 && NDNBOOST_PP_ITERATION_START_2 >= 20
+#    define NDNBOOST_PP_ITERATION_2 20
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 19 && BOOST_PP_ITERATION_START_2 >= 19
-#    define BOOST_PP_ITERATION_2 19
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 19 && NDNBOOST_PP_ITERATION_START_2 >= 19
+#    define NDNBOOST_PP_ITERATION_2 19
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 18 && BOOST_PP_ITERATION_START_2 >= 18
-#    define BOOST_PP_ITERATION_2 18
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 18 && NDNBOOST_PP_ITERATION_START_2 >= 18
+#    define NDNBOOST_PP_ITERATION_2 18
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 17 && BOOST_PP_ITERATION_START_2 >= 17
-#    define BOOST_PP_ITERATION_2 17
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 17 && NDNBOOST_PP_ITERATION_START_2 >= 17
+#    define NDNBOOST_PP_ITERATION_2 17
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 16 && BOOST_PP_ITERATION_START_2 >= 16
-#    define BOOST_PP_ITERATION_2 16
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 16 && NDNBOOST_PP_ITERATION_START_2 >= 16
+#    define NDNBOOST_PP_ITERATION_2 16
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 15 && BOOST_PP_ITERATION_START_2 >= 15
-#    define BOOST_PP_ITERATION_2 15
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 15 && NDNBOOST_PP_ITERATION_START_2 >= 15
+#    define NDNBOOST_PP_ITERATION_2 15
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 14 && BOOST_PP_ITERATION_START_2 >= 14
-#    define BOOST_PP_ITERATION_2 14
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 14 && NDNBOOST_PP_ITERATION_START_2 >= 14
+#    define NDNBOOST_PP_ITERATION_2 14
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 13 && BOOST_PP_ITERATION_START_2 >= 13
-#    define BOOST_PP_ITERATION_2 13
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 13 && NDNBOOST_PP_ITERATION_START_2 >= 13
+#    define NDNBOOST_PP_ITERATION_2 13
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 12 && BOOST_PP_ITERATION_START_2 >= 12
-#    define BOOST_PP_ITERATION_2 12
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 12 && NDNBOOST_PP_ITERATION_START_2 >= 12
+#    define NDNBOOST_PP_ITERATION_2 12
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 11 && BOOST_PP_ITERATION_START_2 >= 11
-#    define BOOST_PP_ITERATION_2 11
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 11 && NDNBOOST_PP_ITERATION_START_2 >= 11
+#    define NDNBOOST_PP_ITERATION_2 11
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 10 && BOOST_PP_ITERATION_START_2 >= 10
-#    define BOOST_PP_ITERATION_2 10
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 10 && NDNBOOST_PP_ITERATION_START_2 >= 10
+#    define NDNBOOST_PP_ITERATION_2 10
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 9 && BOOST_PP_ITERATION_START_2 >= 9
-#    define BOOST_PP_ITERATION_2 9
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 9 && NDNBOOST_PP_ITERATION_START_2 >= 9
+#    define NDNBOOST_PP_ITERATION_2 9
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 8 && BOOST_PP_ITERATION_START_2 >= 8
-#    define BOOST_PP_ITERATION_2 8
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 8 && NDNBOOST_PP_ITERATION_START_2 >= 8
+#    define NDNBOOST_PP_ITERATION_2 8
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 7 && BOOST_PP_ITERATION_START_2 >= 7
-#    define BOOST_PP_ITERATION_2 7
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 7 && NDNBOOST_PP_ITERATION_START_2 >= 7
+#    define NDNBOOST_PP_ITERATION_2 7
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 6 && BOOST_PP_ITERATION_START_2 >= 6
-#    define BOOST_PP_ITERATION_2 6
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 6 && NDNBOOST_PP_ITERATION_START_2 >= 6
+#    define NDNBOOST_PP_ITERATION_2 6
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 5 && BOOST_PP_ITERATION_START_2 >= 5
-#    define BOOST_PP_ITERATION_2 5
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 5 && NDNBOOST_PP_ITERATION_START_2 >= 5
+#    define NDNBOOST_PP_ITERATION_2 5
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 4 && BOOST_PP_ITERATION_START_2 >= 4
-#    define BOOST_PP_ITERATION_2 4
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 4 && NDNBOOST_PP_ITERATION_START_2 >= 4
+#    define NDNBOOST_PP_ITERATION_2 4
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 3 && BOOST_PP_ITERATION_START_2 >= 3
-#    define BOOST_PP_ITERATION_2 3
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 3 && NDNBOOST_PP_ITERATION_START_2 >= 3
+#    define NDNBOOST_PP_ITERATION_2 3
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 2 && BOOST_PP_ITERATION_START_2 >= 2
-#    define BOOST_PP_ITERATION_2 2
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 2 && NDNBOOST_PP_ITERATION_START_2 >= 2
+#    define NDNBOOST_PP_ITERATION_2 2
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 1 && BOOST_PP_ITERATION_START_2 >= 1
-#    define BOOST_PP_ITERATION_2 1
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 1 && NDNBOOST_PP_ITERATION_START_2 >= 1
+#    define NDNBOOST_PP_ITERATION_2 1
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 0 && BOOST_PP_ITERATION_START_2 >= 0
-#    define BOOST_PP_ITERATION_2 0
-#    include BOOST_PP_FILENAME_2
-#    undef BOOST_PP_ITERATION_2
+# if NDNBOOST_PP_ITERATION_FINISH_2 <= 0 && NDNBOOST_PP_ITERATION_START_2 >= 0
+#    define NDNBOOST_PP_ITERATION_2 0
+#    include NDNBOOST_PP_FILENAME_2
+#    undef NDNBOOST_PP_ITERATION_2
 # endif
diff --git a/include/ndnboost/preprocessor/iteration/detail/iter/reverse3.hpp b/include/ndnboost/preprocessor/iteration/detail/iter/reverse3.hpp
index 0a65514..03810a4 100644
--- a/include/ndnboost/preprocessor/iteration/detail/iter/reverse3.hpp
+++ b/include/ndnboost/preprocessor/iteration/detail/iter/reverse3.hpp
@@ -9,1288 +9,1288 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# if BOOST_PP_ITERATION_FINISH_3 <= 256 && BOOST_PP_ITERATION_START_3 >= 256
-#    define BOOST_PP_ITERATION_3 256
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 256 && NDNBOOST_PP_ITERATION_START_3 >= 256
+#    define NDNBOOST_PP_ITERATION_3 256
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 255 && BOOST_PP_ITERATION_START_3 >= 255
-#    define BOOST_PP_ITERATION_3 255
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 255 && NDNBOOST_PP_ITERATION_START_3 >= 255
+#    define NDNBOOST_PP_ITERATION_3 255
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 254 && BOOST_PP_ITERATION_START_3 >= 254
-#    define BOOST_PP_ITERATION_3 254
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 254 && NDNBOOST_PP_ITERATION_START_3 >= 254
+#    define NDNBOOST_PP_ITERATION_3 254
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 253 && BOOST_PP_ITERATION_START_3 >= 253
-#    define BOOST_PP_ITERATION_3 253
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 253 && NDNBOOST_PP_ITERATION_START_3 >= 253
+#    define NDNBOOST_PP_ITERATION_3 253
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 252 && BOOST_PP_ITERATION_START_3 >= 252
-#    define BOOST_PP_ITERATION_3 252
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 252 && NDNBOOST_PP_ITERATION_START_3 >= 252
+#    define NDNBOOST_PP_ITERATION_3 252
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 251 && BOOST_PP_ITERATION_START_3 >= 251
-#    define BOOST_PP_ITERATION_3 251
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 251 && NDNBOOST_PP_ITERATION_START_3 >= 251
+#    define NDNBOOST_PP_ITERATION_3 251
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 250 && BOOST_PP_ITERATION_START_3 >= 250
-#    define BOOST_PP_ITERATION_3 250
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 250 && NDNBOOST_PP_ITERATION_START_3 >= 250
+#    define NDNBOOST_PP_ITERATION_3 250
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 249 && BOOST_PP_ITERATION_START_3 >= 249
-#    define BOOST_PP_ITERATION_3 249
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 249 && NDNBOOST_PP_ITERATION_START_3 >= 249
+#    define NDNBOOST_PP_ITERATION_3 249
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 248 && BOOST_PP_ITERATION_START_3 >= 248
-#    define BOOST_PP_ITERATION_3 248
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 248 && NDNBOOST_PP_ITERATION_START_3 >= 248
+#    define NDNBOOST_PP_ITERATION_3 248
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 247 && BOOST_PP_ITERATION_START_3 >= 247
-#    define BOOST_PP_ITERATION_3 247
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 247 && NDNBOOST_PP_ITERATION_START_3 >= 247
+#    define NDNBOOST_PP_ITERATION_3 247
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 246 && BOOST_PP_ITERATION_START_3 >= 246
-#    define BOOST_PP_ITERATION_3 246
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 246 && NDNBOOST_PP_ITERATION_START_3 >= 246
+#    define NDNBOOST_PP_ITERATION_3 246
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 245 && BOOST_PP_ITERATION_START_3 >= 245
-#    define BOOST_PP_ITERATION_3 245
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 245 && NDNBOOST_PP_ITERATION_START_3 >= 245
+#    define NDNBOOST_PP_ITERATION_3 245
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 244 && BOOST_PP_ITERATION_START_3 >= 244
-#    define BOOST_PP_ITERATION_3 244
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 244 && NDNBOOST_PP_ITERATION_START_3 >= 244
+#    define NDNBOOST_PP_ITERATION_3 244
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 243 && BOOST_PP_ITERATION_START_3 >= 243
-#    define BOOST_PP_ITERATION_3 243
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 243 && NDNBOOST_PP_ITERATION_START_3 >= 243
+#    define NDNBOOST_PP_ITERATION_3 243
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 242 && BOOST_PP_ITERATION_START_3 >= 242
-#    define BOOST_PP_ITERATION_3 242
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 242 && NDNBOOST_PP_ITERATION_START_3 >= 242
+#    define NDNBOOST_PP_ITERATION_3 242
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 241 && BOOST_PP_ITERATION_START_3 >= 241
-#    define BOOST_PP_ITERATION_3 241
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 241 && NDNBOOST_PP_ITERATION_START_3 >= 241
+#    define NDNBOOST_PP_ITERATION_3 241
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 240 && BOOST_PP_ITERATION_START_3 >= 240
-#    define BOOST_PP_ITERATION_3 240
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 240 && NDNBOOST_PP_ITERATION_START_3 >= 240
+#    define NDNBOOST_PP_ITERATION_3 240
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 239 && BOOST_PP_ITERATION_START_3 >= 239
-#    define BOOST_PP_ITERATION_3 239
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 239 && NDNBOOST_PP_ITERATION_START_3 >= 239
+#    define NDNBOOST_PP_ITERATION_3 239
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 238 && BOOST_PP_ITERATION_START_3 >= 238
-#    define BOOST_PP_ITERATION_3 238
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 238 && NDNBOOST_PP_ITERATION_START_3 >= 238
+#    define NDNBOOST_PP_ITERATION_3 238
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 237 && BOOST_PP_ITERATION_START_3 >= 237
-#    define BOOST_PP_ITERATION_3 237
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 237 && NDNBOOST_PP_ITERATION_START_3 >= 237
+#    define NDNBOOST_PP_ITERATION_3 237
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 236 && BOOST_PP_ITERATION_START_3 >= 236
-#    define BOOST_PP_ITERATION_3 236
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 236 && NDNBOOST_PP_ITERATION_START_3 >= 236
+#    define NDNBOOST_PP_ITERATION_3 236
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 235 && BOOST_PP_ITERATION_START_3 >= 235
-#    define BOOST_PP_ITERATION_3 235
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 235 && NDNBOOST_PP_ITERATION_START_3 >= 235
+#    define NDNBOOST_PP_ITERATION_3 235
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 234 && BOOST_PP_ITERATION_START_3 >= 234
-#    define BOOST_PP_ITERATION_3 234
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 234 && NDNBOOST_PP_ITERATION_START_3 >= 234
+#    define NDNBOOST_PP_ITERATION_3 234
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 233 && BOOST_PP_ITERATION_START_3 >= 233
-#    define BOOST_PP_ITERATION_3 233
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 233 && NDNBOOST_PP_ITERATION_START_3 >= 233
+#    define NDNBOOST_PP_ITERATION_3 233
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 232 && BOOST_PP_ITERATION_START_3 >= 232
-#    define BOOST_PP_ITERATION_3 232
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 232 && NDNBOOST_PP_ITERATION_START_3 >= 232
+#    define NDNBOOST_PP_ITERATION_3 232
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 231 && BOOST_PP_ITERATION_START_3 >= 231
-#    define BOOST_PP_ITERATION_3 231
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 231 && NDNBOOST_PP_ITERATION_START_3 >= 231
+#    define NDNBOOST_PP_ITERATION_3 231
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 230 && BOOST_PP_ITERATION_START_3 >= 230
-#    define BOOST_PP_ITERATION_3 230
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 230 && NDNBOOST_PP_ITERATION_START_3 >= 230
+#    define NDNBOOST_PP_ITERATION_3 230
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 229 && BOOST_PP_ITERATION_START_3 >= 229
-#    define BOOST_PP_ITERATION_3 229
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 229 && NDNBOOST_PP_ITERATION_START_3 >= 229
+#    define NDNBOOST_PP_ITERATION_3 229
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 228 && BOOST_PP_ITERATION_START_3 >= 228
-#    define BOOST_PP_ITERATION_3 228
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 228 && NDNBOOST_PP_ITERATION_START_3 >= 228
+#    define NDNBOOST_PP_ITERATION_3 228
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 227 && BOOST_PP_ITERATION_START_3 >= 227
-#    define BOOST_PP_ITERATION_3 227
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 227 && NDNBOOST_PP_ITERATION_START_3 >= 227
+#    define NDNBOOST_PP_ITERATION_3 227
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 226 && BOOST_PP_ITERATION_START_3 >= 226
-#    define BOOST_PP_ITERATION_3 226
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 226 && NDNBOOST_PP_ITERATION_START_3 >= 226
+#    define NDNBOOST_PP_ITERATION_3 226
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 225 && BOOST_PP_ITERATION_START_3 >= 225
-#    define BOOST_PP_ITERATION_3 225
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 225 && NDNBOOST_PP_ITERATION_START_3 >= 225
+#    define NDNBOOST_PP_ITERATION_3 225
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 224 && BOOST_PP_ITERATION_START_3 >= 224
-#    define BOOST_PP_ITERATION_3 224
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 224 && NDNBOOST_PP_ITERATION_START_3 >= 224
+#    define NDNBOOST_PP_ITERATION_3 224
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 223 && BOOST_PP_ITERATION_START_3 >= 223
-#    define BOOST_PP_ITERATION_3 223
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 223 && NDNBOOST_PP_ITERATION_START_3 >= 223
+#    define NDNBOOST_PP_ITERATION_3 223
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 222 && BOOST_PP_ITERATION_START_3 >= 222
-#    define BOOST_PP_ITERATION_3 222
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 222 && NDNBOOST_PP_ITERATION_START_3 >= 222
+#    define NDNBOOST_PP_ITERATION_3 222
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 221 && BOOST_PP_ITERATION_START_3 >= 221
-#    define BOOST_PP_ITERATION_3 221
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 221 && NDNBOOST_PP_ITERATION_START_3 >= 221
+#    define NDNBOOST_PP_ITERATION_3 221
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 220 && BOOST_PP_ITERATION_START_3 >= 220
-#    define BOOST_PP_ITERATION_3 220
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 220 && NDNBOOST_PP_ITERATION_START_3 >= 220
+#    define NDNBOOST_PP_ITERATION_3 220
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 219 && BOOST_PP_ITERATION_START_3 >= 219
-#    define BOOST_PP_ITERATION_3 219
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 219 && NDNBOOST_PP_ITERATION_START_3 >= 219
+#    define NDNBOOST_PP_ITERATION_3 219
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 218 && BOOST_PP_ITERATION_START_3 >= 218
-#    define BOOST_PP_ITERATION_3 218
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 218 && NDNBOOST_PP_ITERATION_START_3 >= 218
+#    define NDNBOOST_PP_ITERATION_3 218
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 217 && BOOST_PP_ITERATION_START_3 >= 217
-#    define BOOST_PP_ITERATION_3 217
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 217 && NDNBOOST_PP_ITERATION_START_3 >= 217
+#    define NDNBOOST_PP_ITERATION_3 217
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 216 && BOOST_PP_ITERATION_START_3 >= 216
-#    define BOOST_PP_ITERATION_3 216
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 216 && NDNBOOST_PP_ITERATION_START_3 >= 216
+#    define NDNBOOST_PP_ITERATION_3 216
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 215 && BOOST_PP_ITERATION_START_3 >= 215
-#    define BOOST_PP_ITERATION_3 215
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 215 && NDNBOOST_PP_ITERATION_START_3 >= 215
+#    define NDNBOOST_PP_ITERATION_3 215
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 214 && BOOST_PP_ITERATION_START_3 >= 214
-#    define BOOST_PP_ITERATION_3 214
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 214 && NDNBOOST_PP_ITERATION_START_3 >= 214
+#    define NDNBOOST_PP_ITERATION_3 214
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 213 && BOOST_PP_ITERATION_START_3 >= 213
-#    define BOOST_PP_ITERATION_3 213
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 213 && NDNBOOST_PP_ITERATION_START_3 >= 213
+#    define NDNBOOST_PP_ITERATION_3 213
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 212 && BOOST_PP_ITERATION_START_3 >= 212
-#    define BOOST_PP_ITERATION_3 212
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 212 && NDNBOOST_PP_ITERATION_START_3 >= 212
+#    define NDNBOOST_PP_ITERATION_3 212
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 211 && BOOST_PP_ITERATION_START_3 >= 211
-#    define BOOST_PP_ITERATION_3 211
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 211 && NDNBOOST_PP_ITERATION_START_3 >= 211
+#    define NDNBOOST_PP_ITERATION_3 211
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 210 && BOOST_PP_ITERATION_START_3 >= 210
-#    define BOOST_PP_ITERATION_3 210
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 210 && NDNBOOST_PP_ITERATION_START_3 >= 210
+#    define NDNBOOST_PP_ITERATION_3 210
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 209 && BOOST_PP_ITERATION_START_3 >= 209
-#    define BOOST_PP_ITERATION_3 209
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 209 && NDNBOOST_PP_ITERATION_START_3 >= 209
+#    define NDNBOOST_PP_ITERATION_3 209
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 208 && BOOST_PP_ITERATION_START_3 >= 208
-#    define BOOST_PP_ITERATION_3 208
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 208 && NDNBOOST_PP_ITERATION_START_3 >= 208
+#    define NDNBOOST_PP_ITERATION_3 208
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 207 && BOOST_PP_ITERATION_START_3 >= 207
-#    define BOOST_PP_ITERATION_3 207
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 207 && NDNBOOST_PP_ITERATION_START_3 >= 207
+#    define NDNBOOST_PP_ITERATION_3 207
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 206 && BOOST_PP_ITERATION_START_3 >= 206
-#    define BOOST_PP_ITERATION_3 206
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 206 && NDNBOOST_PP_ITERATION_START_3 >= 206
+#    define NDNBOOST_PP_ITERATION_3 206
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 205 && BOOST_PP_ITERATION_START_3 >= 205
-#    define BOOST_PP_ITERATION_3 205
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 205 && NDNBOOST_PP_ITERATION_START_3 >= 205
+#    define NDNBOOST_PP_ITERATION_3 205
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 204 && BOOST_PP_ITERATION_START_3 >= 204
-#    define BOOST_PP_ITERATION_3 204
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 204 && NDNBOOST_PP_ITERATION_START_3 >= 204
+#    define NDNBOOST_PP_ITERATION_3 204
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 203 && BOOST_PP_ITERATION_START_3 >= 203
-#    define BOOST_PP_ITERATION_3 203
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 203 && NDNBOOST_PP_ITERATION_START_3 >= 203
+#    define NDNBOOST_PP_ITERATION_3 203
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 202 && BOOST_PP_ITERATION_START_3 >= 202
-#    define BOOST_PP_ITERATION_3 202
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 202 && NDNBOOST_PP_ITERATION_START_3 >= 202
+#    define NDNBOOST_PP_ITERATION_3 202
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 201 && BOOST_PP_ITERATION_START_3 >= 201
-#    define BOOST_PP_ITERATION_3 201
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 201 && NDNBOOST_PP_ITERATION_START_3 >= 201
+#    define NDNBOOST_PP_ITERATION_3 201
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 200 && BOOST_PP_ITERATION_START_3 >= 200
-#    define BOOST_PP_ITERATION_3 200
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 200 && NDNBOOST_PP_ITERATION_START_3 >= 200
+#    define NDNBOOST_PP_ITERATION_3 200
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 199 && BOOST_PP_ITERATION_START_3 >= 199
-#    define BOOST_PP_ITERATION_3 199
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 199 && NDNBOOST_PP_ITERATION_START_3 >= 199
+#    define NDNBOOST_PP_ITERATION_3 199
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 198 && BOOST_PP_ITERATION_START_3 >= 198
-#    define BOOST_PP_ITERATION_3 198
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 198 && NDNBOOST_PP_ITERATION_START_3 >= 198
+#    define NDNBOOST_PP_ITERATION_3 198
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 197 && BOOST_PP_ITERATION_START_3 >= 197
-#    define BOOST_PP_ITERATION_3 197
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 197 && NDNBOOST_PP_ITERATION_START_3 >= 197
+#    define NDNBOOST_PP_ITERATION_3 197
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 196 && BOOST_PP_ITERATION_START_3 >= 196
-#    define BOOST_PP_ITERATION_3 196
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 196 && NDNBOOST_PP_ITERATION_START_3 >= 196
+#    define NDNBOOST_PP_ITERATION_3 196
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 195 && BOOST_PP_ITERATION_START_3 >= 195
-#    define BOOST_PP_ITERATION_3 195
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 195 && NDNBOOST_PP_ITERATION_START_3 >= 195
+#    define NDNBOOST_PP_ITERATION_3 195
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 194 && BOOST_PP_ITERATION_START_3 >= 194
-#    define BOOST_PP_ITERATION_3 194
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 194 && NDNBOOST_PP_ITERATION_START_3 >= 194
+#    define NDNBOOST_PP_ITERATION_3 194
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 193 && BOOST_PP_ITERATION_START_3 >= 193
-#    define BOOST_PP_ITERATION_3 193
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 193 && NDNBOOST_PP_ITERATION_START_3 >= 193
+#    define NDNBOOST_PP_ITERATION_3 193
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 192 && BOOST_PP_ITERATION_START_3 >= 192
-#    define BOOST_PP_ITERATION_3 192
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 192 && NDNBOOST_PP_ITERATION_START_3 >= 192
+#    define NDNBOOST_PP_ITERATION_3 192
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 191 && BOOST_PP_ITERATION_START_3 >= 191
-#    define BOOST_PP_ITERATION_3 191
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 191 && NDNBOOST_PP_ITERATION_START_3 >= 191
+#    define NDNBOOST_PP_ITERATION_3 191
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 190 && BOOST_PP_ITERATION_START_3 >= 190
-#    define BOOST_PP_ITERATION_3 190
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 190 && NDNBOOST_PP_ITERATION_START_3 >= 190
+#    define NDNBOOST_PP_ITERATION_3 190
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 189 && BOOST_PP_ITERATION_START_3 >= 189
-#    define BOOST_PP_ITERATION_3 189
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 189 && NDNBOOST_PP_ITERATION_START_3 >= 189
+#    define NDNBOOST_PP_ITERATION_3 189
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 188 && BOOST_PP_ITERATION_START_3 >= 188
-#    define BOOST_PP_ITERATION_3 188
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 188 && NDNBOOST_PP_ITERATION_START_3 >= 188
+#    define NDNBOOST_PP_ITERATION_3 188
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 187 && BOOST_PP_ITERATION_START_3 >= 187
-#    define BOOST_PP_ITERATION_3 187
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 187 && NDNBOOST_PP_ITERATION_START_3 >= 187
+#    define NDNBOOST_PP_ITERATION_3 187
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 186 && BOOST_PP_ITERATION_START_3 >= 186
-#    define BOOST_PP_ITERATION_3 186
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 186 && NDNBOOST_PP_ITERATION_START_3 >= 186
+#    define NDNBOOST_PP_ITERATION_3 186
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 185 && BOOST_PP_ITERATION_START_3 >= 185
-#    define BOOST_PP_ITERATION_3 185
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 185 && NDNBOOST_PP_ITERATION_START_3 >= 185
+#    define NDNBOOST_PP_ITERATION_3 185
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 184 && BOOST_PP_ITERATION_START_3 >= 184
-#    define BOOST_PP_ITERATION_3 184
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 184 && NDNBOOST_PP_ITERATION_START_3 >= 184
+#    define NDNBOOST_PP_ITERATION_3 184
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 183 && BOOST_PP_ITERATION_START_3 >= 183
-#    define BOOST_PP_ITERATION_3 183
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 183 && NDNBOOST_PP_ITERATION_START_3 >= 183
+#    define NDNBOOST_PP_ITERATION_3 183
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 182 && BOOST_PP_ITERATION_START_3 >= 182
-#    define BOOST_PP_ITERATION_3 182
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 182 && NDNBOOST_PP_ITERATION_START_3 >= 182
+#    define NDNBOOST_PP_ITERATION_3 182
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 181 && BOOST_PP_ITERATION_START_3 >= 181
-#    define BOOST_PP_ITERATION_3 181
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 181 && NDNBOOST_PP_ITERATION_START_3 >= 181
+#    define NDNBOOST_PP_ITERATION_3 181
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 180 && BOOST_PP_ITERATION_START_3 >= 180
-#    define BOOST_PP_ITERATION_3 180
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 180 && NDNBOOST_PP_ITERATION_START_3 >= 180
+#    define NDNBOOST_PP_ITERATION_3 180
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 179 && BOOST_PP_ITERATION_START_3 >= 179
-#    define BOOST_PP_ITERATION_3 179
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 179 && NDNBOOST_PP_ITERATION_START_3 >= 179
+#    define NDNBOOST_PP_ITERATION_3 179
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 178 && BOOST_PP_ITERATION_START_3 >= 178
-#    define BOOST_PP_ITERATION_3 178
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 178 && NDNBOOST_PP_ITERATION_START_3 >= 178
+#    define NDNBOOST_PP_ITERATION_3 178
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 177 && BOOST_PP_ITERATION_START_3 >= 177
-#    define BOOST_PP_ITERATION_3 177
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 177 && NDNBOOST_PP_ITERATION_START_3 >= 177
+#    define NDNBOOST_PP_ITERATION_3 177
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 176 && BOOST_PP_ITERATION_START_3 >= 176
-#    define BOOST_PP_ITERATION_3 176
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 176 && NDNBOOST_PP_ITERATION_START_3 >= 176
+#    define NDNBOOST_PP_ITERATION_3 176
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 175 && BOOST_PP_ITERATION_START_3 >= 175
-#    define BOOST_PP_ITERATION_3 175
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 175 && NDNBOOST_PP_ITERATION_START_3 >= 175
+#    define NDNBOOST_PP_ITERATION_3 175
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 174 && BOOST_PP_ITERATION_START_3 >= 174
-#    define BOOST_PP_ITERATION_3 174
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 174 && NDNBOOST_PP_ITERATION_START_3 >= 174
+#    define NDNBOOST_PP_ITERATION_3 174
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 173 && BOOST_PP_ITERATION_START_3 >= 173
-#    define BOOST_PP_ITERATION_3 173
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 173 && NDNBOOST_PP_ITERATION_START_3 >= 173
+#    define NDNBOOST_PP_ITERATION_3 173
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 172 && BOOST_PP_ITERATION_START_3 >= 172
-#    define BOOST_PP_ITERATION_3 172
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 172 && NDNBOOST_PP_ITERATION_START_3 >= 172
+#    define NDNBOOST_PP_ITERATION_3 172
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 171 && BOOST_PP_ITERATION_START_3 >= 171
-#    define BOOST_PP_ITERATION_3 171
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 171 && NDNBOOST_PP_ITERATION_START_3 >= 171
+#    define NDNBOOST_PP_ITERATION_3 171
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 170 && BOOST_PP_ITERATION_START_3 >= 170
-#    define BOOST_PP_ITERATION_3 170
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 170 && NDNBOOST_PP_ITERATION_START_3 >= 170
+#    define NDNBOOST_PP_ITERATION_3 170
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 169 && BOOST_PP_ITERATION_START_3 >= 169
-#    define BOOST_PP_ITERATION_3 169
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 169 && NDNBOOST_PP_ITERATION_START_3 >= 169
+#    define NDNBOOST_PP_ITERATION_3 169
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 168 && BOOST_PP_ITERATION_START_3 >= 168
-#    define BOOST_PP_ITERATION_3 168
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 168 && NDNBOOST_PP_ITERATION_START_3 >= 168
+#    define NDNBOOST_PP_ITERATION_3 168
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 167 && BOOST_PP_ITERATION_START_3 >= 167
-#    define BOOST_PP_ITERATION_3 167
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 167 && NDNBOOST_PP_ITERATION_START_3 >= 167
+#    define NDNBOOST_PP_ITERATION_3 167
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 166 && BOOST_PP_ITERATION_START_3 >= 166
-#    define BOOST_PP_ITERATION_3 166
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 166 && NDNBOOST_PP_ITERATION_START_3 >= 166
+#    define NDNBOOST_PP_ITERATION_3 166
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 165 && BOOST_PP_ITERATION_START_3 >= 165
-#    define BOOST_PP_ITERATION_3 165
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 165 && NDNBOOST_PP_ITERATION_START_3 >= 165
+#    define NDNBOOST_PP_ITERATION_3 165
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 164 && BOOST_PP_ITERATION_START_3 >= 164
-#    define BOOST_PP_ITERATION_3 164
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 164 && NDNBOOST_PP_ITERATION_START_3 >= 164
+#    define NDNBOOST_PP_ITERATION_3 164
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 163 && BOOST_PP_ITERATION_START_3 >= 163
-#    define BOOST_PP_ITERATION_3 163
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 163 && NDNBOOST_PP_ITERATION_START_3 >= 163
+#    define NDNBOOST_PP_ITERATION_3 163
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 162 && BOOST_PP_ITERATION_START_3 >= 162
-#    define BOOST_PP_ITERATION_3 162
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 162 && NDNBOOST_PP_ITERATION_START_3 >= 162
+#    define NDNBOOST_PP_ITERATION_3 162
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 161 && BOOST_PP_ITERATION_START_3 >= 161
-#    define BOOST_PP_ITERATION_3 161
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 161 && NDNBOOST_PP_ITERATION_START_3 >= 161
+#    define NDNBOOST_PP_ITERATION_3 161
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 160 && BOOST_PP_ITERATION_START_3 >= 160
-#    define BOOST_PP_ITERATION_3 160
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 160 && NDNBOOST_PP_ITERATION_START_3 >= 160
+#    define NDNBOOST_PP_ITERATION_3 160
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 159 && BOOST_PP_ITERATION_START_3 >= 159
-#    define BOOST_PP_ITERATION_3 159
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 159 && NDNBOOST_PP_ITERATION_START_3 >= 159
+#    define NDNBOOST_PP_ITERATION_3 159
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 158 && BOOST_PP_ITERATION_START_3 >= 158
-#    define BOOST_PP_ITERATION_3 158
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 158 && NDNBOOST_PP_ITERATION_START_3 >= 158
+#    define NDNBOOST_PP_ITERATION_3 158
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 157 && BOOST_PP_ITERATION_START_3 >= 157
-#    define BOOST_PP_ITERATION_3 157
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 157 && NDNBOOST_PP_ITERATION_START_3 >= 157
+#    define NDNBOOST_PP_ITERATION_3 157
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 156 && BOOST_PP_ITERATION_START_3 >= 156
-#    define BOOST_PP_ITERATION_3 156
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 156 && NDNBOOST_PP_ITERATION_START_3 >= 156
+#    define NDNBOOST_PP_ITERATION_3 156
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 155 && BOOST_PP_ITERATION_START_3 >= 155
-#    define BOOST_PP_ITERATION_3 155
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 155 && NDNBOOST_PP_ITERATION_START_3 >= 155
+#    define NDNBOOST_PP_ITERATION_3 155
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 154 && BOOST_PP_ITERATION_START_3 >= 154
-#    define BOOST_PP_ITERATION_3 154
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 154 && NDNBOOST_PP_ITERATION_START_3 >= 154
+#    define NDNBOOST_PP_ITERATION_3 154
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 153 && BOOST_PP_ITERATION_START_3 >= 153
-#    define BOOST_PP_ITERATION_3 153
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 153 && NDNBOOST_PP_ITERATION_START_3 >= 153
+#    define NDNBOOST_PP_ITERATION_3 153
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 152 && BOOST_PP_ITERATION_START_3 >= 152
-#    define BOOST_PP_ITERATION_3 152
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 152 && NDNBOOST_PP_ITERATION_START_3 >= 152
+#    define NDNBOOST_PP_ITERATION_3 152
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 151 && BOOST_PP_ITERATION_START_3 >= 151
-#    define BOOST_PP_ITERATION_3 151
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 151 && NDNBOOST_PP_ITERATION_START_3 >= 151
+#    define NDNBOOST_PP_ITERATION_3 151
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 150 && BOOST_PP_ITERATION_START_3 >= 150
-#    define BOOST_PP_ITERATION_3 150
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 150 && NDNBOOST_PP_ITERATION_START_3 >= 150
+#    define NDNBOOST_PP_ITERATION_3 150
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 149 && BOOST_PP_ITERATION_START_3 >= 149
-#    define BOOST_PP_ITERATION_3 149
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 149 && NDNBOOST_PP_ITERATION_START_3 >= 149
+#    define NDNBOOST_PP_ITERATION_3 149
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 148 && BOOST_PP_ITERATION_START_3 >= 148
-#    define BOOST_PP_ITERATION_3 148
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 148 && NDNBOOST_PP_ITERATION_START_3 >= 148
+#    define NDNBOOST_PP_ITERATION_3 148
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 147 && BOOST_PP_ITERATION_START_3 >= 147
-#    define BOOST_PP_ITERATION_3 147
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 147 && NDNBOOST_PP_ITERATION_START_3 >= 147
+#    define NDNBOOST_PP_ITERATION_3 147
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 146 && BOOST_PP_ITERATION_START_3 >= 146
-#    define BOOST_PP_ITERATION_3 146
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 146 && NDNBOOST_PP_ITERATION_START_3 >= 146
+#    define NDNBOOST_PP_ITERATION_3 146
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 145 && BOOST_PP_ITERATION_START_3 >= 145
-#    define BOOST_PP_ITERATION_3 145
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 145 && NDNBOOST_PP_ITERATION_START_3 >= 145
+#    define NDNBOOST_PP_ITERATION_3 145
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 144 && BOOST_PP_ITERATION_START_3 >= 144
-#    define BOOST_PP_ITERATION_3 144
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 144 && NDNBOOST_PP_ITERATION_START_3 >= 144
+#    define NDNBOOST_PP_ITERATION_3 144
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 143 && BOOST_PP_ITERATION_START_3 >= 143
-#    define BOOST_PP_ITERATION_3 143
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 143 && NDNBOOST_PP_ITERATION_START_3 >= 143
+#    define NDNBOOST_PP_ITERATION_3 143
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 142 && BOOST_PP_ITERATION_START_3 >= 142
-#    define BOOST_PP_ITERATION_3 142
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 142 && NDNBOOST_PP_ITERATION_START_3 >= 142
+#    define NDNBOOST_PP_ITERATION_3 142
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 141 && BOOST_PP_ITERATION_START_3 >= 141
-#    define BOOST_PP_ITERATION_3 141
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 141 && NDNBOOST_PP_ITERATION_START_3 >= 141
+#    define NDNBOOST_PP_ITERATION_3 141
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 140 && BOOST_PP_ITERATION_START_3 >= 140
-#    define BOOST_PP_ITERATION_3 140
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 140 && NDNBOOST_PP_ITERATION_START_3 >= 140
+#    define NDNBOOST_PP_ITERATION_3 140
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 139 && BOOST_PP_ITERATION_START_3 >= 139
-#    define BOOST_PP_ITERATION_3 139
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 139 && NDNBOOST_PP_ITERATION_START_3 >= 139
+#    define NDNBOOST_PP_ITERATION_3 139
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 138 && BOOST_PP_ITERATION_START_3 >= 138
-#    define BOOST_PP_ITERATION_3 138
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 138 && NDNBOOST_PP_ITERATION_START_3 >= 138
+#    define NDNBOOST_PP_ITERATION_3 138
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 137 && BOOST_PP_ITERATION_START_3 >= 137
-#    define BOOST_PP_ITERATION_3 137
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 137 && NDNBOOST_PP_ITERATION_START_3 >= 137
+#    define NDNBOOST_PP_ITERATION_3 137
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 136 && BOOST_PP_ITERATION_START_3 >= 136
-#    define BOOST_PP_ITERATION_3 136
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 136 && NDNBOOST_PP_ITERATION_START_3 >= 136
+#    define NDNBOOST_PP_ITERATION_3 136
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 135 && BOOST_PP_ITERATION_START_3 >= 135
-#    define BOOST_PP_ITERATION_3 135
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 135 && NDNBOOST_PP_ITERATION_START_3 >= 135
+#    define NDNBOOST_PP_ITERATION_3 135
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 134 && BOOST_PP_ITERATION_START_3 >= 134
-#    define BOOST_PP_ITERATION_3 134
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 134 && NDNBOOST_PP_ITERATION_START_3 >= 134
+#    define NDNBOOST_PP_ITERATION_3 134
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 133 && BOOST_PP_ITERATION_START_3 >= 133
-#    define BOOST_PP_ITERATION_3 133
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 133 && NDNBOOST_PP_ITERATION_START_3 >= 133
+#    define NDNBOOST_PP_ITERATION_3 133
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 132 && BOOST_PP_ITERATION_START_3 >= 132
-#    define BOOST_PP_ITERATION_3 132
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 132 && NDNBOOST_PP_ITERATION_START_3 >= 132
+#    define NDNBOOST_PP_ITERATION_3 132
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 131 && BOOST_PP_ITERATION_START_3 >= 131
-#    define BOOST_PP_ITERATION_3 131
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 131 && NDNBOOST_PP_ITERATION_START_3 >= 131
+#    define NDNBOOST_PP_ITERATION_3 131
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 130 && BOOST_PP_ITERATION_START_3 >= 130
-#    define BOOST_PP_ITERATION_3 130
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 130 && NDNBOOST_PP_ITERATION_START_3 >= 130
+#    define NDNBOOST_PP_ITERATION_3 130
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 129 && BOOST_PP_ITERATION_START_3 >= 129
-#    define BOOST_PP_ITERATION_3 129
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 129 && NDNBOOST_PP_ITERATION_START_3 >= 129
+#    define NDNBOOST_PP_ITERATION_3 129
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 128 && BOOST_PP_ITERATION_START_3 >= 128
-#    define BOOST_PP_ITERATION_3 128
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 128 && NDNBOOST_PP_ITERATION_START_3 >= 128
+#    define NDNBOOST_PP_ITERATION_3 128
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 127 && BOOST_PP_ITERATION_START_3 >= 127
-#    define BOOST_PP_ITERATION_3 127
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 127 && NDNBOOST_PP_ITERATION_START_3 >= 127
+#    define NDNBOOST_PP_ITERATION_3 127
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 126 && BOOST_PP_ITERATION_START_3 >= 126
-#    define BOOST_PP_ITERATION_3 126
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 126 && NDNBOOST_PP_ITERATION_START_3 >= 126
+#    define NDNBOOST_PP_ITERATION_3 126
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 125 && BOOST_PP_ITERATION_START_3 >= 125
-#    define BOOST_PP_ITERATION_3 125
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 125 && NDNBOOST_PP_ITERATION_START_3 >= 125
+#    define NDNBOOST_PP_ITERATION_3 125
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 124 && BOOST_PP_ITERATION_START_3 >= 124
-#    define BOOST_PP_ITERATION_3 124
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 124 && NDNBOOST_PP_ITERATION_START_3 >= 124
+#    define NDNBOOST_PP_ITERATION_3 124
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 123 && BOOST_PP_ITERATION_START_3 >= 123
-#    define BOOST_PP_ITERATION_3 123
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 123 && NDNBOOST_PP_ITERATION_START_3 >= 123
+#    define NDNBOOST_PP_ITERATION_3 123
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 122 && BOOST_PP_ITERATION_START_3 >= 122
-#    define BOOST_PP_ITERATION_3 122
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 122 && NDNBOOST_PP_ITERATION_START_3 >= 122
+#    define NDNBOOST_PP_ITERATION_3 122
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 121 && BOOST_PP_ITERATION_START_3 >= 121
-#    define BOOST_PP_ITERATION_3 121
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 121 && NDNBOOST_PP_ITERATION_START_3 >= 121
+#    define NDNBOOST_PP_ITERATION_3 121
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 120 && BOOST_PP_ITERATION_START_3 >= 120
-#    define BOOST_PP_ITERATION_3 120
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 120 && NDNBOOST_PP_ITERATION_START_3 >= 120
+#    define NDNBOOST_PP_ITERATION_3 120
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 119 && BOOST_PP_ITERATION_START_3 >= 119
-#    define BOOST_PP_ITERATION_3 119
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 119 && NDNBOOST_PP_ITERATION_START_3 >= 119
+#    define NDNBOOST_PP_ITERATION_3 119
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 118 && BOOST_PP_ITERATION_START_3 >= 118
-#    define BOOST_PP_ITERATION_3 118
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 118 && NDNBOOST_PP_ITERATION_START_3 >= 118
+#    define NDNBOOST_PP_ITERATION_3 118
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 117 && BOOST_PP_ITERATION_START_3 >= 117
-#    define BOOST_PP_ITERATION_3 117
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 117 && NDNBOOST_PP_ITERATION_START_3 >= 117
+#    define NDNBOOST_PP_ITERATION_3 117
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 116 && BOOST_PP_ITERATION_START_3 >= 116
-#    define BOOST_PP_ITERATION_3 116
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 116 && NDNBOOST_PP_ITERATION_START_3 >= 116
+#    define NDNBOOST_PP_ITERATION_3 116
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 115 && BOOST_PP_ITERATION_START_3 >= 115
-#    define BOOST_PP_ITERATION_3 115
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 115 && NDNBOOST_PP_ITERATION_START_3 >= 115
+#    define NDNBOOST_PP_ITERATION_3 115
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 114 && BOOST_PP_ITERATION_START_3 >= 114
-#    define BOOST_PP_ITERATION_3 114
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 114 && NDNBOOST_PP_ITERATION_START_3 >= 114
+#    define NDNBOOST_PP_ITERATION_3 114
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 113 && BOOST_PP_ITERATION_START_3 >= 113
-#    define BOOST_PP_ITERATION_3 113
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 113 && NDNBOOST_PP_ITERATION_START_3 >= 113
+#    define NDNBOOST_PP_ITERATION_3 113
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 112 && BOOST_PP_ITERATION_START_3 >= 112
-#    define BOOST_PP_ITERATION_3 112
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 112 && NDNBOOST_PP_ITERATION_START_3 >= 112
+#    define NDNBOOST_PP_ITERATION_3 112
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 111 && BOOST_PP_ITERATION_START_3 >= 111
-#    define BOOST_PP_ITERATION_3 111
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 111 && NDNBOOST_PP_ITERATION_START_3 >= 111
+#    define NDNBOOST_PP_ITERATION_3 111
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 110 && BOOST_PP_ITERATION_START_3 >= 110
-#    define BOOST_PP_ITERATION_3 110
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 110 && NDNBOOST_PP_ITERATION_START_3 >= 110
+#    define NDNBOOST_PP_ITERATION_3 110
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 109 && BOOST_PP_ITERATION_START_3 >= 109
-#    define BOOST_PP_ITERATION_3 109
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 109 && NDNBOOST_PP_ITERATION_START_3 >= 109
+#    define NDNBOOST_PP_ITERATION_3 109
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 108 && BOOST_PP_ITERATION_START_3 >= 108
-#    define BOOST_PP_ITERATION_3 108
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 108 && NDNBOOST_PP_ITERATION_START_3 >= 108
+#    define NDNBOOST_PP_ITERATION_3 108
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 107 && BOOST_PP_ITERATION_START_3 >= 107
-#    define BOOST_PP_ITERATION_3 107
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 107 && NDNBOOST_PP_ITERATION_START_3 >= 107
+#    define NDNBOOST_PP_ITERATION_3 107
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 106 && BOOST_PP_ITERATION_START_3 >= 106
-#    define BOOST_PP_ITERATION_3 106
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 106 && NDNBOOST_PP_ITERATION_START_3 >= 106
+#    define NDNBOOST_PP_ITERATION_3 106
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 105 && BOOST_PP_ITERATION_START_3 >= 105
-#    define BOOST_PP_ITERATION_3 105
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 105 && NDNBOOST_PP_ITERATION_START_3 >= 105
+#    define NDNBOOST_PP_ITERATION_3 105
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 104 && BOOST_PP_ITERATION_START_3 >= 104
-#    define BOOST_PP_ITERATION_3 104
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 104 && NDNBOOST_PP_ITERATION_START_3 >= 104
+#    define NDNBOOST_PP_ITERATION_3 104
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 103 && BOOST_PP_ITERATION_START_3 >= 103
-#    define BOOST_PP_ITERATION_3 103
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 103 && NDNBOOST_PP_ITERATION_START_3 >= 103
+#    define NDNBOOST_PP_ITERATION_3 103
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 102 && BOOST_PP_ITERATION_START_3 >= 102
-#    define BOOST_PP_ITERATION_3 102
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 102 && NDNBOOST_PP_ITERATION_START_3 >= 102
+#    define NDNBOOST_PP_ITERATION_3 102
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 101 && BOOST_PP_ITERATION_START_3 >= 101
-#    define BOOST_PP_ITERATION_3 101
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 101 && NDNBOOST_PP_ITERATION_START_3 >= 101
+#    define NDNBOOST_PP_ITERATION_3 101
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 100 && BOOST_PP_ITERATION_START_3 >= 100
-#    define BOOST_PP_ITERATION_3 100
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 100 && NDNBOOST_PP_ITERATION_START_3 >= 100
+#    define NDNBOOST_PP_ITERATION_3 100
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 99 && BOOST_PP_ITERATION_START_3 >= 99
-#    define BOOST_PP_ITERATION_3 99
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 99 && NDNBOOST_PP_ITERATION_START_3 >= 99
+#    define NDNBOOST_PP_ITERATION_3 99
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 98 && BOOST_PP_ITERATION_START_3 >= 98
-#    define BOOST_PP_ITERATION_3 98
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 98 && NDNBOOST_PP_ITERATION_START_3 >= 98
+#    define NDNBOOST_PP_ITERATION_3 98
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 97 && BOOST_PP_ITERATION_START_3 >= 97
-#    define BOOST_PP_ITERATION_3 97
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 97 && NDNBOOST_PP_ITERATION_START_3 >= 97
+#    define NDNBOOST_PP_ITERATION_3 97
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 96 && BOOST_PP_ITERATION_START_3 >= 96
-#    define BOOST_PP_ITERATION_3 96
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 96 && NDNBOOST_PP_ITERATION_START_3 >= 96
+#    define NDNBOOST_PP_ITERATION_3 96
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 95 && BOOST_PP_ITERATION_START_3 >= 95
-#    define BOOST_PP_ITERATION_3 95
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 95 && NDNBOOST_PP_ITERATION_START_3 >= 95
+#    define NDNBOOST_PP_ITERATION_3 95
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 94 && BOOST_PP_ITERATION_START_3 >= 94
-#    define BOOST_PP_ITERATION_3 94
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 94 && NDNBOOST_PP_ITERATION_START_3 >= 94
+#    define NDNBOOST_PP_ITERATION_3 94
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 93 && BOOST_PP_ITERATION_START_3 >= 93
-#    define BOOST_PP_ITERATION_3 93
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 93 && NDNBOOST_PP_ITERATION_START_3 >= 93
+#    define NDNBOOST_PP_ITERATION_3 93
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 92 && BOOST_PP_ITERATION_START_3 >= 92
-#    define BOOST_PP_ITERATION_3 92
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 92 && NDNBOOST_PP_ITERATION_START_3 >= 92
+#    define NDNBOOST_PP_ITERATION_3 92
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 91 && BOOST_PP_ITERATION_START_3 >= 91
-#    define BOOST_PP_ITERATION_3 91
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 91 && NDNBOOST_PP_ITERATION_START_3 >= 91
+#    define NDNBOOST_PP_ITERATION_3 91
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 90 && BOOST_PP_ITERATION_START_3 >= 90
-#    define BOOST_PP_ITERATION_3 90
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 90 && NDNBOOST_PP_ITERATION_START_3 >= 90
+#    define NDNBOOST_PP_ITERATION_3 90
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 89 && BOOST_PP_ITERATION_START_3 >= 89
-#    define BOOST_PP_ITERATION_3 89
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 89 && NDNBOOST_PP_ITERATION_START_3 >= 89
+#    define NDNBOOST_PP_ITERATION_3 89
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 88 && BOOST_PP_ITERATION_START_3 >= 88
-#    define BOOST_PP_ITERATION_3 88
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 88 && NDNBOOST_PP_ITERATION_START_3 >= 88
+#    define NDNBOOST_PP_ITERATION_3 88
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 87 && BOOST_PP_ITERATION_START_3 >= 87
-#    define BOOST_PP_ITERATION_3 87
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 87 && NDNBOOST_PP_ITERATION_START_3 >= 87
+#    define NDNBOOST_PP_ITERATION_3 87
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 86 && BOOST_PP_ITERATION_START_3 >= 86
-#    define BOOST_PP_ITERATION_3 86
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 86 && NDNBOOST_PP_ITERATION_START_3 >= 86
+#    define NDNBOOST_PP_ITERATION_3 86
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 85 && BOOST_PP_ITERATION_START_3 >= 85
-#    define BOOST_PP_ITERATION_3 85
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 85 && NDNBOOST_PP_ITERATION_START_3 >= 85
+#    define NDNBOOST_PP_ITERATION_3 85
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 84 && BOOST_PP_ITERATION_START_3 >= 84
-#    define BOOST_PP_ITERATION_3 84
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 84 && NDNBOOST_PP_ITERATION_START_3 >= 84
+#    define NDNBOOST_PP_ITERATION_3 84
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 83 && BOOST_PP_ITERATION_START_3 >= 83
-#    define BOOST_PP_ITERATION_3 83
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 83 && NDNBOOST_PP_ITERATION_START_3 >= 83
+#    define NDNBOOST_PP_ITERATION_3 83
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 82 && BOOST_PP_ITERATION_START_3 >= 82
-#    define BOOST_PP_ITERATION_3 82
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 82 && NDNBOOST_PP_ITERATION_START_3 >= 82
+#    define NDNBOOST_PP_ITERATION_3 82
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 81 && BOOST_PP_ITERATION_START_3 >= 81
-#    define BOOST_PP_ITERATION_3 81
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 81 && NDNBOOST_PP_ITERATION_START_3 >= 81
+#    define NDNBOOST_PP_ITERATION_3 81
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 80 && BOOST_PP_ITERATION_START_3 >= 80
-#    define BOOST_PP_ITERATION_3 80
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 80 && NDNBOOST_PP_ITERATION_START_3 >= 80
+#    define NDNBOOST_PP_ITERATION_3 80
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 79 && BOOST_PP_ITERATION_START_3 >= 79
-#    define BOOST_PP_ITERATION_3 79
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 79 && NDNBOOST_PP_ITERATION_START_3 >= 79
+#    define NDNBOOST_PP_ITERATION_3 79
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 78 && BOOST_PP_ITERATION_START_3 >= 78
-#    define BOOST_PP_ITERATION_3 78
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 78 && NDNBOOST_PP_ITERATION_START_3 >= 78
+#    define NDNBOOST_PP_ITERATION_3 78
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 77 && BOOST_PP_ITERATION_START_3 >= 77
-#    define BOOST_PP_ITERATION_3 77
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 77 && NDNBOOST_PP_ITERATION_START_3 >= 77
+#    define NDNBOOST_PP_ITERATION_3 77
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 76 && BOOST_PP_ITERATION_START_3 >= 76
-#    define BOOST_PP_ITERATION_3 76
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 76 && NDNBOOST_PP_ITERATION_START_3 >= 76
+#    define NDNBOOST_PP_ITERATION_3 76
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 75 && BOOST_PP_ITERATION_START_3 >= 75
-#    define BOOST_PP_ITERATION_3 75
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 75 && NDNBOOST_PP_ITERATION_START_3 >= 75
+#    define NDNBOOST_PP_ITERATION_3 75
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 74 && BOOST_PP_ITERATION_START_3 >= 74
-#    define BOOST_PP_ITERATION_3 74
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 74 && NDNBOOST_PP_ITERATION_START_3 >= 74
+#    define NDNBOOST_PP_ITERATION_3 74
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 73 && BOOST_PP_ITERATION_START_3 >= 73
-#    define BOOST_PP_ITERATION_3 73
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 73 && NDNBOOST_PP_ITERATION_START_3 >= 73
+#    define NDNBOOST_PP_ITERATION_3 73
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 72 && BOOST_PP_ITERATION_START_3 >= 72
-#    define BOOST_PP_ITERATION_3 72
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 72 && NDNBOOST_PP_ITERATION_START_3 >= 72
+#    define NDNBOOST_PP_ITERATION_3 72
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 71 && BOOST_PP_ITERATION_START_3 >= 71
-#    define BOOST_PP_ITERATION_3 71
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 71 && NDNBOOST_PP_ITERATION_START_3 >= 71
+#    define NDNBOOST_PP_ITERATION_3 71
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 70 && BOOST_PP_ITERATION_START_3 >= 70
-#    define BOOST_PP_ITERATION_3 70
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 70 && NDNBOOST_PP_ITERATION_START_3 >= 70
+#    define NDNBOOST_PP_ITERATION_3 70
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 69 && BOOST_PP_ITERATION_START_3 >= 69
-#    define BOOST_PP_ITERATION_3 69
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 69 && NDNBOOST_PP_ITERATION_START_3 >= 69
+#    define NDNBOOST_PP_ITERATION_3 69
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 68 && BOOST_PP_ITERATION_START_3 >= 68
-#    define BOOST_PP_ITERATION_3 68
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 68 && NDNBOOST_PP_ITERATION_START_3 >= 68
+#    define NDNBOOST_PP_ITERATION_3 68
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 67 && BOOST_PP_ITERATION_START_3 >= 67
-#    define BOOST_PP_ITERATION_3 67
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 67 && NDNBOOST_PP_ITERATION_START_3 >= 67
+#    define NDNBOOST_PP_ITERATION_3 67
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 66 && BOOST_PP_ITERATION_START_3 >= 66
-#    define BOOST_PP_ITERATION_3 66
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 66 && NDNBOOST_PP_ITERATION_START_3 >= 66
+#    define NDNBOOST_PP_ITERATION_3 66
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 65 && BOOST_PP_ITERATION_START_3 >= 65
-#    define BOOST_PP_ITERATION_3 65
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 65 && NDNBOOST_PP_ITERATION_START_3 >= 65
+#    define NDNBOOST_PP_ITERATION_3 65
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 64 && BOOST_PP_ITERATION_START_3 >= 64
-#    define BOOST_PP_ITERATION_3 64
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 64 && NDNBOOST_PP_ITERATION_START_3 >= 64
+#    define NDNBOOST_PP_ITERATION_3 64
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 63 && BOOST_PP_ITERATION_START_3 >= 63
-#    define BOOST_PP_ITERATION_3 63
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 63 && NDNBOOST_PP_ITERATION_START_3 >= 63
+#    define NDNBOOST_PP_ITERATION_3 63
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 62 && BOOST_PP_ITERATION_START_3 >= 62
-#    define BOOST_PP_ITERATION_3 62
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 62 && NDNBOOST_PP_ITERATION_START_3 >= 62
+#    define NDNBOOST_PP_ITERATION_3 62
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 61 && BOOST_PP_ITERATION_START_3 >= 61
-#    define BOOST_PP_ITERATION_3 61
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 61 && NDNBOOST_PP_ITERATION_START_3 >= 61
+#    define NDNBOOST_PP_ITERATION_3 61
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 60 && BOOST_PP_ITERATION_START_3 >= 60
-#    define BOOST_PP_ITERATION_3 60
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 60 && NDNBOOST_PP_ITERATION_START_3 >= 60
+#    define NDNBOOST_PP_ITERATION_3 60
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 59 && BOOST_PP_ITERATION_START_3 >= 59
-#    define BOOST_PP_ITERATION_3 59
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 59 && NDNBOOST_PP_ITERATION_START_3 >= 59
+#    define NDNBOOST_PP_ITERATION_3 59
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 58 && BOOST_PP_ITERATION_START_3 >= 58
-#    define BOOST_PP_ITERATION_3 58
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 58 && NDNBOOST_PP_ITERATION_START_3 >= 58
+#    define NDNBOOST_PP_ITERATION_3 58
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 57 && BOOST_PP_ITERATION_START_3 >= 57
-#    define BOOST_PP_ITERATION_3 57
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 57 && NDNBOOST_PP_ITERATION_START_3 >= 57
+#    define NDNBOOST_PP_ITERATION_3 57
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 56 && BOOST_PP_ITERATION_START_3 >= 56
-#    define BOOST_PP_ITERATION_3 56
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 56 && NDNBOOST_PP_ITERATION_START_3 >= 56
+#    define NDNBOOST_PP_ITERATION_3 56
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 55 && BOOST_PP_ITERATION_START_3 >= 55
-#    define BOOST_PP_ITERATION_3 55
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 55 && NDNBOOST_PP_ITERATION_START_3 >= 55
+#    define NDNBOOST_PP_ITERATION_3 55
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 54 && BOOST_PP_ITERATION_START_3 >= 54
-#    define BOOST_PP_ITERATION_3 54
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 54 && NDNBOOST_PP_ITERATION_START_3 >= 54
+#    define NDNBOOST_PP_ITERATION_3 54
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 53 && BOOST_PP_ITERATION_START_3 >= 53
-#    define BOOST_PP_ITERATION_3 53
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 53 && NDNBOOST_PP_ITERATION_START_3 >= 53
+#    define NDNBOOST_PP_ITERATION_3 53
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 52 && BOOST_PP_ITERATION_START_3 >= 52
-#    define BOOST_PP_ITERATION_3 52
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 52 && NDNBOOST_PP_ITERATION_START_3 >= 52
+#    define NDNBOOST_PP_ITERATION_3 52
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 51 && BOOST_PP_ITERATION_START_3 >= 51
-#    define BOOST_PP_ITERATION_3 51
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 51 && NDNBOOST_PP_ITERATION_START_3 >= 51
+#    define NDNBOOST_PP_ITERATION_3 51
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 50 && BOOST_PP_ITERATION_START_3 >= 50
-#    define BOOST_PP_ITERATION_3 50
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 50 && NDNBOOST_PP_ITERATION_START_3 >= 50
+#    define NDNBOOST_PP_ITERATION_3 50
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 49 && BOOST_PP_ITERATION_START_3 >= 49
-#    define BOOST_PP_ITERATION_3 49
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 49 && NDNBOOST_PP_ITERATION_START_3 >= 49
+#    define NDNBOOST_PP_ITERATION_3 49
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 48 && BOOST_PP_ITERATION_START_3 >= 48
-#    define BOOST_PP_ITERATION_3 48
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 48 && NDNBOOST_PP_ITERATION_START_3 >= 48
+#    define NDNBOOST_PP_ITERATION_3 48
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 47 && BOOST_PP_ITERATION_START_3 >= 47
-#    define BOOST_PP_ITERATION_3 47
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 47 && NDNBOOST_PP_ITERATION_START_3 >= 47
+#    define NDNBOOST_PP_ITERATION_3 47
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 46 && BOOST_PP_ITERATION_START_3 >= 46
-#    define BOOST_PP_ITERATION_3 46
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 46 && NDNBOOST_PP_ITERATION_START_3 >= 46
+#    define NDNBOOST_PP_ITERATION_3 46
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 45 && BOOST_PP_ITERATION_START_3 >= 45
-#    define BOOST_PP_ITERATION_3 45
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 45 && NDNBOOST_PP_ITERATION_START_3 >= 45
+#    define NDNBOOST_PP_ITERATION_3 45
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 44 && BOOST_PP_ITERATION_START_3 >= 44
-#    define BOOST_PP_ITERATION_3 44
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 44 && NDNBOOST_PP_ITERATION_START_3 >= 44
+#    define NDNBOOST_PP_ITERATION_3 44
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 43 && BOOST_PP_ITERATION_START_3 >= 43
-#    define BOOST_PP_ITERATION_3 43
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 43 && NDNBOOST_PP_ITERATION_START_3 >= 43
+#    define NDNBOOST_PP_ITERATION_3 43
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 42 && BOOST_PP_ITERATION_START_3 >= 42
-#    define BOOST_PP_ITERATION_3 42
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 42 && NDNBOOST_PP_ITERATION_START_3 >= 42
+#    define NDNBOOST_PP_ITERATION_3 42
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 41 && BOOST_PP_ITERATION_START_3 >= 41
-#    define BOOST_PP_ITERATION_3 41
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 41 && NDNBOOST_PP_ITERATION_START_3 >= 41
+#    define NDNBOOST_PP_ITERATION_3 41
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 40 && BOOST_PP_ITERATION_START_3 >= 40
-#    define BOOST_PP_ITERATION_3 40
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 40 && NDNBOOST_PP_ITERATION_START_3 >= 40
+#    define NDNBOOST_PP_ITERATION_3 40
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 39 && BOOST_PP_ITERATION_START_3 >= 39
-#    define BOOST_PP_ITERATION_3 39
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 39 && NDNBOOST_PP_ITERATION_START_3 >= 39
+#    define NDNBOOST_PP_ITERATION_3 39
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 38 && BOOST_PP_ITERATION_START_3 >= 38
-#    define BOOST_PP_ITERATION_3 38
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 38 && NDNBOOST_PP_ITERATION_START_3 >= 38
+#    define NDNBOOST_PP_ITERATION_3 38
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 37 && BOOST_PP_ITERATION_START_3 >= 37
-#    define BOOST_PP_ITERATION_3 37
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 37 && NDNBOOST_PP_ITERATION_START_3 >= 37
+#    define NDNBOOST_PP_ITERATION_3 37
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 36 && BOOST_PP_ITERATION_START_3 >= 36
-#    define BOOST_PP_ITERATION_3 36
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 36 && NDNBOOST_PP_ITERATION_START_3 >= 36
+#    define NDNBOOST_PP_ITERATION_3 36
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 35 && BOOST_PP_ITERATION_START_3 >= 35
-#    define BOOST_PP_ITERATION_3 35
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 35 && NDNBOOST_PP_ITERATION_START_3 >= 35
+#    define NDNBOOST_PP_ITERATION_3 35
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 34 && BOOST_PP_ITERATION_START_3 >= 34
-#    define BOOST_PP_ITERATION_3 34
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 34 && NDNBOOST_PP_ITERATION_START_3 >= 34
+#    define NDNBOOST_PP_ITERATION_3 34
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 33 && BOOST_PP_ITERATION_START_3 >= 33
-#    define BOOST_PP_ITERATION_3 33
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 33 && NDNBOOST_PP_ITERATION_START_3 >= 33
+#    define NDNBOOST_PP_ITERATION_3 33
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 32 && BOOST_PP_ITERATION_START_3 >= 32
-#    define BOOST_PP_ITERATION_3 32
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 32 && NDNBOOST_PP_ITERATION_START_3 >= 32
+#    define NDNBOOST_PP_ITERATION_3 32
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 31 && BOOST_PP_ITERATION_START_3 >= 31
-#    define BOOST_PP_ITERATION_3 31
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 31 && NDNBOOST_PP_ITERATION_START_3 >= 31
+#    define NDNBOOST_PP_ITERATION_3 31
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 30 && BOOST_PP_ITERATION_START_3 >= 30
-#    define BOOST_PP_ITERATION_3 30
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 30 && NDNBOOST_PP_ITERATION_START_3 >= 30
+#    define NDNBOOST_PP_ITERATION_3 30
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 29 && BOOST_PP_ITERATION_START_3 >= 29
-#    define BOOST_PP_ITERATION_3 29
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 29 && NDNBOOST_PP_ITERATION_START_3 >= 29
+#    define NDNBOOST_PP_ITERATION_3 29
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 28 && BOOST_PP_ITERATION_START_3 >= 28
-#    define BOOST_PP_ITERATION_3 28
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 28 && NDNBOOST_PP_ITERATION_START_3 >= 28
+#    define NDNBOOST_PP_ITERATION_3 28
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 27 && BOOST_PP_ITERATION_START_3 >= 27
-#    define BOOST_PP_ITERATION_3 27
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 27 && NDNBOOST_PP_ITERATION_START_3 >= 27
+#    define NDNBOOST_PP_ITERATION_3 27
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 26 && BOOST_PP_ITERATION_START_3 >= 26
-#    define BOOST_PP_ITERATION_3 26
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 26 && NDNBOOST_PP_ITERATION_START_3 >= 26
+#    define NDNBOOST_PP_ITERATION_3 26
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 25 && BOOST_PP_ITERATION_START_3 >= 25
-#    define BOOST_PP_ITERATION_3 25
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 25 && NDNBOOST_PP_ITERATION_START_3 >= 25
+#    define NDNBOOST_PP_ITERATION_3 25
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 24 && BOOST_PP_ITERATION_START_3 >= 24
-#    define BOOST_PP_ITERATION_3 24
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 24 && NDNBOOST_PP_ITERATION_START_3 >= 24
+#    define NDNBOOST_PP_ITERATION_3 24
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 23 && BOOST_PP_ITERATION_START_3 >= 23
-#    define BOOST_PP_ITERATION_3 23
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 23 && NDNBOOST_PP_ITERATION_START_3 >= 23
+#    define NDNBOOST_PP_ITERATION_3 23
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 22 && BOOST_PP_ITERATION_START_3 >= 22
-#    define BOOST_PP_ITERATION_3 22
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 22 && NDNBOOST_PP_ITERATION_START_3 >= 22
+#    define NDNBOOST_PP_ITERATION_3 22
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 21 && BOOST_PP_ITERATION_START_3 >= 21
-#    define BOOST_PP_ITERATION_3 21
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 21 && NDNBOOST_PP_ITERATION_START_3 >= 21
+#    define NDNBOOST_PP_ITERATION_3 21
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 20 && BOOST_PP_ITERATION_START_3 >= 20
-#    define BOOST_PP_ITERATION_3 20
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 20 && NDNBOOST_PP_ITERATION_START_3 >= 20
+#    define NDNBOOST_PP_ITERATION_3 20
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 19 && BOOST_PP_ITERATION_START_3 >= 19
-#    define BOOST_PP_ITERATION_3 19
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 19 && NDNBOOST_PP_ITERATION_START_3 >= 19
+#    define NDNBOOST_PP_ITERATION_3 19
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 18 && BOOST_PP_ITERATION_START_3 >= 18
-#    define BOOST_PP_ITERATION_3 18
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 18 && NDNBOOST_PP_ITERATION_START_3 >= 18
+#    define NDNBOOST_PP_ITERATION_3 18
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 17 && BOOST_PP_ITERATION_START_3 >= 17
-#    define BOOST_PP_ITERATION_3 17
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 17 && NDNBOOST_PP_ITERATION_START_3 >= 17
+#    define NDNBOOST_PP_ITERATION_3 17
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 16 && BOOST_PP_ITERATION_START_3 >= 16
-#    define BOOST_PP_ITERATION_3 16
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 16 && NDNBOOST_PP_ITERATION_START_3 >= 16
+#    define NDNBOOST_PP_ITERATION_3 16
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 15 && BOOST_PP_ITERATION_START_3 >= 15
-#    define BOOST_PP_ITERATION_3 15
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 15 && NDNBOOST_PP_ITERATION_START_3 >= 15
+#    define NDNBOOST_PP_ITERATION_3 15
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 14 && BOOST_PP_ITERATION_START_3 >= 14
-#    define BOOST_PP_ITERATION_3 14
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 14 && NDNBOOST_PP_ITERATION_START_3 >= 14
+#    define NDNBOOST_PP_ITERATION_3 14
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 13 && BOOST_PP_ITERATION_START_3 >= 13
-#    define BOOST_PP_ITERATION_3 13
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 13 && NDNBOOST_PP_ITERATION_START_3 >= 13
+#    define NDNBOOST_PP_ITERATION_3 13
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 12 && BOOST_PP_ITERATION_START_3 >= 12
-#    define BOOST_PP_ITERATION_3 12
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 12 && NDNBOOST_PP_ITERATION_START_3 >= 12
+#    define NDNBOOST_PP_ITERATION_3 12
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 11 && BOOST_PP_ITERATION_START_3 >= 11
-#    define BOOST_PP_ITERATION_3 11
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 11 && NDNBOOST_PP_ITERATION_START_3 >= 11
+#    define NDNBOOST_PP_ITERATION_3 11
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 10 && BOOST_PP_ITERATION_START_3 >= 10
-#    define BOOST_PP_ITERATION_3 10
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 10 && NDNBOOST_PP_ITERATION_START_3 >= 10
+#    define NDNBOOST_PP_ITERATION_3 10
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 9 && BOOST_PP_ITERATION_START_3 >= 9
-#    define BOOST_PP_ITERATION_3 9
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 9 && NDNBOOST_PP_ITERATION_START_3 >= 9
+#    define NDNBOOST_PP_ITERATION_3 9
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 8 && BOOST_PP_ITERATION_START_3 >= 8
-#    define BOOST_PP_ITERATION_3 8
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 8 && NDNBOOST_PP_ITERATION_START_3 >= 8
+#    define NDNBOOST_PP_ITERATION_3 8
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 7 && BOOST_PP_ITERATION_START_3 >= 7
-#    define BOOST_PP_ITERATION_3 7
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 7 && NDNBOOST_PP_ITERATION_START_3 >= 7
+#    define NDNBOOST_PP_ITERATION_3 7
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 6 && BOOST_PP_ITERATION_START_3 >= 6
-#    define BOOST_PP_ITERATION_3 6
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 6 && NDNBOOST_PP_ITERATION_START_3 >= 6
+#    define NDNBOOST_PP_ITERATION_3 6
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 5 && BOOST_PP_ITERATION_START_3 >= 5
-#    define BOOST_PP_ITERATION_3 5
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 5 && NDNBOOST_PP_ITERATION_START_3 >= 5
+#    define NDNBOOST_PP_ITERATION_3 5
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 4 && BOOST_PP_ITERATION_START_3 >= 4
-#    define BOOST_PP_ITERATION_3 4
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 4 && NDNBOOST_PP_ITERATION_START_3 >= 4
+#    define NDNBOOST_PP_ITERATION_3 4
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 3 && BOOST_PP_ITERATION_START_3 >= 3
-#    define BOOST_PP_ITERATION_3 3
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 3 && NDNBOOST_PP_ITERATION_START_3 >= 3
+#    define NDNBOOST_PP_ITERATION_3 3
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 2 && BOOST_PP_ITERATION_START_3 >= 2
-#    define BOOST_PP_ITERATION_3 2
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 2 && NDNBOOST_PP_ITERATION_START_3 >= 2
+#    define NDNBOOST_PP_ITERATION_3 2
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 1 && BOOST_PP_ITERATION_START_3 >= 1
-#    define BOOST_PP_ITERATION_3 1
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 1 && NDNBOOST_PP_ITERATION_START_3 >= 1
+#    define NDNBOOST_PP_ITERATION_3 1
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 0 && BOOST_PP_ITERATION_START_3 >= 0
-#    define BOOST_PP_ITERATION_3 0
-#    include BOOST_PP_FILENAME_3
-#    undef BOOST_PP_ITERATION_3
+# if NDNBOOST_PP_ITERATION_FINISH_3 <= 0 && NDNBOOST_PP_ITERATION_START_3 >= 0
+#    define NDNBOOST_PP_ITERATION_3 0
+#    include NDNBOOST_PP_FILENAME_3
+#    undef NDNBOOST_PP_ITERATION_3
 # endif
diff --git a/include/ndnboost/preprocessor/iteration/detail/iter/reverse4.hpp b/include/ndnboost/preprocessor/iteration/detail/iter/reverse4.hpp
index 3bcfba0..e9e7736 100644
--- a/include/ndnboost/preprocessor/iteration/detail/iter/reverse4.hpp
+++ b/include/ndnboost/preprocessor/iteration/detail/iter/reverse4.hpp
@@ -9,1288 +9,1288 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# if BOOST_PP_ITERATION_FINISH_4 <= 256 && BOOST_PP_ITERATION_START_4 >= 256
-#    define BOOST_PP_ITERATION_4 256
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 256 && NDNBOOST_PP_ITERATION_START_4 >= 256
+#    define NDNBOOST_PP_ITERATION_4 256
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 255 && BOOST_PP_ITERATION_START_4 >= 255
-#    define BOOST_PP_ITERATION_4 255
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 255 && NDNBOOST_PP_ITERATION_START_4 >= 255
+#    define NDNBOOST_PP_ITERATION_4 255
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 254 && BOOST_PP_ITERATION_START_4 >= 254
-#    define BOOST_PP_ITERATION_4 254
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 254 && NDNBOOST_PP_ITERATION_START_4 >= 254
+#    define NDNBOOST_PP_ITERATION_4 254
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 253 && BOOST_PP_ITERATION_START_4 >= 253
-#    define BOOST_PP_ITERATION_4 253
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 253 && NDNBOOST_PP_ITERATION_START_4 >= 253
+#    define NDNBOOST_PP_ITERATION_4 253
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 252 && BOOST_PP_ITERATION_START_4 >= 252
-#    define BOOST_PP_ITERATION_4 252
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 252 && NDNBOOST_PP_ITERATION_START_4 >= 252
+#    define NDNBOOST_PP_ITERATION_4 252
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 251 && BOOST_PP_ITERATION_START_4 >= 251
-#    define BOOST_PP_ITERATION_4 251
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 251 && NDNBOOST_PP_ITERATION_START_4 >= 251
+#    define NDNBOOST_PP_ITERATION_4 251
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 250 && BOOST_PP_ITERATION_START_4 >= 250
-#    define BOOST_PP_ITERATION_4 250
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 250 && NDNBOOST_PP_ITERATION_START_4 >= 250
+#    define NDNBOOST_PP_ITERATION_4 250
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 249 && BOOST_PP_ITERATION_START_4 >= 249
-#    define BOOST_PP_ITERATION_4 249
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 249 && NDNBOOST_PP_ITERATION_START_4 >= 249
+#    define NDNBOOST_PP_ITERATION_4 249
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 248 && BOOST_PP_ITERATION_START_4 >= 248
-#    define BOOST_PP_ITERATION_4 248
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 248 && NDNBOOST_PP_ITERATION_START_4 >= 248
+#    define NDNBOOST_PP_ITERATION_4 248
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 247 && BOOST_PP_ITERATION_START_4 >= 247
-#    define BOOST_PP_ITERATION_4 247
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 247 && NDNBOOST_PP_ITERATION_START_4 >= 247
+#    define NDNBOOST_PP_ITERATION_4 247
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 246 && BOOST_PP_ITERATION_START_4 >= 246
-#    define BOOST_PP_ITERATION_4 246
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 246 && NDNBOOST_PP_ITERATION_START_4 >= 246
+#    define NDNBOOST_PP_ITERATION_4 246
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 245 && BOOST_PP_ITERATION_START_4 >= 245
-#    define BOOST_PP_ITERATION_4 245
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 245 && NDNBOOST_PP_ITERATION_START_4 >= 245
+#    define NDNBOOST_PP_ITERATION_4 245
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 244 && BOOST_PP_ITERATION_START_4 >= 244
-#    define BOOST_PP_ITERATION_4 244
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 244 && NDNBOOST_PP_ITERATION_START_4 >= 244
+#    define NDNBOOST_PP_ITERATION_4 244
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 243 && BOOST_PP_ITERATION_START_4 >= 243
-#    define BOOST_PP_ITERATION_4 243
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 243 && NDNBOOST_PP_ITERATION_START_4 >= 243
+#    define NDNBOOST_PP_ITERATION_4 243
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 242 && BOOST_PP_ITERATION_START_4 >= 242
-#    define BOOST_PP_ITERATION_4 242
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 242 && NDNBOOST_PP_ITERATION_START_4 >= 242
+#    define NDNBOOST_PP_ITERATION_4 242
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 241 && BOOST_PP_ITERATION_START_4 >= 241
-#    define BOOST_PP_ITERATION_4 241
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 241 && NDNBOOST_PP_ITERATION_START_4 >= 241
+#    define NDNBOOST_PP_ITERATION_4 241
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 240 && BOOST_PP_ITERATION_START_4 >= 240
-#    define BOOST_PP_ITERATION_4 240
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 240 && NDNBOOST_PP_ITERATION_START_4 >= 240
+#    define NDNBOOST_PP_ITERATION_4 240
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 239 && BOOST_PP_ITERATION_START_4 >= 239
-#    define BOOST_PP_ITERATION_4 239
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 239 && NDNBOOST_PP_ITERATION_START_4 >= 239
+#    define NDNBOOST_PP_ITERATION_4 239
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 238 && BOOST_PP_ITERATION_START_4 >= 238
-#    define BOOST_PP_ITERATION_4 238
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 238 && NDNBOOST_PP_ITERATION_START_4 >= 238
+#    define NDNBOOST_PP_ITERATION_4 238
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 237 && BOOST_PP_ITERATION_START_4 >= 237
-#    define BOOST_PP_ITERATION_4 237
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 237 && NDNBOOST_PP_ITERATION_START_4 >= 237
+#    define NDNBOOST_PP_ITERATION_4 237
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 236 && BOOST_PP_ITERATION_START_4 >= 236
-#    define BOOST_PP_ITERATION_4 236
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 236 && NDNBOOST_PP_ITERATION_START_4 >= 236
+#    define NDNBOOST_PP_ITERATION_4 236
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 235 && BOOST_PP_ITERATION_START_4 >= 235
-#    define BOOST_PP_ITERATION_4 235
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 235 && NDNBOOST_PP_ITERATION_START_4 >= 235
+#    define NDNBOOST_PP_ITERATION_4 235
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 234 && BOOST_PP_ITERATION_START_4 >= 234
-#    define BOOST_PP_ITERATION_4 234
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 234 && NDNBOOST_PP_ITERATION_START_4 >= 234
+#    define NDNBOOST_PP_ITERATION_4 234
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 233 && BOOST_PP_ITERATION_START_4 >= 233
-#    define BOOST_PP_ITERATION_4 233
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 233 && NDNBOOST_PP_ITERATION_START_4 >= 233
+#    define NDNBOOST_PP_ITERATION_4 233
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 232 && BOOST_PP_ITERATION_START_4 >= 232
-#    define BOOST_PP_ITERATION_4 232
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 232 && NDNBOOST_PP_ITERATION_START_4 >= 232
+#    define NDNBOOST_PP_ITERATION_4 232
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 231 && BOOST_PP_ITERATION_START_4 >= 231
-#    define BOOST_PP_ITERATION_4 231
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 231 && NDNBOOST_PP_ITERATION_START_4 >= 231
+#    define NDNBOOST_PP_ITERATION_4 231
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 230 && BOOST_PP_ITERATION_START_4 >= 230
-#    define BOOST_PP_ITERATION_4 230
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 230 && NDNBOOST_PP_ITERATION_START_4 >= 230
+#    define NDNBOOST_PP_ITERATION_4 230
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 229 && BOOST_PP_ITERATION_START_4 >= 229
-#    define BOOST_PP_ITERATION_4 229
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 229 && NDNBOOST_PP_ITERATION_START_4 >= 229
+#    define NDNBOOST_PP_ITERATION_4 229
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 228 && BOOST_PP_ITERATION_START_4 >= 228
-#    define BOOST_PP_ITERATION_4 228
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 228 && NDNBOOST_PP_ITERATION_START_4 >= 228
+#    define NDNBOOST_PP_ITERATION_4 228
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 227 && BOOST_PP_ITERATION_START_4 >= 227
-#    define BOOST_PP_ITERATION_4 227
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 227 && NDNBOOST_PP_ITERATION_START_4 >= 227
+#    define NDNBOOST_PP_ITERATION_4 227
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 226 && BOOST_PP_ITERATION_START_4 >= 226
-#    define BOOST_PP_ITERATION_4 226
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 226 && NDNBOOST_PP_ITERATION_START_4 >= 226
+#    define NDNBOOST_PP_ITERATION_4 226
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 225 && BOOST_PP_ITERATION_START_4 >= 225
-#    define BOOST_PP_ITERATION_4 225
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 225 && NDNBOOST_PP_ITERATION_START_4 >= 225
+#    define NDNBOOST_PP_ITERATION_4 225
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 224 && BOOST_PP_ITERATION_START_4 >= 224
-#    define BOOST_PP_ITERATION_4 224
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 224 && NDNBOOST_PP_ITERATION_START_4 >= 224
+#    define NDNBOOST_PP_ITERATION_4 224
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 223 && BOOST_PP_ITERATION_START_4 >= 223
-#    define BOOST_PP_ITERATION_4 223
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 223 && NDNBOOST_PP_ITERATION_START_4 >= 223
+#    define NDNBOOST_PP_ITERATION_4 223
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 222 && BOOST_PP_ITERATION_START_4 >= 222
-#    define BOOST_PP_ITERATION_4 222
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 222 && NDNBOOST_PP_ITERATION_START_4 >= 222
+#    define NDNBOOST_PP_ITERATION_4 222
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 221 && BOOST_PP_ITERATION_START_4 >= 221
-#    define BOOST_PP_ITERATION_4 221
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 221 && NDNBOOST_PP_ITERATION_START_4 >= 221
+#    define NDNBOOST_PP_ITERATION_4 221
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 220 && BOOST_PP_ITERATION_START_4 >= 220
-#    define BOOST_PP_ITERATION_4 220
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 220 && NDNBOOST_PP_ITERATION_START_4 >= 220
+#    define NDNBOOST_PP_ITERATION_4 220
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 219 && BOOST_PP_ITERATION_START_4 >= 219
-#    define BOOST_PP_ITERATION_4 219
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 219 && NDNBOOST_PP_ITERATION_START_4 >= 219
+#    define NDNBOOST_PP_ITERATION_4 219
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 218 && BOOST_PP_ITERATION_START_4 >= 218
-#    define BOOST_PP_ITERATION_4 218
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 218 && NDNBOOST_PP_ITERATION_START_4 >= 218
+#    define NDNBOOST_PP_ITERATION_4 218
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 217 && BOOST_PP_ITERATION_START_4 >= 217
-#    define BOOST_PP_ITERATION_4 217
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 217 && NDNBOOST_PP_ITERATION_START_4 >= 217
+#    define NDNBOOST_PP_ITERATION_4 217
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 216 && BOOST_PP_ITERATION_START_4 >= 216
-#    define BOOST_PP_ITERATION_4 216
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 216 && NDNBOOST_PP_ITERATION_START_4 >= 216
+#    define NDNBOOST_PP_ITERATION_4 216
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 215 && BOOST_PP_ITERATION_START_4 >= 215
-#    define BOOST_PP_ITERATION_4 215
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 215 && NDNBOOST_PP_ITERATION_START_4 >= 215
+#    define NDNBOOST_PP_ITERATION_4 215
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 214 && BOOST_PP_ITERATION_START_4 >= 214
-#    define BOOST_PP_ITERATION_4 214
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 214 && NDNBOOST_PP_ITERATION_START_4 >= 214
+#    define NDNBOOST_PP_ITERATION_4 214
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 213 && BOOST_PP_ITERATION_START_4 >= 213
-#    define BOOST_PP_ITERATION_4 213
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 213 && NDNBOOST_PP_ITERATION_START_4 >= 213
+#    define NDNBOOST_PP_ITERATION_4 213
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 212 && BOOST_PP_ITERATION_START_4 >= 212
-#    define BOOST_PP_ITERATION_4 212
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 212 && NDNBOOST_PP_ITERATION_START_4 >= 212
+#    define NDNBOOST_PP_ITERATION_4 212
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 211 && BOOST_PP_ITERATION_START_4 >= 211
-#    define BOOST_PP_ITERATION_4 211
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 211 && NDNBOOST_PP_ITERATION_START_4 >= 211
+#    define NDNBOOST_PP_ITERATION_4 211
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 210 && BOOST_PP_ITERATION_START_4 >= 210
-#    define BOOST_PP_ITERATION_4 210
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 210 && NDNBOOST_PP_ITERATION_START_4 >= 210
+#    define NDNBOOST_PP_ITERATION_4 210
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 209 && BOOST_PP_ITERATION_START_4 >= 209
-#    define BOOST_PP_ITERATION_4 209
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 209 && NDNBOOST_PP_ITERATION_START_4 >= 209
+#    define NDNBOOST_PP_ITERATION_4 209
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 208 && BOOST_PP_ITERATION_START_4 >= 208
-#    define BOOST_PP_ITERATION_4 208
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 208 && NDNBOOST_PP_ITERATION_START_4 >= 208
+#    define NDNBOOST_PP_ITERATION_4 208
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 207 && BOOST_PP_ITERATION_START_4 >= 207
-#    define BOOST_PP_ITERATION_4 207
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 207 && NDNBOOST_PP_ITERATION_START_4 >= 207
+#    define NDNBOOST_PP_ITERATION_4 207
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 206 && BOOST_PP_ITERATION_START_4 >= 206
-#    define BOOST_PP_ITERATION_4 206
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 206 && NDNBOOST_PP_ITERATION_START_4 >= 206
+#    define NDNBOOST_PP_ITERATION_4 206
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 205 && BOOST_PP_ITERATION_START_4 >= 205
-#    define BOOST_PP_ITERATION_4 205
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 205 && NDNBOOST_PP_ITERATION_START_4 >= 205
+#    define NDNBOOST_PP_ITERATION_4 205
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 204 && BOOST_PP_ITERATION_START_4 >= 204
-#    define BOOST_PP_ITERATION_4 204
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 204 && NDNBOOST_PP_ITERATION_START_4 >= 204
+#    define NDNBOOST_PP_ITERATION_4 204
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 203 && BOOST_PP_ITERATION_START_4 >= 203
-#    define BOOST_PP_ITERATION_4 203
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 203 && NDNBOOST_PP_ITERATION_START_4 >= 203
+#    define NDNBOOST_PP_ITERATION_4 203
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 202 && BOOST_PP_ITERATION_START_4 >= 202
-#    define BOOST_PP_ITERATION_4 202
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 202 && NDNBOOST_PP_ITERATION_START_4 >= 202
+#    define NDNBOOST_PP_ITERATION_4 202
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 201 && BOOST_PP_ITERATION_START_4 >= 201
-#    define BOOST_PP_ITERATION_4 201
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 201 && NDNBOOST_PP_ITERATION_START_4 >= 201
+#    define NDNBOOST_PP_ITERATION_4 201
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 200 && BOOST_PP_ITERATION_START_4 >= 200
-#    define BOOST_PP_ITERATION_4 200
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 200 && NDNBOOST_PP_ITERATION_START_4 >= 200
+#    define NDNBOOST_PP_ITERATION_4 200
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 199 && BOOST_PP_ITERATION_START_4 >= 199
-#    define BOOST_PP_ITERATION_4 199
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 199 && NDNBOOST_PP_ITERATION_START_4 >= 199
+#    define NDNBOOST_PP_ITERATION_4 199
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 198 && BOOST_PP_ITERATION_START_4 >= 198
-#    define BOOST_PP_ITERATION_4 198
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 198 && NDNBOOST_PP_ITERATION_START_4 >= 198
+#    define NDNBOOST_PP_ITERATION_4 198
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 197 && BOOST_PP_ITERATION_START_4 >= 197
-#    define BOOST_PP_ITERATION_4 197
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 197 && NDNBOOST_PP_ITERATION_START_4 >= 197
+#    define NDNBOOST_PP_ITERATION_4 197
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 196 && BOOST_PP_ITERATION_START_4 >= 196
-#    define BOOST_PP_ITERATION_4 196
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 196 && NDNBOOST_PP_ITERATION_START_4 >= 196
+#    define NDNBOOST_PP_ITERATION_4 196
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 195 && BOOST_PP_ITERATION_START_4 >= 195
-#    define BOOST_PP_ITERATION_4 195
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 195 && NDNBOOST_PP_ITERATION_START_4 >= 195
+#    define NDNBOOST_PP_ITERATION_4 195
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 194 && BOOST_PP_ITERATION_START_4 >= 194
-#    define BOOST_PP_ITERATION_4 194
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 194 && NDNBOOST_PP_ITERATION_START_4 >= 194
+#    define NDNBOOST_PP_ITERATION_4 194
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 193 && BOOST_PP_ITERATION_START_4 >= 193
-#    define BOOST_PP_ITERATION_4 193
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 193 && NDNBOOST_PP_ITERATION_START_4 >= 193
+#    define NDNBOOST_PP_ITERATION_4 193
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 192 && BOOST_PP_ITERATION_START_4 >= 192
-#    define BOOST_PP_ITERATION_4 192
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 192 && NDNBOOST_PP_ITERATION_START_4 >= 192
+#    define NDNBOOST_PP_ITERATION_4 192
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 191 && BOOST_PP_ITERATION_START_4 >= 191
-#    define BOOST_PP_ITERATION_4 191
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 191 && NDNBOOST_PP_ITERATION_START_4 >= 191
+#    define NDNBOOST_PP_ITERATION_4 191
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 190 && BOOST_PP_ITERATION_START_4 >= 190
-#    define BOOST_PP_ITERATION_4 190
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 190 && NDNBOOST_PP_ITERATION_START_4 >= 190
+#    define NDNBOOST_PP_ITERATION_4 190
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 189 && BOOST_PP_ITERATION_START_4 >= 189
-#    define BOOST_PP_ITERATION_4 189
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 189 && NDNBOOST_PP_ITERATION_START_4 >= 189
+#    define NDNBOOST_PP_ITERATION_4 189
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 188 && BOOST_PP_ITERATION_START_4 >= 188
-#    define BOOST_PP_ITERATION_4 188
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 188 && NDNBOOST_PP_ITERATION_START_4 >= 188
+#    define NDNBOOST_PP_ITERATION_4 188
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 187 && BOOST_PP_ITERATION_START_4 >= 187
-#    define BOOST_PP_ITERATION_4 187
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 187 && NDNBOOST_PP_ITERATION_START_4 >= 187
+#    define NDNBOOST_PP_ITERATION_4 187
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 186 && BOOST_PP_ITERATION_START_4 >= 186
-#    define BOOST_PP_ITERATION_4 186
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 186 && NDNBOOST_PP_ITERATION_START_4 >= 186
+#    define NDNBOOST_PP_ITERATION_4 186
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 185 && BOOST_PP_ITERATION_START_4 >= 185
-#    define BOOST_PP_ITERATION_4 185
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 185 && NDNBOOST_PP_ITERATION_START_4 >= 185
+#    define NDNBOOST_PP_ITERATION_4 185
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 184 && BOOST_PP_ITERATION_START_4 >= 184
-#    define BOOST_PP_ITERATION_4 184
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 184 && NDNBOOST_PP_ITERATION_START_4 >= 184
+#    define NDNBOOST_PP_ITERATION_4 184
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 183 && BOOST_PP_ITERATION_START_4 >= 183
-#    define BOOST_PP_ITERATION_4 183
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 183 && NDNBOOST_PP_ITERATION_START_4 >= 183
+#    define NDNBOOST_PP_ITERATION_4 183
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 182 && BOOST_PP_ITERATION_START_4 >= 182
-#    define BOOST_PP_ITERATION_4 182
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 182 && NDNBOOST_PP_ITERATION_START_4 >= 182
+#    define NDNBOOST_PP_ITERATION_4 182
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 181 && BOOST_PP_ITERATION_START_4 >= 181
-#    define BOOST_PP_ITERATION_4 181
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 181 && NDNBOOST_PP_ITERATION_START_4 >= 181
+#    define NDNBOOST_PP_ITERATION_4 181
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 180 && BOOST_PP_ITERATION_START_4 >= 180
-#    define BOOST_PP_ITERATION_4 180
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 180 && NDNBOOST_PP_ITERATION_START_4 >= 180
+#    define NDNBOOST_PP_ITERATION_4 180
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 179 && BOOST_PP_ITERATION_START_4 >= 179
-#    define BOOST_PP_ITERATION_4 179
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 179 && NDNBOOST_PP_ITERATION_START_4 >= 179
+#    define NDNBOOST_PP_ITERATION_4 179
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 178 && BOOST_PP_ITERATION_START_4 >= 178
-#    define BOOST_PP_ITERATION_4 178
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 178 && NDNBOOST_PP_ITERATION_START_4 >= 178
+#    define NDNBOOST_PP_ITERATION_4 178
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 177 && BOOST_PP_ITERATION_START_4 >= 177
-#    define BOOST_PP_ITERATION_4 177
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 177 && NDNBOOST_PP_ITERATION_START_4 >= 177
+#    define NDNBOOST_PP_ITERATION_4 177
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 176 && BOOST_PP_ITERATION_START_4 >= 176
-#    define BOOST_PP_ITERATION_4 176
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 176 && NDNBOOST_PP_ITERATION_START_4 >= 176
+#    define NDNBOOST_PP_ITERATION_4 176
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 175 && BOOST_PP_ITERATION_START_4 >= 175
-#    define BOOST_PP_ITERATION_4 175
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 175 && NDNBOOST_PP_ITERATION_START_4 >= 175
+#    define NDNBOOST_PP_ITERATION_4 175
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 174 && BOOST_PP_ITERATION_START_4 >= 174
-#    define BOOST_PP_ITERATION_4 174
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 174 && NDNBOOST_PP_ITERATION_START_4 >= 174
+#    define NDNBOOST_PP_ITERATION_4 174
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 173 && BOOST_PP_ITERATION_START_4 >= 173
-#    define BOOST_PP_ITERATION_4 173
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 173 && NDNBOOST_PP_ITERATION_START_4 >= 173
+#    define NDNBOOST_PP_ITERATION_4 173
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 172 && BOOST_PP_ITERATION_START_4 >= 172
-#    define BOOST_PP_ITERATION_4 172
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 172 && NDNBOOST_PP_ITERATION_START_4 >= 172
+#    define NDNBOOST_PP_ITERATION_4 172
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 171 && BOOST_PP_ITERATION_START_4 >= 171
-#    define BOOST_PP_ITERATION_4 171
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 171 && NDNBOOST_PP_ITERATION_START_4 >= 171
+#    define NDNBOOST_PP_ITERATION_4 171
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 170 && BOOST_PP_ITERATION_START_4 >= 170
-#    define BOOST_PP_ITERATION_4 170
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 170 && NDNBOOST_PP_ITERATION_START_4 >= 170
+#    define NDNBOOST_PP_ITERATION_4 170
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 169 && BOOST_PP_ITERATION_START_4 >= 169
-#    define BOOST_PP_ITERATION_4 169
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 169 && NDNBOOST_PP_ITERATION_START_4 >= 169
+#    define NDNBOOST_PP_ITERATION_4 169
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 168 && BOOST_PP_ITERATION_START_4 >= 168
-#    define BOOST_PP_ITERATION_4 168
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 168 && NDNBOOST_PP_ITERATION_START_4 >= 168
+#    define NDNBOOST_PP_ITERATION_4 168
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 167 && BOOST_PP_ITERATION_START_4 >= 167
-#    define BOOST_PP_ITERATION_4 167
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 167 && NDNBOOST_PP_ITERATION_START_4 >= 167
+#    define NDNBOOST_PP_ITERATION_4 167
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 166 && BOOST_PP_ITERATION_START_4 >= 166
-#    define BOOST_PP_ITERATION_4 166
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 166 && NDNBOOST_PP_ITERATION_START_4 >= 166
+#    define NDNBOOST_PP_ITERATION_4 166
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 165 && BOOST_PP_ITERATION_START_4 >= 165
-#    define BOOST_PP_ITERATION_4 165
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 165 && NDNBOOST_PP_ITERATION_START_4 >= 165
+#    define NDNBOOST_PP_ITERATION_4 165
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 164 && BOOST_PP_ITERATION_START_4 >= 164
-#    define BOOST_PP_ITERATION_4 164
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 164 && NDNBOOST_PP_ITERATION_START_4 >= 164
+#    define NDNBOOST_PP_ITERATION_4 164
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 163 && BOOST_PP_ITERATION_START_4 >= 163
-#    define BOOST_PP_ITERATION_4 163
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 163 && NDNBOOST_PP_ITERATION_START_4 >= 163
+#    define NDNBOOST_PP_ITERATION_4 163
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 162 && BOOST_PP_ITERATION_START_4 >= 162
-#    define BOOST_PP_ITERATION_4 162
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 162 && NDNBOOST_PP_ITERATION_START_4 >= 162
+#    define NDNBOOST_PP_ITERATION_4 162
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 161 && BOOST_PP_ITERATION_START_4 >= 161
-#    define BOOST_PP_ITERATION_4 161
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 161 && NDNBOOST_PP_ITERATION_START_4 >= 161
+#    define NDNBOOST_PP_ITERATION_4 161
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 160 && BOOST_PP_ITERATION_START_4 >= 160
-#    define BOOST_PP_ITERATION_4 160
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 160 && NDNBOOST_PP_ITERATION_START_4 >= 160
+#    define NDNBOOST_PP_ITERATION_4 160
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 159 && BOOST_PP_ITERATION_START_4 >= 159
-#    define BOOST_PP_ITERATION_4 159
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 159 && NDNBOOST_PP_ITERATION_START_4 >= 159
+#    define NDNBOOST_PP_ITERATION_4 159
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 158 && BOOST_PP_ITERATION_START_4 >= 158
-#    define BOOST_PP_ITERATION_4 158
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 158 && NDNBOOST_PP_ITERATION_START_4 >= 158
+#    define NDNBOOST_PP_ITERATION_4 158
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 157 && BOOST_PP_ITERATION_START_4 >= 157
-#    define BOOST_PP_ITERATION_4 157
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 157 && NDNBOOST_PP_ITERATION_START_4 >= 157
+#    define NDNBOOST_PP_ITERATION_4 157
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 156 && BOOST_PP_ITERATION_START_4 >= 156
-#    define BOOST_PP_ITERATION_4 156
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 156 && NDNBOOST_PP_ITERATION_START_4 >= 156
+#    define NDNBOOST_PP_ITERATION_4 156
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 155 && BOOST_PP_ITERATION_START_4 >= 155
-#    define BOOST_PP_ITERATION_4 155
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 155 && NDNBOOST_PP_ITERATION_START_4 >= 155
+#    define NDNBOOST_PP_ITERATION_4 155
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 154 && BOOST_PP_ITERATION_START_4 >= 154
-#    define BOOST_PP_ITERATION_4 154
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 154 && NDNBOOST_PP_ITERATION_START_4 >= 154
+#    define NDNBOOST_PP_ITERATION_4 154
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 153 && BOOST_PP_ITERATION_START_4 >= 153
-#    define BOOST_PP_ITERATION_4 153
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 153 && NDNBOOST_PP_ITERATION_START_4 >= 153
+#    define NDNBOOST_PP_ITERATION_4 153
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 152 && BOOST_PP_ITERATION_START_4 >= 152
-#    define BOOST_PP_ITERATION_4 152
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 152 && NDNBOOST_PP_ITERATION_START_4 >= 152
+#    define NDNBOOST_PP_ITERATION_4 152
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 151 && BOOST_PP_ITERATION_START_4 >= 151
-#    define BOOST_PP_ITERATION_4 151
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 151 && NDNBOOST_PP_ITERATION_START_4 >= 151
+#    define NDNBOOST_PP_ITERATION_4 151
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 150 && BOOST_PP_ITERATION_START_4 >= 150
-#    define BOOST_PP_ITERATION_4 150
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 150 && NDNBOOST_PP_ITERATION_START_4 >= 150
+#    define NDNBOOST_PP_ITERATION_4 150
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 149 && BOOST_PP_ITERATION_START_4 >= 149
-#    define BOOST_PP_ITERATION_4 149
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 149 && NDNBOOST_PP_ITERATION_START_4 >= 149
+#    define NDNBOOST_PP_ITERATION_4 149
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 148 && BOOST_PP_ITERATION_START_4 >= 148
-#    define BOOST_PP_ITERATION_4 148
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 148 && NDNBOOST_PP_ITERATION_START_4 >= 148
+#    define NDNBOOST_PP_ITERATION_4 148
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 147 && BOOST_PP_ITERATION_START_4 >= 147
-#    define BOOST_PP_ITERATION_4 147
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 147 && NDNBOOST_PP_ITERATION_START_4 >= 147
+#    define NDNBOOST_PP_ITERATION_4 147
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 146 && BOOST_PP_ITERATION_START_4 >= 146
-#    define BOOST_PP_ITERATION_4 146
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 146 && NDNBOOST_PP_ITERATION_START_4 >= 146
+#    define NDNBOOST_PP_ITERATION_4 146
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 145 && BOOST_PP_ITERATION_START_4 >= 145
-#    define BOOST_PP_ITERATION_4 145
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 145 && NDNBOOST_PP_ITERATION_START_4 >= 145
+#    define NDNBOOST_PP_ITERATION_4 145
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 144 && BOOST_PP_ITERATION_START_4 >= 144
-#    define BOOST_PP_ITERATION_4 144
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 144 && NDNBOOST_PP_ITERATION_START_4 >= 144
+#    define NDNBOOST_PP_ITERATION_4 144
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 143 && BOOST_PP_ITERATION_START_4 >= 143
-#    define BOOST_PP_ITERATION_4 143
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 143 && NDNBOOST_PP_ITERATION_START_4 >= 143
+#    define NDNBOOST_PP_ITERATION_4 143
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 142 && BOOST_PP_ITERATION_START_4 >= 142
-#    define BOOST_PP_ITERATION_4 142
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 142 && NDNBOOST_PP_ITERATION_START_4 >= 142
+#    define NDNBOOST_PP_ITERATION_4 142
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 141 && BOOST_PP_ITERATION_START_4 >= 141
-#    define BOOST_PP_ITERATION_4 141
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 141 && NDNBOOST_PP_ITERATION_START_4 >= 141
+#    define NDNBOOST_PP_ITERATION_4 141
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 140 && BOOST_PP_ITERATION_START_4 >= 140
-#    define BOOST_PP_ITERATION_4 140
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 140 && NDNBOOST_PP_ITERATION_START_4 >= 140
+#    define NDNBOOST_PP_ITERATION_4 140
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 139 && BOOST_PP_ITERATION_START_4 >= 139
-#    define BOOST_PP_ITERATION_4 139
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 139 && NDNBOOST_PP_ITERATION_START_4 >= 139
+#    define NDNBOOST_PP_ITERATION_4 139
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 138 && BOOST_PP_ITERATION_START_4 >= 138
-#    define BOOST_PP_ITERATION_4 138
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 138 && NDNBOOST_PP_ITERATION_START_4 >= 138
+#    define NDNBOOST_PP_ITERATION_4 138
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 137 && BOOST_PP_ITERATION_START_4 >= 137
-#    define BOOST_PP_ITERATION_4 137
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 137 && NDNBOOST_PP_ITERATION_START_4 >= 137
+#    define NDNBOOST_PP_ITERATION_4 137
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 136 && BOOST_PP_ITERATION_START_4 >= 136
-#    define BOOST_PP_ITERATION_4 136
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 136 && NDNBOOST_PP_ITERATION_START_4 >= 136
+#    define NDNBOOST_PP_ITERATION_4 136
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 135 && BOOST_PP_ITERATION_START_4 >= 135
-#    define BOOST_PP_ITERATION_4 135
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 135 && NDNBOOST_PP_ITERATION_START_4 >= 135
+#    define NDNBOOST_PP_ITERATION_4 135
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 134 && BOOST_PP_ITERATION_START_4 >= 134
-#    define BOOST_PP_ITERATION_4 134
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 134 && NDNBOOST_PP_ITERATION_START_4 >= 134
+#    define NDNBOOST_PP_ITERATION_4 134
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 133 && BOOST_PP_ITERATION_START_4 >= 133
-#    define BOOST_PP_ITERATION_4 133
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 133 && NDNBOOST_PP_ITERATION_START_4 >= 133
+#    define NDNBOOST_PP_ITERATION_4 133
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 132 && BOOST_PP_ITERATION_START_4 >= 132
-#    define BOOST_PP_ITERATION_4 132
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 132 && NDNBOOST_PP_ITERATION_START_4 >= 132
+#    define NDNBOOST_PP_ITERATION_4 132
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 131 && BOOST_PP_ITERATION_START_4 >= 131
-#    define BOOST_PP_ITERATION_4 131
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 131 && NDNBOOST_PP_ITERATION_START_4 >= 131
+#    define NDNBOOST_PP_ITERATION_4 131
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 130 && BOOST_PP_ITERATION_START_4 >= 130
-#    define BOOST_PP_ITERATION_4 130
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 130 && NDNBOOST_PP_ITERATION_START_4 >= 130
+#    define NDNBOOST_PP_ITERATION_4 130
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 129 && BOOST_PP_ITERATION_START_4 >= 129
-#    define BOOST_PP_ITERATION_4 129
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 129 && NDNBOOST_PP_ITERATION_START_4 >= 129
+#    define NDNBOOST_PP_ITERATION_4 129
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 128 && BOOST_PP_ITERATION_START_4 >= 128
-#    define BOOST_PP_ITERATION_4 128
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 128 && NDNBOOST_PP_ITERATION_START_4 >= 128
+#    define NDNBOOST_PP_ITERATION_4 128
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 127 && BOOST_PP_ITERATION_START_4 >= 127
-#    define BOOST_PP_ITERATION_4 127
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 127 && NDNBOOST_PP_ITERATION_START_4 >= 127
+#    define NDNBOOST_PP_ITERATION_4 127
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 126 && BOOST_PP_ITERATION_START_4 >= 126
-#    define BOOST_PP_ITERATION_4 126
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 126 && NDNBOOST_PP_ITERATION_START_4 >= 126
+#    define NDNBOOST_PP_ITERATION_4 126
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 125 && BOOST_PP_ITERATION_START_4 >= 125
-#    define BOOST_PP_ITERATION_4 125
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 125 && NDNBOOST_PP_ITERATION_START_4 >= 125
+#    define NDNBOOST_PP_ITERATION_4 125
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 124 && BOOST_PP_ITERATION_START_4 >= 124
-#    define BOOST_PP_ITERATION_4 124
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 124 && NDNBOOST_PP_ITERATION_START_4 >= 124
+#    define NDNBOOST_PP_ITERATION_4 124
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 123 && BOOST_PP_ITERATION_START_4 >= 123
-#    define BOOST_PP_ITERATION_4 123
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 123 && NDNBOOST_PP_ITERATION_START_4 >= 123
+#    define NDNBOOST_PP_ITERATION_4 123
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 122 && BOOST_PP_ITERATION_START_4 >= 122
-#    define BOOST_PP_ITERATION_4 122
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 122 && NDNBOOST_PP_ITERATION_START_4 >= 122
+#    define NDNBOOST_PP_ITERATION_4 122
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 121 && BOOST_PP_ITERATION_START_4 >= 121
-#    define BOOST_PP_ITERATION_4 121
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 121 && NDNBOOST_PP_ITERATION_START_4 >= 121
+#    define NDNBOOST_PP_ITERATION_4 121
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 120 && BOOST_PP_ITERATION_START_4 >= 120
-#    define BOOST_PP_ITERATION_4 120
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 120 && NDNBOOST_PP_ITERATION_START_4 >= 120
+#    define NDNBOOST_PP_ITERATION_4 120
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 119 && BOOST_PP_ITERATION_START_4 >= 119
-#    define BOOST_PP_ITERATION_4 119
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 119 && NDNBOOST_PP_ITERATION_START_4 >= 119
+#    define NDNBOOST_PP_ITERATION_4 119
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 118 && BOOST_PP_ITERATION_START_4 >= 118
-#    define BOOST_PP_ITERATION_4 118
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 118 && NDNBOOST_PP_ITERATION_START_4 >= 118
+#    define NDNBOOST_PP_ITERATION_4 118
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 117 && BOOST_PP_ITERATION_START_4 >= 117
-#    define BOOST_PP_ITERATION_4 117
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 117 && NDNBOOST_PP_ITERATION_START_4 >= 117
+#    define NDNBOOST_PP_ITERATION_4 117
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 116 && BOOST_PP_ITERATION_START_4 >= 116
-#    define BOOST_PP_ITERATION_4 116
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 116 && NDNBOOST_PP_ITERATION_START_4 >= 116
+#    define NDNBOOST_PP_ITERATION_4 116
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 115 && BOOST_PP_ITERATION_START_4 >= 115
-#    define BOOST_PP_ITERATION_4 115
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 115 && NDNBOOST_PP_ITERATION_START_4 >= 115
+#    define NDNBOOST_PP_ITERATION_4 115
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 114 && BOOST_PP_ITERATION_START_4 >= 114
-#    define BOOST_PP_ITERATION_4 114
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 114 && NDNBOOST_PP_ITERATION_START_4 >= 114
+#    define NDNBOOST_PP_ITERATION_4 114
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 113 && BOOST_PP_ITERATION_START_4 >= 113
-#    define BOOST_PP_ITERATION_4 113
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 113 && NDNBOOST_PP_ITERATION_START_4 >= 113
+#    define NDNBOOST_PP_ITERATION_4 113
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 112 && BOOST_PP_ITERATION_START_4 >= 112
-#    define BOOST_PP_ITERATION_4 112
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 112 && NDNBOOST_PP_ITERATION_START_4 >= 112
+#    define NDNBOOST_PP_ITERATION_4 112
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 111 && BOOST_PP_ITERATION_START_4 >= 111
-#    define BOOST_PP_ITERATION_4 111
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 111 && NDNBOOST_PP_ITERATION_START_4 >= 111
+#    define NDNBOOST_PP_ITERATION_4 111
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 110 && BOOST_PP_ITERATION_START_4 >= 110
-#    define BOOST_PP_ITERATION_4 110
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 110 && NDNBOOST_PP_ITERATION_START_4 >= 110
+#    define NDNBOOST_PP_ITERATION_4 110
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 109 && BOOST_PP_ITERATION_START_4 >= 109
-#    define BOOST_PP_ITERATION_4 109
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 109 && NDNBOOST_PP_ITERATION_START_4 >= 109
+#    define NDNBOOST_PP_ITERATION_4 109
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 108 && BOOST_PP_ITERATION_START_4 >= 108
-#    define BOOST_PP_ITERATION_4 108
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 108 && NDNBOOST_PP_ITERATION_START_4 >= 108
+#    define NDNBOOST_PP_ITERATION_4 108
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 107 && BOOST_PP_ITERATION_START_4 >= 107
-#    define BOOST_PP_ITERATION_4 107
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 107 && NDNBOOST_PP_ITERATION_START_4 >= 107
+#    define NDNBOOST_PP_ITERATION_4 107
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 106 && BOOST_PP_ITERATION_START_4 >= 106
-#    define BOOST_PP_ITERATION_4 106
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 106 && NDNBOOST_PP_ITERATION_START_4 >= 106
+#    define NDNBOOST_PP_ITERATION_4 106
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 105 && BOOST_PP_ITERATION_START_4 >= 105
-#    define BOOST_PP_ITERATION_4 105
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 105 && NDNBOOST_PP_ITERATION_START_4 >= 105
+#    define NDNBOOST_PP_ITERATION_4 105
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 104 && BOOST_PP_ITERATION_START_4 >= 104
-#    define BOOST_PP_ITERATION_4 104
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 104 && NDNBOOST_PP_ITERATION_START_4 >= 104
+#    define NDNBOOST_PP_ITERATION_4 104
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 103 && BOOST_PP_ITERATION_START_4 >= 103
-#    define BOOST_PP_ITERATION_4 103
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 103 && NDNBOOST_PP_ITERATION_START_4 >= 103
+#    define NDNBOOST_PP_ITERATION_4 103
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 102 && BOOST_PP_ITERATION_START_4 >= 102
-#    define BOOST_PP_ITERATION_4 102
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 102 && NDNBOOST_PP_ITERATION_START_4 >= 102
+#    define NDNBOOST_PP_ITERATION_4 102
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 101 && BOOST_PP_ITERATION_START_4 >= 101
-#    define BOOST_PP_ITERATION_4 101
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 101 && NDNBOOST_PP_ITERATION_START_4 >= 101
+#    define NDNBOOST_PP_ITERATION_4 101
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 100 && BOOST_PP_ITERATION_START_4 >= 100
-#    define BOOST_PP_ITERATION_4 100
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 100 && NDNBOOST_PP_ITERATION_START_4 >= 100
+#    define NDNBOOST_PP_ITERATION_4 100
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 99 && BOOST_PP_ITERATION_START_4 >= 99
-#    define BOOST_PP_ITERATION_4 99
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 99 && NDNBOOST_PP_ITERATION_START_4 >= 99
+#    define NDNBOOST_PP_ITERATION_4 99
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 98 && BOOST_PP_ITERATION_START_4 >= 98
-#    define BOOST_PP_ITERATION_4 98
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 98 && NDNBOOST_PP_ITERATION_START_4 >= 98
+#    define NDNBOOST_PP_ITERATION_4 98
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 97 && BOOST_PP_ITERATION_START_4 >= 97
-#    define BOOST_PP_ITERATION_4 97
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 97 && NDNBOOST_PP_ITERATION_START_4 >= 97
+#    define NDNBOOST_PP_ITERATION_4 97
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 96 && BOOST_PP_ITERATION_START_4 >= 96
-#    define BOOST_PP_ITERATION_4 96
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 96 && NDNBOOST_PP_ITERATION_START_4 >= 96
+#    define NDNBOOST_PP_ITERATION_4 96
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 95 && BOOST_PP_ITERATION_START_4 >= 95
-#    define BOOST_PP_ITERATION_4 95
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 95 && NDNBOOST_PP_ITERATION_START_4 >= 95
+#    define NDNBOOST_PP_ITERATION_4 95
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 94 && BOOST_PP_ITERATION_START_4 >= 94
-#    define BOOST_PP_ITERATION_4 94
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 94 && NDNBOOST_PP_ITERATION_START_4 >= 94
+#    define NDNBOOST_PP_ITERATION_4 94
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 93 && BOOST_PP_ITERATION_START_4 >= 93
-#    define BOOST_PP_ITERATION_4 93
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 93 && NDNBOOST_PP_ITERATION_START_4 >= 93
+#    define NDNBOOST_PP_ITERATION_4 93
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 92 && BOOST_PP_ITERATION_START_4 >= 92
-#    define BOOST_PP_ITERATION_4 92
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 92 && NDNBOOST_PP_ITERATION_START_4 >= 92
+#    define NDNBOOST_PP_ITERATION_4 92
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 91 && BOOST_PP_ITERATION_START_4 >= 91
-#    define BOOST_PP_ITERATION_4 91
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 91 && NDNBOOST_PP_ITERATION_START_4 >= 91
+#    define NDNBOOST_PP_ITERATION_4 91
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 90 && BOOST_PP_ITERATION_START_4 >= 90
-#    define BOOST_PP_ITERATION_4 90
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 90 && NDNBOOST_PP_ITERATION_START_4 >= 90
+#    define NDNBOOST_PP_ITERATION_4 90
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 89 && BOOST_PP_ITERATION_START_4 >= 89
-#    define BOOST_PP_ITERATION_4 89
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 89 && NDNBOOST_PP_ITERATION_START_4 >= 89
+#    define NDNBOOST_PP_ITERATION_4 89
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 88 && BOOST_PP_ITERATION_START_4 >= 88
-#    define BOOST_PP_ITERATION_4 88
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 88 && NDNBOOST_PP_ITERATION_START_4 >= 88
+#    define NDNBOOST_PP_ITERATION_4 88
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 87 && BOOST_PP_ITERATION_START_4 >= 87
-#    define BOOST_PP_ITERATION_4 87
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 87 && NDNBOOST_PP_ITERATION_START_4 >= 87
+#    define NDNBOOST_PP_ITERATION_4 87
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 86 && BOOST_PP_ITERATION_START_4 >= 86
-#    define BOOST_PP_ITERATION_4 86
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 86 && NDNBOOST_PP_ITERATION_START_4 >= 86
+#    define NDNBOOST_PP_ITERATION_4 86
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 85 && BOOST_PP_ITERATION_START_4 >= 85
-#    define BOOST_PP_ITERATION_4 85
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 85 && NDNBOOST_PP_ITERATION_START_4 >= 85
+#    define NDNBOOST_PP_ITERATION_4 85
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 84 && BOOST_PP_ITERATION_START_4 >= 84
-#    define BOOST_PP_ITERATION_4 84
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 84 && NDNBOOST_PP_ITERATION_START_4 >= 84
+#    define NDNBOOST_PP_ITERATION_4 84
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 83 && BOOST_PP_ITERATION_START_4 >= 83
-#    define BOOST_PP_ITERATION_4 83
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 83 && NDNBOOST_PP_ITERATION_START_4 >= 83
+#    define NDNBOOST_PP_ITERATION_4 83
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 82 && BOOST_PP_ITERATION_START_4 >= 82
-#    define BOOST_PP_ITERATION_4 82
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 82 && NDNBOOST_PP_ITERATION_START_4 >= 82
+#    define NDNBOOST_PP_ITERATION_4 82
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 81 && BOOST_PP_ITERATION_START_4 >= 81
-#    define BOOST_PP_ITERATION_4 81
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 81 && NDNBOOST_PP_ITERATION_START_4 >= 81
+#    define NDNBOOST_PP_ITERATION_4 81
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 80 && BOOST_PP_ITERATION_START_4 >= 80
-#    define BOOST_PP_ITERATION_4 80
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 80 && NDNBOOST_PP_ITERATION_START_4 >= 80
+#    define NDNBOOST_PP_ITERATION_4 80
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 79 && BOOST_PP_ITERATION_START_4 >= 79
-#    define BOOST_PP_ITERATION_4 79
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 79 && NDNBOOST_PP_ITERATION_START_4 >= 79
+#    define NDNBOOST_PP_ITERATION_4 79
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 78 && BOOST_PP_ITERATION_START_4 >= 78
-#    define BOOST_PP_ITERATION_4 78
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 78 && NDNBOOST_PP_ITERATION_START_4 >= 78
+#    define NDNBOOST_PP_ITERATION_4 78
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 77 && BOOST_PP_ITERATION_START_4 >= 77
-#    define BOOST_PP_ITERATION_4 77
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 77 && NDNBOOST_PP_ITERATION_START_4 >= 77
+#    define NDNBOOST_PP_ITERATION_4 77
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 76 && BOOST_PP_ITERATION_START_4 >= 76
-#    define BOOST_PP_ITERATION_4 76
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 76 && NDNBOOST_PP_ITERATION_START_4 >= 76
+#    define NDNBOOST_PP_ITERATION_4 76
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 75 && BOOST_PP_ITERATION_START_4 >= 75
-#    define BOOST_PP_ITERATION_4 75
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 75 && NDNBOOST_PP_ITERATION_START_4 >= 75
+#    define NDNBOOST_PP_ITERATION_4 75
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 74 && BOOST_PP_ITERATION_START_4 >= 74
-#    define BOOST_PP_ITERATION_4 74
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 74 && NDNBOOST_PP_ITERATION_START_4 >= 74
+#    define NDNBOOST_PP_ITERATION_4 74
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 73 && BOOST_PP_ITERATION_START_4 >= 73
-#    define BOOST_PP_ITERATION_4 73
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 73 && NDNBOOST_PP_ITERATION_START_4 >= 73
+#    define NDNBOOST_PP_ITERATION_4 73
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 72 && BOOST_PP_ITERATION_START_4 >= 72
-#    define BOOST_PP_ITERATION_4 72
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 72 && NDNBOOST_PP_ITERATION_START_4 >= 72
+#    define NDNBOOST_PP_ITERATION_4 72
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 71 && BOOST_PP_ITERATION_START_4 >= 71
-#    define BOOST_PP_ITERATION_4 71
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 71 && NDNBOOST_PP_ITERATION_START_4 >= 71
+#    define NDNBOOST_PP_ITERATION_4 71
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 70 && BOOST_PP_ITERATION_START_4 >= 70
-#    define BOOST_PP_ITERATION_4 70
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 70 && NDNBOOST_PP_ITERATION_START_4 >= 70
+#    define NDNBOOST_PP_ITERATION_4 70
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 69 && BOOST_PP_ITERATION_START_4 >= 69
-#    define BOOST_PP_ITERATION_4 69
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 69 && NDNBOOST_PP_ITERATION_START_4 >= 69
+#    define NDNBOOST_PP_ITERATION_4 69
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 68 && BOOST_PP_ITERATION_START_4 >= 68
-#    define BOOST_PP_ITERATION_4 68
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 68 && NDNBOOST_PP_ITERATION_START_4 >= 68
+#    define NDNBOOST_PP_ITERATION_4 68
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 67 && BOOST_PP_ITERATION_START_4 >= 67
-#    define BOOST_PP_ITERATION_4 67
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 67 && NDNBOOST_PP_ITERATION_START_4 >= 67
+#    define NDNBOOST_PP_ITERATION_4 67
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 66 && BOOST_PP_ITERATION_START_4 >= 66
-#    define BOOST_PP_ITERATION_4 66
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 66 && NDNBOOST_PP_ITERATION_START_4 >= 66
+#    define NDNBOOST_PP_ITERATION_4 66
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 65 && BOOST_PP_ITERATION_START_4 >= 65
-#    define BOOST_PP_ITERATION_4 65
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 65 && NDNBOOST_PP_ITERATION_START_4 >= 65
+#    define NDNBOOST_PP_ITERATION_4 65
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 64 && BOOST_PP_ITERATION_START_4 >= 64
-#    define BOOST_PP_ITERATION_4 64
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 64 && NDNBOOST_PP_ITERATION_START_4 >= 64
+#    define NDNBOOST_PP_ITERATION_4 64
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 63 && BOOST_PP_ITERATION_START_4 >= 63
-#    define BOOST_PP_ITERATION_4 63
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 63 && NDNBOOST_PP_ITERATION_START_4 >= 63
+#    define NDNBOOST_PP_ITERATION_4 63
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 62 && BOOST_PP_ITERATION_START_4 >= 62
-#    define BOOST_PP_ITERATION_4 62
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 62 && NDNBOOST_PP_ITERATION_START_4 >= 62
+#    define NDNBOOST_PP_ITERATION_4 62
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 61 && BOOST_PP_ITERATION_START_4 >= 61
-#    define BOOST_PP_ITERATION_4 61
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 61 && NDNBOOST_PP_ITERATION_START_4 >= 61
+#    define NDNBOOST_PP_ITERATION_4 61
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 60 && BOOST_PP_ITERATION_START_4 >= 60
-#    define BOOST_PP_ITERATION_4 60
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 60 && NDNBOOST_PP_ITERATION_START_4 >= 60
+#    define NDNBOOST_PP_ITERATION_4 60
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 59 && BOOST_PP_ITERATION_START_4 >= 59
-#    define BOOST_PP_ITERATION_4 59
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 59 && NDNBOOST_PP_ITERATION_START_4 >= 59
+#    define NDNBOOST_PP_ITERATION_4 59
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 58 && BOOST_PP_ITERATION_START_4 >= 58
-#    define BOOST_PP_ITERATION_4 58
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 58 && NDNBOOST_PP_ITERATION_START_4 >= 58
+#    define NDNBOOST_PP_ITERATION_4 58
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 57 && BOOST_PP_ITERATION_START_4 >= 57
-#    define BOOST_PP_ITERATION_4 57
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 57 && NDNBOOST_PP_ITERATION_START_4 >= 57
+#    define NDNBOOST_PP_ITERATION_4 57
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 56 && BOOST_PP_ITERATION_START_4 >= 56
-#    define BOOST_PP_ITERATION_4 56
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 56 && NDNBOOST_PP_ITERATION_START_4 >= 56
+#    define NDNBOOST_PP_ITERATION_4 56
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 55 && BOOST_PP_ITERATION_START_4 >= 55
-#    define BOOST_PP_ITERATION_4 55
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 55 && NDNBOOST_PP_ITERATION_START_4 >= 55
+#    define NDNBOOST_PP_ITERATION_4 55
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 54 && BOOST_PP_ITERATION_START_4 >= 54
-#    define BOOST_PP_ITERATION_4 54
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 54 && NDNBOOST_PP_ITERATION_START_4 >= 54
+#    define NDNBOOST_PP_ITERATION_4 54
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 53 && BOOST_PP_ITERATION_START_4 >= 53
-#    define BOOST_PP_ITERATION_4 53
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 53 && NDNBOOST_PP_ITERATION_START_4 >= 53
+#    define NDNBOOST_PP_ITERATION_4 53
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 52 && BOOST_PP_ITERATION_START_4 >= 52
-#    define BOOST_PP_ITERATION_4 52
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 52 && NDNBOOST_PP_ITERATION_START_4 >= 52
+#    define NDNBOOST_PP_ITERATION_4 52
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 51 && BOOST_PP_ITERATION_START_4 >= 51
-#    define BOOST_PP_ITERATION_4 51
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 51 && NDNBOOST_PP_ITERATION_START_4 >= 51
+#    define NDNBOOST_PP_ITERATION_4 51
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 50 && BOOST_PP_ITERATION_START_4 >= 50
-#    define BOOST_PP_ITERATION_4 50
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 50 && NDNBOOST_PP_ITERATION_START_4 >= 50
+#    define NDNBOOST_PP_ITERATION_4 50
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 49 && BOOST_PP_ITERATION_START_4 >= 49
-#    define BOOST_PP_ITERATION_4 49
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 49 && NDNBOOST_PP_ITERATION_START_4 >= 49
+#    define NDNBOOST_PP_ITERATION_4 49
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 48 && BOOST_PP_ITERATION_START_4 >= 48
-#    define BOOST_PP_ITERATION_4 48
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 48 && NDNBOOST_PP_ITERATION_START_4 >= 48
+#    define NDNBOOST_PP_ITERATION_4 48
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 47 && BOOST_PP_ITERATION_START_4 >= 47
-#    define BOOST_PP_ITERATION_4 47
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 47 && NDNBOOST_PP_ITERATION_START_4 >= 47
+#    define NDNBOOST_PP_ITERATION_4 47
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 46 && BOOST_PP_ITERATION_START_4 >= 46
-#    define BOOST_PP_ITERATION_4 46
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 46 && NDNBOOST_PP_ITERATION_START_4 >= 46
+#    define NDNBOOST_PP_ITERATION_4 46
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 45 && BOOST_PP_ITERATION_START_4 >= 45
-#    define BOOST_PP_ITERATION_4 45
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 45 && NDNBOOST_PP_ITERATION_START_4 >= 45
+#    define NDNBOOST_PP_ITERATION_4 45
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 44 && BOOST_PP_ITERATION_START_4 >= 44
-#    define BOOST_PP_ITERATION_4 44
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 44 && NDNBOOST_PP_ITERATION_START_4 >= 44
+#    define NDNBOOST_PP_ITERATION_4 44
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 43 && BOOST_PP_ITERATION_START_4 >= 43
-#    define BOOST_PP_ITERATION_4 43
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 43 && NDNBOOST_PP_ITERATION_START_4 >= 43
+#    define NDNBOOST_PP_ITERATION_4 43
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 42 && BOOST_PP_ITERATION_START_4 >= 42
-#    define BOOST_PP_ITERATION_4 42
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 42 && NDNBOOST_PP_ITERATION_START_4 >= 42
+#    define NDNBOOST_PP_ITERATION_4 42
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 41 && BOOST_PP_ITERATION_START_4 >= 41
-#    define BOOST_PP_ITERATION_4 41
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 41 && NDNBOOST_PP_ITERATION_START_4 >= 41
+#    define NDNBOOST_PP_ITERATION_4 41
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 40 && BOOST_PP_ITERATION_START_4 >= 40
-#    define BOOST_PP_ITERATION_4 40
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 40 && NDNBOOST_PP_ITERATION_START_4 >= 40
+#    define NDNBOOST_PP_ITERATION_4 40
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 39 && BOOST_PP_ITERATION_START_4 >= 39
-#    define BOOST_PP_ITERATION_4 39
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 39 && NDNBOOST_PP_ITERATION_START_4 >= 39
+#    define NDNBOOST_PP_ITERATION_4 39
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 38 && BOOST_PP_ITERATION_START_4 >= 38
-#    define BOOST_PP_ITERATION_4 38
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 38 && NDNBOOST_PP_ITERATION_START_4 >= 38
+#    define NDNBOOST_PP_ITERATION_4 38
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 37 && BOOST_PP_ITERATION_START_4 >= 37
-#    define BOOST_PP_ITERATION_4 37
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 37 && NDNBOOST_PP_ITERATION_START_4 >= 37
+#    define NDNBOOST_PP_ITERATION_4 37
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 36 && BOOST_PP_ITERATION_START_4 >= 36
-#    define BOOST_PP_ITERATION_4 36
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 36 && NDNBOOST_PP_ITERATION_START_4 >= 36
+#    define NDNBOOST_PP_ITERATION_4 36
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 35 && BOOST_PP_ITERATION_START_4 >= 35
-#    define BOOST_PP_ITERATION_4 35
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 35 && NDNBOOST_PP_ITERATION_START_4 >= 35
+#    define NDNBOOST_PP_ITERATION_4 35
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 34 && BOOST_PP_ITERATION_START_4 >= 34
-#    define BOOST_PP_ITERATION_4 34
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 34 && NDNBOOST_PP_ITERATION_START_4 >= 34
+#    define NDNBOOST_PP_ITERATION_4 34
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 33 && BOOST_PP_ITERATION_START_4 >= 33
-#    define BOOST_PP_ITERATION_4 33
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 33 && NDNBOOST_PP_ITERATION_START_4 >= 33
+#    define NDNBOOST_PP_ITERATION_4 33
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 32 && BOOST_PP_ITERATION_START_4 >= 32
-#    define BOOST_PP_ITERATION_4 32
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 32 && NDNBOOST_PP_ITERATION_START_4 >= 32
+#    define NDNBOOST_PP_ITERATION_4 32
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 31 && BOOST_PP_ITERATION_START_4 >= 31
-#    define BOOST_PP_ITERATION_4 31
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 31 && NDNBOOST_PP_ITERATION_START_4 >= 31
+#    define NDNBOOST_PP_ITERATION_4 31
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 30 && BOOST_PP_ITERATION_START_4 >= 30
-#    define BOOST_PP_ITERATION_4 30
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 30 && NDNBOOST_PP_ITERATION_START_4 >= 30
+#    define NDNBOOST_PP_ITERATION_4 30
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 29 && BOOST_PP_ITERATION_START_4 >= 29
-#    define BOOST_PP_ITERATION_4 29
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 29 && NDNBOOST_PP_ITERATION_START_4 >= 29
+#    define NDNBOOST_PP_ITERATION_4 29
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 28 && BOOST_PP_ITERATION_START_4 >= 28
-#    define BOOST_PP_ITERATION_4 28
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 28 && NDNBOOST_PP_ITERATION_START_4 >= 28
+#    define NDNBOOST_PP_ITERATION_4 28
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 27 && BOOST_PP_ITERATION_START_4 >= 27
-#    define BOOST_PP_ITERATION_4 27
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 27 && NDNBOOST_PP_ITERATION_START_4 >= 27
+#    define NDNBOOST_PP_ITERATION_4 27
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 26 && BOOST_PP_ITERATION_START_4 >= 26
-#    define BOOST_PP_ITERATION_4 26
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 26 && NDNBOOST_PP_ITERATION_START_4 >= 26
+#    define NDNBOOST_PP_ITERATION_4 26
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 25 && BOOST_PP_ITERATION_START_4 >= 25
-#    define BOOST_PP_ITERATION_4 25
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 25 && NDNBOOST_PP_ITERATION_START_4 >= 25
+#    define NDNBOOST_PP_ITERATION_4 25
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 24 && BOOST_PP_ITERATION_START_4 >= 24
-#    define BOOST_PP_ITERATION_4 24
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 24 && NDNBOOST_PP_ITERATION_START_4 >= 24
+#    define NDNBOOST_PP_ITERATION_4 24
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 23 && BOOST_PP_ITERATION_START_4 >= 23
-#    define BOOST_PP_ITERATION_4 23
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 23 && NDNBOOST_PP_ITERATION_START_4 >= 23
+#    define NDNBOOST_PP_ITERATION_4 23
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 22 && BOOST_PP_ITERATION_START_4 >= 22
-#    define BOOST_PP_ITERATION_4 22
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 22 && NDNBOOST_PP_ITERATION_START_4 >= 22
+#    define NDNBOOST_PP_ITERATION_4 22
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 21 && BOOST_PP_ITERATION_START_4 >= 21
-#    define BOOST_PP_ITERATION_4 21
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 21 && NDNBOOST_PP_ITERATION_START_4 >= 21
+#    define NDNBOOST_PP_ITERATION_4 21
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 20 && BOOST_PP_ITERATION_START_4 >= 20
-#    define BOOST_PP_ITERATION_4 20
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 20 && NDNBOOST_PP_ITERATION_START_4 >= 20
+#    define NDNBOOST_PP_ITERATION_4 20
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 19 && BOOST_PP_ITERATION_START_4 >= 19
-#    define BOOST_PP_ITERATION_4 19
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 19 && NDNBOOST_PP_ITERATION_START_4 >= 19
+#    define NDNBOOST_PP_ITERATION_4 19
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 18 && BOOST_PP_ITERATION_START_4 >= 18
-#    define BOOST_PP_ITERATION_4 18
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 18 && NDNBOOST_PP_ITERATION_START_4 >= 18
+#    define NDNBOOST_PP_ITERATION_4 18
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 17 && BOOST_PP_ITERATION_START_4 >= 17
-#    define BOOST_PP_ITERATION_4 17
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 17 && NDNBOOST_PP_ITERATION_START_4 >= 17
+#    define NDNBOOST_PP_ITERATION_4 17
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 16 && BOOST_PP_ITERATION_START_4 >= 16
-#    define BOOST_PP_ITERATION_4 16
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 16 && NDNBOOST_PP_ITERATION_START_4 >= 16
+#    define NDNBOOST_PP_ITERATION_4 16
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 15 && BOOST_PP_ITERATION_START_4 >= 15
-#    define BOOST_PP_ITERATION_4 15
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 15 && NDNBOOST_PP_ITERATION_START_4 >= 15
+#    define NDNBOOST_PP_ITERATION_4 15
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 14 && BOOST_PP_ITERATION_START_4 >= 14
-#    define BOOST_PP_ITERATION_4 14
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 14 && NDNBOOST_PP_ITERATION_START_4 >= 14
+#    define NDNBOOST_PP_ITERATION_4 14
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 13 && BOOST_PP_ITERATION_START_4 >= 13
-#    define BOOST_PP_ITERATION_4 13
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 13 && NDNBOOST_PP_ITERATION_START_4 >= 13
+#    define NDNBOOST_PP_ITERATION_4 13
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 12 && BOOST_PP_ITERATION_START_4 >= 12
-#    define BOOST_PP_ITERATION_4 12
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 12 && NDNBOOST_PP_ITERATION_START_4 >= 12
+#    define NDNBOOST_PP_ITERATION_4 12
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 11 && BOOST_PP_ITERATION_START_4 >= 11
-#    define BOOST_PP_ITERATION_4 11
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 11 && NDNBOOST_PP_ITERATION_START_4 >= 11
+#    define NDNBOOST_PP_ITERATION_4 11
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 10 && BOOST_PP_ITERATION_START_4 >= 10
-#    define BOOST_PP_ITERATION_4 10
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 10 && NDNBOOST_PP_ITERATION_START_4 >= 10
+#    define NDNBOOST_PP_ITERATION_4 10
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 9 && BOOST_PP_ITERATION_START_4 >= 9
-#    define BOOST_PP_ITERATION_4 9
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 9 && NDNBOOST_PP_ITERATION_START_4 >= 9
+#    define NDNBOOST_PP_ITERATION_4 9
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 8 && BOOST_PP_ITERATION_START_4 >= 8
-#    define BOOST_PP_ITERATION_4 8
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 8 && NDNBOOST_PP_ITERATION_START_4 >= 8
+#    define NDNBOOST_PP_ITERATION_4 8
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 7 && BOOST_PP_ITERATION_START_4 >= 7
-#    define BOOST_PP_ITERATION_4 7
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 7 && NDNBOOST_PP_ITERATION_START_4 >= 7
+#    define NDNBOOST_PP_ITERATION_4 7
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 6 && BOOST_PP_ITERATION_START_4 >= 6
-#    define BOOST_PP_ITERATION_4 6
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 6 && NDNBOOST_PP_ITERATION_START_4 >= 6
+#    define NDNBOOST_PP_ITERATION_4 6
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 5 && BOOST_PP_ITERATION_START_4 >= 5
-#    define BOOST_PP_ITERATION_4 5
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 5 && NDNBOOST_PP_ITERATION_START_4 >= 5
+#    define NDNBOOST_PP_ITERATION_4 5
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 4 && BOOST_PP_ITERATION_START_4 >= 4
-#    define BOOST_PP_ITERATION_4 4
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 4 && NDNBOOST_PP_ITERATION_START_4 >= 4
+#    define NDNBOOST_PP_ITERATION_4 4
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 3 && BOOST_PP_ITERATION_START_4 >= 3
-#    define BOOST_PP_ITERATION_4 3
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 3 && NDNBOOST_PP_ITERATION_START_4 >= 3
+#    define NDNBOOST_PP_ITERATION_4 3
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 2 && BOOST_PP_ITERATION_START_4 >= 2
-#    define BOOST_PP_ITERATION_4 2
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 2 && NDNBOOST_PP_ITERATION_START_4 >= 2
+#    define NDNBOOST_PP_ITERATION_4 2
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 1 && BOOST_PP_ITERATION_START_4 >= 1
-#    define BOOST_PP_ITERATION_4 1
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 1 && NDNBOOST_PP_ITERATION_START_4 >= 1
+#    define NDNBOOST_PP_ITERATION_4 1
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 0 && BOOST_PP_ITERATION_START_4 >= 0
-#    define BOOST_PP_ITERATION_4 0
-#    include BOOST_PP_FILENAME_4
-#    undef BOOST_PP_ITERATION_4
+# if NDNBOOST_PP_ITERATION_FINISH_4 <= 0 && NDNBOOST_PP_ITERATION_START_4 >= 0
+#    define NDNBOOST_PP_ITERATION_4 0
+#    include NDNBOOST_PP_FILENAME_4
+#    undef NDNBOOST_PP_ITERATION_4
 # endif
diff --git a/include/ndnboost/preprocessor/iteration/detail/iter/reverse5.hpp b/include/ndnboost/preprocessor/iteration/detail/iter/reverse5.hpp
index 225a557..53bebd7 100644
--- a/include/ndnboost/preprocessor/iteration/detail/iter/reverse5.hpp
+++ b/include/ndnboost/preprocessor/iteration/detail/iter/reverse5.hpp
@@ -9,1288 +9,1288 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# if BOOST_PP_ITERATION_FINISH_5 <= 256 && BOOST_PP_ITERATION_START_5 >= 256
-#    define BOOST_PP_ITERATION_5 256
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 256 && NDNBOOST_PP_ITERATION_START_5 >= 256
+#    define NDNBOOST_PP_ITERATION_5 256
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 255 && BOOST_PP_ITERATION_START_5 >= 255
-#    define BOOST_PP_ITERATION_5 255
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 255 && NDNBOOST_PP_ITERATION_START_5 >= 255
+#    define NDNBOOST_PP_ITERATION_5 255
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 254 && BOOST_PP_ITERATION_START_5 >= 254
-#    define BOOST_PP_ITERATION_5 254
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 254 && NDNBOOST_PP_ITERATION_START_5 >= 254
+#    define NDNBOOST_PP_ITERATION_5 254
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 253 && BOOST_PP_ITERATION_START_5 >= 253
-#    define BOOST_PP_ITERATION_5 253
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 253 && NDNBOOST_PP_ITERATION_START_5 >= 253
+#    define NDNBOOST_PP_ITERATION_5 253
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 252 && BOOST_PP_ITERATION_START_5 >= 252
-#    define BOOST_PP_ITERATION_5 252
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 252 && NDNBOOST_PP_ITERATION_START_5 >= 252
+#    define NDNBOOST_PP_ITERATION_5 252
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 251 && BOOST_PP_ITERATION_START_5 >= 251
-#    define BOOST_PP_ITERATION_5 251
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 251 && NDNBOOST_PP_ITERATION_START_5 >= 251
+#    define NDNBOOST_PP_ITERATION_5 251
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 250 && BOOST_PP_ITERATION_START_5 >= 250
-#    define BOOST_PP_ITERATION_5 250
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 250 && NDNBOOST_PP_ITERATION_START_5 >= 250
+#    define NDNBOOST_PP_ITERATION_5 250
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 249 && BOOST_PP_ITERATION_START_5 >= 249
-#    define BOOST_PP_ITERATION_5 249
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 249 && NDNBOOST_PP_ITERATION_START_5 >= 249
+#    define NDNBOOST_PP_ITERATION_5 249
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 248 && BOOST_PP_ITERATION_START_5 >= 248
-#    define BOOST_PP_ITERATION_5 248
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 248 && NDNBOOST_PP_ITERATION_START_5 >= 248
+#    define NDNBOOST_PP_ITERATION_5 248
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 247 && BOOST_PP_ITERATION_START_5 >= 247
-#    define BOOST_PP_ITERATION_5 247
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 247 && NDNBOOST_PP_ITERATION_START_5 >= 247
+#    define NDNBOOST_PP_ITERATION_5 247
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 246 && BOOST_PP_ITERATION_START_5 >= 246
-#    define BOOST_PP_ITERATION_5 246
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 246 && NDNBOOST_PP_ITERATION_START_5 >= 246
+#    define NDNBOOST_PP_ITERATION_5 246
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 245 && BOOST_PP_ITERATION_START_5 >= 245
-#    define BOOST_PP_ITERATION_5 245
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 245 && NDNBOOST_PP_ITERATION_START_5 >= 245
+#    define NDNBOOST_PP_ITERATION_5 245
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 244 && BOOST_PP_ITERATION_START_5 >= 244
-#    define BOOST_PP_ITERATION_5 244
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 244 && NDNBOOST_PP_ITERATION_START_5 >= 244
+#    define NDNBOOST_PP_ITERATION_5 244
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 243 && BOOST_PP_ITERATION_START_5 >= 243
-#    define BOOST_PP_ITERATION_5 243
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 243 && NDNBOOST_PP_ITERATION_START_5 >= 243
+#    define NDNBOOST_PP_ITERATION_5 243
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 242 && BOOST_PP_ITERATION_START_5 >= 242
-#    define BOOST_PP_ITERATION_5 242
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 242 && NDNBOOST_PP_ITERATION_START_5 >= 242
+#    define NDNBOOST_PP_ITERATION_5 242
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 241 && BOOST_PP_ITERATION_START_5 >= 241
-#    define BOOST_PP_ITERATION_5 241
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 241 && NDNBOOST_PP_ITERATION_START_5 >= 241
+#    define NDNBOOST_PP_ITERATION_5 241
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 240 && BOOST_PP_ITERATION_START_5 >= 240
-#    define BOOST_PP_ITERATION_5 240
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 240 && NDNBOOST_PP_ITERATION_START_5 >= 240
+#    define NDNBOOST_PP_ITERATION_5 240
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 239 && BOOST_PP_ITERATION_START_5 >= 239
-#    define BOOST_PP_ITERATION_5 239
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 239 && NDNBOOST_PP_ITERATION_START_5 >= 239
+#    define NDNBOOST_PP_ITERATION_5 239
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 238 && BOOST_PP_ITERATION_START_5 >= 238
-#    define BOOST_PP_ITERATION_5 238
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 238 && NDNBOOST_PP_ITERATION_START_5 >= 238
+#    define NDNBOOST_PP_ITERATION_5 238
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 237 && BOOST_PP_ITERATION_START_5 >= 237
-#    define BOOST_PP_ITERATION_5 237
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 237 && NDNBOOST_PP_ITERATION_START_5 >= 237
+#    define NDNBOOST_PP_ITERATION_5 237
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 236 && BOOST_PP_ITERATION_START_5 >= 236
-#    define BOOST_PP_ITERATION_5 236
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 236 && NDNBOOST_PP_ITERATION_START_5 >= 236
+#    define NDNBOOST_PP_ITERATION_5 236
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 235 && BOOST_PP_ITERATION_START_5 >= 235
-#    define BOOST_PP_ITERATION_5 235
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 235 && NDNBOOST_PP_ITERATION_START_5 >= 235
+#    define NDNBOOST_PP_ITERATION_5 235
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 234 && BOOST_PP_ITERATION_START_5 >= 234
-#    define BOOST_PP_ITERATION_5 234
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 234 && NDNBOOST_PP_ITERATION_START_5 >= 234
+#    define NDNBOOST_PP_ITERATION_5 234
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 233 && BOOST_PP_ITERATION_START_5 >= 233
-#    define BOOST_PP_ITERATION_5 233
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 233 && NDNBOOST_PP_ITERATION_START_5 >= 233
+#    define NDNBOOST_PP_ITERATION_5 233
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 232 && BOOST_PP_ITERATION_START_5 >= 232
-#    define BOOST_PP_ITERATION_5 232
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 232 && NDNBOOST_PP_ITERATION_START_5 >= 232
+#    define NDNBOOST_PP_ITERATION_5 232
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 231 && BOOST_PP_ITERATION_START_5 >= 231
-#    define BOOST_PP_ITERATION_5 231
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 231 && NDNBOOST_PP_ITERATION_START_5 >= 231
+#    define NDNBOOST_PP_ITERATION_5 231
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 230 && BOOST_PP_ITERATION_START_5 >= 230
-#    define BOOST_PP_ITERATION_5 230
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 230 && NDNBOOST_PP_ITERATION_START_5 >= 230
+#    define NDNBOOST_PP_ITERATION_5 230
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 229 && BOOST_PP_ITERATION_START_5 >= 229
-#    define BOOST_PP_ITERATION_5 229
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 229 && NDNBOOST_PP_ITERATION_START_5 >= 229
+#    define NDNBOOST_PP_ITERATION_5 229
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 228 && BOOST_PP_ITERATION_START_5 >= 228
-#    define BOOST_PP_ITERATION_5 228
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 228 && NDNBOOST_PP_ITERATION_START_5 >= 228
+#    define NDNBOOST_PP_ITERATION_5 228
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 227 && BOOST_PP_ITERATION_START_5 >= 227
-#    define BOOST_PP_ITERATION_5 227
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 227 && NDNBOOST_PP_ITERATION_START_5 >= 227
+#    define NDNBOOST_PP_ITERATION_5 227
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 226 && BOOST_PP_ITERATION_START_5 >= 226
-#    define BOOST_PP_ITERATION_5 226
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 226 && NDNBOOST_PP_ITERATION_START_5 >= 226
+#    define NDNBOOST_PP_ITERATION_5 226
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 225 && BOOST_PP_ITERATION_START_5 >= 225
-#    define BOOST_PP_ITERATION_5 225
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 225 && NDNBOOST_PP_ITERATION_START_5 >= 225
+#    define NDNBOOST_PP_ITERATION_5 225
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 224 && BOOST_PP_ITERATION_START_5 >= 224
-#    define BOOST_PP_ITERATION_5 224
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 224 && NDNBOOST_PP_ITERATION_START_5 >= 224
+#    define NDNBOOST_PP_ITERATION_5 224
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 223 && BOOST_PP_ITERATION_START_5 >= 223
-#    define BOOST_PP_ITERATION_5 223
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 223 && NDNBOOST_PP_ITERATION_START_5 >= 223
+#    define NDNBOOST_PP_ITERATION_5 223
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 222 && BOOST_PP_ITERATION_START_5 >= 222
-#    define BOOST_PP_ITERATION_5 222
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 222 && NDNBOOST_PP_ITERATION_START_5 >= 222
+#    define NDNBOOST_PP_ITERATION_5 222
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 221 && BOOST_PP_ITERATION_START_5 >= 221
-#    define BOOST_PP_ITERATION_5 221
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 221 && NDNBOOST_PP_ITERATION_START_5 >= 221
+#    define NDNBOOST_PP_ITERATION_5 221
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 220 && BOOST_PP_ITERATION_START_5 >= 220
-#    define BOOST_PP_ITERATION_5 220
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 220 && NDNBOOST_PP_ITERATION_START_5 >= 220
+#    define NDNBOOST_PP_ITERATION_5 220
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 219 && BOOST_PP_ITERATION_START_5 >= 219
-#    define BOOST_PP_ITERATION_5 219
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 219 && NDNBOOST_PP_ITERATION_START_5 >= 219
+#    define NDNBOOST_PP_ITERATION_5 219
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 218 && BOOST_PP_ITERATION_START_5 >= 218
-#    define BOOST_PP_ITERATION_5 218
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 218 && NDNBOOST_PP_ITERATION_START_5 >= 218
+#    define NDNBOOST_PP_ITERATION_5 218
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 217 && BOOST_PP_ITERATION_START_5 >= 217
-#    define BOOST_PP_ITERATION_5 217
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 217 && NDNBOOST_PP_ITERATION_START_5 >= 217
+#    define NDNBOOST_PP_ITERATION_5 217
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 216 && BOOST_PP_ITERATION_START_5 >= 216
-#    define BOOST_PP_ITERATION_5 216
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 216 && NDNBOOST_PP_ITERATION_START_5 >= 216
+#    define NDNBOOST_PP_ITERATION_5 216
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 215 && BOOST_PP_ITERATION_START_5 >= 215
-#    define BOOST_PP_ITERATION_5 215
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 215 && NDNBOOST_PP_ITERATION_START_5 >= 215
+#    define NDNBOOST_PP_ITERATION_5 215
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 214 && BOOST_PP_ITERATION_START_5 >= 214
-#    define BOOST_PP_ITERATION_5 214
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 214 && NDNBOOST_PP_ITERATION_START_5 >= 214
+#    define NDNBOOST_PP_ITERATION_5 214
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 213 && BOOST_PP_ITERATION_START_5 >= 213
-#    define BOOST_PP_ITERATION_5 213
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 213 && NDNBOOST_PP_ITERATION_START_5 >= 213
+#    define NDNBOOST_PP_ITERATION_5 213
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 212 && BOOST_PP_ITERATION_START_5 >= 212
-#    define BOOST_PP_ITERATION_5 212
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 212 && NDNBOOST_PP_ITERATION_START_5 >= 212
+#    define NDNBOOST_PP_ITERATION_5 212
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 211 && BOOST_PP_ITERATION_START_5 >= 211
-#    define BOOST_PP_ITERATION_5 211
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 211 && NDNBOOST_PP_ITERATION_START_5 >= 211
+#    define NDNBOOST_PP_ITERATION_5 211
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 210 && BOOST_PP_ITERATION_START_5 >= 210
-#    define BOOST_PP_ITERATION_5 210
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 210 && NDNBOOST_PP_ITERATION_START_5 >= 210
+#    define NDNBOOST_PP_ITERATION_5 210
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 209 && BOOST_PP_ITERATION_START_5 >= 209
-#    define BOOST_PP_ITERATION_5 209
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 209 && NDNBOOST_PP_ITERATION_START_5 >= 209
+#    define NDNBOOST_PP_ITERATION_5 209
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 208 && BOOST_PP_ITERATION_START_5 >= 208
-#    define BOOST_PP_ITERATION_5 208
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 208 && NDNBOOST_PP_ITERATION_START_5 >= 208
+#    define NDNBOOST_PP_ITERATION_5 208
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 207 && BOOST_PP_ITERATION_START_5 >= 207
-#    define BOOST_PP_ITERATION_5 207
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 207 && NDNBOOST_PP_ITERATION_START_5 >= 207
+#    define NDNBOOST_PP_ITERATION_5 207
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 206 && BOOST_PP_ITERATION_START_5 >= 206
-#    define BOOST_PP_ITERATION_5 206
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 206 && NDNBOOST_PP_ITERATION_START_5 >= 206
+#    define NDNBOOST_PP_ITERATION_5 206
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 205 && BOOST_PP_ITERATION_START_5 >= 205
-#    define BOOST_PP_ITERATION_5 205
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 205 && NDNBOOST_PP_ITERATION_START_5 >= 205
+#    define NDNBOOST_PP_ITERATION_5 205
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 204 && BOOST_PP_ITERATION_START_5 >= 204
-#    define BOOST_PP_ITERATION_5 204
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 204 && NDNBOOST_PP_ITERATION_START_5 >= 204
+#    define NDNBOOST_PP_ITERATION_5 204
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 203 && BOOST_PP_ITERATION_START_5 >= 203
-#    define BOOST_PP_ITERATION_5 203
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 203 && NDNBOOST_PP_ITERATION_START_5 >= 203
+#    define NDNBOOST_PP_ITERATION_5 203
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 202 && BOOST_PP_ITERATION_START_5 >= 202
-#    define BOOST_PP_ITERATION_5 202
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 202 && NDNBOOST_PP_ITERATION_START_5 >= 202
+#    define NDNBOOST_PP_ITERATION_5 202
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 201 && BOOST_PP_ITERATION_START_5 >= 201
-#    define BOOST_PP_ITERATION_5 201
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 201 && NDNBOOST_PP_ITERATION_START_5 >= 201
+#    define NDNBOOST_PP_ITERATION_5 201
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 200 && BOOST_PP_ITERATION_START_5 >= 200
-#    define BOOST_PP_ITERATION_5 200
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 200 && NDNBOOST_PP_ITERATION_START_5 >= 200
+#    define NDNBOOST_PP_ITERATION_5 200
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 199 && BOOST_PP_ITERATION_START_5 >= 199
-#    define BOOST_PP_ITERATION_5 199
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 199 && NDNBOOST_PP_ITERATION_START_5 >= 199
+#    define NDNBOOST_PP_ITERATION_5 199
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 198 && BOOST_PP_ITERATION_START_5 >= 198
-#    define BOOST_PP_ITERATION_5 198
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 198 && NDNBOOST_PP_ITERATION_START_5 >= 198
+#    define NDNBOOST_PP_ITERATION_5 198
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 197 && BOOST_PP_ITERATION_START_5 >= 197
-#    define BOOST_PP_ITERATION_5 197
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 197 && NDNBOOST_PP_ITERATION_START_5 >= 197
+#    define NDNBOOST_PP_ITERATION_5 197
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 196 && BOOST_PP_ITERATION_START_5 >= 196
-#    define BOOST_PP_ITERATION_5 196
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 196 && NDNBOOST_PP_ITERATION_START_5 >= 196
+#    define NDNBOOST_PP_ITERATION_5 196
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 195 && BOOST_PP_ITERATION_START_5 >= 195
-#    define BOOST_PP_ITERATION_5 195
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 195 && NDNBOOST_PP_ITERATION_START_5 >= 195
+#    define NDNBOOST_PP_ITERATION_5 195
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 194 && BOOST_PP_ITERATION_START_5 >= 194
-#    define BOOST_PP_ITERATION_5 194
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 194 && NDNBOOST_PP_ITERATION_START_5 >= 194
+#    define NDNBOOST_PP_ITERATION_5 194
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 193 && BOOST_PP_ITERATION_START_5 >= 193
-#    define BOOST_PP_ITERATION_5 193
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 193 && NDNBOOST_PP_ITERATION_START_5 >= 193
+#    define NDNBOOST_PP_ITERATION_5 193
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 192 && BOOST_PP_ITERATION_START_5 >= 192
-#    define BOOST_PP_ITERATION_5 192
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 192 && NDNBOOST_PP_ITERATION_START_5 >= 192
+#    define NDNBOOST_PP_ITERATION_5 192
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 191 && BOOST_PP_ITERATION_START_5 >= 191
-#    define BOOST_PP_ITERATION_5 191
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 191 && NDNBOOST_PP_ITERATION_START_5 >= 191
+#    define NDNBOOST_PP_ITERATION_5 191
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 190 && BOOST_PP_ITERATION_START_5 >= 190
-#    define BOOST_PP_ITERATION_5 190
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 190 && NDNBOOST_PP_ITERATION_START_5 >= 190
+#    define NDNBOOST_PP_ITERATION_5 190
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 189 && BOOST_PP_ITERATION_START_5 >= 189
-#    define BOOST_PP_ITERATION_5 189
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 189 && NDNBOOST_PP_ITERATION_START_5 >= 189
+#    define NDNBOOST_PP_ITERATION_5 189
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 188 && BOOST_PP_ITERATION_START_5 >= 188
-#    define BOOST_PP_ITERATION_5 188
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 188 && NDNBOOST_PP_ITERATION_START_5 >= 188
+#    define NDNBOOST_PP_ITERATION_5 188
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 187 && BOOST_PP_ITERATION_START_5 >= 187
-#    define BOOST_PP_ITERATION_5 187
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 187 && NDNBOOST_PP_ITERATION_START_5 >= 187
+#    define NDNBOOST_PP_ITERATION_5 187
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 186 && BOOST_PP_ITERATION_START_5 >= 186
-#    define BOOST_PP_ITERATION_5 186
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 186 && NDNBOOST_PP_ITERATION_START_5 >= 186
+#    define NDNBOOST_PP_ITERATION_5 186
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 185 && BOOST_PP_ITERATION_START_5 >= 185
-#    define BOOST_PP_ITERATION_5 185
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 185 && NDNBOOST_PP_ITERATION_START_5 >= 185
+#    define NDNBOOST_PP_ITERATION_5 185
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 184 && BOOST_PP_ITERATION_START_5 >= 184
-#    define BOOST_PP_ITERATION_5 184
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 184 && NDNBOOST_PP_ITERATION_START_5 >= 184
+#    define NDNBOOST_PP_ITERATION_5 184
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 183 && BOOST_PP_ITERATION_START_5 >= 183
-#    define BOOST_PP_ITERATION_5 183
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 183 && NDNBOOST_PP_ITERATION_START_5 >= 183
+#    define NDNBOOST_PP_ITERATION_5 183
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 182 && BOOST_PP_ITERATION_START_5 >= 182
-#    define BOOST_PP_ITERATION_5 182
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 182 && NDNBOOST_PP_ITERATION_START_5 >= 182
+#    define NDNBOOST_PP_ITERATION_5 182
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 181 && BOOST_PP_ITERATION_START_5 >= 181
-#    define BOOST_PP_ITERATION_5 181
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 181 && NDNBOOST_PP_ITERATION_START_5 >= 181
+#    define NDNBOOST_PP_ITERATION_5 181
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 180 && BOOST_PP_ITERATION_START_5 >= 180
-#    define BOOST_PP_ITERATION_5 180
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 180 && NDNBOOST_PP_ITERATION_START_5 >= 180
+#    define NDNBOOST_PP_ITERATION_5 180
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 179 && BOOST_PP_ITERATION_START_5 >= 179
-#    define BOOST_PP_ITERATION_5 179
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 179 && NDNBOOST_PP_ITERATION_START_5 >= 179
+#    define NDNBOOST_PP_ITERATION_5 179
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 178 && BOOST_PP_ITERATION_START_5 >= 178
-#    define BOOST_PP_ITERATION_5 178
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 178 && NDNBOOST_PP_ITERATION_START_5 >= 178
+#    define NDNBOOST_PP_ITERATION_5 178
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 177 && BOOST_PP_ITERATION_START_5 >= 177
-#    define BOOST_PP_ITERATION_5 177
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 177 && NDNBOOST_PP_ITERATION_START_5 >= 177
+#    define NDNBOOST_PP_ITERATION_5 177
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 176 && BOOST_PP_ITERATION_START_5 >= 176
-#    define BOOST_PP_ITERATION_5 176
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 176 && NDNBOOST_PP_ITERATION_START_5 >= 176
+#    define NDNBOOST_PP_ITERATION_5 176
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 175 && BOOST_PP_ITERATION_START_5 >= 175
-#    define BOOST_PP_ITERATION_5 175
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 175 && NDNBOOST_PP_ITERATION_START_5 >= 175
+#    define NDNBOOST_PP_ITERATION_5 175
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 174 && BOOST_PP_ITERATION_START_5 >= 174
-#    define BOOST_PP_ITERATION_5 174
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 174 && NDNBOOST_PP_ITERATION_START_5 >= 174
+#    define NDNBOOST_PP_ITERATION_5 174
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 173 && BOOST_PP_ITERATION_START_5 >= 173
-#    define BOOST_PP_ITERATION_5 173
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 173 && NDNBOOST_PP_ITERATION_START_5 >= 173
+#    define NDNBOOST_PP_ITERATION_5 173
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 172 && BOOST_PP_ITERATION_START_5 >= 172
-#    define BOOST_PP_ITERATION_5 172
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 172 && NDNBOOST_PP_ITERATION_START_5 >= 172
+#    define NDNBOOST_PP_ITERATION_5 172
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 171 && BOOST_PP_ITERATION_START_5 >= 171
-#    define BOOST_PP_ITERATION_5 171
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 171 && NDNBOOST_PP_ITERATION_START_5 >= 171
+#    define NDNBOOST_PP_ITERATION_5 171
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 170 && BOOST_PP_ITERATION_START_5 >= 170
-#    define BOOST_PP_ITERATION_5 170
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 170 && NDNBOOST_PP_ITERATION_START_5 >= 170
+#    define NDNBOOST_PP_ITERATION_5 170
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 169 && BOOST_PP_ITERATION_START_5 >= 169
-#    define BOOST_PP_ITERATION_5 169
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 169 && NDNBOOST_PP_ITERATION_START_5 >= 169
+#    define NDNBOOST_PP_ITERATION_5 169
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 168 && BOOST_PP_ITERATION_START_5 >= 168
-#    define BOOST_PP_ITERATION_5 168
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 168 && NDNBOOST_PP_ITERATION_START_5 >= 168
+#    define NDNBOOST_PP_ITERATION_5 168
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 167 && BOOST_PP_ITERATION_START_5 >= 167
-#    define BOOST_PP_ITERATION_5 167
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 167 && NDNBOOST_PP_ITERATION_START_5 >= 167
+#    define NDNBOOST_PP_ITERATION_5 167
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 166 && BOOST_PP_ITERATION_START_5 >= 166
-#    define BOOST_PP_ITERATION_5 166
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 166 && NDNBOOST_PP_ITERATION_START_5 >= 166
+#    define NDNBOOST_PP_ITERATION_5 166
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 165 && BOOST_PP_ITERATION_START_5 >= 165
-#    define BOOST_PP_ITERATION_5 165
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 165 && NDNBOOST_PP_ITERATION_START_5 >= 165
+#    define NDNBOOST_PP_ITERATION_5 165
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 164 && BOOST_PP_ITERATION_START_5 >= 164
-#    define BOOST_PP_ITERATION_5 164
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 164 && NDNBOOST_PP_ITERATION_START_5 >= 164
+#    define NDNBOOST_PP_ITERATION_5 164
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 163 && BOOST_PP_ITERATION_START_5 >= 163
-#    define BOOST_PP_ITERATION_5 163
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 163 && NDNBOOST_PP_ITERATION_START_5 >= 163
+#    define NDNBOOST_PP_ITERATION_5 163
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 162 && BOOST_PP_ITERATION_START_5 >= 162
-#    define BOOST_PP_ITERATION_5 162
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 162 && NDNBOOST_PP_ITERATION_START_5 >= 162
+#    define NDNBOOST_PP_ITERATION_5 162
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 161 && BOOST_PP_ITERATION_START_5 >= 161
-#    define BOOST_PP_ITERATION_5 161
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 161 && NDNBOOST_PP_ITERATION_START_5 >= 161
+#    define NDNBOOST_PP_ITERATION_5 161
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 160 && BOOST_PP_ITERATION_START_5 >= 160
-#    define BOOST_PP_ITERATION_5 160
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 160 && NDNBOOST_PP_ITERATION_START_5 >= 160
+#    define NDNBOOST_PP_ITERATION_5 160
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 159 && BOOST_PP_ITERATION_START_5 >= 159
-#    define BOOST_PP_ITERATION_5 159
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 159 && NDNBOOST_PP_ITERATION_START_5 >= 159
+#    define NDNBOOST_PP_ITERATION_5 159
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 158 && BOOST_PP_ITERATION_START_5 >= 158
-#    define BOOST_PP_ITERATION_5 158
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 158 && NDNBOOST_PP_ITERATION_START_5 >= 158
+#    define NDNBOOST_PP_ITERATION_5 158
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 157 && BOOST_PP_ITERATION_START_5 >= 157
-#    define BOOST_PP_ITERATION_5 157
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 157 && NDNBOOST_PP_ITERATION_START_5 >= 157
+#    define NDNBOOST_PP_ITERATION_5 157
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 156 && BOOST_PP_ITERATION_START_5 >= 156
-#    define BOOST_PP_ITERATION_5 156
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 156 && NDNBOOST_PP_ITERATION_START_5 >= 156
+#    define NDNBOOST_PP_ITERATION_5 156
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 155 && BOOST_PP_ITERATION_START_5 >= 155
-#    define BOOST_PP_ITERATION_5 155
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 155 && NDNBOOST_PP_ITERATION_START_5 >= 155
+#    define NDNBOOST_PP_ITERATION_5 155
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 154 && BOOST_PP_ITERATION_START_5 >= 154
-#    define BOOST_PP_ITERATION_5 154
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 154 && NDNBOOST_PP_ITERATION_START_5 >= 154
+#    define NDNBOOST_PP_ITERATION_5 154
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 153 && BOOST_PP_ITERATION_START_5 >= 153
-#    define BOOST_PP_ITERATION_5 153
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 153 && NDNBOOST_PP_ITERATION_START_5 >= 153
+#    define NDNBOOST_PP_ITERATION_5 153
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 152 && BOOST_PP_ITERATION_START_5 >= 152
-#    define BOOST_PP_ITERATION_5 152
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 152 && NDNBOOST_PP_ITERATION_START_5 >= 152
+#    define NDNBOOST_PP_ITERATION_5 152
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 151 && BOOST_PP_ITERATION_START_5 >= 151
-#    define BOOST_PP_ITERATION_5 151
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 151 && NDNBOOST_PP_ITERATION_START_5 >= 151
+#    define NDNBOOST_PP_ITERATION_5 151
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 150 && BOOST_PP_ITERATION_START_5 >= 150
-#    define BOOST_PP_ITERATION_5 150
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 150 && NDNBOOST_PP_ITERATION_START_5 >= 150
+#    define NDNBOOST_PP_ITERATION_5 150
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 149 && BOOST_PP_ITERATION_START_5 >= 149
-#    define BOOST_PP_ITERATION_5 149
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 149 && NDNBOOST_PP_ITERATION_START_5 >= 149
+#    define NDNBOOST_PP_ITERATION_5 149
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 148 && BOOST_PP_ITERATION_START_5 >= 148
-#    define BOOST_PP_ITERATION_5 148
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 148 && NDNBOOST_PP_ITERATION_START_5 >= 148
+#    define NDNBOOST_PP_ITERATION_5 148
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 147 && BOOST_PP_ITERATION_START_5 >= 147
-#    define BOOST_PP_ITERATION_5 147
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 147 && NDNBOOST_PP_ITERATION_START_5 >= 147
+#    define NDNBOOST_PP_ITERATION_5 147
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 146 && BOOST_PP_ITERATION_START_5 >= 146
-#    define BOOST_PP_ITERATION_5 146
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 146 && NDNBOOST_PP_ITERATION_START_5 >= 146
+#    define NDNBOOST_PP_ITERATION_5 146
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 145 && BOOST_PP_ITERATION_START_5 >= 145
-#    define BOOST_PP_ITERATION_5 145
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 145 && NDNBOOST_PP_ITERATION_START_5 >= 145
+#    define NDNBOOST_PP_ITERATION_5 145
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 144 && BOOST_PP_ITERATION_START_5 >= 144
-#    define BOOST_PP_ITERATION_5 144
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 144 && NDNBOOST_PP_ITERATION_START_5 >= 144
+#    define NDNBOOST_PP_ITERATION_5 144
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 143 && BOOST_PP_ITERATION_START_5 >= 143
-#    define BOOST_PP_ITERATION_5 143
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 143 && NDNBOOST_PP_ITERATION_START_5 >= 143
+#    define NDNBOOST_PP_ITERATION_5 143
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 142 && BOOST_PP_ITERATION_START_5 >= 142
-#    define BOOST_PP_ITERATION_5 142
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 142 && NDNBOOST_PP_ITERATION_START_5 >= 142
+#    define NDNBOOST_PP_ITERATION_5 142
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 141 && BOOST_PP_ITERATION_START_5 >= 141
-#    define BOOST_PP_ITERATION_5 141
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 141 && NDNBOOST_PP_ITERATION_START_5 >= 141
+#    define NDNBOOST_PP_ITERATION_5 141
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 140 && BOOST_PP_ITERATION_START_5 >= 140
-#    define BOOST_PP_ITERATION_5 140
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 140 && NDNBOOST_PP_ITERATION_START_5 >= 140
+#    define NDNBOOST_PP_ITERATION_5 140
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 139 && BOOST_PP_ITERATION_START_5 >= 139
-#    define BOOST_PP_ITERATION_5 139
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 139 && NDNBOOST_PP_ITERATION_START_5 >= 139
+#    define NDNBOOST_PP_ITERATION_5 139
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 138 && BOOST_PP_ITERATION_START_5 >= 138
-#    define BOOST_PP_ITERATION_5 138
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 138 && NDNBOOST_PP_ITERATION_START_5 >= 138
+#    define NDNBOOST_PP_ITERATION_5 138
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 137 && BOOST_PP_ITERATION_START_5 >= 137
-#    define BOOST_PP_ITERATION_5 137
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 137 && NDNBOOST_PP_ITERATION_START_5 >= 137
+#    define NDNBOOST_PP_ITERATION_5 137
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 136 && BOOST_PP_ITERATION_START_5 >= 136
-#    define BOOST_PP_ITERATION_5 136
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 136 && NDNBOOST_PP_ITERATION_START_5 >= 136
+#    define NDNBOOST_PP_ITERATION_5 136
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 135 && BOOST_PP_ITERATION_START_5 >= 135
-#    define BOOST_PP_ITERATION_5 135
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 135 && NDNBOOST_PP_ITERATION_START_5 >= 135
+#    define NDNBOOST_PP_ITERATION_5 135
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 134 && BOOST_PP_ITERATION_START_5 >= 134
-#    define BOOST_PP_ITERATION_5 134
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 134 && NDNBOOST_PP_ITERATION_START_5 >= 134
+#    define NDNBOOST_PP_ITERATION_5 134
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 133 && BOOST_PP_ITERATION_START_5 >= 133
-#    define BOOST_PP_ITERATION_5 133
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 133 && NDNBOOST_PP_ITERATION_START_5 >= 133
+#    define NDNBOOST_PP_ITERATION_5 133
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 132 && BOOST_PP_ITERATION_START_5 >= 132
-#    define BOOST_PP_ITERATION_5 132
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 132 && NDNBOOST_PP_ITERATION_START_5 >= 132
+#    define NDNBOOST_PP_ITERATION_5 132
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 131 && BOOST_PP_ITERATION_START_5 >= 131
-#    define BOOST_PP_ITERATION_5 131
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 131 && NDNBOOST_PP_ITERATION_START_5 >= 131
+#    define NDNBOOST_PP_ITERATION_5 131
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 130 && BOOST_PP_ITERATION_START_5 >= 130
-#    define BOOST_PP_ITERATION_5 130
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 130 && NDNBOOST_PP_ITERATION_START_5 >= 130
+#    define NDNBOOST_PP_ITERATION_5 130
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 129 && BOOST_PP_ITERATION_START_5 >= 129
-#    define BOOST_PP_ITERATION_5 129
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 129 && NDNBOOST_PP_ITERATION_START_5 >= 129
+#    define NDNBOOST_PP_ITERATION_5 129
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 128 && BOOST_PP_ITERATION_START_5 >= 128
-#    define BOOST_PP_ITERATION_5 128
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 128 && NDNBOOST_PP_ITERATION_START_5 >= 128
+#    define NDNBOOST_PP_ITERATION_5 128
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 127 && BOOST_PP_ITERATION_START_5 >= 127
-#    define BOOST_PP_ITERATION_5 127
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 127 && NDNBOOST_PP_ITERATION_START_5 >= 127
+#    define NDNBOOST_PP_ITERATION_5 127
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 126 && BOOST_PP_ITERATION_START_5 >= 126
-#    define BOOST_PP_ITERATION_5 126
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 126 && NDNBOOST_PP_ITERATION_START_5 >= 126
+#    define NDNBOOST_PP_ITERATION_5 126
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 125 && BOOST_PP_ITERATION_START_5 >= 125
-#    define BOOST_PP_ITERATION_5 125
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 125 && NDNBOOST_PP_ITERATION_START_5 >= 125
+#    define NDNBOOST_PP_ITERATION_5 125
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 124 && BOOST_PP_ITERATION_START_5 >= 124
-#    define BOOST_PP_ITERATION_5 124
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 124 && NDNBOOST_PP_ITERATION_START_5 >= 124
+#    define NDNBOOST_PP_ITERATION_5 124
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 123 && BOOST_PP_ITERATION_START_5 >= 123
-#    define BOOST_PP_ITERATION_5 123
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 123 && NDNBOOST_PP_ITERATION_START_5 >= 123
+#    define NDNBOOST_PP_ITERATION_5 123
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 122 && BOOST_PP_ITERATION_START_5 >= 122
-#    define BOOST_PP_ITERATION_5 122
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 122 && NDNBOOST_PP_ITERATION_START_5 >= 122
+#    define NDNBOOST_PP_ITERATION_5 122
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 121 && BOOST_PP_ITERATION_START_5 >= 121
-#    define BOOST_PP_ITERATION_5 121
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 121 && NDNBOOST_PP_ITERATION_START_5 >= 121
+#    define NDNBOOST_PP_ITERATION_5 121
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 120 && BOOST_PP_ITERATION_START_5 >= 120
-#    define BOOST_PP_ITERATION_5 120
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 120 && NDNBOOST_PP_ITERATION_START_5 >= 120
+#    define NDNBOOST_PP_ITERATION_5 120
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 119 && BOOST_PP_ITERATION_START_5 >= 119
-#    define BOOST_PP_ITERATION_5 119
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 119 && NDNBOOST_PP_ITERATION_START_5 >= 119
+#    define NDNBOOST_PP_ITERATION_5 119
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 118 && BOOST_PP_ITERATION_START_5 >= 118
-#    define BOOST_PP_ITERATION_5 118
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 118 && NDNBOOST_PP_ITERATION_START_5 >= 118
+#    define NDNBOOST_PP_ITERATION_5 118
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 117 && BOOST_PP_ITERATION_START_5 >= 117
-#    define BOOST_PP_ITERATION_5 117
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 117 && NDNBOOST_PP_ITERATION_START_5 >= 117
+#    define NDNBOOST_PP_ITERATION_5 117
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 116 && BOOST_PP_ITERATION_START_5 >= 116
-#    define BOOST_PP_ITERATION_5 116
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 116 && NDNBOOST_PP_ITERATION_START_5 >= 116
+#    define NDNBOOST_PP_ITERATION_5 116
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 115 && BOOST_PP_ITERATION_START_5 >= 115
-#    define BOOST_PP_ITERATION_5 115
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 115 && NDNBOOST_PP_ITERATION_START_5 >= 115
+#    define NDNBOOST_PP_ITERATION_5 115
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 114 && BOOST_PP_ITERATION_START_5 >= 114
-#    define BOOST_PP_ITERATION_5 114
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 114 && NDNBOOST_PP_ITERATION_START_5 >= 114
+#    define NDNBOOST_PP_ITERATION_5 114
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 113 && BOOST_PP_ITERATION_START_5 >= 113
-#    define BOOST_PP_ITERATION_5 113
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 113 && NDNBOOST_PP_ITERATION_START_5 >= 113
+#    define NDNBOOST_PP_ITERATION_5 113
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 112 && BOOST_PP_ITERATION_START_5 >= 112
-#    define BOOST_PP_ITERATION_5 112
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 112 && NDNBOOST_PP_ITERATION_START_5 >= 112
+#    define NDNBOOST_PP_ITERATION_5 112
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 111 && BOOST_PP_ITERATION_START_5 >= 111
-#    define BOOST_PP_ITERATION_5 111
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 111 && NDNBOOST_PP_ITERATION_START_5 >= 111
+#    define NDNBOOST_PP_ITERATION_5 111
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 110 && BOOST_PP_ITERATION_START_5 >= 110
-#    define BOOST_PP_ITERATION_5 110
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 110 && NDNBOOST_PP_ITERATION_START_5 >= 110
+#    define NDNBOOST_PP_ITERATION_5 110
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 109 && BOOST_PP_ITERATION_START_5 >= 109
-#    define BOOST_PP_ITERATION_5 109
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 109 && NDNBOOST_PP_ITERATION_START_5 >= 109
+#    define NDNBOOST_PP_ITERATION_5 109
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 108 && BOOST_PP_ITERATION_START_5 >= 108
-#    define BOOST_PP_ITERATION_5 108
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 108 && NDNBOOST_PP_ITERATION_START_5 >= 108
+#    define NDNBOOST_PP_ITERATION_5 108
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 107 && BOOST_PP_ITERATION_START_5 >= 107
-#    define BOOST_PP_ITERATION_5 107
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 107 && NDNBOOST_PP_ITERATION_START_5 >= 107
+#    define NDNBOOST_PP_ITERATION_5 107
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 106 && BOOST_PP_ITERATION_START_5 >= 106
-#    define BOOST_PP_ITERATION_5 106
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 106 && NDNBOOST_PP_ITERATION_START_5 >= 106
+#    define NDNBOOST_PP_ITERATION_5 106
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 105 && BOOST_PP_ITERATION_START_5 >= 105
-#    define BOOST_PP_ITERATION_5 105
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 105 && NDNBOOST_PP_ITERATION_START_5 >= 105
+#    define NDNBOOST_PP_ITERATION_5 105
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 104 && BOOST_PP_ITERATION_START_5 >= 104
-#    define BOOST_PP_ITERATION_5 104
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 104 && NDNBOOST_PP_ITERATION_START_5 >= 104
+#    define NDNBOOST_PP_ITERATION_5 104
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 103 && BOOST_PP_ITERATION_START_5 >= 103
-#    define BOOST_PP_ITERATION_5 103
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 103 && NDNBOOST_PP_ITERATION_START_5 >= 103
+#    define NDNBOOST_PP_ITERATION_5 103
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 102 && BOOST_PP_ITERATION_START_5 >= 102
-#    define BOOST_PP_ITERATION_5 102
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 102 && NDNBOOST_PP_ITERATION_START_5 >= 102
+#    define NDNBOOST_PP_ITERATION_5 102
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 101 && BOOST_PP_ITERATION_START_5 >= 101
-#    define BOOST_PP_ITERATION_5 101
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 101 && NDNBOOST_PP_ITERATION_START_5 >= 101
+#    define NDNBOOST_PP_ITERATION_5 101
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 100 && BOOST_PP_ITERATION_START_5 >= 100
-#    define BOOST_PP_ITERATION_5 100
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 100 && NDNBOOST_PP_ITERATION_START_5 >= 100
+#    define NDNBOOST_PP_ITERATION_5 100
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 99 && BOOST_PP_ITERATION_START_5 >= 99
-#    define BOOST_PP_ITERATION_5 99
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 99 && NDNBOOST_PP_ITERATION_START_5 >= 99
+#    define NDNBOOST_PP_ITERATION_5 99
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 98 && BOOST_PP_ITERATION_START_5 >= 98
-#    define BOOST_PP_ITERATION_5 98
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 98 && NDNBOOST_PP_ITERATION_START_5 >= 98
+#    define NDNBOOST_PP_ITERATION_5 98
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 97 && BOOST_PP_ITERATION_START_5 >= 97
-#    define BOOST_PP_ITERATION_5 97
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 97 && NDNBOOST_PP_ITERATION_START_5 >= 97
+#    define NDNBOOST_PP_ITERATION_5 97
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 96 && BOOST_PP_ITERATION_START_5 >= 96
-#    define BOOST_PP_ITERATION_5 96
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 96 && NDNBOOST_PP_ITERATION_START_5 >= 96
+#    define NDNBOOST_PP_ITERATION_5 96
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 95 && BOOST_PP_ITERATION_START_5 >= 95
-#    define BOOST_PP_ITERATION_5 95
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 95 && NDNBOOST_PP_ITERATION_START_5 >= 95
+#    define NDNBOOST_PP_ITERATION_5 95
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 94 && BOOST_PP_ITERATION_START_5 >= 94
-#    define BOOST_PP_ITERATION_5 94
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 94 && NDNBOOST_PP_ITERATION_START_5 >= 94
+#    define NDNBOOST_PP_ITERATION_5 94
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 93 && BOOST_PP_ITERATION_START_5 >= 93
-#    define BOOST_PP_ITERATION_5 93
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 93 && NDNBOOST_PP_ITERATION_START_5 >= 93
+#    define NDNBOOST_PP_ITERATION_5 93
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 92 && BOOST_PP_ITERATION_START_5 >= 92
-#    define BOOST_PP_ITERATION_5 92
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 92 && NDNBOOST_PP_ITERATION_START_5 >= 92
+#    define NDNBOOST_PP_ITERATION_5 92
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 91 && BOOST_PP_ITERATION_START_5 >= 91
-#    define BOOST_PP_ITERATION_5 91
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 91 && NDNBOOST_PP_ITERATION_START_5 >= 91
+#    define NDNBOOST_PP_ITERATION_5 91
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 90 && BOOST_PP_ITERATION_START_5 >= 90
-#    define BOOST_PP_ITERATION_5 90
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 90 && NDNBOOST_PP_ITERATION_START_5 >= 90
+#    define NDNBOOST_PP_ITERATION_5 90
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 89 && BOOST_PP_ITERATION_START_5 >= 89
-#    define BOOST_PP_ITERATION_5 89
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 89 && NDNBOOST_PP_ITERATION_START_5 >= 89
+#    define NDNBOOST_PP_ITERATION_5 89
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 88 && BOOST_PP_ITERATION_START_5 >= 88
-#    define BOOST_PP_ITERATION_5 88
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 88 && NDNBOOST_PP_ITERATION_START_5 >= 88
+#    define NDNBOOST_PP_ITERATION_5 88
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 87 && BOOST_PP_ITERATION_START_5 >= 87
-#    define BOOST_PP_ITERATION_5 87
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 87 && NDNBOOST_PP_ITERATION_START_5 >= 87
+#    define NDNBOOST_PP_ITERATION_5 87
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 86 && BOOST_PP_ITERATION_START_5 >= 86
-#    define BOOST_PP_ITERATION_5 86
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 86 && NDNBOOST_PP_ITERATION_START_5 >= 86
+#    define NDNBOOST_PP_ITERATION_5 86
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 85 && BOOST_PP_ITERATION_START_5 >= 85
-#    define BOOST_PP_ITERATION_5 85
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 85 && NDNBOOST_PP_ITERATION_START_5 >= 85
+#    define NDNBOOST_PP_ITERATION_5 85
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 84 && BOOST_PP_ITERATION_START_5 >= 84
-#    define BOOST_PP_ITERATION_5 84
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 84 && NDNBOOST_PP_ITERATION_START_5 >= 84
+#    define NDNBOOST_PP_ITERATION_5 84
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 83 && BOOST_PP_ITERATION_START_5 >= 83
-#    define BOOST_PP_ITERATION_5 83
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 83 && NDNBOOST_PP_ITERATION_START_5 >= 83
+#    define NDNBOOST_PP_ITERATION_5 83
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 82 && BOOST_PP_ITERATION_START_5 >= 82
-#    define BOOST_PP_ITERATION_5 82
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 82 && NDNBOOST_PP_ITERATION_START_5 >= 82
+#    define NDNBOOST_PP_ITERATION_5 82
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 81 && BOOST_PP_ITERATION_START_5 >= 81
-#    define BOOST_PP_ITERATION_5 81
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 81 && NDNBOOST_PP_ITERATION_START_5 >= 81
+#    define NDNBOOST_PP_ITERATION_5 81
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 80 && BOOST_PP_ITERATION_START_5 >= 80
-#    define BOOST_PP_ITERATION_5 80
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 80 && NDNBOOST_PP_ITERATION_START_5 >= 80
+#    define NDNBOOST_PP_ITERATION_5 80
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 79 && BOOST_PP_ITERATION_START_5 >= 79
-#    define BOOST_PP_ITERATION_5 79
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 79 && NDNBOOST_PP_ITERATION_START_5 >= 79
+#    define NDNBOOST_PP_ITERATION_5 79
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 78 && BOOST_PP_ITERATION_START_5 >= 78
-#    define BOOST_PP_ITERATION_5 78
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 78 && NDNBOOST_PP_ITERATION_START_5 >= 78
+#    define NDNBOOST_PP_ITERATION_5 78
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 77 && BOOST_PP_ITERATION_START_5 >= 77
-#    define BOOST_PP_ITERATION_5 77
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 77 && NDNBOOST_PP_ITERATION_START_5 >= 77
+#    define NDNBOOST_PP_ITERATION_5 77
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 76 && BOOST_PP_ITERATION_START_5 >= 76
-#    define BOOST_PP_ITERATION_5 76
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 76 && NDNBOOST_PP_ITERATION_START_5 >= 76
+#    define NDNBOOST_PP_ITERATION_5 76
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 75 && BOOST_PP_ITERATION_START_5 >= 75
-#    define BOOST_PP_ITERATION_5 75
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 75 && NDNBOOST_PP_ITERATION_START_5 >= 75
+#    define NDNBOOST_PP_ITERATION_5 75
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 74 && BOOST_PP_ITERATION_START_5 >= 74
-#    define BOOST_PP_ITERATION_5 74
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 74 && NDNBOOST_PP_ITERATION_START_5 >= 74
+#    define NDNBOOST_PP_ITERATION_5 74
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 73 && BOOST_PP_ITERATION_START_5 >= 73
-#    define BOOST_PP_ITERATION_5 73
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 73 && NDNBOOST_PP_ITERATION_START_5 >= 73
+#    define NDNBOOST_PP_ITERATION_5 73
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 72 && BOOST_PP_ITERATION_START_5 >= 72
-#    define BOOST_PP_ITERATION_5 72
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 72 && NDNBOOST_PP_ITERATION_START_5 >= 72
+#    define NDNBOOST_PP_ITERATION_5 72
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 71 && BOOST_PP_ITERATION_START_5 >= 71
-#    define BOOST_PP_ITERATION_5 71
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 71 && NDNBOOST_PP_ITERATION_START_5 >= 71
+#    define NDNBOOST_PP_ITERATION_5 71
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 70 && BOOST_PP_ITERATION_START_5 >= 70
-#    define BOOST_PP_ITERATION_5 70
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 70 && NDNBOOST_PP_ITERATION_START_5 >= 70
+#    define NDNBOOST_PP_ITERATION_5 70
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 69 && BOOST_PP_ITERATION_START_5 >= 69
-#    define BOOST_PP_ITERATION_5 69
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 69 && NDNBOOST_PP_ITERATION_START_5 >= 69
+#    define NDNBOOST_PP_ITERATION_5 69
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 68 && BOOST_PP_ITERATION_START_5 >= 68
-#    define BOOST_PP_ITERATION_5 68
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 68 && NDNBOOST_PP_ITERATION_START_5 >= 68
+#    define NDNBOOST_PP_ITERATION_5 68
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 67 && BOOST_PP_ITERATION_START_5 >= 67
-#    define BOOST_PP_ITERATION_5 67
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 67 && NDNBOOST_PP_ITERATION_START_5 >= 67
+#    define NDNBOOST_PP_ITERATION_5 67
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 66 && BOOST_PP_ITERATION_START_5 >= 66
-#    define BOOST_PP_ITERATION_5 66
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 66 && NDNBOOST_PP_ITERATION_START_5 >= 66
+#    define NDNBOOST_PP_ITERATION_5 66
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 65 && BOOST_PP_ITERATION_START_5 >= 65
-#    define BOOST_PP_ITERATION_5 65
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 65 && NDNBOOST_PP_ITERATION_START_5 >= 65
+#    define NDNBOOST_PP_ITERATION_5 65
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 64 && BOOST_PP_ITERATION_START_5 >= 64
-#    define BOOST_PP_ITERATION_5 64
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 64 && NDNBOOST_PP_ITERATION_START_5 >= 64
+#    define NDNBOOST_PP_ITERATION_5 64
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 63 && BOOST_PP_ITERATION_START_5 >= 63
-#    define BOOST_PP_ITERATION_5 63
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 63 && NDNBOOST_PP_ITERATION_START_5 >= 63
+#    define NDNBOOST_PP_ITERATION_5 63
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 62 && BOOST_PP_ITERATION_START_5 >= 62
-#    define BOOST_PP_ITERATION_5 62
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 62 && NDNBOOST_PP_ITERATION_START_5 >= 62
+#    define NDNBOOST_PP_ITERATION_5 62
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 61 && BOOST_PP_ITERATION_START_5 >= 61
-#    define BOOST_PP_ITERATION_5 61
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 61 && NDNBOOST_PP_ITERATION_START_5 >= 61
+#    define NDNBOOST_PP_ITERATION_5 61
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 60 && BOOST_PP_ITERATION_START_5 >= 60
-#    define BOOST_PP_ITERATION_5 60
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 60 && NDNBOOST_PP_ITERATION_START_5 >= 60
+#    define NDNBOOST_PP_ITERATION_5 60
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 59 && BOOST_PP_ITERATION_START_5 >= 59
-#    define BOOST_PP_ITERATION_5 59
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 59 && NDNBOOST_PP_ITERATION_START_5 >= 59
+#    define NDNBOOST_PP_ITERATION_5 59
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 58 && BOOST_PP_ITERATION_START_5 >= 58
-#    define BOOST_PP_ITERATION_5 58
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 58 && NDNBOOST_PP_ITERATION_START_5 >= 58
+#    define NDNBOOST_PP_ITERATION_5 58
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 57 && BOOST_PP_ITERATION_START_5 >= 57
-#    define BOOST_PP_ITERATION_5 57
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 57 && NDNBOOST_PP_ITERATION_START_5 >= 57
+#    define NDNBOOST_PP_ITERATION_5 57
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 56 && BOOST_PP_ITERATION_START_5 >= 56
-#    define BOOST_PP_ITERATION_5 56
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 56 && NDNBOOST_PP_ITERATION_START_5 >= 56
+#    define NDNBOOST_PP_ITERATION_5 56
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 55 && BOOST_PP_ITERATION_START_5 >= 55
-#    define BOOST_PP_ITERATION_5 55
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 55 && NDNBOOST_PP_ITERATION_START_5 >= 55
+#    define NDNBOOST_PP_ITERATION_5 55
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 54 && BOOST_PP_ITERATION_START_5 >= 54
-#    define BOOST_PP_ITERATION_5 54
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 54 && NDNBOOST_PP_ITERATION_START_5 >= 54
+#    define NDNBOOST_PP_ITERATION_5 54
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 53 && BOOST_PP_ITERATION_START_5 >= 53
-#    define BOOST_PP_ITERATION_5 53
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 53 && NDNBOOST_PP_ITERATION_START_5 >= 53
+#    define NDNBOOST_PP_ITERATION_5 53
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 52 && BOOST_PP_ITERATION_START_5 >= 52
-#    define BOOST_PP_ITERATION_5 52
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 52 && NDNBOOST_PP_ITERATION_START_5 >= 52
+#    define NDNBOOST_PP_ITERATION_5 52
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 51 && BOOST_PP_ITERATION_START_5 >= 51
-#    define BOOST_PP_ITERATION_5 51
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 51 && NDNBOOST_PP_ITERATION_START_5 >= 51
+#    define NDNBOOST_PP_ITERATION_5 51
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 50 && BOOST_PP_ITERATION_START_5 >= 50
-#    define BOOST_PP_ITERATION_5 50
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 50 && NDNBOOST_PP_ITERATION_START_5 >= 50
+#    define NDNBOOST_PP_ITERATION_5 50
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 49 && BOOST_PP_ITERATION_START_5 >= 49
-#    define BOOST_PP_ITERATION_5 49
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 49 && NDNBOOST_PP_ITERATION_START_5 >= 49
+#    define NDNBOOST_PP_ITERATION_5 49
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 48 && BOOST_PP_ITERATION_START_5 >= 48
-#    define BOOST_PP_ITERATION_5 48
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 48 && NDNBOOST_PP_ITERATION_START_5 >= 48
+#    define NDNBOOST_PP_ITERATION_5 48
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 47 && BOOST_PP_ITERATION_START_5 >= 47
-#    define BOOST_PP_ITERATION_5 47
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 47 && NDNBOOST_PP_ITERATION_START_5 >= 47
+#    define NDNBOOST_PP_ITERATION_5 47
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 46 && BOOST_PP_ITERATION_START_5 >= 46
-#    define BOOST_PP_ITERATION_5 46
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 46 && NDNBOOST_PP_ITERATION_START_5 >= 46
+#    define NDNBOOST_PP_ITERATION_5 46
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 45 && BOOST_PP_ITERATION_START_5 >= 45
-#    define BOOST_PP_ITERATION_5 45
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 45 && NDNBOOST_PP_ITERATION_START_5 >= 45
+#    define NDNBOOST_PP_ITERATION_5 45
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 44 && BOOST_PP_ITERATION_START_5 >= 44
-#    define BOOST_PP_ITERATION_5 44
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 44 && NDNBOOST_PP_ITERATION_START_5 >= 44
+#    define NDNBOOST_PP_ITERATION_5 44
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 43 && BOOST_PP_ITERATION_START_5 >= 43
-#    define BOOST_PP_ITERATION_5 43
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 43 && NDNBOOST_PP_ITERATION_START_5 >= 43
+#    define NDNBOOST_PP_ITERATION_5 43
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 42 && BOOST_PP_ITERATION_START_5 >= 42
-#    define BOOST_PP_ITERATION_5 42
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 42 && NDNBOOST_PP_ITERATION_START_5 >= 42
+#    define NDNBOOST_PP_ITERATION_5 42
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 41 && BOOST_PP_ITERATION_START_5 >= 41
-#    define BOOST_PP_ITERATION_5 41
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 41 && NDNBOOST_PP_ITERATION_START_5 >= 41
+#    define NDNBOOST_PP_ITERATION_5 41
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 40 && BOOST_PP_ITERATION_START_5 >= 40
-#    define BOOST_PP_ITERATION_5 40
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 40 && NDNBOOST_PP_ITERATION_START_5 >= 40
+#    define NDNBOOST_PP_ITERATION_5 40
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 39 && BOOST_PP_ITERATION_START_5 >= 39
-#    define BOOST_PP_ITERATION_5 39
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 39 && NDNBOOST_PP_ITERATION_START_5 >= 39
+#    define NDNBOOST_PP_ITERATION_5 39
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 38 && BOOST_PP_ITERATION_START_5 >= 38
-#    define BOOST_PP_ITERATION_5 38
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 38 && NDNBOOST_PP_ITERATION_START_5 >= 38
+#    define NDNBOOST_PP_ITERATION_5 38
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 37 && BOOST_PP_ITERATION_START_5 >= 37
-#    define BOOST_PP_ITERATION_5 37
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 37 && NDNBOOST_PP_ITERATION_START_5 >= 37
+#    define NDNBOOST_PP_ITERATION_5 37
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 36 && BOOST_PP_ITERATION_START_5 >= 36
-#    define BOOST_PP_ITERATION_5 36
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 36 && NDNBOOST_PP_ITERATION_START_5 >= 36
+#    define NDNBOOST_PP_ITERATION_5 36
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 35 && BOOST_PP_ITERATION_START_5 >= 35
-#    define BOOST_PP_ITERATION_5 35
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 35 && NDNBOOST_PP_ITERATION_START_5 >= 35
+#    define NDNBOOST_PP_ITERATION_5 35
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 34 && BOOST_PP_ITERATION_START_5 >= 34
-#    define BOOST_PP_ITERATION_5 34
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 34 && NDNBOOST_PP_ITERATION_START_5 >= 34
+#    define NDNBOOST_PP_ITERATION_5 34
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 33 && BOOST_PP_ITERATION_START_5 >= 33
-#    define BOOST_PP_ITERATION_5 33
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 33 && NDNBOOST_PP_ITERATION_START_5 >= 33
+#    define NDNBOOST_PP_ITERATION_5 33
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 32 && BOOST_PP_ITERATION_START_5 >= 32
-#    define BOOST_PP_ITERATION_5 32
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 32 && NDNBOOST_PP_ITERATION_START_5 >= 32
+#    define NDNBOOST_PP_ITERATION_5 32
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 31 && BOOST_PP_ITERATION_START_5 >= 31
-#    define BOOST_PP_ITERATION_5 31
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 31 && NDNBOOST_PP_ITERATION_START_5 >= 31
+#    define NDNBOOST_PP_ITERATION_5 31
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 30 && BOOST_PP_ITERATION_START_5 >= 30
-#    define BOOST_PP_ITERATION_5 30
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 30 && NDNBOOST_PP_ITERATION_START_5 >= 30
+#    define NDNBOOST_PP_ITERATION_5 30
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 29 && BOOST_PP_ITERATION_START_5 >= 29
-#    define BOOST_PP_ITERATION_5 29
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 29 && NDNBOOST_PP_ITERATION_START_5 >= 29
+#    define NDNBOOST_PP_ITERATION_5 29
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 28 && BOOST_PP_ITERATION_START_5 >= 28
-#    define BOOST_PP_ITERATION_5 28
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 28 && NDNBOOST_PP_ITERATION_START_5 >= 28
+#    define NDNBOOST_PP_ITERATION_5 28
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 27 && BOOST_PP_ITERATION_START_5 >= 27
-#    define BOOST_PP_ITERATION_5 27
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 27 && NDNBOOST_PP_ITERATION_START_5 >= 27
+#    define NDNBOOST_PP_ITERATION_5 27
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 26 && BOOST_PP_ITERATION_START_5 >= 26
-#    define BOOST_PP_ITERATION_5 26
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 26 && NDNBOOST_PP_ITERATION_START_5 >= 26
+#    define NDNBOOST_PP_ITERATION_5 26
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 25 && BOOST_PP_ITERATION_START_5 >= 25
-#    define BOOST_PP_ITERATION_5 25
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 25 && NDNBOOST_PP_ITERATION_START_5 >= 25
+#    define NDNBOOST_PP_ITERATION_5 25
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 24 && BOOST_PP_ITERATION_START_5 >= 24
-#    define BOOST_PP_ITERATION_5 24
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 24 && NDNBOOST_PP_ITERATION_START_5 >= 24
+#    define NDNBOOST_PP_ITERATION_5 24
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 23 && BOOST_PP_ITERATION_START_5 >= 23
-#    define BOOST_PP_ITERATION_5 23
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 23 && NDNBOOST_PP_ITERATION_START_5 >= 23
+#    define NDNBOOST_PP_ITERATION_5 23
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 22 && BOOST_PP_ITERATION_START_5 >= 22
-#    define BOOST_PP_ITERATION_5 22
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 22 && NDNBOOST_PP_ITERATION_START_5 >= 22
+#    define NDNBOOST_PP_ITERATION_5 22
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 21 && BOOST_PP_ITERATION_START_5 >= 21
-#    define BOOST_PP_ITERATION_5 21
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 21 && NDNBOOST_PP_ITERATION_START_5 >= 21
+#    define NDNBOOST_PP_ITERATION_5 21
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 20 && BOOST_PP_ITERATION_START_5 >= 20
-#    define BOOST_PP_ITERATION_5 20
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 20 && NDNBOOST_PP_ITERATION_START_5 >= 20
+#    define NDNBOOST_PP_ITERATION_5 20
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 19 && BOOST_PP_ITERATION_START_5 >= 19
-#    define BOOST_PP_ITERATION_5 19
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 19 && NDNBOOST_PP_ITERATION_START_5 >= 19
+#    define NDNBOOST_PP_ITERATION_5 19
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 18 && BOOST_PP_ITERATION_START_5 >= 18
-#    define BOOST_PP_ITERATION_5 18
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 18 && NDNBOOST_PP_ITERATION_START_5 >= 18
+#    define NDNBOOST_PP_ITERATION_5 18
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 17 && BOOST_PP_ITERATION_START_5 >= 17
-#    define BOOST_PP_ITERATION_5 17
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 17 && NDNBOOST_PP_ITERATION_START_5 >= 17
+#    define NDNBOOST_PP_ITERATION_5 17
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 16 && BOOST_PP_ITERATION_START_5 >= 16
-#    define BOOST_PP_ITERATION_5 16
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 16 && NDNBOOST_PP_ITERATION_START_5 >= 16
+#    define NDNBOOST_PP_ITERATION_5 16
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 15 && BOOST_PP_ITERATION_START_5 >= 15
-#    define BOOST_PP_ITERATION_5 15
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 15 && NDNBOOST_PP_ITERATION_START_5 >= 15
+#    define NDNBOOST_PP_ITERATION_5 15
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 14 && BOOST_PP_ITERATION_START_5 >= 14
-#    define BOOST_PP_ITERATION_5 14
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 14 && NDNBOOST_PP_ITERATION_START_5 >= 14
+#    define NDNBOOST_PP_ITERATION_5 14
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 13 && BOOST_PP_ITERATION_START_5 >= 13
-#    define BOOST_PP_ITERATION_5 13
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 13 && NDNBOOST_PP_ITERATION_START_5 >= 13
+#    define NDNBOOST_PP_ITERATION_5 13
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 12 && BOOST_PP_ITERATION_START_5 >= 12
-#    define BOOST_PP_ITERATION_5 12
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 12 && NDNBOOST_PP_ITERATION_START_5 >= 12
+#    define NDNBOOST_PP_ITERATION_5 12
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 11 && BOOST_PP_ITERATION_START_5 >= 11
-#    define BOOST_PP_ITERATION_5 11
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 11 && NDNBOOST_PP_ITERATION_START_5 >= 11
+#    define NDNBOOST_PP_ITERATION_5 11
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 10 && BOOST_PP_ITERATION_START_5 >= 10
-#    define BOOST_PP_ITERATION_5 10
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 10 && NDNBOOST_PP_ITERATION_START_5 >= 10
+#    define NDNBOOST_PP_ITERATION_5 10
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 9 && BOOST_PP_ITERATION_START_5 >= 9
-#    define BOOST_PP_ITERATION_5 9
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 9 && NDNBOOST_PP_ITERATION_START_5 >= 9
+#    define NDNBOOST_PP_ITERATION_5 9
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 8 && BOOST_PP_ITERATION_START_5 >= 8
-#    define BOOST_PP_ITERATION_5 8
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 8 && NDNBOOST_PP_ITERATION_START_5 >= 8
+#    define NDNBOOST_PP_ITERATION_5 8
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 7 && BOOST_PP_ITERATION_START_5 >= 7
-#    define BOOST_PP_ITERATION_5 7
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 7 && NDNBOOST_PP_ITERATION_START_5 >= 7
+#    define NDNBOOST_PP_ITERATION_5 7
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 6 && BOOST_PP_ITERATION_START_5 >= 6
-#    define BOOST_PP_ITERATION_5 6
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 6 && NDNBOOST_PP_ITERATION_START_5 >= 6
+#    define NDNBOOST_PP_ITERATION_5 6
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 5 && BOOST_PP_ITERATION_START_5 >= 5
-#    define BOOST_PP_ITERATION_5 5
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 5 && NDNBOOST_PP_ITERATION_START_5 >= 5
+#    define NDNBOOST_PP_ITERATION_5 5
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 4 && BOOST_PP_ITERATION_START_5 >= 4
-#    define BOOST_PP_ITERATION_5 4
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 4 && NDNBOOST_PP_ITERATION_START_5 >= 4
+#    define NDNBOOST_PP_ITERATION_5 4
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 3 && BOOST_PP_ITERATION_START_5 >= 3
-#    define BOOST_PP_ITERATION_5 3
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 3 && NDNBOOST_PP_ITERATION_START_5 >= 3
+#    define NDNBOOST_PP_ITERATION_5 3
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 2 && BOOST_PP_ITERATION_START_5 >= 2
-#    define BOOST_PP_ITERATION_5 2
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 2 && NDNBOOST_PP_ITERATION_START_5 >= 2
+#    define NDNBOOST_PP_ITERATION_5 2
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 1 && BOOST_PP_ITERATION_START_5 >= 1
-#    define BOOST_PP_ITERATION_5 1
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 1 && NDNBOOST_PP_ITERATION_START_5 >= 1
+#    define NDNBOOST_PP_ITERATION_5 1
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 0 && BOOST_PP_ITERATION_START_5 >= 0
-#    define BOOST_PP_ITERATION_5 0
-#    include BOOST_PP_FILENAME_5
-#    undef BOOST_PP_ITERATION_5
+# if NDNBOOST_PP_ITERATION_FINISH_5 <= 0 && NDNBOOST_PP_ITERATION_START_5 >= 0
+#    define NDNBOOST_PP_ITERATION_5 0
+#    include NDNBOOST_PP_FILENAME_5
+#    undef NDNBOOST_PP_ITERATION_5
 # endif
diff --git a/include/ndnboost/preprocessor/iteration/detail/local.hpp b/include/ndnboost/preprocessor/iteration/detail/local.hpp
index 1c79f47..1ec14a2 100644
--- a/include/ndnboost/preprocessor/iteration/detail/local.hpp
+++ b/include/ndnboost/preprocessor/iteration/detail/local.hpp
@@ -9,804 +9,804 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# if !defined(BOOST_PP_LOCAL_LIMITS)
-#    error BOOST_PP_ERROR:  local iteration boundaries are not defined
-# elif !defined(BOOST_PP_LOCAL_MACRO)
-#    error BOOST_PP_ERROR:  local iteration target macro is not defined
+# if !defined(NDNBOOST_PP_LOCAL_LIMITS)
+#    error NDNBOOST_PP_ERROR:  local iteration boundaries are not defined
+# elif !defined(NDNBOOST_PP_LOCAL_MACRO)
+#    error NDNBOOST_PP_ERROR:  local iteration target macro is not defined
 # else
-#    if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#        define BOOST_PP_LOCAL_S BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_LOCAL_LIMITS)
-#        define BOOST_PP_LOCAL_F BOOST_PP_TUPLE_ELEM(2, 1, BOOST_PP_LOCAL_LIMITS)
+#    if ~NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_EDG()
+#        define NDNBOOST_PP_LOCAL_S NDNBOOST_PP_TUPLE_ELEM(2, 0, NDNBOOST_PP_LOCAL_LIMITS)
+#        define NDNBOOST_PP_LOCAL_F NDNBOOST_PP_TUPLE_ELEM(2, 1, NDNBOOST_PP_LOCAL_LIMITS)
 #    else
-#        define BOOST_PP_VALUE BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_LOCAL_LIMITS)
+#        define NDNBOOST_PP_VALUE NDNBOOST_PP_TUPLE_ELEM(2, 0, NDNBOOST_PP_LOCAL_LIMITS)
 #        include <ndnboost/preprocessor/iteration/detail/start.hpp>
-#        define BOOST_PP_VALUE BOOST_PP_TUPLE_ELEM(2, 1, BOOST_PP_LOCAL_LIMITS)
+#        define NDNBOOST_PP_VALUE NDNBOOST_PP_TUPLE_ELEM(2, 1, NDNBOOST_PP_LOCAL_LIMITS)
 #        include <ndnboost/preprocessor/iteration/detail/finish.hpp>
-#        define BOOST_PP_LOCAL_S BOOST_PP_LOCAL_SE()
-#        define BOOST_PP_LOCAL_F BOOST_PP_LOCAL_FE()
+#        define NDNBOOST_PP_LOCAL_S NDNBOOST_PP_LOCAL_SE()
+#        define NDNBOOST_PP_LOCAL_F NDNBOOST_PP_LOCAL_FE()
 #    endif
 # endif
 #
-# if (BOOST_PP_LOCAL_S) > (BOOST_PP_LOCAL_F)
+# if (NDNBOOST_PP_LOCAL_S) > (NDNBOOST_PP_LOCAL_F)
 #    include <ndnboost/preprocessor/iteration/detail/rlocal.hpp>
 # else
-#    if BOOST_PP_LOCAL_C(0)
-        BOOST_PP_LOCAL_MACRO(0)
+#    if NDNBOOST_PP_LOCAL_C(0)
+        NDNBOOST_PP_LOCAL_MACRO(0)
 #    endif
-#    if BOOST_PP_LOCAL_C(1)
-        BOOST_PP_LOCAL_MACRO(1)
+#    if NDNBOOST_PP_LOCAL_C(1)
+        NDNBOOST_PP_LOCAL_MACRO(1)
 #    endif
-#    if BOOST_PP_LOCAL_C(2)
-        BOOST_PP_LOCAL_MACRO(2)
+#    if NDNBOOST_PP_LOCAL_C(2)
+        NDNBOOST_PP_LOCAL_MACRO(2)
 #    endif
-#    if BOOST_PP_LOCAL_C(3)
-        BOOST_PP_LOCAL_MACRO(3)
+#    if NDNBOOST_PP_LOCAL_C(3)
+        NDNBOOST_PP_LOCAL_MACRO(3)
 #    endif
-#    if BOOST_PP_LOCAL_C(4)
-        BOOST_PP_LOCAL_MACRO(4)
+#    if NDNBOOST_PP_LOCAL_C(4)
+        NDNBOOST_PP_LOCAL_MACRO(4)
 #    endif
-#    if BOOST_PP_LOCAL_C(5)
-        BOOST_PP_LOCAL_MACRO(5)
+#    if NDNBOOST_PP_LOCAL_C(5)
+        NDNBOOST_PP_LOCAL_MACRO(5)
 #    endif
-#    if BOOST_PP_LOCAL_C(6)
-        BOOST_PP_LOCAL_MACRO(6)
+#    if NDNBOOST_PP_LOCAL_C(6)
+        NDNBOOST_PP_LOCAL_MACRO(6)
 #    endif
-#    if BOOST_PP_LOCAL_C(7)
-        BOOST_PP_LOCAL_MACRO(7)
+#    if NDNBOOST_PP_LOCAL_C(7)
+        NDNBOOST_PP_LOCAL_MACRO(7)
 #    endif
-#    if BOOST_PP_LOCAL_C(8)
-        BOOST_PP_LOCAL_MACRO(8)
+#    if NDNBOOST_PP_LOCAL_C(8)
+        NDNBOOST_PP_LOCAL_MACRO(8)
 #    endif
-#    if BOOST_PP_LOCAL_C(9)
-        BOOST_PP_LOCAL_MACRO(9)
+#    if NDNBOOST_PP_LOCAL_C(9)
+        NDNBOOST_PP_LOCAL_MACRO(9)
 #    endif
-#    if BOOST_PP_LOCAL_C(10)
-        BOOST_PP_LOCAL_MACRO(10)
+#    if NDNBOOST_PP_LOCAL_C(10)
+        NDNBOOST_PP_LOCAL_MACRO(10)
 #    endif
-#    if BOOST_PP_LOCAL_C(11)
-        BOOST_PP_LOCAL_MACRO(11)
+#    if NDNBOOST_PP_LOCAL_C(11)
+        NDNBOOST_PP_LOCAL_MACRO(11)
 #    endif
-#    if BOOST_PP_LOCAL_C(12)
-        BOOST_PP_LOCAL_MACRO(12)
+#    if NDNBOOST_PP_LOCAL_C(12)
+        NDNBOOST_PP_LOCAL_MACRO(12)
 #    endif
-#    if BOOST_PP_LOCAL_C(13)
-        BOOST_PP_LOCAL_MACRO(13)
+#    if NDNBOOST_PP_LOCAL_C(13)
+        NDNBOOST_PP_LOCAL_MACRO(13)
 #    endif
-#    if BOOST_PP_LOCAL_C(14)
-        BOOST_PP_LOCAL_MACRO(14)
+#    if NDNBOOST_PP_LOCAL_C(14)
+        NDNBOOST_PP_LOCAL_MACRO(14)
 #    endif
-#    if BOOST_PP_LOCAL_C(15)
-        BOOST_PP_LOCAL_MACRO(15)
+#    if NDNBOOST_PP_LOCAL_C(15)
+        NDNBOOST_PP_LOCAL_MACRO(15)
 #    endif
-#    if BOOST_PP_LOCAL_C(16)
-        BOOST_PP_LOCAL_MACRO(16)
+#    if NDNBOOST_PP_LOCAL_C(16)
+        NDNBOOST_PP_LOCAL_MACRO(16)
 #    endif
-#    if BOOST_PP_LOCAL_C(17)
-        BOOST_PP_LOCAL_MACRO(17)
+#    if NDNBOOST_PP_LOCAL_C(17)
+        NDNBOOST_PP_LOCAL_MACRO(17)
 #    endif
-#    if BOOST_PP_LOCAL_C(18)
-        BOOST_PP_LOCAL_MACRO(18)
+#    if NDNBOOST_PP_LOCAL_C(18)
+        NDNBOOST_PP_LOCAL_MACRO(18)
 #    endif
-#    if BOOST_PP_LOCAL_C(19)
-        BOOST_PP_LOCAL_MACRO(19)
+#    if NDNBOOST_PP_LOCAL_C(19)
+        NDNBOOST_PP_LOCAL_MACRO(19)
 #    endif
-#    if BOOST_PP_LOCAL_C(20)
-        BOOST_PP_LOCAL_MACRO(20)
+#    if NDNBOOST_PP_LOCAL_C(20)
+        NDNBOOST_PP_LOCAL_MACRO(20)
 #    endif
-#    if BOOST_PP_LOCAL_C(21)
-        BOOST_PP_LOCAL_MACRO(21)
+#    if NDNBOOST_PP_LOCAL_C(21)
+        NDNBOOST_PP_LOCAL_MACRO(21)
 #    endif
-#    if BOOST_PP_LOCAL_C(22)
-        BOOST_PP_LOCAL_MACRO(22)
+#    if NDNBOOST_PP_LOCAL_C(22)
+        NDNBOOST_PP_LOCAL_MACRO(22)
 #    endif
-#    if BOOST_PP_LOCAL_C(23)
-        BOOST_PP_LOCAL_MACRO(23)
+#    if NDNBOOST_PP_LOCAL_C(23)
+        NDNBOOST_PP_LOCAL_MACRO(23)
 #    endif
-#    if BOOST_PP_LOCAL_C(24)
-        BOOST_PP_LOCAL_MACRO(24)
+#    if NDNBOOST_PP_LOCAL_C(24)
+        NDNBOOST_PP_LOCAL_MACRO(24)
 #    endif
-#    if BOOST_PP_LOCAL_C(25)
-        BOOST_PP_LOCAL_MACRO(25)
+#    if NDNBOOST_PP_LOCAL_C(25)
+        NDNBOOST_PP_LOCAL_MACRO(25)
 #    endif
-#    if BOOST_PP_LOCAL_C(26)
-        BOOST_PP_LOCAL_MACRO(26)
+#    if NDNBOOST_PP_LOCAL_C(26)
+        NDNBOOST_PP_LOCAL_MACRO(26)
 #    endif
-#    if BOOST_PP_LOCAL_C(27)
-        BOOST_PP_LOCAL_MACRO(27)
+#    if NDNBOOST_PP_LOCAL_C(27)
+        NDNBOOST_PP_LOCAL_MACRO(27)
 #    endif
-#    if BOOST_PP_LOCAL_C(28)
-        BOOST_PP_LOCAL_MACRO(28)
+#    if NDNBOOST_PP_LOCAL_C(28)
+        NDNBOOST_PP_LOCAL_MACRO(28)
 #    endif
-#    if BOOST_PP_LOCAL_C(29)
-        BOOST_PP_LOCAL_MACRO(29)
+#    if NDNBOOST_PP_LOCAL_C(29)
+        NDNBOOST_PP_LOCAL_MACRO(29)
 #    endif
-#    if BOOST_PP_LOCAL_C(30)
-        BOOST_PP_LOCAL_MACRO(30)
+#    if NDNBOOST_PP_LOCAL_C(30)
+        NDNBOOST_PP_LOCAL_MACRO(30)
 #    endif
-#    if BOOST_PP_LOCAL_C(31)
-        BOOST_PP_LOCAL_MACRO(31)
+#    if NDNBOOST_PP_LOCAL_C(31)
+        NDNBOOST_PP_LOCAL_MACRO(31)
 #    endif
-#    if BOOST_PP_LOCAL_C(32)
-        BOOST_PP_LOCAL_MACRO(32)
+#    if NDNBOOST_PP_LOCAL_C(32)
+        NDNBOOST_PP_LOCAL_MACRO(32)
 #    endif
-#    if BOOST_PP_LOCAL_C(33)
-        BOOST_PP_LOCAL_MACRO(33)
+#    if NDNBOOST_PP_LOCAL_C(33)
+        NDNBOOST_PP_LOCAL_MACRO(33)
 #    endif
-#    if BOOST_PP_LOCAL_C(34)
-        BOOST_PP_LOCAL_MACRO(34)
+#    if NDNBOOST_PP_LOCAL_C(34)
+        NDNBOOST_PP_LOCAL_MACRO(34)
 #    endif
-#    if BOOST_PP_LOCAL_C(35)
-        BOOST_PP_LOCAL_MACRO(35)
+#    if NDNBOOST_PP_LOCAL_C(35)
+        NDNBOOST_PP_LOCAL_MACRO(35)
 #    endif
-#    if BOOST_PP_LOCAL_C(36)
-        BOOST_PP_LOCAL_MACRO(36)
+#    if NDNBOOST_PP_LOCAL_C(36)
+        NDNBOOST_PP_LOCAL_MACRO(36)
 #    endif
-#    if BOOST_PP_LOCAL_C(37)
-        BOOST_PP_LOCAL_MACRO(37)
+#    if NDNBOOST_PP_LOCAL_C(37)
+        NDNBOOST_PP_LOCAL_MACRO(37)
 #    endif
-#    if BOOST_PP_LOCAL_C(38)
-        BOOST_PP_LOCAL_MACRO(38)
+#    if NDNBOOST_PP_LOCAL_C(38)
+        NDNBOOST_PP_LOCAL_MACRO(38)
 #    endif
-#    if BOOST_PP_LOCAL_C(39)
-        BOOST_PP_LOCAL_MACRO(39)
+#    if NDNBOOST_PP_LOCAL_C(39)
+        NDNBOOST_PP_LOCAL_MACRO(39)
 #    endif
-#    if BOOST_PP_LOCAL_C(40)
-        BOOST_PP_LOCAL_MACRO(40)
+#    if NDNBOOST_PP_LOCAL_C(40)
+        NDNBOOST_PP_LOCAL_MACRO(40)
 #    endif
-#    if BOOST_PP_LOCAL_C(41)
-        BOOST_PP_LOCAL_MACRO(41)
+#    if NDNBOOST_PP_LOCAL_C(41)
+        NDNBOOST_PP_LOCAL_MACRO(41)
 #    endif
-#    if BOOST_PP_LOCAL_C(42)
-        BOOST_PP_LOCAL_MACRO(42)
+#    if NDNBOOST_PP_LOCAL_C(42)
+        NDNBOOST_PP_LOCAL_MACRO(42)
 #    endif
-#    if BOOST_PP_LOCAL_C(43)
-        BOOST_PP_LOCAL_MACRO(43)
+#    if NDNBOOST_PP_LOCAL_C(43)
+        NDNBOOST_PP_LOCAL_MACRO(43)
 #    endif
-#    if BOOST_PP_LOCAL_C(44)
-        BOOST_PP_LOCAL_MACRO(44)
+#    if NDNBOOST_PP_LOCAL_C(44)
+        NDNBOOST_PP_LOCAL_MACRO(44)
 #    endif
-#    if BOOST_PP_LOCAL_C(45)
-        BOOST_PP_LOCAL_MACRO(45)
+#    if NDNBOOST_PP_LOCAL_C(45)
+        NDNBOOST_PP_LOCAL_MACRO(45)
 #    endif
-#    if BOOST_PP_LOCAL_C(46)
-        BOOST_PP_LOCAL_MACRO(46)
+#    if NDNBOOST_PP_LOCAL_C(46)
+        NDNBOOST_PP_LOCAL_MACRO(46)
 #    endif
-#    if BOOST_PP_LOCAL_C(47)
-        BOOST_PP_LOCAL_MACRO(47)
+#    if NDNBOOST_PP_LOCAL_C(47)
+        NDNBOOST_PP_LOCAL_MACRO(47)
 #    endif
-#    if BOOST_PP_LOCAL_C(48)
-        BOOST_PP_LOCAL_MACRO(48)
+#    if NDNBOOST_PP_LOCAL_C(48)
+        NDNBOOST_PP_LOCAL_MACRO(48)
 #    endif
-#    if BOOST_PP_LOCAL_C(49)
-        BOOST_PP_LOCAL_MACRO(49)
+#    if NDNBOOST_PP_LOCAL_C(49)
+        NDNBOOST_PP_LOCAL_MACRO(49)
 #    endif
-#    if BOOST_PP_LOCAL_C(50)
-        BOOST_PP_LOCAL_MACRO(50)
+#    if NDNBOOST_PP_LOCAL_C(50)
+        NDNBOOST_PP_LOCAL_MACRO(50)
 #    endif
-#    if BOOST_PP_LOCAL_C(51)
-        BOOST_PP_LOCAL_MACRO(51)
+#    if NDNBOOST_PP_LOCAL_C(51)
+        NDNBOOST_PP_LOCAL_MACRO(51)
 #    endif
-#    if BOOST_PP_LOCAL_C(52)
-        BOOST_PP_LOCAL_MACRO(52)
+#    if NDNBOOST_PP_LOCAL_C(52)
+        NDNBOOST_PP_LOCAL_MACRO(52)
 #    endif
-#    if BOOST_PP_LOCAL_C(53)
-        BOOST_PP_LOCAL_MACRO(53)
+#    if NDNBOOST_PP_LOCAL_C(53)
+        NDNBOOST_PP_LOCAL_MACRO(53)
 #    endif
-#    if BOOST_PP_LOCAL_C(54)
-        BOOST_PP_LOCAL_MACRO(54)
+#    if NDNBOOST_PP_LOCAL_C(54)
+        NDNBOOST_PP_LOCAL_MACRO(54)
 #    endif
-#    if BOOST_PP_LOCAL_C(55)
-        BOOST_PP_LOCAL_MACRO(55)
+#    if NDNBOOST_PP_LOCAL_C(55)
+        NDNBOOST_PP_LOCAL_MACRO(55)
 #    endif
-#    if BOOST_PP_LOCAL_C(56)
-        BOOST_PP_LOCAL_MACRO(56)
+#    if NDNBOOST_PP_LOCAL_C(56)
+        NDNBOOST_PP_LOCAL_MACRO(56)
 #    endif
-#    if BOOST_PP_LOCAL_C(57)
-        BOOST_PP_LOCAL_MACRO(57)
+#    if NDNBOOST_PP_LOCAL_C(57)
+        NDNBOOST_PP_LOCAL_MACRO(57)
 #    endif
-#    if BOOST_PP_LOCAL_C(58)
-        BOOST_PP_LOCAL_MACRO(58)
+#    if NDNBOOST_PP_LOCAL_C(58)
+        NDNBOOST_PP_LOCAL_MACRO(58)
 #    endif
-#    if BOOST_PP_LOCAL_C(59)
-        BOOST_PP_LOCAL_MACRO(59)
+#    if NDNBOOST_PP_LOCAL_C(59)
+        NDNBOOST_PP_LOCAL_MACRO(59)
 #    endif
-#    if BOOST_PP_LOCAL_C(60)
-        BOOST_PP_LOCAL_MACRO(60)
+#    if NDNBOOST_PP_LOCAL_C(60)
+        NDNBOOST_PP_LOCAL_MACRO(60)
 #    endif
-#    if BOOST_PP_LOCAL_C(61)
-        BOOST_PP_LOCAL_MACRO(61)
+#    if NDNBOOST_PP_LOCAL_C(61)
+        NDNBOOST_PP_LOCAL_MACRO(61)
 #    endif
-#    if BOOST_PP_LOCAL_C(62)
-        BOOST_PP_LOCAL_MACRO(62)
+#    if NDNBOOST_PP_LOCAL_C(62)
+        NDNBOOST_PP_LOCAL_MACRO(62)
 #    endif
-#    if BOOST_PP_LOCAL_C(63)
-        BOOST_PP_LOCAL_MACRO(63)
+#    if NDNBOOST_PP_LOCAL_C(63)
+        NDNBOOST_PP_LOCAL_MACRO(63)
 #    endif
-#    if BOOST_PP_LOCAL_C(64)
-        BOOST_PP_LOCAL_MACRO(64)
+#    if NDNBOOST_PP_LOCAL_C(64)
+        NDNBOOST_PP_LOCAL_MACRO(64)
 #    endif
-#    if BOOST_PP_LOCAL_C(65)
-        BOOST_PP_LOCAL_MACRO(65)
+#    if NDNBOOST_PP_LOCAL_C(65)
+        NDNBOOST_PP_LOCAL_MACRO(65)
 #    endif
-#    if BOOST_PP_LOCAL_C(66)
-        BOOST_PP_LOCAL_MACRO(66)
+#    if NDNBOOST_PP_LOCAL_C(66)
+        NDNBOOST_PP_LOCAL_MACRO(66)
 #    endif
-#    if BOOST_PP_LOCAL_C(67)
-        BOOST_PP_LOCAL_MACRO(67)
+#    if NDNBOOST_PP_LOCAL_C(67)
+        NDNBOOST_PP_LOCAL_MACRO(67)
 #    endif
-#    if BOOST_PP_LOCAL_C(68)
-        BOOST_PP_LOCAL_MACRO(68)
+#    if NDNBOOST_PP_LOCAL_C(68)
+        NDNBOOST_PP_LOCAL_MACRO(68)
 #    endif
-#    if BOOST_PP_LOCAL_C(69)
-        BOOST_PP_LOCAL_MACRO(69)
+#    if NDNBOOST_PP_LOCAL_C(69)
+        NDNBOOST_PP_LOCAL_MACRO(69)
 #    endif
-#    if BOOST_PP_LOCAL_C(70)
-        BOOST_PP_LOCAL_MACRO(70)
+#    if NDNBOOST_PP_LOCAL_C(70)
+        NDNBOOST_PP_LOCAL_MACRO(70)
 #    endif
-#    if BOOST_PP_LOCAL_C(71)
-        BOOST_PP_LOCAL_MACRO(71)
+#    if NDNBOOST_PP_LOCAL_C(71)
+        NDNBOOST_PP_LOCAL_MACRO(71)
 #    endif
-#    if BOOST_PP_LOCAL_C(72)
-        BOOST_PP_LOCAL_MACRO(72)
+#    if NDNBOOST_PP_LOCAL_C(72)
+        NDNBOOST_PP_LOCAL_MACRO(72)
 #    endif
-#    if BOOST_PP_LOCAL_C(73)
-        BOOST_PP_LOCAL_MACRO(73)
+#    if NDNBOOST_PP_LOCAL_C(73)
+        NDNBOOST_PP_LOCAL_MACRO(73)
 #    endif
-#    if BOOST_PP_LOCAL_C(74)
-        BOOST_PP_LOCAL_MACRO(74)
+#    if NDNBOOST_PP_LOCAL_C(74)
+        NDNBOOST_PP_LOCAL_MACRO(74)
 #    endif
-#    if BOOST_PP_LOCAL_C(75)
-        BOOST_PP_LOCAL_MACRO(75)
+#    if NDNBOOST_PP_LOCAL_C(75)
+        NDNBOOST_PP_LOCAL_MACRO(75)
 #    endif
-#    if BOOST_PP_LOCAL_C(76)
-        BOOST_PP_LOCAL_MACRO(76)
+#    if NDNBOOST_PP_LOCAL_C(76)
+        NDNBOOST_PP_LOCAL_MACRO(76)
 #    endif
-#    if BOOST_PP_LOCAL_C(77)
-        BOOST_PP_LOCAL_MACRO(77)
+#    if NDNBOOST_PP_LOCAL_C(77)
+        NDNBOOST_PP_LOCAL_MACRO(77)
 #    endif
-#    if BOOST_PP_LOCAL_C(78)
-        BOOST_PP_LOCAL_MACRO(78)
+#    if NDNBOOST_PP_LOCAL_C(78)
+        NDNBOOST_PP_LOCAL_MACRO(78)
 #    endif
-#    if BOOST_PP_LOCAL_C(79)
-        BOOST_PP_LOCAL_MACRO(79)
+#    if NDNBOOST_PP_LOCAL_C(79)
+        NDNBOOST_PP_LOCAL_MACRO(79)
 #    endif
-#    if BOOST_PP_LOCAL_C(80)
-        BOOST_PP_LOCAL_MACRO(80)
+#    if NDNBOOST_PP_LOCAL_C(80)
+        NDNBOOST_PP_LOCAL_MACRO(80)
 #    endif
-#    if BOOST_PP_LOCAL_C(81)
-        BOOST_PP_LOCAL_MACRO(81)
+#    if NDNBOOST_PP_LOCAL_C(81)
+        NDNBOOST_PP_LOCAL_MACRO(81)
 #    endif
-#    if BOOST_PP_LOCAL_C(82)
-        BOOST_PP_LOCAL_MACRO(82)
+#    if NDNBOOST_PP_LOCAL_C(82)
+        NDNBOOST_PP_LOCAL_MACRO(82)
 #    endif
-#    if BOOST_PP_LOCAL_C(83)
-        BOOST_PP_LOCAL_MACRO(83)
+#    if NDNBOOST_PP_LOCAL_C(83)
+        NDNBOOST_PP_LOCAL_MACRO(83)
 #    endif
-#    if BOOST_PP_LOCAL_C(84)
-        BOOST_PP_LOCAL_MACRO(84)
+#    if NDNBOOST_PP_LOCAL_C(84)
+        NDNBOOST_PP_LOCAL_MACRO(84)
 #    endif
-#    if BOOST_PP_LOCAL_C(85)
-        BOOST_PP_LOCAL_MACRO(85)
+#    if NDNBOOST_PP_LOCAL_C(85)
+        NDNBOOST_PP_LOCAL_MACRO(85)
 #    endif
-#    if BOOST_PP_LOCAL_C(86)
-        BOOST_PP_LOCAL_MACRO(86)
+#    if NDNBOOST_PP_LOCAL_C(86)
+        NDNBOOST_PP_LOCAL_MACRO(86)
 #    endif
-#    if BOOST_PP_LOCAL_C(87)
-        BOOST_PP_LOCAL_MACRO(87)
+#    if NDNBOOST_PP_LOCAL_C(87)
+        NDNBOOST_PP_LOCAL_MACRO(87)
 #    endif
-#    if BOOST_PP_LOCAL_C(88)
-        BOOST_PP_LOCAL_MACRO(88)
+#    if NDNBOOST_PP_LOCAL_C(88)
+        NDNBOOST_PP_LOCAL_MACRO(88)
 #    endif
-#    if BOOST_PP_LOCAL_C(89)
-        BOOST_PP_LOCAL_MACRO(89)
+#    if NDNBOOST_PP_LOCAL_C(89)
+        NDNBOOST_PP_LOCAL_MACRO(89)
 #    endif
-#    if BOOST_PP_LOCAL_C(90)
-        BOOST_PP_LOCAL_MACRO(90)
+#    if NDNBOOST_PP_LOCAL_C(90)
+        NDNBOOST_PP_LOCAL_MACRO(90)
 #    endif
-#    if BOOST_PP_LOCAL_C(91)
-        BOOST_PP_LOCAL_MACRO(91)
+#    if NDNBOOST_PP_LOCAL_C(91)
+        NDNBOOST_PP_LOCAL_MACRO(91)
 #    endif
-#    if BOOST_PP_LOCAL_C(92)
-        BOOST_PP_LOCAL_MACRO(92)
+#    if NDNBOOST_PP_LOCAL_C(92)
+        NDNBOOST_PP_LOCAL_MACRO(92)
 #    endif
-#    if BOOST_PP_LOCAL_C(93)
-        BOOST_PP_LOCAL_MACRO(93)
+#    if NDNBOOST_PP_LOCAL_C(93)
+        NDNBOOST_PP_LOCAL_MACRO(93)
 #    endif
-#    if BOOST_PP_LOCAL_C(94)
-        BOOST_PP_LOCAL_MACRO(94)
+#    if NDNBOOST_PP_LOCAL_C(94)
+        NDNBOOST_PP_LOCAL_MACRO(94)
 #    endif
-#    if BOOST_PP_LOCAL_C(95)
-        BOOST_PP_LOCAL_MACRO(95)
+#    if NDNBOOST_PP_LOCAL_C(95)
+        NDNBOOST_PP_LOCAL_MACRO(95)
 #    endif
-#    if BOOST_PP_LOCAL_C(96)
-        BOOST_PP_LOCAL_MACRO(96)
+#    if NDNBOOST_PP_LOCAL_C(96)
+        NDNBOOST_PP_LOCAL_MACRO(96)
 #    endif
-#    if BOOST_PP_LOCAL_C(97)
-        BOOST_PP_LOCAL_MACRO(97)
+#    if NDNBOOST_PP_LOCAL_C(97)
+        NDNBOOST_PP_LOCAL_MACRO(97)
 #    endif
-#    if BOOST_PP_LOCAL_C(98)
-        BOOST_PP_LOCAL_MACRO(98)
+#    if NDNBOOST_PP_LOCAL_C(98)
+        NDNBOOST_PP_LOCAL_MACRO(98)
 #    endif
-#    if BOOST_PP_LOCAL_C(99)
-        BOOST_PP_LOCAL_MACRO(99)
+#    if NDNBOOST_PP_LOCAL_C(99)
+        NDNBOOST_PP_LOCAL_MACRO(99)
 #    endif
-#    if BOOST_PP_LOCAL_C(100)
-        BOOST_PP_LOCAL_MACRO(100)
+#    if NDNBOOST_PP_LOCAL_C(100)
+        NDNBOOST_PP_LOCAL_MACRO(100)
 #    endif
-#    if BOOST_PP_LOCAL_C(101)
-        BOOST_PP_LOCAL_MACRO(101)
+#    if NDNBOOST_PP_LOCAL_C(101)
+        NDNBOOST_PP_LOCAL_MACRO(101)
 #    endif
-#    if BOOST_PP_LOCAL_C(102)
-        BOOST_PP_LOCAL_MACRO(102)
+#    if NDNBOOST_PP_LOCAL_C(102)
+        NDNBOOST_PP_LOCAL_MACRO(102)
 #    endif
-#    if BOOST_PP_LOCAL_C(103)
-        BOOST_PP_LOCAL_MACRO(103)
+#    if NDNBOOST_PP_LOCAL_C(103)
+        NDNBOOST_PP_LOCAL_MACRO(103)
 #    endif
-#    if BOOST_PP_LOCAL_C(104)
-        BOOST_PP_LOCAL_MACRO(104)
+#    if NDNBOOST_PP_LOCAL_C(104)
+        NDNBOOST_PP_LOCAL_MACRO(104)
 #    endif
-#    if BOOST_PP_LOCAL_C(105)
-        BOOST_PP_LOCAL_MACRO(105)
+#    if NDNBOOST_PP_LOCAL_C(105)
+        NDNBOOST_PP_LOCAL_MACRO(105)
 #    endif
-#    if BOOST_PP_LOCAL_C(106)
-        BOOST_PP_LOCAL_MACRO(106)
+#    if NDNBOOST_PP_LOCAL_C(106)
+        NDNBOOST_PP_LOCAL_MACRO(106)
 #    endif
-#    if BOOST_PP_LOCAL_C(107)
-        BOOST_PP_LOCAL_MACRO(107)
+#    if NDNBOOST_PP_LOCAL_C(107)
+        NDNBOOST_PP_LOCAL_MACRO(107)
 #    endif
-#    if BOOST_PP_LOCAL_C(108)
-        BOOST_PP_LOCAL_MACRO(108)
+#    if NDNBOOST_PP_LOCAL_C(108)
+        NDNBOOST_PP_LOCAL_MACRO(108)
 #    endif
-#    if BOOST_PP_LOCAL_C(109)
-        BOOST_PP_LOCAL_MACRO(109)
+#    if NDNBOOST_PP_LOCAL_C(109)
+        NDNBOOST_PP_LOCAL_MACRO(109)
 #    endif
-#    if BOOST_PP_LOCAL_C(110)
-        BOOST_PP_LOCAL_MACRO(110)
+#    if NDNBOOST_PP_LOCAL_C(110)
+        NDNBOOST_PP_LOCAL_MACRO(110)
 #    endif
-#    if BOOST_PP_LOCAL_C(111)
-        BOOST_PP_LOCAL_MACRO(111)
+#    if NDNBOOST_PP_LOCAL_C(111)
+        NDNBOOST_PP_LOCAL_MACRO(111)
 #    endif
-#    if BOOST_PP_LOCAL_C(112)
-        BOOST_PP_LOCAL_MACRO(112)
+#    if NDNBOOST_PP_LOCAL_C(112)
+        NDNBOOST_PP_LOCAL_MACRO(112)
 #    endif
-#    if BOOST_PP_LOCAL_C(113)
-        BOOST_PP_LOCAL_MACRO(113)
+#    if NDNBOOST_PP_LOCAL_C(113)
+        NDNBOOST_PP_LOCAL_MACRO(113)
 #    endif
-#    if BOOST_PP_LOCAL_C(114)
-        BOOST_PP_LOCAL_MACRO(114)
+#    if NDNBOOST_PP_LOCAL_C(114)
+        NDNBOOST_PP_LOCAL_MACRO(114)
 #    endif
-#    if BOOST_PP_LOCAL_C(115)
-        BOOST_PP_LOCAL_MACRO(115)
+#    if NDNBOOST_PP_LOCAL_C(115)
+        NDNBOOST_PP_LOCAL_MACRO(115)
 #    endif
-#    if BOOST_PP_LOCAL_C(116)
-        BOOST_PP_LOCAL_MACRO(116)
+#    if NDNBOOST_PP_LOCAL_C(116)
+        NDNBOOST_PP_LOCAL_MACRO(116)
 #    endif
-#    if BOOST_PP_LOCAL_C(117)
-        BOOST_PP_LOCAL_MACRO(117)
+#    if NDNBOOST_PP_LOCAL_C(117)
+        NDNBOOST_PP_LOCAL_MACRO(117)
 #    endif
-#    if BOOST_PP_LOCAL_C(118)
-        BOOST_PP_LOCAL_MACRO(118)
+#    if NDNBOOST_PP_LOCAL_C(118)
+        NDNBOOST_PP_LOCAL_MACRO(118)
 #    endif
-#    if BOOST_PP_LOCAL_C(119)
-        BOOST_PP_LOCAL_MACRO(119)
+#    if NDNBOOST_PP_LOCAL_C(119)
+        NDNBOOST_PP_LOCAL_MACRO(119)
 #    endif
-#    if BOOST_PP_LOCAL_C(120)
-        BOOST_PP_LOCAL_MACRO(120)
+#    if NDNBOOST_PP_LOCAL_C(120)
+        NDNBOOST_PP_LOCAL_MACRO(120)
 #    endif
-#    if BOOST_PP_LOCAL_C(121)
-        BOOST_PP_LOCAL_MACRO(121)
+#    if NDNBOOST_PP_LOCAL_C(121)
+        NDNBOOST_PP_LOCAL_MACRO(121)
 #    endif
-#    if BOOST_PP_LOCAL_C(122)
-        BOOST_PP_LOCAL_MACRO(122)
+#    if NDNBOOST_PP_LOCAL_C(122)
+        NDNBOOST_PP_LOCAL_MACRO(122)
 #    endif
-#    if BOOST_PP_LOCAL_C(123)
-        BOOST_PP_LOCAL_MACRO(123)
+#    if NDNBOOST_PP_LOCAL_C(123)
+        NDNBOOST_PP_LOCAL_MACRO(123)
 #    endif
-#    if BOOST_PP_LOCAL_C(124)
-        BOOST_PP_LOCAL_MACRO(124)
+#    if NDNBOOST_PP_LOCAL_C(124)
+        NDNBOOST_PP_LOCAL_MACRO(124)
 #    endif
-#    if BOOST_PP_LOCAL_C(125)
-        BOOST_PP_LOCAL_MACRO(125)
+#    if NDNBOOST_PP_LOCAL_C(125)
+        NDNBOOST_PP_LOCAL_MACRO(125)
 #    endif
-#    if BOOST_PP_LOCAL_C(126)
-        BOOST_PP_LOCAL_MACRO(126)
+#    if NDNBOOST_PP_LOCAL_C(126)
+        NDNBOOST_PP_LOCAL_MACRO(126)
 #    endif
-#    if BOOST_PP_LOCAL_C(127)
-        BOOST_PP_LOCAL_MACRO(127)
+#    if NDNBOOST_PP_LOCAL_C(127)
+        NDNBOOST_PP_LOCAL_MACRO(127)
 #    endif
-#    if BOOST_PP_LOCAL_C(128)
-        BOOST_PP_LOCAL_MACRO(128)
+#    if NDNBOOST_PP_LOCAL_C(128)
+        NDNBOOST_PP_LOCAL_MACRO(128)
 #    endif
-#    if BOOST_PP_LOCAL_C(129)
-        BOOST_PP_LOCAL_MACRO(129)
+#    if NDNBOOST_PP_LOCAL_C(129)
+        NDNBOOST_PP_LOCAL_MACRO(129)
 #    endif
-#    if BOOST_PP_LOCAL_C(130)
-        BOOST_PP_LOCAL_MACRO(130)
+#    if NDNBOOST_PP_LOCAL_C(130)
+        NDNBOOST_PP_LOCAL_MACRO(130)
 #    endif
-#    if BOOST_PP_LOCAL_C(131)
-        BOOST_PP_LOCAL_MACRO(131)
+#    if NDNBOOST_PP_LOCAL_C(131)
+        NDNBOOST_PP_LOCAL_MACRO(131)
 #    endif
-#    if BOOST_PP_LOCAL_C(132)
-        BOOST_PP_LOCAL_MACRO(132)
+#    if NDNBOOST_PP_LOCAL_C(132)
+        NDNBOOST_PP_LOCAL_MACRO(132)
 #    endif
-#    if BOOST_PP_LOCAL_C(133)
-        BOOST_PP_LOCAL_MACRO(133)
+#    if NDNBOOST_PP_LOCAL_C(133)
+        NDNBOOST_PP_LOCAL_MACRO(133)
 #    endif
-#    if BOOST_PP_LOCAL_C(134)
-        BOOST_PP_LOCAL_MACRO(134)
+#    if NDNBOOST_PP_LOCAL_C(134)
+        NDNBOOST_PP_LOCAL_MACRO(134)
 #    endif
-#    if BOOST_PP_LOCAL_C(135)
-        BOOST_PP_LOCAL_MACRO(135)
+#    if NDNBOOST_PP_LOCAL_C(135)
+        NDNBOOST_PP_LOCAL_MACRO(135)
 #    endif
-#    if BOOST_PP_LOCAL_C(136)
-        BOOST_PP_LOCAL_MACRO(136)
+#    if NDNBOOST_PP_LOCAL_C(136)
+        NDNBOOST_PP_LOCAL_MACRO(136)
 #    endif
-#    if BOOST_PP_LOCAL_C(137)
-        BOOST_PP_LOCAL_MACRO(137)
+#    if NDNBOOST_PP_LOCAL_C(137)
+        NDNBOOST_PP_LOCAL_MACRO(137)
 #    endif
-#    if BOOST_PP_LOCAL_C(138)
-        BOOST_PP_LOCAL_MACRO(138)
+#    if NDNBOOST_PP_LOCAL_C(138)
+        NDNBOOST_PP_LOCAL_MACRO(138)
 #    endif
-#    if BOOST_PP_LOCAL_C(139)
-        BOOST_PP_LOCAL_MACRO(139)
+#    if NDNBOOST_PP_LOCAL_C(139)
+        NDNBOOST_PP_LOCAL_MACRO(139)
 #    endif
-#    if BOOST_PP_LOCAL_C(140)
-        BOOST_PP_LOCAL_MACRO(140)
+#    if NDNBOOST_PP_LOCAL_C(140)
+        NDNBOOST_PP_LOCAL_MACRO(140)
 #    endif
-#    if BOOST_PP_LOCAL_C(141)
-        BOOST_PP_LOCAL_MACRO(141)
+#    if NDNBOOST_PP_LOCAL_C(141)
+        NDNBOOST_PP_LOCAL_MACRO(141)
 #    endif
-#    if BOOST_PP_LOCAL_C(142)
-        BOOST_PP_LOCAL_MACRO(142)
+#    if NDNBOOST_PP_LOCAL_C(142)
+        NDNBOOST_PP_LOCAL_MACRO(142)
 #    endif
-#    if BOOST_PP_LOCAL_C(143)
-        BOOST_PP_LOCAL_MACRO(143)
+#    if NDNBOOST_PP_LOCAL_C(143)
+        NDNBOOST_PP_LOCAL_MACRO(143)
 #    endif
-#    if BOOST_PP_LOCAL_C(144)
-        BOOST_PP_LOCAL_MACRO(144)
+#    if NDNBOOST_PP_LOCAL_C(144)
+        NDNBOOST_PP_LOCAL_MACRO(144)
 #    endif
-#    if BOOST_PP_LOCAL_C(145)
-        BOOST_PP_LOCAL_MACRO(145)
+#    if NDNBOOST_PP_LOCAL_C(145)
+        NDNBOOST_PP_LOCAL_MACRO(145)
 #    endif
-#    if BOOST_PP_LOCAL_C(146)
-        BOOST_PP_LOCAL_MACRO(146)
+#    if NDNBOOST_PP_LOCAL_C(146)
+        NDNBOOST_PP_LOCAL_MACRO(146)
 #    endif
-#    if BOOST_PP_LOCAL_C(147)
-        BOOST_PP_LOCAL_MACRO(147)
+#    if NDNBOOST_PP_LOCAL_C(147)
+        NDNBOOST_PP_LOCAL_MACRO(147)
 #    endif
-#    if BOOST_PP_LOCAL_C(148)
-        BOOST_PP_LOCAL_MACRO(148)
+#    if NDNBOOST_PP_LOCAL_C(148)
+        NDNBOOST_PP_LOCAL_MACRO(148)
 #    endif
-#    if BOOST_PP_LOCAL_C(149)
-        BOOST_PP_LOCAL_MACRO(149)
+#    if NDNBOOST_PP_LOCAL_C(149)
+        NDNBOOST_PP_LOCAL_MACRO(149)
 #    endif
-#    if BOOST_PP_LOCAL_C(150)
-        BOOST_PP_LOCAL_MACRO(150)
+#    if NDNBOOST_PP_LOCAL_C(150)
+        NDNBOOST_PP_LOCAL_MACRO(150)
 #    endif
-#    if BOOST_PP_LOCAL_C(151)
-        BOOST_PP_LOCAL_MACRO(151)
+#    if NDNBOOST_PP_LOCAL_C(151)
+        NDNBOOST_PP_LOCAL_MACRO(151)
 #    endif
-#    if BOOST_PP_LOCAL_C(152)
-        BOOST_PP_LOCAL_MACRO(152)
+#    if NDNBOOST_PP_LOCAL_C(152)
+        NDNBOOST_PP_LOCAL_MACRO(152)
 #    endif
-#    if BOOST_PP_LOCAL_C(153)
-        BOOST_PP_LOCAL_MACRO(153)
+#    if NDNBOOST_PP_LOCAL_C(153)
+        NDNBOOST_PP_LOCAL_MACRO(153)
 #    endif
-#    if BOOST_PP_LOCAL_C(154)
-        BOOST_PP_LOCAL_MACRO(154)
+#    if NDNBOOST_PP_LOCAL_C(154)
+        NDNBOOST_PP_LOCAL_MACRO(154)
 #    endif
-#    if BOOST_PP_LOCAL_C(155)
-        BOOST_PP_LOCAL_MACRO(155)
+#    if NDNBOOST_PP_LOCAL_C(155)
+        NDNBOOST_PP_LOCAL_MACRO(155)
 #    endif
-#    if BOOST_PP_LOCAL_C(156)
-        BOOST_PP_LOCAL_MACRO(156)
+#    if NDNBOOST_PP_LOCAL_C(156)
+        NDNBOOST_PP_LOCAL_MACRO(156)
 #    endif
-#    if BOOST_PP_LOCAL_C(157)
-        BOOST_PP_LOCAL_MACRO(157)
+#    if NDNBOOST_PP_LOCAL_C(157)
+        NDNBOOST_PP_LOCAL_MACRO(157)
 #    endif
-#    if BOOST_PP_LOCAL_C(158)
-        BOOST_PP_LOCAL_MACRO(158)
+#    if NDNBOOST_PP_LOCAL_C(158)
+        NDNBOOST_PP_LOCAL_MACRO(158)
 #    endif
-#    if BOOST_PP_LOCAL_C(159)
-        BOOST_PP_LOCAL_MACRO(159)
+#    if NDNBOOST_PP_LOCAL_C(159)
+        NDNBOOST_PP_LOCAL_MACRO(159)
 #    endif
-#    if BOOST_PP_LOCAL_C(160)
-        BOOST_PP_LOCAL_MACRO(160)
+#    if NDNBOOST_PP_LOCAL_C(160)
+        NDNBOOST_PP_LOCAL_MACRO(160)
 #    endif
-#    if BOOST_PP_LOCAL_C(161)
-        BOOST_PP_LOCAL_MACRO(161)
+#    if NDNBOOST_PP_LOCAL_C(161)
+        NDNBOOST_PP_LOCAL_MACRO(161)
 #    endif
-#    if BOOST_PP_LOCAL_C(162)
-        BOOST_PP_LOCAL_MACRO(162)
+#    if NDNBOOST_PP_LOCAL_C(162)
+        NDNBOOST_PP_LOCAL_MACRO(162)
 #    endif
-#    if BOOST_PP_LOCAL_C(163)
-        BOOST_PP_LOCAL_MACRO(163)
+#    if NDNBOOST_PP_LOCAL_C(163)
+        NDNBOOST_PP_LOCAL_MACRO(163)
 #    endif
-#    if BOOST_PP_LOCAL_C(164)
-        BOOST_PP_LOCAL_MACRO(164)
+#    if NDNBOOST_PP_LOCAL_C(164)
+        NDNBOOST_PP_LOCAL_MACRO(164)
 #    endif
-#    if BOOST_PP_LOCAL_C(165)
-        BOOST_PP_LOCAL_MACRO(165)
+#    if NDNBOOST_PP_LOCAL_C(165)
+        NDNBOOST_PP_LOCAL_MACRO(165)
 #    endif
-#    if BOOST_PP_LOCAL_C(166)
-        BOOST_PP_LOCAL_MACRO(166)
+#    if NDNBOOST_PP_LOCAL_C(166)
+        NDNBOOST_PP_LOCAL_MACRO(166)
 #    endif
-#    if BOOST_PP_LOCAL_C(167)
-        BOOST_PP_LOCAL_MACRO(167)
+#    if NDNBOOST_PP_LOCAL_C(167)
+        NDNBOOST_PP_LOCAL_MACRO(167)
 #    endif
-#    if BOOST_PP_LOCAL_C(168)
-        BOOST_PP_LOCAL_MACRO(168)
+#    if NDNBOOST_PP_LOCAL_C(168)
+        NDNBOOST_PP_LOCAL_MACRO(168)
 #    endif
-#    if BOOST_PP_LOCAL_C(169)
-        BOOST_PP_LOCAL_MACRO(169)
+#    if NDNBOOST_PP_LOCAL_C(169)
+        NDNBOOST_PP_LOCAL_MACRO(169)
 #    endif
-#    if BOOST_PP_LOCAL_C(170)
-        BOOST_PP_LOCAL_MACRO(170)
+#    if NDNBOOST_PP_LOCAL_C(170)
+        NDNBOOST_PP_LOCAL_MACRO(170)
 #    endif
-#    if BOOST_PP_LOCAL_C(171)
-        BOOST_PP_LOCAL_MACRO(171)
+#    if NDNBOOST_PP_LOCAL_C(171)
+        NDNBOOST_PP_LOCAL_MACRO(171)
 #    endif
-#    if BOOST_PP_LOCAL_C(172)
-        BOOST_PP_LOCAL_MACRO(172)
+#    if NDNBOOST_PP_LOCAL_C(172)
+        NDNBOOST_PP_LOCAL_MACRO(172)
 #    endif
-#    if BOOST_PP_LOCAL_C(173)
-        BOOST_PP_LOCAL_MACRO(173)
+#    if NDNBOOST_PP_LOCAL_C(173)
+        NDNBOOST_PP_LOCAL_MACRO(173)
 #    endif
-#    if BOOST_PP_LOCAL_C(174)
-        BOOST_PP_LOCAL_MACRO(174)
+#    if NDNBOOST_PP_LOCAL_C(174)
+        NDNBOOST_PP_LOCAL_MACRO(174)
 #    endif
-#    if BOOST_PP_LOCAL_C(175)
-        BOOST_PP_LOCAL_MACRO(175)
+#    if NDNBOOST_PP_LOCAL_C(175)
+        NDNBOOST_PP_LOCAL_MACRO(175)
 #    endif
-#    if BOOST_PP_LOCAL_C(176)
-        BOOST_PP_LOCAL_MACRO(176)
+#    if NDNBOOST_PP_LOCAL_C(176)
+        NDNBOOST_PP_LOCAL_MACRO(176)
 #    endif
-#    if BOOST_PP_LOCAL_C(177)
-        BOOST_PP_LOCAL_MACRO(177)
+#    if NDNBOOST_PP_LOCAL_C(177)
+        NDNBOOST_PP_LOCAL_MACRO(177)
 #    endif
-#    if BOOST_PP_LOCAL_C(178)
-        BOOST_PP_LOCAL_MACRO(178)
+#    if NDNBOOST_PP_LOCAL_C(178)
+        NDNBOOST_PP_LOCAL_MACRO(178)
 #    endif
-#    if BOOST_PP_LOCAL_C(179)
-        BOOST_PP_LOCAL_MACRO(179)
+#    if NDNBOOST_PP_LOCAL_C(179)
+        NDNBOOST_PP_LOCAL_MACRO(179)
 #    endif
-#    if BOOST_PP_LOCAL_C(180)
-        BOOST_PP_LOCAL_MACRO(180)
+#    if NDNBOOST_PP_LOCAL_C(180)
+        NDNBOOST_PP_LOCAL_MACRO(180)
 #    endif
-#    if BOOST_PP_LOCAL_C(181)
-        BOOST_PP_LOCAL_MACRO(181)
+#    if NDNBOOST_PP_LOCAL_C(181)
+        NDNBOOST_PP_LOCAL_MACRO(181)
 #    endif
-#    if BOOST_PP_LOCAL_C(182)
-        BOOST_PP_LOCAL_MACRO(182)
+#    if NDNBOOST_PP_LOCAL_C(182)
+        NDNBOOST_PP_LOCAL_MACRO(182)
 #    endif
-#    if BOOST_PP_LOCAL_C(183)
-        BOOST_PP_LOCAL_MACRO(183)
+#    if NDNBOOST_PP_LOCAL_C(183)
+        NDNBOOST_PP_LOCAL_MACRO(183)
 #    endif
-#    if BOOST_PP_LOCAL_C(184)
-        BOOST_PP_LOCAL_MACRO(184)
+#    if NDNBOOST_PP_LOCAL_C(184)
+        NDNBOOST_PP_LOCAL_MACRO(184)
 #    endif
-#    if BOOST_PP_LOCAL_C(185)
-        BOOST_PP_LOCAL_MACRO(185)
+#    if NDNBOOST_PP_LOCAL_C(185)
+        NDNBOOST_PP_LOCAL_MACRO(185)
 #    endif
-#    if BOOST_PP_LOCAL_C(186)
-        BOOST_PP_LOCAL_MACRO(186)
+#    if NDNBOOST_PP_LOCAL_C(186)
+        NDNBOOST_PP_LOCAL_MACRO(186)
 #    endif
-#    if BOOST_PP_LOCAL_C(187)
-        BOOST_PP_LOCAL_MACRO(187)
+#    if NDNBOOST_PP_LOCAL_C(187)
+        NDNBOOST_PP_LOCAL_MACRO(187)
 #    endif
-#    if BOOST_PP_LOCAL_C(188)
-        BOOST_PP_LOCAL_MACRO(188)
+#    if NDNBOOST_PP_LOCAL_C(188)
+        NDNBOOST_PP_LOCAL_MACRO(188)
 #    endif
-#    if BOOST_PP_LOCAL_C(189)
-        BOOST_PP_LOCAL_MACRO(189)
+#    if NDNBOOST_PP_LOCAL_C(189)
+        NDNBOOST_PP_LOCAL_MACRO(189)
 #    endif
-#    if BOOST_PP_LOCAL_C(190)
-        BOOST_PP_LOCAL_MACRO(190)
+#    if NDNBOOST_PP_LOCAL_C(190)
+        NDNBOOST_PP_LOCAL_MACRO(190)
 #    endif
-#    if BOOST_PP_LOCAL_C(191)
-        BOOST_PP_LOCAL_MACRO(191)
+#    if NDNBOOST_PP_LOCAL_C(191)
+        NDNBOOST_PP_LOCAL_MACRO(191)
 #    endif
-#    if BOOST_PP_LOCAL_C(192)
-        BOOST_PP_LOCAL_MACRO(192)
+#    if NDNBOOST_PP_LOCAL_C(192)
+        NDNBOOST_PP_LOCAL_MACRO(192)
 #    endif
-#    if BOOST_PP_LOCAL_C(193)
-        BOOST_PP_LOCAL_MACRO(193)
+#    if NDNBOOST_PP_LOCAL_C(193)
+        NDNBOOST_PP_LOCAL_MACRO(193)
 #    endif
-#    if BOOST_PP_LOCAL_C(194)
-        BOOST_PP_LOCAL_MACRO(194)
+#    if NDNBOOST_PP_LOCAL_C(194)
+        NDNBOOST_PP_LOCAL_MACRO(194)
 #    endif
-#    if BOOST_PP_LOCAL_C(195)
-        BOOST_PP_LOCAL_MACRO(195)
+#    if NDNBOOST_PP_LOCAL_C(195)
+        NDNBOOST_PP_LOCAL_MACRO(195)
 #    endif
-#    if BOOST_PP_LOCAL_C(196)
-        BOOST_PP_LOCAL_MACRO(196)
+#    if NDNBOOST_PP_LOCAL_C(196)
+        NDNBOOST_PP_LOCAL_MACRO(196)
 #    endif
-#    if BOOST_PP_LOCAL_C(197)
-        BOOST_PP_LOCAL_MACRO(197)
+#    if NDNBOOST_PP_LOCAL_C(197)
+        NDNBOOST_PP_LOCAL_MACRO(197)
 #    endif
-#    if BOOST_PP_LOCAL_C(198)
-        BOOST_PP_LOCAL_MACRO(198)
+#    if NDNBOOST_PP_LOCAL_C(198)
+        NDNBOOST_PP_LOCAL_MACRO(198)
 #    endif
-#    if BOOST_PP_LOCAL_C(199)
-        BOOST_PP_LOCAL_MACRO(199)
+#    if NDNBOOST_PP_LOCAL_C(199)
+        NDNBOOST_PP_LOCAL_MACRO(199)
 #    endif
-#    if BOOST_PP_LOCAL_C(200)
-        BOOST_PP_LOCAL_MACRO(200)
+#    if NDNBOOST_PP_LOCAL_C(200)
+        NDNBOOST_PP_LOCAL_MACRO(200)
 #    endif
-#    if BOOST_PP_LOCAL_C(201)
-        BOOST_PP_LOCAL_MACRO(201)
+#    if NDNBOOST_PP_LOCAL_C(201)
+        NDNBOOST_PP_LOCAL_MACRO(201)
 #    endif
-#    if BOOST_PP_LOCAL_C(202)
-        BOOST_PP_LOCAL_MACRO(202)
+#    if NDNBOOST_PP_LOCAL_C(202)
+        NDNBOOST_PP_LOCAL_MACRO(202)
 #    endif
-#    if BOOST_PP_LOCAL_C(203)
-        BOOST_PP_LOCAL_MACRO(203)
+#    if NDNBOOST_PP_LOCAL_C(203)
+        NDNBOOST_PP_LOCAL_MACRO(203)
 #    endif
-#    if BOOST_PP_LOCAL_C(204)
-        BOOST_PP_LOCAL_MACRO(204)
+#    if NDNBOOST_PP_LOCAL_C(204)
+        NDNBOOST_PP_LOCAL_MACRO(204)
 #    endif
-#    if BOOST_PP_LOCAL_C(205)
-        BOOST_PP_LOCAL_MACRO(205)
+#    if NDNBOOST_PP_LOCAL_C(205)
+        NDNBOOST_PP_LOCAL_MACRO(205)
 #    endif
-#    if BOOST_PP_LOCAL_C(206)
-        BOOST_PP_LOCAL_MACRO(206)
+#    if NDNBOOST_PP_LOCAL_C(206)
+        NDNBOOST_PP_LOCAL_MACRO(206)
 #    endif
-#    if BOOST_PP_LOCAL_C(207)
-        BOOST_PP_LOCAL_MACRO(207)
+#    if NDNBOOST_PP_LOCAL_C(207)
+        NDNBOOST_PP_LOCAL_MACRO(207)
 #    endif
-#    if BOOST_PP_LOCAL_C(208)
-        BOOST_PP_LOCAL_MACRO(208)
+#    if NDNBOOST_PP_LOCAL_C(208)
+        NDNBOOST_PP_LOCAL_MACRO(208)
 #    endif
-#    if BOOST_PP_LOCAL_C(209)
-        BOOST_PP_LOCAL_MACRO(209)
+#    if NDNBOOST_PP_LOCAL_C(209)
+        NDNBOOST_PP_LOCAL_MACRO(209)
 #    endif
-#    if BOOST_PP_LOCAL_C(210)
-        BOOST_PP_LOCAL_MACRO(210)
+#    if NDNBOOST_PP_LOCAL_C(210)
+        NDNBOOST_PP_LOCAL_MACRO(210)
 #    endif
-#    if BOOST_PP_LOCAL_C(211)
-        BOOST_PP_LOCAL_MACRO(211)
+#    if NDNBOOST_PP_LOCAL_C(211)
+        NDNBOOST_PP_LOCAL_MACRO(211)
 #    endif
-#    if BOOST_PP_LOCAL_C(212)
-        BOOST_PP_LOCAL_MACRO(212)
+#    if NDNBOOST_PP_LOCAL_C(212)
+        NDNBOOST_PP_LOCAL_MACRO(212)
 #    endif
-#    if BOOST_PP_LOCAL_C(213)
-        BOOST_PP_LOCAL_MACRO(213)
+#    if NDNBOOST_PP_LOCAL_C(213)
+        NDNBOOST_PP_LOCAL_MACRO(213)
 #    endif
-#    if BOOST_PP_LOCAL_C(214)
-        BOOST_PP_LOCAL_MACRO(214)
+#    if NDNBOOST_PP_LOCAL_C(214)
+        NDNBOOST_PP_LOCAL_MACRO(214)
 #    endif
-#    if BOOST_PP_LOCAL_C(215)
-        BOOST_PP_LOCAL_MACRO(215)
+#    if NDNBOOST_PP_LOCAL_C(215)
+        NDNBOOST_PP_LOCAL_MACRO(215)
 #    endif
-#    if BOOST_PP_LOCAL_C(216)
-        BOOST_PP_LOCAL_MACRO(216)
+#    if NDNBOOST_PP_LOCAL_C(216)
+        NDNBOOST_PP_LOCAL_MACRO(216)
 #    endif
-#    if BOOST_PP_LOCAL_C(217)
-        BOOST_PP_LOCAL_MACRO(217)
+#    if NDNBOOST_PP_LOCAL_C(217)
+        NDNBOOST_PP_LOCAL_MACRO(217)
 #    endif
-#    if BOOST_PP_LOCAL_C(218)
-        BOOST_PP_LOCAL_MACRO(218)
+#    if NDNBOOST_PP_LOCAL_C(218)
+        NDNBOOST_PP_LOCAL_MACRO(218)
 #    endif
-#    if BOOST_PP_LOCAL_C(219)
-        BOOST_PP_LOCAL_MACRO(219)
+#    if NDNBOOST_PP_LOCAL_C(219)
+        NDNBOOST_PP_LOCAL_MACRO(219)
 #    endif
-#    if BOOST_PP_LOCAL_C(220)
-        BOOST_PP_LOCAL_MACRO(220)
+#    if NDNBOOST_PP_LOCAL_C(220)
+        NDNBOOST_PP_LOCAL_MACRO(220)
 #    endif
-#    if BOOST_PP_LOCAL_C(221)
-        BOOST_PP_LOCAL_MACRO(221)
+#    if NDNBOOST_PP_LOCAL_C(221)
+        NDNBOOST_PP_LOCAL_MACRO(221)
 #    endif
-#    if BOOST_PP_LOCAL_C(222)
-        BOOST_PP_LOCAL_MACRO(222)
+#    if NDNBOOST_PP_LOCAL_C(222)
+        NDNBOOST_PP_LOCAL_MACRO(222)
 #    endif
-#    if BOOST_PP_LOCAL_C(223)
-        BOOST_PP_LOCAL_MACRO(223)
+#    if NDNBOOST_PP_LOCAL_C(223)
+        NDNBOOST_PP_LOCAL_MACRO(223)
 #    endif
-#    if BOOST_PP_LOCAL_C(224)
-        BOOST_PP_LOCAL_MACRO(224)
+#    if NDNBOOST_PP_LOCAL_C(224)
+        NDNBOOST_PP_LOCAL_MACRO(224)
 #    endif
-#    if BOOST_PP_LOCAL_C(225)
-        BOOST_PP_LOCAL_MACRO(225)
+#    if NDNBOOST_PP_LOCAL_C(225)
+        NDNBOOST_PP_LOCAL_MACRO(225)
 #    endif
-#    if BOOST_PP_LOCAL_C(226)
-        BOOST_PP_LOCAL_MACRO(226)
+#    if NDNBOOST_PP_LOCAL_C(226)
+        NDNBOOST_PP_LOCAL_MACRO(226)
 #    endif
-#    if BOOST_PP_LOCAL_C(227)
-        BOOST_PP_LOCAL_MACRO(227)
+#    if NDNBOOST_PP_LOCAL_C(227)
+        NDNBOOST_PP_LOCAL_MACRO(227)
 #    endif
-#    if BOOST_PP_LOCAL_C(228)
-        BOOST_PP_LOCAL_MACRO(228)
+#    if NDNBOOST_PP_LOCAL_C(228)
+        NDNBOOST_PP_LOCAL_MACRO(228)
 #    endif
-#    if BOOST_PP_LOCAL_C(229)
-        BOOST_PP_LOCAL_MACRO(229)
+#    if NDNBOOST_PP_LOCAL_C(229)
+        NDNBOOST_PP_LOCAL_MACRO(229)
 #    endif
-#    if BOOST_PP_LOCAL_C(230)
-        BOOST_PP_LOCAL_MACRO(230)
+#    if NDNBOOST_PP_LOCAL_C(230)
+        NDNBOOST_PP_LOCAL_MACRO(230)
 #    endif
-#    if BOOST_PP_LOCAL_C(231)
-        BOOST_PP_LOCAL_MACRO(231)
+#    if NDNBOOST_PP_LOCAL_C(231)
+        NDNBOOST_PP_LOCAL_MACRO(231)
 #    endif
-#    if BOOST_PP_LOCAL_C(232)
-        BOOST_PP_LOCAL_MACRO(232)
+#    if NDNBOOST_PP_LOCAL_C(232)
+        NDNBOOST_PP_LOCAL_MACRO(232)
 #    endif
-#    if BOOST_PP_LOCAL_C(233)
-        BOOST_PP_LOCAL_MACRO(233)
+#    if NDNBOOST_PP_LOCAL_C(233)
+        NDNBOOST_PP_LOCAL_MACRO(233)
 #    endif
-#    if BOOST_PP_LOCAL_C(234)
-        BOOST_PP_LOCAL_MACRO(234)
+#    if NDNBOOST_PP_LOCAL_C(234)
+        NDNBOOST_PP_LOCAL_MACRO(234)
 #    endif
-#    if BOOST_PP_LOCAL_C(235)
-        BOOST_PP_LOCAL_MACRO(235)
+#    if NDNBOOST_PP_LOCAL_C(235)
+        NDNBOOST_PP_LOCAL_MACRO(235)
 #    endif
-#    if BOOST_PP_LOCAL_C(236)
-        BOOST_PP_LOCAL_MACRO(236)
+#    if NDNBOOST_PP_LOCAL_C(236)
+        NDNBOOST_PP_LOCAL_MACRO(236)
 #    endif
 
-#    if BOOST_PP_LOCAL_C(237)
-        BOOST_PP_LOCAL_MACRO(237)
+#    if NDNBOOST_PP_LOCAL_C(237)
+        NDNBOOST_PP_LOCAL_MACRO(237)
 #    endif
-#    if BOOST_PP_LOCAL_C(238)
-        BOOST_PP_LOCAL_MACRO(238)
+#    if NDNBOOST_PP_LOCAL_C(238)
+        NDNBOOST_PP_LOCAL_MACRO(238)
 #    endif
-#    if BOOST_PP_LOCAL_C(239)
-        BOOST_PP_LOCAL_MACRO(239)
+#    if NDNBOOST_PP_LOCAL_C(239)
+        NDNBOOST_PP_LOCAL_MACRO(239)
 #    endif
-#    if BOOST_PP_LOCAL_C(240)
-        BOOST_PP_LOCAL_MACRO(240)
+#    if NDNBOOST_PP_LOCAL_C(240)
+        NDNBOOST_PP_LOCAL_MACRO(240)
 #    endif
-#    if BOOST_PP_LOCAL_C(241)
-        BOOST_PP_LOCAL_MACRO(241)
+#    if NDNBOOST_PP_LOCAL_C(241)
+        NDNBOOST_PP_LOCAL_MACRO(241)
 #    endif
-#    if BOOST_PP_LOCAL_C(242)
-        BOOST_PP_LOCAL_MACRO(242)
+#    if NDNBOOST_PP_LOCAL_C(242)
+        NDNBOOST_PP_LOCAL_MACRO(242)
 #    endif
-#    if BOOST_PP_LOCAL_C(243)
-        BOOST_PP_LOCAL_MACRO(243)
+#    if NDNBOOST_PP_LOCAL_C(243)
+        NDNBOOST_PP_LOCAL_MACRO(243)
 #    endif
-#    if BOOST_PP_LOCAL_C(244)
-        BOOST_PP_LOCAL_MACRO(244)
+#    if NDNBOOST_PP_LOCAL_C(244)
+        NDNBOOST_PP_LOCAL_MACRO(244)
 #    endif
-#    if BOOST_PP_LOCAL_C(245)
-        BOOST_PP_LOCAL_MACRO(245)
+#    if NDNBOOST_PP_LOCAL_C(245)
+        NDNBOOST_PP_LOCAL_MACRO(245)
 #    endif
-#    if BOOST_PP_LOCAL_C(246)
-        BOOST_PP_LOCAL_MACRO(246)
+#    if NDNBOOST_PP_LOCAL_C(246)
+        NDNBOOST_PP_LOCAL_MACRO(246)
 #    endif
-#    if BOOST_PP_LOCAL_C(247)
-        BOOST_PP_LOCAL_MACRO(247)
+#    if NDNBOOST_PP_LOCAL_C(247)
+        NDNBOOST_PP_LOCAL_MACRO(247)
 #    endif
-#    if BOOST_PP_LOCAL_C(248)
-        BOOST_PP_LOCAL_MACRO(248)
+#    if NDNBOOST_PP_LOCAL_C(248)
+        NDNBOOST_PP_LOCAL_MACRO(248)
 #    endif
-#    if BOOST_PP_LOCAL_C(249)
-        BOOST_PP_LOCAL_MACRO(249)
+#    if NDNBOOST_PP_LOCAL_C(249)
+        NDNBOOST_PP_LOCAL_MACRO(249)
 #    endif
-#    if BOOST_PP_LOCAL_C(250)
-        BOOST_PP_LOCAL_MACRO(250)
+#    if NDNBOOST_PP_LOCAL_C(250)
+        NDNBOOST_PP_LOCAL_MACRO(250)
 #    endif
-#    if BOOST_PP_LOCAL_C(251)
-        BOOST_PP_LOCAL_MACRO(251)
+#    if NDNBOOST_PP_LOCAL_C(251)
+        NDNBOOST_PP_LOCAL_MACRO(251)
 #    endif
-#    if BOOST_PP_LOCAL_C(252)
-        BOOST_PP_LOCAL_MACRO(252)
+#    if NDNBOOST_PP_LOCAL_C(252)
+        NDNBOOST_PP_LOCAL_MACRO(252)
 #    endif
-#    if BOOST_PP_LOCAL_C(253)
-        BOOST_PP_LOCAL_MACRO(253)
+#    if NDNBOOST_PP_LOCAL_C(253)
+        NDNBOOST_PP_LOCAL_MACRO(253)
 #    endif
-#    if BOOST_PP_LOCAL_C(254)
-        BOOST_PP_LOCAL_MACRO(254)
+#    if NDNBOOST_PP_LOCAL_C(254)
+        NDNBOOST_PP_LOCAL_MACRO(254)
 #    endif
-#    if BOOST_PP_LOCAL_C(255)
-        BOOST_PP_LOCAL_MACRO(255)
+#    if NDNBOOST_PP_LOCAL_C(255)
+        NDNBOOST_PP_LOCAL_MACRO(255)
 #    endif
-#    if BOOST_PP_LOCAL_C(256)
-        BOOST_PP_LOCAL_MACRO(256)
+#    if NDNBOOST_PP_LOCAL_C(256)
+        NDNBOOST_PP_LOCAL_MACRO(256)
 #    endif
 # endif
 #
-# undef BOOST_PP_LOCAL_LIMITS
+# undef NDNBOOST_PP_LOCAL_LIMITS
 #
-# undef BOOST_PP_LOCAL_S
-# undef BOOST_PP_LOCAL_F
+# undef NDNBOOST_PP_LOCAL_S
+# undef NDNBOOST_PP_LOCAL_F
 #
-# undef BOOST_PP_LOCAL_MACRO
+# undef NDNBOOST_PP_LOCAL_MACRO
diff --git a/include/ndnboost/preprocessor/iteration/detail/rlocal.hpp b/include/ndnboost/preprocessor/iteration/detail/rlocal.hpp
index 413afa0..ad601a7 100644
--- a/include/ndnboost/preprocessor/iteration/detail/rlocal.hpp
+++ b/include/ndnboost/preprocessor/iteration/detail/rlocal.hpp
@@ -9,774 +9,774 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# if BOOST_PP_LOCAL_R(256)
-    BOOST_PP_LOCAL_MACRO(256)
+# if NDNBOOST_PP_LOCAL_R(256)
+    NDNBOOST_PP_LOCAL_MACRO(256)
 # endif
-# if BOOST_PP_LOCAL_R(255)
-    BOOST_PP_LOCAL_MACRO(255)
+# if NDNBOOST_PP_LOCAL_R(255)
+    NDNBOOST_PP_LOCAL_MACRO(255)
 # endif
-# if BOOST_PP_LOCAL_R(254)
-    BOOST_PP_LOCAL_MACRO(254)
+# if NDNBOOST_PP_LOCAL_R(254)
+    NDNBOOST_PP_LOCAL_MACRO(254)
 # endif
-# if BOOST_PP_LOCAL_R(253)
-    BOOST_PP_LOCAL_MACRO(253)
+# if NDNBOOST_PP_LOCAL_R(253)
+    NDNBOOST_PP_LOCAL_MACRO(253)
 # endif
-# if BOOST_PP_LOCAL_R(252)
-    BOOST_PP_LOCAL_MACRO(252)
+# if NDNBOOST_PP_LOCAL_R(252)
+    NDNBOOST_PP_LOCAL_MACRO(252)
 # endif
-# if BOOST_PP_LOCAL_R(251)
-    BOOST_PP_LOCAL_MACRO(251)
+# if NDNBOOST_PP_LOCAL_R(251)
+    NDNBOOST_PP_LOCAL_MACRO(251)
 # endif
-# if BOOST_PP_LOCAL_R(250)
-    BOOST_PP_LOCAL_MACRO(250)
+# if NDNBOOST_PP_LOCAL_R(250)
+    NDNBOOST_PP_LOCAL_MACRO(250)
 # endif
-# if BOOST_PP_LOCAL_R(249)
-    BOOST_PP_LOCAL_MACRO(249)
+# if NDNBOOST_PP_LOCAL_R(249)
+    NDNBOOST_PP_LOCAL_MACRO(249)
 # endif
-# if BOOST_PP_LOCAL_R(248)
-    BOOST_PP_LOCAL_MACRO(248)
+# if NDNBOOST_PP_LOCAL_R(248)
+    NDNBOOST_PP_LOCAL_MACRO(248)
 # endif
-# if BOOST_PP_LOCAL_R(247)
-    BOOST_PP_LOCAL_MACRO(247)
+# if NDNBOOST_PP_LOCAL_R(247)
+    NDNBOOST_PP_LOCAL_MACRO(247)
 # endif
-# if BOOST_PP_LOCAL_R(246)
-    BOOST_PP_LOCAL_MACRO(246)
+# if NDNBOOST_PP_LOCAL_R(246)
+    NDNBOOST_PP_LOCAL_MACRO(246)
 # endif
-# if BOOST_PP_LOCAL_R(245)
-    BOOST_PP_LOCAL_MACRO(245)
+# if NDNBOOST_PP_LOCAL_R(245)
+    NDNBOOST_PP_LOCAL_MACRO(245)
 # endif
-# if BOOST_PP_LOCAL_R(244)
-    BOOST_PP_LOCAL_MACRO(244)
+# if NDNBOOST_PP_LOCAL_R(244)
+    NDNBOOST_PP_LOCAL_MACRO(244)
 # endif
-# if BOOST_PP_LOCAL_R(243)
-    BOOST_PP_LOCAL_MACRO(243)
+# if NDNBOOST_PP_LOCAL_R(243)
+    NDNBOOST_PP_LOCAL_MACRO(243)
 # endif
-# if BOOST_PP_LOCAL_R(242)
-    BOOST_PP_LOCAL_MACRO(242)
+# if NDNBOOST_PP_LOCAL_R(242)
+    NDNBOOST_PP_LOCAL_MACRO(242)
 # endif
-# if BOOST_PP_LOCAL_R(241)
-    BOOST_PP_LOCAL_MACRO(241)
+# if NDNBOOST_PP_LOCAL_R(241)
+    NDNBOOST_PP_LOCAL_MACRO(241)
 # endif
-# if BOOST_PP_LOCAL_R(240)
-    BOOST_PP_LOCAL_MACRO(240)
+# if NDNBOOST_PP_LOCAL_R(240)
+    NDNBOOST_PP_LOCAL_MACRO(240)
 # endif
-# if BOOST_PP_LOCAL_R(239)
-    BOOST_PP_LOCAL_MACRO(239)
+# if NDNBOOST_PP_LOCAL_R(239)
+    NDNBOOST_PP_LOCAL_MACRO(239)
 # endif
-# if BOOST_PP_LOCAL_R(238)
-    BOOST_PP_LOCAL_MACRO(238)
+# if NDNBOOST_PP_LOCAL_R(238)
+    NDNBOOST_PP_LOCAL_MACRO(238)
 # endif
-# if BOOST_PP_LOCAL_R(237)
-    BOOST_PP_LOCAL_MACRO(237)
+# if NDNBOOST_PP_LOCAL_R(237)
+    NDNBOOST_PP_LOCAL_MACRO(237)
 # endif
-# if BOOST_PP_LOCAL_R(236)
-    BOOST_PP_LOCAL_MACRO(236)
+# if NDNBOOST_PP_LOCAL_R(236)
+    NDNBOOST_PP_LOCAL_MACRO(236)
 # endif
-# if BOOST_PP_LOCAL_R(235)
-    BOOST_PP_LOCAL_MACRO(235)
+# if NDNBOOST_PP_LOCAL_R(235)
+    NDNBOOST_PP_LOCAL_MACRO(235)
 # endif
-# if BOOST_PP_LOCAL_R(234)
-    BOOST_PP_LOCAL_MACRO(234)
+# if NDNBOOST_PP_LOCAL_R(234)
+    NDNBOOST_PP_LOCAL_MACRO(234)
 # endif
-# if BOOST_PP_LOCAL_R(233)
-    BOOST_PP_LOCAL_MACRO(233)
+# if NDNBOOST_PP_LOCAL_R(233)
+    NDNBOOST_PP_LOCAL_MACRO(233)
 # endif
-# if BOOST_PP_LOCAL_R(232)
-    BOOST_PP_LOCAL_MACRO(232)
+# if NDNBOOST_PP_LOCAL_R(232)
+    NDNBOOST_PP_LOCAL_MACRO(232)
 # endif
-# if BOOST_PP_LOCAL_R(231)
-    BOOST_PP_LOCAL_MACRO(231)
+# if NDNBOOST_PP_LOCAL_R(231)
+    NDNBOOST_PP_LOCAL_MACRO(231)
 # endif
-# if BOOST_PP_LOCAL_R(230)
-    BOOST_PP_LOCAL_MACRO(230)
+# if NDNBOOST_PP_LOCAL_R(230)
+    NDNBOOST_PP_LOCAL_MACRO(230)
 # endif
-# if BOOST_PP_LOCAL_R(229)
-    BOOST_PP_LOCAL_MACRO(229)
+# if NDNBOOST_PP_LOCAL_R(229)
+    NDNBOOST_PP_LOCAL_MACRO(229)
 # endif
-# if BOOST_PP_LOCAL_R(228)
-    BOOST_PP_LOCAL_MACRO(228)
+# if NDNBOOST_PP_LOCAL_R(228)
+    NDNBOOST_PP_LOCAL_MACRO(228)
 # endif
-# if BOOST_PP_LOCAL_R(227)
-    BOOST_PP_LOCAL_MACRO(227)
+# if NDNBOOST_PP_LOCAL_R(227)
+    NDNBOOST_PP_LOCAL_MACRO(227)
 # endif
-# if BOOST_PP_LOCAL_R(226)
-    BOOST_PP_LOCAL_MACRO(226)
+# if NDNBOOST_PP_LOCAL_R(226)
+    NDNBOOST_PP_LOCAL_MACRO(226)
 # endif
-# if BOOST_PP_LOCAL_R(225)
-    BOOST_PP_LOCAL_MACRO(225)
+# if NDNBOOST_PP_LOCAL_R(225)
+    NDNBOOST_PP_LOCAL_MACRO(225)
 # endif
-# if BOOST_PP_LOCAL_R(224)
-    BOOST_PP_LOCAL_MACRO(224)
+# if NDNBOOST_PP_LOCAL_R(224)
+    NDNBOOST_PP_LOCAL_MACRO(224)
 # endif
-# if BOOST_PP_LOCAL_R(223)
-    BOOST_PP_LOCAL_MACRO(223)
+# if NDNBOOST_PP_LOCAL_R(223)
+    NDNBOOST_PP_LOCAL_MACRO(223)
 # endif
-# if BOOST_PP_LOCAL_R(222)
-    BOOST_PP_LOCAL_MACRO(222)
+# if NDNBOOST_PP_LOCAL_R(222)
+    NDNBOOST_PP_LOCAL_MACRO(222)
 # endif
-# if BOOST_PP_LOCAL_R(221)
-    BOOST_PP_LOCAL_MACRO(221)
+# if NDNBOOST_PP_LOCAL_R(221)
+    NDNBOOST_PP_LOCAL_MACRO(221)
 # endif
-# if BOOST_PP_LOCAL_R(220)
-    BOOST_PP_LOCAL_MACRO(220)
+# if NDNBOOST_PP_LOCAL_R(220)
+    NDNBOOST_PP_LOCAL_MACRO(220)
 # endif
-# if BOOST_PP_LOCAL_R(219)
-    BOOST_PP_LOCAL_MACRO(219)
+# if NDNBOOST_PP_LOCAL_R(219)
+    NDNBOOST_PP_LOCAL_MACRO(219)
 # endif
-# if BOOST_PP_LOCAL_R(218)
-    BOOST_PP_LOCAL_MACRO(218)
+# if NDNBOOST_PP_LOCAL_R(218)
+    NDNBOOST_PP_LOCAL_MACRO(218)
 # endif
-# if BOOST_PP_LOCAL_R(217)
-    BOOST_PP_LOCAL_MACRO(217)
+# if NDNBOOST_PP_LOCAL_R(217)
+    NDNBOOST_PP_LOCAL_MACRO(217)
 # endif
-# if BOOST_PP_LOCAL_R(216)
-    BOOST_PP_LOCAL_MACRO(216)
+# if NDNBOOST_PP_LOCAL_R(216)
+    NDNBOOST_PP_LOCAL_MACRO(216)
 # endif
-# if BOOST_PP_LOCAL_R(215)
-    BOOST_PP_LOCAL_MACRO(215)
+# if NDNBOOST_PP_LOCAL_R(215)
+    NDNBOOST_PP_LOCAL_MACRO(215)
 # endif
-# if BOOST_PP_LOCAL_R(214)
-    BOOST_PP_LOCAL_MACRO(214)
+# if NDNBOOST_PP_LOCAL_R(214)
+    NDNBOOST_PP_LOCAL_MACRO(214)
 # endif
-# if BOOST_PP_LOCAL_R(213)
-    BOOST_PP_LOCAL_MACRO(213)
+# if NDNBOOST_PP_LOCAL_R(213)
+    NDNBOOST_PP_LOCAL_MACRO(213)
 # endif
-# if BOOST_PP_LOCAL_R(212)
-    BOOST_PP_LOCAL_MACRO(212)
+# if NDNBOOST_PP_LOCAL_R(212)
+    NDNBOOST_PP_LOCAL_MACRO(212)
 # endif
-# if BOOST_PP_LOCAL_R(211)
-    BOOST_PP_LOCAL_MACRO(211)
+# if NDNBOOST_PP_LOCAL_R(211)
+    NDNBOOST_PP_LOCAL_MACRO(211)
 # endif
-# if BOOST_PP_LOCAL_R(210)
-    BOOST_PP_LOCAL_MACRO(210)
+# if NDNBOOST_PP_LOCAL_R(210)
+    NDNBOOST_PP_LOCAL_MACRO(210)
 # endif
-# if BOOST_PP_LOCAL_R(209)
-    BOOST_PP_LOCAL_MACRO(209)
+# if NDNBOOST_PP_LOCAL_R(209)
+    NDNBOOST_PP_LOCAL_MACRO(209)
 # endif
-# if BOOST_PP_LOCAL_R(208)
-    BOOST_PP_LOCAL_MACRO(208)
+# if NDNBOOST_PP_LOCAL_R(208)
+    NDNBOOST_PP_LOCAL_MACRO(208)
 # endif
-# if BOOST_PP_LOCAL_R(207)
-    BOOST_PP_LOCAL_MACRO(207)
+# if NDNBOOST_PP_LOCAL_R(207)
+    NDNBOOST_PP_LOCAL_MACRO(207)
 # endif
-# if BOOST_PP_LOCAL_R(206)
-    BOOST_PP_LOCAL_MACRO(206)
+# if NDNBOOST_PP_LOCAL_R(206)
+    NDNBOOST_PP_LOCAL_MACRO(206)
 # endif
-# if BOOST_PP_LOCAL_R(205)
-    BOOST_PP_LOCAL_MACRO(205)
+# if NDNBOOST_PP_LOCAL_R(205)
+    NDNBOOST_PP_LOCAL_MACRO(205)
 # endif
-# if BOOST_PP_LOCAL_R(204)
-    BOOST_PP_LOCAL_MACRO(204)
+# if NDNBOOST_PP_LOCAL_R(204)
+    NDNBOOST_PP_LOCAL_MACRO(204)
 # endif
-# if BOOST_PP_LOCAL_R(203)
-    BOOST_PP_LOCAL_MACRO(203)
+# if NDNBOOST_PP_LOCAL_R(203)
+    NDNBOOST_PP_LOCAL_MACRO(203)
 # endif
-# if BOOST_PP_LOCAL_R(202)
-    BOOST_PP_LOCAL_MACRO(202)
+# if NDNBOOST_PP_LOCAL_R(202)
+    NDNBOOST_PP_LOCAL_MACRO(202)
 # endif
-# if BOOST_PP_LOCAL_R(201)
-    BOOST_PP_LOCAL_MACRO(201)
+# if NDNBOOST_PP_LOCAL_R(201)
+    NDNBOOST_PP_LOCAL_MACRO(201)
 # endif
-# if BOOST_PP_LOCAL_R(200)
-    BOOST_PP_LOCAL_MACRO(200)
+# if NDNBOOST_PP_LOCAL_R(200)
+    NDNBOOST_PP_LOCAL_MACRO(200)
 # endif
-# if BOOST_PP_LOCAL_R(199)
-    BOOST_PP_LOCAL_MACRO(199)
+# if NDNBOOST_PP_LOCAL_R(199)
+    NDNBOOST_PP_LOCAL_MACRO(199)
 # endif
-# if BOOST_PP_LOCAL_R(198)
-    BOOST_PP_LOCAL_MACRO(198)
+# if NDNBOOST_PP_LOCAL_R(198)
+    NDNBOOST_PP_LOCAL_MACRO(198)
 # endif
-# if BOOST_PP_LOCAL_R(197)
-    BOOST_PP_LOCAL_MACRO(197)
+# if NDNBOOST_PP_LOCAL_R(197)
+    NDNBOOST_PP_LOCAL_MACRO(197)
 # endif
-# if BOOST_PP_LOCAL_R(196)
-    BOOST_PP_LOCAL_MACRO(196)
+# if NDNBOOST_PP_LOCAL_R(196)
+    NDNBOOST_PP_LOCAL_MACRO(196)
 # endif
-# if BOOST_PP_LOCAL_R(195)
-    BOOST_PP_LOCAL_MACRO(195)
+# if NDNBOOST_PP_LOCAL_R(195)
+    NDNBOOST_PP_LOCAL_MACRO(195)
 # endif
-# if BOOST_PP_LOCAL_R(194)
-    BOOST_PP_LOCAL_MACRO(194)
+# if NDNBOOST_PP_LOCAL_R(194)
+    NDNBOOST_PP_LOCAL_MACRO(194)
 # endif
-# if BOOST_PP_LOCAL_R(193)
-    BOOST_PP_LOCAL_MACRO(193)
+# if NDNBOOST_PP_LOCAL_R(193)
+    NDNBOOST_PP_LOCAL_MACRO(193)
 # endif
-# if BOOST_PP_LOCAL_R(192)
-    BOOST_PP_LOCAL_MACRO(192)
+# if NDNBOOST_PP_LOCAL_R(192)
+    NDNBOOST_PP_LOCAL_MACRO(192)
 # endif
-# if BOOST_PP_LOCAL_R(191)
-    BOOST_PP_LOCAL_MACRO(191)
+# if NDNBOOST_PP_LOCAL_R(191)
+    NDNBOOST_PP_LOCAL_MACRO(191)
 # endif
-# if BOOST_PP_LOCAL_R(190)
-    BOOST_PP_LOCAL_MACRO(190)
+# if NDNBOOST_PP_LOCAL_R(190)
+    NDNBOOST_PP_LOCAL_MACRO(190)
 # endif
-# if BOOST_PP_LOCAL_R(189)
-    BOOST_PP_LOCAL_MACRO(189)
+# if NDNBOOST_PP_LOCAL_R(189)
+    NDNBOOST_PP_LOCAL_MACRO(189)
 # endif
-# if BOOST_PP_LOCAL_R(188)
-    BOOST_PP_LOCAL_MACRO(188)
+# if NDNBOOST_PP_LOCAL_R(188)
+    NDNBOOST_PP_LOCAL_MACRO(188)
 # endif
-# if BOOST_PP_LOCAL_R(187)
-    BOOST_PP_LOCAL_MACRO(187)
+# if NDNBOOST_PP_LOCAL_R(187)
+    NDNBOOST_PP_LOCAL_MACRO(187)
 # endif
-# if BOOST_PP_LOCAL_R(186)
-    BOOST_PP_LOCAL_MACRO(186)
+# if NDNBOOST_PP_LOCAL_R(186)
+    NDNBOOST_PP_LOCAL_MACRO(186)
 # endif
-# if BOOST_PP_LOCAL_R(185)
-    BOOST_PP_LOCAL_MACRO(185)
+# if NDNBOOST_PP_LOCAL_R(185)
+    NDNBOOST_PP_LOCAL_MACRO(185)
 # endif
-# if BOOST_PP_LOCAL_R(184)
-    BOOST_PP_LOCAL_MACRO(184)
+# if NDNBOOST_PP_LOCAL_R(184)
+    NDNBOOST_PP_LOCAL_MACRO(184)
 # endif
-# if BOOST_PP_LOCAL_R(183)
-    BOOST_PP_LOCAL_MACRO(183)
+# if NDNBOOST_PP_LOCAL_R(183)
+    NDNBOOST_PP_LOCAL_MACRO(183)
 # endif
-# if BOOST_PP_LOCAL_R(182)
-    BOOST_PP_LOCAL_MACRO(182)
+# if NDNBOOST_PP_LOCAL_R(182)
+    NDNBOOST_PP_LOCAL_MACRO(182)
 # endif
-# if BOOST_PP_LOCAL_R(181)
-    BOOST_PP_LOCAL_MACRO(181)
+# if NDNBOOST_PP_LOCAL_R(181)
+    NDNBOOST_PP_LOCAL_MACRO(181)
 # endif
-# if BOOST_PP_LOCAL_R(180)
-    BOOST_PP_LOCAL_MACRO(180)
+# if NDNBOOST_PP_LOCAL_R(180)
+    NDNBOOST_PP_LOCAL_MACRO(180)
 # endif
-# if BOOST_PP_LOCAL_R(179)
-    BOOST_PP_LOCAL_MACRO(179)
+# if NDNBOOST_PP_LOCAL_R(179)
+    NDNBOOST_PP_LOCAL_MACRO(179)
 # endif
-# if BOOST_PP_LOCAL_R(178)
-    BOOST_PP_LOCAL_MACRO(178)
+# if NDNBOOST_PP_LOCAL_R(178)
+    NDNBOOST_PP_LOCAL_MACRO(178)
 # endif
-# if BOOST_PP_LOCAL_R(177)
-    BOOST_PP_LOCAL_MACRO(177)
+# if NDNBOOST_PP_LOCAL_R(177)
+    NDNBOOST_PP_LOCAL_MACRO(177)
 # endif
-# if BOOST_PP_LOCAL_R(176)
-    BOOST_PP_LOCAL_MACRO(176)
+# if NDNBOOST_PP_LOCAL_R(176)
+    NDNBOOST_PP_LOCAL_MACRO(176)
 # endif
-# if BOOST_PP_LOCAL_R(175)
-    BOOST_PP_LOCAL_MACRO(175)
+# if NDNBOOST_PP_LOCAL_R(175)
+    NDNBOOST_PP_LOCAL_MACRO(175)
 # endif
-# if BOOST_PP_LOCAL_R(174)
-    BOOST_PP_LOCAL_MACRO(174)
+# if NDNBOOST_PP_LOCAL_R(174)
+    NDNBOOST_PP_LOCAL_MACRO(174)
 # endif
-# if BOOST_PP_LOCAL_R(173)
-    BOOST_PP_LOCAL_MACRO(173)
+# if NDNBOOST_PP_LOCAL_R(173)
+    NDNBOOST_PP_LOCAL_MACRO(173)
 # endif
-# if BOOST_PP_LOCAL_R(172)
-    BOOST_PP_LOCAL_MACRO(172)
+# if NDNBOOST_PP_LOCAL_R(172)
+    NDNBOOST_PP_LOCAL_MACRO(172)
 # endif
-# if BOOST_PP_LOCAL_R(171)
-    BOOST_PP_LOCAL_MACRO(171)
+# if NDNBOOST_PP_LOCAL_R(171)
+    NDNBOOST_PP_LOCAL_MACRO(171)
 # endif
-# if BOOST_PP_LOCAL_R(170)
-    BOOST_PP_LOCAL_MACRO(170)
+# if NDNBOOST_PP_LOCAL_R(170)
+    NDNBOOST_PP_LOCAL_MACRO(170)
 # endif
-# if BOOST_PP_LOCAL_R(169)
-    BOOST_PP_LOCAL_MACRO(169)
+# if NDNBOOST_PP_LOCAL_R(169)
+    NDNBOOST_PP_LOCAL_MACRO(169)
 # endif
-# if BOOST_PP_LOCAL_R(168)
-    BOOST_PP_LOCAL_MACRO(168)
+# if NDNBOOST_PP_LOCAL_R(168)
+    NDNBOOST_PP_LOCAL_MACRO(168)
 # endif
-# if BOOST_PP_LOCAL_R(167)
-    BOOST_PP_LOCAL_MACRO(167)
+# if NDNBOOST_PP_LOCAL_R(167)
+    NDNBOOST_PP_LOCAL_MACRO(167)
 # endif
-# if BOOST_PP_LOCAL_R(166)
-    BOOST_PP_LOCAL_MACRO(166)
+# if NDNBOOST_PP_LOCAL_R(166)
+    NDNBOOST_PP_LOCAL_MACRO(166)
 # endif
-# if BOOST_PP_LOCAL_R(165)
-    BOOST_PP_LOCAL_MACRO(165)
+# if NDNBOOST_PP_LOCAL_R(165)
+    NDNBOOST_PP_LOCAL_MACRO(165)
 # endif
-# if BOOST_PP_LOCAL_R(164)
-    BOOST_PP_LOCAL_MACRO(164)
+# if NDNBOOST_PP_LOCAL_R(164)
+    NDNBOOST_PP_LOCAL_MACRO(164)
 # endif
-# if BOOST_PP_LOCAL_R(163)
-    BOOST_PP_LOCAL_MACRO(163)
+# if NDNBOOST_PP_LOCAL_R(163)
+    NDNBOOST_PP_LOCAL_MACRO(163)
 # endif
-# if BOOST_PP_LOCAL_R(162)
-    BOOST_PP_LOCAL_MACRO(162)
+# if NDNBOOST_PP_LOCAL_R(162)
+    NDNBOOST_PP_LOCAL_MACRO(162)
 # endif
-# if BOOST_PP_LOCAL_R(161)
-    BOOST_PP_LOCAL_MACRO(161)
+# if NDNBOOST_PP_LOCAL_R(161)
+    NDNBOOST_PP_LOCAL_MACRO(161)
 # endif
-# if BOOST_PP_LOCAL_R(160)
-    BOOST_PP_LOCAL_MACRO(160)
+# if NDNBOOST_PP_LOCAL_R(160)
+    NDNBOOST_PP_LOCAL_MACRO(160)
 # endif
-# if BOOST_PP_LOCAL_R(159)
-    BOOST_PP_LOCAL_MACRO(159)
+# if NDNBOOST_PP_LOCAL_R(159)
+    NDNBOOST_PP_LOCAL_MACRO(159)
 # endif
-# if BOOST_PP_LOCAL_R(158)
-    BOOST_PP_LOCAL_MACRO(158)
+# if NDNBOOST_PP_LOCAL_R(158)
+    NDNBOOST_PP_LOCAL_MACRO(158)
 # endif
-# if BOOST_PP_LOCAL_R(157)
-    BOOST_PP_LOCAL_MACRO(157)
+# if NDNBOOST_PP_LOCAL_R(157)
+    NDNBOOST_PP_LOCAL_MACRO(157)
 # endif
-# if BOOST_PP_LOCAL_R(156)
-    BOOST_PP_LOCAL_MACRO(156)
+# if NDNBOOST_PP_LOCAL_R(156)
+    NDNBOOST_PP_LOCAL_MACRO(156)
 # endif
-# if BOOST_PP_LOCAL_R(155)
-    BOOST_PP_LOCAL_MACRO(155)
+# if NDNBOOST_PP_LOCAL_R(155)
+    NDNBOOST_PP_LOCAL_MACRO(155)
 # endif
-# if BOOST_PP_LOCAL_R(154)
-    BOOST_PP_LOCAL_MACRO(154)
+# if NDNBOOST_PP_LOCAL_R(154)
+    NDNBOOST_PP_LOCAL_MACRO(154)
 # endif
-# if BOOST_PP_LOCAL_R(153)
-    BOOST_PP_LOCAL_MACRO(153)
+# if NDNBOOST_PP_LOCAL_R(153)
+    NDNBOOST_PP_LOCAL_MACRO(153)
 # endif
-# if BOOST_PP_LOCAL_R(152)
-    BOOST_PP_LOCAL_MACRO(152)
+# if NDNBOOST_PP_LOCAL_R(152)
+    NDNBOOST_PP_LOCAL_MACRO(152)
 # endif
-# if BOOST_PP_LOCAL_R(151)
-    BOOST_PP_LOCAL_MACRO(151)
+# if NDNBOOST_PP_LOCAL_R(151)
+    NDNBOOST_PP_LOCAL_MACRO(151)
 # endif
-# if BOOST_PP_LOCAL_R(150)
-    BOOST_PP_LOCAL_MACRO(150)
+# if NDNBOOST_PP_LOCAL_R(150)
+    NDNBOOST_PP_LOCAL_MACRO(150)
 # endif
-# if BOOST_PP_LOCAL_R(149)
-    BOOST_PP_LOCAL_MACRO(149)
+# if NDNBOOST_PP_LOCAL_R(149)
+    NDNBOOST_PP_LOCAL_MACRO(149)
 # endif
-# if BOOST_PP_LOCAL_R(148)
-    BOOST_PP_LOCAL_MACRO(148)
+# if NDNBOOST_PP_LOCAL_R(148)
+    NDNBOOST_PP_LOCAL_MACRO(148)
 # endif
-# if BOOST_PP_LOCAL_R(147)
-    BOOST_PP_LOCAL_MACRO(147)
+# if NDNBOOST_PP_LOCAL_R(147)
+    NDNBOOST_PP_LOCAL_MACRO(147)
 # endif
-# if BOOST_PP_LOCAL_R(146)
-    BOOST_PP_LOCAL_MACRO(146)
+# if NDNBOOST_PP_LOCAL_R(146)
+    NDNBOOST_PP_LOCAL_MACRO(146)
 # endif
-# if BOOST_PP_LOCAL_R(145)
-    BOOST_PP_LOCAL_MACRO(145)
+# if NDNBOOST_PP_LOCAL_R(145)
+    NDNBOOST_PP_LOCAL_MACRO(145)
 # endif
-# if BOOST_PP_LOCAL_R(144)
-    BOOST_PP_LOCAL_MACRO(144)
+# if NDNBOOST_PP_LOCAL_R(144)
+    NDNBOOST_PP_LOCAL_MACRO(144)
 # endif
-# if BOOST_PP_LOCAL_R(143)
-    BOOST_PP_LOCAL_MACRO(143)
+# if NDNBOOST_PP_LOCAL_R(143)
+    NDNBOOST_PP_LOCAL_MACRO(143)
 # endif
-# if BOOST_PP_LOCAL_R(142)
-    BOOST_PP_LOCAL_MACRO(142)
+# if NDNBOOST_PP_LOCAL_R(142)
+    NDNBOOST_PP_LOCAL_MACRO(142)
 # endif
-# if BOOST_PP_LOCAL_R(141)
-    BOOST_PP_LOCAL_MACRO(141)
+# if NDNBOOST_PP_LOCAL_R(141)
+    NDNBOOST_PP_LOCAL_MACRO(141)
 # endif
-# if BOOST_PP_LOCAL_R(140)
-    BOOST_PP_LOCAL_MACRO(140)
+# if NDNBOOST_PP_LOCAL_R(140)
+    NDNBOOST_PP_LOCAL_MACRO(140)
 # endif
-# if BOOST_PP_LOCAL_R(139)
-    BOOST_PP_LOCAL_MACRO(139)
+# if NDNBOOST_PP_LOCAL_R(139)
+    NDNBOOST_PP_LOCAL_MACRO(139)
 # endif
-# if BOOST_PP_LOCAL_R(138)
-    BOOST_PP_LOCAL_MACRO(138)
+# if NDNBOOST_PP_LOCAL_R(138)
+    NDNBOOST_PP_LOCAL_MACRO(138)
 # endif
-# if BOOST_PP_LOCAL_R(137)
-    BOOST_PP_LOCAL_MACRO(137)
+# if NDNBOOST_PP_LOCAL_R(137)
+    NDNBOOST_PP_LOCAL_MACRO(137)
 # endif
-# if BOOST_PP_LOCAL_R(136)
-    BOOST_PP_LOCAL_MACRO(136)
+# if NDNBOOST_PP_LOCAL_R(136)
+    NDNBOOST_PP_LOCAL_MACRO(136)
 # endif
-# if BOOST_PP_LOCAL_R(135)
-    BOOST_PP_LOCAL_MACRO(135)
+# if NDNBOOST_PP_LOCAL_R(135)
+    NDNBOOST_PP_LOCAL_MACRO(135)
 # endif
-# if BOOST_PP_LOCAL_R(134)
-    BOOST_PP_LOCAL_MACRO(134)
+# if NDNBOOST_PP_LOCAL_R(134)
+    NDNBOOST_PP_LOCAL_MACRO(134)
 # endif
-# if BOOST_PP_LOCAL_R(133)
-    BOOST_PP_LOCAL_MACRO(133)
+# if NDNBOOST_PP_LOCAL_R(133)
+    NDNBOOST_PP_LOCAL_MACRO(133)
 # endif
-# if BOOST_PP_LOCAL_R(132)
-    BOOST_PP_LOCAL_MACRO(132)
+# if NDNBOOST_PP_LOCAL_R(132)
+    NDNBOOST_PP_LOCAL_MACRO(132)
 # endif
-# if BOOST_PP_LOCAL_R(131)
-    BOOST_PP_LOCAL_MACRO(131)
+# if NDNBOOST_PP_LOCAL_R(131)
+    NDNBOOST_PP_LOCAL_MACRO(131)
 # endif
-# if BOOST_PP_LOCAL_R(130)
-    BOOST_PP_LOCAL_MACRO(130)
+# if NDNBOOST_PP_LOCAL_R(130)
+    NDNBOOST_PP_LOCAL_MACRO(130)
 # endif
-# if BOOST_PP_LOCAL_R(129)
-    BOOST_PP_LOCAL_MACRO(129)
+# if NDNBOOST_PP_LOCAL_R(129)
+    NDNBOOST_PP_LOCAL_MACRO(129)
 # endif
-# if BOOST_PP_LOCAL_R(128)
-    BOOST_PP_LOCAL_MACRO(128)
+# if NDNBOOST_PP_LOCAL_R(128)
+    NDNBOOST_PP_LOCAL_MACRO(128)
 # endif
-# if BOOST_PP_LOCAL_R(127)
-    BOOST_PP_LOCAL_MACRO(127)
+# if NDNBOOST_PP_LOCAL_R(127)
+    NDNBOOST_PP_LOCAL_MACRO(127)
 # endif
-# if BOOST_PP_LOCAL_R(126)
-    BOOST_PP_LOCAL_MACRO(126)
+# if NDNBOOST_PP_LOCAL_R(126)
+    NDNBOOST_PP_LOCAL_MACRO(126)
 # endif
-# if BOOST_PP_LOCAL_R(125)
-    BOOST_PP_LOCAL_MACRO(125)
+# if NDNBOOST_PP_LOCAL_R(125)
+    NDNBOOST_PP_LOCAL_MACRO(125)
 # endif
-# if BOOST_PP_LOCAL_R(124)
-    BOOST_PP_LOCAL_MACRO(124)
+# if NDNBOOST_PP_LOCAL_R(124)
+    NDNBOOST_PP_LOCAL_MACRO(124)
 # endif
-# if BOOST_PP_LOCAL_R(123)
-    BOOST_PP_LOCAL_MACRO(123)
+# if NDNBOOST_PP_LOCAL_R(123)
+    NDNBOOST_PP_LOCAL_MACRO(123)
 # endif
-# if BOOST_PP_LOCAL_R(122)
-    BOOST_PP_LOCAL_MACRO(122)
+# if NDNBOOST_PP_LOCAL_R(122)
+    NDNBOOST_PP_LOCAL_MACRO(122)
 # endif
-# if BOOST_PP_LOCAL_R(121)
-    BOOST_PP_LOCAL_MACRO(121)
+# if NDNBOOST_PP_LOCAL_R(121)
+    NDNBOOST_PP_LOCAL_MACRO(121)
 # endif
-# if BOOST_PP_LOCAL_R(120)
-    BOOST_PP_LOCAL_MACRO(120)
+# if NDNBOOST_PP_LOCAL_R(120)
+    NDNBOOST_PP_LOCAL_MACRO(120)
 # endif
-# if BOOST_PP_LOCAL_R(119)
-    BOOST_PP_LOCAL_MACRO(119)
+# if NDNBOOST_PP_LOCAL_R(119)
+    NDNBOOST_PP_LOCAL_MACRO(119)
 # endif
-# if BOOST_PP_LOCAL_R(118)
-    BOOST_PP_LOCAL_MACRO(118)
+# if NDNBOOST_PP_LOCAL_R(118)
+    NDNBOOST_PP_LOCAL_MACRO(118)
 # endif
-# if BOOST_PP_LOCAL_R(117)
-    BOOST_PP_LOCAL_MACRO(117)
+# if NDNBOOST_PP_LOCAL_R(117)
+    NDNBOOST_PP_LOCAL_MACRO(117)
 # endif
-# if BOOST_PP_LOCAL_R(116)
-    BOOST_PP_LOCAL_MACRO(116)
+# if NDNBOOST_PP_LOCAL_R(116)
+    NDNBOOST_PP_LOCAL_MACRO(116)
 # endif
-# if BOOST_PP_LOCAL_R(115)
-    BOOST_PP_LOCAL_MACRO(115)
+# if NDNBOOST_PP_LOCAL_R(115)
+    NDNBOOST_PP_LOCAL_MACRO(115)
 # endif
-# if BOOST_PP_LOCAL_R(114)
-    BOOST_PP_LOCAL_MACRO(114)
+# if NDNBOOST_PP_LOCAL_R(114)
+    NDNBOOST_PP_LOCAL_MACRO(114)
 # endif
-# if BOOST_PP_LOCAL_R(113)
-    BOOST_PP_LOCAL_MACRO(113)
+# if NDNBOOST_PP_LOCAL_R(113)
+    NDNBOOST_PP_LOCAL_MACRO(113)
 # endif
-# if BOOST_PP_LOCAL_R(112)
-    BOOST_PP_LOCAL_MACRO(112)
+# if NDNBOOST_PP_LOCAL_R(112)
+    NDNBOOST_PP_LOCAL_MACRO(112)
 # endif
-# if BOOST_PP_LOCAL_R(111)
-    BOOST_PP_LOCAL_MACRO(111)
+# if NDNBOOST_PP_LOCAL_R(111)
+    NDNBOOST_PP_LOCAL_MACRO(111)
 # endif
-# if BOOST_PP_LOCAL_R(110)
-    BOOST_PP_LOCAL_MACRO(110)
+# if NDNBOOST_PP_LOCAL_R(110)
+    NDNBOOST_PP_LOCAL_MACRO(110)
 # endif
-# if BOOST_PP_LOCAL_R(109)
-    BOOST_PP_LOCAL_MACRO(109)
+# if NDNBOOST_PP_LOCAL_R(109)
+    NDNBOOST_PP_LOCAL_MACRO(109)
 # endif
-# if BOOST_PP_LOCAL_R(108)
-    BOOST_PP_LOCAL_MACRO(108)
+# if NDNBOOST_PP_LOCAL_R(108)
+    NDNBOOST_PP_LOCAL_MACRO(108)
 # endif
-# if BOOST_PP_LOCAL_R(107)
-    BOOST_PP_LOCAL_MACRO(107)
+# if NDNBOOST_PP_LOCAL_R(107)
+    NDNBOOST_PP_LOCAL_MACRO(107)
 # endif
-# if BOOST_PP_LOCAL_R(106)
-    BOOST_PP_LOCAL_MACRO(106)
+# if NDNBOOST_PP_LOCAL_R(106)
+    NDNBOOST_PP_LOCAL_MACRO(106)
 # endif
-# if BOOST_PP_LOCAL_R(105)
-    BOOST_PP_LOCAL_MACRO(105)
+# if NDNBOOST_PP_LOCAL_R(105)
+    NDNBOOST_PP_LOCAL_MACRO(105)
 # endif
-# if BOOST_PP_LOCAL_R(104)
-    BOOST_PP_LOCAL_MACRO(104)
+# if NDNBOOST_PP_LOCAL_R(104)
+    NDNBOOST_PP_LOCAL_MACRO(104)
 # endif
-# if BOOST_PP_LOCAL_R(103)
-    BOOST_PP_LOCAL_MACRO(103)
+# if NDNBOOST_PP_LOCAL_R(103)
+    NDNBOOST_PP_LOCAL_MACRO(103)
 # endif
-# if BOOST_PP_LOCAL_R(102)
-    BOOST_PP_LOCAL_MACRO(102)
+# if NDNBOOST_PP_LOCAL_R(102)
+    NDNBOOST_PP_LOCAL_MACRO(102)
 # endif
-# if BOOST_PP_LOCAL_R(101)
-    BOOST_PP_LOCAL_MACRO(101)
+# if NDNBOOST_PP_LOCAL_R(101)
+    NDNBOOST_PP_LOCAL_MACRO(101)
 # endif
-# if BOOST_PP_LOCAL_R(100)
-    BOOST_PP_LOCAL_MACRO(100)
+# if NDNBOOST_PP_LOCAL_R(100)
+    NDNBOOST_PP_LOCAL_MACRO(100)
 # endif
-# if BOOST_PP_LOCAL_R(99)
-    BOOST_PP_LOCAL_MACRO(99)
+# if NDNBOOST_PP_LOCAL_R(99)
+    NDNBOOST_PP_LOCAL_MACRO(99)
 # endif
-# if BOOST_PP_LOCAL_R(98)
-    BOOST_PP_LOCAL_MACRO(98)
+# if NDNBOOST_PP_LOCAL_R(98)
+    NDNBOOST_PP_LOCAL_MACRO(98)
 # endif
-# if BOOST_PP_LOCAL_R(97)
-    BOOST_PP_LOCAL_MACRO(97)
+# if NDNBOOST_PP_LOCAL_R(97)
+    NDNBOOST_PP_LOCAL_MACRO(97)
 # endif
-# if BOOST_PP_LOCAL_R(96)
-    BOOST_PP_LOCAL_MACRO(96)
+# if NDNBOOST_PP_LOCAL_R(96)
+    NDNBOOST_PP_LOCAL_MACRO(96)
 # endif
-# if BOOST_PP_LOCAL_R(95)
-    BOOST_PP_LOCAL_MACRO(95)
+# if NDNBOOST_PP_LOCAL_R(95)
+    NDNBOOST_PP_LOCAL_MACRO(95)
 # endif
-# if BOOST_PP_LOCAL_R(94)
-    BOOST_PP_LOCAL_MACRO(94)
+# if NDNBOOST_PP_LOCAL_R(94)
+    NDNBOOST_PP_LOCAL_MACRO(94)
 # endif
-# if BOOST_PP_LOCAL_R(93)
-    BOOST_PP_LOCAL_MACRO(93)
+# if NDNBOOST_PP_LOCAL_R(93)
+    NDNBOOST_PP_LOCAL_MACRO(93)
 # endif
-# if BOOST_PP_LOCAL_R(92)
-    BOOST_PP_LOCAL_MACRO(92)
+# if NDNBOOST_PP_LOCAL_R(92)
+    NDNBOOST_PP_LOCAL_MACRO(92)
 # endif
-# if BOOST_PP_LOCAL_R(91)
-    BOOST_PP_LOCAL_MACRO(91)
+# if NDNBOOST_PP_LOCAL_R(91)
+    NDNBOOST_PP_LOCAL_MACRO(91)
 # endif
-# if BOOST_PP_LOCAL_R(90)
-    BOOST_PP_LOCAL_MACRO(90)
+# if NDNBOOST_PP_LOCAL_R(90)
+    NDNBOOST_PP_LOCAL_MACRO(90)
 # endif
-# if BOOST_PP_LOCAL_R(89)
-    BOOST_PP_LOCAL_MACRO(89)
+# if NDNBOOST_PP_LOCAL_R(89)
+    NDNBOOST_PP_LOCAL_MACRO(89)
 # endif
-# if BOOST_PP_LOCAL_R(88)
-    BOOST_PP_LOCAL_MACRO(88)
+# if NDNBOOST_PP_LOCAL_R(88)
+    NDNBOOST_PP_LOCAL_MACRO(88)
 # endif
-# if BOOST_PP_LOCAL_R(87)
-    BOOST_PP_LOCAL_MACRO(87)
+# if NDNBOOST_PP_LOCAL_R(87)
+    NDNBOOST_PP_LOCAL_MACRO(87)
 # endif
-# if BOOST_PP_LOCAL_R(86)
-    BOOST_PP_LOCAL_MACRO(86)
+# if NDNBOOST_PP_LOCAL_R(86)
+    NDNBOOST_PP_LOCAL_MACRO(86)
 # endif
-# if BOOST_PP_LOCAL_R(85)
-    BOOST_PP_LOCAL_MACRO(85)
+# if NDNBOOST_PP_LOCAL_R(85)
+    NDNBOOST_PP_LOCAL_MACRO(85)
 # endif
-# if BOOST_PP_LOCAL_R(84)
-    BOOST_PP_LOCAL_MACRO(84)
+# if NDNBOOST_PP_LOCAL_R(84)
+    NDNBOOST_PP_LOCAL_MACRO(84)
 # endif
-# if BOOST_PP_LOCAL_R(83)
-    BOOST_PP_LOCAL_MACRO(83)
+# if NDNBOOST_PP_LOCAL_R(83)
+    NDNBOOST_PP_LOCAL_MACRO(83)
 # endif
-# if BOOST_PP_LOCAL_R(82)
-    BOOST_PP_LOCAL_MACRO(82)
+# if NDNBOOST_PP_LOCAL_R(82)
+    NDNBOOST_PP_LOCAL_MACRO(82)
 # endif
-# if BOOST_PP_LOCAL_R(81)
-    BOOST_PP_LOCAL_MACRO(81)
+# if NDNBOOST_PP_LOCAL_R(81)
+    NDNBOOST_PP_LOCAL_MACRO(81)
 # endif
-# if BOOST_PP_LOCAL_R(80)
-    BOOST_PP_LOCAL_MACRO(80)
+# if NDNBOOST_PP_LOCAL_R(80)
+    NDNBOOST_PP_LOCAL_MACRO(80)
 # endif
-# if BOOST_PP_LOCAL_R(79)
-    BOOST_PP_LOCAL_MACRO(79)
+# if NDNBOOST_PP_LOCAL_R(79)
+    NDNBOOST_PP_LOCAL_MACRO(79)
 # endif
-# if BOOST_PP_LOCAL_R(78)
-    BOOST_PP_LOCAL_MACRO(78)
+# if NDNBOOST_PP_LOCAL_R(78)
+    NDNBOOST_PP_LOCAL_MACRO(78)
 # endif
-# if BOOST_PP_LOCAL_R(77)
-    BOOST_PP_LOCAL_MACRO(77)
+# if NDNBOOST_PP_LOCAL_R(77)
+    NDNBOOST_PP_LOCAL_MACRO(77)
 # endif
-# if BOOST_PP_LOCAL_R(76)
-    BOOST_PP_LOCAL_MACRO(76)
+# if NDNBOOST_PP_LOCAL_R(76)
+    NDNBOOST_PP_LOCAL_MACRO(76)
 # endif
-# if BOOST_PP_LOCAL_R(75)
-    BOOST_PP_LOCAL_MACRO(75)
+# if NDNBOOST_PP_LOCAL_R(75)
+    NDNBOOST_PP_LOCAL_MACRO(75)
 # endif
-# if BOOST_PP_LOCAL_R(74)
-    BOOST_PP_LOCAL_MACRO(74)
+# if NDNBOOST_PP_LOCAL_R(74)
+    NDNBOOST_PP_LOCAL_MACRO(74)
 # endif
-# if BOOST_PP_LOCAL_R(73)
-    BOOST_PP_LOCAL_MACRO(73)
+# if NDNBOOST_PP_LOCAL_R(73)
+    NDNBOOST_PP_LOCAL_MACRO(73)
 # endif
-# if BOOST_PP_LOCAL_R(72)
-    BOOST_PP_LOCAL_MACRO(72)
+# if NDNBOOST_PP_LOCAL_R(72)
+    NDNBOOST_PP_LOCAL_MACRO(72)
 # endif
-# if BOOST_PP_LOCAL_R(71)
-    BOOST_PP_LOCAL_MACRO(71)
+# if NDNBOOST_PP_LOCAL_R(71)
+    NDNBOOST_PP_LOCAL_MACRO(71)
 # endif
-# if BOOST_PP_LOCAL_R(70)
-    BOOST_PP_LOCAL_MACRO(70)
+# if NDNBOOST_PP_LOCAL_R(70)
+    NDNBOOST_PP_LOCAL_MACRO(70)
 # endif
-# if BOOST_PP_LOCAL_R(69)
-    BOOST_PP_LOCAL_MACRO(69)
+# if NDNBOOST_PP_LOCAL_R(69)
+    NDNBOOST_PP_LOCAL_MACRO(69)
 # endif
-# if BOOST_PP_LOCAL_R(68)
-    BOOST_PP_LOCAL_MACRO(68)
+# if NDNBOOST_PP_LOCAL_R(68)
+    NDNBOOST_PP_LOCAL_MACRO(68)
 # endif
-# if BOOST_PP_LOCAL_R(67)
-    BOOST_PP_LOCAL_MACRO(67)
+# if NDNBOOST_PP_LOCAL_R(67)
+    NDNBOOST_PP_LOCAL_MACRO(67)
 # endif
-# if BOOST_PP_LOCAL_R(66)
-    BOOST_PP_LOCAL_MACRO(66)
+# if NDNBOOST_PP_LOCAL_R(66)
+    NDNBOOST_PP_LOCAL_MACRO(66)
 # endif
-# if BOOST_PP_LOCAL_R(65)
-    BOOST_PP_LOCAL_MACRO(65)
+# if NDNBOOST_PP_LOCAL_R(65)
+    NDNBOOST_PP_LOCAL_MACRO(65)
 # endif
-# if BOOST_PP_LOCAL_R(64)
-    BOOST_PP_LOCAL_MACRO(64)
+# if NDNBOOST_PP_LOCAL_R(64)
+    NDNBOOST_PP_LOCAL_MACRO(64)
 # endif
-# if BOOST_PP_LOCAL_R(63)
-    BOOST_PP_LOCAL_MACRO(63)
+# if NDNBOOST_PP_LOCAL_R(63)
+    NDNBOOST_PP_LOCAL_MACRO(63)
 # endif
-# if BOOST_PP_LOCAL_R(62)
-    BOOST_PP_LOCAL_MACRO(62)
+# if NDNBOOST_PP_LOCAL_R(62)
+    NDNBOOST_PP_LOCAL_MACRO(62)
 # endif
-# if BOOST_PP_LOCAL_R(61)
-    BOOST_PP_LOCAL_MACRO(61)
+# if NDNBOOST_PP_LOCAL_R(61)
+    NDNBOOST_PP_LOCAL_MACRO(61)
 # endif
-# if BOOST_PP_LOCAL_R(60)
-    BOOST_PP_LOCAL_MACRO(60)
+# if NDNBOOST_PP_LOCAL_R(60)
+    NDNBOOST_PP_LOCAL_MACRO(60)
 # endif
-# if BOOST_PP_LOCAL_R(59)
-    BOOST_PP_LOCAL_MACRO(59)
+# if NDNBOOST_PP_LOCAL_R(59)
+    NDNBOOST_PP_LOCAL_MACRO(59)
 # endif
-# if BOOST_PP_LOCAL_R(58)
-    BOOST_PP_LOCAL_MACRO(58)
+# if NDNBOOST_PP_LOCAL_R(58)
+    NDNBOOST_PP_LOCAL_MACRO(58)
 # endif
-# if BOOST_PP_LOCAL_R(57)
-    BOOST_PP_LOCAL_MACRO(57)
+# if NDNBOOST_PP_LOCAL_R(57)
+    NDNBOOST_PP_LOCAL_MACRO(57)
 # endif
-# if BOOST_PP_LOCAL_R(56)
-    BOOST_PP_LOCAL_MACRO(56)
+# if NDNBOOST_PP_LOCAL_R(56)
+    NDNBOOST_PP_LOCAL_MACRO(56)
 # endif
-# if BOOST_PP_LOCAL_R(55)
-    BOOST_PP_LOCAL_MACRO(55)
+# if NDNBOOST_PP_LOCAL_R(55)
+    NDNBOOST_PP_LOCAL_MACRO(55)
 # endif
-# if BOOST_PP_LOCAL_R(54)
-    BOOST_PP_LOCAL_MACRO(54)
+# if NDNBOOST_PP_LOCAL_R(54)
+    NDNBOOST_PP_LOCAL_MACRO(54)
 # endif
-# if BOOST_PP_LOCAL_R(53)
-    BOOST_PP_LOCAL_MACRO(53)
+# if NDNBOOST_PP_LOCAL_R(53)
+    NDNBOOST_PP_LOCAL_MACRO(53)
 # endif
-# if BOOST_PP_LOCAL_R(52)
-    BOOST_PP_LOCAL_MACRO(52)
+# if NDNBOOST_PP_LOCAL_R(52)
+    NDNBOOST_PP_LOCAL_MACRO(52)
 # endif
-# if BOOST_PP_LOCAL_R(51)
-    BOOST_PP_LOCAL_MACRO(51)
+# if NDNBOOST_PP_LOCAL_R(51)
+    NDNBOOST_PP_LOCAL_MACRO(51)
 # endif
-# if BOOST_PP_LOCAL_R(50)
-    BOOST_PP_LOCAL_MACRO(50)
+# if NDNBOOST_PP_LOCAL_R(50)
+    NDNBOOST_PP_LOCAL_MACRO(50)
 # endif
-# if BOOST_PP_LOCAL_R(49)
-    BOOST_PP_LOCAL_MACRO(49)
+# if NDNBOOST_PP_LOCAL_R(49)
+    NDNBOOST_PP_LOCAL_MACRO(49)
 # endif
-# if BOOST_PP_LOCAL_R(48)
-    BOOST_PP_LOCAL_MACRO(48)
+# if NDNBOOST_PP_LOCAL_R(48)
+    NDNBOOST_PP_LOCAL_MACRO(48)
 # endif
-# if BOOST_PP_LOCAL_R(47)
-    BOOST_PP_LOCAL_MACRO(47)
+# if NDNBOOST_PP_LOCAL_R(47)
+    NDNBOOST_PP_LOCAL_MACRO(47)
 # endif
-# if BOOST_PP_LOCAL_R(46)
-    BOOST_PP_LOCAL_MACRO(46)
+# if NDNBOOST_PP_LOCAL_R(46)
+    NDNBOOST_PP_LOCAL_MACRO(46)
 # endif
-# if BOOST_PP_LOCAL_R(45)
-    BOOST_PP_LOCAL_MACRO(45)
+# if NDNBOOST_PP_LOCAL_R(45)
+    NDNBOOST_PP_LOCAL_MACRO(45)
 # endif
-# if BOOST_PP_LOCAL_R(44)
-    BOOST_PP_LOCAL_MACRO(44)
+# if NDNBOOST_PP_LOCAL_R(44)
+    NDNBOOST_PP_LOCAL_MACRO(44)
 # endif
-# if BOOST_PP_LOCAL_R(43)
-    BOOST_PP_LOCAL_MACRO(43)
+# if NDNBOOST_PP_LOCAL_R(43)
+    NDNBOOST_PP_LOCAL_MACRO(43)
 # endif
-# if BOOST_PP_LOCAL_R(42)
-    BOOST_PP_LOCAL_MACRO(42)
+# if NDNBOOST_PP_LOCAL_R(42)
+    NDNBOOST_PP_LOCAL_MACRO(42)
 # endif
-# if BOOST_PP_LOCAL_R(41)
-    BOOST_PP_LOCAL_MACRO(41)
+# if NDNBOOST_PP_LOCAL_R(41)
+    NDNBOOST_PP_LOCAL_MACRO(41)
 # endif
-# if BOOST_PP_LOCAL_R(40)
-    BOOST_PP_LOCAL_MACRO(40)
+# if NDNBOOST_PP_LOCAL_R(40)
+    NDNBOOST_PP_LOCAL_MACRO(40)
 # endif
-# if BOOST_PP_LOCAL_R(39)
-    BOOST_PP_LOCAL_MACRO(39)
+# if NDNBOOST_PP_LOCAL_R(39)
+    NDNBOOST_PP_LOCAL_MACRO(39)
 # endif
-# if BOOST_PP_LOCAL_R(38)
-    BOOST_PP_LOCAL_MACRO(38)
+# if NDNBOOST_PP_LOCAL_R(38)
+    NDNBOOST_PP_LOCAL_MACRO(38)
 # endif
-# if BOOST_PP_LOCAL_R(37)
-    BOOST_PP_LOCAL_MACRO(37)
+# if NDNBOOST_PP_LOCAL_R(37)
+    NDNBOOST_PP_LOCAL_MACRO(37)
 # endif
-# if BOOST_PP_LOCAL_R(36)
-    BOOST_PP_LOCAL_MACRO(36)
+# if NDNBOOST_PP_LOCAL_R(36)
+    NDNBOOST_PP_LOCAL_MACRO(36)
 # endif
-# if BOOST_PP_LOCAL_R(35)
-    BOOST_PP_LOCAL_MACRO(35)
+# if NDNBOOST_PP_LOCAL_R(35)
+    NDNBOOST_PP_LOCAL_MACRO(35)
 # endif
-# if BOOST_PP_LOCAL_R(34)
-    BOOST_PP_LOCAL_MACRO(34)
+# if NDNBOOST_PP_LOCAL_R(34)
+    NDNBOOST_PP_LOCAL_MACRO(34)
 # endif
-# if BOOST_PP_LOCAL_R(33)
-    BOOST_PP_LOCAL_MACRO(33)
+# if NDNBOOST_PP_LOCAL_R(33)
+    NDNBOOST_PP_LOCAL_MACRO(33)
 # endif
-# if BOOST_PP_LOCAL_R(32)
-    BOOST_PP_LOCAL_MACRO(32)
+# if NDNBOOST_PP_LOCAL_R(32)
+    NDNBOOST_PP_LOCAL_MACRO(32)
 # endif
-# if BOOST_PP_LOCAL_R(31)
-    BOOST_PP_LOCAL_MACRO(31)
+# if NDNBOOST_PP_LOCAL_R(31)
+    NDNBOOST_PP_LOCAL_MACRO(31)
 # endif
-# if BOOST_PP_LOCAL_R(30)
-    BOOST_PP_LOCAL_MACRO(30)
+# if NDNBOOST_PP_LOCAL_R(30)
+    NDNBOOST_PP_LOCAL_MACRO(30)
 # endif
-# if BOOST_PP_LOCAL_R(29)
-    BOOST_PP_LOCAL_MACRO(29)
+# if NDNBOOST_PP_LOCAL_R(29)
+    NDNBOOST_PP_LOCAL_MACRO(29)
 # endif
-# if BOOST_PP_LOCAL_R(28)
-    BOOST_PP_LOCAL_MACRO(28)
+# if NDNBOOST_PP_LOCAL_R(28)
+    NDNBOOST_PP_LOCAL_MACRO(28)
 # endif
-# if BOOST_PP_LOCAL_R(27)
-    BOOST_PP_LOCAL_MACRO(27)
+# if NDNBOOST_PP_LOCAL_R(27)
+    NDNBOOST_PP_LOCAL_MACRO(27)
 # endif
-# if BOOST_PP_LOCAL_R(26)
-    BOOST_PP_LOCAL_MACRO(26)
+# if NDNBOOST_PP_LOCAL_R(26)
+    NDNBOOST_PP_LOCAL_MACRO(26)
 # endif
-# if BOOST_PP_LOCAL_R(25)
-    BOOST_PP_LOCAL_MACRO(25)
+# if NDNBOOST_PP_LOCAL_R(25)
+    NDNBOOST_PP_LOCAL_MACRO(25)
 # endif
-# if BOOST_PP_LOCAL_R(24)
-    BOOST_PP_LOCAL_MACRO(24)
+# if NDNBOOST_PP_LOCAL_R(24)
+    NDNBOOST_PP_LOCAL_MACRO(24)
 # endif
-# if BOOST_PP_LOCAL_R(23)
-    BOOST_PP_LOCAL_MACRO(23)
+# if NDNBOOST_PP_LOCAL_R(23)
+    NDNBOOST_PP_LOCAL_MACRO(23)
 # endif
-# if BOOST_PP_LOCAL_R(22)
-    BOOST_PP_LOCAL_MACRO(22)
+# if NDNBOOST_PP_LOCAL_R(22)
+    NDNBOOST_PP_LOCAL_MACRO(22)
 # endif
-# if BOOST_PP_LOCAL_R(21)
-    BOOST_PP_LOCAL_MACRO(21)
+# if NDNBOOST_PP_LOCAL_R(21)
+    NDNBOOST_PP_LOCAL_MACRO(21)
 # endif
-# if BOOST_PP_LOCAL_R(20)
-    BOOST_PP_LOCAL_MACRO(20)
+# if NDNBOOST_PP_LOCAL_R(20)
+    NDNBOOST_PP_LOCAL_MACRO(20)
 # endif
-# if BOOST_PP_LOCAL_R(19)
-    BOOST_PP_LOCAL_MACRO(19)
+# if NDNBOOST_PP_LOCAL_R(19)
+    NDNBOOST_PP_LOCAL_MACRO(19)
 # endif
-# if BOOST_PP_LOCAL_R(18)
-    BOOST_PP_LOCAL_MACRO(18)
+# if NDNBOOST_PP_LOCAL_R(18)
+    NDNBOOST_PP_LOCAL_MACRO(18)
 # endif
-# if BOOST_PP_LOCAL_R(17)
-    BOOST_PP_LOCAL_MACRO(17)
+# if NDNBOOST_PP_LOCAL_R(17)
+    NDNBOOST_PP_LOCAL_MACRO(17)
 # endif
-# if BOOST_PP_LOCAL_R(16)
-    BOOST_PP_LOCAL_MACRO(16)
+# if NDNBOOST_PP_LOCAL_R(16)
+    NDNBOOST_PP_LOCAL_MACRO(16)
 # endif
-# if BOOST_PP_LOCAL_R(15)
-    BOOST_PP_LOCAL_MACRO(15)
+# if NDNBOOST_PP_LOCAL_R(15)
+    NDNBOOST_PP_LOCAL_MACRO(15)
 # endif
-# if BOOST_PP_LOCAL_R(14)
-    BOOST_PP_LOCAL_MACRO(14)
+# if NDNBOOST_PP_LOCAL_R(14)
+    NDNBOOST_PP_LOCAL_MACRO(14)
 # endif
-# if BOOST_PP_LOCAL_R(13)
-    BOOST_PP_LOCAL_MACRO(13)
+# if NDNBOOST_PP_LOCAL_R(13)
+    NDNBOOST_PP_LOCAL_MACRO(13)
 # endif
-# if BOOST_PP_LOCAL_R(12)
-    BOOST_PP_LOCAL_MACRO(12)
+# if NDNBOOST_PP_LOCAL_R(12)
+    NDNBOOST_PP_LOCAL_MACRO(12)
 # endif
-# if BOOST_PP_LOCAL_R(11)
-    BOOST_PP_LOCAL_MACRO(11)
+# if NDNBOOST_PP_LOCAL_R(11)
+    NDNBOOST_PP_LOCAL_MACRO(11)
 # endif
-# if BOOST_PP_LOCAL_R(10)
-    BOOST_PP_LOCAL_MACRO(10)
+# if NDNBOOST_PP_LOCAL_R(10)
+    NDNBOOST_PP_LOCAL_MACRO(10)
 # endif
-# if BOOST_PP_LOCAL_R(9)
-    BOOST_PP_LOCAL_MACRO(9)
+# if NDNBOOST_PP_LOCAL_R(9)
+    NDNBOOST_PP_LOCAL_MACRO(9)
 # endif
-# if BOOST_PP_LOCAL_R(8)
-    BOOST_PP_LOCAL_MACRO(8)
+# if NDNBOOST_PP_LOCAL_R(8)
+    NDNBOOST_PP_LOCAL_MACRO(8)
 # endif
-# if BOOST_PP_LOCAL_R(7)
-    BOOST_PP_LOCAL_MACRO(7)
+# if NDNBOOST_PP_LOCAL_R(7)
+    NDNBOOST_PP_LOCAL_MACRO(7)
 # endif
-# if BOOST_PP_LOCAL_R(6)
-    BOOST_PP_LOCAL_MACRO(6)
+# if NDNBOOST_PP_LOCAL_R(6)
+    NDNBOOST_PP_LOCAL_MACRO(6)
 # endif
-# if BOOST_PP_LOCAL_R(5)
-    BOOST_PP_LOCAL_MACRO(5)
+# if NDNBOOST_PP_LOCAL_R(5)
+    NDNBOOST_PP_LOCAL_MACRO(5)
 # endif
-# if BOOST_PP_LOCAL_R(4)
-    BOOST_PP_LOCAL_MACRO(4)
+# if NDNBOOST_PP_LOCAL_R(4)
+    NDNBOOST_PP_LOCAL_MACRO(4)
 # endif
-# if BOOST_PP_LOCAL_R(3)
-    BOOST_PP_LOCAL_MACRO(3)
+# if NDNBOOST_PP_LOCAL_R(3)
+    NDNBOOST_PP_LOCAL_MACRO(3)
 # endif
-# if BOOST_PP_LOCAL_R(2)
-    BOOST_PP_LOCAL_MACRO(2)
+# if NDNBOOST_PP_LOCAL_R(2)
+    NDNBOOST_PP_LOCAL_MACRO(2)
 # endif
-# if BOOST_PP_LOCAL_R(1)
-    BOOST_PP_LOCAL_MACRO(1)
+# if NDNBOOST_PP_LOCAL_R(1)
+    NDNBOOST_PP_LOCAL_MACRO(1)
 # endif
-# if BOOST_PP_LOCAL_R(0)
-    BOOST_PP_LOCAL_MACRO(0)
+# if NDNBOOST_PP_LOCAL_R(0)
+    NDNBOOST_PP_LOCAL_MACRO(0)
 # endif
diff --git a/include/ndnboost/preprocessor/iteration/detail/self.hpp b/include/ndnboost/preprocessor/iteration/detail/self.hpp
index 757185c..e840c99 100644
--- a/include/ndnboost/preprocessor/iteration/detail/self.hpp
+++ b/include/ndnboost/preprocessor/iteration/detail/self.hpp
@@ -9,13 +9,13 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# if !defined(BOOST_PP_INDIRECT_SELF)
-#    error BOOST_PP_ERROR:  no indirect file to include
+# if !defined(NDNBOOST_PP_INDIRECT_SELF)
+#    error NDNBOOST_PP_ERROR:  no indirect file to include
 # endif
 #
-# define BOOST_PP_IS_SELFISH 1
+# define NDNBOOST_PP_IS_SELFISH 1
 #
-# include BOOST_PP_INDIRECT_SELF
+# include NDNBOOST_PP_INDIRECT_SELF
 #
-# undef BOOST_PP_IS_SELFISH
-# undef BOOST_PP_INDIRECT_SELF
+# undef NDNBOOST_PP_IS_SELFISH
+# undef NDNBOOST_PP_INDIRECT_SELF
diff --git a/include/ndnboost/preprocessor/iteration/detail/start.hpp b/include/ndnboost/preprocessor/iteration/detail/start.hpp
index 31f9cf9..1faf032 100644
--- a/include/ndnboost/preprocessor/iteration/detail/start.hpp
+++ b/include/ndnboost/preprocessor/iteration/detail/start.hpp
@@ -11,89 +11,89 @@
 #
 # include <ndnboost/preprocessor/slot/detail/shared.hpp>
 #
-# undef BOOST_PP_LOCAL_SE
+# undef NDNBOOST_PP_LOCAL_SE
 #
-# undef BOOST_PP_LOCAL_SE_DIGIT_1
-# undef BOOST_PP_LOCAL_SE_DIGIT_2
-# undef BOOST_PP_LOCAL_SE_DIGIT_3
-# undef BOOST_PP_LOCAL_SE_DIGIT_4
-# undef BOOST_PP_LOCAL_SE_DIGIT_5
-# undef BOOST_PP_LOCAL_SE_DIGIT_6
-# undef BOOST_PP_LOCAL_SE_DIGIT_7
-# undef BOOST_PP_LOCAL_SE_DIGIT_8
-# undef BOOST_PP_LOCAL_SE_DIGIT_9
-# undef BOOST_PP_LOCAL_SE_DIGIT_10
+# undef NDNBOOST_PP_LOCAL_SE_DIGIT_1
+# undef NDNBOOST_PP_LOCAL_SE_DIGIT_2
+# undef NDNBOOST_PP_LOCAL_SE_DIGIT_3
+# undef NDNBOOST_PP_LOCAL_SE_DIGIT_4
+# undef NDNBOOST_PP_LOCAL_SE_DIGIT_5
+# undef NDNBOOST_PP_LOCAL_SE_DIGIT_6
+# undef NDNBOOST_PP_LOCAL_SE_DIGIT_7
+# undef NDNBOOST_PP_LOCAL_SE_DIGIT_8
+# undef NDNBOOST_PP_LOCAL_SE_DIGIT_9
+# undef NDNBOOST_PP_LOCAL_SE_DIGIT_10
 #
-# if BOOST_PP_SLOT_TEMP_3 == 0
-#    define BOOST_PP_LOCAL_SE_DIGIT_3 0
-# elif BOOST_PP_SLOT_TEMP_3 == 1
-#    define BOOST_PP_LOCAL_SE_DIGIT_3 1
-# elif BOOST_PP_SLOT_TEMP_3 == 2
-#    define BOOST_PP_LOCAL_SE_DIGIT_3 2
-# elif BOOST_PP_SLOT_TEMP_3 == 3
-#    define BOOST_PP_LOCAL_SE_DIGIT_3 3
-# elif BOOST_PP_SLOT_TEMP_3 == 4
-#    define BOOST_PP_LOCAL_SE_DIGIT_3 4
-# elif BOOST_PP_SLOT_TEMP_3 == 5
-#    define BOOST_PP_LOCAL_SE_DIGIT_3 5
-# elif BOOST_PP_SLOT_TEMP_3 == 6
-#    define BOOST_PP_LOCAL_SE_DIGIT_3 6
-# elif BOOST_PP_SLOT_TEMP_3 == 7
-#    define BOOST_PP_LOCAL_SE_DIGIT_3 7
-# elif BOOST_PP_SLOT_TEMP_3 == 8
-#    define BOOST_PP_LOCAL_SE_DIGIT_3 8
-# elif BOOST_PP_SLOT_TEMP_3 == 9
-#    define BOOST_PP_LOCAL_SE_DIGIT_3 9
+# if NDNBOOST_PP_SLOT_TEMP_3 == 0
+#    define NDNBOOST_PP_LOCAL_SE_DIGIT_3 0
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 1
+#    define NDNBOOST_PP_LOCAL_SE_DIGIT_3 1
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 2
+#    define NDNBOOST_PP_LOCAL_SE_DIGIT_3 2
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 3
+#    define NDNBOOST_PP_LOCAL_SE_DIGIT_3 3
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 4
+#    define NDNBOOST_PP_LOCAL_SE_DIGIT_3 4
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 5
+#    define NDNBOOST_PP_LOCAL_SE_DIGIT_3 5
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 6
+#    define NDNBOOST_PP_LOCAL_SE_DIGIT_3 6
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 7
+#    define NDNBOOST_PP_LOCAL_SE_DIGIT_3 7
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 8
+#    define NDNBOOST_PP_LOCAL_SE_DIGIT_3 8
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 9
+#    define NDNBOOST_PP_LOCAL_SE_DIGIT_3 9
 # endif
 #
-# if BOOST_PP_SLOT_TEMP_2 == 0
-#    define BOOST_PP_LOCAL_SE_DIGIT_2 0
-# elif BOOST_PP_SLOT_TEMP_2 == 1
-#    define BOOST_PP_LOCAL_SE_DIGIT_2 1
-# elif BOOST_PP_SLOT_TEMP_2 == 2
-#    define BOOST_PP_LOCAL_SE_DIGIT_2 2
-# elif BOOST_PP_SLOT_TEMP_2 == 3
-#    define BOOST_PP_LOCAL_SE_DIGIT_2 3
-# elif BOOST_PP_SLOT_TEMP_2 == 4
-#    define BOOST_PP_LOCAL_SE_DIGIT_2 4
-# elif BOOST_PP_SLOT_TEMP_2 == 5
-#    define BOOST_PP_LOCAL_SE_DIGIT_2 5
-# elif BOOST_PP_SLOT_TEMP_2 == 6
-#    define BOOST_PP_LOCAL_SE_DIGIT_2 6
-# elif BOOST_PP_SLOT_TEMP_2 == 7
-#    define BOOST_PP_LOCAL_SE_DIGIT_2 7
-# elif BOOST_PP_SLOT_TEMP_2 == 8
-#    define BOOST_PP_LOCAL_SE_DIGIT_2 8
-# elif BOOST_PP_SLOT_TEMP_2 == 9
-#    define BOOST_PP_LOCAL_SE_DIGIT_2 9
+# if NDNBOOST_PP_SLOT_TEMP_2 == 0
+#    define NDNBOOST_PP_LOCAL_SE_DIGIT_2 0
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 1
+#    define NDNBOOST_PP_LOCAL_SE_DIGIT_2 1
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 2
+#    define NDNBOOST_PP_LOCAL_SE_DIGIT_2 2
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 3
+#    define NDNBOOST_PP_LOCAL_SE_DIGIT_2 3
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 4
+#    define NDNBOOST_PP_LOCAL_SE_DIGIT_2 4
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 5
+#    define NDNBOOST_PP_LOCAL_SE_DIGIT_2 5
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 6
+#    define NDNBOOST_PP_LOCAL_SE_DIGIT_2 6
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 7
+#    define NDNBOOST_PP_LOCAL_SE_DIGIT_2 7
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 8
+#    define NDNBOOST_PP_LOCAL_SE_DIGIT_2 8
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 9
+#    define NDNBOOST_PP_LOCAL_SE_DIGIT_2 9
 # endif
 #
-# if BOOST_PP_SLOT_TEMP_1 == 0
-#    define BOOST_PP_LOCAL_SE_DIGIT_1 0
-# elif BOOST_PP_SLOT_TEMP_1 == 1
-#    define BOOST_PP_LOCAL_SE_DIGIT_1 1
-# elif BOOST_PP_SLOT_TEMP_1 == 2
-#    define BOOST_PP_LOCAL_SE_DIGIT_1 2
-# elif BOOST_PP_SLOT_TEMP_1 == 3
-#    define BOOST_PP_LOCAL_SE_DIGIT_1 3
-# elif BOOST_PP_SLOT_TEMP_1 == 4
-#    define BOOST_PP_LOCAL_SE_DIGIT_1 4
-# elif BOOST_PP_SLOT_TEMP_1 == 5
-#    define BOOST_PP_LOCAL_SE_DIGIT_1 5
-# elif BOOST_PP_SLOT_TEMP_1 == 6
-#    define BOOST_PP_LOCAL_SE_DIGIT_1 6
-# elif BOOST_PP_SLOT_TEMP_1 == 7
-#    define BOOST_PP_LOCAL_SE_DIGIT_1 7
-# elif BOOST_PP_SLOT_TEMP_1 == 8
-#    define BOOST_PP_LOCAL_SE_DIGIT_1 8
-# elif BOOST_PP_SLOT_TEMP_1 == 9
-#    define BOOST_PP_LOCAL_SE_DIGIT_1 9
+# if NDNBOOST_PP_SLOT_TEMP_1 == 0
+#    define NDNBOOST_PP_LOCAL_SE_DIGIT_1 0
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 1
+#    define NDNBOOST_PP_LOCAL_SE_DIGIT_1 1
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 2
+#    define NDNBOOST_PP_LOCAL_SE_DIGIT_1 2
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 3
+#    define NDNBOOST_PP_LOCAL_SE_DIGIT_1 3
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 4
+#    define NDNBOOST_PP_LOCAL_SE_DIGIT_1 4
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 5
+#    define NDNBOOST_PP_LOCAL_SE_DIGIT_1 5
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 6
+#    define NDNBOOST_PP_LOCAL_SE_DIGIT_1 6
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 7
+#    define NDNBOOST_PP_LOCAL_SE_DIGIT_1 7
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 8
+#    define NDNBOOST_PP_LOCAL_SE_DIGIT_1 8
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 9
+#    define NDNBOOST_PP_LOCAL_SE_DIGIT_1 9
 # endif
 #
-# if BOOST_PP_LOCAL_SE_DIGIT_3
-#    define BOOST_PP_LOCAL_SE() BOOST_PP_SLOT_CC_3(BOOST_PP_LOCAL_SE_DIGIT_3, BOOST_PP_LOCAL_SE_DIGIT_2, BOOST_PP_LOCAL_SE_DIGIT_1)
-# elif BOOST_PP_LOCAL_SE_DIGIT_2
-#    define BOOST_PP_LOCAL_SE() BOOST_PP_SLOT_CC_2(BOOST_PP_LOCAL_SE_DIGIT_2, BOOST_PP_LOCAL_SE_DIGIT_1)
+# if NDNBOOST_PP_LOCAL_SE_DIGIT_3
+#    define NDNBOOST_PP_LOCAL_SE() NDNBOOST_PP_SLOT_CC_3(NDNBOOST_PP_LOCAL_SE_DIGIT_3, NDNBOOST_PP_LOCAL_SE_DIGIT_2, NDNBOOST_PP_LOCAL_SE_DIGIT_1)
+# elif NDNBOOST_PP_LOCAL_SE_DIGIT_2
+#    define NDNBOOST_PP_LOCAL_SE() NDNBOOST_PP_SLOT_CC_2(NDNBOOST_PP_LOCAL_SE_DIGIT_2, NDNBOOST_PP_LOCAL_SE_DIGIT_1)
 # else
-#    define BOOST_PP_LOCAL_SE() BOOST_PP_LOCAL_SE_DIGIT_1
+#    define NDNBOOST_PP_LOCAL_SE() NDNBOOST_PP_LOCAL_SE_DIGIT_1
 # endif
diff --git a/include/ndnboost/preprocessor/iteration/iterate.hpp b/include/ndnboost/preprocessor/iteration/iterate.hpp
index 8a11939..06e1941 100644
--- a/include/ndnboost/preprocessor/iteration/iterate.hpp
+++ b/include/ndnboost/preprocessor/iteration/iterate.hpp
@@ -9,8 +9,8 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_ITERATION_ITERATE_HPP
-# define BOOST_PREPROCESSOR_ITERATION_ITERATE_HPP
+# ifndef NDNBOOST_PREPROCESSOR_ITERATION_ITERATE_HPP
+# define NDNBOOST_PREPROCESSOR_ITERATION_ITERATE_HPP
 #
 # include <ndnboost/preprocessor/arithmetic/dec.hpp>
 # include <ndnboost/preprocessor/arithmetic/inc.hpp>
@@ -20,63 +20,63 @@
 # include <ndnboost/preprocessor/slot/slot.hpp>
 # include <ndnboost/preprocessor/tuple/elem.hpp>
 #
-# /* BOOST_PP_ITERATION_DEPTH */
+# /* NDNBOOST_PP_ITERATION_DEPTH */
 #
-# define BOOST_PP_ITERATION_DEPTH() 0
+# define NDNBOOST_PP_ITERATION_DEPTH() 0
 #
-# /* BOOST_PP_ITERATION */
+# /* NDNBOOST_PP_ITERATION */
 #
-# define BOOST_PP_ITERATION() BOOST_PP_CAT(BOOST_PP_ITERATION_, BOOST_PP_ITERATION_DEPTH())
+# define NDNBOOST_PP_ITERATION() NDNBOOST_PP_CAT(NDNBOOST_PP_ITERATION_, NDNBOOST_PP_ITERATION_DEPTH())
 #
-# /* BOOST_PP_ITERATION_START && BOOST_PP_ITERATION_FINISH */
+# /* NDNBOOST_PP_ITERATION_START && NDNBOOST_PP_ITERATION_FINISH */
 #
-# define BOOST_PP_ITERATION_START() BOOST_PP_CAT(BOOST_PP_ITERATION_START_, BOOST_PP_ITERATION_DEPTH())
-# define BOOST_PP_ITERATION_FINISH() BOOST_PP_CAT(BOOST_PP_ITERATION_FINISH_, BOOST_PP_ITERATION_DEPTH())
+# define NDNBOOST_PP_ITERATION_START() NDNBOOST_PP_CAT(NDNBOOST_PP_ITERATION_START_, NDNBOOST_PP_ITERATION_DEPTH())
+# define NDNBOOST_PP_ITERATION_FINISH() NDNBOOST_PP_CAT(NDNBOOST_PP_ITERATION_FINISH_, NDNBOOST_PP_ITERATION_DEPTH())
 #
-# /* BOOST_PP_ITERATION_FLAGS */
+# /* NDNBOOST_PP_ITERATION_FLAGS */
 #
-# define BOOST_PP_ITERATION_FLAGS() (BOOST_PP_CAT(BOOST_PP_ITERATION_FLAGS_, BOOST_PP_ITERATION_DEPTH())())
+# define NDNBOOST_PP_ITERATION_FLAGS() (NDNBOOST_PP_CAT(NDNBOOST_PP_ITERATION_FLAGS_, NDNBOOST_PP_ITERATION_DEPTH())())
 #
-# /* BOOST_PP_FRAME_ITERATION */
+# /* NDNBOOST_PP_FRAME_ITERATION */
 #
-# define BOOST_PP_FRAME_ITERATION(i) BOOST_PP_CAT(BOOST_PP_ITERATION_, i)
+# define NDNBOOST_PP_FRAME_ITERATION(i) NDNBOOST_PP_CAT(NDNBOOST_PP_ITERATION_, i)
 #
-# /* BOOST_PP_FRAME_START && BOOST_PP_FRAME_FINISH */
+# /* NDNBOOST_PP_FRAME_START && NDNBOOST_PP_FRAME_FINISH */
 #
-# define BOOST_PP_FRAME_START(i) BOOST_PP_CAT(BOOST_PP_ITERATION_START_, i)
-# define BOOST_PP_FRAME_FINISH(i) BOOST_PP_CAT(BOOST_PP_ITERATION_FINISH_, i)
+# define NDNBOOST_PP_FRAME_START(i) NDNBOOST_PP_CAT(NDNBOOST_PP_ITERATION_START_, i)
+# define NDNBOOST_PP_FRAME_FINISH(i) NDNBOOST_PP_CAT(NDNBOOST_PP_ITERATION_FINISH_, i)
 #
-# /* BOOST_PP_FRAME_FLAGS */
+# /* NDNBOOST_PP_FRAME_FLAGS */
 #
-# define BOOST_PP_FRAME_FLAGS(i) (BOOST_PP_CAT(BOOST_PP_ITERATION_FLAGS_, i)())
+# define NDNBOOST_PP_FRAME_FLAGS(i) (NDNBOOST_PP_CAT(NDNBOOST_PP_ITERATION_FLAGS_, i)())
 #
-# /* BOOST_PP_RELATIVE_ITERATION */
+# /* NDNBOOST_PP_RELATIVE_ITERATION */
 #
-# define BOOST_PP_RELATIVE_ITERATION(i) BOOST_PP_CAT(BOOST_PP_RELATIVE_, i)(BOOST_PP_ITERATION_)
+# define NDNBOOST_PP_RELATIVE_ITERATION(i) NDNBOOST_PP_CAT(NDNBOOST_PP_RELATIVE_, i)(NDNBOOST_PP_ITERATION_)
 #
-# define BOOST_PP_RELATIVE_0(m) BOOST_PP_CAT(m, BOOST_PP_ITERATION_DEPTH())
-# define BOOST_PP_RELATIVE_1(m) BOOST_PP_CAT(m, BOOST_PP_DEC(BOOST_PP_ITERATION_DEPTH()))
-# define BOOST_PP_RELATIVE_2(m) BOOST_PP_CAT(m, BOOST_PP_DEC(BOOST_PP_DEC(BOOST_PP_ITERATION_DEPTH())))
-# define BOOST_PP_RELATIVE_3(m) BOOST_PP_CAT(m, BOOST_PP_DEC(BOOST_PP_DEC(BOOST_PP_DEC(BOOST_PP_ITERATION_DEPTH()))))
-# define BOOST_PP_RELATIVE_4(m) BOOST_PP_CAT(m, BOOST_PP_DEC(BOOST_PP_DEC(BOOST_PP_DEC(BOOST_PP_DEC(BOOST_PP_ITERATION_DEPTH())))))
+# define NDNBOOST_PP_RELATIVE_0(m) NDNBOOST_PP_CAT(m, NDNBOOST_PP_ITERATION_DEPTH())
+# define NDNBOOST_PP_RELATIVE_1(m) NDNBOOST_PP_CAT(m, NDNBOOST_PP_DEC(NDNBOOST_PP_ITERATION_DEPTH()))
+# define NDNBOOST_PP_RELATIVE_2(m) NDNBOOST_PP_CAT(m, NDNBOOST_PP_DEC(NDNBOOST_PP_DEC(NDNBOOST_PP_ITERATION_DEPTH())))
+# define NDNBOOST_PP_RELATIVE_3(m) NDNBOOST_PP_CAT(m, NDNBOOST_PP_DEC(NDNBOOST_PP_DEC(NDNBOOST_PP_DEC(NDNBOOST_PP_ITERATION_DEPTH()))))
+# define NDNBOOST_PP_RELATIVE_4(m) NDNBOOST_PP_CAT(m, NDNBOOST_PP_DEC(NDNBOOST_PP_DEC(NDNBOOST_PP_DEC(NDNBOOST_PP_DEC(NDNBOOST_PP_ITERATION_DEPTH())))))
 #
-# /* BOOST_PP_RELATIVE_START && BOOST_PP_RELATIVE_FINISH */
+# /* NDNBOOST_PP_RELATIVE_START && NDNBOOST_PP_RELATIVE_FINISH */
 #
-# define BOOST_PP_RELATIVE_START(i) BOOST_PP_CAT(BOOST_PP_RELATIVE_, i)(BOOST_PP_ITERATION_START_)
-# define BOOST_PP_RELATIVE_FINISH(i) BOOST_PP_CAT(BOOST_PP_RELATIVE_, i)(BOOST_PP_ITERATION_FINISH_)
+# define NDNBOOST_PP_RELATIVE_START(i) NDNBOOST_PP_CAT(NDNBOOST_PP_RELATIVE_, i)(NDNBOOST_PP_ITERATION_START_)
+# define NDNBOOST_PP_RELATIVE_FINISH(i) NDNBOOST_PP_CAT(NDNBOOST_PP_RELATIVE_, i)(NDNBOOST_PP_ITERATION_FINISH_)
 #
-# /* BOOST_PP_RELATIVE_FLAGS */
+# /* NDNBOOST_PP_RELATIVE_FLAGS */
 #
-# define BOOST_PP_RELATIVE_FLAGS(i) (BOOST_PP_CAT(BOOST_PP_RELATIVE_, i)(BOOST_PP_ITERATION_FLAGS_)())
+# define NDNBOOST_PP_RELATIVE_FLAGS(i) (NDNBOOST_PP_CAT(NDNBOOST_PP_RELATIVE_, i)(NDNBOOST_PP_ITERATION_FLAGS_)())
 #
-# /* BOOST_PP_ITERATE */
+# /* NDNBOOST_PP_ITERATE */
 #
-# define BOOST_PP_ITERATE() BOOST_PP_CAT(BOOST_PP_ITERATE_, BOOST_PP_INC(BOOST_PP_ITERATION_DEPTH()))
+# define NDNBOOST_PP_ITERATE() NDNBOOST_PP_CAT(NDNBOOST_PP_ITERATE_, NDNBOOST_PP_INC(NDNBOOST_PP_ITERATION_DEPTH()))
 #
-# define BOOST_PP_ITERATE_1 <ndnboost/preprocessor/iteration/detail/iter/forward1.hpp>
-# define BOOST_PP_ITERATE_2 <ndnboost/preprocessor/iteration/detail/iter/forward2.hpp>
-# define BOOST_PP_ITERATE_3 <ndnboost/preprocessor/iteration/detail/iter/forward3.hpp>
-# define BOOST_PP_ITERATE_4 <ndnboost/preprocessor/iteration/detail/iter/forward4.hpp>
-# define BOOST_PP_ITERATE_5 <ndnboost/preprocessor/iteration/detail/iter/forward5.hpp>
+# define NDNBOOST_PP_ITERATE_1 <ndnboost/preprocessor/iteration/detail/iter/forward1.hpp>
+# define NDNBOOST_PP_ITERATE_2 <ndnboost/preprocessor/iteration/detail/iter/forward2.hpp>
+# define NDNBOOST_PP_ITERATE_3 <ndnboost/preprocessor/iteration/detail/iter/forward3.hpp>
+# define NDNBOOST_PP_ITERATE_4 <ndnboost/preprocessor/iteration/detail/iter/forward4.hpp>
+# define NDNBOOST_PP_ITERATE_5 <ndnboost/preprocessor/iteration/detail/iter/forward5.hpp>
 #
 # endif
diff --git a/include/ndnboost/preprocessor/iteration/local.hpp b/include/ndnboost/preprocessor/iteration/local.hpp
index 76992b7..8aac8af 100644
--- a/include/ndnboost/preprocessor/iteration/local.hpp
+++ b/include/ndnboost/preprocessor/iteration/local.hpp
@@ -9,18 +9,18 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_ITERATION_LOCAL_HPP
-# define BOOST_PREPROCESSOR_ITERATION_LOCAL_HPP
+# ifndef NDNBOOST_PREPROCESSOR_ITERATION_LOCAL_HPP
+# define NDNBOOST_PREPROCESSOR_ITERATION_LOCAL_HPP
 #
 # include <ndnboost/preprocessor/config/config.hpp>
 # include <ndnboost/preprocessor/slot/slot.hpp>
 # include <ndnboost/preprocessor/tuple/elem.hpp>
 #
-# /* BOOST_PP_LOCAL_ITERATE */
+# /* NDNBOOST_PP_LOCAL_ITERATE */
 #
-# define BOOST_PP_LOCAL_ITERATE() <ndnboost/preprocessor/iteration/detail/local.hpp>
+# define NDNBOOST_PP_LOCAL_ITERATE() <ndnboost/preprocessor/iteration/detail/local.hpp>
 #
-# define BOOST_PP_LOCAL_C(n) (BOOST_PP_LOCAL_S) <= n && (BOOST_PP_LOCAL_F) >= n
-# define BOOST_PP_LOCAL_R(n) (BOOST_PP_LOCAL_F) <= n && (BOOST_PP_LOCAL_S) >= n
+# define NDNBOOST_PP_LOCAL_C(n) (NDNBOOST_PP_LOCAL_S) <= n && (NDNBOOST_PP_LOCAL_F) >= n
+# define NDNBOOST_PP_LOCAL_R(n) (NDNBOOST_PP_LOCAL_F) <= n && (NDNBOOST_PP_LOCAL_S) >= n
 #
 # endif
diff --git a/include/ndnboost/preprocessor/iteration/self.hpp b/include/ndnboost/preprocessor/iteration/self.hpp
index f8c8528..1512f8e 100644
--- a/include/ndnboost/preprocessor/iteration/self.hpp
+++ b/include/ndnboost/preprocessor/iteration/self.hpp
@@ -9,11 +9,11 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_ITERATION_SELF_HPP
-# define BOOST_PREPROCESSOR_ITERATION_SELF_HPP
+# ifndef NDNBOOST_PREPROCESSOR_ITERATION_SELF_HPP
+# define NDNBOOST_PREPROCESSOR_ITERATION_SELF_HPP
 #
-# /* BOOST_PP_INCLUDE_SELF */
+# /* NDNBOOST_PP_INCLUDE_SELF */
 #
-# define BOOST_PP_INCLUDE_SELF() <ndnboost/preprocessor/iteration/detail/self.hpp>
+# define NDNBOOST_PP_INCLUDE_SELF() <ndnboost/preprocessor/iteration/detail/self.hpp>
 #
 # endif
diff --git a/include/ndnboost/preprocessor/list/adt.hpp b/include/ndnboost/preprocessor/list/adt.hpp
index a4e3785..072541c 100644
--- a/include/ndnboost/preprocessor/list/adt.hpp
+++ b/include/ndnboost/preprocessor/list/adt.hpp
@@ -11,63 +11,63 @@
 #
 # /* Revised by Paul Mensonides (2002) */
 #
-# ifndef BOOST_PREPROCESSOR_LIST_ADT_HPP
-# define BOOST_PREPROCESSOR_LIST_ADT_HPP
+# ifndef NDNBOOST_PREPROCESSOR_LIST_ADT_HPP
+# define NDNBOOST_PREPROCESSOR_LIST_ADT_HPP
 #
 # include <ndnboost/preprocessor/config/config.hpp>
 # include <ndnboost/preprocessor/detail/is_binary.hpp>
 # include <ndnboost/preprocessor/logical/compl.hpp>
 # include <ndnboost/preprocessor/tuple/eat.hpp>
 #
-# /* BOOST_PP_LIST_CONS */
+# /* NDNBOOST_PP_LIST_CONS */
 #
-# define BOOST_PP_LIST_CONS(head, tail) (head, tail)
+# define NDNBOOST_PP_LIST_CONS(head, tail) (head, tail)
 #
-# /* BOOST_PP_LIST_NIL */
+# /* NDNBOOST_PP_LIST_NIL */
 #
-# define BOOST_PP_LIST_NIL BOOST_PP_NIL
+# define NDNBOOST_PP_LIST_NIL NDNBOOST_PP_NIL
 #
-# /* BOOST_PP_LIST_FIRST */
+# /* NDNBOOST_PP_LIST_FIRST */
 #
-# define BOOST_PP_LIST_FIRST(list) BOOST_PP_LIST_FIRST_D(list)
+# define NDNBOOST_PP_LIST_FIRST(list) NDNBOOST_PP_LIST_FIRST_D(list)
 #
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-#    define BOOST_PP_LIST_FIRST_D(list) BOOST_PP_LIST_FIRST_I list
+# if ~NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_MWCC()
+#    define NDNBOOST_PP_LIST_FIRST_D(list) NDNBOOST_PP_LIST_FIRST_I list
 # else
-#    define BOOST_PP_LIST_FIRST_D(list) BOOST_PP_LIST_FIRST_I ## list
+#    define NDNBOOST_PP_LIST_FIRST_D(list) NDNBOOST_PP_LIST_FIRST_I ## list
 # endif
 #
-# define BOOST_PP_LIST_FIRST_I(head, tail) head
+# define NDNBOOST_PP_LIST_FIRST_I(head, tail) head
 #
-# /* BOOST_PP_LIST_REST */
+# /* NDNBOOST_PP_LIST_REST */
 #
-# define BOOST_PP_LIST_REST(list) BOOST_PP_LIST_REST_D(list)
+# define NDNBOOST_PP_LIST_REST(list) NDNBOOST_PP_LIST_REST_D(list)
 #
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-#    define BOOST_PP_LIST_REST_D(list) BOOST_PP_LIST_REST_I list
+# if ~NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_MWCC()
+#    define NDNBOOST_PP_LIST_REST_D(list) NDNBOOST_PP_LIST_REST_I list
 # else
-#    define BOOST_PP_LIST_REST_D(list) BOOST_PP_LIST_REST_I ## list
+#    define NDNBOOST_PP_LIST_REST_D(list) NDNBOOST_PP_LIST_REST_I ## list
 # endif
 #
-# define BOOST_PP_LIST_REST_I(head, tail) tail
+# define NDNBOOST_PP_LIST_REST_I(head, tail) tail
 #
-# /* BOOST_PP_LIST_IS_CONS */
+# /* NDNBOOST_PP_LIST_IS_CONS */
 #
-# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_BCC()
-#    define BOOST_PP_LIST_IS_CONS(list) BOOST_PP_LIST_IS_CONS_D(list)
-#    define BOOST_PP_LIST_IS_CONS_D(list) BOOST_PP_LIST_IS_CONS_ ## list
-#    define BOOST_PP_LIST_IS_CONS_(head, tail) 1
-#    define BOOST_PP_LIST_IS_CONS_BOOST_PP_NIL 0
+# if NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_BCC()
+#    define NDNBOOST_PP_LIST_IS_CONS(list) NDNBOOST_PP_LIST_IS_CONS_D(list)
+#    define NDNBOOST_PP_LIST_IS_CONS_D(list) NDNBOOST_PP_LIST_IS_CONS_ ## list
+#    define NDNBOOST_PP_LIST_IS_CONS_(head, tail) 1
+#    define NDNBOOST_PP_LIST_IS_CONS_NDNBOOST_PP_NIL 0
 # else
-#    define BOOST_PP_LIST_IS_CONS(list) BOOST_PP_IS_BINARY(list)
+#    define NDNBOOST_PP_LIST_IS_CONS(list) NDNBOOST_PP_IS_BINARY(list)
 # endif
 #
-# /* BOOST_PP_LIST_IS_NIL */
+# /* NDNBOOST_PP_LIST_IS_NIL */
 #
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_BCC()
-#    define BOOST_PP_LIST_IS_NIL(list) BOOST_PP_COMPL(BOOST_PP_IS_BINARY(list))
+# if ~NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_BCC()
+#    define NDNBOOST_PP_LIST_IS_NIL(list) NDNBOOST_PP_COMPL(NDNBOOST_PP_IS_BINARY(list))
 # else
-#    define BOOST_PP_LIST_IS_NIL(list) BOOST_PP_COMPL(BOOST_PP_LIST_IS_CONS(list))
+#    define NDNBOOST_PP_LIST_IS_NIL(list) NDNBOOST_PP_COMPL(NDNBOOST_PP_LIST_IS_CONS(list))
 # endif
 #
 # endif
diff --git a/include/ndnboost/preprocessor/list/append.hpp b/include/ndnboost/preprocessor/list/append.hpp
index 0f7cb4d..14f018a 100644
--- a/include/ndnboost/preprocessor/list/append.hpp
+++ b/include/ndnboost/preprocessor/list/append.hpp
@@ -11,30 +11,30 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_LIST_APPEND_HPP
-# define BOOST_PREPROCESSOR_LIST_APPEND_HPP
+# ifndef NDNBOOST_PREPROCESSOR_LIST_APPEND_HPP
+# define NDNBOOST_PREPROCESSOR_LIST_APPEND_HPP
 #
 # include <ndnboost/preprocessor/config/config.hpp>
 # include <ndnboost/preprocessor/list/fold_right.hpp>
 #
-# /* BOOST_PP_LIST_APPEND */
+# /* NDNBOOST_PP_LIST_APPEND */
 #
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_LIST_APPEND(a, b) BOOST_PP_LIST_FOLD_RIGHT(BOOST_PP_LIST_APPEND_O, b, a)
+# if ~NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_EDG()
+#    define NDNBOOST_PP_LIST_APPEND(a, b) NDNBOOST_PP_LIST_FOLD_RIGHT(NDNBOOST_PP_LIST_APPEND_O, b, a)
 # else
-#    define BOOST_PP_LIST_APPEND(a, b) BOOST_PP_LIST_APPEND_I(a, b)
-#    define BOOST_PP_LIST_APPEND_I(a, b) BOOST_PP_LIST_FOLD_RIGHT(BOOST_PP_LIST_APPEND_O, b, a)
+#    define NDNBOOST_PP_LIST_APPEND(a, b) NDNBOOST_PP_LIST_APPEND_I(a, b)
+#    define NDNBOOST_PP_LIST_APPEND_I(a, b) NDNBOOST_PP_LIST_FOLD_RIGHT(NDNBOOST_PP_LIST_APPEND_O, b, a)
 # endif
 #
-# define BOOST_PP_LIST_APPEND_O(d, s, x) (x, s)
+# define NDNBOOST_PP_LIST_APPEND_O(d, s, x) (x, s)
 #
-# /* BOOST_PP_LIST_APPEND_D */
+# /* NDNBOOST_PP_LIST_APPEND_D */
 #
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_LIST_APPEND_D(d, a, b) BOOST_PP_LIST_FOLD_RIGHT_ ## d(BOOST_PP_LIST_APPEND_O, b, a)
+# if ~NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_EDG()
+#    define NDNBOOST_PP_LIST_APPEND_D(d, a, b) NDNBOOST_PP_LIST_FOLD_RIGHT_ ## d(NDNBOOST_PP_LIST_APPEND_O, b, a)
 # else
-#    define BOOST_PP_LIST_APPEND_D(d, a, b) BOOST_PP_LIST_APPEND_D_I(d, a, b)
-#    define BOOST_PP_LIST_APPEND_D_I(d, a, b) BOOST_PP_LIST_FOLD_RIGHT_ ## d(BOOST_PP_LIST_APPEND_O, b, a)
+#    define NDNBOOST_PP_LIST_APPEND_D(d, a, b) NDNBOOST_PP_LIST_APPEND_D_I(d, a, b)
+#    define NDNBOOST_PP_LIST_APPEND_D_I(d, a, b) NDNBOOST_PP_LIST_FOLD_RIGHT_ ## d(NDNBOOST_PP_LIST_APPEND_O, b, a)
 # endif
 #
 # endif
diff --git a/include/ndnboost/preprocessor/list/detail/dmc/fold_left.hpp b/include/ndnboost/preprocessor/list/detail/dmc/fold_left.hpp
index 073cc13..34088b2 100644
--- a/include/ndnboost/preprocessor/list/detail/dmc/fold_left.hpp
+++ b/include/ndnboost/preprocessor/list/detail/dmc/fold_left.hpp
@@ -11,269 +11,269 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_LIST_DETAIL_FOLD_LEFT_HPP
-# define BOOST_PREPROCESSOR_LIST_DETAIL_FOLD_LEFT_HPP
+# ifndef NDNBOOST_PREPROCESSOR_LIST_DETAIL_FOLD_LEFT_HPP
+# define NDNBOOST_PREPROCESSOR_LIST_DETAIL_FOLD_LEFT_HPP
 #
 # include <ndnboost/preprocessor/control/expr_iif.hpp>
 # include <ndnboost/preprocessor/control/iif.hpp>
 # include <ndnboost/preprocessor/list/adt.hpp>
 # include <ndnboost/preprocessor/tuple/elem.hpp>
 #
-# define BOOST_PP_LIST_FOLD_LEFT_1(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_2, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(2, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_2(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_3, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(3, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_3(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_4, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(4, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_4(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_5, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(5, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_5(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_6, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(6, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_6(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_7, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(7, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_7(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_8, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(8, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_8(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_9, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(9, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_9(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_10, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(10, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_10(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_11, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(11, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_11(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_12, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(12, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_12(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_13, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(13, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_13(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_14, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(14, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_14(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_15, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(15, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_15(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_16, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(16, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_16(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_17, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(17, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_17(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_18, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(18, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_18(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_19, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(19, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_19(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_20, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(20, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_20(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_21, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(21, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_21(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_22, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(22, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_22(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_23, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(23, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_23(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_24, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(24, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_24(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_25, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(25, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_25(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_26, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(26, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_26(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_27, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(27, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_27(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_28, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(28, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_28(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_29, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(29, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_29(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_30, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(30, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_30(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_31, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(31, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_31(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_32, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(32, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_32(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_33, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(33, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_33(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_34, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(34, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_34(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_35, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(35, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_35(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_36, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(36, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_36(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_37, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(37, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_37(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_38, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(38, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_38(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_39, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(39, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_39(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_40, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(40, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_40(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_41, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(41, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_41(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_42, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(42, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_42(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_43, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(43, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_43(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_44, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(44, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_44(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_45, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(45, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_45(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_46, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(46, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_46(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_47, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(47, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_47(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_48, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(48, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_48(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_49, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(49, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_49(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_50, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(50, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_50(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_51, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(51, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_51(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_52, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(52, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_52(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_53, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(53, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_53(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_54, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(54, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_54(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_55, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(55, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_55(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_56, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(56, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_56(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_57, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(57, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_57(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_58, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(58, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_58(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_59, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(59, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_59(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_60, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(60, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_60(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_61, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(61, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_61(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_62, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(62, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_62(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_63, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(63, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_63(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_64, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(64, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_64(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_65, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(65, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_65(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_66, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(66, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_66(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_67, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(67, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_67(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_68, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(68, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_68(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_69, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(69, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_69(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_70, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(70, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_70(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_71, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(71, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_71(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_72, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(72, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_72(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_73, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(73, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_73(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_74, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(74, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_74(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_75, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(75, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_75(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_76, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(76, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_76(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_77, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(77, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_77(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_78, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(78, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_78(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_79, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(79, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_79(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_80, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(80, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_80(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_81, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(81, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_81(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_82, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(82, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_82(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_83, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(83, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_83(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_84, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(84, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_84(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_85, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(85, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_85(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_86, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(86, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_86(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_87, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(87, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_87(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_88, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(88, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_88(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_89, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(89, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_89(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_90, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(90, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_90(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_91, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(91, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_91(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_92, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(92, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_92(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_93, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(93, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_93(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_94, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(94, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_94(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_95, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(95, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_95(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_96, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(96, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_96(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_97, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(97, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_97(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_98, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(98, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_98(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_99, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(99, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_99(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_100, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(100, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_100(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_101, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(101, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_101(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_102, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(102, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_102(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_103, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(103, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_103(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_104, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(104, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_104(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_105, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(105, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_105(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_106, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(106, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_106(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_107, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(107, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_107(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_108, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(108, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_108(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_109, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(109, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_109(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_110, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(110, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_110(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_111, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(111, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_111(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_112, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(112, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_112(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_113, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(113, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_113(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_114, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(114, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_114(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_115, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(115, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_115(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_116, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(116, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_116(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_117, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(117, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_117(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_118, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(118, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_118(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_119, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(119, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_119(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_120, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(120, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_120(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_121, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(121, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_121(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_122, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(122, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_122(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_123, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(123, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_123(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_124, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(124, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_124(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_125, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(125, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_125(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_126, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(126, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_126(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_127, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(127, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_127(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_128, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(128, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_128(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_129, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(129, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_129(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_130, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(130, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_130(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_131, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(131, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_131(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_132, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(132, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_132(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_133, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(133, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_133(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_134, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(134, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_134(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_135, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(135, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_135(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_136, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(136, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_136(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_137, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(137, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_137(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_138, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(138, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_138(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_139, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(139, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_139(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_140, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(140, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_140(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_141, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(141, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_141(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_142, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(142, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_142(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_143, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(143, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_143(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_144, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(144, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_144(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_145, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(145, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_145(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_146, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(146, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_146(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_147, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(147, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_147(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_148, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(148, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_148(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_149, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(149, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_149(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_150, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(150, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_150(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_151, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(151, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_151(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_152, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(152, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_152(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_153, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(153, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_153(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_154, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(154, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_154(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_155, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(155, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_155(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_156, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(156, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_156(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_157, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(157, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_157(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_158, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(158, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_158(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_159, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(159, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_159(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_160, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(160, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_160(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_161, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(161, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_161(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_162, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(162, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_162(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_163, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(163, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_163(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_164, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(164, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_164(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_165, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(165, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_165(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_166, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(166, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_166(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_167, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(167, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_167(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_168, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(168, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_168(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_169, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(169, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_169(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_170, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(170, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_170(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_171, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(171, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_171(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_172, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(172, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_172(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_173, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(173, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_173(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_174, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(174, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_174(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_175, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(175, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_175(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_176, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(176, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_176(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_177, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(177, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_177(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_178, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(178, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_178(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_179, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(179, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_179(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_180, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(180, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_180(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_181, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(181, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_181(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_182, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(182, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_182(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_183, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(183, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_183(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_184, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(184, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_184(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_185, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(185, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_185(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_186, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(186, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_186(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_187, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(187, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_187(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_188, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(188, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_188(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_189, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(189, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_189(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_190, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(190, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_190(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_191, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(191, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_191(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_192, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(192, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_192(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_193, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(193, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_193(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_194, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(194, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_194(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_195, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(195, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_195(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_196, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(196, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_196(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_197, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(197, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_197(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_198, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(198, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_198(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_199, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(199, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_199(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_200, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(200, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_200(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_201, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(201, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_201(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_202, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(202, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_202(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_203, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(203, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_203(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_204, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(204, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_204(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_205, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(205, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_205(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_206, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(206, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_206(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_207, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(207, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_207(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_208, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(208, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_208(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_209, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(209, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_209(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_210, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(210, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_210(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_211, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(211, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_211(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_212, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(212, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_212(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_213, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(213, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_213(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_214, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(214, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_214(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_215, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(215, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_215(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_216, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(216, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_216(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_217, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(217, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_217(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_218, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(218, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_218(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_219, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(219, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_219(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_220, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(220, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_220(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_221, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(221, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_221(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_222, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(222, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_222(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_223, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(223, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_223(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_224, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(224, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_224(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_225, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(225, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_225(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_226, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(226, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_226(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_227, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(227, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_227(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_228, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(228, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_228(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_229, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(229, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_229(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_230, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(230, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_230(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_231, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(231, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_231(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_232, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(232, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_232(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_233, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(233, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_233(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_234, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(234, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_234(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_235, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(235, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_235(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_236, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(236, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_236(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_237, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(237, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_237(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_238, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(238, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_238(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_239, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(239, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_239(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_240, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(240, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_240(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_241, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(241, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_241(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_242, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(242, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_242(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_243, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(243, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_243(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_244, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(244, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_244(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_245, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(245, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_245(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_246, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(246, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_246(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_247, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(247, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_247(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_248, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(248, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_248(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_249, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(249, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_249(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_250, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(250, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_250(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_251, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(251, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_251(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_252, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(252, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_252(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_253, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(253, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_253(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_254, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(254, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_254(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_255, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(255, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_255(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_256, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(256, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_256(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_257, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(257, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_1(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_2, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(2, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_2(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_3, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(3, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_3(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_4, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(4, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_4(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_5, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(5, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_5(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_6, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(6, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_6(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_7, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(7, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_7(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_8, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(8, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_8(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_9, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(9, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_9(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_10, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(10, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_10(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_11, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(11, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_11(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_12, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(12, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_12(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_13, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(13, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_13(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_14, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(14, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_14(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_15, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(15, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_15(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_16, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(16, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_16(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_17, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(17, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_17(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_18, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(18, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_18(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_19, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(19, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_19(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_20, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(20, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_20(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_21, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(21, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_21(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_22, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(22, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_22(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_23, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(23, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_23(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_24, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(24, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_24(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_25, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(25, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_25(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_26, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(26, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_26(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_27, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(27, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_27(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_28, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(28, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_28(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_29, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(29, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_29(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_30, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(30, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_30(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_31, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(31, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_31(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_32, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(32, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_32(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_33, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(33, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_33(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_34, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(34, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_34(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_35, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(35, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_35(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_36, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(36, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_36(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_37, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(37, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_37(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_38, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(38, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_38(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_39, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(39, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_39(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_40, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(40, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_40(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_41, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(41, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_41(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_42, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(42, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_42(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_43, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(43, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_43(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_44, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(44, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_44(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_45, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(45, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_45(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_46, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(46, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_46(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_47, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(47, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_47(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_48, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(48, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_48(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_49, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(49, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_49(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_50, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(50, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_50(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_51, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(51, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_51(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_52, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(52, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_52(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_53, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(53, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_53(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_54, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(54, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_54(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_55, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(55, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_55(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_56, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(56, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_56(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_57, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(57, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_57(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_58, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(58, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_58(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_59, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(59, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_59(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_60, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(60, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_60(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_61, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(61, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_61(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_62, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(62, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_62(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_63, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(63, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_63(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_64, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(64, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_64(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_65, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(65, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_65(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_66, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(66, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_66(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_67, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(67, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_67(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_68, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(68, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_68(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_69, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(69, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_69(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_70, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(70, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_70(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_71, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(71, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_71(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_72, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(72, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_72(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_73, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(73, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_73(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_74, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(74, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_74(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_75, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(75, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_75(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_76, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(76, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_76(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_77, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(77, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_77(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_78, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(78, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_78(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_79, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(79, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_79(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_80, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(80, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_80(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_81, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(81, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_81(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_82, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(82, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_82(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_83, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(83, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_83(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_84, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(84, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_84(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_85, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(85, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_85(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_86, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(86, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_86(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_87, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(87, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_87(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_88, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(88, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_88(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_89, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(89, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_89(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_90, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(90, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_90(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_91, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(91, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_91(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_92, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(92, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_92(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_93, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(93, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_93(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_94, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(94, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_94(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_95, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(95, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_95(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_96, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(96, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_96(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_97, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(97, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_97(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_98, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(98, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_98(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_99, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(99, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_99(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_100, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(100, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_100(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_101, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(101, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_101(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_102, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(102, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_102(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_103, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(103, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_103(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_104, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(104, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_104(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_105, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(105, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_105(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_106, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(106, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_106(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_107, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(107, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_107(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_108, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(108, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_108(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_109, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(109, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_109(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_110, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(110, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_110(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_111, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(111, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_111(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_112, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(112, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_112(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_113, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(113, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_113(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_114, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(114, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_114(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_115, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(115, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_115(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_116, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(116, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_116(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_117, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(117, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_117(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_118, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(118, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_118(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_119, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(119, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_119(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_120, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(120, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_120(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_121, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(121, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_121(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_122, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(122, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_122(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_123, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(123, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_123(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_124, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(124, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_124(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_125, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(125, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_125(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_126, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(126, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_126(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_127, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(127, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_127(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_128, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(128, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_128(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_129, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(129, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_129(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_130, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(130, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_130(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_131, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(131, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_131(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_132, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(132, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_132(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_133, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(133, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_133(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_134, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(134, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_134(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_135, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(135, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_135(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_136, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(136, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_136(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_137, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(137, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_137(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_138, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(138, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_138(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_139, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(139, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_139(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_140, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(140, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_140(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_141, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(141, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_141(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_142, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(142, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_142(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_143, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(143, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_143(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_144, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(144, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_144(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_145, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(145, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_145(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_146, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(146, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_146(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_147, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(147, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_147(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_148, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(148, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_148(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_149, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(149, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_149(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_150, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(150, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_150(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_151, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(151, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_151(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_152, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(152, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_152(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_153, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(153, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_153(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_154, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(154, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_154(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_155, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(155, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_155(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_156, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(156, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_156(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_157, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(157, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_157(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_158, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(158, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_158(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_159, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(159, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_159(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_160, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(160, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_160(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_161, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(161, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_161(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_162, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(162, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_162(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_163, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(163, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_163(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_164, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(164, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_164(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_165, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(165, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_165(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_166, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(166, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_166(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_167, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(167, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_167(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_168, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(168, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_168(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_169, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(169, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_169(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_170, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(170, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_170(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_171, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(171, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_171(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_172, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(172, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_172(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_173, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(173, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_173(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_174, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(174, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_174(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_175, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(175, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_175(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_176, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(176, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_176(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_177, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(177, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_177(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_178, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(178, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_178(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_179, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(179, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_179(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_180, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(180, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_180(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_181, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(181, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_181(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_182, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(182, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_182(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_183, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(183, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_183(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_184, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(184, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_184(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_185, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(185, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_185(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_186, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(186, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_186(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_187, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(187, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_187(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_188, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(188, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_188(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_189, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(189, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_189(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_190, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(190, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_190(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_191, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(191, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_191(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_192, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(192, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_192(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_193, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(193, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_193(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_194, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(194, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_194(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_195, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(195, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_195(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_196, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(196, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_196(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_197, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(197, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_197(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_198, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(198, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_198(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_199, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(199, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_199(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_200, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(200, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_200(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_201, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(201, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_201(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_202, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(202, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_202(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_203, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(203, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_203(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_204, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(204, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_204(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_205, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(205, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_205(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_206, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(206, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_206(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_207, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(207, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_207(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_208, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(208, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_208(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_209, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(209, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_209(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_210, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(210, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_210(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_211, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(211, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_211(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_212, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(212, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_212(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_213, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(213, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_213(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_214, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(214, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_214(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_215, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(215, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_215(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_216, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(216, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_216(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_217, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(217, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_217(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_218, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(218, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_218(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_219, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(219, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_219(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_220, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(220, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_220(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_221, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(221, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_221(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_222, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(222, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_222(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_223, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(223, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_223(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_224, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(224, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_224(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_225, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(225, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_225(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_226, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(226, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_226(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_227, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(227, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_227(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_228, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(228, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_228(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_229, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(229, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_229(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_230, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(230, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_230(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_231, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(231, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_231(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_232, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(232, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_232(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_233, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(233, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_233(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_234, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(234, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_234(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_235, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(235, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_235(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_236, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(236, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_236(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_237, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(237, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_237(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_238, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(238, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_238(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_239, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(239, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_239(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_240, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(240, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_240(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_241, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(241, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_241(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_242, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(242, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_242(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_243, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(243, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_243(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_244, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(244, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_244(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_245, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(245, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_245(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_246, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(246, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_246(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_247, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(247, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_247(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_248, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(248, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_248(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_249, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(249, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_249(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_250, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(250, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_250(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_251, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(251, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_251(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_252, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(252, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_252(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_253, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(253, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_253(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_254, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(254, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_254(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_255, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(255, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_255(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_256, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(256, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_256(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_257, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(257, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
 #
 # endif
diff --git a/include/ndnboost/preprocessor/list/detail/edg/fold_left.hpp b/include/ndnboost/preprocessor/list/detail/edg/fold_left.hpp
index 87550f0..0356186 100644
--- a/include/ndnboost/preprocessor/list/detail/edg/fold_left.hpp
+++ b/include/ndnboost/preprocessor/list/detail/edg/fold_left.hpp
@@ -11,526 +11,526 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_LIST_DETAIL_EDG_FOLD_LEFT_HPP
-# define BOOST_PREPROCESSOR_LIST_DETAIL_EDG_FOLD_LEFT_HPP
+# ifndef NDNBOOST_PREPROCESSOR_LIST_DETAIL_EDG_FOLD_LEFT_HPP
+# define NDNBOOST_PREPROCESSOR_LIST_DETAIL_EDG_FOLD_LEFT_HPP
 #
 # include <ndnboost/preprocessor/control/expr_iif.hpp>
 # include <ndnboost/preprocessor/control/iif.hpp>
 # include <ndnboost/preprocessor/list/adt.hpp>
 # include <ndnboost/preprocessor/tuple/eat.hpp>
 #
-# define BOOST_PP_LIST_FOLD_LEFT_1(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_2(o, s, l) BOOST_PP_LIST_FOLD_LEFT_2_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_3(o, s, l) BOOST_PP_LIST_FOLD_LEFT_3_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_4(o, s, l) BOOST_PP_LIST_FOLD_LEFT_4_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_5(o, s, l) BOOST_PP_LIST_FOLD_LEFT_5_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_6(o, s, l) BOOST_PP_LIST_FOLD_LEFT_6_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_7(o, s, l) BOOST_PP_LIST_FOLD_LEFT_7_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_8(o, s, l) BOOST_PP_LIST_FOLD_LEFT_8_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_9(o, s, l) BOOST_PP_LIST_FOLD_LEFT_9_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_10(o, s, l) BOOST_PP_LIST_FOLD_LEFT_10_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_11(o, s, l) BOOST_PP_LIST_FOLD_LEFT_11_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_12(o, s, l) BOOST_PP_LIST_FOLD_LEFT_12_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_13(o, s, l) BOOST_PP_LIST_FOLD_LEFT_13_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_14(o, s, l) BOOST_PP_LIST_FOLD_LEFT_14_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_15(o, s, l) BOOST_PP_LIST_FOLD_LEFT_15_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_16(o, s, l) BOOST_PP_LIST_FOLD_LEFT_16_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_17(o, s, l) BOOST_PP_LIST_FOLD_LEFT_17_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_18(o, s, l) BOOST_PP_LIST_FOLD_LEFT_18_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_19(o, s, l) BOOST_PP_LIST_FOLD_LEFT_19_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_20(o, s, l) BOOST_PP_LIST_FOLD_LEFT_20_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_21(o, s, l) BOOST_PP_LIST_FOLD_LEFT_21_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_22(o, s, l) BOOST_PP_LIST_FOLD_LEFT_22_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_23(o, s, l) BOOST_PP_LIST_FOLD_LEFT_23_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_24(o, s, l) BOOST_PP_LIST_FOLD_LEFT_24_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_25(o, s, l) BOOST_PP_LIST_FOLD_LEFT_25_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_26(o, s, l) BOOST_PP_LIST_FOLD_LEFT_26_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_27(o, s, l) BOOST_PP_LIST_FOLD_LEFT_27_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_28(o, s, l) BOOST_PP_LIST_FOLD_LEFT_28_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_29(o, s, l) BOOST_PP_LIST_FOLD_LEFT_29_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_30(o, s, l) BOOST_PP_LIST_FOLD_LEFT_30_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_31(o, s, l) BOOST_PP_LIST_FOLD_LEFT_31_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_32(o, s, l) BOOST_PP_LIST_FOLD_LEFT_32_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_33(o, s, l) BOOST_PP_LIST_FOLD_LEFT_33_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_34(o, s, l) BOOST_PP_LIST_FOLD_LEFT_34_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_35(o, s, l) BOOST_PP_LIST_FOLD_LEFT_35_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_36(o, s, l) BOOST_PP_LIST_FOLD_LEFT_36_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_37(o, s, l) BOOST_PP_LIST_FOLD_LEFT_37_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_38(o, s, l) BOOST_PP_LIST_FOLD_LEFT_38_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_39(o, s, l) BOOST_PP_LIST_FOLD_LEFT_39_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_40(o, s, l) BOOST_PP_LIST_FOLD_LEFT_40_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_41(o, s, l) BOOST_PP_LIST_FOLD_LEFT_41_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_42(o, s, l) BOOST_PP_LIST_FOLD_LEFT_42_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_43(o, s, l) BOOST_PP_LIST_FOLD_LEFT_43_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_44(o, s, l) BOOST_PP_LIST_FOLD_LEFT_44_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_45(o, s, l) BOOST_PP_LIST_FOLD_LEFT_45_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_46(o, s, l) BOOST_PP_LIST_FOLD_LEFT_46_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_47(o, s, l) BOOST_PP_LIST_FOLD_LEFT_47_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_48(o, s, l) BOOST_PP_LIST_FOLD_LEFT_48_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_49(o, s, l) BOOST_PP_LIST_FOLD_LEFT_49_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_50(o, s, l) BOOST_PP_LIST_FOLD_LEFT_50_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_51(o, s, l) BOOST_PP_LIST_FOLD_LEFT_51_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_52(o, s, l) BOOST_PP_LIST_FOLD_LEFT_52_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_53(o, s, l) BOOST_PP_LIST_FOLD_LEFT_53_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_54(o, s, l) BOOST_PP_LIST_FOLD_LEFT_54_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_55(o, s, l) BOOST_PP_LIST_FOLD_LEFT_55_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_56(o, s, l) BOOST_PP_LIST_FOLD_LEFT_56_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_57(o, s, l) BOOST_PP_LIST_FOLD_LEFT_57_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_58(o, s, l) BOOST_PP_LIST_FOLD_LEFT_58_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_59(o, s, l) BOOST_PP_LIST_FOLD_LEFT_59_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_60(o, s, l) BOOST_PP_LIST_FOLD_LEFT_60_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_61(o, s, l) BOOST_PP_LIST_FOLD_LEFT_61_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_62(o, s, l) BOOST_PP_LIST_FOLD_LEFT_62_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_63(o, s, l) BOOST_PP_LIST_FOLD_LEFT_63_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_64(o, s, l) BOOST_PP_LIST_FOLD_LEFT_64_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_65(o, s, l) BOOST_PP_LIST_FOLD_LEFT_65_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_66(o, s, l) BOOST_PP_LIST_FOLD_LEFT_66_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_67(o, s, l) BOOST_PP_LIST_FOLD_LEFT_67_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_68(o, s, l) BOOST_PP_LIST_FOLD_LEFT_68_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_69(o, s, l) BOOST_PP_LIST_FOLD_LEFT_69_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_70(o, s, l) BOOST_PP_LIST_FOLD_LEFT_70_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_71(o, s, l) BOOST_PP_LIST_FOLD_LEFT_71_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_72(o, s, l) BOOST_PP_LIST_FOLD_LEFT_72_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_73(o, s, l) BOOST_PP_LIST_FOLD_LEFT_73_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_74(o, s, l) BOOST_PP_LIST_FOLD_LEFT_74_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_75(o, s, l) BOOST_PP_LIST_FOLD_LEFT_75_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_76(o, s, l) BOOST_PP_LIST_FOLD_LEFT_76_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_77(o, s, l) BOOST_PP_LIST_FOLD_LEFT_77_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_78(o, s, l) BOOST_PP_LIST_FOLD_LEFT_78_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_79(o, s, l) BOOST_PP_LIST_FOLD_LEFT_79_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_80(o, s, l) BOOST_PP_LIST_FOLD_LEFT_80_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_81(o, s, l) BOOST_PP_LIST_FOLD_LEFT_81_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_82(o, s, l) BOOST_PP_LIST_FOLD_LEFT_82_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_83(o, s, l) BOOST_PP_LIST_FOLD_LEFT_83_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_84(o, s, l) BOOST_PP_LIST_FOLD_LEFT_84_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_85(o, s, l) BOOST_PP_LIST_FOLD_LEFT_85_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_86(o, s, l) BOOST_PP_LIST_FOLD_LEFT_86_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_87(o, s, l) BOOST_PP_LIST_FOLD_LEFT_87_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_88(o, s, l) BOOST_PP_LIST_FOLD_LEFT_88_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_89(o, s, l) BOOST_PP_LIST_FOLD_LEFT_89_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_90(o, s, l) BOOST_PP_LIST_FOLD_LEFT_90_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_91(o, s, l) BOOST_PP_LIST_FOLD_LEFT_91_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_92(o, s, l) BOOST_PP_LIST_FOLD_LEFT_92_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_93(o, s, l) BOOST_PP_LIST_FOLD_LEFT_93_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_94(o, s, l) BOOST_PP_LIST_FOLD_LEFT_94_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_95(o, s, l) BOOST_PP_LIST_FOLD_LEFT_95_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_96(o, s, l) BOOST_PP_LIST_FOLD_LEFT_96_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_97(o, s, l) BOOST_PP_LIST_FOLD_LEFT_97_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_98(o, s, l) BOOST_PP_LIST_FOLD_LEFT_98_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_99(o, s, l) BOOST_PP_LIST_FOLD_LEFT_99_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_100(o, s, l) BOOST_PP_LIST_FOLD_LEFT_100_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_101(o, s, l) BOOST_PP_LIST_FOLD_LEFT_101_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_102(o, s, l) BOOST_PP_LIST_FOLD_LEFT_102_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_103(o, s, l) BOOST_PP_LIST_FOLD_LEFT_103_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_104(o, s, l) BOOST_PP_LIST_FOLD_LEFT_104_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_105(o, s, l) BOOST_PP_LIST_FOLD_LEFT_105_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_106(o, s, l) BOOST_PP_LIST_FOLD_LEFT_106_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_107(o, s, l) BOOST_PP_LIST_FOLD_LEFT_107_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_108(o, s, l) BOOST_PP_LIST_FOLD_LEFT_108_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_109(o, s, l) BOOST_PP_LIST_FOLD_LEFT_109_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_110(o, s, l) BOOST_PP_LIST_FOLD_LEFT_110_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_111(o, s, l) BOOST_PP_LIST_FOLD_LEFT_111_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_112(o, s, l) BOOST_PP_LIST_FOLD_LEFT_112_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_113(o, s, l) BOOST_PP_LIST_FOLD_LEFT_113_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_114(o, s, l) BOOST_PP_LIST_FOLD_LEFT_114_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_115(o, s, l) BOOST_PP_LIST_FOLD_LEFT_115_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_116(o, s, l) BOOST_PP_LIST_FOLD_LEFT_116_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_117(o, s, l) BOOST_PP_LIST_FOLD_LEFT_117_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_118(o, s, l) BOOST_PP_LIST_FOLD_LEFT_118_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_119(o, s, l) BOOST_PP_LIST_FOLD_LEFT_119_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_120(o, s, l) BOOST_PP_LIST_FOLD_LEFT_120_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_121(o, s, l) BOOST_PP_LIST_FOLD_LEFT_121_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_122(o, s, l) BOOST_PP_LIST_FOLD_LEFT_122_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_123(o, s, l) BOOST_PP_LIST_FOLD_LEFT_123_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_124(o, s, l) BOOST_PP_LIST_FOLD_LEFT_124_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_125(o, s, l) BOOST_PP_LIST_FOLD_LEFT_125_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_126(o, s, l) BOOST_PP_LIST_FOLD_LEFT_126_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_127(o, s, l) BOOST_PP_LIST_FOLD_LEFT_127_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_128(o, s, l) BOOST_PP_LIST_FOLD_LEFT_128_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_129(o, s, l) BOOST_PP_LIST_FOLD_LEFT_129_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_130(o, s, l) BOOST_PP_LIST_FOLD_LEFT_130_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_131(o, s, l) BOOST_PP_LIST_FOLD_LEFT_131_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_132(o, s, l) BOOST_PP_LIST_FOLD_LEFT_132_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_133(o, s, l) BOOST_PP_LIST_FOLD_LEFT_133_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_134(o, s, l) BOOST_PP_LIST_FOLD_LEFT_134_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_135(o, s, l) BOOST_PP_LIST_FOLD_LEFT_135_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_136(o, s, l) BOOST_PP_LIST_FOLD_LEFT_136_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_137(o, s, l) BOOST_PP_LIST_FOLD_LEFT_137_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_138(o, s, l) BOOST_PP_LIST_FOLD_LEFT_138_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_139(o, s, l) BOOST_PP_LIST_FOLD_LEFT_139_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_140(o, s, l) BOOST_PP_LIST_FOLD_LEFT_140_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_141(o, s, l) BOOST_PP_LIST_FOLD_LEFT_141_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_142(o, s, l) BOOST_PP_LIST_FOLD_LEFT_142_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_143(o, s, l) BOOST_PP_LIST_FOLD_LEFT_143_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_144(o, s, l) BOOST_PP_LIST_FOLD_LEFT_144_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_145(o, s, l) BOOST_PP_LIST_FOLD_LEFT_145_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_146(o, s, l) BOOST_PP_LIST_FOLD_LEFT_146_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_147(o, s, l) BOOST_PP_LIST_FOLD_LEFT_147_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_148(o, s, l) BOOST_PP_LIST_FOLD_LEFT_148_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_149(o, s, l) BOOST_PP_LIST_FOLD_LEFT_149_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_150(o, s, l) BOOST_PP_LIST_FOLD_LEFT_150_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_151(o, s, l) BOOST_PP_LIST_FOLD_LEFT_151_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_152(o, s, l) BOOST_PP_LIST_FOLD_LEFT_152_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_153(o, s, l) BOOST_PP_LIST_FOLD_LEFT_153_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_154(o, s, l) BOOST_PP_LIST_FOLD_LEFT_154_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_155(o, s, l) BOOST_PP_LIST_FOLD_LEFT_155_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_156(o, s, l) BOOST_PP_LIST_FOLD_LEFT_156_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_157(o, s, l) BOOST_PP_LIST_FOLD_LEFT_157_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_158(o, s, l) BOOST_PP_LIST_FOLD_LEFT_158_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_159(o, s, l) BOOST_PP_LIST_FOLD_LEFT_159_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_160(o, s, l) BOOST_PP_LIST_FOLD_LEFT_160_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_161(o, s, l) BOOST_PP_LIST_FOLD_LEFT_161_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_162(o, s, l) BOOST_PP_LIST_FOLD_LEFT_162_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_163(o, s, l) BOOST_PP_LIST_FOLD_LEFT_163_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_164(o, s, l) BOOST_PP_LIST_FOLD_LEFT_164_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_165(o, s, l) BOOST_PP_LIST_FOLD_LEFT_165_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_166(o, s, l) BOOST_PP_LIST_FOLD_LEFT_166_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_167(o, s, l) BOOST_PP_LIST_FOLD_LEFT_167_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_168(o, s, l) BOOST_PP_LIST_FOLD_LEFT_168_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_169(o, s, l) BOOST_PP_LIST_FOLD_LEFT_169_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_170(o, s, l) BOOST_PP_LIST_FOLD_LEFT_170_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_171(o, s, l) BOOST_PP_LIST_FOLD_LEFT_171_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_172(o, s, l) BOOST_PP_LIST_FOLD_LEFT_172_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_173(o, s, l) BOOST_PP_LIST_FOLD_LEFT_173_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_174(o, s, l) BOOST_PP_LIST_FOLD_LEFT_174_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_175(o, s, l) BOOST_PP_LIST_FOLD_LEFT_175_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_176(o, s, l) BOOST_PP_LIST_FOLD_LEFT_176_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_177(o, s, l) BOOST_PP_LIST_FOLD_LEFT_177_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_178(o, s, l) BOOST_PP_LIST_FOLD_LEFT_178_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_179(o, s, l) BOOST_PP_LIST_FOLD_LEFT_179_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_180(o, s, l) BOOST_PP_LIST_FOLD_LEFT_180_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_181(o, s, l) BOOST_PP_LIST_FOLD_LEFT_181_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_182(o, s, l) BOOST_PP_LIST_FOLD_LEFT_182_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_183(o, s, l) BOOST_PP_LIST_FOLD_LEFT_183_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_184(o, s, l) BOOST_PP_LIST_FOLD_LEFT_184_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_185(o, s, l) BOOST_PP_LIST_FOLD_LEFT_185_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_186(o, s, l) BOOST_PP_LIST_FOLD_LEFT_186_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_187(o, s, l) BOOST_PP_LIST_FOLD_LEFT_187_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_188(o, s, l) BOOST_PP_LIST_FOLD_LEFT_188_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_189(o, s, l) BOOST_PP_LIST_FOLD_LEFT_189_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_190(o, s, l) BOOST_PP_LIST_FOLD_LEFT_190_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_191(o, s, l) BOOST_PP_LIST_FOLD_LEFT_191_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_192(o, s, l) BOOST_PP_LIST_FOLD_LEFT_192_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_193(o, s, l) BOOST_PP_LIST_FOLD_LEFT_193_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_194(o, s, l) BOOST_PP_LIST_FOLD_LEFT_194_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_195(o, s, l) BOOST_PP_LIST_FOLD_LEFT_195_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_196(o, s, l) BOOST_PP_LIST_FOLD_LEFT_196_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_197(o, s, l) BOOST_PP_LIST_FOLD_LEFT_197_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_198(o, s, l) BOOST_PP_LIST_FOLD_LEFT_198_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_199(o, s, l) BOOST_PP_LIST_FOLD_LEFT_199_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_200(o, s, l) BOOST_PP_LIST_FOLD_LEFT_200_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_201(o, s, l) BOOST_PP_LIST_FOLD_LEFT_201_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_202(o, s, l) BOOST_PP_LIST_FOLD_LEFT_202_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_203(o, s, l) BOOST_PP_LIST_FOLD_LEFT_203_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_204(o, s, l) BOOST_PP_LIST_FOLD_LEFT_204_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_205(o, s, l) BOOST_PP_LIST_FOLD_LEFT_205_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_206(o, s, l) BOOST_PP_LIST_FOLD_LEFT_206_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_207(o, s, l) BOOST_PP_LIST_FOLD_LEFT_207_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_208(o, s, l) BOOST_PP_LIST_FOLD_LEFT_208_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_209(o, s, l) BOOST_PP_LIST_FOLD_LEFT_209_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_210(o, s, l) BOOST_PP_LIST_FOLD_LEFT_210_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_211(o, s, l) BOOST_PP_LIST_FOLD_LEFT_211_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_212(o, s, l) BOOST_PP_LIST_FOLD_LEFT_212_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_213(o, s, l) BOOST_PP_LIST_FOLD_LEFT_213_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_214(o, s, l) BOOST_PP_LIST_FOLD_LEFT_214_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_215(o, s, l) BOOST_PP_LIST_FOLD_LEFT_215_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_216(o, s, l) BOOST_PP_LIST_FOLD_LEFT_216_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_217(o, s, l) BOOST_PP_LIST_FOLD_LEFT_217_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_218(o, s, l) BOOST_PP_LIST_FOLD_LEFT_218_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_219(o, s, l) BOOST_PP_LIST_FOLD_LEFT_219_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_220(o, s, l) BOOST_PP_LIST_FOLD_LEFT_220_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_221(o, s, l) BOOST_PP_LIST_FOLD_LEFT_221_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_222(o, s, l) BOOST_PP_LIST_FOLD_LEFT_222_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_223(o, s, l) BOOST_PP_LIST_FOLD_LEFT_223_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_224(o, s, l) BOOST_PP_LIST_FOLD_LEFT_224_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_225(o, s, l) BOOST_PP_LIST_FOLD_LEFT_225_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_226(o, s, l) BOOST_PP_LIST_FOLD_LEFT_226_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_227(o, s, l) BOOST_PP_LIST_FOLD_LEFT_227_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_228(o, s, l) BOOST_PP_LIST_FOLD_LEFT_228_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_229(o, s, l) BOOST_PP_LIST_FOLD_LEFT_229_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_230(o, s, l) BOOST_PP_LIST_FOLD_LEFT_230_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_231(o, s, l) BOOST_PP_LIST_FOLD_LEFT_231_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_232(o, s, l) BOOST_PP_LIST_FOLD_LEFT_232_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_233(o, s, l) BOOST_PP_LIST_FOLD_LEFT_233_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_234(o, s, l) BOOST_PP_LIST_FOLD_LEFT_234_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_235(o, s, l) BOOST_PP_LIST_FOLD_LEFT_235_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_236(o, s, l) BOOST_PP_LIST_FOLD_LEFT_236_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_237(o, s, l) BOOST_PP_LIST_FOLD_LEFT_237_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_238(o, s, l) BOOST_PP_LIST_FOLD_LEFT_238_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_239(o, s, l) BOOST_PP_LIST_FOLD_LEFT_239_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_240(o, s, l) BOOST_PP_LIST_FOLD_LEFT_240_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_241(o, s, l) BOOST_PP_LIST_FOLD_LEFT_241_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_242(o, s, l) BOOST_PP_LIST_FOLD_LEFT_242_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_243(o, s, l) BOOST_PP_LIST_FOLD_LEFT_243_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_244(o, s, l) BOOST_PP_LIST_FOLD_LEFT_244_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_245(o, s, l) BOOST_PP_LIST_FOLD_LEFT_245_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_246(o, s, l) BOOST_PP_LIST_FOLD_LEFT_246_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_247(o, s, l) BOOST_PP_LIST_FOLD_LEFT_247_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_248(o, s, l) BOOST_PP_LIST_FOLD_LEFT_248_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_249(o, s, l) BOOST_PP_LIST_FOLD_LEFT_249_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_250(o, s, l) BOOST_PP_LIST_FOLD_LEFT_250_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_251(o, s, l) BOOST_PP_LIST_FOLD_LEFT_251_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_252(o, s, l) BOOST_PP_LIST_FOLD_LEFT_252_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_253(o, s, l) BOOST_PP_LIST_FOLD_LEFT_253_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_254(o, s, l) BOOST_PP_LIST_FOLD_LEFT_254_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_255(o, s, l) BOOST_PP_LIST_FOLD_LEFT_255_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_256(o, s, l) BOOST_PP_LIST_FOLD_LEFT_256_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_1(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_1_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_2(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_2_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_3(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_3_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_4(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_4_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_5(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_5_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_6(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_6_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_7(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_7_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_8(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_8_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_9(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_9_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_10(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_10_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_11(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_11_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_12(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_12_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_13(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_13_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_14(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_14_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_15(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_15_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_16(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_16_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_17(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_17_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_18(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_18_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_19(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_19_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_20(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_20_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_21(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_21_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_22(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_22_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_23(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_23_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_24(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_24_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_25(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_25_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_26(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_26_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_27(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_27_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_28(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_28_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_29(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_29_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_30(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_30_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_31(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_31_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_32(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_32_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_33(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_33_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_34(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_34_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_35(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_35_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_36(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_36_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_37(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_37_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_38(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_38_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_39(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_39_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_40(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_40_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_41(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_41_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_42(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_42_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_43(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_43_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_44(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_44_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_45(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_45_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_46(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_46_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_47(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_47_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_48(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_48_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_49(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_49_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_50(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_50_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_51(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_51_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_52(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_52_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_53(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_53_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_54(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_54_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_55(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_55_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_56(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_56_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_57(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_57_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_58(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_58_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_59(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_59_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_60(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_60_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_61(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_61_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_62(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_62_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_63(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_63_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_64(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_64_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_65(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_65_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_66(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_66_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_67(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_67_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_68(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_68_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_69(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_69_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_70(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_70_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_71(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_71_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_72(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_72_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_73(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_73_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_74(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_74_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_75(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_75_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_76(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_76_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_77(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_77_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_78(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_78_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_79(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_79_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_80(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_80_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_81(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_81_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_82(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_82_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_83(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_83_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_84(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_84_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_85(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_85_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_86(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_86_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_87(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_87_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_88(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_88_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_89(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_89_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_90(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_90_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_91(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_91_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_92(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_92_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_93(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_93_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_94(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_94_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_95(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_95_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_96(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_96_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_97(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_97_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_98(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_98_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_99(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_99_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_100(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_100_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_101(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_101_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_102(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_102_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_103(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_103_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_104(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_104_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_105(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_105_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_106(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_106_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_107(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_107_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_108(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_108_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_109(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_109_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_110(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_110_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_111(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_111_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_112(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_112_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_113(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_113_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_114(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_114_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_115(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_115_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_116(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_116_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_117(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_117_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_118(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_118_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_119(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_119_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_120(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_120_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_121(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_121_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_122(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_122_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_123(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_123_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_124(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_124_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_125(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_125_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_126(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_126_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_127(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_127_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_128(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_128_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_129(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_129_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_130(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_130_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_131(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_131_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_132(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_132_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_133(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_133_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_134(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_134_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_135(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_135_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_136(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_136_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_137(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_137_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_138(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_138_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_139(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_139_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_140(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_140_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_141(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_141_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_142(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_142_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_143(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_143_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_144(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_144_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_145(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_145_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_146(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_146_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_147(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_147_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_148(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_148_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_149(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_149_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_150(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_150_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_151(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_151_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_152(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_152_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_153(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_153_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_154(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_154_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_155(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_155_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_156(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_156_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_157(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_157_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_158(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_158_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_159(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_159_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_160(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_160_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_161(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_161_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_162(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_162_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_163(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_163_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_164(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_164_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_165(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_165_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_166(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_166_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_167(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_167_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_168(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_168_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_169(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_169_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_170(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_170_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_171(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_171_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_172(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_172_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_173(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_173_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_174(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_174_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_175(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_175_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_176(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_176_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_177(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_177_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_178(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_178_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_179(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_179_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_180(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_180_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_181(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_181_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_182(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_182_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_183(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_183_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_184(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_184_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_185(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_185_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_186(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_186_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_187(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_187_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_188(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_188_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_189(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_189_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_190(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_190_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_191(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_191_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_192(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_192_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_193(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_193_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_194(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_194_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_195(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_195_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_196(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_196_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_197(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_197_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_198(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_198_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_199(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_199_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_200(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_200_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_201(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_201_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_202(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_202_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_203(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_203_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_204(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_204_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_205(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_205_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_206(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_206_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_207(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_207_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_208(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_208_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_209(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_209_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_210(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_210_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_211(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_211_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_212(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_212_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_213(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_213_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_214(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_214_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_215(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_215_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_216(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_216_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_217(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_217_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_218(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_218_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_219(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_219_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_220(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_220_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_221(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_221_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_222(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_222_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_223(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_223_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_224(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_224_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_225(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_225_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_226(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_226_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_227(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_227_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_228(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_228_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_229(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_229_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_230(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_230_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_231(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_231_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_232(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_232_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_233(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_233_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_234(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_234_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_235(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_235_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_236(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_236_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_237(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_237_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_238(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_238_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_239(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_239_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_240(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_240_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_241(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_241_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_242(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_242_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_243(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_243_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_244(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_244_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_245(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_245_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_246(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_246_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_247(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_247_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_248(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_248_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_249(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_249_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_250(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_250_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_251(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_251_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_252(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_252_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_253(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_253_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_254(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_254_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_255(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_255_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_256(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_256_D(o, s, l)
 #
-# define BOOST_PP_LIST_FOLD_LEFT_1_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_2, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(2, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_2_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_3, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(3, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_3_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_4, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(4, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_4_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_5, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(5, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_5_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_6, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(6, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_6_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_7, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(7, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_7_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_8, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(8, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_8_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_9, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(9, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_9_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_10, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(10, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_10_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_11, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(11, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_11_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_12, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(12, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_12_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_13, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(13, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_13_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_14, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(14, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_14_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_15, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(15, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_15_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_16, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(16, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_16_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_17, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(17, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_17_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_18, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(18, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_18_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_19, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(19, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_19_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_20, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(20, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_20_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_21, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(21, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_21_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_22, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(22, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_22_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_23, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(23, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_23_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_24, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(24, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_24_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_25, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(25, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_25_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_26, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(26, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_26_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_27, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(27, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_27_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_28, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(28, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_28_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_29, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(29, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_29_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_30, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(30, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_30_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_31, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(31, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_31_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_32, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(32, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_32_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_33, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(33, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_33_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_34, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(34, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_34_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_35, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(35, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_35_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_36, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(36, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_36_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_37, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(37, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_37_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_38, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(38, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_38_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_39, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(39, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_39_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_40, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(40, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_40_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_41, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(41, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_41_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_42, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(42, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_42_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_43, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(43, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_43_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_44, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(44, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_44_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_45, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(45, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_45_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_46, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(46, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_46_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_47, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(47, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_47_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_48, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(48, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_48_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_49, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(49, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_49_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_50, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(50, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_50_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_51, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(51, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_51_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_52, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(52, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_52_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_53, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(53, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_53_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_54, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(54, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_54_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_55, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(55, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_55_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_56, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(56, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_56_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_57, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(57, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_57_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_58, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(58, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_58_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_59, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(59, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_59_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_60, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(60, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_60_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_61, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(61, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_61_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_62, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(62, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_62_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_63, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(63, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_63_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_64, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(64, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_64_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_65, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(65, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_65_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_66, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(66, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_66_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_67, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(67, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_67_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_68, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(68, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_68_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_69, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(69, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_69_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_70, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(70, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_70_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_71, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(71, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_71_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_72, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(72, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_72_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_73, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(73, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_73_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_74, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(74, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_74_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_75, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(75, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_75_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_76, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(76, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_76_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_77, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(77, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_77_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_78, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(78, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_78_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_79, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(79, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_79_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_80, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(80, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_80_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_81, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(81, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_81_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_82, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(82, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_82_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_83, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(83, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_83_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_84, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(84, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_84_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_85, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(85, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_85_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_86, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(86, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_86_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_87, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(87, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_87_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_88, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(88, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_88_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_89, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(89, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_89_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_90, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(90, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_90_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_91, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(91, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_91_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_92, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(92, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_92_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_93, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(93, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_93_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_94, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(94, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_94_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_95, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(95, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_95_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_96, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(96, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_96_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_97, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(97, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_97_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_98, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(98, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_98_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_99, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(99, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_99_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_100, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(100, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_100_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_101, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(101, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_101_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_102, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(102, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_102_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_103, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(103, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_103_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_104, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(104, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_104_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_105, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(105, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_105_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_106, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(106, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_106_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_107, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(107, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_107_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_108, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(108, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_108_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_109, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(109, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_109_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_110, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(110, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_110_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_111, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(111, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_111_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_112, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(112, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_112_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_113, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(113, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_113_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_114, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(114, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_114_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_115, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(115, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_115_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_116, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(116, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_116_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_117, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(117, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_117_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_118, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(118, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_118_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_119, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(119, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_119_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_120, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(120, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_120_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_121, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(121, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_121_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_122, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(122, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_122_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_123, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(123, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_123_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_124, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(124, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_124_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_125, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(125, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_125_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_126, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(126, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_126_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_127, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(127, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_127_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_128, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(128, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_128_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_129, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(129, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_129_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_130, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(130, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_130_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_131, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(131, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_131_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_132, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(132, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_132_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_133, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(133, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_133_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_134, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(134, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_134_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_135, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(135, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_135_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_136, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(136, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_136_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_137, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(137, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_137_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_138, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(138, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_138_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_139, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(139, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_139_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_140, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(140, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_140_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_141, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(141, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_141_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_142, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(142, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_142_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_143, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(143, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_143_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_144, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(144, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_144_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_145, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(145, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_145_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_146, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(146, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_146_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_147, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(147, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_147_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_148, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(148, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_148_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_149, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(149, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_149_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_150, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(150, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_150_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_151, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(151, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_151_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_152, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(152, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_152_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_153, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(153, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_153_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_154, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(154, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_154_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_155, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(155, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_155_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_156, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(156, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_156_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_157, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(157, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_157_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_158, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(158, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_158_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_159, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(159, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_159_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_160, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(160, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_160_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_161, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(161, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_161_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_162, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(162, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_162_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_163, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(163, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_163_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_164, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(164, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_164_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_165, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(165, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_165_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_166, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(166, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_166_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_167, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(167, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_167_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_168, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(168, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_168_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_169, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(169, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_169_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_170, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(170, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_170_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_171, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(171, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_171_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_172, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(172, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_172_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_173, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(173, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_173_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_174, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(174, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_174_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_175, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(175, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_175_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_176, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(176, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_176_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_177, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(177, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_177_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_178, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(178, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_178_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_179, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(179, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_179_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_180, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(180, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_180_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_181, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(181, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_181_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_182, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(182, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_182_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_183, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(183, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_183_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_184, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(184, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_184_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_185, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(185, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_185_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_186, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(186, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_186_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_187, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(187, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_187_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_188, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(188, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_188_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_189, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(189, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_189_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_190, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(190, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_190_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_191, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(191, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_191_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_192, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(192, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_192_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_193, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(193, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_193_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_194, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(194, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_194_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_195, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(195, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_195_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_196, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(196, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_196_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_197, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(197, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_197_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_198, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(198, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_198_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_199, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(199, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_199_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_200, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(200, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_200_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_201, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(201, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_201_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_202, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(202, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_202_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_203, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(203, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_203_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_204, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(204, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_204_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_205, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(205, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_205_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_206, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(206, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_206_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_207, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(207, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_207_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_208, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(208, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_208_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_209, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(209, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_209_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_210, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(210, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_210_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_211, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(211, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_211_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_212, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(212, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_212_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_213, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(213, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_213_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_214, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(214, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_214_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_215, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(215, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_215_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_216, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(216, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_216_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_217, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(217, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_217_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_218, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(218, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_218_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_219, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(219, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_219_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_220, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(220, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_220_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_221, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(221, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_221_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_222, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(222, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_222_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_223, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(223, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_223_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_224, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(224, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_224_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_225, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(225, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_225_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_226, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(226, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_226_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_227, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(227, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_227_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_228, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(228, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_228_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_229, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(229, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_229_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_230, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(230, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_230_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_231, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(231, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_231_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_232, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(232, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_232_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_233, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(233, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_233_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_234, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(234, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_234_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_235, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(235, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_235_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_236, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(236, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_236_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_237, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(237, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_237_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_238, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(238, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_238_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_239, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(239, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_239_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_240, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(240, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_240_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_241, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(241, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_241_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_242, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(242, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_242_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_243, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(243, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_243_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_244, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(244, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_244_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_245, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(245, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_245_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_246, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(246, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_246_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_247, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(247, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_247_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_248, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(248, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_248_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_249, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(249, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_249_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_250, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(250, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_250_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_251, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(251, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_251_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_252, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(252, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_252_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_253, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(253, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_253_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_254, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(254, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_254_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_255, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(255, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_255_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_256, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(256, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_256_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_257, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(257, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_1_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_2, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(2, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_2_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_3, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(3, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_3_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_4, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(4, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_4_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_5, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(5, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_5_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_6, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(6, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_6_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_7, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(7, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_7_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_8, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(8, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_8_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_9, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(9, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_9_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_10, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(10, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_10_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_11, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(11, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_11_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_12, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(12, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_12_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_13, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(13, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_13_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_14, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(14, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_14_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_15, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(15, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_15_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_16, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(16, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_16_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_17, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(17, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_17_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_18, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(18, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_18_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_19, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(19, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_19_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_20, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(20, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_20_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_21, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(21, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_21_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_22, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(22, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_22_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_23, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(23, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_23_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_24, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(24, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_24_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_25, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(25, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_25_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_26, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(26, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_26_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_27, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(27, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_27_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_28, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(28, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_28_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_29, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(29, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_29_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_30, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(30, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_30_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_31, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(31, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_31_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_32, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(32, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_32_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_33, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(33, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_33_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_34, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(34, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_34_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_35, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(35, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_35_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_36, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(36, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_36_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_37, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(37, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_37_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_38, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(38, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_38_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_39, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(39, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_39_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_40, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(40, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_40_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_41, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(41, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_41_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_42, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(42, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_42_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_43, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(43, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_43_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_44, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(44, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_44_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_45, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(45, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_45_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_46, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(46, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_46_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_47, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(47, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_47_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_48, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(48, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_48_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_49, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(49, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_49_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_50, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(50, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_50_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_51, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(51, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_51_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_52, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(52, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_52_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_53, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(53, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_53_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_54, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(54, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_54_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_55, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(55, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_55_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_56, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(56, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_56_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_57, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(57, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_57_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_58, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(58, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_58_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_59, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(59, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_59_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_60, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(60, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_60_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_61, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(61, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_61_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_62, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(62, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_62_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_63, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(63, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_63_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_64, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(64, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_64_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_65, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(65, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_65_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_66, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(66, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_66_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_67, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(67, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_67_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_68, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(68, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_68_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_69, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(69, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_69_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_70, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(70, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_70_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_71, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(71, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_71_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_72, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(72, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_72_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_73, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(73, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_73_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_74, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(74, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_74_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_75, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(75, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_75_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_76, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(76, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_76_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_77, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(77, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_77_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_78, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(78, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_78_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_79, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(79, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_79_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_80, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(80, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_80_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_81, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(81, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_81_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_82, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(82, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_82_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_83, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(83, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_83_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_84, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(84, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_84_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_85, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(85, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_85_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_86, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(86, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_86_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_87, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(87, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_87_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_88, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(88, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_88_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_89, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(89, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_89_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_90, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(90, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_90_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_91, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(91, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_91_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_92, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(92, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_92_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_93, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(93, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_93_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_94, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(94, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_94_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_95, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(95, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_95_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_96, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(96, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_96_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_97, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(97, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_97_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_98, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(98, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_98_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_99, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(99, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_99_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_100, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(100, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_100_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_101, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(101, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_101_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_102, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(102, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_102_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_103, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(103, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_103_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_104, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(104, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_104_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_105, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(105, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_105_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_106, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(106, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_106_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_107, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(107, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_107_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_108, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(108, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_108_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_109, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(109, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_109_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_110, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(110, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_110_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_111, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(111, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_111_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_112, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(112, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_112_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_113, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(113, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_113_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_114, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(114, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_114_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_115, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(115, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_115_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_116, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(116, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_116_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_117, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(117, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_117_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_118, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(118, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_118_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_119, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(119, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_119_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_120, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(120, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_120_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_121, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(121, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_121_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_122, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(122, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_122_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_123, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(123, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_123_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_124, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(124, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_124_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_125, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(125, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_125_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_126, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(126, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_126_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_127, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(127, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_127_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_128, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(128, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_128_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_129, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(129, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_129_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_130, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(130, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_130_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_131, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(131, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_131_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_132, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(132, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_132_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_133, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(133, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_133_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_134, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(134, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_134_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_135, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(135, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_135_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_136, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(136, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_136_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_137, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(137, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_137_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_138, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(138, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_138_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_139, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(139, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_139_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_140, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(140, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_140_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_141, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(141, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_141_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_142, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(142, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_142_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_143, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(143, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_143_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_144, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(144, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_144_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_145, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(145, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_145_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_146, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(146, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_146_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_147, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(147, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_147_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_148, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(148, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_148_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_149, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(149, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_149_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_150, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(150, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_150_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_151, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(151, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_151_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_152, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(152, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_152_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_153, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(153, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_153_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_154, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(154, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_154_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_155, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(155, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_155_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_156, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(156, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_156_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_157, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(157, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_157_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_158, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(158, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_158_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_159, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(159, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_159_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_160, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(160, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_160_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_161, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(161, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_161_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_162, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(162, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_162_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_163, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(163, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_163_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_164, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(164, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_164_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_165, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(165, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_165_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_166, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(166, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_166_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_167, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(167, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_167_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_168, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(168, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_168_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_169, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(169, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_169_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_170, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(170, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_170_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_171, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(171, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_171_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_172, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(172, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_172_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_173, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(173, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_173_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_174, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(174, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_174_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_175, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(175, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_175_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_176, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(176, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_176_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_177, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(177, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_177_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_178, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(178, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_178_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_179, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(179, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_179_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_180, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(180, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_180_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_181, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(181, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_181_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_182, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(182, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_182_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_183, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(183, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_183_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_184, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(184, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_184_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_185, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(185, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_185_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_186, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(186, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_186_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_187, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(187, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_187_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_188, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(188, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_188_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_189, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(189, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_189_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_190, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(190, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_190_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_191, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(191, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_191_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_192, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(192, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_192_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_193, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(193, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_193_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_194, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(194, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_194_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_195, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(195, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_195_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_196, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(196, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_196_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_197, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(197, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_197_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_198, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(198, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_198_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_199, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(199, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_199_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_200, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(200, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_200_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_201, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(201, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_201_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_202, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(202, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_202_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_203, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(203, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_203_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_204, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(204, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_204_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_205, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(205, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_205_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_206, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(206, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_206_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_207, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(207, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_207_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_208, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(208, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_208_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_209, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(209, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_209_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_210, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(210, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_210_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_211, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(211, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_211_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_212, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(212, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_212_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_213, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(213, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_213_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_214, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(214, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_214_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_215, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(215, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_215_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_216, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(216, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_216_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_217, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(217, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_217_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_218, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(218, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_218_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_219, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(219, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_219_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_220, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(220, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_220_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_221, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(221, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_221_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_222, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(222, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_222_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_223, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(223, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_223_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_224, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(224, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_224_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_225, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(225, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_225_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_226, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(226, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_226_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_227, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(227, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_227_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_228, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(228, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_228_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_229, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(229, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_229_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_230, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(230, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_230_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_231, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(231, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_231_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_232, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(232, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_232_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_233, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(233, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_233_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_234, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(234, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_234_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_235, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(235, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_235_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_236, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(236, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_236_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_237, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(237, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_237_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_238, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(238, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_238_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_239, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(239, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_239_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_240, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(240, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_240_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_241, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(241, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_241_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_242, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(242, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_242_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_243, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(243, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_243_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_244, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(244, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_244_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_245, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(245, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_245_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_246, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(246, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_246_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_247, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(247, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_247_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_248, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(248, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_248_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_249, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(249, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_249_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_250, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(250, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_250_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_251, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(251, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_251_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_252, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(252, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_252_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_253, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(253, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_253_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_254, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(254, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_254_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_255, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(255, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_255_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_256, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(256, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_256_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_257, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(257, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
 #
 # endif
diff --git a/include/ndnboost/preprocessor/list/detail/edg/fold_right.hpp b/include/ndnboost/preprocessor/list/detail/edg/fold_right.hpp
index 037f551..96776af 100644
--- a/include/ndnboost/preprocessor/list/detail/edg/fold_right.hpp
+++ b/include/ndnboost/preprocessor/list/detail/edg/fold_right.hpp
@@ -11,784 +11,784 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_LIST_DETAIL_EDG_FOLD_RIGHT_HPP
-# define BOOST_PREPROCESSOR_LIST_DETAIL_EDG_FOLD_RIGHT_HPP
+# ifndef NDNBOOST_PREPROCESSOR_LIST_DETAIL_EDG_FOLD_RIGHT_HPP
+# define NDNBOOST_PREPROCESSOR_LIST_DETAIL_EDG_FOLD_RIGHT_HPP
 #
 # include <ndnboost/preprocessor/control/iif.hpp>
 # include <ndnboost/preprocessor/list/adt.hpp>
 # include <ndnboost/preprocessor/tuple/eat.hpp>
 #
-# define BOOST_PP_LIST_FOLD_RIGHT_1(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_1_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_2(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_2_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_3(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_3_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_4(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_4_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_5(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_5_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_6(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_6_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_7(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_7_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_8(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_8_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_9(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_9_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_10(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_10_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_11(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_11_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_12(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_12_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_13(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_13_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_14(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_14_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_15(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_15_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_16(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_16_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_17(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_17_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_18(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_18_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_19(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_19_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_20(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_20_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_21(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_21_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_22(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_22_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_23(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_23_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_24(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_24_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_25(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_25_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_26(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_26_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_27(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_27_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_28(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_28_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_29(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_29_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_30(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_30_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_31(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_31_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_32(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_32_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_33(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_33_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_34(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_34_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_35(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_35_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_36(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_36_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_37(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_37_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_38(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_38_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_39(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_39_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_40(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_40_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_41(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_41_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_42(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_42_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_43(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_43_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_44(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_44_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_45(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_45_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_46(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_46_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_47(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_47_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_48(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_48_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_49(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_49_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_50(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_50_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_51(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_51_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_52(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_52_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_53(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_53_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_54(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_54_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_55(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_55_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_56(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_56_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_57(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_57_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_58(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_58_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_59(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_59_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_60(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_60_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_61(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_61_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_62(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_62_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_63(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_63_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_64(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_64_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_65(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_65_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_66(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_66_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_67(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_67_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_68(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_68_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_69(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_69_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_70(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_70_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_71(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_71_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_72(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_72_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_73(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_73_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_74(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_74_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_75(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_75_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_76(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_76_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_77(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_77_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_78(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_78_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_79(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_79_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_80(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_80_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_81(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_81_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_82(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_82_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_83(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_83_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_84(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_84_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_85(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_85_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_86(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_86_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_87(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_87_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_88(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_88_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_89(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_89_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_90(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_90_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_91(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_91_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_92(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_92_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_93(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_93_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_94(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_94_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_95(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_95_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_96(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_96_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_97(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_97_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_98(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_98_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_99(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_99_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_100(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_100_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_101(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_101_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_102(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_102_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_103(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_103_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_104(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_104_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_105(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_105_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_106(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_106_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_107(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_107_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_108(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_108_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_109(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_109_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_110(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_110_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_111(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_111_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_112(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_112_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_113(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_113_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_114(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_114_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_115(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_115_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_116(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_116_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_117(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_117_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_118(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_118_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_119(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_119_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_120(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_120_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_121(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_121_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_122(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_122_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_123(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_123_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_124(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_124_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_125(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_125_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_126(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_126_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_127(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_127_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_128(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_128_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_129(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_129_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_130(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_130_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_131(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_131_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_132(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_132_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_133(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_133_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_134(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_134_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_135(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_135_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_136(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_136_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_137(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_137_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_138(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_138_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_139(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_139_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_140(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_140_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_141(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_141_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_142(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_142_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_143(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_143_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_144(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_144_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_145(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_145_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_146(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_146_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_147(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_147_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_148(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_148_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_149(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_149_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_150(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_150_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_151(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_151_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_152(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_152_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_153(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_153_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_154(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_154_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_155(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_155_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_156(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_156_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_157(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_157_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_158(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_158_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_159(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_159_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_160(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_160_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_161(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_161_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_162(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_162_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_163(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_163_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_164(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_164_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_165(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_165_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_166(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_166_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_167(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_167_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_168(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_168_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_169(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_169_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_170(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_170_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_171(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_171_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_172(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_172_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_173(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_173_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_174(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_174_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_175(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_175_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_176(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_176_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_177(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_177_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_178(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_178_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_179(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_179_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_180(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_180_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_181(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_181_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_182(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_182_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_183(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_183_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_184(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_184_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_185(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_185_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_186(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_186_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_187(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_187_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_188(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_188_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_189(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_189_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_190(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_190_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_191(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_191_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_192(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_192_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_193(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_193_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_194(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_194_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_195(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_195_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_196(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_196_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_197(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_197_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_198(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_198_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_199(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_199_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_200(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_200_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_201(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_201_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_202(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_202_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_203(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_203_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_204(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_204_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_205(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_205_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_206(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_206_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_207(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_207_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_208(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_208_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_209(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_209_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_210(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_210_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_211(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_211_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_212(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_212_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_213(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_213_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_214(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_214_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_215(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_215_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_216(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_216_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_217(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_217_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_218(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_218_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_219(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_219_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_220(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_220_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_221(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_221_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_222(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_222_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_223(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_223_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_224(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_224_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_225(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_225_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_226(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_226_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_227(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_227_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_228(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_228_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_229(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_229_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_230(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_230_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_231(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_231_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_232(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_232_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_233(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_233_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_234(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_234_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_235(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_235_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_236(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_236_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_237(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_237_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_238(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_238_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_239(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_239_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_240(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_240_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_241(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_241_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_242(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_242_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_243(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_243_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_244(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_244_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_245(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_245_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_246(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_246_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_247(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_247_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_248(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_248_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_249(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_249_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_250(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_250_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_251(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_251_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_252(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_252_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_253(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_253_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_254(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_254_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_255(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_255_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_256(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_256_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_1(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_1_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_2(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_2_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_3(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_3_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_4(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_4_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_5(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_5_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_6(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_6_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_7(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_7_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_8(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_8_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_9(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_9_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_10(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_10_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_11(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_11_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_12(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_12_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_13(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_13_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_14(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_14_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_15(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_15_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_16(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_16_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_17(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_17_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_18(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_18_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_19(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_19_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_20(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_20_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_21(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_21_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_22(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_22_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_23(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_23_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_24(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_24_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_25(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_25_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_26(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_26_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_27(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_27_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_28(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_28_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_29(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_29_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_30(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_30_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_31(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_31_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_32(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_32_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_33(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_33_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_34(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_34_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_35(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_35_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_36(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_36_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_37(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_37_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_38(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_38_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_39(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_39_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_40(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_40_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_41(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_41_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_42(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_42_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_43(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_43_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_44(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_44_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_45(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_45_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_46(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_46_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_47(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_47_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_48(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_48_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_49(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_49_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_50(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_50_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_51(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_51_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_52(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_52_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_53(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_53_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_54(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_54_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_55(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_55_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_56(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_56_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_57(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_57_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_58(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_58_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_59(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_59_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_60(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_60_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_61(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_61_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_62(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_62_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_63(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_63_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_64(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_64_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_65(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_65_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_66(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_66_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_67(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_67_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_68(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_68_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_69(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_69_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_70(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_70_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_71(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_71_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_72(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_72_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_73(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_73_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_74(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_74_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_75(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_75_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_76(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_76_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_77(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_77_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_78(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_78_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_79(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_79_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_80(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_80_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_81(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_81_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_82(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_82_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_83(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_83_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_84(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_84_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_85(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_85_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_86(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_86_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_87(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_87_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_88(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_88_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_89(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_89_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_90(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_90_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_91(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_91_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_92(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_92_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_93(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_93_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_94(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_94_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_95(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_95_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_96(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_96_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_97(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_97_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_98(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_98_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_99(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_99_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_100(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_100_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_101(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_101_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_102(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_102_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_103(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_103_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_104(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_104_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_105(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_105_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_106(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_106_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_107(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_107_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_108(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_108_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_109(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_109_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_110(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_110_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_111(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_111_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_112(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_112_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_113(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_113_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_114(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_114_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_115(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_115_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_116(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_116_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_117(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_117_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_118(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_118_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_119(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_119_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_120(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_120_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_121(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_121_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_122(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_122_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_123(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_123_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_124(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_124_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_125(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_125_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_126(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_126_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_127(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_127_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_128(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_128_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_129(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_129_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_130(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_130_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_131(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_131_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_132(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_132_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_133(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_133_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_134(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_134_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_135(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_135_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_136(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_136_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_137(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_137_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_138(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_138_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_139(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_139_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_140(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_140_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_141(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_141_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_142(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_142_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_143(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_143_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_144(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_144_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_145(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_145_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_146(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_146_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_147(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_147_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_148(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_148_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_149(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_149_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_150(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_150_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_151(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_151_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_152(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_152_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_153(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_153_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_154(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_154_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_155(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_155_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_156(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_156_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_157(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_157_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_158(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_158_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_159(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_159_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_160(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_160_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_161(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_161_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_162(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_162_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_163(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_163_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_164(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_164_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_165(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_165_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_166(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_166_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_167(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_167_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_168(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_168_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_169(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_169_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_170(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_170_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_171(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_171_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_172(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_172_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_173(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_173_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_174(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_174_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_175(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_175_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_176(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_176_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_177(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_177_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_178(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_178_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_179(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_179_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_180(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_180_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_181(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_181_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_182(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_182_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_183(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_183_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_184(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_184_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_185(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_185_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_186(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_186_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_187(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_187_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_188(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_188_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_189(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_189_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_190(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_190_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_191(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_191_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_192(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_192_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_193(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_193_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_194(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_194_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_195(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_195_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_196(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_196_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_197(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_197_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_198(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_198_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_199(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_199_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_200(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_200_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_201(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_201_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_202(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_202_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_203(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_203_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_204(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_204_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_205(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_205_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_206(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_206_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_207(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_207_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_208(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_208_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_209(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_209_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_210(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_210_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_211(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_211_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_212(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_212_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_213(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_213_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_214(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_214_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_215(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_215_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_216(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_216_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_217(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_217_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_218(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_218_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_219(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_219_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_220(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_220_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_221(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_221_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_222(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_222_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_223(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_223_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_224(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_224_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_225(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_225_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_226(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_226_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_227(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_227_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_228(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_228_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_229(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_229_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_230(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_230_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_231(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_231_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_232(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_232_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_233(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_233_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_234(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_234_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_235(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_235_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_236(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_236_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_237(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_237_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_238(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_238_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_239(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_239_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_240(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_240_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_241(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_241_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_242(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_242_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_243(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_243_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_244(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_244_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_245(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_245_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_246(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_246_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_247(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_247_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_248(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_248_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_249(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_249_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_250(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_250_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_251(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_251_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_252(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_252_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_253(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_253_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_254(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_254_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_255(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_255_D(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_256(o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_256_D(o, s, l)
 #
-# define BOOST_PP_LIST_FOLD_RIGHT_1_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(2, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_2, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_2_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(3, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_3, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_3_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(4, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_4, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_4_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(5, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_5, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_5_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(6, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_6, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_6_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(7, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_7, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_7_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(8, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_8, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_8_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(9, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_9, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_9_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(10, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_10, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_10_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(11, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_11, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_11_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(12, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_12, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_12_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(13, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_13, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_13_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(14, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_14, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_14_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(15, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_15, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_15_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(16, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_16, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_16_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(17, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_17, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_17_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(18, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_18, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_18_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(19, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_19, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_19_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(20, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_20, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_20_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(21, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_21, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_21_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(22, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_22, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_22_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(23, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_23, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_23_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(24, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_24, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_24_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(25, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_25, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_25_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(26, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_26, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_26_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(27, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_27, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_27_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(28, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_28, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_28_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(29, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_29, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_29_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(30, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_30, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_30_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(31, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_31, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_31_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(32, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_32, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_32_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(33, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_33, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_33_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(34, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_34, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_34_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(35, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_35, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_35_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(36, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_36, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_36_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(37, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_37, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_37_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(38, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_38, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_38_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(39, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_39, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_39_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(40, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_40, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_40_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(41, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_41, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_41_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(42, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_42, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_42_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(43, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_43, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_43_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(44, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_44, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_44_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(45, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_45, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_45_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(46, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_46, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_46_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(47, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_47, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_47_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(48, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_48, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_48_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(49, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_49, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_49_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(50, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_50, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_50_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(51, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_51, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_51_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(52, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_52, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_52_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(53, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_53, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_53_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(54, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_54, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_54_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(55, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_55, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_55_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(56, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_56, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_56_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(57, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_57, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_57_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(58, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_58, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_58_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(59, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_59, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_59_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(60, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_60, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_60_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(61, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_61, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_61_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(62, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_62, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_62_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(63, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_63, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_63_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(64, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_64, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_64_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(65, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_65, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_65_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(66, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_66, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_66_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(67, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_67, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_67_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(68, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_68, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_68_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(69, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_69, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_69_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(70, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_70, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_70_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(71, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_71, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_71_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(72, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_72, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_72_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(73, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_73, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_73_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(74, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_74, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_74_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(75, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_75, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_75_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(76, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_76, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_76_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(77, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_77, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_77_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(78, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_78, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_78_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(79, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_79, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_79_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(80, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_80, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_80_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(81, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_81, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_81_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(82, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_82, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_82_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(83, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_83, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_83_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(84, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_84, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_84_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(85, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_85, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_85_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(86, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_86, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_86_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(87, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_87, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_87_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(88, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_88, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_88_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(89, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_89, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_89_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(90, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_90, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_90_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(91, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_91, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_91_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(92, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_92, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_92_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(93, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_93, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_93_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(94, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_94, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_94_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(95, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_95, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_95_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(96, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_96, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_96_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(97, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_97, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_97_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(98, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_98, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_98_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(99, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_99, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_99_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(100, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_100, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_100_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(101, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_101, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_101_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(102, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_102, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_102_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(103, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_103, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_103_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(104, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_104, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_104_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(105, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_105, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_105_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(106, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_106, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_106_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(107, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_107, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_107_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(108, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_108, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_108_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(109, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_109, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_109_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(110, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_110, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_110_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(111, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_111, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_111_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(112, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_112, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_112_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(113, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_113, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_113_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(114, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_114, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_114_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(115, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_115, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_115_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(116, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_116, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_116_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(117, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_117, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_117_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(118, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_118, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_118_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(119, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_119, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_119_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(120, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_120, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_120_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(121, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_121, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_121_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(122, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_122, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_122_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(123, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_123, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_123_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(124, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_124, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_124_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(125, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_125, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_125_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(126, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_126, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_126_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(127, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_127, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_127_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(128, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_128, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_128_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(129, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_129, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_129_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(130, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_130, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_130_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(131, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_131, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_131_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(132, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_132, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_132_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(133, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_133, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_133_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(134, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_134, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_134_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(135, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_135, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_135_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(136, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_136, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_136_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(137, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_137, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_137_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(138, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_138, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_138_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(139, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_139, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_139_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(140, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_140, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_140_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(141, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_141, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_141_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(142, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_142, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_142_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(143, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_143, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_143_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(144, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_144, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_144_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(145, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_145, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_145_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(146, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_146, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_146_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(147, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_147, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_147_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(148, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_148, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_148_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(149, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_149, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_149_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(150, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_150, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_150_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(151, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_151, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_151_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(152, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_152, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_152_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(153, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_153, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_153_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(154, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_154, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_154_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(155, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_155, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_155_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(156, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_156, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_156_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(157, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_157, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_157_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(158, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_158, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_158_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(159, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_159, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_159_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(160, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_160, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_160_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(161, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_161, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_161_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(162, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_162, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_162_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(163, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_163, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_163_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(164, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_164, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_164_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(165, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_165, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_165_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(166, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_166, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_166_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(167, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_167, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_167_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(168, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_168, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_168_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(169, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_169, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_169_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(170, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_170, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_170_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(171, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_171, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_171_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(172, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_172, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_172_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(173, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_173, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_173_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(174, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_174, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_174_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(175, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_175, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_175_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(176, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_176, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_176_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(177, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_177, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_177_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(178, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_178, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_178_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(179, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_179, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_179_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(180, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_180, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_180_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(181, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_181, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_181_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(182, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_182, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_182_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(183, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_183, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_183_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(184, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_184, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_184_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(185, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_185, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_185_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(186, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_186, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_186_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(187, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_187, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_187_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(188, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_188, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_188_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(189, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_189, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_189_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(190, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_190, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_190_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(191, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_191, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_191_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(192, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_192, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_192_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(193, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_193, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_193_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(194, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_194, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_194_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(195, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_195, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_195_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(196, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_196, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_196_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(197, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_197, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_197_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(198, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_198, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_198_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(199, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_199, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_199_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(200, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_200, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_200_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(201, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_201, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_201_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(202, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_202, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_202_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(203, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_203, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_203_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(204, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_204, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_204_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(205, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_205, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_205_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(206, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_206, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_206_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(207, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_207, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_207_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(208, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_208, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_208_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(209, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_209, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_209_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(210, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_210, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_210_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(211, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_211, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_211_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(212, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_212, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_212_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(213, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_213, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_213_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(214, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_214, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_214_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(215, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_215, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_215_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(216, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_216, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_216_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(217, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_217, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_217_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(218, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_218, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_218_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(219, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_219, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_219_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(220, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_220, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_220_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(221, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_221, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_221_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(222, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_222, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_222_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(223, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_223, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_223_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(224, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_224, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_224_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(225, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_225, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_225_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(226, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_226, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_226_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(227, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_227, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_227_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(228, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_228, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_228_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(229, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_229, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_229_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(230, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_230, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_230_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(231, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_231, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_231_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(232, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_232, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_232_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(233, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_233, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_233_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(234, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_234, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_234_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(235, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_235, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_235_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(236, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_236, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_236_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(237, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_237, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_237_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(238, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_238, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_238_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(239, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_239, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_239_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(240, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_240, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_240_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(241, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_241, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_241_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(242, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_242, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_242_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(243, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_243, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_243_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(244, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_244, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_244_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(245, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_245, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_245_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(246, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_246, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_246_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(247, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_247, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_247_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(248, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_248, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_248_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(249, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_249, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_249_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(250, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_250, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_250_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(251, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_251, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_251_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(252, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_252, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_252_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(253, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_253, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_253_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(254, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_254, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_254_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(255, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_255, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_255_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(256, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_256, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_256_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(257, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_257, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_1_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(2, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_2, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_2_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(3, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_3, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_3_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(4, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_4, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_4_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(5, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_5, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_5_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(6, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_6, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_6_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(7, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_7, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_7_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(8, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_8, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_8_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(9, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_9, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_9_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(10, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_10, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_10_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(11, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_11, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_11_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(12, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_12, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_12_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(13, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_13, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_13_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(14, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_14, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_14_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(15, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_15, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_15_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(16, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_16, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_16_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(17, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_17, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_17_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(18, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_18, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_18_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(19, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_19, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_19_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(20, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_20, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_20_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(21, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_21, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_21_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(22, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_22, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_22_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(23, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_23, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_23_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(24, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_24, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_24_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(25, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_25, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_25_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(26, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_26, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_26_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(27, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_27, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_27_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(28, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_28, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_28_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(29, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_29, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_29_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(30, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_30, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_30_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(31, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_31, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_31_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(32, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_32, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_32_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(33, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_33, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_33_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(34, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_34, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_34_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(35, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_35, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_35_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(36, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_36, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_36_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(37, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_37, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_37_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(38, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_38, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_38_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(39, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_39, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_39_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(40, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_40, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_40_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(41, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_41, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_41_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(42, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_42, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_42_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(43, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_43, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_43_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(44, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_44, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_44_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(45, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_45, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_45_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(46, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_46, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_46_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(47, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_47, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_47_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(48, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_48, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_48_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(49, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_49, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_49_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(50, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_50, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_50_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(51, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_51, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_51_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(52, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_52, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_52_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(53, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_53, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_53_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(54, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_54, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_54_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(55, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_55, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_55_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(56, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_56, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_56_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(57, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_57, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_57_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(58, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_58, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_58_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(59, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_59, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_59_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(60, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_60, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_60_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(61, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_61, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_61_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(62, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_62, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_62_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(63, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_63, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_63_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(64, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_64, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_64_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(65, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_65, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_65_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(66, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_66, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_66_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(67, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_67, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_67_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(68, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_68, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_68_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(69, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_69, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_69_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(70, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_70, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_70_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(71, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_71, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_71_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(72, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_72, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_72_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(73, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_73, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_73_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(74, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_74, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_74_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(75, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_75, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_75_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(76, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_76, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_76_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(77, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_77, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_77_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(78, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_78, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_78_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(79, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_79, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_79_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(80, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_80, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_80_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(81, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_81, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_81_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(82, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_82, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_82_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(83, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_83, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_83_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(84, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_84, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_84_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(85, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_85, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_85_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(86, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_86, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_86_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(87, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_87, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_87_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(88, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_88, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_88_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(89, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_89, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_89_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(90, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_90, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_90_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(91, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_91, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_91_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(92, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_92, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_92_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(93, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_93, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_93_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(94, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_94, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_94_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(95, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_95, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_95_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(96, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_96, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_96_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(97, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_97, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_97_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(98, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_98, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_98_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(99, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_99, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_99_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(100, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_100, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_100_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(101, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_101, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_101_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(102, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_102, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_102_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(103, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_103, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_103_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(104, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_104, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_104_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(105, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_105, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_105_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(106, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_106, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_106_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(107, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_107, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_107_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(108, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_108, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_108_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(109, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_109, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_109_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(110, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_110, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_110_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(111, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_111, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_111_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(112, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_112, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_112_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(113, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_113, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_113_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(114, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_114, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_114_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(115, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_115, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_115_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(116, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_116, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_116_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(117, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_117, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_117_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(118, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_118, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_118_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(119, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_119, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_119_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(120, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_120, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_120_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(121, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_121, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_121_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(122, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_122, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_122_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(123, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_123, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_123_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(124, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_124, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_124_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(125, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_125, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_125_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(126, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_126, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_126_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(127, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_127, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_127_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(128, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_128, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_128_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(129, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_129, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_129_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(130, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_130, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_130_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(131, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_131, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_131_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(132, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_132, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_132_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(133, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_133, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_133_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(134, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_134, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_134_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(135, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_135, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_135_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(136, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_136, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_136_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(137, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_137, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_137_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(138, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_138, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_138_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(139, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_139, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_139_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(140, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_140, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_140_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(141, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_141, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_141_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(142, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_142, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_142_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(143, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_143, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_143_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(144, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_144, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_144_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(145, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_145, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_145_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(146, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_146, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_146_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(147, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_147, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_147_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(148, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_148, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_148_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(149, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_149, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_149_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(150, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_150, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_150_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(151, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_151, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_151_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(152, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_152, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_152_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(153, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_153, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_153_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(154, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_154, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_154_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(155, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_155, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_155_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(156, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_156, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_156_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(157, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_157, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_157_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(158, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_158, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_158_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(159, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_159, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_159_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(160, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_160, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_160_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(161, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_161, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_161_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(162, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_162, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_162_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(163, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_163, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_163_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(164, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_164, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_164_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(165, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_165, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_165_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(166, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_166, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_166_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(167, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_167, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_167_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(168, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_168, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_168_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(169, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_169, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_169_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(170, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_170, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_170_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(171, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_171, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_171_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(172, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_172, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_172_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(173, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_173, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_173_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(174, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_174, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_174_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(175, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_175, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_175_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(176, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_176, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_176_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(177, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_177, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_177_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(178, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_178, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_178_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(179, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_179, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_179_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(180, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_180, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_180_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(181, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_181, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_181_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(182, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_182, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_182_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(183, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_183, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_183_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(184, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_184, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_184_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(185, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_185, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_185_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(186, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_186, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_186_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(187, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_187, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_187_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(188, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_188, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_188_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(189, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_189, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_189_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(190, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_190, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_190_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(191, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_191, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_191_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(192, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_192, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_192_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(193, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_193, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_193_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(194, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_194, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_194_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(195, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_195, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_195_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(196, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_196, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_196_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(197, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_197, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_197_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(198, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_198, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_198_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(199, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_199, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_199_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(200, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_200, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_200_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(201, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_201, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_201_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(202, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_202, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_202_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(203, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_203, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_203_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(204, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_204, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_204_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(205, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_205, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_205_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(206, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_206, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_206_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(207, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_207, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_207_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(208, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_208, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_208_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(209, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_209, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_209_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(210, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_210, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_210_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(211, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_211, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_211_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(212, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_212, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_212_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(213, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_213, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_213_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(214, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_214, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_214_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(215, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_215, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_215_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(216, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_216, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_216_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(217, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_217, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_217_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(218, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_218, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_218_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(219, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_219, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_219_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(220, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_220, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_220_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(221, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_221, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_221_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(222, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_222, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_222_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(223, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_223, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_223_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(224, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_224, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_224_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(225, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_225, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_225_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(226, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_226, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_226_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(227, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_227, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_227_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(228, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_228, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_228_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(229, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_229, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_229_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(230, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_230, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_230_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(231, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_231, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_231_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(232, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_232, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_232_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(233, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_233, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_233_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(234, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_234, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_234_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(235, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_235, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_235_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(236, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_236, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_236_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(237, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_237, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_237_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(238, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_238, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_238_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(239, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_239, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_239_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(240, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_240, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_240_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(241, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_241, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_241_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(242, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_242, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_242_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(243, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_243, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_243_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(244, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_244, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_244_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(245, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_245, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_245_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(246, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_246, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_246_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(247, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_247, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_247_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(248, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_248, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_248_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(249, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_249, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_249_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(250, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_250, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_250_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(251, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_251, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_251_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(252, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_252, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_252_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(253, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_253, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_253_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(254, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_254, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_254_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(255, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_255, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_255_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(256, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_256, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_256_D(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, s NDNBOOST_PP_TUPLE_EAT_3)(257, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_RIGHT_257, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3)(o, s, NDNBOOST_PP_LIST_REST(l)), NDNBOOST_PP_LIST_FIRST(l))
 #
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_NIL 1
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_NIL 1
 #
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_1(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_2(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_3(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_4(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_5(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_6(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_7(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_8(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_9(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_10(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_11(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_12(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_13(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_14(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_15(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_16(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_17(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_18(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_19(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_20(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_21(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_22(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_23(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_24(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_25(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_26(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_27(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_28(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_29(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_30(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_31(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_32(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_33(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_34(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_35(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_36(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_37(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_38(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_39(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_40(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_41(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_42(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_43(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_44(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_45(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_46(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_47(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_48(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_49(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_50(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_51(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_52(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_53(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_54(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_55(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_56(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_57(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_58(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_59(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_60(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_61(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_62(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_63(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_64(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_65(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_66(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_67(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_68(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_69(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_70(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_71(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_72(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_73(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_74(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_75(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_76(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_77(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_78(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_79(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_80(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_81(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_82(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_83(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_84(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_85(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_86(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_87(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_88(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_89(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_90(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_91(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_92(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_93(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_94(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_95(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_96(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_97(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_98(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_99(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_100(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_101(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_102(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_103(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_104(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_105(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_106(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_107(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_108(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_109(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_110(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_111(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_112(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_113(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_114(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_115(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_116(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_117(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_118(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_119(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_120(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_121(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_122(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_123(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_124(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_125(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_126(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_127(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_128(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_129(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_130(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_131(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_132(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_133(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_134(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_135(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_136(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_137(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_138(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_139(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_140(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_141(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_142(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_143(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_144(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_145(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_146(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_147(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_148(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_149(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_150(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_151(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_152(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_153(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_154(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_155(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_156(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_157(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_158(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_159(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_160(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_161(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_162(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_163(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_164(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_165(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_166(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_167(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_168(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_169(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_170(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_171(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_172(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_173(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_174(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_175(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_176(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_177(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_178(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_179(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_180(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_181(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_182(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_183(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_184(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_185(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_186(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_187(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_188(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_189(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_190(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_191(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_192(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_193(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_194(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_195(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_196(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_197(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_198(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_199(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_200(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_201(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_202(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_203(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_204(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_205(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_206(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_207(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_208(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_209(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_210(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_211(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_212(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_213(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_214(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_215(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_216(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_217(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_218(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_219(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_220(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_221(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_222(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_223(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_224(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_225(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_226(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_227(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_228(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_229(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_230(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_231(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_232(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_233(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_234(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_235(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_236(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_237(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_238(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_239(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_240(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_241(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_242(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_243(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_244(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_245(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_246(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_247(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_248(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_249(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_250(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_251(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_252(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_253(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_254(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_255(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_256(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_1(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_2(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_3(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_4(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_5(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_6(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_7(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_8(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_9(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_10(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_11(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_12(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_13(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_14(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_15(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_16(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_17(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_18(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_19(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_20(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_21(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_22(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_23(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_24(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_25(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_26(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_27(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_28(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_29(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_30(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_31(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_32(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_33(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_34(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_35(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_36(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_37(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_38(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_39(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_40(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_41(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_42(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_43(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_44(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_45(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_46(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_47(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_48(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_49(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_50(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_51(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_52(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_53(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_54(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_55(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_56(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_57(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_58(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_59(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_60(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_61(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_62(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_63(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_64(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_65(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_66(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_67(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_68(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_69(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_70(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_71(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_72(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_73(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_74(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_75(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_76(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_77(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_78(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_79(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_80(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_81(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_82(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_83(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_84(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_85(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_86(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_87(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_88(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_89(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_90(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_91(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_92(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_93(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_94(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_95(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_96(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_97(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_98(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_99(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_100(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_101(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_102(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_103(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_104(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_105(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_106(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_107(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_108(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_109(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_110(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_111(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_112(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_113(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_114(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_115(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_116(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_117(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_118(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_119(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_120(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_121(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_122(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_123(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_124(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_125(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_126(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_127(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_128(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_129(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_130(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_131(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_132(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_133(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_134(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_135(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_136(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_137(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_138(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_139(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_140(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_141(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_142(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_143(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_144(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_145(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_146(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_147(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_148(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_149(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_150(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_151(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_152(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_153(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_154(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_155(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_156(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_157(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_158(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_159(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_160(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_161(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_162(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_163(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_164(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_165(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_166(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_167(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_168(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_169(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_170(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_171(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_172(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_173(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_174(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_175(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_176(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_177(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_178(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_179(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_180(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_181(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_182(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_183(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_184(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_185(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_186(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_187(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_188(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_189(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_190(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_191(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_192(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_193(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_194(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_195(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_196(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_197(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_198(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_199(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_200(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_201(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_202(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_203(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_204(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_205(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_206(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_207(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_208(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_209(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_210(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_211(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_212(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_213(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_214(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_215(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_216(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_217(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_218(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_219(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_220(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_221(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_222(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_223(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_224(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_225(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_226(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_227(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_228(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_229(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_230(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_231(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_232(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_233(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_234(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_235(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_236(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_237(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_238(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_239(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_240(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_241(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_242(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_243(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_244(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_245(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_246(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_247(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_248(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_249(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_250(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_251(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_252(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_253(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_254(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_255(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_CHECK_NDNBOOST_PP_LIST_FOLD_RIGHT_256(o, s, l) 0
 #
 # endif
diff --git a/include/ndnboost/preprocessor/list/detail/fold_left.hpp b/include/ndnboost/preprocessor/list/detail/fold_left.hpp
index 18b6d56..e2980fd 100644
--- a/include/ndnboost/preprocessor/list/detail/fold_left.hpp
+++ b/include/ndnboost/preprocessor/list/detail/fold_left.hpp
@@ -11,269 +11,269 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_LIST_DETAIL_FOLD_LEFT_HPP
-# define BOOST_PREPROCESSOR_LIST_DETAIL_FOLD_LEFT_HPP
+# ifndef NDNBOOST_PREPROCESSOR_LIST_DETAIL_FOLD_LEFT_HPP
+# define NDNBOOST_PREPROCESSOR_LIST_DETAIL_FOLD_LEFT_HPP
 #
 # include <ndnboost/preprocessor/control/expr_iif.hpp>
 # include <ndnboost/preprocessor/control/iif.hpp>
 # include <ndnboost/preprocessor/list/adt.hpp>
 # include <ndnboost/preprocessor/tuple/eat.hpp>
 #
-# define BOOST_PP_LIST_FOLD_LEFT_1(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_2, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(2, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_2(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_3, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(3, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_3(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_4, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(4, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_4(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_5, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(5, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_5(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_6, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(6, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_6(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_7, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(7, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_7(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_8, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(8, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_8(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_9, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(9, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_9(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_10, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(10, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_10(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_11, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(11, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_11(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_12, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(12, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_12(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_13, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(13, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_13(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_14, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(14, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_14(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_15, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(15, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_15(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_16, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(16, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_16(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_17, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(17, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_17(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_18, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(18, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_18(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_19, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(19, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_19(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_20, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(20, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_20(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_21, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(21, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_21(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_22, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(22, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_22(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_23, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(23, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_23(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_24, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(24, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_24(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_25, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(25, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_25(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_26, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(26, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_26(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_27, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(27, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_27(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_28, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(28, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_28(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_29, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(29, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_29(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_30, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(30, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_30(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_31, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(31, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_31(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_32, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(32, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_32(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_33, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(33, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_33(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_34, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(34, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_34(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_35, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(35, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_35(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_36, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(36, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_36(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_37, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(37, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_37(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_38, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(38, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_38(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_39, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(39, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_39(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_40, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(40, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_40(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_41, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(41, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_41(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_42, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(42, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_42(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_43, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(43, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_43(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_44, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(44, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_44(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_45, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(45, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_45(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_46, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(46, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_46(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_47, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(47, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_47(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_48, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(48, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_48(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_49, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(49, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_49(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_50, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(50, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_50(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_51, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(51, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_51(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_52, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(52, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_52(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_53, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(53, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_53(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_54, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(54, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_54(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_55, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(55, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_55(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_56, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(56, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_56(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_57, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(57, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_57(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_58, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(58, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_58(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_59, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(59, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_59(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_60, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(60, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_60(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_61, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(61, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_61(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_62, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(62, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_62(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_63, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(63, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_63(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_64, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(64, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_64(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_65, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(65, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_65(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_66, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(66, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_66(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_67, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(67, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_67(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_68, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(68, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_68(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_69, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(69, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_69(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_70, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(70, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_70(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_71, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(71, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_71(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_72, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(72, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_72(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_73, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(73, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_73(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_74, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(74, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_74(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_75, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(75, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_75(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_76, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(76, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_76(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_77, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(77, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_77(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_78, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(78, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_78(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_79, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(79, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_79(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_80, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(80, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_80(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_81, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(81, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_81(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_82, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(82, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_82(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_83, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(83, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_83(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_84, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(84, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_84(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_85, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(85, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_85(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_86, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(86, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_86(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_87, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(87, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_87(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_88, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(88, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_88(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_89, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(89, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_89(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_90, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(90, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_90(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_91, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(91, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_91(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_92, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(92, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_92(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_93, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(93, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_93(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_94, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(94, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_94(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_95, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(95, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_95(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_96, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(96, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_96(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_97, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(97, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_97(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_98, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(98, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_98(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_99, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(99, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_99(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_100, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(100, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_100(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_101, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(101, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_101(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_102, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(102, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_102(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_103, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(103, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_103(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_104, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(104, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_104(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_105, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(105, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_105(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_106, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(106, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_106(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_107, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(107, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_107(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_108, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(108, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_108(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_109, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(109, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_109(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_110, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(110, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_110(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_111, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(111, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_111(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_112, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(112, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_112(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_113, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(113, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_113(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_114, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(114, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_114(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_115, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(115, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_115(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_116, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(116, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_116(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_117, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(117, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_117(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_118, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(118, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_118(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_119, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(119, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_119(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_120, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(120, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_120(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_121, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(121, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_121(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_122, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(122, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_122(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_123, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(123, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_123(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_124, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(124, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_124(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_125, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(125, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_125(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_126, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(126, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_126(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_127, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(127, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_127(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_128, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(128, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_128(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_129, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(129, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_129(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_130, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(130, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_130(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_131, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(131, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_131(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_132, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(132, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_132(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_133, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(133, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_133(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_134, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(134, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_134(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_135, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(135, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_135(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_136, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(136, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_136(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_137, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(137, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_137(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_138, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(138, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_138(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_139, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(139, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_139(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_140, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(140, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_140(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_141, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(141, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_141(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_142, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(142, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_142(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_143, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(143, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_143(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_144, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(144, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_144(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_145, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(145, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_145(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_146, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(146, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_146(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_147, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(147, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_147(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_148, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(148, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_148(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_149, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(149, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_149(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_150, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(150, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_150(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_151, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(151, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_151(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_152, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(152, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_152(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_153, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(153, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_153(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_154, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(154, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_154(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_155, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(155, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_155(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_156, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(156, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_156(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_157, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(157, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_157(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_158, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(158, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_158(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_159, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(159, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_159(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_160, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(160, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_160(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_161, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(161, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_161(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_162, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(162, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_162(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_163, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(163, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_163(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_164, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(164, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_164(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_165, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(165, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_165(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_166, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(166, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_166(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_167, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(167, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_167(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_168, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(168, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_168(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_169, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(169, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_169(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_170, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(170, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_170(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_171, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(171, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_171(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_172, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(172, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_172(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_173, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(173, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_173(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_174, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(174, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_174(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_175, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(175, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_175(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_176, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(176, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_176(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_177, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(177, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_177(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_178, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(178, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_178(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_179, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(179, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_179(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_180, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(180, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_180(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_181, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(181, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_181(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_182, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(182, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_182(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_183, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(183, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_183(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_184, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(184, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_184(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_185, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(185, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_185(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_186, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(186, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_186(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_187, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(187, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_187(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_188, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(188, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_188(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_189, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(189, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_189(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_190, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(190, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_190(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_191, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(191, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_191(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_192, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(192, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_192(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_193, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(193, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_193(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_194, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(194, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_194(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_195, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(195, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_195(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_196, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(196, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_196(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_197, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(197, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_197(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_198, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(198, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_198(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_199, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(199, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_199(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_200, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(200, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_200(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_201, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(201, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_201(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_202, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(202, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_202(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_203, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(203, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_203(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_204, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(204, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_204(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_205, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(205, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_205(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_206, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(206, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_206(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_207, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(207, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_207(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_208, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(208, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_208(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_209, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(209, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_209(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_210, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(210, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_210(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_211, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(211, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_211(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_212, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(212, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_212(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_213, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(213, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_213(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_214, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(214, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_214(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_215, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(215, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_215(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_216, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(216, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_216(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_217, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(217, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_217(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_218, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(218, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_218(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_219, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(219, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_219(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_220, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(220, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_220(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_221, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(221, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_221(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_222, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(222, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_222(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_223, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(223, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_223(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_224, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(224, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_224(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_225, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(225, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_225(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_226, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(226, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_226(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_227, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(227, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_227(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_228, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(228, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_228(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_229, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(229, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_229(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_230, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(230, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_230(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_231, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(231, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_231(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_232, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(232, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_232(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_233, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(233, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_233(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_234, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(234, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_234(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_235, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(235, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_235(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_236, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(236, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_236(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_237, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(237, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_237(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_238, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(238, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_238(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_239, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(239, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_239(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_240, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(240, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_240(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_241, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(241, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_241(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_242, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(242, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_242(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_243, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(243, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_243(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_244, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(244, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_244(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_245, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(245, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_245(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_246, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(246, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_246(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_247, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(247, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_247(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_248, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(248, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_248(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_249, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(249, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_249(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_250, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(250, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_250(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_251, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(251, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_251(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_252, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(252, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_252(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_253, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(253, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_253(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_254, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(254, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_254(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_255, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(255, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_255(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_256, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(256, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_256(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_257, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(257, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_1(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_2, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(2, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_2(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_3, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(3, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_3(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_4, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(4, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_4(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_5, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(5, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_5(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_6, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(6, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_6(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_7, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(7, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_7(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_8, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(8, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_8(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_9, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(9, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_9(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_10, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(10, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_10(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_11, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(11, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_11(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_12, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(12, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_12(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_13, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(13, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_13(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_14, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(14, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_14(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_15, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(15, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_15(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_16, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(16, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_16(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_17, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(17, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_17(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_18, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(18, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_18(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_19, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(19, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_19(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_20, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(20, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_20(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_21, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(21, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_21(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_22, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(22, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_22(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_23, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(23, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_23(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_24, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(24, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_24(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_25, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(25, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_25(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_26, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(26, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_26(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_27, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(27, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_27(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_28, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(28, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_28(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_29, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(29, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_29(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_30, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(30, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_30(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_31, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(31, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_31(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_32, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(32, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_32(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_33, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(33, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_33(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_34, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(34, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_34(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_35, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(35, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_35(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_36, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(36, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_36(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_37, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(37, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_37(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_38, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(38, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_38(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_39, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(39, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_39(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_40, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(40, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_40(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_41, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(41, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_41(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_42, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(42, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_42(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_43, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(43, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_43(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_44, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(44, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_44(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_45, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(45, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_45(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_46, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(46, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_46(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_47, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(47, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_47(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_48, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(48, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_48(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_49, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(49, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_49(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_50, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(50, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_50(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_51, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(51, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_51(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_52, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(52, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_52(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_53, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(53, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_53(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_54, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(54, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_54(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_55, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(55, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_55(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_56, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(56, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_56(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_57, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(57, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_57(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_58, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(58, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_58(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_59, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(59, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_59(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_60, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(60, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_60(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_61, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(61, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_61(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_62, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(62, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_62(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_63, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(63, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_63(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_64, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(64, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_64(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_65, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(65, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_65(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_66, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(66, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_66(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_67, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(67, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_67(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_68, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(68, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_68(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_69, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(69, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_69(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_70, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(70, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_70(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_71, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(71, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_71(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_72, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(72, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_72(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_73, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(73, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_73(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_74, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(74, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_74(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_75, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(75, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_75(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_76, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(76, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_76(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_77, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(77, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_77(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_78, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(78, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_78(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_79, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(79, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_79(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_80, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(80, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_80(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_81, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(81, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_81(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_82, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(82, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_82(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_83, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(83, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_83(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_84, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(84, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_84(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_85, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(85, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_85(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_86, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(86, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_86(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_87, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(87, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_87(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_88, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(88, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_88(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_89, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(89, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_89(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_90, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(90, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_90(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_91, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(91, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_91(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_92, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(92, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_92(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_93, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(93, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_93(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_94, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(94, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_94(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_95, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(95, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_95(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_96, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(96, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_96(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_97, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(97, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_97(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_98, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(98, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_98(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_99, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(99, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_99(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_100, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(100, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_100(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_101, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(101, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_101(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_102, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(102, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_102(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_103, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(103, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_103(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_104, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(104, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_104(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_105, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(105, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_105(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_106, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(106, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_106(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_107, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(107, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_107(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_108, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(108, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_108(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_109, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(109, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_109(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_110, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(110, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_110(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_111, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(111, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_111(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_112, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(112, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_112(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_113, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(113, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_113(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_114, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(114, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_114(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_115, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(115, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_115(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_116, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(116, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_116(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_117, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(117, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_117(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_118, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(118, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_118(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_119, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(119, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_119(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_120, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(120, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_120(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_121, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(121, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_121(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_122, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(122, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_122(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_123, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(123, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_123(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_124, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(124, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_124(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_125, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(125, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_125(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_126, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(126, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_126(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_127, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(127, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_127(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_128, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(128, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_128(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_129, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(129, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_129(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_130, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(130, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_130(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_131, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(131, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_131(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_132, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(132, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_132(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_133, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(133, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_133(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_134, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(134, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_134(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_135, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(135, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_135(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_136, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(136, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_136(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_137, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(137, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_137(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_138, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(138, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_138(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_139, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(139, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_139(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_140, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(140, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_140(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_141, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(141, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_141(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_142, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(142, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_142(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_143, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(143, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_143(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_144, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(144, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_144(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_145, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(145, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_145(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_146, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(146, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_146(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_147, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(147, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_147(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_148, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(148, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_148(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_149, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(149, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_149(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_150, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(150, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_150(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_151, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(151, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_151(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_152, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(152, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_152(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_153, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(153, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_153(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_154, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(154, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_154(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_155, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(155, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_155(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_156, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(156, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_156(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_157, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(157, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_157(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_158, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(158, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_158(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_159, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(159, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_159(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_160, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(160, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_160(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_161, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(161, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_161(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_162, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(162, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_162(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_163, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(163, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_163(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_164, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(164, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_164(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_165, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(165, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_165(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_166, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(166, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_166(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_167, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(167, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_167(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_168, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(168, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_168(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_169, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(169, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_169(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_170, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(170, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_170(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_171, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(171, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_171(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_172, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(172, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_172(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_173, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(173, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_173(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_174, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(174, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_174(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_175, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(175, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_175(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_176, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(176, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_176(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_177, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(177, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_177(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_178, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(178, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_178(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_179, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(179, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_179(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_180, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(180, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_180(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_181, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(181, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_181(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_182, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(182, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_182(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_183, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(183, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_183(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_184, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(184, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_184(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_185, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(185, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_185(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_186, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(186, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_186(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_187, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(187, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_187(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_188, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(188, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_188(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_189, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(189, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_189(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_190, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(190, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_190(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_191, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(191, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_191(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_192, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(192, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_192(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_193, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(193, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_193(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_194, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(194, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_194(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_195, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(195, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_195(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_196, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(196, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_196(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_197, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(197, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_197(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_198, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(198, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_198(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_199, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(199, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_199(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_200, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(200, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_200(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_201, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(201, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_201(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_202, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(202, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_202(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_203, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(203, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_203(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_204, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(204, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_204(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_205, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(205, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_205(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_206, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(206, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_206(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_207, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(207, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_207(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_208, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(208, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_208(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_209, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(209, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_209(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_210, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(210, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_210(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_211, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(211, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_211(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_212, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(212, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_212(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_213, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(213, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_213(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_214, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(214, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_214(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_215, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(215, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_215(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_216, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(216, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_216(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_217, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(217, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_217(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_218, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(218, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_218(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_219, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(219, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_219(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_220, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(220, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_220(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_221, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(221, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_221(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_222, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(222, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_222(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_223, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(223, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_223(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_224, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(224, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_224(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_225, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(225, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_225(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_226, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(226, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_226(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_227, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(227, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_227(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_228, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(228, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_228(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_229, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(229, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_229(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_230, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(230, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_230(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_231, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(231, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_231(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_232, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(232, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_232(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_233, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(233, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_233(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_234, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(234, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_234(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_235, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(235, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_235(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_236, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(236, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_236(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_237, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(237, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_237(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_238, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(238, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_238(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_239, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(239, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_239(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_240, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(240, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_240(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_241, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(241, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_241(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_242, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(242, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_242(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_243, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(243, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_243(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_244, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(244, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_244(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_245, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(245, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_245(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_246, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(246, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_246(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_247, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(247, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_247(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_248, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(248, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_248(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_249, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(249, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_249(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_250, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(250, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_250(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_251, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(251, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_251(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_252, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(252, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_252(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_253, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(253, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_253(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_254, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(254, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_254(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_255, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(255, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_255(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_256, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(256, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
+# define NDNBOOST_PP_LIST_FOLD_LEFT_256(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_257, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(257, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
 #
 # endif
diff --git a/include/ndnboost/preprocessor/list/detail/fold_right.hpp b/include/ndnboost/preprocessor/list/detail/fold_right.hpp
index 72dfe91..2a1f045 100644
--- a/include/ndnboost/preprocessor/list/detail/fold_right.hpp
+++ b/include/ndnboost/preprocessor/list/detail/fold_right.hpp
@@ -11,267 +11,267 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_LIST_DETAIL_FOLD_RIGHT_HPP
-# define BOOST_PREPROCESSOR_LIST_DETAIL_FOLD_RIGHT_HPP
+# ifndef NDNBOOST_PREPROCESSOR_LIST_DETAIL_FOLD_RIGHT_HPP
+# define NDNBOOST_PREPROCESSOR_LIST_DETAIL_FOLD_RIGHT_HPP
 #
 # include <ndnboost/preprocessor/list/fold_left.hpp>
 # include <ndnboost/preprocessor/list/reverse.hpp>
 #
-# define BOOST_PP_LIST_FOLD_RIGHT_1(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1(o, s, BOOST_PP_LIST_REVERSE_D(1, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_2(o, s, l) BOOST_PP_LIST_FOLD_LEFT_2(o, s, BOOST_PP_LIST_REVERSE_D(2, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_3(o, s, l) BOOST_PP_LIST_FOLD_LEFT_3(o, s, BOOST_PP_LIST_REVERSE_D(3, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_4(o, s, l) BOOST_PP_LIST_FOLD_LEFT_4(o, s, BOOST_PP_LIST_REVERSE_D(4, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_5(o, s, l) BOOST_PP_LIST_FOLD_LEFT_5(o, s, BOOST_PP_LIST_REVERSE_D(5, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_6(o, s, l) BOOST_PP_LIST_FOLD_LEFT_6(o, s, BOOST_PP_LIST_REVERSE_D(6, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_7(o, s, l) BOOST_PP_LIST_FOLD_LEFT_7(o, s, BOOST_PP_LIST_REVERSE_D(7, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_8(o, s, l) BOOST_PP_LIST_FOLD_LEFT_8(o, s, BOOST_PP_LIST_REVERSE_D(8, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_9(o, s, l) BOOST_PP_LIST_FOLD_LEFT_9(o, s, BOOST_PP_LIST_REVERSE_D(9, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_10(o, s, l) BOOST_PP_LIST_FOLD_LEFT_10(o, s, BOOST_PP_LIST_REVERSE_D(10, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_11(o, s, l) BOOST_PP_LIST_FOLD_LEFT_11(o, s, BOOST_PP_LIST_REVERSE_D(11, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_12(o, s, l) BOOST_PP_LIST_FOLD_LEFT_12(o, s, BOOST_PP_LIST_REVERSE_D(12, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_13(o, s, l) BOOST_PP_LIST_FOLD_LEFT_13(o, s, BOOST_PP_LIST_REVERSE_D(13, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_14(o, s, l) BOOST_PP_LIST_FOLD_LEFT_14(o, s, BOOST_PP_LIST_REVERSE_D(14, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_15(o, s, l) BOOST_PP_LIST_FOLD_LEFT_15(o, s, BOOST_PP_LIST_REVERSE_D(15, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_16(o, s, l) BOOST_PP_LIST_FOLD_LEFT_16(o, s, BOOST_PP_LIST_REVERSE_D(16, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_17(o, s, l) BOOST_PP_LIST_FOLD_LEFT_17(o, s, BOOST_PP_LIST_REVERSE_D(17, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_18(o, s, l) BOOST_PP_LIST_FOLD_LEFT_18(o, s, BOOST_PP_LIST_REVERSE_D(18, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_19(o, s, l) BOOST_PP_LIST_FOLD_LEFT_19(o, s, BOOST_PP_LIST_REVERSE_D(19, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_20(o, s, l) BOOST_PP_LIST_FOLD_LEFT_20(o, s, BOOST_PP_LIST_REVERSE_D(20, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_21(o, s, l) BOOST_PP_LIST_FOLD_LEFT_21(o, s, BOOST_PP_LIST_REVERSE_D(21, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_22(o, s, l) BOOST_PP_LIST_FOLD_LEFT_22(o, s, BOOST_PP_LIST_REVERSE_D(22, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_23(o, s, l) BOOST_PP_LIST_FOLD_LEFT_23(o, s, BOOST_PP_LIST_REVERSE_D(23, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_24(o, s, l) BOOST_PP_LIST_FOLD_LEFT_24(o, s, BOOST_PP_LIST_REVERSE_D(24, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_25(o, s, l) BOOST_PP_LIST_FOLD_LEFT_25(o, s, BOOST_PP_LIST_REVERSE_D(25, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_26(o, s, l) BOOST_PP_LIST_FOLD_LEFT_26(o, s, BOOST_PP_LIST_REVERSE_D(26, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_27(o, s, l) BOOST_PP_LIST_FOLD_LEFT_27(o, s, BOOST_PP_LIST_REVERSE_D(27, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_28(o, s, l) BOOST_PP_LIST_FOLD_LEFT_28(o, s, BOOST_PP_LIST_REVERSE_D(28, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_29(o, s, l) BOOST_PP_LIST_FOLD_LEFT_29(o, s, BOOST_PP_LIST_REVERSE_D(29, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_30(o, s, l) BOOST_PP_LIST_FOLD_LEFT_30(o, s, BOOST_PP_LIST_REVERSE_D(30, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_31(o, s, l) BOOST_PP_LIST_FOLD_LEFT_31(o, s, BOOST_PP_LIST_REVERSE_D(31, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_32(o, s, l) BOOST_PP_LIST_FOLD_LEFT_32(o, s, BOOST_PP_LIST_REVERSE_D(32, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_33(o, s, l) BOOST_PP_LIST_FOLD_LEFT_33(o, s, BOOST_PP_LIST_REVERSE_D(33, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_34(o, s, l) BOOST_PP_LIST_FOLD_LEFT_34(o, s, BOOST_PP_LIST_REVERSE_D(34, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_35(o, s, l) BOOST_PP_LIST_FOLD_LEFT_35(o, s, BOOST_PP_LIST_REVERSE_D(35, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_36(o, s, l) BOOST_PP_LIST_FOLD_LEFT_36(o, s, BOOST_PP_LIST_REVERSE_D(36, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_37(o, s, l) BOOST_PP_LIST_FOLD_LEFT_37(o, s, BOOST_PP_LIST_REVERSE_D(37, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_38(o, s, l) BOOST_PP_LIST_FOLD_LEFT_38(o, s, BOOST_PP_LIST_REVERSE_D(38, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_39(o, s, l) BOOST_PP_LIST_FOLD_LEFT_39(o, s, BOOST_PP_LIST_REVERSE_D(39, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_40(o, s, l) BOOST_PP_LIST_FOLD_LEFT_40(o, s, BOOST_PP_LIST_REVERSE_D(40, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_41(o, s, l) BOOST_PP_LIST_FOLD_LEFT_41(o, s, BOOST_PP_LIST_REVERSE_D(41, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_42(o, s, l) BOOST_PP_LIST_FOLD_LEFT_42(o, s, BOOST_PP_LIST_REVERSE_D(42, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_43(o, s, l) BOOST_PP_LIST_FOLD_LEFT_43(o, s, BOOST_PP_LIST_REVERSE_D(43, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_44(o, s, l) BOOST_PP_LIST_FOLD_LEFT_44(o, s, BOOST_PP_LIST_REVERSE_D(44, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_45(o, s, l) BOOST_PP_LIST_FOLD_LEFT_45(o, s, BOOST_PP_LIST_REVERSE_D(45, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_46(o, s, l) BOOST_PP_LIST_FOLD_LEFT_46(o, s, BOOST_PP_LIST_REVERSE_D(46, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_47(o, s, l) BOOST_PP_LIST_FOLD_LEFT_47(o, s, BOOST_PP_LIST_REVERSE_D(47, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_48(o, s, l) BOOST_PP_LIST_FOLD_LEFT_48(o, s, BOOST_PP_LIST_REVERSE_D(48, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_49(o, s, l) BOOST_PP_LIST_FOLD_LEFT_49(o, s, BOOST_PP_LIST_REVERSE_D(49, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_50(o, s, l) BOOST_PP_LIST_FOLD_LEFT_50(o, s, BOOST_PP_LIST_REVERSE_D(50, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_51(o, s, l) BOOST_PP_LIST_FOLD_LEFT_51(o, s, BOOST_PP_LIST_REVERSE_D(51, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_52(o, s, l) BOOST_PP_LIST_FOLD_LEFT_52(o, s, BOOST_PP_LIST_REVERSE_D(52, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_53(o, s, l) BOOST_PP_LIST_FOLD_LEFT_53(o, s, BOOST_PP_LIST_REVERSE_D(53, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_54(o, s, l) BOOST_PP_LIST_FOLD_LEFT_54(o, s, BOOST_PP_LIST_REVERSE_D(54, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_55(o, s, l) BOOST_PP_LIST_FOLD_LEFT_55(o, s, BOOST_PP_LIST_REVERSE_D(55, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_56(o, s, l) BOOST_PP_LIST_FOLD_LEFT_56(o, s, BOOST_PP_LIST_REVERSE_D(56, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_57(o, s, l) BOOST_PP_LIST_FOLD_LEFT_57(o, s, BOOST_PP_LIST_REVERSE_D(57, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_58(o, s, l) BOOST_PP_LIST_FOLD_LEFT_58(o, s, BOOST_PP_LIST_REVERSE_D(58, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_59(o, s, l) BOOST_PP_LIST_FOLD_LEFT_59(o, s, BOOST_PP_LIST_REVERSE_D(59, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_60(o, s, l) BOOST_PP_LIST_FOLD_LEFT_60(o, s, BOOST_PP_LIST_REVERSE_D(60, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_61(o, s, l) BOOST_PP_LIST_FOLD_LEFT_61(o, s, BOOST_PP_LIST_REVERSE_D(61, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_62(o, s, l) BOOST_PP_LIST_FOLD_LEFT_62(o, s, BOOST_PP_LIST_REVERSE_D(62, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_63(o, s, l) BOOST_PP_LIST_FOLD_LEFT_63(o, s, BOOST_PP_LIST_REVERSE_D(63, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_64(o, s, l) BOOST_PP_LIST_FOLD_LEFT_64(o, s, BOOST_PP_LIST_REVERSE_D(64, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_65(o, s, l) BOOST_PP_LIST_FOLD_LEFT_65(o, s, BOOST_PP_LIST_REVERSE_D(65, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_66(o, s, l) BOOST_PP_LIST_FOLD_LEFT_66(o, s, BOOST_PP_LIST_REVERSE_D(66, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_67(o, s, l) BOOST_PP_LIST_FOLD_LEFT_67(o, s, BOOST_PP_LIST_REVERSE_D(67, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_68(o, s, l) BOOST_PP_LIST_FOLD_LEFT_68(o, s, BOOST_PP_LIST_REVERSE_D(68, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_69(o, s, l) BOOST_PP_LIST_FOLD_LEFT_69(o, s, BOOST_PP_LIST_REVERSE_D(69, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_70(o, s, l) BOOST_PP_LIST_FOLD_LEFT_70(o, s, BOOST_PP_LIST_REVERSE_D(70, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_71(o, s, l) BOOST_PP_LIST_FOLD_LEFT_71(o, s, BOOST_PP_LIST_REVERSE_D(71, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_72(o, s, l) BOOST_PP_LIST_FOLD_LEFT_72(o, s, BOOST_PP_LIST_REVERSE_D(72, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_73(o, s, l) BOOST_PP_LIST_FOLD_LEFT_73(o, s, BOOST_PP_LIST_REVERSE_D(73, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_74(o, s, l) BOOST_PP_LIST_FOLD_LEFT_74(o, s, BOOST_PP_LIST_REVERSE_D(74, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_75(o, s, l) BOOST_PP_LIST_FOLD_LEFT_75(o, s, BOOST_PP_LIST_REVERSE_D(75, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_76(o, s, l) BOOST_PP_LIST_FOLD_LEFT_76(o, s, BOOST_PP_LIST_REVERSE_D(76, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_77(o, s, l) BOOST_PP_LIST_FOLD_LEFT_77(o, s, BOOST_PP_LIST_REVERSE_D(77, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_78(o, s, l) BOOST_PP_LIST_FOLD_LEFT_78(o, s, BOOST_PP_LIST_REVERSE_D(78, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_79(o, s, l) BOOST_PP_LIST_FOLD_LEFT_79(o, s, BOOST_PP_LIST_REVERSE_D(79, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_80(o, s, l) BOOST_PP_LIST_FOLD_LEFT_80(o, s, BOOST_PP_LIST_REVERSE_D(80, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_81(o, s, l) BOOST_PP_LIST_FOLD_LEFT_81(o, s, BOOST_PP_LIST_REVERSE_D(81, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_82(o, s, l) BOOST_PP_LIST_FOLD_LEFT_82(o, s, BOOST_PP_LIST_REVERSE_D(82, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_83(o, s, l) BOOST_PP_LIST_FOLD_LEFT_83(o, s, BOOST_PP_LIST_REVERSE_D(83, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_84(o, s, l) BOOST_PP_LIST_FOLD_LEFT_84(o, s, BOOST_PP_LIST_REVERSE_D(84, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_85(o, s, l) BOOST_PP_LIST_FOLD_LEFT_85(o, s, BOOST_PP_LIST_REVERSE_D(85, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_86(o, s, l) BOOST_PP_LIST_FOLD_LEFT_86(o, s, BOOST_PP_LIST_REVERSE_D(86, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_87(o, s, l) BOOST_PP_LIST_FOLD_LEFT_87(o, s, BOOST_PP_LIST_REVERSE_D(87, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_88(o, s, l) BOOST_PP_LIST_FOLD_LEFT_88(o, s, BOOST_PP_LIST_REVERSE_D(88, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_89(o, s, l) BOOST_PP_LIST_FOLD_LEFT_89(o, s, BOOST_PP_LIST_REVERSE_D(89, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_90(o, s, l) BOOST_PP_LIST_FOLD_LEFT_90(o, s, BOOST_PP_LIST_REVERSE_D(90, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_91(o, s, l) BOOST_PP_LIST_FOLD_LEFT_91(o, s, BOOST_PP_LIST_REVERSE_D(91, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_92(o, s, l) BOOST_PP_LIST_FOLD_LEFT_92(o, s, BOOST_PP_LIST_REVERSE_D(92, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_93(o, s, l) BOOST_PP_LIST_FOLD_LEFT_93(o, s, BOOST_PP_LIST_REVERSE_D(93, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_94(o, s, l) BOOST_PP_LIST_FOLD_LEFT_94(o, s, BOOST_PP_LIST_REVERSE_D(94, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_95(o, s, l) BOOST_PP_LIST_FOLD_LEFT_95(o, s, BOOST_PP_LIST_REVERSE_D(95, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_96(o, s, l) BOOST_PP_LIST_FOLD_LEFT_96(o, s, BOOST_PP_LIST_REVERSE_D(96, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_97(o, s, l) BOOST_PP_LIST_FOLD_LEFT_97(o, s, BOOST_PP_LIST_REVERSE_D(97, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_98(o, s, l) BOOST_PP_LIST_FOLD_LEFT_98(o, s, BOOST_PP_LIST_REVERSE_D(98, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_99(o, s, l) BOOST_PP_LIST_FOLD_LEFT_99(o, s, BOOST_PP_LIST_REVERSE_D(99, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_100(o, s, l) BOOST_PP_LIST_FOLD_LEFT_100(o, s, BOOST_PP_LIST_REVERSE_D(100, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_101(o, s, l) BOOST_PP_LIST_FOLD_LEFT_101(o, s, BOOST_PP_LIST_REVERSE_D(101, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_102(o, s, l) BOOST_PP_LIST_FOLD_LEFT_102(o, s, BOOST_PP_LIST_REVERSE_D(102, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_103(o, s, l) BOOST_PP_LIST_FOLD_LEFT_103(o, s, BOOST_PP_LIST_REVERSE_D(103, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_104(o, s, l) BOOST_PP_LIST_FOLD_LEFT_104(o, s, BOOST_PP_LIST_REVERSE_D(104, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_105(o, s, l) BOOST_PP_LIST_FOLD_LEFT_105(o, s, BOOST_PP_LIST_REVERSE_D(105, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_106(o, s, l) BOOST_PP_LIST_FOLD_LEFT_106(o, s, BOOST_PP_LIST_REVERSE_D(106, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_107(o, s, l) BOOST_PP_LIST_FOLD_LEFT_107(o, s, BOOST_PP_LIST_REVERSE_D(107, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_108(o, s, l) BOOST_PP_LIST_FOLD_LEFT_108(o, s, BOOST_PP_LIST_REVERSE_D(108, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_109(o, s, l) BOOST_PP_LIST_FOLD_LEFT_109(o, s, BOOST_PP_LIST_REVERSE_D(109, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_110(o, s, l) BOOST_PP_LIST_FOLD_LEFT_110(o, s, BOOST_PP_LIST_REVERSE_D(110, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_111(o, s, l) BOOST_PP_LIST_FOLD_LEFT_111(o, s, BOOST_PP_LIST_REVERSE_D(111, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_112(o, s, l) BOOST_PP_LIST_FOLD_LEFT_112(o, s, BOOST_PP_LIST_REVERSE_D(112, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_113(o, s, l) BOOST_PP_LIST_FOLD_LEFT_113(o, s, BOOST_PP_LIST_REVERSE_D(113, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_114(o, s, l) BOOST_PP_LIST_FOLD_LEFT_114(o, s, BOOST_PP_LIST_REVERSE_D(114, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_115(o, s, l) BOOST_PP_LIST_FOLD_LEFT_115(o, s, BOOST_PP_LIST_REVERSE_D(115, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_116(o, s, l) BOOST_PP_LIST_FOLD_LEFT_116(o, s, BOOST_PP_LIST_REVERSE_D(116, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_117(o, s, l) BOOST_PP_LIST_FOLD_LEFT_117(o, s, BOOST_PP_LIST_REVERSE_D(117, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_118(o, s, l) BOOST_PP_LIST_FOLD_LEFT_118(o, s, BOOST_PP_LIST_REVERSE_D(118, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_119(o, s, l) BOOST_PP_LIST_FOLD_LEFT_119(o, s, BOOST_PP_LIST_REVERSE_D(119, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_120(o, s, l) BOOST_PP_LIST_FOLD_LEFT_120(o, s, BOOST_PP_LIST_REVERSE_D(120, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_121(o, s, l) BOOST_PP_LIST_FOLD_LEFT_121(o, s, BOOST_PP_LIST_REVERSE_D(121, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_122(o, s, l) BOOST_PP_LIST_FOLD_LEFT_122(o, s, BOOST_PP_LIST_REVERSE_D(122, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_123(o, s, l) BOOST_PP_LIST_FOLD_LEFT_123(o, s, BOOST_PP_LIST_REVERSE_D(123, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_124(o, s, l) BOOST_PP_LIST_FOLD_LEFT_124(o, s, BOOST_PP_LIST_REVERSE_D(124, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_125(o, s, l) BOOST_PP_LIST_FOLD_LEFT_125(o, s, BOOST_PP_LIST_REVERSE_D(125, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_126(o, s, l) BOOST_PP_LIST_FOLD_LEFT_126(o, s, BOOST_PP_LIST_REVERSE_D(126, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_127(o, s, l) BOOST_PP_LIST_FOLD_LEFT_127(o, s, BOOST_PP_LIST_REVERSE_D(127, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_128(o, s, l) BOOST_PP_LIST_FOLD_LEFT_128(o, s, BOOST_PP_LIST_REVERSE_D(128, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_129(o, s, l) BOOST_PP_LIST_FOLD_LEFT_129(o, s, BOOST_PP_LIST_REVERSE_D(129, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_130(o, s, l) BOOST_PP_LIST_FOLD_LEFT_130(o, s, BOOST_PP_LIST_REVERSE_D(130, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_131(o, s, l) BOOST_PP_LIST_FOLD_LEFT_131(o, s, BOOST_PP_LIST_REVERSE_D(131, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_132(o, s, l) BOOST_PP_LIST_FOLD_LEFT_132(o, s, BOOST_PP_LIST_REVERSE_D(132, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_133(o, s, l) BOOST_PP_LIST_FOLD_LEFT_133(o, s, BOOST_PP_LIST_REVERSE_D(133, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_134(o, s, l) BOOST_PP_LIST_FOLD_LEFT_134(o, s, BOOST_PP_LIST_REVERSE_D(134, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_135(o, s, l) BOOST_PP_LIST_FOLD_LEFT_135(o, s, BOOST_PP_LIST_REVERSE_D(135, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_136(o, s, l) BOOST_PP_LIST_FOLD_LEFT_136(o, s, BOOST_PP_LIST_REVERSE_D(136, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_137(o, s, l) BOOST_PP_LIST_FOLD_LEFT_137(o, s, BOOST_PP_LIST_REVERSE_D(137, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_138(o, s, l) BOOST_PP_LIST_FOLD_LEFT_138(o, s, BOOST_PP_LIST_REVERSE_D(138, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_139(o, s, l) BOOST_PP_LIST_FOLD_LEFT_139(o, s, BOOST_PP_LIST_REVERSE_D(139, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_140(o, s, l) BOOST_PP_LIST_FOLD_LEFT_140(o, s, BOOST_PP_LIST_REVERSE_D(140, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_141(o, s, l) BOOST_PP_LIST_FOLD_LEFT_141(o, s, BOOST_PP_LIST_REVERSE_D(141, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_142(o, s, l) BOOST_PP_LIST_FOLD_LEFT_142(o, s, BOOST_PP_LIST_REVERSE_D(142, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_143(o, s, l) BOOST_PP_LIST_FOLD_LEFT_143(o, s, BOOST_PP_LIST_REVERSE_D(143, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_144(o, s, l) BOOST_PP_LIST_FOLD_LEFT_144(o, s, BOOST_PP_LIST_REVERSE_D(144, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_145(o, s, l) BOOST_PP_LIST_FOLD_LEFT_145(o, s, BOOST_PP_LIST_REVERSE_D(145, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_146(o, s, l) BOOST_PP_LIST_FOLD_LEFT_146(o, s, BOOST_PP_LIST_REVERSE_D(146, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_147(o, s, l) BOOST_PP_LIST_FOLD_LEFT_147(o, s, BOOST_PP_LIST_REVERSE_D(147, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_148(o, s, l) BOOST_PP_LIST_FOLD_LEFT_148(o, s, BOOST_PP_LIST_REVERSE_D(148, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_149(o, s, l) BOOST_PP_LIST_FOLD_LEFT_149(o, s, BOOST_PP_LIST_REVERSE_D(149, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_150(o, s, l) BOOST_PP_LIST_FOLD_LEFT_150(o, s, BOOST_PP_LIST_REVERSE_D(150, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_151(o, s, l) BOOST_PP_LIST_FOLD_LEFT_151(o, s, BOOST_PP_LIST_REVERSE_D(151, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_152(o, s, l) BOOST_PP_LIST_FOLD_LEFT_152(o, s, BOOST_PP_LIST_REVERSE_D(152, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_153(o, s, l) BOOST_PP_LIST_FOLD_LEFT_153(o, s, BOOST_PP_LIST_REVERSE_D(153, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_154(o, s, l) BOOST_PP_LIST_FOLD_LEFT_154(o, s, BOOST_PP_LIST_REVERSE_D(154, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_155(o, s, l) BOOST_PP_LIST_FOLD_LEFT_155(o, s, BOOST_PP_LIST_REVERSE_D(155, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_156(o, s, l) BOOST_PP_LIST_FOLD_LEFT_156(o, s, BOOST_PP_LIST_REVERSE_D(156, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_157(o, s, l) BOOST_PP_LIST_FOLD_LEFT_157(o, s, BOOST_PP_LIST_REVERSE_D(157, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_158(o, s, l) BOOST_PP_LIST_FOLD_LEFT_158(o, s, BOOST_PP_LIST_REVERSE_D(158, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_159(o, s, l) BOOST_PP_LIST_FOLD_LEFT_159(o, s, BOOST_PP_LIST_REVERSE_D(159, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_160(o, s, l) BOOST_PP_LIST_FOLD_LEFT_160(o, s, BOOST_PP_LIST_REVERSE_D(160, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_161(o, s, l) BOOST_PP_LIST_FOLD_LEFT_161(o, s, BOOST_PP_LIST_REVERSE_D(161, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_162(o, s, l) BOOST_PP_LIST_FOLD_LEFT_162(o, s, BOOST_PP_LIST_REVERSE_D(162, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_163(o, s, l) BOOST_PP_LIST_FOLD_LEFT_163(o, s, BOOST_PP_LIST_REVERSE_D(163, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_164(o, s, l) BOOST_PP_LIST_FOLD_LEFT_164(o, s, BOOST_PP_LIST_REVERSE_D(164, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_165(o, s, l) BOOST_PP_LIST_FOLD_LEFT_165(o, s, BOOST_PP_LIST_REVERSE_D(165, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_166(o, s, l) BOOST_PP_LIST_FOLD_LEFT_166(o, s, BOOST_PP_LIST_REVERSE_D(166, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_167(o, s, l) BOOST_PP_LIST_FOLD_LEFT_167(o, s, BOOST_PP_LIST_REVERSE_D(167, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_168(o, s, l) BOOST_PP_LIST_FOLD_LEFT_168(o, s, BOOST_PP_LIST_REVERSE_D(168, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_169(o, s, l) BOOST_PP_LIST_FOLD_LEFT_169(o, s, BOOST_PP_LIST_REVERSE_D(169, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_170(o, s, l) BOOST_PP_LIST_FOLD_LEFT_170(o, s, BOOST_PP_LIST_REVERSE_D(170, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_171(o, s, l) BOOST_PP_LIST_FOLD_LEFT_171(o, s, BOOST_PP_LIST_REVERSE_D(171, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_172(o, s, l) BOOST_PP_LIST_FOLD_LEFT_172(o, s, BOOST_PP_LIST_REVERSE_D(172, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_173(o, s, l) BOOST_PP_LIST_FOLD_LEFT_173(o, s, BOOST_PP_LIST_REVERSE_D(173, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_174(o, s, l) BOOST_PP_LIST_FOLD_LEFT_174(o, s, BOOST_PP_LIST_REVERSE_D(174, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_175(o, s, l) BOOST_PP_LIST_FOLD_LEFT_175(o, s, BOOST_PP_LIST_REVERSE_D(175, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_176(o, s, l) BOOST_PP_LIST_FOLD_LEFT_176(o, s, BOOST_PP_LIST_REVERSE_D(176, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_177(o, s, l) BOOST_PP_LIST_FOLD_LEFT_177(o, s, BOOST_PP_LIST_REVERSE_D(177, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_178(o, s, l) BOOST_PP_LIST_FOLD_LEFT_178(o, s, BOOST_PP_LIST_REVERSE_D(178, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_179(o, s, l) BOOST_PP_LIST_FOLD_LEFT_179(o, s, BOOST_PP_LIST_REVERSE_D(179, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_180(o, s, l) BOOST_PP_LIST_FOLD_LEFT_180(o, s, BOOST_PP_LIST_REVERSE_D(180, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_181(o, s, l) BOOST_PP_LIST_FOLD_LEFT_181(o, s, BOOST_PP_LIST_REVERSE_D(181, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_182(o, s, l) BOOST_PP_LIST_FOLD_LEFT_182(o, s, BOOST_PP_LIST_REVERSE_D(182, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_183(o, s, l) BOOST_PP_LIST_FOLD_LEFT_183(o, s, BOOST_PP_LIST_REVERSE_D(183, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_184(o, s, l) BOOST_PP_LIST_FOLD_LEFT_184(o, s, BOOST_PP_LIST_REVERSE_D(184, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_185(o, s, l) BOOST_PP_LIST_FOLD_LEFT_185(o, s, BOOST_PP_LIST_REVERSE_D(185, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_186(o, s, l) BOOST_PP_LIST_FOLD_LEFT_186(o, s, BOOST_PP_LIST_REVERSE_D(186, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_187(o, s, l) BOOST_PP_LIST_FOLD_LEFT_187(o, s, BOOST_PP_LIST_REVERSE_D(187, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_188(o, s, l) BOOST_PP_LIST_FOLD_LEFT_188(o, s, BOOST_PP_LIST_REVERSE_D(188, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_189(o, s, l) BOOST_PP_LIST_FOLD_LEFT_189(o, s, BOOST_PP_LIST_REVERSE_D(189, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_190(o, s, l) BOOST_PP_LIST_FOLD_LEFT_190(o, s, BOOST_PP_LIST_REVERSE_D(190, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_191(o, s, l) BOOST_PP_LIST_FOLD_LEFT_191(o, s, BOOST_PP_LIST_REVERSE_D(191, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_192(o, s, l) BOOST_PP_LIST_FOLD_LEFT_192(o, s, BOOST_PP_LIST_REVERSE_D(192, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_193(o, s, l) BOOST_PP_LIST_FOLD_LEFT_193(o, s, BOOST_PP_LIST_REVERSE_D(193, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_194(o, s, l) BOOST_PP_LIST_FOLD_LEFT_194(o, s, BOOST_PP_LIST_REVERSE_D(194, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_195(o, s, l) BOOST_PP_LIST_FOLD_LEFT_195(o, s, BOOST_PP_LIST_REVERSE_D(195, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_196(o, s, l) BOOST_PP_LIST_FOLD_LEFT_196(o, s, BOOST_PP_LIST_REVERSE_D(196, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_197(o, s, l) BOOST_PP_LIST_FOLD_LEFT_197(o, s, BOOST_PP_LIST_REVERSE_D(197, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_198(o, s, l) BOOST_PP_LIST_FOLD_LEFT_198(o, s, BOOST_PP_LIST_REVERSE_D(198, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_199(o, s, l) BOOST_PP_LIST_FOLD_LEFT_199(o, s, BOOST_PP_LIST_REVERSE_D(199, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_200(o, s, l) BOOST_PP_LIST_FOLD_LEFT_200(o, s, BOOST_PP_LIST_REVERSE_D(200, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_201(o, s, l) BOOST_PP_LIST_FOLD_LEFT_201(o, s, BOOST_PP_LIST_REVERSE_D(201, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_202(o, s, l) BOOST_PP_LIST_FOLD_LEFT_202(o, s, BOOST_PP_LIST_REVERSE_D(202, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_203(o, s, l) BOOST_PP_LIST_FOLD_LEFT_203(o, s, BOOST_PP_LIST_REVERSE_D(203, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_204(o, s, l) BOOST_PP_LIST_FOLD_LEFT_204(o, s, BOOST_PP_LIST_REVERSE_D(204, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_205(o, s, l) BOOST_PP_LIST_FOLD_LEFT_205(o, s, BOOST_PP_LIST_REVERSE_D(205, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_206(o, s, l) BOOST_PP_LIST_FOLD_LEFT_206(o, s, BOOST_PP_LIST_REVERSE_D(206, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_207(o, s, l) BOOST_PP_LIST_FOLD_LEFT_207(o, s, BOOST_PP_LIST_REVERSE_D(207, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_208(o, s, l) BOOST_PP_LIST_FOLD_LEFT_208(o, s, BOOST_PP_LIST_REVERSE_D(208, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_209(o, s, l) BOOST_PP_LIST_FOLD_LEFT_209(o, s, BOOST_PP_LIST_REVERSE_D(209, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_210(o, s, l) BOOST_PP_LIST_FOLD_LEFT_210(o, s, BOOST_PP_LIST_REVERSE_D(210, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_211(o, s, l) BOOST_PP_LIST_FOLD_LEFT_211(o, s, BOOST_PP_LIST_REVERSE_D(211, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_212(o, s, l) BOOST_PP_LIST_FOLD_LEFT_212(o, s, BOOST_PP_LIST_REVERSE_D(212, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_213(o, s, l) BOOST_PP_LIST_FOLD_LEFT_213(o, s, BOOST_PP_LIST_REVERSE_D(213, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_214(o, s, l) BOOST_PP_LIST_FOLD_LEFT_214(o, s, BOOST_PP_LIST_REVERSE_D(214, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_215(o, s, l) BOOST_PP_LIST_FOLD_LEFT_215(o, s, BOOST_PP_LIST_REVERSE_D(215, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_216(o, s, l) BOOST_PP_LIST_FOLD_LEFT_216(o, s, BOOST_PP_LIST_REVERSE_D(216, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_217(o, s, l) BOOST_PP_LIST_FOLD_LEFT_217(o, s, BOOST_PP_LIST_REVERSE_D(217, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_218(o, s, l) BOOST_PP_LIST_FOLD_LEFT_218(o, s, BOOST_PP_LIST_REVERSE_D(218, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_219(o, s, l) BOOST_PP_LIST_FOLD_LEFT_219(o, s, BOOST_PP_LIST_REVERSE_D(219, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_220(o, s, l) BOOST_PP_LIST_FOLD_LEFT_220(o, s, BOOST_PP_LIST_REVERSE_D(220, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_221(o, s, l) BOOST_PP_LIST_FOLD_LEFT_221(o, s, BOOST_PP_LIST_REVERSE_D(221, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_222(o, s, l) BOOST_PP_LIST_FOLD_LEFT_222(o, s, BOOST_PP_LIST_REVERSE_D(222, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_223(o, s, l) BOOST_PP_LIST_FOLD_LEFT_223(o, s, BOOST_PP_LIST_REVERSE_D(223, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_224(o, s, l) BOOST_PP_LIST_FOLD_LEFT_224(o, s, BOOST_PP_LIST_REVERSE_D(224, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_225(o, s, l) BOOST_PP_LIST_FOLD_LEFT_225(o, s, BOOST_PP_LIST_REVERSE_D(225, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_226(o, s, l) BOOST_PP_LIST_FOLD_LEFT_226(o, s, BOOST_PP_LIST_REVERSE_D(226, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_227(o, s, l) BOOST_PP_LIST_FOLD_LEFT_227(o, s, BOOST_PP_LIST_REVERSE_D(227, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_228(o, s, l) BOOST_PP_LIST_FOLD_LEFT_228(o, s, BOOST_PP_LIST_REVERSE_D(228, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_229(o, s, l) BOOST_PP_LIST_FOLD_LEFT_229(o, s, BOOST_PP_LIST_REVERSE_D(229, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_230(o, s, l) BOOST_PP_LIST_FOLD_LEFT_230(o, s, BOOST_PP_LIST_REVERSE_D(230, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_231(o, s, l) BOOST_PP_LIST_FOLD_LEFT_231(o, s, BOOST_PP_LIST_REVERSE_D(231, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_232(o, s, l) BOOST_PP_LIST_FOLD_LEFT_232(o, s, BOOST_PP_LIST_REVERSE_D(232, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_233(o, s, l) BOOST_PP_LIST_FOLD_LEFT_233(o, s, BOOST_PP_LIST_REVERSE_D(233, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_234(o, s, l) BOOST_PP_LIST_FOLD_LEFT_234(o, s, BOOST_PP_LIST_REVERSE_D(234, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_235(o, s, l) BOOST_PP_LIST_FOLD_LEFT_235(o, s, BOOST_PP_LIST_REVERSE_D(235, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_236(o, s, l) BOOST_PP_LIST_FOLD_LEFT_236(o, s, BOOST_PP_LIST_REVERSE_D(236, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_237(o, s, l) BOOST_PP_LIST_FOLD_LEFT_237(o, s, BOOST_PP_LIST_REVERSE_D(237, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_238(o, s, l) BOOST_PP_LIST_FOLD_LEFT_238(o, s, BOOST_PP_LIST_REVERSE_D(238, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_239(o, s, l) BOOST_PP_LIST_FOLD_LEFT_239(o, s, BOOST_PP_LIST_REVERSE_D(239, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_240(o, s, l) BOOST_PP_LIST_FOLD_LEFT_240(o, s, BOOST_PP_LIST_REVERSE_D(240, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_241(o, s, l) BOOST_PP_LIST_FOLD_LEFT_241(o, s, BOOST_PP_LIST_REVERSE_D(241, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_242(o, s, l) BOOST_PP_LIST_FOLD_LEFT_242(o, s, BOOST_PP_LIST_REVERSE_D(242, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_243(o, s, l) BOOST_PP_LIST_FOLD_LEFT_243(o, s, BOOST_PP_LIST_REVERSE_D(243, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_244(o, s, l) BOOST_PP_LIST_FOLD_LEFT_244(o, s, BOOST_PP_LIST_REVERSE_D(244, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_245(o, s, l) BOOST_PP_LIST_FOLD_LEFT_245(o, s, BOOST_PP_LIST_REVERSE_D(245, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_246(o, s, l) BOOST_PP_LIST_FOLD_LEFT_246(o, s, BOOST_PP_LIST_REVERSE_D(246, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_247(o, s, l) BOOST_PP_LIST_FOLD_LEFT_247(o, s, BOOST_PP_LIST_REVERSE_D(247, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_248(o, s, l) BOOST_PP_LIST_FOLD_LEFT_248(o, s, BOOST_PP_LIST_REVERSE_D(248, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_249(o, s, l) BOOST_PP_LIST_FOLD_LEFT_249(o, s, BOOST_PP_LIST_REVERSE_D(249, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_250(o, s, l) BOOST_PP_LIST_FOLD_LEFT_250(o, s, BOOST_PP_LIST_REVERSE_D(250, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_251(o, s, l) BOOST_PP_LIST_FOLD_LEFT_251(o, s, BOOST_PP_LIST_REVERSE_D(251, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_252(o, s, l) BOOST_PP_LIST_FOLD_LEFT_252(o, s, BOOST_PP_LIST_REVERSE_D(252, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_253(o, s, l) BOOST_PP_LIST_FOLD_LEFT_253(o, s, BOOST_PP_LIST_REVERSE_D(253, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_254(o, s, l) BOOST_PP_LIST_FOLD_LEFT_254(o, s, BOOST_PP_LIST_REVERSE_D(254, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_255(o, s, l) BOOST_PP_LIST_FOLD_LEFT_255(o, s, BOOST_PP_LIST_REVERSE_D(255, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_256(o, s, l) BOOST_PP_LIST_FOLD_LEFT_256(o, s, BOOST_PP_LIST_REVERSE_D(256, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_1(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_1(o, s, NDNBOOST_PP_LIST_REVERSE_D(1, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_2(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_2(o, s, NDNBOOST_PP_LIST_REVERSE_D(2, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_3(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_3(o, s, NDNBOOST_PP_LIST_REVERSE_D(3, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_4(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_4(o, s, NDNBOOST_PP_LIST_REVERSE_D(4, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_5(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_5(o, s, NDNBOOST_PP_LIST_REVERSE_D(5, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_6(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_6(o, s, NDNBOOST_PP_LIST_REVERSE_D(6, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_7(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_7(o, s, NDNBOOST_PP_LIST_REVERSE_D(7, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_8(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_8(o, s, NDNBOOST_PP_LIST_REVERSE_D(8, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_9(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_9(o, s, NDNBOOST_PP_LIST_REVERSE_D(9, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_10(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_10(o, s, NDNBOOST_PP_LIST_REVERSE_D(10, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_11(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_11(o, s, NDNBOOST_PP_LIST_REVERSE_D(11, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_12(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_12(o, s, NDNBOOST_PP_LIST_REVERSE_D(12, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_13(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_13(o, s, NDNBOOST_PP_LIST_REVERSE_D(13, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_14(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_14(o, s, NDNBOOST_PP_LIST_REVERSE_D(14, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_15(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_15(o, s, NDNBOOST_PP_LIST_REVERSE_D(15, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_16(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_16(o, s, NDNBOOST_PP_LIST_REVERSE_D(16, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_17(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_17(o, s, NDNBOOST_PP_LIST_REVERSE_D(17, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_18(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_18(o, s, NDNBOOST_PP_LIST_REVERSE_D(18, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_19(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_19(o, s, NDNBOOST_PP_LIST_REVERSE_D(19, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_20(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_20(o, s, NDNBOOST_PP_LIST_REVERSE_D(20, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_21(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_21(o, s, NDNBOOST_PP_LIST_REVERSE_D(21, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_22(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_22(o, s, NDNBOOST_PP_LIST_REVERSE_D(22, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_23(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_23(o, s, NDNBOOST_PP_LIST_REVERSE_D(23, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_24(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_24(o, s, NDNBOOST_PP_LIST_REVERSE_D(24, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_25(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_25(o, s, NDNBOOST_PP_LIST_REVERSE_D(25, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_26(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_26(o, s, NDNBOOST_PP_LIST_REVERSE_D(26, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_27(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_27(o, s, NDNBOOST_PP_LIST_REVERSE_D(27, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_28(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_28(o, s, NDNBOOST_PP_LIST_REVERSE_D(28, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_29(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_29(o, s, NDNBOOST_PP_LIST_REVERSE_D(29, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_30(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_30(o, s, NDNBOOST_PP_LIST_REVERSE_D(30, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_31(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_31(o, s, NDNBOOST_PP_LIST_REVERSE_D(31, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_32(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_32(o, s, NDNBOOST_PP_LIST_REVERSE_D(32, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_33(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_33(o, s, NDNBOOST_PP_LIST_REVERSE_D(33, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_34(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_34(o, s, NDNBOOST_PP_LIST_REVERSE_D(34, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_35(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_35(o, s, NDNBOOST_PP_LIST_REVERSE_D(35, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_36(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_36(o, s, NDNBOOST_PP_LIST_REVERSE_D(36, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_37(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_37(o, s, NDNBOOST_PP_LIST_REVERSE_D(37, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_38(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_38(o, s, NDNBOOST_PP_LIST_REVERSE_D(38, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_39(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_39(o, s, NDNBOOST_PP_LIST_REVERSE_D(39, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_40(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_40(o, s, NDNBOOST_PP_LIST_REVERSE_D(40, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_41(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_41(o, s, NDNBOOST_PP_LIST_REVERSE_D(41, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_42(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_42(o, s, NDNBOOST_PP_LIST_REVERSE_D(42, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_43(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_43(o, s, NDNBOOST_PP_LIST_REVERSE_D(43, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_44(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_44(o, s, NDNBOOST_PP_LIST_REVERSE_D(44, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_45(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_45(o, s, NDNBOOST_PP_LIST_REVERSE_D(45, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_46(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_46(o, s, NDNBOOST_PP_LIST_REVERSE_D(46, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_47(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_47(o, s, NDNBOOST_PP_LIST_REVERSE_D(47, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_48(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_48(o, s, NDNBOOST_PP_LIST_REVERSE_D(48, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_49(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_49(o, s, NDNBOOST_PP_LIST_REVERSE_D(49, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_50(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_50(o, s, NDNBOOST_PP_LIST_REVERSE_D(50, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_51(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_51(o, s, NDNBOOST_PP_LIST_REVERSE_D(51, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_52(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_52(o, s, NDNBOOST_PP_LIST_REVERSE_D(52, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_53(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_53(o, s, NDNBOOST_PP_LIST_REVERSE_D(53, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_54(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_54(o, s, NDNBOOST_PP_LIST_REVERSE_D(54, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_55(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_55(o, s, NDNBOOST_PP_LIST_REVERSE_D(55, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_56(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_56(o, s, NDNBOOST_PP_LIST_REVERSE_D(56, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_57(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_57(o, s, NDNBOOST_PP_LIST_REVERSE_D(57, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_58(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_58(o, s, NDNBOOST_PP_LIST_REVERSE_D(58, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_59(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_59(o, s, NDNBOOST_PP_LIST_REVERSE_D(59, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_60(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_60(o, s, NDNBOOST_PP_LIST_REVERSE_D(60, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_61(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_61(o, s, NDNBOOST_PP_LIST_REVERSE_D(61, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_62(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_62(o, s, NDNBOOST_PP_LIST_REVERSE_D(62, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_63(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_63(o, s, NDNBOOST_PP_LIST_REVERSE_D(63, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_64(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_64(o, s, NDNBOOST_PP_LIST_REVERSE_D(64, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_65(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_65(o, s, NDNBOOST_PP_LIST_REVERSE_D(65, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_66(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_66(o, s, NDNBOOST_PP_LIST_REVERSE_D(66, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_67(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_67(o, s, NDNBOOST_PP_LIST_REVERSE_D(67, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_68(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_68(o, s, NDNBOOST_PP_LIST_REVERSE_D(68, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_69(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_69(o, s, NDNBOOST_PP_LIST_REVERSE_D(69, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_70(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_70(o, s, NDNBOOST_PP_LIST_REVERSE_D(70, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_71(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_71(o, s, NDNBOOST_PP_LIST_REVERSE_D(71, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_72(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_72(o, s, NDNBOOST_PP_LIST_REVERSE_D(72, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_73(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_73(o, s, NDNBOOST_PP_LIST_REVERSE_D(73, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_74(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_74(o, s, NDNBOOST_PP_LIST_REVERSE_D(74, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_75(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_75(o, s, NDNBOOST_PP_LIST_REVERSE_D(75, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_76(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_76(o, s, NDNBOOST_PP_LIST_REVERSE_D(76, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_77(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_77(o, s, NDNBOOST_PP_LIST_REVERSE_D(77, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_78(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_78(o, s, NDNBOOST_PP_LIST_REVERSE_D(78, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_79(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_79(o, s, NDNBOOST_PP_LIST_REVERSE_D(79, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_80(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_80(o, s, NDNBOOST_PP_LIST_REVERSE_D(80, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_81(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_81(o, s, NDNBOOST_PP_LIST_REVERSE_D(81, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_82(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_82(o, s, NDNBOOST_PP_LIST_REVERSE_D(82, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_83(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_83(o, s, NDNBOOST_PP_LIST_REVERSE_D(83, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_84(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_84(o, s, NDNBOOST_PP_LIST_REVERSE_D(84, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_85(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_85(o, s, NDNBOOST_PP_LIST_REVERSE_D(85, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_86(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_86(o, s, NDNBOOST_PP_LIST_REVERSE_D(86, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_87(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_87(o, s, NDNBOOST_PP_LIST_REVERSE_D(87, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_88(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_88(o, s, NDNBOOST_PP_LIST_REVERSE_D(88, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_89(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_89(o, s, NDNBOOST_PP_LIST_REVERSE_D(89, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_90(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_90(o, s, NDNBOOST_PP_LIST_REVERSE_D(90, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_91(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_91(o, s, NDNBOOST_PP_LIST_REVERSE_D(91, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_92(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_92(o, s, NDNBOOST_PP_LIST_REVERSE_D(92, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_93(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_93(o, s, NDNBOOST_PP_LIST_REVERSE_D(93, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_94(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_94(o, s, NDNBOOST_PP_LIST_REVERSE_D(94, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_95(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_95(o, s, NDNBOOST_PP_LIST_REVERSE_D(95, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_96(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_96(o, s, NDNBOOST_PP_LIST_REVERSE_D(96, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_97(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_97(o, s, NDNBOOST_PP_LIST_REVERSE_D(97, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_98(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_98(o, s, NDNBOOST_PP_LIST_REVERSE_D(98, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_99(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_99(o, s, NDNBOOST_PP_LIST_REVERSE_D(99, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_100(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_100(o, s, NDNBOOST_PP_LIST_REVERSE_D(100, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_101(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_101(o, s, NDNBOOST_PP_LIST_REVERSE_D(101, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_102(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_102(o, s, NDNBOOST_PP_LIST_REVERSE_D(102, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_103(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_103(o, s, NDNBOOST_PP_LIST_REVERSE_D(103, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_104(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_104(o, s, NDNBOOST_PP_LIST_REVERSE_D(104, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_105(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_105(o, s, NDNBOOST_PP_LIST_REVERSE_D(105, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_106(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_106(o, s, NDNBOOST_PP_LIST_REVERSE_D(106, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_107(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_107(o, s, NDNBOOST_PP_LIST_REVERSE_D(107, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_108(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_108(o, s, NDNBOOST_PP_LIST_REVERSE_D(108, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_109(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_109(o, s, NDNBOOST_PP_LIST_REVERSE_D(109, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_110(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_110(o, s, NDNBOOST_PP_LIST_REVERSE_D(110, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_111(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_111(o, s, NDNBOOST_PP_LIST_REVERSE_D(111, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_112(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_112(o, s, NDNBOOST_PP_LIST_REVERSE_D(112, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_113(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_113(o, s, NDNBOOST_PP_LIST_REVERSE_D(113, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_114(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_114(o, s, NDNBOOST_PP_LIST_REVERSE_D(114, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_115(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_115(o, s, NDNBOOST_PP_LIST_REVERSE_D(115, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_116(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_116(o, s, NDNBOOST_PP_LIST_REVERSE_D(116, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_117(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_117(o, s, NDNBOOST_PP_LIST_REVERSE_D(117, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_118(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_118(o, s, NDNBOOST_PP_LIST_REVERSE_D(118, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_119(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_119(o, s, NDNBOOST_PP_LIST_REVERSE_D(119, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_120(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_120(o, s, NDNBOOST_PP_LIST_REVERSE_D(120, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_121(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_121(o, s, NDNBOOST_PP_LIST_REVERSE_D(121, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_122(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_122(o, s, NDNBOOST_PP_LIST_REVERSE_D(122, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_123(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_123(o, s, NDNBOOST_PP_LIST_REVERSE_D(123, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_124(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_124(o, s, NDNBOOST_PP_LIST_REVERSE_D(124, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_125(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_125(o, s, NDNBOOST_PP_LIST_REVERSE_D(125, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_126(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_126(o, s, NDNBOOST_PP_LIST_REVERSE_D(126, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_127(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_127(o, s, NDNBOOST_PP_LIST_REVERSE_D(127, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_128(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_128(o, s, NDNBOOST_PP_LIST_REVERSE_D(128, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_129(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_129(o, s, NDNBOOST_PP_LIST_REVERSE_D(129, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_130(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_130(o, s, NDNBOOST_PP_LIST_REVERSE_D(130, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_131(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_131(o, s, NDNBOOST_PP_LIST_REVERSE_D(131, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_132(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_132(o, s, NDNBOOST_PP_LIST_REVERSE_D(132, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_133(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_133(o, s, NDNBOOST_PP_LIST_REVERSE_D(133, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_134(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_134(o, s, NDNBOOST_PP_LIST_REVERSE_D(134, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_135(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_135(o, s, NDNBOOST_PP_LIST_REVERSE_D(135, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_136(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_136(o, s, NDNBOOST_PP_LIST_REVERSE_D(136, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_137(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_137(o, s, NDNBOOST_PP_LIST_REVERSE_D(137, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_138(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_138(o, s, NDNBOOST_PP_LIST_REVERSE_D(138, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_139(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_139(o, s, NDNBOOST_PP_LIST_REVERSE_D(139, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_140(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_140(o, s, NDNBOOST_PP_LIST_REVERSE_D(140, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_141(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_141(o, s, NDNBOOST_PP_LIST_REVERSE_D(141, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_142(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_142(o, s, NDNBOOST_PP_LIST_REVERSE_D(142, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_143(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_143(o, s, NDNBOOST_PP_LIST_REVERSE_D(143, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_144(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_144(o, s, NDNBOOST_PP_LIST_REVERSE_D(144, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_145(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_145(o, s, NDNBOOST_PP_LIST_REVERSE_D(145, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_146(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_146(o, s, NDNBOOST_PP_LIST_REVERSE_D(146, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_147(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_147(o, s, NDNBOOST_PP_LIST_REVERSE_D(147, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_148(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_148(o, s, NDNBOOST_PP_LIST_REVERSE_D(148, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_149(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_149(o, s, NDNBOOST_PP_LIST_REVERSE_D(149, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_150(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_150(o, s, NDNBOOST_PP_LIST_REVERSE_D(150, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_151(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_151(o, s, NDNBOOST_PP_LIST_REVERSE_D(151, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_152(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_152(o, s, NDNBOOST_PP_LIST_REVERSE_D(152, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_153(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_153(o, s, NDNBOOST_PP_LIST_REVERSE_D(153, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_154(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_154(o, s, NDNBOOST_PP_LIST_REVERSE_D(154, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_155(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_155(o, s, NDNBOOST_PP_LIST_REVERSE_D(155, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_156(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_156(o, s, NDNBOOST_PP_LIST_REVERSE_D(156, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_157(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_157(o, s, NDNBOOST_PP_LIST_REVERSE_D(157, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_158(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_158(o, s, NDNBOOST_PP_LIST_REVERSE_D(158, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_159(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_159(o, s, NDNBOOST_PP_LIST_REVERSE_D(159, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_160(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_160(o, s, NDNBOOST_PP_LIST_REVERSE_D(160, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_161(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_161(o, s, NDNBOOST_PP_LIST_REVERSE_D(161, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_162(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_162(o, s, NDNBOOST_PP_LIST_REVERSE_D(162, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_163(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_163(o, s, NDNBOOST_PP_LIST_REVERSE_D(163, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_164(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_164(o, s, NDNBOOST_PP_LIST_REVERSE_D(164, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_165(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_165(o, s, NDNBOOST_PP_LIST_REVERSE_D(165, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_166(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_166(o, s, NDNBOOST_PP_LIST_REVERSE_D(166, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_167(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_167(o, s, NDNBOOST_PP_LIST_REVERSE_D(167, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_168(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_168(o, s, NDNBOOST_PP_LIST_REVERSE_D(168, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_169(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_169(o, s, NDNBOOST_PP_LIST_REVERSE_D(169, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_170(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_170(o, s, NDNBOOST_PP_LIST_REVERSE_D(170, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_171(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_171(o, s, NDNBOOST_PP_LIST_REVERSE_D(171, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_172(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_172(o, s, NDNBOOST_PP_LIST_REVERSE_D(172, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_173(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_173(o, s, NDNBOOST_PP_LIST_REVERSE_D(173, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_174(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_174(o, s, NDNBOOST_PP_LIST_REVERSE_D(174, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_175(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_175(o, s, NDNBOOST_PP_LIST_REVERSE_D(175, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_176(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_176(o, s, NDNBOOST_PP_LIST_REVERSE_D(176, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_177(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_177(o, s, NDNBOOST_PP_LIST_REVERSE_D(177, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_178(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_178(o, s, NDNBOOST_PP_LIST_REVERSE_D(178, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_179(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_179(o, s, NDNBOOST_PP_LIST_REVERSE_D(179, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_180(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_180(o, s, NDNBOOST_PP_LIST_REVERSE_D(180, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_181(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_181(o, s, NDNBOOST_PP_LIST_REVERSE_D(181, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_182(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_182(o, s, NDNBOOST_PP_LIST_REVERSE_D(182, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_183(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_183(o, s, NDNBOOST_PP_LIST_REVERSE_D(183, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_184(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_184(o, s, NDNBOOST_PP_LIST_REVERSE_D(184, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_185(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_185(o, s, NDNBOOST_PP_LIST_REVERSE_D(185, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_186(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_186(o, s, NDNBOOST_PP_LIST_REVERSE_D(186, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_187(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_187(o, s, NDNBOOST_PP_LIST_REVERSE_D(187, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_188(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_188(o, s, NDNBOOST_PP_LIST_REVERSE_D(188, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_189(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_189(o, s, NDNBOOST_PP_LIST_REVERSE_D(189, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_190(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_190(o, s, NDNBOOST_PP_LIST_REVERSE_D(190, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_191(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_191(o, s, NDNBOOST_PP_LIST_REVERSE_D(191, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_192(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_192(o, s, NDNBOOST_PP_LIST_REVERSE_D(192, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_193(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_193(o, s, NDNBOOST_PP_LIST_REVERSE_D(193, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_194(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_194(o, s, NDNBOOST_PP_LIST_REVERSE_D(194, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_195(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_195(o, s, NDNBOOST_PP_LIST_REVERSE_D(195, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_196(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_196(o, s, NDNBOOST_PP_LIST_REVERSE_D(196, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_197(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_197(o, s, NDNBOOST_PP_LIST_REVERSE_D(197, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_198(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_198(o, s, NDNBOOST_PP_LIST_REVERSE_D(198, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_199(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_199(o, s, NDNBOOST_PP_LIST_REVERSE_D(199, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_200(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_200(o, s, NDNBOOST_PP_LIST_REVERSE_D(200, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_201(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_201(o, s, NDNBOOST_PP_LIST_REVERSE_D(201, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_202(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_202(o, s, NDNBOOST_PP_LIST_REVERSE_D(202, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_203(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_203(o, s, NDNBOOST_PP_LIST_REVERSE_D(203, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_204(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_204(o, s, NDNBOOST_PP_LIST_REVERSE_D(204, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_205(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_205(o, s, NDNBOOST_PP_LIST_REVERSE_D(205, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_206(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_206(o, s, NDNBOOST_PP_LIST_REVERSE_D(206, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_207(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_207(o, s, NDNBOOST_PP_LIST_REVERSE_D(207, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_208(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_208(o, s, NDNBOOST_PP_LIST_REVERSE_D(208, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_209(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_209(o, s, NDNBOOST_PP_LIST_REVERSE_D(209, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_210(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_210(o, s, NDNBOOST_PP_LIST_REVERSE_D(210, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_211(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_211(o, s, NDNBOOST_PP_LIST_REVERSE_D(211, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_212(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_212(o, s, NDNBOOST_PP_LIST_REVERSE_D(212, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_213(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_213(o, s, NDNBOOST_PP_LIST_REVERSE_D(213, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_214(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_214(o, s, NDNBOOST_PP_LIST_REVERSE_D(214, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_215(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_215(o, s, NDNBOOST_PP_LIST_REVERSE_D(215, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_216(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_216(o, s, NDNBOOST_PP_LIST_REVERSE_D(216, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_217(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_217(o, s, NDNBOOST_PP_LIST_REVERSE_D(217, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_218(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_218(o, s, NDNBOOST_PP_LIST_REVERSE_D(218, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_219(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_219(o, s, NDNBOOST_PP_LIST_REVERSE_D(219, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_220(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_220(o, s, NDNBOOST_PP_LIST_REVERSE_D(220, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_221(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_221(o, s, NDNBOOST_PP_LIST_REVERSE_D(221, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_222(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_222(o, s, NDNBOOST_PP_LIST_REVERSE_D(222, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_223(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_223(o, s, NDNBOOST_PP_LIST_REVERSE_D(223, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_224(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_224(o, s, NDNBOOST_PP_LIST_REVERSE_D(224, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_225(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_225(o, s, NDNBOOST_PP_LIST_REVERSE_D(225, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_226(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_226(o, s, NDNBOOST_PP_LIST_REVERSE_D(226, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_227(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_227(o, s, NDNBOOST_PP_LIST_REVERSE_D(227, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_228(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_228(o, s, NDNBOOST_PP_LIST_REVERSE_D(228, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_229(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_229(o, s, NDNBOOST_PP_LIST_REVERSE_D(229, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_230(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_230(o, s, NDNBOOST_PP_LIST_REVERSE_D(230, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_231(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_231(o, s, NDNBOOST_PP_LIST_REVERSE_D(231, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_232(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_232(o, s, NDNBOOST_PP_LIST_REVERSE_D(232, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_233(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_233(o, s, NDNBOOST_PP_LIST_REVERSE_D(233, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_234(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_234(o, s, NDNBOOST_PP_LIST_REVERSE_D(234, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_235(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_235(o, s, NDNBOOST_PP_LIST_REVERSE_D(235, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_236(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_236(o, s, NDNBOOST_PP_LIST_REVERSE_D(236, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_237(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_237(o, s, NDNBOOST_PP_LIST_REVERSE_D(237, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_238(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_238(o, s, NDNBOOST_PP_LIST_REVERSE_D(238, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_239(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_239(o, s, NDNBOOST_PP_LIST_REVERSE_D(239, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_240(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_240(o, s, NDNBOOST_PP_LIST_REVERSE_D(240, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_241(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_241(o, s, NDNBOOST_PP_LIST_REVERSE_D(241, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_242(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_242(o, s, NDNBOOST_PP_LIST_REVERSE_D(242, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_243(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_243(o, s, NDNBOOST_PP_LIST_REVERSE_D(243, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_244(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_244(o, s, NDNBOOST_PP_LIST_REVERSE_D(244, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_245(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_245(o, s, NDNBOOST_PP_LIST_REVERSE_D(245, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_246(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_246(o, s, NDNBOOST_PP_LIST_REVERSE_D(246, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_247(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_247(o, s, NDNBOOST_PP_LIST_REVERSE_D(247, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_248(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_248(o, s, NDNBOOST_PP_LIST_REVERSE_D(248, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_249(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_249(o, s, NDNBOOST_PP_LIST_REVERSE_D(249, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_250(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_250(o, s, NDNBOOST_PP_LIST_REVERSE_D(250, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_251(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_251(o, s, NDNBOOST_PP_LIST_REVERSE_D(251, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_252(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_252(o, s, NDNBOOST_PP_LIST_REVERSE_D(252, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_253(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_253(o, s, NDNBOOST_PP_LIST_REVERSE_D(253, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_254(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_254(o, s, NDNBOOST_PP_LIST_REVERSE_D(254, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_255(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_255(o, s, NDNBOOST_PP_LIST_REVERSE_D(255, l))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_256(o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_256(o, s, NDNBOOST_PP_LIST_REVERSE_D(256, l))
 #
 # endif
diff --git a/include/ndnboost/preprocessor/list/fold_left.hpp b/include/ndnboost/preprocessor/list/fold_left.hpp
index 4be193f..da6d3b6 100644
--- a/include/ndnboost/preprocessor/list/fold_left.hpp
+++ b/include/ndnboost/preprocessor/list/fold_left.hpp
@@ -11,293 +11,293 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_LIST_FOLD_LEFT_HPP
-# define BOOST_PREPROCESSOR_LIST_FOLD_LEFT_HPP
+# ifndef NDNBOOST_PREPROCESSOR_LIST_FOLD_LEFT_HPP
+# define NDNBOOST_PREPROCESSOR_LIST_FOLD_LEFT_HPP
 #
 # include <ndnboost/preprocessor/cat.hpp>
 # include <ndnboost/preprocessor/control/while.hpp>
 # include <ndnboost/preprocessor/debug/error.hpp>
 # include <ndnboost/preprocessor/detail/auto_rec.hpp>
 #
-# /* BOOST_PP_LIST_FOLD_LEFT */
+# /* NDNBOOST_PP_LIST_FOLD_LEFT */
 #
 # if 0
-#    define BOOST_PP_LIST_FOLD_LEFT(op, state, list)
+#    define NDNBOOST_PP_LIST_FOLD_LEFT(op, state, list)
 # endif
 #
-# define BOOST_PP_LIST_FOLD_LEFT BOOST_PP_CAT(BOOST_PP_LIST_FOLD_LEFT_, BOOST_PP_AUTO_REC(BOOST_PP_WHILE_P, 256))
+# define NDNBOOST_PP_LIST_FOLD_LEFT NDNBOOST_PP_CAT(NDNBOOST_PP_LIST_FOLD_LEFT_, NDNBOOST_PP_AUTO_REC(NDNBOOST_PP_WHILE_P, 256))
 #
-# define BOOST_PP_LIST_FOLD_LEFT_257(o, s, l) BOOST_PP_ERROR(0x0004)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_257(o, s, l) NDNBOOST_PP_ERROR(0x0004)
 #
-# define BOOST_PP_LIST_FOLD_LEFT_D(d, o, s, l) BOOST_PP_LIST_FOLD_LEFT_ ## d(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_2ND BOOST_PP_LIST_FOLD_LEFT
-# define BOOST_PP_LIST_FOLD_LEFT_2ND_D BOOST_PP_LIST_FOLD_LEFT_D
+# define NDNBOOST_PP_LIST_FOLD_LEFT_D(d, o, s, l) NDNBOOST_PP_LIST_FOLD_LEFT_ ## d(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_LEFT_2ND NDNBOOST_PP_LIST_FOLD_LEFT
+# define NDNBOOST_PP_LIST_FOLD_LEFT_2ND_D NDNBOOST_PP_LIST_FOLD_LEFT_D
 #
-# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
+# if NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_EDG()
 #    include <ndnboost/preprocessor/list/detail/edg/fold_left.hpp>
-# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_DMC()
+# elif NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_DMC()
 #    include <ndnboost/preprocessor/list/detail/dmc/fold_left.hpp>
 # else
 #    include <ndnboost/preprocessor/list/detail/fold_left.hpp>
 # endif
 #
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_NIL 1
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_NIL 1
 #
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_1(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_2(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_3(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_4(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_5(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_6(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_7(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_8(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_9(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_10(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_11(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_12(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_13(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_14(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_15(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_16(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_17(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_18(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_19(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_20(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_21(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_22(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_23(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_24(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_25(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_26(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_27(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_28(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_29(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_30(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_31(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_32(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_33(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_34(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_35(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_36(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_37(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_38(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_39(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_40(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_41(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_42(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_43(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_44(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_45(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_46(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_47(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_48(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_49(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_50(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_51(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_52(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_53(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_54(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_55(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_56(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_57(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_58(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_59(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_60(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_61(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_62(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_63(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_64(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_65(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_66(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_67(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_68(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_69(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_70(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_71(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_72(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_73(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_74(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_75(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_76(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_77(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_78(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_79(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_80(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_81(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_82(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_83(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_84(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_85(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_86(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_87(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_88(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_89(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_90(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_91(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_92(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_93(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_94(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_95(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_96(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_97(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_98(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_99(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_100(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_101(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_102(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_103(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_104(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_105(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_106(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_107(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_108(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_109(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_110(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_111(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_112(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_113(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_114(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_115(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_116(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_117(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_118(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_119(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_120(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_121(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_122(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_123(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_124(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_125(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_126(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_127(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_128(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_129(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_130(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_131(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_132(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_133(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_134(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_135(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_136(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_137(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_138(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_139(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_140(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_141(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_142(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_143(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_144(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_145(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_146(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_147(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_148(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_149(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_150(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_151(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_152(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_153(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_154(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_155(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_156(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_157(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_158(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_159(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_160(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_161(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_162(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_163(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_164(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_165(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_166(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_167(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_168(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_169(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_170(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_171(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_172(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_173(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_174(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_175(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_176(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_177(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_178(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_179(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_180(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_181(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_182(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_183(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_184(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_185(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_186(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_187(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_188(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_189(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_190(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_191(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_192(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_193(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_194(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_195(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_196(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_197(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_198(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_199(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_200(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_201(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_202(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_203(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_204(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_205(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_206(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_207(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_208(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_209(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_210(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_211(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_212(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_213(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_214(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_215(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_216(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_217(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_218(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_219(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_220(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_221(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_222(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_223(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_224(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_225(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_226(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_227(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_228(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_229(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_230(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_231(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_232(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_233(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_234(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_235(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_236(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_237(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_238(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_239(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_240(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_241(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_242(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_243(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_244(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_245(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_246(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_247(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_248(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_249(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_250(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_251(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_252(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_253(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_254(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_255(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_256(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_1(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_2(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_3(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_4(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_5(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_6(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_7(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_8(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_9(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_10(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_11(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_12(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_13(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_14(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_15(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_16(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_17(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_18(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_19(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_20(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_21(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_22(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_23(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_24(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_25(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_26(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_27(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_28(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_29(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_30(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_31(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_32(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_33(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_34(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_35(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_36(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_37(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_38(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_39(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_40(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_41(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_42(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_43(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_44(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_45(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_46(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_47(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_48(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_49(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_50(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_51(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_52(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_53(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_54(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_55(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_56(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_57(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_58(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_59(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_60(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_61(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_62(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_63(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_64(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_65(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_66(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_67(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_68(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_69(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_70(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_71(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_72(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_73(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_74(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_75(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_76(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_77(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_78(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_79(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_80(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_81(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_82(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_83(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_84(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_85(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_86(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_87(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_88(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_89(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_90(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_91(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_92(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_93(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_94(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_95(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_96(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_97(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_98(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_99(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_100(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_101(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_102(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_103(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_104(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_105(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_106(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_107(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_108(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_109(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_110(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_111(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_112(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_113(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_114(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_115(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_116(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_117(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_118(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_119(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_120(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_121(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_122(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_123(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_124(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_125(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_126(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_127(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_128(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_129(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_130(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_131(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_132(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_133(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_134(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_135(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_136(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_137(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_138(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_139(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_140(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_141(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_142(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_143(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_144(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_145(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_146(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_147(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_148(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_149(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_150(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_151(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_152(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_153(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_154(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_155(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_156(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_157(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_158(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_159(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_160(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_161(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_162(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_163(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_164(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_165(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_166(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_167(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_168(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_169(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_170(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_171(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_172(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_173(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_174(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_175(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_176(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_177(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_178(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_179(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_180(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_181(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_182(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_183(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_184(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_185(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_186(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_187(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_188(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_189(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_190(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_191(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_192(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_193(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_194(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_195(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_196(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_197(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_198(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_199(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_200(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_201(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_202(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_203(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_204(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_205(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_206(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_207(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_208(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_209(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_210(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_211(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_212(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_213(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_214(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_215(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_216(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_217(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_218(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_219(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_220(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_221(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_222(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_223(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_224(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_225(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_226(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_227(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_228(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_229(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_230(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_231(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_232(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_233(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_234(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_235(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_236(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_237(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_238(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_239(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_240(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_241(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_242(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_243(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_244(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_245(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_246(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_247(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_248(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_249(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_250(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_251(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_252(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_253(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_254(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_255(o, s, l) 0
+# define NDNBOOST_PP_LIST_FOLD_LEFT_CHECK_NDNBOOST_PP_LIST_FOLD_LEFT_256(o, s, l) 0
 #
 # endif
diff --git a/include/ndnboost/preprocessor/list/fold_right.hpp b/include/ndnboost/preprocessor/list/fold_right.hpp
index 951bd9e..fd85597 100644
--- a/include/ndnboost/preprocessor/list/fold_right.hpp
+++ b/include/ndnboost/preprocessor/list/fold_right.hpp
@@ -11,8 +11,8 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_LIST_FOLD_RIGHT_HPP
-# define BOOST_PREPROCESSOR_LIST_FOLD_RIGHT_HPP
+# ifndef NDNBOOST_PREPROCESSOR_LIST_FOLD_RIGHT_HPP
+# define NDNBOOST_PREPROCESSOR_LIST_FOLD_RIGHT_HPP
 #
 # include <ndnboost/preprocessor/cat.hpp>
 # include <ndnboost/preprocessor/control/while.hpp>
@@ -20,18 +20,18 @@
 # include <ndnboost/preprocessor/detail/auto_rec.hpp>
 #
 # if 0
-#    define BOOST_PP_LIST_FOLD_RIGHT(op, state, list)
+#    define NDNBOOST_PP_LIST_FOLD_RIGHT(op, state, list)
 # endif
 #
-# define BOOST_PP_LIST_FOLD_RIGHT BOOST_PP_CAT(BOOST_PP_LIST_FOLD_RIGHT_, BOOST_PP_AUTO_REC(BOOST_PP_WHILE_P, 256))
+# define NDNBOOST_PP_LIST_FOLD_RIGHT NDNBOOST_PP_CAT(NDNBOOST_PP_LIST_FOLD_RIGHT_, NDNBOOST_PP_AUTO_REC(NDNBOOST_PP_WHILE_P, 256))
 #
-# define BOOST_PP_LIST_FOLD_RIGHT_257(o, s, l) BOOST_PP_ERROR(0x0004)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_257(o, s, l) NDNBOOST_PP_ERROR(0x0004)
 #
-# define BOOST_PP_LIST_FOLD_RIGHT_D(d, o, s, l) BOOST_PP_LIST_FOLD_RIGHT_ ## d(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_2ND BOOST_PP_LIST_FOLD_RIGHT
-# define BOOST_PP_LIST_FOLD_RIGHT_2ND_D BOOST_PP_LIST_FOLD_RIGHT_D
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_D(d, o, s, l) NDNBOOST_PP_LIST_FOLD_RIGHT_ ## d(o, s, l)
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_2ND NDNBOOST_PP_LIST_FOLD_RIGHT
+# define NDNBOOST_PP_LIST_FOLD_RIGHT_2ND_D NDNBOOST_PP_LIST_FOLD_RIGHT_D
 #
-# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
+# if NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_EDG()
 #    include <ndnboost/preprocessor/list/detail/edg/fold_right.hpp>
 # else
 #    include <ndnboost/preprocessor/list/detail/fold_right.hpp>
diff --git a/include/ndnboost/preprocessor/list/for_each_i.hpp b/include/ndnboost/preprocessor/list/for_each_i.hpp
index 1b88524..b0ea43e 100644
--- a/include/ndnboost/preprocessor/list/for_each_i.hpp
+++ b/include/ndnboost/preprocessor/list/for_each_i.hpp
@@ -11,8 +11,8 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_LIST_LIST_FOR_EACH_I_HPP
-# define BOOST_PREPROCESSOR_LIST_LIST_FOR_EACH_I_HPP
+# ifndef NDNBOOST_PREPROCESSOR_LIST_LIST_FOR_EACH_I_HPP
+# define NDNBOOST_PREPROCESSOR_LIST_LIST_FOR_EACH_I_HPP
 #
 # include <ndnboost/preprocessor/arithmetic/inc.hpp>
 # include <ndnboost/preprocessor/config/config.hpp>
@@ -21,45 +21,45 @@
 # include <ndnboost/preprocessor/tuple/elem.hpp>
 # include <ndnboost/preprocessor/tuple/rem.hpp>
 #
-# /* BOOST_PP_LIST_FOR_EACH_I */
+# /* NDNBOOST_PP_LIST_FOR_EACH_I */
 #
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() && ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()
-#    define BOOST_PP_LIST_FOR_EACH_I(macro, data, list) BOOST_PP_FOR((macro, data, list, 0), BOOST_PP_LIST_FOR_EACH_I_P, BOOST_PP_LIST_FOR_EACH_I_O, BOOST_PP_LIST_FOR_EACH_I_M)
+# if ~NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_EDG() && ~NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_MSVC()
+#    define NDNBOOST_PP_LIST_FOR_EACH_I(macro, data, list) NDNBOOST_PP_FOR((macro, data, list, 0), NDNBOOST_PP_LIST_FOR_EACH_I_P, NDNBOOST_PP_LIST_FOR_EACH_I_O, NDNBOOST_PP_LIST_FOR_EACH_I_M)
 # else
-#    define BOOST_PP_LIST_FOR_EACH_I(macro, data, list) BOOST_PP_LIST_FOR_EACH_I_I(macro, data, list)
-#    define BOOST_PP_LIST_FOR_EACH_I_I(macro, data, list) BOOST_PP_FOR((macro, data, list, 0), BOOST_PP_LIST_FOR_EACH_I_P, BOOST_PP_LIST_FOR_EACH_I_O, BOOST_PP_LIST_FOR_EACH_I_M)
+#    define NDNBOOST_PP_LIST_FOR_EACH_I(macro, data, list) NDNBOOST_PP_LIST_FOR_EACH_I_I(macro, data, list)
+#    define NDNBOOST_PP_LIST_FOR_EACH_I_I(macro, data, list) NDNBOOST_PP_FOR((macro, data, list, 0), NDNBOOST_PP_LIST_FOR_EACH_I_P, NDNBOOST_PP_LIST_FOR_EACH_I_O, NDNBOOST_PP_LIST_FOR_EACH_I_M)
 # endif
 #
-# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT()
-#    define BOOST_PP_LIST_FOR_EACH_I_P(r, x) BOOST_PP_LIST_FOR_EACH_I_P_D x
-#    define BOOST_PP_LIST_FOR_EACH_I_P_D(m, d, l, i) BOOST_PP_LIST_IS_CONS(l)
+# if NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_STRICT()
+#    define NDNBOOST_PP_LIST_FOR_EACH_I_P(r, x) NDNBOOST_PP_LIST_FOR_EACH_I_P_D x
+#    define NDNBOOST_PP_LIST_FOR_EACH_I_P_D(m, d, l, i) NDNBOOST_PP_LIST_IS_CONS(l)
 # else
-#    define BOOST_PP_LIST_FOR_EACH_I_P(r, x) BOOST_PP_LIST_IS_CONS(BOOST_PP_TUPLE_ELEM(4, 2, x))
+#    define NDNBOOST_PP_LIST_FOR_EACH_I_P(r, x) NDNBOOST_PP_LIST_IS_CONS(NDNBOOST_PP_TUPLE_ELEM(4, 2, x))
 # endif
 #
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-#    define BOOST_PP_LIST_FOR_EACH_I_O(r, x) BOOST_PP_LIST_FOR_EACH_I_O_D x
-#    define BOOST_PP_LIST_FOR_EACH_I_O_D(m, d, l, i) (m, d, BOOST_PP_LIST_REST(l), BOOST_PP_INC(i))
+# if ~NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_MWCC()
+#    define NDNBOOST_PP_LIST_FOR_EACH_I_O(r, x) NDNBOOST_PP_LIST_FOR_EACH_I_O_D x
+#    define NDNBOOST_PP_LIST_FOR_EACH_I_O_D(m, d, l, i) (m, d, NDNBOOST_PP_LIST_REST(l), NDNBOOST_PP_INC(i))
 # else
-#    define BOOST_PP_LIST_FOR_EACH_I_O(r, x) (BOOST_PP_TUPLE_ELEM(4, 0, x), BOOST_PP_TUPLE_ELEM(4, 1, x), BOOST_PP_LIST_REST(BOOST_PP_TUPLE_ELEM(4, 2, x)), BOOST_PP_INC(BOOST_PP_TUPLE_ELEM(4, 3, x)))
+#    define NDNBOOST_PP_LIST_FOR_EACH_I_O(r, x) (NDNBOOST_PP_TUPLE_ELEM(4, 0, x), NDNBOOST_PP_TUPLE_ELEM(4, 1, x), NDNBOOST_PP_LIST_REST(NDNBOOST_PP_TUPLE_ELEM(4, 2, x)), NDNBOOST_PP_INC(NDNBOOST_PP_TUPLE_ELEM(4, 3, x)))
 # endif
 #
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_LIST_FOR_EACH_I_M(r, x) BOOST_PP_LIST_FOR_EACH_I_M_D(r, BOOST_PP_TUPLE_ELEM(4, 0, x), BOOST_PP_TUPLE_ELEM(4, 1, x), BOOST_PP_TUPLE_ELEM(4, 2, x), BOOST_PP_TUPLE_ELEM(4, 3, x))
+# if ~NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_EDG()
+#    define NDNBOOST_PP_LIST_FOR_EACH_I_M(r, x) NDNBOOST_PP_LIST_FOR_EACH_I_M_D(r, NDNBOOST_PP_TUPLE_ELEM(4, 0, x), NDNBOOST_PP_TUPLE_ELEM(4, 1, x), NDNBOOST_PP_TUPLE_ELEM(4, 2, x), NDNBOOST_PP_TUPLE_ELEM(4, 3, x))
 # else
-#    define BOOST_PP_LIST_FOR_EACH_I_M(r, x) BOOST_PP_LIST_FOR_EACH_I_M_I(r, BOOST_PP_TUPLE_REM_4 x)
-#    define BOOST_PP_LIST_FOR_EACH_I_M_I(r, x_e) BOOST_PP_LIST_FOR_EACH_I_M_D(r, x_e)
+#    define NDNBOOST_PP_LIST_FOR_EACH_I_M(r, x) NDNBOOST_PP_LIST_FOR_EACH_I_M_I(r, NDNBOOST_PP_TUPLE_REM_4 x)
+#    define NDNBOOST_PP_LIST_FOR_EACH_I_M_I(r, x_e) NDNBOOST_PP_LIST_FOR_EACH_I_M_D(r, x_e)
 # endif
 #
-# define BOOST_PP_LIST_FOR_EACH_I_M_D(r, m, d, l, i) m(r, d, i, BOOST_PP_LIST_FIRST(l))
+# define NDNBOOST_PP_LIST_FOR_EACH_I_M_D(r, m, d, l, i) m(r, d, i, NDNBOOST_PP_LIST_FIRST(l))
 #
-# /* BOOST_PP_LIST_FOR_EACH_I_R */
+# /* NDNBOOST_PP_LIST_FOR_EACH_I_R */
 #
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_LIST_FOR_EACH_I_R(r, macro, data, list) BOOST_PP_FOR_ ## r((macro, data, list, 0), BOOST_PP_LIST_FOR_EACH_I_P, BOOST_PP_LIST_FOR_EACH_I_O, BOOST_PP_LIST_FOR_EACH_I_M)
+# if ~NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_EDG()
+#    define NDNBOOST_PP_LIST_FOR_EACH_I_R(r, macro, data, list) NDNBOOST_PP_FOR_ ## r((macro, data, list, 0), NDNBOOST_PP_LIST_FOR_EACH_I_P, NDNBOOST_PP_LIST_FOR_EACH_I_O, NDNBOOST_PP_LIST_FOR_EACH_I_M)
 # else
-#    define BOOST_PP_LIST_FOR_EACH_I_R(r, macro, data, list) BOOST_PP_LIST_FOR_EACH_I_R_I(r, macro, data, list)
-#    define BOOST_PP_LIST_FOR_EACH_I_R_I(r, macro, data, list) BOOST_PP_FOR_ ## r((macro, data, list, 0), BOOST_PP_LIST_FOR_EACH_I_P, BOOST_PP_LIST_FOR_EACH_I_O, BOOST_PP_LIST_FOR_EACH_I_M)
+#    define NDNBOOST_PP_LIST_FOR_EACH_I_R(r, macro, data, list) NDNBOOST_PP_LIST_FOR_EACH_I_R_I(r, macro, data, list)
+#    define NDNBOOST_PP_LIST_FOR_EACH_I_R_I(r, macro, data, list) NDNBOOST_PP_FOR_ ## r((macro, data, list, 0), NDNBOOST_PP_LIST_FOR_EACH_I_P, NDNBOOST_PP_LIST_FOR_EACH_I_O, NDNBOOST_PP_LIST_FOR_EACH_I_M)
 # endif
 #
 # endif
diff --git a/include/ndnboost/preprocessor/list/reverse.hpp b/include/ndnboost/preprocessor/list/reverse.hpp
index d23fffc..bf1eab5 100644
--- a/include/ndnboost/preprocessor/list/reverse.hpp
+++ b/include/ndnboost/preprocessor/list/reverse.hpp
@@ -11,30 +11,30 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_LIST_REVERSE_HPP
-# define BOOST_PREPROCESSOR_LIST_REVERSE_HPP
+# ifndef NDNBOOST_PREPROCESSOR_LIST_REVERSE_HPP
+# define NDNBOOST_PREPROCESSOR_LIST_REVERSE_HPP
 #
 # include <ndnboost/preprocessor/config/config.hpp>
 # include <ndnboost/preprocessor/list/fold_left.hpp>
 #
-# /* BOOST_PP_LIST_REVERSE */
+# /* NDNBOOST_PP_LIST_REVERSE */
 #
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_LIST_REVERSE(list) BOOST_PP_LIST_FOLD_LEFT(BOOST_PP_LIST_REVERSE_O, BOOST_PP_NIL, list)
+# if ~NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_EDG()
+#    define NDNBOOST_PP_LIST_REVERSE(list) NDNBOOST_PP_LIST_FOLD_LEFT(NDNBOOST_PP_LIST_REVERSE_O, NDNBOOST_PP_NIL, list)
 # else
-#    define BOOST_PP_LIST_REVERSE(list) BOOST_PP_LIST_REVERSE_I(list)
-#    define BOOST_PP_LIST_REVERSE_I(list) BOOST_PP_LIST_FOLD_LEFT(BOOST_PP_LIST_REVERSE_O, BOOST_PP_NIL, list)
+#    define NDNBOOST_PP_LIST_REVERSE(list) NDNBOOST_PP_LIST_REVERSE_I(list)
+#    define NDNBOOST_PP_LIST_REVERSE_I(list) NDNBOOST_PP_LIST_FOLD_LEFT(NDNBOOST_PP_LIST_REVERSE_O, NDNBOOST_PP_NIL, list)
 # endif
 #
-# define BOOST_PP_LIST_REVERSE_O(d, s, x) (x, s)
+# define NDNBOOST_PP_LIST_REVERSE_O(d, s, x) (x, s)
 #
-# /* BOOST_PP_LIST_REVERSE_D */
+# /* NDNBOOST_PP_LIST_REVERSE_D */
 #
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_LIST_REVERSE_D(d, list) BOOST_PP_LIST_FOLD_LEFT_ ## d(BOOST_PP_LIST_REVERSE_O, BOOST_PP_NIL, list)
+# if ~NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_EDG()
+#    define NDNBOOST_PP_LIST_REVERSE_D(d, list) NDNBOOST_PP_LIST_FOLD_LEFT_ ## d(NDNBOOST_PP_LIST_REVERSE_O, NDNBOOST_PP_NIL, list)
 # else
-#    define BOOST_PP_LIST_REVERSE_D(d, list) BOOST_PP_LIST_REVERSE_D_I(d, list)
-#    define BOOST_PP_LIST_REVERSE_D_I(d, list) BOOST_PP_LIST_FOLD_LEFT_ ## d(BOOST_PP_LIST_REVERSE_O, BOOST_PP_NIL, list)
+#    define NDNBOOST_PP_LIST_REVERSE_D(d, list) NDNBOOST_PP_LIST_REVERSE_D_I(d, list)
+#    define NDNBOOST_PP_LIST_REVERSE_D_I(d, list) NDNBOOST_PP_LIST_FOLD_LEFT_ ## d(NDNBOOST_PP_LIST_REVERSE_O, NDNBOOST_PP_NIL, list)
 # endif
 #
 # endif
diff --git a/include/ndnboost/preprocessor/list/transform.hpp b/include/ndnboost/preprocessor/list/transform.hpp
index 8be863f..52d564e 100644
--- a/include/ndnboost/preprocessor/list/transform.hpp
+++ b/include/ndnboost/preprocessor/list/transform.hpp
@@ -11,39 +11,39 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_LIST_TRANSFORM_HPP
-# define BOOST_PREPROCESSOR_LIST_TRANSFORM_HPP
+# ifndef NDNBOOST_PREPROCESSOR_LIST_TRANSFORM_HPP
+# define NDNBOOST_PREPROCESSOR_LIST_TRANSFORM_HPP
 #
 # include <ndnboost/preprocessor/config/config.hpp>
 # include <ndnboost/preprocessor/list/fold_right.hpp>
 # include <ndnboost/preprocessor/tuple/elem.hpp>
 # include <ndnboost/preprocessor/tuple/rem.hpp>
 #
-# /* BOOST_PP_LIST_TRANSFORM */
+# /* NDNBOOST_PP_LIST_TRANSFORM */
 #
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_LIST_TRANSFORM(op, data, list) BOOST_PP_TUPLE_ELEM(3, 2, BOOST_PP_LIST_FOLD_RIGHT(BOOST_PP_LIST_TRANSFORM_O, (op, data, BOOST_PP_NIL), list))
+# if ~NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_EDG()
+#    define NDNBOOST_PP_LIST_TRANSFORM(op, data, list) NDNBOOST_PP_TUPLE_ELEM(3, 2, NDNBOOST_PP_LIST_FOLD_RIGHT(NDNBOOST_PP_LIST_TRANSFORM_O, (op, data, NDNBOOST_PP_NIL), list))
 # else
-#    define BOOST_PP_LIST_TRANSFORM(op, data, list) BOOST_PP_LIST_TRANSFORM_I(op, data, list)
-#    define BOOST_PP_LIST_TRANSFORM_I(op, data, list) BOOST_PP_TUPLE_ELEM(3, 2, BOOST_PP_LIST_FOLD_RIGHT(BOOST_PP_LIST_TRANSFORM_O, (op, data, BOOST_PP_NIL), list))
+#    define NDNBOOST_PP_LIST_TRANSFORM(op, data, list) NDNBOOST_PP_LIST_TRANSFORM_I(op, data, list)
+#    define NDNBOOST_PP_LIST_TRANSFORM_I(op, data, list) NDNBOOST_PP_TUPLE_ELEM(3, 2, NDNBOOST_PP_LIST_FOLD_RIGHT(NDNBOOST_PP_LIST_TRANSFORM_O, (op, data, NDNBOOST_PP_NIL), list))
 # endif
 #
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_LIST_TRANSFORM_O(d, odr, elem) BOOST_PP_LIST_TRANSFORM_O_D(d, BOOST_PP_TUPLE_ELEM(3, 0, odr), BOOST_PP_TUPLE_ELEM(3, 1, odr), BOOST_PP_TUPLE_ELEM(3, 2, odr), elem)
+# if ~NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_EDG()
+#    define NDNBOOST_PP_LIST_TRANSFORM_O(d, odr, elem) NDNBOOST_PP_LIST_TRANSFORM_O_D(d, NDNBOOST_PP_TUPLE_ELEM(3, 0, odr), NDNBOOST_PP_TUPLE_ELEM(3, 1, odr), NDNBOOST_PP_TUPLE_ELEM(3, 2, odr), elem)
 # else
-#    define BOOST_PP_LIST_TRANSFORM_O(d, odr, elem) BOOST_PP_LIST_TRANSFORM_O_I(d, BOOST_PP_TUPLE_REM_3 odr, elem)
-#    define BOOST_PP_LIST_TRANSFORM_O_I(d, im, elem) BOOST_PP_LIST_TRANSFORM_O_D(d, im, elem)
+#    define NDNBOOST_PP_LIST_TRANSFORM_O(d, odr, elem) NDNBOOST_PP_LIST_TRANSFORM_O_I(d, NDNBOOST_PP_TUPLE_REM_3 odr, elem)
+#    define NDNBOOST_PP_LIST_TRANSFORM_O_I(d, im, elem) NDNBOOST_PP_LIST_TRANSFORM_O_D(d, im, elem)
 # endif
 #
-# define BOOST_PP_LIST_TRANSFORM_O_D(d, op, data, res, elem) (op, data, (op(d, data, elem), res))
+# define NDNBOOST_PP_LIST_TRANSFORM_O_D(d, op, data, res, elem) (op, data, (op(d, data, elem), res))
 #
-# /* BOOST_PP_LIST_TRANSFORM_D */
+# /* NDNBOOST_PP_LIST_TRANSFORM_D */
 #
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_LIST_TRANSFORM_D(d, op, data, list) BOOST_PP_TUPLE_ELEM(3, 2, BOOST_PP_LIST_FOLD_RIGHT_ ## d(BOOST_PP_LIST_TRANSFORM_O, (op, data, BOOST_PP_NIL), list))
+# if ~NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_EDG()
+#    define NDNBOOST_PP_LIST_TRANSFORM_D(d, op, data, list) NDNBOOST_PP_TUPLE_ELEM(3, 2, NDNBOOST_PP_LIST_FOLD_RIGHT_ ## d(NDNBOOST_PP_LIST_TRANSFORM_O, (op, data, NDNBOOST_PP_NIL), list))
 # else
-#    define BOOST_PP_LIST_TRANSFORM_D(d, op, data, list) BOOST_PP_LIST_TRANSFORM_D_I(d, op, data, list)
-#    define BOOST_PP_LIST_TRANSFORM_D_I(d, op, data, list) BOOST_PP_TUPLE_ELEM(3, 2, BOOST_PP_LIST_FOLD_RIGHT_ ## d(BOOST_PP_LIST_TRANSFORM_O, (op, data, BOOST_PP_NIL), list))
+#    define NDNBOOST_PP_LIST_TRANSFORM_D(d, op, data, list) NDNBOOST_PP_LIST_TRANSFORM_D_I(d, op, data, list)
+#    define NDNBOOST_PP_LIST_TRANSFORM_D_I(d, op, data, list) NDNBOOST_PP_TUPLE_ELEM(3, 2, NDNBOOST_PP_LIST_FOLD_RIGHT_ ## d(NDNBOOST_PP_LIST_TRANSFORM_O, (op, data, NDNBOOST_PP_NIL), list))
 # endif
 #
 # endif
diff --git a/include/ndnboost/preprocessor/logical/and.hpp b/include/ndnboost/preprocessor/logical/and.hpp
index ca3b619..45329cd 100644
--- a/include/ndnboost/preprocessor/logical/and.hpp
+++ b/include/ndnboost/preprocessor/logical/and.hpp
@@ -11,20 +11,20 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_LOGICAL_AND_HPP
-# define BOOST_PREPROCESSOR_LOGICAL_AND_HPP
+# ifndef NDNBOOST_PREPROCESSOR_LOGICAL_AND_HPP
+# define NDNBOOST_PREPROCESSOR_LOGICAL_AND_HPP
 #
 # include <ndnboost/preprocessor/config/config.hpp>
 # include <ndnboost/preprocessor/logical/bool.hpp>
 # include <ndnboost/preprocessor/logical/bitand.hpp>
 #
-# /* BOOST_PP_AND */
+# /* NDNBOOST_PP_AND */
 #
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_AND(p, q) BOOST_PP_BITAND(BOOST_PP_BOOL(p), BOOST_PP_BOOL(q))
+# if ~NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_EDG()
+#    define NDNBOOST_PP_AND(p, q) NDNBOOST_PP_BITAND(NDNBOOST_PP_BOOL(p), NDNBOOST_PP_BOOL(q))
 # else
-#    define BOOST_PP_AND(p, q) BOOST_PP_AND_I(p, q)
-#    define BOOST_PP_AND_I(p, q) BOOST_PP_BITAND(BOOST_PP_BOOL(p), BOOST_PP_BOOL(q))
+#    define NDNBOOST_PP_AND(p, q) NDNBOOST_PP_AND_I(p, q)
+#    define NDNBOOST_PP_AND_I(p, q) NDNBOOST_PP_BITAND(NDNBOOST_PP_BOOL(p), NDNBOOST_PP_BOOL(q))
 # endif
 #
 # endif
diff --git a/include/ndnboost/preprocessor/logical/bitand.hpp b/include/ndnboost/preprocessor/logical/bitand.hpp
index 56ab392..9879f11 100644
--- a/include/ndnboost/preprocessor/logical/bitand.hpp
+++ b/include/ndnboost/preprocessor/logical/bitand.hpp
@@ -9,30 +9,30 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_LOGICAL_BITAND_HPP
-# define BOOST_PREPROCESSOR_LOGICAL_BITAND_HPP
+# ifndef NDNBOOST_PREPROCESSOR_LOGICAL_BITAND_HPP
+# define NDNBOOST_PREPROCESSOR_LOGICAL_BITAND_HPP
 #
 # include <ndnboost/preprocessor/config/config.hpp>
 #
-# /* BOOST_PP_BITAND */
+# /* NDNBOOST_PP_BITAND */
 #
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-#    define BOOST_PP_BITAND(x, y) BOOST_PP_BITAND_I(x, y)
+# if ~NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_MWCC()
+#    define NDNBOOST_PP_BITAND(x, y) NDNBOOST_PP_BITAND_I(x, y)
 # else
-#    define BOOST_PP_BITAND(x, y) BOOST_PP_BITAND_OO((x, y))
-#    define BOOST_PP_BITAND_OO(par) BOOST_PP_BITAND_I ## par
+#    define NDNBOOST_PP_BITAND(x, y) NDNBOOST_PP_BITAND_OO((x, y))
+#    define NDNBOOST_PP_BITAND_OO(par) NDNBOOST_PP_BITAND_I ## par
 # endif
 #
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()
-#    define BOOST_PP_BITAND_I(x, y) BOOST_PP_BITAND_ ## x ## y
+# if ~NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_MSVC()
+#    define NDNBOOST_PP_BITAND_I(x, y) NDNBOOST_PP_BITAND_ ## x ## y
 # else
-#    define BOOST_PP_BITAND_I(x, y) BOOST_PP_BITAND_ID(BOOST_PP_BITAND_ ## x ## y)
-#    define BOOST_PP_BITAND_ID(res) res
+#    define NDNBOOST_PP_BITAND_I(x, y) NDNBOOST_PP_BITAND_ID(NDNBOOST_PP_BITAND_ ## x ## y)
+#    define NDNBOOST_PP_BITAND_ID(res) res
 # endif
 #
-# define BOOST_PP_BITAND_00 0
-# define BOOST_PP_BITAND_01 0
-# define BOOST_PP_BITAND_10 0
-# define BOOST_PP_BITAND_11 1
+# define NDNBOOST_PP_BITAND_00 0
+# define NDNBOOST_PP_BITAND_01 0
+# define NDNBOOST_PP_BITAND_10 0
+# define NDNBOOST_PP_BITAND_11 1
 #
 # endif
diff --git a/include/ndnboost/preprocessor/logical/bitor.hpp b/include/ndnboost/preprocessor/logical/bitor.hpp
index f05b0bf..f84ad59 100644
--- a/include/ndnboost/preprocessor/logical/bitor.hpp
+++ b/include/ndnboost/preprocessor/logical/bitor.hpp
@@ -9,30 +9,30 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_LOGICAL_BITOR_HPP
-# define BOOST_PREPROCESSOR_LOGICAL_BITOR_HPP
+# ifndef NDNBOOST_PREPROCESSOR_LOGICAL_BITOR_HPP
+# define NDNBOOST_PREPROCESSOR_LOGICAL_BITOR_HPP
 #
 # include <ndnboost/preprocessor/config/config.hpp>
 #
-# /* BOOST_PP_BITOR */
+# /* NDNBOOST_PP_BITOR */
 #
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-#    define BOOST_PP_BITOR(x, y) BOOST_PP_BITOR_I(x, y)
+# if ~NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_MWCC()
+#    define NDNBOOST_PP_BITOR(x, y) NDNBOOST_PP_BITOR_I(x, y)
 # else
-#    define BOOST_PP_BITOR(x, y) BOOST_PP_BITOR_OO((x, y))
-#    define BOOST_PP_BITOR_OO(par) BOOST_PP_BITOR_I ## par
+#    define NDNBOOST_PP_BITOR(x, y) NDNBOOST_PP_BITOR_OO((x, y))
+#    define NDNBOOST_PP_BITOR_OO(par) NDNBOOST_PP_BITOR_I ## par
 # endif
 #
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()
-#    define BOOST_PP_BITOR_I(x, y) BOOST_PP_BITOR_ ## x ## y
+# if ~NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_MSVC()
+#    define NDNBOOST_PP_BITOR_I(x, y) NDNBOOST_PP_BITOR_ ## x ## y
 # else
-#    define BOOST_PP_BITOR_I(x, y) BOOST_PP_BITOR_ID(BOOST_PP_BITOR_ ## x ## y)
-#    define BOOST_PP_BITOR_ID(id) id
+#    define NDNBOOST_PP_BITOR_I(x, y) NDNBOOST_PP_BITOR_ID(NDNBOOST_PP_BITOR_ ## x ## y)
+#    define NDNBOOST_PP_BITOR_ID(id) id
 # endif
 #
-# define BOOST_PP_BITOR_00 0
-# define BOOST_PP_BITOR_01 1
-# define BOOST_PP_BITOR_10 1
-# define BOOST_PP_BITOR_11 1
+# define NDNBOOST_PP_BITOR_00 0
+# define NDNBOOST_PP_BITOR_01 1
+# define NDNBOOST_PP_BITOR_10 1
+# define NDNBOOST_PP_BITOR_11 1
 #
 # endif
diff --git a/include/ndnboost/preprocessor/logical/bool.hpp b/include/ndnboost/preprocessor/logical/bool.hpp
index e14f4d3..bd45dd4 100644
--- a/include/ndnboost/preprocessor/logical/bool.hpp
+++ b/include/ndnboost/preprocessor/logical/bool.hpp
@@ -11,278 +11,278 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_LOGICAL_BOOL_HPP
-# define BOOST_PREPROCESSOR_LOGICAL_BOOL_HPP
+# ifndef NDNBOOST_PREPROCESSOR_LOGICAL_BOOL_HPP
+# define NDNBOOST_PREPROCESSOR_LOGICAL_BOOL_HPP
 #
 # include <ndnboost/preprocessor/config/config.hpp>
 #
-# /* BOOST_PP_BOOL */
+# /* NDNBOOST_PP_BOOL */
 #
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-#    define BOOST_PP_BOOL(x) BOOST_PP_BOOL_I(x)
+# if ~NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_MWCC()
+#    define NDNBOOST_PP_BOOL(x) NDNBOOST_PP_BOOL_I(x)
 # else
-#    define BOOST_PP_BOOL(x) BOOST_PP_BOOL_OO((x))
-#    define BOOST_PP_BOOL_OO(par) BOOST_PP_BOOL_I ## par
+#    define NDNBOOST_PP_BOOL(x) NDNBOOST_PP_BOOL_OO((x))
+#    define NDNBOOST_PP_BOOL_OO(par) NDNBOOST_PP_BOOL_I ## par
 # endif
 #
-# define BOOST_PP_BOOL_I(x) BOOST_PP_BOOL_ ## x
+# define NDNBOOST_PP_BOOL_I(x) NDNBOOST_PP_BOOL_ ## x
 #
-# define BOOST_PP_BOOL_0 0
-# define BOOST_PP_BOOL_1 1
-# define BOOST_PP_BOOL_2 1
-# define BOOST_PP_BOOL_3 1
-# define BOOST_PP_BOOL_4 1
-# define BOOST_PP_BOOL_5 1
-# define BOOST_PP_BOOL_6 1
-# define BOOST_PP_BOOL_7 1
-# define BOOST_PP_BOOL_8 1
-# define BOOST_PP_BOOL_9 1
-# define BOOST_PP_BOOL_10 1
-# define BOOST_PP_BOOL_11 1
-# define BOOST_PP_BOOL_12 1
-# define BOOST_PP_BOOL_13 1
-# define BOOST_PP_BOOL_14 1
-# define BOOST_PP_BOOL_15 1
-# define BOOST_PP_BOOL_16 1
-# define BOOST_PP_BOOL_17 1
-# define BOOST_PP_BOOL_18 1
-# define BOOST_PP_BOOL_19 1
-# define BOOST_PP_BOOL_20 1
-# define BOOST_PP_BOOL_21 1
-# define BOOST_PP_BOOL_22 1
-# define BOOST_PP_BOOL_23 1
-# define BOOST_PP_BOOL_24 1
-# define BOOST_PP_BOOL_25 1
-# define BOOST_PP_BOOL_26 1
-# define BOOST_PP_BOOL_27 1
-# define BOOST_PP_BOOL_28 1
-# define BOOST_PP_BOOL_29 1
-# define BOOST_PP_BOOL_30 1
-# define BOOST_PP_BOOL_31 1
-# define BOOST_PP_BOOL_32 1
-# define BOOST_PP_BOOL_33 1
-# define BOOST_PP_BOOL_34 1
-# define BOOST_PP_BOOL_35 1
-# define BOOST_PP_BOOL_36 1
-# define BOOST_PP_BOOL_37 1
-# define BOOST_PP_BOOL_38 1
-# define BOOST_PP_BOOL_39 1
-# define BOOST_PP_BOOL_40 1
-# define BOOST_PP_BOOL_41 1
-# define BOOST_PP_BOOL_42 1
-# define BOOST_PP_BOOL_43 1
-# define BOOST_PP_BOOL_44 1
-# define BOOST_PP_BOOL_45 1
-# define BOOST_PP_BOOL_46 1
-# define BOOST_PP_BOOL_47 1
-# define BOOST_PP_BOOL_48 1
-# define BOOST_PP_BOOL_49 1
-# define BOOST_PP_BOOL_50 1
-# define BOOST_PP_BOOL_51 1
-# define BOOST_PP_BOOL_52 1
-# define BOOST_PP_BOOL_53 1
-# define BOOST_PP_BOOL_54 1
-# define BOOST_PP_BOOL_55 1
-# define BOOST_PP_BOOL_56 1
-# define BOOST_PP_BOOL_57 1
-# define BOOST_PP_BOOL_58 1
-# define BOOST_PP_BOOL_59 1
-# define BOOST_PP_BOOL_60 1
-# define BOOST_PP_BOOL_61 1
-# define BOOST_PP_BOOL_62 1
-# define BOOST_PP_BOOL_63 1
-# define BOOST_PP_BOOL_64 1
-# define BOOST_PP_BOOL_65 1
-# define BOOST_PP_BOOL_66 1
-# define BOOST_PP_BOOL_67 1
-# define BOOST_PP_BOOL_68 1
-# define BOOST_PP_BOOL_69 1
-# define BOOST_PP_BOOL_70 1
-# define BOOST_PP_BOOL_71 1
-# define BOOST_PP_BOOL_72 1
-# define BOOST_PP_BOOL_73 1
-# define BOOST_PP_BOOL_74 1
-# define BOOST_PP_BOOL_75 1
-# define BOOST_PP_BOOL_76 1
-# define BOOST_PP_BOOL_77 1
-# define BOOST_PP_BOOL_78 1
-# define BOOST_PP_BOOL_79 1
-# define BOOST_PP_BOOL_80 1
-# define BOOST_PP_BOOL_81 1
-# define BOOST_PP_BOOL_82 1
-# define BOOST_PP_BOOL_83 1
-# define BOOST_PP_BOOL_84 1
-# define BOOST_PP_BOOL_85 1
-# define BOOST_PP_BOOL_86 1
-# define BOOST_PP_BOOL_87 1
-# define BOOST_PP_BOOL_88 1
-# define BOOST_PP_BOOL_89 1
-# define BOOST_PP_BOOL_90 1
-# define BOOST_PP_BOOL_91 1
-# define BOOST_PP_BOOL_92 1
-# define BOOST_PP_BOOL_93 1
-# define BOOST_PP_BOOL_94 1
-# define BOOST_PP_BOOL_95 1
-# define BOOST_PP_BOOL_96 1
-# define BOOST_PP_BOOL_97 1
-# define BOOST_PP_BOOL_98 1
-# define BOOST_PP_BOOL_99 1
-# define BOOST_PP_BOOL_100 1
-# define BOOST_PP_BOOL_101 1
-# define BOOST_PP_BOOL_102 1
-# define BOOST_PP_BOOL_103 1
-# define BOOST_PP_BOOL_104 1
-# define BOOST_PP_BOOL_105 1
-# define BOOST_PP_BOOL_106 1
-# define BOOST_PP_BOOL_107 1
-# define BOOST_PP_BOOL_108 1
-# define BOOST_PP_BOOL_109 1
-# define BOOST_PP_BOOL_110 1
-# define BOOST_PP_BOOL_111 1
-# define BOOST_PP_BOOL_112 1
-# define BOOST_PP_BOOL_113 1
-# define BOOST_PP_BOOL_114 1
-# define BOOST_PP_BOOL_115 1
-# define BOOST_PP_BOOL_116 1
-# define BOOST_PP_BOOL_117 1
-# define BOOST_PP_BOOL_118 1
-# define BOOST_PP_BOOL_119 1
-# define BOOST_PP_BOOL_120 1
-# define BOOST_PP_BOOL_121 1
-# define BOOST_PP_BOOL_122 1
-# define BOOST_PP_BOOL_123 1
-# define BOOST_PP_BOOL_124 1
-# define BOOST_PP_BOOL_125 1
-# define BOOST_PP_BOOL_126 1
-# define BOOST_PP_BOOL_127 1
-# define BOOST_PP_BOOL_128 1
-# define BOOST_PP_BOOL_129 1
-# define BOOST_PP_BOOL_130 1
-# define BOOST_PP_BOOL_131 1
-# define BOOST_PP_BOOL_132 1
-# define BOOST_PP_BOOL_133 1
-# define BOOST_PP_BOOL_134 1
-# define BOOST_PP_BOOL_135 1
-# define BOOST_PP_BOOL_136 1
-# define BOOST_PP_BOOL_137 1
-# define BOOST_PP_BOOL_138 1
-# define BOOST_PP_BOOL_139 1
-# define BOOST_PP_BOOL_140 1
-# define BOOST_PP_BOOL_141 1
-# define BOOST_PP_BOOL_142 1
-# define BOOST_PP_BOOL_143 1
-# define BOOST_PP_BOOL_144 1
-# define BOOST_PP_BOOL_145 1
-# define BOOST_PP_BOOL_146 1
-# define BOOST_PP_BOOL_147 1
-# define BOOST_PP_BOOL_148 1
-# define BOOST_PP_BOOL_149 1
-# define BOOST_PP_BOOL_150 1
-# define BOOST_PP_BOOL_151 1
-# define BOOST_PP_BOOL_152 1
-# define BOOST_PP_BOOL_153 1
-# define BOOST_PP_BOOL_154 1
-# define BOOST_PP_BOOL_155 1
-# define BOOST_PP_BOOL_156 1
-# define BOOST_PP_BOOL_157 1
-# define BOOST_PP_BOOL_158 1
-# define BOOST_PP_BOOL_159 1
-# define BOOST_PP_BOOL_160 1
-# define BOOST_PP_BOOL_161 1
-# define BOOST_PP_BOOL_162 1
-# define BOOST_PP_BOOL_163 1
-# define BOOST_PP_BOOL_164 1
-# define BOOST_PP_BOOL_165 1
-# define BOOST_PP_BOOL_166 1
-# define BOOST_PP_BOOL_167 1
-# define BOOST_PP_BOOL_168 1
-# define BOOST_PP_BOOL_169 1
-# define BOOST_PP_BOOL_170 1
-# define BOOST_PP_BOOL_171 1
-# define BOOST_PP_BOOL_172 1
-# define BOOST_PP_BOOL_173 1
-# define BOOST_PP_BOOL_174 1
-# define BOOST_PP_BOOL_175 1
-# define BOOST_PP_BOOL_176 1
-# define BOOST_PP_BOOL_177 1
-# define BOOST_PP_BOOL_178 1
-# define BOOST_PP_BOOL_179 1
-# define BOOST_PP_BOOL_180 1
-# define BOOST_PP_BOOL_181 1
-# define BOOST_PP_BOOL_182 1
-# define BOOST_PP_BOOL_183 1
-# define BOOST_PP_BOOL_184 1
-# define BOOST_PP_BOOL_185 1
-# define BOOST_PP_BOOL_186 1
-# define BOOST_PP_BOOL_187 1
-# define BOOST_PP_BOOL_188 1
-# define BOOST_PP_BOOL_189 1
-# define BOOST_PP_BOOL_190 1
-# define BOOST_PP_BOOL_191 1
-# define BOOST_PP_BOOL_192 1
-# define BOOST_PP_BOOL_193 1
-# define BOOST_PP_BOOL_194 1
-# define BOOST_PP_BOOL_195 1
-# define BOOST_PP_BOOL_196 1
-# define BOOST_PP_BOOL_197 1
-# define BOOST_PP_BOOL_198 1
-# define BOOST_PP_BOOL_199 1
-# define BOOST_PP_BOOL_200 1
-# define BOOST_PP_BOOL_201 1
-# define BOOST_PP_BOOL_202 1
-# define BOOST_PP_BOOL_203 1
-# define BOOST_PP_BOOL_204 1
-# define BOOST_PP_BOOL_205 1
-# define BOOST_PP_BOOL_206 1
-# define BOOST_PP_BOOL_207 1
-# define BOOST_PP_BOOL_208 1
-# define BOOST_PP_BOOL_209 1
-# define BOOST_PP_BOOL_210 1
-# define BOOST_PP_BOOL_211 1
-# define BOOST_PP_BOOL_212 1
-# define BOOST_PP_BOOL_213 1
-# define BOOST_PP_BOOL_214 1
-# define BOOST_PP_BOOL_215 1
-# define BOOST_PP_BOOL_216 1
-# define BOOST_PP_BOOL_217 1
-# define BOOST_PP_BOOL_218 1
-# define BOOST_PP_BOOL_219 1
-# define BOOST_PP_BOOL_220 1
-# define BOOST_PP_BOOL_221 1
-# define BOOST_PP_BOOL_222 1
-# define BOOST_PP_BOOL_223 1
-# define BOOST_PP_BOOL_224 1
-# define BOOST_PP_BOOL_225 1
-# define BOOST_PP_BOOL_226 1
-# define BOOST_PP_BOOL_227 1
-# define BOOST_PP_BOOL_228 1
-# define BOOST_PP_BOOL_229 1
-# define BOOST_PP_BOOL_230 1
-# define BOOST_PP_BOOL_231 1
-# define BOOST_PP_BOOL_232 1
-# define BOOST_PP_BOOL_233 1
-# define BOOST_PP_BOOL_234 1
-# define BOOST_PP_BOOL_235 1
-# define BOOST_PP_BOOL_236 1
-# define BOOST_PP_BOOL_237 1
-# define BOOST_PP_BOOL_238 1
-# define BOOST_PP_BOOL_239 1
-# define BOOST_PP_BOOL_240 1
-# define BOOST_PP_BOOL_241 1
-# define BOOST_PP_BOOL_242 1
-# define BOOST_PP_BOOL_243 1
-# define BOOST_PP_BOOL_244 1
-# define BOOST_PP_BOOL_245 1
-# define BOOST_PP_BOOL_246 1
-# define BOOST_PP_BOOL_247 1
-# define BOOST_PP_BOOL_248 1
-# define BOOST_PP_BOOL_249 1
-# define BOOST_PP_BOOL_250 1
-# define BOOST_PP_BOOL_251 1
-# define BOOST_PP_BOOL_252 1
-# define BOOST_PP_BOOL_253 1
-# define BOOST_PP_BOOL_254 1
-# define BOOST_PP_BOOL_255 1
-# define BOOST_PP_BOOL_256 1
+# define NDNBOOST_PP_BOOL_0 0
+# define NDNBOOST_PP_BOOL_1 1
+# define NDNBOOST_PP_BOOL_2 1
+# define NDNBOOST_PP_BOOL_3 1
+# define NDNBOOST_PP_BOOL_4 1
+# define NDNBOOST_PP_BOOL_5 1
+# define NDNBOOST_PP_BOOL_6 1
+# define NDNBOOST_PP_BOOL_7 1
+# define NDNBOOST_PP_BOOL_8 1
+# define NDNBOOST_PP_BOOL_9 1
+# define NDNBOOST_PP_BOOL_10 1
+# define NDNBOOST_PP_BOOL_11 1
+# define NDNBOOST_PP_BOOL_12 1
+# define NDNBOOST_PP_BOOL_13 1
+# define NDNBOOST_PP_BOOL_14 1
+# define NDNBOOST_PP_BOOL_15 1
+# define NDNBOOST_PP_BOOL_16 1
+# define NDNBOOST_PP_BOOL_17 1
+# define NDNBOOST_PP_BOOL_18 1
+# define NDNBOOST_PP_BOOL_19 1
+# define NDNBOOST_PP_BOOL_20 1
+# define NDNBOOST_PP_BOOL_21 1
+# define NDNBOOST_PP_BOOL_22 1
+# define NDNBOOST_PP_BOOL_23 1
+# define NDNBOOST_PP_BOOL_24 1
+# define NDNBOOST_PP_BOOL_25 1
+# define NDNBOOST_PP_BOOL_26 1
+# define NDNBOOST_PP_BOOL_27 1
+# define NDNBOOST_PP_BOOL_28 1
+# define NDNBOOST_PP_BOOL_29 1
+# define NDNBOOST_PP_BOOL_30 1
+# define NDNBOOST_PP_BOOL_31 1
+# define NDNBOOST_PP_BOOL_32 1
+# define NDNBOOST_PP_BOOL_33 1
+# define NDNBOOST_PP_BOOL_34 1
+# define NDNBOOST_PP_BOOL_35 1
+# define NDNBOOST_PP_BOOL_36 1
+# define NDNBOOST_PP_BOOL_37 1
+# define NDNBOOST_PP_BOOL_38 1
+# define NDNBOOST_PP_BOOL_39 1
+# define NDNBOOST_PP_BOOL_40 1
+# define NDNBOOST_PP_BOOL_41 1
+# define NDNBOOST_PP_BOOL_42 1
+# define NDNBOOST_PP_BOOL_43 1
+# define NDNBOOST_PP_BOOL_44 1
+# define NDNBOOST_PP_BOOL_45 1
+# define NDNBOOST_PP_BOOL_46 1
+# define NDNBOOST_PP_BOOL_47 1
+# define NDNBOOST_PP_BOOL_48 1
+# define NDNBOOST_PP_BOOL_49 1
+# define NDNBOOST_PP_BOOL_50 1
+# define NDNBOOST_PP_BOOL_51 1
+# define NDNBOOST_PP_BOOL_52 1
+# define NDNBOOST_PP_BOOL_53 1
+# define NDNBOOST_PP_BOOL_54 1
+# define NDNBOOST_PP_BOOL_55 1
+# define NDNBOOST_PP_BOOL_56 1
+# define NDNBOOST_PP_BOOL_57 1
+# define NDNBOOST_PP_BOOL_58 1
+# define NDNBOOST_PP_BOOL_59 1
+# define NDNBOOST_PP_BOOL_60 1
+# define NDNBOOST_PP_BOOL_61 1
+# define NDNBOOST_PP_BOOL_62 1
+# define NDNBOOST_PP_BOOL_63 1
+# define NDNBOOST_PP_BOOL_64 1
+# define NDNBOOST_PP_BOOL_65 1
+# define NDNBOOST_PP_BOOL_66 1
+# define NDNBOOST_PP_BOOL_67 1
+# define NDNBOOST_PP_BOOL_68 1
+# define NDNBOOST_PP_BOOL_69 1
+# define NDNBOOST_PP_BOOL_70 1
+# define NDNBOOST_PP_BOOL_71 1
+# define NDNBOOST_PP_BOOL_72 1
+# define NDNBOOST_PP_BOOL_73 1
+# define NDNBOOST_PP_BOOL_74 1
+# define NDNBOOST_PP_BOOL_75 1
+# define NDNBOOST_PP_BOOL_76 1
+# define NDNBOOST_PP_BOOL_77 1
+# define NDNBOOST_PP_BOOL_78 1
+# define NDNBOOST_PP_BOOL_79 1
+# define NDNBOOST_PP_BOOL_80 1
+# define NDNBOOST_PP_BOOL_81 1
+# define NDNBOOST_PP_BOOL_82 1
+# define NDNBOOST_PP_BOOL_83 1
+# define NDNBOOST_PP_BOOL_84 1
+# define NDNBOOST_PP_BOOL_85 1
+# define NDNBOOST_PP_BOOL_86 1
+# define NDNBOOST_PP_BOOL_87 1
+# define NDNBOOST_PP_BOOL_88 1
+# define NDNBOOST_PP_BOOL_89 1
+# define NDNBOOST_PP_BOOL_90 1
+# define NDNBOOST_PP_BOOL_91 1
+# define NDNBOOST_PP_BOOL_92 1
+# define NDNBOOST_PP_BOOL_93 1
+# define NDNBOOST_PP_BOOL_94 1
+# define NDNBOOST_PP_BOOL_95 1
+# define NDNBOOST_PP_BOOL_96 1
+# define NDNBOOST_PP_BOOL_97 1
+# define NDNBOOST_PP_BOOL_98 1
+# define NDNBOOST_PP_BOOL_99 1
+# define NDNBOOST_PP_BOOL_100 1
+# define NDNBOOST_PP_BOOL_101 1
+# define NDNBOOST_PP_BOOL_102 1
+# define NDNBOOST_PP_BOOL_103 1
+# define NDNBOOST_PP_BOOL_104 1
+# define NDNBOOST_PP_BOOL_105 1
+# define NDNBOOST_PP_BOOL_106 1
+# define NDNBOOST_PP_BOOL_107 1
+# define NDNBOOST_PP_BOOL_108 1
+# define NDNBOOST_PP_BOOL_109 1
+# define NDNBOOST_PP_BOOL_110 1
+# define NDNBOOST_PP_BOOL_111 1
+# define NDNBOOST_PP_BOOL_112 1
+# define NDNBOOST_PP_BOOL_113 1
+# define NDNBOOST_PP_BOOL_114 1
+# define NDNBOOST_PP_BOOL_115 1
+# define NDNBOOST_PP_BOOL_116 1
+# define NDNBOOST_PP_BOOL_117 1
+# define NDNBOOST_PP_BOOL_118 1
+# define NDNBOOST_PP_BOOL_119 1
+# define NDNBOOST_PP_BOOL_120 1
+# define NDNBOOST_PP_BOOL_121 1
+# define NDNBOOST_PP_BOOL_122 1
+# define NDNBOOST_PP_BOOL_123 1
+# define NDNBOOST_PP_BOOL_124 1
+# define NDNBOOST_PP_BOOL_125 1
+# define NDNBOOST_PP_BOOL_126 1
+# define NDNBOOST_PP_BOOL_127 1
+# define NDNBOOST_PP_BOOL_128 1
+# define NDNBOOST_PP_BOOL_129 1
+# define NDNBOOST_PP_BOOL_130 1
+# define NDNBOOST_PP_BOOL_131 1
+# define NDNBOOST_PP_BOOL_132 1
+# define NDNBOOST_PP_BOOL_133 1
+# define NDNBOOST_PP_BOOL_134 1
+# define NDNBOOST_PP_BOOL_135 1
+# define NDNBOOST_PP_BOOL_136 1
+# define NDNBOOST_PP_BOOL_137 1
+# define NDNBOOST_PP_BOOL_138 1
+# define NDNBOOST_PP_BOOL_139 1
+# define NDNBOOST_PP_BOOL_140 1
+# define NDNBOOST_PP_BOOL_141 1
+# define NDNBOOST_PP_BOOL_142 1
+# define NDNBOOST_PP_BOOL_143 1
+# define NDNBOOST_PP_BOOL_144 1
+# define NDNBOOST_PP_BOOL_145 1
+# define NDNBOOST_PP_BOOL_146 1
+# define NDNBOOST_PP_BOOL_147 1
+# define NDNBOOST_PP_BOOL_148 1
+# define NDNBOOST_PP_BOOL_149 1
+# define NDNBOOST_PP_BOOL_150 1
+# define NDNBOOST_PP_BOOL_151 1
+# define NDNBOOST_PP_BOOL_152 1
+# define NDNBOOST_PP_BOOL_153 1
+# define NDNBOOST_PP_BOOL_154 1
+# define NDNBOOST_PP_BOOL_155 1
+# define NDNBOOST_PP_BOOL_156 1
+# define NDNBOOST_PP_BOOL_157 1
+# define NDNBOOST_PP_BOOL_158 1
+# define NDNBOOST_PP_BOOL_159 1
+# define NDNBOOST_PP_BOOL_160 1
+# define NDNBOOST_PP_BOOL_161 1
+# define NDNBOOST_PP_BOOL_162 1
+# define NDNBOOST_PP_BOOL_163 1
+# define NDNBOOST_PP_BOOL_164 1
+# define NDNBOOST_PP_BOOL_165 1
+# define NDNBOOST_PP_BOOL_166 1
+# define NDNBOOST_PP_BOOL_167 1
+# define NDNBOOST_PP_BOOL_168 1
+# define NDNBOOST_PP_BOOL_169 1
+# define NDNBOOST_PP_BOOL_170 1
+# define NDNBOOST_PP_BOOL_171 1
+# define NDNBOOST_PP_BOOL_172 1
+# define NDNBOOST_PP_BOOL_173 1
+# define NDNBOOST_PP_BOOL_174 1
+# define NDNBOOST_PP_BOOL_175 1
+# define NDNBOOST_PP_BOOL_176 1
+# define NDNBOOST_PP_BOOL_177 1
+# define NDNBOOST_PP_BOOL_178 1
+# define NDNBOOST_PP_BOOL_179 1
+# define NDNBOOST_PP_BOOL_180 1
+# define NDNBOOST_PP_BOOL_181 1
+# define NDNBOOST_PP_BOOL_182 1
+# define NDNBOOST_PP_BOOL_183 1
+# define NDNBOOST_PP_BOOL_184 1
+# define NDNBOOST_PP_BOOL_185 1
+# define NDNBOOST_PP_BOOL_186 1
+# define NDNBOOST_PP_BOOL_187 1
+# define NDNBOOST_PP_BOOL_188 1
+# define NDNBOOST_PP_BOOL_189 1
+# define NDNBOOST_PP_BOOL_190 1
+# define NDNBOOST_PP_BOOL_191 1
+# define NDNBOOST_PP_BOOL_192 1
+# define NDNBOOST_PP_BOOL_193 1
+# define NDNBOOST_PP_BOOL_194 1
+# define NDNBOOST_PP_BOOL_195 1
+# define NDNBOOST_PP_BOOL_196 1
+# define NDNBOOST_PP_BOOL_197 1
+# define NDNBOOST_PP_BOOL_198 1
+# define NDNBOOST_PP_BOOL_199 1
+# define NDNBOOST_PP_BOOL_200 1
+# define NDNBOOST_PP_BOOL_201 1
+# define NDNBOOST_PP_BOOL_202 1
+# define NDNBOOST_PP_BOOL_203 1
+# define NDNBOOST_PP_BOOL_204 1
+# define NDNBOOST_PP_BOOL_205 1
+# define NDNBOOST_PP_BOOL_206 1
+# define NDNBOOST_PP_BOOL_207 1
+# define NDNBOOST_PP_BOOL_208 1
+# define NDNBOOST_PP_BOOL_209 1
+# define NDNBOOST_PP_BOOL_210 1
+# define NDNBOOST_PP_BOOL_211 1
+# define NDNBOOST_PP_BOOL_212 1
+# define NDNBOOST_PP_BOOL_213 1
+# define NDNBOOST_PP_BOOL_214 1
+# define NDNBOOST_PP_BOOL_215 1
+# define NDNBOOST_PP_BOOL_216 1
+# define NDNBOOST_PP_BOOL_217 1
+# define NDNBOOST_PP_BOOL_218 1
+# define NDNBOOST_PP_BOOL_219 1
+# define NDNBOOST_PP_BOOL_220 1
+# define NDNBOOST_PP_BOOL_221 1
+# define NDNBOOST_PP_BOOL_222 1
+# define NDNBOOST_PP_BOOL_223 1
+# define NDNBOOST_PP_BOOL_224 1
+# define NDNBOOST_PP_BOOL_225 1
+# define NDNBOOST_PP_BOOL_226 1
+# define NDNBOOST_PP_BOOL_227 1
+# define NDNBOOST_PP_BOOL_228 1
+# define NDNBOOST_PP_BOOL_229 1
+# define NDNBOOST_PP_BOOL_230 1
+# define NDNBOOST_PP_BOOL_231 1
+# define NDNBOOST_PP_BOOL_232 1
+# define NDNBOOST_PP_BOOL_233 1
+# define NDNBOOST_PP_BOOL_234 1
+# define NDNBOOST_PP_BOOL_235 1
+# define NDNBOOST_PP_BOOL_236 1
+# define NDNBOOST_PP_BOOL_237 1
+# define NDNBOOST_PP_BOOL_238 1
+# define NDNBOOST_PP_BOOL_239 1
+# define NDNBOOST_PP_BOOL_240 1
+# define NDNBOOST_PP_BOOL_241 1
+# define NDNBOOST_PP_BOOL_242 1
+# define NDNBOOST_PP_BOOL_243 1
+# define NDNBOOST_PP_BOOL_244 1
+# define NDNBOOST_PP_BOOL_245 1
+# define NDNBOOST_PP_BOOL_246 1
+# define NDNBOOST_PP_BOOL_247 1
+# define NDNBOOST_PP_BOOL_248 1
+# define NDNBOOST_PP_BOOL_249 1
+# define NDNBOOST_PP_BOOL_250 1
+# define NDNBOOST_PP_BOOL_251 1
+# define NDNBOOST_PP_BOOL_252 1
+# define NDNBOOST_PP_BOOL_253 1
+# define NDNBOOST_PP_BOOL_254 1
+# define NDNBOOST_PP_BOOL_255 1
+# define NDNBOOST_PP_BOOL_256 1
 #
 # endif
diff --git a/include/ndnboost/preprocessor/logical/compl.hpp b/include/ndnboost/preprocessor/logical/compl.hpp
index 214d64c..e6b4c6c 100644
--- a/include/ndnboost/preprocessor/logical/compl.hpp
+++ b/include/ndnboost/preprocessor/logical/compl.hpp
@@ -9,28 +9,28 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_LOGICAL_COMPL_HPP
-# define BOOST_PREPROCESSOR_LOGICAL_COMPL_HPP
+# ifndef NDNBOOST_PREPROCESSOR_LOGICAL_COMPL_HPP
+# define NDNBOOST_PREPROCESSOR_LOGICAL_COMPL_HPP
 #
 # include <ndnboost/preprocessor/config/config.hpp>
 #
-# /* BOOST_PP_COMPL */
+# /* NDNBOOST_PP_COMPL */
 #
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-#    define BOOST_PP_COMPL(x) BOOST_PP_COMPL_I(x)
+# if ~NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_MWCC()
+#    define NDNBOOST_PP_COMPL(x) NDNBOOST_PP_COMPL_I(x)
 # else
-#    define BOOST_PP_COMPL(x) BOOST_PP_COMPL_OO((x))
-#    define BOOST_PP_COMPL_OO(par) BOOST_PP_COMPL_I ## par
+#    define NDNBOOST_PP_COMPL(x) NDNBOOST_PP_COMPL_OO((x))
+#    define NDNBOOST_PP_COMPL_OO(par) NDNBOOST_PP_COMPL_I ## par
 # endif
 #
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()
-#    define BOOST_PP_COMPL_I(x) BOOST_PP_COMPL_ ## x
+# if ~NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_MSVC()
+#    define NDNBOOST_PP_COMPL_I(x) NDNBOOST_PP_COMPL_ ## x
 # else
-#    define BOOST_PP_COMPL_I(x) BOOST_PP_COMPL_ID(BOOST_PP_COMPL_ ## x)
-#    define BOOST_PP_COMPL_ID(id) id
+#    define NDNBOOST_PP_COMPL_I(x) NDNBOOST_PP_COMPL_ID(NDNBOOST_PP_COMPL_ ## x)
+#    define NDNBOOST_PP_COMPL_ID(id) id
 # endif
 #
-# define BOOST_PP_COMPL_0 1
-# define BOOST_PP_COMPL_1 0
+# define NDNBOOST_PP_COMPL_0 1
+# define NDNBOOST_PP_COMPL_1 0
 #
 # endif
diff --git a/include/ndnboost/preprocessor/logical/not.hpp b/include/ndnboost/preprocessor/logical/not.hpp
index 6097078..fc9210e 100644
--- a/include/ndnboost/preprocessor/logical/not.hpp
+++ b/include/ndnboost/preprocessor/logical/not.hpp
@@ -11,20 +11,20 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_LOGICAL_NOT_HPP
-# define BOOST_PREPROCESSOR_LOGICAL_NOT_HPP
+# ifndef NDNBOOST_PREPROCESSOR_LOGICAL_NOT_HPP
+# define NDNBOOST_PREPROCESSOR_LOGICAL_NOT_HPP
 #
 # include <ndnboost/preprocessor/config/config.hpp>
 # include <ndnboost/preprocessor/logical/bool.hpp>
 # include <ndnboost/preprocessor/logical/compl.hpp>
 #
-# /* BOOST_PP_NOT */
+# /* NDNBOOST_PP_NOT */
 #
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_NOT(x) BOOST_PP_COMPL(BOOST_PP_BOOL(x))
+# if ~NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_EDG()
+#    define NDNBOOST_PP_NOT(x) NDNBOOST_PP_COMPL(NDNBOOST_PP_BOOL(x))
 # else
-#    define BOOST_PP_NOT(x) BOOST_PP_NOT_I(x)
-#    define BOOST_PP_NOT_I(x) BOOST_PP_COMPL(BOOST_PP_BOOL(x))
+#    define NDNBOOST_PP_NOT(x) NDNBOOST_PP_NOT_I(x)
+#    define NDNBOOST_PP_NOT_I(x) NDNBOOST_PP_COMPL(NDNBOOST_PP_BOOL(x))
 # endif
 #
 # endif
diff --git a/include/ndnboost/preprocessor/logical/or.hpp b/include/ndnboost/preprocessor/logical/or.hpp
index 5ec5dbe..7639ef3 100644
--- a/include/ndnboost/preprocessor/logical/or.hpp
+++ b/include/ndnboost/preprocessor/logical/or.hpp
@@ -11,20 +11,20 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_LOGICAL_OR_HPP
-# define BOOST_PREPROCESSOR_LOGICAL_OR_HPP
+# ifndef NDNBOOST_PREPROCESSOR_LOGICAL_OR_HPP
+# define NDNBOOST_PREPROCESSOR_LOGICAL_OR_HPP
 #
 # include <ndnboost/preprocessor/config/config.hpp>
 # include <ndnboost/preprocessor/logical/bool.hpp>
 # include <ndnboost/preprocessor/logical/bitor.hpp>
 #
-# /* BOOST_PP_OR */
+# /* NDNBOOST_PP_OR */
 #
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_OR(p, q) BOOST_PP_BITOR(BOOST_PP_BOOL(p), BOOST_PP_BOOL(q))
+# if ~NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_EDG()
+#    define NDNBOOST_PP_OR(p, q) NDNBOOST_PP_BITOR(NDNBOOST_PP_BOOL(p), NDNBOOST_PP_BOOL(q))
 # else
-#    define BOOST_PP_OR(p, q) BOOST_PP_OR_I(p, q)
-#    define BOOST_PP_OR_I(p, q) BOOST_PP_BITOR(BOOST_PP_BOOL(p), BOOST_PP_BOOL(q))
+#    define NDNBOOST_PP_OR(p, q) NDNBOOST_PP_OR_I(p, q)
+#    define NDNBOOST_PP_OR_I(p, q) NDNBOOST_PP_BITOR(NDNBOOST_PP_BOOL(p), NDNBOOST_PP_BOOL(q))
 # endif
 #
 # endif
diff --git a/include/ndnboost/preprocessor/punctuation/comma.hpp b/include/ndnboost/preprocessor/punctuation/comma.hpp
index 38c2e0e..ec1a334 100644
--- a/include/ndnboost/preprocessor/punctuation/comma.hpp
+++ b/include/ndnboost/preprocessor/punctuation/comma.hpp
@@ -11,11 +11,11 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_PUNCTUATION_COMMA_HPP
-# define BOOST_PREPROCESSOR_PUNCTUATION_COMMA_HPP
+# ifndef NDNBOOST_PREPROCESSOR_PUNCTUATION_COMMA_HPP
+# define NDNBOOST_PREPROCESSOR_PUNCTUATION_COMMA_HPP
 #
-# /* BOOST_PP_COMMA */
+# /* NDNBOOST_PP_COMMA */
 #
-# define BOOST_PP_COMMA() ,
+# define NDNBOOST_PP_COMMA() ,
 #
 # endif
diff --git a/include/ndnboost/preprocessor/punctuation/comma_if.hpp b/include/ndnboost/preprocessor/punctuation/comma_if.hpp
index eaf0702..685b0ba 100644
--- a/include/ndnboost/preprocessor/punctuation/comma_if.hpp
+++ b/include/ndnboost/preprocessor/punctuation/comma_if.hpp
@@ -11,21 +11,21 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_PUNCTUATION_COMMA_IF_HPP
-# define BOOST_PREPROCESSOR_PUNCTUATION_COMMA_IF_HPP
+# ifndef NDNBOOST_PREPROCESSOR_PUNCTUATION_COMMA_IF_HPP
+# define NDNBOOST_PREPROCESSOR_PUNCTUATION_COMMA_IF_HPP
 #
 # include <ndnboost/preprocessor/config/config.hpp>
 # include <ndnboost/preprocessor/control/if.hpp>
 # include <ndnboost/preprocessor/facilities/empty.hpp>
 # include <ndnboost/preprocessor/punctuation/comma.hpp>
 #
-# /* BOOST_PP_COMMA_IF */
+# /* NDNBOOST_PP_COMMA_IF */
 #
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_COMMA_IF(cond) BOOST_PP_IF(cond, BOOST_PP_COMMA, BOOST_PP_EMPTY)()
+# if ~NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_EDG()
+#    define NDNBOOST_PP_COMMA_IF(cond) NDNBOOST_PP_IF(cond, NDNBOOST_PP_COMMA, NDNBOOST_PP_EMPTY)()
 # else
-#    define BOOST_PP_COMMA_IF(cond) BOOST_PP_COMMA_IF_I(cond)
-#    define BOOST_PP_COMMA_IF_I(cond) BOOST_PP_IF(cond, BOOST_PP_COMMA, BOOST_PP_EMPTY)()
+#    define NDNBOOST_PP_COMMA_IF(cond) NDNBOOST_PP_COMMA_IF_I(cond)
+#    define NDNBOOST_PP_COMMA_IF_I(cond) NDNBOOST_PP_IF(cond, NDNBOOST_PP_COMMA, NDNBOOST_PP_EMPTY)()
 # endif
 #
 # endif
diff --git a/include/ndnboost/preprocessor/punctuation/paren.hpp b/include/ndnboost/preprocessor/punctuation/paren.hpp
index 28c18cb..7033fec 100644
--- a/include/ndnboost/preprocessor/punctuation/paren.hpp
+++ b/include/ndnboost/preprocessor/punctuation/paren.hpp
@@ -9,15 +9,15 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_PUNCTUATION_PAREN_HPP
-# define BOOST_PREPROCESSOR_PUNCTUATION_PAREN_HPP
+# ifndef NDNBOOST_PREPROCESSOR_PUNCTUATION_PAREN_HPP
+# define NDNBOOST_PREPROCESSOR_PUNCTUATION_PAREN_HPP
 #
-# /* BOOST_PP_LPAREN */
+# /* NDNBOOST_PP_LPAREN */
 #
-# define BOOST_PP_LPAREN() (
+# define NDNBOOST_PP_LPAREN() (
 #
-# /* BOOST_PP_RPAREN */
+# /* NDNBOOST_PP_RPAREN */
 #
-# define BOOST_PP_RPAREN() )
+# define NDNBOOST_PP_RPAREN() )
 #
 # endif
diff --git a/include/ndnboost/preprocessor/repeat.hpp b/include/ndnboost/preprocessor/repeat.hpp
index f98c65c..d438cba 100644
--- a/include/ndnboost/preprocessor/repeat.hpp
+++ b/include/ndnboost/preprocessor/repeat.hpp
@@ -9,8 +9,8 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_REPEAT_HPP
-# define BOOST_PREPROCESSOR_REPEAT_HPP
+# ifndef NDNBOOST_PREPROCESSOR_REPEAT_HPP
+# define NDNBOOST_PREPROCESSOR_REPEAT_HPP
 #
 # include <ndnboost/preprocessor/repetition/repeat.hpp>
 #
diff --git a/include/ndnboost/preprocessor/repeat_2nd.hpp b/include/ndnboost/preprocessor/repeat_2nd.hpp
index 0bd00b6..7503b9c 100644
--- a/include/ndnboost/preprocessor/repeat_2nd.hpp
+++ b/include/ndnboost/preprocessor/repeat_2nd.hpp
@@ -9,8 +9,8 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_REPEAT_2ND_HPP
-# define BOOST_PREPROCESSOR_REPEAT_2ND_HPP
+# ifndef NDNBOOST_PREPROCESSOR_REPEAT_2ND_HPP
+# define NDNBOOST_PREPROCESSOR_REPEAT_2ND_HPP
 #
 # include <ndnboost/preprocessor/repetition/repeat.hpp>
 #
diff --git a/include/ndnboost/preprocessor/repeat_from_to.hpp b/include/ndnboost/preprocessor/repeat_from_to.hpp
index 32cea2c..59c8a56 100644
--- a/include/ndnboost/preprocessor/repeat_from_to.hpp
+++ b/include/ndnboost/preprocessor/repeat_from_to.hpp
@@ -9,8 +9,8 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_REPEAT_FROM_TO_HPP
-# define BOOST_PREPROCESSOR_REPEAT_FROM_TO_HPP
+# ifndef NDNBOOST_PREPROCESSOR_REPEAT_FROM_TO_HPP
+# define NDNBOOST_PREPROCESSOR_REPEAT_FROM_TO_HPP
 #
 # include <ndnboost/preprocessor/repetition/repeat_from_to.hpp>
 #
diff --git a/include/ndnboost/preprocessor/repetition/detail/dmc/for.hpp b/include/ndnboost/preprocessor/repetition/detail/dmc/for.hpp
index da6fe49..c830675 100644
--- a/include/ndnboost/preprocessor/repetition/detail/dmc/for.hpp
+++ b/include/ndnboost/preprocessor/repetition/detail/dmc/for.hpp
@@ -11,526 +11,526 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_REPETITION_DETAIL_FOR_HPP
-# define BOOST_PREPROCESSOR_REPETITION_DETAIL_FOR_HPP
+# ifndef NDNBOOST_PREPROCESSOR_REPETITION_DETAIL_FOR_HPP
+# define NDNBOOST_PREPROCESSOR_REPETITION_DETAIL_FOR_HPP
 #
 # include <ndnboost/preprocessor/control/expr_iif.hpp>
 # include <ndnboost/preprocessor/control/iif.hpp>
 # include <ndnboost/preprocessor/logical/bool.hpp>
 # include <ndnboost/preprocessor/tuple/eat.hpp>
 #
-# define BOOST_PP_FOR_1(s, p, o, m) BOOST_PP_FOR_1_C(BOOST_PP_BOOL(p##(2, s)), s, p, o, m)
-# define BOOST_PP_FOR_2(s, p, o, m) BOOST_PP_FOR_2_C(BOOST_PP_BOOL(p##(3, s)), s, p, o, m)
-# define BOOST_PP_FOR_3(s, p, o, m) BOOST_PP_FOR_3_C(BOOST_PP_BOOL(p##(4, s)), s, p, o, m)
-# define BOOST_PP_FOR_4(s, p, o, m) BOOST_PP_FOR_4_C(BOOST_PP_BOOL(p##(5, s)), s, p, o, m)
-# define BOOST_PP_FOR_5(s, p, o, m) BOOST_PP_FOR_5_C(BOOST_PP_BOOL(p##(6, s)), s, p, o, m)
-# define BOOST_PP_FOR_6(s, p, o, m) BOOST_PP_FOR_6_C(BOOST_PP_BOOL(p##(7, s)), s, p, o, m)
-# define BOOST_PP_FOR_7(s, p, o, m) BOOST_PP_FOR_7_C(BOOST_PP_BOOL(p##(8, s)), s, p, o, m)
-# define BOOST_PP_FOR_8(s, p, o, m) BOOST_PP_FOR_8_C(BOOST_PP_BOOL(p##(9, s)), s, p, o, m)
-# define BOOST_PP_FOR_9(s, p, o, m) BOOST_PP_FOR_9_C(BOOST_PP_BOOL(p##(10, s)), s, p, o, m)
-# define BOOST_PP_FOR_10(s, p, o, m) BOOST_PP_FOR_10_C(BOOST_PP_BOOL(p##(11, s)), s, p, o, m)
-# define BOOST_PP_FOR_11(s, p, o, m) BOOST_PP_FOR_11_C(BOOST_PP_BOOL(p##(12, s)), s, p, o, m)
-# define BOOST_PP_FOR_12(s, p, o, m) BOOST_PP_FOR_12_C(BOOST_PP_BOOL(p##(13, s)), s, p, o, m)
-# define BOOST_PP_FOR_13(s, p, o, m) BOOST_PP_FOR_13_C(BOOST_PP_BOOL(p##(14, s)), s, p, o, m)
-# define BOOST_PP_FOR_14(s, p, o, m) BOOST_PP_FOR_14_C(BOOST_PP_BOOL(p##(15, s)), s, p, o, m)
-# define BOOST_PP_FOR_15(s, p, o, m) BOOST_PP_FOR_15_C(BOOST_PP_BOOL(p##(16, s)), s, p, o, m)
-# define BOOST_PP_FOR_16(s, p, o, m) BOOST_PP_FOR_16_C(BOOST_PP_BOOL(p##(17, s)), s, p, o, m)
-# define BOOST_PP_FOR_17(s, p, o, m) BOOST_PP_FOR_17_C(BOOST_PP_BOOL(p##(18, s)), s, p, o, m)
-# define BOOST_PP_FOR_18(s, p, o, m) BOOST_PP_FOR_18_C(BOOST_PP_BOOL(p##(19, s)), s, p, o, m)
-# define BOOST_PP_FOR_19(s, p, o, m) BOOST_PP_FOR_19_C(BOOST_PP_BOOL(p##(20, s)), s, p, o, m)
-# define BOOST_PP_FOR_20(s, p, o, m) BOOST_PP_FOR_20_C(BOOST_PP_BOOL(p##(21, s)), s, p, o, m)
-# define BOOST_PP_FOR_21(s, p, o, m) BOOST_PP_FOR_21_C(BOOST_PP_BOOL(p##(22, s)), s, p, o, m)
-# define BOOST_PP_FOR_22(s, p, o, m) BOOST_PP_FOR_22_C(BOOST_PP_BOOL(p##(23, s)), s, p, o, m)
-# define BOOST_PP_FOR_23(s, p, o, m) BOOST_PP_FOR_23_C(BOOST_PP_BOOL(p##(24, s)), s, p, o, m)
-# define BOOST_PP_FOR_24(s, p, o, m) BOOST_PP_FOR_24_C(BOOST_PP_BOOL(p##(25, s)), s, p, o, m)
-# define BOOST_PP_FOR_25(s, p, o, m) BOOST_PP_FOR_25_C(BOOST_PP_BOOL(p##(26, s)), s, p, o, m)
-# define BOOST_PP_FOR_26(s, p, o, m) BOOST_PP_FOR_26_C(BOOST_PP_BOOL(p##(27, s)), s, p, o, m)
-# define BOOST_PP_FOR_27(s, p, o, m) BOOST_PP_FOR_27_C(BOOST_PP_BOOL(p##(28, s)), s, p, o, m)
-# define BOOST_PP_FOR_28(s, p, o, m) BOOST_PP_FOR_28_C(BOOST_PP_BOOL(p##(29, s)), s, p, o, m)
-# define BOOST_PP_FOR_29(s, p, o, m) BOOST_PP_FOR_29_C(BOOST_PP_BOOL(p##(30, s)), s, p, o, m)
-# define BOOST_PP_FOR_30(s, p, o, m) BOOST_PP_FOR_30_C(BOOST_PP_BOOL(p##(31, s)), s, p, o, m)
-# define BOOST_PP_FOR_31(s, p, o, m) BOOST_PP_FOR_31_C(BOOST_PP_BOOL(p##(32, s)), s, p, o, m)
-# define BOOST_PP_FOR_32(s, p, o, m) BOOST_PP_FOR_32_C(BOOST_PP_BOOL(p##(33, s)), s, p, o, m)
-# define BOOST_PP_FOR_33(s, p, o, m) BOOST_PP_FOR_33_C(BOOST_PP_BOOL(p##(34, s)), s, p, o, m)
-# define BOOST_PP_FOR_34(s, p, o, m) BOOST_PP_FOR_34_C(BOOST_PP_BOOL(p##(35, s)), s, p, o, m)
-# define BOOST_PP_FOR_35(s, p, o, m) BOOST_PP_FOR_35_C(BOOST_PP_BOOL(p##(36, s)), s, p, o, m)
-# define BOOST_PP_FOR_36(s, p, o, m) BOOST_PP_FOR_36_C(BOOST_PP_BOOL(p##(37, s)), s, p, o, m)
-# define BOOST_PP_FOR_37(s, p, o, m) BOOST_PP_FOR_37_C(BOOST_PP_BOOL(p##(38, s)), s, p, o, m)
-# define BOOST_PP_FOR_38(s, p, o, m) BOOST_PP_FOR_38_C(BOOST_PP_BOOL(p##(39, s)), s, p, o, m)
-# define BOOST_PP_FOR_39(s, p, o, m) BOOST_PP_FOR_39_C(BOOST_PP_BOOL(p##(40, s)), s, p, o, m)
-# define BOOST_PP_FOR_40(s, p, o, m) BOOST_PP_FOR_40_C(BOOST_PP_BOOL(p##(41, s)), s, p, o, m)
-# define BOOST_PP_FOR_41(s, p, o, m) BOOST_PP_FOR_41_C(BOOST_PP_BOOL(p##(42, s)), s, p, o, m)
-# define BOOST_PP_FOR_42(s, p, o, m) BOOST_PP_FOR_42_C(BOOST_PP_BOOL(p##(43, s)), s, p, o, m)
-# define BOOST_PP_FOR_43(s, p, o, m) BOOST_PP_FOR_43_C(BOOST_PP_BOOL(p##(44, s)), s, p, o, m)
-# define BOOST_PP_FOR_44(s, p, o, m) BOOST_PP_FOR_44_C(BOOST_PP_BOOL(p##(45, s)), s, p, o, m)
-# define BOOST_PP_FOR_45(s, p, o, m) BOOST_PP_FOR_45_C(BOOST_PP_BOOL(p##(46, s)), s, p, o, m)
-# define BOOST_PP_FOR_46(s, p, o, m) BOOST_PP_FOR_46_C(BOOST_PP_BOOL(p##(47, s)), s, p, o, m)
-# define BOOST_PP_FOR_47(s, p, o, m) BOOST_PP_FOR_47_C(BOOST_PP_BOOL(p##(48, s)), s, p, o, m)
-# define BOOST_PP_FOR_48(s, p, o, m) BOOST_PP_FOR_48_C(BOOST_PP_BOOL(p##(49, s)), s, p, o, m)
-# define BOOST_PP_FOR_49(s, p, o, m) BOOST_PP_FOR_49_C(BOOST_PP_BOOL(p##(50, s)), s, p, o, m)
-# define BOOST_PP_FOR_50(s, p, o, m) BOOST_PP_FOR_50_C(BOOST_PP_BOOL(p##(51, s)), s, p, o, m)
-# define BOOST_PP_FOR_51(s, p, o, m) BOOST_PP_FOR_51_C(BOOST_PP_BOOL(p##(52, s)), s, p, o, m)
-# define BOOST_PP_FOR_52(s, p, o, m) BOOST_PP_FOR_52_C(BOOST_PP_BOOL(p##(53, s)), s, p, o, m)
-# define BOOST_PP_FOR_53(s, p, o, m) BOOST_PP_FOR_53_C(BOOST_PP_BOOL(p##(54, s)), s, p, o, m)
-# define BOOST_PP_FOR_54(s, p, o, m) BOOST_PP_FOR_54_C(BOOST_PP_BOOL(p##(55, s)), s, p, o, m)
-# define BOOST_PP_FOR_55(s, p, o, m) BOOST_PP_FOR_55_C(BOOST_PP_BOOL(p##(56, s)), s, p, o, m)
-# define BOOST_PP_FOR_56(s, p, o, m) BOOST_PP_FOR_56_C(BOOST_PP_BOOL(p##(57, s)), s, p, o, m)
-# define BOOST_PP_FOR_57(s, p, o, m) BOOST_PP_FOR_57_C(BOOST_PP_BOOL(p##(58, s)), s, p, o, m)
-# define BOOST_PP_FOR_58(s, p, o, m) BOOST_PP_FOR_58_C(BOOST_PP_BOOL(p##(59, s)), s, p, o, m)
-# define BOOST_PP_FOR_59(s, p, o, m) BOOST_PP_FOR_59_C(BOOST_PP_BOOL(p##(60, s)), s, p, o, m)
-# define BOOST_PP_FOR_60(s, p, o, m) BOOST_PP_FOR_60_C(BOOST_PP_BOOL(p##(61, s)), s, p, o, m)
-# define BOOST_PP_FOR_61(s, p, o, m) BOOST_PP_FOR_61_C(BOOST_PP_BOOL(p##(62, s)), s, p, o, m)
-# define BOOST_PP_FOR_62(s, p, o, m) BOOST_PP_FOR_62_C(BOOST_PP_BOOL(p##(63, s)), s, p, o, m)
-# define BOOST_PP_FOR_63(s, p, o, m) BOOST_PP_FOR_63_C(BOOST_PP_BOOL(p##(64, s)), s, p, o, m)
-# define BOOST_PP_FOR_64(s, p, o, m) BOOST_PP_FOR_64_C(BOOST_PP_BOOL(p##(65, s)), s, p, o, m)
-# define BOOST_PP_FOR_65(s, p, o, m) BOOST_PP_FOR_65_C(BOOST_PP_BOOL(p##(66, s)), s, p, o, m)
-# define BOOST_PP_FOR_66(s, p, o, m) BOOST_PP_FOR_66_C(BOOST_PP_BOOL(p##(67, s)), s, p, o, m)
-# define BOOST_PP_FOR_67(s, p, o, m) BOOST_PP_FOR_67_C(BOOST_PP_BOOL(p##(68, s)), s, p, o, m)
-# define BOOST_PP_FOR_68(s, p, o, m) BOOST_PP_FOR_68_C(BOOST_PP_BOOL(p##(69, s)), s, p, o, m)
-# define BOOST_PP_FOR_69(s, p, o, m) BOOST_PP_FOR_69_C(BOOST_PP_BOOL(p##(70, s)), s, p, o, m)
-# define BOOST_PP_FOR_70(s, p, o, m) BOOST_PP_FOR_70_C(BOOST_PP_BOOL(p##(71, s)), s, p, o, m)
-# define BOOST_PP_FOR_71(s, p, o, m) BOOST_PP_FOR_71_C(BOOST_PP_BOOL(p##(72, s)), s, p, o, m)
-# define BOOST_PP_FOR_72(s, p, o, m) BOOST_PP_FOR_72_C(BOOST_PP_BOOL(p##(73, s)), s, p, o, m)
-# define BOOST_PP_FOR_73(s, p, o, m) BOOST_PP_FOR_73_C(BOOST_PP_BOOL(p##(74, s)), s, p, o, m)
-# define BOOST_PP_FOR_74(s, p, o, m) BOOST_PP_FOR_74_C(BOOST_PP_BOOL(p##(75, s)), s, p, o, m)
-# define BOOST_PP_FOR_75(s, p, o, m) BOOST_PP_FOR_75_C(BOOST_PP_BOOL(p##(76, s)), s, p, o, m)
-# define BOOST_PP_FOR_76(s, p, o, m) BOOST_PP_FOR_76_C(BOOST_PP_BOOL(p##(77, s)), s, p, o, m)
-# define BOOST_PP_FOR_77(s, p, o, m) BOOST_PP_FOR_77_C(BOOST_PP_BOOL(p##(78, s)), s, p, o, m)
-# define BOOST_PP_FOR_78(s, p, o, m) BOOST_PP_FOR_78_C(BOOST_PP_BOOL(p##(79, s)), s, p, o, m)
-# define BOOST_PP_FOR_79(s, p, o, m) BOOST_PP_FOR_79_C(BOOST_PP_BOOL(p##(80, s)), s, p, o, m)
-# define BOOST_PP_FOR_80(s, p, o, m) BOOST_PP_FOR_80_C(BOOST_PP_BOOL(p##(81, s)), s, p, o, m)
-# define BOOST_PP_FOR_81(s, p, o, m) BOOST_PP_FOR_81_C(BOOST_PP_BOOL(p##(82, s)), s, p, o, m)
-# define BOOST_PP_FOR_82(s, p, o, m) BOOST_PP_FOR_82_C(BOOST_PP_BOOL(p##(83, s)), s, p, o, m)
-# define BOOST_PP_FOR_83(s, p, o, m) BOOST_PP_FOR_83_C(BOOST_PP_BOOL(p##(84, s)), s, p, o, m)
-# define BOOST_PP_FOR_84(s, p, o, m) BOOST_PP_FOR_84_C(BOOST_PP_BOOL(p##(85, s)), s, p, o, m)
-# define BOOST_PP_FOR_85(s, p, o, m) BOOST_PP_FOR_85_C(BOOST_PP_BOOL(p##(86, s)), s, p, o, m)
-# define BOOST_PP_FOR_86(s, p, o, m) BOOST_PP_FOR_86_C(BOOST_PP_BOOL(p##(87, s)), s, p, o, m)
-# define BOOST_PP_FOR_87(s, p, o, m) BOOST_PP_FOR_87_C(BOOST_PP_BOOL(p##(88, s)), s, p, o, m)
-# define BOOST_PP_FOR_88(s, p, o, m) BOOST_PP_FOR_88_C(BOOST_PP_BOOL(p##(89, s)), s, p, o, m)
-# define BOOST_PP_FOR_89(s, p, o, m) BOOST_PP_FOR_89_C(BOOST_PP_BOOL(p##(90, s)), s, p, o, m)
-# define BOOST_PP_FOR_90(s, p, o, m) BOOST_PP_FOR_90_C(BOOST_PP_BOOL(p##(91, s)), s, p, o, m)
-# define BOOST_PP_FOR_91(s, p, o, m) BOOST_PP_FOR_91_C(BOOST_PP_BOOL(p##(92, s)), s, p, o, m)
-# define BOOST_PP_FOR_92(s, p, o, m) BOOST_PP_FOR_92_C(BOOST_PP_BOOL(p##(93, s)), s, p, o, m)
-# define BOOST_PP_FOR_93(s, p, o, m) BOOST_PP_FOR_93_C(BOOST_PP_BOOL(p##(94, s)), s, p, o, m)
-# define BOOST_PP_FOR_94(s, p, o, m) BOOST_PP_FOR_94_C(BOOST_PP_BOOL(p##(95, s)), s, p, o, m)
-# define BOOST_PP_FOR_95(s, p, o, m) BOOST_PP_FOR_95_C(BOOST_PP_BOOL(p##(96, s)), s, p, o, m)
-# define BOOST_PP_FOR_96(s, p, o, m) BOOST_PP_FOR_96_C(BOOST_PP_BOOL(p##(97, s)), s, p, o, m)
-# define BOOST_PP_FOR_97(s, p, o, m) BOOST_PP_FOR_97_C(BOOST_PP_BOOL(p##(98, s)), s, p, o, m)
-# define BOOST_PP_FOR_98(s, p, o, m) BOOST_PP_FOR_98_C(BOOST_PP_BOOL(p##(99, s)), s, p, o, m)
-# define BOOST_PP_FOR_99(s, p, o, m) BOOST_PP_FOR_99_C(BOOST_PP_BOOL(p##(100, s)), s, p, o, m)
-# define BOOST_PP_FOR_100(s, p, o, m) BOOST_PP_FOR_100_C(BOOST_PP_BOOL(p##(101, s)), s, p, o, m)
-# define BOOST_PP_FOR_101(s, p, o, m) BOOST_PP_FOR_101_C(BOOST_PP_BOOL(p##(102, s)), s, p, o, m)
-# define BOOST_PP_FOR_102(s, p, o, m) BOOST_PP_FOR_102_C(BOOST_PP_BOOL(p##(103, s)), s, p, o, m)
-# define BOOST_PP_FOR_103(s, p, o, m) BOOST_PP_FOR_103_C(BOOST_PP_BOOL(p##(104, s)), s, p, o, m)
-# define BOOST_PP_FOR_104(s, p, o, m) BOOST_PP_FOR_104_C(BOOST_PP_BOOL(p##(105, s)), s, p, o, m)
-# define BOOST_PP_FOR_105(s, p, o, m) BOOST_PP_FOR_105_C(BOOST_PP_BOOL(p##(106, s)), s, p, o, m)
-# define BOOST_PP_FOR_106(s, p, o, m) BOOST_PP_FOR_106_C(BOOST_PP_BOOL(p##(107, s)), s, p, o, m)
-# define BOOST_PP_FOR_107(s, p, o, m) BOOST_PP_FOR_107_C(BOOST_PP_BOOL(p##(108, s)), s, p, o, m)
-# define BOOST_PP_FOR_108(s, p, o, m) BOOST_PP_FOR_108_C(BOOST_PP_BOOL(p##(109, s)), s, p, o, m)
-# define BOOST_PP_FOR_109(s, p, o, m) BOOST_PP_FOR_109_C(BOOST_PP_BOOL(p##(110, s)), s, p, o, m)
-# define BOOST_PP_FOR_110(s, p, o, m) BOOST_PP_FOR_110_C(BOOST_PP_BOOL(p##(111, s)), s, p, o, m)
-# define BOOST_PP_FOR_111(s, p, o, m) BOOST_PP_FOR_111_C(BOOST_PP_BOOL(p##(112, s)), s, p, o, m)
-# define BOOST_PP_FOR_112(s, p, o, m) BOOST_PP_FOR_112_C(BOOST_PP_BOOL(p##(113, s)), s, p, o, m)
-# define BOOST_PP_FOR_113(s, p, o, m) BOOST_PP_FOR_113_C(BOOST_PP_BOOL(p##(114, s)), s, p, o, m)
-# define BOOST_PP_FOR_114(s, p, o, m) BOOST_PP_FOR_114_C(BOOST_PP_BOOL(p##(115, s)), s, p, o, m)
-# define BOOST_PP_FOR_115(s, p, o, m) BOOST_PP_FOR_115_C(BOOST_PP_BOOL(p##(116, s)), s, p, o, m)
-# define BOOST_PP_FOR_116(s, p, o, m) BOOST_PP_FOR_116_C(BOOST_PP_BOOL(p##(117, s)), s, p, o, m)
-# define BOOST_PP_FOR_117(s, p, o, m) BOOST_PP_FOR_117_C(BOOST_PP_BOOL(p##(118, s)), s, p, o, m)
-# define BOOST_PP_FOR_118(s, p, o, m) BOOST_PP_FOR_118_C(BOOST_PP_BOOL(p##(119, s)), s, p, o, m)
-# define BOOST_PP_FOR_119(s, p, o, m) BOOST_PP_FOR_119_C(BOOST_PP_BOOL(p##(120, s)), s, p, o, m)
-# define BOOST_PP_FOR_120(s, p, o, m) BOOST_PP_FOR_120_C(BOOST_PP_BOOL(p##(121, s)), s, p, o, m)
-# define BOOST_PP_FOR_121(s, p, o, m) BOOST_PP_FOR_121_C(BOOST_PP_BOOL(p##(122, s)), s, p, o, m)
-# define BOOST_PP_FOR_122(s, p, o, m) BOOST_PP_FOR_122_C(BOOST_PP_BOOL(p##(123, s)), s, p, o, m)
-# define BOOST_PP_FOR_123(s, p, o, m) BOOST_PP_FOR_123_C(BOOST_PP_BOOL(p##(124, s)), s, p, o, m)
-# define BOOST_PP_FOR_124(s, p, o, m) BOOST_PP_FOR_124_C(BOOST_PP_BOOL(p##(125, s)), s, p, o, m)
-# define BOOST_PP_FOR_125(s, p, o, m) BOOST_PP_FOR_125_C(BOOST_PP_BOOL(p##(126, s)), s, p, o, m)
-# define BOOST_PP_FOR_126(s, p, o, m) BOOST_PP_FOR_126_C(BOOST_PP_BOOL(p##(127, s)), s, p, o, m)
-# define BOOST_PP_FOR_127(s, p, o, m) BOOST_PP_FOR_127_C(BOOST_PP_BOOL(p##(128, s)), s, p, o, m)
-# define BOOST_PP_FOR_128(s, p, o, m) BOOST_PP_FOR_128_C(BOOST_PP_BOOL(p##(129, s)), s, p, o, m)
-# define BOOST_PP_FOR_129(s, p, o, m) BOOST_PP_FOR_129_C(BOOST_PP_BOOL(p##(130, s)), s, p, o, m)
-# define BOOST_PP_FOR_130(s, p, o, m) BOOST_PP_FOR_130_C(BOOST_PP_BOOL(p##(131, s)), s, p, o, m)
-# define BOOST_PP_FOR_131(s, p, o, m) BOOST_PP_FOR_131_C(BOOST_PP_BOOL(p##(132, s)), s, p, o, m)
-# define BOOST_PP_FOR_132(s, p, o, m) BOOST_PP_FOR_132_C(BOOST_PP_BOOL(p##(133, s)), s, p, o, m)
-# define BOOST_PP_FOR_133(s, p, o, m) BOOST_PP_FOR_133_C(BOOST_PP_BOOL(p##(134, s)), s, p, o, m)
-# define BOOST_PP_FOR_134(s, p, o, m) BOOST_PP_FOR_134_C(BOOST_PP_BOOL(p##(135, s)), s, p, o, m)
-# define BOOST_PP_FOR_135(s, p, o, m) BOOST_PP_FOR_135_C(BOOST_PP_BOOL(p##(136, s)), s, p, o, m)
-# define BOOST_PP_FOR_136(s, p, o, m) BOOST_PP_FOR_136_C(BOOST_PP_BOOL(p##(137, s)), s, p, o, m)
-# define BOOST_PP_FOR_137(s, p, o, m) BOOST_PP_FOR_137_C(BOOST_PP_BOOL(p##(138, s)), s, p, o, m)
-# define BOOST_PP_FOR_138(s, p, o, m) BOOST_PP_FOR_138_C(BOOST_PP_BOOL(p##(139, s)), s, p, o, m)
-# define BOOST_PP_FOR_139(s, p, o, m) BOOST_PP_FOR_139_C(BOOST_PP_BOOL(p##(140, s)), s, p, o, m)
-# define BOOST_PP_FOR_140(s, p, o, m) BOOST_PP_FOR_140_C(BOOST_PP_BOOL(p##(141, s)), s, p, o, m)
-# define BOOST_PP_FOR_141(s, p, o, m) BOOST_PP_FOR_141_C(BOOST_PP_BOOL(p##(142, s)), s, p, o, m)
-# define BOOST_PP_FOR_142(s, p, o, m) BOOST_PP_FOR_142_C(BOOST_PP_BOOL(p##(143, s)), s, p, o, m)
-# define BOOST_PP_FOR_143(s, p, o, m) BOOST_PP_FOR_143_C(BOOST_PP_BOOL(p##(144, s)), s, p, o, m)
-# define BOOST_PP_FOR_144(s, p, o, m) BOOST_PP_FOR_144_C(BOOST_PP_BOOL(p##(145, s)), s, p, o, m)
-# define BOOST_PP_FOR_145(s, p, o, m) BOOST_PP_FOR_145_C(BOOST_PP_BOOL(p##(146, s)), s, p, o, m)
-# define BOOST_PP_FOR_146(s, p, o, m) BOOST_PP_FOR_146_C(BOOST_PP_BOOL(p##(147, s)), s, p, o, m)
-# define BOOST_PP_FOR_147(s, p, o, m) BOOST_PP_FOR_147_C(BOOST_PP_BOOL(p##(148, s)), s, p, o, m)
-# define BOOST_PP_FOR_148(s, p, o, m) BOOST_PP_FOR_148_C(BOOST_PP_BOOL(p##(149, s)), s, p, o, m)
-# define BOOST_PP_FOR_149(s, p, o, m) BOOST_PP_FOR_149_C(BOOST_PP_BOOL(p##(150, s)), s, p, o, m)
-# define BOOST_PP_FOR_150(s, p, o, m) BOOST_PP_FOR_150_C(BOOST_PP_BOOL(p##(151, s)), s, p, o, m)
-# define BOOST_PP_FOR_151(s, p, o, m) BOOST_PP_FOR_151_C(BOOST_PP_BOOL(p##(152, s)), s, p, o, m)
-# define BOOST_PP_FOR_152(s, p, o, m) BOOST_PP_FOR_152_C(BOOST_PP_BOOL(p##(153, s)), s, p, o, m)
-# define BOOST_PP_FOR_153(s, p, o, m) BOOST_PP_FOR_153_C(BOOST_PP_BOOL(p##(154, s)), s, p, o, m)
-# define BOOST_PP_FOR_154(s, p, o, m) BOOST_PP_FOR_154_C(BOOST_PP_BOOL(p##(155, s)), s, p, o, m)
-# define BOOST_PP_FOR_155(s, p, o, m) BOOST_PP_FOR_155_C(BOOST_PP_BOOL(p##(156, s)), s, p, o, m)
-# define BOOST_PP_FOR_156(s, p, o, m) BOOST_PP_FOR_156_C(BOOST_PP_BOOL(p##(157, s)), s, p, o, m)
-# define BOOST_PP_FOR_157(s, p, o, m) BOOST_PP_FOR_157_C(BOOST_PP_BOOL(p##(158, s)), s, p, o, m)
-# define BOOST_PP_FOR_158(s, p, o, m) BOOST_PP_FOR_158_C(BOOST_PP_BOOL(p##(159, s)), s, p, o, m)
-# define BOOST_PP_FOR_159(s, p, o, m) BOOST_PP_FOR_159_C(BOOST_PP_BOOL(p##(160, s)), s, p, o, m)
-# define BOOST_PP_FOR_160(s, p, o, m) BOOST_PP_FOR_160_C(BOOST_PP_BOOL(p##(161, s)), s, p, o, m)
-# define BOOST_PP_FOR_161(s, p, o, m) BOOST_PP_FOR_161_C(BOOST_PP_BOOL(p##(162, s)), s, p, o, m)
-# define BOOST_PP_FOR_162(s, p, o, m) BOOST_PP_FOR_162_C(BOOST_PP_BOOL(p##(163, s)), s, p, o, m)
-# define BOOST_PP_FOR_163(s, p, o, m) BOOST_PP_FOR_163_C(BOOST_PP_BOOL(p##(164, s)), s, p, o, m)
-# define BOOST_PP_FOR_164(s, p, o, m) BOOST_PP_FOR_164_C(BOOST_PP_BOOL(p##(165, s)), s, p, o, m)
-# define BOOST_PP_FOR_165(s, p, o, m) BOOST_PP_FOR_165_C(BOOST_PP_BOOL(p##(166, s)), s, p, o, m)
-# define BOOST_PP_FOR_166(s, p, o, m) BOOST_PP_FOR_166_C(BOOST_PP_BOOL(p##(167, s)), s, p, o, m)
-# define BOOST_PP_FOR_167(s, p, o, m) BOOST_PP_FOR_167_C(BOOST_PP_BOOL(p##(168, s)), s, p, o, m)
-# define BOOST_PP_FOR_168(s, p, o, m) BOOST_PP_FOR_168_C(BOOST_PP_BOOL(p##(169, s)), s, p, o, m)
-# define BOOST_PP_FOR_169(s, p, o, m) BOOST_PP_FOR_169_C(BOOST_PP_BOOL(p##(170, s)), s, p, o, m)
-# define BOOST_PP_FOR_170(s, p, o, m) BOOST_PP_FOR_170_C(BOOST_PP_BOOL(p##(171, s)), s, p, o, m)
-# define BOOST_PP_FOR_171(s, p, o, m) BOOST_PP_FOR_171_C(BOOST_PP_BOOL(p##(172, s)), s, p, o, m)
-# define BOOST_PP_FOR_172(s, p, o, m) BOOST_PP_FOR_172_C(BOOST_PP_BOOL(p##(173, s)), s, p, o, m)
-# define BOOST_PP_FOR_173(s, p, o, m) BOOST_PP_FOR_173_C(BOOST_PP_BOOL(p##(174, s)), s, p, o, m)
-# define BOOST_PP_FOR_174(s, p, o, m) BOOST_PP_FOR_174_C(BOOST_PP_BOOL(p##(175, s)), s, p, o, m)
-# define BOOST_PP_FOR_175(s, p, o, m) BOOST_PP_FOR_175_C(BOOST_PP_BOOL(p##(176, s)), s, p, o, m)
-# define BOOST_PP_FOR_176(s, p, o, m) BOOST_PP_FOR_176_C(BOOST_PP_BOOL(p##(177, s)), s, p, o, m)
-# define BOOST_PP_FOR_177(s, p, o, m) BOOST_PP_FOR_177_C(BOOST_PP_BOOL(p##(178, s)), s, p, o, m)
-# define BOOST_PP_FOR_178(s, p, o, m) BOOST_PP_FOR_178_C(BOOST_PP_BOOL(p##(179, s)), s, p, o, m)
-# define BOOST_PP_FOR_179(s, p, o, m) BOOST_PP_FOR_179_C(BOOST_PP_BOOL(p##(180, s)), s, p, o, m)
-# define BOOST_PP_FOR_180(s, p, o, m) BOOST_PP_FOR_180_C(BOOST_PP_BOOL(p##(181, s)), s, p, o, m)
-# define BOOST_PP_FOR_181(s, p, o, m) BOOST_PP_FOR_181_C(BOOST_PP_BOOL(p##(182, s)), s, p, o, m)
-# define BOOST_PP_FOR_182(s, p, o, m) BOOST_PP_FOR_182_C(BOOST_PP_BOOL(p##(183, s)), s, p, o, m)
-# define BOOST_PP_FOR_183(s, p, o, m) BOOST_PP_FOR_183_C(BOOST_PP_BOOL(p##(184, s)), s, p, o, m)
-# define BOOST_PP_FOR_184(s, p, o, m) BOOST_PP_FOR_184_C(BOOST_PP_BOOL(p##(185, s)), s, p, o, m)
-# define BOOST_PP_FOR_185(s, p, o, m) BOOST_PP_FOR_185_C(BOOST_PP_BOOL(p##(186, s)), s, p, o, m)
-# define BOOST_PP_FOR_186(s, p, o, m) BOOST_PP_FOR_186_C(BOOST_PP_BOOL(p##(187, s)), s, p, o, m)
-# define BOOST_PP_FOR_187(s, p, o, m) BOOST_PP_FOR_187_C(BOOST_PP_BOOL(p##(188, s)), s, p, o, m)
-# define BOOST_PP_FOR_188(s, p, o, m) BOOST_PP_FOR_188_C(BOOST_PP_BOOL(p##(189, s)), s, p, o, m)
-# define BOOST_PP_FOR_189(s, p, o, m) BOOST_PP_FOR_189_C(BOOST_PP_BOOL(p##(190, s)), s, p, o, m)
-# define BOOST_PP_FOR_190(s, p, o, m) BOOST_PP_FOR_190_C(BOOST_PP_BOOL(p##(191, s)), s, p, o, m)
-# define BOOST_PP_FOR_191(s, p, o, m) BOOST_PP_FOR_191_C(BOOST_PP_BOOL(p##(192, s)), s, p, o, m)
-# define BOOST_PP_FOR_192(s, p, o, m) BOOST_PP_FOR_192_C(BOOST_PP_BOOL(p##(193, s)), s, p, o, m)
-# define BOOST_PP_FOR_193(s, p, o, m) BOOST_PP_FOR_193_C(BOOST_PP_BOOL(p##(194, s)), s, p, o, m)
-# define BOOST_PP_FOR_194(s, p, o, m) BOOST_PP_FOR_194_C(BOOST_PP_BOOL(p##(195, s)), s, p, o, m)
-# define BOOST_PP_FOR_195(s, p, o, m) BOOST_PP_FOR_195_C(BOOST_PP_BOOL(p##(196, s)), s, p, o, m)
-# define BOOST_PP_FOR_196(s, p, o, m) BOOST_PP_FOR_196_C(BOOST_PP_BOOL(p##(197, s)), s, p, o, m)
-# define BOOST_PP_FOR_197(s, p, o, m) BOOST_PP_FOR_197_C(BOOST_PP_BOOL(p##(198, s)), s, p, o, m)
-# define BOOST_PP_FOR_198(s, p, o, m) BOOST_PP_FOR_198_C(BOOST_PP_BOOL(p##(199, s)), s, p, o, m)
-# define BOOST_PP_FOR_199(s, p, o, m) BOOST_PP_FOR_199_C(BOOST_PP_BOOL(p##(200, s)), s, p, o, m)
-# define BOOST_PP_FOR_200(s, p, o, m) BOOST_PP_FOR_200_C(BOOST_PP_BOOL(p##(201, s)), s, p, o, m)
-# define BOOST_PP_FOR_201(s, p, o, m) BOOST_PP_FOR_201_C(BOOST_PP_BOOL(p##(202, s)), s, p, o, m)
-# define BOOST_PP_FOR_202(s, p, o, m) BOOST_PP_FOR_202_C(BOOST_PP_BOOL(p##(203, s)), s, p, o, m)
-# define BOOST_PP_FOR_203(s, p, o, m) BOOST_PP_FOR_203_C(BOOST_PP_BOOL(p##(204, s)), s, p, o, m)
-# define BOOST_PP_FOR_204(s, p, o, m) BOOST_PP_FOR_204_C(BOOST_PP_BOOL(p##(205, s)), s, p, o, m)
-# define BOOST_PP_FOR_205(s, p, o, m) BOOST_PP_FOR_205_C(BOOST_PP_BOOL(p##(206, s)), s, p, o, m)
-# define BOOST_PP_FOR_206(s, p, o, m) BOOST_PP_FOR_206_C(BOOST_PP_BOOL(p##(207, s)), s, p, o, m)
-# define BOOST_PP_FOR_207(s, p, o, m) BOOST_PP_FOR_207_C(BOOST_PP_BOOL(p##(208, s)), s, p, o, m)
-# define BOOST_PP_FOR_208(s, p, o, m) BOOST_PP_FOR_208_C(BOOST_PP_BOOL(p##(209, s)), s, p, o, m)
-# define BOOST_PP_FOR_209(s, p, o, m) BOOST_PP_FOR_209_C(BOOST_PP_BOOL(p##(210, s)), s, p, o, m)
-# define BOOST_PP_FOR_210(s, p, o, m) BOOST_PP_FOR_210_C(BOOST_PP_BOOL(p##(211, s)), s, p, o, m)
-# define BOOST_PP_FOR_211(s, p, o, m) BOOST_PP_FOR_211_C(BOOST_PP_BOOL(p##(212, s)), s, p, o, m)
-# define BOOST_PP_FOR_212(s, p, o, m) BOOST_PP_FOR_212_C(BOOST_PP_BOOL(p##(213, s)), s, p, o, m)
-# define BOOST_PP_FOR_213(s, p, o, m) BOOST_PP_FOR_213_C(BOOST_PP_BOOL(p##(214, s)), s, p, o, m)
-# define BOOST_PP_FOR_214(s, p, o, m) BOOST_PP_FOR_214_C(BOOST_PP_BOOL(p##(215, s)), s, p, o, m)
-# define BOOST_PP_FOR_215(s, p, o, m) BOOST_PP_FOR_215_C(BOOST_PP_BOOL(p##(216, s)), s, p, o, m)
-# define BOOST_PP_FOR_216(s, p, o, m) BOOST_PP_FOR_216_C(BOOST_PP_BOOL(p##(217, s)), s, p, o, m)
-# define BOOST_PP_FOR_217(s, p, o, m) BOOST_PP_FOR_217_C(BOOST_PP_BOOL(p##(218, s)), s, p, o, m)
-# define BOOST_PP_FOR_218(s, p, o, m) BOOST_PP_FOR_218_C(BOOST_PP_BOOL(p##(219, s)), s, p, o, m)
-# define BOOST_PP_FOR_219(s, p, o, m) BOOST_PP_FOR_219_C(BOOST_PP_BOOL(p##(220, s)), s, p, o, m)
-# define BOOST_PP_FOR_220(s, p, o, m) BOOST_PP_FOR_220_C(BOOST_PP_BOOL(p##(221, s)), s, p, o, m)
-# define BOOST_PP_FOR_221(s, p, o, m) BOOST_PP_FOR_221_C(BOOST_PP_BOOL(p##(222, s)), s, p, o, m)
-# define BOOST_PP_FOR_222(s, p, o, m) BOOST_PP_FOR_222_C(BOOST_PP_BOOL(p##(223, s)), s, p, o, m)
-# define BOOST_PP_FOR_223(s, p, o, m) BOOST_PP_FOR_223_C(BOOST_PP_BOOL(p##(224, s)), s, p, o, m)
-# define BOOST_PP_FOR_224(s, p, o, m) BOOST_PP_FOR_224_C(BOOST_PP_BOOL(p##(225, s)), s, p, o, m)
-# define BOOST_PP_FOR_225(s, p, o, m) BOOST_PP_FOR_225_C(BOOST_PP_BOOL(p##(226, s)), s, p, o, m)
-# define BOOST_PP_FOR_226(s, p, o, m) BOOST_PP_FOR_226_C(BOOST_PP_BOOL(p##(227, s)), s, p, o, m)
-# define BOOST_PP_FOR_227(s, p, o, m) BOOST_PP_FOR_227_C(BOOST_PP_BOOL(p##(228, s)), s, p, o, m)
-# define BOOST_PP_FOR_228(s, p, o, m) BOOST_PP_FOR_228_C(BOOST_PP_BOOL(p##(229, s)), s, p, o, m)
-# define BOOST_PP_FOR_229(s, p, o, m) BOOST_PP_FOR_229_C(BOOST_PP_BOOL(p##(230, s)), s, p, o, m)
-# define BOOST_PP_FOR_230(s, p, o, m) BOOST_PP_FOR_230_C(BOOST_PP_BOOL(p##(231, s)), s, p, o, m)
-# define BOOST_PP_FOR_231(s, p, o, m) BOOST_PP_FOR_231_C(BOOST_PP_BOOL(p##(232, s)), s, p, o, m)
-# define BOOST_PP_FOR_232(s, p, o, m) BOOST_PP_FOR_232_C(BOOST_PP_BOOL(p##(233, s)), s, p, o, m)
-# define BOOST_PP_FOR_233(s, p, o, m) BOOST_PP_FOR_233_C(BOOST_PP_BOOL(p##(234, s)), s, p, o, m)
-# define BOOST_PP_FOR_234(s, p, o, m) BOOST_PP_FOR_234_C(BOOST_PP_BOOL(p##(235, s)), s, p, o, m)
-# define BOOST_PP_FOR_235(s, p, o, m) BOOST_PP_FOR_235_C(BOOST_PP_BOOL(p##(236, s)), s, p, o, m)
-# define BOOST_PP_FOR_236(s, p, o, m) BOOST_PP_FOR_236_C(BOOST_PP_BOOL(p##(237, s)), s, p, o, m)
-# define BOOST_PP_FOR_237(s, p, o, m) BOOST_PP_FOR_237_C(BOOST_PP_BOOL(p##(238, s)), s, p, o, m)
-# define BOOST_PP_FOR_238(s, p, o, m) BOOST_PP_FOR_238_C(BOOST_PP_BOOL(p##(239, s)), s, p, o, m)
-# define BOOST_PP_FOR_239(s, p, o, m) BOOST_PP_FOR_239_C(BOOST_PP_BOOL(p##(240, s)), s, p, o, m)
-# define BOOST_PP_FOR_240(s, p, o, m) BOOST_PP_FOR_240_C(BOOST_PP_BOOL(p##(241, s)), s, p, o, m)
-# define BOOST_PP_FOR_241(s, p, o, m) BOOST_PP_FOR_241_C(BOOST_PP_BOOL(p##(242, s)), s, p, o, m)
-# define BOOST_PP_FOR_242(s, p, o, m) BOOST_PP_FOR_242_C(BOOST_PP_BOOL(p##(243, s)), s, p, o, m)
-# define BOOST_PP_FOR_243(s, p, o, m) BOOST_PP_FOR_243_C(BOOST_PP_BOOL(p##(244, s)), s, p, o, m)
-# define BOOST_PP_FOR_244(s, p, o, m) BOOST_PP_FOR_244_C(BOOST_PP_BOOL(p##(245, s)), s, p, o, m)
-# define BOOST_PP_FOR_245(s, p, o, m) BOOST_PP_FOR_245_C(BOOST_PP_BOOL(p##(246, s)), s, p, o, m)
-# define BOOST_PP_FOR_246(s, p, o, m) BOOST_PP_FOR_246_C(BOOST_PP_BOOL(p##(247, s)), s, p, o, m)
-# define BOOST_PP_FOR_247(s, p, o, m) BOOST_PP_FOR_247_C(BOOST_PP_BOOL(p##(248, s)), s, p, o, m)
-# define BOOST_PP_FOR_248(s, p, o, m) BOOST_PP_FOR_248_C(BOOST_PP_BOOL(p##(249, s)), s, p, o, m)
-# define BOOST_PP_FOR_249(s, p, o, m) BOOST_PP_FOR_249_C(BOOST_PP_BOOL(p##(250, s)), s, p, o, m)
-# define BOOST_PP_FOR_250(s, p, o, m) BOOST_PP_FOR_250_C(BOOST_PP_BOOL(p##(251, s)), s, p, o, m)
-# define BOOST_PP_FOR_251(s, p, o, m) BOOST_PP_FOR_251_C(BOOST_PP_BOOL(p##(252, s)), s, p, o, m)
-# define BOOST_PP_FOR_252(s, p, o, m) BOOST_PP_FOR_252_C(BOOST_PP_BOOL(p##(253, s)), s, p, o, m)
-# define BOOST_PP_FOR_253(s, p, o, m) BOOST_PP_FOR_253_C(BOOST_PP_BOOL(p##(254, s)), s, p, o, m)
-# define BOOST_PP_FOR_254(s, p, o, m) BOOST_PP_FOR_254_C(BOOST_PP_BOOL(p##(255, s)), s, p, o, m)
-# define BOOST_PP_FOR_255(s, p, o, m) BOOST_PP_FOR_255_C(BOOST_PP_BOOL(p##(256, s)), s, p, o, m)
-# define BOOST_PP_FOR_256(s, p, o, m) BOOST_PP_FOR_256_C(BOOST_PP_BOOL(p##(257, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_1(s, p, o, m) NDNBOOST_PP_FOR_1_C(NDNBOOST_PP_BOOL(p##(2, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_2(s, p, o, m) NDNBOOST_PP_FOR_2_C(NDNBOOST_PP_BOOL(p##(3, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_3(s, p, o, m) NDNBOOST_PP_FOR_3_C(NDNBOOST_PP_BOOL(p##(4, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_4(s, p, o, m) NDNBOOST_PP_FOR_4_C(NDNBOOST_PP_BOOL(p##(5, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_5(s, p, o, m) NDNBOOST_PP_FOR_5_C(NDNBOOST_PP_BOOL(p##(6, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_6(s, p, o, m) NDNBOOST_PP_FOR_6_C(NDNBOOST_PP_BOOL(p##(7, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_7(s, p, o, m) NDNBOOST_PP_FOR_7_C(NDNBOOST_PP_BOOL(p##(8, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_8(s, p, o, m) NDNBOOST_PP_FOR_8_C(NDNBOOST_PP_BOOL(p##(9, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_9(s, p, o, m) NDNBOOST_PP_FOR_9_C(NDNBOOST_PP_BOOL(p##(10, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_10(s, p, o, m) NDNBOOST_PP_FOR_10_C(NDNBOOST_PP_BOOL(p##(11, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_11(s, p, o, m) NDNBOOST_PP_FOR_11_C(NDNBOOST_PP_BOOL(p##(12, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_12(s, p, o, m) NDNBOOST_PP_FOR_12_C(NDNBOOST_PP_BOOL(p##(13, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_13(s, p, o, m) NDNBOOST_PP_FOR_13_C(NDNBOOST_PP_BOOL(p##(14, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_14(s, p, o, m) NDNBOOST_PP_FOR_14_C(NDNBOOST_PP_BOOL(p##(15, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_15(s, p, o, m) NDNBOOST_PP_FOR_15_C(NDNBOOST_PP_BOOL(p##(16, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_16(s, p, o, m) NDNBOOST_PP_FOR_16_C(NDNBOOST_PP_BOOL(p##(17, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_17(s, p, o, m) NDNBOOST_PP_FOR_17_C(NDNBOOST_PP_BOOL(p##(18, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_18(s, p, o, m) NDNBOOST_PP_FOR_18_C(NDNBOOST_PP_BOOL(p##(19, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_19(s, p, o, m) NDNBOOST_PP_FOR_19_C(NDNBOOST_PP_BOOL(p##(20, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_20(s, p, o, m) NDNBOOST_PP_FOR_20_C(NDNBOOST_PP_BOOL(p##(21, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_21(s, p, o, m) NDNBOOST_PP_FOR_21_C(NDNBOOST_PP_BOOL(p##(22, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_22(s, p, o, m) NDNBOOST_PP_FOR_22_C(NDNBOOST_PP_BOOL(p##(23, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_23(s, p, o, m) NDNBOOST_PP_FOR_23_C(NDNBOOST_PP_BOOL(p##(24, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_24(s, p, o, m) NDNBOOST_PP_FOR_24_C(NDNBOOST_PP_BOOL(p##(25, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_25(s, p, o, m) NDNBOOST_PP_FOR_25_C(NDNBOOST_PP_BOOL(p##(26, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_26(s, p, o, m) NDNBOOST_PP_FOR_26_C(NDNBOOST_PP_BOOL(p##(27, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_27(s, p, o, m) NDNBOOST_PP_FOR_27_C(NDNBOOST_PP_BOOL(p##(28, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_28(s, p, o, m) NDNBOOST_PP_FOR_28_C(NDNBOOST_PP_BOOL(p##(29, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_29(s, p, o, m) NDNBOOST_PP_FOR_29_C(NDNBOOST_PP_BOOL(p##(30, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_30(s, p, o, m) NDNBOOST_PP_FOR_30_C(NDNBOOST_PP_BOOL(p##(31, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_31(s, p, o, m) NDNBOOST_PP_FOR_31_C(NDNBOOST_PP_BOOL(p##(32, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_32(s, p, o, m) NDNBOOST_PP_FOR_32_C(NDNBOOST_PP_BOOL(p##(33, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_33(s, p, o, m) NDNBOOST_PP_FOR_33_C(NDNBOOST_PP_BOOL(p##(34, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_34(s, p, o, m) NDNBOOST_PP_FOR_34_C(NDNBOOST_PP_BOOL(p##(35, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_35(s, p, o, m) NDNBOOST_PP_FOR_35_C(NDNBOOST_PP_BOOL(p##(36, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_36(s, p, o, m) NDNBOOST_PP_FOR_36_C(NDNBOOST_PP_BOOL(p##(37, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_37(s, p, o, m) NDNBOOST_PP_FOR_37_C(NDNBOOST_PP_BOOL(p##(38, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_38(s, p, o, m) NDNBOOST_PP_FOR_38_C(NDNBOOST_PP_BOOL(p##(39, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_39(s, p, o, m) NDNBOOST_PP_FOR_39_C(NDNBOOST_PP_BOOL(p##(40, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_40(s, p, o, m) NDNBOOST_PP_FOR_40_C(NDNBOOST_PP_BOOL(p##(41, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_41(s, p, o, m) NDNBOOST_PP_FOR_41_C(NDNBOOST_PP_BOOL(p##(42, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_42(s, p, o, m) NDNBOOST_PP_FOR_42_C(NDNBOOST_PP_BOOL(p##(43, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_43(s, p, o, m) NDNBOOST_PP_FOR_43_C(NDNBOOST_PP_BOOL(p##(44, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_44(s, p, o, m) NDNBOOST_PP_FOR_44_C(NDNBOOST_PP_BOOL(p##(45, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_45(s, p, o, m) NDNBOOST_PP_FOR_45_C(NDNBOOST_PP_BOOL(p##(46, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_46(s, p, o, m) NDNBOOST_PP_FOR_46_C(NDNBOOST_PP_BOOL(p##(47, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_47(s, p, o, m) NDNBOOST_PP_FOR_47_C(NDNBOOST_PP_BOOL(p##(48, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_48(s, p, o, m) NDNBOOST_PP_FOR_48_C(NDNBOOST_PP_BOOL(p##(49, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_49(s, p, o, m) NDNBOOST_PP_FOR_49_C(NDNBOOST_PP_BOOL(p##(50, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_50(s, p, o, m) NDNBOOST_PP_FOR_50_C(NDNBOOST_PP_BOOL(p##(51, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_51(s, p, o, m) NDNBOOST_PP_FOR_51_C(NDNBOOST_PP_BOOL(p##(52, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_52(s, p, o, m) NDNBOOST_PP_FOR_52_C(NDNBOOST_PP_BOOL(p##(53, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_53(s, p, o, m) NDNBOOST_PP_FOR_53_C(NDNBOOST_PP_BOOL(p##(54, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_54(s, p, o, m) NDNBOOST_PP_FOR_54_C(NDNBOOST_PP_BOOL(p##(55, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_55(s, p, o, m) NDNBOOST_PP_FOR_55_C(NDNBOOST_PP_BOOL(p##(56, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_56(s, p, o, m) NDNBOOST_PP_FOR_56_C(NDNBOOST_PP_BOOL(p##(57, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_57(s, p, o, m) NDNBOOST_PP_FOR_57_C(NDNBOOST_PP_BOOL(p##(58, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_58(s, p, o, m) NDNBOOST_PP_FOR_58_C(NDNBOOST_PP_BOOL(p##(59, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_59(s, p, o, m) NDNBOOST_PP_FOR_59_C(NDNBOOST_PP_BOOL(p##(60, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_60(s, p, o, m) NDNBOOST_PP_FOR_60_C(NDNBOOST_PP_BOOL(p##(61, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_61(s, p, o, m) NDNBOOST_PP_FOR_61_C(NDNBOOST_PP_BOOL(p##(62, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_62(s, p, o, m) NDNBOOST_PP_FOR_62_C(NDNBOOST_PP_BOOL(p##(63, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_63(s, p, o, m) NDNBOOST_PP_FOR_63_C(NDNBOOST_PP_BOOL(p##(64, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_64(s, p, o, m) NDNBOOST_PP_FOR_64_C(NDNBOOST_PP_BOOL(p##(65, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_65(s, p, o, m) NDNBOOST_PP_FOR_65_C(NDNBOOST_PP_BOOL(p##(66, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_66(s, p, o, m) NDNBOOST_PP_FOR_66_C(NDNBOOST_PP_BOOL(p##(67, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_67(s, p, o, m) NDNBOOST_PP_FOR_67_C(NDNBOOST_PP_BOOL(p##(68, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_68(s, p, o, m) NDNBOOST_PP_FOR_68_C(NDNBOOST_PP_BOOL(p##(69, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_69(s, p, o, m) NDNBOOST_PP_FOR_69_C(NDNBOOST_PP_BOOL(p##(70, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_70(s, p, o, m) NDNBOOST_PP_FOR_70_C(NDNBOOST_PP_BOOL(p##(71, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_71(s, p, o, m) NDNBOOST_PP_FOR_71_C(NDNBOOST_PP_BOOL(p##(72, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_72(s, p, o, m) NDNBOOST_PP_FOR_72_C(NDNBOOST_PP_BOOL(p##(73, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_73(s, p, o, m) NDNBOOST_PP_FOR_73_C(NDNBOOST_PP_BOOL(p##(74, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_74(s, p, o, m) NDNBOOST_PP_FOR_74_C(NDNBOOST_PP_BOOL(p##(75, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_75(s, p, o, m) NDNBOOST_PP_FOR_75_C(NDNBOOST_PP_BOOL(p##(76, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_76(s, p, o, m) NDNBOOST_PP_FOR_76_C(NDNBOOST_PP_BOOL(p##(77, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_77(s, p, o, m) NDNBOOST_PP_FOR_77_C(NDNBOOST_PP_BOOL(p##(78, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_78(s, p, o, m) NDNBOOST_PP_FOR_78_C(NDNBOOST_PP_BOOL(p##(79, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_79(s, p, o, m) NDNBOOST_PP_FOR_79_C(NDNBOOST_PP_BOOL(p##(80, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_80(s, p, o, m) NDNBOOST_PP_FOR_80_C(NDNBOOST_PP_BOOL(p##(81, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_81(s, p, o, m) NDNBOOST_PP_FOR_81_C(NDNBOOST_PP_BOOL(p##(82, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_82(s, p, o, m) NDNBOOST_PP_FOR_82_C(NDNBOOST_PP_BOOL(p##(83, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_83(s, p, o, m) NDNBOOST_PP_FOR_83_C(NDNBOOST_PP_BOOL(p##(84, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_84(s, p, o, m) NDNBOOST_PP_FOR_84_C(NDNBOOST_PP_BOOL(p##(85, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_85(s, p, o, m) NDNBOOST_PP_FOR_85_C(NDNBOOST_PP_BOOL(p##(86, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_86(s, p, o, m) NDNBOOST_PP_FOR_86_C(NDNBOOST_PP_BOOL(p##(87, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_87(s, p, o, m) NDNBOOST_PP_FOR_87_C(NDNBOOST_PP_BOOL(p##(88, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_88(s, p, o, m) NDNBOOST_PP_FOR_88_C(NDNBOOST_PP_BOOL(p##(89, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_89(s, p, o, m) NDNBOOST_PP_FOR_89_C(NDNBOOST_PP_BOOL(p##(90, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_90(s, p, o, m) NDNBOOST_PP_FOR_90_C(NDNBOOST_PP_BOOL(p##(91, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_91(s, p, o, m) NDNBOOST_PP_FOR_91_C(NDNBOOST_PP_BOOL(p##(92, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_92(s, p, o, m) NDNBOOST_PP_FOR_92_C(NDNBOOST_PP_BOOL(p##(93, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_93(s, p, o, m) NDNBOOST_PP_FOR_93_C(NDNBOOST_PP_BOOL(p##(94, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_94(s, p, o, m) NDNBOOST_PP_FOR_94_C(NDNBOOST_PP_BOOL(p##(95, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_95(s, p, o, m) NDNBOOST_PP_FOR_95_C(NDNBOOST_PP_BOOL(p##(96, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_96(s, p, o, m) NDNBOOST_PP_FOR_96_C(NDNBOOST_PP_BOOL(p##(97, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_97(s, p, o, m) NDNBOOST_PP_FOR_97_C(NDNBOOST_PP_BOOL(p##(98, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_98(s, p, o, m) NDNBOOST_PP_FOR_98_C(NDNBOOST_PP_BOOL(p##(99, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_99(s, p, o, m) NDNBOOST_PP_FOR_99_C(NDNBOOST_PP_BOOL(p##(100, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_100(s, p, o, m) NDNBOOST_PP_FOR_100_C(NDNBOOST_PP_BOOL(p##(101, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_101(s, p, o, m) NDNBOOST_PP_FOR_101_C(NDNBOOST_PP_BOOL(p##(102, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_102(s, p, o, m) NDNBOOST_PP_FOR_102_C(NDNBOOST_PP_BOOL(p##(103, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_103(s, p, o, m) NDNBOOST_PP_FOR_103_C(NDNBOOST_PP_BOOL(p##(104, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_104(s, p, o, m) NDNBOOST_PP_FOR_104_C(NDNBOOST_PP_BOOL(p##(105, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_105(s, p, o, m) NDNBOOST_PP_FOR_105_C(NDNBOOST_PP_BOOL(p##(106, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_106(s, p, o, m) NDNBOOST_PP_FOR_106_C(NDNBOOST_PP_BOOL(p##(107, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_107(s, p, o, m) NDNBOOST_PP_FOR_107_C(NDNBOOST_PP_BOOL(p##(108, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_108(s, p, o, m) NDNBOOST_PP_FOR_108_C(NDNBOOST_PP_BOOL(p##(109, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_109(s, p, o, m) NDNBOOST_PP_FOR_109_C(NDNBOOST_PP_BOOL(p##(110, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_110(s, p, o, m) NDNBOOST_PP_FOR_110_C(NDNBOOST_PP_BOOL(p##(111, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_111(s, p, o, m) NDNBOOST_PP_FOR_111_C(NDNBOOST_PP_BOOL(p##(112, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_112(s, p, o, m) NDNBOOST_PP_FOR_112_C(NDNBOOST_PP_BOOL(p##(113, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_113(s, p, o, m) NDNBOOST_PP_FOR_113_C(NDNBOOST_PP_BOOL(p##(114, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_114(s, p, o, m) NDNBOOST_PP_FOR_114_C(NDNBOOST_PP_BOOL(p##(115, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_115(s, p, o, m) NDNBOOST_PP_FOR_115_C(NDNBOOST_PP_BOOL(p##(116, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_116(s, p, o, m) NDNBOOST_PP_FOR_116_C(NDNBOOST_PP_BOOL(p##(117, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_117(s, p, o, m) NDNBOOST_PP_FOR_117_C(NDNBOOST_PP_BOOL(p##(118, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_118(s, p, o, m) NDNBOOST_PP_FOR_118_C(NDNBOOST_PP_BOOL(p##(119, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_119(s, p, o, m) NDNBOOST_PP_FOR_119_C(NDNBOOST_PP_BOOL(p##(120, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_120(s, p, o, m) NDNBOOST_PP_FOR_120_C(NDNBOOST_PP_BOOL(p##(121, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_121(s, p, o, m) NDNBOOST_PP_FOR_121_C(NDNBOOST_PP_BOOL(p##(122, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_122(s, p, o, m) NDNBOOST_PP_FOR_122_C(NDNBOOST_PP_BOOL(p##(123, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_123(s, p, o, m) NDNBOOST_PP_FOR_123_C(NDNBOOST_PP_BOOL(p##(124, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_124(s, p, o, m) NDNBOOST_PP_FOR_124_C(NDNBOOST_PP_BOOL(p##(125, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_125(s, p, o, m) NDNBOOST_PP_FOR_125_C(NDNBOOST_PP_BOOL(p##(126, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_126(s, p, o, m) NDNBOOST_PP_FOR_126_C(NDNBOOST_PP_BOOL(p##(127, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_127(s, p, o, m) NDNBOOST_PP_FOR_127_C(NDNBOOST_PP_BOOL(p##(128, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_128(s, p, o, m) NDNBOOST_PP_FOR_128_C(NDNBOOST_PP_BOOL(p##(129, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_129(s, p, o, m) NDNBOOST_PP_FOR_129_C(NDNBOOST_PP_BOOL(p##(130, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_130(s, p, o, m) NDNBOOST_PP_FOR_130_C(NDNBOOST_PP_BOOL(p##(131, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_131(s, p, o, m) NDNBOOST_PP_FOR_131_C(NDNBOOST_PP_BOOL(p##(132, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_132(s, p, o, m) NDNBOOST_PP_FOR_132_C(NDNBOOST_PP_BOOL(p##(133, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_133(s, p, o, m) NDNBOOST_PP_FOR_133_C(NDNBOOST_PP_BOOL(p##(134, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_134(s, p, o, m) NDNBOOST_PP_FOR_134_C(NDNBOOST_PP_BOOL(p##(135, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_135(s, p, o, m) NDNBOOST_PP_FOR_135_C(NDNBOOST_PP_BOOL(p##(136, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_136(s, p, o, m) NDNBOOST_PP_FOR_136_C(NDNBOOST_PP_BOOL(p##(137, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_137(s, p, o, m) NDNBOOST_PP_FOR_137_C(NDNBOOST_PP_BOOL(p##(138, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_138(s, p, o, m) NDNBOOST_PP_FOR_138_C(NDNBOOST_PP_BOOL(p##(139, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_139(s, p, o, m) NDNBOOST_PP_FOR_139_C(NDNBOOST_PP_BOOL(p##(140, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_140(s, p, o, m) NDNBOOST_PP_FOR_140_C(NDNBOOST_PP_BOOL(p##(141, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_141(s, p, o, m) NDNBOOST_PP_FOR_141_C(NDNBOOST_PP_BOOL(p##(142, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_142(s, p, o, m) NDNBOOST_PP_FOR_142_C(NDNBOOST_PP_BOOL(p##(143, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_143(s, p, o, m) NDNBOOST_PP_FOR_143_C(NDNBOOST_PP_BOOL(p##(144, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_144(s, p, o, m) NDNBOOST_PP_FOR_144_C(NDNBOOST_PP_BOOL(p##(145, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_145(s, p, o, m) NDNBOOST_PP_FOR_145_C(NDNBOOST_PP_BOOL(p##(146, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_146(s, p, o, m) NDNBOOST_PP_FOR_146_C(NDNBOOST_PP_BOOL(p##(147, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_147(s, p, o, m) NDNBOOST_PP_FOR_147_C(NDNBOOST_PP_BOOL(p##(148, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_148(s, p, o, m) NDNBOOST_PP_FOR_148_C(NDNBOOST_PP_BOOL(p##(149, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_149(s, p, o, m) NDNBOOST_PP_FOR_149_C(NDNBOOST_PP_BOOL(p##(150, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_150(s, p, o, m) NDNBOOST_PP_FOR_150_C(NDNBOOST_PP_BOOL(p##(151, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_151(s, p, o, m) NDNBOOST_PP_FOR_151_C(NDNBOOST_PP_BOOL(p##(152, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_152(s, p, o, m) NDNBOOST_PP_FOR_152_C(NDNBOOST_PP_BOOL(p##(153, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_153(s, p, o, m) NDNBOOST_PP_FOR_153_C(NDNBOOST_PP_BOOL(p##(154, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_154(s, p, o, m) NDNBOOST_PP_FOR_154_C(NDNBOOST_PP_BOOL(p##(155, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_155(s, p, o, m) NDNBOOST_PP_FOR_155_C(NDNBOOST_PP_BOOL(p##(156, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_156(s, p, o, m) NDNBOOST_PP_FOR_156_C(NDNBOOST_PP_BOOL(p##(157, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_157(s, p, o, m) NDNBOOST_PP_FOR_157_C(NDNBOOST_PP_BOOL(p##(158, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_158(s, p, o, m) NDNBOOST_PP_FOR_158_C(NDNBOOST_PP_BOOL(p##(159, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_159(s, p, o, m) NDNBOOST_PP_FOR_159_C(NDNBOOST_PP_BOOL(p##(160, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_160(s, p, o, m) NDNBOOST_PP_FOR_160_C(NDNBOOST_PP_BOOL(p##(161, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_161(s, p, o, m) NDNBOOST_PP_FOR_161_C(NDNBOOST_PP_BOOL(p##(162, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_162(s, p, o, m) NDNBOOST_PP_FOR_162_C(NDNBOOST_PP_BOOL(p##(163, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_163(s, p, o, m) NDNBOOST_PP_FOR_163_C(NDNBOOST_PP_BOOL(p##(164, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_164(s, p, o, m) NDNBOOST_PP_FOR_164_C(NDNBOOST_PP_BOOL(p##(165, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_165(s, p, o, m) NDNBOOST_PP_FOR_165_C(NDNBOOST_PP_BOOL(p##(166, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_166(s, p, o, m) NDNBOOST_PP_FOR_166_C(NDNBOOST_PP_BOOL(p##(167, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_167(s, p, o, m) NDNBOOST_PP_FOR_167_C(NDNBOOST_PP_BOOL(p##(168, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_168(s, p, o, m) NDNBOOST_PP_FOR_168_C(NDNBOOST_PP_BOOL(p##(169, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_169(s, p, o, m) NDNBOOST_PP_FOR_169_C(NDNBOOST_PP_BOOL(p##(170, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_170(s, p, o, m) NDNBOOST_PP_FOR_170_C(NDNBOOST_PP_BOOL(p##(171, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_171(s, p, o, m) NDNBOOST_PP_FOR_171_C(NDNBOOST_PP_BOOL(p##(172, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_172(s, p, o, m) NDNBOOST_PP_FOR_172_C(NDNBOOST_PP_BOOL(p##(173, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_173(s, p, o, m) NDNBOOST_PP_FOR_173_C(NDNBOOST_PP_BOOL(p##(174, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_174(s, p, o, m) NDNBOOST_PP_FOR_174_C(NDNBOOST_PP_BOOL(p##(175, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_175(s, p, o, m) NDNBOOST_PP_FOR_175_C(NDNBOOST_PP_BOOL(p##(176, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_176(s, p, o, m) NDNBOOST_PP_FOR_176_C(NDNBOOST_PP_BOOL(p##(177, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_177(s, p, o, m) NDNBOOST_PP_FOR_177_C(NDNBOOST_PP_BOOL(p##(178, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_178(s, p, o, m) NDNBOOST_PP_FOR_178_C(NDNBOOST_PP_BOOL(p##(179, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_179(s, p, o, m) NDNBOOST_PP_FOR_179_C(NDNBOOST_PP_BOOL(p##(180, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_180(s, p, o, m) NDNBOOST_PP_FOR_180_C(NDNBOOST_PP_BOOL(p##(181, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_181(s, p, o, m) NDNBOOST_PP_FOR_181_C(NDNBOOST_PP_BOOL(p##(182, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_182(s, p, o, m) NDNBOOST_PP_FOR_182_C(NDNBOOST_PP_BOOL(p##(183, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_183(s, p, o, m) NDNBOOST_PP_FOR_183_C(NDNBOOST_PP_BOOL(p##(184, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_184(s, p, o, m) NDNBOOST_PP_FOR_184_C(NDNBOOST_PP_BOOL(p##(185, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_185(s, p, o, m) NDNBOOST_PP_FOR_185_C(NDNBOOST_PP_BOOL(p##(186, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_186(s, p, o, m) NDNBOOST_PP_FOR_186_C(NDNBOOST_PP_BOOL(p##(187, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_187(s, p, o, m) NDNBOOST_PP_FOR_187_C(NDNBOOST_PP_BOOL(p##(188, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_188(s, p, o, m) NDNBOOST_PP_FOR_188_C(NDNBOOST_PP_BOOL(p##(189, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_189(s, p, o, m) NDNBOOST_PP_FOR_189_C(NDNBOOST_PP_BOOL(p##(190, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_190(s, p, o, m) NDNBOOST_PP_FOR_190_C(NDNBOOST_PP_BOOL(p##(191, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_191(s, p, o, m) NDNBOOST_PP_FOR_191_C(NDNBOOST_PP_BOOL(p##(192, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_192(s, p, o, m) NDNBOOST_PP_FOR_192_C(NDNBOOST_PP_BOOL(p##(193, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_193(s, p, o, m) NDNBOOST_PP_FOR_193_C(NDNBOOST_PP_BOOL(p##(194, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_194(s, p, o, m) NDNBOOST_PP_FOR_194_C(NDNBOOST_PP_BOOL(p##(195, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_195(s, p, o, m) NDNBOOST_PP_FOR_195_C(NDNBOOST_PP_BOOL(p##(196, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_196(s, p, o, m) NDNBOOST_PP_FOR_196_C(NDNBOOST_PP_BOOL(p##(197, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_197(s, p, o, m) NDNBOOST_PP_FOR_197_C(NDNBOOST_PP_BOOL(p##(198, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_198(s, p, o, m) NDNBOOST_PP_FOR_198_C(NDNBOOST_PP_BOOL(p##(199, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_199(s, p, o, m) NDNBOOST_PP_FOR_199_C(NDNBOOST_PP_BOOL(p##(200, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_200(s, p, o, m) NDNBOOST_PP_FOR_200_C(NDNBOOST_PP_BOOL(p##(201, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_201(s, p, o, m) NDNBOOST_PP_FOR_201_C(NDNBOOST_PP_BOOL(p##(202, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_202(s, p, o, m) NDNBOOST_PP_FOR_202_C(NDNBOOST_PP_BOOL(p##(203, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_203(s, p, o, m) NDNBOOST_PP_FOR_203_C(NDNBOOST_PP_BOOL(p##(204, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_204(s, p, o, m) NDNBOOST_PP_FOR_204_C(NDNBOOST_PP_BOOL(p##(205, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_205(s, p, o, m) NDNBOOST_PP_FOR_205_C(NDNBOOST_PP_BOOL(p##(206, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_206(s, p, o, m) NDNBOOST_PP_FOR_206_C(NDNBOOST_PP_BOOL(p##(207, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_207(s, p, o, m) NDNBOOST_PP_FOR_207_C(NDNBOOST_PP_BOOL(p##(208, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_208(s, p, o, m) NDNBOOST_PP_FOR_208_C(NDNBOOST_PP_BOOL(p##(209, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_209(s, p, o, m) NDNBOOST_PP_FOR_209_C(NDNBOOST_PP_BOOL(p##(210, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_210(s, p, o, m) NDNBOOST_PP_FOR_210_C(NDNBOOST_PP_BOOL(p##(211, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_211(s, p, o, m) NDNBOOST_PP_FOR_211_C(NDNBOOST_PP_BOOL(p##(212, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_212(s, p, o, m) NDNBOOST_PP_FOR_212_C(NDNBOOST_PP_BOOL(p##(213, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_213(s, p, o, m) NDNBOOST_PP_FOR_213_C(NDNBOOST_PP_BOOL(p##(214, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_214(s, p, o, m) NDNBOOST_PP_FOR_214_C(NDNBOOST_PP_BOOL(p##(215, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_215(s, p, o, m) NDNBOOST_PP_FOR_215_C(NDNBOOST_PP_BOOL(p##(216, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_216(s, p, o, m) NDNBOOST_PP_FOR_216_C(NDNBOOST_PP_BOOL(p##(217, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_217(s, p, o, m) NDNBOOST_PP_FOR_217_C(NDNBOOST_PP_BOOL(p##(218, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_218(s, p, o, m) NDNBOOST_PP_FOR_218_C(NDNBOOST_PP_BOOL(p##(219, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_219(s, p, o, m) NDNBOOST_PP_FOR_219_C(NDNBOOST_PP_BOOL(p##(220, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_220(s, p, o, m) NDNBOOST_PP_FOR_220_C(NDNBOOST_PP_BOOL(p##(221, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_221(s, p, o, m) NDNBOOST_PP_FOR_221_C(NDNBOOST_PP_BOOL(p##(222, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_222(s, p, o, m) NDNBOOST_PP_FOR_222_C(NDNBOOST_PP_BOOL(p##(223, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_223(s, p, o, m) NDNBOOST_PP_FOR_223_C(NDNBOOST_PP_BOOL(p##(224, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_224(s, p, o, m) NDNBOOST_PP_FOR_224_C(NDNBOOST_PP_BOOL(p##(225, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_225(s, p, o, m) NDNBOOST_PP_FOR_225_C(NDNBOOST_PP_BOOL(p##(226, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_226(s, p, o, m) NDNBOOST_PP_FOR_226_C(NDNBOOST_PP_BOOL(p##(227, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_227(s, p, o, m) NDNBOOST_PP_FOR_227_C(NDNBOOST_PP_BOOL(p##(228, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_228(s, p, o, m) NDNBOOST_PP_FOR_228_C(NDNBOOST_PP_BOOL(p##(229, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_229(s, p, o, m) NDNBOOST_PP_FOR_229_C(NDNBOOST_PP_BOOL(p##(230, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_230(s, p, o, m) NDNBOOST_PP_FOR_230_C(NDNBOOST_PP_BOOL(p##(231, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_231(s, p, o, m) NDNBOOST_PP_FOR_231_C(NDNBOOST_PP_BOOL(p##(232, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_232(s, p, o, m) NDNBOOST_PP_FOR_232_C(NDNBOOST_PP_BOOL(p##(233, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_233(s, p, o, m) NDNBOOST_PP_FOR_233_C(NDNBOOST_PP_BOOL(p##(234, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_234(s, p, o, m) NDNBOOST_PP_FOR_234_C(NDNBOOST_PP_BOOL(p##(235, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_235(s, p, o, m) NDNBOOST_PP_FOR_235_C(NDNBOOST_PP_BOOL(p##(236, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_236(s, p, o, m) NDNBOOST_PP_FOR_236_C(NDNBOOST_PP_BOOL(p##(237, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_237(s, p, o, m) NDNBOOST_PP_FOR_237_C(NDNBOOST_PP_BOOL(p##(238, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_238(s, p, o, m) NDNBOOST_PP_FOR_238_C(NDNBOOST_PP_BOOL(p##(239, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_239(s, p, o, m) NDNBOOST_PP_FOR_239_C(NDNBOOST_PP_BOOL(p##(240, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_240(s, p, o, m) NDNBOOST_PP_FOR_240_C(NDNBOOST_PP_BOOL(p##(241, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_241(s, p, o, m) NDNBOOST_PP_FOR_241_C(NDNBOOST_PP_BOOL(p##(242, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_242(s, p, o, m) NDNBOOST_PP_FOR_242_C(NDNBOOST_PP_BOOL(p##(243, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_243(s, p, o, m) NDNBOOST_PP_FOR_243_C(NDNBOOST_PP_BOOL(p##(244, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_244(s, p, o, m) NDNBOOST_PP_FOR_244_C(NDNBOOST_PP_BOOL(p##(245, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_245(s, p, o, m) NDNBOOST_PP_FOR_245_C(NDNBOOST_PP_BOOL(p##(246, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_246(s, p, o, m) NDNBOOST_PP_FOR_246_C(NDNBOOST_PP_BOOL(p##(247, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_247(s, p, o, m) NDNBOOST_PP_FOR_247_C(NDNBOOST_PP_BOOL(p##(248, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_248(s, p, o, m) NDNBOOST_PP_FOR_248_C(NDNBOOST_PP_BOOL(p##(249, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_249(s, p, o, m) NDNBOOST_PP_FOR_249_C(NDNBOOST_PP_BOOL(p##(250, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_250(s, p, o, m) NDNBOOST_PP_FOR_250_C(NDNBOOST_PP_BOOL(p##(251, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_251(s, p, o, m) NDNBOOST_PP_FOR_251_C(NDNBOOST_PP_BOOL(p##(252, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_252(s, p, o, m) NDNBOOST_PP_FOR_252_C(NDNBOOST_PP_BOOL(p##(253, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_253(s, p, o, m) NDNBOOST_PP_FOR_253_C(NDNBOOST_PP_BOOL(p##(254, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_254(s, p, o, m) NDNBOOST_PP_FOR_254_C(NDNBOOST_PP_BOOL(p##(255, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_255(s, p, o, m) NDNBOOST_PP_FOR_255_C(NDNBOOST_PP_BOOL(p##(256, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_256(s, p, o, m) NDNBOOST_PP_FOR_256_C(NDNBOOST_PP_BOOL(p##(257, s)), s, p, o, m)
 #
-# define BOOST_PP_FOR_1_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(2, s) BOOST_PP_IIF(c, BOOST_PP_FOR_2, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(2, s), p, o, m)
-# define BOOST_PP_FOR_2_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(3, s) BOOST_PP_IIF(c, BOOST_PP_FOR_3, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(3, s), p, o, m)
-# define BOOST_PP_FOR_3_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(4, s) BOOST_PP_IIF(c, BOOST_PP_FOR_4, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(4, s), p, o, m)
-# define BOOST_PP_FOR_4_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(5, s) BOOST_PP_IIF(c, BOOST_PP_FOR_5, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(5, s), p, o, m)
-# define BOOST_PP_FOR_5_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(6, s) BOOST_PP_IIF(c, BOOST_PP_FOR_6, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(6, s), p, o, m)
-# define BOOST_PP_FOR_6_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(7, s) BOOST_PP_IIF(c, BOOST_PP_FOR_7, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(7, s), p, o, m)
-# define BOOST_PP_FOR_7_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(8, s) BOOST_PP_IIF(c, BOOST_PP_FOR_8, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(8, s), p, o, m)
-# define BOOST_PP_FOR_8_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(9, s) BOOST_PP_IIF(c, BOOST_PP_FOR_9, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(9, s), p, o, m)
-# define BOOST_PP_FOR_9_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(10, s) BOOST_PP_IIF(c, BOOST_PP_FOR_10, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(10, s), p, o, m)
-# define BOOST_PP_FOR_10_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(11, s) BOOST_PP_IIF(c, BOOST_PP_FOR_11, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(11, s), p, o, m)
-# define BOOST_PP_FOR_11_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(12, s) BOOST_PP_IIF(c, BOOST_PP_FOR_12, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(12, s), p, o, m)
-# define BOOST_PP_FOR_12_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(13, s) BOOST_PP_IIF(c, BOOST_PP_FOR_13, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(13, s), p, o, m)
-# define BOOST_PP_FOR_13_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(14, s) BOOST_PP_IIF(c, BOOST_PP_FOR_14, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(14, s), p, o, m)
-# define BOOST_PP_FOR_14_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(15, s) BOOST_PP_IIF(c, BOOST_PP_FOR_15, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(15, s), p, o, m)
-# define BOOST_PP_FOR_15_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(16, s) BOOST_PP_IIF(c, BOOST_PP_FOR_16, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(16, s), p, o, m)
-# define BOOST_PP_FOR_16_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(17, s) BOOST_PP_IIF(c, BOOST_PP_FOR_17, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(17, s), p, o, m)
-# define BOOST_PP_FOR_17_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(18, s) BOOST_PP_IIF(c, BOOST_PP_FOR_18, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(18, s), p, o, m)
-# define BOOST_PP_FOR_18_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(19, s) BOOST_PP_IIF(c, BOOST_PP_FOR_19, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(19, s), p, o, m)
-# define BOOST_PP_FOR_19_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(20, s) BOOST_PP_IIF(c, BOOST_PP_FOR_20, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(20, s), p, o, m)
-# define BOOST_PP_FOR_20_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(21, s) BOOST_PP_IIF(c, BOOST_PP_FOR_21, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(21, s), p, o, m)
-# define BOOST_PP_FOR_21_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(22, s) BOOST_PP_IIF(c, BOOST_PP_FOR_22, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(22, s), p, o, m)
-# define BOOST_PP_FOR_22_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(23, s) BOOST_PP_IIF(c, BOOST_PP_FOR_23, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(23, s), p, o, m)
-# define BOOST_PP_FOR_23_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(24, s) BOOST_PP_IIF(c, BOOST_PP_FOR_24, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(24, s), p, o, m)
-# define BOOST_PP_FOR_24_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(25, s) BOOST_PP_IIF(c, BOOST_PP_FOR_25, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(25, s), p, o, m)
-# define BOOST_PP_FOR_25_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(26, s) BOOST_PP_IIF(c, BOOST_PP_FOR_26, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(26, s), p, o, m)
-# define BOOST_PP_FOR_26_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(27, s) BOOST_PP_IIF(c, BOOST_PP_FOR_27, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(27, s), p, o, m)
-# define BOOST_PP_FOR_27_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(28, s) BOOST_PP_IIF(c, BOOST_PP_FOR_28, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(28, s), p, o, m)
-# define BOOST_PP_FOR_28_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(29, s) BOOST_PP_IIF(c, BOOST_PP_FOR_29, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(29, s), p, o, m)
-# define BOOST_PP_FOR_29_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(30, s) BOOST_PP_IIF(c, BOOST_PP_FOR_30, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(30, s), p, o, m)
-# define BOOST_PP_FOR_30_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(31, s) BOOST_PP_IIF(c, BOOST_PP_FOR_31, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(31, s), p, o, m)
-# define BOOST_PP_FOR_31_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(32, s) BOOST_PP_IIF(c, BOOST_PP_FOR_32, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(32, s), p, o, m)
-# define BOOST_PP_FOR_32_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(33, s) BOOST_PP_IIF(c, BOOST_PP_FOR_33, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(33, s), p, o, m)
-# define BOOST_PP_FOR_33_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(34, s) BOOST_PP_IIF(c, BOOST_PP_FOR_34, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(34, s), p, o, m)
-# define BOOST_PP_FOR_34_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(35, s) BOOST_PP_IIF(c, BOOST_PP_FOR_35, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(35, s), p, o, m)
-# define BOOST_PP_FOR_35_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(36, s) BOOST_PP_IIF(c, BOOST_PP_FOR_36, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(36, s), p, o, m)
-# define BOOST_PP_FOR_36_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(37, s) BOOST_PP_IIF(c, BOOST_PP_FOR_37, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(37, s), p, o, m)
-# define BOOST_PP_FOR_37_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(38, s) BOOST_PP_IIF(c, BOOST_PP_FOR_38, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(38, s), p, o, m)
-# define BOOST_PP_FOR_38_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(39, s) BOOST_PP_IIF(c, BOOST_PP_FOR_39, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(39, s), p, o, m)
-# define BOOST_PP_FOR_39_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(40, s) BOOST_PP_IIF(c, BOOST_PP_FOR_40, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(40, s), p, o, m)
-# define BOOST_PP_FOR_40_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(41, s) BOOST_PP_IIF(c, BOOST_PP_FOR_41, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(41, s), p, o, m)
-# define BOOST_PP_FOR_41_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(42, s) BOOST_PP_IIF(c, BOOST_PP_FOR_42, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(42, s), p, o, m)
-# define BOOST_PP_FOR_42_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(43, s) BOOST_PP_IIF(c, BOOST_PP_FOR_43, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(43, s), p, o, m)
-# define BOOST_PP_FOR_43_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(44, s) BOOST_PP_IIF(c, BOOST_PP_FOR_44, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(44, s), p, o, m)
-# define BOOST_PP_FOR_44_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(45, s) BOOST_PP_IIF(c, BOOST_PP_FOR_45, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(45, s), p, o, m)
-# define BOOST_PP_FOR_45_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(46, s) BOOST_PP_IIF(c, BOOST_PP_FOR_46, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(46, s), p, o, m)
-# define BOOST_PP_FOR_46_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(47, s) BOOST_PP_IIF(c, BOOST_PP_FOR_47, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(47, s), p, o, m)
-# define BOOST_PP_FOR_47_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(48, s) BOOST_PP_IIF(c, BOOST_PP_FOR_48, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(48, s), p, o, m)
-# define BOOST_PP_FOR_48_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(49, s) BOOST_PP_IIF(c, BOOST_PP_FOR_49, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(49, s), p, o, m)
-# define BOOST_PP_FOR_49_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(50, s) BOOST_PP_IIF(c, BOOST_PP_FOR_50, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(50, s), p, o, m)
-# define BOOST_PP_FOR_50_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(51, s) BOOST_PP_IIF(c, BOOST_PP_FOR_51, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(51, s), p, o, m)
-# define BOOST_PP_FOR_51_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(52, s) BOOST_PP_IIF(c, BOOST_PP_FOR_52, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(52, s), p, o, m)
-# define BOOST_PP_FOR_52_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(53, s) BOOST_PP_IIF(c, BOOST_PP_FOR_53, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(53, s), p, o, m)
-# define BOOST_PP_FOR_53_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(54, s) BOOST_PP_IIF(c, BOOST_PP_FOR_54, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(54, s), p, o, m)
-# define BOOST_PP_FOR_54_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(55, s) BOOST_PP_IIF(c, BOOST_PP_FOR_55, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(55, s), p, o, m)
-# define BOOST_PP_FOR_55_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(56, s) BOOST_PP_IIF(c, BOOST_PP_FOR_56, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(56, s), p, o, m)
-# define BOOST_PP_FOR_56_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(57, s) BOOST_PP_IIF(c, BOOST_PP_FOR_57, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(57, s), p, o, m)
-# define BOOST_PP_FOR_57_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(58, s) BOOST_PP_IIF(c, BOOST_PP_FOR_58, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(58, s), p, o, m)
-# define BOOST_PP_FOR_58_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(59, s) BOOST_PP_IIF(c, BOOST_PP_FOR_59, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(59, s), p, o, m)
-# define BOOST_PP_FOR_59_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(60, s) BOOST_PP_IIF(c, BOOST_PP_FOR_60, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(60, s), p, o, m)
-# define BOOST_PP_FOR_60_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(61, s) BOOST_PP_IIF(c, BOOST_PP_FOR_61, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(61, s), p, o, m)
-# define BOOST_PP_FOR_61_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(62, s) BOOST_PP_IIF(c, BOOST_PP_FOR_62, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(62, s), p, o, m)
-# define BOOST_PP_FOR_62_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(63, s) BOOST_PP_IIF(c, BOOST_PP_FOR_63, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(63, s), p, o, m)
-# define BOOST_PP_FOR_63_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(64, s) BOOST_PP_IIF(c, BOOST_PP_FOR_64, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(64, s), p, o, m)
-# define BOOST_PP_FOR_64_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(65, s) BOOST_PP_IIF(c, BOOST_PP_FOR_65, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(65, s), p, o, m)
-# define BOOST_PP_FOR_65_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(66, s) BOOST_PP_IIF(c, BOOST_PP_FOR_66, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(66, s), p, o, m)
-# define BOOST_PP_FOR_66_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(67, s) BOOST_PP_IIF(c, BOOST_PP_FOR_67, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(67, s), p, o, m)
-# define BOOST_PP_FOR_67_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(68, s) BOOST_PP_IIF(c, BOOST_PP_FOR_68, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(68, s), p, o, m)
-# define BOOST_PP_FOR_68_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(69, s) BOOST_PP_IIF(c, BOOST_PP_FOR_69, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(69, s), p, o, m)
-# define BOOST_PP_FOR_69_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(70, s) BOOST_PP_IIF(c, BOOST_PP_FOR_70, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(70, s), p, o, m)
-# define BOOST_PP_FOR_70_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(71, s) BOOST_PP_IIF(c, BOOST_PP_FOR_71, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(71, s), p, o, m)
-# define BOOST_PP_FOR_71_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(72, s) BOOST_PP_IIF(c, BOOST_PP_FOR_72, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(72, s), p, o, m)
-# define BOOST_PP_FOR_72_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(73, s) BOOST_PP_IIF(c, BOOST_PP_FOR_73, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(73, s), p, o, m)
-# define BOOST_PP_FOR_73_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(74, s) BOOST_PP_IIF(c, BOOST_PP_FOR_74, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(74, s), p, o, m)
-# define BOOST_PP_FOR_74_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(75, s) BOOST_PP_IIF(c, BOOST_PP_FOR_75, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(75, s), p, o, m)
-# define BOOST_PP_FOR_75_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(76, s) BOOST_PP_IIF(c, BOOST_PP_FOR_76, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(76, s), p, o, m)
-# define BOOST_PP_FOR_76_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(77, s) BOOST_PP_IIF(c, BOOST_PP_FOR_77, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(77, s), p, o, m)
-# define BOOST_PP_FOR_77_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(78, s) BOOST_PP_IIF(c, BOOST_PP_FOR_78, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(78, s), p, o, m)
-# define BOOST_PP_FOR_78_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(79, s) BOOST_PP_IIF(c, BOOST_PP_FOR_79, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(79, s), p, o, m)
-# define BOOST_PP_FOR_79_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(80, s) BOOST_PP_IIF(c, BOOST_PP_FOR_80, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(80, s), p, o, m)
-# define BOOST_PP_FOR_80_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(81, s) BOOST_PP_IIF(c, BOOST_PP_FOR_81, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(81, s), p, o, m)
-# define BOOST_PP_FOR_81_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(82, s) BOOST_PP_IIF(c, BOOST_PP_FOR_82, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(82, s), p, o, m)
-# define BOOST_PP_FOR_82_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(83, s) BOOST_PP_IIF(c, BOOST_PP_FOR_83, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(83, s), p, o, m)
-# define BOOST_PP_FOR_83_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(84, s) BOOST_PP_IIF(c, BOOST_PP_FOR_84, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(84, s), p, o, m)
-# define BOOST_PP_FOR_84_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(85, s) BOOST_PP_IIF(c, BOOST_PP_FOR_85, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(85, s), p, o, m)
-# define BOOST_PP_FOR_85_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(86, s) BOOST_PP_IIF(c, BOOST_PP_FOR_86, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(86, s), p, o, m)
-# define BOOST_PP_FOR_86_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(87, s) BOOST_PP_IIF(c, BOOST_PP_FOR_87, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(87, s), p, o, m)
-# define BOOST_PP_FOR_87_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(88, s) BOOST_PP_IIF(c, BOOST_PP_FOR_88, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(88, s), p, o, m)
-# define BOOST_PP_FOR_88_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(89, s) BOOST_PP_IIF(c, BOOST_PP_FOR_89, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(89, s), p, o, m)
-# define BOOST_PP_FOR_89_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(90, s) BOOST_PP_IIF(c, BOOST_PP_FOR_90, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(90, s), p, o, m)
-# define BOOST_PP_FOR_90_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(91, s) BOOST_PP_IIF(c, BOOST_PP_FOR_91, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(91, s), p, o, m)
-# define BOOST_PP_FOR_91_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(92, s) BOOST_PP_IIF(c, BOOST_PP_FOR_92, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(92, s), p, o, m)
-# define BOOST_PP_FOR_92_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(93, s) BOOST_PP_IIF(c, BOOST_PP_FOR_93, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(93, s), p, o, m)
-# define BOOST_PP_FOR_93_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(94, s) BOOST_PP_IIF(c, BOOST_PP_FOR_94, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(94, s), p, o, m)
-# define BOOST_PP_FOR_94_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(95, s) BOOST_PP_IIF(c, BOOST_PP_FOR_95, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(95, s), p, o, m)
-# define BOOST_PP_FOR_95_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(96, s) BOOST_PP_IIF(c, BOOST_PP_FOR_96, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(96, s), p, o, m)
-# define BOOST_PP_FOR_96_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(97, s) BOOST_PP_IIF(c, BOOST_PP_FOR_97, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(97, s), p, o, m)
-# define BOOST_PP_FOR_97_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(98, s) BOOST_PP_IIF(c, BOOST_PP_FOR_98, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(98, s), p, o, m)
-# define BOOST_PP_FOR_98_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(99, s) BOOST_PP_IIF(c, BOOST_PP_FOR_99, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(99, s), p, o, m)
-# define BOOST_PP_FOR_99_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(100, s) BOOST_PP_IIF(c, BOOST_PP_FOR_100, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(100, s), p, o, m)
-# define BOOST_PP_FOR_100_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(101, s) BOOST_PP_IIF(c, BOOST_PP_FOR_101, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(101, s), p, o, m)
-# define BOOST_PP_FOR_101_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(102, s) BOOST_PP_IIF(c, BOOST_PP_FOR_102, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(102, s), p, o, m)
-# define BOOST_PP_FOR_102_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(103, s) BOOST_PP_IIF(c, BOOST_PP_FOR_103, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(103, s), p, o, m)
-# define BOOST_PP_FOR_103_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(104, s) BOOST_PP_IIF(c, BOOST_PP_FOR_104, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(104, s), p, o, m)
-# define BOOST_PP_FOR_104_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(105, s) BOOST_PP_IIF(c, BOOST_PP_FOR_105, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(105, s), p, o, m)
-# define BOOST_PP_FOR_105_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(106, s) BOOST_PP_IIF(c, BOOST_PP_FOR_106, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(106, s), p, o, m)
-# define BOOST_PP_FOR_106_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(107, s) BOOST_PP_IIF(c, BOOST_PP_FOR_107, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(107, s), p, o, m)
-# define BOOST_PP_FOR_107_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(108, s) BOOST_PP_IIF(c, BOOST_PP_FOR_108, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(108, s), p, o, m)
-# define BOOST_PP_FOR_108_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(109, s) BOOST_PP_IIF(c, BOOST_PP_FOR_109, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(109, s), p, o, m)
-# define BOOST_PP_FOR_109_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(110, s) BOOST_PP_IIF(c, BOOST_PP_FOR_110, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(110, s), p, o, m)
-# define BOOST_PP_FOR_110_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(111, s) BOOST_PP_IIF(c, BOOST_PP_FOR_111, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(111, s), p, o, m)
-# define BOOST_PP_FOR_111_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(112, s) BOOST_PP_IIF(c, BOOST_PP_FOR_112, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(112, s), p, o, m)
-# define BOOST_PP_FOR_112_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(113, s) BOOST_PP_IIF(c, BOOST_PP_FOR_113, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(113, s), p, o, m)
-# define BOOST_PP_FOR_113_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(114, s) BOOST_PP_IIF(c, BOOST_PP_FOR_114, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(114, s), p, o, m)
-# define BOOST_PP_FOR_114_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(115, s) BOOST_PP_IIF(c, BOOST_PP_FOR_115, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(115, s), p, o, m)
-# define BOOST_PP_FOR_115_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(116, s) BOOST_PP_IIF(c, BOOST_PP_FOR_116, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(116, s), p, o, m)
-# define BOOST_PP_FOR_116_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(117, s) BOOST_PP_IIF(c, BOOST_PP_FOR_117, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(117, s), p, o, m)
-# define BOOST_PP_FOR_117_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(118, s) BOOST_PP_IIF(c, BOOST_PP_FOR_118, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(118, s), p, o, m)
-# define BOOST_PP_FOR_118_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(119, s) BOOST_PP_IIF(c, BOOST_PP_FOR_119, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(119, s), p, o, m)
-# define BOOST_PP_FOR_119_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(120, s) BOOST_PP_IIF(c, BOOST_PP_FOR_120, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(120, s), p, o, m)
-# define BOOST_PP_FOR_120_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(121, s) BOOST_PP_IIF(c, BOOST_PP_FOR_121, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(121, s), p, o, m)
-# define BOOST_PP_FOR_121_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(122, s) BOOST_PP_IIF(c, BOOST_PP_FOR_122, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(122, s), p, o, m)
-# define BOOST_PP_FOR_122_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(123, s) BOOST_PP_IIF(c, BOOST_PP_FOR_123, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(123, s), p, o, m)
-# define BOOST_PP_FOR_123_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(124, s) BOOST_PP_IIF(c, BOOST_PP_FOR_124, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(124, s), p, o, m)
-# define BOOST_PP_FOR_124_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(125, s) BOOST_PP_IIF(c, BOOST_PP_FOR_125, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(125, s), p, o, m)
-# define BOOST_PP_FOR_125_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(126, s) BOOST_PP_IIF(c, BOOST_PP_FOR_126, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(126, s), p, o, m)
-# define BOOST_PP_FOR_126_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(127, s) BOOST_PP_IIF(c, BOOST_PP_FOR_127, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(127, s), p, o, m)
-# define BOOST_PP_FOR_127_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(128, s) BOOST_PP_IIF(c, BOOST_PP_FOR_128, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(128, s), p, o, m)
-# define BOOST_PP_FOR_128_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(129, s) BOOST_PP_IIF(c, BOOST_PP_FOR_129, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(129, s), p, o, m)
-# define BOOST_PP_FOR_129_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(130, s) BOOST_PP_IIF(c, BOOST_PP_FOR_130, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(130, s), p, o, m)
-# define BOOST_PP_FOR_130_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(131, s) BOOST_PP_IIF(c, BOOST_PP_FOR_131, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(131, s), p, o, m)
-# define BOOST_PP_FOR_131_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(132, s) BOOST_PP_IIF(c, BOOST_PP_FOR_132, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(132, s), p, o, m)
-# define BOOST_PP_FOR_132_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(133, s) BOOST_PP_IIF(c, BOOST_PP_FOR_133, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(133, s), p, o, m)
-# define BOOST_PP_FOR_133_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(134, s) BOOST_PP_IIF(c, BOOST_PP_FOR_134, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(134, s), p, o, m)
-# define BOOST_PP_FOR_134_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(135, s) BOOST_PP_IIF(c, BOOST_PP_FOR_135, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(135, s), p, o, m)
-# define BOOST_PP_FOR_135_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(136, s) BOOST_PP_IIF(c, BOOST_PP_FOR_136, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(136, s), p, o, m)
-# define BOOST_PP_FOR_136_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(137, s) BOOST_PP_IIF(c, BOOST_PP_FOR_137, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(137, s), p, o, m)
-# define BOOST_PP_FOR_137_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(138, s) BOOST_PP_IIF(c, BOOST_PP_FOR_138, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(138, s), p, o, m)
-# define BOOST_PP_FOR_138_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(139, s) BOOST_PP_IIF(c, BOOST_PP_FOR_139, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(139, s), p, o, m)
-# define BOOST_PP_FOR_139_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(140, s) BOOST_PP_IIF(c, BOOST_PP_FOR_140, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(140, s), p, o, m)
-# define BOOST_PP_FOR_140_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(141, s) BOOST_PP_IIF(c, BOOST_PP_FOR_141, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(141, s), p, o, m)
-# define BOOST_PP_FOR_141_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(142, s) BOOST_PP_IIF(c, BOOST_PP_FOR_142, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(142, s), p, o, m)
-# define BOOST_PP_FOR_142_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(143, s) BOOST_PP_IIF(c, BOOST_PP_FOR_143, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(143, s), p, o, m)
-# define BOOST_PP_FOR_143_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(144, s) BOOST_PP_IIF(c, BOOST_PP_FOR_144, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(144, s), p, o, m)
-# define BOOST_PP_FOR_144_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(145, s) BOOST_PP_IIF(c, BOOST_PP_FOR_145, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(145, s), p, o, m)
-# define BOOST_PP_FOR_145_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(146, s) BOOST_PP_IIF(c, BOOST_PP_FOR_146, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(146, s), p, o, m)
-# define BOOST_PP_FOR_146_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(147, s) BOOST_PP_IIF(c, BOOST_PP_FOR_147, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(147, s), p, o, m)
-# define BOOST_PP_FOR_147_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(148, s) BOOST_PP_IIF(c, BOOST_PP_FOR_148, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(148, s), p, o, m)
-# define BOOST_PP_FOR_148_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(149, s) BOOST_PP_IIF(c, BOOST_PP_FOR_149, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(149, s), p, o, m)
-# define BOOST_PP_FOR_149_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(150, s) BOOST_PP_IIF(c, BOOST_PP_FOR_150, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(150, s), p, o, m)
-# define BOOST_PP_FOR_150_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(151, s) BOOST_PP_IIF(c, BOOST_PP_FOR_151, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(151, s), p, o, m)
-# define BOOST_PP_FOR_151_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(152, s) BOOST_PP_IIF(c, BOOST_PP_FOR_152, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(152, s), p, o, m)
-# define BOOST_PP_FOR_152_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(153, s) BOOST_PP_IIF(c, BOOST_PP_FOR_153, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(153, s), p, o, m)
-# define BOOST_PP_FOR_153_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(154, s) BOOST_PP_IIF(c, BOOST_PP_FOR_154, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(154, s), p, o, m)
-# define BOOST_PP_FOR_154_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(155, s) BOOST_PP_IIF(c, BOOST_PP_FOR_155, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(155, s), p, o, m)
-# define BOOST_PP_FOR_155_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(156, s) BOOST_PP_IIF(c, BOOST_PP_FOR_156, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(156, s), p, o, m)
-# define BOOST_PP_FOR_156_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(157, s) BOOST_PP_IIF(c, BOOST_PP_FOR_157, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(157, s), p, o, m)
-# define BOOST_PP_FOR_157_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(158, s) BOOST_PP_IIF(c, BOOST_PP_FOR_158, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(158, s), p, o, m)
-# define BOOST_PP_FOR_158_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(159, s) BOOST_PP_IIF(c, BOOST_PP_FOR_159, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(159, s), p, o, m)
-# define BOOST_PP_FOR_159_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(160, s) BOOST_PP_IIF(c, BOOST_PP_FOR_160, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(160, s), p, o, m)
-# define BOOST_PP_FOR_160_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(161, s) BOOST_PP_IIF(c, BOOST_PP_FOR_161, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(161, s), p, o, m)
-# define BOOST_PP_FOR_161_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(162, s) BOOST_PP_IIF(c, BOOST_PP_FOR_162, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(162, s), p, o, m)
-# define BOOST_PP_FOR_162_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(163, s) BOOST_PP_IIF(c, BOOST_PP_FOR_163, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(163, s), p, o, m)
-# define BOOST_PP_FOR_163_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(164, s) BOOST_PP_IIF(c, BOOST_PP_FOR_164, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(164, s), p, o, m)
-# define BOOST_PP_FOR_164_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(165, s) BOOST_PP_IIF(c, BOOST_PP_FOR_165, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(165, s), p, o, m)
-# define BOOST_PP_FOR_165_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(166, s) BOOST_PP_IIF(c, BOOST_PP_FOR_166, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(166, s), p, o, m)
-# define BOOST_PP_FOR_166_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(167, s) BOOST_PP_IIF(c, BOOST_PP_FOR_167, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(167, s), p, o, m)
-# define BOOST_PP_FOR_167_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(168, s) BOOST_PP_IIF(c, BOOST_PP_FOR_168, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(168, s), p, o, m)
-# define BOOST_PP_FOR_168_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(169, s) BOOST_PP_IIF(c, BOOST_PP_FOR_169, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(169, s), p, o, m)
-# define BOOST_PP_FOR_169_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(170, s) BOOST_PP_IIF(c, BOOST_PP_FOR_170, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(170, s), p, o, m)
-# define BOOST_PP_FOR_170_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(171, s) BOOST_PP_IIF(c, BOOST_PP_FOR_171, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(171, s), p, o, m)
-# define BOOST_PP_FOR_171_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(172, s) BOOST_PP_IIF(c, BOOST_PP_FOR_172, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(172, s), p, o, m)
-# define BOOST_PP_FOR_172_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(173, s) BOOST_PP_IIF(c, BOOST_PP_FOR_173, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(173, s), p, o, m)
-# define BOOST_PP_FOR_173_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(174, s) BOOST_PP_IIF(c, BOOST_PP_FOR_174, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(174, s), p, o, m)
-# define BOOST_PP_FOR_174_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(175, s) BOOST_PP_IIF(c, BOOST_PP_FOR_175, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(175, s), p, o, m)
-# define BOOST_PP_FOR_175_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(176, s) BOOST_PP_IIF(c, BOOST_PP_FOR_176, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(176, s), p, o, m)
-# define BOOST_PP_FOR_176_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(177, s) BOOST_PP_IIF(c, BOOST_PP_FOR_177, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(177, s), p, o, m)
-# define BOOST_PP_FOR_177_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(178, s) BOOST_PP_IIF(c, BOOST_PP_FOR_178, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(178, s), p, o, m)
-# define BOOST_PP_FOR_178_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(179, s) BOOST_PP_IIF(c, BOOST_PP_FOR_179, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(179, s), p, o, m)
-# define BOOST_PP_FOR_179_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(180, s) BOOST_PP_IIF(c, BOOST_PP_FOR_180, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(180, s), p, o, m)
-# define BOOST_PP_FOR_180_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(181, s) BOOST_PP_IIF(c, BOOST_PP_FOR_181, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(181, s), p, o, m)
-# define BOOST_PP_FOR_181_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(182, s) BOOST_PP_IIF(c, BOOST_PP_FOR_182, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(182, s), p, o, m)
-# define BOOST_PP_FOR_182_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(183, s) BOOST_PP_IIF(c, BOOST_PP_FOR_183, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(183, s), p, o, m)
-# define BOOST_PP_FOR_183_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(184, s) BOOST_PP_IIF(c, BOOST_PP_FOR_184, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(184, s), p, o, m)
-# define BOOST_PP_FOR_184_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(185, s) BOOST_PP_IIF(c, BOOST_PP_FOR_185, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(185, s), p, o, m)
-# define BOOST_PP_FOR_185_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(186, s) BOOST_PP_IIF(c, BOOST_PP_FOR_186, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(186, s), p, o, m)
-# define BOOST_PP_FOR_186_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(187, s) BOOST_PP_IIF(c, BOOST_PP_FOR_187, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(187, s), p, o, m)
-# define BOOST_PP_FOR_187_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(188, s) BOOST_PP_IIF(c, BOOST_PP_FOR_188, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(188, s), p, o, m)
-# define BOOST_PP_FOR_188_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(189, s) BOOST_PP_IIF(c, BOOST_PP_FOR_189, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(189, s), p, o, m)
-# define BOOST_PP_FOR_189_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(190, s) BOOST_PP_IIF(c, BOOST_PP_FOR_190, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(190, s), p, o, m)
-# define BOOST_PP_FOR_190_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(191, s) BOOST_PP_IIF(c, BOOST_PP_FOR_191, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(191, s), p, o, m)
-# define BOOST_PP_FOR_191_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(192, s) BOOST_PP_IIF(c, BOOST_PP_FOR_192, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(192, s), p, o, m)
-# define BOOST_PP_FOR_192_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(193, s) BOOST_PP_IIF(c, BOOST_PP_FOR_193, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(193, s), p, o, m)
-# define BOOST_PP_FOR_193_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(194, s) BOOST_PP_IIF(c, BOOST_PP_FOR_194, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(194, s), p, o, m)
-# define BOOST_PP_FOR_194_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(195, s) BOOST_PP_IIF(c, BOOST_PP_FOR_195, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(195, s), p, o, m)
-# define BOOST_PP_FOR_195_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(196, s) BOOST_PP_IIF(c, BOOST_PP_FOR_196, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(196, s), p, o, m)
-# define BOOST_PP_FOR_196_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(197, s) BOOST_PP_IIF(c, BOOST_PP_FOR_197, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(197, s), p, o, m)
-# define BOOST_PP_FOR_197_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(198, s) BOOST_PP_IIF(c, BOOST_PP_FOR_198, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(198, s), p, o, m)
-# define BOOST_PP_FOR_198_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(199, s) BOOST_PP_IIF(c, BOOST_PP_FOR_199, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(199, s), p, o, m)
-# define BOOST_PP_FOR_199_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(200, s) BOOST_PP_IIF(c, BOOST_PP_FOR_200, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(200, s), p, o, m)
-# define BOOST_PP_FOR_200_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(201, s) BOOST_PP_IIF(c, BOOST_PP_FOR_201, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(201, s), p, o, m)
-# define BOOST_PP_FOR_201_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(202, s) BOOST_PP_IIF(c, BOOST_PP_FOR_202, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(202, s), p, o, m)
-# define BOOST_PP_FOR_202_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(203, s) BOOST_PP_IIF(c, BOOST_PP_FOR_203, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(203, s), p, o, m)
-# define BOOST_PP_FOR_203_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(204, s) BOOST_PP_IIF(c, BOOST_PP_FOR_204, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(204, s), p, o, m)
-# define BOOST_PP_FOR_204_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(205, s) BOOST_PP_IIF(c, BOOST_PP_FOR_205, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(205, s), p, o, m)
-# define BOOST_PP_FOR_205_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(206, s) BOOST_PP_IIF(c, BOOST_PP_FOR_206, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(206, s), p, o, m)
-# define BOOST_PP_FOR_206_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(207, s) BOOST_PP_IIF(c, BOOST_PP_FOR_207, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(207, s), p, o, m)
-# define BOOST_PP_FOR_207_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(208, s) BOOST_PP_IIF(c, BOOST_PP_FOR_208, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(208, s), p, o, m)
-# define BOOST_PP_FOR_208_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(209, s) BOOST_PP_IIF(c, BOOST_PP_FOR_209, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(209, s), p, o, m)
-# define BOOST_PP_FOR_209_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(210, s) BOOST_PP_IIF(c, BOOST_PP_FOR_210, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(210, s), p, o, m)
-# define BOOST_PP_FOR_210_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(211, s) BOOST_PP_IIF(c, BOOST_PP_FOR_211, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(211, s), p, o, m)
-# define BOOST_PP_FOR_211_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(212, s) BOOST_PP_IIF(c, BOOST_PP_FOR_212, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(212, s), p, o, m)
-# define BOOST_PP_FOR_212_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(213, s) BOOST_PP_IIF(c, BOOST_PP_FOR_213, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(213, s), p, o, m)
-# define BOOST_PP_FOR_213_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(214, s) BOOST_PP_IIF(c, BOOST_PP_FOR_214, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(214, s), p, o, m)
-# define BOOST_PP_FOR_214_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(215, s) BOOST_PP_IIF(c, BOOST_PP_FOR_215, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(215, s), p, o, m)
-# define BOOST_PP_FOR_215_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(216, s) BOOST_PP_IIF(c, BOOST_PP_FOR_216, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(216, s), p, o, m)
-# define BOOST_PP_FOR_216_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(217, s) BOOST_PP_IIF(c, BOOST_PP_FOR_217, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(217, s), p, o, m)
-# define BOOST_PP_FOR_217_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(218, s) BOOST_PP_IIF(c, BOOST_PP_FOR_218, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(218, s), p, o, m)
-# define BOOST_PP_FOR_218_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(219, s) BOOST_PP_IIF(c, BOOST_PP_FOR_219, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(219, s), p, o, m)
-# define BOOST_PP_FOR_219_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(220, s) BOOST_PP_IIF(c, BOOST_PP_FOR_220, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(220, s), p, o, m)
-# define BOOST_PP_FOR_220_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(221, s) BOOST_PP_IIF(c, BOOST_PP_FOR_221, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(221, s), p, o, m)
-# define BOOST_PP_FOR_221_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(222, s) BOOST_PP_IIF(c, BOOST_PP_FOR_222, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(222, s), p, o, m)
-# define BOOST_PP_FOR_222_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(223, s) BOOST_PP_IIF(c, BOOST_PP_FOR_223, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(223, s), p, o, m)
-# define BOOST_PP_FOR_223_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(224, s) BOOST_PP_IIF(c, BOOST_PP_FOR_224, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(224, s), p, o, m)
-# define BOOST_PP_FOR_224_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(225, s) BOOST_PP_IIF(c, BOOST_PP_FOR_225, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(225, s), p, o, m)
-# define BOOST_PP_FOR_225_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(226, s) BOOST_PP_IIF(c, BOOST_PP_FOR_226, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(226, s), p, o, m)
-# define BOOST_PP_FOR_226_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(227, s) BOOST_PP_IIF(c, BOOST_PP_FOR_227, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(227, s), p, o, m)
-# define BOOST_PP_FOR_227_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(228, s) BOOST_PP_IIF(c, BOOST_PP_FOR_228, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(228, s), p, o, m)
-# define BOOST_PP_FOR_228_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(229, s) BOOST_PP_IIF(c, BOOST_PP_FOR_229, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(229, s), p, o, m)
-# define BOOST_PP_FOR_229_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(230, s) BOOST_PP_IIF(c, BOOST_PP_FOR_230, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(230, s), p, o, m)
-# define BOOST_PP_FOR_230_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(231, s) BOOST_PP_IIF(c, BOOST_PP_FOR_231, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(231, s), p, o, m)
-# define BOOST_PP_FOR_231_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(232, s) BOOST_PP_IIF(c, BOOST_PP_FOR_232, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(232, s), p, o, m)
-# define BOOST_PP_FOR_232_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(233, s) BOOST_PP_IIF(c, BOOST_PP_FOR_233, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(233, s), p, o, m)
-# define BOOST_PP_FOR_233_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(234, s) BOOST_PP_IIF(c, BOOST_PP_FOR_234, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(234, s), p, o, m)
-# define BOOST_PP_FOR_234_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(235, s) BOOST_PP_IIF(c, BOOST_PP_FOR_235, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(235, s), p, o, m)
-# define BOOST_PP_FOR_235_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(236, s) BOOST_PP_IIF(c, BOOST_PP_FOR_236, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(236, s), p, o, m)
-# define BOOST_PP_FOR_236_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(237, s) BOOST_PP_IIF(c, BOOST_PP_FOR_237, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(237, s), p, o, m)
-# define BOOST_PP_FOR_237_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(238, s) BOOST_PP_IIF(c, BOOST_PP_FOR_238, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(238, s), p, o, m)
-# define BOOST_PP_FOR_238_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(239, s) BOOST_PP_IIF(c, BOOST_PP_FOR_239, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(239, s), p, o, m)
-# define BOOST_PP_FOR_239_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(240, s) BOOST_PP_IIF(c, BOOST_PP_FOR_240, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(240, s), p, o, m)
-# define BOOST_PP_FOR_240_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(241, s) BOOST_PP_IIF(c, BOOST_PP_FOR_241, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(241, s), p, o, m)
-# define BOOST_PP_FOR_241_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(242, s) BOOST_PP_IIF(c, BOOST_PP_FOR_242, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(242, s), p, o, m)
-# define BOOST_PP_FOR_242_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(243, s) BOOST_PP_IIF(c, BOOST_PP_FOR_243, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(243, s), p, o, m)
-# define BOOST_PP_FOR_243_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(244, s) BOOST_PP_IIF(c, BOOST_PP_FOR_244, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(244, s), p, o, m)
-# define BOOST_PP_FOR_244_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(245, s) BOOST_PP_IIF(c, BOOST_PP_FOR_245, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(245, s), p, o, m)
-# define BOOST_PP_FOR_245_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(246, s) BOOST_PP_IIF(c, BOOST_PP_FOR_246, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(246, s), p, o, m)
-# define BOOST_PP_FOR_246_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(247, s) BOOST_PP_IIF(c, BOOST_PP_FOR_247, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(247, s), p, o, m)
-# define BOOST_PP_FOR_247_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(248, s) BOOST_PP_IIF(c, BOOST_PP_FOR_248, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(248, s), p, o, m)
-# define BOOST_PP_FOR_248_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(249, s) BOOST_PP_IIF(c, BOOST_PP_FOR_249, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(249, s), p, o, m)
-# define BOOST_PP_FOR_249_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(250, s) BOOST_PP_IIF(c, BOOST_PP_FOR_250, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(250, s), p, o, m)
-# define BOOST_PP_FOR_250_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(251, s) BOOST_PP_IIF(c, BOOST_PP_FOR_251, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(251, s), p, o, m)
-# define BOOST_PP_FOR_251_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(252, s) BOOST_PP_IIF(c, BOOST_PP_FOR_252, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(252, s), p, o, m)
-# define BOOST_PP_FOR_252_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(253, s) BOOST_PP_IIF(c, BOOST_PP_FOR_253, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(253, s), p, o, m)
-# define BOOST_PP_FOR_253_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(254, s) BOOST_PP_IIF(c, BOOST_PP_FOR_254, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(254, s), p, o, m)
-# define BOOST_PP_FOR_254_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(255, s) BOOST_PP_IIF(c, BOOST_PP_FOR_255, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(255, s), p, o, m)
-# define BOOST_PP_FOR_255_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(256, s) BOOST_PP_IIF(c, BOOST_PP_FOR_256, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(256, s), p, o, m)
-# define BOOST_PP_FOR_256_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(257, s) BOOST_PP_IIF(c, BOOST_PP_FOR_257, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(257, s), p, o, m)
+# define NDNBOOST_PP_FOR_1_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(2, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_2, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(2, s), p, o, m)
+# define NDNBOOST_PP_FOR_2_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(3, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_3, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(3, s), p, o, m)
+# define NDNBOOST_PP_FOR_3_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(4, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_4, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(4, s), p, o, m)
+# define NDNBOOST_PP_FOR_4_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(5, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_5, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(5, s), p, o, m)
+# define NDNBOOST_PP_FOR_5_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(6, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_6, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(6, s), p, o, m)
+# define NDNBOOST_PP_FOR_6_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(7, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_7, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(7, s), p, o, m)
+# define NDNBOOST_PP_FOR_7_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(8, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_8, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(8, s), p, o, m)
+# define NDNBOOST_PP_FOR_8_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(9, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_9, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(9, s), p, o, m)
+# define NDNBOOST_PP_FOR_9_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(10, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_10, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(10, s), p, o, m)
+# define NDNBOOST_PP_FOR_10_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(11, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_11, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(11, s), p, o, m)
+# define NDNBOOST_PP_FOR_11_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(12, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_12, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(12, s), p, o, m)
+# define NDNBOOST_PP_FOR_12_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(13, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_13, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(13, s), p, o, m)
+# define NDNBOOST_PP_FOR_13_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(14, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_14, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(14, s), p, o, m)
+# define NDNBOOST_PP_FOR_14_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(15, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_15, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(15, s), p, o, m)
+# define NDNBOOST_PP_FOR_15_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(16, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_16, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(16, s), p, o, m)
+# define NDNBOOST_PP_FOR_16_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(17, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_17, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(17, s), p, o, m)
+# define NDNBOOST_PP_FOR_17_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(18, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_18, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(18, s), p, o, m)
+# define NDNBOOST_PP_FOR_18_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(19, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_19, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(19, s), p, o, m)
+# define NDNBOOST_PP_FOR_19_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(20, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_20, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(20, s), p, o, m)
+# define NDNBOOST_PP_FOR_20_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(21, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_21, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(21, s), p, o, m)
+# define NDNBOOST_PP_FOR_21_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(22, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_22, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(22, s), p, o, m)
+# define NDNBOOST_PP_FOR_22_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(23, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_23, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(23, s), p, o, m)
+# define NDNBOOST_PP_FOR_23_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(24, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_24, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(24, s), p, o, m)
+# define NDNBOOST_PP_FOR_24_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(25, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_25, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(25, s), p, o, m)
+# define NDNBOOST_PP_FOR_25_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(26, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_26, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(26, s), p, o, m)
+# define NDNBOOST_PP_FOR_26_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(27, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_27, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(27, s), p, o, m)
+# define NDNBOOST_PP_FOR_27_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(28, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_28, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(28, s), p, o, m)
+# define NDNBOOST_PP_FOR_28_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(29, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_29, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(29, s), p, o, m)
+# define NDNBOOST_PP_FOR_29_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(30, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_30, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(30, s), p, o, m)
+# define NDNBOOST_PP_FOR_30_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(31, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_31, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(31, s), p, o, m)
+# define NDNBOOST_PP_FOR_31_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(32, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_32, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(32, s), p, o, m)
+# define NDNBOOST_PP_FOR_32_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(33, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_33, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(33, s), p, o, m)
+# define NDNBOOST_PP_FOR_33_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(34, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_34, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(34, s), p, o, m)
+# define NDNBOOST_PP_FOR_34_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(35, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_35, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(35, s), p, o, m)
+# define NDNBOOST_PP_FOR_35_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(36, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_36, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(36, s), p, o, m)
+# define NDNBOOST_PP_FOR_36_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(37, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_37, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(37, s), p, o, m)
+# define NDNBOOST_PP_FOR_37_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(38, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_38, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(38, s), p, o, m)
+# define NDNBOOST_PP_FOR_38_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(39, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_39, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(39, s), p, o, m)
+# define NDNBOOST_PP_FOR_39_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(40, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_40, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(40, s), p, o, m)
+# define NDNBOOST_PP_FOR_40_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(41, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_41, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(41, s), p, o, m)
+# define NDNBOOST_PP_FOR_41_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(42, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_42, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(42, s), p, o, m)
+# define NDNBOOST_PP_FOR_42_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(43, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_43, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(43, s), p, o, m)
+# define NDNBOOST_PP_FOR_43_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(44, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_44, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(44, s), p, o, m)
+# define NDNBOOST_PP_FOR_44_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(45, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_45, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(45, s), p, o, m)
+# define NDNBOOST_PP_FOR_45_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(46, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_46, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(46, s), p, o, m)
+# define NDNBOOST_PP_FOR_46_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(47, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_47, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(47, s), p, o, m)
+# define NDNBOOST_PP_FOR_47_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(48, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_48, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(48, s), p, o, m)
+# define NDNBOOST_PP_FOR_48_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(49, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_49, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(49, s), p, o, m)
+# define NDNBOOST_PP_FOR_49_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(50, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_50, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(50, s), p, o, m)
+# define NDNBOOST_PP_FOR_50_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(51, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_51, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(51, s), p, o, m)
+# define NDNBOOST_PP_FOR_51_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(52, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_52, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(52, s), p, o, m)
+# define NDNBOOST_PP_FOR_52_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(53, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_53, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(53, s), p, o, m)
+# define NDNBOOST_PP_FOR_53_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(54, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_54, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(54, s), p, o, m)
+# define NDNBOOST_PP_FOR_54_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(55, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_55, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(55, s), p, o, m)
+# define NDNBOOST_PP_FOR_55_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(56, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_56, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(56, s), p, o, m)
+# define NDNBOOST_PP_FOR_56_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(57, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_57, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(57, s), p, o, m)
+# define NDNBOOST_PP_FOR_57_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(58, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_58, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(58, s), p, o, m)
+# define NDNBOOST_PP_FOR_58_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(59, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_59, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(59, s), p, o, m)
+# define NDNBOOST_PP_FOR_59_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(60, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_60, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(60, s), p, o, m)
+# define NDNBOOST_PP_FOR_60_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(61, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_61, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(61, s), p, o, m)
+# define NDNBOOST_PP_FOR_61_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(62, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_62, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(62, s), p, o, m)
+# define NDNBOOST_PP_FOR_62_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(63, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_63, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(63, s), p, o, m)
+# define NDNBOOST_PP_FOR_63_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(64, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_64, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(64, s), p, o, m)
+# define NDNBOOST_PP_FOR_64_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(65, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_65, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(65, s), p, o, m)
+# define NDNBOOST_PP_FOR_65_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(66, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_66, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(66, s), p, o, m)
+# define NDNBOOST_PP_FOR_66_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(67, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_67, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(67, s), p, o, m)
+# define NDNBOOST_PP_FOR_67_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(68, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_68, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(68, s), p, o, m)
+# define NDNBOOST_PP_FOR_68_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(69, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_69, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(69, s), p, o, m)
+# define NDNBOOST_PP_FOR_69_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(70, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_70, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(70, s), p, o, m)
+# define NDNBOOST_PP_FOR_70_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(71, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_71, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(71, s), p, o, m)
+# define NDNBOOST_PP_FOR_71_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(72, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_72, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(72, s), p, o, m)
+# define NDNBOOST_PP_FOR_72_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(73, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_73, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(73, s), p, o, m)
+# define NDNBOOST_PP_FOR_73_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(74, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_74, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(74, s), p, o, m)
+# define NDNBOOST_PP_FOR_74_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(75, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_75, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(75, s), p, o, m)
+# define NDNBOOST_PP_FOR_75_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(76, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_76, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(76, s), p, o, m)
+# define NDNBOOST_PP_FOR_76_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(77, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_77, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(77, s), p, o, m)
+# define NDNBOOST_PP_FOR_77_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(78, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_78, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(78, s), p, o, m)
+# define NDNBOOST_PP_FOR_78_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(79, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_79, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(79, s), p, o, m)
+# define NDNBOOST_PP_FOR_79_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(80, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_80, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(80, s), p, o, m)
+# define NDNBOOST_PP_FOR_80_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(81, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_81, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(81, s), p, o, m)
+# define NDNBOOST_PP_FOR_81_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(82, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_82, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(82, s), p, o, m)
+# define NDNBOOST_PP_FOR_82_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(83, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_83, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(83, s), p, o, m)
+# define NDNBOOST_PP_FOR_83_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(84, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_84, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(84, s), p, o, m)
+# define NDNBOOST_PP_FOR_84_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(85, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_85, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(85, s), p, o, m)
+# define NDNBOOST_PP_FOR_85_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(86, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_86, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(86, s), p, o, m)
+# define NDNBOOST_PP_FOR_86_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(87, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_87, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(87, s), p, o, m)
+# define NDNBOOST_PP_FOR_87_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(88, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_88, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(88, s), p, o, m)
+# define NDNBOOST_PP_FOR_88_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(89, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_89, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(89, s), p, o, m)
+# define NDNBOOST_PP_FOR_89_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(90, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_90, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(90, s), p, o, m)
+# define NDNBOOST_PP_FOR_90_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(91, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_91, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(91, s), p, o, m)
+# define NDNBOOST_PP_FOR_91_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(92, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_92, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(92, s), p, o, m)
+# define NDNBOOST_PP_FOR_92_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(93, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_93, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(93, s), p, o, m)
+# define NDNBOOST_PP_FOR_93_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(94, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_94, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(94, s), p, o, m)
+# define NDNBOOST_PP_FOR_94_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(95, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_95, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(95, s), p, o, m)
+# define NDNBOOST_PP_FOR_95_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(96, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_96, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(96, s), p, o, m)
+# define NDNBOOST_PP_FOR_96_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(97, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_97, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(97, s), p, o, m)
+# define NDNBOOST_PP_FOR_97_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(98, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_98, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(98, s), p, o, m)
+# define NDNBOOST_PP_FOR_98_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(99, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_99, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(99, s), p, o, m)
+# define NDNBOOST_PP_FOR_99_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(100, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_100, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(100, s), p, o, m)
+# define NDNBOOST_PP_FOR_100_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(101, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_101, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(101, s), p, o, m)
+# define NDNBOOST_PP_FOR_101_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(102, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_102, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(102, s), p, o, m)
+# define NDNBOOST_PP_FOR_102_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(103, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_103, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(103, s), p, o, m)
+# define NDNBOOST_PP_FOR_103_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(104, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_104, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(104, s), p, o, m)
+# define NDNBOOST_PP_FOR_104_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(105, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_105, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(105, s), p, o, m)
+# define NDNBOOST_PP_FOR_105_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(106, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_106, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(106, s), p, o, m)
+# define NDNBOOST_PP_FOR_106_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(107, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_107, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(107, s), p, o, m)
+# define NDNBOOST_PP_FOR_107_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(108, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_108, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(108, s), p, o, m)
+# define NDNBOOST_PP_FOR_108_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(109, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_109, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(109, s), p, o, m)
+# define NDNBOOST_PP_FOR_109_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(110, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_110, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(110, s), p, o, m)
+# define NDNBOOST_PP_FOR_110_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(111, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_111, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(111, s), p, o, m)
+# define NDNBOOST_PP_FOR_111_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(112, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_112, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(112, s), p, o, m)
+# define NDNBOOST_PP_FOR_112_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(113, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_113, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(113, s), p, o, m)
+# define NDNBOOST_PP_FOR_113_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(114, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_114, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(114, s), p, o, m)
+# define NDNBOOST_PP_FOR_114_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(115, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_115, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(115, s), p, o, m)
+# define NDNBOOST_PP_FOR_115_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(116, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_116, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(116, s), p, o, m)
+# define NDNBOOST_PP_FOR_116_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(117, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_117, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(117, s), p, o, m)
+# define NDNBOOST_PP_FOR_117_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(118, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_118, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(118, s), p, o, m)
+# define NDNBOOST_PP_FOR_118_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(119, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_119, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(119, s), p, o, m)
+# define NDNBOOST_PP_FOR_119_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(120, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_120, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(120, s), p, o, m)
+# define NDNBOOST_PP_FOR_120_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(121, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_121, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(121, s), p, o, m)
+# define NDNBOOST_PP_FOR_121_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(122, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_122, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(122, s), p, o, m)
+# define NDNBOOST_PP_FOR_122_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(123, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_123, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(123, s), p, o, m)
+# define NDNBOOST_PP_FOR_123_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(124, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_124, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(124, s), p, o, m)
+# define NDNBOOST_PP_FOR_124_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(125, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_125, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(125, s), p, o, m)
+# define NDNBOOST_PP_FOR_125_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(126, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_126, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(126, s), p, o, m)
+# define NDNBOOST_PP_FOR_126_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(127, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_127, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(127, s), p, o, m)
+# define NDNBOOST_PP_FOR_127_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(128, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_128, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(128, s), p, o, m)
+# define NDNBOOST_PP_FOR_128_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(129, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_129, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(129, s), p, o, m)
+# define NDNBOOST_PP_FOR_129_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(130, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_130, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(130, s), p, o, m)
+# define NDNBOOST_PP_FOR_130_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(131, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_131, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(131, s), p, o, m)
+# define NDNBOOST_PP_FOR_131_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(132, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_132, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(132, s), p, o, m)
+# define NDNBOOST_PP_FOR_132_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(133, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_133, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(133, s), p, o, m)
+# define NDNBOOST_PP_FOR_133_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(134, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_134, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(134, s), p, o, m)
+# define NDNBOOST_PP_FOR_134_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(135, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_135, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(135, s), p, o, m)
+# define NDNBOOST_PP_FOR_135_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(136, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_136, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(136, s), p, o, m)
+# define NDNBOOST_PP_FOR_136_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(137, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_137, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(137, s), p, o, m)
+# define NDNBOOST_PP_FOR_137_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(138, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_138, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(138, s), p, o, m)
+# define NDNBOOST_PP_FOR_138_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(139, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_139, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(139, s), p, o, m)
+# define NDNBOOST_PP_FOR_139_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(140, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_140, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(140, s), p, o, m)
+# define NDNBOOST_PP_FOR_140_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(141, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_141, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(141, s), p, o, m)
+# define NDNBOOST_PP_FOR_141_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(142, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_142, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(142, s), p, o, m)
+# define NDNBOOST_PP_FOR_142_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(143, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_143, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(143, s), p, o, m)
+# define NDNBOOST_PP_FOR_143_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(144, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_144, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(144, s), p, o, m)
+# define NDNBOOST_PP_FOR_144_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(145, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_145, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(145, s), p, o, m)
+# define NDNBOOST_PP_FOR_145_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(146, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_146, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(146, s), p, o, m)
+# define NDNBOOST_PP_FOR_146_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(147, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_147, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(147, s), p, o, m)
+# define NDNBOOST_PP_FOR_147_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(148, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_148, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(148, s), p, o, m)
+# define NDNBOOST_PP_FOR_148_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(149, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_149, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(149, s), p, o, m)
+# define NDNBOOST_PP_FOR_149_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(150, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_150, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(150, s), p, o, m)
+# define NDNBOOST_PP_FOR_150_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(151, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_151, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(151, s), p, o, m)
+# define NDNBOOST_PP_FOR_151_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(152, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_152, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(152, s), p, o, m)
+# define NDNBOOST_PP_FOR_152_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(153, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_153, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(153, s), p, o, m)
+# define NDNBOOST_PP_FOR_153_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(154, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_154, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(154, s), p, o, m)
+# define NDNBOOST_PP_FOR_154_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(155, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_155, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(155, s), p, o, m)
+# define NDNBOOST_PP_FOR_155_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(156, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_156, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(156, s), p, o, m)
+# define NDNBOOST_PP_FOR_156_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(157, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_157, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(157, s), p, o, m)
+# define NDNBOOST_PP_FOR_157_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(158, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_158, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(158, s), p, o, m)
+# define NDNBOOST_PP_FOR_158_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(159, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_159, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(159, s), p, o, m)
+# define NDNBOOST_PP_FOR_159_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(160, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_160, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(160, s), p, o, m)
+# define NDNBOOST_PP_FOR_160_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(161, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_161, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(161, s), p, o, m)
+# define NDNBOOST_PP_FOR_161_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(162, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_162, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(162, s), p, o, m)
+# define NDNBOOST_PP_FOR_162_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(163, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_163, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(163, s), p, o, m)
+# define NDNBOOST_PP_FOR_163_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(164, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_164, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(164, s), p, o, m)
+# define NDNBOOST_PP_FOR_164_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(165, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_165, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(165, s), p, o, m)
+# define NDNBOOST_PP_FOR_165_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(166, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_166, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(166, s), p, o, m)
+# define NDNBOOST_PP_FOR_166_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(167, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_167, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(167, s), p, o, m)
+# define NDNBOOST_PP_FOR_167_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(168, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_168, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(168, s), p, o, m)
+# define NDNBOOST_PP_FOR_168_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(169, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_169, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(169, s), p, o, m)
+# define NDNBOOST_PP_FOR_169_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(170, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_170, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(170, s), p, o, m)
+# define NDNBOOST_PP_FOR_170_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(171, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_171, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(171, s), p, o, m)
+# define NDNBOOST_PP_FOR_171_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(172, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_172, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(172, s), p, o, m)
+# define NDNBOOST_PP_FOR_172_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(173, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_173, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(173, s), p, o, m)
+# define NDNBOOST_PP_FOR_173_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(174, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_174, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(174, s), p, o, m)
+# define NDNBOOST_PP_FOR_174_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(175, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_175, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(175, s), p, o, m)
+# define NDNBOOST_PP_FOR_175_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(176, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_176, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(176, s), p, o, m)
+# define NDNBOOST_PP_FOR_176_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(177, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_177, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(177, s), p, o, m)
+# define NDNBOOST_PP_FOR_177_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(178, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_178, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(178, s), p, o, m)
+# define NDNBOOST_PP_FOR_178_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(179, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_179, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(179, s), p, o, m)
+# define NDNBOOST_PP_FOR_179_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(180, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_180, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(180, s), p, o, m)
+# define NDNBOOST_PP_FOR_180_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(181, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_181, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(181, s), p, o, m)
+# define NDNBOOST_PP_FOR_181_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(182, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_182, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(182, s), p, o, m)
+# define NDNBOOST_PP_FOR_182_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(183, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_183, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(183, s), p, o, m)
+# define NDNBOOST_PP_FOR_183_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(184, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_184, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(184, s), p, o, m)
+# define NDNBOOST_PP_FOR_184_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(185, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_185, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(185, s), p, o, m)
+# define NDNBOOST_PP_FOR_185_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(186, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_186, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(186, s), p, o, m)
+# define NDNBOOST_PP_FOR_186_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(187, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_187, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(187, s), p, o, m)
+# define NDNBOOST_PP_FOR_187_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(188, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_188, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(188, s), p, o, m)
+# define NDNBOOST_PP_FOR_188_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(189, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_189, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(189, s), p, o, m)
+# define NDNBOOST_PP_FOR_189_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(190, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_190, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(190, s), p, o, m)
+# define NDNBOOST_PP_FOR_190_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(191, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_191, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(191, s), p, o, m)
+# define NDNBOOST_PP_FOR_191_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(192, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_192, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(192, s), p, o, m)
+# define NDNBOOST_PP_FOR_192_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(193, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_193, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(193, s), p, o, m)
+# define NDNBOOST_PP_FOR_193_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(194, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_194, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(194, s), p, o, m)
+# define NDNBOOST_PP_FOR_194_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(195, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_195, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(195, s), p, o, m)
+# define NDNBOOST_PP_FOR_195_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(196, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_196, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(196, s), p, o, m)
+# define NDNBOOST_PP_FOR_196_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(197, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_197, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(197, s), p, o, m)
+# define NDNBOOST_PP_FOR_197_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(198, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_198, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(198, s), p, o, m)
+# define NDNBOOST_PP_FOR_198_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(199, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_199, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(199, s), p, o, m)
+# define NDNBOOST_PP_FOR_199_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(200, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_200, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(200, s), p, o, m)
+# define NDNBOOST_PP_FOR_200_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(201, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_201, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(201, s), p, o, m)
+# define NDNBOOST_PP_FOR_201_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(202, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_202, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(202, s), p, o, m)
+# define NDNBOOST_PP_FOR_202_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(203, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_203, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(203, s), p, o, m)
+# define NDNBOOST_PP_FOR_203_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(204, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_204, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(204, s), p, o, m)
+# define NDNBOOST_PP_FOR_204_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(205, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_205, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(205, s), p, o, m)
+# define NDNBOOST_PP_FOR_205_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(206, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_206, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(206, s), p, o, m)
+# define NDNBOOST_PP_FOR_206_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(207, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_207, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(207, s), p, o, m)
+# define NDNBOOST_PP_FOR_207_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(208, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_208, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(208, s), p, o, m)
+# define NDNBOOST_PP_FOR_208_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(209, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_209, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(209, s), p, o, m)
+# define NDNBOOST_PP_FOR_209_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(210, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_210, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(210, s), p, o, m)
+# define NDNBOOST_PP_FOR_210_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(211, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_211, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(211, s), p, o, m)
+# define NDNBOOST_PP_FOR_211_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(212, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_212, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(212, s), p, o, m)
+# define NDNBOOST_PP_FOR_212_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(213, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_213, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(213, s), p, o, m)
+# define NDNBOOST_PP_FOR_213_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(214, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_214, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(214, s), p, o, m)
+# define NDNBOOST_PP_FOR_214_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(215, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_215, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(215, s), p, o, m)
+# define NDNBOOST_PP_FOR_215_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(216, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_216, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(216, s), p, o, m)
+# define NDNBOOST_PP_FOR_216_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(217, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_217, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(217, s), p, o, m)
+# define NDNBOOST_PP_FOR_217_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(218, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_218, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(218, s), p, o, m)
+# define NDNBOOST_PP_FOR_218_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(219, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_219, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(219, s), p, o, m)
+# define NDNBOOST_PP_FOR_219_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(220, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_220, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(220, s), p, o, m)
+# define NDNBOOST_PP_FOR_220_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(221, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_221, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(221, s), p, o, m)
+# define NDNBOOST_PP_FOR_221_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(222, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_222, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(222, s), p, o, m)
+# define NDNBOOST_PP_FOR_222_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(223, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_223, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(223, s), p, o, m)
+# define NDNBOOST_PP_FOR_223_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(224, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_224, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(224, s), p, o, m)
+# define NDNBOOST_PP_FOR_224_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(225, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_225, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(225, s), p, o, m)
+# define NDNBOOST_PP_FOR_225_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(226, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_226, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(226, s), p, o, m)
+# define NDNBOOST_PP_FOR_226_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(227, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_227, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(227, s), p, o, m)
+# define NDNBOOST_PP_FOR_227_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(228, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_228, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(228, s), p, o, m)
+# define NDNBOOST_PP_FOR_228_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(229, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_229, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(229, s), p, o, m)
+# define NDNBOOST_PP_FOR_229_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(230, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_230, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(230, s), p, o, m)
+# define NDNBOOST_PP_FOR_230_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(231, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_231, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(231, s), p, o, m)
+# define NDNBOOST_PP_FOR_231_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(232, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_232, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(232, s), p, o, m)
+# define NDNBOOST_PP_FOR_232_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(233, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_233, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(233, s), p, o, m)
+# define NDNBOOST_PP_FOR_233_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(234, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_234, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(234, s), p, o, m)
+# define NDNBOOST_PP_FOR_234_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(235, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_235, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(235, s), p, o, m)
+# define NDNBOOST_PP_FOR_235_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(236, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_236, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(236, s), p, o, m)
+# define NDNBOOST_PP_FOR_236_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(237, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_237, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(237, s), p, o, m)
+# define NDNBOOST_PP_FOR_237_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(238, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_238, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(238, s), p, o, m)
+# define NDNBOOST_PP_FOR_238_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(239, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_239, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(239, s), p, o, m)
+# define NDNBOOST_PP_FOR_239_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(240, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_240, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(240, s), p, o, m)
+# define NDNBOOST_PP_FOR_240_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(241, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_241, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(241, s), p, o, m)
+# define NDNBOOST_PP_FOR_241_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(242, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_242, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(242, s), p, o, m)
+# define NDNBOOST_PP_FOR_242_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(243, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_243, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(243, s), p, o, m)
+# define NDNBOOST_PP_FOR_243_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(244, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_244, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(244, s), p, o, m)
+# define NDNBOOST_PP_FOR_244_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(245, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_245, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(245, s), p, o, m)
+# define NDNBOOST_PP_FOR_245_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(246, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_246, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(246, s), p, o, m)
+# define NDNBOOST_PP_FOR_246_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(247, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_247, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(247, s), p, o, m)
+# define NDNBOOST_PP_FOR_247_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(248, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_248, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(248, s), p, o, m)
+# define NDNBOOST_PP_FOR_248_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(249, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_249, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(249, s), p, o, m)
+# define NDNBOOST_PP_FOR_249_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(250, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_250, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(250, s), p, o, m)
+# define NDNBOOST_PP_FOR_250_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(251, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_251, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(251, s), p, o, m)
+# define NDNBOOST_PP_FOR_251_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(252, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_252, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(252, s), p, o, m)
+# define NDNBOOST_PP_FOR_252_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(253, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_253, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(253, s), p, o, m)
+# define NDNBOOST_PP_FOR_253_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(254, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_254, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(254, s), p, o, m)
+# define NDNBOOST_PP_FOR_254_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(255, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_255, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(255, s), p, o, m)
+# define NDNBOOST_PP_FOR_255_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(256, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_256, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(256, s), p, o, m)
+# define NDNBOOST_PP_FOR_256_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(257, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_257, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(257, s), p, o, m)
 #
 # endif
diff --git a/include/ndnboost/preprocessor/repetition/detail/edg/for.hpp b/include/ndnboost/preprocessor/repetition/detail/edg/for.hpp
index 4230ab0..9175032 100644
--- a/include/ndnboost/preprocessor/repetition/detail/edg/for.hpp
+++ b/include/ndnboost/preprocessor/repetition/detail/edg/for.hpp
@@ -11,524 +11,524 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_REPETITION_DETAIL_EDG_FOR_HPP
-# define BOOST_PREPROCESSOR_REPETITION_DETAIL_EDG_FOR_HPP
+# ifndef NDNBOOST_PREPROCESSOR_REPETITION_DETAIL_EDG_FOR_HPP
+# define NDNBOOST_PREPROCESSOR_REPETITION_DETAIL_EDG_FOR_HPP
 #
 # include <ndnboost/preprocessor/control/if.hpp>
 # include <ndnboost/preprocessor/tuple/eat.hpp>
 #
-# define BOOST_PP_FOR_1(s, p, o, m) BOOST_PP_FOR_1_I(s, p, o, m)
-# define BOOST_PP_FOR_2(s, p, o, m) BOOST_PP_FOR_2_I(s, p, o, m)
-# define BOOST_PP_FOR_3(s, p, o, m) BOOST_PP_FOR_3_I(s, p, o, m)
-# define BOOST_PP_FOR_4(s, p, o, m) BOOST_PP_FOR_4_I(s, p, o, m)
-# define BOOST_PP_FOR_5(s, p, o, m) BOOST_PP_FOR_5_I(s, p, o, m)
-# define BOOST_PP_FOR_6(s, p, o, m) BOOST_PP_FOR_6_I(s, p, o, m)
-# define BOOST_PP_FOR_7(s, p, o, m) BOOST_PP_FOR_7_I(s, p, o, m)
-# define BOOST_PP_FOR_8(s, p, o, m) BOOST_PP_FOR_8_I(s, p, o, m)
-# define BOOST_PP_FOR_9(s, p, o, m) BOOST_PP_FOR_9_I(s, p, o, m)
-# define BOOST_PP_FOR_10(s, p, o, m) BOOST_PP_FOR_10_I(s, p, o, m)
-# define BOOST_PP_FOR_11(s, p, o, m) BOOST_PP_FOR_11_I(s, p, o, m)
-# define BOOST_PP_FOR_12(s, p, o, m) BOOST_PP_FOR_12_I(s, p, o, m)
-# define BOOST_PP_FOR_13(s, p, o, m) BOOST_PP_FOR_13_I(s, p, o, m)
-# define BOOST_PP_FOR_14(s, p, o, m) BOOST_PP_FOR_14_I(s, p, o, m)
-# define BOOST_PP_FOR_15(s, p, o, m) BOOST_PP_FOR_15_I(s, p, o, m)
-# define BOOST_PP_FOR_16(s, p, o, m) BOOST_PP_FOR_16_I(s, p, o, m)
-# define BOOST_PP_FOR_17(s, p, o, m) BOOST_PP_FOR_17_I(s, p, o, m)
-# define BOOST_PP_FOR_18(s, p, o, m) BOOST_PP_FOR_18_I(s, p, o, m)
-# define BOOST_PP_FOR_19(s, p, o, m) BOOST_PP_FOR_19_I(s, p, o, m)
-# define BOOST_PP_FOR_20(s, p, o, m) BOOST_PP_FOR_20_I(s, p, o, m)
-# define BOOST_PP_FOR_21(s, p, o, m) BOOST_PP_FOR_21_I(s, p, o, m)
-# define BOOST_PP_FOR_22(s, p, o, m) BOOST_PP_FOR_22_I(s, p, o, m)
-# define BOOST_PP_FOR_23(s, p, o, m) BOOST_PP_FOR_23_I(s, p, o, m)
-# define BOOST_PP_FOR_24(s, p, o, m) BOOST_PP_FOR_24_I(s, p, o, m)
-# define BOOST_PP_FOR_25(s, p, o, m) BOOST_PP_FOR_25_I(s, p, o, m)
-# define BOOST_PP_FOR_26(s, p, o, m) BOOST_PP_FOR_26_I(s, p, o, m)
-# define BOOST_PP_FOR_27(s, p, o, m) BOOST_PP_FOR_27_I(s, p, o, m)
-# define BOOST_PP_FOR_28(s, p, o, m) BOOST_PP_FOR_28_I(s, p, o, m)
-# define BOOST_PP_FOR_29(s, p, o, m) BOOST_PP_FOR_29_I(s, p, o, m)
-# define BOOST_PP_FOR_30(s, p, o, m) BOOST_PP_FOR_30_I(s, p, o, m)
-# define BOOST_PP_FOR_31(s, p, o, m) BOOST_PP_FOR_31_I(s, p, o, m)
-# define BOOST_PP_FOR_32(s, p, o, m) BOOST_PP_FOR_32_I(s, p, o, m)
-# define BOOST_PP_FOR_33(s, p, o, m) BOOST_PP_FOR_33_I(s, p, o, m)
-# define BOOST_PP_FOR_34(s, p, o, m) BOOST_PP_FOR_34_I(s, p, o, m)
-# define BOOST_PP_FOR_35(s, p, o, m) BOOST_PP_FOR_35_I(s, p, o, m)
-# define BOOST_PP_FOR_36(s, p, o, m) BOOST_PP_FOR_36_I(s, p, o, m)
-# define BOOST_PP_FOR_37(s, p, o, m) BOOST_PP_FOR_37_I(s, p, o, m)
-# define BOOST_PP_FOR_38(s, p, o, m) BOOST_PP_FOR_38_I(s, p, o, m)
-# define BOOST_PP_FOR_39(s, p, o, m) BOOST_PP_FOR_39_I(s, p, o, m)
-# define BOOST_PP_FOR_40(s, p, o, m) BOOST_PP_FOR_40_I(s, p, o, m)
-# define BOOST_PP_FOR_41(s, p, o, m) BOOST_PP_FOR_41_I(s, p, o, m)
-# define BOOST_PP_FOR_42(s, p, o, m) BOOST_PP_FOR_42_I(s, p, o, m)
-# define BOOST_PP_FOR_43(s, p, o, m) BOOST_PP_FOR_43_I(s, p, o, m)
-# define BOOST_PP_FOR_44(s, p, o, m) BOOST_PP_FOR_44_I(s, p, o, m)
-# define BOOST_PP_FOR_45(s, p, o, m) BOOST_PP_FOR_45_I(s, p, o, m)
-# define BOOST_PP_FOR_46(s, p, o, m) BOOST_PP_FOR_46_I(s, p, o, m)
-# define BOOST_PP_FOR_47(s, p, o, m) BOOST_PP_FOR_47_I(s, p, o, m)
-# define BOOST_PP_FOR_48(s, p, o, m) BOOST_PP_FOR_48_I(s, p, o, m)
-# define BOOST_PP_FOR_49(s, p, o, m) BOOST_PP_FOR_49_I(s, p, o, m)
-# define BOOST_PP_FOR_50(s, p, o, m) BOOST_PP_FOR_50_I(s, p, o, m)
-# define BOOST_PP_FOR_51(s, p, o, m) BOOST_PP_FOR_51_I(s, p, o, m)
-# define BOOST_PP_FOR_52(s, p, o, m) BOOST_PP_FOR_52_I(s, p, o, m)
-# define BOOST_PP_FOR_53(s, p, o, m) BOOST_PP_FOR_53_I(s, p, o, m)
-# define BOOST_PP_FOR_54(s, p, o, m) BOOST_PP_FOR_54_I(s, p, o, m)
-# define BOOST_PP_FOR_55(s, p, o, m) BOOST_PP_FOR_55_I(s, p, o, m)
-# define BOOST_PP_FOR_56(s, p, o, m) BOOST_PP_FOR_56_I(s, p, o, m)
-# define BOOST_PP_FOR_57(s, p, o, m) BOOST_PP_FOR_57_I(s, p, o, m)
-# define BOOST_PP_FOR_58(s, p, o, m) BOOST_PP_FOR_58_I(s, p, o, m)
-# define BOOST_PP_FOR_59(s, p, o, m) BOOST_PP_FOR_59_I(s, p, o, m)
-# define BOOST_PP_FOR_60(s, p, o, m) BOOST_PP_FOR_60_I(s, p, o, m)
-# define BOOST_PP_FOR_61(s, p, o, m) BOOST_PP_FOR_61_I(s, p, o, m)
-# define BOOST_PP_FOR_62(s, p, o, m) BOOST_PP_FOR_62_I(s, p, o, m)
-# define BOOST_PP_FOR_63(s, p, o, m) BOOST_PP_FOR_63_I(s, p, o, m)
-# define BOOST_PP_FOR_64(s, p, o, m) BOOST_PP_FOR_64_I(s, p, o, m)
-# define BOOST_PP_FOR_65(s, p, o, m) BOOST_PP_FOR_65_I(s, p, o, m)
-# define BOOST_PP_FOR_66(s, p, o, m) BOOST_PP_FOR_66_I(s, p, o, m)
-# define BOOST_PP_FOR_67(s, p, o, m) BOOST_PP_FOR_67_I(s, p, o, m)
-# define BOOST_PP_FOR_68(s, p, o, m) BOOST_PP_FOR_68_I(s, p, o, m)
-# define BOOST_PP_FOR_69(s, p, o, m) BOOST_PP_FOR_69_I(s, p, o, m)
-# define BOOST_PP_FOR_70(s, p, o, m) BOOST_PP_FOR_70_I(s, p, o, m)
-# define BOOST_PP_FOR_71(s, p, o, m) BOOST_PP_FOR_71_I(s, p, o, m)
-# define BOOST_PP_FOR_72(s, p, o, m) BOOST_PP_FOR_72_I(s, p, o, m)
-# define BOOST_PP_FOR_73(s, p, o, m) BOOST_PP_FOR_73_I(s, p, o, m)
-# define BOOST_PP_FOR_74(s, p, o, m) BOOST_PP_FOR_74_I(s, p, o, m)
-# define BOOST_PP_FOR_75(s, p, o, m) BOOST_PP_FOR_75_I(s, p, o, m)
-# define BOOST_PP_FOR_76(s, p, o, m) BOOST_PP_FOR_76_I(s, p, o, m)
-# define BOOST_PP_FOR_77(s, p, o, m) BOOST_PP_FOR_77_I(s, p, o, m)
-# define BOOST_PP_FOR_78(s, p, o, m) BOOST_PP_FOR_78_I(s, p, o, m)
-# define BOOST_PP_FOR_79(s, p, o, m) BOOST_PP_FOR_79_I(s, p, o, m)
-# define BOOST_PP_FOR_80(s, p, o, m) BOOST_PP_FOR_80_I(s, p, o, m)
-# define BOOST_PP_FOR_81(s, p, o, m) BOOST_PP_FOR_81_I(s, p, o, m)
-# define BOOST_PP_FOR_82(s, p, o, m) BOOST_PP_FOR_82_I(s, p, o, m)
-# define BOOST_PP_FOR_83(s, p, o, m) BOOST_PP_FOR_83_I(s, p, o, m)
-# define BOOST_PP_FOR_84(s, p, o, m) BOOST_PP_FOR_84_I(s, p, o, m)
-# define BOOST_PP_FOR_85(s, p, o, m) BOOST_PP_FOR_85_I(s, p, o, m)
-# define BOOST_PP_FOR_86(s, p, o, m) BOOST_PP_FOR_86_I(s, p, o, m)
-# define BOOST_PP_FOR_87(s, p, o, m) BOOST_PP_FOR_87_I(s, p, o, m)
-# define BOOST_PP_FOR_88(s, p, o, m) BOOST_PP_FOR_88_I(s, p, o, m)
-# define BOOST_PP_FOR_89(s, p, o, m) BOOST_PP_FOR_89_I(s, p, o, m)
-# define BOOST_PP_FOR_90(s, p, o, m) BOOST_PP_FOR_90_I(s, p, o, m)
-# define BOOST_PP_FOR_91(s, p, o, m) BOOST_PP_FOR_91_I(s, p, o, m)
-# define BOOST_PP_FOR_92(s, p, o, m) BOOST_PP_FOR_92_I(s, p, o, m)
-# define BOOST_PP_FOR_93(s, p, o, m) BOOST_PP_FOR_93_I(s, p, o, m)
-# define BOOST_PP_FOR_94(s, p, o, m) BOOST_PP_FOR_94_I(s, p, o, m)
-# define BOOST_PP_FOR_95(s, p, o, m) BOOST_PP_FOR_95_I(s, p, o, m)
-# define BOOST_PP_FOR_96(s, p, o, m) BOOST_PP_FOR_96_I(s, p, o, m)
-# define BOOST_PP_FOR_97(s, p, o, m) BOOST_PP_FOR_97_I(s, p, o, m)
-# define BOOST_PP_FOR_98(s, p, o, m) BOOST_PP_FOR_98_I(s, p, o, m)
-# define BOOST_PP_FOR_99(s, p, o, m) BOOST_PP_FOR_99_I(s, p, o, m)
-# define BOOST_PP_FOR_100(s, p, o, m) BOOST_PP_FOR_100_I(s, p, o, m)
-# define BOOST_PP_FOR_101(s, p, o, m) BOOST_PP_FOR_101_I(s, p, o, m)
-# define BOOST_PP_FOR_102(s, p, o, m) BOOST_PP_FOR_102_I(s, p, o, m)
-# define BOOST_PP_FOR_103(s, p, o, m) BOOST_PP_FOR_103_I(s, p, o, m)
-# define BOOST_PP_FOR_104(s, p, o, m) BOOST_PP_FOR_104_I(s, p, o, m)
-# define BOOST_PP_FOR_105(s, p, o, m) BOOST_PP_FOR_105_I(s, p, o, m)
-# define BOOST_PP_FOR_106(s, p, o, m) BOOST_PP_FOR_106_I(s, p, o, m)
-# define BOOST_PP_FOR_107(s, p, o, m) BOOST_PP_FOR_107_I(s, p, o, m)
-# define BOOST_PP_FOR_108(s, p, o, m) BOOST_PP_FOR_108_I(s, p, o, m)
-# define BOOST_PP_FOR_109(s, p, o, m) BOOST_PP_FOR_109_I(s, p, o, m)
-# define BOOST_PP_FOR_110(s, p, o, m) BOOST_PP_FOR_110_I(s, p, o, m)
-# define BOOST_PP_FOR_111(s, p, o, m) BOOST_PP_FOR_111_I(s, p, o, m)
-# define BOOST_PP_FOR_112(s, p, o, m) BOOST_PP_FOR_112_I(s, p, o, m)
-# define BOOST_PP_FOR_113(s, p, o, m) BOOST_PP_FOR_113_I(s, p, o, m)
-# define BOOST_PP_FOR_114(s, p, o, m) BOOST_PP_FOR_114_I(s, p, o, m)
-# define BOOST_PP_FOR_115(s, p, o, m) BOOST_PP_FOR_115_I(s, p, o, m)
-# define BOOST_PP_FOR_116(s, p, o, m) BOOST_PP_FOR_116_I(s, p, o, m)
-# define BOOST_PP_FOR_117(s, p, o, m) BOOST_PP_FOR_117_I(s, p, o, m)
-# define BOOST_PP_FOR_118(s, p, o, m) BOOST_PP_FOR_118_I(s, p, o, m)
-# define BOOST_PP_FOR_119(s, p, o, m) BOOST_PP_FOR_119_I(s, p, o, m)
-# define BOOST_PP_FOR_120(s, p, o, m) BOOST_PP_FOR_120_I(s, p, o, m)
-# define BOOST_PP_FOR_121(s, p, o, m) BOOST_PP_FOR_121_I(s, p, o, m)
-# define BOOST_PP_FOR_122(s, p, o, m) BOOST_PP_FOR_122_I(s, p, o, m)
-# define BOOST_PP_FOR_123(s, p, o, m) BOOST_PP_FOR_123_I(s, p, o, m)
-# define BOOST_PP_FOR_124(s, p, o, m) BOOST_PP_FOR_124_I(s, p, o, m)
-# define BOOST_PP_FOR_125(s, p, o, m) BOOST_PP_FOR_125_I(s, p, o, m)
-# define BOOST_PP_FOR_126(s, p, o, m) BOOST_PP_FOR_126_I(s, p, o, m)
-# define BOOST_PP_FOR_127(s, p, o, m) BOOST_PP_FOR_127_I(s, p, o, m)
-# define BOOST_PP_FOR_128(s, p, o, m) BOOST_PP_FOR_128_I(s, p, o, m)
-# define BOOST_PP_FOR_129(s, p, o, m) BOOST_PP_FOR_129_I(s, p, o, m)
-# define BOOST_PP_FOR_130(s, p, o, m) BOOST_PP_FOR_130_I(s, p, o, m)
-# define BOOST_PP_FOR_131(s, p, o, m) BOOST_PP_FOR_131_I(s, p, o, m)
-# define BOOST_PP_FOR_132(s, p, o, m) BOOST_PP_FOR_132_I(s, p, o, m)
-# define BOOST_PP_FOR_133(s, p, o, m) BOOST_PP_FOR_133_I(s, p, o, m)
-# define BOOST_PP_FOR_134(s, p, o, m) BOOST_PP_FOR_134_I(s, p, o, m)
-# define BOOST_PP_FOR_135(s, p, o, m) BOOST_PP_FOR_135_I(s, p, o, m)
-# define BOOST_PP_FOR_136(s, p, o, m) BOOST_PP_FOR_136_I(s, p, o, m)
-# define BOOST_PP_FOR_137(s, p, o, m) BOOST_PP_FOR_137_I(s, p, o, m)
-# define BOOST_PP_FOR_138(s, p, o, m) BOOST_PP_FOR_138_I(s, p, o, m)
-# define BOOST_PP_FOR_139(s, p, o, m) BOOST_PP_FOR_139_I(s, p, o, m)
-# define BOOST_PP_FOR_140(s, p, o, m) BOOST_PP_FOR_140_I(s, p, o, m)
-# define BOOST_PP_FOR_141(s, p, o, m) BOOST_PP_FOR_141_I(s, p, o, m)
-# define BOOST_PP_FOR_142(s, p, o, m) BOOST_PP_FOR_142_I(s, p, o, m)
-# define BOOST_PP_FOR_143(s, p, o, m) BOOST_PP_FOR_143_I(s, p, o, m)
-# define BOOST_PP_FOR_144(s, p, o, m) BOOST_PP_FOR_144_I(s, p, o, m)
-# define BOOST_PP_FOR_145(s, p, o, m) BOOST_PP_FOR_145_I(s, p, o, m)
-# define BOOST_PP_FOR_146(s, p, o, m) BOOST_PP_FOR_146_I(s, p, o, m)
-# define BOOST_PP_FOR_147(s, p, o, m) BOOST_PP_FOR_147_I(s, p, o, m)
-# define BOOST_PP_FOR_148(s, p, o, m) BOOST_PP_FOR_148_I(s, p, o, m)
-# define BOOST_PP_FOR_149(s, p, o, m) BOOST_PP_FOR_149_I(s, p, o, m)
-# define BOOST_PP_FOR_150(s, p, o, m) BOOST_PP_FOR_150_I(s, p, o, m)
-# define BOOST_PP_FOR_151(s, p, o, m) BOOST_PP_FOR_151_I(s, p, o, m)
-# define BOOST_PP_FOR_152(s, p, o, m) BOOST_PP_FOR_152_I(s, p, o, m)
-# define BOOST_PP_FOR_153(s, p, o, m) BOOST_PP_FOR_153_I(s, p, o, m)
-# define BOOST_PP_FOR_154(s, p, o, m) BOOST_PP_FOR_154_I(s, p, o, m)
-# define BOOST_PP_FOR_155(s, p, o, m) BOOST_PP_FOR_155_I(s, p, o, m)
-# define BOOST_PP_FOR_156(s, p, o, m) BOOST_PP_FOR_156_I(s, p, o, m)
-# define BOOST_PP_FOR_157(s, p, o, m) BOOST_PP_FOR_157_I(s, p, o, m)
-# define BOOST_PP_FOR_158(s, p, o, m) BOOST_PP_FOR_158_I(s, p, o, m)
-# define BOOST_PP_FOR_159(s, p, o, m) BOOST_PP_FOR_159_I(s, p, o, m)
-# define BOOST_PP_FOR_160(s, p, o, m) BOOST_PP_FOR_160_I(s, p, o, m)
-# define BOOST_PP_FOR_161(s, p, o, m) BOOST_PP_FOR_161_I(s, p, o, m)
-# define BOOST_PP_FOR_162(s, p, o, m) BOOST_PP_FOR_162_I(s, p, o, m)
-# define BOOST_PP_FOR_163(s, p, o, m) BOOST_PP_FOR_163_I(s, p, o, m)
-# define BOOST_PP_FOR_164(s, p, o, m) BOOST_PP_FOR_164_I(s, p, o, m)
-# define BOOST_PP_FOR_165(s, p, o, m) BOOST_PP_FOR_165_I(s, p, o, m)
-# define BOOST_PP_FOR_166(s, p, o, m) BOOST_PP_FOR_166_I(s, p, o, m)
-# define BOOST_PP_FOR_167(s, p, o, m) BOOST_PP_FOR_167_I(s, p, o, m)
-# define BOOST_PP_FOR_168(s, p, o, m) BOOST_PP_FOR_168_I(s, p, o, m)
-# define BOOST_PP_FOR_169(s, p, o, m) BOOST_PP_FOR_169_I(s, p, o, m)
-# define BOOST_PP_FOR_170(s, p, o, m) BOOST_PP_FOR_170_I(s, p, o, m)
-# define BOOST_PP_FOR_171(s, p, o, m) BOOST_PP_FOR_171_I(s, p, o, m)
-# define BOOST_PP_FOR_172(s, p, o, m) BOOST_PP_FOR_172_I(s, p, o, m)
-# define BOOST_PP_FOR_173(s, p, o, m) BOOST_PP_FOR_173_I(s, p, o, m)
-# define BOOST_PP_FOR_174(s, p, o, m) BOOST_PP_FOR_174_I(s, p, o, m)
-# define BOOST_PP_FOR_175(s, p, o, m) BOOST_PP_FOR_175_I(s, p, o, m)
-# define BOOST_PP_FOR_176(s, p, o, m) BOOST_PP_FOR_176_I(s, p, o, m)
-# define BOOST_PP_FOR_177(s, p, o, m) BOOST_PP_FOR_177_I(s, p, o, m)
-# define BOOST_PP_FOR_178(s, p, o, m) BOOST_PP_FOR_178_I(s, p, o, m)
-# define BOOST_PP_FOR_179(s, p, o, m) BOOST_PP_FOR_179_I(s, p, o, m)
-# define BOOST_PP_FOR_180(s, p, o, m) BOOST_PP_FOR_180_I(s, p, o, m)
-# define BOOST_PP_FOR_181(s, p, o, m) BOOST_PP_FOR_181_I(s, p, o, m)
-# define BOOST_PP_FOR_182(s, p, o, m) BOOST_PP_FOR_182_I(s, p, o, m)
-# define BOOST_PP_FOR_183(s, p, o, m) BOOST_PP_FOR_183_I(s, p, o, m)
-# define BOOST_PP_FOR_184(s, p, o, m) BOOST_PP_FOR_184_I(s, p, o, m)
-# define BOOST_PP_FOR_185(s, p, o, m) BOOST_PP_FOR_185_I(s, p, o, m)
-# define BOOST_PP_FOR_186(s, p, o, m) BOOST_PP_FOR_186_I(s, p, o, m)
-# define BOOST_PP_FOR_187(s, p, o, m) BOOST_PP_FOR_187_I(s, p, o, m)
-# define BOOST_PP_FOR_188(s, p, o, m) BOOST_PP_FOR_188_I(s, p, o, m)
-# define BOOST_PP_FOR_189(s, p, o, m) BOOST_PP_FOR_189_I(s, p, o, m)
-# define BOOST_PP_FOR_190(s, p, o, m) BOOST_PP_FOR_190_I(s, p, o, m)
-# define BOOST_PP_FOR_191(s, p, o, m) BOOST_PP_FOR_191_I(s, p, o, m)
-# define BOOST_PP_FOR_192(s, p, o, m) BOOST_PP_FOR_192_I(s, p, o, m)
-# define BOOST_PP_FOR_193(s, p, o, m) BOOST_PP_FOR_193_I(s, p, o, m)
-# define BOOST_PP_FOR_194(s, p, o, m) BOOST_PP_FOR_194_I(s, p, o, m)
-# define BOOST_PP_FOR_195(s, p, o, m) BOOST_PP_FOR_195_I(s, p, o, m)
-# define BOOST_PP_FOR_196(s, p, o, m) BOOST_PP_FOR_196_I(s, p, o, m)
-# define BOOST_PP_FOR_197(s, p, o, m) BOOST_PP_FOR_197_I(s, p, o, m)
-# define BOOST_PP_FOR_198(s, p, o, m) BOOST_PP_FOR_198_I(s, p, o, m)
-# define BOOST_PP_FOR_199(s, p, o, m) BOOST_PP_FOR_199_I(s, p, o, m)
-# define BOOST_PP_FOR_200(s, p, o, m) BOOST_PP_FOR_200_I(s, p, o, m)
-# define BOOST_PP_FOR_201(s, p, o, m) BOOST_PP_FOR_201_I(s, p, o, m)
-# define BOOST_PP_FOR_202(s, p, o, m) BOOST_PP_FOR_202_I(s, p, o, m)
-# define BOOST_PP_FOR_203(s, p, o, m) BOOST_PP_FOR_203_I(s, p, o, m)
-# define BOOST_PP_FOR_204(s, p, o, m) BOOST_PP_FOR_204_I(s, p, o, m)
-# define BOOST_PP_FOR_205(s, p, o, m) BOOST_PP_FOR_205_I(s, p, o, m)
-# define BOOST_PP_FOR_206(s, p, o, m) BOOST_PP_FOR_206_I(s, p, o, m)
-# define BOOST_PP_FOR_207(s, p, o, m) BOOST_PP_FOR_207_I(s, p, o, m)
-# define BOOST_PP_FOR_208(s, p, o, m) BOOST_PP_FOR_208_I(s, p, o, m)
-# define BOOST_PP_FOR_209(s, p, o, m) BOOST_PP_FOR_209_I(s, p, o, m)
-# define BOOST_PP_FOR_210(s, p, o, m) BOOST_PP_FOR_210_I(s, p, o, m)
-# define BOOST_PP_FOR_211(s, p, o, m) BOOST_PP_FOR_211_I(s, p, o, m)
-# define BOOST_PP_FOR_212(s, p, o, m) BOOST_PP_FOR_212_I(s, p, o, m)
-# define BOOST_PP_FOR_213(s, p, o, m) BOOST_PP_FOR_213_I(s, p, o, m)
-# define BOOST_PP_FOR_214(s, p, o, m) BOOST_PP_FOR_214_I(s, p, o, m)
-# define BOOST_PP_FOR_215(s, p, o, m) BOOST_PP_FOR_215_I(s, p, o, m)
-# define BOOST_PP_FOR_216(s, p, o, m) BOOST_PP_FOR_216_I(s, p, o, m)
-# define BOOST_PP_FOR_217(s, p, o, m) BOOST_PP_FOR_217_I(s, p, o, m)
-# define BOOST_PP_FOR_218(s, p, o, m) BOOST_PP_FOR_218_I(s, p, o, m)
-# define BOOST_PP_FOR_219(s, p, o, m) BOOST_PP_FOR_219_I(s, p, o, m)
-# define BOOST_PP_FOR_220(s, p, o, m) BOOST_PP_FOR_220_I(s, p, o, m)
-# define BOOST_PP_FOR_221(s, p, o, m) BOOST_PP_FOR_221_I(s, p, o, m)
-# define BOOST_PP_FOR_222(s, p, o, m) BOOST_PP_FOR_222_I(s, p, o, m)
-# define BOOST_PP_FOR_223(s, p, o, m) BOOST_PP_FOR_223_I(s, p, o, m)
-# define BOOST_PP_FOR_224(s, p, o, m) BOOST_PP_FOR_224_I(s, p, o, m)
-# define BOOST_PP_FOR_225(s, p, o, m) BOOST_PP_FOR_225_I(s, p, o, m)
-# define BOOST_PP_FOR_226(s, p, o, m) BOOST_PP_FOR_226_I(s, p, o, m)
-# define BOOST_PP_FOR_227(s, p, o, m) BOOST_PP_FOR_227_I(s, p, o, m)
-# define BOOST_PP_FOR_228(s, p, o, m) BOOST_PP_FOR_228_I(s, p, o, m)
-# define BOOST_PP_FOR_229(s, p, o, m) BOOST_PP_FOR_229_I(s, p, o, m)
-# define BOOST_PP_FOR_230(s, p, o, m) BOOST_PP_FOR_230_I(s, p, o, m)
-# define BOOST_PP_FOR_231(s, p, o, m) BOOST_PP_FOR_231_I(s, p, o, m)
-# define BOOST_PP_FOR_232(s, p, o, m) BOOST_PP_FOR_232_I(s, p, o, m)
-# define BOOST_PP_FOR_233(s, p, o, m) BOOST_PP_FOR_233_I(s, p, o, m)
-# define BOOST_PP_FOR_234(s, p, o, m) BOOST_PP_FOR_234_I(s, p, o, m)
-# define BOOST_PP_FOR_235(s, p, o, m) BOOST_PP_FOR_235_I(s, p, o, m)
-# define BOOST_PP_FOR_236(s, p, o, m) BOOST_PP_FOR_236_I(s, p, o, m)
-# define BOOST_PP_FOR_237(s, p, o, m) BOOST_PP_FOR_237_I(s, p, o, m)
-# define BOOST_PP_FOR_238(s, p, o, m) BOOST_PP_FOR_238_I(s, p, o, m)
-# define BOOST_PP_FOR_239(s, p, o, m) BOOST_PP_FOR_239_I(s, p, o, m)
-# define BOOST_PP_FOR_240(s, p, o, m) BOOST_PP_FOR_240_I(s, p, o, m)
-# define BOOST_PP_FOR_241(s, p, o, m) BOOST_PP_FOR_241_I(s, p, o, m)
-# define BOOST_PP_FOR_242(s, p, o, m) BOOST_PP_FOR_242_I(s, p, o, m)
-# define BOOST_PP_FOR_243(s, p, o, m) BOOST_PP_FOR_243_I(s, p, o, m)
-# define BOOST_PP_FOR_244(s, p, o, m) BOOST_PP_FOR_244_I(s, p, o, m)
-# define BOOST_PP_FOR_245(s, p, o, m) BOOST_PP_FOR_245_I(s, p, o, m)
-# define BOOST_PP_FOR_246(s, p, o, m) BOOST_PP_FOR_246_I(s, p, o, m)
-# define BOOST_PP_FOR_247(s, p, o, m) BOOST_PP_FOR_247_I(s, p, o, m)
-# define BOOST_PP_FOR_248(s, p, o, m) BOOST_PP_FOR_248_I(s, p, o, m)
-# define BOOST_PP_FOR_249(s, p, o, m) BOOST_PP_FOR_249_I(s, p, o, m)
-# define BOOST_PP_FOR_250(s, p, o, m) BOOST_PP_FOR_250_I(s, p, o, m)
-# define BOOST_PP_FOR_251(s, p, o, m) BOOST_PP_FOR_251_I(s, p, o, m)
-# define BOOST_PP_FOR_252(s, p, o, m) BOOST_PP_FOR_252_I(s, p, o, m)
-# define BOOST_PP_FOR_253(s, p, o, m) BOOST_PP_FOR_253_I(s, p, o, m)
-# define BOOST_PP_FOR_254(s, p, o, m) BOOST_PP_FOR_254_I(s, p, o, m)
-# define BOOST_PP_FOR_255(s, p, o, m) BOOST_PP_FOR_255_I(s, p, o, m)
-# define BOOST_PP_FOR_256(s, p, o, m) BOOST_PP_FOR_256_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_1(s, p, o, m) NDNBOOST_PP_FOR_1_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_2(s, p, o, m) NDNBOOST_PP_FOR_2_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_3(s, p, o, m) NDNBOOST_PP_FOR_3_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_4(s, p, o, m) NDNBOOST_PP_FOR_4_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_5(s, p, o, m) NDNBOOST_PP_FOR_5_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_6(s, p, o, m) NDNBOOST_PP_FOR_6_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_7(s, p, o, m) NDNBOOST_PP_FOR_7_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_8(s, p, o, m) NDNBOOST_PP_FOR_8_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_9(s, p, o, m) NDNBOOST_PP_FOR_9_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_10(s, p, o, m) NDNBOOST_PP_FOR_10_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_11(s, p, o, m) NDNBOOST_PP_FOR_11_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_12(s, p, o, m) NDNBOOST_PP_FOR_12_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_13(s, p, o, m) NDNBOOST_PP_FOR_13_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_14(s, p, o, m) NDNBOOST_PP_FOR_14_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_15(s, p, o, m) NDNBOOST_PP_FOR_15_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_16(s, p, o, m) NDNBOOST_PP_FOR_16_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_17(s, p, o, m) NDNBOOST_PP_FOR_17_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_18(s, p, o, m) NDNBOOST_PP_FOR_18_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_19(s, p, o, m) NDNBOOST_PP_FOR_19_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_20(s, p, o, m) NDNBOOST_PP_FOR_20_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_21(s, p, o, m) NDNBOOST_PP_FOR_21_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_22(s, p, o, m) NDNBOOST_PP_FOR_22_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_23(s, p, o, m) NDNBOOST_PP_FOR_23_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_24(s, p, o, m) NDNBOOST_PP_FOR_24_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_25(s, p, o, m) NDNBOOST_PP_FOR_25_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_26(s, p, o, m) NDNBOOST_PP_FOR_26_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_27(s, p, o, m) NDNBOOST_PP_FOR_27_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_28(s, p, o, m) NDNBOOST_PP_FOR_28_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_29(s, p, o, m) NDNBOOST_PP_FOR_29_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_30(s, p, o, m) NDNBOOST_PP_FOR_30_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_31(s, p, o, m) NDNBOOST_PP_FOR_31_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_32(s, p, o, m) NDNBOOST_PP_FOR_32_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_33(s, p, o, m) NDNBOOST_PP_FOR_33_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_34(s, p, o, m) NDNBOOST_PP_FOR_34_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_35(s, p, o, m) NDNBOOST_PP_FOR_35_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_36(s, p, o, m) NDNBOOST_PP_FOR_36_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_37(s, p, o, m) NDNBOOST_PP_FOR_37_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_38(s, p, o, m) NDNBOOST_PP_FOR_38_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_39(s, p, o, m) NDNBOOST_PP_FOR_39_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_40(s, p, o, m) NDNBOOST_PP_FOR_40_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_41(s, p, o, m) NDNBOOST_PP_FOR_41_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_42(s, p, o, m) NDNBOOST_PP_FOR_42_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_43(s, p, o, m) NDNBOOST_PP_FOR_43_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_44(s, p, o, m) NDNBOOST_PP_FOR_44_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_45(s, p, o, m) NDNBOOST_PP_FOR_45_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_46(s, p, o, m) NDNBOOST_PP_FOR_46_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_47(s, p, o, m) NDNBOOST_PP_FOR_47_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_48(s, p, o, m) NDNBOOST_PP_FOR_48_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_49(s, p, o, m) NDNBOOST_PP_FOR_49_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_50(s, p, o, m) NDNBOOST_PP_FOR_50_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_51(s, p, o, m) NDNBOOST_PP_FOR_51_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_52(s, p, o, m) NDNBOOST_PP_FOR_52_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_53(s, p, o, m) NDNBOOST_PP_FOR_53_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_54(s, p, o, m) NDNBOOST_PP_FOR_54_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_55(s, p, o, m) NDNBOOST_PP_FOR_55_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_56(s, p, o, m) NDNBOOST_PP_FOR_56_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_57(s, p, o, m) NDNBOOST_PP_FOR_57_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_58(s, p, o, m) NDNBOOST_PP_FOR_58_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_59(s, p, o, m) NDNBOOST_PP_FOR_59_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_60(s, p, o, m) NDNBOOST_PP_FOR_60_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_61(s, p, o, m) NDNBOOST_PP_FOR_61_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_62(s, p, o, m) NDNBOOST_PP_FOR_62_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_63(s, p, o, m) NDNBOOST_PP_FOR_63_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_64(s, p, o, m) NDNBOOST_PP_FOR_64_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_65(s, p, o, m) NDNBOOST_PP_FOR_65_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_66(s, p, o, m) NDNBOOST_PP_FOR_66_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_67(s, p, o, m) NDNBOOST_PP_FOR_67_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_68(s, p, o, m) NDNBOOST_PP_FOR_68_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_69(s, p, o, m) NDNBOOST_PP_FOR_69_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_70(s, p, o, m) NDNBOOST_PP_FOR_70_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_71(s, p, o, m) NDNBOOST_PP_FOR_71_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_72(s, p, o, m) NDNBOOST_PP_FOR_72_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_73(s, p, o, m) NDNBOOST_PP_FOR_73_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_74(s, p, o, m) NDNBOOST_PP_FOR_74_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_75(s, p, o, m) NDNBOOST_PP_FOR_75_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_76(s, p, o, m) NDNBOOST_PP_FOR_76_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_77(s, p, o, m) NDNBOOST_PP_FOR_77_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_78(s, p, o, m) NDNBOOST_PP_FOR_78_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_79(s, p, o, m) NDNBOOST_PP_FOR_79_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_80(s, p, o, m) NDNBOOST_PP_FOR_80_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_81(s, p, o, m) NDNBOOST_PP_FOR_81_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_82(s, p, o, m) NDNBOOST_PP_FOR_82_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_83(s, p, o, m) NDNBOOST_PP_FOR_83_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_84(s, p, o, m) NDNBOOST_PP_FOR_84_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_85(s, p, o, m) NDNBOOST_PP_FOR_85_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_86(s, p, o, m) NDNBOOST_PP_FOR_86_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_87(s, p, o, m) NDNBOOST_PP_FOR_87_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_88(s, p, o, m) NDNBOOST_PP_FOR_88_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_89(s, p, o, m) NDNBOOST_PP_FOR_89_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_90(s, p, o, m) NDNBOOST_PP_FOR_90_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_91(s, p, o, m) NDNBOOST_PP_FOR_91_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_92(s, p, o, m) NDNBOOST_PP_FOR_92_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_93(s, p, o, m) NDNBOOST_PP_FOR_93_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_94(s, p, o, m) NDNBOOST_PP_FOR_94_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_95(s, p, o, m) NDNBOOST_PP_FOR_95_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_96(s, p, o, m) NDNBOOST_PP_FOR_96_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_97(s, p, o, m) NDNBOOST_PP_FOR_97_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_98(s, p, o, m) NDNBOOST_PP_FOR_98_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_99(s, p, o, m) NDNBOOST_PP_FOR_99_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_100(s, p, o, m) NDNBOOST_PP_FOR_100_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_101(s, p, o, m) NDNBOOST_PP_FOR_101_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_102(s, p, o, m) NDNBOOST_PP_FOR_102_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_103(s, p, o, m) NDNBOOST_PP_FOR_103_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_104(s, p, o, m) NDNBOOST_PP_FOR_104_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_105(s, p, o, m) NDNBOOST_PP_FOR_105_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_106(s, p, o, m) NDNBOOST_PP_FOR_106_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_107(s, p, o, m) NDNBOOST_PP_FOR_107_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_108(s, p, o, m) NDNBOOST_PP_FOR_108_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_109(s, p, o, m) NDNBOOST_PP_FOR_109_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_110(s, p, o, m) NDNBOOST_PP_FOR_110_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_111(s, p, o, m) NDNBOOST_PP_FOR_111_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_112(s, p, o, m) NDNBOOST_PP_FOR_112_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_113(s, p, o, m) NDNBOOST_PP_FOR_113_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_114(s, p, o, m) NDNBOOST_PP_FOR_114_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_115(s, p, o, m) NDNBOOST_PP_FOR_115_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_116(s, p, o, m) NDNBOOST_PP_FOR_116_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_117(s, p, o, m) NDNBOOST_PP_FOR_117_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_118(s, p, o, m) NDNBOOST_PP_FOR_118_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_119(s, p, o, m) NDNBOOST_PP_FOR_119_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_120(s, p, o, m) NDNBOOST_PP_FOR_120_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_121(s, p, o, m) NDNBOOST_PP_FOR_121_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_122(s, p, o, m) NDNBOOST_PP_FOR_122_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_123(s, p, o, m) NDNBOOST_PP_FOR_123_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_124(s, p, o, m) NDNBOOST_PP_FOR_124_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_125(s, p, o, m) NDNBOOST_PP_FOR_125_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_126(s, p, o, m) NDNBOOST_PP_FOR_126_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_127(s, p, o, m) NDNBOOST_PP_FOR_127_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_128(s, p, o, m) NDNBOOST_PP_FOR_128_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_129(s, p, o, m) NDNBOOST_PP_FOR_129_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_130(s, p, o, m) NDNBOOST_PP_FOR_130_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_131(s, p, o, m) NDNBOOST_PP_FOR_131_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_132(s, p, o, m) NDNBOOST_PP_FOR_132_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_133(s, p, o, m) NDNBOOST_PP_FOR_133_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_134(s, p, o, m) NDNBOOST_PP_FOR_134_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_135(s, p, o, m) NDNBOOST_PP_FOR_135_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_136(s, p, o, m) NDNBOOST_PP_FOR_136_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_137(s, p, o, m) NDNBOOST_PP_FOR_137_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_138(s, p, o, m) NDNBOOST_PP_FOR_138_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_139(s, p, o, m) NDNBOOST_PP_FOR_139_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_140(s, p, o, m) NDNBOOST_PP_FOR_140_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_141(s, p, o, m) NDNBOOST_PP_FOR_141_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_142(s, p, o, m) NDNBOOST_PP_FOR_142_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_143(s, p, o, m) NDNBOOST_PP_FOR_143_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_144(s, p, o, m) NDNBOOST_PP_FOR_144_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_145(s, p, o, m) NDNBOOST_PP_FOR_145_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_146(s, p, o, m) NDNBOOST_PP_FOR_146_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_147(s, p, o, m) NDNBOOST_PP_FOR_147_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_148(s, p, o, m) NDNBOOST_PP_FOR_148_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_149(s, p, o, m) NDNBOOST_PP_FOR_149_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_150(s, p, o, m) NDNBOOST_PP_FOR_150_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_151(s, p, o, m) NDNBOOST_PP_FOR_151_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_152(s, p, o, m) NDNBOOST_PP_FOR_152_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_153(s, p, o, m) NDNBOOST_PP_FOR_153_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_154(s, p, o, m) NDNBOOST_PP_FOR_154_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_155(s, p, o, m) NDNBOOST_PP_FOR_155_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_156(s, p, o, m) NDNBOOST_PP_FOR_156_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_157(s, p, o, m) NDNBOOST_PP_FOR_157_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_158(s, p, o, m) NDNBOOST_PP_FOR_158_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_159(s, p, o, m) NDNBOOST_PP_FOR_159_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_160(s, p, o, m) NDNBOOST_PP_FOR_160_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_161(s, p, o, m) NDNBOOST_PP_FOR_161_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_162(s, p, o, m) NDNBOOST_PP_FOR_162_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_163(s, p, o, m) NDNBOOST_PP_FOR_163_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_164(s, p, o, m) NDNBOOST_PP_FOR_164_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_165(s, p, o, m) NDNBOOST_PP_FOR_165_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_166(s, p, o, m) NDNBOOST_PP_FOR_166_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_167(s, p, o, m) NDNBOOST_PP_FOR_167_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_168(s, p, o, m) NDNBOOST_PP_FOR_168_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_169(s, p, o, m) NDNBOOST_PP_FOR_169_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_170(s, p, o, m) NDNBOOST_PP_FOR_170_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_171(s, p, o, m) NDNBOOST_PP_FOR_171_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_172(s, p, o, m) NDNBOOST_PP_FOR_172_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_173(s, p, o, m) NDNBOOST_PP_FOR_173_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_174(s, p, o, m) NDNBOOST_PP_FOR_174_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_175(s, p, o, m) NDNBOOST_PP_FOR_175_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_176(s, p, o, m) NDNBOOST_PP_FOR_176_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_177(s, p, o, m) NDNBOOST_PP_FOR_177_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_178(s, p, o, m) NDNBOOST_PP_FOR_178_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_179(s, p, o, m) NDNBOOST_PP_FOR_179_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_180(s, p, o, m) NDNBOOST_PP_FOR_180_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_181(s, p, o, m) NDNBOOST_PP_FOR_181_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_182(s, p, o, m) NDNBOOST_PP_FOR_182_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_183(s, p, o, m) NDNBOOST_PP_FOR_183_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_184(s, p, o, m) NDNBOOST_PP_FOR_184_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_185(s, p, o, m) NDNBOOST_PP_FOR_185_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_186(s, p, o, m) NDNBOOST_PP_FOR_186_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_187(s, p, o, m) NDNBOOST_PP_FOR_187_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_188(s, p, o, m) NDNBOOST_PP_FOR_188_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_189(s, p, o, m) NDNBOOST_PP_FOR_189_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_190(s, p, o, m) NDNBOOST_PP_FOR_190_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_191(s, p, o, m) NDNBOOST_PP_FOR_191_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_192(s, p, o, m) NDNBOOST_PP_FOR_192_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_193(s, p, o, m) NDNBOOST_PP_FOR_193_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_194(s, p, o, m) NDNBOOST_PP_FOR_194_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_195(s, p, o, m) NDNBOOST_PP_FOR_195_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_196(s, p, o, m) NDNBOOST_PP_FOR_196_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_197(s, p, o, m) NDNBOOST_PP_FOR_197_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_198(s, p, o, m) NDNBOOST_PP_FOR_198_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_199(s, p, o, m) NDNBOOST_PP_FOR_199_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_200(s, p, o, m) NDNBOOST_PP_FOR_200_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_201(s, p, o, m) NDNBOOST_PP_FOR_201_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_202(s, p, o, m) NDNBOOST_PP_FOR_202_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_203(s, p, o, m) NDNBOOST_PP_FOR_203_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_204(s, p, o, m) NDNBOOST_PP_FOR_204_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_205(s, p, o, m) NDNBOOST_PP_FOR_205_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_206(s, p, o, m) NDNBOOST_PP_FOR_206_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_207(s, p, o, m) NDNBOOST_PP_FOR_207_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_208(s, p, o, m) NDNBOOST_PP_FOR_208_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_209(s, p, o, m) NDNBOOST_PP_FOR_209_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_210(s, p, o, m) NDNBOOST_PP_FOR_210_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_211(s, p, o, m) NDNBOOST_PP_FOR_211_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_212(s, p, o, m) NDNBOOST_PP_FOR_212_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_213(s, p, o, m) NDNBOOST_PP_FOR_213_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_214(s, p, o, m) NDNBOOST_PP_FOR_214_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_215(s, p, o, m) NDNBOOST_PP_FOR_215_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_216(s, p, o, m) NDNBOOST_PP_FOR_216_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_217(s, p, o, m) NDNBOOST_PP_FOR_217_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_218(s, p, o, m) NDNBOOST_PP_FOR_218_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_219(s, p, o, m) NDNBOOST_PP_FOR_219_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_220(s, p, o, m) NDNBOOST_PP_FOR_220_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_221(s, p, o, m) NDNBOOST_PP_FOR_221_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_222(s, p, o, m) NDNBOOST_PP_FOR_222_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_223(s, p, o, m) NDNBOOST_PP_FOR_223_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_224(s, p, o, m) NDNBOOST_PP_FOR_224_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_225(s, p, o, m) NDNBOOST_PP_FOR_225_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_226(s, p, o, m) NDNBOOST_PP_FOR_226_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_227(s, p, o, m) NDNBOOST_PP_FOR_227_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_228(s, p, o, m) NDNBOOST_PP_FOR_228_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_229(s, p, o, m) NDNBOOST_PP_FOR_229_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_230(s, p, o, m) NDNBOOST_PP_FOR_230_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_231(s, p, o, m) NDNBOOST_PP_FOR_231_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_232(s, p, o, m) NDNBOOST_PP_FOR_232_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_233(s, p, o, m) NDNBOOST_PP_FOR_233_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_234(s, p, o, m) NDNBOOST_PP_FOR_234_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_235(s, p, o, m) NDNBOOST_PP_FOR_235_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_236(s, p, o, m) NDNBOOST_PP_FOR_236_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_237(s, p, o, m) NDNBOOST_PP_FOR_237_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_238(s, p, o, m) NDNBOOST_PP_FOR_238_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_239(s, p, o, m) NDNBOOST_PP_FOR_239_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_240(s, p, o, m) NDNBOOST_PP_FOR_240_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_241(s, p, o, m) NDNBOOST_PP_FOR_241_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_242(s, p, o, m) NDNBOOST_PP_FOR_242_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_243(s, p, o, m) NDNBOOST_PP_FOR_243_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_244(s, p, o, m) NDNBOOST_PP_FOR_244_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_245(s, p, o, m) NDNBOOST_PP_FOR_245_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_246(s, p, o, m) NDNBOOST_PP_FOR_246_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_247(s, p, o, m) NDNBOOST_PP_FOR_247_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_248(s, p, o, m) NDNBOOST_PP_FOR_248_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_249(s, p, o, m) NDNBOOST_PP_FOR_249_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_250(s, p, o, m) NDNBOOST_PP_FOR_250_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_251(s, p, o, m) NDNBOOST_PP_FOR_251_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_252(s, p, o, m) NDNBOOST_PP_FOR_252_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_253(s, p, o, m) NDNBOOST_PP_FOR_253_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_254(s, p, o, m) NDNBOOST_PP_FOR_254_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_255(s, p, o, m) NDNBOOST_PP_FOR_255_I(s, p, o, m)
+# define NDNBOOST_PP_FOR_256(s, p, o, m) NDNBOOST_PP_FOR_256_I(s, p, o, m)
 #
-# define BOOST_PP_FOR_1_I(s, p, o, m) BOOST_PP_IF(p(2, s), m, BOOST_PP_TUPLE_EAT_2)(2, s) BOOST_PP_IF(p(2, s), BOOST_PP_FOR_2, BOOST_PP_TUPLE_EAT_4)(o(2, s), p, o, m)
-# define BOOST_PP_FOR_2_I(s, p, o, m) BOOST_PP_IF(p(3, s), m, BOOST_PP_TUPLE_EAT_2)(3, s) BOOST_PP_IF(p(3, s), BOOST_PP_FOR_3, BOOST_PP_TUPLE_EAT_4)(o(3, s), p, o, m)
-# define BOOST_PP_FOR_3_I(s, p, o, m) BOOST_PP_IF(p(4, s), m, BOOST_PP_TUPLE_EAT_2)(4, s) BOOST_PP_IF(p(4, s), BOOST_PP_FOR_4, BOOST_PP_TUPLE_EAT_4)(o(4, s), p, o, m)
-# define BOOST_PP_FOR_4_I(s, p, o, m) BOOST_PP_IF(p(5, s), m, BOOST_PP_TUPLE_EAT_2)(5, s) BOOST_PP_IF(p(5, s), BOOST_PP_FOR_5, BOOST_PP_TUPLE_EAT_4)(o(5, s), p, o, m)
-# define BOOST_PP_FOR_5_I(s, p, o, m) BOOST_PP_IF(p(6, s), m, BOOST_PP_TUPLE_EAT_2)(6, s) BOOST_PP_IF(p(6, s), BOOST_PP_FOR_6, BOOST_PP_TUPLE_EAT_4)(o(6, s), p, o, m)
-# define BOOST_PP_FOR_6_I(s, p, o, m) BOOST_PP_IF(p(7, s), m, BOOST_PP_TUPLE_EAT_2)(7, s) BOOST_PP_IF(p(7, s), BOOST_PP_FOR_7, BOOST_PP_TUPLE_EAT_4)(o(7, s), p, o, m)
-# define BOOST_PP_FOR_7_I(s, p, o, m) BOOST_PP_IF(p(8, s), m, BOOST_PP_TUPLE_EAT_2)(8, s) BOOST_PP_IF(p(8, s), BOOST_PP_FOR_8, BOOST_PP_TUPLE_EAT_4)(o(8, s), p, o, m)
-# define BOOST_PP_FOR_8_I(s, p, o, m) BOOST_PP_IF(p(9, s), m, BOOST_PP_TUPLE_EAT_2)(9, s) BOOST_PP_IF(p(9, s), BOOST_PP_FOR_9, BOOST_PP_TUPLE_EAT_4)(o(9, s), p, o, m)
-# define BOOST_PP_FOR_9_I(s, p, o, m) BOOST_PP_IF(p(10, s), m, BOOST_PP_TUPLE_EAT_2)(10, s) BOOST_PP_IF(p(10, s), BOOST_PP_FOR_10, BOOST_PP_TUPLE_EAT_4)(o(10, s), p, o, m)
-# define BOOST_PP_FOR_10_I(s, p, o, m) BOOST_PP_IF(p(11, s), m, BOOST_PP_TUPLE_EAT_2)(11, s) BOOST_PP_IF(p(11, s), BOOST_PP_FOR_11, BOOST_PP_TUPLE_EAT_4)(o(11, s), p, o, m)
-# define BOOST_PP_FOR_11_I(s, p, o, m) BOOST_PP_IF(p(12, s), m, BOOST_PP_TUPLE_EAT_2)(12, s) BOOST_PP_IF(p(12, s), BOOST_PP_FOR_12, BOOST_PP_TUPLE_EAT_4)(o(12, s), p, o, m)
-# define BOOST_PP_FOR_12_I(s, p, o, m) BOOST_PP_IF(p(13, s), m, BOOST_PP_TUPLE_EAT_2)(13, s) BOOST_PP_IF(p(13, s), BOOST_PP_FOR_13, BOOST_PP_TUPLE_EAT_4)(o(13, s), p, o, m)
-# define BOOST_PP_FOR_13_I(s, p, o, m) BOOST_PP_IF(p(14, s), m, BOOST_PP_TUPLE_EAT_2)(14, s) BOOST_PP_IF(p(14, s), BOOST_PP_FOR_14, BOOST_PP_TUPLE_EAT_4)(o(14, s), p, o, m)
-# define BOOST_PP_FOR_14_I(s, p, o, m) BOOST_PP_IF(p(15, s), m, BOOST_PP_TUPLE_EAT_2)(15, s) BOOST_PP_IF(p(15, s), BOOST_PP_FOR_15, BOOST_PP_TUPLE_EAT_4)(o(15, s), p, o, m)
-# define BOOST_PP_FOR_15_I(s, p, o, m) BOOST_PP_IF(p(16, s), m, BOOST_PP_TUPLE_EAT_2)(16, s) BOOST_PP_IF(p(16, s), BOOST_PP_FOR_16, BOOST_PP_TUPLE_EAT_4)(o(16, s), p, o, m)
-# define BOOST_PP_FOR_16_I(s, p, o, m) BOOST_PP_IF(p(17, s), m, BOOST_PP_TUPLE_EAT_2)(17, s) BOOST_PP_IF(p(17, s), BOOST_PP_FOR_17, BOOST_PP_TUPLE_EAT_4)(o(17, s), p, o, m)
-# define BOOST_PP_FOR_17_I(s, p, o, m) BOOST_PP_IF(p(18, s), m, BOOST_PP_TUPLE_EAT_2)(18, s) BOOST_PP_IF(p(18, s), BOOST_PP_FOR_18, BOOST_PP_TUPLE_EAT_4)(o(18, s), p, o, m)
-# define BOOST_PP_FOR_18_I(s, p, o, m) BOOST_PP_IF(p(19, s), m, BOOST_PP_TUPLE_EAT_2)(19, s) BOOST_PP_IF(p(19, s), BOOST_PP_FOR_19, BOOST_PP_TUPLE_EAT_4)(o(19, s), p, o, m)
-# define BOOST_PP_FOR_19_I(s, p, o, m) BOOST_PP_IF(p(20, s), m, BOOST_PP_TUPLE_EAT_2)(20, s) BOOST_PP_IF(p(20, s), BOOST_PP_FOR_20, BOOST_PP_TUPLE_EAT_4)(o(20, s), p, o, m)
-# define BOOST_PP_FOR_20_I(s, p, o, m) BOOST_PP_IF(p(21, s), m, BOOST_PP_TUPLE_EAT_2)(21, s) BOOST_PP_IF(p(21, s), BOOST_PP_FOR_21, BOOST_PP_TUPLE_EAT_4)(o(21, s), p, o, m)
-# define BOOST_PP_FOR_21_I(s, p, o, m) BOOST_PP_IF(p(22, s), m, BOOST_PP_TUPLE_EAT_2)(22, s) BOOST_PP_IF(p(22, s), BOOST_PP_FOR_22, BOOST_PP_TUPLE_EAT_4)(o(22, s), p, o, m)
-# define BOOST_PP_FOR_22_I(s, p, o, m) BOOST_PP_IF(p(23, s), m, BOOST_PP_TUPLE_EAT_2)(23, s) BOOST_PP_IF(p(23, s), BOOST_PP_FOR_23, BOOST_PP_TUPLE_EAT_4)(o(23, s), p, o, m)
-# define BOOST_PP_FOR_23_I(s, p, o, m) BOOST_PP_IF(p(24, s), m, BOOST_PP_TUPLE_EAT_2)(24, s) BOOST_PP_IF(p(24, s), BOOST_PP_FOR_24, BOOST_PP_TUPLE_EAT_4)(o(24, s), p, o, m)
-# define BOOST_PP_FOR_24_I(s, p, o, m) BOOST_PP_IF(p(25, s), m, BOOST_PP_TUPLE_EAT_2)(25, s) BOOST_PP_IF(p(25, s), BOOST_PP_FOR_25, BOOST_PP_TUPLE_EAT_4)(o(25, s), p, o, m)
-# define BOOST_PP_FOR_25_I(s, p, o, m) BOOST_PP_IF(p(26, s), m, BOOST_PP_TUPLE_EAT_2)(26, s) BOOST_PP_IF(p(26, s), BOOST_PP_FOR_26, BOOST_PP_TUPLE_EAT_4)(o(26, s), p, o, m)
-# define BOOST_PP_FOR_26_I(s, p, o, m) BOOST_PP_IF(p(27, s), m, BOOST_PP_TUPLE_EAT_2)(27, s) BOOST_PP_IF(p(27, s), BOOST_PP_FOR_27, BOOST_PP_TUPLE_EAT_4)(o(27, s), p, o, m)
-# define BOOST_PP_FOR_27_I(s, p, o, m) BOOST_PP_IF(p(28, s), m, BOOST_PP_TUPLE_EAT_2)(28, s) BOOST_PP_IF(p(28, s), BOOST_PP_FOR_28, BOOST_PP_TUPLE_EAT_4)(o(28, s), p, o, m)
-# define BOOST_PP_FOR_28_I(s, p, o, m) BOOST_PP_IF(p(29, s), m, BOOST_PP_TUPLE_EAT_2)(29, s) BOOST_PP_IF(p(29, s), BOOST_PP_FOR_29, BOOST_PP_TUPLE_EAT_4)(o(29, s), p, o, m)
-# define BOOST_PP_FOR_29_I(s, p, o, m) BOOST_PP_IF(p(30, s), m, BOOST_PP_TUPLE_EAT_2)(30, s) BOOST_PP_IF(p(30, s), BOOST_PP_FOR_30, BOOST_PP_TUPLE_EAT_4)(o(30, s), p, o, m)
-# define BOOST_PP_FOR_30_I(s, p, o, m) BOOST_PP_IF(p(31, s), m, BOOST_PP_TUPLE_EAT_2)(31, s) BOOST_PP_IF(p(31, s), BOOST_PP_FOR_31, BOOST_PP_TUPLE_EAT_4)(o(31, s), p, o, m)
-# define BOOST_PP_FOR_31_I(s, p, o, m) BOOST_PP_IF(p(32, s), m, BOOST_PP_TUPLE_EAT_2)(32, s) BOOST_PP_IF(p(32, s), BOOST_PP_FOR_32, BOOST_PP_TUPLE_EAT_4)(o(32, s), p, o, m)
-# define BOOST_PP_FOR_32_I(s, p, o, m) BOOST_PP_IF(p(33, s), m, BOOST_PP_TUPLE_EAT_2)(33, s) BOOST_PP_IF(p(33, s), BOOST_PP_FOR_33, BOOST_PP_TUPLE_EAT_4)(o(33, s), p, o, m)
-# define BOOST_PP_FOR_33_I(s, p, o, m) BOOST_PP_IF(p(34, s), m, BOOST_PP_TUPLE_EAT_2)(34, s) BOOST_PP_IF(p(34, s), BOOST_PP_FOR_34, BOOST_PP_TUPLE_EAT_4)(o(34, s), p, o, m)
-# define BOOST_PP_FOR_34_I(s, p, o, m) BOOST_PP_IF(p(35, s), m, BOOST_PP_TUPLE_EAT_2)(35, s) BOOST_PP_IF(p(35, s), BOOST_PP_FOR_35, BOOST_PP_TUPLE_EAT_4)(o(35, s), p, o, m)
-# define BOOST_PP_FOR_35_I(s, p, o, m) BOOST_PP_IF(p(36, s), m, BOOST_PP_TUPLE_EAT_2)(36, s) BOOST_PP_IF(p(36, s), BOOST_PP_FOR_36, BOOST_PP_TUPLE_EAT_4)(o(36, s), p, o, m)
-# define BOOST_PP_FOR_36_I(s, p, o, m) BOOST_PP_IF(p(37, s), m, BOOST_PP_TUPLE_EAT_2)(37, s) BOOST_PP_IF(p(37, s), BOOST_PP_FOR_37, BOOST_PP_TUPLE_EAT_4)(o(37, s), p, o, m)
-# define BOOST_PP_FOR_37_I(s, p, o, m) BOOST_PP_IF(p(38, s), m, BOOST_PP_TUPLE_EAT_2)(38, s) BOOST_PP_IF(p(38, s), BOOST_PP_FOR_38, BOOST_PP_TUPLE_EAT_4)(o(38, s), p, o, m)
-# define BOOST_PP_FOR_38_I(s, p, o, m) BOOST_PP_IF(p(39, s), m, BOOST_PP_TUPLE_EAT_2)(39, s) BOOST_PP_IF(p(39, s), BOOST_PP_FOR_39, BOOST_PP_TUPLE_EAT_4)(o(39, s), p, o, m)
-# define BOOST_PP_FOR_39_I(s, p, o, m) BOOST_PP_IF(p(40, s), m, BOOST_PP_TUPLE_EAT_2)(40, s) BOOST_PP_IF(p(40, s), BOOST_PP_FOR_40, BOOST_PP_TUPLE_EAT_4)(o(40, s), p, o, m)
-# define BOOST_PP_FOR_40_I(s, p, o, m) BOOST_PP_IF(p(41, s), m, BOOST_PP_TUPLE_EAT_2)(41, s) BOOST_PP_IF(p(41, s), BOOST_PP_FOR_41, BOOST_PP_TUPLE_EAT_4)(o(41, s), p, o, m)
-# define BOOST_PP_FOR_41_I(s, p, o, m) BOOST_PP_IF(p(42, s), m, BOOST_PP_TUPLE_EAT_2)(42, s) BOOST_PP_IF(p(42, s), BOOST_PP_FOR_42, BOOST_PP_TUPLE_EAT_4)(o(42, s), p, o, m)
-# define BOOST_PP_FOR_42_I(s, p, o, m) BOOST_PP_IF(p(43, s), m, BOOST_PP_TUPLE_EAT_2)(43, s) BOOST_PP_IF(p(43, s), BOOST_PP_FOR_43, BOOST_PP_TUPLE_EAT_4)(o(43, s), p, o, m)
-# define BOOST_PP_FOR_43_I(s, p, o, m) BOOST_PP_IF(p(44, s), m, BOOST_PP_TUPLE_EAT_2)(44, s) BOOST_PP_IF(p(44, s), BOOST_PP_FOR_44, BOOST_PP_TUPLE_EAT_4)(o(44, s), p, o, m)
-# define BOOST_PP_FOR_44_I(s, p, o, m) BOOST_PP_IF(p(45, s), m, BOOST_PP_TUPLE_EAT_2)(45, s) BOOST_PP_IF(p(45, s), BOOST_PP_FOR_45, BOOST_PP_TUPLE_EAT_4)(o(45, s), p, o, m)
-# define BOOST_PP_FOR_45_I(s, p, o, m) BOOST_PP_IF(p(46, s), m, BOOST_PP_TUPLE_EAT_2)(46, s) BOOST_PP_IF(p(46, s), BOOST_PP_FOR_46, BOOST_PP_TUPLE_EAT_4)(o(46, s), p, o, m)
-# define BOOST_PP_FOR_46_I(s, p, o, m) BOOST_PP_IF(p(47, s), m, BOOST_PP_TUPLE_EAT_2)(47, s) BOOST_PP_IF(p(47, s), BOOST_PP_FOR_47, BOOST_PP_TUPLE_EAT_4)(o(47, s), p, o, m)
-# define BOOST_PP_FOR_47_I(s, p, o, m) BOOST_PP_IF(p(48, s), m, BOOST_PP_TUPLE_EAT_2)(48, s) BOOST_PP_IF(p(48, s), BOOST_PP_FOR_48, BOOST_PP_TUPLE_EAT_4)(o(48, s), p, o, m)
-# define BOOST_PP_FOR_48_I(s, p, o, m) BOOST_PP_IF(p(49, s), m, BOOST_PP_TUPLE_EAT_2)(49, s) BOOST_PP_IF(p(49, s), BOOST_PP_FOR_49, BOOST_PP_TUPLE_EAT_4)(o(49, s), p, o, m)
-# define BOOST_PP_FOR_49_I(s, p, o, m) BOOST_PP_IF(p(50, s), m, BOOST_PP_TUPLE_EAT_2)(50, s) BOOST_PP_IF(p(50, s), BOOST_PP_FOR_50, BOOST_PP_TUPLE_EAT_4)(o(50, s), p, o, m)
-# define BOOST_PP_FOR_50_I(s, p, o, m) BOOST_PP_IF(p(51, s), m, BOOST_PP_TUPLE_EAT_2)(51, s) BOOST_PP_IF(p(51, s), BOOST_PP_FOR_51, BOOST_PP_TUPLE_EAT_4)(o(51, s), p, o, m)
-# define BOOST_PP_FOR_51_I(s, p, o, m) BOOST_PP_IF(p(52, s), m, BOOST_PP_TUPLE_EAT_2)(52, s) BOOST_PP_IF(p(52, s), BOOST_PP_FOR_52, BOOST_PP_TUPLE_EAT_4)(o(52, s), p, o, m)
-# define BOOST_PP_FOR_52_I(s, p, o, m) BOOST_PP_IF(p(53, s), m, BOOST_PP_TUPLE_EAT_2)(53, s) BOOST_PP_IF(p(53, s), BOOST_PP_FOR_53, BOOST_PP_TUPLE_EAT_4)(o(53, s), p, o, m)
-# define BOOST_PP_FOR_53_I(s, p, o, m) BOOST_PP_IF(p(54, s), m, BOOST_PP_TUPLE_EAT_2)(54, s) BOOST_PP_IF(p(54, s), BOOST_PP_FOR_54, BOOST_PP_TUPLE_EAT_4)(o(54, s), p, o, m)
-# define BOOST_PP_FOR_54_I(s, p, o, m) BOOST_PP_IF(p(55, s), m, BOOST_PP_TUPLE_EAT_2)(55, s) BOOST_PP_IF(p(55, s), BOOST_PP_FOR_55, BOOST_PP_TUPLE_EAT_4)(o(55, s), p, o, m)
-# define BOOST_PP_FOR_55_I(s, p, o, m) BOOST_PP_IF(p(56, s), m, BOOST_PP_TUPLE_EAT_2)(56, s) BOOST_PP_IF(p(56, s), BOOST_PP_FOR_56, BOOST_PP_TUPLE_EAT_4)(o(56, s), p, o, m)
-# define BOOST_PP_FOR_56_I(s, p, o, m) BOOST_PP_IF(p(57, s), m, BOOST_PP_TUPLE_EAT_2)(57, s) BOOST_PP_IF(p(57, s), BOOST_PP_FOR_57, BOOST_PP_TUPLE_EAT_4)(o(57, s), p, o, m)
-# define BOOST_PP_FOR_57_I(s, p, o, m) BOOST_PP_IF(p(58, s), m, BOOST_PP_TUPLE_EAT_2)(58, s) BOOST_PP_IF(p(58, s), BOOST_PP_FOR_58, BOOST_PP_TUPLE_EAT_4)(o(58, s), p, o, m)
-# define BOOST_PP_FOR_58_I(s, p, o, m) BOOST_PP_IF(p(59, s), m, BOOST_PP_TUPLE_EAT_2)(59, s) BOOST_PP_IF(p(59, s), BOOST_PP_FOR_59, BOOST_PP_TUPLE_EAT_4)(o(59, s), p, o, m)
-# define BOOST_PP_FOR_59_I(s, p, o, m) BOOST_PP_IF(p(60, s), m, BOOST_PP_TUPLE_EAT_2)(60, s) BOOST_PP_IF(p(60, s), BOOST_PP_FOR_60, BOOST_PP_TUPLE_EAT_4)(o(60, s), p, o, m)
-# define BOOST_PP_FOR_60_I(s, p, o, m) BOOST_PP_IF(p(61, s), m, BOOST_PP_TUPLE_EAT_2)(61, s) BOOST_PP_IF(p(61, s), BOOST_PP_FOR_61, BOOST_PP_TUPLE_EAT_4)(o(61, s), p, o, m)
-# define BOOST_PP_FOR_61_I(s, p, o, m) BOOST_PP_IF(p(62, s), m, BOOST_PP_TUPLE_EAT_2)(62, s) BOOST_PP_IF(p(62, s), BOOST_PP_FOR_62, BOOST_PP_TUPLE_EAT_4)(o(62, s), p, o, m)
-# define BOOST_PP_FOR_62_I(s, p, o, m) BOOST_PP_IF(p(63, s), m, BOOST_PP_TUPLE_EAT_2)(63, s) BOOST_PP_IF(p(63, s), BOOST_PP_FOR_63, BOOST_PP_TUPLE_EAT_4)(o(63, s), p, o, m)
-# define BOOST_PP_FOR_63_I(s, p, o, m) BOOST_PP_IF(p(64, s), m, BOOST_PP_TUPLE_EAT_2)(64, s) BOOST_PP_IF(p(64, s), BOOST_PP_FOR_64, BOOST_PP_TUPLE_EAT_4)(o(64, s), p, o, m)
-# define BOOST_PP_FOR_64_I(s, p, o, m) BOOST_PP_IF(p(65, s), m, BOOST_PP_TUPLE_EAT_2)(65, s) BOOST_PP_IF(p(65, s), BOOST_PP_FOR_65, BOOST_PP_TUPLE_EAT_4)(o(65, s), p, o, m)
-# define BOOST_PP_FOR_65_I(s, p, o, m) BOOST_PP_IF(p(66, s), m, BOOST_PP_TUPLE_EAT_2)(66, s) BOOST_PP_IF(p(66, s), BOOST_PP_FOR_66, BOOST_PP_TUPLE_EAT_4)(o(66, s), p, o, m)
-# define BOOST_PP_FOR_66_I(s, p, o, m) BOOST_PP_IF(p(67, s), m, BOOST_PP_TUPLE_EAT_2)(67, s) BOOST_PP_IF(p(67, s), BOOST_PP_FOR_67, BOOST_PP_TUPLE_EAT_4)(o(67, s), p, o, m)
-# define BOOST_PP_FOR_67_I(s, p, o, m) BOOST_PP_IF(p(68, s), m, BOOST_PP_TUPLE_EAT_2)(68, s) BOOST_PP_IF(p(68, s), BOOST_PP_FOR_68, BOOST_PP_TUPLE_EAT_4)(o(68, s), p, o, m)
-# define BOOST_PP_FOR_68_I(s, p, o, m) BOOST_PP_IF(p(69, s), m, BOOST_PP_TUPLE_EAT_2)(69, s) BOOST_PP_IF(p(69, s), BOOST_PP_FOR_69, BOOST_PP_TUPLE_EAT_4)(o(69, s), p, o, m)
-# define BOOST_PP_FOR_69_I(s, p, o, m) BOOST_PP_IF(p(70, s), m, BOOST_PP_TUPLE_EAT_2)(70, s) BOOST_PP_IF(p(70, s), BOOST_PP_FOR_70, BOOST_PP_TUPLE_EAT_4)(o(70, s), p, o, m)
-# define BOOST_PP_FOR_70_I(s, p, o, m) BOOST_PP_IF(p(71, s), m, BOOST_PP_TUPLE_EAT_2)(71, s) BOOST_PP_IF(p(71, s), BOOST_PP_FOR_71, BOOST_PP_TUPLE_EAT_4)(o(71, s), p, o, m)
-# define BOOST_PP_FOR_71_I(s, p, o, m) BOOST_PP_IF(p(72, s), m, BOOST_PP_TUPLE_EAT_2)(72, s) BOOST_PP_IF(p(72, s), BOOST_PP_FOR_72, BOOST_PP_TUPLE_EAT_4)(o(72, s), p, o, m)
-# define BOOST_PP_FOR_72_I(s, p, o, m) BOOST_PP_IF(p(73, s), m, BOOST_PP_TUPLE_EAT_2)(73, s) BOOST_PP_IF(p(73, s), BOOST_PP_FOR_73, BOOST_PP_TUPLE_EAT_4)(o(73, s), p, o, m)
-# define BOOST_PP_FOR_73_I(s, p, o, m) BOOST_PP_IF(p(74, s), m, BOOST_PP_TUPLE_EAT_2)(74, s) BOOST_PP_IF(p(74, s), BOOST_PP_FOR_74, BOOST_PP_TUPLE_EAT_4)(o(74, s), p, o, m)
-# define BOOST_PP_FOR_74_I(s, p, o, m) BOOST_PP_IF(p(75, s), m, BOOST_PP_TUPLE_EAT_2)(75, s) BOOST_PP_IF(p(75, s), BOOST_PP_FOR_75, BOOST_PP_TUPLE_EAT_4)(o(75, s), p, o, m)
-# define BOOST_PP_FOR_75_I(s, p, o, m) BOOST_PP_IF(p(76, s), m, BOOST_PP_TUPLE_EAT_2)(76, s) BOOST_PP_IF(p(76, s), BOOST_PP_FOR_76, BOOST_PP_TUPLE_EAT_4)(o(76, s), p, o, m)
-# define BOOST_PP_FOR_76_I(s, p, o, m) BOOST_PP_IF(p(77, s), m, BOOST_PP_TUPLE_EAT_2)(77, s) BOOST_PP_IF(p(77, s), BOOST_PP_FOR_77, BOOST_PP_TUPLE_EAT_4)(o(77, s), p, o, m)
-# define BOOST_PP_FOR_77_I(s, p, o, m) BOOST_PP_IF(p(78, s), m, BOOST_PP_TUPLE_EAT_2)(78, s) BOOST_PP_IF(p(78, s), BOOST_PP_FOR_78, BOOST_PP_TUPLE_EAT_4)(o(78, s), p, o, m)
-# define BOOST_PP_FOR_78_I(s, p, o, m) BOOST_PP_IF(p(79, s), m, BOOST_PP_TUPLE_EAT_2)(79, s) BOOST_PP_IF(p(79, s), BOOST_PP_FOR_79, BOOST_PP_TUPLE_EAT_4)(o(79, s), p, o, m)
-# define BOOST_PP_FOR_79_I(s, p, o, m) BOOST_PP_IF(p(80, s), m, BOOST_PP_TUPLE_EAT_2)(80, s) BOOST_PP_IF(p(80, s), BOOST_PP_FOR_80, BOOST_PP_TUPLE_EAT_4)(o(80, s), p, o, m)
-# define BOOST_PP_FOR_80_I(s, p, o, m) BOOST_PP_IF(p(81, s), m, BOOST_PP_TUPLE_EAT_2)(81, s) BOOST_PP_IF(p(81, s), BOOST_PP_FOR_81, BOOST_PP_TUPLE_EAT_4)(o(81, s), p, o, m)
-# define BOOST_PP_FOR_81_I(s, p, o, m) BOOST_PP_IF(p(82, s), m, BOOST_PP_TUPLE_EAT_2)(82, s) BOOST_PP_IF(p(82, s), BOOST_PP_FOR_82, BOOST_PP_TUPLE_EAT_4)(o(82, s), p, o, m)
-# define BOOST_PP_FOR_82_I(s, p, o, m) BOOST_PP_IF(p(83, s), m, BOOST_PP_TUPLE_EAT_2)(83, s) BOOST_PP_IF(p(83, s), BOOST_PP_FOR_83, BOOST_PP_TUPLE_EAT_4)(o(83, s), p, o, m)
-# define BOOST_PP_FOR_83_I(s, p, o, m) BOOST_PP_IF(p(84, s), m, BOOST_PP_TUPLE_EAT_2)(84, s) BOOST_PP_IF(p(84, s), BOOST_PP_FOR_84, BOOST_PP_TUPLE_EAT_4)(o(84, s), p, o, m)
-# define BOOST_PP_FOR_84_I(s, p, o, m) BOOST_PP_IF(p(85, s), m, BOOST_PP_TUPLE_EAT_2)(85, s) BOOST_PP_IF(p(85, s), BOOST_PP_FOR_85, BOOST_PP_TUPLE_EAT_4)(o(85, s), p, o, m)
-# define BOOST_PP_FOR_85_I(s, p, o, m) BOOST_PP_IF(p(86, s), m, BOOST_PP_TUPLE_EAT_2)(86, s) BOOST_PP_IF(p(86, s), BOOST_PP_FOR_86, BOOST_PP_TUPLE_EAT_4)(o(86, s), p, o, m)
-# define BOOST_PP_FOR_86_I(s, p, o, m) BOOST_PP_IF(p(87, s), m, BOOST_PP_TUPLE_EAT_2)(87, s) BOOST_PP_IF(p(87, s), BOOST_PP_FOR_87, BOOST_PP_TUPLE_EAT_4)(o(87, s), p, o, m)
-# define BOOST_PP_FOR_87_I(s, p, o, m) BOOST_PP_IF(p(88, s), m, BOOST_PP_TUPLE_EAT_2)(88, s) BOOST_PP_IF(p(88, s), BOOST_PP_FOR_88, BOOST_PP_TUPLE_EAT_4)(o(88, s), p, o, m)
-# define BOOST_PP_FOR_88_I(s, p, o, m) BOOST_PP_IF(p(89, s), m, BOOST_PP_TUPLE_EAT_2)(89, s) BOOST_PP_IF(p(89, s), BOOST_PP_FOR_89, BOOST_PP_TUPLE_EAT_4)(o(89, s), p, o, m)
-# define BOOST_PP_FOR_89_I(s, p, o, m) BOOST_PP_IF(p(90, s), m, BOOST_PP_TUPLE_EAT_2)(90, s) BOOST_PP_IF(p(90, s), BOOST_PP_FOR_90, BOOST_PP_TUPLE_EAT_4)(o(90, s), p, o, m)
-# define BOOST_PP_FOR_90_I(s, p, o, m) BOOST_PP_IF(p(91, s), m, BOOST_PP_TUPLE_EAT_2)(91, s) BOOST_PP_IF(p(91, s), BOOST_PP_FOR_91, BOOST_PP_TUPLE_EAT_4)(o(91, s), p, o, m)
-# define BOOST_PP_FOR_91_I(s, p, o, m) BOOST_PP_IF(p(92, s), m, BOOST_PP_TUPLE_EAT_2)(92, s) BOOST_PP_IF(p(92, s), BOOST_PP_FOR_92, BOOST_PP_TUPLE_EAT_4)(o(92, s), p, o, m)
-# define BOOST_PP_FOR_92_I(s, p, o, m) BOOST_PP_IF(p(93, s), m, BOOST_PP_TUPLE_EAT_2)(93, s) BOOST_PP_IF(p(93, s), BOOST_PP_FOR_93, BOOST_PP_TUPLE_EAT_4)(o(93, s), p, o, m)
-# define BOOST_PP_FOR_93_I(s, p, o, m) BOOST_PP_IF(p(94, s), m, BOOST_PP_TUPLE_EAT_2)(94, s) BOOST_PP_IF(p(94, s), BOOST_PP_FOR_94, BOOST_PP_TUPLE_EAT_4)(o(94, s), p, o, m)
-# define BOOST_PP_FOR_94_I(s, p, o, m) BOOST_PP_IF(p(95, s), m, BOOST_PP_TUPLE_EAT_2)(95, s) BOOST_PP_IF(p(95, s), BOOST_PP_FOR_95, BOOST_PP_TUPLE_EAT_4)(o(95, s), p, o, m)
-# define BOOST_PP_FOR_95_I(s, p, o, m) BOOST_PP_IF(p(96, s), m, BOOST_PP_TUPLE_EAT_2)(96, s) BOOST_PP_IF(p(96, s), BOOST_PP_FOR_96, BOOST_PP_TUPLE_EAT_4)(o(96, s), p, o, m)
-# define BOOST_PP_FOR_96_I(s, p, o, m) BOOST_PP_IF(p(97, s), m, BOOST_PP_TUPLE_EAT_2)(97, s) BOOST_PP_IF(p(97, s), BOOST_PP_FOR_97, BOOST_PP_TUPLE_EAT_4)(o(97, s), p, o, m)
-# define BOOST_PP_FOR_97_I(s, p, o, m) BOOST_PP_IF(p(98, s), m, BOOST_PP_TUPLE_EAT_2)(98, s) BOOST_PP_IF(p(98, s), BOOST_PP_FOR_98, BOOST_PP_TUPLE_EAT_4)(o(98, s), p, o, m)
-# define BOOST_PP_FOR_98_I(s, p, o, m) BOOST_PP_IF(p(99, s), m, BOOST_PP_TUPLE_EAT_2)(99, s) BOOST_PP_IF(p(99, s), BOOST_PP_FOR_99, BOOST_PP_TUPLE_EAT_4)(o(99, s), p, o, m)
-# define BOOST_PP_FOR_99_I(s, p, o, m) BOOST_PP_IF(p(100, s), m, BOOST_PP_TUPLE_EAT_2)(100, s) BOOST_PP_IF(p(100, s), BOOST_PP_FOR_100, BOOST_PP_TUPLE_EAT_4)(o(100, s), p, o, m)
-# define BOOST_PP_FOR_100_I(s, p, o, m) BOOST_PP_IF(p(101, s), m, BOOST_PP_TUPLE_EAT_2)(101, s) BOOST_PP_IF(p(101, s), BOOST_PP_FOR_101, BOOST_PP_TUPLE_EAT_4)(o(101, s), p, o, m)
-# define BOOST_PP_FOR_101_I(s, p, o, m) BOOST_PP_IF(p(102, s), m, BOOST_PP_TUPLE_EAT_2)(102, s) BOOST_PP_IF(p(102, s), BOOST_PP_FOR_102, BOOST_PP_TUPLE_EAT_4)(o(102, s), p, o, m)
-# define BOOST_PP_FOR_102_I(s, p, o, m) BOOST_PP_IF(p(103, s), m, BOOST_PP_TUPLE_EAT_2)(103, s) BOOST_PP_IF(p(103, s), BOOST_PP_FOR_103, BOOST_PP_TUPLE_EAT_4)(o(103, s), p, o, m)
-# define BOOST_PP_FOR_103_I(s, p, o, m) BOOST_PP_IF(p(104, s), m, BOOST_PP_TUPLE_EAT_2)(104, s) BOOST_PP_IF(p(104, s), BOOST_PP_FOR_104, BOOST_PP_TUPLE_EAT_4)(o(104, s), p, o, m)
-# define BOOST_PP_FOR_104_I(s, p, o, m) BOOST_PP_IF(p(105, s), m, BOOST_PP_TUPLE_EAT_2)(105, s) BOOST_PP_IF(p(105, s), BOOST_PP_FOR_105, BOOST_PP_TUPLE_EAT_4)(o(105, s), p, o, m)
-# define BOOST_PP_FOR_105_I(s, p, o, m) BOOST_PP_IF(p(106, s), m, BOOST_PP_TUPLE_EAT_2)(106, s) BOOST_PP_IF(p(106, s), BOOST_PP_FOR_106, BOOST_PP_TUPLE_EAT_4)(o(106, s), p, o, m)
-# define BOOST_PP_FOR_106_I(s, p, o, m) BOOST_PP_IF(p(107, s), m, BOOST_PP_TUPLE_EAT_2)(107, s) BOOST_PP_IF(p(107, s), BOOST_PP_FOR_107, BOOST_PP_TUPLE_EAT_4)(o(107, s), p, o, m)
-# define BOOST_PP_FOR_107_I(s, p, o, m) BOOST_PP_IF(p(108, s), m, BOOST_PP_TUPLE_EAT_2)(108, s) BOOST_PP_IF(p(108, s), BOOST_PP_FOR_108, BOOST_PP_TUPLE_EAT_4)(o(108, s), p, o, m)
-# define BOOST_PP_FOR_108_I(s, p, o, m) BOOST_PP_IF(p(109, s), m, BOOST_PP_TUPLE_EAT_2)(109, s) BOOST_PP_IF(p(109, s), BOOST_PP_FOR_109, BOOST_PP_TUPLE_EAT_4)(o(109, s), p, o, m)
-# define BOOST_PP_FOR_109_I(s, p, o, m) BOOST_PP_IF(p(110, s), m, BOOST_PP_TUPLE_EAT_2)(110, s) BOOST_PP_IF(p(110, s), BOOST_PP_FOR_110, BOOST_PP_TUPLE_EAT_4)(o(110, s), p, o, m)
-# define BOOST_PP_FOR_110_I(s, p, o, m) BOOST_PP_IF(p(111, s), m, BOOST_PP_TUPLE_EAT_2)(111, s) BOOST_PP_IF(p(111, s), BOOST_PP_FOR_111, BOOST_PP_TUPLE_EAT_4)(o(111, s), p, o, m)
-# define BOOST_PP_FOR_111_I(s, p, o, m) BOOST_PP_IF(p(112, s), m, BOOST_PP_TUPLE_EAT_2)(112, s) BOOST_PP_IF(p(112, s), BOOST_PP_FOR_112, BOOST_PP_TUPLE_EAT_4)(o(112, s), p, o, m)
-# define BOOST_PP_FOR_112_I(s, p, o, m) BOOST_PP_IF(p(113, s), m, BOOST_PP_TUPLE_EAT_2)(113, s) BOOST_PP_IF(p(113, s), BOOST_PP_FOR_113, BOOST_PP_TUPLE_EAT_4)(o(113, s), p, o, m)
-# define BOOST_PP_FOR_113_I(s, p, o, m) BOOST_PP_IF(p(114, s), m, BOOST_PP_TUPLE_EAT_2)(114, s) BOOST_PP_IF(p(114, s), BOOST_PP_FOR_114, BOOST_PP_TUPLE_EAT_4)(o(114, s), p, o, m)
-# define BOOST_PP_FOR_114_I(s, p, o, m) BOOST_PP_IF(p(115, s), m, BOOST_PP_TUPLE_EAT_2)(115, s) BOOST_PP_IF(p(115, s), BOOST_PP_FOR_115, BOOST_PP_TUPLE_EAT_4)(o(115, s), p, o, m)
-# define BOOST_PP_FOR_115_I(s, p, o, m) BOOST_PP_IF(p(116, s), m, BOOST_PP_TUPLE_EAT_2)(116, s) BOOST_PP_IF(p(116, s), BOOST_PP_FOR_116, BOOST_PP_TUPLE_EAT_4)(o(116, s), p, o, m)
-# define BOOST_PP_FOR_116_I(s, p, o, m) BOOST_PP_IF(p(117, s), m, BOOST_PP_TUPLE_EAT_2)(117, s) BOOST_PP_IF(p(117, s), BOOST_PP_FOR_117, BOOST_PP_TUPLE_EAT_4)(o(117, s), p, o, m)
-# define BOOST_PP_FOR_117_I(s, p, o, m) BOOST_PP_IF(p(118, s), m, BOOST_PP_TUPLE_EAT_2)(118, s) BOOST_PP_IF(p(118, s), BOOST_PP_FOR_118, BOOST_PP_TUPLE_EAT_4)(o(118, s), p, o, m)
-# define BOOST_PP_FOR_118_I(s, p, o, m) BOOST_PP_IF(p(119, s), m, BOOST_PP_TUPLE_EAT_2)(119, s) BOOST_PP_IF(p(119, s), BOOST_PP_FOR_119, BOOST_PP_TUPLE_EAT_4)(o(119, s), p, o, m)
-# define BOOST_PP_FOR_119_I(s, p, o, m) BOOST_PP_IF(p(120, s), m, BOOST_PP_TUPLE_EAT_2)(120, s) BOOST_PP_IF(p(120, s), BOOST_PP_FOR_120, BOOST_PP_TUPLE_EAT_4)(o(120, s), p, o, m)
-# define BOOST_PP_FOR_120_I(s, p, o, m) BOOST_PP_IF(p(121, s), m, BOOST_PP_TUPLE_EAT_2)(121, s) BOOST_PP_IF(p(121, s), BOOST_PP_FOR_121, BOOST_PP_TUPLE_EAT_4)(o(121, s), p, o, m)
-# define BOOST_PP_FOR_121_I(s, p, o, m) BOOST_PP_IF(p(122, s), m, BOOST_PP_TUPLE_EAT_2)(122, s) BOOST_PP_IF(p(122, s), BOOST_PP_FOR_122, BOOST_PP_TUPLE_EAT_4)(o(122, s), p, o, m)
-# define BOOST_PP_FOR_122_I(s, p, o, m) BOOST_PP_IF(p(123, s), m, BOOST_PP_TUPLE_EAT_2)(123, s) BOOST_PP_IF(p(123, s), BOOST_PP_FOR_123, BOOST_PP_TUPLE_EAT_4)(o(123, s), p, o, m)
-# define BOOST_PP_FOR_123_I(s, p, o, m) BOOST_PP_IF(p(124, s), m, BOOST_PP_TUPLE_EAT_2)(124, s) BOOST_PP_IF(p(124, s), BOOST_PP_FOR_124, BOOST_PP_TUPLE_EAT_4)(o(124, s), p, o, m)
-# define BOOST_PP_FOR_124_I(s, p, o, m) BOOST_PP_IF(p(125, s), m, BOOST_PP_TUPLE_EAT_2)(125, s) BOOST_PP_IF(p(125, s), BOOST_PP_FOR_125, BOOST_PP_TUPLE_EAT_4)(o(125, s), p, o, m)
-# define BOOST_PP_FOR_125_I(s, p, o, m) BOOST_PP_IF(p(126, s), m, BOOST_PP_TUPLE_EAT_2)(126, s) BOOST_PP_IF(p(126, s), BOOST_PP_FOR_126, BOOST_PP_TUPLE_EAT_4)(o(126, s), p, o, m)
-# define BOOST_PP_FOR_126_I(s, p, o, m) BOOST_PP_IF(p(127, s), m, BOOST_PP_TUPLE_EAT_2)(127, s) BOOST_PP_IF(p(127, s), BOOST_PP_FOR_127, BOOST_PP_TUPLE_EAT_4)(o(127, s), p, o, m)
-# define BOOST_PP_FOR_127_I(s, p, o, m) BOOST_PP_IF(p(128, s), m, BOOST_PP_TUPLE_EAT_2)(128, s) BOOST_PP_IF(p(128, s), BOOST_PP_FOR_128, BOOST_PP_TUPLE_EAT_4)(o(128, s), p, o, m)
-# define BOOST_PP_FOR_128_I(s, p, o, m) BOOST_PP_IF(p(129, s), m, BOOST_PP_TUPLE_EAT_2)(129, s) BOOST_PP_IF(p(129, s), BOOST_PP_FOR_129, BOOST_PP_TUPLE_EAT_4)(o(129, s), p, o, m)
-# define BOOST_PP_FOR_129_I(s, p, o, m) BOOST_PP_IF(p(130, s), m, BOOST_PP_TUPLE_EAT_2)(130, s) BOOST_PP_IF(p(130, s), BOOST_PP_FOR_130, BOOST_PP_TUPLE_EAT_4)(o(130, s), p, o, m)
-# define BOOST_PP_FOR_130_I(s, p, o, m) BOOST_PP_IF(p(131, s), m, BOOST_PP_TUPLE_EAT_2)(131, s) BOOST_PP_IF(p(131, s), BOOST_PP_FOR_131, BOOST_PP_TUPLE_EAT_4)(o(131, s), p, o, m)
-# define BOOST_PP_FOR_131_I(s, p, o, m) BOOST_PP_IF(p(132, s), m, BOOST_PP_TUPLE_EAT_2)(132, s) BOOST_PP_IF(p(132, s), BOOST_PP_FOR_132, BOOST_PP_TUPLE_EAT_4)(o(132, s), p, o, m)
-# define BOOST_PP_FOR_132_I(s, p, o, m) BOOST_PP_IF(p(133, s), m, BOOST_PP_TUPLE_EAT_2)(133, s) BOOST_PP_IF(p(133, s), BOOST_PP_FOR_133, BOOST_PP_TUPLE_EAT_4)(o(133, s), p, o, m)
-# define BOOST_PP_FOR_133_I(s, p, o, m) BOOST_PP_IF(p(134, s), m, BOOST_PP_TUPLE_EAT_2)(134, s) BOOST_PP_IF(p(134, s), BOOST_PP_FOR_134, BOOST_PP_TUPLE_EAT_4)(o(134, s), p, o, m)
-# define BOOST_PP_FOR_134_I(s, p, o, m) BOOST_PP_IF(p(135, s), m, BOOST_PP_TUPLE_EAT_2)(135, s) BOOST_PP_IF(p(135, s), BOOST_PP_FOR_135, BOOST_PP_TUPLE_EAT_4)(o(135, s), p, o, m)
-# define BOOST_PP_FOR_135_I(s, p, o, m) BOOST_PP_IF(p(136, s), m, BOOST_PP_TUPLE_EAT_2)(136, s) BOOST_PP_IF(p(136, s), BOOST_PP_FOR_136, BOOST_PP_TUPLE_EAT_4)(o(136, s), p, o, m)
-# define BOOST_PP_FOR_136_I(s, p, o, m) BOOST_PP_IF(p(137, s), m, BOOST_PP_TUPLE_EAT_2)(137, s) BOOST_PP_IF(p(137, s), BOOST_PP_FOR_137, BOOST_PP_TUPLE_EAT_4)(o(137, s), p, o, m)
-# define BOOST_PP_FOR_137_I(s, p, o, m) BOOST_PP_IF(p(138, s), m, BOOST_PP_TUPLE_EAT_2)(138, s) BOOST_PP_IF(p(138, s), BOOST_PP_FOR_138, BOOST_PP_TUPLE_EAT_4)(o(138, s), p, o, m)
-# define BOOST_PP_FOR_138_I(s, p, o, m) BOOST_PP_IF(p(139, s), m, BOOST_PP_TUPLE_EAT_2)(139, s) BOOST_PP_IF(p(139, s), BOOST_PP_FOR_139, BOOST_PP_TUPLE_EAT_4)(o(139, s), p, o, m)
-# define BOOST_PP_FOR_139_I(s, p, o, m) BOOST_PP_IF(p(140, s), m, BOOST_PP_TUPLE_EAT_2)(140, s) BOOST_PP_IF(p(140, s), BOOST_PP_FOR_140, BOOST_PP_TUPLE_EAT_4)(o(140, s), p, o, m)
-# define BOOST_PP_FOR_140_I(s, p, o, m) BOOST_PP_IF(p(141, s), m, BOOST_PP_TUPLE_EAT_2)(141, s) BOOST_PP_IF(p(141, s), BOOST_PP_FOR_141, BOOST_PP_TUPLE_EAT_4)(o(141, s), p, o, m)
-# define BOOST_PP_FOR_141_I(s, p, o, m) BOOST_PP_IF(p(142, s), m, BOOST_PP_TUPLE_EAT_2)(142, s) BOOST_PP_IF(p(142, s), BOOST_PP_FOR_142, BOOST_PP_TUPLE_EAT_4)(o(142, s), p, o, m)
-# define BOOST_PP_FOR_142_I(s, p, o, m) BOOST_PP_IF(p(143, s), m, BOOST_PP_TUPLE_EAT_2)(143, s) BOOST_PP_IF(p(143, s), BOOST_PP_FOR_143, BOOST_PP_TUPLE_EAT_4)(o(143, s), p, o, m)
-# define BOOST_PP_FOR_143_I(s, p, o, m) BOOST_PP_IF(p(144, s), m, BOOST_PP_TUPLE_EAT_2)(144, s) BOOST_PP_IF(p(144, s), BOOST_PP_FOR_144, BOOST_PP_TUPLE_EAT_4)(o(144, s), p, o, m)
-# define BOOST_PP_FOR_144_I(s, p, o, m) BOOST_PP_IF(p(145, s), m, BOOST_PP_TUPLE_EAT_2)(145, s) BOOST_PP_IF(p(145, s), BOOST_PP_FOR_145, BOOST_PP_TUPLE_EAT_4)(o(145, s), p, o, m)
-# define BOOST_PP_FOR_145_I(s, p, o, m) BOOST_PP_IF(p(146, s), m, BOOST_PP_TUPLE_EAT_2)(146, s) BOOST_PP_IF(p(146, s), BOOST_PP_FOR_146, BOOST_PP_TUPLE_EAT_4)(o(146, s), p, o, m)
-# define BOOST_PP_FOR_146_I(s, p, o, m) BOOST_PP_IF(p(147, s), m, BOOST_PP_TUPLE_EAT_2)(147, s) BOOST_PP_IF(p(147, s), BOOST_PP_FOR_147, BOOST_PP_TUPLE_EAT_4)(o(147, s), p, o, m)
-# define BOOST_PP_FOR_147_I(s, p, o, m) BOOST_PP_IF(p(148, s), m, BOOST_PP_TUPLE_EAT_2)(148, s) BOOST_PP_IF(p(148, s), BOOST_PP_FOR_148, BOOST_PP_TUPLE_EAT_4)(o(148, s), p, o, m)
-# define BOOST_PP_FOR_148_I(s, p, o, m) BOOST_PP_IF(p(149, s), m, BOOST_PP_TUPLE_EAT_2)(149, s) BOOST_PP_IF(p(149, s), BOOST_PP_FOR_149, BOOST_PP_TUPLE_EAT_4)(o(149, s), p, o, m)
-# define BOOST_PP_FOR_149_I(s, p, o, m) BOOST_PP_IF(p(150, s), m, BOOST_PP_TUPLE_EAT_2)(150, s) BOOST_PP_IF(p(150, s), BOOST_PP_FOR_150, BOOST_PP_TUPLE_EAT_4)(o(150, s), p, o, m)
-# define BOOST_PP_FOR_150_I(s, p, o, m) BOOST_PP_IF(p(151, s), m, BOOST_PP_TUPLE_EAT_2)(151, s) BOOST_PP_IF(p(151, s), BOOST_PP_FOR_151, BOOST_PP_TUPLE_EAT_4)(o(151, s), p, o, m)
-# define BOOST_PP_FOR_151_I(s, p, o, m) BOOST_PP_IF(p(152, s), m, BOOST_PP_TUPLE_EAT_2)(152, s) BOOST_PP_IF(p(152, s), BOOST_PP_FOR_152, BOOST_PP_TUPLE_EAT_4)(o(152, s), p, o, m)
-# define BOOST_PP_FOR_152_I(s, p, o, m) BOOST_PP_IF(p(153, s), m, BOOST_PP_TUPLE_EAT_2)(153, s) BOOST_PP_IF(p(153, s), BOOST_PP_FOR_153, BOOST_PP_TUPLE_EAT_4)(o(153, s), p, o, m)
-# define BOOST_PP_FOR_153_I(s, p, o, m) BOOST_PP_IF(p(154, s), m, BOOST_PP_TUPLE_EAT_2)(154, s) BOOST_PP_IF(p(154, s), BOOST_PP_FOR_154, BOOST_PP_TUPLE_EAT_4)(o(154, s), p, o, m)
-# define BOOST_PP_FOR_154_I(s, p, o, m) BOOST_PP_IF(p(155, s), m, BOOST_PP_TUPLE_EAT_2)(155, s) BOOST_PP_IF(p(155, s), BOOST_PP_FOR_155, BOOST_PP_TUPLE_EAT_4)(o(155, s), p, o, m)
-# define BOOST_PP_FOR_155_I(s, p, o, m) BOOST_PP_IF(p(156, s), m, BOOST_PP_TUPLE_EAT_2)(156, s) BOOST_PP_IF(p(156, s), BOOST_PP_FOR_156, BOOST_PP_TUPLE_EAT_4)(o(156, s), p, o, m)
-# define BOOST_PP_FOR_156_I(s, p, o, m) BOOST_PP_IF(p(157, s), m, BOOST_PP_TUPLE_EAT_2)(157, s) BOOST_PP_IF(p(157, s), BOOST_PP_FOR_157, BOOST_PP_TUPLE_EAT_4)(o(157, s), p, o, m)
-# define BOOST_PP_FOR_157_I(s, p, o, m) BOOST_PP_IF(p(158, s), m, BOOST_PP_TUPLE_EAT_2)(158, s) BOOST_PP_IF(p(158, s), BOOST_PP_FOR_158, BOOST_PP_TUPLE_EAT_4)(o(158, s), p, o, m)
-# define BOOST_PP_FOR_158_I(s, p, o, m) BOOST_PP_IF(p(159, s), m, BOOST_PP_TUPLE_EAT_2)(159, s) BOOST_PP_IF(p(159, s), BOOST_PP_FOR_159, BOOST_PP_TUPLE_EAT_4)(o(159, s), p, o, m)
-# define BOOST_PP_FOR_159_I(s, p, o, m) BOOST_PP_IF(p(160, s), m, BOOST_PP_TUPLE_EAT_2)(160, s) BOOST_PP_IF(p(160, s), BOOST_PP_FOR_160, BOOST_PP_TUPLE_EAT_4)(o(160, s), p, o, m)
-# define BOOST_PP_FOR_160_I(s, p, o, m) BOOST_PP_IF(p(161, s), m, BOOST_PP_TUPLE_EAT_2)(161, s) BOOST_PP_IF(p(161, s), BOOST_PP_FOR_161, BOOST_PP_TUPLE_EAT_4)(o(161, s), p, o, m)
-# define BOOST_PP_FOR_161_I(s, p, o, m) BOOST_PP_IF(p(162, s), m, BOOST_PP_TUPLE_EAT_2)(162, s) BOOST_PP_IF(p(162, s), BOOST_PP_FOR_162, BOOST_PP_TUPLE_EAT_4)(o(162, s), p, o, m)
-# define BOOST_PP_FOR_162_I(s, p, o, m) BOOST_PP_IF(p(163, s), m, BOOST_PP_TUPLE_EAT_2)(163, s) BOOST_PP_IF(p(163, s), BOOST_PP_FOR_163, BOOST_PP_TUPLE_EAT_4)(o(163, s), p, o, m)
-# define BOOST_PP_FOR_163_I(s, p, o, m) BOOST_PP_IF(p(164, s), m, BOOST_PP_TUPLE_EAT_2)(164, s) BOOST_PP_IF(p(164, s), BOOST_PP_FOR_164, BOOST_PP_TUPLE_EAT_4)(o(164, s), p, o, m)
-# define BOOST_PP_FOR_164_I(s, p, o, m) BOOST_PP_IF(p(165, s), m, BOOST_PP_TUPLE_EAT_2)(165, s) BOOST_PP_IF(p(165, s), BOOST_PP_FOR_165, BOOST_PP_TUPLE_EAT_4)(o(165, s), p, o, m)
-# define BOOST_PP_FOR_165_I(s, p, o, m) BOOST_PP_IF(p(166, s), m, BOOST_PP_TUPLE_EAT_2)(166, s) BOOST_PP_IF(p(166, s), BOOST_PP_FOR_166, BOOST_PP_TUPLE_EAT_4)(o(166, s), p, o, m)
-# define BOOST_PP_FOR_166_I(s, p, o, m) BOOST_PP_IF(p(167, s), m, BOOST_PP_TUPLE_EAT_2)(167, s) BOOST_PP_IF(p(167, s), BOOST_PP_FOR_167, BOOST_PP_TUPLE_EAT_4)(o(167, s), p, o, m)
-# define BOOST_PP_FOR_167_I(s, p, o, m) BOOST_PP_IF(p(168, s), m, BOOST_PP_TUPLE_EAT_2)(168, s) BOOST_PP_IF(p(168, s), BOOST_PP_FOR_168, BOOST_PP_TUPLE_EAT_4)(o(168, s), p, o, m)
-# define BOOST_PP_FOR_168_I(s, p, o, m) BOOST_PP_IF(p(169, s), m, BOOST_PP_TUPLE_EAT_2)(169, s) BOOST_PP_IF(p(169, s), BOOST_PP_FOR_169, BOOST_PP_TUPLE_EAT_4)(o(169, s), p, o, m)
-# define BOOST_PP_FOR_169_I(s, p, o, m) BOOST_PP_IF(p(170, s), m, BOOST_PP_TUPLE_EAT_2)(170, s) BOOST_PP_IF(p(170, s), BOOST_PP_FOR_170, BOOST_PP_TUPLE_EAT_4)(o(170, s), p, o, m)
-# define BOOST_PP_FOR_170_I(s, p, o, m) BOOST_PP_IF(p(171, s), m, BOOST_PP_TUPLE_EAT_2)(171, s) BOOST_PP_IF(p(171, s), BOOST_PP_FOR_171, BOOST_PP_TUPLE_EAT_4)(o(171, s), p, o, m)
-# define BOOST_PP_FOR_171_I(s, p, o, m) BOOST_PP_IF(p(172, s), m, BOOST_PP_TUPLE_EAT_2)(172, s) BOOST_PP_IF(p(172, s), BOOST_PP_FOR_172, BOOST_PP_TUPLE_EAT_4)(o(172, s), p, o, m)
-# define BOOST_PP_FOR_172_I(s, p, o, m) BOOST_PP_IF(p(173, s), m, BOOST_PP_TUPLE_EAT_2)(173, s) BOOST_PP_IF(p(173, s), BOOST_PP_FOR_173, BOOST_PP_TUPLE_EAT_4)(o(173, s), p, o, m)
-# define BOOST_PP_FOR_173_I(s, p, o, m) BOOST_PP_IF(p(174, s), m, BOOST_PP_TUPLE_EAT_2)(174, s) BOOST_PP_IF(p(174, s), BOOST_PP_FOR_174, BOOST_PP_TUPLE_EAT_4)(o(174, s), p, o, m)
-# define BOOST_PP_FOR_174_I(s, p, o, m) BOOST_PP_IF(p(175, s), m, BOOST_PP_TUPLE_EAT_2)(175, s) BOOST_PP_IF(p(175, s), BOOST_PP_FOR_175, BOOST_PP_TUPLE_EAT_4)(o(175, s), p, o, m)
-# define BOOST_PP_FOR_175_I(s, p, o, m) BOOST_PP_IF(p(176, s), m, BOOST_PP_TUPLE_EAT_2)(176, s) BOOST_PP_IF(p(176, s), BOOST_PP_FOR_176, BOOST_PP_TUPLE_EAT_4)(o(176, s), p, o, m)
-# define BOOST_PP_FOR_176_I(s, p, o, m) BOOST_PP_IF(p(177, s), m, BOOST_PP_TUPLE_EAT_2)(177, s) BOOST_PP_IF(p(177, s), BOOST_PP_FOR_177, BOOST_PP_TUPLE_EAT_4)(o(177, s), p, o, m)
-# define BOOST_PP_FOR_177_I(s, p, o, m) BOOST_PP_IF(p(178, s), m, BOOST_PP_TUPLE_EAT_2)(178, s) BOOST_PP_IF(p(178, s), BOOST_PP_FOR_178, BOOST_PP_TUPLE_EAT_4)(o(178, s), p, o, m)
-# define BOOST_PP_FOR_178_I(s, p, o, m) BOOST_PP_IF(p(179, s), m, BOOST_PP_TUPLE_EAT_2)(179, s) BOOST_PP_IF(p(179, s), BOOST_PP_FOR_179, BOOST_PP_TUPLE_EAT_4)(o(179, s), p, o, m)
-# define BOOST_PP_FOR_179_I(s, p, o, m) BOOST_PP_IF(p(180, s), m, BOOST_PP_TUPLE_EAT_2)(180, s) BOOST_PP_IF(p(180, s), BOOST_PP_FOR_180, BOOST_PP_TUPLE_EAT_4)(o(180, s), p, o, m)
-# define BOOST_PP_FOR_180_I(s, p, o, m) BOOST_PP_IF(p(181, s), m, BOOST_PP_TUPLE_EAT_2)(181, s) BOOST_PP_IF(p(181, s), BOOST_PP_FOR_181, BOOST_PP_TUPLE_EAT_4)(o(181, s), p, o, m)
-# define BOOST_PP_FOR_181_I(s, p, o, m) BOOST_PP_IF(p(182, s), m, BOOST_PP_TUPLE_EAT_2)(182, s) BOOST_PP_IF(p(182, s), BOOST_PP_FOR_182, BOOST_PP_TUPLE_EAT_4)(o(182, s), p, o, m)
-# define BOOST_PP_FOR_182_I(s, p, o, m) BOOST_PP_IF(p(183, s), m, BOOST_PP_TUPLE_EAT_2)(183, s) BOOST_PP_IF(p(183, s), BOOST_PP_FOR_183, BOOST_PP_TUPLE_EAT_4)(o(183, s), p, o, m)
-# define BOOST_PP_FOR_183_I(s, p, o, m) BOOST_PP_IF(p(184, s), m, BOOST_PP_TUPLE_EAT_2)(184, s) BOOST_PP_IF(p(184, s), BOOST_PP_FOR_184, BOOST_PP_TUPLE_EAT_4)(o(184, s), p, o, m)
-# define BOOST_PP_FOR_184_I(s, p, o, m) BOOST_PP_IF(p(185, s), m, BOOST_PP_TUPLE_EAT_2)(185, s) BOOST_PP_IF(p(185, s), BOOST_PP_FOR_185, BOOST_PP_TUPLE_EAT_4)(o(185, s), p, o, m)
-# define BOOST_PP_FOR_185_I(s, p, o, m) BOOST_PP_IF(p(186, s), m, BOOST_PP_TUPLE_EAT_2)(186, s) BOOST_PP_IF(p(186, s), BOOST_PP_FOR_186, BOOST_PP_TUPLE_EAT_4)(o(186, s), p, o, m)
-# define BOOST_PP_FOR_186_I(s, p, o, m) BOOST_PP_IF(p(187, s), m, BOOST_PP_TUPLE_EAT_2)(187, s) BOOST_PP_IF(p(187, s), BOOST_PP_FOR_187, BOOST_PP_TUPLE_EAT_4)(o(187, s), p, o, m)
-# define BOOST_PP_FOR_187_I(s, p, o, m) BOOST_PP_IF(p(188, s), m, BOOST_PP_TUPLE_EAT_2)(188, s) BOOST_PP_IF(p(188, s), BOOST_PP_FOR_188, BOOST_PP_TUPLE_EAT_4)(o(188, s), p, o, m)
-# define BOOST_PP_FOR_188_I(s, p, o, m) BOOST_PP_IF(p(189, s), m, BOOST_PP_TUPLE_EAT_2)(189, s) BOOST_PP_IF(p(189, s), BOOST_PP_FOR_189, BOOST_PP_TUPLE_EAT_4)(o(189, s), p, o, m)
-# define BOOST_PP_FOR_189_I(s, p, o, m) BOOST_PP_IF(p(190, s), m, BOOST_PP_TUPLE_EAT_2)(190, s) BOOST_PP_IF(p(190, s), BOOST_PP_FOR_190, BOOST_PP_TUPLE_EAT_4)(o(190, s), p, o, m)
-# define BOOST_PP_FOR_190_I(s, p, o, m) BOOST_PP_IF(p(191, s), m, BOOST_PP_TUPLE_EAT_2)(191, s) BOOST_PP_IF(p(191, s), BOOST_PP_FOR_191, BOOST_PP_TUPLE_EAT_4)(o(191, s), p, o, m)
-# define BOOST_PP_FOR_191_I(s, p, o, m) BOOST_PP_IF(p(192, s), m, BOOST_PP_TUPLE_EAT_2)(192, s) BOOST_PP_IF(p(192, s), BOOST_PP_FOR_192, BOOST_PP_TUPLE_EAT_4)(o(192, s), p, o, m)
-# define BOOST_PP_FOR_192_I(s, p, o, m) BOOST_PP_IF(p(193, s), m, BOOST_PP_TUPLE_EAT_2)(193, s) BOOST_PP_IF(p(193, s), BOOST_PP_FOR_193, BOOST_PP_TUPLE_EAT_4)(o(193, s), p, o, m)
-# define BOOST_PP_FOR_193_I(s, p, o, m) BOOST_PP_IF(p(194, s), m, BOOST_PP_TUPLE_EAT_2)(194, s) BOOST_PP_IF(p(194, s), BOOST_PP_FOR_194, BOOST_PP_TUPLE_EAT_4)(o(194, s), p, o, m)
-# define BOOST_PP_FOR_194_I(s, p, o, m) BOOST_PP_IF(p(195, s), m, BOOST_PP_TUPLE_EAT_2)(195, s) BOOST_PP_IF(p(195, s), BOOST_PP_FOR_195, BOOST_PP_TUPLE_EAT_4)(o(195, s), p, o, m)
-# define BOOST_PP_FOR_195_I(s, p, o, m) BOOST_PP_IF(p(196, s), m, BOOST_PP_TUPLE_EAT_2)(196, s) BOOST_PP_IF(p(196, s), BOOST_PP_FOR_196, BOOST_PP_TUPLE_EAT_4)(o(196, s), p, o, m)
-# define BOOST_PP_FOR_196_I(s, p, o, m) BOOST_PP_IF(p(197, s), m, BOOST_PP_TUPLE_EAT_2)(197, s) BOOST_PP_IF(p(197, s), BOOST_PP_FOR_197, BOOST_PP_TUPLE_EAT_4)(o(197, s), p, o, m)
-# define BOOST_PP_FOR_197_I(s, p, o, m) BOOST_PP_IF(p(198, s), m, BOOST_PP_TUPLE_EAT_2)(198, s) BOOST_PP_IF(p(198, s), BOOST_PP_FOR_198, BOOST_PP_TUPLE_EAT_4)(o(198, s), p, o, m)
-# define BOOST_PP_FOR_198_I(s, p, o, m) BOOST_PP_IF(p(199, s), m, BOOST_PP_TUPLE_EAT_2)(199, s) BOOST_PP_IF(p(199, s), BOOST_PP_FOR_199, BOOST_PP_TUPLE_EAT_4)(o(199, s), p, o, m)
-# define BOOST_PP_FOR_199_I(s, p, o, m) BOOST_PP_IF(p(200, s), m, BOOST_PP_TUPLE_EAT_2)(200, s) BOOST_PP_IF(p(200, s), BOOST_PP_FOR_200, BOOST_PP_TUPLE_EAT_4)(o(200, s), p, o, m)
-# define BOOST_PP_FOR_200_I(s, p, o, m) BOOST_PP_IF(p(201, s), m, BOOST_PP_TUPLE_EAT_2)(201, s) BOOST_PP_IF(p(201, s), BOOST_PP_FOR_201, BOOST_PP_TUPLE_EAT_4)(o(201, s), p, o, m)
-# define BOOST_PP_FOR_201_I(s, p, o, m) BOOST_PP_IF(p(202, s), m, BOOST_PP_TUPLE_EAT_2)(202, s) BOOST_PP_IF(p(202, s), BOOST_PP_FOR_202, BOOST_PP_TUPLE_EAT_4)(o(202, s), p, o, m)
-# define BOOST_PP_FOR_202_I(s, p, o, m) BOOST_PP_IF(p(203, s), m, BOOST_PP_TUPLE_EAT_2)(203, s) BOOST_PP_IF(p(203, s), BOOST_PP_FOR_203, BOOST_PP_TUPLE_EAT_4)(o(203, s), p, o, m)
-# define BOOST_PP_FOR_203_I(s, p, o, m) BOOST_PP_IF(p(204, s), m, BOOST_PP_TUPLE_EAT_2)(204, s) BOOST_PP_IF(p(204, s), BOOST_PP_FOR_204, BOOST_PP_TUPLE_EAT_4)(o(204, s), p, o, m)
-# define BOOST_PP_FOR_204_I(s, p, o, m) BOOST_PP_IF(p(205, s), m, BOOST_PP_TUPLE_EAT_2)(205, s) BOOST_PP_IF(p(205, s), BOOST_PP_FOR_205, BOOST_PP_TUPLE_EAT_4)(o(205, s), p, o, m)
-# define BOOST_PP_FOR_205_I(s, p, o, m) BOOST_PP_IF(p(206, s), m, BOOST_PP_TUPLE_EAT_2)(206, s) BOOST_PP_IF(p(206, s), BOOST_PP_FOR_206, BOOST_PP_TUPLE_EAT_4)(o(206, s), p, o, m)
-# define BOOST_PP_FOR_206_I(s, p, o, m) BOOST_PP_IF(p(207, s), m, BOOST_PP_TUPLE_EAT_2)(207, s) BOOST_PP_IF(p(207, s), BOOST_PP_FOR_207, BOOST_PP_TUPLE_EAT_4)(o(207, s), p, o, m)
-# define BOOST_PP_FOR_207_I(s, p, o, m) BOOST_PP_IF(p(208, s), m, BOOST_PP_TUPLE_EAT_2)(208, s) BOOST_PP_IF(p(208, s), BOOST_PP_FOR_208, BOOST_PP_TUPLE_EAT_4)(o(208, s), p, o, m)
-# define BOOST_PP_FOR_208_I(s, p, o, m) BOOST_PP_IF(p(209, s), m, BOOST_PP_TUPLE_EAT_2)(209, s) BOOST_PP_IF(p(209, s), BOOST_PP_FOR_209, BOOST_PP_TUPLE_EAT_4)(o(209, s), p, o, m)
-# define BOOST_PP_FOR_209_I(s, p, o, m) BOOST_PP_IF(p(210, s), m, BOOST_PP_TUPLE_EAT_2)(210, s) BOOST_PP_IF(p(210, s), BOOST_PP_FOR_210, BOOST_PP_TUPLE_EAT_4)(o(210, s), p, o, m)
-# define BOOST_PP_FOR_210_I(s, p, o, m) BOOST_PP_IF(p(211, s), m, BOOST_PP_TUPLE_EAT_2)(211, s) BOOST_PP_IF(p(211, s), BOOST_PP_FOR_211, BOOST_PP_TUPLE_EAT_4)(o(211, s), p, o, m)
-# define BOOST_PP_FOR_211_I(s, p, o, m) BOOST_PP_IF(p(212, s), m, BOOST_PP_TUPLE_EAT_2)(212, s) BOOST_PP_IF(p(212, s), BOOST_PP_FOR_212, BOOST_PP_TUPLE_EAT_4)(o(212, s), p, o, m)
-# define BOOST_PP_FOR_212_I(s, p, o, m) BOOST_PP_IF(p(213, s), m, BOOST_PP_TUPLE_EAT_2)(213, s) BOOST_PP_IF(p(213, s), BOOST_PP_FOR_213, BOOST_PP_TUPLE_EAT_4)(o(213, s), p, o, m)
-# define BOOST_PP_FOR_213_I(s, p, o, m) BOOST_PP_IF(p(214, s), m, BOOST_PP_TUPLE_EAT_2)(214, s) BOOST_PP_IF(p(214, s), BOOST_PP_FOR_214, BOOST_PP_TUPLE_EAT_4)(o(214, s), p, o, m)
-# define BOOST_PP_FOR_214_I(s, p, o, m) BOOST_PP_IF(p(215, s), m, BOOST_PP_TUPLE_EAT_2)(215, s) BOOST_PP_IF(p(215, s), BOOST_PP_FOR_215, BOOST_PP_TUPLE_EAT_4)(o(215, s), p, o, m)
-# define BOOST_PP_FOR_215_I(s, p, o, m) BOOST_PP_IF(p(216, s), m, BOOST_PP_TUPLE_EAT_2)(216, s) BOOST_PP_IF(p(216, s), BOOST_PP_FOR_216, BOOST_PP_TUPLE_EAT_4)(o(216, s), p, o, m)
-# define BOOST_PP_FOR_216_I(s, p, o, m) BOOST_PP_IF(p(217, s), m, BOOST_PP_TUPLE_EAT_2)(217, s) BOOST_PP_IF(p(217, s), BOOST_PP_FOR_217, BOOST_PP_TUPLE_EAT_4)(o(217, s), p, o, m)
-# define BOOST_PP_FOR_217_I(s, p, o, m) BOOST_PP_IF(p(218, s), m, BOOST_PP_TUPLE_EAT_2)(218, s) BOOST_PP_IF(p(218, s), BOOST_PP_FOR_218, BOOST_PP_TUPLE_EAT_4)(o(218, s), p, o, m)
-# define BOOST_PP_FOR_218_I(s, p, o, m) BOOST_PP_IF(p(219, s), m, BOOST_PP_TUPLE_EAT_2)(219, s) BOOST_PP_IF(p(219, s), BOOST_PP_FOR_219, BOOST_PP_TUPLE_EAT_4)(o(219, s), p, o, m)
-# define BOOST_PP_FOR_219_I(s, p, o, m) BOOST_PP_IF(p(220, s), m, BOOST_PP_TUPLE_EAT_2)(220, s) BOOST_PP_IF(p(220, s), BOOST_PP_FOR_220, BOOST_PP_TUPLE_EAT_4)(o(220, s), p, o, m)
-# define BOOST_PP_FOR_220_I(s, p, o, m) BOOST_PP_IF(p(221, s), m, BOOST_PP_TUPLE_EAT_2)(221, s) BOOST_PP_IF(p(221, s), BOOST_PP_FOR_221, BOOST_PP_TUPLE_EAT_4)(o(221, s), p, o, m)
-# define BOOST_PP_FOR_221_I(s, p, o, m) BOOST_PP_IF(p(222, s), m, BOOST_PP_TUPLE_EAT_2)(222, s) BOOST_PP_IF(p(222, s), BOOST_PP_FOR_222, BOOST_PP_TUPLE_EAT_4)(o(222, s), p, o, m)
-# define BOOST_PP_FOR_222_I(s, p, o, m) BOOST_PP_IF(p(223, s), m, BOOST_PP_TUPLE_EAT_2)(223, s) BOOST_PP_IF(p(223, s), BOOST_PP_FOR_223, BOOST_PP_TUPLE_EAT_4)(o(223, s), p, o, m)
-# define BOOST_PP_FOR_223_I(s, p, o, m) BOOST_PP_IF(p(224, s), m, BOOST_PP_TUPLE_EAT_2)(224, s) BOOST_PP_IF(p(224, s), BOOST_PP_FOR_224, BOOST_PP_TUPLE_EAT_4)(o(224, s), p, o, m)
-# define BOOST_PP_FOR_224_I(s, p, o, m) BOOST_PP_IF(p(225, s), m, BOOST_PP_TUPLE_EAT_2)(225, s) BOOST_PP_IF(p(225, s), BOOST_PP_FOR_225, BOOST_PP_TUPLE_EAT_4)(o(225, s), p, o, m)
-# define BOOST_PP_FOR_225_I(s, p, o, m) BOOST_PP_IF(p(226, s), m, BOOST_PP_TUPLE_EAT_2)(226, s) BOOST_PP_IF(p(226, s), BOOST_PP_FOR_226, BOOST_PP_TUPLE_EAT_4)(o(226, s), p, o, m)
-# define BOOST_PP_FOR_226_I(s, p, o, m) BOOST_PP_IF(p(227, s), m, BOOST_PP_TUPLE_EAT_2)(227, s) BOOST_PP_IF(p(227, s), BOOST_PP_FOR_227, BOOST_PP_TUPLE_EAT_4)(o(227, s), p, o, m)
-# define BOOST_PP_FOR_227_I(s, p, o, m) BOOST_PP_IF(p(228, s), m, BOOST_PP_TUPLE_EAT_2)(228, s) BOOST_PP_IF(p(228, s), BOOST_PP_FOR_228, BOOST_PP_TUPLE_EAT_4)(o(228, s), p, o, m)
-# define BOOST_PP_FOR_228_I(s, p, o, m) BOOST_PP_IF(p(229, s), m, BOOST_PP_TUPLE_EAT_2)(229, s) BOOST_PP_IF(p(229, s), BOOST_PP_FOR_229, BOOST_PP_TUPLE_EAT_4)(o(229, s), p, o, m)
-# define BOOST_PP_FOR_229_I(s, p, o, m) BOOST_PP_IF(p(230, s), m, BOOST_PP_TUPLE_EAT_2)(230, s) BOOST_PP_IF(p(230, s), BOOST_PP_FOR_230, BOOST_PP_TUPLE_EAT_4)(o(230, s), p, o, m)
-# define BOOST_PP_FOR_230_I(s, p, o, m) BOOST_PP_IF(p(231, s), m, BOOST_PP_TUPLE_EAT_2)(231, s) BOOST_PP_IF(p(231, s), BOOST_PP_FOR_231, BOOST_PP_TUPLE_EAT_4)(o(231, s), p, o, m)
-# define BOOST_PP_FOR_231_I(s, p, o, m) BOOST_PP_IF(p(232, s), m, BOOST_PP_TUPLE_EAT_2)(232, s) BOOST_PP_IF(p(232, s), BOOST_PP_FOR_232, BOOST_PP_TUPLE_EAT_4)(o(232, s), p, o, m)
-# define BOOST_PP_FOR_232_I(s, p, o, m) BOOST_PP_IF(p(233, s), m, BOOST_PP_TUPLE_EAT_2)(233, s) BOOST_PP_IF(p(233, s), BOOST_PP_FOR_233, BOOST_PP_TUPLE_EAT_4)(o(233, s), p, o, m)
-# define BOOST_PP_FOR_233_I(s, p, o, m) BOOST_PP_IF(p(234, s), m, BOOST_PP_TUPLE_EAT_2)(234, s) BOOST_PP_IF(p(234, s), BOOST_PP_FOR_234, BOOST_PP_TUPLE_EAT_4)(o(234, s), p, o, m)
-# define BOOST_PP_FOR_234_I(s, p, o, m) BOOST_PP_IF(p(235, s), m, BOOST_PP_TUPLE_EAT_2)(235, s) BOOST_PP_IF(p(235, s), BOOST_PP_FOR_235, BOOST_PP_TUPLE_EAT_4)(o(235, s), p, o, m)
-# define BOOST_PP_FOR_235_I(s, p, o, m) BOOST_PP_IF(p(236, s), m, BOOST_PP_TUPLE_EAT_2)(236, s) BOOST_PP_IF(p(236, s), BOOST_PP_FOR_236, BOOST_PP_TUPLE_EAT_4)(o(236, s), p, o, m)
-# define BOOST_PP_FOR_236_I(s, p, o, m) BOOST_PP_IF(p(237, s), m, BOOST_PP_TUPLE_EAT_2)(237, s) BOOST_PP_IF(p(237, s), BOOST_PP_FOR_237, BOOST_PP_TUPLE_EAT_4)(o(237, s), p, o, m)
-# define BOOST_PP_FOR_237_I(s, p, o, m) BOOST_PP_IF(p(238, s), m, BOOST_PP_TUPLE_EAT_2)(238, s) BOOST_PP_IF(p(238, s), BOOST_PP_FOR_238, BOOST_PP_TUPLE_EAT_4)(o(238, s), p, o, m)
-# define BOOST_PP_FOR_238_I(s, p, o, m) BOOST_PP_IF(p(239, s), m, BOOST_PP_TUPLE_EAT_2)(239, s) BOOST_PP_IF(p(239, s), BOOST_PP_FOR_239, BOOST_PP_TUPLE_EAT_4)(o(239, s), p, o, m)
-# define BOOST_PP_FOR_239_I(s, p, o, m) BOOST_PP_IF(p(240, s), m, BOOST_PP_TUPLE_EAT_2)(240, s) BOOST_PP_IF(p(240, s), BOOST_PP_FOR_240, BOOST_PP_TUPLE_EAT_4)(o(240, s), p, o, m)
-# define BOOST_PP_FOR_240_I(s, p, o, m) BOOST_PP_IF(p(241, s), m, BOOST_PP_TUPLE_EAT_2)(241, s) BOOST_PP_IF(p(241, s), BOOST_PP_FOR_241, BOOST_PP_TUPLE_EAT_4)(o(241, s), p, o, m)
-# define BOOST_PP_FOR_241_I(s, p, o, m) BOOST_PP_IF(p(242, s), m, BOOST_PP_TUPLE_EAT_2)(242, s) BOOST_PP_IF(p(242, s), BOOST_PP_FOR_242, BOOST_PP_TUPLE_EAT_4)(o(242, s), p, o, m)
-# define BOOST_PP_FOR_242_I(s, p, o, m) BOOST_PP_IF(p(243, s), m, BOOST_PP_TUPLE_EAT_2)(243, s) BOOST_PP_IF(p(243, s), BOOST_PP_FOR_243, BOOST_PP_TUPLE_EAT_4)(o(243, s), p, o, m)
-# define BOOST_PP_FOR_243_I(s, p, o, m) BOOST_PP_IF(p(244, s), m, BOOST_PP_TUPLE_EAT_2)(244, s) BOOST_PP_IF(p(244, s), BOOST_PP_FOR_244, BOOST_PP_TUPLE_EAT_4)(o(244, s), p, o, m)
-# define BOOST_PP_FOR_244_I(s, p, o, m) BOOST_PP_IF(p(245, s), m, BOOST_PP_TUPLE_EAT_2)(245, s) BOOST_PP_IF(p(245, s), BOOST_PP_FOR_245, BOOST_PP_TUPLE_EAT_4)(o(245, s), p, o, m)
-# define BOOST_PP_FOR_245_I(s, p, o, m) BOOST_PP_IF(p(246, s), m, BOOST_PP_TUPLE_EAT_2)(246, s) BOOST_PP_IF(p(246, s), BOOST_PP_FOR_246, BOOST_PP_TUPLE_EAT_4)(o(246, s), p, o, m)
-# define BOOST_PP_FOR_246_I(s, p, o, m) BOOST_PP_IF(p(247, s), m, BOOST_PP_TUPLE_EAT_2)(247, s) BOOST_PP_IF(p(247, s), BOOST_PP_FOR_247, BOOST_PP_TUPLE_EAT_4)(o(247, s), p, o, m)
-# define BOOST_PP_FOR_247_I(s, p, o, m) BOOST_PP_IF(p(248, s), m, BOOST_PP_TUPLE_EAT_2)(248, s) BOOST_PP_IF(p(248, s), BOOST_PP_FOR_248, BOOST_PP_TUPLE_EAT_4)(o(248, s), p, o, m)
-# define BOOST_PP_FOR_248_I(s, p, o, m) BOOST_PP_IF(p(249, s), m, BOOST_PP_TUPLE_EAT_2)(249, s) BOOST_PP_IF(p(249, s), BOOST_PP_FOR_249, BOOST_PP_TUPLE_EAT_4)(o(249, s), p, o, m)
-# define BOOST_PP_FOR_249_I(s, p, o, m) BOOST_PP_IF(p(250, s), m, BOOST_PP_TUPLE_EAT_2)(250, s) BOOST_PP_IF(p(250, s), BOOST_PP_FOR_250, BOOST_PP_TUPLE_EAT_4)(o(250, s), p, o, m)
-# define BOOST_PP_FOR_250_I(s, p, o, m) BOOST_PP_IF(p(251, s), m, BOOST_PP_TUPLE_EAT_2)(251, s) BOOST_PP_IF(p(251, s), BOOST_PP_FOR_251, BOOST_PP_TUPLE_EAT_4)(o(251, s), p, o, m)
-# define BOOST_PP_FOR_251_I(s, p, o, m) BOOST_PP_IF(p(252, s), m, BOOST_PP_TUPLE_EAT_2)(252, s) BOOST_PP_IF(p(252, s), BOOST_PP_FOR_252, BOOST_PP_TUPLE_EAT_4)(o(252, s), p, o, m)
-# define BOOST_PP_FOR_252_I(s, p, o, m) BOOST_PP_IF(p(253, s), m, BOOST_PP_TUPLE_EAT_2)(253, s) BOOST_PP_IF(p(253, s), BOOST_PP_FOR_253, BOOST_PP_TUPLE_EAT_4)(o(253, s), p, o, m)
-# define BOOST_PP_FOR_253_I(s, p, o, m) BOOST_PP_IF(p(254, s), m, BOOST_PP_TUPLE_EAT_2)(254, s) BOOST_PP_IF(p(254, s), BOOST_PP_FOR_254, BOOST_PP_TUPLE_EAT_4)(o(254, s), p, o, m)
-# define BOOST_PP_FOR_254_I(s, p, o, m) BOOST_PP_IF(p(255, s), m, BOOST_PP_TUPLE_EAT_2)(255, s) BOOST_PP_IF(p(255, s), BOOST_PP_FOR_255, BOOST_PP_TUPLE_EAT_4)(o(255, s), p, o, m)
-# define BOOST_PP_FOR_255_I(s, p, o, m) BOOST_PP_IF(p(256, s), m, BOOST_PP_TUPLE_EAT_2)(256, s) BOOST_PP_IF(p(256, s), BOOST_PP_FOR_256, BOOST_PP_TUPLE_EAT_4)(o(256, s), p, o, m)
-# define BOOST_PP_FOR_256_I(s, p, o, m) BOOST_PP_IF(p(257, s), m, BOOST_PP_TUPLE_EAT_2)(257, s) BOOST_PP_IF(p(257, s), BOOST_PP_FOR_257, BOOST_PP_TUPLE_EAT_4)(o(257, s), p, o, m)
+# define NDNBOOST_PP_FOR_1_I(s, p, o, m) NDNBOOST_PP_IF(p(2, s), m, NDNBOOST_PP_TUPLE_EAT_2)(2, s) NDNBOOST_PP_IF(p(2, s), NDNBOOST_PP_FOR_2, NDNBOOST_PP_TUPLE_EAT_4)(o(2, s), p, o, m)
+# define NDNBOOST_PP_FOR_2_I(s, p, o, m) NDNBOOST_PP_IF(p(3, s), m, NDNBOOST_PP_TUPLE_EAT_2)(3, s) NDNBOOST_PP_IF(p(3, s), NDNBOOST_PP_FOR_3, NDNBOOST_PP_TUPLE_EAT_4)(o(3, s), p, o, m)
+# define NDNBOOST_PP_FOR_3_I(s, p, o, m) NDNBOOST_PP_IF(p(4, s), m, NDNBOOST_PP_TUPLE_EAT_2)(4, s) NDNBOOST_PP_IF(p(4, s), NDNBOOST_PP_FOR_4, NDNBOOST_PP_TUPLE_EAT_4)(o(4, s), p, o, m)
+# define NDNBOOST_PP_FOR_4_I(s, p, o, m) NDNBOOST_PP_IF(p(5, s), m, NDNBOOST_PP_TUPLE_EAT_2)(5, s) NDNBOOST_PP_IF(p(5, s), NDNBOOST_PP_FOR_5, NDNBOOST_PP_TUPLE_EAT_4)(o(5, s), p, o, m)
+# define NDNBOOST_PP_FOR_5_I(s, p, o, m) NDNBOOST_PP_IF(p(6, s), m, NDNBOOST_PP_TUPLE_EAT_2)(6, s) NDNBOOST_PP_IF(p(6, s), NDNBOOST_PP_FOR_6, NDNBOOST_PP_TUPLE_EAT_4)(o(6, s), p, o, m)
+# define NDNBOOST_PP_FOR_6_I(s, p, o, m) NDNBOOST_PP_IF(p(7, s), m, NDNBOOST_PP_TUPLE_EAT_2)(7, s) NDNBOOST_PP_IF(p(7, s), NDNBOOST_PP_FOR_7, NDNBOOST_PP_TUPLE_EAT_4)(o(7, s), p, o, m)
+# define NDNBOOST_PP_FOR_7_I(s, p, o, m) NDNBOOST_PP_IF(p(8, s), m, NDNBOOST_PP_TUPLE_EAT_2)(8, s) NDNBOOST_PP_IF(p(8, s), NDNBOOST_PP_FOR_8, NDNBOOST_PP_TUPLE_EAT_4)(o(8, s), p, o, m)
+# define NDNBOOST_PP_FOR_8_I(s, p, o, m) NDNBOOST_PP_IF(p(9, s), m, NDNBOOST_PP_TUPLE_EAT_2)(9, s) NDNBOOST_PP_IF(p(9, s), NDNBOOST_PP_FOR_9, NDNBOOST_PP_TUPLE_EAT_4)(o(9, s), p, o, m)
+# define NDNBOOST_PP_FOR_9_I(s, p, o, m) NDNBOOST_PP_IF(p(10, s), m, NDNBOOST_PP_TUPLE_EAT_2)(10, s) NDNBOOST_PP_IF(p(10, s), NDNBOOST_PP_FOR_10, NDNBOOST_PP_TUPLE_EAT_4)(o(10, s), p, o, m)
+# define NDNBOOST_PP_FOR_10_I(s, p, o, m) NDNBOOST_PP_IF(p(11, s), m, NDNBOOST_PP_TUPLE_EAT_2)(11, s) NDNBOOST_PP_IF(p(11, s), NDNBOOST_PP_FOR_11, NDNBOOST_PP_TUPLE_EAT_4)(o(11, s), p, o, m)
+# define NDNBOOST_PP_FOR_11_I(s, p, o, m) NDNBOOST_PP_IF(p(12, s), m, NDNBOOST_PP_TUPLE_EAT_2)(12, s) NDNBOOST_PP_IF(p(12, s), NDNBOOST_PP_FOR_12, NDNBOOST_PP_TUPLE_EAT_4)(o(12, s), p, o, m)
+# define NDNBOOST_PP_FOR_12_I(s, p, o, m) NDNBOOST_PP_IF(p(13, s), m, NDNBOOST_PP_TUPLE_EAT_2)(13, s) NDNBOOST_PP_IF(p(13, s), NDNBOOST_PP_FOR_13, NDNBOOST_PP_TUPLE_EAT_4)(o(13, s), p, o, m)
+# define NDNBOOST_PP_FOR_13_I(s, p, o, m) NDNBOOST_PP_IF(p(14, s), m, NDNBOOST_PP_TUPLE_EAT_2)(14, s) NDNBOOST_PP_IF(p(14, s), NDNBOOST_PP_FOR_14, NDNBOOST_PP_TUPLE_EAT_4)(o(14, s), p, o, m)
+# define NDNBOOST_PP_FOR_14_I(s, p, o, m) NDNBOOST_PP_IF(p(15, s), m, NDNBOOST_PP_TUPLE_EAT_2)(15, s) NDNBOOST_PP_IF(p(15, s), NDNBOOST_PP_FOR_15, NDNBOOST_PP_TUPLE_EAT_4)(o(15, s), p, o, m)
+# define NDNBOOST_PP_FOR_15_I(s, p, o, m) NDNBOOST_PP_IF(p(16, s), m, NDNBOOST_PP_TUPLE_EAT_2)(16, s) NDNBOOST_PP_IF(p(16, s), NDNBOOST_PP_FOR_16, NDNBOOST_PP_TUPLE_EAT_4)(o(16, s), p, o, m)
+# define NDNBOOST_PP_FOR_16_I(s, p, o, m) NDNBOOST_PP_IF(p(17, s), m, NDNBOOST_PP_TUPLE_EAT_2)(17, s) NDNBOOST_PP_IF(p(17, s), NDNBOOST_PP_FOR_17, NDNBOOST_PP_TUPLE_EAT_4)(o(17, s), p, o, m)
+# define NDNBOOST_PP_FOR_17_I(s, p, o, m) NDNBOOST_PP_IF(p(18, s), m, NDNBOOST_PP_TUPLE_EAT_2)(18, s) NDNBOOST_PP_IF(p(18, s), NDNBOOST_PP_FOR_18, NDNBOOST_PP_TUPLE_EAT_4)(o(18, s), p, o, m)
+# define NDNBOOST_PP_FOR_18_I(s, p, o, m) NDNBOOST_PP_IF(p(19, s), m, NDNBOOST_PP_TUPLE_EAT_2)(19, s) NDNBOOST_PP_IF(p(19, s), NDNBOOST_PP_FOR_19, NDNBOOST_PP_TUPLE_EAT_4)(o(19, s), p, o, m)
+# define NDNBOOST_PP_FOR_19_I(s, p, o, m) NDNBOOST_PP_IF(p(20, s), m, NDNBOOST_PP_TUPLE_EAT_2)(20, s) NDNBOOST_PP_IF(p(20, s), NDNBOOST_PP_FOR_20, NDNBOOST_PP_TUPLE_EAT_4)(o(20, s), p, o, m)
+# define NDNBOOST_PP_FOR_20_I(s, p, o, m) NDNBOOST_PP_IF(p(21, s), m, NDNBOOST_PP_TUPLE_EAT_2)(21, s) NDNBOOST_PP_IF(p(21, s), NDNBOOST_PP_FOR_21, NDNBOOST_PP_TUPLE_EAT_4)(o(21, s), p, o, m)
+# define NDNBOOST_PP_FOR_21_I(s, p, o, m) NDNBOOST_PP_IF(p(22, s), m, NDNBOOST_PP_TUPLE_EAT_2)(22, s) NDNBOOST_PP_IF(p(22, s), NDNBOOST_PP_FOR_22, NDNBOOST_PP_TUPLE_EAT_4)(o(22, s), p, o, m)
+# define NDNBOOST_PP_FOR_22_I(s, p, o, m) NDNBOOST_PP_IF(p(23, s), m, NDNBOOST_PP_TUPLE_EAT_2)(23, s) NDNBOOST_PP_IF(p(23, s), NDNBOOST_PP_FOR_23, NDNBOOST_PP_TUPLE_EAT_4)(o(23, s), p, o, m)
+# define NDNBOOST_PP_FOR_23_I(s, p, o, m) NDNBOOST_PP_IF(p(24, s), m, NDNBOOST_PP_TUPLE_EAT_2)(24, s) NDNBOOST_PP_IF(p(24, s), NDNBOOST_PP_FOR_24, NDNBOOST_PP_TUPLE_EAT_4)(o(24, s), p, o, m)
+# define NDNBOOST_PP_FOR_24_I(s, p, o, m) NDNBOOST_PP_IF(p(25, s), m, NDNBOOST_PP_TUPLE_EAT_2)(25, s) NDNBOOST_PP_IF(p(25, s), NDNBOOST_PP_FOR_25, NDNBOOST_PP_TUPLE_EAT_4)(o(25, s), p, o, m)
+# define NDNBOOST_PP_FOR_25_I(s, p, o, m) NDNBOOST_PP_IF(p(26, s), m, NDNBOOST_PP_TUPLE_EAT_2)(26, s) NDNBOOST_PP_IF(p(26, s), NDNBOOST_PP_FOR_26, NDNBOOST_PP_TUPLE_EAT_4)(o(26, s), p, o, m)
+# define NDNBOOST_PP_FOR_26_I(s, p, o, m) NDNBOOST_PP_IF(p(27, s), m, NDNBOOST_PP_TUPLE_EAT_2)(27, s) NDNBOOST_PP_IF(p(27, s), NDNBOOST_PP_FOR_27, NDNBOOST_PP_TUPLE_EAT_4)(o(27, s), p, o, m)
+# define NDNBOOST_PP_FOR_27_I(s, p, o, m) NDNBOOST_PP_IF(p(28, s), m, NDNBOOST_PP_TUPLE_EAT_2)(28, s) NDNBOOST_PP_IF(p(28, s), NDNBOOST_PP_FOR_28, NDNBOOST_PP_TUPLE_EAT_4)(o(28, s), p, o, m)
+# define NDNBOOST_PP_FOR_28_I(s, p, o, m) NDNBOOST_PP_IF(p(29, s), m, NDNBOOST_PP_TUPLE_EAT_2)(29, s) NDNBOOST_PP_IF(p(29, s), NDNBOOST_PP_FOR_29, NDNBOOST_PP_TUPLE_EAT_4)(o(29, s), p, o, m)
+# define NDNBOOST_PP_FOR_29_I(s, p, o, m) NDNBOOST_PP_IF(p(30, s), m, NDNBOOST_PP_TUPLE_EAT_2)(30, s) NDNBOOST_PP_IF(p(30, s), NDNBOOST_PP_FOR_30, NDNBOOST_PP_TUPLE_EAT_4)(o(30, s), p, o, m)
+# define NDNBOOST_PP_FOR_30_I(s, p, o, m) NDNBOOST_PP_IF(p(31, s), m, NDNBOOST_PP_TUPLE_EAT_2)(31, s) NDNBOOST_PP_IF(p(31, s), NDNBOOST_PP_FOR_31, NDNBOOST_PP_TUPLE_EAT_4)(o(31, s), p, o, m)
+# define NDNBOOST_PP_FOR_31_I(s, p, o, m) NDNBOOST_PP_IF(p(32, s), m, NDNBOOST_PP_TUPLE_EAT_2)(32, s) NDNBOOST_PP_IF(p(32, s), NDNBOOST_PP_FOR_32, NDNBOOST_PP_TUPLE_EAT_4)(o(32, s), p, o, m)
+# define NDNBOOST_PP_FOR_32_I(s, p, o, m) NDNBOOST_PP_IF(p(33, s), m, NDNBOOST_PP_TUPLE_EAT_2)(33, s) NDNBOOST_PP_IF(p(33, s), NDNBOOST_PP_FOR_33, NDNBOOST_PP_TUPLE_EAT_4)(o(33, s), p, o, m)
+# define NDNBOOST_PP_FOR_33_I(s, p, o, m) NDNBOOST_PP_IF(p(34, s), m, NDNBOOST_PP_TUPLE_EAT_2)(34, s) NDNBOOST_PP_IF(p(34, s), NDNBOOST_PP_FOR_34, NDNBOOST_PP_TUPLE_EAT_4)(o(34, s), p, o, m)
+# define NDNBOOST_PP_FOR_34_I(s, p, o, m) NDNBOOST_PP_IF(p(35, s), m, NDNBOOST_PP_TUPLE_EAT_2)(35, s) NDNBOOST_PP_IF(p(35, s), NDNBOOST_PP_FOR_35, NDNBOOST_PP_TUPLE_EAT_4)(o(35, s), p, o, m)
+# define NDNBOOST_PP_FOR_35_I(s, p, o, m) NDNBOOST_PP_IF(p(36, s), m, NDNBOOST_PP_TUPLE_EAT_2)(36, s) NDNBOOST_PP_IF(p(36, s), NDNBOOST_PP_FOR_36, NDNBOOST_PP_TUPLE_EAT_4)(o(36, s), p, o, m)
+# define NDNBOOST_PP_FOR_36_I(s, p, o, m) NDNBOOST_PP_IF(p(37, s), m, NDNBOOST_PP_TUPLE_EAT_2)(37, s) NDNBOOST_PP_IF(p(37, s), NDNBOOST_PP_FOR_37, NDNBOOST_PP_TUPLE_EAT_4)(o(37, s), p, o, m)
+# define NDNBOOST_PP_FOR_37_I(s, p, o, m) NDNBOOST_PP_IF(p(38, s), m, NDNBOOST_PP_TUPLE_EAT_2)(38, s) NDNBOOST_PP_IF(p(38, s), NDNBOOST_PP_FOR_38, NDNBOOST_PP_TUPLE_EAT_4)(o(38, s), p, o, m)
+# define NDNBOOST_PP_FOR_38_I(s, p, o, m) NDNBOOST_PP_IF(p(39, s), m, NDNBOOST_PP_TUPLE_EAT_2)(39, s) NDNBOOST_PP_IF(p(39, s), NDNBOOST_PP_FOR_39, NDNBOOST_PP_TUPLE_EAT_4)(o(39, s), p, o, m)
+# define NDNBOOST_PP_FOR_39_I(s, p, o, m) NDNBOOST_PP_IF(p(40, s), m, NDNBOOST_PP_TUPLE_EAT_2)(40, s) NDNBOOST_PP_IF(p(40, s), NDNBOOST_PP_FOR_40, NDNBOOST_PP_TUPLE_EAT_4)(o(40, s), p, o, m)
+# define NDNBOOST_PP_FOR_40_I(s, p, o, m) NDNBOOST_PP_IF(p(41, s), m, NDNBOOST_PP_TUPLE_EAT_2)(41, s) NDNBOOST_PP_IF(p(41, s), NDNBOOST_PP_FOR_41, NDNBOOST_PP_TUPLE_EAT_4)(o(41, s), p, o, m)
+# define NDNBOOST_PP_FOR_41_I(s, p, o, m) NDNBOOST_PP_IF(p(42, s), m, NDNBOOST_PP_TUPLE_EAT_2)(42, s) NDNBOOST_PP_IF(p(42, s), NDNBOOST_PP_FOR_42, NDNBOOST_PP_TUPLE_EAT_4)(o(42, s), p, o, m)
+# define NDNBOOST_PP_FOR_42_I(s, p, o, m) NDNBOOST_PP_IF(p(43, s), m, NDNBOOST_PP_TUPLE_EAT_2)(43, s) NDNBOOST_PP_IF(p(43, s), NDNBOOST_PP_FOR_43, NDNBOOST_PP_TUPLE_EAT_4)(o(43, s), p, o, m)
+# define NDNBOOST_PP_FOR_43_I(s, p, o, m) NDNBOOST_PP_IF(p(44, s), m, NDNBOOST_PP_TUPLE_EAT_2)(44, s) NDNBOOST_PP_IF(p(44, s), NDNBOOST_PP_FOR_44, NDNBOOST_PP_TUPLE_EAT_4)(o(44, s), p, o, m)
+# define NDNBOOST_PP_FOR_44_I(s, p, o, m) NDNBOOST_PP_IF(p(45, s), m, NDNBOOST_PP_TUPLE_EAT_2)(45, s) NDNBOOST_PP_IF(p(45, s), NDNBOOST_PP_FOR_45, NDNBOOST_PP_TUPLE_EAT_4)(o(45, s), p, o, m)
+# define NDNBOOST_PP_FOR_45_I(s, p, o, m) NDNBOOST_PP_IF(p(46, s), m, NDNBOOST_PP_TUPLE_EAT_2)(46, s) NDNBOOST_PP_IF(p(46, s), NDNBOOST_PP_FOR_46, NDNBOOST_PP_TUPLE_EAT_4)(o(46, s), p, o, m)
+# define NDNBOOST_PP_FOR_46_I(s, p, o, m) NDNBOOST_PP_IF(p(47, s), m, NDNBOOST_PP_TUPLE_EAT_2)(47, s) NDNBOOST_PP_IF(p(47, s), NDNBOOST_PP_FOR_47, NDNBOOST_PP_TUPLE_EAT_4)(o(47, s), p, o, m)
+# define NDNBOOST_PP_FOR_47_I(s, p, o, m) NDNBOOST_PP_IF(p(48, s), m, NDNBOOST_PP_TUPLE_EAT_2)(48, s) NDNBOOST_PP_IF(p(48, s), NDNBOOST_PP_FOR_48, NDNBOOST_PP_TUPLE_EAT_4)(o(48, s), p, o, m)
+# define NDNBOOST_PP_FOR_48_I(s, p, o, m) NDNBOOST_PP_IF(p(49, s), m, NDNBOOST_PP_TUPLE_EAT_2)(49, s) NDNBOOST_PP_IF(p(49, s), NDNBOOST_PP_FOR_49, NDNBOOST_PP_TUPLE_EAT_4)(o(49, s), p, o, m)
+# define NDNBOOST_PP_FOR_49_I(s, p, o, m) NDNBOOST_PP_IF(p(50, s), m, NDNBOOST_PP_TUPLE_EAT_2)(50, s) NDNBOOST_PP_IF(p(50, s), NDNBOOST_PP_FOR_50, NDNBOOST_PP_TUPLE_EAT_4)(o(50, s), p, o, m)
+# define NDNBOOST_PP_FOR_50_I(s, p, o, m) NDNBOOST_PP_IF(p(51, s), m, NDNBOOST_PP_TUPLE_EAT_2)(51, s) NDNBOOST_PP_IF(p(51, s), NDNBOOST_PP_FOR_51, NDNBOOST_PP_TUPLE_EAT_4)(o(51, s), p, o, m)
+# define NDNBOOST_PP_FOR_51_I(s, p, o, m) NDNBOOST_PP_IF(p(52, s), m, NDNBOOST_PP_TUPLE_EAT_2)(52, s) NDNBOOST_PP_IF(p(52, s), NDNBOOST_PP_FOR_52, NDNBOOST_PP_TUPLE_EAT_4)(o(52, s), p, o, m)
+# define NDNBOOST_PP_FOR_52_I(s, p, o, m) NDNBOOST_PP_IF(p(53, s), m, NDNBOOST_PP_TUPLE_EAT_2)(53, s) NDNBOOST_PP_IF(p(53, s), NDNBOOST_PP_FOR_53, NDNBOOST_PP_TUPLE_EAT_4)(o(53, s), p, o, m)
+# define NDNBOOST_PP_FOR_53_I(s, p, o, m) NDNBOOST_PP_IF(p(54, s), m, NDNBOOST_PP_TUPLE_EAT_2)(54, s) NDNBOOST_PP_IF(p(54, s), NDNBOOST_PP_FOR_54, NDNBOOST_PP_TUPLE_EAT_4)(o(54, s), p, o, m)
+# define NDNBOOST_PP_FOR_54_I(s, p, o, m) NDNBOOST_PP_IF(p(55, s), m, NDNBOOST_PP_TUPLE_EAT_2)(55, s) NDNBOOST_PP_IF(p(55, s), NDNBOOST_PP_FOR_55, NDNBOOST_PP_TUPLE_EAT_4)(o(55, s), p, o, m)
+# define NDNBOOST_PP_FOR_55_I(s, p, o, m) NDNBOOST_PP_IF(p(56, s), m, NDNBOOST_PP_TUPLE_EAT_2)(56, s) NDNBOOST_PP_IF(p(56, s), NDNBOOST_PP_FOR_56, NDNBOOST_PP_TUPLE_EAT_4)(o(56, s), p, o, m)
+# define NDNBOOST_PP_FOR_56_I(s, p, o, m) NDNBOOST_PP_IF(p(57, s), m, NDNBOOST_PP_TUPLE_EAT_2)(57, s) NDNBOOST_PP_IF(p(57, s), NDNBOOST_PP_FOR_57, NDNBOOST_PP_TUPLE_EAT_4)(o(57, s), p, o, m)
+# define NDNBOOST_PP_FOR_57_I(s, p, o, m) NDNBOOST_PP_IF(p(58, s), m, NDNBOOST_PP_TUPLE_EAT_2)(58, s) NDNBOOST_PP_IF(p(58, s), NDNBOOST_PP_FOR_58, NDNBOOST_PP_TUPLE_EAT_4)(o(58, s), p, o, m)
+# define NDNBOOST_PP_FOR_58_I(s, p, o, m) NDNBOOST_PP_IF(p(59, s), m, NDNBOOST_PP_TUPLE_EAT_2)(59, s) NDNBOOST_PP_IF(p(59, s), NDNBOOST_PP_FOR_59, NDNBOOST_PP_TUPLE_EAT_4)(o(59, s), p, o, m)
+# define NDNBOOST_PP_FOR_59_I(s, p, o, m) NDNBOOST_PP_IF(p(60, s), m, NDNBOOST_PP_TUPLE_EAT_2)(60, s) NDNBOOST_PP_IF(p(60, s), NDNBOOST_PP_FOR_60, NDNBOOST_PP_TUPLE_EAT_4)(o(60, s), p, o, m)
+# define NDNBOOST_PP_FOR_60_I(s, p, o, m) NDNBOOST_PP_IF(p(61, s), m, NDNBOOST_PP_TUPLE_EAT_2)(61, s) NDNBOOST_PP_IF(p(61, s), NDNBOOST_PP_FOR_61, NDNBOOST_PP_TUPLE_EAT_4)(o(61, s), p, o, m)
+# define NDNBOOST_PP_FOR_61_I(s, p, o, m) NDNBOOST_PP_IF(p(62, s), m, NDNBOOST_PP_TUPLE_EAT_2)(62, s) NDNBOOST_PP_IF(p(62, s), NDNBOOST_PP_FOR_62, NDNBOOST_PP_TUPLE_EAT_4)(o(62, s), p, o, m)
+# define NDNBOOST_PP_FOR_62_I(s, p, o, m) NDNBOOST_PP_IF(p(63, s), m, NDNBOOST_PP_TUPLE_EAT_2)(63, s) NDNBOOST_PP_IF(p(63, s), NDNBOOST_PP_FOR_63, NDNBOOST_PP_TUPLE_EAT_4)(o(63, s), p, o, m)
+# define NDNBOOST_PP_FOR_63_I(s, p, o, m) NDNBOOST_PP_IF(p(64, s), m, NDNBOOST_PP_TUPLE_EAT_2)(64, s) NDNBOOST_PP_IF(p(64, s), NDNBOOST_PP_FOR_64, NDNBOOST_PP_TUPLE_EAT_4)(o(64, s), p, o, m)
+# define NDNBOOST_PP_FOR_64_I(s, p, o, m) NDNBOOST_PP_IF(p(65, s), m, NDNBOOST_PP_TUPLE_EAT_2)(65, s) NDNBOOST_PP_IF(p(65, s), NDNBOOST_PP_FOR_65, NDNBOOST_PP_TUPLE_EAT_4)(o(65, s), p, o, m)
+# define NDNBOOST_PP_FOR_65_I(s, p, o, m) NDNBOOST_PP_IF(p(66, s), m, NDNBOOST_PP_TUPLE_EAT_2)(66, s) NDNBOOST_PP_IF(p(66, s), NDNBOOST_PP_FOR_66, NDNBOOST_PP_TUPLE_EAT_4)(o(66, s), p, o, m)
+# define NDNBOOST_PP_FOR_66_I(s, p, o, m) NDNBOOST_PP_IF(p(67, s), m, NDNBOOST_PP_TUPLE_EAT_2)(67, s) NDNBOOST_PP_IF(p(67, s), NDNBOOST_PP_FOR_67, NDNBOOST_PP_TUPLE_EAT_4)(o(67, s), p, o, m)
+# define NDNBOOST_PP_FOR_67_I(s, p, o, m) NDNBOOST_PP_IF(p(68, s), m, NDNBOOST_PP_TUPLE_EAT_2)(68, s) NDNBOOST_PP_IF(p(68, s), NDNBOOST_PP_FOR_68, NDNBOOST_PP_TUPLE_EAT_4)(o(68, s), p, o, m)
+# define NDNBOOST_PP_FOR_68_I(s, p, o, m) NDNBOOST_PP_IF(p(69, s), m, NDNBOOST_PP_TUPLE_EAT_2)(69, s) NDNBOOST_PP_IF(p(69, s), NDNBOOST_PP_FOR_69, NDNBOOST_PP_TUPLE_EAT_4)(o(69, s), p, o, m)
+# define NDNBOOST_PP_FOR_69_I(s, p, o, m) NDNBOOST_PP_IF(p(70, s), m, NDNBOOST_PP_TUPLE_EAT_2)(70, s) NDNBOOST_PP_IF(p(70, s), NDNBOOST_PP_FOR_70, NDNBOOST_PP_TUPLE_EAT_4)(o(70, s), p, o, m)
+# define NDNBOOST_PP_FOR_70_I(s, p, o, m) NDNBOOST_PP_IF(p(71, s), m, NDNBOOST_PP_TUPLE_EAT_2)(71, s) NDNBOOST_PP_IF(p(71, s), NDNBOOST_PP_FOR_71, NDNBOOST_PP_TUPLE_EAT_4)(o(71, s), p, o, m)
+# define NDNBOOST_PP_FOR_71_I(s, p, o, m) NDNBOOST_PP_IF(p(72, s), m, NDNBOOST_PP_TUPLE_EAT_2)(72, s) NDNBOOST_PP_IF(p(72, s), NDNBOOST_PP_FOR_72, NDNBOOST_PP_TUPLE_EAT_4)(o(72, s), p, o, m)
+# define NDNBOOST_PP_FOR_72_I(s, p, o, m) NDNBOOST_PP_IF(p(73, s), m, NDNBOOST_PP_TUPLE_EAT_2)(73, s) NDNBOOST_PP_IF(p(73, s), NDNBOOST_PP_FOR_73, NDNBOOST_PP_TUPLE_EAT_4)(o(73, s), p, o, m)
+# define NDNBOOST_PP_FOR_73_I(s, p, o, m) NDNBOOST_PP_IF(p(74, s), m, NDNBOOST_PP_TUPLE_EAT_2)(74, s) NDNBOOST_PP_IF(p(74, s), NDNBOOST_PP_FOR_74, NDNBOOST_PP_TUPLE_EAT_4)(o(74, s), p, o, m)
+# define NDNBOOST_PP_FOR_74_I(s, p, o, m) NDNBOOST_PP_IF(p(75, s), m, NDNBOOST_PP_TUPLE_EAT_2)(75, s) NDNBOOST_PP_IF(p(75, s), NDNBOOST_PP_FOR_75, NDNBOOST_PP_TUPLE_EAT_4)(o(75, s), p, o, m)
+# define NDNBOOST_PP_FOR_75_I(s, p, o, m) NDNBOOST_PP_IF(p(76, s), m, NDNBOOST_PP_TUPLE_EAT_2)(76, s) NDNBOOST_PP_IF(p(76, s), NDNBOOST_PP_FOR_76, NDNBOOST_PP_TUPLE_EAT_4)(o(76, s), p, o, m)
+# define NDNBOOST_PP_FOR_76_I(s, p, o, m) NDNBOOST_PP_IF(p(77, s), m, NDNBOOST_PP_TUPLE_EAT_2)(77, s) NDNBOOST_PP_IF(p(77, s), NDNBOOST_PP_FOR_77, NDNBOOST_PP_TUPLE_EAT_4)(o(77, s), p, o, m)
+# define NDNBOOST_PP_FOR_77_I(s, p, o, m) NDNBOOST_PP_IF(p(78, s), m, NDNBOOST_PP_TUPLE_EAT_2)(78, s) NDNBOOST_PP_IF(p(78, s), NDNBOOST_PP_FOR_78, NDNBOOST_PP_TUPLE_EAT_4)(o(78, s), p, o, m)
+# define NDNBOOST_PP_FOR_78_I(s, p, o, m) NDNBOOST_PP_IF(p(79, s), m, NDNBOOST_PP_TUPLE_EAT_2)(79, s) NDNBOOST_PP_IF(p(79, s), NDNBOOST_PP_FOR_79, NDNBOOST_PP_TUPLE_EAT_4)(o(79, s), p, o, m)
+# define NDNBOOST_PP_FOR_79_I(s, p, o, m) NDNBOOST_PP_IF(p(80, s), m, NDNBOOST_PP_TUPLE_EAT_2)(80, s) NDNBOOST_PP_IF(p(80, s), NDNBOOST_PP_FOR_80, NDNBOOST_PP_TUPLE_EAT_4)(o(80, s), p, o, m)
+# define NDNBOOST_PP_FOR_80_I(s, p, o, m) NDNBOOST_PP_IF(p(81, s), m, NDNBOOST_PP_TUPLE_EAT_2)(81, s) NDNBOOST_PP_IF(p(81, s), NDNBOOST_PP_FOR_81, NDNBOOST_PP_TUPLE_EAT_4)(o(81, s), p, o, m)
+# define NDNBOOST_PP_FOR_81_I(s, p, o, m) NDNBOOST_PP_IF(p(82, s), m, NDNBOOST_PP_TUPLE_EAT_2)(82, s) NDNBOOST_PP_IF(p(82, s), NDNBOOST_PP_FOR_82, NDNBOOST_PP_TUPLE_EAT_4)(o(82, s), p, o, m)
+# define NDNBOOST_PP_FOR_82_I(s, p, o, m) NDNBOOST_PP_IF(p(83, s), m, NDNBOOST_PP_TUPLE_EAT_2)(83, s) NDNBOOST_PP_IF(p(83, s), NDNBOOST_PP_FOR_83, NDNBOOST_PP_TUPLE_EAT_4)(o(83, s), p, o, m)
+# define NDNBOOST_PP_FOR_83_I(s, p, o, m) NDNBOOST_PP_IF(p(84, s), m, NDNBOOST_PP_TUPLE_EAT_2)(84, s) NDNBOOST_PP_IF(p(84, s), NDNBOOST_PP_FOR_84, NDNBOOST_PP_TUPLE_EAT_4)(o(84, s), p, o, m)
+# define NDNBOOST_PP_FOR_84_I(s, p, o, m) NDNBOOST_PP_IF(p(85, s), m, NDNBOOST_PP_TUPLE_EAT_2)(85, s) NDNBOOST_PP_IF(p(85, s), NDNBOOST_PP_FOR_85, NDNBOOST_PP_TUPLE_EAT_4)(o(85, s), p, o, m)
+# define NDNBOOST_PP_FOR_85_I(s, p, o, m) NDNBOOST_PP_IF(p(86, s), m, NDNBOOST_PP_TUPLE_EAT_2)(86, s) NDNBOOST_PP_IF(p(86, s), NDNBOOST_PP_FOR_86, NDNBOOST_PP_TUPLE_EAT_4)(o(86, s), p, o, m)
+# define NDNBOOST_PP_FOR_86_I(s, p, o, m) NDNBOOST_PP_IF(p(87, s), m, NDNBOOST_PP_TUPLE_EAT_2)(87, s) NDNBOOST_PP_IF(p(87, s), NDNBOOST_PP_FOR_87, NDNBOOST_PP_TUPLE_EAT_4)(o(87, s), p, o, m)
+# define NDNBOOST_PP_FOR_87_I(s, p, o, m) NDNBOOST_PP_IF(p(88, s), m, NDNBOOST_PP_TUPLE_EAT_2)(88, s) NDNBOOST_PP_IF(p(88, s), NDNBOOST_PP_FOR_88, NDNBOOST_PP_TUPLE_EAT_4)(o(88, s), p, o, m)
+# define NDNBOOST_PP_FOR_88_I(s, p, o, m) NDNBOOST_PP_IF(p(89, s), m, NDNBOOST_PP_TUPLE_EAT_2)(89, s) NDNBOOST_PP_IF(p(89, s), NDNBOOST_PP_FOR_89, NDNBOOST_PP_TUPLE_EAT_4)(o(89, s), p, o, m)
+# define NDNBOOST_PP_FOR_89_I(s, p, o, m) NDNBOOST_PP_IF(p(90, s), m, NDNBOOST_PP_TUPLE_EAT_2)(90, s) NDNBOOST_PP_IF(p(90, s), NDNBOOST_PP_FOR_90, NDNBOOST_PP_TUPLE_EAT_4)(o(90, s), p, o, m)
+# define NDNBOOST_PP_FOR_90_I(s, p, o, m) NDNBOOST_PP_IF(p(91, s), m, NDNBOOST_PP_TUPLE_EAT_2)(91, s) NDNBOOST_PP_IF(p(91, s), NDNBOOST_PP_FOR_91, NDNBOOST_PP_TUPLE_EAT_4)(o(91, s), p, o, m)
+# define NDNBOOST_PP_FOR_91_I(s, p, o, m) NDNBOOST_PP_IF(p(92, s), m, NDNBOOST_PP_TUPLE_EAT_2)(92, s) NDNBOOST_PP_IF(p(92, s), NDNBOOST_PP_FOR_92, NDNBOOST_PP_TUPLE_EAT_4)(o(92, s), p, o, m)
+# define NDNBOOST_PP_FOR_92_I(s, p, o, m) NDNBOOST_PP_IF(p(93, s), m, NDNBOOST_PP_TUPLE_EAT_2)(93, s) NDNBOOST_PP_IF(p(93, s), NDNBOOST_PP_FOR_93, NDNBOOST_PP_TUPLE_EAT_4)(o(93, s), p, o, m)
+# define NDNBOOST_PP_FOR_93_I(s, p, o, m) NDNBOOST_PP_IF(p(94, s), m, NDNBOOST_PP_TUPLE_EAT_2)(94, s) NDNBOOST_PP_IF(p(94, s), NDNBOOST_PP_FOR_94, NDNBOOST_PP_TUPLE_EAT_4)(o(94, s), p, o, m)
+# define NDNBOOST_PP_FOR_94_I(s, p, o, m) NDNBOOST_PP_IF(p(95, s), m, NDNBOOST_PP_TUPLE_EAT_2)(95, s) NDNBOOST_PP_IF(p(95, s), NDNBOOST_PP_FOR_95, NDNBOOST_PP_TUPLE_EAT_4)(o(95, s), p, o, m)
+# define NDNBOOST_PP_FOR_95_I(s, p, o, m) NDNBOOST_PP_IF(p(96, s), m, NDNBOOST_PP_TUPLE_EAT_2)(96, s) NDNBOOST_PP_IF(p(96, s), NDNBOOST_PP_FOR_96, NDNBOOST_PP_TUPLE_EAT_4)(o(96, s), p, o, m)
+# define NDNBOOST_PP_FOR_96_I(s, p, o, m) NDNBOOST_PP_IF(p(97, s), m, NDNBOOST_PP_TUPLE_EAT_2)(97, s) NDNBOOST_PP_IF(p(97, s), NDNBOOST_PP_FOR_97, NDNBOOST_PP_TUPLE_EAT_4)(o(97, s), p, o, m)
+# define NDNBOOST_PP_FOR_97_I(s, p, o, m) NDNBOOST_PP_IF(p(98, s), m, NDNBOOST_PP_TUPLE_EAT_2)(98, s) NDNBOOST_PP_IF(p(98, s), NDNBOOST_PP_FOR_98, NDNBOOST_PP_TUPLE_EAT_4)(o(98, s), p, o, m)
+# define NDNBOOST_PP_FOR_98_I(s, p, o, m) NDNBOOST_PP_IF(p(99, s), m, NDNBOOST_PP_TUPLE_EAT_2)(99, s) NDNBOOST_PP_IF(p(99, s), NDNBOOST_PP_FOR_99, NDNBOOST_PP_TUPLE_EAT_4)(o(99, s), p, o, m)
+# define NDNBOOST_PP_FOR_99_I(s, p, o, m) NDNBOOST_PP_IF(p(100, s), m, NDNBOOST_PP_TUPLE_EAT_2)(100, s) NDNBOOST_PP_IF(p(100, s), NDNBOOST_PP_FOR_100, NDNBOOST_PP_TUPLE_EAT_4)(o(100, s), p, o, m)
+# define NDNBOOST_PP_FOR_100_I(s, p, o, m) NDNBOOST_PP_IF(p(101, s), m, NDNBOOST_PP_TUPLE_EAT_2)(101, s) NDNBOOST_PP_IF(p(101, s), NDNBOOST_PP_FOR_101, NDNBOOST_PP_TUPLE_EAT_4)(o(101, s), p, o, m)
+# define NDNBOOST_PP_FOR_101_I(s, p, o, m) NDNBOOST_PP_IF(p(102, s), m, NDNBOOST_PP_TUPLE_EAT_2)(102, s) NDNBOOST_PP_IF(p(102, s), NDNBOOST_PP_FOR_102, NDNBOOST_PP_TUPLE_EAT_4)(o(102, s), p, o, m)
+# define NDNBOOST_PP_FOR_102_I(s, p, o, m) NDNBOOST_PP_IF(p(103, s), m, NDNBOOST_PP_TUPLE_EAT_2)(103, s) NDNBOOST_PP_IF(p(103, s), NDNBOOST_PP_FOR_103, NDNBOOST_PP_TUPLE_EAT_4)(o(103, s), p, o, m)
+# define NDNBOOST_PP_FOR_103_I(s, p, o, m) NDNBOOST_PP_IF(p(104, s), m, NDNBOOST_PP_TUPLE_EAT_2)(104, s) NDNBOOST_PP_IF(p(104, s), NDNBOOST_PP_FOR_104, NDNBOOST_PP_TUPLE_EAT_4)(o(104, s), p, o, m)
+# define NDNBOOST_PP_FOR_104_I(s, p, o, m) NDNBOOST_PP_IF(p(105, s), m, NDNBOOST_PP_TUPLE_EAT_2)(105, s) NDNBOOST_PP_IF(p(105, s), NDNBOOST_PP_FOR_105, NDNBOOST_PP_TUPLE_EAT_4)(o(105, s), p, o, m)
+# define NDNBOOST_PP_FOR_105_I(s, p, o, m) NDNBOOST_PP_IF(p(106, s), m, NDNBOOST_PP_TUPLE_EAT_2)(106, s) NDNBOOST_PP_IF(p(106, s), NDNBOOST_PP_FOR_106, NDNBOOST_PP_TUPLE_EAT_4)(o(106, s), p, o, m)
+# define NDNBOOST_PP_FOR_106_I(s, p, o, m) NDNBOOST_PP_IF(p(107, s), m, NDNBOOST_PP_TUPLE_EAT_2)(107, s) NDNBOOST_PP_IF(p(107, s), NDNBOOST_PP_FOR_107, NDNBOOST_PP_TUPLE_EAT_4)(o(107, s), p, o, m)
+# define NDNBOOST_PP_FOR_107_I(s, p, o, m) NDNBOOST_PP_IF(p(108, s), m, NDNBOOST_PP_TUPLE_EAT_2)(108, s) NDNBOOST_PP_IF(p(108, s), NDNBOOST_PP_FOR_108, NDNBOOST_PP_TUPLE_EAT_4)(o(108, s), p, o, m)
+# define NDNBOOST_PP_FOR_108_I(s, p, o, m) NDNBOOST_PP_IF(p(109, s), m, NDNBOOST_PP_TUPLE_EAT_2)(109, s) NDNBOOST_PP_IF(p(109, s), NDNBOOST_PP_FOR_109, NDNBOOST_PP_TUPLE_EAT_4)(o(109, s), p, o, m)
+# define NDNBOOST_PP_FOR_109_I(s, p, o, m) NDNBOOST_PP_IF(p(110, s), m, NDNBOOST_PP_TUPLE_EAT_2)(110, s) NDNBOOST_PP_IF(p(110, s), NDNBOOST_PP_FOR_110, NDNBOOST_PP_TUPLE_EAT_4)(o(110, s), p, o, m)
+# define NDNBOOST_PP_FOR_110_I(s, p, o, m) NDNBOOST_PP_IF(p(111, s), m, NDNBOOST_PP_TUPLE_EAT_2)(111, s) NDNBOOST_PP_IF(p(111, s), NDNBOOST_PP_FOR_111, NDNBOOST_PP_TUPLE_EAT_4)(o(111, s), p, o, m)
+# define NDNBOOST_PP_FOR_111_I(s, p, o, m) NDNBOOST_PP_IF(p(112, s), m, NDNBOOST_PP_TUPLE_EAT_2)(112, s) NDNBOOST_PP_IF(p(112, s), NDNBOOST_PP_FOR_112, NDNBOOST_PP_TUPLE_EAT_4)(o(112, s), p, o, m)
+# define NDNBOOST_PP_FOR_112_I(s, p, o, m) NDNBOOST_PP_IF(p(113, s), m, NDNBOOST_PP_TUPLE_EAT_2)(113, s) NDNBOOST_PP_IF(p(113, s), NDNBOOST_PP_FOR_113, NDNBOOST_PP_TUPLE_EAT_4)(o(113, s), p, o, m)
+# define NDNBOOST_PP_FOR_113_I(s, p, o, m) NDNBOOST_PP_IF(p(114, s), m, NDNBOOST_PP_TUPLE_EAT_2)(114, s) NDNBOOST_PP_IF(p(114, s), NDNBOOST_PP_FOR_114, NDNBOOST_PP_TUPLE_EAT_4)(o(114, s), p, o, m)
+# define NDNBOOST_PP_FOR_114_I(s, p, o, m) NDNBOOST_PP_IF(p(115, s), m, NDNBOOST_PP_TUPLE_EAT_2)(115, s) NDNBOOST_PP_IF(p(115, s), NDNBOOST_PP_FOR_115, NDNBOOST_PP_TUPLE_EAT_4)(o(115, s), p, o, m)
+# define NDNBOOST_PP_FOR_115_I(s, p, o, m) NDNBOOST_PP_IF(p(116, s), m, NDNBOOST_PP_TUPLE_EAT_2)(116, s) NDNBOOST_PP_IF(p(116, s), NDNBOOST_PP_FOR_116, NDNBOOST_PP_TUPLE_EAT_4)(o(116, s), p, o, m)
+# define NDNBOOST_PP_FOR_116_I(s, p, o, m) NDNBOOST_PP_IF(p(117, s), m, NDNBOOST_PP_TUPLE_EAT_2)(117, s) NDNBOOST_PP_IF(p(117, s), NDNBOOST_PP_FOR_117, NDNBOOST_PP_TUPLE_EAT_4)(o(117, s), p, o, m)
+# define NDNBOOST_PP_FOR_117_I(s, p, o, m) NDNBOOST_PP_IF(p(118, s), m, NDNBOOST_PP_TUPLE_EAT_2)(118, s) NDNBOOST_PP_IF(p(118, s), NDNBOOST_PP_FOR_118, NDNBOOST_PP_TUPLE_EAT_4)(o(118, s), p, o, m)
+# define NDNBOOST_PP_FOR_118_I(s, p, o, m) NDNBOOST_PP_IF(p(119, s), m, NDNBOOST_PP_TUPLE_EAT_2)(119, s) NDNBOOST_PP_IF(p(119, s), NDNBOOST_PP_FOR_119, NDNBOOST_PP_TUPLE_EAT_4)(o(119, s), p, o, m)
+# define NDNBOOST_PP_FOR_119_I(s, p, o, m) NDNBOOST_PP_IF(p(120, s), m, NDNBOOST_PP_TUPLE_EAT_2)(120, s) NDNBOOST_PP_IF(p(120, s), NDNBOOST_PP_FOR_120, NDNBOOST_PP_TUPLE_EAT_4)(o(120, s), p, o, m)
+# define NDNBOOST_PP_FOR_120_I(s, p, o, m) NDNBOOST_PP_IF(p(121, s), m, NDNBOOST_PP_TUPLE_EAT_2)(121, s) NDNBOOST_PP_IF(p(121, s), NDNBOOST_PP_FOR_121, NDNBOOST_PP_TUPLE_EAT_4)(o(121, s), p, o, m)
+# define NDNBOOST_PP_FOR_121_I(s, p, o, m) NDNBOOST_PP_IF(p(122, s), m, NDNBOOST_PP_TUPLE_EAT_2)(122, s) NDNBOOST_PP_IF(p(122, s), NDNBOOST_PP_FOR_122, NDNBOOST_PP_TUPLE_EAT_4)(o(122, s), p, o, m)
+# define NDNBOOST_PP_FOR_122_I(s, p, o, m) NDNBOOST_PP_IF(p(123, s), m, NDNBOOST_PP_TUPLE_EAT_2)(123, s) NDNBOOST_PP_IF(p(123, s), NDNBOOST_PP_FOR_123, NDNBOOST_PP_TUPLE_EAT_4)(o(123, s), p, o, m)
+# define NDNBOOST_PP_FOR_123_I(s, p, o, m) NDNBOOST_PP_IF(p(124, s), m, NDNBOOST_PP_TUPLE_EAT_2)(124, s) NDNBOOST_PP_IF(p(124, s), NDNBOOST_PP_FOR_124, NDNBOOST_PP_TUPLE_EAT_4)(o(124, s), p, o, m)
+# define NDNBOOST_PP_FOR_124_I(s, p, o, m) NDNBOOST_PP_IF(p(125, s), m, NDNBOOST_PP_TUPLE_EAT_2)(125, s) NDNBOOST_PP_IF(p(125, s), NDNBOOST_PP_FOR_125, NDNBOOST_PP_TUPLE_EAT_4)(o(125, s), p, o, m)
+# define NDNBOOST_PP_FOR_125_I(s, p, o, m) NDNBOOST_PP_IF(p(126, s), m, NDNBOOST_PP_TUPLE_EAT_2)(126, s) NDNBOOST_PP_IF(p(126, s), NDNBOOST_PP_FOR_126, NDNBOOST_PP_TUPLE_EAT_4)(o(126, s), p, o, m)
+# define NDNBOOST_PP_FOR_126_I(s, p, o, m) NDNBOOST_PP_IF(p(127, s), m, NDNBOOST_PP_TUPLE_EAT_2)(127, s) NDNBOOST_PP_IF(p(127, s), NDNBOOST_PP_FOR_127, NDNBOOST_PP_TUPLE_EAT_4)(o(127, s), p, o, m)
+# define NDNBOOST_PP_FOR_127_I(s, p, o, m) NDNBOOST_PP_IF(p(128, s), m, NDNBOOST_PP_TUPLE_EAT_2)(128, s) NDNBOOST_PP_IF(p(128, s), NDNBOOST_PP_FOR_128, NDNBOOST_PP_TUPLE_EAT_4)(o(128, s), p, o, m)
+# define NDNBOOST_PP_FOR_128_I(s, p, o, m) NDNBOOST_PP_IF(p(129, s), m, NDNBOOST_PP_TUPLE_EAT_2)(129, s) NDNBOOST_PP_IF(p(129, s), NDNBOOST_PP_FOR_129, NDNBOOST_PP_TUPLE_EAT_4)(o(129, s), p, o, m)
+# define NDNBOOST_PP_FOR_129_I(s, p, o, m) NDNBOOST_PP_IF(p(130, s), m, NDNBOOST_PP_TUPLE_EAT_2)(130, s) NDNBOOST_PP_IF(p(130, s), NDNBOOST_PP_FOR_130, NDNBOOST_PP_TUPLE_EAT_4)(o(130, s), p, o, m)
+# define NDNBOOST_PP_FOR_130_I(s, p, o, m) NDNBOOST_PP_IF(p(131, s), m, NDNBOOST_PP_TUPLE_EAT_2)(131, s) NDNBOOST_PP_IF(p(131, s), NDNBOOST_PP_FOR_131, NDNBOOST_PP_TUPLE_EAT_4)(o(131, s), p, o, m)
+# define NDNBOOST_PP_FOR_131_I(s, p, o, m) NDNBOOST_PP_IF(p(132, s), m, NDNBOOST_PP_TUPLE_EAT_2)(132, s) NDNBOOST_PP_IF(p(132, s), NDNBOOST_PP_FOR_132, NDNBOOST_PP_TUPLE_EAT_4)(o(132, s), p, o, m)
+# define NDNBOOST_PP_FOR_132_I(s, p, o, m) NDNBOOST_PP_IF(p(133, s), m, NDNBOOST_PP_TUPLE_EAT_2)(133, s) NDNBOOST_PP_IF(p(133, s), NDNBOOST_PP_FOR_133, NDNBOOST_PP_TUPLE_EAT_4)(o(133, s), p, o, m)
+# define NDNBOOST_PP_FOR_133_I(s, p, o, m) NDNBOOST_PP_IF(p(134, s), m, NDNBOOST_PP_TUPLE_EAT_2)(134, s) NDNBOOST_PP_IF(p(134, s), NDNBOOST_PP_FOR_134, NDNBOOST_PP_TUPLE_EAT_4)(o(134, s), p, o, m)
+# define NDNBOOST_PP_FOR_134_I(s, p, o, m) NDNBOOST_PP_IF(p(135, s), m, NDNBOOST_PP_TUPLE_EAT_2)(135, s) NDNBOOST_PP_IF(p(135, s), NDNBOOST_PP_FOR_135, NDNBOOST_PP_TUPLE_EAT_4)(o(135, s), p, o, m)
+# define NDNBOOST_PP_FOR_135_I(s, p, o, m) NDNBOOST_PP_IF(p(136, s), m, NDNBOOST_PP_TUPLE_EAT_2)(136, s) NDNBOOST_PP_IF(p(136, s), NDNBOOST_PP_FOR_136, NDNBOOST_PP_TUPLE_EAT_4)(o(136, s), p, o, m)
+# define NDNBOOST_PP_FOR_136_I(s, p, o, m) NDNBOOST_PP_IF(p(137, s), m, NDNBOOST_PP_TUPLE_EAT_2)(137, s) NDNBOOST_PP_IF(p(137, s), NDNBOOST_PP_FOR_137, NDNBOOST_PP_TUPLE_EAT_4)(o(137, s), p, o, m)
+# define NDNBOOST_PP_FOR_137_I(s, p, o, m) NDNBOOST_PP_IF(p(138, s), m, NDNBOOST_PP_TUPLE_EAT_2)(138, s) NDNBOOST_PP_IF(p(138, s), NDNBOOST_PP_FOR_138, NDNBOOST_PP_TUPLE_EAT_4)(o(138, s), p, o, m)
+# define NDNBOOST_PP_FOR_138_I(s, p, o, m) NDNBOOST_PP_IF(p(139, s), m, NDNBOOST_PP_TUPLE_EAT_2)(139, s) NDNBOOST_PP_IF(p(139, s), NDNBOOST_PP_FOR_139, NDNBOOST_PP_TUPLE_EAT_4)(o(139, s), p, o, m)
+# define NDNBOOST_PP_FOR_139_I(s, p, o, m) NDNBOOST_PP_IF(p(140, s), m, NDNBOOST_PP_TUPLE_EAT_2)(140, s) NDNBOOST_PP_IF(p(140, s), NDNBOOST_PP_FOR_140, NDNBOOST_PP_TUPLE_EAT_4)(o(140, s), p, o, m)
+# define NDNBOOST_PP_FOR_140_I(s, p, o, m) NDNBOOST_PP_IF(p(141, s), m, NDNBOOST_PP_TUPLE_EAT_2)(141, s) NDNBOOST_PP_IF(p(141, s), NDNBOOST_PP_FOR_141, NDNBOOST_PP_TUPLE_EAT_4)(o(141, s), p, o, m)
+# define NDNBOOST_PP_FOR_141_I(s, p, o, m) NDNBOOST_PP_IF(p(142, s), m, NDNBOOST_PP_TUPLE_EAT_2)(142, s) NDNBOOST_PP_IF(p(142, s), NDNBOOST_PP_FOR_142, NDNBOOST_PP_TUPLE_EAT_4)(o(142, s), p, o, m)
+# define NDNBOOST_PP_FOR_142_I(s, p, o, m) NDNBOOST_PP_IF(p(143, s), m, NDNBOOST_PP_TUPLE_EAT_2)(143, s) NDNBOOST_PP_IF(p(143, s), NDNBOOST_PP_FOR_143, NDNBOOST_PP_TUPLE_EAT_4)(o(143, s), p, o, m)
+# define NDNBOOST_PP_FOR_143_I(s, p, o, m) NDNBOOST_PP_IF(p(144, s), m, NDNBOOST_PP_TUPLE_EAT_2)(144, s) NDNBOOST_PP_IF(p(144, s), NDNBOOST_PP_FOR_144, NDNBOOST_PP_TUPLE_EAT_4)(o(144, s), p, o, m)
+# define NDNBOOST_PP_FOR_144_I(s, p, o, m) NDNBOOST_PP_IF(p(145, s), m, NDNBOOST_PP_TUPLE_EAT_2)(145, s) NDNBOOST_PP_IF(p(145, s), NDNBOOST_PP_FOR_145, NDNBOOST_PP_TUPLE_EAT_4)(o(145, s), p, o, m)
+# define NDNBOOST_PP_FOR_145_I(s, p, o, m) NDNBOOST_PP_IF(p(146, s), m, NDNBOOST_PP_TUPLE_EAT_2)(146, s) NDNBOOST_PP_IF(p(146, s), NDNBOOST_PP_FOR_146, NDNBOOST_PP_TUPLE_EAT_4)(o(146, s), p, o, m)
+# define NDNBOOST_PP_FOR_146_I(s, p, o, m) NDNBOOST_PP_IF(p(147, s), m, NDNBOOST_PP_TUPLE_EAT_2)(147, s) NDNBOOST_PP_IF(p(147, s), NDNBOOST_PP_FOR_147, NDNBOOST_PP_TUPLE_EAT_4)(o(147, s), p, o, m)
+# define NDNBOOST_PP_FOR_147_I(s, p, o, m) NDNBOOST_PP_IF(p(148, s), m, NDNBOOST_PP_TUPLE_EAT_2)(148, s) NDNBOOST_PP_IF(p(148, s), NDNBOOST_PP_FOR_148, NDNBOOST_PP_TUPLE_EAT_4)(o(148, s), p, o, m)
+# define NDNBOOST_PP_FOR_148_I(s, p, o, m) NDNBOOST_PP_IF(p(149, s), m, NDNBOOST_PP_TUPLE_EAT_2)(149, s) NDNBOOST_PP_IF(p(149, s), NDNBOOST_PP_FOR_149, NDNBOOST_PP_TUPLE_EAT_4)(o(149, s), p, o, m)
+# define NDNBOOST_PP_FOR_149_I(s, p, o, m) NDNBOOST_PP_IF(p(150, s), m, NDNBOOST_PP_TUPLE_EAT_2)(150, s) NDNBOOST_PP_IF(p(150, s), NDNBOOST_PP_FOR_150, NDNBOOST_PP_TUPLE_EAT_4)(o(150, s), p, o, m)
+# define NDNBOOST_PP_FOR_150_I(s, p, o, m) NDNBOOST_PP_IF(p(151, s), m, NDNBOOST_PP_TUPLE_EAT_2)(151, s) NDNBOOST_PP_IF(p(151, s), NDNBOOST_PP_FOR_151, NDNBOOST_PP_TUPLE_EAT_4)(o(151, s), p, o, m)
+# define NDNBOOST_PP_FOR_151_I(s, p, o, m) NDNBOOST_PP_IF(p(152, s), m, NDNBOOST_PP_TUPLE_EAT_2)(152, s) NDNBOOST_PP_IF(p(152, s), NDNBOOST_PP_FOR_152, NDNBOOST_PP_TUPLE_EAT_4)(o(152, s), p, o, m)
+# define NDNBOOST_PP_FOR_152_I(s, p, o, m) NDNBOOST_PP_IF(p(153, s), m, NDNBOOST_PP_TUPLE_EAT_2)(153, s) NDNBOOST_PP_IF(p(153, s), NDNBOOST_PP_FOR_153, NDNBOOST_PP_TUPLE_EAT_4)(o(153, s), p, o, m)
+# define NDNBOOST_PP_FOR_153_I(s, p, o, m) NDNBOOST_PP_IF(p(154, s), m, NDNBOOST_PP_TUPLE_EAT_2)(154, s) NDNBOOST_PP_IF(p(154, s), NDNBOOST_PP_FOR_154, NDNBOOST_PP_TUPLE_EAT_4)(o(154, s), p, o, m)
+# define NDNBOOST_PP_FOR_154_I(s, p, o, m) NDNBOOST_PP_IF(p(155, s), m, NDNBOOST_PP_TUPLE_EAT_2)(155, s) NDNBOOST_PP_IF(p(155, s), NDNBOOST_PP_FOR_155, NDNBOOST_PP_TUPLE_EAT_4)(o(155, s), p, o, m)
+# define NDNBOOST_PP_FOR_155_I(s, p, o, m) NDNBOOST_PP_IF(p(156, s), m, NDNBOOST_PP_TUPLE_EAT_2)(156, s) NDNBOOST_PP_IF(p(156, s), NDNBOOST_PP_FOR_156, NDNBOOST_PP_TUPLE_EAT_4)(o(156, s), p, o, m)
+# define NDNBOOST_PP_FOR_156_I(s, p, o, m) NDNBOOST_PP_IF(p(157, s), m, NDNBOOST_PP_TUPLE_EAT_2)(157, s) NDNBOOST_PP_IF(p(157, s), NDNBOOST_PP_FOR_157, NDNBOOST_PP_TUPLE_EAT_4)(o(157, s), p, o, m)
+# define NDNBOOST_PP_FOR_157_I(s, p, o, m) NDNBOOST_PP_IF(p(158, s), m, NDNBOOST_PP_TUPLE_EAT_2)(158, s) NDNBOOST_PP_IF(p(158, s), NDNBOOST_PP_FOR_158, NDNBOOST_PP_TUPLE_EAT_4)(o(158, s), p, o, m)
+# define NDNBOOST_PP_FOR_158_I(s, p, o, m) NDNBOOST_PP_IF(p(159, s), m, NDNBOOST_PP_TUPLE_EAT_2)(159, s) NDNBOOST_PP_IF(p(159, s), NDNBOOST_PP_FOR_159, NDNBOOST_PP_TUPLE_EAT_4)(o(159, s), p, o, m)
+# define NDNBOOST_PP_FOR_159_I(s, p, o, m) NDNBOOST_PP_IF(p(160, s), m, NDNBOOST_PP_TUPLE_EAT_2)(160, s) NDNBOOST_PP_IF(p(160, s), NDNBOOST_PP_FOR_160, NDNBOOST_PP_TUPLE_EAT_4)(o(160, s), p, o, m)
+# define NDNBOOST_PP_FOR_160_I(s, p, o, m) NDNBOOST_PP_IF(p(161, s), m, NDNBOOST_PP_TUPLE_EAT_2)(161, s) NDNBOOST_PP_IF(p(161, s), NDNBOOST_PP_FOR_161, NDNBOOST_PP_TUPLE_EAT_4)(o(161, s), p, o, m)
+# define NDNBOOST_PP_FOR_161_I(s, p, o, m) NDNBOOST_PP_IF(p(162, s), m, NDNBOOST_PP_TUPLE_EAT_2)(162, s) NDNBOOST_PP_IF(p(162, s), NDNBOOST_PP_FOR_162, NDNBOOST_PP_TUPLE_EAT_4)(o(162, s), p, o, m)
+# define NDNBOOST_PP_FOR_162_I(s, p, o, m) NDNBOOST_PP_IF(p(163, s), m, NDNBOOST_PP_TUPLE_EAT_2)(163, s) NDNBOOST_PP_IF(p(163, s), NDNBOOST_PP_FOR_163, NDNBOOST_PP_TUPLE_EAT_4)(o(163, s), p, o, m)
+# define NDNBOOST_PP_FOR_163_I(s, p, o, m) NDNBOOST_PP_IF(p(164, s), m, NDNBOOST_PP_TUPLE_EAT_2)(164, s) NDNBOOST_PP_IF(p(164, s), NDNBOOST_PP_FOR_164, NDNBOOST_PP_TUPLE_EAT_4)(o(164, s), p, o, m)
+# define NDNBOOST_PP_FOR_164_I(s, p, o, m) NDNBOOST_PP_IF(p(165, s), m, NDNBOOST_PP_TUPLE_EAT_2)(165, s) NDNBOOST_PP_IF(p(165, s), NDNBOOST_PP_FOR_165, NDNBOOST_PP_TUPLE_EAT_4)(o(165, s), p, o, m)
+# define NDNBOOST_PP_FOR_165_I(s, p, o, m) NDNBOOST_PP_IF(p(166, s), m, NDNBOOST_PP_TUPLE_EAT_2)(166, s) NDNBOOST_PP_IF(p(166, s), NDNBOOST_PP_FOR_166, NDNBOOST_PP_TUPLE_EAT_4)(o(166, s), p, o, m)
+# define NDNBOOST_PP_FOR_166_I(s, p, o, m) NDNBOOST_PP_IF(p(167, s), m, NDNBOOST_PP_TUPLE_EAT_2)(167, s) NDNBOOST_PP_IF(p(167, s), NDNBOOST_PP_FOR_167, NDNBOOST_PP_TUPLE_EAT_4)(o(167, s), p, o, m)
+# define NDNBOOST_PP_FOR_167_I(s, p, o, m) NDNBOOST_PP_IF(p(168, s), m, NDNBOOST_PP_TUPLE_EAT_2)(168, s) NDNBOOST_PP_IF(p(168, s), NDNBOOST_PP_FOR_168, NDNBOOST_PP_TUPLE_EAT_4)(o(168, s), p, o, m)
+# define NDNBOOST_PP_FOR_168_I(s, p, o, m) NDNBOOST_PP_IF(p(169, s), m, NDNBOOST_PP_TUPLE_EAT_2)(169, s) NDNBOOST_PP_IF(p(169, s), NDNBOOST_PP_FOR_169, NDNBOOST_PP_TUPLE_EAT_4)(o(169, s), p, o, m)
+# define NDNBOOST_PP_FOR_169_I(s, p, o, m) NDNBOOST_PP_IF(p(170, s), m, NDNBOOST_PP_TUPLE_EAT_2)(170, s) NDNBOOST_PP_IF(p(170, s), NDNBOOST_PP_FOR_170, NDNBOOST_PP_TUPLE_EAT_4)(o(170, s), p, o, m)
+# define NDNBOOST_PP_FOR_170_I(s, p, o, m) NDNBOOST_PP_IF(p(171, s), m, NDNBOOST_PP_TUPLE_EAT_2)(171, s) NDNBOOST_PP_IF(p(171, s), NDNBOOST_PP_FOR_171, NDNBOOST_PP_TUPLE_EAT_4)(o(171, s), p, o, m)
+# define NDNBOOST_PP_FOR_171_I(s, p, o, m) NDNBOOST_PP_IF(p(172, s), m, NDNBOOST_PP_TUPLE_EAT_2)(172, s) NDNBOOST_PP_IF(p(172, s), NDNBOOST_PP_FOR_172, NDNBOOST_PP_TUPLE_EAT_4)(o(172, s), p, o, m)
+# define NDNBOOST_PP_FOR_172_I(s, p, o, m) NDNBOOST_PP_IF(p(173, s), m, NDNBOOST_PP_TUPLE_EAT_2)(173, s) NDNBOOST_PP_IF(p(173, s), NDNBOOST_PP_FOR_173, NDNBOOST_PP_TUPLE_EAT_4)(o(173, s), p, o, m)
+# define NDNBOOST_PP_FOR_173_I(s, p, o, m) NDNBOOST_PP_IF(p(174, s), m, NDNBOOST_PP_TUPLE_EAT_2)(174, s) NDNBOOST_PP_IF(p(174, s), NDNBOOST_PP_FOR_174, NDNBOOST_PP_TUPLE_EAT_4)(o(174, s), p, o, m)
+# define NDNBOOST_PP_FOR_174_I(s, p, o, m) NDNBOOST_PP_IF(p(175, s), m, NDNBOOST_PP_TUPLE_EAT_2)(175, s) NDNBOOST_PP_IF(p(175, s), NDNBOOST_PP_FOR_175, NDNBOOST_PP_TUPLE_EAT_4)(o(175, s), p, o, m)
+# define NDNBOOST_PP_FOR_175_I(s, p, o, m) NDNBOOST_PP_IF(p(176, s), m, NDNBOOST_PP_TUPLE_EAT_2)(176, s) NDNBOOST_PP_IF(p(176, s), NDNBOOST_PP_FOR_176, NDNBOOST_PP_TUPLE_EAT_4)(o(176, s), p, o, m)
+# define NDNBOOST_PP_FOR_176_I(s, p, o, m) NDNBOOST_PP_IF(p(177, s), m, NDNBOOST_PP_TUPLE_EAT_2)(177, s) NDNBOOST_PP_IF(p(177, s), NDNBOOST_PP_FOR_177, NDNBOOST_PP_TUPLE_EAT_4)(o(177, s), p, o, m)
+# define NDNBOOST_PP_FOR_177_I(s, p, o, m) NDNBOOST_PP_IF(p(178, s), m, NDNBOOST_PP_TUPLE_EAT_2)(178, s) NDNBOOST_PP_IF(p(178, s), NDNBOOST_PP_FOR_178, NDNBOOST_PP_TUPLE_EAT_4)(o(178, s), p, o, m)
+# define NDNBOOST_PP_FOR_178_I(s, p, o, m) NDNBOOST_PP_IF(p(179, s), m, NDNBOOST_PP_TUPLE_EAT_2)(179, s) NDNBOOST_PP_IF(p(179, s), NDNBOOST_PP_FOR_179, NDNBOOST_PP_TUPLE_EAT_4)(o(179, s), p, o, m)
+# define NDNBOOST_PP_FOR_179_I(s, p, o, m) NDNBOOST_PP_IF(p(180, s), m, NDNBOOST_PP_TUPLE_EAT_2)(180, s) NDNBOOST_PP_IF(p(180, s), NDNBOOST_PP_FOR_180, NDNBOOST_PP_TUPLE_EAT_4)(o(180, s), p, o, m)
+# define NDNBOOST_PP_FOR_180_I(s, p, o, m) NDNBOOST_PP_IF(p(181, s), m, NDNBOOST_PP_TUPLE_EAT_2)(181, s) NDNBOOST_PP_IF(p(181, s), NDNBOOST_PP_FOR_181, NDNBOOST_PP_TUPLE_EAT_4)(o(181, s), p, o, m)
+# define NDNBOOST_PP_FOR_181_I(s, p, o, m) NDNBOOST_PP_IF(p(182, s), m, NDNBOOST_PP_TUPLE_EAT_2)(182, s) NDNBOOST_PP_IF(p(182, s), NDNBOOST_PP_FOR_182, NDNBOOST_PP_TUPLE_EAT_4)(o(182, s), p, o, m)
+# define NDNBOOST_PP_FOR_182_I(s, p, o, m) NDNBOOST_PP_IF(p(183, s), m, NDNBOOST_PP_TUPLE_EAT_2)(183, s) NDNBOOST_PP_IF(p(183, s), NDNBOOST_PP_FOR_183, NDNBOOST_PP_TUPLE_EAT_4)(o(183, s), p, o, m)
+# define NDNBOOST_PP_FOR_183_I(s, p, o, m) NDNBOOST_PP_IF(p(184, s), m, NDNBOOST_PP_TUPLE_EAT_2)(184, s) NDNBOOST_PP_IF(p(184, s), NDNBOOST_PP_FOR_184, NDNBOOST_PP_TUPLE_EAT_4)(o(184, s), p, o, m)
+# define NDNBOOST_PP_FOR_184_I(s, p, o, m) NDNBOOST_PP_IF(p(185, s), m, NDNBOOST_PP_TUPLE_EAT_2)(185, s) NDNBOOST_PP_IF(p(185, s), NDNBOOST_PP_FOR_185, NDNBOOST_PP_TUPLE_EAT_4)(o(185, s), p, o, m)
+# define NDNBOOST_PP_FOR_185_I(s, p, o, m) NDNBOOST_PP_IF(p(186, s), m, NDNBOOST_PP_TUPLE_EAT_2)(186, s) NDNBOOST_PP_IF(p(186, s), NDNBOOST_PP_FOR_186, NDNBOOST_PP_TUPLE_EAT_4)(o(186, s), p, o, m)
+# define NDNBOOST_PP_FOR_186_I(s, p, o, m) NDNBOOST_PP_IF(p(187, s), m, NDNBOOST_PP_TUPLE_EAT_2)(187, s) NDNBOOST_PP_IF(p(187, s), NDNBOOST_PP_FOR_187, NDNBOOST_PP_TUPLE_EAT_4)(o(187, s), p, o, m)
+# define NDNBOOST_PP_FOR_187_I(s, p, o, m) NDNBOOST_PP_IF(p(188, s), m, NDNBOOST_PP_TUPLE_EAT_2)(188, s) NDNBOOST_PP_IF(p(188, s), NDNBOOST_PP_FOR_188, NDNBOOST_PP_TUPLE_EAT_4)(o(188, s), p, o, m)
+# define NDNBOOST_PP_FOR_188_I(s, p, o, m) NDNBOOST_PP_IF(p(189, s), m, NDNBOOST_PP_TUPLE_EAT_2)(189, s) NDNBOOST_PP_IF(p(189, s), NDNBOOST_PP_FOR_189, NDNBOOST_PP_TUPLE_EAT_4)(o(189, s), p, o, m)
+# define NDNBOOST_PP_FOR_189_I(s, p, o, m) NDNBOOST_PP_IF(p(190, s), m, NDNBOOST_PP_TUPLE_EAT_2)(190, s) NDNBOOST_PP_IF(p(190, s), NDNBOOST_PP_FOR_190, NDNBOOST_PP_TUPLE_EAT_4)(o(190, s), p, o, m)
+# define NDNBOOST_PP_FOR_190_I(s, p, o, m) NDNBOOST_PP_IF(p(191, s), m, NDNBOOST_PP_TUPLE_EAT_2)(191, s) NDNBOOST_PP_IF(p(191, s), NDNBOOST_PP_FOR_191, NDNBOOST_PP_TUPLE_EAT_4)(o(191, s), p, o, m)
+# define NDNBOOST_PP_FOR_191_I(s, p, o, m) NDNBOOST_PP_IF(p(192, s), m, NDNBOOST_PP_TUPLE_EAT_2)(192, s) NDNBOOST_PP_IF(p(192, s), NDNBOOST_PP_FOR_192, NDNBOOST_PP_TUPLE_EAT_4)(o(192, s), p, o, m)
+# define NDNBOOST_PP_FOR_192_I(s, p, o, m) NDNBOOST_PP_IF(p(193, s), m, NDNBOOST_PP_TUPLE_EAT_2)(193, s) NDNBOOST_PP_IF(p(193, s), NDNBOOST_PP_FOR_193, NDNBOOST_PP_TUPLE_EAT_4)(o(193, s), p, o, m)
+# define NDNBOOST_PP_FOR_193_I(s, p, o, m) NDNBOOST_PP_IF(p(194, s), m, NDNBOOST_PP_TUPLE_EAT_2)(194, s) NDNBOOST_PP_IF(p(194, s), NDNBOOST_PP_FOR_194, NDNBOOST_PP_TUPLE_EAT_4)(o(194, s), p, o, m)
+# define NDNBOOST_PP_FOR_194_I(s, p, o, m) NDNBOOST_PP_IF(p(195, s), m, NDNBOOST_PP_TUPLE_EAT_2)(195, s) NDNBOOST_PP_IF(p(195, s), NDNBOOST_PP_FOR_195, NDNBOOST_PP_TUPLE_EAT_4)(o(195, s), p, o, m)
+# define NDNBOOST_PP_FOR_195_I(s, p, o, m) NDNBOOST_PP_IF(p(196, s), m, NDNBOOST_PP_TUPLE_EAT_2)(196, s) NDNBOOST_PP_IF(p(196, s), NDNBOOST_PP_FOR_196, NDNBOOST_PP_TUPLE_EAT_4)(o(196, s), p, o, m)
+# define NDNBOOST_PP_FOR_196_I(s, p, o, m) NDNBOOST_PP_IF(p(197, s), m, NDNBOOST_PP_TUPLE_EAT_2)(197, s) NDNBOOST_PP_IF(p(197, s), NDNBOOST_PP_FOR_197, NDNBOOST_PP_TUPLE_EAT_4)(o(197, s), p, o, m)
+# define NDNBOOST_PP_FOR_197_I(s, p, o, m) NDNBOOST_PP_IF(p(198, s), m, NDNBOOST_PP_TUPLE_EAT_2)(198, s) NDNBOOST_PP_IF(p(198, s), NDNBOOST_PP_FOR_198, NDNBOOST_PP_TUPLE_EAT_4)(o(198, s), p, o, m)
+# define NDNBOOST_PP_FOR_198_I(s, p, o, m) NDNBOOST_PP_IF(p(199, s), m, NDNBOOST_PP_TUPLE_EAT_2)(199, s) NDNBOOST_PP_IF(p(199, s), NDNBOOST_PP_FOR_199, NDNBOOST_PP_TUPLE_EAT_4)(o(199, s), p, o, m)
+# define NDNBOOST_PP_FOR_199_I(s, p, o, m) NDNBOOST_PP_IF(p(200, s), m, NDNBOOST_PP_TUPLE_EAT_2)(200, s) NDNBOOST_PP_IF(p(200, s), NDNBOOST_PP_FOR_200, NDNBOOST_PP_TUPLE_EAT_4)(o(200, s), p, o, m)
+# define NDNBOOST_PP_FOR_200_I(s, p, o, m) NDNBOOST_PP_IF(p(201, s), m, NDNBOOST_PP_TUPLE_EAT_2)(201, s) NDNBOOST_PP_IF(p(201, s), NDNBOOST_PP_FOR_201, NDNBOOST_PP_TUPLE_EAT_4)(o(201, s), p, o, m)
+# define NDNBOOST_PP_FOR_201_I(s, p, o, m) NDNBOOST_PP_IF(p(202, s), m, NDNBOOST_PP_TUPLE_EAT_2)(202, s) NDNBOOST_PP_IF(p(202, s), NDNBOOST_PP_FOR_202, NDNBOOST_PP_TUPLE_EAT_4)(o(202, s), p, o, m)
+# define NDNBOOST_PP_FOR_202_I(s, p, o, m) NDNBOOST_PP_IF(p(203, s), m, NDNBOOST_PP_TUPLE_EAT_2)(203, s) NDNBOOST_PP_IF(p(203, s), NDNBOOST_PP_FOR_203, NDNBOOST_PP_TUPLE_EAT_4)(o(203, s), p, o, m)
+# define NDNBOOST_PP_FOR_203_I(s, p, o, m) NDNBOOST_PP_IF(p(204, s), m, NDNBOOST_PP_TUPLE_EAT_2)(204, s) NDNBOOST_PP_IF(p(204, s), NDNBOOST_PP_FOR_204, NDNBOOST_PP_TUPLE_EAT_4)(o(204, s), p, o, m)
+# define NDNBOOST_PP_FOR_204_I(s, p, o, m) NDNBOOST_PP_IF(p(205, s), m, NDNBOOST_PP_TUPLE_EAT_2)(205, s) NDNBOOST_PP_IF(p(205, s), NDNBOOST_PP_FOR_205, NDNBOOST_PP_TUPLE_EAT_4)(o(205, s), p, o, m)
+# define NDNBOOST_PP_FOR_205_I(s, p, o, m) NDNBOOST_PP_IF(p(206, s), m, NDNBOOST_PP_TUPLE_EAT_2)(206, s) NDNBOOST_PP_IF(p(206, s), NDNBOOST_PP_FOR_206, NDNBOOST_PP_TUPLE_EAT_4)(o(206, s), p, o, m)
+# define NDNBOOST_PP_FOR_206_I(s, p, o, m) NDNBOOST_PP_IF(p(207, s), m, NDNBOOST_PP_TUPLE_EAT_2)(207, s) NDNBOOST_PP_IF(p(207, s), NDNBOOST_PP_FOR_207, NDNBOOST_PP_TUPLE_EAT_4)(o(207, s), p, o, m)
+# define NDNBOOST_PP_FOR_207_I(s, p, o, m) NDNBOOST_PP_IF(p(208, s), m, NDNBOOST_PP_TUPLE_EAT_2)(208, s) NDNBOOST_PP_IF(p(208, s), NDNBOOST_PP_FOR_208, NDNBOOST_PP_TUPLE_EAT_4)(o(208, s), p, o, m)
+# define NDNBOOST_PP_FOR_208_I(s, p, o, m) NDNBOOST_PP_IF(p(209, s), m, NDNBOOST_PP_TUPLE_EAT_2)(209, s) NDNBOOST_PP_IF(p(209, s), NDNBOOST_PP_FOR_209, NDNBOOST_PP_TUPLE_EAT_4)(o(209, s), p, o, m)
+# define NDNBOOST_PP_FOR_209_I(s, p, o, m) NDNBOOST_PP_IF(p(210, s), m, NDNBOOST_PP_TUPLE_EAT_2)(210, s) NDNBOOST_PP_IF(p(210, s), NDNBOOST_PP_FOR_210, NDNBOOST_PP_TUPLE_EAT_4)(o(210, s), p, o, m)
+# define NDNBOOST_PP_FOR_210_I(s, p, o, m) NDNBOOST_PP_IF(p(211, s), m, NDNBOOST_PP_TUPLE_EAT_2)(211, s) NDNBOOST_PP_IF(p(211, s), NDNBOOST_PP_FOR_211, NDNBOOST_PP_TUPLE_EAT_4)(o(211, s), p, o, m)
+# define NDNBOOST_PP_FOR_211_I(s, p, o, m) NDNBOOST_PP_IF(p(212, s), m, NDNBOOST_PP_TUPLE_EAT_2)(212, s) NDNBOOST_PP_IF(p(212, s), NDNBOOST_PP_FOR_212, NDNBOOST_PP_TUPLE_EAT_4)(o(212, s), p, o, m)
+# define NDNBOOST_PP_FOR_212_I(s, p, o, m) NDNBOOST_PP_IF(p(213, s), m, NDNBOOST_PP_TUPLE_EAT_2)(213, s) NDNBOOST_PP_IF(p(213, s), NDNBOOST_PP_FOR_213, NDNBOOST_PP_TUPLE_EAT_4)(o(213, s), p, o, m)
+# define NDNBOOST_PP_FOR_213_I(s, p, o, m) NDNBOOST_PP_IF(p(214, s), m, NDNBOOST_PP_TUPLE_EAT_2)(214, s) NDNBOOST_PP_IF(p(214, s), NDNBOOST_PP_FOR_214, NDNBOOST_PP_TUPLE_EAT_4)(o(214, s), p, o, m)
+# define NDNBOOST_PP_FOR_214_I(s, p, o, m) NDNBOOST_PP_IF(p(215, s), m, NDNBOOST_PP_TUPLE_EAT_2)(215, s) NDNBOOST_PP_IF(p(215, s), NDNBOOST_PP_FOR_215, NDNBOOST_PP_TUPLE_EAT_4)(o(215, s), p, o, m)
+# define NDNBOOST_PP_FOR_215_I(s, p, o, m) NDNBOOST_PP_IF(p(216, s), m, NDNBOOST_PP_TUPLE_EAT_2)(216, s) NDNBOOST_PP_IF(p(216, s), NDNBOOST_PP_FOR_216, NDNBOOST_PP_TUPLE_EAT_4)(o(216, s), p, o, m)
+# define NDNBOOST_PP_FOR_216_I(s, p, o, m) NDNBOOST_PP_IF(p(217, s), m, NDNBOOST_PP_TUPLE_EAT_2)(217, s) NDNBOOST_PP_IF(p(217, s), NDNBOOST_PP_FOR_217, NDNBOOST_PP_TUPLE_EAT_4)(o(217, s), p, o, m)
+# define NDNBOOST_PP_FOR_217_I(s, p, o, m) NDNBOOST_PP_IF(p(218, s), m, NDNBOOST_PP_TUPLE_EAT_2)(218, s) NDNBOOST_PP_IF(p(218, s), NDNBOOST_PP_FOR_218, NDNBOOST_PP_TUPLE_EAT_4)(o(218, s), p, o, m)
+# define NDNBOOST_PP_FOR_218_I(s, p, o, m) NDNBOOST_PP_IF(p(219, s), m, NDNBOOST_PP_TUPLE_EAT_2)(219, s) NDNBOOST_PP_IF(p(219, s), NDNBOOST_PP_FOR_219, NDNBOOST_PP_TUPLE_EAT_4)(o(219, s), p, o, m)
+# define NDNBOOST_PP_FOR_219_I(s, p, o, m) NDNBOOST_PP_IF(p(220, s), m, NDNBOOST_PP_TUPLE_EAT_2)(220, s) NDNBOOST_PP_IF(p(220, s), NDNBOOST_PP_FOR_220, NDNBOOST_PP_TUPLE_EAT_4)(o(220, s), p, o, m)
+# define NDNBOOST_PP_FOR_220_I(s, p, o, m) NDNBOOST_PP_IF(p(221, s), m, NDNBOOST_PP_TUPLE_EAT_2)(221, s) NDNBOOST_PP_IF(p(221, s), NDNBOOST_PP_FOR_221, NDNBOOST_PP_TUPLE_EAT_4)(o(221, s), p, o, m)
+# define NDNBOOST_PP_FOR_221_I(s, p, o, m) NDNBOOST_PP_IF(p(222, s), m, NDNBOOST_PP_TUPLE_EAT_2)(222, s) NDNBOOST_PP_IF(p(222, s), NDNBOOST_PP_FOR_222, NDNBOOST_PP_TUPLE_EAT_4)(o(222, s), p, o, m)
+# define NDNBOOST_PP_FOR_222_I(s, p, o, m) NDNBOOST_PP_IF(p(223, s), m, NDNBOOST_PP_TUPLE_EAT_2)(223, s) NDNBOOST_PP_IF(p(223, s), NDNBOOST_PP_FOR_223, NDNBOOST_PP_TUPLE_EAT_4)(o(223, s), p, o, m)
+# define NDNBOOST_PP_FOR_223_I(s, p, o, m) NDNBOOST_PP_IF(p(224, s), m, NDNBOOST_PP_TUPLE_EAT_2)(224, s) NDNBOOST_PP_IF(p(224, s), NDNBOOST_PP_FOR_224, NDNBOOST_PP_TUPLE_EAT_4)(o(224, s), p, o, m)
+# define NDNBOOST_PP_FOR_224_I(s, p, o, m) NDNBOOST_PP_IF(p(225, s), m, NDNBOOST_PP_TUPLE_EAT_2)(225, s) NDNBOOST_PP_IF(p(225, s), NDNBOOST_PP_FOR_225, NDNBOOST_PP_TUPLE_EAT_4)(o(225, s), p, o, m)
+# define NDNBOOST_PP_FOR_225_I(s, p, o, m) NDNBOOST_PP_IF(p(226, s), m, NDNBOOST_PP_TUPLE_EAT_2)(226, s) NDNBOOST_PP_IF(p(226, s), NDNBOOST_PP_FOR_226, NDNBOOST_PP_TUPLE_EAT_4)(o(226, s), p, o, m)
+# define NDNBOOST_PP_FOR_226_I(s, p, o, m) NDNBOOST_PP_IF(p(227, s), m, NDNBOOST_PP_TUPLE_EAT_2)(227, s) NDNBOOST_PP_IF(p(227, s), NDNBOOST_PP_FOR_227, NDNBOOST_PP_TUPLE_EAT_4)(o(227, s), p, o, m)
+# define NDNBOOST_PP_FOR_227_I(s, p, o, m) NDNBOOST_PP_IF(p(228, s), m, NDNBOOST_PP_TUPLE_EAT_2)(228, s) NDNBOOST_PP_IF(p(228, s), NDNBOOST_PP_FOR_228, NDNBOOST_PP_TUPLE_EAT_4)(o(228, s), p, o, m)
+# define NDNBOOST_PP_FOR_228_I(s, p, o, m) NDNBOOST_PP_IF(p(229, s), m, NDNBOOST_PP_TUPLE_EAT_2)(229, s) NDNBOOST_PP_IF(p(229, s), NDNBOOST_PP_FOR_229, NDNBOOST_PP_TUPLE_EAT_4)(o(229, s), p, o, m)
+# define NDNBOOST_PP_FOR_229_I(s, p, o, m) NDNBOOST_PP_IF(p(230, s), m, NDNBOOST_PP_TUPLE_EAT_2)(230, s) NDNBOOST_PP_IF(p(230, s), NDNBOOST_PP_FOR_230, NDNBOOST_PP_TUPLE_EAT_4)(o(230, s), p, o, m)
+# define NDNBOOST_PP_FOR_230_I(s, p, o, m) NDNBOOST_PP_IF(p(231, s), m, NDNBOOST_PP_TUPLE_EAT_2)(231, s) NDNBOOST_PP_IF(p(231, s), NDNBOOST_PP_FOR_231, NDNBOOST_PP_TUPLE_EAT_4)(o(231, s), p, o, m)
+# define NDNBOOST_PP_FOR_231_I(s, p, o, m) NDNBOOST_PP_IF(p(232, s), m, NDNBOOST_PP_TUPLE_EAT_2)(232, s) NDNBOOST_PP_IF(p(232, s), NDNBOOST_PP_FOR_232, NDNBOOST_PP_TUPLE_EAT_4)(o(232, s), p, o, m)
+# define NDNBOOST_PP_FOR_232_I(s, p, o, m) NDNBOOST_PP_IF(p(233, s), m, NDNBOOST_PP_TUPLE_EAT_2)(233, s) NDNBOOST_PP_IF(p(233, s), NDNBOOST_PP_FOR_233, NDNBOOST_PP_TUPLE_EAT_4)(o(233, s), p, o, m)
+# define NDNBOOST_PP_FOR_233_I(s, p, o, m) NDNBOOST_PP_IF(p(234, s), m, NDNBOOST_PP_TUPLE_EAT_2)(234, s) NDNBOOST_PP_IF(p(234, s), NDNBOOST_PP_FOR_234, NDNBOOST_PP_TUPLE_EAT_4)(o(234, s), p, o, m)
+# define NDNBOOST_PP_FOR_234_I(s, p, o, m) NDNBOOST_PP_IF(p(235, s), m, NDNBOOST_PP_TUPLE_EAT_2)(235, s) NDNBOOST_PP_IF(p(235, s), NDNBOOST_PP_FOR_235, NDNBOOST_PP_TUPLE_EAT_4)(o(235, s), p, o, m)
+# define NDNBOOST_PP_FOR_235_I(s, p, o, m) NDNBOOST_PP_IF(p(236, s), m, NDNBOOST_PP_TUPLE_EAT_2)(236, s) NDNBOOST_PP_IF(p(236, s), NDNBOOST_PP_FOR_236, NDNBOOST_PP_TUPLE_EAT_4)(o(236, s), p, o, m)
+# define NDNBOOST_PP_FOR_236_I(s, p, o, m) NDNBOOST_PP_IF(p(237, s), m, NDNBOOST_PP_TUPLE_EAT_2)(237, s) NDNBOOST_PP_IF(p(237, s), NDNBOOST_PP_FOR_237, NDNBOOST_PP_TUPLE_EAT_4)(o(237, s), p, o, m)
+# define NDNBOOST_PP_FOR_237_I(s, p, o, m) NDNBOOST_PP_IF(p(238, s), m, NDNBOOST_PP_TUPLE_EAT_2)(238, s) NDNBOOST_PP_IF(p(238, s), NDNBOOST_PP_FOR_238, NDNBOOST_PP_TUPLE_EAT_4)(o(238, s), p, o, m)
+# define NDNBOOST_PP_FOR_238_I(s, p, o, m) NDNBOOST_PP_IF(p(239, s), m, NDNBOOST_PP_TUPLE_EAT_2)(239, s) NDNBOOST_PP_IF(p(239, s), NDNBOOST_PP_FOR_239, NDNBOOST_PP_TUPLE_EAT_4)(o(239, s), p, o, m)
+# define NDNBOOST_PP_FOR_239_I(s, p, o, m) NDNBOOST_PP_IF(p(240, s), m, NDNBOOST_PP_TUPLE_EAT_2)(240, s) NDNBOOST_PP_IF(p(240, s), NDNBOOST_PP_FOR_240, NDNBOOST_PP_TUPLE_EAT_4)(o(240, s), p, o, m)
+# define NDNBOOST_PP_FOR_240_I(s, p, o, m) NDNBOOST_PP_IF(p(241, s), m, NDNBOOST_PP_TUPLE_EAT_2)(241, s) NDNBOOST_PP_IF(p(241, s), NDNBOOST_PP_FOR_241, NDNBOOST_PP_TUPLE_EAT_4)(o(241, s), p, o, m)
+# define NDNBOOST_PP_FOR_241_I(s, p, o, m) NDNBOOST_PP_IF(p(242, s), m, NDNBOOST_PP_TUPLE_EAT_2)(242, s) NDNBOOST_PP_IF(p(242, s), NDNBOOST_PP_FOR_242, NDNBOOST_PP_TUPLE_EAT_4)(o(242, s), p, o, m)
+# define NDNBOOST_PP_FOR_242_I(s, p, o, m) NDNBOOST_PP_IF(p(243, s), m, NDNBOOST_PP_TUPLE_EAT_2)(243, s) NDNBOOST_PP_IF(p(243, s), NDNBOOST_PP_FOR_243, NDNBOOST_PP_TUPLE_EAT_4)(o(243, s), p, o, m)
+# define NDNBOOST_PP_FOR_243_I(s, p, o, m) NDNBOOST_PP_IF(p(244, s), m, NDNBOOST_PP_TUPLE_EAT_2)(244, s) NDNBOOST_PP_IF(p(244, s), NDNBOOST_PP_FOR_244, NDNBOOST_PP_TUPLE_EAT_4)(o(244, s), p, o, m)
+# define NDNBOOST_PP_FOR_244_I(s, p, o, m) NDNBOOST_PP_IF(p(245, s), m, NDNBOOST_PP_TUPLE_EAT_2)(245, s) NDNBOOST_PP_IF(p(245, s), NDNBOOST_PP_FOR_245, NDNBOOST_PP_TUPLE_EAT_4)(o(245, s), p, o, m)
+# define NDNBOOST_PP_FOR_245_I(s, p, o, m) NDNBOOST_PP_IF(p(246, s), m, NDNBOOST_PP_TUPLE_EAT_2)(246, s) NDNBOOST_PP_IF(p(246, s), NDNBOOST_PP_FOR_246, NDNBOOST_PP_TUPLE_EAT_4)(o(246, s), p, o, m)
+# define NDNBOOST_PP_FOR_246_I(s, p, o, m) NDNBOOST_PP_IF(p(247, s), m, NDNBOOST_PP_TUPLE_EAT_2)(247, s) NDNBOOST_PP_IF(p(247, s), NDNBOOST_PP_FOR_247, NDNBOOST_PP_TUPLE_EAT_4)(o(247, s), p, o, m)
+# define NDNBOOST_PP_FOR_247_I(s, p, o, m) NDNBOOST_PP_IF(p(248, s), m, NDNBOOST_PP_TUPLE_EAT_2)(248, s) NDNBOOST_PP_IF(p(248, s), NDNBOOST_PP_FOR_248, NDNBOOST_PP_TUPLE_EAT_4)(o(248, s), p, o, m)
+# define NDNBOOST_PP_FOR_248_I(s, p, o, m) NDNBOOST_PP_IF(p(249, s), m, NDNBOOST_PP_TUPLE_EAT_2)(249, s) NDNBOOST_PP_IF(p(249, s), NDNBOOST_PP_FOR_249, NDNBOOST_PP_TUPLE_EAT_4)(o(249, s), p, o, m)
+# define NDNBOOST_PP_FOR_249_I(s, p, o, m) NDNBOOST_PP_IF(p(250, s), m, NDNBOOST_PP_TUPLE_EAT_2)(250, s) NDNBOOST_PP_IF(p(250, s), NDNBOOST_PP_FOR_250, NDNBOOST_PP_TUPLE_EAT_4)(o(250, s), p, o, m)
+# define NDNBOOST_PP_FOR_250_I(s, p, o, m) NDNBOOST_PP_IF(p(251, s), m, NDNBOOST_PP_TUPLE_EAT_2)(251, s) NDNBOOST_PP_IF(p(251, s), NDNBOOST_PP_FOR_251, NDNBOOST_PP_TUPLE_EAT_4)(o(251, s), p, o, m)
+# define NDNBOOST_PP_FOR_251_I(s, p, o, m) NDNBOOST_PP_IF(p(252, s), m, NDNBOOST_PP_TUPLE_EAT_2)(252, s) NDNBOOST_PP_IF(p(252, s), NDNBOOST_PP_FOR_252, NDNBOOST_PP_TUPLE_EAT_4)(o(252, s), p, o, m)
+# define NDNBOOST_PP_FOR_252_I(s, p, o, m) NDNBOOST_PP_IF(p(253, s), m, NDNBOOST_PP_TUPLE_EAT_2)(253, s) NDNBOOST_PP_IF(p(253, s), NDNBOOST_PP_FOR_253, NDNBOOST_PP_TUPLE_EAT_4)(o(253, s), p, o, m)
+# define NDNBOOST_PP_FOR_253_I(s, p, o, m) NDNBOOST_PP_IF(p(254, s), m, NDNBOOST_PP_TUPLE_EAT_2)(254, s) NDNBOOST_PP_IF(p(254, s), NDNBOOST_PP_FOR_254, NDNBOOST_PP_TUPLE_EAT_4)(o(254, s), p, o, m)
+# define NDNBOOST_PP_FOR_254_I(s, p, o, m) NDNBOOST_PP_IF(p(255, s), m, NDNBOOST_PP_TUPLE_EAT_2)(255, s) NDNBOOST_PP_IF(p(255, s), NDNBOOST_PP_FOR_255, NDNBOOST_PP_TUPLE_EAT_4)(o(255, s), p, o, m)
+# define NDNBOOST_PP_FOR_255_I(s, p, o, m) NDNBOOST_PP_IF(p(256, s), m, NDNBOOST_PP_TUPLE_EAT_2)(256, s) NDNBOOST_PP_IF(p(256, s), NDNBOOST_PP_FOR_256, NDNBOOST_PP_TUPLE_EAT_4)(o(256, s), p, o, m)
+# define NDNBOOST_PP_FOR_256_I(s, p, o, m) NDNBOOST_PP_IF(p(257, s), m, NDNBOOST_PP_TUPLE_EAT_2)(257, s) NDNBOOST_PP_IF(p(257, s), NDNBOOST_PP_FOR_257, NDNBOOST_PP_TUPLE_EAT_4)(o(257, s), p, o, m)
 #
 # endif
diff --git a/include/ndnboost/preprocessor/repetition/detail/for.hpp b/include/ndnboost/preprocessor/repetition/detail/for.hpp
index 2f6ed27..5ef3759 100644
--- a/include/ndnboost/preprocessor/repetition/detail/for.hpp
+++ b/include/ndnboost/preprocessor/repetition/detail/for.hpp
@@ -11,526 +11,526 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_REPETITION_DETAIL_FOR_HPP
-# define BOOST_PREPROCESSOR_REPETITION_DETAIL_FOR_HPP
+# ifndef NDNBOOST_PREPROCESSOR_REPETITION_DETAIL_FOR_HPP
+# define NDNBOOST_PREPROCESSOR_REPETITION_DETAIL_FOR_HPP
 #
 # include <ndnboost/preprocessor/control/expr_iif.hpp>
 # include <ndnboost/preprocessor/control/iif.hpp>
 # include <ndnboost/preprocessor/logical/bool.hpp>
 # include <ndnboost/preprocessor/tuple/eat.hpp>
 #
-# define BOOST_PP_FOR_1(s, p, o, m) BOOST_PP_FOR_1_C(BOOST_PP_BOOL(p(2, s)), s, p, o, m)
-# define BOOST_PP_FOR_2(s, p, o, m) BOOST_PP_FOR_2_C(BOOST_PP_BOOL(p(3, s)), s, p, o, m)
-# define BOOST_PP_FOR_3(s, p, o, m) BOOST_PP_FOR_3_C(BOOST_PP_BOOL(p(4, s)), s, p, o, m)
-# define BOOST_PP_FOR_4(s, p, o, m) BOOST_PP_FOR_4_C(BOOST_PP_BOOL(p(5, s)), s, p, o, m)
-# define BOOST_PP_FOR_5(s, p, o, m) BOOST_PP_FOR_5_C(BOOST_PP_BOOL(p(6, s)), s, p, o, m)
-# define BOOST_PP_FOR_6(s, p, o, m) BOOST_PP_FOR_6_C(BOOST_PP_BOOL(p(7, s)), s, p, o, m)
-# define BOOST_PP_FOR_7(s, p, o, m) BOOST_PP_FOR_7_C(BOOST_PP_BOOL(p(8, s)), s, p, o, m)
-# define BOOST_PP_FOR_8(s, p, o, m) BOOST_PP_FOR_8_C(BOOST_PP_BOOL(p(9, s)), s, p, o, m)
-# define BOOST_PP_FOR_9(s, p, o, m) BOOST_PP_FOR_9_C(BOOST_PP_BOOL(p(10, s)), s, p, o, m)
-# define BOOST_PP_FOR_10(s, p, o, m) BOOST_PP_FOR_10_C(BOOST_PP_BOOL(p(11, s)), s, p, o, m)
-# define BOOST_PP_FOR_11(s, p, o, m) BOOST_PP_FOR_11_C(BOOST_PP_BOOL(p(12, s)), s, p, o, m)
-# define BOOST_PP_FOR_12(s, p, o, m) BOOST_PP_FOR_12_C(BOOST_PP_BOOL(p(13, s)), s, p, o, m)
-# define BOOST_PP_FOR_13(s, p, o, m) BOOST_PP_FOR_13_C(BOOST_PP_BOOL(p(14, s)), s, p, o, m)
-# define BOOST_PP_FOR_14(s, p, o, m) BOOST_PP_FOR_14_C(BOOST_PP_BOOL(p(15, s)), s, p, o, m)
-# define BOOST_PP_FOR_15(s, p, o, m) BOOST_PP_FOR_15_C(BOOST_PP_BOOL(p(16, s)), s, p, o, m)
-# define BOOST_PP_FOR_16(s, p, o, m) BOOST_PP_FOR_16_C(BOOST_PP_BOOL(p(17, s)), s, p, o, m)
-# define BOOST_PP_FOR_17(s, p, o, m) BOOST_PP_FOR_17_C(BOOST_PP_BOOL(p(18, s)), s, p, o, m)
-# define BOOST_PP_FOR_18(s, p, o, m) BOOST_PP_FOR_18_C(BOOST_PP_BOOL(p(19, s)), s, p, o, m)
-# define BOOST_PP_FOR_19(s, p, o, m) BOOST_PP_FOR_19_C(BOOST_PP_BOOL(p(20, s)), s, p, o, m)
-# define BOOST_PP_FOR_20(s, p, o, m) BOOST_PP_FOR_20_C(BOOST_PP_BOOL(p(21, s)), s, p, o, m)
-# define BOOST_PP_FOR_21(s, p, o, m) BOOST_PP_FOR_21_C(BOOST_PP_BOOL(p(22, s)), s, p, o, m)
-# define BOOST_PP_FOR_22(s, p, o, m) BOOST_PP_FOR_22_C(BOOST_PP_BOOL(p(23, s)), s, p, o, m)
-# define BOOST_PP_FOR_23(s, p, o, m) BOOST_PP_FOR_23_C(BOOST_PP_BOOL(p(24, s)), s, p, o, m)
-# define BOOST_PP_FOR_24(s, p, o, m) BOOST_PP_FOR_24_C(BOOST_PP_BOOL(p(25, s)), s, p, o, m)
-# define BOOST_PP_FOR_25(s, p, o, m) BOOST_PP_FOR_25_C(BOOST_PP_BOOL(p(26, s)), s, p, o, m)
-# define BOOST_PP_FOR_26(s, p, o, m) BOOST_PP_FOR_26_C(BOOST_PP_BOOL(p(27, s)), s, p, o, m)
-# define BOOST_PP_FOR_27(s, p, o, m) BOOST_PP_FOR_27_C(BOOST_PP_BOOL(p(28, s)), s, p, o, m)
-# define BOOST_PP_FOR_28(s, p, o, m) BOOST_PP_FOR_28_C(BOOST_PP_BOOL(p(29, s)), s, p, o, m)
-# define BOOST_PP_FOR_29(s, p, o, m) BOOST_PP_FOR_29_C(BOOST_PP_BOOL(p(30, s)), s, p, o, m)
-# define BOOST_PP_FOR_30(s, p, o, m) BOOST_PP_FOR_30_C(BOOST_PP_BOOL(p(31, s)), s, p, o, m)
-# define BOOST_PP_FOR_31(s, p, o, m) BOOST_PP_FOR_31_C(BOOST_PP_BOOL(p(32, s)), s, p, o, m)
-# define BOOST_PP_FOR_32(s, p, o, m) BOOST_PP_FOR_32_C(BOOST_PP_BOOL(p(33, s)), s, p, o, m)
-# define BOOST_PP_FOR_33(s, p, o, m) BOOST_PP_FOR_33_C(BOOST_PP_BOOL(p(34, s)), s, p, o, m)
-# define BOOST_PP_FOR_34(s, p, o, m) BOOST_PP_FOR_34_C(BOOST_PP_BOOL(p(35, s)), s, p, o, m)
-# define BOOST_PP_FOR_35(s, p, o, m) BOOST_PP_FOR_35_C(BOOST_PP_BOOL(p(36, s)), s, p, o, m)
-# define BOOST_PP_FOR_36(s, p, o, m) BOOST_PP_FOR_36_C(BOOST_PP_BOOL(p(37, s)), s, p, o, m)
-# define BOOST_PP_FOR_37(s, p, o, m) BOOST_PP_FOR_37_C(BOOST_PP_BOOL(p(38, s)), s, p, o, m)
-# define BOOST_PP_FOR_38(s, p, o, m) BOOST_PP_FOR_38_C(BOOST_PP_BOOL(p(39, s)), s, p, o, m)
-# define BOOST_PP_FOR_39(s, p, o, m) BOOST_PP_FOR_39_C(BOOST_PP_BOOL(p(40, s)), s, p, o, m)
-# define BOOST_PP_FOR_40(s, p, o, m) BOOST_PP_FOR_40_C(BOOST_PP_BOOL(p(41, s)), s, p, o, m)
-# define BOOST_PP_FOR_41(s, p, o, m) BOOST_PP_FOR_41_C(BOOST_PP_BOOL(p(42, s)), s, p, o, m)
-# define BOOST_PP_FOR_42(s, p, o, m) BOOST_PP_FOR_42_C(BOOST_PP_BOOL(p(43, s)), s, p, o, m)
-# define BOOST_PP_FOR_43(s, p, o, m) BOOST_PP_FOR_43_C(BOOST_PP_BOOL(p(44, s)), s, p, o, m)
-# define BOOST_PP_FOR_44(s, p, o, m) BOOST_PP_FOR_44_C(BOOST_PP_BOOL(p(45, s)), s, p, o, m)
-# define BOOST_PP_FOR_45(s, p, o, m) BOOST_PP_FOR_45_C(BOOST_PP_BOOL(p(46, s)), s, p, o, m)
-# define BOOST_PP_FOR_46(s, p, o, m) BOOST_PP_FOR_46_C(BOOST_PP_BOOL(p(47, s)), s, p, o, m)
-# define BOOST_PP_FOR_47(s, p, o, m) BOOST_PP_FOR_47_C(BOOST_PP_BOOL(p(48, s)), s, p, o, m)
-# define BOOST_PP_FOR_48(s, p, o, m) BOOST_PP_FOR_48_C(BOOST_PP_BOOL(p(49, s)), s, p, o, m)
-# define BOOST_PP_FOR_49(s, p, o, m) BOOST_PP_FOR_49_C(BOOST_PP_BOOL(p(50, s)), s, p, o, m)
-# define BOOST_PP_FOR_50(s, p, o, m) BOOST_PP_FOR_50_C(BOOST_PP_BOOL(p(51, s)), s, p, o, m)
-# define BOOST_PP_FOR_51(s, p, o, m) BOOST_PP_FOR_51_C(BOOST_PP_BOOL(p(52, s)), s, p, o, m)
-# define BOOST_PP_FOR_52(s, p, o, m) BOOST_PP_FOR_52_C(BOOST_PP_BOOL(p(53, s)), s, p, o, m)
-# define BOOST_PP_FOR_53(s, p, o, m) BOOST_PP_FOR_53_C(BOOST_PP_BOOL(p(54, s)), s, p, o, m)
-# define BOOST_PP_FOR_54(s, p, o, m) BOOST_PP_FOR_54_C(BOOST_PP_BOOL(p(55, s)), s, p, o, m)
-# define BOOST_PP_FOR_55(s, p, o, m) BOOST_PP_FOR_55_C(BOOST_PP_BOOL(p(56, s)), s, p, o, m)
-# define BOOST_PP_FOR_56(s, p, o, m) BOOST_PP_FOR_56_C(BOOST_PP_BOOL(p(57, s)), s, p, o, m)
-# define BOOST_PP_FOR_57(s, p, o, m) BOOST_PP_FOR_57_C(BOOST_PP_BOOL(p(58, s)), s, p, o, m)
-# define BOOST_PP_FOR_58(s, p, o, m) BOOST_PP_FOR_58_C(BOOST_PP_BOOL(p(59, s)), s, p, o, m)
-# define BOOST_PP_FOR_59(s, p, o, m) BOOST_PP_FOR_59_C(BOOST_PP_BOOL(p(60, s)), s, p, o, m)
-# define BOOST_PP_FOR_60(s, p, o, m) BOOST_PP_FOR_60_C(BOOST_PP_BOOL(p(61, s)), s, p, o, m)
-# define BOOST_PP_FOR_61(s, p, o, m) BOOST_PP_FOR_61_C(BOOST_PP_BOOL(p(62, s)), s, p, o, m)
-# define BOOST_PP_FOR_62(s, p, o, m) BOOST_PP_FOR_62_C(BOOST_PP_BOOL(p(63, s)), s, p, o, m)
-# define BOOST_PP_FOR_63(s, p, o, m) BOOST_PP_FOR_63_C(BOOST_PP_BOOL(p(64, s)), s, p, o, m)
-# define BOOST_PP_FOR_64(s, p, o, m) BOOST_PP_FOR_64_C(BOOST_PP_BOOL(p(65, s)), s, p, o, m)
-# define BOOST_PP_FOR_65(s, p, o, m) BOOST_PP_FOR_65_C(BOOST_PP_BOOL(p(66, s)), s, p, o, m)
-# define BOOST_PP_FOR_66(s, p, o, m) BOOST_PP_FOR_66_C(BOOST_PP_BOOL(p(67, s)), s, p, o, m)
-# define BOOST_PP_FOR_67(s, p, o, m) BOOST_PP_FOR_67_C(BOOST_PP_BOOL(p(68, s)), s, p, o, m)
-# define BOOST_PP_FOR_68(s, p, o, m) BOOST_PP_FOR_68_C(BOOST_PP_BOOL(p(69, s)), s, p, o, m)
-# define BOOST_PP_FOR_69(s, p, o, m) BOOST_PP_FOR_69_C(BOOST_PP_BOOL(p(70, s)), s, p, o, m)
-# define BOOST_PP_FOR_70(s, p, o, m) BOOST_PP_FOR_70_C(BOOST_PP_BOOL(p(71, s)), s, p, o, m)
-# define BOOST_PP_FOR_71(s, p, o, m) BOOST_PP_FOR_71_C(BOOST_PP_BOOL(p(72, s)), s, p, o, m)
-# define BOOST_PP_FOR_72(s, p, o, m) BOOST_PP_FOR_72_C(BOOST_PP_BOOL(p(73, s)), s, p, o, m)
-# define BOOST_PP_FOR_73(s, p, o, m) BOOST_PP_FOR_73_C(BOOST_PP_BOOL(p(74, s)), s, p, o, m)
-# define BOOST_PP_FOR_74(s, p, o, m) BOOST_PP_FOR_74_C(BOOST_PP_BOOL(p(75, s)), s, p, o, m)
-# define BOOST_PP_FOR_75(s, p, o, m) BOOST_PP_FOR_75_C(BOOST_PP_BOOL(p(76, s)), s, p, o, m)
-# define BOOST_PP_FOR_76(s, p, o, m) BOOST_PP_FOR_76_C(BOOST_PP_BOOL(p(77, s)), s, p, o, m)
-# define BOOST_PP_FOR_77(s, p, o, m) BOOST_PP_FOR_77_C(BOOST_PP_BOOL(p(78, s)), s, p, o, m)
-# define BOOST_PP_FOR_78(s, p, o, m) BOOST_PP_FOR_78_C(BOOST_PP_BOOL(p(79, s)), s, p, o, m)
-# define BOOST_PP_FOR_79(s, p, o, m) BOOST_PP_FOR_79_C(BOOST_PP_BOOL(p(80, s)), s, p, o, m)
-# define BOOST_PP_FOR_80(s, p, o, m) BOOST_PP_FOR_80_C(BOOST_PP_BOOL(p(81, s)), s, p, o, m)
-# define BOOST_PP_FOR_81(s, p, o, m) BOOST_PP_FOR_81_C(BOOST_PP_BOOL(p(82, s)), s, p, o, m)
-# define BOOST_PP_FOR_82(s, p, o, m) BOOST_PP_FOR_82_C(BOOST_PP_BOOL(p(83, s)), s, p, o, m)
-# define BOOST_PP_FOR_83(s, p, o, m) BOOST_PP_FOR_83_C(BOOST_PP_BOOL(p(84, s)), s, p, o, m)
-# define BOOST_PP_FOR_84(s, p, o, m) BOOST_PP_FOR_84_C(BOOST_PP_BOOL(p(85, s)), s, p, o, m)
-# define BOOST_PP_FOR_85(s, p, o, m) BOOST_PP_FOR_85_C(BOOST_PP_BOOL(p(86, s)), s, p, o, m)
-# define BOOST_PP_FOR_86(s, p, o, m) BOOST_PP_FOR_86_C(BOOST_PP_BOOL(p(87, s)), s, p, o, m)
-# define BOOST_PP_FOR_87(s, p, o, m) BOOST_PP_FOR_87_C(BOOST_PP_BOOL(p(88, s)), s, p, o, m)
-# define BOOST_PP_FOR_88(s, p, o, m) BOOST_PP_FOR_88_C(BOOST_PP_BOOL(p(89, s)), s, p, o, m)
-# define BOOST_PP_FOR_89(s, p, o, m) BOOST_PP_FOR_89_C(BOOST_PP_BOOL(p(90, s)), s, p, o, m)
-# define BOOST_PP_FOR_90(s, p, o, m) BOOST_PP_FOR_90_C(BOOST_PP_BOOL(p(91, s)), s, p, o, m)
-# define BOOST_PP_FOR_91(s, p, o, m) BOOST_PP_FOR_91_C(BOOST_PP_BOOL(p(92, s)), s, p, o, m)
-# define BOOST_PP_FOR_92(s, p, o, m) BOOST_PP_FOR_92_C(BOOST_PP_BOOL(p(93, s)), s, p, o, m)
-# define BOOST_PP_FOR_93(s, p, o, m) BOOST_PP_FOR_93_C(BOOST_PP_BOOL(p(94, s)), s, p, o, m)
-# define BOOST_PP_FOR_94(s, p, o, m) BOOST_PP_FOR_94_C(BOOST_PP_BOOL(p(95, s)), s, p, o, m)
-# define BOOST_PP_FOR_95(s, p, o, m) BOOST_PP_FOR_95_C(BOOST_PP_BOOL(p(96, s)), s, p, o, m)
-# define BOOST_PP_FOR_96(s, p, o, m) BOOST_PP_FOR_96_C(BOOST_PP_BOOL(p(97, s)), s, p, o, m)
-# define BOOST_PP_FOR_97(s, p, o, m) BOOST_PP_FOR_97_C(BOOST_PP_BOOL(p(98, s)), s, p, o, m)
-# define BOOST_PP_FOR_98(s, p, o, m) BOOST_PP_FOR_98_C(BOOST_PP_BOOL(p(99, s)), s, p, o, m)
-# define BOOST_PP_FOR_99(s, p, o, m) BOOST_PP_FOR_99_C(BOOST_PP_BOOL(p(100, s)), s, p, o, m)
-# define BOOST_PP_FOR_100(s, p, o, m) BOOST_PP_FOR_100_C(BOOST_PP_BOOL(p(101, s)), s, p, o, m)
-# define BOOST_PP_FOR_101(s, p, o, m) BOOST_PP_FOR_101_C(BOOST_PP_BOOL(p(102, s)), s, p, o, m)
-# define BOOST_PP_FOR_102(s, p, o, m) BOOST_PP_FOR_102_C(BOOST_PP_BOOL(p(103, s)), s, p, o, m)
-# define BOOST_PP_FOR_103(s, p, o, m) BOOST_PP_FOR_103_C(BOOST_PP_BOOL(p(104, s)), s, p, o, m)
-# define BOOST_PP_FOR_104(s, p, o, m) BOOST_PP_FOR_104_C(BOOST_PP_BOOL(p(105, s)), s, p, o, m)
-# define BOOST_PP_FOR_105(s, p, o, m) BOOST_PP_FOR_105_C(BOOST_PP_BOOL(p(106, s)), s, p, o, m)
-# define BOOST_PP_FOR_106(s, p, o, m) BOOST_PP_FOR_106_C(BOOST_PP_BOOL(p(107, s)), s, p, o, m)
-# define BOOST_PP_FOR_107(s, p, o, m) BOOST_PP_FOR_107_C(BOOST_PP_BOOL(p(108, s)), s, p, o, m)
-# define BOOST_PP_FOR_108(s, p, o, m) BOOST_PP_FOR_108_C(BOOST_PP_BOOL(p(109, s)), s, p, o, m)
-# define BOOST_PP_FOR_109(s, p, o, m) BOOST_PP_FOR_109_C(BOOST_PP_BOOL(p(110, s)), s, p, o, m)
-# define BOOST_PP_FOR_110(s, p, o, m) BOOST_PP_FOR_110_C(BOOST_PP_BOOL(p(111, s)), s, p, o, m)
-# define BOOST_PP_FOR_111(s, p, o, m) BOOST_PP_FOR_111_C(BOOST_PP_BOOL(p(112, s)), s, p, o, m)
-# define BOOST_PP_FOR_112(s, p, o, m) BOOST_PP_FOR_112_C(BOOST_PP_BOOL(p(113, s)), s, p, o, m)
-# define BOOST_PP_FOR_113(s, p, o, m) BOOST_PP_FOR_113_C(BOOST_PP_BOOL(p(114, s)), s, p, o, m)
-# define BOOST_PP_FOR_114(s, p, o, m) BOOST_PP_FOR_114_C(BOOST_PP_BOOL(p(115, s)), s, p, o, m)
-# define BOOST_PP_FOR_115(s, p, o, m) BOOST_PP_FOR_115_C(BOOST_PP_BOOL(p(116, s)), s, p, o, m)
-# define BOOST_PP_FOR_116(s, p, o, m) BOOST_PP_FOR_116_C(BOOST_PP_BOOL(p(117, s)), s, p, o, m)
-# define BOOST_PP_FOR_117(s, p, o, m) BOOST_PP_FOR_117_C(BOOST_PP_BOOL(p(118, s)), s, p, o, m)
-# define BOOST_PP_FOR_118(s, p, o, m) BOOST_PP_FOR_118_C(BOOST_PP_BOOL(p(119, s)), s, p, o, m)
-# define BOOST_PP_FOR_119(s, p, o, m) BOOST_PP_FOR_119_C(BOOST_PP_BOOL(p(120, s)), s, p, o, m)
-# define BOOST_PP_FOR_120(s, p, o, m) BOOST_PP_FOR_120_C(BOOST_PP_BOOL(p(121, s)), s, p, o, m)
-# define BOOST_PP_FOR_121(s, p, o, m) BOOST_PP_FOR_121_C(BOOST_PP_BOOL(p(122, s)), s, p, o, m)
-# define BOOST_PP_FOR_122(s, p, o, m) BOOST_PP_FOR_122_C(BOOST_PP_BOOL(p(123, s)), s, p, o, m)
-# define BOOST_PP_FOR_123(s, p, o, m) BOOST_PP_FOR_123_C(BOOST_PP_BOOL(p(124, s)), s, p, o, m)
-# define BOOST_PP_FOR_124(s, p, o, m) BOOST_PP_FOR_124_C(BOOST_PP_BOOL(p(125, s)), s, p, o, m)
-# define BOOST_PP_FOR_125(s, p, o, m) BOOST_PP_FOR_125_C(BOOST_PP_BOOL(p(126, s)), s, p, o, m)
-# define BOOST_PP_FOR_126(s, p, o, m) BOOST_PP_FOR_126_C(BOOST_PP_BOOL(p(127, s)), s, p, o, m)
-# define BOOST_PP_FOR_127(s, p, o, m) BOOST_PP_FOR_127_C(BOOST_PP_BOOL(p(128, s)), s, p, o, m)
-# define BOOST_PP_FOR_128(s, p, o, m) BOOST_PP_FOR_128_C(BOOST_PP_BOOL(p(129, s)), s, p, o, m)
-# define BOOST_PP_FOR_129(s, p, o, m) BOOST_PP_FOR_129_C(BOOST_PP_BOOL(p(130, s)), s, p, o, m)
-# define BOOST_PP_FOR_130(s, p, o, m) BOOST_PP_FOR_130_C(BOOST_PP_BOOL(p(131, s)), s, p, o, m)
-# define BOOST_PP_FOR_131(s, p, o, m) BOOST_PP_FOR_131_C(BOOST_PP_BOOL(p(132, s)), s, p, o, m)
-# define BOOST_PP_FOR_132(s, p, o, m) BOOST_PP_FOR_132_C(BOOST_PP_BOOL(p(133, s)), s, p, o, m)
-# define BOOST_PP_FOR_133(s, p, o, m) BOOST_PP_FOR_133_C(BOOST_PP_BOOL(p(134, s)), s, p, o, m)
-# define BOOST_PP_FOR_134(s, p, o, m) BOOST_PP_FOR_134_C(BOOST_PP_BOOL(p(135, s)), s, p, o, m)
-# define BOOST_PP_FOR_135(s, p, o, m) BOOST_PP_FOR_135_C(BOOST_PP_BOOL(p(136, s)), s, p, o, m)
-# define BOOST_PP_FOR_136(s, p, o, m) BOOST_PP_FOR_136_C(BOOST_PP_BOOL(p(137, s)), s, p, o, m)
-# define BOOST_PP_FOR_137(s, p, o, m) BOOST_PP_FOR_137_C(BOOST_PP_BOOL(p(138, s)), s, p, o, m)
-# define BOOST_PP_FOR_138(s, p, o, m) BOOST_PP_FOR_138_C(BOOST_PP_BOOL(p(139, s)), s, p, o, m)
-# define BOOST_PP_FOR_139(s, p, o, m) BOOST_PP_FOR_139_C(BOOST_PP_BOOL(p(140, s)), s, p, o, m)
-# define BOOST_PP_FOR_140(s, p, o, m) BOOST_PP_FOR_140_C(BOOST_PP_BOOL(p(141, s)), s, p, o, m)
-# define BOOST_PP_FOR_141(s, p, o, m) BOOST_PP_FOR_141_C(BOOST_PP_BOOL(p(142, s)), s, p, o, m)
-# define BOOST_PP_FOR_142(s, p, o, m) BOOST_PP_FOR_142_C(BOOST_PP_BOOL(p(143, s)), s, p, o, m)
-# define BOOST_PP_FOR_143(s, p, o, m) BOOST_PP_FOR_143_C(BOOST_PP_BOOL(p(144, s)), s, p, o, m)
-# define BOOST_PP_FOR_144(s, p, o, m) BOOST_PP_FOR_144_C(BOOST_PP_BOOL(p(145, s)), s, p, o, m)
-# define BOOST_PP_FOR_145(s, p, o, m) BOOST_PP_FOR_145_C(BOOST_PP_BOOL(p(146, s)), s, p, o, m)
-# define BOOST_PP_FOR_146(s, p, o, m) BOOST_PP_FOR_146_C(BOOST_PP_BOOL(p(147, s)), s, p, o, m)
-# define BOOST_PP_FOR_147(s, p, o, m) BOOST_PP_FOR_147_C(BOOST_PP_BOOL(p(148, s)), s, p, o, m)
-# define BOOST_PP_FOR_148(s, p, o, m) BOOST_PP_FOR_148_C(BOOST_PP_BOOL(p(149, s)), s, p, o, m)
-# define BOOST_PP_FOR_149(s, p, o, m) BOOST_PP_FOR_149_C(BOOST_PP_BOOL(p(150, s)), s, p, o, m)
-# define BOOST_PP_FOR_150(s, p, o, m) BOOST_PP_FOR_150_C(BOOST_PP_BOOL(p(151, s)), s, p, o, m)
-# define BOOST_PP_FOR_151(s, p, o, m) BOOST_PP_FOR_151_C(BOOST_PP_BOOL(p(152, s)), s, p, o, m)
-# define BOOST_PP_FOR_152(s, p, o, m) BOOST_PP_FOR_152_C(BOOST_PP_BOOL(p(153, s)), s, p, o, m)
-# define BOOST_PP_FOR_153(s, p, o, m) BOOST_PP_FOR_153_C(BOOST_PP_BOOL(p(154, s)), s, p, o, m)
-# define BOOST_PP_FOR_154(s, p, o, m) BOOST_PP_FOR_154_C(BOOST_PP_BOOL(p(155, s)), s, p, o, m)
-# define BOOST_PP_FOR_155(s, p, o, m) BOOST_PP_FOR_155_C(BOOST_PP_BOOL(p(156, s)), s, p, o, m)
-# define BOOST_PP_FOR_156(s, p, o, m) BOOST_PP_FOR_156_C(BOOST_PP_BOOL(p(157, s)), s, p, o, m)
-# define BOOST_PP_FOR_157(s, p, o, m) BOOST_PP_FOR_157_C(BOOST_PP_BOOL(p(158, s)), s, p, o, m)
-# define BOOST_PP_FOR_158(s, p, o, m) BOOST_PP_FOR_158_C(BOOST_PP_BOOL(p(159, s)), s, p, o, m)
-# define BOOST_PP_FOR_159(s, p, o, m) BOOST_PP_FOR_159_C(BOOST_PP_BOOL(p(160, s)), s, p, o, m)
-# define BOOST_PP_FOR_160(s, p, o, m) BOOST_PP_FOR_160_C(BOOST_PP_BOOL(p(161, s)), s, p, o, m)
-# define BOOST_PP_FOR_161(s, p, o, m) BOOST_PP_FOR_161_C(BOOST_PP_BOOL(p(162, s)), s, p, o, m)
-# define BOOST_PP_FOR_162(s, p, o, m) BOOST_PP_FOR_162_C(BOOST_PP_BOOL(p(163, s)), s, p, o, m)
-# define BOOST_PP_FOR_163(s, p, o, m) BOOST_PP_FOR_163_C(BOOST_PP_BOOL(p(164, s)), s, p, o, m)
-# define BOOST_PP_FOR_164(s, p, o, m) BOOST_PP_FOR_164_C(BOOST_PP_BOOL(p(165, s)), s, p, o, m)
-# define BOOST_PP_FOR_165(s, p, o, m) BOOST_PP_FOR_165_C(BOOST_PP_BOOL(p(166, s)), s, p, o, m)
-# define BOOST_PP_FOR_166(s, p, o, m) BOOST_PP_FOR_166_C(BOOST_PP_BOOL(p(167, s)), s, p, o, m)
-# define BOOST_PP_FOR_167(s, p, o, m) BOOST_PP_FOR_167_C(BOOST_PP_BOOL(p(168, s)), s, p, o, m)
-# define BOOST_PP_FOR_168(s, p, o, m) BOOST_PP_FOR_168_C(BOOST_PP_BOOL(p(169, s)), s, p, o, m)
-# define BOOST_PP_FOR_169(s, p, o, m) BOOST_PP_FOR_169_C(BOOST_PP_BOOL(p(170, s)), s, p, o, m)
-# define BOOST_PP_FOR_170(s, p, o, m) BOOST_PP_FOR_170_C(BOOST_PP_BOOL(p(171, s)), s, p, o, m)
-# define BOOST_PP_FOR_171(s, p, o, m) BOOST_PP_FOR_171_C(BOOST_PP_BOOL(p(172, s)), s, p, o, m)
-# define BOOST_PP_FOR_172(s, p, o, m) BOOST_PP_FOR_172_C(BOOST_PP_BOOL(p(173, s)), s, p, o, m)
-# define BOOST_PP_FOR_173(s, p, o, m) BOOST_PP_FOR_173_C(BOOST_PP_BOOL(p(174, s)), s, p, o, m)
-# define BOOST_PP_FOR_174(s, p, o, m) BOOST_PP_FOR_174_C(BOOST_PP_BOOL(p(175, s)), s, p, o, m)
-# define BOOST_PP_FOR_175(s, p, o, m) BOOST_PP_FOR_175_C(BOOST_PP_BOOL(p(176, s)), s, p, o, m)
-# define BOOST_PP_FOR_176(s, p, o, m) BOOST_PP_FOR_176_C(BOOST_PP_BOOL(p(177, s)), s, p, o, m)
-# define BOOST_PP_FOR_177(s, p, o, m) BOOST_PP_FOR_177_C(BOOST_PP_BOOL(p(178, s)), s, p, o, m)
-# define BOOST_PP_FOR_178(s, p, o, m) BOOST_PP_FOR_178_C(BOOST_PP_BOOL(p(179, s)), s, p, o, m)
-# define BOOST_PP_FOR_179(s, p, o, m) BOOST_PP_FOR_179_C(BOOST_PP_BOOL(p(180, s)), s, p, o, m)
-# define BOOST_PP_FOR_180(s, p, o, m) BOOST_PP_FOR_180_C(BOOST_PP_BOOL(p(181, s)), s, p, o, m)
-# define BOOST_PP_FOR_181(s, p, o, m) BOOST_PP_FOR_181_C(BOOST_PP_BOOL(p(182, s)), s, p, o, m)
-# define BOOST_PP_FOR_182(s, p, o, m) BOOST_PP_FOR_182_C(BOOST_PP_BOOL(p(183, s)), s, p, o, m)
-# define BOOST_PP_FOR_183(s, p, o, m) BOOST_PP_FOR_183_C(BOOST_PP_BOOL(p(184, s)), s, p, o, m)
-# define BOOST_PP_FOR_184(s, p, o, m) BOOST_PP_FOR_184_C(BOOST_PP_BOOL(p(185, s)), s, p, o, m)
-# define BOOST_PP_FOR_185(s, p, o, m) BOOST_PP_FOR_185_C(BOOST_PP_BOOL(p(186, s)), s, p, o, m)
-# define BOOST_PP_FOR_186(s, p, o, m) BOOST_PP_FOR_186_C(BOOST_PP_BOOL(p(187, s)), s, p, o, m)
-# define BOOST_PP_FOR_187(s, p, o, m) BOOST_PP_FOR_187_C(BOOST_PP_BOOL(p(188, s)), s, p, o, m)
-# define BOOST_PP_FOR_188(s, p, o, m) BOOST_PP_FOR_188_C(BOOST_PP_BOOL(p(189, s)), s, p, o, m)
-# define BOOST_PP_FOR_189(s, p, o, m) BOOST_PP_FOR_189_C(BOOST_PP_BOOL(p(190, s)), s, p, o, m)
-# define BOOST_PP_FOR_190(s, p, o, m) BOOST_PP_FOR_190_C(BOOST_PP_BOOL(p(191, s)), s, p, o, m)
-# define BOOST_PP_FOR_191(s, p, o, m) BOOST_PP_FOR_191_C(BOOST_PP_BOOL(p(192, s)), s, p, o, m)
-# define BOOST_PP_FOR_192(s, p, o, m) BOOST_PP_FOR_192_C(BOOST_PP_BOOL(p(193, s)), s, p, o, m)
-# define BOOST_PP_FOR_193(s, p, o, m) BOOST_PP_FOR_193_C(BOOST_PP_BOOL(p(194, s)), s, p, o, m)
-# define BOOST_PP_FOR_194(s, p, o, m) BOOST_PP_FOR_194_C(BOOST_PP_BOOL(p(195, s)), s, p, o, m)
-# define BOOST_PP_FOR_195(s, p, o, m) BOOST_PP_FOR_195_C(BOOST_PP_BOOL(p(196, s)), s, p, o, m)
-# define BOOST_PP_FOR_196(s, p, o, m) BOOST_PP_FOR_196_C(BOOST_PP_BOOL(p(197, s)), s, p, o, m)
-# define BOOST_PP_FOR_197(s, p, o, m) BOOST_PP_FOR_197_C(BOOST_PP_BOOL(p(198, s)), s, p, o, m)
-# define BOOST_PP_FOR_198(s, p, o, m) BOOST_PP_FOR_198_C(BOOST_PP_BOOL(p(199, s)), s, p, o, m)
-# define BOOST_PP_FOR_199(s, p, o, m) BOOST_PP_FOR_199_C(BOOST_PP_BOOL(p(200, s)), s, p, o, m)
-# define BOOST_PP_FOR_200(s, p, o, m) BOOST_PP_FOR_200_C(BOOST_PP_BOOL(p(201, s)), s, p, o, m)
-# define BOOST_PP_FOR_201(s, p, o, m) BOOST_PP_FOR_201_C(BOOST_PP_BOOL(p(202, s)), s, p, o, m)
-# define BOOST_PP_FOR_202(s, p, o, m) BOOST_PP_FOR_202_C(BOOST_PP_BOOL(p(203, s)), s, p, o, m)
-# define BOOST_PP_FOR_203(s, p, o, m) BOOST_PP_FOR_203_C(BOOST_PP_BOOL(p(204, s)), s, p, o, m)
-# define BOOST_PP_FOR_204(s, p, o, m) BOOST_PP_FOR_204_C(BOOST_PP_BOOL(p(205, s)), s, p, o, m)
-# define BOOST_PP_FOR_205(s, p, o, m) BOOST_PP_FOR_205_C(BOOST_PP_BOOL(p(206, s)), s, p, o, m)
-# define BOOST_PP_FOR_206(s, p, o, m) BOOST_PP_FOR_206_C(BOOST_PP_BOOL(p(207, s)), s, p, o, m)
-# define BOOST_PP_FOR_207(s, p, o, m) BOOST_PP_FOR_207_C(BOOST_PP_BOOL(p(208, s)), s, p, o, m)
-# define BOOST_PP_FOR_208(s, p, o, m) BOOST_PP_FOR_208_C(BOOST_PP_BOOL(p(209, s)), s, p, o, m)
-# define BOOST_PP_FOR_209(s, p, o, m) BOOST_PP_FOR_209_C(BOOST_PP_BOOL(p(210, s)), s, p, o, m)
-# define BOOST_PP_FOR_210(s, p, o, m) BOOST_PP_FOR_210_C(BOOST_PP_BOOL(p(211, s)), s, p, o, m)
-# define BOOST_PP_FOR_211(s, p, o, m) BOOST_PP_FOR_211_C(BOOST_PP_BOOL(p(212, s)), s, p, o, m)
-# define BOOST_PP_FOR_212(s, p, o, m) BOOST_PP_FOR_212_C(BOOST_PP_BOOL(p(213, s)), s, p, o, m)
-# define BOOST_PP_FOR_213(s, p, o, m) BOOST_PP_FOR_213_C(BOOST_PP_BOOL(p(214, s)), s, p, o, m)
-# define BOOST_PP_FOR_214(s, p, o, m) BOOST_PP_FOR_214_C(BOOST_PP_BOOL(p(215, s)), s, p, o, m)
-# define BOOST_PP_FOR_215(s, p, o, m) BOOST_PP_FOR_215_C(BOOST_PP_BOOL(p(216, s)), s, p, o, m)
-# define BOOST_PP_FOR_216(s, p, o, m) BOOST_PP_FOR_216_C(BOOST_PP_BOOL(p(217, s)), s, p, o, m)
-# define BOOST_PP_FOR_217(s, p, o, m) BOOST_PP_FOR_217_C(BOOST_PP_BOOL(p(218, s)), s, p, o, m)
-# define BOOST_PP_FOR_218(s, p, o, m) BOOST_PP_FOR_218_C(BOOST_PP_BOOL(p(219, s)), s, p, o, m)
-# define BOOST_PP_FOR_219(s, p, o, m) BOOST_PP_FOR_219_C(BOOST_PP_BOOL(p(220, s)), s, p, o, m)
-# define BOOST_PP_FOR_220(s, p, o, m) BOOST_PP_FOR_220_C(BOOST_PP_BOOL(p(221, s)), s, p, o, m)
-# define BOOST_PP_FOR_221(s, p, o, m) BOOST_PP_FOR_221_C(BOOST_PP_BOOL(p(222, s)), s, p, o, m)
-# define BOOST_PP_FOR_222(s, p, o, m) BOOST_PP_FOR_222_C(BOOST_PP_BOOL(p(223, s)), s, p, o, m)
-# define BOOST_PP_FOR_223(s, p, o, m) BOOST_PP_FOR_223_C(BOOST_PP_BOOL(p(224, s)), s, p, o, m)
-# define BOOST_PP_FOR_224(s, p, o, m) BOOST_PP_FOR_224_C(BOOST_PP_BOOL(p(225, s)), s, p, o, m)
-# define BOOST_PP_FOR_225(s, p, o, m) BOOST_PP_FOR_225_C(BOOST_PP_BOOL(p(226, s)), s, p, o, m)
-# define BOOST_PP_FOR_226(s, p, o, m) BOOST_PP_FOR_226_C(BOOST_PP_BOOL(p(227, s)), s, p, o, m)
-# define BOOST_PP_FOR_227(s, p, o, m) BOOST_PP_FOR_227_C(BOOST_PP_BOOL(p(228, s)), s, p, o, m)
-# define BOOST_PP_FOR_228(s, p, o, m) BOOST_PP_FOR_228_C(BOOST_PP_BOOL(p(229, s)), s, p, o, m)
-# define BOOST_PP_FOR_229(s, p, o, m) BOOST_PP_FOR_229_C(BOOST_PP_BOOL(p(230, s)), s, p, o, m)
-# define BOOST_PP_FOR_230(s, p, o, m) BOOST_PP_FOR_230_C(BOOST_PP_BOOL(p(231, s)), s, p, o, m)
-# define BOOST_PP_FOR_231(s, p, o, m) BOOST_PP_FOR_231_C(BOOST_PP_BOOL(p(232, s)), s, p, o, m)
-# define BOOST_PP_FOR_232(s, p, o, m) BOOST_PP_FOR_232_C(BOOST_PP_BOOL(p(233, s)), s, p, o, m)
-# define BOOST_PP_FOR_233(s, p, o, m) BOOST_PP_FOR_233_C(BOOST_PP_BOOL(p(234, s)), s, p, o, m)
-# define BOOST_PP_FOR_234(s, p, o, m) BOOST_PP_FOR_234_C(BOOST_PP_BOOL(p(235, s)), s, p, o, m)
-# define BOOST_PP_FOR_235(s, p, o, m) BOOST_PP_FOR_235_C(BOOST_PP_BOOL(p(236, s)), s, p, o, m)
-# define BOOST_PP_FOR_236(s, p, o, m) BOOST_PP_FOR_236_C(BOOST_PP_BOOL(p(237, s)), s, p, o, m)
-# define BOOST_PP_FOR_237(s, p, o, m) BOOST_PP_FOR_237_C(BOOST_PP_BOOL(p(238, s)), s, p, o, m)
-# define BOOST_PP_FOR_238(s, p, o, m) BOOST_PP_FOR_238_C(BOOST_PP_BOOL(p(239, s)), s, p, o, m)
-# define BOOST_PP_FOR_239(s, p, o, m) BOOST_PP_FOR_239_C(BOOST_PP_BOOL(p(240, s)), s, p, o, m)
-# define BOOST_PP_FOR_240(s, p, o, m) BOOST_PP_FOR_240_C(BOOST_PP_BOOL(p(241, s)), s, p, o, m)
-# define BOOST_PP_FOR_241(s, p, o, m) BOOST_PP_FOR_241_C(BOOST_PP_BOOL(p(242, s)), s, p, o, m)
-# define BOOST_PP_FOR_242(s, p, o, m) BOOST_PP_FOR_242_C(BOOST_PP_BOOL(p(243, s)), s, p, o, m)
-# define BOOST_PP_FOR_243(s, p, o, m) BOOST_PP_FOR_243_C(BOOST_PP_BOOL(p(244, s)), s, p, o, m)
-# define BOOST_PP_FOR_244(s, p, o, m) BOOST_PP_FOR_244_C(BOOST_PP_BOOL(p(245, s)), s, p, o, m)
-# define BOOST_PP_FOR_245(s, p, o, m) BOOST_PP_FOR_245_C(BOOST_PP_BOOL(p(246, s)), s, p, o, m)
-# define BOOST_PP_FOR_246(s, p, o, m) BOOST_PP_FOR_246_C(BOOST_PP_BOOL(p(247, s)), s, p, o, m)
-# define BOOST_PP_FOR_247(s, p, o, m) BOOST_PP_FOR_247_C(BOOST_PP_BOOL(p(248, s)), s, p, o, m)
-# define BOOST_PP_FOR_248(s, p, o, m) BOOST_PP_FOR_248_C(BOOST_PP_BOOL(p(249, s)), s, p, o, m)
-# define BOOST_PP_FOR_249(s, p, o, m) BOOST_PP_FOR_249_C(BOOST_PP_BOOL(p(250, s)), s, p, o, m)
-# define BOOST_PP_FOR_250(s, p, o, m) BOOST_PP_FOR_250_C(BOOST_PP_BOOL(p(251, s)), s, p, o, m)
-# define BOOST_PP_FOR_251(s, p, o, m) BOOST_PP_FOR_251_C(BOOST_PP_BOOL(p(252, s)), s, p, o, m)
-# define BOOST_PP_FOR_252(s, p, o, m) BOOST_PP_FOR_252_C(BOOST_PP_BOOL(p(253, s)), s, p, o, m)
-# define BOOST_PP_FOR_253(s, p, o, m) BOOST_PP_FOR_253_C(BOOST_PP_BOOL(p(254, s)), s, p, o, m)
-# define BOOST_PP_FOR_254(s, p, o, m) BOOST_PP_FOR_254_C(BOOST_PP_BOOL(p(255, s)), s, p, o, m)
-# define BOOST_PP_FOR_255(s, p, o, m) BOOST_PP_FOR_255_C(BOOST_PP_BOOL(p(256, s)), s, p, o, m)
-# define BOOST_PP_FOR_256(s, p, o, m) BOOST_PP_FOR_256_C(BOOST_PP_BOOL(p(257, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_1(s, p, o, m) NDNBOOST_PP_FOR_1_C(NDNBOOST_PP_BOOL(p(2, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_2(s, p, o, m) NDNBOOST_PP_FOR_2_C(NDNBOOST_PP_BOOL(p(3, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_3(s, p, o, m) NDNBOOST_PP_FOR_3_C(NDNBOOST_PP_BOOL(p(4, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_4(s, p, o, m) NDNBOOST_PP_FOR_4_C(NDNBOOST_PP_BOOL(p(5, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_5(s, p, o, m) NDNBOOST_PP_FOR_5_C(NDNBOOST_PP_BOOL(p(6, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_6(s, p, o, m) NDNBOOST_PP_FOR_6_C(NDNBOOST_PP_BOOL(p(7, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_7(s, p, o, m) NDNBOOST_PP_FOR_7_C(NDNBOOST_PP_BOOL(p(8, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_8(s, p, o, m) NDNBOOST_PP_FOR_8_C(NDNBOOST_PP_BOOL(p(9, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_9(s, p, o, m) NDNBOOST_PP_FOR_9_C(NDNBOOST_PP_BOOL(p(10, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_10(s, p, o, m) NDNBOOST_PP_FOR_10_C(NDNBOOST_PP_BOOL(p(11, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_11(s, p, o, m) NDNBOOST_PP_FOR_11_C(NDNBOOST_PP_BOOL(p(12, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_12(s, p, o, m) NDNBOOST_PP_FOR_12_C(NDNBOOST_PP_BOOL(p(13, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_13(s, p, o, m) NDNBOOST_PP_FOR_13_C(NDNBOOST_PP_BOOL(p(14, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_14(s, p, o, m) NDNBOOST_PP_FOR_14_C(NDNBOOST_PP_BOOL(p(15, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_15(s, p, o, m) NDNBOOST_PP_FOR_15_C(NDNBOOST_PP_BOOL(p(16, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_16(s, p, o, m) NDNBOOST_PP_FOR_16_C(NDNBOOST_PP_BOOL(p(17, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_17(s, p, o, m) NDNBOOST_PP_FOR_17_C(NDNBOOST_PP_BOOL(p(18, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_18(s, p, o, m) NDNBOOST_PP_FOR_18_C(NDNBOOST_PP_BOOL(p(19, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_19(s, p, o, m) NDNBOOST_PP_FOR_19_C(NDNBOOST_PP_BOOL(p(20, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_20(s, p, o, m) NDNBOOST_PP_FOR_20_C(NDNBOOST_PP_BOOL(p(21, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_21(s, p, o, m) NDNBOOST_PP_FOR_21_C(NDNBOOST_PP_BOOL(p(22, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_22(s, p, o, m) NDNBOOST_PP_FOR_22_C(NDNBOOST_PP_BOOL(p(23, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_23(s, p, o, m) NDNBOOST_PP_FOR_23_C(NDNBOOST_PP_BOOL(p(24, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_24(s, p, o, m) NDNBOOST_PP_FOR_24_C(NDNBOOST_PP_BOOL(p(25, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_25(s, p, o, m) NDNBOOST_PP_FOR_25_C(NDNBOOST_PP_BOOL(p(26, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_26(s, p, o, m) NDNBOOST_PP_FOR_26_C(NDNBOOST_PP_BOOL(p(27, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_27(s, p, o, m) NDNBOOST_PP_FOR_27_C(NDNBOOST_PP_BOOL(p(28, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_28(s, p, o, m) NDNBOOST_PP_FOR_28_C(NDNBOOST_PP_BOOL(p(29, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_29(s, p, o, m) NDNBOOST_PP_FOR_29_C(NDNBOOST_PP_BOOL(p(30, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_30(s, p, o, m) NDNBOOST_PP_FOR_30_C(NDNBOOST_PP_BOOL(p(31, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_31(s, p, o, m) NDNBOOST_PP_FOR_31_C(NDNBOOST_PP_BOOL(p(32, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_32(s, p, o, m) NDNBOOST_PP_FOR_32_C(NDNBOOST_PP_BOOL(p(33, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_33(s, p, o, m) NDNBOOST_PP_FOR_33_C(NDNBOOST_PP_BOOL(p(34, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_34(s, p, o, m) NDNBOOST_PP_FOR_34_C(NDNBOOST_PP_BOOL(p(35, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_35(s, p, o, m) NDNBOOST_PP_FOR_35_C(NDNBOOST_PP_BOOL(p(36, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_36(s, p, o, m) NDNBOOST_PP_FOR_36_C(NDNBOOST_PP_BOOL(p(37, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_37(s, p, o, m) NDNBOOST_PP_FOR_37_C(NDNBOOST_PP_BOOL(p(38, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_38(s, p, o, m) NDNBOOST_PP_FOR_38_C(NDNBOOST_PP_BOOL(p(39, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_39(s, p, o, m) NDNBOOST_PP_FOR_39_C(NDNBOOST_PP_BOOL(p(40, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_40(s, p, o, m) NDNBOOST_PP_FOR_40_C(NDNBOOST_PP_BOOL(p(41, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_41(s, p, o, m) NDNBOOST_PP_FOR_41_C(NDNBOOST_PP_BOOL(p(42, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_42(s, p, o, m) NDNBOOST_PP_FOR_42_C(NDNBOOST_PP_BOOL(p(43, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_43(s, p, o, m) NDNBOOST_PP_FOR_43_C(NDNBOOST_PP_BOOL(p(44, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_44(s, p, o, m) NDNBOOST_PP_FOR_44_C(NDNBOOST_PP_BOOL(p(45, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_45(s, p, o, m) NDNBOOST_PP_FOR_45_C(NDNBOOST_PP_BOOL(p(46, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_46(s, p, o, m) NDNBOOST_PP_FOR_46_C(NDNBOOST_PP_BOOL(p(47, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_47(s, p, o, m) NDNBOOST_PP_FOR_47_C(NDNBOOST_PP_BOOL(p(48, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_48(s, p, o, m) NDNBOOST_PP_FOR_48_C(NDNBOOST_PP_BOOL(p(49, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_49(s, p, o, m) NDNBOOST_PP_FOR_49_C(NDNBOOST_PP_BOOL(p(50, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_50(s, p, o, m) NDNBOOST_PP_FOR_50_C(NDNBOOST_PP_BOOL(p(51, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_51(s, p, o, m) NDNBOOST_PP_FOR_51_C(NDNBOOST_PP_BOOL(p(52, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_52(s, p, o, m) NDNBOOST_PP_FOR_52_C(NDNBOOST_PP_BOOL(p(53, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_53(s, p, o, m) NDNBOOST_PP_FOR_53_C(NDNBOOST_PP_BOOL(p(54, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_54(s, p, o, m) NDNBOOST_PP_FOR_54_C(NDNBOOST_PP_BOOL(p(55, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_55(s, p, o, m) NDNBOOST_PP_FOR_55_C(NDNBOOST_PP_BOOL(p(56, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_56(s, p, o, m) NDNBOOST_PP_FOR_56_C(NDNBOOST_PP_BOOL(p(57, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_57(s, p, o, m) NDNBOOST_PP_FOR_57_C(NDNBOOST_PP_BOOL(p(58, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_58(s, p, o, m) NDNBOOST_PP_FOR_58_C(NDNBOOST_PP_BOOL(p(59, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_59(s, p, o, m) NDNBOOST_PP_FOR_59_C(NDNBOOST_PP_BOOL(p(60, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_60(s, p, o, m) NDNBOOST_PP_FOR_60_C(NDNBOOST_PP_BOOL(p(61, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_61(s, p, o, m) NDNBOOST_PP_FOR_61_C(NDNBOOST_PP_BOOL(p(62, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_62(s, p, o, m) NDNBOOST_PP_FOR_62_C(NDNBOOST_PP_BOOL(p(63, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_63(s, p, o, m) NDNBOOST_PP_FOR_63_C(NDNBOOST_PP_BOOL(p(64, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_64(s, p, o, m) NDNBOOST_PP_FOR_64_C(NDNBOOST_PP_BOOL(p(65, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_65(s, p, o, m) NDNBOOST_PP_FOR_65_C(NDNBOOST_PP_BOOL(p(66, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_66(s, p, o, m) NDNBOOST_PP_FOR_66_C(NDNBOOST_PP_BOOL(p(67, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_67(s, p, o, m) NDNBOOST_PP_FOR_67_C(NDNBOOST_PP_BOOL(p(68, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_68(s, p, o, m) NDNBOOST_PP_FOR_68_C(NDNBOOST_PP_BOOL(p(69, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_69(s, p, o, m) NDNBOOST_PP_FOR_69_C(NDNBOOST_PP_BOOL(p(70, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_70(s, p, o, m) NDNBOOST_PP_FOR_70_C(NDNBOOST_PP_BOOL(p(71, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_71(s, p, o, m) NDNBOOST_PP_FOR_71_C(NDNBOOST_PP_BOOL(p(72, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_72(s, p, o, m) NDNBOOST_PP_FOR_72_C(NDNBOOST_PP_BOOL(p(73, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_73(s, p, o, m) NDNBOOST_PP_FOR_73_C(NDNBOOST_PP_BOOL(p(74, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_74(s, p, o, m) NDNBOOST_PP_FOR_74_C(NDNBOOST_PP_BOOL(p(75, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_75(s, p, o, m) NDNBOOST_PP_FOR_75_C(NDNBOOST_PP_BOOL(p(76, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_76(s, p, o, m) NDNBOOST_PP_FOR_76_C(NDNBOOST_PP_BOOL(p(77, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_77(s, p, o, m) NDNBOOST_PP_FOR_77_C(NDNBOOST_PP_BOOL(p(78, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_78(s, p, o, m) NDNBOOST_PP_FOR_78_C(NDNBOOST_PP_BOOL(p(79, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_79(s, p, o, m) NDNBOOST_PP_FOR_79_C(NDNBOOST_PP_BOOL(p(80, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_80(s, p, o, m) NDNBOOST_PP_FOR_80_C(NDNBOOST_PP_BOOL(p(81, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_81(s, p, o, m) NDNBOOST_PP_FOR_81_C(NDNBOOST_PP_BOOL(p(82, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_82(s, p, o, m) NDNBOOST_PP_FOR_82_C(NDNBOOST_PP_BOOL(p(83, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_83(s, p, o, m) NDNBOOST_PP_FOR_83_C(NDNBOOST_PP_BOOL(p(84, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_84(s, p, o, m) NDNBOOST_PP_FOR_84_C(NDNBOOST_PP_BOOL(p(85, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_85(s, p, o, m) NDNBOOST_PP_FOR_85_C(NDNBOOST_PP_BOOL(p(86, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_86(s, p, o, m) NDNBOOST_PP_FOR_86_C(NDNBOOST_PP_BOOL(p(87, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_87(s, p, o, m) NDNBOOST_PP_FOR_87_C(NDNBOOST_PP_BOOL(p(88, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_88(s, p, o, m) NDNBOOST_PP_FOR_88_C(NDNBOOST_PP_BOOL(p(89, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_89(s, p, o, m) NDNBOOST_PP_FOR_89_C(NDNBOOST_PP_BOOL(p(90, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_90(s, p, o, m) NDNBOOST_PP_FOR_90_C(NDNBOOST_PP_BOOL(p(91, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_91(s, p, o, m) NDNBOOST_PP_FOR_91_C(NDNBOOST_PP_BOOL(p(92, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_92(s, p, o, m) NDNBOOST_PP_FOR_92_C(NDNBOOST_PP_BOOL(p(93, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_93(s, p, o, m) NDNBOOST_PP_FOR_93_C(NDNBOOST_PP_BOOL(p(94, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_94(s, p, o, m) NDNBOOST_PP_FOR_94_C(NDNBOOST_PP_BOOL(p(95, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_95(s, p, o, m) NDNBOOST_PP_FOR_95_C(NDNBOOST_PP_BOOL(p(96, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_96(s, p, o, m) NDNBOOST_PP_FOR_96_C(NDNBOOST_PP_BOOL(p(97, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_97(s, p, o, m) NDNBOOST_PP_FOR_97_C(NDNBOOST_PP_BOOL(p(98, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_98(s, p, o, m) NDNBOOST_PP_FOR_98_C(NDNBOOST_PP_BOOL(p(99, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_99(s, p, o, m) NDNBOOST_PP_FOR_99_C(NDNBOOST_PP_BOOL(p(100, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_100(s, p, o, m) NDNBOOST_PP_FOR_100_C(NDNBOOST_PP_BOOL(p(101, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_101(s, p, o, m) NDNBOOST_PP_FOR_101_C(NDNBOOST_PP_BOOL(p(102, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_102(s, p, o, m) NDNBOOST_PP_FOR_102_C(NDNBOOST_PP_BOOL(p(103, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_103(s, p, o, m) NDNBOOST_PP_FOR_103_C(NDNBOOST_PP_BOOL(p(104, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_104(s, p, o, m) NDNBOOST_PP_FOR_104_C(NDNBOOST_PP_BOOL(p(105, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_105(s, p, o, m) NDNBOOST_PP_FOR_105_C(NDNBOOST_PP_BOOL(p(106, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_106(s, p, o, m) NDNBOOST_PP_FOR_106_C(NDNBOOST_PP_BOOL(p(107, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_107(s, p, o, m) NDNBOOST_PP_FOR_107_C(NDNBOOST_PP_BOOL(p(108, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_108(s, p, o, m) NDNBOOST_PP_FOR_108_C(NDNBOOST_PP_BOOL(p(109, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_109(s, p, o, m) NDNBOOST_PP_FOR_109_C(NDNBOOST_PP_BOOL(p(110, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_110(s, p, o, m) NDNBOOST_PP_FOR_110_C(NDNBOOST_PP_BOOL(p(111, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_111(s, p, o, m) NDNBOOST_PP_FOR_111_C(NDNBOOST_PP_BOOL(p(112, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_112(s, p, o, m) NDNBOOST_PP_FOR_112_C(NDNBOOST_PP_BOOL(p(113, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_113(s, p, o, m) NDNBOOST_PP_FOR_113_C(NDNBOOST_PP_BOOL(p(114, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_114(s, p, o, m) NDNBOOST_PP_FOR_114_C(NDNBOOST_PP_BOOL(p(115, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_115(s, p, o, m) NDNBOOST_PP_FOR_115_C(NDNBOOST_PP_BOOL(p(116, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_116(s, p, o, m) NDNBOOST_PP_FOR_116_C(NDNBOOST_PP_BOOL(p(117, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_117(s, p, o, m) NDNBOOST_PP_FOR_117_C(NDNBOOST_PP_BOOL(p(118, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_118(s, p, o, m) NDNBOOST_PP_FOR_118_C(NDNBOOST_PP_BOOL(p(119, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_119(s, p, o, m) NDNBOOST_PP_FOR_119_C(NDNBOOST_PP_BOOL(p(120, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_120(s, p, o, m) NDNBOOST_PP_FOR_120_C(NDNBOOST_PP_BOOL(p(121, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_121(s, p, o, m) NDNBOOST_PP_FOR_121_C(NDNBOOST_PP_BOOL(p(122, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_122(s, p, o, m) NDNBOOST_PP_FOR_122_C(NDNBOOST_PP_BOOL(p(123, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_123(s, p, o, m) NDNBOOST_PP_FOR_123_C(NDNBOOST_PP_BOOL(p(124, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_124(s, p, o, m) NDNBOOST_PP_FOR_124_C(NDNBOOST_PP_BOOL(p(125, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_125(s, p, o, m) NDNBOOST_PP_FOR_125_C(NDNBOOST_PP_BOOL(p(126, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_126(s, p, o, m) NDNBOOST_PP_FOR_126_C(NDNBOOST_PP_BOOL(p(127, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_127(s, p, o, m) NDNBOOST_PP_FOR_127_C(NDNBOOST_PP_BOOL(p(128, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_128(s, p, o, m) NDNBOOST_PP_FOR_128_C(NDNBOOST_PP_BOOL(p(129, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_129(s, p, o, m) NDNBOOST_PP_FOR_129_C(NDNBOOST_PP_BOOL(p(130, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_130(s, p, o, m) NDNBOOST_PP_FOR_130_C(NDNBOOST_PP_BOOL(p(131, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_131(s, p, o, m) NDNBOOST_PP_FOR_131_C(NDNBOOST_PP_BOOL(p(132, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_132(s, p, o, m) NDNBOOST_PP_FOR_132_C(NDNBOOST_PP_BOOL(p(133, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_133(s, p, o, m) NDNBOOST_PP_FOR_133_C(NDNBOOST_PP_BOOL(p(134, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_134(s, p, o, m) NDNBOOST_PP_FOR_134_C(NDNBOOST_PP_BOOL(p(135, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_135(s, p, o, m) NDNBOOST_PP_FOR_135_C(NDNBOOST_PP_BOOL(p(136, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_136(s, p, o, m) NDNBOOST_PP_FOR_136_C(NDNBOOST_PP_BOOL(p(137, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_137(s, p, o, m) NDNBOOST_PP_FOR_137_C(NDNBOOST_PP_BOOL(p(138, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_138(s, p, o, m) NDNBOOST_PP_FOR_138_C(NDNBOOST_PP_BOOL(p(139, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_139(s, p, o, m) NDNBOOST_PP_FOR_139_C(NDNBOOST_PP_BOOL(p(140, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_140(s, p, o, m) NDNBOOST_PP_FOR_140_C(NDNBOOST_PP_BOOL(p(141, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_141(s, p, o, m) NDNBOOST_PP_FOR_141_C(NDNBOOST_PP_BOOL(p(142, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_142(s, p, o, m) NDNBOOST_PP_FOR_142_C(NDNBOOST_PP_BOOL(p(143, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_143(s, p, o, m) NDNBOOST_PP_FOR_143_C(NDNBOOST_PP_BOOL(p(144, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_144(s, p, o, m) NDNBOOST_PP_FOR_144_C(NDNBOOST_PP_BOOL(p(145, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_145(s, p, o, m) NDNBOOST_PP_FOR_145_C(NDNBOOST_PP_BOOL(p(146, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_146(s, p, o, m) NDNBOOST_PP_FOR_146_C(NDNBOOST_PP_BOOL(p(147, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_147(s, p, o, m) NDNBOOST_PP_FOR_147_C(NDNBOOST_PP_BOOL(p(148, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_148(s, p, o, m) NDNBOOST_PP_FOR_148_C(NDNBOOST_PP_BOOL(p(149, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_149(s, p, o, m) NDNBOOST_PP_FOR_149_C(NDNBOOST_PP_BOOL(p(150, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_150(s, p, o, m) NDNBOOST_PP_FOR_150_C(NDNBOOST_PP_BOOL(p(151, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_151(s, p, o, m) NDNBOOST_PP_FOR_151_C(NDNBOOST_PP_BOOL(p(152, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_152(s, p, o, m) NDNBOOST_PP_FOR_152_C(NDNBOOST_PP_BOOL(p(153, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_153(s, p, o, m) NDNBOOST_PP_FOR_153_C(NDNBOOST_PP_BOOL(p(154, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_154(s, p, o, m) NDNBOOST_PP_FOR_154_C(NDNBOOST_PP_BOOL(p(155, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_155(s, p, o, m) NDNBOOST_PP_FOR_155_C(NDNBOOST_PP_BOOL(p(156, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_156(s, p, o, m) NDNBOOST_PP_FOR_156_C(NDNBOOST_PP_BOOL(p(157, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_157(s, p, o, m) NDNBOOST_PP_FOR_157_C(NDNBOOST_PP_BOOL(p(158, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_158(s, p, o, m) NDNBOOST_PP_FOR_158_C(NDNBOOST_PP_BOOL(p(159, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_159(s, p, o, m) NDNBOOST_PP_FOR_159_C(NDNBOOST_PP_BOOL(p(160, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_160(s, p, o, m) NDNBOOST_PP_FOR_160_C(NDNBOOST_PP_BOOL(p(161, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_161(s, p, o, m) NDNBOOST_PP_FOR_161_C(NDNBOOST_PP_BOOL(p(162, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_162(s, p, o, m) NDNBOOST_PP_FOR_162_C(NDNBOOST_PP_BOOL(p(163, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_163(s, p, o, m) NDNBOOST_PP_FOR_163_C(NDNBOOST_PP_BOOL(p(164, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_164(s, p, o, m) NDNBOOST_PP_FOR_164_C(NDNBOOST_PP_BOOL(p(165, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_165(s, p, o, m) NDNBOOST_PP_FOR_165_C(NDNBOOST_PP_BOOL(p(166, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_166(s, p, o, m) NDNBOOST_PP_FOR_166_C(NDNBOOST_PP_BOOL(p(167, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_167(s, p, o, m) NDNBOOST_PP_FOR_167_C(NDNBOOST_PP_BOOL(p(168, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_168(s, p, o, m) NDNBOOST_PP_FOR_168_C(NDNBOOST_PP_BOOL(p(169, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_169(s, p, o, m) NDNBOOST_PP_FOR_169_C(NDNBOOST_PP_BOOL(p(170, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_170(s, p, o, m) NDNBOOST_PP_FOR_170_C(NDNBOOST_PP_BOOL(p(171, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_171(s, p, o, m) NDNBOOST_PP_FOR_171_C(NDNBOOST_PP_BOOL(p(172, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_172(s, p, o, m) NDNBOOST_PP_FOR_172_C(NDNBOOST_PP_BOOL(p(173, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_173(s, p, o, m) NDNBOOST_PP_FOR_173_C(NDNBOOST_PP_BOOL(p(174, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_174(s, p, o, m) NDNBOOST_PP_FOR_174_C(NDNBOOST_PP_BOOL(p(175, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_175(s, p, o, m) NDNBOOST_PP_FOR_175_C(NDNBOOST_PP_BOOL(p(176, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_176(s, p, o, m) NDNBOOST_PP_FOR_176_C(NDNBOOST_PP_BOOL(p(177, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_177(s, p, o, m) NDNBOOST_PP_FOR_177_C(NDNBOOST_PP_BOOL(p(178, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_178(s, p, o, m) NDNBOOST_PP_FOR_178_C(NDNBOOST_PP_BOOL(p(179, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_179(s, p, o, m) NDNBOOST_PP_FOR_179_C(NDNBOOST_PP_BOOL(p(180, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_180(s, p, o, m) NDNBOOST_PP_FOR_180_C(NDNBOOST_PP_BOOL(p(181, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_181(s, p, o, m) NDNBOOST_PP_FOR_181_C(NDNBOOST_PP_BOOL(p(182, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_182(s, p, o, m) NDNBOOST_PP_FOR_182_C(NDNBOOST_PP_BOOL(p(183, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_183(s, p, o, m) NDNBOOST_PP_FOR_183_C(NDNBOOST_PP_BOOL(p(184, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_184(s, p, o, m) NDNBOOST_PP_FOR_184_C(NDNBOOST_PP_BOOL(p(185, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_185(s, p, o, m) NDNBOOST_PP_FOR_185_C(NDNBOOST_PP_BOOL(p(186, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_186(s, p, o, m) NDNBOOST_PP_FOR_186_C(NDNBOOST_PP_BOOL(p(187, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_187(s, p, o, m) NDNBOOST_PP_FOR_187_C(NDNBOOST_PP_BOOL(p(188, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_188(s, p, o, m) NDNBOOST_PP_FOR_188_C(NDNBOOST_PP_BOOL(p(189, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_189(s, p, o, m) NDNBOOST_PP_FOR_189_C(NDNBOOST_PP_BOOL(p(190, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_190(s, p, o, m) NDNBOOST_PP_FOR_190_C(NDNBOOST_PP_BOOL(p(191, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_191(s, p, o, m) NDNBOOST_PP_FOR_191_C(NDNBOOST_PP_BOOL(p(192, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_192(s, p, o, m) NDNBOOST_PP_FOR_192_C(NDNBOOST_PP_BOOL(p(193, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_193(s, p, o, m) NDNBOOST_PP_FOR_193_C(NDNBOOST_PP_BOOL(p(194, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_194(s, p, o, m) NDNBOOST_PP_FOR_194_C(NDNBOOST_PP_BOOL(p(195, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_195(s, p, o, m) NDNBOOST_PP_FOR_195_C(NDNBOOST_PP_BOOL(p(196, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_196(s, p, o, m) NDNBOOST_PP_FOR_196_C(NDNBOOST_PP_BOOL(p(197, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_197(s, p, o, m) NDNBOOST_PP_FOR_197_C(NDNBOOST_PP_BOOL(p(198, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_198(s, p, o, m) NDNBOOST_PP_FOR_198_C(NDNBOOST_PP_BOOL(p(199, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_199(s, p, o, m) NDNBOOST_PP_FOR_199_C(NDNBOOST_PP_BOOL(p(200, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_200(s, p, o, m) NDNBOOST_PP_FOR_200_C(NDNBOOST_PP_BOOL(p(201, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_201(s, p, o, m) NDNBOOST_PP_FOR_201_C(NDNBOOST_PP_BOOL(p(202, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_202(s, p, o, m) NDNBOOST_PP_FOR_202_C(NDNBOOST_PP_BOOL(p(203, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_203(s, p, o, m) NDNBOOST_PP_FOR_203_C(NDNBOOST_PP_BOOL(p(204, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_204(s, p, o, m) NDNBOOST_PP_FOR_204_C(NDNBOOST_PP_BOOL(p(205, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_205(s, p, o, m) NDNBOOST_PP_FOR_205_C(NDNBOOST_PP_BOOL(p(206, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_206(s, p, o, m) NDNBOOST_PP_FOR_206_C(NDNBOOST_PP_BOOL(p(207, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_207(s, p, o, m) NDNBOOST_PP_FOR_207_C(NDNBOOST_PP_BOOL(p(208, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_208(s, p, o, m) NDNBOOST_PP_FOR_208_C(NDNBOOST_PP_BOOL(p(209, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_209(s, p, o, m) NDNBOOST_PP_FOR_209_C(NDNBOOST_PP_BOOL(p(210, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_210(s, p, o, m) NDNBOOST_PP_FOR_210_C(NDNBOOST_PP_BOOL(p(211, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_211(s, p, o, m) NDNBOOST_PP_FOR_211_C(NDNBOOST_PP_BOOL(p(212, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_212(s, p, o, m) NDNBOOST_PP_FOR_212_C(NDNBOOST_PP_BOOL(p(213, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_213(s, p, o, m) NDNBOOST_PP_FOR_213_C(NDNBOOST_PP_BOOL(p(214, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_214(s, p, o, m) NDNBOOST_PP_FOR_214_C(NDNBOOST_PP_BOOL(p(215, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_215(s, p, o, m) NDNBOOST_PP_FOR_215_C(NDNBOOST_PP_BOOL(p(216, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_216(s, p, o, m) NDNBOOST_PP_FOR_216_C(NDNBOOST_PP_BOOL(p(217, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_217(s, p, o, m) NDNBOOST_PP_FOR_217_C(NDNBOOST_PP_BOOL(p(218, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_218(s, p, o, m) NDNBOOST_PP_FOR_218_C(NDNBOOST_PP_BOOL(p(219, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_219(s, p, o, m) NDNBOOST_PP_FOR_219_C(NDNBOOST_PP_BOOL(p(220, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_220(s, p, o, m) NDNBOOST_PP_FOR_220_C(NDNBOOST_PP_BOOL(p(221, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_221(s, p, o, m) NDNBOOST_PP_FOR_221_C(NDNBOOST_PP_BOOL(p(222, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_222(s, p, o, m) NDNBOOST_PP_FOR_222_C(NDNBOOST_PP_BOOL(p(223, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_223(s, p, o, m) NDNBOOST_PP_FOR_223_C(NDNBOOST_PP_BOOL(p(224, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_224(s, p, o, m) NDNBOOST_PP_FOR_224_C(NDNBOOST_PP_BOOL(p(225, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_225(s, p, o, m) NDNBOOST_PP_FOR_225_C(NDNBOOST_PP_BOOL(p(226, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_226(s, p, o, m) NDNBOOST_PP_FOR_226_C(NDNBOOST_PP_BOOL(p(227, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_227(s, p, o, m) NDNBOOST_PP_FOR_227_C(NDNBOOST_PP_BOOL(p(228, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_228(s, p, o, m) NDNBOOST_PP_FOR_228_C(NDNBOOST_PP_BOOL(p(229, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_229(s, p, o, m) NDNBOOST_PP_FOR_229_C(NDNBOOST_PP_BOOL(p(230, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_230(s, p, o, m) NDNBOOST_PP_FOR_230_C(NDNBOOST_PP_BOOL(p(231, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_231(s, p, o, m) NDNBOOST_PP_FOR_231_C(NDNBOOST_PP_BOOL(p(232, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_232(s, p, o, m) NDNBOOST_PP_FOR_232_C(NDNBOOST_PP_BOOL(p(233, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_233(s, p, o, m) NDNBOOST_PP_FOR_233_C(NDNBOOST_PP_BOOL(p(234, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_234(s, p, o, m) NDNBOOST_PP_FOR_234_C(NDNBOOST_PP_BOOL(p(235, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_235(s, p, o, m) NDNBOOST_PP_FOR_235_C(NDNBOOST_PP_BOOL(p(236, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_236(s, p, o, m) NDNBOOST_PP_FOR_236_C(NDNBOOST_PP_BOOL(p(237, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_237(s, p, o, m) NDNBOOST_PP_FOR_237_C(NDNBOOST_PP_BOOL(p(238, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_238(s, p, o, m) NDNBOOST_PP_FOR_238_C(NDNBOOST_PP_BOOL(p(239, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_239(s, p, o, m) NDNBOOST_PP_FOR_239_C(NDNBOOST_PP_BOOL(p(240, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_240(s, p, o, m) NDNBOOST_PP_FOR_240_C(NDNBOOST_PP_BOOL(p(241, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_241(s, p, o, m) NDNBOOST_PP_FOR_241_C(NDNBOOST_PP_BOOL(p(242, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_242(s, p, o, m) NDNBOOST_PP_FOR_242_C(NDNBOOST_PP_BOOL(p(243, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_243(s, p, o, m) NDNBOOST_PP_FOR_243_C(NDNBOOST_PP_BOOL(p(244, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_244(s, p, o, m) NDNBOOST_PP_FOR_244_C(NDNBOOST_PP_BOOL(p(245, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_245(s, p, o, m) NDNBOOST_PP_FOR_245_C(NDNBOOST_PP_BOOL(p(246, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_246(s, p, o, m) NDNBOOST_PP_FOR_246_C(NDNBOOST_PP_BOOL(p(247, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_247(s, p, o, m) NDNBOOST_PP_FOR_247_C(NDNBOOST_PP_BOOL(p(248, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_248(s, p, o, m) NDNBOOST_PP_FOR_248_C(NDNBOOST_PP_BOOL(p(249, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_249(s, p, o, m) NDNBOOST_PP_FOR_249_C(NDNBOOST_PP_BOOL(p(250, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_250(s, p, o, m) NDNBOOST_PP_FOR_250_C(NDNBOOST_PP_BOOL(p(251, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_251(s, p, o, m) NDNBOOST_PP_FOR_251_C(NDNBOOST_PP_BOOL(p(252, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_252(s, p, o, m) NDNBOOST_PP_FOR_252_C(NDNBOOST_PP_BOOL(p(253, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_253(s, p, o, m) NDNBOOST_PP_FOR_253_C(NDNBOOST_PP_BOOL(p(254, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_254(s, p, o, m) NDNBOOST_PP_FOR_254_C(NDNBOOST_PP_BOOL(p(255, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_255(s, p, o, m) NDNBOOST_PP_FOR_255_C(NDNBOOST_PP_BOOL(p(256, s)), s, p, o, m)
+# define NDNBOOST_PP_FOR_256(s, p, o, m) NDNBOOST_PP_FOR_256_C(NDNBOOST_PP_BOOL(p(257, s)), s, p, o, m)
 #
-# define BOOST_PP_FOR_1_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(2, s) BOOST_PP_IIF(c, BOOST_PP_FOR_2, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(2, s), p, o, m)
-# define BOOST_PP_FOR_2_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(3, s) BOOST_PP_IIF(c, BOOST_PP_FOR_3, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(3, s), p, o, m)
-# define BOOST_PP_FOR_3_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(4, s) BOOST_PP_IIF(c, BOOST_PP_FOR_4, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(4, s), p, o, m)
-# define BOOST_PP_FOR_4_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(5, s) BOOST_PP_IIF(c, BOOST_PP_FOR_5, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(5, s), p, o, m)
-# define BOOST_PP_FOR_5_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(6, s) BOOST_PP_IIF(c, BOOST_PP_FOR_6, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(6, s), p, o, m)
-# define BOOST_PP_FOR_6_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(7, s) BOOST_PP_IIF(c, BOOST_PP_FOR_7, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(7, s), p, o, m)
-# define BOOST_PP_FOR_7_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(8, s) BOOST_PP_IIF(c, BOOST_PP_FOR_8, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(8, s), p, o, m)
-# define BOOST_PP_FOR_8_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(9, s) BOOST_PP_IIF(c, BOOST_PP_FOR_9, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(9, s), p, o, m)
-# define BOOST_PP_FOR_9_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(10, s) BOOST_PP_IIF(c, BOOST_PP_FOR_10, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(10, s), p, o, m)
-# define BOOST_PP_FOR_10_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(11, s) BOOST_PP_IIF(c, BOOST_PP_FOR_11, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(11, s), p, o, m)
-# define BOOST_PP_FOR_11_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(12, s) BOOST_PP_IIF(c, BOOST_PP_FOR_12, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(12, s), p, o, m)
-# define BOOST_PP_FOR_12_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(13, s) BOOST_PP_IIF(c, BOOST_PP_FOR_13, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(13, s), p, o, m)
-# define BOOST_PP_FOR_13_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(14, s) BOOST_PP_IIF(c, BOOST_PP_FOR_14, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(14, s), p, o, m)
-# define BOOST_PP_FOR_14_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(15, s) BOOST_PP_IIF(c, BOOST_PP_FOR_15, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(15, s), p, o, m)
-# define BOOST_PP_FOR_15_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(16, s) BOOST_PP_IIF(c, BOOST_PP_FOR_16, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(16, s), p, o, m)
-# define BOOST_PP_FOR_16_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(17, s) BOOST_PP_IIF(c, BOOST_PP_FOR_17, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(17, s), p, o, m)
-# define BOOST_PP_FOR_17_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(18, s) BOOST_PP_IIF(c, BOOST_PP_FOR_18, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(18, s), p, o, m)
-# define BOOST_PP_FOR_18_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(19, s) BOOST_PP_IIF(c, BOOST_PP_FOR_19, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(19, s), p, o, m)
-# define BOOST_PP_FOR_19_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(20, s) BOOST_PP_IIF(c, BOOST_PP_FOR_20, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(20, s), p, o, m)
-# define BOOST_PP_FOR_20_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(21, s) BOOST_PP_IIF(c, BOOST_PP_FOR_21, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(21, s), p, o, m)
-# define BOOST_PP_FOR_21_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(22, s) BOOST_PP_IIF(c, BOOST_PP_FOR_22, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(22, s), p, o, m)
-# define BOOST_PP_FOR_22_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(23, s) BOOST_PP_IIF(c, BOOST_PP_FOR_23, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(23, s), p, o, m)
-# define BOOST_PP_FOR_23_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(24, s) BOOST_PP_IIF(c, BOOST_PP_FOR_24, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(24, s), p, o, m)
-# define BOOST_PP_FOR_24_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(25, s) BOOST_PP_IIF(c, BOOST_PP_FOR_25, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(25, s), p, o, m)
-# define BOOST_PP_FOR_25_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(26, s) BOOST_PP_IIF(c, BOOST_PP_FOR_26, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(26, s), p, o, m)
-# define BOOST_PP_FOR_26_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(27, s) BOOST_PP_IIF(c, BOOST_PP_FOR_27, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(27, s), p, o, m)
-# define BOOST_PP_FOR_27_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(28, s) BOOST_PP_IIF(c, BOOST_PP_FOR_28, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(28, s), p, o, m)
-# define BOOST_PP_FOR_28_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(29, s) BOOST_PP_IIF(c, BOOST_PP_FOR_29, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(29, s), p, o, m)
-# define BOOST_PP_FOR_29_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(30, s) BOOST_PP_IIF(c, BOOST_PP_FOR_30, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(30, s), p, o, m)
-# define BOOST_PP_FOR_30_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(31, s) BOOST_PP_IIF(c, BOOST_PP_FOR_31, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(31, s), p, o, m)
-# define BOOST_PP_FOR_31_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(32, s) BOOST_PP_IIF(c, BOOST_PP_FOR_32, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(32, s), p, o, m)
-# define BOOST_PP_FOR_32_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(33, s) BOOST_PP_IIF(c, BOOST_PP_FOR_33, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(33, s), p, o, m)
-# define BOOST_PP_FOR_33_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(34, s) BOOST_PP_IIF(c, BOOST_PP_FOR_34, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(34, s), p, o, m)
-# define BOOST_PP_FOR_34_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(35, s) BOOST_PP_IIF(c, BOOST_PP_FOR_35, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(35, s), p, o, m)
-# define BOOST_PP_FOR_35_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(36, s) BOOST_PP_IIF(c, BOOST_PP_FOR_36, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(36, s), p, o, m)
-# define BOOST_PP_FOR_36_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(37, s) BOOST_PP_IIF(c, BOOST_PP_FOR_37, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(37, s), p, o, m)
-# define BOOST_PP_FOR_37_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(38, s) BOOST_PP_IIF(c, BOOST_PP_FOR_38, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(38, s), p, o, m)
-# define BOOST_PP_FOR_38_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(39, s) BOOST_PP_IIF(c, BOOST_PP_FOR_39, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(39, s), p, o, m)
-# define BOOST_PP_FOR_39_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(40, s) BOOST_PP_IIF(c, BOOST_PP_FOR_40, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(40, s), p, o, m)
-# define BOOST_PP_FOR_40_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(41, s) BOOST_PP_IIF(c, BOOST_PP_FOR_41, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(41, s), p, o, m)
-# define BOOST_PP_FOR_41_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(42, s) BOOST_PP_IIF(c, BOOST_PP_FOR_42, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(42, s), p, o, m)
-# define BOOST_PP_FOR_42_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(43, s) BOOST_PP_IIF(c, BOOST_PP_FOR_43, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(43, s), p, o, m)
-# define BOOST_PP_FOR_43_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(44, s) BOOST_PP_IIF(c, BOOST_PP_FOR_44, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(44, s), p, o, m)
-# define BOOST_PP_FOR_44_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(45, s) BOOST_PP_IIF(c, BOOST_PP_FOR_45, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(45, s), p, o, m)
-# define BOOST_PP_FOR_45_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(46, s) BOOST_PP_IIF(c, BOOST_PP_FOR_46, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(46, s), p, o, m)
-# define BOOST_PP_FOR_46_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(47, s) BOOST_PP_IIF(c, BOOST_PP_FOR_47, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(47, s), p, o, m)
-# define BOOST_PP_FOR_47_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(48, s) BOOST_PP_IIF(c, BOOST_PP_FOR_48, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(48, s), p, o, m)
-# define BOOST_PP_FOR_48_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(49, s) BOOST_PP_IIF(c, BOOST_PP_FOR_49, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(49, s), p, o, m)
-# define BOOST_PP_FOR_49_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(50, s) BOOST_PP_IIF(c, BOOST_PP_FOR_50, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(50, s), p, o, m)
-# define BOOST_PP_FOR_50_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(51, s) BOOST_PP_IIF(c, BOOST_PP_FOR_51, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(51, s), p, o, m)
-# define BOOST_PP_FOR_51_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(52, s) BOOST_PP_IIF(c, BOOST_PP_FOR_52, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(52, s), p, o, m)
-# define BOOST_PP_FOR_52_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(53, s) BOOST_PP_IIF(c, BOOST_PP_FOR_53, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(53, s), p, o, m)
-# define BOOST_PP_FOR_53_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(54, s) BOOST_PP_IIF(c, BOOST_PP_FOR_54, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(54, s), p, o, m)
-# define BOOST_PP_FOR_54_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(55, s) BOOST_PP_IIF(c, BOOST_PP_FOR_55, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(55, s), p, o, m)
-# define BOOST_PP_FOR_55_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(56, s) BOOST_PP_IIF(c, BOOST_PP_FOR_56, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(56, s), p, o, m)
-# define BOOST_PP_FOR_56_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(57, s) BOOST_PP_IIF(c, BOOST_PP_FOR_57, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(57, s), p, o, m)
-# define BOOST_PP_FOR_57_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(58, s) BOOST_PP_IIF(c, BOOST_PP_FOR_58, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(58, s), p, o, m)
-# define BOOST_PP_FOR_58_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(59, s) BOOST_PP_IIF(c, BOOST_PP_FOR_59, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(59, s), p, o, m)
-# define BOOST_PP_FOR_59_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(60, s) BOOST_PP_IIF(c, BOOST_PP_FOR_60, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(60, s), p, o, m)
-# define BOOST_PP_FOR_60_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(61, s) BOOST_PP_IIF(c, BOOST_PP_FOR_61, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(61, s), p, o, m)
-# define BOOST_PP_FOR_61_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(62, s) BOOST_PP_IIF(c, BOOST_PP_FOR_62, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(62, s), p, o, m)
-# define BOOST_PP_FOR_62_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(63, s) BOOST_PP_IIF(c, BOOST_PP_FOR_63, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(63, s), p, o, m)
-# define BOOST_PP_FOR_63_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(64, s) BOOST_PP_IIF(c, BOOST_PP_FOR_64, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(64, s), p, o, m)
-# define BOOST_PP_FOR_64_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(65, s) BOOST_PP_IIF(c, BOOST_PP_FOR_65, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(65, s), p, o, m)
-# define BOOST_PP_FOR_65_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(66, s) BOOST_PP_IIF(c, BOOST_PP_FOR_66, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(66, s), p, o, m)
-# define BOOST_PP_FOR_66_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(67, s) BOOST_PP_IIF(c, BOOST_PP_FOR_67, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(67, s), p, o, m)
-# define BOOST_PP_FOR_67_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(68, s) BOOST_PP_IIF(c, BOOST_PP_FOR_68, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(68, s), p, o, m)
-# define BOOST_PP_FOR_68_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(69, s) BOOST_PP_IIF(c, BOOST_PP_FOR_69, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(69, s), p, o, m)
-# define BOOST_PP_FOR_69_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(70, s) BOOST_PP_IIF(c, BOOST_PP_FOR_70, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(70, s), p, o, m)
-# define BOOST_PP_FOR_70_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(71, s) BOOST_PP_IIF(c, BOOST_PP_FOR_71, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(71, s), p, o, m)
-# define BOOST_PP_FOR_71_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(72, s) BOOST_PP_IIF(c, BOOST_PP_FOR_72, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(72, s), p, o, m)
-# define BOOST_PP_FOR_72_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(73, s) BOOST_PP_IIF(c, BOOST_PP_FOR_73, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(73, s), p, o, m)
-# define BOOST_PP_FOR_73_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(74, s) BOOST_PP_IIF(c, BOOST_PP_FOR_74, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(74, s), p, o, m)
-# define BOOST_PP_FOR_74_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(75, s) BOOST_PP_IIF(c, BOOST_PP_FOR_75, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(75, s), p, o, m)
-# define BOOST_PP_FOR_75_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(76, s) BOOST_PP_IIF(c, BOOST_PP_FOR_76, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(76, s), p, o, m)
-# define BOOST_PP_FOR_76_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(77, s) BOOST_PP_IIF(c, BOOST_PP_FOR_77, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(77, s), p, o, m)
-# define BOOST_PP_FOR_77_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(78, s) BOOST_PP_IIF(c, BOOST_PP_FOR_78, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(78, s), p, o, m)
-# define BOOST_PP_FOR_78_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(79, s) BOOST_PP_IIF(c, BOOST_PP_FOR_79, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(79, s), p, o, m)
-# define BOOST_PP_FOR_79_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(80, s) BOOST_PP_IIF(c, BOOST_PP_FOR_80, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(80, s), p, o, m)
-# define BOOST_PP_FOR_80_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(81, s) BOOST_PP_IIF(c, BOOST_PP_FOR_81, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(81, s), p, o, m)
-# define BOOST_PP_FOR_81_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(82, s) BOOST_PP_IIF(c, BOOST_PP_FOR_82, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(82, s), p, o, m)
-# define BOOST_PP_FOR_82_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(83, s) BOOST_PP_IIF(c, BOOST_PP_FOR_83, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(83, s), p, o, m)
-# define BOOST_PP_FOR_83_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(84, s) BOOST_PP_IIF(c, BOOST_PP_FOR_84, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(84, s), p, o, m)
-# define BOOST_PP_FOR_84_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(85, s) BOOST_PP_IIF(c, BOOST_PP_FOR_85, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(85, s), p, o, m)
-# define BOOST_PP_FOR_85_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(86, s) BOOST_PP_IIF(c, BOOST_PP_FOR_86, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(86, s), p, o, m)
-# define BOOST_PP_FOR_86_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(87, s) BOOST_PP_IIF(c, BOOST_PP_FOR_87, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(87, s), p, o, m)
-# define BOOST_PP_FOR_87_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(88, s) BOOST_PP_IIF(c, BOOST_PP_FOR_88, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(88, s), p, o, m)
-# define BOOST_PP_FOR_88_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(89, s) BOOST_PP_IIF(c, BOOST_PP_FOR_89, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(89, s), p, o, m)
-# define BOOST_PP_FOR_89_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(90, s) BOOST_PP_IIF(c, BOOST_PP_FOR_90, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(90, s), p, o, m)
-# define BOOST_PP_FOR_90_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(91, s) BOOST_PP_IIF(c, BOOST_PP_FOR_91, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(91, s), p, o, m)
-# define BOOST_PP_FOR_91_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(92, s) BOOST_PP_IIF(c, BOOST_PP_FOR_92, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(92, s), p, o, m)
-# define BOOST_PP_FOR_92_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(93, s) BOOST_PP_IIF(c, BOOST_PP_FOR_93, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(93, s), p, o, m)
-# define BOOST_PP_FOR_93_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(94, s) BOOST_PP_IIF(c, BOOST_PP_FOR_94, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(94, s), p, o, m)
-# define BOOST_PP_FOR_94_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(95, s) BOOST_PP_IIF(c, BOOST_PP_FOR_95, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(95, s), p, o, m)
-# define BOOST_PP_FOR_95_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(96, s) BOOST_PP_IIF(c, BOOST_PP_FOR_96, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(96, s), p, o, m)
-# define BOOST_PP_FOR_96_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(97, s) BOOST_PP_IIF(c, BOOST_PP_FOR_97, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(97, s), p, o, m)
-# define BOOST_PP_FOR_97_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(98, s) BOOST_PP_IIF(c, BOOST_PP_FOR_98, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(98, s), p, o, m)
-# define BOOST_PP_FOR_98_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(99, s) BOOST_PP_IIF(c, BOOST_PP_FOR_99, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(99, s), p, o, m)
-# define BOOST_PP_FOR_99_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(100, s) BOOST_PP_IIF(c, BOOST_PP_FOR_100, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(100, s), p, o, m)
-# define BOOST_PP_FOR_100_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(101, s) BOOST_PP_IIF(c, BOOST_PP_FOR_101, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(101, s), p, o, m)
-# define BOOST_PP_FOR_101_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(102, s) BOOST_PP_IIF(c, BOOST_PP_FOR_102, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(102, s), p, o, m)
-# define BOOST_PP_FOR_102_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(103, s) BOOST_PP_IIF(c, BOOST_PP_FOR_103, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(103, s), p, o, m)
-# define BOOST_PP_FOR_103_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(104, s) BOOST_PP_IIF(c, BOOST_PP_FOR_104, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(104, s), p, o, m)
-# define BOOST_PP_FOR_104_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(105, s) BOOST_PP_IIF(c, BOOST_PP_FOR_105, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(105, s), p, o, m)
-# define BOOST_PP_FOR_105_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(106, s) BOOST_PP_IIF(c, BOOST_PP_FOR_106, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(106, s), p, o, m)
-# define BOOST_PP_FOR_106_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(107, s) BOOST_PP_IIF(c, BOOST_PP_FOR_107, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(107, s), p, o, m)
-# define BOOST_PP_FOR_107_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(108, s) BOOST_PP_IIF(c, BOOST_PP_FOR_108, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(108, s), p, o, m)
-# define BOOST_PP_FOR_108_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(109, s) BOOST_PP_IIF(c, BOOST_PP_FOR_109, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(109, s), p, o, m)
-# define BOOST_PP_FOR_109_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(110, s) BOOST_PP_IIF(c, BOOST_PP_FOR_110, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(110, s), p, o, m)
-# define BOOST_PP_FOR_110_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(111, s) BOOST_PP_IIF(c, BOOST_PP_FOR_111, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(111, s), p, o, m)
-# define BOOST_PP_FOR_111_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(112, s) BOOST_PP_IIF(c, BOOST_PP_FOR_112, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(112, s), p, o, m)
-# define BOOST_PP_FOR_112_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(113, s) BOOST_PP_IIF(c, BOOST_PP_FOR_113, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(113, s), p, o, m)
-# define BOOST_PP_FOR_113_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(114, s) BOOST_PP_IIF(c, BOOST_PP_FOR_114, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(114, s), p, o, m)
-# define BOOST_PP_FOR_114_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(115, s) BOOST_PP_IIF(c, BOOST_PP_FOR_115, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(115, s), p, o, m)
-# define BOOST_PP_FOR_115_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(116, s) BOOST_PP_IIF(c, BOOST_PP_FOR_116, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(116, s), p, o, m)
-# define BOOST_PP_FOR_116_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(117, s) BOOST_PP_IIF(c, BOOST_PP_FOR_117, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(117, s), p, o, m)
-# define BOOST_PP_FOR_117_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(118, s) BOOST_PP_IIF(c, BOOST_PP_FOR_118, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(118, s), p, o, m)
-# define BOOST_PP_FOR_118_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(119, s) BOOST_PP_IIF(c, BOOST_PP_FOR_119, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(119, s), p, o, m)
-# define BOOST_PP_FOR_119_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(120, s) BOOST_PP_IIF(c, BOOST_PP_FOR_120, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(120, s), p, o, m)
-# define BOOST_PP_FOR_120_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(121, s) BOOST_PP_IIF(c, BOOST_PP_FOR_121, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(121, s), p, o, m)
-# define BOOST_PP_FOR_121_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(122, s) BOOST_PP_IIF(c, BOOST_PP_FOR_122, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(122, s), p, o, m)
-# define BOOST_PP_FOR_122_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(123, s) BOOST_PP_IIF(c, BOOST_PP_FOR_123, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(123, s), p, o, m)
-# define BOOST_PP_FOR_123_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(124, s) BOOST_PP_IIF(c, BOOST_PP_FOR_124, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(124, s), p, o, m)
-# define BOOST_PP_FOR_124_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(125, s) BOOST_PP_IIF(c, BOOST_PP_FOR_125, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(125, s), p, o, m)
-# define BOOST_PP_FOR_125_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(126, s) BOOST_PP_IIF(c, BOOST_PP_FOR_126, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(126, s), p, o, m)
-# define BOOST_PP_FOR_126_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(127, s) BOOST_PP_IIF(c, BOOST_PP_FOR_127, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(127, s), p, o, m)
-# define BOOST_PP_FOR_127_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(128, s) BOOST_PP_IIF(c, BOOST_PP_FOR_128, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(128, s), p, o, m)
-# define BOOST_PP_FOR_128_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(129, s) BOOST_PP_IIF(c, BOOST_PP_FOR_129, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(129, s), p, o, m)
-# define BOOST_PP_FOR_129_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(130, s) BOOST_PP_IIF(c, BOOST_PP_FOR_130, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(130, s), p, o, m)
-# define BOOST_PP_FOR_130_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(131, s) BOOST_PP_IIF(c, BOOST_PP_FOR_131, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(131, s), p, o, m)
-# define BOOST_PP_FOR_131_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(132, s) BOOST_PP_IIF(c, BOOST_PP_FOR_132, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(132, s), p, o, m)
-# define BOOST_PP_FOR_132_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(133, s) BOOST_PP_IIF(c, BOOST_PP_FOR_133, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(133, s), p, o, m)
-# define BOOST_PP_FOR_133_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(134, s) BOOST_PP_IIF(c, BOOST_PP_FOR_134, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(134, s), p, o, m)
-# define BOOST_PP_FOR_134_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(135, s) BOOST_PP_IIF(c, BOOST_PP_FOR_135, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(135, s), p, o, m)
-# define BOOST_PP_FOR_135_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(136, s) BOOST_PP_IIF(c, BOOST_PP_FOR_136, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(136, s), p, o, m)
-# define BOOST_PP_FOR_136_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(137, s) BOOST_PP_IIF(c, BOOST_PP_FOR_137, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(137, s), p, o, m)
-# define BOOST_PP_FOR_137_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(138, s) BOOST_PP_IIF(c, BOOST_PP_FOR_138, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(138, s), p, o, m)
-# define BOOST_PP_FOR_138_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(139, s) BOOST_PP_IIF(c, BOOST_PP_FOR_139, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(139, s), p, o, m)
-# define BOOST_PP_FOR_139_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(140, s) BOOST_PP_IIF(c, BOOST_PP_FOR_140, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(140, s), p, o, m)
-# define BOOST_PP_FOR_140_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(141, s) BOOST_PP_IIF(c, BOOST_PP_FOR_141, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(141, s), p, o, m)
-# define BOOST_PP_FOR_141_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(142, s) BOOST_PP_IIF(c, BOOST_PP_FOR_142, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(142, s), p, o, m)
-# define BOOST_PP_FOR_142_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(143, s) BOOST_PP_IIF(c, BOOST_PP_FOR_143, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(143, s), p, o, m)
-# define BOOST_PP_FOR_143_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(144, s) BOOST_PP_IIF(c, BOOST_PP_FOR_144, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(144, s), p, o, m)
-# define BOOST_PP_FOR_144_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(145, s) BOOST_PP_IIF(c, BOOST_PP_FOR_145, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(145, s), p, o, m)
-# define BOOST_PP_FOR_145_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(146, s) BOOST_PP_IIF(c, BOOST_PP_FOR_146, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(146, s), p, o, m)
-# define BOOST_PP_FOR_146_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(147, s) BOOST_PP_IIF(c, BOOST_PP_FOR_147, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(147, s), p, o, m)
-# define BOOST_PP_FOR_147_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(148, s) BOOST_PP_IIF(c, BOOST_PP_FOR_148, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(148, s), p, o, m)
-# define BOOST_PP_FOR_148_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(149, s) BOOST_PP_IIF(c, BOOST_PP_FOR_149, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(149, s), p, o, m)
-# define BOOST_PP_FOR_149_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(150, s) BOOST_PP_IIF(c, BOOST_PP_FOR_150, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(150, s), p, o, m)
-# define BOOST_PP_FOR_150_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(151, s) BOOST_PP_IIF(c, BOOST_PP_FOR_151, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(151, s), p, o, m)
-# define BOOST_PP_FOR_151_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(152, s) BOOST_PP_IIF(c, BOOST_PP_FOR_152, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(152, s), p, o, m)
-# define BOOST_PP_FOR_152_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(153, s) BOOST_PP_IIF(c, BOOST_PP_FOR_153, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(153, s), p, o, m)
-# define BOOST_PP_FOR_153_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(154, s) BOOST_PP_IIF(c, BOOST_PP_FOR_154, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(154, s), p, o, m)
-# define BOOST_PP_FOR_154_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(155, s) BOOST_PP_IIF(c, BOOST_PP_FOR_155, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(155, s), p, o, m)
-# define BOOST_PP_FOR_155_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(156, s) BOOST_PP_IIF(c, BOOST_PP_FOR_156, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(156, s), p, o, m)
-# define BOOST_PP_FOR_156_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(157, s) BOOST_PP_IIF(c, BOOST_PP_FOR_157, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(157, s), p, o, m)
-# define BOOST_PP_FOR_157_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(158, s) BOOST_PP_IIF(c, BOOST_PP_FOR_158, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(158, s), p, o, m)
-# define BOOST_PP_FOR_158_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(159, s) BOOST_PP_IIF(c, BOOST_PP_FOR_159, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(159, s), p, o, m)
-# define BOOST_PP_FOR_159_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(160, s) BOOST_PP_IIF(c, BOOST_PP_FOR_160, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(160, s), p, o, m)
-# define BOOST_PP_FOR_160_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(161, s) BOOST_PP_IIF(c, BOOST_PP_FOR_161, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(161, s), p, o, m)
-# define BOOST_PP_FOR_161_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(162, s) BOOST_PP_IIF(c, BOOST_PP_FOR_162, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(162, s), p, o, m)
-# define BOOST_PP_FOR_162_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(163, s) BOOST_PP_IIF(c, BOOST_PP_FOR_163, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(163, s), p, o, m)
-# define BOOST_PP_FOR_163_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(164, s) BOOST_PP_IIF(c, BOOST_PP_FOR_164, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(164, s), p, o, m)
-# define BOOST_PP_FOR_164_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(165, s) BOOST_PP_IIF(c, BOOST_PP_FOR_165, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(165, s), p, o, m)
-# define BOOST_PP_FOR_165_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(166, s) BOOST_PP_IIF(c, BOOST_PP_FOR_166, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(166, s), p, o, m)
-# define BOOST_PP_FOR_166_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(167, s) BOOST_PP_IIF(c, BOOST_PP_FOR_167, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(167, s), p, o, m)
-# define BOOST_PP_FOR_167_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(168, s) BOOST_PP_IIF(c, BOOST_PP_FOR_168, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(168, s), p, o, m)
-# define BOOST_PP_FOR_168_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(169, s) BOOST_PP_IIF(c, BOOST_PP_FOR_169, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(169, s), p, o, m)
-# define BOOST_PP_FOR_169_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(170, s) BOOST_PP_IIF(c, BOOST_PP_FOR_170, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(170, s), p, o, m)
-# define BOOST_PP_FOR_170_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(171, s) BOOST_PP_IIF(c, BOOST_PP_FOR_171, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(171, s), p, o, m)
-# define BOOST_PP_FOR_171_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(172, s) BOOST_PP_IIF(c, BOOST_PP_FOR_172, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(172, s), p, o, m)
-# define BOOST_PP_FOR_172_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(173, s) BOOST_PP_IIF(c, BOOST_PP_FOR_173, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(173, s), p, o, m)
-# define BOOST_PP_FOR_173_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(174, s) BOOST_PP_IIF(c, BOOST_PP_FOR_174, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(174, s), p, o, m)
-# define BOOST_PP_FOR_174_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(175, s) BOOST_PP_IIF(c, BOOST_PP_FOR_175, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(175, s), p, o, m)
-# define BOOST_PP_FOR_175_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(176, s) BOOST_PP_IIF(c, BOOST_PP_FOR_176, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(176, s), p, o, m)
-# define BOOST_PP_FOR_176_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(177, s) BOOST_PP_IIF(c, BOOST_PP_FOR_177, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(177, s), p, o, m)
-# define BOOST_PP_FOR_177_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(178, s) BOOST_PP_IIF(c, BOOST_PP_FOR_178, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(178, s), p, o, m)
-# define BOOST_PP_FOR_178_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(179, s) BOOST_PP_IIF(c, BOOST_PP_FOR_179, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(179, s), p, o, m)
-# define BOOST_PP_FOR_179_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(180, s) BOOST_PP_IIF(c, BOOST_PP_FOR_180, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(180, s), p, o, m)
-# define BOOST_PP_FOR_180_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(181, s) BOOST_PP_IIF(c, BOOST_PP_FOR_181, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(181, s), p, o, m)
-# define BOOST_PP_FOR_181_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(182, s) BOOST_PP_IIF(c, BOOST_PP_FOR_182, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(182, s), p, o, m)
-# define BOOST_PP_FOR_182_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(183, s) BOOST_PP_IIF(c, BOOST_PP_FOR_183, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(183, s), p, o, m)
-# define BOOST_PP_FOR_183_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(184, s) BOOST_PP_IIF(c, BOOST_PP_FOR_184, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(184, s), p, o, m)
-# define BOOST_PP_FOR_184_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(185, s) BOOST_PP_IIF(c, BOOST_PP_FOR_185, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(185, s), p, o, m)
-# define BOOST_PP_FOR_185_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(186, s) BOOST_PP_IIF(c, BOOST_PP_FOR_186, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(186, s), p, o, m)
-# define BOOST_PP_FOR_186_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(187, s) BOOST_PP_IIF(c, BOOST_PP_FOR_187, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(187, s), p, o, m)
-# define BOOST_PP_FOR_187_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(188, s) BOOST_PP_IIF(c, BOOST_PP_FOR_188, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(188, s), p, o, m)
-# define BOOST_PP_FOR_188_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(189, s) BOOST_PP_IIF(c, BOOST_PP_FOR_189, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(189, s), p, o, m)
-# define BOOST_PP_FOR_189_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(190, s) BOOST_PP_IIF(c, BOOST_PP_FOR_190, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(190, s), p, o, m)
-# define BOOST_PP_FOR_190_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(191, s) BOOST_PP_IIF(c, BOOST_PP_FOR_191, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(191, s), p, o, m)
-# define BOOST_PP_FOR_191_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(192, s) BOOST_PP_IIF(c, BOOST_PP_FOR_192, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(192, s), p, o, m)
-# define BOOST_PP_FOR_192_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(193, s) BOOST_PP_IIF(c, BOOST_PP_FOR_193, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(193, s), p, o, m)
-# define BOOST_PP_FOR_193_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(194, s) BOOST_PP_IIF(c, BOOST_PP_FOR_194, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(194, s), p, o, m)
-# define BOOST_PP_FOR_194_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(195, s) BOOST_PP_IIF(c, BOOST_PP_FOR_195, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(195, s), p, o, m)
-# define BOOST_PP_FOR_195_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(196, s) BOOST_PP_IIF(c, BOOST_PP_FOR_196, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(196, s), p, o, m)
-# define BOOST_PP_FOR_196_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(197, s) BOOST_PP_IIF(c, BOOST_PP_FOR_197, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(197, s), p, o, m)
-# define BOOST_PP_FOR_197_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(198, s) BOOST_PP_IIF(c, BOOST_PP_FOR_198, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(198, s), p, o, m)
-# define BOOST_PP_FOR_198_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(199, s) BOOST_PP_IIF(c, BOOST_PP_FOR_199, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(199, s), p, o, m)
-# define BOOST_PP_FOR_199_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(200, s) BOOST_PP_IIF(c, BOOST_PP_FOR_200, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(200, s), p, o, m)
-# define BOOST_PP_FOR_200_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(201, s) BOOST_PP_IIF(c, BOOST_PP_FOR_201, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(201, s), p, o, m)
-# define BOOST_PP_FOR_201_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(202, s) BOOST_PP_IIF(c, BOOST_PP_FOR_202, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(202, s), p, o, m)
-# define BOOST_PP_FOR_202_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(203, s) BOOST_PP_IIF(c, BOOST_PP_FOR_203, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(203, s), p, o, m)
-# define BOOST_PP_FOR_203_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(204, s) BOOST_PP_IIF(c, BOOST_PP_FOR_204, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(204, s), p, o, m)
-# define BOOST_PP_FOR_204_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(205, s) BOOST_PP_IIF(c, BOOST_PP_FOR_205, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(205, s), p, o, m)
-# define BOOST_PP_FOR_205_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(206, s) BOOST_PP_IIF(c, BOOST_PP_FOR_206, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(206, s), p, o, m)
-# define BOOST_PP_FOR_206_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(207, s) BOOST_PP_IIF(c, BOOST_PP_FOR_207, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(207, s), p, o, m)
-# define BOOST_PP_FOR_207_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(208, s) BOOST_PP_IIF(c, BOOST_PP_FOR_208, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(208, s), p, o, m)
-# define BOOST_PP_FOR_208_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(209, s) BOOST_PP_IIF(c, BOOST_PP_FOR_209, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(209, s), p, o, m)
-# define BOOST_PP_FOR_209_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(210, s) BOOST_PP_IIF(c, BOOST_PP_FOR_210, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(210, s), p, o, m)
-# define BOOST_PP_FOR_210_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(211, s) BOOST_PP_IIF(c, BOOST_PP_FOR_211, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(211, s), p, o, m)
-# define BOOST_PP_FOR_211_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(212, s) BOOST_PP_IIF(c, BOOST_PP_FOR_212, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(212, s), p, o, m)
-# define BOOST_PP_FOR_212_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(213, s) BOOST_PP_IIF(c, BOOST_PP_FOR_213, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(213, s), p, o, m)
-# define BOOST_PP_FOR_213_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(214, s) BOOST_PP_IIF(c, BOOST_PP_FOR_214, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(214, s), p, o, m)
-# define BOOST_PP_FOR_214_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(215, s) BOOST_PP_IIF(c, BOOST_PP_FOR_215, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(215, s), p, o, m)
-# define BOOST_PP_FOR_215_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(216, s) BOOST_PP_IIF(c, BOOST_PP_FOR_216, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(216, s), p, o, m)
-# define BOOST_PP_FOR_216_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(217, s) BOOST_PP_IIF(c, BOOST_PP_FOR_217, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(217, s), p, o, m)
-# define BOOST_PP_FOR_217_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(218, s) BOOST_PP_IIF(c, BOOST_PP_FOR_218, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(218, s), p, o, m)
-# define BOOST_PP_FOR_218_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(219, s) BOOST_PP_IIF(c, BOOST_PP_FOR_219, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(219, s), p, o, m)
-# define BOOST_PP_FOR_219_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(220, s) BOOST_PP_IIF(c, BOOST_PP_FOR_220, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(220, s), p, o, m)
-# define BOOST_PP_FOR_220_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(221, s) BOOST_PP_IIF(c, BOOST_PP_FOR_221, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(221, s), p, o, m)
-# define BOOST_PP_FOR_221_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(222, s) BOOST_PP_IIF(c, BOOST_PP_FOR_222, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(222, s), p, o, m)
-# define BOOST_PP_FOR_222_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(223, s) BOOST_PP_IIF(c, BOOST_PP_FOR_223, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(223, s), p, o, m)
-# define BOOST_PP_FOR_223_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(224, s) BOOST_PP_IIF(c, BOOST_PP_FOR_224, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(224, s), p, o, m)
-# define BOOST_PP_FOR_224_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(225, s) BOOST_PP_IIF(c, BOOST_PP_FOR_225, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(225, s), p, o, m)
-# define BOOST_PP_FOR_225_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(226, s) BOOST_PP_IIF(c, BOOST_PP_FOR_226, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(226, s), p, o, m)
-# define BOOST_PP_FOR_226_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(227, s) BOOST_PP_IIF(c, BOOST_PP_FOR_227, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(227, s), p, o, m)
-# define BOOST_PP_FOR_227_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(228, s) BOOST_PP_IIF(c, BOOST_PP_FOR_228, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(228, s), p, o, m)
-# define BOOST_PP_FOR_228_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(229, s) BOOST_PP_IIF(c, BOOST_PP_FOR_229, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(229, s), p, o, m)
-# define BOOST_PP_FOR_229_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(230, s) BOOST_PP_IIF(c, BOOST_PP_FOR_230, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(230, s), p, o, m)
-# define BOOST_PP_FOR_230_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(231, s) BOOST_PP_IIF(c, BOOST_PP_FOR_231, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(231, s), p, o, m)
-# define BOOST_PP_FOR_231_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(232, s) BOOST_PP_IIF(c, BOOST_PP_FOR_232, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(232, s), p, o, m)
-# define BOOST_PP_FOR_232_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(233, s) BOOST_PP_IIF(c, BOOST_PP_FOR_233, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(233, s), p, o, m)
-# define BOOST_PP_FOR_233_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(234, s) BOOST_PP_IIF(c, BOOST_PP_FOR_234, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(234, s), p, o, m)
-# define BOOST_PP_FOR_234_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(235, s) BOOST_PP_IIF(c, BOOST_PP_FOR_235, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(235, s), p, o, m)
-# define BOOST_PP_FOR_235_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(236, s) BOOST_PP_IIF(c, BOOST_PP_FOR_236, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(236, s), p, o, m)
-# define BOOST_PP_FOR_236_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(237, s) BOOST_PP_IIF(c, BOOST_PP_FOR_237, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(237, s), p, o, m)
-# define BOOST_PP_FOR_237_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(238, s) BOOST_PP_IIF(c, BOOST_PP_FOR_238, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(238, s), p, o, m)
-# define BOOST_PP_FOR_238_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(239, s) BOOST_PP_IIF(c, BOOST_PP_FOR_239, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(239, s), p, o, m)
-# define BOOST_PP_FOR_239_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(240, s) BOOST_PP_IIF(c, BOOST_PP_FOR_240, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(240, s), p, o, m)
-# define BOOST_PP_FOR_240_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(241, s) BOOST_PP_IIF(c, BOOST_PP_FOR_241, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(241, s), p, o, m)
-# define BOOST_PP_FOR_241_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(242, s) BOOST_PP_IIF(c, BOOST_PP_FOR_242, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(242, s), p, o, m)
-# define BOOST_PP_FOR_242_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(243, s) BOOST_PP_IIF(c, BOOST_PP_FOR_243, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(243, s), p, o, m)
-# define BOOST_PP_FOR_243_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(244, s) BOOST_PP_IIF(c, BOOST_PP_FOR_244, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(244, s), p, o, m)
-# define BOOST_PP_FOR_244_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(245, s) BOOST_PP_IIF(c, BOOST_PP_FOR_245, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(245, s), p, o, m)
-# define BOOST_PP_FOR_245_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(246, s) BOOST_PP_IIF(c, BOOST_PP_FOR_246, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(246, s), p, o, m)
-# define BOOST_PP_FOR_246_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(247, s) BOOST_PP_IIF(c, BOOST_PP_FOR_247, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(247, s), p, o, m)
-# define BOOST_PP_FOR_247_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(248, s) BOOST_PP_IIF(c, BOOST_PP_FOR_248, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(248, s), p, o, m)
-# define BOOST_PP_FOR_248_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(249, s) BOOST_PP_IIF(c, BOOST_PP_FOR_249, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(249, s), p, o, m)
-# define BOOST_PP_FOR_249_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(250, s) BOOST_PP_IIF(c, BOOST_PP_FOR_250, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(250, s), p, o, m)
-# define BOOST_PP_FOR_250_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(251, s) BOOST_PP_IIF(c, BOOST_PP_FOR_251, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(251, s), p, o, m)
-# define BOOST_PP_FOR_251_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(252, s) BOOST_PP_IIF(c, BOOST_PP_FOR_252, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(252, s), p, o, m)
-# define BOOST_PP_FOR_252_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(253, s) BOOST_PP_IIF(c, BOOST_PP_FOR_253, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(253, s), p, o, m)
-# define BOOST_PP_FOR_253_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(254, s) BOOST_PP_IIF(c, BOOST_PP_FOR_254, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(254, s), p, o, m)
-# define BOOST_PP_FOR_254_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(255, s) BOOST_PP_IIF(c, BOOST_PP_FOR_255, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(255, s), p, o, m)
-# define BOOST_PP_FOR_255_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(256, s) BOOST_PP_IIF(c, BOOST_PP_FOR_256, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(256, s), p, o, m)
-# define BOOST_PP_FOR_256_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(257, s) BOOST_PP_IIF(c, BOOST_PP_FOR_257, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(257, s), p, o, m)
+# define NDNBOOST_PP_FOR_1_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(2, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_2, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(2, s), p, o, m)
+# define NDNBOOST_PP_FOR_2_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(3, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_3, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(3, s), p, o, m)
+# define NDNBOOST_PP_FOR_3_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(4, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_4, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(4, s), p, o, m)
+# define NDNBOOST_PP_FOR_4_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(5, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_5, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(5, s), p, o, m)
+# define NDNBOOST_PP_FOR_5_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(6, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_6, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(6, s), p, o, m)
+# define NDNBOOST_PP_FOR_6_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(7, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_7, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(7, s), p, o, m)
+# define NDNBOOST_PP_FOR_7_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(8, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_8, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(8, s), p, o, m)
+# define NDNBOOST_PP_FOR_8_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(9, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_9, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(9, s), p, o, m)
+# define NDNBOOST_PP_FOR_9_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(10, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_10, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(10, s), p, o, m)
+# define NDNBOOST_PP_FOR_10_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(11, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_11, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(11, s), p, o, m)
+# define NDNBOOST_PP_FOR_11_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(12, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_12, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(12, s), p, o, m)
+# define NDNBOOST_PP_FOR_12_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(13, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_13, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(13, s), p, o, m)
+# define NDNBOOST_PP_FOR_13_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(14, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_14, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(14, s), p, o, m)
+# define NDNBOOST_PP_FOR_14_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(15, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_15, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(15, s), p, o, m)
+# define NDNBOOST_PP_FOR_15_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(16, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_16, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(16, s), p, o, m)
+# define NDNBOOST_PP_FOR_16_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(17, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_17, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(17, s), p, o, m)
+# define NDNBOOST_PP_FOR_17_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(18, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_18, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(18, s), p, o, m)
+# define NDNBOOST_PP_FOR_18_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(19, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_19, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(19, s), p, o, m)
+# define NDNBOOST_PP_FOR_19_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(20, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_20, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(20, s), p, o, m)
+# define NDNBOOST_PP_FOR_20_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(21, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_21, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(21, s), p, o, m)
+# define NDNBOOST_PP_FOR_21_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(22, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_22, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(22, s), p, o, m)
+# define NDNBOOST_PP_FOR_22_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(23, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_23, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(23, s), p, o, m)
+# define NDNBOOST_PP_FOR_23_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(24, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_24, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(24, s), p, o, m)
+# define NDNBOOST_PP_FOR_24_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(25, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_25, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(25, s), p, o, m)
+# define NDNBOOST_PP_FOR_25_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(26, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_26, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(26, s), p, o, m)
+# define NDNBOOST_PP_FOR_26_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(27, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_27, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(27, s), p, o, m)
+# define NDNBOOST_PP_FOR_27_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(28, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_28, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(28, s), p, o, m)
+# define NDNBOOST_PP_FOR_28_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(29, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_29, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(29, s), p, o, m)
+# define NDNBOOST_PP_FOR_29_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(30, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_30, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(30, s), p, o, m)
+# define NDNBOOST_PP_FOR_30_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(31, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_31, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(31, s), p, o, m)
+# define NDNBOOST_PP_FOR_31_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(32, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_32, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(32, s), p, o, m)
+# define NDNBOOST_PP_FOR_32_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(33, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_33, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(33, s), p, o, m)
+# define NDNBOOST_PP_FOR_33_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(34, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_34, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(34, s), p, o, m)
+# define NDNBOOST_PP_FOR_34_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(35, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_35, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(35, s), p, o, m)
+# define NDNBOOST_PP_FOR_35_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(36, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_36, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(36, s), p, o, m)
+# define NDNBOOST_PP_FOR_36_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(37, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_37, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(37, s), p, o, m)
+# define NDNBOOST_PP_FOR_37_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(38, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_38, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(38, s), p, o, m)
+# define NDNBOOST_PP_FOR_38_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(39, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_39, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(39, s), p, o, m)
+# define NDNBOOST_PP_FOR_39_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(40, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_40, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(40, s), p, o, m)
+# define NDNBOOST_PP_FOR_40_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(41, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_41, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(41, s), p, o, m)
+# define NDNBOOST_PP_FOR_41_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(42, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_42, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(42, s), p, o, m)
+# define NDNBOOST_PP_FOR_42_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(43, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_43, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(43, s), p, o, m)
+# define NDNBOOST_PP_FOR_43_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(44, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_44, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(44, s), p, o, m)
+# define NDNBOOST_PP_FOR_44_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(45, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_45, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(45, s), p, o, m)
+# define NDNBOOST_PP_FOR_45_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(46, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_46, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(46, s), p, o, m)
+# define NDNBOOST_PP_FOR_46_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(47, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_47, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(47, s), p, o, m)
+# define NDNBOOST_PP_FOR_47_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(48, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_48, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(48, s), p, o, m)
+# define NDNBOOST_PP_FOR_48_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(49, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_49, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(49, s), p, o, m)
+# define NDNBOOST_PP_FOR_49_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(50, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_50, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(50, s), p, o, m)
+# define NDNBOOST_PP_FOR_50_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(51, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_51, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(51, s), p, o, m)
+# define NDNBOOST_PP_FOR_51_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(52, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_52, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(52, s), p, o, m)
+# define NDNBOOST_PP_FOR_52_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(53, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_53, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(53, s), p, o, m)
+# define NDNBOOST_PP_FOR_53_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(54, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_54, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(54, s), p, o, m)
+# define NDNBOOST_PP_FOR_54_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(55, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_55, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(55, s), p, o, m)
+# define NDNBOOST_PP_FOR_55_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(56, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_56, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(56, s), p, o, m)
+# define NDNBOOST_PP_FOR_56_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(57, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_57, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(57, s), p, o, m)
+# define NDNBOOST_PP_FOR_57_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(58, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_58, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(58, s), p, o, m)
+# define NDNBOOST_PP_FOR_58_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(59, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_59, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(59, s), p, o, m)
+# define NDNBOOST_PP_FOR_59_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(60, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_60, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(60, s), p, o, m)
+# define NDNBOOST_PP_FOR_60_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(61, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_61, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(61, s), p, o, m)
+# define NDNBOOST_PP_FOR_61_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(62, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_62, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(62, s), p, o, m)
+# define NDNBOOST_PP_FOR_62_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(63, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_63, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(63, s), p, o, m)
+# define NDNBOOST_PP_FOR_63_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(64, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_64, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(64, s), p, o, m)
+# define NDNBOOST_PP_FOR_64_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(65, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_65, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(65, s), p, o, m)
+# define NDNBOOST_PP_FOR_65_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(66, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_66, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(66, s), p, o, m)
+# define NDNBOOST_PP_FOR_66_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(67, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_67, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(67, s), p, o, m)
+# define NDNBOOST_PP_FOR_67_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(68, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_68, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(68, s), p, o, m)
+# define NDNBOOST_PP_FOR_68_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(69, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_69, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(69, s), p, o, m)
+# define NDNBOOST_PP_FOR_69_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(70, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_70, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(70, s), p, o, m)
+# define NDNBOOST_PP_FOR_70_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(71, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_71, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(71, s), p, o, m)
+# define NDNBOOST_PP_FOR_71_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(72, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_72, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(72, s), p, o, m)
+# define NDNBOOST_PP_FOR_72_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(73, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_73, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(73, s), p, o, m)
+# define NDNBOOST_PP_FOR_73_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(74, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_74, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(74, s), p, o, m)
+# define NDNBOOST_PP_FOR_74_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(75, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_75, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(75, s), p, o, m)
+# define NDNBOOST_PP_FOR_75_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(76, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_76, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(76, s), p, o, m)
+# define NDNBOOST_PP_FOR_76_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(77, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_77, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(77, s), p, o, m)
+# define NDNBOOST_PP_FOR_77_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(78, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_78, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(78, s), p, o, m)
+# define NDNBOOST_PP_FOR_78_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(79, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_79, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(79, s), p, o, m)
+# define NDNBOOST_PP_FOR_79_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(80, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_80, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(80, s), p, o, m)
+# define NDNBOOST_PP_FOR_80_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(81, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_81, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(81, s), p, o, m)
+# define NDNBOOST_PP_FOR_81_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(82, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_82, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(82, s), p, o, m)
+# define NDNBOOST_PP_FOR_82_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(83, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_83, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(83, s), p, o, m)
+# define NDNBOOST_PP_FOR_83_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(84, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_84, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(84, s), p, o, m)
+# define NDNBOOST_PP_FOR_84_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(85, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_85, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(85, s), p, o, m)
+# define NDNBOOST_PP_FOR_85_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(86, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_86, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(86, s), p, o, m)
+# define NDNBOOST_PP_FOR_86_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(87, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_87, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(87, s), p, o, m)
+# define NDNBOOST_PP_FOR_87_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(88, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_88, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(88, s), p, o, m)
+# define NDNBOOST_PP_FOR_88_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(89, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_89, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(89, s), p, o, m)
+# define NDNBOOST_PP_FOR_89_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(90, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_90, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(90, s), p, o, m)
+# define NDNBOOST_PP_FOR_90_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(91, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_91, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(91, s), p, o, m)
+# define NDNBOOST_PP_FOR_91_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(92, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_92, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(92, s), p, o, m)
+# define NDNBOOST_PP_FOR_92_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(93, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_93, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(93, s), p, o, m)
+# define NDNBOOST_PP_FOR_93_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(94, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_94, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(94, s), p, o, m)
+# define NDNBOOST_PP_FOR_94_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(95, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_95, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(95, s), p, o, m)
+# define NDNBOOST_PP_FOR_95_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(96, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_96, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(96, s), p, o, m)
+# define NDNBOOST_PP_FOR_96_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(97, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_97, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(97, s), p, o, m)
+# define NDNBOOST_PP_FOR_97_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(98, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_98, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(98, s), p, o, m)
+# define NDNBOOST_PP_FOR_98_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(99, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_99, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(99, s), p, o, m)
+# define NDNBOOST_PP_FOR_99_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(100, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_100, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(100, s), p, o, m)
+# define NDNBOOST_PP_FOR_100_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(101, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_101, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(101, s), p, o, m)
+# define NDNBOOST_PP_FOR_101_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(102, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_102, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(102, s), p, o, m)
+# define NDNBOOST_PP_FOR_102_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(103, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_103, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(103, s), p, o, m)
+# define NDNBOOST_PP_FOR_103_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(104, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_104, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(104, s), p, o, m)
+# define NDNBOOST_PP_FOR_104_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(105, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_105, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(105, s), p, o, m)
+# define NDNBOOST_PP_FOR_105_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(106, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_106, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(106, s), p, o, m)
+# define NDNBOOST_PP_FOR_106_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(107, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_107, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(107, s), p, o, m)
+# define NDNBOOST_PP_FOR_107_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(108, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_108, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(108, s), p, o, m)
+# define NDNBOOST_PP_FOR_108_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(109, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_109, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(109, s), p, o, m)
+# define NDNBOOST_PP_FOR_109_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(110, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_110, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(110, s), p, o, m)
+# define NDNBOOST_PP_FOR_110_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(111, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_111, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(111, s), p, o, m)
+# define NDNBOOST_PP_FOR_111_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(112, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_112, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(112, s), p, o, m)
+# define NDNBOOST_PP_FOR_112_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(113, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_113, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(113, s), p, o, m)
+# define NDNBOOST_PP_FOR_113_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(114, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_114, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(114, s), p, o, m)
+# define NDNBOOST_PP_FOR_114_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(115, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_115, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(115, s), p, o, m)
+# define NDNBOOST_PP_FOR_115_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(116, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_116, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(116, s), p, o, m)
+# define NDNBOOST_PP_FOR_116_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(117, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_117, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(117, s), p, o, m)
+# define NDNBOOST_PP_FOR_117_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(118, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_118, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(118, s), p, o, m)
+# define NDNBOOST_PP_FOR_118_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(119, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_119, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(119, s), p, o, m)
+# define NDNBOOST_PP_FOR_119_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(120, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_120, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(120, s), p, o, m)
+# define NDNBOOST_PP_FOR_120_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(121, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_121, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(121, s), p, o, m)
+# define NDNBOOST_PP_FOR_121_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(122, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_122, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(122, s), p, o, m)
+# define NDNBOOST_PP_FOR_122_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(123, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_123, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(123, s), p, o, m)
+# define NDNBOOST_PP_FOR_123_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(124, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_124, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(124, s), p, o, m)
+# define NDNBOOST_PP_FOR_124_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(125, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_125, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(125, s), p, o, m)
+# define NDNBOOST_PP_FOR_125_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(126, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_126, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(126, s), p, o, m)
+# define NDNBOOST_PP_FOR_126_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(127, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_127, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(127, s), p, o, m)
+# define NDNBOOST_PP_FOR_127_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(128, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_128, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(128, s), p, o, m)
+# define NDNBOOST_PP_FOR_128_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(129, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_129, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(129, s), p, o, m)
+# define NDNBOOST_PP_FOR_129_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(130, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_130, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(130, s), p, o, m)
+# define NDNBOOST_PP_FOR_130_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(131, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_131, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(131, s), p, o, m)
+# define NDNBOOST_PP_FOR_131_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(132, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_132, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(132, s), p, o, m)
+# define NDNBOOST_PP_FOR_132_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(133, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_133, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(133, s), p, o, m)
+# define NDNBOOST_PP_FOR_133_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(134, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_134, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(134, s), p, o, m)
+# define NDNBOOST_PP_FOR_134_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(135, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_135, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(135, s), p, o, m)
+# define NDNBOOST_PP_FOR_135_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(136, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_136, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(136, s), p, o, m)
+# define NDNBOOST_PP_FOR_136_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(137, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_137, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(137, s), p, o, m)
+# define NDNBOOST_PP_FOR_137_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(138, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_138, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(138, s), p, o, m)
+# define NDNBOOST_PP_FOR_138_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(139, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_139, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(139, s), p, o, m)
+# define NDNBOOST_PP_FOR_139_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(140, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_140, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(140, s), p, o, m)
+# define NDNBOOST_PP_FOR_140_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(141, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_141, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(141, s), p, o, m)
+# define NDNBOOST_PP_FOR_141_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(142, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_142, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(142, s), p, o, m)
+# define NDNBOOST_PP_FOR_142_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(143, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_143, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(143, s), p, o, m)
+# define NDNBOOST_PP_FOR_143_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(144, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_144, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(144, s), p, o, m)
+# define NDNBOOST_PP_FOR_144_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(145, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_145, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(145, s), p, o, m)
+# define NDNBOOST_PP_FOR_145_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(146, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_146, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(146, s), p, o, m)
+# define NDNBOOST_PP_FOR_146_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(147, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_147, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(147, s), p, o, m)
+# define NDNBOOST_PP_FOR_147_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(148, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_148, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(148, s), p, o, m)
+# define NDNBOOST_PP_FOR_148_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(149, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_149, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(149, s), p, o, m)
+# define NDNBOOST_PP_FOR_149_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(150, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_150, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(150, s), p, o, m)
+# define NDNBOOST_PP_FOR_150_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(151, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_151, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(151, s), p, o, m)
+# define NDNBOOST_PP_FOR_151_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(152, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_152, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(152, s), p, o, m)
+# define NDNBOOST_PP_FOR_152_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(153, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_153, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(153, s), p, o, m)
+# define NDNBOOST_PP_FOR_153_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(154, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_154, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(154, s), p, o, m)
+# define NDNBOOST_PP_FOR_154_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(155, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_155, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(155, s), p, o, m)
+# define NDNBOOST_PP_FOR_155_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(156, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_156, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(156, s), p, o, m)
+# define NDNBOOST_PP_FOR_156_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(157, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_157, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(157, s), p, o, m)
+# define NDNBOOST_PP_FOR_157_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(158, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_158, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(158, s), p, o, m)
+# define NDNBOOST_PP_FOR_158_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(159, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_159, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(159, s), p, o, m)
+# define NDNBOOST_PP_FOR_159_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(160, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_160, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(160, s), p, o, m)
+# define NDNBOOST_PP_FOR_160_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(161, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_161, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(161, s), p, o, m)
+# define NDNBOOST_PP_FOR_161_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(162, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_162, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(162, s), p, o, m)
+# define NDNBOOST_PP_FOR_162_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(163, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_163, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(163, s), p, o, m)
+# define NDNBOOST_PP_FOR_163_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(164, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_164, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(164, s), p, o, m)
+# define NDNBOOST_PP_FOR_164_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(165, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_165, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(165, s), p, o, m)
+# define NDNBOOST_PP_FOR_165_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(166, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_166, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(166, s), p, o, m)
+# define NDNBOOST_PP_FOR_166_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(167, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_167, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(167, s), p, o, m)
+# define NDNBOOST_PP_FOR_167_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(168, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_168, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(168, s), p, o, m)
+# define NDNBOOST_PP_FOR_168_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(169, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_169, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(169, s), p, o, m)
+# define NDNBOOST_PP_FOR_169_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(170, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_170, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(170, s), p, o, m)
+# define NDNBOOST_PP_FOR_170_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(171, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_171, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(171, s), p, o, m)
+# define NDNBOOST_PP_FOR_171_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(172, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_172, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(172, s), p, o, m)
+# define NDNBOOST_PP_FOR_172_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(173, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_173, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(173, s), p, o, m)
+# define NDNBOOST_PP_FOR_173_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(174, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_174, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(174, s), p, o, m)
+# define NDNBOOST_PP_FOR_174_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(175, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_175, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(175, s), p, o, m)
+# define NDNBOOST_PP_FOR_175_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(176, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_176, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(176, s), p, o, m)
+# define NDNBOOST_PP_FOR_176_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(177, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_177, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(177, s), p, o, m)
+# define NDNBOOST_PP_FOR_177_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(178, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_178, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(178, s), p, o, m)
+# define NDNBOOST_PP_FOR_178_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(179, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_179, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(179, s), p, o, m)
+# define NDNBOOST_PP_FOR_179_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(180, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_180, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(180, s), p, o, m)
+# define NDNBOOST_PP_FOR_180_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(181, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_181, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(181, s), p, o, m)
+# define NDNBOOST_PP_FOR_181_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(182, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_182, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(182, s), p, o, m)
+# define NDNBOOST_PP_FOR_182_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(183, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_183, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(183, s), p, o, m)
+# define NDNBOOST_PP_FOR_183_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(184, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_184, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(184, s), p, o, m)
+# define NDNBOOST_PP_FOR_184_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(185, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_185, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(185, s), p, o, m)
+# define NDNBOOST_PP_FOR_185_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(186, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_186, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(186, s), p, o, m)
+# define NDNBOOST_PP_FOR_186_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(187, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_187, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(187, s), p, o, m)
+# define NDNBOOST_PP_FOR_187_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(188, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_188, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(188, s), p, o, m)
+# define NDNBOOST_PP_FOR_188_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(189, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_189, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(189, s), p, o, m)
+# define NDNBOOST_PP_FOR_189_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(190, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_190, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(190, s), p, o, m)
+# define NDNBOOST_PP_FOR_190_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(191, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_191, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(191, s), p, o, m)
+# define NDNBOOST_PP_FOR_191_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(192, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_192, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(192, s), p, o, m)
+# define NDNBOOST_PP_FOR_192_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(193, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_193, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(193, s), p, o, m)
+# define NDNBOOST_PP_FOR_193_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(194, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_194, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(194, s), p, o, m)
+# define NDNBOOST_PP_FOR_194_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(195, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_195, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(195, s), p, o, m)
+# define NDNBOOST_PP_FOR_195_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(196, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_196, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(196, s), p, o, m)
+# define NDNBOOST_PP_FOR_196_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(197, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_197, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(197, s), p, o, m)
+# define NDNBOOST_PP_FOR_197_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(198, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_198, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(198, s), p, o, m)
+# define NDNBOOST_PP_FOR_198_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(199, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_199, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(199, s), p, o, m)
+# define NDNBOOST_PP_FOR_199_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(200, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_200, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(200, s), p, o, m)
+# define NDNBOOST_PP_FOR_200_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(201, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_201, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(201, s), p, o, m)
+# define NDNBOOST_PP_FOR_201_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(202, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_202, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(202, s), p, o, m)
+# define NDNBOOST_PP_FOR_202_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(203, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_203, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(203, s), p, o, m)
+# define NDNBOOST_PP_FOR_203_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(204, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_204, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(204, s), p, o, m)
+# define NDNBOOST_PP_FOR_204_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(205, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_205, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(205, s), p, o, m)
+# define NDNBOOST_PP_FOR_205_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(206, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_206, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(206, s), p, o, m)
+# define NDNBOOST_PP_FOR_206_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(207, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_207, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(207, s), p, o, m)
+# define NDNBOOST_PP_FOR_207_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(208, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_208, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(208, s), p, o, m)
+# define NDNBOOST_PP_FOR_208_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(209, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_209, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(209, s), p, o, m)
+# define NDNBOOST_PP_FOR_209_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(210, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_210, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(210, s), p, o, m)
+# define NDNBOOST_PP_FOR_210_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(211, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_211, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(211, s), p, o, m)
+# define NDNBOOST_PP_FOR_211_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(212, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_212, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(212, s), p, o, m)
+# define NDNBOOST_PP_FOR_212_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(213, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_213, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(213, s), p, o, m)
+# define NDNBOOST_PP_FOR_213_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(214, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_214, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(214, s), p, o, m)
+# define NDNBOOST_PP_FOR_214_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(215, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_215, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(215, s), p, o, m)
+# define NDNBOOST_PP_FOR_215_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(216, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_216, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(216, s), p, o, m)
+# define NDNBOOST_PP_FOR_216_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(217, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_217, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(217, s), p, o, m)
+# define NDNBOOST_PP_FOR_217_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(218, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_218, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(218, s), p, o, m)
+# define NDNBOOST_PP_FOR_218_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(219, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_219, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(219, s), p, o, m)
+# define NDNBOOST_PP_FOR_219_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(220, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_220, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(220, s), p, o, m)
+# define NDNBOOST_PP_FOR_220_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(221, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_221, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(221, s), p, o, m)
+# define NDNBOOST_PP_FOR_221_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(222, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_222, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(222, s), p, o, m)
+# define NDNBOOST_PP_FOR_222_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(223, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_223, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(223, s), p, o, m)
+# define NDNBOOST_PP_FOR_223_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(224, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_224, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(224, s), p, o, m)
+# define NDNBOOST_PP_FOR_224_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(225, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_225, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(225, s), p, o, m)
+# define NDNBOOST_PP_FOR_225_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(226, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_226, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(226, s), p, o, m)
+# define NDNBOOST_PP_FOR_226_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(227, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_227, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(227, s), p, o, m)
+# define NDNBOOST_PP_FOR_227_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(228, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_228, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(228, s), p, o, m)
+# define NDNBOOST_PP_FOR_228_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(229, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_229, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(229, s), p, o, m)
+# define NDNBOOST_PP_FOR_229_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(230, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_230, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(230, s), p, o, m)
+# define NDNBOOST_PP_FOR_230_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(231, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_231, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(231, s), p, o, m)
+# define NDNBOOST_PP_FOR_231_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(232, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_232, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(232, s), p, o, m)
+# define NDNBOOST_PP_FOR_232_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(233, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_233, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(233, s), p, o, m)
+# define NDNBOOST_PP_FOR_233_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(234, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_234, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(234, s), p, o, m)
+# define NDNBOOST_PP_FOR_234_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(235, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_235, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(235, s), p, o, m)
+# define NDNBOOST_PP_FOR_235_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(236, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_236, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(236, s), p, o, m)
+# define NDNBOOST_PP_FOR_236_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(237, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_237, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(237, s), p, o, m)
+# define NDNBOOST_PP_FOR_237_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(238, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_238, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(238, s), p, o, m)
+# define NDNBOOST_PP_FOR_238_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(239, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_239, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(239, s), p, o, m)
+# define NDNBOOST_PP_FOR_239_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(240, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_240, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(240, s), p, o, m)
+# define NDNBOOST_PP_FOR_240_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(241, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_241, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(241, s), p, o, m)
+# define NDNBOOST_PP_FOR_241_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(242, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_242, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(242, s), p, o, m)
+# define NDNBOOST_PP_FOR_242_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(243, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_243, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(243, s), p, o, m)
+# define NDNBOOST_PP_FOR_243_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(244, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_244, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(244, s), p, o, m)
+# define NDNBOOST_PP_FOR_244_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(245, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_245, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(245, s), p, o, m)
+# define NDNBOOST_PP_FOR_245_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(246, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_246, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(246, s), p, o, m)
+# define NDNBOOST_PP_FOR_246_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(247, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_247, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(247, s), p, o, m)
+# define NDNBOOST_PP_FOR_247_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(248, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_248, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(248, s), p, o, m)
+# define NDNBOOST_PP_FOR_248_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(249, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_249, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(249, s), p, o, m)
+# define NDNBOOST_PP_FOR_249_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(250, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_250, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(250, s), p, o, m)
+# define NDNBOOST_PP_FOR_250_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(251, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_251, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(251, s), p, o, m)
+# define NDNBOOST_PP_FOR_251_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(252, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_252, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(252, s), p, o, m)
+# define NDNBOOST_PP_FOR_252_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(253, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_253, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(253, s), p, o, m)
+# define NDNBOOST_PP_FOR_253_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(254, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_254, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(254, s), p, o, m)
+# define NDNBOOST_PP_FOR_254_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(255, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_255, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(255, s), p, o, m)
+# define NDNBOOST_PP_FOR_255_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(256, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_256, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(256, s), p, o, m)
+# define NDNBOOST_PP_FOR_256_C(c, s, p, o, m) NDNBOOST_PP_IIF(c, m, NDNBOOST_PP_TUPLE_EAT_2)(257, s) NDNBOOST_PP_IIF(c, NDNBOOST_PP_FOR_257, NDNBOOST_PP_TUPLE_EAT_4)(NDNBOOST_PP_EXPR_IIF(c, o)(257, s), p, o, m)
 #
 # endif
diff --git a/include/ndnboost/preprocessor/repetition/detail/msvc/for.hpp b/include/ndnboost/preprocessor/repetition/detail/msvc/for.hpp
index 1d09508..cdefb69 100644
--- a/include/ndnboost/preprocessor/repetition/detail/msvc/for.hpp
+++ b/include/ndnboost/preprocessor/repetition/detail/msvc/for.hpp
@@ -11,267 +11,267 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_REPETITION_DETAIL_MSVC_FOR_HPP
-# define BOOST_PREPROCESSOR_REPETITION_DETAIL_MSVC_FOR_HPP
+# ifndef NDNBOOST_PREPROCESSOR_REPETITION_DETAIL_MSVC_FOR_HPP
+# define NDNBOOST_PREPROCESSOR_REPETITION_DETAIL_MSVC_FOR_HPP
 #
 # include <ndnboost/preprocessor/control/if.hpp>
 # include <ndnboost/preprocessor/tuple/eat.hpp>
 #
-# define BOOST_PP_FOR_1(s, p, o, m) BOOST_PP_IF(p(2, s), m, BOOST_PP_TUPLE_EAT_2)(2, s) BOOST_PP_IF(p(2, s), BOOST_PP_FOR_2, BOOST_PP_TUPLE_EAT_4)(o(2, s), p, o, m)
-# define BOOST_PP_FOR_2(s, p, o, m) BOOST_PP_IF(p(3, s), m, BOOST_PP_TUPLE_EAT_2)(3, s) BOOST_PP_IF(p(3, s), BOOST_PP_FOR_3, BOOST_PP_TUPLE_EAT_4)(o(3, s), p, o, m)
-# define BOOST_PP_FOR_3(s, p, o, m) BOOST_PP_IF(p(4, s), m, BOOST_PP_TUPLE_EAT_2)(4, s) BOOST_PP_IF(p(4, s), BOOST_PP_FOR_4, BOOST_PP_TUPLE_EAT_4)(o(4, s), p, o, m)
-# define BOOST_PP_FOR_4(s, p, o, m) BOOST_PP_IF(p(5, s), m, BOOST_PP_TUPLE_EAT_2)(5, s) BOOST_PP_IF(p(5, s), BOOST_PP_FOR_5, BOOST_PP_TUPLE_EAT_4)(o(5, s), p, o, m)
-# define BOOST_PP_FOR_5(s, p, o, m) BOOST_PP_IF(p(6, s), m, BOOST_PP_TUPLE_EAT_2)(6, s) BOOST_PP_IF(p(6, s), BOOST_PP_FOR_6, BOOST_PP_TUPLE_EAT_4)(o(6, s), p, o, m)
-# define BOOST_PP_FOR_6(s, p, o, m) BOOST_PP_IF(p(7, s), m, BOOST_PP_TUPLE_EAT_2)(7, s) BOOST_PP_IF(p(7, s), BOOST_PP_FOR_7, BOOST_PP_TUPLE_EAT_4)(o(7, s), p, o, m)
-# define BOOST_PP_FOR_7(s, p, o, m) BOOST_PP_IF(p(8, s), m, BOOST_PP_TUPLE_EAT_2)(8, s) BOOST_PP_IF(p(8, s), BOOST_PP_FOR_8, BOOST_PP_TUPLE_EAT_4)(o(8, s), p, o, m)
-# define BOOST_PP_FOR_8(s, p, o, m) BOOST_PP_IF(p(9, s), m, BOOST_PP_TUPLE_EAT_2)(9, s) BOOST_PP_IF(p(9, s), BOOST_PP_FOR_9, BOOST_PP_TUPLE_EAT_4)(o(9, s), p, o, m)
-# define BOOST_PP_FOR_9(s, p, o, m) BOOST_PP_IF(p(10, s), m, BOOST_PP_TUPLE_EAT_2)(10, s) BOOST_PP_IF(p(10, s), BOOST_PP_FOR_10, BOOST_PP_TUPLE_EAT_4)(o(10, s), p, o, m)
-# define BOOST_PP_FOR_10(s, p, o, m) BOOST_PP_IF(p(11, s), m, BOOST_PP_TUPLE_EAT_2)(11, s) BOOST_PP_IF(p(11, s), BOOST_PP_FOR_11, BOOST_PP_TUPLE_EAT_4)(o(11, s), p, o, m)
-# define BOOST_PP_FOR_11(s, p, o, m) BOOST_PP_IF(p(12, s), m, BOOST_PP_TUPLE_EAT_2)(12, s) BOOST_PP_IF(p(12, s), BOOST_PP_FOR_12, BOOST_PP_TUPLE_EAT_4)(o(12, s), p, o, m)
-# define BOOST_PP_FOR_12(s, p, o, m) BOOST_PP_IF(p(13, s), m, BOOST_PP_TUPLE_EAT_2)(13, s) BOOST_PP_IF(p(13, s), BOOST_PP_FOR_13, BOOST_PP_TUPLE_EAT_4)(o(13, s), p, o, m)
-# define BOOST_PP_FOR_13(s, p, o, m) BOOST_PP_IF(p(14, s), m, BOOST_PP_TUPLE_EAT_2)(14, s) BOOST_PP_IF(p(14, s), BOOST_PP_FOR_14, BOOST_PP_TUPLE_EAT_4)(o(14, s), p, o, m)
-# define BOOST_PP_FOR_14(s, p, o, m) BOOST_PP_IF(p(15, s), m, BOOST_PP_TUPLE_EAT_2)(15, s) BOOST_PP_IF(p(15, s), BOOST_PP_FOR_15, BOOST_PP_TUPLE_EAT_4)(o(15, s), p, o, m)
-# define BOOST_PP_FOR_15(s, p, o, m) BOOST_PP_IF(p(16, s), m, BOOST_PP_TUPLE_EAT_2)(16, s) BOOST_PP_IF(p(16, s), BOOST_PP_FOR_16, BOOST_PP_TUPLE_EAT_4)(o(16, s), p, o, m)
-# define BOOST_PP_FOR_16(s, p, o, m) BOOST_PP_IF(p(17, s), m, BOOST_PP_TUPLE_EAT_2)(17, s) BOOST_PP_IF(p(17, s), BOOST_PP_FOR_17, BOOST_PP_TUPLE_EAT_4)(o(17, s), p, o, m)
-# define BOOST_PP_FOR_17(s, p, o, m) BOOST_PP_IF(p(18, s), m, BOOST_PP_TUPLE_EAT_2)(18, s) BOOST_PP_IF(p(18, s), BOOST_PP_FOR_18, BOOST_PP_TUPLE_EAT_4)(o(18, s), p, o, m)
-# define BOOST_PP_FOR_18(s, p, o, m) BOOST_PP_IF(p(19, s), m, BOOST_PP_TUPLE_EAT_2)(19, s) BOOST_PP_IF(p(19, s), BOOST_PP_FOR_19, BOOST_PP_TUPLE_EAT_4)(o(19, s), p, o, m)
-# define BOOST_PP_FOR_19(s, p, o, m) BOOST_PP_IF(p(20, s), m, BOOST_PP_TUPLE_EAT_2)(20, s) BOOST_PP_IF(p(20, s), BOOST_PP_FOR_20, BOOST_PP_TUPLE_EAT_4)(o(20, s), p, o, m)
-# define BOOST_PP_FOR_20(s, p, o, m) BOOST_PP_IF(p(21, s), m, BOOST_PP_TUPLE_EAT_2)(21, s) BOOST_PP_IF(p(21, s), BOOST_PP_FOR_21, BOOST_PP_TUPLE_EAT_4)(o(21, s), p, o, m)
-# define BOOST_PP_FOR_21(s, p, o, m) BOOST_PP_IF(p(22, s), m, BOOST_PP_TUPLE_EAT_2)(22, s) BOOST_PP_IF(p(22, s), BOOST_PP_FOR_22, BOOST_PP_TUPLE_EAT_4)(o(22, s), p, o, m)
-# define BOOST_PP_FOR_22(s, p, o, m) BOOST_PP_IF(p(23, s), m, BOOST_PP_TUPLE_EAT_2)(23, s) BOOST_PP_IF(p(23, s), BOOST_PP_FOR_23, BOOST_PP_TUPLE_EAT_4)(o(23, s), p, o, m)
-# define BOOST_PP_FOR_23(s, p, o, m) BOOST_PP_IF(p(24, s), m, BOOST_PP_TUPLE_EAT_2)(24, s) BOOST_PP_IF(p(24, s), BOOST_PP_FOR_24, BOOST_PP_TUPLE_EAT_4)(o(24, s), p, o, m)
-# define BOOST_PP_FOR_24(s, p, o, m) BOOST_PP_IF(p(25, s), m, BOOST_PP_TUPLE_EAT_2)(25, s) BOOST_PP_IF(p(25, s), BOOST_PP_FOR_25, BOOST_PP_TUPLE_EAT_4)(o(25, s), p, o, m)
-# define BOOST_PP_FOR_25(s, p, o, m) BOOST_PP_IF(p(26, s), m, BOOST_PP_TUPLE_EAT_2)(26, s) BOOST_PP_IF(p(26, s), BOOST_PP_FOR_26, BOOST_PP_TUPLE_EAT_4)(o(26, s), p, o, m)
-# define BOOST_PP_FOR_26(s, p, o, m) BOOST_PP_IF(p(27, s), m, BOOST_PP_TUPLE_EAT_2)(27, s) BOOST_PP_IF(p(27, s), BOOST_PP_FOR_27, BOOST_PP_TUPLE_EAT_4)(o(27, s), p, o, m)
-# define BOOST_PP_FOR_27(s, p, o, m) BOOST_PP_IF(p(28, s), m, BOOST_PP_TUPLE_EAT_2)(28, s) BOOST_PP_IF(p(28, s), BOOST_PP_FOR_28, BOOST_PP_TUPLE_EAT_4)(o(28, s), p, o, m)
-# define BOOST_PP_FOR_28(s, p, o, m) BOOST_PP_IF(p(29, s), m, BOOST_PP_TUPLE_EAT_2)(29, s) BOOST_PP_IF(p(29, s), BOOST_PP_FOR_29, BOOST_PP_TUPLE_EAT_4)(o(29, s), p, o, m)
-# define BOOST_PP_FOR_29(s, p, o, m) BOOST_PP_IF(p(30, s), m, BOOST_PP_TUPLE_EAT_2)(30, s) BOOST_PP_IF(p(30, s), BOOST_PP_FOR_30, BOOST_PP_TUPLE_EAT_4)(o(30, s), p, o, m)
-# define BOOST_PP_FOR_30(s, p, o, m) BOOST_PP_IF(p(31, s), m, BOOST_PP_TUPLE_EAT_2)(31, s) BOOST_PP_IF(p(31, s), BOOST_PP_FOR_31, BOOST_PP_TUPLE_EAT_4)(o(31, s), p, o, m)
-# define BOOST_PP_FOR_31(s, p, o, m) BOOST_PP_IF(p(32, s), m, BOOST_PP_TUPLE_EAT_2)(32, s) BOOST_PP_IF(p(32, s), BOOST_PP_FOR_32, BOOST_PP_TUPLE_EAT_4)(o(32, s), p, o, m)
-# define BOOST_PP_FOR_32(s, p, o, m) BOOST_PP_IF(p(33, s), m, BOOST_PP_TUPLE_EAT_2)(33, s) BOOST_PP_IF(p(33, s), BOOST_PP_FOR_33, BOOST_PP_TUPLE_EAT_4)(o(33, s), p, o, m)
-# define BOOST_PP_FOR_33(s, p, o, m) BOOST_PP_IF(p(34, s), m, BOOST_PP_TUPLE_EAT_2)(34, s) BOOST_PP_IF(p(34, s), BOOST_PP_FOR_34, BOOST_PP_TUPLE_EAT_4)(o(34, s), p, o, m)
-# define BOOST_PP_FOR_34(s, p, o, m) BOOST_PP_IF(p(35, s), m, BOOST_PP_TUPLE_EAT_2)(35, s) BOOST_PP_IF(p(35, s), BOOST_PP_FOR_35, BOOST_PP_TUPLE_EAT_4)(o(35, s), p, o, m)
-# define BOOST_PP_FOR_35(s, p, o, m) BOOST_PP_IF(p(36, s), m, BOOST_PP_TUPLE_EAT_2)(36, s) BOOST_PP_IF(p(36, s), BOOST_PP_FOR_36, BOOST_PP_TUPLE_EAT_4)(o(36, s), p, o, m)
-# define BOOST_PP_FOR_36(s, p, o, m) BOOST_PP_IF(p(37, s), m, BOOST_PP_TUPLE_EAT_2)(37, s) BOOST_PP_IF(p(37, s), BOOST_PP_FOR_37, BOOST_PP_TUPLE_EAT_4)(o(37, s), p, o, m)
-# define BOOST_PP_FOR_37(s, p, o, m) BOOST_PP_IF(p(38, s), m, BOOST_PP_TUPLE_EAT_2)(38, s) BOOST_PP_IF(p(38, s), BOOST_PP_FOR_38, BOOST_PP_TUPLE_EAT_4)(o(38, s), p, o, m)
-# define BOOST_PP_FOR_38(s, p, o, m) BOOST_PP_IF(p(39, s), m, BOOST_PP_TUPLE_EAT_2)(39, s) BOOST_PP_IF(p(39, s), BOOST_PP_FOR_39, BOOST_PP_TUPLE_EAT_4)(o(39, s), p, o, m)
-# define BOOST_PP_FOR_39(s, p, o, m) BOOST_PP_IF(p(40, s), m, BOOST_PP_TUPLE_EAT_2)(40, s) BOOST_PP_IF(p(40, s), BOOST_PP_FOR_40, BOOST_PP_TUPLE_EAT_4)(o(40, s), p, o, m)
-# define BOOST_PP_FOR_40(s, p, o, m) BOOST_PP_IF(p(41, s), m, BOOST_PP_TUPLE_EAT_2)(41, s) BOOST_PP_IF(p(41, s), BOOST_PP_FOR_41, BOOST_PP_TUPLE_EAT_4)(o(41, s), p, o, m)
-# define BOOST_PP_FOR_41(s, p, o, m) BOOST_PP_IF(p(42, s), m, BOOST_PP_TUPLE_EAT_2)(42, s) BOOST_PP_IF(p(42, s), BOOST_PP_FOR_42, BOOST_PP_TUPLE_EAT_4)(o(42, s), p, o, m)
-# define BOOST_PP_FOR_42(s, p, o, m) BOOST_PP_IF(p(43, s), m, BOOST_PP_TUPLE_EAT_2)(43, s) BOOST_PP_IF(p(43, s), BOOST_PP_FOR_43, BOOST_PP_TUPLE_EAT_4)(o(43, s), p, o, m)
-# define BOOST_PP_FOR_43(s, p, o, m) BOOST_PP_IF(p(44, s), m, BOOST_PP_TUPLE_EAT_2)(44, s) BOOST_PP_IF(p(44, s), BOOST_PP_FOR_44, BOOST_PP_TUPLE_EAT_4)(o(44, s), p, o, m)
-# define BOOST_PP_FOR_44(s, p, o, m) BOOST_PP_IF(p(45, s), m, BOOST_PP_TUPLE_EAT_2)(45, s) BOOST_PP_IF(p(45, s), BOOST_PP_FOR_45, BOOST_PP_TUPLE_EAT_4)(o(45, s), p, o, m)
-# define BOOST_PP_FOR_45(s, p, o, m) BOOST_PP_IF(p(46, s), m, BOOST_PP_TUPLE_EAT_2)(46, s) BOOST_PP_IF(p(46, s), BOOST_PP_FOR_46, BOOST_PP_TUPLE_EAT_4)(o(46, s), p, o, m)
-# define BOOST_PP_FOR_46(s, p, o, m) BOOST_PP_IF(p(47, s), m, BOOST_PP_TUPLE_EAT_2)(47, s) BOOST_PP_IF(p(47, s), BOOST_PP_FOR_47, BOOST_PP_TUPLE_EAT_4)(o(47, s), p, o, m)
-# define BOOST_PP_FOR_47(s, p, o, m) BOOST_PP_IF(p(48, s), m, BOOST_PP_TUPLE_EAT_2)(48, s) BOOST_PP_IF(p(48, s), BOOST_PP_FOR_48, BOOST_PP_TUPLE_EAT_4)(o(48, s), p, o, m)
-# define BOOST_PP_FOR_48(s, p, o, m) BOOST_PP_IF(p(49, s), m, BOOST_PP_TUPLE_EAT_2)(49, s) BOOST_PP_IF(p(49, s), BOOST_PP_FOR_49, BOOST_PP_TUPLE_EAT_4)(o(49, s), p, o, m)
-# define BOOST_PP_FOR_49(s, p, o, m) BOOST_PP_IF(p(50, s), m, BOOST_PP_TUPLE_EAT_2)(50, s) BOOST_PP_IF(p(50, s), BOOST_PP_FOR_50, BOOST_PP_TUPLE_EAT_4)(o(50, s), p, o, m)
-# define BOOST_PP_FOR_50(s, p, o, m) BOOST_PP_IF(p(51, s), m, BOOST_PP_TUPLE_EAT_2)(51, s) BOOST_PP_IF(p(51, s), BOOST_PP_FOR_51, BOOST_PP_TUPLE_EAT_4)(o(51, s), p, o, m)
-# define BOOST_PP_FOR_51(s, p, o, m) BOOST_PP_IF(p(52, s), m, BOOST_PP_TUPLE_EAT_2)(52, s) BOOST_PP_IF(p(52, s), BOOST_PP_FOR_52, BOOST_PP_TUPLE_EAT_4)(o(52, s), p, o, m)
-# define BOOST_PP_FOR_52(s, p, o, m) BOOST_PP_IF(p(53, s), m, BOOST_PP_TUPLE_EAT_2)(53, s) BOOST_PP_IF(p(53, s), BOOST_PP_FOR_53, BOOST_PP_TUPLE_EAT_4)(o(53, s), p, o, m)
-# define BOOST_PP_FOR_53(s, p, o, m) BOOST_PP_IF(p(54, s), m, BOOST_PP_TUPLE_EAT_2)(54, s) BOOST_PP_IF(p(54, s), BOOST_PP_FOR_54, BOOST_PP_TUPLE_EAT_4)(o(54, s), p, o, m)
-# define BOOST_PP_FOR_54(s, p, o, m) BOOST_PP_IF(p(55, s), m, BOOST_PP_TUPLE_EAT_2)(55, s) BOOST_PP_IF(p(55, s), BOOST_PP_FOR_55, BOOST_PP_TUPLE_EAT_4)(o(55, s), p, o, m)
-# define BOOST_PP_FOR_55(s, p, o, m) BOOST_PP_IF(p(56, s), m, BOOST_PP_TUPLE_EAT_2)(56, s) BOOST_PP_IF(p(56, s), BOOST_PP_FOR_56, BOOST_PP_TUPLE_EAT_4)(o(56, s), p, o, m)
-# define BOOST_PP_FOR_56(s, p, o, m) BOOST_PP_IF(p(57, s), m, BOOST_PP_TUPLE_EAT_2)(57, s) BOOST_PP_IF(p(57, s), BOOST_PP_FOR_57, BOOST_PP_TUPLE_EAT_4)(o(57, s), p, o, m)
-# define BOOST_PP_FOR_57(s, p, o, m) BOOST_PP_IF(p(58, s), m, BOOST_PP_TUPLE_EAT_2)(58, s) BOOST_PP_IF(p(58, s), BOOST_PP_FOR_58, BOOST_PP_TUPLE_EAT_4)(o(58, s), p, o, m)
-# define BOOST_PP_FOR_58(s, p, o, m) BOOST_PP_IF(p(59, s), m, BOOST_PP_TUPLE_EAT_2)(59, s) BOOST_PP_IF(p(59, s), BOOST_PP_FOR_59, BOOST_PP_TUPLE_EAT_4)(o(59, s), p, o, m)
-# define BOOST_PP_FOR_59(s, p, o, m) BOOST_PP_IF(p(60, s), m, BOOST_PP_TUPLE_EAT_2)(60, s) BOOST_PP_IF(p(60, s), BOOST_PP_FOR_60, BOOST_PP_TUPLE_EAT_4)(o(60, s), p, o, m)
-# define BOOST_PP_FOR_60(s, p, o, m) BOOST_PP_IF(p(61, s), m, BOOST_PP_TUPLE_EAT_2)(61, s) BOOST_PP_IF(p(61, s), BOOST_PP_FOR_61, BOOST_PP_TUPLE_EAT_4)(o(61, s), p, o, m)
-# define BOOST_PP_FOR_61(s, p, o, m) BOOST_PP_IF(p(62, s), m, BOOST_PP_TUPLE_EAT_2)(62, s) BOOST_PP_IF(p(62, s), BOOST_PP_FOR_62, BOOST_PP_TUPLE_EAT_4)(o(62, s), p, o, m)
-# define BOOST_PP_FOR_62(s, p, o, m) BOOST_PP_IF(p(63, s), m, BOOST_PP_TUPLE_EAT_2)(63, s) BOOST_PP_IF(p(63, s), BOOST_PP_FOR_63, BOOST_PP_TUPLE_EAT_4)(o(63, s), p, o, m)
-# define BOOST_PP_FOR_63(s, p, o, m) BOOST_PP_IF(p(64, s), m, BOOST_PP_TUPLE_EAT_2)(64, s) BOOST_PP_IF(p(64, s), BOOST_PP_FOR_64, BOOST_PP_TUPLE_EAT_4)(o(64, s), p, o, m)
-# define BOOST_PP_FOR_64(s, p, o, m) BOOST_PP_IF(p(65, s), m, BOOST_PP_TUPLE_EAT_2)(65, s) BOOST_PP_IF(p(65, s), BOOST_PP_FOR_65, BOOST_PP_TUPLE_EAT_4)(o(65, s), p, o, m)
-# define BOOST_PP_FOR_65(s, p, o, m) BOOST_PP_IF(p(66, s), m, BOOST_PP_TUPLE_EAT_2)(66, s) BOOST_PP_IF(p(66, s), BOOST_PP_FOR_66, BOOST_PP_TUPLE_EAT_4)(o(66, s), p, o, m)
-# define BOOST_PP_FOR_66(s, p, o, m) BOOST_PP_IF(p(67, s), m, BOOST_PP_TUPLE_EAT_2)(67, s) BOOST_PP_IF(p(67, s), BOOST_PP_FOR_67, BOOST_PP_TUPLE_EAT_4)(o(67, s), p, o, m)
-# define BOOST_PP_FOR_67(s, p, o, m) BOOST_PP_IF(p(68, s), m, BOOST_PP_TUPLE_EAT_2)(68, s) BOOST_PP_IF(p(68, s), BOOST_PP_FOR_68, BOOST_PP_TUPLE_EAT_4)(o(68, s), p, o, m)
-# define BOOST_PP_FOR_68(s, p, o, m) BOOST_PP_IF(p(69, s), m, BOOST_PP_TUPLE_EAT_2)(69, s) BOOST_PP_IF(p(69, s), BOOST_PP_FOR_69, BOOST_PP_TUPLE_EAT_4)(o(69, s), p, o, m)
-# define BOOST_PP_FOR_69(s, p, o, m) BOOST_PP_IF(p(70, s), m, BOOST_PP_TUPLE_EAT_2)(70, s) BOOST_PP_IF(p(70, s), BOOST_PP_FOR_70, BOOST_PP_TUPLE_EAT_4)(o(70, s), p, o, m)
-# define BOOST_PP_FOR_70(s, p, o, m) BOOST_PP_IF(p(71, s), m, BOOST_PP_TUPLE_EAT_2)(71, s) BOOST_PP_IF(p(71, s), BOOST_PP_FOR_71, BOOST_PP_TUPLE_EAT_4)(o(71, s), p, o, m)
-# define BOOST_PP_FOR_71(s, p, o, m) BOOST_PP_IF(p(72, s), m, BOOST_PP_TUPLE_EAT_2)(72, s) BOOST_PP_IF(p(72, s), BOOST_PP_FOR_72, BOOST_PP_TUPLE_EAT_4)(o(72, s), p, o, m)
-# define BOOST_PP_FOR_72(s, p, o, m) BOOST_PP_IF(p(73, s), m, BOOST_PP_TUPLE_EAT_2)(73, s) BOOST_PP_IF(p(73, s), BOOST_PP_FOR_73, BOOST_PP_TUPLE_EAT_4)(o(73, s), p, o, m)
-# define BOOST_PP_FOR_73(s, p, o, m) BOOST_PP_IF(p(74, s), m, BOOST_PP_TUPLE_EAT_2)(74, s) BOOST_PP_IF(p(74, s), BOOST_PP_FOR_74, BOOST_PP_TUPLE_EAT_4)(o(74, s), p, o, m)
-# define BOOST_PP_FOR_74(s, p, o, m) BOOST_PP_IF(p(75, s), m, BOOST_PP_TUPLE_EAT_2)(75, s) BOOST_PP_IF(p(75, s), BOOST_PP_FOR_75, BOOST_PP_TUPLE_EAT_4)(o(75, s), p, o, m)
-# define BOOST_PP_FOR_75(s, p, o, m) BOOST_PP_IF(p(76, s), m, BOOST_PP_TUPLE_EAT_2)(76, s) BOOST_PP_IF(p(76, s), BOOST_PP_FOR_76, BOOST_PP_TUPLE_EAT_4)(o(76, s), p, o, m)
-# define BOOST_PP_FOR_76(s, p, o, m) BOOST_PP_IF(p(77, s), m, BOOST_PP_TUPLE_EAT_2)(77, s) BOOST_PP_IF(p(77, s), BOOST_PP_FOR_77, BOOST_PP_TUPLE_EAT_4)(o(77, s), p, o, m)
-# define BOOST_PP_FOR_77(s, p, o, m) BOOST_PP_IF(p(78, s), m, BOOST_PP_TUPLE_EAT_2)(78, s) BOOST_PP_IF(p(78, s), BOOST_PP_FOR_78, BOOST_PP_TUPLE_EAT_4)(o(78, s), p, o, m)
-# define BOOST_PP_FOR_78(s, p, o, m) BOOST_PP_IF(p(79, s), m, BOOST_PP_TUPLE_EAT_2)(79, s) BOOST_PP_IF(p(79, s), BOOST_PP_FOR_79, BOOST_PP_TUPLE_EAT_4)(o(79, s), p, o, m)
-# define BOOST_PP_FOR_79(s, p, o, m) BOOST_PP_IF(p(80, s), m, BOOST_PP_TUPLE_EAT_2)(80, s) BOOST_PP_IF(p(80, s), BOOST_PP_FOR_80, BOOST_PP_TUPLE_EAT_4)(o(80, s), p, o, m)
-# define BOOST_PP_FOR_80(s, p, o, m) BOOST_PP_IF(p(81, s), m, BOOST_PP_TUPLE_EAT_2)(81, s) BOOST_PP_IF(p(81, s), BOOST_PP_FOR_81, BOOST_PP_TUPLE_EAT_4)(o(81, s), p, o, m)
-# define BOOST_PP_FOR_81(s, p, o, m) BOOST_PP_IF(p(82, s), m, BOOST_PP_TUPLE_EAT_2)(82, s) BOOST_PP_IF(p(82, s), BOOST_PP_FOR_82, BOOST_PP_TUPLE_EAT_4)(o(82, s), p, o, m)
-# define BOOST_PP_FOR_82(s, p, o, m) BOOST_PP_IF(p(83, s), m, BOOST_PP_TUPLE_EAT_2)(83, s) BOOST_PP_IF(p(83, s), BOOST_PP_FOR_83, BOOST_PP_TUPLE_EAT_4)(o(83, s), p, o, m)
-# define BOOST_PP_FOR_83(s, p, o, m) BOOST_PP_IF(p(84, s), m, BOOST_PP_TUPLE_EAT_2)(84, s) BOOST_PP_IF(p(84, s), BOOST_PP_FOR_84, BOOST_PP_TUPLE_EAT_4)(o(84, s), p, o, m)
-# define BOOST_PP_FOR_84(s, p, o, m) BOOST_PP_IF(p(85, s), m, BOOST_PP_TUPLE_EAT_2)(85, s) BOOST_PP_IF(p(85, s), BOOST_PP_FOR_85, BOOST_PP_TUPLE_EAT_4)(o(85, s), p, o, m)
-# define BOOST_PP_FOR_85(s, p, o, m) BOOST_PP_IF(p(86, s), m, BOOST_PP_TUPLE_EAT_2)(86, s) BOOST_PP_IF(p(86, s), BOOST_PP_FOR_86, BOOST_PP_TUPLE_EAT_4)(o(86, s), p, o, m)
-# define BOOST_PP_FOR_86(s, p, o, m) BOOST_PP_IF(p(87, s), m, BOOST_PP_TUPLE_EAT_2)(87, s) BOOST_PP_IF(p(87, s), BOOST_PP_FOR_87, BOOST_PP_TUPLE_EAT_4)(o(87, s), p, o, m)
-# define BOOST_PP_FOR_87(s, p, o, m) BOOST_PP_IF(p(88, s), m, BOOST_PP_TUPLE_EAT_2)(88, s) BOOST_PP_IF(p(88, s), BOOST_PP_FOR_88, BOOST_PP_TUPLE_EAT_4)(o(88, s), p, o, m)
-# define BOOST_PP_FOR_88(s, p, o, m) BOOST_PP_IF(p(89, s), m, BOOST_PP_TUPLE_EAT_2)(89, s) BOOST_PP_IF(p(89, s), BOOST_PP_FOR_89, BOOST_PP_TUPLE_EAT_4)(o(89, s), p, o, m)
-# define BOOST_PP_FOR_89(s, p, o, m) BOOST_PP_IF(p(90, s), m, BOOST_PP_TUPLE_EAT_2)(90, s) BOOST_PP_IF(p(90, s), BOOST_PP_FOR_90, BOOST_PP_TUPLE_EAT_4)(o(90, s), p, o, m)
-# define BOOST_PP_FOR_90(s, p, o, m) BOOST_PP_IF(p(91, s), m, BOOST_PP_TUPLE_EAT_2)(91, s) BOOST_PP_IF(p(91, s), BOOST_PP_FOR_91, BOOST_PP_TUPLE_EAT_4)(o(91, s), p, o, m)
-# define BOOST_PP_FOR_91(s, p, o, m) BOOST_PP_IF(p(92, s), m, BOOST_PP_TUPLE_EAT_2)(92, s) BOOST_PP_IF(p(92, s), BOOST_PP_FOR_92, BOOST_PP_TUPLE_EAT_4)(o(92, s), p, o, m)
-# define BOOST_PP_FOR_92(s, p, o, m) BOOST_PP_IF(p(93, s), m, BOOST_PP_TUPLE_EAT_2)(93, s) BOOST_PP_IF(p(93, s), BOOST_PP_FOR_93, BOOST_PP_TUPLE_EAT_4)(o(93, s), p, o, m)
-# define BOOST_PP_FOR_93(s, p, o, m) BOOST_PP_IF(p(94, s), m, BOOST_PP_TUPLE_EAT_2)(94, s) BOOST_PP_IF(p(94, s), BOOST_PP_FOR_94, BOOST_PP_TUPLE_EAT_4)(o(94, s), p, o, m)
-# define BOOST_PP_FOR_94(s, p, o, m) BOOST_PP_IF(p(95, s), m, BOOST_PP_TUPLE_EAT_2)(95, s) BOOST_PP_IF(p(95, s), BOOST_PP_FOR_95, BOOST_PP_TUPLE_EAT_4)(o(95, s), p, o, m)
-# define BOOST_PP_FOR_95(s, p, o, m) BOOST_PP_IF(p(96, s), m, BOOST_PP_TUPLE_EAT_2)(96, s) BOOST_PP_IF(p(96, s), BOOST_PP_FOR_96, BOOST_PP_TUPLE_EAT_4)(o(96, s), p, o, m)
-# define BOOST_PP_FOR_96(s, p, o, m) BOOST_PP_IF(p(97, s), m, BOOST_PP_TUPLE_EAT_2)(97, s) BOOST_PP_IF(p(97, s), BOOST_PP_FOR_97, BOOST_PP_TUPLE_EAT_4)(o(97, s), p, o, m)
-# define BOOST_PP_FOR_97(s, p, o, m) BOOST_PP_IF(p(98, s), m, BOOST_PP_TUPLE_EAT_2)(98, s) BOOST_PP_IF(p(98, s), BOOST_PP_FOR_98, BOOST_PP_TUPLE_EAT_4)(o(98, s), p, o, m)
-# define BOOST_PP_FOR_98(s, p, o, m) BOOST_PP_IF(p(99, s), m, BOOST_PP_TUPLE_EAT_2)(99, s) BOOST_PP_IF(p(99, s), BOOST_PP_FOR_99, BOOST_PP_TUPLE_EAT_4)(o(99, s), p, o, m)
-# define BOOST_PP_FOR_99(s, p, o, m) BOOST_PP_IF(p(100, s), m, BOOST_PP_TUPLE_EAT_2)(100, s) BOOST_PP_IF(p(100, s), BOOST_PP_FOR_100, BOOST_PP_TUPLE_EAT_4)(o(100, s), p, o, m)
-# define BOOST_PP_FOR_100(s, p, o, m) BOOST_PP_IF(p(101, s), m, BOOST_PP_TUPLE_EAT_2)(101, s) BOOST_PP_IF(p(101, s), BOOST_PP_FOR_101, BOOST_PP_TUPLE_EAT_4)(o(101, s), p, o, m)
-# define BOOST_PP_FOR_101(s, p, o, m) BOOST_PP_IF(p(102, s), m, BOOST_PP_TUPLE_EAT_2)(102, s) BOOST_PP_IF(p(102, s), BOOST_PP_FOR_102, BOOST_PP_TUPLE_EAT_4)(o(102, s), p, o, m)
-# define BOOST_PP_FOR_102(s, p, o, m) BOOST_PP_IF(p(103, s), m, BOOST_PP_TUPLE_EAT_2)(103, s) BOOST_PP_IF(p(103, s), BOOST_PP_FOR_103, BOOST_PP_TUPLE_EAT_4)(o(103, s), p, o, m)
-# define BOOST_PP_FOR_103(s, p, o, m) BOOST_PP_IF(p(104, s), m, BOOST_PP_TUPLE_EAT_2)(104, s) BOOST_PP_IF(p(104, s), BOOST_PP_FOR_104, BOOST_PP_TUPLE_EAT_4)(o(104, s), p, o, m)
-# define BOOST_PP_FOR_104(s, p, o, m) BOOST_PP_IF(p(105, s), m, BOOST_PP_TUPLE_EAT_2)(105, s) BOOST_PP_IF(p(105, s), BOOST_PP_FOR_105, BOOST_PP_TUPLE_EAT_4)(o(105, s), p, o, m)
-# define BOOST_PP_FOR_105(s, p, o, m) BOOST_PP_IF(p(106, s), m, BOOST_PP_TUPLE_EAT_2)(106, s) BOOST_PP_IF(p(106, s), BOOST_PP_FOR_106, BOOST_PP_TUPLE_EAT_4)(o(106, s), p, o, m)
-# define BOOST_PP_FOR_106(s, p, o, m) BOOST_PP_IF(p(107, s), m, BOOST_PP_TUPLE_EAT_2)(107, s) BOOST_PP_IF(p(107, s), BOOST_PP_FOR_107, BOOST_PP_TUPLE_EAT_4)(o(107, s), p, o, m)
-# define BOOST_PP_FOR_107(s, p, o, m) BOOST_PP_IF(p(108, s), m, BOOST_PP_TUPLE_EAT_2)(108, s) BOOST_PP_IF(p(108, s), BOOST_PP_FOR_108, BOOST_PP_TUPLE_EAT_4)(o(108, s), p, o, m)
-# define BOOST_PP_FOR_108(s, p, o, m) BOOST_PP_IF(p(109, s), m, BOOST_PP_TUPLE_EAT_2)(109, s) BOOST_PP_IF(p(109, s), BOOST_PP_FOR_109, BOOST_PP_TUPLE_EAT_4)(o(109, s), p, o, m)
-# define BOOST_PP_FOR_109(s, p, o, m) BOOST_PP_IF(p(110, s), m, BOOST_PP_TUPLE_EAT_2)(110, s) BOOST_PP_IF(p(110, s), BOOST_PP_FOR_110, BOOST_PP_TUPLE_EAT_4)(o(110, s), p, o, m)
-# define BOOST_PP_FOR_110(s, p, o, m) BOOST_PP_IF(p(111, s), m, BOOST_PP_TUPLE_EAT_2)(111, s) BOOST_PP_IF(p(111, s), BOOST_PP_FOR_111, BOOST_PP_TUPLE_EAT_4)(o(111, s), p, o, m)
-# define BOOST_PP_FOR_111(s, p, o, m) BOOST_PP_IF(p(112, s), m, BOOST_PP_TUPLE_EAT_2)(112, s) BOOST_PP_IF(p(112, s), BOOST_PP_FOR_112, BOOST_PP_TUPLE_EAT_4)(o(112, s), p, o, m)
-# define BOOST_PP_FOR_112(s, p, o, m) BOOST_PP_IF(p(113, s), m, BOOST_PP_TUPLE_EAT_2)(113, s) BOOST_PP_IF(p(113, s), BOOST_PP_FOR_113, BOOST_PP_TUPLE_EAT_4)(o(113, s), p, o, m)
-# define BOOST_PP_FOR_113(s, p, o, m) BOOST_PP_IF(p(114, s), m, BOOST_PP_TUPLE_EAT_2)(114, s) BOOST_PP_IF(p(114, s), BOOST_PP_FOR_114, BOOST_PP_TUPLE_EAT_4)(o(114, s), p, o, m)
-# define BOOST_PP_FOR_114(s, p, o, m) BOOST_PP_IF(p(115, s), m, BOOST_PP_TUPLE_EAT_2)(115, s) BOOST_PP_IF(p(115, s), BOOST_PP_FOR_115, BOOST_PP_TUPLE_EAT_4)(o(115, s), p, o, m)
-# define BOOST_PP_FOR_115(s, p, o, m) BOOST_PP_IF(p(116, s), m, BOOST_PP_TUPLE_EAT_2)(116, s) BOOST_PP_IF(p(116, s), BOOST_PP_FOR_116, BOOST_PP_TUPLE_EAT_4)(o(116, s), p, o, m)
-# define BOOST_PP_FOR_116(s, p, o, m) BOOST_PP_IF(p(117, s), m, BOOST_PP_TUPLE_EAT_2)(117, s) BOOST_PP_IF(p(117, s), BOOST_PP_FOR_117, BOOST_PP_TUPLE_EAT_4)(o(117, s), p, o, m)
-# define BOOST_PP_FOR_117(s, p, o, m) BOOST_PP_IF(p(118, s), m, BOOST_PP_TUPLE_EAT_2)(118, s) BOOST_PP_IF(p(118, s), BOOST_PP_FOR_118, BOOST_PP_TUPLE_EAT_4)(o(118, s), p, o, m)
-# define BOOST_PP_FOR_118(s, p, o, m) BOOST_PP_IF(p(119, s), m, BOOST_PP_TUPLE_EAT_2)(119, s) BOOST_PP_IF(p(119, s), BOOST_PP_FOR_119, BOOST_PP_TUPLE_EAT_4)(o(119, s), p, o, m)
-# define BOOST_PP_FOR_119(s, p, o, m) BOOST_PP_IF(p(120, s), m, BOOST_PP_TUPLE_EAT_2)(120, s) BOOST_PP_IF(p(120, s), BOOST_PP_FOR_120, BOOST_PP_TUPLE_EAT_4)(o(120, s), p, o, m)
-# define BOOST_PP_FOR_120(s, p, o, m) BOOST_PP_IF(p(121, s), m, BOOST_PP_TUPLE_EAT_2)(121, s) BOOST_PP_IF(p(121, s), BOOST_PP_FOR_121, BOOST_PP_TUPLE_EAT_4)(o(121, s), p, o, m)
-# define BOOST_PP_FOR_121(s, p, o, m) BOOST_PP_IF(p(122, s), m, BOOST_PP_TUPLE_EAT_2)(122, s) BOOST_PP_IF(p(122, s), BOOST_PP_FOR_122, BOOST_PP_TUPLE_EAT_4)(o(122, s), p, o, m)
-# define BOOST_PP_FOR_122(s, p, o, m) BOOST_PP_IF(p(123, s), m, BOOST_PP_TUPLE_EAT_2)(123, s) BOOST_PP_IF(p(123, s), BOOST_PP_FOR_123, BOOST_PP_TUPLE_EAT_4)(o(123, s), p, o, m)
-# define BOOST_PP_FOR_123(s, p, o, m) BOOST_PP_IF(p(124, s), m, BOOST_PP_TUPLE_EAT_2)(124, s) BOOST_PP_IF(p(124, s), BOOST_PP_FOR_124, BOOST_PP_TUPLE_EAT_4)(o(124, s), p, o, m)
-# define BOOST_PP_FOR_124(s, p, o, m) BOOST_PP_IF(p(125, s), m, BOOST_PP_TUPLE_EAT_2)(125, s) BOOST_PP_IF(p(125, s), BOOST_PP_FOR_125, BOOST_PP_TUPLE_EAT_4)(o(125, s), p, o, m)
-# define BOOST_PP_FOR_125(s, p, o, m) BOOST_PP_IF(p(126, s), m, BOOST_PP_TUPLE_EAT_2)(126, s) BOOST_PP_IF(p(126, s), BOOST_PP_FOR_126, BOOST_PP_TUPLE_EAT_4)(o(126, s), p, o, m)
-# define BOOST_PP_FOR_126(s, p, o, m) BOOST_PP_IF(p(127, s), m, BOOST_PP_TUPLE_EAT_2)(127, s) BOOST_PP_IF(p(127, s), BOOST_PP_FOR_127, BOOST_PP_TUPLE_EAT_4)(o(127, s), p, o, m)
-# define BOOST_PP_FOR_127(s, p, o, m) BOOST_PP_IF(p(128, s), m, BOOST_PP_TUPLE_EAT_2)(128, s) BOOST_PP_IF(p(128, s), BOOST_PP_FOR_128, BOOST_PP_TUPLE_EAT_4)(o(128, s), p, o, m)
-# define BOOST_PP_FOR_128(s, p, o, m) BOOST_PP_IF(p(129, s), m, BOOST_PP_TUPLE_EAT_2)(129, s) BOOST_PP_IF(p(129, s), BOOST_PP_FOR_129, BOOST_PP_TUPLE_EAT_4)(o(129, s), p, o, m)
-# define BOOST_PP_FOR_129(s, p, o, m) BOOST_PP_IF(p(130, s), m, BOOST_PP_TUPLE_EAT_2)(130, s) BOOST_PP_IF(p(130, s), BOOST_PP_FOR_130, BOOST_PP_TUPLE_EAT_4)(o(130, s), p, o, m)
-# define BOOST_PP_FOR_130(s, p, o, m) BOOST_PP_IF(p(131, s), m, BOOST_PP_TUPLE_EAT_2)(131, s) BOOST_PP_IF(p(131, s), BOOST_PP_FOR_131, BOOST_PP_TUPLE_EAT_4)(o(131, s), p, o, m)
-# define BOOST_PP_FOR_131(s, p, o, m) BOOST_PP_IF(p(132, s), m, BOOST_PP_TUPLE_EAT_2)(132, s) BOOST_PP_IF(p(132, s), BOOST_PP_FOR_132, BOOST_PP_TUPLE_EAT_4)(o(132, s), p, o, m)
-# define BOOST_PP_FOR_132(s, p, o, m) BOOST_PP_IF(p(133, s), m, BOOST_PP_TUPLE_EAT_2)(133, s) BOOST_PP_IF(p(133, s), BOOST_PP_FOR_133, BOOST_PP_TUPLE_EAT_4)(o(133, s), p, o, m)
-# define BOOST_PP_FOR_133(s, p, o, m) BOOST_PP_IF(p(134, s), m, BOOST_PP_TUPLE_EAT_2)(134, s) BOOST_PP_IF(p(134, s), BOOST_PP_FOR_134, BOOST_PP_TUPLE_EAT_4)(o(134, s), p, o, m)
-# define BOOST_PP_FOR_134(s, p, o, m) BOOST_PP_IF(p(135, s), m, BOOST_PP_TUPLE_EAT_2)(135, s) BOOST_PP_IF(p(135, s), BOOST_PP_FOR_135, BOOST_PP_TUPLE_EAT_4)(o(135, s), p, o, m)
-# define BOOST_PP_FOR_135(s, p, o, m) BOOST_PP_IF(p(136, s), m, BOOST_PP_TUPLE_EAT_2)(136, s) BOOST_PP_IF(p(136, s), BOOST_PP_FOR_136, BOOST_PP_TUPLE_EAT_4)(o(136, s), p, o, m)
-# define BOOST_PP_FOR_136(s, p, o, m) BOOST_PP_IF(p(137, s), m, BOOST_PP_TUPLE_EAT_2)(137, s) BOOST_PP_IF(p(137, s), BOOST_PP_FOR_137, BOOST_PP_TUPLE_EAT_4)(o(137, s), p, o, m)
-# define BOOST_PP_FOR_137(s, p, o, m) BOOST_PP_IF(p(138, s), m, BOOST_PP_TUPLE_EAT_2)(138, s) BOOST_PP_IF(p(138, s), BOOST_PP_FOR_138, BOOST_PP_TUPLE_EAT_4)(o(138, s), p, o, m)
-# define BOOST_PP_FOR_138(s, p, o, m) BOOST_PP_IF(p(139, s), m, BOOST_PP_TUPLE_EAT_2)(139, s) BOOST_PP_IF(p(139, s), BOOST_PP_FOR_139, BOOST_PP_TUPLE_EAT_4)(o(139, s), p, o, m)
-# define BOOST_PP_FOR_139(s, p, o, m) BOOST_PP_IF(p(140, s), m, BOOST_PP_TUPLE_EAT_2)(140, s) BOOST_PP_IF(p(140, s), BOOST_PP_FOR_140, BOOST_PP_TUPLE_EAT_4)(o(140, s), p, o, m)
-# define BOOST_PP_FOR_140(s, p, o, m) BOOST_PP_IF(p(141, s), m, BOOST_PP_TUPLE_EAT_2)(141, s) BOOST_PP_IF(p(141, s), BOOST_PP_FOR_141, BOOST_PP_TUPLE_EAT_4)(o(141, s), p, o, m)
-# define BOOST_PP_FOR_141(s, p, o, m) BOOST_PP_IF(p(142, s), m, BOOST_PP_TUPLE_EAT_2)(142, s) BOOST_PP_IF(p(142, s), BOOST_PP_FOR_142, BOOST_PP_TUPLE_EAT_4)(o(142, s), p, o, m)
-# define BOOST_PP_FOR_142(s, p, o, m) BOOST_PP_IF(p(143, s), m, BOOST_PP_TUPLE_EAT_2)(143, s) BOOST_PP_IF(p(143, s), BOOST_PP_FOR_143, BOOST_PP_TUPLE_EAT_4)(o(143, s), p, o, m)
-# define BOOST_PP_FOR_143(s, p, o, m) BOOST_PP_IF(p(144, s), m, BOOST_PP_TUPLE_EAT_2)(144, s) BOOST_PP_IF(p(144, s), BOOST_PP_FOR_144, BOOST_PP_TUPLE_EAT_4)(o(144, s), p, o, m)
-# define BOOST_PP_FOR_144(s, p, o, m) BOOST_PP_IF(p(145, s), m, BOOST_PP_TUPLE_EAT_2)(145, s) BOOST_PP_IF(p(145, s), BOOST_PP_FOR_145, BOOST_PP_TUPLE_EAT_4)(o(145, s), p, o, m)
-# define BOOST_PP_FOR_145(s, p, o, m) BOOST_PP_IF(p(146, s), m, BOOST_PP_TUPLE_EAT_2)(146, s) BOOST_PP_IF(p(146, s), BOOST_PP_FOR_146, BOOST_PP_TUPLE_EAT_4)(o(146, s), p, o, m)
-# define BOOST_PP_FOR_146(s, p, o, m) BOOST_PP_IF(p(147, s), m, BOOST_PP_TUPLE_EAT_2)(147, s) BOOST_PP_IF(p(147, s), BOOST_PP_FOR_147, BOOST_PP_TUPLE_EAT_4)(o(147, s), p, o, m)
-# define BOOST_PP_FOR_147(s, p, o, m) BOOST_PP_IF(p(148, s), m, BOOST_PP_TUPLE_EAT_2)(148, s) BOOST_PP_IF(p(148, s), BOOST_PP_FOR_148, BOOST_PP_TUPLE_EAT_4)(o(148, s), p, o, m)
-# define BOOST_PP_FOR_148(s, p, o, m) BOOST_PP_IF(p(149, s), m, BOOST_PP_TUPLE_EAT_2)(149, s) BOOST_PP_IF(p(149, s), BOOST_PP_FOR_149, BOOST_PP_TUPLE_EAT_4)(o(149, s), p, o, m)
-# define BOOST_PP_FOR_149(s, p, o, m) BOOST_PP_IF(p(150, s), m, BOOST_PP_TUPLE_EAT_2)(150, s) BOOST_PP_IF(p(150, s), BOOST_PP_FOR_150, BOOST_PP_TUPLE_EAT_4)(o(150, s), p, o, m)
-# define BOOST_PP_FOR_150(s, p, o, m) BOOST_PP_IF(p(151, s), m, BOOST_PP_TUPLE_EAT_2)(151, s) BOOST_PP_IF(p(151, s), BOOST_PP_FOR_151, BOOST_PP_TUPLE_EAT_4)(o(151, s), p, o, m)
-# define BOOST_PP_FOR_151(s, p, o, m) BOOST_PP_IF(p(152, s), m, BOOST_PP_TUPLE_EAT_2)(152, s) BOOST_PP_IF(p(152, s), BOOST_PP_FOR_152, BOOST_PP_TUPLE_EAT_4)(o(152, s), p, o, m)
-# define BOOST_PP_FOR_152(s, p, o, m) BOOST_PP_IF(p(153, s), m, BOOST_PP_TUPLE_EAT_2)(153, s) BOOST_PP_IF(p(153, s), BOOST_PP_FOR_153, BOOST_PP_TUPLE_EAT_4)(o(153, s), p, o, m)
-# define BOOST_PP_FOR_153(s, p, o, m) BOOST_PP_IF(p(154, s), m, BOOST_PP_TUPLE_EAT_2)(154, s) BOOST_PP_IF(p(154, s), BOOST_PP_FOR_154, BOOST_PP_TUPLE_EAT_4)(o(154, s), p, o, m)
-# define BOOST_PP_FOR_154(s, p, o, m) BOOST_PP_IF(p(155, s), m, BOOST_PP_TUPLE_EAT_2)(155, s) BOOST_PP_IF(p(155, s), BOOST_PP_FOR_155, BOOST_PP_TUPLE_EAT_4)(o(155, s), p, o, m)
-# define BOOST_PP_FOR_155(s, p, o, m) BOOST_PP_IF(p(156, s), m, BOOST_PP_TUPLE_EAT_2)(156, s) BOOST_PP_IF(p(156, s), BOOST_PP_FOR_156, BOOST_PP_TUPLE_EAT_4)(o(156, s), p, o, m)
-# define BOOST_PP_FOR_156(s, p, o, m) BOOST_PP_IF(p(157, s), m, BOOST_PP_TUPLE_EAT_2)(157, s) BOOST_PP_IF(p(157, s), BOOST_PP_FOR_157, BOOST_PP_TUPLE_EAT_4)(o(157, s), p, o, m)
-# define BOOST_PP_FOR_157(s, p, o, m) BOOST_PP_IF(p(158, s), m, BOOST_PP_TUPLE_EAT_2)(158, s) BOOST_PP_IF(p(158, s), BOOST_PP_FOR_158, BOOST_PP_TUPLE_EAT_4)(o(158, s), p, o, m)
-# define BOOST_PP_FOR_158(s, p, o, m) BOOST_PP_IF(p(159, s), m, BOOST_PP_TUPLE_EAT_2)(159, s) BOOST_PP_IF(p(159, s), BOOST_PP_FOR_159, BOOST_PP_TUPLE_EAT_4)(o(159, s), p, o, m)
-# define BOOST_PP_FOR_159(s, p, o, m) BOOST_PP_IF(p(160, s), m, BOOST_PP_TUPLE_EAT_2)(160, s) BOOST_PP_IF(p(160, s), BOOST_PP_FOR_160, BOOST_PP_TUPLE_EAT_4)(o(160, s), p, o, m)
-# define BOOST_PP_FOR_160(s, p, o, m) BOOST_PP_IF(p(161, s), m, BOOST_PP_TUPLE_EAT_2)(161, s) BOOST_PP_IF(p(161, s), BOOST_PP_FOR_161, BOOST_PP_TUPLE_EAT_4)(o(161, s), p, o, m)
-# define BOOST_PP_FOR_161(s, p, o, m) BOOST_PP_IF(p(162, s), m, BOOST_PP_TUPLE_EAT_2)(162, s) BOOST_PP_IF(p(162, s), BOOST_PP_FOR_162, BOOST_PP_TUPLE_EAT_4)(o(162, s), p, o, m)
-# define BOOST_PP_FOR_162(s, p, o, m) BOOST_PP_IF(p(163, s), m, BOOST_PP_TUPLE_EAT_2)(163, s) BOOST_PP_IF(p(163, s), BOOST_PP_FOR_163, BOOST_PP_TUPLE_EAT_4)(o(163, s), p, o, m)
-# define BOOST_PP_FOR_163(s, p, o, m) BOOST_PP_IF(p(164, s), m, BOOST_PP_TUPLE_EAT_2)(164, s) BOOST_PP_IF(p(164, s), BOOST_PP_FOR_164, BOOST_PP_TUPLE_EAT_4)(o(164, s), p, o, m)
-# define BOOST_PP_FOR_164(s, p, o, m) BOOST_PP_IF(p(165, s), m, BOOST_PP_TUPLE_EAT_2)(165, s) BOOST_PP_IF(p(165, s), BOOST_PP_FOR_165, BOOST_PP_TUPLE_EAT_4)(o(165, s), p, o, m)
-# define BOOST_PP_FOR_165(s, p, o, m) BOOST_PP_IF(p(166, s), m, BOOST_PP_TUPLE_EAT_2)(166, s) BOOST_PP_IF(p(166, s), BOOST_PP_FOR_166, BOOST_PP_TUPLE_EAT_4)(o(166, s), p, o, m)
-# define BOOST_PP_FOR_166(s, p, o, m) BOOST_PP_IF(p(167, s), m, BOOST_PP_TUPLE_EAT_2)(167, s) BOOST_PP_IF(p(167, s), BOOST_PP_FOR_167, BOOST_PP_TUPLE_EAT_4)(o(167, s), p, o, m)
-# define BOOST_PP_FOR_167(s, p, o, m) BOOST_PP_IF(p(168, s), m, BOOST_PP_TUPLE_EAT_2)(168, s) BOOST_PP_IF(p(168, s), BOOST_PP_FOR_168, BOOST_PP_TUPLE_EAT_4)(o(168, s), p, o, m)
-# define BOOST_PP_FOR_168(s, p, o, m) BOOST_PP_IF(p(169, s), m, BOOST_PP_TUPLE_EAT_2)(169, s) BOOST_PP_IF(p(169, s), BOOST_PP_FOR_169, BOOST_PP_TUPLE_EAT_4)(o(169, s), p, o, m)
-# define BOOST_PP_FOR_169(s, p, o, m) BOOST_PP_IF(p(170, s), m, BOOST_PP_TUPLE_EAT_2)(170, s) BOOST_PP_IF(p(170, s), BOOST_PP_FOR_170, BOOST_PP_TUPLE_EAT_4)(o(170, s), p, o, m)
-# define BOOST_PP_FOR_170(s, p, o, m) BOOST_PP_IF(p(171, s), m, BOOST_PP_TUPLE_EAT_2)(171, s) BOOST_PP_IF(p(171, s), BOOST_PP_FOR_171, BOOST_PP_TUPLE_EAT_4)(o(171, s), p, o, m)
-# define BOOST_PP_FOR_171(s, p, o, m) BOOST_PP_IF(p(172, s), m, BOOST_PP_TUPLE_EAT_2)(172, s) BOOST_PP_IF(p(172, s), BOOST_PP_FOR_172, BOOST_PP_TUPLE_EAT_4)(o(172, s), p, o, m)
-# define BOOST_PP_FOR_172(s, p, o, m) BOOST_PP_IF(p(173, s), m, BOOST_PP_TUPLE_EAT_2)(173, s) BOOST_PP_IF(p(173, s), BOOST_PP_FOR_173, BOOST_PP_TUPLE_EAT_4)(o(173, s), p, o, m)
-# define BOOST_PP_FOR_173(s, p, o, m) BOOST_PP_IF(p(174, s), m, BOOST_PP_TUPLE_EAT_2)(174, s) BOOST_PP_IF(p(174, s), BOOST_PP_FOR_174, BOOST_PP_TUPLE_EAT_4)(o(174, s), p, o, m)
-# define BOOST_PP_FOR_174(s, p, o, m) BOOST_PP_IF(p(175, s), m, BOOST_PP_TUPLE_EAT_2)(175, s) BOOST_PP_IF(p(175, s), BOOST_PP_FOR_175, BOOST_PP_TUPLE_EAT_4)(o(175, s), p, o, m)
-# define BOOST_PP_FOR_175(s, p, o, m) BOOST_PP_IF(p(176, s), m, BOOST_PP_TUPLE_EAT_2)(176, s) BOOST_PP_IF(p(176, s), BOOST_PP_FOR_176, BOOST_PP_TUPLE_EAT_4)(o(176, s), p, o, m)
-# define BOOST_PP_FOR_176(s, p, o, m) BOOST_PP_IF(p(177, s), m, BOOST_PP_TUPLE_EAT_2)(177, s) BOOST_PP_IF(p(177, s), BOOST_PP_FOR_177, BOOST_PP_TUPLE_EAT_4)(o(177, s), p, o, m)
-# define BOOST_PP_FOR_177(s, p, o, m) BOOST_PP_IF(p(178, s), m, BOOST_PP_TUPLE_EAT_2)(178, s) BOOST_PP_IF(p(178, s), BOOST_PP_FOR_178, BOOST_PP_TUPLE_EAT_4)(o(178, s), p, o, m)
-# define BOOST_PP_FOR_178(s, p, o, m) BOOST_PP_IF(p(179, s), m, BOOST_PP_TUPLE_EAT_2)(179, s) BOOST_PP_IF(p(179, s), BOOST_PP_FOR_179, BOOST_PP_TUPLE_EAT_4)(o(179, s), p, o, m)
-# define BOOST_PP_FOR_179(s, p, o, m) BOOST_PP_IF(p(180, s), m, BOOST_PP_TUPLE_EAT_2)(180, s) BOOST_PP_IF(p(180, s), BOOST_PP_FOR_180, BOOST_PP_TUPLE_EAT_4)(o(180, s), p, o, m)
-# define BOOST_PP_FOR_180(s, p, o, m) BOOST_PP_IF(p(181, s), m, BOOST_PP_TUPLE_EAT_2)(181, s) BOOST_PP_IF(p(181, s), BOOST_PP_FOR_181, BOOST_PP_TUPLE_EAT_4)(o(181, s), p, o, m)
-# define BOOST_PP_FOR_181(s, p, o, m) BOOST_PP_IF(p(182, s), m, BOOST_PP_TUPLE_EAT_2)(182, s) BOOST_PP_IF(p(182, s), BOOST_PP_FOR_182, BOOST_PP_TUPLE_EAT_4)(o(182, s), p, o, m)
-# define BOOST_PP_FOR_182(s, p, o, m) BOOST_PP_IF(p(183, s), m, BOOST_PP_TUPLE_EAT_2)(183, s) BOOST_PP_IF(p(183, s), BOOST_PP_FOR_183, BOOST_PP_TUPLE_EAT_4)(o(183, s), p, o, m)
-# define BOOST_PP_FOR_183(s, p, o, m) BOOST_PP_IF(p(184, s), m, BOOST_PP_TUPLE_EAT_2)(184, s) BOOST_PP_IF(p(184, s), BOOST_PP_FOR_184, BOOST_PP_TUPLE_EAT_4)(o(184, s), p, o, m)
-# define BOOST_PP_FOR_184(s, p, o, m) BOOST_PP_IF(p(185, s), m, BOOST_PP_TUPLE_EAT_2)(185, s) BOOST_PP_IF(p(185, s), BOOST_PP_FOR_185, BOOST_PP_TUPLE_EAT_4)(o(185, s), p, o, m)
-# define BOOST_PP_FOR_185(s, p, o, m) BOOST_PP_IF(p(186, s), m, BOOST_PP_TUPLE_EAT_2)(186, s) BOOST_PP_IF(p(186, s), BOOST_PP_FOR_186, BOOST_PP_TUPLE_EAT_4)(o(186, s), p, o, m)
-# define BOOST_PP_FOR_186(s, p, o, m) BOOST_PP_IF(p(187, s), m, BOOST_PP_TUPLE_EAT_2)(187, s) BOOST_PP_IF(p(187, s), BOOST_PP_FOR_187, BOOST_PP_TUPLE_EAT_4)(o(187, s), p, o, m)
-# define BOOST_PP_FOR_187(s, p, o, m) BOOST_PP_IF(p(188, s), m, BOOST_PP_TUPLE_EAT_2)(188, s) BOOST_PP_IF(p(188, s), BOOST_PP_FOR_188, BOOST_PP_TUPLE_EAT_4)(o(188, s), p, o, m)
-# define BOOST_PP_FOR_188(s, p, o, m) BOOST_PP_IF(p(189, s), m, BOOST_PP_TUPLE_EAT_2)(189, s) BOOST_PP_IF(p(189, s), BOOST_PP_FOR_189, BOOST_PP_TUPLE_EAT_4)(o(189, s), p, o, m)
-# define BOOST_PP_FOR_189(s, p, o, m) BOOST_PP_IF(p(190, s), m, BOOST_PP_TUPLE_EAT_2)(190, s) BOOST_PP_IF(p(190, s), BOOST_PP_FOR_190, BOOST_PP_TUPLE_EAT_4)(o(190, s), p, o, m)
-# define BOOST_PP_FOR_190(s, p, o, m) BOOST_PP_IF(p(191, s), m, BOOST_PP_TUPLE_EAT_2)(191, s) BOOST_PP_IF(p(191, s), BOOST_PP_FOR_191, BOOST_PP_TUPLE_EAT_4)(o(191, s), p, o, m)
-# define BOOST_PP_FOR_191(s, p, o, m) BOOST_PP_IF(p(192, s), m, BOOST_PP_TUPLE_EAT_2)(192, s) BOOST_PP_IF(p(192, s), BOOST_PP_FOR_192, BOOST_PP_TUPLE_EAT_4)(o(192, s), p, o, m)
-# define BOOST_PP_FOR_192(s, p, o, m) BOOST_PP_IF(p(193, s), m, BOOST_PP_TUPLE_EAT_2)(193, s) BOOST_PP_IF(p(193, s), BOOST_PP_FOR_193, BOOST_PP_TUPLE_EAT_4)(o(193, s), p, o, m)
-# define BOOST_PP_FOR_193(s, p, o, m) BOOST_PP_IF(p(194, s), m, BOOST_PP_TUPLE_EAT_2)(194, s) BOOST_PP_IF(p(194, s), BOOST_PP_FOR_194, BOOST_PP_TUPLE_EAT_4)(o(194, s), p, o, m)
-# define BOOST_PP_FOR_194(s, p, o, m) BOOST_PP_IF(p(195, s), m, BOOST_PP_TUPLE_EAT_2)(195, s) BOOST_PP_IF(p(195, s), BOOST_PP_FOR_195, BOOST_PP_TUPLE_EAT_4)(o(195, s), p, o, m)
-# define BOOST_PP_FOR_195(s, p, o, m) BOOST_PP_IF(p(196, s), m, BOOST_PP_TUPLE_EAT_2)(196, s) BOOST_PP_IF(p(196, s), BOOST_PP_FOR_196, BOOST_PP_TUPLE_EAT_4)(o(196, s), p, o, m)
-# define BOOST_PP_FOR_196(s, p, o, m) BOOST_PP_IF(p(197, s), m, BOOST_PP_TUPLE_EAT_2)(197, s) BOOST_PP_IF(p(197, s), BOOST_PP_FOR_197, BOOST_PP_TUPLE_EAT_4)(o(197, s), p, o, m)
-# define BOOST_PP_FOR_197(s, p, o, m) BOOST_PP_IF(p(198, s), m, BOOST_PP_TUPLE_EAT_2)(198, s) BOOST_PP_IF(p(198, s), BOOST_PP_FOR_198, BOOST_PP_TUPLE_EAT_4)(o(198, s), p, o, m)
-# define BOOST_PP_FOR_198(s, p, o, m) BOOST_PP_IF(p(199, s), m, BOOST_PP_TUPLE_EAT_2)(199, s) BOOST_PP_IF(p(199, s), BOOST_PP_FOR_199, BOOST_PP_TUPLE_EAT_4)(o(199, s), p, o, m)
-# define BOOST_PP_FOR_199(s, p, o, m) BOOST_PP_IF(p(200, s), m, BOOST_PP_TUPLE_EAT_2)(200, s) BOOST_PP_IF(p(200, s), BOOST_PP_FOR_200, BOOST_PP_TUPLE_EAT_4)(o(200, s), p, o, m)
-# define BOOST_PP_FOR_200(s, p, o, m) BOOST_PP_IF(p(201, s), m, BOOST_PP_TUPLE_EAT_2)(201, s) BOOST_PP_IF(p(201, s), BOOST_PP_FOR_201, BOOST_PP_TUPLE_EAT_4)(o(201, s), p, o, m)
-# define BOOST_PP_FOR_201(s, p, o, m) BOOST_PP_IF(p(202, s), m, BOOST_PP_TUPLE_EAT_2)(202, s) BOOST_PP_IF(p(202, s), BOOST_PP_FOR_202, BOOST_PP_TUPLE_EAT_4)(o(202, s), p, o, m)
-# define BOOST_PP_FOR_202(s, p, o, m) BOOST_PP_IF(p(203, s), m, BOOST_PP_TUPLE_EAT_2)(203, s) BOOST_PP_IF(p(203, s), BOOST_PP_FOR_203, BOOST_PP_TUPLE_EAT_4)(o(203, s), p, o, m)
-# define BOOST_PP_FOR_203(s, p, o, m) BOOST_PP_IF(p(204, s), m, BOOST_PP_TUPLE_EAT_2)(204, s) BOOST_PP_IF(p(204, s), BOOST_PP_FOR_204, BOOST_PP_TUPLE_EAT_4)(o(204, s), p, o, m)
-# define BOOST_PP_FOR_204(s, p, o, m) BOOST_PP_IF(p(205, s), m, BOOST_PP_TUPLE_EAT_2)(205, s) BOOST_PP_IF(p(205, s), BOOST_PP_FOR_205, BOOST_PP_TUPLE_EAT_4)(o(205, s), p, o, m)
-# define BOOST_PP_FOR_205(s, p, o, m) BOOST_PP_IF(p(206, s), m, BOOST_PP_TUPLE_EAT_2)(206, s) BOOST_PP_IF(p(206, s), BOOST_PP_FOR_206, BOOST_PP_TUPLE_EAT_4)(o(206, s), p, o, m)
-# define BOOST_PP_FOR_206(s, p, o, m) BOOST_PP_IF(p(207, s), m, BOOST_PP_TUPLE_EAT_2)(207, s) BOOST_PP_IF(p(207, s), BOOST_PP_FOR_207, BOOST_PP_TUPLE_EAT_4)(o(207, s), p, o, m)
-# define BOOST_PP_FOR_207(s, p, o, m) BOOST_PP_IF(p(208, s), m, BOOST_PP_TUPLE_EAT_2)(208, s) BOOST_PP_IF(p(208, s), BOOST_PP_FOR_208, BOOST_PP_TUPLE_EAT_4)(o(208, s), p, o, m)
-# define BOOST_PP_FOR_208(s, p, o, m) BOOST_PP_IF(p(209, s), m, BOOST_PP_TUPLE_EAT_2)(209, s) BOOST_PP_IF(p(209, s), BOOST_PP_FOR_209, BOOST_PP_TUPLE_EAT_4)(o(209, s), p, o, m)
-# define BOOST_PP_FOR_209(s, p, o, m) BOOST_PP_IF(p(210, s), m, BOOST_PP_TUPLE_EAT_2)(210, s) BOOST_PP_IF(p(210, s), BOOST_PP_FOR_210, BOOST_PP_TUPLE_EAT_4)(o(210, s), p, o, m)
-# define BOOST_PP_FOR_210(s, p, o, m) BOOST_PP_IF(p(211, s), m, BOOST_PP_TUPLE_EAT_2)(211, s) BOOST_PP_IF(p(211, s), BOOST_PP_FOR_211, BOOST_PP_TUPLE_EAT_4)(o(211, s), p, o, m)
-# define BOOST_PP_FOR_211(s, p, o, m) BOOST_PP_IF(p(212, s), m, BOOST_PP_TUPLE_EAT_2)(212, s) BOOST_PP_IF(p(212, s), BOOST_PP_FOR_212, BOOST_PP_TUPLE_EAT_4)(o(212, s), p, o, m)
-# define BOOST_PP_FOR_212(s, p, o, m) BOOST_PP_IF(p(213, s), m, BOOST_PP_TUPLE_EAT_2)(213, s) BOOST_PP_IF(p(213, s), BOOST_PP_FOR_213, BOOST_PP_TUPLE_EAT_4)(o(213, s), p, o, m)
-# define BOOST_PP_FOR_213(s, p, o, m) BOOST_PP_IF(p(214, s), m, BOOST_PP_TUPLE_EAT_2)(214, s) BOOST_PP_IF(p(214, s), BOOST_PP_FOR_214, BOOST_PP_TUPLE_EAT_4)(o(214, s), p, o, m)
-# define BOOST_PP_FOR_214(s, p, o, m) BOOST_PP_IF(p(215, s), m, BOOST_PP_TUPLE_EAT_2)(215, s) BOOST_PP_IF(p(215, s), BOOST_PP_FOR_215, BOOST_PP_TUPLE_EAT_4)(o(215, s), p, o, m)
-# define BOOST_PP_FOR_215(s, p, o, m) BOOST_PP_IF(p(216, s), m, BOOST_PP_TUPLE_EAT_2)(216, s) BOOST_PP_IF(p(216, s), BOOST_PP_FOR_216, BOOST_PP_TUPLE_EAT_4)(o(216, s), p, o, m)
-# define BOOST_PP_FOR_216(s, p, o, m) BOOST_PP_IF(p(217, s), m, BOOST_PP_TUPLE_EAT_2)(217, s) BOOST_PP_IF(p(217, s), BOOST_PP_FOR_217, BOOST_PP_TUPLE_EAT_4)(o(217, s), p, o, m)
-# define BOOST_PP_FOR_217(s, p, o, m) BOOST_PP_IF(p(218, s), m, BOOST_PP_TUPLE_EAT_2)(218, s) BOOST_PP_IF(p(218, s), BOOST_PP_FOR_218, BOOST_PP_TUPLE_EAT_4)(o(218, s), p, o, m)
-# define BOOST_PP_FOR_218(s, p, o, m) BOOST_PP_IF(p(219, s), m, BOOST_PP_TUPLE_EAT_2)(219, s) BOOST_PP_IF(p(219, s), BOOST_PP_FOR_219, BOOST_PP_TUPLE_EAT_4)(o(219, s), p, o, m)
-# define BOOST_PP_FOR_219(s, p, o, m) BOOST_PP_IF(p(220, s), m, BOOST_PP_TUPLE_EAT_2)(220, s) BOOST_PP_IF(p(220, s), BOOST_PP_FOR_220, BOOST_PP_TUPLE_EAT_4)(o(220, s), p, o, m)
-# define BOOST_PP_FOR_220(s, p, o, m) BOOST_PP_IF(p(221, s), m, BOOST_PP_TUPLE_EAT_2)(221, s) BOOST_PP_IF(p(221, s), BOOST_PP_FOR_221, BOOST_PP_TUPLE_EAT_4)(o(221, s), p, o, m)
-# define BOOST_PP_FOR_221(s, p, o, m) BOOST_PP_IF(p(222, s), m, BOOST_PP_TUPLE_EAT_2)(222, s) BOOST_PP_IF(p(222, s), BOOST_PP_FOR_222, BOOST_PP_TUPLE_EAT_4)(o(222, s), p, o, m)
-# define BOOST_PP_FOR_222(s, p, o, m) BOOST_PP_IF(p(223, s), m, BOOST_PP_TUPLE_EAT_2)(223, s) BOOST_PP_IF(p(223, s), BOOST_PP_FOR_223, BOOST_PP_TUPLE_EAT_4)(o(223, s), p, o, m)
-# define BOOST_PP_FOR_223(s, p, o, m) BOOST_PP_IF(p(224, s), m, BOOST_PP_TUPLE_EAT_2)(224, s) BOOST_PP_IF(p(224, s), BOOST_PP_FOR_224, BOOST_PP_TUPLE_EAT_4)(o(224, s), p, o, m)
-# define BOOST_PP_FOR_224(s, p, o, m) BOOST_PP_IF(p(225, s), m, BOOST_PP_TUPLE_EAT_2)(225, s) BOOST_PP_IF(p(225, s), BOOST_PP_FOR_225, BOOST_PP_TUPLE_EAT_4)(o(225, s), p, o, m)
-# define BOOST_PP_FOR_225(s, p, o, m) BOOST_PP_IF(p(226, s), m, BOOST_PP_TUPLE_EAT_2)(226, s) BOOST_PP_IF(p(226, s), BOOST_PP_FOR_226, BOOST_PP_TUPLE_EAT_4)(o(226, s), p, o, m)
-# define BOOST_PP_FOR_226(s, p, o, m) BOOST_PP_IF(p(227, s), m, BOOST_PP_TUPLE_EAT_2)(227, s) BOOST_PP_IF(p(227, s), BOOST_PP_FOR_227, BOOST_PP_TUPLE_EAT_4)(o(227, s), p, o, m)
-# define BOOST_PP_FOR_227(s, p, o, m) BOOST_PP_IF(p(228, s), m, BOOST_PP_TUPLE_EAT_2)(228, s) BOOST_PP_IF(p(228, s), BOOST_PP_FOR_228, BOOST_PP_TUPLE_EAT_4)(o(228, s), p, o, m)
-# define BOOST_PP_FOR_228(s, p, o, m) BOOST_PP_IF(p(229, s), m, BOOST_PP_TUPLE_EAT_2)(229, s) BOOST_PP_IF(p(229, s), BOOST_PP_FOR_229, BOOST_PP_TUPLE_EAT_4)(o(229, s), p, o, m)
-# define BOOST_PP_FOR_229(s, p, o, m) BOOST_PP_IF(p(230, s), m, BOOST_PP_TUPLE_EAT_2)(230, s) BOOST_PP_IF(p(230, s), BOOST_PP_FOR_230, BOOST_PP_TUPLE_EAT_4)(o(230, s), p, o, m)
-# define BOOST_PP_FOR_230(s, p, o, m) BOOST_PP_IF(p(231, s), m, BOOST_PP_TUPLE_EAT_2)(231, s) BOOST_PP_IF(p(231, s), BOOST_PP_FOR_231, BOOST_PP_TUPLE_EAT_4)(o(231, s), p, o, m)
-# define BOOST_PP_FOR_231(s, p, o, m) BOOST_PP_IF(p(232, s), m, BOOST_PP_TUPLE_EAT_2)(232, s) BOOST_PP_IF(p(232, s), BOOST_PP_FOR_232, BOOST_PP_TUPLE_EAT_4)(o(232, s), p, o, m)
-# define BOOST_PP_FOR_232(s, p, o, m) BOOST_PP_IF(p(233, s), m, BOOST_PP_TUPLE_EAT_2)(233, s) BOOST_PP_IF(p(233, s), BOOST_PP_FOR_233, BOOST_PP_TUPLE_EAT_4)(o(233, s), p, o, m)
-# define BOOST_PP_FOR_233(s, p, o, m) BOOST_PP_IF(p(234, s), m, BOOST_PP_TUPLE_EAT_2)(234, s) BOOST_PP_IF(p(234, s), BOOST_PP_FOR_234, BOOST_PP_TUPLE_EAT_4)(o(234, s), p, o, m)
-# define BOOST_PP_FOR_234(s, p, o, m) BOOST_PP_IF(p(235, s), m, BOOST_PP_TUPLE_EAT_2)(235, s) BOOST_PP_IF(p(235, s), BOOST_PP_FOR_235, BOOST_PP_TUPLE_EAT_4)(o(235, s), p, o, m)
-# define BOOST_PP_FOR_235(s, p, o, m) BOOST_PP_IF(p(236, s), m, BOOST_PP_TUPLE_EAT_2)(236, s) BOOST_PP_IF(p(236, s), BOOST_PP_FOR_236, BOOST_PP_TUPLE_EAT_4)(o(236, s), p, o, m)
-# define BOOST_PP_FOR_236(s, p, o, m) BOOST_PP_IF(p(237, s), m, BOOST_PP_TUPLE_EAT_2)(237, s) BOOST_PP_IF(p(237, s), BOOST_PP_FOR_237, BOOST_PP_TUPLE_EAT_4)(o(237, s), p, o, m)
-# define BOOST_PP_FOR_237(s, p, o, m) BOOST_PP_IF(p(238, s), m, BOOST_PP_TUPLE_EAT_2)(238, s) BOOST_PP_IF(p(238, s), BOOST_PP_FOR_238, BOOST_PP_TUPLE_EAT_4)(o(238, s), p, o, m)
-# define BOOST_PP_FOR_238(s, p, o, m) BOOST_PP_IF(p(239, s), m, BOOST_PP_TUPLE_EAT_2)(239, s) BOOST_PP_IF(p(239, s), BOOST_PP_FOR_239, BOOST_PP_TUPLE_EAT_4)(o(239, s), p, o, m)
-# define BOOST_PP_FOR_239(s, p, o, m) BOOST_PP_IF(p(240, s), m, BOOST_PP_TUPLE_EAT_2)(240, s) BOOST_PP_IF(p(240, s), BOOST_PP_FOR_240, BOOST_PP_TUPLE_EAT_4)(o(240, s), p, o, m)
-# define BOOST_PP_FOR_240(s, p, o, m) BOOST_PP_IF(p(241, s), m, BOOST_PP_TUPLE_EAT_2)(241, s) BOOST_PP_IF(p(241, s), BOOST_PP_FOR_241, BOOST_PP_TUPLE_EAT_4)(o(241, s), p, o, m)
-# define BOOST_PP_FOR_241(s, p, o, m) BOOST_PP_IF(p(242, s), m, BOOST_PP_TUPLE_EAT_2)(242, s) BOOST_PP_IF(p(242, s), BOOST_PP_FOR_242, BOOST_PP_TUPLE_EAT_4)(o(242, s), p, o, m)
-# define BOOST_PP_FOR_242(s, p, o, m) BOOST_PP_IF(p(243, s), m, BOOST_PP_TUPLE_EAT_2)(243, s) BOOST_PP_IF(p(243, s), BOOST_PP_FOR_243, BOOST_PP_TUPLE_EAT_4)(o(243, s), p, o, m)
-# define BOOST_PP_FOR_243(s, p, o, m) BOOST_PP_IF(p(244, s), m, BOOST_PP_TUPLE_EAT_2)(244, s) BOOST_PP_IF(p(244, s), BOOST_PP_FOR_244, BOOST_PP_TUPLE_EAT_4)(o(244, s), p, o, m)
-# define BOOST_PP_FOR_244(s, p, o, m) BOOST_PP_IF(p(245, s), m, BOOST_PP_TUPLE_EAT_2)(245, s) BOOST_PP_IF(p(245, s), BOOST_PP_FOR_245, BOOST_PP_TUPLE_EAT_4)(o(245, s), p, o, m)
-# define BOOST_PP_FOR_245(s, p, o, m) BOOST_PP_IF(p(246, s), m, BOOST_PP_TUPLE_EAT_2)(246, s) BOOST_PP_IF(p(246, s), BOOST_PP_FOR_246, BOOST_PP_TUPLE_EAT_4)(o(246, s), p, o, m)
-# define BOOST_PP_FOR_246(s, p, o, m) BOOST_PP_IF(p(247, s), m, BOOST_PP_TUPLE_EAT_2)(247, s) BOOST_PP_IF(p(247, s), BOOST_PP_FOR_247, BOOST_PP_TUPLE_EAT_4)(o(247, s), p, o, m)
-# define BOOST_PP_FOR_247(s, p, o, m) BOOST_PP_IF(p(248, s), m, BOOST_PP_TUPLE_EAT_2)(248, s) BOOST_PP_IF(p(248, s), BOOST_PP_FOR_248, BOOST_PP_TUPLE_EAT_4)(o(248, s), p, o, m)
-# define BOOST_PP_FOR_248(s, p, o, m) BOOST_PP_IF(p(249, s), m, BOOST_PP_TUPLE_EAT_2)(249, s) BOOST_PP_IF(p(249, s), BOOST_PP_FOR_249, BOOST_PP_TUPLE_EAT_4)(o(249, s), p, o, m)
-# define BOOST_PP_FOR_249(s, p, o, m) BOOST_PP_IF(p(250, s), m, BOOST_PP_TUPLE_EAT_2)(250, s) BOOST_PP_IF(p(250, s), BOOST_PP_FOR_250, BOOST_PP_TUPLE_EAT_4)(o(250, s), p, o, m)
-# define BOOST_PP_FOR_250(s, p, o, m) BOOST_PP_IF(p(251, s), m, BOOST_PP_TUPLE_EAT_2)(251, s) BOOST_PP_IF(p(251, s), BOOST_PP_FOR_251, BOOST_PP_TUPLE_EAT_4)(o(251, s), p, o, m)
-# define BOOST_PP_FOR_251(s, p, o, m) BOOST_PP_IF(p(252, s), m, BOOST_PP_TUPLE_EAT_2)(252, s) BOOST_PP_IF(p(252, s), BOOST_PP_FOR_252, BOOST_PP_TUPLE_EAT_4)(o(252, s), p, o, m)
-# define BOOST_PP_FOR_252(s, p, o, m) BOOST_PP_IF(p(253, s), m, BOOST_PP_TUPLE_EAT_2)(253, s) BOOST_PP_IF(p(253, s), BOOST_PP_FOR_253, BOOST_PP_TUPLE_EAT_4)(o(253, s), p, o, m)
-# define BOOST_PP_FOR_253(s, p, o, m) BOOST_PP_IF(p(254, s), m, BOOST_PP_TUPLE_EAT_2)(254, s) BOOST_PP_IF(p(254, s), BOOST_PP_FOR_254, BOOST_PP_TUPLE_EAT_4)(o(254, s), p, o, m)
-# define BOOST_PP_FOR_254(s, p, o, m) BOOST_PP_IF(p(255, s), m, BOOST_PP_TUPLE_EAT_2)(255, s) BOOST_PP_IF(p(255, s), BOOST_PP_FOR_255, BOOST_PP_TUPLE_EAT_4)(o(255, s), p, o, m)
-# define BOOST_PP_FOR_255(s, p, o, m) BOOST_PP_IF(p(256, s), m, BOOST_PP_TUPLE_EAT_2)(256, s) BOOST_PP_IF(p(256, s), BOOST_PP_FOR_256, BOOST_PP_TUPLE_EAT_4)(o(256, s), p, o, m)
-# define BOOST_PP_FOR_256(s, p, o, m) BOOST_PP_IF(p(257, s), m, BOOST_PP_TUPLE_EAT_2)(257, s) BOOST_PP_IF(p(257, s), BOOST_PP_FOR_257, BOOST_PP_TUPLE_EAT_4)(o(257, s), p, o, m)
+# define NDNBOOST_PP_FOR_1(s, p, o, m) NDNBOOST_PP_IF(p(2, s), m, NDNBOOST_PP_TUPLE_EAT_2)(2, s) NDNBOOST_PP_IF(p(2, s), NDNBOOST_PP_FOR_2, NDNBOOST_PP_TUPLE_EAT_4)(o(2, s), p, o, m)
+# define NDNBOOST_PP_FOR_2(s, p, o, m) NDNBOOST_PP_IF(p(3, s), m, NDNBOOST_PP_TUPLE_EAT_2)(3, s) NDNBOOST_PP_IF(p(3, s), NDNBOOST_PP_FOR_3, NDNBOOST_PP_TUPLE_EAT_4)(o(3, s), p, o, m)
+# define NDNBOOST_PP_FOR_3(s, p, o, m) NDNBOOST_PP_IF(p(4, s), m, NDNBOOST_PP_TUPLE_EAT_2)(4, s) NDNBOOST_PP_IF(p(4, s), NDNBOOST_PP_FOR_4, NDNBOOST_PP_TUPLE_EAT_4)(o(4, s), p, o, m)
+# define NDNBOOST_PP_FOR_4(s, p, o, m) NDNBOOST_PP_IF(p(5, s), m, NDNBOOST_PP_TUPLE_EAT_2)(5, s) NDNBOOST_PP_IF(p(5, s), NDNBOOST_PP_FOR_5, NDNBOOST_PP_TUPLE_EAT_4)(o(5, s), p, o, m)
+# define NDNBOOST_PP_FOR_5(s, p, o, m) NDNBOOST_PP_IF(p(6, s), m, NDNBOOST_PP_TUPLE_EAT_2)(6, s) NDNBOOST_PP_IF(p(6, s), NDNBOOST_PP_FOR_6, NDNBOOST_PP_TUPLE_EAT_4)(o(6, s), p, o, m)
+# define NDNBOOST_PP_FOR_6(s, p, o, m) NDNBOOST_PP_IF(p(7, s), m, NDNBOOST_PP_TUPLE_EAT_2)(7, s) NDNBOOST_PP_IF(p(7, s), NDNBOOST_PP_FOR_7, NDNBOOST_PP_TUPLE_EAT_4)(o(7, s), p, o, m)
+# define NDNBOOST_PP_FOR_7(s, p, o, m) NDNBOOST_PP_IF(p(8, s), m, NDNBOOST_PP_TUPLE_EAT_2)(8, s) NDNBOOST_PP_IF(p(8, s), NDNBOOST_PP_FOR_8, NDNBOOST_PP_TUPLE_EAT_4)(o(8, s), p, o, m)
+# define NDNBOOST_PP_FOR_8(s, p, o, m) NDNBOOST_PP_IF(p(9, s), m, NDNBOOST_PP_TUPLE_EAT_2)(9, s) NDNBOOST_PP_IF(p(9, s), NDNBOOST_PP_FOR_9, NDNBOOST_PP_TUPLE_EAT_4)(o(9, s), p, o, m)
+# define NDNBOOST_PP_FOR_9(s, p, o, m) NDNBOOST_PP_IF(p(10, s), m, NDNBOOST_PP_TUPLE_EAT_2)(10, s) NDNBOOST_PP_IF(p(10, s), NDNBOOST_PP_FOR_10, NDNBOOST_PP_TUPLE_EAT_4)(o(10, s), p, o, m)
+# define NDNBOOST_PP_FOR_10(s, p, o, m) NDNBOOST_PP_IF(p(11, s), m, NDNBOOST_PP_TUPLE_EAT_2)(11, s) NDNBOOST_PP_IF(p(11, s), NDNBOOST_PP_FOR_11, NDNBOOST_PP_TUPLE_EAT_4)(o(11, s), p, o, m)
+# define NDNBOOST_PP_FOR_11(s, p, o, m) NDNBOOST_PP_IF(p(12, s), m, NDNBOOST_PP_TUPLE_EAT_2)(12, s) NDNBOOST_PP_IF(p(12, s), NDNBOOST_PP_FOR_12, NDNBOOST_PP_TUPLE_EAT_4)(o(12, s), p, o, m)
+# define NDNBOOST_PP_FOR_12(s, p, o, m) NDNBOOST_PP_IF(p(13, s), m, NDNBOOST_PP_TUPLE_EAT_2)(13, s) NDNBOOST_PP_IF(p(13, s), NDNBOOST_PP_FOR_13, NDNBOOST_PP_TUPLE_EAT_4)(o(13, s), p, o, m)
+# define NDNBOOST_PP_FOR_13(s, p, o, m) NDNBOOST_PP_IF(p(14, s), m, NDNBOOST_PP_TUPLE_EAT_2)(14, s) NDNBOOST_PP_IF(p(14, s), NDNBOOST_PP_FOR_14, NDNBOOST_PP_TUPLE_EAT_4)(o(14, s), p, o, m)
+# define NDNBOOST_PP_FOR_14(s, p, o, m) NDNBOOST_PP_IF(p(15, s), m, NDNBOOST_PP_TUPLE_EAT_2)(15, s) NDNBOOST_PP_IF(p(15, s), NDNBOOST_PP_FOR_15, NDNBOOST_PP_TUPLE_EAT_4)(o(15, s), p, o, m)
+# define NDNBOOST_PP_FOR_15(s, p, o, m) NDNBOOST_PP_IF(p(16, s), m, NDNBOOST_PP_TUPLE_EAT_2)(16, s) NDNBOOST_PP_IF(p(16, s), NDNBOOST_PP_FOR_16, NDNBOOST_PP_TUPLE_EAT_4)(o(16, s), p, o, m)
+# define NDNBOOST_PP_FOR_16(s, p, o, m) NDNBOOST_PP_IF(p(17, s), m, NDNBOOST_PP_TUPLE_EAT_2)(17, s) NDNBOOST_PP_IF(p(17, s), NDNBOOST_PP_FOR_17, NDNBOOST_PP_TUPLE_EAT_4)(o(17, s), p, o, m)
+# define NDNBOOST_PP_FOR_17(s, p, o, m) NDNBOOST_PP_IF(p(18, s), m, NDNBOOST_PP_TUPLE_EAT_2)(18, s) NDNBOOST_PP_IF(p(18, s), NDNBOOST_PP_FOR_18, NDNBOOST_PP_TUPLE_EAT_4)(o(18, s), p, o, m)
+# define NDNBOOST_PP_FOR_18(s, p, o, m) NDNBOOST_PP_IF(p(19, s), m, NDNBOOST_PP_TUPLE_EAT_2)(19, s) NDNBOOST_PP_IF(p(19, s), NDNBOOST_PP_FOR_19, NDNBOOST_PP_TUPLE_EAT_4)(o(19, s), p, o, m)
+# define NDNBOOST_PP_FOR_19(s, p, o, m) NDNBOOST_PP_IF(p(20, s), m, NDNBOOST_PP_TUPLE_EAT_2)(20, s) NDNBOOST_PP_IF(p(20, s), NDNBOOST_PP_FOR_20, NDNBOOST_PP_TUPLE_EAT_4)(o(20, s), p, o, m)
+# define NDNBOOST_PP_FOR_20(s, p, o, m) NDNBOOST_PP_IF(p(21, s), m, NDNBOOST_PP_TUPLE_EAT_2)(21, s) NDNBOOST_PP_IF(p(21, s), NDNBOOST_PP_FOR_21, NDNBOOST_PP_TUPLE_EAT_4)(o(21, s), p, o, m)
+# define NDNBOOST_PP_FOR_21(s, p, o, m) NDNBOOST_PP_IF(p(22, s), m, NDNBOOST_PP_TUPLE_EAT_2)(22, s) NDNBOOST_PP_IF(p(22, s), NDNBOOST_PP_FOR_22, NDNBOOST_PP_TUPLE_EAT_4)(o(22, s), p, o, m)
+# define NDNBOOST_PP_FOR_22(s, p, o, m) NDNBOOST_PP_IF(p(23, s), m, NDNBOOST_PP_TUPLE_EAT_2)(23, s) NDNBOOST_PP_IF(p(23, s), NDNBOOST_PP_FOR_23, NDNBOOST_PP_TUPLE_EAT_4)(o(23, s), p, o, m)
+# define NDNBOOST_PP_FOR_23(s, p, o, m) NDNBOOST_PP_IF(p(24, s), m, NDNBOOST_PP_TUPLE_EAT_2)(24, s) NDNBOOST_PP_IF(p(24, s), NDNBOOST_PP_FOR_24, NDNBOOST_PP_TUPLE_EAT_4)(o(24, s), p, o, m)
+# define NDNBOOST_PP_FOR_24(s, p, o, m) NDNBOOST_PP_IF(p(25, s), m, NDNBOOST_PP_TUPLE_EAT_2)(25, s) NDNBOOST_PP_IF(p(25, s), NDNBOOST_PP_FOR_25, NDNBOOST_PP_TUPLE_EAT_4)(o(25, s), p, o, m)
+# define NDNBOOST_PP_FOR_25(s, p, o, m) NDNBOOST_PP_IF(p(26, s), m, NDNBOOST_PP_TUPLE_EAT_2)(26, s) NDNBOOST_PP_IF(p(26, s), NDNBOOST_PP_FOR_26, NDNBOOST_PP_TUPLE_EAT_4)(o(26, s), p, o, m)
+# define NDNBOOST_PP_FOR_26(s, p, o, m) NDNBOOST_PP_IF(p(27, s), m, NDNBOOST_PP_TUPLE_EAT_2)(27, s) NDNBOOST_PP_IF(p(27, s), NDNBOOST_PP_FOR_27, NDNBOOST_PP_TUPLE_EAT_4)(o(27, s), p, o, m)
+# define NDNBOOST_PP_FOR_27(s, p, o, m) NDNBOOST_PP_IF(p(28, s), m, NDNBOOST_PP_TUPLE_EAT_2)(28, s) NDNBOOST_PP_IF(p(28, s), NDNBOOST_PP_FOR_28, NDNBOOST_PP_TUPLE_EAT_4)(o(28, s), p, o, m)
+# define NDNBOOST_PP_FOR_28(s, p, o, m) NDNBOOST_PP_IF(p(29, s), m, NDNBOOST_PP_TUPLE_EAT_2)(29, s) NDNBOOST_PP_IF(p(29, s), NDNBOOST_PP_FOR_29, NDNBOOST_PP_TUPLE_EAT_4)(o(29, s), p, o, m)
+# define NDNBOOST_PP_FOR_29(s, p, o, m) NDNBOOST_PP_IF(p(30, s), m, NDNBOOST_PP_TUPLE_EAT_2)(30, s) NDNBOOST_PP_IF(p(30, s), NDNBOOST_PP_FOR_30, NDNBOOST_PP_TUPLE_EAT_4)(o(30, s), p, o, m)
+# define NDNBOOST_PP_FOR_30(s, p, o, m) NDNBOOST_PP_IF(p(31, s), m, NDNBOOST_PP_TUPLE_EAT_2)(31, s) NDNBOOST_PP_IF(p(31, s), NDNBOOST_PP_FOR_31, NDNBOOST_PP_TUPLE_EAT_4)(o(31, s), p, o, m)
+# define NDNBOOST_PP_FOR_31(s, p, o, m) NDNBOOST_PP_IF(p(32, s), m, NDNBOOST_PP_TUPLE_EAT_2)(32, s) NDNBOOST_PP_IF(p(32, s), NDNBOOST_PP_FOR_32, NDNBOOST_PP_TUPLE_EAT_4)(o(32, s), p, o, m)
+# define NDNBOOST_PP_FOR_32(s, p, o, m) NDNBOOST_PP_IF(p(33, s), m, NDNBOOST_PP_TUPLE_EAT_2)(33, s) NDNBOOST_PP_IF(p(33, s), NDNBOOST_PP_FOR_33, NDNBOOST_PP_TUPLE_EAT_4)(o(33, s), p, o, m)
+# define NDNBOOST_PP_FOR_33(s, p, o, m) NDNBOOST_PP_IF(p(34, s), m, NDNBOOST_PP_TUPLE_EAT_2)(34, s) NDNBOOST_PP_IF(p(34, s), NDNBOOST_PP_FOR_34, NDNBOOST_PP_TUPLE_EAT_4)(o(34, s), p, o, m)
+# define NDNBOOST_PP_FOR_34(s, p, o, m) NDNBOOST_PP_IF(p(35, s), m, NDNBOOST_PP_TUPLE_EAT_2)(35, s) NDNBOOST_PP_IF(p(35, s), NDNBOOST_PP_FOR_35, NDNBOOST_PP_TUPLE_EAT_4)(o(35, s), p, o, m)
+# define NDNBOOST_PP_FOR_35(s, p, o, m) NDNBOOST_PP_IF(p(36, s), m, NDNBOOST_PP_TUPLE_EAT_2)(36, s) NDNBOOST_PP_IF(p(36, s), NDNBOOST_PP_FOR_36, NDNBOOST_PP_TUPLE_EAT_4)(o(36, s), p, o, m)
+# define NDNBOOST_PP_FOR_36(s, p, o, m) NDNBOOST_PP_IF(p(37, s), m, NDNBOOST_PP_TUPLE_EAT_2)(37, s) NDNBOOST_PP_IF(p(37, s), NDNBOOST_PP_FOR_37, NDNBOOST_PP_TUPLE_EAT_4)(o(37, s), p, o, m)
+# define NDNBOOST_PP_FOR_37(s, p, o, m) NDNBOOST_PP_IF(p(38, s), m, NDNBOOST_PP_TUPLE_EAT_2)(38, s) NDNBOOST_PP_IF(p(38, s), NDNBOOST_PP_FOR_38, NDNBOOST_PP_TUPLE_EAT_4)(o(38, s), p, o, m)
+# define NDNBOOST_PP_FOR_38(s, p, o, m) NDNBOOST_PP_IF(p(39, s), m, NDNBOOST_PP_TUPLE_EAT_2)(39, s) NDNBOOST_PP_IF(p(39, s), NDNBOOST_PP_FOR_39, NDNBOOST_PP_TUPLE_EAT_4)(o(39, s), p, o, m)
+# define NDNBOOST_PP_FOR_39(s, p, o, m) NDNBOOST_PP_IF(p(40, s), m, NDNBOOST_PP_TUPLE_EAT_2)(40, s) NDNBOOST_PP_IF(p(40, s), NDNBOOST_PP_FOR_40, NDNBOOST_PP_TUPLE_EAT_4)(o(40, s), p, o, m)
+# define NDNBOOST_PP_FOR_40(s, p, o, m) NDNBOOST_PP_IF(p(41, s), m, NDNBOOST_PP_TUPLE_EAT_2)(41, s) NDNBOOST_PP_IF(p(41, s), NDNBOOST_PP_FOR_41, NDNBOOST_PP_TUPLE_EAT_4)(o(41, s), p, o, m)
+# define NDNBOOST_PP_FOR_41(s, p, o, m) NDNBOOST_PP_IF(p(42, s), m, NDNBOOST_PP_TUPLE_EAT_2)(42, s) NDNBOOST_PP_IF(p(42, s), NDNBOOST_PP_FOR_42, NDNBOOST_PP_TUPLE_EAT_4)(o(42, s), p, o, m)
+# define NDNBOOST_PP_FOR_42(s, p, o, m) NDNBOOST_PP_IF(p(43, s), m, NDNBOOST_PP_TUPLE_EAT_2)(43, s) NDNBOOST_PP_IF(p(43, s), NDNBOOST_PP_FOR_43, NDNBOOST_PP_TUPLE_EAT_4)(o(43, s), p, o, m)
+# define NDNBOOST_PP_FOR_43(s, p, o, m) NDNBOOST_PP_IF(p(44, s), m, NDNBOOST_PP_TUPLE_EAT_2)(44, s) NDNBOOST_PP_IF(p(44, s), NDNBOOST_PP_FOR_44, NDNBOOST_PP_TUPLE_EAT_4)(o(44, s), p, o, m)
+# define NDNBOOST_PP_FOR_44(s, p, o, m) NDNBOOST_PP_IF(p(45, s), m, NDNBOOST_PP_TUPLE_EAT_2)(45, s) NDNBOOST_PP_IF(p(45, s), NDNBOOST_PP_FOR_45, NDNBOOST_PP_TUPLE_EAT_4)(o(45, s), p, o, m)
+# define NDNBOOST_PP_FOR_45(s, p, o, m) NDNBOOST_PP_IF(p(46, s), m, NDNBOOST_PP_TUPLE_EAT_2)(46, s) NDNBOOST_PP_IF(p(46, s), NDNBOOST_PP_FOR_46, NDNBOOST_PP_TUPLE_EAT_4)(o(46, s), p, o, m)
+# define NDNBOOST_PP_FOR_46(s, p, o, m) NDNBOOST_PP_IF(p(47, s), m, NDNBOOST_PP_TUPLE_EAT_2)(47, s) NDNBOOST_PP_IF(p(47, s), NDNBOOST_PP_FOR_47, NDNBOOST_PP_TUPLE_EAT_4)(o(47, s), p, o, m)
+# define NDNBOOST_PP_FOR_47(s, p, o, m) NDNBOOST_PP_IF(p(48, s), m, NDNBOOST_PP_TUPLE_EAT_2)(48, s) NDNBOOST_PP_IF(p(48, s), NDNBOOST_PP_FOR_48, NDNBOOST_PP_TUPLE_EAT_4)(o(48, s), p, o, m)
+# define NDNBOOST_PP_FOR_48(s, p, o, m) NDNBOOST_PP_IF(p(49, s), m, NDNBOOST_PP_TUPLE_EAT_2)(49, s) NDNBOOST_PP_IF(p(49, s), NDNBOOST_PP_FOR_49, NDNBOOST_PP_TUPLE_EAT_4)(o(49, s), p, o, m)
+# define NDNBOOST_PP_FOR_49(s, p, o, m) NDNBOOST_PP_IF(p(50, s), m, NDNBOOST_PP_TUPLE_EAT_2)(50, s) NDNBOOST_PP_IF(p(50, s), NDNBOOST_PP_FOR_50, NDNBOOST_PP_TUPLE_EAT_4)(o(50, s), p, o, m)
+# define NDNBOOST_PP_FOR_50(s, p, o, m) NDNBOOST_PP_IF(p(51, s), m, NDNBOOST_PP_TUPLE_EAT_2)(51, s) NDNBOOST_PP_IF(p(51, s), NDNBOOST_PP_FOR_51, NDNBOOST_PP_TUPLE_EAT_4)(o(51, s), p, o, m)
+# define NDNBOOST_PP_FOR_51(s, p, o, m) NDNBOOST_PP_IF(p(52, s), m, NDNBOOST_PP_TUPLE_EAT_2)(52, s) NDNBOOST_PP_IF(p(52, s), NDNBOOST_PP_FOR_52, NDNBOOST_PP_TUPLE_EAT_4)(o(52, s), p, o, m)
+# define NDNBOOST_PP_FOR_52(s, p, o, m) NDNBOOST_PP_IF(p(53, s), m, NDNBOOST_PP_TUPLE_EAT_2)(53, s) NDNBOOST_PP_IF(p(53, s), NDNBOOST_PP_FOR_53, NDNBOOST_PP_TUPLE_EAT_4)(o(53, s), p, o, m)
+# define NDNBOOST_PP_FOR_53(s, p, o, m) NDNBOOST_PP_IF(p(54, s), m, NDNBOOST_PP_TUPLE_EAT_2)(54, s) NDNBOOST_PP_IF(p(54, s), NDNBOOST_PP_FOR_54, NDNBOOST_PP_TUPLE_EAT_4)(o(54, s), p, o, m)
+# define NDNBOOST_PP_FOR_54(s, p, o, m) NDNBOOST_PP_IF(p(55, s), m, NDNBOOST_PP_TUPLE_EAT_2)(55, s) NDNBOOST_PP_IF(p(55, s), NDNBOOST_PP_FOR_55, NDNBOOST_PP_TUPLE_EAT_4)(o(55, s), p, o, m)
+# define NDNBOOST_PP_FOR_55(s, p, o, m) NDNBOOST_PP_IF(p(56, s), m, NDNBOOST_PP_TUPLE_EAT_2)(56, s) NDNBOOST_PP_IF(p(56, s), NDNBOOST_PP_FOR_56, NDNBOOST_PP_TUPLE_EAT_4)(o(56, s), p, o, m)
+# define NDNBOOST_PP_FOR_56(s, p, o, m) NDNBOOST_PP_IF(p(57, s), m, NDNBOOST_PP_TUPLE_EAT_2)(57, s) NDNBOOST_PP_IF(p(57, s), NDNBOOST_PP_FOR_57, NDNBOOST_PP_TUPLE_EAT_4)(o(57, s), p, o, m)
+# define NDNBOOST_PP_FOR_57(s, p, o, m) NDNBOOST_PP_IF(p(58, s), m, NDNBOOST_PP_TUPLE_EAT_2)(58, s) NDNBOOST_PP_IF(p(58, s), NDNBOOST_PP_FOR_58, NDNBOOST_PP_TUPLE_EAT_4)(o(58, s), p, o, m)
+# define NDNBOOST_PP_FOR_58(s, p, o, m) NDNBOOST_PP_IF(p(59, s), m, NDNBOOST_PP_TUPLE_EAT_2)(59, s) NDNBOOST_PP_IF(p(59, s), NDNBOOST_PP_FOR_59, NDNBOOST_PP_TUPLE_EAT_4)(o(59, s), p, o, m)
+# define NDNBOOST_PP_FOR_59(s, p, o, m) NDNBOOST_PP_IF(p(60, s), m, NDNBOOST_PP_TUPLE_EAT_2)(60, s) NDNBOOST_PP_IF(p(60, s), NDNBOOST_PP_FOR_60, NDNBOOST_PP_TUPLE_EAT_4)(o(60, s), p, o, m)
+# define NDNBOOST_PP_FOR_60(s, p, o, m) NDNBOOST_PP_IF(p(61, s), m, NDNBOOST_PP_TUPLE_EAT_2)(61, s) NDNBOOST_PP_IF(p(61, s), NDNBOOST_PP_FOR_61, NDNBOOST_PP_TUPLE_EAT_4)(o(61, s), p, o, m)
+# define NDNBOOST_PP_FOR_61(s, p, o, m) NDNBOOST_PP_IF(p(62, s), m, NDNBOOST_PP_TUPLE_EAT_2)(62, s) NDNBOOST_PP_IF(p(62, s), NDNBOOST_PP_FOR_62, NDNBOOST_PP_TUPLE_EAT_4)(o(62, s), p, o, m)
+# define NDNBOOST_PP_FOR_62(s, p, o, m) NDNBOOST_PP_IF(p(63, s), m, NDNBOOST_PP_TUPLE_EAT_2)(63, s) NDNBOOST_PP_IF(p(63, s), NDNBOOST_PP_FOR_63, NDNBOOST_PP_TUPLE_EAT_4)(o(63, s), p, o, m)
+# define NDNBOOST_PP_FOR_63(s, p, o, m) NDNBOOST_PP_IF(p(64, s), m, NDNBOOST_PP_TUPLE_EAT_2)(64, s) NDNBOOST_PP_IF(p(64, s), NDNBOOST_PP_FOR_64, NDNBOOST_PP_TUPLE_EAT_4)(o(64, s), p, o, m)
+# define NDNBOOST_PP_FOR_64(s, p, o, m) NDNBOOST_PP_IF(p(65, s), m, NDNBOOST_PP_TUPLE_EAT_2)(65, s) NDNBOOST_PP_IF(p(65, s), NDNBOOST_PP_FOR_65, NDNBOOST_PP_TUPLE_EAT_4)(o(65, s), p, o, m)
+# define NDNBOOST_PP_FOR_65(s, p, o, m) NDNBOOST_PP_IF(p(66, s), m, NDNBOOST_PP_TUPLE_EAT_2)(66, s) NDNBOOST_PP_IF(p(66, s), NDNBOOST_PP_FOR_66, NDNBOOST_PP_TUPLE_EAT_4)(o(66, s), p, o, m)
+# define NDNBOOST_PP_FOR_66(s, p, o, m) NDNBOOST_PP_IF(p(67, s), m, NDNBOOST_PP_TUPLE_EAT_2)(67, s) NDNBOOST_PP_IF(p(67, s), NDNBOOST_PP_FOR_67, NDNBOOST_PP_TUPLE_EAT_4)(o(67, s), p, o, m)
+# define NDNBOOST_PP_FOR_67(s, p, o, m) NDNBOOST_PP_IF(p(68, s), m, NDNBOOST_PP_TUPLE_EAT_2)(68, s) NDNBOOST_PP_IF(p(68, s), NDNBOOST_PP_FOR_68, NDNBOOST_PP_TUPLE_EAT_4)(o(68, s), p, o, m)
+# define NDNBOOST_PP_FOR_68(s, p, o, m) NDNBOOST_PP_IF(p(69, s), m, NDNBOOST_PP_TUPLE_EAT_2)(69, s) NDNBOOST_PP_IF(p(69, s), NDNBOOST_PP_FOR_69, NDNBOOST_PP_TUPLE_EAT_4)(o(69, s), p, o, m)
+# define NDNBOOST_PP_FOR_69(s, p, o, m) NDNBOOST_PP_IF(p(70, s), m, NDNBOOST_PP_TUPLE_EAT_2)(70, s) NDNBOOST_PP_IF(p(70, s), NDNBOOST_PP_FOR_70, NDNBOOST_PP_TUPLE_EAT_4)(o(70, s), p, o, m)
+# define NDNBOOST_PP_FOR_70(s, p, o, m) NDNBOOST_PP_IF(p(71, s), m, NDNBOOST_PP_TUPLE_EAT_2)(71, s) NDNBOOST_PP_IF(p(71, s), NDNBOOST_PP_FOR_71, NDNBOOST_PP_TUPLE_EAT_4)(o(71, s), p, o, m)
+# define NDNBOOST_PP_FOR_71(s, p, o, m) NDNBOOST_PP_IF(p(72, s), m, NDNBOOST_PP_TUPLE_EAT_2)(72, s) NDNBOOST_PP_IF(p(72, s), NDNBOOST_PP_FOR_72, NDNBOOST_PP_TUPLE_EAT_4)(o(72, s), p, o, m)
+# define NDNBOOST_PP_FOR_72(s, p, o, m) NDNBOOST_PP_IF(p(73, s), m, NDNBOOST_PP_TUPLE_EAT_2)(73, s) NDNBOOST_PP_IF(p(73, s), NDNBOOST_PP_FOR_73, NDNBOOST_PP_TUPLE_EAT_4)(o(73, s), p, o, m)
+# define NDNBOOST_PP_FOR_73(s, p, o, m) NDNBOOST_PP_IF(p(74, s), m, NDNBOOST_PP_TUPLE_EAT_2)(74, s) NDNBOOST_PP_IF(p(74, s), NDNBOOST_PP_FOR_74, NDNBOOST_PP_TUPLE_EAT_4)(o(74, s), p, o, m)
+# define NDNBOOST_PP_FOR_74(s, p, o, m) NDNBOOST_PP_IF(p(75, s), m, NDNBOOST_PP_TUPLE_EAT_2)(75, s) NDNBOOST_PP_IF(p(75, s), NDNBOOST_PP_FOR_75, NDNBOOST_PP_TUPLE_EAT_4)(o(75, s), p, o, m)
+# define NDNBOOST_PP_FOR_75(s, p, o, m) NDNBOOST_PP_IF(p(76, s), m, NDNBOOST_PP_TUPLE_EAT_2)(76, s) NDNBOOST_PP_IF(p(76, s), NDNBOOST_PP_FOR_76, NDNBOOST_PP_TUPLE_EAT_4)(o(76, s), p, o, m)
+# define NDNBOOST_PP_FOR_76(s, p, o, m) NDNBOOST_PP_IF(p(77, s), m, NDNBOOST_PP_TUPLE_EAT_2)(77, s) NDNBOOST_PP_IF(p(77, s), NDNBOOST_PP_FOR_77, NDNBOOST_PP_TUPLE_EAT_4)(o(77, s), p, o, m)
+# define NDNBOOST_PP_FOR_77(s, p, o, m) NDNBOOST_PP_IF(p(78, s), m, NDNBOOST_PP_TUPLE_EAT_2)(78, s) NDNBOOST_PP_IF(p(78, s), NDNBOOST_PP_FOR_78, NDNBOOST_PP_TUPLE_EAT_4)(o(78, s), p, o, m)
+# define NDNBOOST_PP_FOR_78(s, p, o, m) NDNBOOST_PP_IF(p(79, s), m, NDNBOOST_PP_TUPLE_EAT_2)(79, s) NDNBOOST_PP_IF(p(79, s), NDNBOOST_PP_FOR_79, NDNBOOST_PP_TUPLE_EAT_4)(o(79, s), p, o, m)
+# define NDNBOOST_PP_FOR_79(s, p, o, m) NDNBOOST_PP_IF(p(80, s), m, NDNBOOST_PP_TUPLE_EAT_2)(80, s) NDNBOOST_PP_IF(p(80, s), NDNBOOST_PP_FOR_80, NDNBOOST_PP_TUPLE_EAT_4)(o(80, s), p, o, m)
+# define NDNBOOST_PP_FOR_80(s, p, o, m) NDNBOOST_PP_IF(p(81, s), m, NDNBOOST_PP_TUPLE_EAT_2)(81, s) NDNBOOST_PP_IF(p(81, s), NDNBOOST_PP_FOR_81, NDNBOOST_PP_TUPLE_EAT_4)(o(81, s), p, o, m)
+# define NDNBOOST_PP_FOR_81(s, p, o, m) NDNBOOST_PP_IF(p(82, s), m, NDNBOOST_PP_TUPLE_EAT_2)(82, s) NDNBOOST_PP_IF(p(82, s), NDNBOOST_PP_FOR_82, NDNBOOST_PP_TUPLE_EAT_4)(o(82, s), p, o, m)
+# define NDNBOOST_PP_FOR_82(s, p, o, m) NDNBOOST_PP_IF(p(83, s), m, NDNBOOST_PP_TUPLE_EAT_2)(83, s) NDNBOOST_PP_IF(p(83, s), NDNBOOST_PP_FOR_83, NDNBOOST_PP_TUPLE_EAT_4)(o(83, s), p, o, m)
+# define NDNBOOST_PP_FOR_83(s, p, o, m) NDNBOOST_PP_IF(p(84, s), m, NDNBOOST_PP_TUPLE_EAT_2)(84, s) NDNBOOST_PP_IF(p(84, s), NDNBOOST_PP_FOR_84, NDNBOOST_PP_TUPLE_EAT_4)(o(84, s), p, o, m)
+# define NDNBOOST_PP_FOR_84(s, p, o, m) NDNBOOST_PP_IF(p(85, s), m, NDNBOOST_PP_TUPLE_EAT_2)(85, s) NDNBOOST_PP_IF(p(85, s), NDNBOOST_PP_FOR_85, NDNBOOST_PP_TUPLE_EAT_4)(o(85, s), p, o, m)
+# define NDNBOOST_PP_FOR_85(s, p, o, m) NDNBOOST_PP_IF(p(86, s), m, NDNBOOST_PP_TUPLE_EAT_2)(86, s) NDNBOOST_PP_IF(p(86, s), NDNBOOST_PP_FOR_86, NDNBOOST_PP_TUPLE_EAT_4)(o(86, s), p, o, m)
+# define NDNBOOST_PP_FOR_86(s, p, o, m) NDNBOOST_PP_IF(p(87, s), m, NDNBOOST_PP_TUPLE_EAT_2)(87, s) NDNBOOST_PP_IF(p(87, s), NDNBOOST_PP_FOR_87, NDNBOOST_PP_TUPLE_EAT_4)(o(87, s), p, o, m)
+# define NDNBOOST_PP_FOR_87(s, p, o, m) NDNBOOST_PP_IF(p(88, s), m, NDNBOOST_PP_TUPLE_EAT_2)(88, s) NDNBOOST_PP_IF(p(88, s), NDNBOOST_PP_FOR_88, NDNBOOST_PP_TUPLE_EAT_4)(o(88, s), p, o, m)
+# define NDNBOOST_PP_FOR_88(s, p, o, m) NDNBOOST_PP_IF(p(89, s), m, NDNBOOST_PP_TUPLE_EAT_2)(89, s) NDNBOOST_PP_IF(p(89, s), NDNBOOST_PP_FOR_89, NDNBOOST_PP_TUPLE_EAT_4)(o(89, s), p, o, m)
+# define NDNBOOST_PP_FOR_89(s, p, o, m) NDNBOOST_PP_IF(p(90, s), m, NDNBOOST_PP_TUPLE_EAT_2)(90, s) NDNBOOST_PP_IF(p(90, s), NDNBOOST_PP_FOR_90, NDNBOOST_PP_TUPLE_EAT_4)(o(90, s), p, o, m)
+# define NDNBOOST_PP_FOR_90(s, p, o, m) NDNBOOST_PP_IF(p(91, s), m, NDNBOOST_PP_TUPLE_EAT_2)(91, s) NDNBOOST_PP_IF(p(91, s), NDNBOOST_PP_FOR_91, NDNBOOST_PP_TUPLE_EAT_4)(o(91, s), p, o, m)
+# define NDNBOOST_PP_FOR_91(s, p, o, m) NDNBOOST_PP_IF(p(92, s), m, NDNBOOST_PP_TUPLE_EAT_2)(92, s) NDNBOOST_PP_IF(p(92, s), NDNBOOST_PP_FOR_92, NDNBOOST_PP_TUPLE_EAT_4)(o(92, s), p, o, m)
+# define NDNBOOST_PP_FOR_92(s, p, o, m) NDNBOOST_PP_IF(p(93, s), m, NDNBOOST_PP_TUPLE_EAT_2)(93, s) NDNBOOST_PP_IF(p(93, s), NDNBOOST_PP_FOR_93, NDNBOOST_PP_TUPLE_EAT_4)(o(93, s), p, o, m)
+# define NDNBOOST_PP_FOR_93(s, p, o, m) NDNBOOST_PP_IF(p(94, s), m, NDNBOOST_PP_TUPLE_EAT_2)(94, s) NDNBOOST_PP_IF(p(94, s), NDNBOOST_PP_FOR_94, NDNBOOST_PP_TUPLE_EAT_4)(o(94, s), p, o, m)
+# define NDNBOOST_PP_FOR_94(s, p, o, m) NDNBOOST_PP_IF(p(95, s), m, NDNBOOST_PP_TUPLE_EAT_2)(95, s) NDNBOOST_PP_IF(p(95, s), NDNBOOST_PP_FOR_95, NDNBOOST_PP_TUPLE_EAT_4)(o(95, s), p, o, m)
+# define NDNBOOST_PP_FOR_95(s, p, o, m) NDNBOOST_PP_IF(p(96, s), m, NDNBOOST_PP_TUPLE_EAT_2)(96, s) NDNBOOST_PP_IF(p(96, s), NDNBOOST_PP_FOR_96, NDNBOOST_PP_TUPLE_EAT_4)(o(96, s), p, o, m)
+# define NDNBOOST_PP_FOR_96(s, p, o, m) NDNBOOST_PP_IF(p(97, s), m, NDNBOOST_PP_TUPLE_EAT_2)(97, s) NDNBOOST_PP_IF(p(97, s), NDNBOOST_PP_FOR_97, NDNBOOST_PP_TUPLE_EAT_4)(o(97, s), p, o, m)
+# define NDNBOOST_PP_FOR_97(s, p, o, m) NDNBOOST_PP_IF(p(98, s), m, NDNBOOST_PP_TUPLE_EAT_2)(98, s) NDNBOOST_PP_IF(p(98, s), NDNBOOST_PP_FOR_98, NDNBOOST_PP_TUPLE_EAT_4)(o(98, s), p, o, m)
+# define NDNBOOST_PP_FOR_98(s, p, o, m) NDNBOOST_PP_IF(p(99, s), m, NDNBOOST_PP_TUPLE_EAT_2)(99, s) NDNBOOST_PP_IF(p(99, s), NDNBOOST_PP_FOR_99, NDNBOOST_PP_TUPLE_EAT_4)(o(99, s), p, o, m)
+# define NDNBOOST_PP_FOR_99(s, p, o, m) NDNBOOST_PP_IF(p(100, s), m, NDNBOOST_PP_TUPLE_EAT_2)(100, s) NDNBOOST_PP_IF(p(100, s), NDNBOOST_PP_FOR_100, NDNBOOST_PP_TUPLE_EAT_4)(o(100, s), p, o, m)
+# define NDNBOOST_PP_FOR_100(s, p, o, m) NDNBOOST_PP_IF(p(101, s), m, NDNBOOST_PP_TUPLE_EAT_2)(101, s) NDNBOOST_PP_IF(p(101, s), NDNBOOST_PP_FOR_101, NDNBOOST_PP_TUPLE_EAT_4)(o(101, s), p, o, m)
+# define NDNBOOST_PP_FOR_101(s, p, o, m) NDNBOOST_PP_IF(p(102, s), m, NDNBOOST_PP_TUPLE_EAT_2)(102, s) NDNBOOST_PP_IF(p(102, s), NDNBOOST_PP_FOR_102, NDNBOOST_PP_TUPLE_EAT_4)(o(102, s), p, o, m)
+# define NDNBOOST_PP_FOR_102(s, p, o, m) NDNBOOST_PP_IF(p(103, s), m, NDNBOOST_PP_TUPLE_EAT_2)(103, s) NDNBOOST_PP_IF(p(103, s), NDNBOOST_PP_FOR_103, NDNBOOST_PP_TUPLE_EAT_4)(o(103, s), p, o, m)
+# define NDNBOOST_PP_FOR_103(s, p, o, m) NDNBOOST_PP_IF(p(104, s), m, NDNBOOST_PP_TUPLE_EAT_2)(104, s) NDNBOOST_PP_IF(p(104, s), NDNBOOST_PP_FOR_104, NDNBOOST_PP_TUPLE_EAT_4)(o(104, s), p, o, m)
+# define NDNBOOST_PP_FOR_104(s, p, o, m) NDNBOOST_PP_IF(p(105, s), m, NDNBOOST_PP_TUPLE_EAT_2)(105, s) NDNBOOST_PP_IF(p(105, s), NDNBOOST_PP_FOR_105, NDNBOOST_PP_TUPLE_EAT_4)(o(105, s), p, o, m)
+# define NDNBOOST_PP_FOR_105(s, p, o, m) NDNBOOST_PP_IF(p(106, s), m, NDNBOOST_PP_TUPLE_EAT_2)(106, s) NDNBOOST_PP_IF(p(106, s), NDNBOOST_PP_FOR_106, NDNBOOST_PP_TUPLE_EAT_4)(o(106, s), p, o, m)
+# define NDNBOOST_PP_FOR_106(s, p, o, m) NDNBOOST_PP_IF(p(107, s), m, NDNBOOST_PP_TUPLE_EAT_2)(107, s) NDNBOOST_PP_IF(p(107, s), NDNBOOST_PP_FOR_107, NDNBOOST_PP_TUPLE_EAT_4)(o(107, s), p, o, m)
+# define NDNBOOST_PP_FOR_107(s, p, o, m) NDNBOOST_PP_IF(p(108, s), m, NDNBOOST_PP_TUPLE_EAT_2)(108, s) NDNBOOST_PP_IF(p(108, s), NDNBOOST_PP_FOR_108, NDNBOOST_PP_TUPLE_EAT_4)(o(108, s), p, o, m)
+# define NDNBOOST_PP_FOR_108(s, p, o, m) NDNBOOST_PP_IF(p(109, s), m, NDNBOOST_PP_TUPLE_EAT_2)(109, s) NDNBOOST_PP_IF(p(109, s), NDNBOOST_PP_FOR_109, NDNBOOST_PP_TUPLE_EAT_4)(o(109, s), p, o, m)
+# define NDNBOOST_PP_FOR_109(s, p, o, m) NDNBOOST_PP_IF(p(110, s), m, NDNBOOST_PP_TUPLE_EAT_2)(110, s) NDNBOOST_PP_IF(p(110, s), NDNBOOST_PP_FOR_110, NDNBOOST_PP_TUPLE_EAT_4)(o(110, s), p, o, m)
+# define NDNBOOST_PP_FOR_110(s, p, o, m) NDNBOOST_PP_IF(p(111, s), m, NDNBOOST_PP_TUPLE_EAT_2)(111, s) NDNBOOST_PP_IF(p(111, s), NDNBOOST_PP_FOR_111, NDNBOOST_PP_TUPLE_EAT_4)(o(111, s), p, o, m)
+# define NDNBOOST_PP_FOR_111(s, p, o, m) NDNBOOST_PP_IF(p(112, s), m, NDNBOOST_PP_TUPLE_EAT_2)(112, s) NDNBOOST_PP_IF(p(112, s), NDNBOOST_PP_FOR_112, NDNBOOST_PP_TUPLE_EAT_4)(o(112, s), p, o, m)
+# define NDNBOOST_PP_FOR_112(s, p, o, m) NDNBOOST_PP_IF(p(113, s), m, NDNBOOST_PP_TUPLE_EAT_2)(113, s) NDNBOOST_PP_IF(p(113, s), NDNBOOST_PP_FOR_113, NDNBOOST_PP_TUPLE_EAT_4)(o(113, s), p, o, m)
+# define NDNBOOST_PP_FOR_113(s, p, o, m) NDNBOOST_PP_IF(p(114, s), m, NDNBOOST_PP_TUPLE_EAT_2)(114, s) NDNBOOST_PP_IF(p(114, s), NDNBOOST_PP_FOR_114, NDNBOOST_PP_TUPLE_EAT_4)(o(114, s), p, o, m)
+# define NDNBOOST_PP_FOR_114(s, p, o, m) NDNBOOST_PP_IF(p(115, s), m, NDNBOOST_PP_TUPLE_EAT_2)(115, s) NDNBOOST_PP_IF(p(115, s), NDNBOOST_PP_FOR_115, NDNBOOST_PP_TUPLE_EAT_4)(o(115, s), p, o, m)
+# define NDNBOOST_PP_FOR_115(s, p, o, m) NDNBOOST_PP_IF(p(116, s), m, NDNBOOST_PP_TUPLE_EAT_2)(116, s) NDNBOOST_PP_IF(p(116, s), NDNBOOST_PP_FOR_116, NDNBOOST_PP_TUPLE_EAT_4)(o(116, s), p, o, m)
+# define NDNBOOST_PP_FOR_116(s, p, o, m) NDNBOOST_PP_IF(p(117, s), m, NDNBOOST_PP_TUPLE_EAT_2)(117, s) NDNBOOST_PP_IF(p(117, s), NDNBOOST_PP_FOR_117, NDNBOOST_PP_TUPLE_EAT_4)(o(117, s), p, o, m)
+# define NDNBOOST_PP_FOR_117(s, p, o, m) NDNBOOST_PP_IF(p(118, s), m, NDNBOOST_PP_TUPLE_EAT_2)(118, s) NDNBOOST_PP_IF(p(118, s), NDNBOOST_PP_FOR_118, NDNBOOST_PP_TUPLE_EAT_4)(o(118, s), p, o, m)
+# define NDNBOOST_PP_FOR_118(s, p, o, m) NDNBOOST_PP_IF(p(119, s), m, NDNBOOST_PP_TUPLE_EAT_2)(119, s) NDNBOOST_PP_IF(p(119, s), NDNBOOST_PP_FOR_119, NDNBOOST_PP_TUPLE_EAT_4)(o(119, s), p, o, m)
+# define NDNBOOST_PP_FOR_119(s, p, o, m) NDNBOOST_PP_IF(p(120, s), m, NDNBOOST_PP_TUPLE_EAT_2)(120, s) NDNBOOST_PP_IF(p(120, s), NDNBOOST_PP_FOR_120, NDNBOOST_PP_TUPLE_EAT_4)(o(120, s), p, o, m)
+# define NDNBOOST_PP_FOR_120(s, p, o, m) NDNBOOST_PP_IF(p(121, s), m, NDNBOOST_PP_TUPLE_EAT_2)(121, s) NDNBOOST_PP_IF(p(121, s), NDNBOOST_PP_FOR_121, NDNBOOST_PP_TUPLE_EAT_4)(o(121, s), p, o, m)
+# define NDNBOOST_PP_FOR_121(s, p, o, m) NDNBOOST_PP_IF(p(122, s), m, NDNBOOST_PP_TUPLE_EAT_2)(122, s) NDNBOOST_PP_IF(p(122, s), NDNBOOST_PP_FOR_122, NDNBOOST_PP_TUPLE_EAT_4)(o(122, s), p, o, m)
+# define NDNBOOST_PP_FOR_122(s, p, o, m) NDNBOOST_PP_IF(p(123, s), m, NDNBOOST_PP_TUPLE_EAT_2)(123, s) NDNBOOST_PP_IF(p(123, s), NDNBOOST_PP_FOR_123, NDNBOOST_PP_TUPLE_EAT_4)(o(123, s), p, o, m)
+# define NDNBOOST_PP_FOR_123(s, p, o, m) NDNBOOST_PP_IF(p(124, s), m, NDNBOOST_PP_TUPLE_EAT_2)(124, s) NDNBOOST_PP_IF(p(124, s), NDNBOOST_PP_FOR_124, NDNBOOST_PP_TUPLE_EAT_4)(o(124, s), p, o, m)
+# define NDNBOOST_PP_FOR_124(s, p, o, m) NDNBOOST_PP_IF(p(125, s), m, NDNBOOST_PP_TUPLE_EAT_2)(125, s) NDNBOOST_PP_IF(p(125, s), NDNBOOST_PP_FOR_125, NDNBOOST_PP_TUPLE_EAT_4)(o(125, s), p, o, m)
+# define NDNBOOST_PP_FOR_125(s, p, o, m) NDNBOOST_PP_IF(p(126, s), m, NDNBOOST_PP_TUPLE_EAT_2)(126, s) NDNBOOST_PP_IF(p(126, s), NDNBOOST_PP_FOR_126, NDNBOOST_PP_TUPLE_EAT_4)(o(126, s), p, o, m)
+# define NDNBOOST_PP_FOR_126(s, p, o, m) NDNBOOST_PP_IF(p(127, s), m, NDNBOOST_PP_TUPLE_EAT_2)(127, s) NDNBOOST_PP_IF(p(127, s), NDNBOOST_PP_FOR_127, NDNBOOST_PP_TUPLE_EAT_4)(o(127, s), p, o, m)
+# define NDNBOOST_PP_FOR_127(s, p, o, m) NDNBOOST_PP_IF(p(128, s), m, NDNBOOST_PP_TUPLE_EAT_2)(128, s) NDNBOOST_PP_IF(p(128, s), NDNBOOST_PP_FOR_128, NDNBOOST_PP_TUPLE_EAT_4)(o(128, s), p, o, m)
+# define NDNBOOST_PP_FOR_128(s, p, o, m) NDNBOOST_PP_IF(p(129, s), m, NDNBOOST_PP_TUPLE_EAT_2)(129, s) NDNBOOST_PP_IF(p(129, s), NDNBOOST_PP_FOR_129, NDNBOOST_PP_TUPLE_EAT_4)(o(129, s), p, o, m)
+# define NDNBOOST_PP_FOR_129(s, p, o, m) NDNBOOST_PP_IF(p(130, s), m, NDNBOOST_PP_TUPLE_EAT_2)(130, s) NDNBOOST_PP_IF(p(130, s), NDNBOOST_PP_FOR_130, NDNBOOST_PP_TUPLE_EAT_4)(o(130, s), p, o, m)
+# define NDNBOOST_PP_FOR_130(s, p, o, m) NDNBOOST_PP_IF(p(131, s), m, NDNBOOST_PP_TUPLE_EAT_2)(131, s) NDNBOOST_PP_IF(p(131, s), NDNBOOST_PP_FOR_131, NDNBOOST_PP_TUPLE_EAT_4)(o(131, s), p, o, m)
+# define NDNBOOST_PP_FOR_131(s, p, o, m) NDNBOOST_PP_IF(p(132, s), m, NDNBOOST_PP_TUPLE_EAT_2)(132, s) NDNBOOST_PP_IF(p(132, s), NDNBOOST_PP_FOR_132, NDNBOOST_PP_TUPLE_EAT_4)(o(132, s), p, o, m)
+# define NDNBOOST_PP_FOR_132(s, p, o, m) NDNBOOST_PP_IF(p(133, s), m, NDNBOOST_PP_TUPLE_EAT_2)(133, s) NDNBOOST_PP_IF(p(133, s), NDNBOOST_PP_FOR_133, NDNBOOST_PP_TUPLE_EAT_4)(o(133, s), p, o, m)
+# define NDNBOOST_PP_FOR_133(s, p, o, m) NDNBOOST_PP_IF(p(134, s), m, NDNBOOST_PP_TUPLE_EAT_2)(134, s) NDNBOOST_PP_IF(p(134, s), NDNBOOST_PP_FOR_134, NDNBOOST_PP_TUPLE_EAT_4)(o(134, s), p, o, m)
+# define NDNBOOST_PP_FOR_134(s, p, o, m) NDNBOOST_PP_IF(p(135, s), m, NDNBOOST_PP_TUPLE_EAT_2)(135, s) NDNBOOST_PP_IF(p(135, s), NDNBOOST_PP_FOR_135, NDNBOOST_PP_TUPLE_EAT_4)(o(135, s), p, o, m)
+# define NDNBOOST_PP_FOR_135(s, p, o, m) NDNBOOST_PP_IF(p(136, s), m, NDNBOOST_PP_TUPLE_EAT_2)(136, s) NDNBOOST_PP_IF(p(136, s), NDNBOOST_PP_FOR_136, NDNBOOST_PP_TUPLE_EAT_4)(o(136, s), p, o, m)
+# define NDNBOOST_PP_FOR_136(s, p, o, m) NDNBOOST_PP_IF(p(137, s), m, NDNBOOST_PP_TUPLE_EAT_2)(137, s) NDNBOOST_PP_IF(p(137, s), NDNBOOST_PP_FOR_137, NDNBOOST_PP_TUPLE_EAT_4)(o(137, s), p, o, m)
+# define NDNBOOST_PP_FOR_137(s, p, o, m) NDNBOOST_PP_IF(p(138, s), m, NDNBOOST_PP_TUPLE_EAT_2)(138, s) NDNBOOST_PP_IF(p(138, s), NDNBOOST_PP_FOR_138, NDNBOOST_PP_TUPLE_EAT_4)(o(138, s), p, o, m)
+# define NDNBOOST_PP_FOR_138(s, p, o, m) NDNBOOST_PP_IF(p(139, s), m, NDNBOOST_PP_TUPLE_EAT_2)(139, s) NDNBOOST_PP_IF(p(139, s), NDNBOOST_PP_FOR_139, NDNBOOST_PP_TUPLE_EAT_4)(o(139, s), p, o, m)
+# define NDNBOOST_PP_FOR_139(s, p, o, m) NDNBOOST_PP_IF(p(140, s), m, NDNBOOST_PP_TUPLE_EAT_2)(140, s) NDNBOOST_PP_IF(p(140, s), NDNBOOST_PP_FOR_140, NDNBOOST_PP_TUPLE_EAT_4)(o(140, s), p, o, m)
+# define NDNBOOST_PP_FOR_140(s, p, o, m) NDNBOOST_PP_IF(p(141, s), m, NDNBOOST_PP_TUPLE_EAT_2)(141, s) NDNBOOST_PP_IF(p(141, s), NDNBOOST_PP_FOR_141, NDNBOOST_PP_TUPLE_EAT_4)(o(141, s), p, o, m)
+# define NDNBOOST_PP_FOR_141(s, p, o, m) NDNBOOST_PP_IF(p(142, s), m, NDNBOOST_PP_TUPLE_EAT_2)(142, s) NDNBOOST_PP_IF(p(142, s), NDNBOOST_PP_FOR_142, NDNBOOST_PP_TUPLE_EAT_4)(o(142, s), p, o, m)
+# define NDNBOOST_PP_FOR_142(s, p, o, m) NDNBOOST_PP_IF(p(143, s), m, NDNBOOST_PP_TUPLE_EAT_2)(143, s) NDNBOOST_PP_IF(p(143, s), NDNBOOST_PP_FOR_143, NDNBOOST_PP_TUPLE_EAT_4)(o(143, s), p, o, m)
+# define NDNBOOST_PP_FOR_143(s, p, o, m) NDNBOOST_PP_IF(p(144, s), m, NDNBOOST_PP_TUPLE_EAT_2)(144, s) NDNBOOST_PP_IF(p(144, s), NDNBOOST_PP_FOR_144, NDNBOOST_PP_TUPLE_EAT_4)(o(144, s), p, o, m)
+# define NDNBOOST_PP_FOR_144(s, p, o, m) NDNBOOST_PP_IF(p(145, s), m, NDNBOOST_PP_TUPLE_EAT_2)(145, s) NDNBOOST_PP_IF(p(145, s), NDNBOOST_PP_FOR_145, NDNBOOST_PP_TUPLE_EAT_4)(o(145, s), p, o, m)
+# define NDNBOOST_PP_FOR_145(s, p, o, m) NDNBOOST_PP_IF(p(146, s), m, NDNBOOST_PP_TUPLE_EAT_2)(146, s) NDNBOOST_PP_IF(p(146, s), NDNBOOST_PP_FOR_146, NDNBOOST_PP_TUPLE_EAT_4)(o(146, s), p, o, m)
+# define NDNBOOST_PP_FOR_146(s, p, o, m) NDNBOOST_PP_IF(p(147, s), m, NDNBOOST_PP_TUPLE_EAT_2)(147, s) NDNBOOST_PP_IF(p(147, s), NDNBOOST_PP_FOR_147, NDNBOOST_PP_TUPLE_EAT_4)(o(147, s), p, o, m)
+# define NDNBOOST_PP_FOR_147(s, p, o, m) NDNBOOST_PP_IF(p(148, s), m, NDNBOOST_PP_TUPLE_EAT_2)(148, s) NDNBOOST_PP_IF(p(148, s), NDNBOOST_PP_FOR_148, NDNBOOST_PP_TUPLE_EAT_4)(o(148, s), p, o, m)
+# define NDNBOOST_PP_FOR_148(s, p, o, m) NDNBOOST_PP_IF(p(149, s), m, NDNBOOST_PP_TUPLE_EAT_2)(149, s) NDNBOOST_PP_IF(p(149, s), NDNBOOST_PP_FOR_149, NDNBOOST_PP_TUPLE_EAT_4)(o(149, s), p, o, m)
+# define NDNBOOST_PP_FOR_149(s, p, o, m) NDNBOOST_PP_IF(p(150, s), m, NDNBOOST_PP_TUPLE_EAT_2)(150, s) NDNBOOST_PP_IF(p(150, s), NDNBOOST_PP_FOR_150, NDNBOOST_PP_TUPLE_EAT_4)(o(150, s), p, o, m)
+# define NDNBOOST_PP_FOR_150(s, p, o, m) NDNBOOST_PP_IF(p(151, s), m, NDNBOOST_PP_TUPLE_EAT_2)(151, s) NDNBOOST_PP_IF(p(151, s), NDNBOOST_PP_FOR_151, NDNBOOST_PP_TUPLE_EAT_4)(o(151, s), p, o, m)
+# define NDNBOOST_PP_FOR_151(s, p, o, m) NDNBOOST_PP_IF(p(152, s), m, NDNBOOST_PP_TUPLE_EAT_2)(152, s) NDNBOOST_PP_IF(p(152, s), NDNBOOST_PP_FOR_152, NDNBOOST_PP_TUPLE_EAT_4)(o(152, s), p, o, m)
+# define NDNBOOST_PP_FOR_152(s, p, o, m) NDNBOOST_PP_IF(p(153, s), m, NDNBOOST_PP_TUPLE_EAT_2)(153, s) NDNBOOST_PP_IF(p(153, s), NDNBOOST_PP_FOR_153, NDNBOOST_PP_TUPLE_EAT_4)(o(153, s), p, o, m)
+# define NDNBOOST_PP_FOR_153(s, p, o, m) NDNBOOST_PP_IF(p(154, s), m, NDNBOOST_PP_TUPLE_EAT_2)(154, s) NDNBOOST_PP_IF(p(154, s), NDNBOOST_PP_FOR_154, NDNBOOST_PP_TUPLE_EAT_4)(o(154, s), p, o, m)
+# define NDNBOOST_PP_FOR_154(s, p, o, m) NDNBOOST_PP_IF(p(155, s), m, NDNBOOST_PP_TUPLE_EAT_2)(155, s) NDNBOOST_PP_IF(p(155, s), NDNBOOST_PP_FOR_155, NDNBOOST_PP_TUPLE_EAT_4)(o(155, s), p, o, m)
+# define NDNBOOST_PP_FOR_155(s, p, o, m) NDNBOOST_PP_IF(p(156, s), m, NDNBOOST_PP_TUPLE_EAT_2)(156, s) NDNBOOST_PP_IF(p(156, s), NDNBOOST_PP_FOR_156, NDNBOOST_PP_TUPLE_EAT_4)(o(156, s), p, o, m)
+# define NDNBOOST_PP_FOR_156(s, p, o, m) NDNBOOST_PP_IF(p(157, s), m, NDNBOOST_PP_TUPLE_EAT_2)(157, s) NDNBOOST_PP_IF(p(157, s), NDNBOOST_PP_FOR_157, NDNBOOST_PP_TUPLE_EAT_4)(o(157, s), p, o, m)
+# define NDNBOOST_PP_FOR_157(s, p, o, m) NDNBOOST_PP_IF(p(158, s), m, NDNBOOST_PP_TUPLE_EAT_2)(158, s) NDNBOOST_PP_IF(p(158, s), NDNBOOST_PP_FOR_158, NDNBOOST_PP_TUPLE_EAT_4)(o(158, s), p, o, m)
+# define NDNBOOST_PP_FOR_158(s, p, o, m) NDNBOOST_PP_IF(p(159, s), m, NDNBOOST_PP_TUPLE_EAT_2)(159, s) NDNBOOST_PP_IF(p(159, s), NDNBOOST_PP_FOR_159, NDNBOOST_PP_TUPLE_EAT_4)(o(159, s), p, o, m)
+# define NDNBOOST_PP_FOR_159(s, p, o, m) NDNBOOST_PP_IF(p(160, s), m, NDNBOOST_PP_TUPLE_EAT_2)(160, s) NDNBOOST_PP_IF(p(160, s), NDNBOOST_PP_FOR_160, NDNBOOST_PP_TUPLE_EAT_4)(o(160, s), p, o, m)
+# define NDNBOOST_PP_FOR_160(s, p, o, m) NDNBOOST_PP_IF(p(161, s), m, NDNBOOST_PP_TUPLE_EAT_2)(161, s) NDNBOOST_PP_IF(p(161, s), NDNBOOST_PP_FOR_161, NDNBOOST_PP_TUPLE_EAT_4)(o(161, s), p, o, m)
+# define NDNBOOST_PP_FOR_161(s, p, o, m) NDNBOOST_PP_IF(p(162, s), m, NDNBOOST_PP_TUPLE_EAT_2)(162, s) NDNBOOST_PP_IF(p(162, s), NDNBOOST_PP_FOR_162, NDNBOOST_PP_TUPLE_EAT_4)(o(162, s), p, o, m)
+# define NDNBOOST_PP_FOR_162(s, p, o, m) NDNBOOST_PP_IF(p(163, s), m, NDNBOOST_PP_TUPLE_EAT_2)(163, s) NDNBOOST_PP_IF(p(163, s), NDNBOOST_PP_FOR_163, NDNBOOST_PP_TUPLE_EAT_4)(o(163, s), p, o, m)
+# define NDNBOOST_PP_FOR_163(s, p, o, m) NDNBOOST_PP_IF(p(164, s), m, NDNBOOST_PP_TUPLE_EAT_2)(164, s) NDNBOOST_PP_IF(p(164, s), NDNBOOST_PP_FOR_164, NDNBOOST_PP_TUPLE_EAT_4)(o(164, s), p, o, m)
+# define NDNBOOST_PP_FOR_164(s, p, o, m) NDNBOOST_PP_IF(p(165, s), m, NDNBOOST_PP_TUPLE_EAT_2)(165, s) NDNBOOST_PP_IF(p(165, s), NDNBOOST_PP_FOR_165, NDNBOOST_PP_TUPLE_EAT_4)(o(165, s), p, o, m)
+# define NDNBOOST_PP_FOR_165(s, p, o, m) NDNBOOST_PP_IF(p(166, s), m, NDNBOOST_PP_TUPLE_EAT_2)(166, s) NDNBOOST_PP_IF(p(166, s), NDNBOOST_PP_FOR_166, NDNBOOST_PP_TUPLE_EAT_4)(o(166, s), p, o, m)
+# define NDNBOOST_PP_FOR_166(s, p, o, m) NDNBOOST_PP_IF(p(167, s), m, NDNBOOST_PP_TUPLE_EAT_2)(167, s) NDNBOOST_PP_IF(p(167, s), NDNBOOST_PP_FOR_167, NDNBOOST_PP_TUPLE_EAT_4)(o(167, s), p, o, m)
+# define NDNBOOST_PP_FOR_167(s, p, o, m) NDNBOOST_PP_IF(p(168, s), m, NDNBOOST_PP_TUPLE_EAT_2)(168, s) NDNBOOST_PP_IF(p(168, s), NDNBOOST_PP_FOR_168, NDNBOOST_PP_TUPLE_EAT_4)(o(168, s), p, o, m)
+# define NDNBOOST_PP_FOR_168(s, p, o, m) NDNBOOST_PP_IF(p(169, s), m, NDNBOOST_PP_TUPLE_EAT_2)(169, s) NDNBOOST_PP_IF(p(169, s), NDNBOOST_PP_FOR_169, NDNBOOST_PP_TUPLE_EAT_4)(o(169, s), p, o, m)
+# define NDNBOOST_PP_FOR_169(s, p, o, m) NDNBOOST_PP_IF(p(170, s), m, NDNBOOST_PP_TUPLE_EAT_2)(170, s) NDNBOOST_PP_IF(p(170, s), NDNBOOST_PP_FOR_170, NDNBOOST_PP_TUPLE_EAT_4)(o(170, s), p, o, m)
+# define NDNBOOST_PP_FOR_170(s, p, o, m) NDNBOOST_PP_IF(p(171, s), m, NDNBOOST_PP_TUPLE_EAT_2)(171, s) NDNBOOST_PP_IF(p(171, s), NDNBOOST_PP_FOR_171, NDNBOOST_PP_TUPLE_EAT_4)(o(171, s), p, o, m)
+# define NDNBOOST_PP_FOR_171(s, p, o, m) NDNBOOST_PP_IF(p(172, s), m, NDNBOOST_PP_TUPLE_EAT_2)(172, s) NDNBOOST_PP_IF(p(172, s), NDNBOOST_PP_FOR_172, NDNBOOST_PP_TUPLE_EAT_4)(o(172, s), p, o, m)
+# define NDNBOOST_PP_FOR_172(s, p, o, m) NDNBOOST_PP_IF(p(173, s), m, NDNBOOST_PP_TUPLE_EAT_2)(173, s) NDNBOOST_PP_IF(p(173, s), NDNBOOST_PP_FOR_173, NDNBOOST_PP_TUPLE_EAT_4)(o(173, s), p, o, m)
+# define NDNBOOST_PP_FOR_173(s, p, o, m) NDNBOOST_PP_IF(p(174, s), m, NDNBOOST_PP_TUPLE_EAT_2)(174, s) NDNBOOST_PP_IF(p(174, s), NDNBOOST_PP_FOR_174, NDNBOOST_PP_TUPLE_EAT_4)(o(174, s), p, o, m)
+# define NDNBOOST_PP_FOR_174(s, p, o, m) NDNBOOST_PP_IF(p(175, s), m, NDNBOOST_PP_TUPLE_EAT_2)(175, s) NDNBOOST_PP_IF(p(175, s), NDNBOOST_PP_FOR_175, NDNBOOST_PP_TUPLE_EAT_4)(o(175, s), p, o, m)
+# define NDNBOOST_PP_FOR_175(s, p, o, m) NDNBOOST_PP_IF(p(176, s), m, NDNBOOST_PP_TUPLE_EAT_2)(176, s) NDNBOOST_PP_IF(p(176, s), NDNBOOST_PP_FOR_176, NDNBOOST_PP_TUPLE_EAT_4)(o(176, s), p, o, m)
+# define NDNBOOST_PP_FOR_176(s, p, o, m) NDNBOOST_PP_IF(p(177, s), m, NDNBOOST_PP_TUPLE_EAT_2)(177, s) NDNBOOST_PP_IF(p(177, s), NDNBOOST_PP_FOR_177, NDNBOOST_PP_TUPLE_EAT_4)(o(177, s), p, o, m)
+# define NDNBOOST_PP_FOR_177(s, p, o, m) NDNBOOST_PP_IF(p(178, s), m, NDNBOOST_PP_TUPLE_EAT_2)(178, s) NDNBOOST_PP_IF(p(178, s), NDNBOOST_PP_FOR_178, NDNBOOST_PP_TUPLE_EAT_4)(o(178, s), p, o, m)
+# define NDNBOOST_PP_FOR_178(s, p, o, m) NDNBOOST_PP_IF(p(179, s), m, NDNBOOST_PP_TUPLE_EAT_2)(179, s) NDNBOOST_PP_IF(p(179, s), NDNBOOST_PP_FOR_179, NDNBOOST_PP_TUPLE_EAT_4)(o(179, s), p, o, m)
+# define NDNBOOST_PP_FOR_179(s, p, o, m) NDNBOOST_PP_IF(p(180, s), m, NDNBOOST_PP_TUPLE_EAT_2)(180, s) NDNBOOST_PP_IF(p(180, s), NDNBOOST_PP_FOR_180, NDNBOOST_PP_TUPLE_EAT_4)(o(180, s), p, o, m)
+# define NDNBOOST_PP_FOR_180(s, p, o, m) NDNBOOST_PP_IF(p(181, s), m, NDNBOOST_PP_TUPLE_EAT_2)(181, s) NDNBOOST_PP_IF(p(181, s), NDNBOOST_PP_FOR_181, NDNBOOST_PP_TUPLE_EAT_4)(o(181, s), p, o, m)
+# define NDNBOOST_PP_FOR_181(s, p, o, m) NDNBOOST_PP_IF(p(182, s), m, NDNBOOST_PP_TUPLE_EAT_2)(182, s) NDNBOOST_PP_IF(p(182, s), NDNBOOST_PP_FOR_182, NDNBOOST_PP_TUPLE_EAT_4)(o(182, s), p, o, m)
+# define NDNBOOST_PP_FOR_182(s, p, o, m) NDNBOOST_PP_IF(p(183, s), m, NDNBOOST_PP_TUPLE_EAT_2)(183, s) NDNBOOST_PP_IF(p(183, s), NDNBOOST_PP_FOR_183, NDNBOOST_PP_TUPLE_EAT_4)(o(183, s), p, o, m)
+# define NDNBOOST_PP_FOR_183(s, p, o, m) NDNBOOST_PP_IF(p(184, s), m, NDNBOOST_PP_TUPLE_EAT_2)(184, s) NDNBOOST_PP_IF(p(184, s), NDNBOOST_PP_FOR_184, NDNBOOST_PP_TUPLE_EAT_4)(o(184, s), p, o, m)
+# define NDNBOOST_PP_FOR_184(s, p, o, m) NDNBOOST_PP_IF(p(185, s), m, NDNBOOST_PP_TUPLE_EAT_2)(185, s) NDNBOOST_PP_IF(p(185, s), NDNBOOST_PP_FOR_185, NDNBOOST_PP_TUPLE_EAT_4)(o(185, s), p, o, m)
+# define NDNBOOST_PP_FOR_185(s, p, o, m) NDNBOOST_PP_IF(p(186, s), m, NDNBOOST_PP_TUPLE_EAT_2)(186, s) NDNBOOST_PP_IF(p(186, s), NDNBOOST_PP_FOR_186, NDNBOOST_PP_TUPLE_EAT_4)(o(186, s), p, o, m)
+# define NDNBOOST_PP_FOR_186(s, p, o, m) NDNBOOST_PP_IF(p(187, s), m, NDNBOOST_PP_TUPLE_EAT_2)(187, s) NDNBOOST_PP_IF(p(187, s), NDNBOOST_PP_FOR_187, NDNBOOST_PP_TUPLE_EAT_4)(o(187, s), p, o, m)
+# define NDNBOOST_PP_FOR_187(s, p, o, m) NDNBOOST_PP_IF(p(188, s), m, NDNBOOST_PP_TUPLE_EAT_2)(188, s) NDNBOOST_PP_IF(p(188, s), NDNBOOST_PP_FOR_188, NDNBOOST_PP_TUPLE_EAT_4)(o(188, s), p, o, m)
+# define NDNBOOST_PP_FOR_188(s, p, o, m) NDNBOOST_PP_IF(p(189, s), m, NDNBOOST_PP_TUPLE_EAT_2)(189, s) NDNBOOST_PP_IF(p(189, s), NDNBOOST_PP_FOR_189, NDNBOOST_PP_TUPLE_EAT_4)(o(189, s), p, o, m)
+# define NDNBOOST_PP_FOR_189(s, p, o, m) NDNBOOST_PP_IF(p(190, s), m, NDNBOOST_PP_TUPLE_EAT_2)(190, s) NDNBOOST_PP_IF(p(190, s), NDNBOOST_PP_FOR_190, NDNBOOST_PP_TUPLE_EAT_4)(o(190, s), p, o, m)
+# define NDNBOOST_PP_FOR_190(s, p, o, m) NDNBOOST_PP_IF(p(191, s), m, NDNBOOST_PP_TUPLE_EAT_2)(191, s) NDNBOOST_PP_IF(p(191, s), NDNBOOST_PP_FOR_191, NDNBOOST_PP_TUPLE_EAT_4)(o(191, s), p, o, m)
+# define NDNBOOST_PP_FOR_191(s, p, o, m) NDNBOOST_PP_IF(p(192, s), m, NDNBOOST_PP_TUPLE_EAT_2)(192, s) NDNBOOST_PP_IF(p(192, s), NDNBOOST_PP_FOR_192, NDNBOOST_PP_TUPLE_EAT_4)(o(192, s), p, o, m)
+# define NDNBOOST_PP_FOR_192(s, p, o, m) NDNBOOST_PP_IF(p(193, s), m, NDNBOOST_PP_TUPLE_EAT_2)(193, s) NDNBOOST_PP_IF(p(193, s), NDNBOOST_PP_FOR_193, NDNBOOST_PP_TUPLE_EAT_4)(o(193, s), p, o, m)
+# define NDNBOOST_PP_FOR_193(s, p, o, m) NDNBOOST_PP_IF(p(194, s), m, NDNBOOST_PP_TUPLE_EAT_2)(194, s) NDNBOOST_PP_IF(p(194, s), NDNBOOST_PP_FOR_194, NDNBOOST_PP_TUPLE_EAT_4)(o(194, s), p, o, m)
+# define NDNBOOST_PP_FOR_194(s, p, o, m) NDNBOOST_PP_IF(p(195, s), m, NDNBOOST_PP_TUPLE_EAT_2)(195, s) NDNBOOST_PP_IF(p(195, s), NDNBOOST_PP_FOR_195, NDNBOOST_PP_TUPLE_EAT_4)(o(195, s), p, o, m)
+# define NDNBOOST_PP_FOR_195(s, p, o, m) NDNBOOST_PP_IF(p(196, s), m, NDNBOOST_PP_TUPLE_EAT_2)(196, s) NDNBOOST_PP_IF(p(196, s), NDNBOOST_PP_FOR_196, NDNBOOST_PP_TUPLE_EAT_4)(o(196, s), p, o, m)
+# define NDNBOOST_PP_FOR_196(s, p, o, m) NDNBOOST_PP_IF(p(197, s), m, NDNBOOST_PP_TUPLE_EAT_2)(197, s) NDNBOOST_PP_IF(p(197, s), NDNBOOST_PP_FOR_197, NDNBOOST_PP_TUPLE_EAT_4)(o(197, s), p, o, m)
+# define NDNBOOST_PP_FOR_197(s, p, o, m) NDNBOOST_PP_IF(p(198, s), m, NDNBOOST_PP_TUPLE_EAT_2)(198, s) NDNBOOST_PP_IF(p(198, s), NDNBOOST_PP_FOR_198, NDNBOOST_PP_TUPLE_EAT_4)(o(198, s), p, o, m)
+# define NDNBOOST_PP_FOR_198(s, p, o, m) NDNBOOST_PP_IF(p(199, s), m, NDNBOOST_PP_TUPLE_EAT_2)(199, s) NDNBOOST_PP_IF(p(199, s), NDNBOOST_PP_FOR_199, NDNBOOST_PP_TUPLE_EAT_4)(o(199, s), p, o, m)
+# define NDNBOOST_PP_FOR_199(s, p, o, m) NDNBOOST_PP_IF(p(200, s), m, NDNBOOST_PP_TUPLE_EAT_2)(200, s) NDNBOOST_PP_IF(p(200, s), NDNBOOST_PP_FOR_200, NDNBOOST_PP_TUPLE_EAT_4)(o(200, s), p, o, m)
+# define NDNBOOST_PP_FOR_200(s, p, o, m) NDNBOOST_PP_IF(p(201, s), m, NDNBOOST_PP_TUPLE_EAT_2)(201, s) NDNBOOST_PP_IF(p(201, s), NDNBOOST_PP_FOR_201, NDNBOOST_PP_TUPLE_EAT_4)(o(201, s), p, o, m)
+# define NDNBOOST_PP_FOR_201(s, p, o, m) NDNBOOST_PP_IF(p(202, s), m, NDNBOOST_PP_TUPLE_EAT_2)(202, s) NDNBOOST_PP_IF(p(202, s), NDNBOOST_PP_FOR_202, NDNBOOST_PP_TUPLE_EAT_4)(o(202, s), p, o, m)
+# define NDNBOOST_PP_FOR_202(s, p, o, m) NDNBOOST_PP_IF(p(203, s), m, NDNBOOST_PP_TUPLE_EAT_2)(203, s) NDNBOOST_PP_IF(p(203, s), NDNBOOST_PP_FOR_203, NDNBOOST_PP_TUPLE_EAT_4)(o(203, s), p, o, m)
+# define NDNBOOST_PP_FOR_203(s, p, o, m) NDNBOOST_PP_IF(p(204, s), m, NDNBOOST_PP_TUPLE_EAT_2)(204, s) NDNBOOST_PP_IF(p(204, s), NDNBOOST_PP_FOR_204, NDNBOOST_PP_TUPLE_EAT_4)(o(204, s), p, o, m)
+# define NDNBOOST_PP_FOR_204(s, p, o, m) NDNBOOST_PP_IF(p(205, s), m, NDNBOOST_PP_TUPLE_EAT_2)(205, s) NDNBOOST_PP_IF(p(205, s), NDNBOOST_PP_FOR_205, NDNBOOST_PP_TUPLE_EAT_4)(o(205, s), p, o, m)
+# define NDNBOOST_PP_FOR_205(s, p, o, m) NDNBOOST_PP_IF(p(206, s), m, NDNBOOST_PP_TUPLE_EAT_2)(206, s) NDNBOOST_PP_IF(p(206, s), NDNBOOST_PP_FOR_206, NDNBOOST_PP_TUPLE_EAT_4)(o(206, s), p, o, m)
+# define NDNBOOST_PP_FOR_206(s, p, o, m) NDNBOOST_PP_IF(p(207, s), m, NDNBOOST_PP_TUPLE_EAT_2)(207, s) NDNBOOST_PP_IF(p(207, s), NDNBOOST_PP_FOR_207, NDNBOOST_PP_TUPLE_EAT_4)(o(207, s), p, o, m)
+# define NDNBOOST_PP_FOR_207(s, p, o, m) NDNBOOST_PP_IF(p(208, s), m, NDNBOOST_PP_TUPLE_EAT_2)(208, s) NDNBOOST_PP_IF(p(208, s), NDNBOOST_PP_FOR_208, NDNBOOST_PP_TUPLE_EAT_4)(o(208, s), p, o, m)
+# define NDNBOOST_PP_FOR_208(s, p, o, m) NDNBOOST_PP_IF(p(209, s), m, NDNBOOST_PP_TUPLE_EAT_2)(209, s) NDNBOOST_PP_IF(p(209, s), NDNBOOST_PP_FOR_209, NDNBOOST_PP_TUPLE_EAT_4)(o(209, s), p, o, m)
+# define NDNBOOST_PP_FOR_209(s, p, o, m) NDNBOOST_PP_IF(p(210, s), m, NDNBOOST_PP_TUPLE_EAT_2)(210, s) NDNBOOST_PP_IF(p(210, s), NDNBOOST_PP_FOR_210, NDNBOOST_PP_TUPLE_EAT_4)(o(210, s), p, o, m)
+# define NDNBOOST_PP_FOR_210(s, p, o, m) NDNBOOST_PP_IF(p(211, s), m, NDNBOOST_PP_TUPLE_EAT_2)(211, s) NDNBOOST_PP_IF(p(211, s), NDNBOOST_PP_FOR_211, NDNBOOST_PP_TUPLE_EAT_4)(o(211, s), p, o, m)
+# define NDNBOOST_PP_FOR_211(s, p, o, m) NDNBOOST_PP_IF(p(212, s), m, NDNBOOST_PP_TUPLE_EAT_2)(212, s) NDNBOOST_PP_IF(p(212, s), NDNBOOST_PP_FOR_212, NDNBOOST_PP_TUPLE_EAT_4)(o(212, s), p, o, m)
+# define NDNBOOST_PP_FOR_212(s, p, o, m) NDNBOOST_PP_IF(p(213, s), m, NDNBOOST_PP_TUPLE_EAT_2)(213, s) NDNBOOST_PP_IF(p(213, s), NDNBOOST_PP_FOR_213, NDNBOOST_PP_TUPLE_EAT_4)(o(213, s), p, o, m)
+# define NDNBOOST_PP_FOR_213(s, p, o, m) NDNBOOST_PP_IF(p(214, s), m, NDNBOOST_PP_TUPLE_EAT_2)(214, s) NDNBOOST_PP_IF(p(214, s), NDNBOOST_PP_FOR_214, NDNBOOST_PP_TUPLE_EAT_4)(o(214, s), p, o, m)
+# define NDNBOOST_PP_FOR_214(s, p, o, m) NDNBOOST_PP_IF(p(215, s), m, NDNBOOST_PP_TUPLE_EAT_2)(215, s) NDNBOOST_PP_IF(p(215, s), NDNBOOST_PP_FOR_215, NDNBOOST_PP_TUPLE_EAT_4)(o(215, s), p, o, m)
+# define NDNBOOST_PP_FOR_215(s, p, o, m) NDNBOOST_PP_IF(p(216, s), m, NDNBOOST_PP_TUPLE_EAT_2)(216, s) NDNBOOST_PP_IF(p(216, s), NDNBOOST_PP_FOR_216, NDNBOOST_PP_TUPLE_EAT_4)(o(216, s), p, o, m)
+# define NDNBOOST_PP_FOR_216(s, p, o, m) NDNBOOST_PP_IF(p(217, s), m, NDNBOOST_PP_TUPLE_EAT_2)(217, s) NDNBOOST_PP_IF(p(217, s), NDNBOOST_PP_FOR_217, NDNBOOST_PP_TUPLE_EAT_4)(o(217, s), p, o, m)
+# define NDNBOOST_PP_FOR_217(s, p, o, m) NDNBOOST_PP_IF(p(218, s), m, NDNBOOST_PP_TUPLE_EAT_2)(218, s) NDNBOOST_PP_IF(p(218, s), NDNBOOST_PP_FOR_218, NDNBOOST_PP_TUPLE_EAT_4)(o(218, s), p, o, m)
+# define NDNBOOST_PP_FOR_218(s, p, o, m) NDNBOOST_PP_IF(p(219, s), m, NDNBOOST_PP_TUPLE_EAT_2)(219, s) NDNBOOST_PP_IF(p(219, s), NDNBOOST_PP_FOR_219, NDNBOOST_PP_TUPLE_EAT_4)(o(219, s), p, o, m)
+# define NDNBOOST_PP_FOR_219(s, p, o, m) NDNBOOST_PP_IF(p(220, s), m, NDNBOOST_PP_TUPLE_EAT_2)(220, s) NDNBOOST_PP_IF(p(220, s), NDNBOOST_PP_FOR_220, NDNBOOST_PP_TUPLE_EAT_4)(o(220, s), p, o, m)
+# define NDNBOOST_PP_FOR_220(s, p, o, m) NDNBOOST_PP_IF(p(221, s), m, NDNBOOST_PP_TUPLE_EAT_2)(221, s) NDNBOOST_PP_IF(p(221, s), NDNBOOST_PP_FOR_221, NDNBOOST_PP_TUPLE_EAT_4)(o(221, s), p, o, m)
+# define NDNBOOST_PP_FOR_221(s, p, o, m) NDNBOOST_PP_IF(p(222, s), m, NDNBOOST_PP_TUPLE_EAT_2)(222, s) NDNBOOST_PP_IF(p(222, s), NDNBOOST_PP_FOR_222, NDNBOOST_PP_TUPLE_EAT_4)(o(222, s), p, o, m)
+# define NDNBOOST_PP_FOR_222(s, p, o, m) NDNBOOST_PP_IF(p(223, s), m, NDNBOOST_PP_TUPLE_EAT_2)(223, s) NDNBOOST_PP_IF(p(223, s), NDNBOOST_PP_FOR_223, NDNBOOST_PP_TUPLE_EAT_4)(o(223, s), p, o, m)
+# define NDNBOOST_PP_FOR_223(s, p, o, m) NDNBOOST_PP_IF(p(224, s), m, NDNBOOST_PP_TUPLE_EAT_2)(224, s) NDNBOOST_PP_IF(p(224, s), NDNBOOST_PP_FOR_224, NDNBOOST_PP_TUPLE_EAT_4)(o(224, s), p, o, m)
+# define NDNBOOST_PP_FOR_224(s, p, o, m) NDNBOOST_PP_IF(p(225, s), m, NDNBOOST_PP_TUPLE_EAT_2)(225, s) NDNBOOST_PP_IF(p(225, s), NDNBOOST_PP_FOR_225, NDNBOOST_PP_TUPLE_EAT_4)(o(225, s), p, o, m)
+# define NDNBOOST_PP_FOR_225(s, p, o, m) NDNBOOST_PP_IF(p(226, s), m, NDNBOOST_PP_TUPLE_EAT_2)(226, s) NDNBOOST_PP_IF(p(226, s), NDNBOOST_PP_FOR_226, NDNBOOST_PP_TUPLE_EAT_4)(o(226, s), p, o, m)
+# define NDNBOOST_PP_FOR_226(s, p, o, m) NDNBOOST_PP_IF(p(227, s), m, NDNBOOST_PP_TUPLE_EAT_2)(227, s) NDNBOOST_PP_IF(p(227, s), NDNBOOST_PP_FOR_227, NDNBOOST_PP_TUPLE_EAT_4)(o(227, s), p, o, m)
+# define NDNBOOST_PP_FOR_227(s, p, o, m) NDNBOOST_PP_IF(p(228, s), m, NDNBOOST_PP_TUPLE_EAT_2)(228, s) NDNBOOST_PP_IF(p(228, s), NDNBOOST_PP_FOR_228, NDNBOOST_PP_TUPLE_EAT_4)(o(228, s), p, o, m)
+# define NDNBOOST_PP_FOR_228(s, p, o, m) NDNBOOST_PP_IF(p(229, s), m, NDNBOOST_PP_TUPLE_EAT_2)(229, s) NDNBOOST_PP_IF(p(229, s), NDNBOOST_PP_FOR_229, NDNBOOST_PP_TUPLE_EAT_4)(o(229, s), p, o, m)
+# define NDNBOOST_PP_FOR_229(s, p, o, m) NDNBOOST_PP_IF(p(230, s), m, NDNBOOST_PP_TUPLE_EAT_2)(230, s) NDNBOOST_PP_IF(p(230, s), NDNBOOST_PP_FOR_230, NDNBOOST_PP_TUPLE_EAT_4)(o(230, s), p, o, m)
+# define NDNBOOST_PP_FOR_230(s, p, o, m) NDNBOOST_PP_IF(p(231, s), m, NDNBOOST_PP_TUPLE_EAT_2)(231, s) NDNBOOST_PP_IF(p(231, s), NDNBOOST_PP_FOR_231, NDNBOOST_PP_TUPLE_EAT_4)(o(231, s), p, o, m)
+# define NDNBOOST_PP_FOR_231(s, p, o, m) NDNBOOST_PP_IF(p(232, s), m, NDNBOOST_PP_TUPLE_EAT_2)(232, s) NDNBOOST_PP_IF(p(232, s), NDNBOOST_PP_FOR_232, NDNBOOST_PP_TUPLE_EAT_4)(o(232, s), p, o, m)
+# define NDNBOOST_PP_FOR_232(s, p, o, m) NDNBOOST_PP_IF(p(233, s), m, NDNBOOST_PP_TUPLE_EAT_2)(233, s) NDNBOOST_PP_IF(p(233, s), NDNBOOST_PP_FOR_233, NDNBOOST_PP_TUPLE_EAT_4)(o(233, s), p, o, m)
+# define NDNBOOST_PP_FOR_233(s, p, o, m) NDNBOOST_PP_IF(p(234, s), m, NDNBOOST_PP_TUPLE_EAT_2)(234, s) NDNBOOST_PP_IF(p(234, s), NDNBOOST_PP_FOR_234, NDNBOOST_PP_TUPLE_EAT_4)(o(234, s), p, o, m)
+# define NDNBOOST_PP_FOR_234(s, p, o, m) NDNBOOST_PP_IF(p(235, s), m, NDNBOOST_PP_TUPLE_EAT_2)(235, s) NDNBOOST_PP_IF(p(235, s), NDNBOOST_PP_FOR_235, NDNBOOST_PP_TUPLE_EAT_4)(o(235, s), p, o, m)
+# define NDNBOOST_PP_FOR_235(s, p, o, m) NDNBOOST_PP_IF(p(236, s), m, NDNBOOST_PP_TUPLE_EAT_2)(236, s) NDNBOOST_PP_IF(p(236, s), NDNBOOST_PP_FOR_236, NDNBOOST_PP_TUPLE_EAT_4)(o(236, s), p, o, m)
+# define NDNBOOST_PP_FOR_236(s, p, o, m) NDNBOOST_PP_IF(p(237, s), m, NDNBOOST_PP_TUPLE_EAT_2)(237, s) NDNBOOST_PP_IF(p(237, s), NDNBOOST_PP_FOR_237, NDNBOOST_PP_TUPLE_EAT_4)(o(237, s), p, o, m)
+# define NDNBOOST_PP_FOR_237(s, p, o, m) NDNBOOST_PP_IF(p(238, s), m, NDNBOOST_PP_TUPLE_EAT_2)(238, s) NDNBOOST_PP_IF(p(238, s), NDNBOOST_PP_FOR_238, NDNBOOST_PP_TUPLE_EAT_4)(o(238, s), p, o, m)
+# define NDNBOOST_PP_FOR_238(s, p, o, m) NDNBOOST_PP_IF(p(239, s), m, NDNBOOST_PP_TUPLE_EAT_2)(239, s) NDNBOOST_PP_IF(p(239, s), NDNBOOST_PP_FOR_239, NDNBOOST_PP_TUPLE_EAT_4)(o(239, s), p, o, m)
+# define NDNBOOST_PP_FOR_239(s, p, o, m) NDNBOOST_PP_IF(p(240, s), m, NDNBOOST_PP_TUPLE_EAT_2)(240, s) NDNBOOST_PP_IF(p(240, s), NDNBOOST_PP_FOR_240, NDNBOOST_PP_TUPLE_EAT_4)(o(240, s), p, o, m)
+# define NDNBOOST_PP_FOR_240(s, p, o, m) NDNBOOST_PP_IF(p(241, s), m, NDNBOOST_PP_TUPLE_EAT_2)(241, s) NDNBOOST_PP_IF(p(241, s), NDNBOOST_PP_FOR_241, NDNBOOST_PP_TUPLE_EAT_4)(o(241, s), p, o, m)
+# define NDNBOOST_PP_FOR_241(s, p, o, m) NDNBOOST_PP_IF(p(242, s), m, NDNBOOST_PP_TUPLE_EAT_2)(242, s) NDNBOOST_PP_IF(p(242, s), NDNBOOST_PP_FOR_242, NDNBOOST_PP_TUPLE_EAT_4)(o(242, s), p, o, m)
+# define NDNBOOST_PP_FOR_242(s, p, o, m) NDNBOOST_PP_IF(p(243, s), m, NDNBOOST_PP_TUPLE_EAT_2)(243, s) NDNBOOST_PP_IF(p(243, s), NDNBOOST_PP_FOR_243, NDNBOOST_PP_TUPLE_EAT_4)(o(243, s), p, o, m)
+# define NDNBOOST_PP_FOR_243(s, p, o, m) NDNBOOST_PP_IF(p(244, s), m, NDNBOOST_PP_TUPLE_EAT_2)(244, s) NDNBOOST_PP_IF(p(244, s), NDNBOOST_PP_FOR_244, NDNBOOST_PP_TUPLE_EAT_4)(o(244, s), p, o, m)
+# define NDNBOOST_PP_FOR_244(s, p, o, m) NDNBOOST_PP_IF(p(245, s), m, NDNBOOST_PP_TUPLE_EAT_2)(245, s) NDNBOOST_PP_IF(p(245, s), NDNBOOST_PP_FOR_245, NDNBOOST_PP_TUPLE_EAT_4)(o(245, s), p, o, m)
+# define NDNBOOST_PP_FOR_245(s, p, o, m) NDNBOOST_PP_IF(p(246, s), m, NDNBOOST_PP_TUPLE_EAT_2)(246, s) NDNBOOST_PP_IF(p(246, s), NDNBOOST_PP_FOR_246, NDNBOOST_PP_TUPLE_EAT_4)(o(246, s), p, o, m)
+# define NDNBOOST_PP_FOR_246(s, p, o, m) NDNBOOST_PP_IF(p(247, s), m, NDNBOOST_PP_TUPLE_EAT_2)(247, s) NDNBOOST_PP_IF(p(247, s), NDNBOOST_PP_FOR_247, NDNBOOST_PP_TUPLE_EAT_4)(o(247, s), p, o, m)
+# define NDNBOOST_PP_FOR_247(s, p, o, m) NDNBOOST_PP_IF(p(248, s), m, NDNBOOST_PP_TUPLE_EAT_2)(248, s) NDNBOOST_PP_IF(p(248, s), NDNBOOST_PP_FOR_248, NDNBOOST_PP_TUPLE_EAT_4)(o(248, s), p, o, m)
+# define NDNBOOST_PP_FOR_248(s, p, o, m) NDNBOOST_PP_IF(p(249, s), m, NDNBOOST_PP_TUPLE_EAT_2)(249, s) NDNBOOST_PP_IF(p(249, s), NDNBOOST_PP_FOR_249, NDNBOOST_PP_TUPLE_EAT_4)(o(249, s), p, o, m)
+# define NDNBOOST_PP_FOR_249(s, p, o, m) NDNBOOST_PP_IF(p(250, s), m, NDNBOOST_PP_TUPLE_EAT_2)(250, s) NDNBOOST_PP_IF(p(250, s), NDNBOOST_PP_FOR_250, NDNBOOST_PP_TUPLE_EAT_4)(o(250, s), p, o, m)
+# define NDNBOOST_PP_FOR_250(s, p, o, m) NDNBOOST_PP_IF(p(251, s), m, NDNBOOST_PP_TUPLE_EAT_2)(251, s) NDNBOOST_PP_IF(p(251, s), NDNBOOST_PP_FOR_251, NDNBOOST_PP_TUPLE_EAT_4)(o(251, s), p, o, m)
+# define NDNBOOST_PP_FOR_251(s, p, o, m) NDNBOOST_PP_IF(p(252, s), m, NDNBOOST_PP_TUPLE_EAT_2)(252, s) NDNBOOST_PP_IF(p(252, s), NDNBOOST_PP_FOR_252, NDNBOOST_PP_TUPLE_EAT_4)(o(252, s), p, o, m)
+# define NDNBOOST_PP_FOR_252(s, p, o, m) NDNBOOST_PP_IF(p(253, s), m, NDNBOOST_PP_TUPLE_EAT_2)(253, s) NDNBOOST_PP_IF(p(253, s), NDNBOOST_PP_FOR_253, NDNBOOST_PP_TUPLE_EAT_4)(o(253, s), p, o, m)
+# define NDNBOOST_PP_FOR_253(s, p, o, m) NDNBOOST_PP_IF(p(254, s), m, NDNBOOST_PP_TUPLE_EAT_2)(254, s) NDNBOOST_PP_IF(p(254, s), NDNBOOST_PP_FOR_254, NDNBOOST_PP_TUPLE_EAT_4)(o(254, s), p, o, m)
+# define NDNBOOST_PP_FOR_254(s, p, o, m) NDNBOOST_PP_IF(p(255, s), m, NDNBOOST_PP_TUPLE_EAT_2)(255, s) NDNBOOST_PP_IF(p(255, s), NDNBOOST_PP_FOR_255, NDNBOOST_PP_TUPLE_EAT_4)(o(255, s), p, o, m)
+# define NDNBOOST_PP_FOR_255(s, p, o, m) NDNBOOST_PP_IF(p(256, s), m, NDNBOOST_PP_TUPLE_EAT_2)(256, s) NDNBOOST_PP_IF(p(256, s), NDNBOOST_PP_FOR_256, NDNBOOST_PP_TUPLE_EAT_4)(o(256, s), p, o, m)
+# define NDNBOOST_PP_FOR_256(s, p, o, m) NDNBOOST_PP_IF(p(257, s), m, NDNBOOST_PP_TUPLE_EAT_2)(257, s) NDNBOOST_PP_IF(p(257, s), NDNBOOST_PP_FOR_257, NDNBOOST_PP_TUPLE_EAT_4)(o(257, s), p, o, m)
 #
 # endif
diff --git a/include/ndnboost/preprocessor/repetition/enum.hpp b/include/ndnboost/preprocessor/repetition/enum.hpp
index eacd944..335cb1c 100644
--- a/include/ndnboost/preprocessor/repetition/enum.hpp
+++ b/include/ndnboost/preprocessor/repetition/enum.hpp
@@ -11,8 +11,8 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_REPETITION_ENUM_HPP
-# define BOOST_PREPROCESSOR_REPETITION_ENUM_HPP
+# ifndef NDNBOOST_PREPROCESSOR_REPETITION_ENUM_HPP
+# define NDNBOOST_PREPROCESSOR_REPETITION_ENUM_HPP
 #
 # include <ndnboost/preprocessor/cat.hpp>
 # include <ndnboost/preprocessor/config/config.hpp>
@@ -23,44 +23,44 @@
 # include <ndnboost/preprocessor/tuple/elem.hpp>
 # include <ndnboost/preprocessor/tuple/rem.hpp>
 #
-# /* BOOST_PP_ENUM */
+# /* NDNBOOST_PP_ENUM */
 #
 # if 0
-#    define BOOST_PP_ENUM(count, macro, data)
+#    define NDNBOOST_PP_ENUM(count, macro, data)
 # endif
 #
-# define BOOST_PP_ENUM BOOST_PP_CAT(BOOST_PP_ENUM_, BOOST_PP_AUTO_REC(BOOST_PP_REPEAT_P, 4))
+# define NDNBOOST_PP_ENUM NDNBOOST_PP_CAT(NDNBOOST_PP_ENUM_, NDNBOOST_PP_AUTO_REC(NDNBOOST_PP_REPEAT_P, 4))
 #
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_ENUM_1(c, m, d) BOOST_PP_REPEAT_1(c, BOOST_PP_ENUM_M_1, (m, d))
-#    define BOOST_PP_ENUM_2(c, m, d) BOOST_PP_REPEAT_2(c, BOOST_PP_ENUM_M_2, (m, d))
-#    define BOOST_PP_ENUM_3(c, m, d) BOOST_PP_REPEAT_3(c, BOOST_PP_ENUM_M_3, (m, d))
+# if ~NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_EDG()
+#    define NDNBOOST_PP_ENUM_1(c, m, d) NDNBOOST_PP_REPEAT_1(c, NDNBOOST_PP_ENUM_M_1, (m, d))
+#    define NDNBOOST_PP_ENUM_2(c, m, d) NDNBOOST_PP_REPEAT_2(c, NDNBOOST_PP_ENUM_M_2, (m, d))
+#    define NDNBOOST_PP_ENUM_3(c, m, d) NDNBOOST_PP_REPEAT_3(c, NDNBOOST_PP_ENUM_M_3, (m, d))
 # else
-#    define BOOST_PP_ENUM_1(c, m, d) BOOST_PP_ENUM_1_I(c, m, d)
-#    define BOOST_PP_ENUM_2(c, m, d) BOOST_PP_ENUM_2_I(c, m, d)
-#    define BOOST_PP_ENUM_3(c, m, d) BOOST_PP_ENUM_3_I(c, m, d)
-#    define BOOST_PP_ENUM_1_I(c, m, d) BOOST_PP_REPEAT_1(c, BOOST_PP_ENUM_M_1, (m, d))
-#    define BOOST_PP_ENUM_2_I(c, m, d) BOOST_PP_REPEAT_2(c, BOOST_PP_ENUM_M_2, (m, d))
-#    define BOOST_PP_ENUM_3_I(c, m, d) BOOST_PP_REPEAT_3(c, BOOST_PP_ENUM_M_3, (m, d))
+#    define NDNBOOST_PP_ENUM_1(c, m, d) NDNBOOST_PP_ENUM_1_I(c, m, d)
+#    define NDNBOOST_PP_ENUM_2(c, m, d) NDNBOOST_PP_ENUM_2_I(c, m, d)
+#    define NDNBOOST_PP_ENUM_3(c, m, d) NDNBOOST_PP_ENUM_3_I(c, m, d)
+#    define NDNBOOST_PP_ENUM_1_I(c, m, d) NDNBOOST_PP_REPEAT_1(c, NDNBOOST_PP_ENUM_M_1, (m, d))
+#    define NDNBOOST_PP_ENUM_2_I(c, m, d) NDNBOOST_PP_REPEAT_2(c, NDNBOOST_PP_ENUM_M_2, (m, d))
+#    define NDNBOOST_PP_ENUM_3_I(c, m, d) NDNBOOST_PP_REPEAT_3(c, NDNBOOST_PP_ENUM_M_3, (m, d))
 # endif
 #
-# define BOOST_PP_ENUM_4(c, m, d) BOOST_PP_ERROR(0x0003)
+# define NDNBOOST_PP_ENUM_4(c, m, d) NDNBOOST_PP_ERROR(0x0003)
 #
-# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT()
-#    define BOOST_PP_ENUM_M_1(z, n, md) BOOST_PP_ENUM_M_1_IM(z, n, BOOST_PP_TUPLE_REM_2 md)
-#    define BOOST_PP_ENUM_M_2(z, n, md) BOOST_PP_ENUM_M_2_IM(z, n, BOOST_PP_TUPLE_REM_2 md)
-#    define BOOST_PP_ENUM_M_3(z, n, md) BOOST_PP_ENUM_M_3_IM(z, n, BOOST_PP_TUPLE_REM_2 md)
-#    define BOOST_PP_ENUM_M_1_IM(z, n, im) BOOST_PP_ENUM_M_1_I(z, n, im)
-#    define BOOST_PP_ENUM_M_2_IM(z, n, im) BOOST_PP_ENUM_M_2_I(z, n, im)
-#    define BOOST_PP_ENUM_M_3_IM(z, n, im) BOOST_PP_ENUM_M_3_I(z, n, im)
+# if NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_STRICT()
+#    define NDNBOOST_PP_ENUM_M_1(z, n, md) NDNBOOST_PP_ENUM_M_1_IM(z, n, NDNBOOST_PP_TUPLE_REM_2 md)
+#    define NDNBOOST_PP_ENUM_M_2(z, n, md) NDNBOOST_PP_ENUM_M_2_IM(z, n, NDNBOOST_PP_TUPLE_REM_2 md)
+#    define NDNBOOST_PP_ENUM_M_3(z, n, md) NDNBOOST_PP_ENUM_M_3_IM(z, n, NDNBOOST_PP_TUPLE_REM_2 md)
+#    define NDNBOOST_PP_ENUM_M_1_IM(z, n, im) NDNBOOST_PP_ENUM_M_1_I(z, n, im)
+#    define NDNBOOST_PP_ENUM_M_2_IM(z, n, im) NDNBOOST_PP_ENUM_M_2_I(z, n, im)
+#    define NDNBOOST_PP_ENUM_M_3_IM(z, n, im) NDNBOOST_PP_ENUM_M_3_I(z, n, im)
 # else
-#    define BOOST_PP_ENUM_M_1(z, n, md) BOOST_PP_ENUM_M_1_I(z, n, BOOST_PP_TUPLE_ELEM(2, 0, md), BOOST_PP_TUPLE_ELEM(2, 1, md))
-#    define BOOST_PP_ENUM_M_2(z, n, md) BOOST_PP_ENUM_M_2_I(z, n, BOOST_PP_TUPLE_ELEM(2, 0, md), BOOST_PP_TUPLE_ELEM(2, 1, md))
-#    define BOOST_PP_ENUM_M_3(z, n, md) BOOST_PP_ENUM_M_3_I(z, n, BOOST_PP_TUPLE_ELEM(2, 0, md), BOOST_PP_TUPLE_ELEM(2, 1, md))
+#    define NDNBOOST_PP_ENUM_M_1(z, n, md) NDNBOOST_PP_ENUM_M_1_I(z, n, NDNBOOST_PP_TUPLE_ELEM(2, 0, md), NDNBOOST_PP_TUPLE_ELEM(2, 1, md))
+#    define NDNBOOST_PP_ENUM_M_2(z, n, md) NDNBOOST_PP_ENUM_M_2_I(z, n, NDNBOOST_PP_TUPLE_ELEM(2, 0, md), NDNBOOST_PP_TUPLE_ELEM(2, 1, md))
+#    define NDNBOOST_PP_ENUM_M_3(z, n, md) NDNBOOST_PP_ENUM_M_3_I(z, n, NDNBOOST_PP_TUPLE_ELEM(2, 0, md), NDNBOOST_PP_TUPLE_ELEM(2, 1, md))
 # endif
 #
-# define BOOST_PP_ENUM_M_1_I(z, n, m, d) BOOST_PP_COMMA_IF(n) m(z, n, d)
-# define BOOST_PP_ENUM_M_2_I(z, n, m, d) BOOST_PP_COMMA_IF(n) m(z, n, d)
-# define BOOST_PP_ENUM_M_3_I(z, n, m, d) BOOST_PP_COMMA_IF(n) m(z, n, d)
+# define NDNBOOST_PP_ENUM_M_1_I(z, n, m, d) NDNBOOST_PP_COMMA_IF(n) m(z, n, d)
+# define NDNBOOST_PP_ENUM_M_2_I(z, n, m, d) NDNBOOST_PP_COMMA_IF(n) m(z, n, d)
+# define NDNBOOST_PP_ENUM_M_3_I(z, n, m, d) NDNBOOST_PP_COMMA_IF(n) m(z, n, d)
 #
 # endif
diff --git a/include/ndnboost/preprocessor/repetition/enum_binary_params.hpp b/include/ndnboost/preprocessor/repetition/enum_binary_params.hpp
index 39de801..308426f 100644
--- a/include/ndnboost/preprocessor/repetition/enum_binary_params.hpp
+++ b/include/ndnboost/preprocessor/repetition/enum_binary_params.hpp
@@ -9,8 +9,8 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_REPETITION_ENUM_BINARY_PARAMS_HPP
-# define BOOST_PREPROCESSOR_REPETITION_ENUM_BINARY_PARAMS_HPP
+# ifndef NDNBOOST_PREPROCESSOR_REPETITION_ENUM_BINARY_PARAMS_HPP
+# define NDNBOOST_PREPROCESSOR_REPETITION_ENUM_BINARY_PARAMS_HPP
 #
 # include <ndnboost/preprocessor/cat.hpp>
 # include <ndnboost/preprocessor/config/config.hpp>
@@ -19,36 +19,36 @@
 # include <ndnboost/preprocessor/tuple/elem.hpp>
 # include <ndnboost/preprocessor/tuple/rem.hpp>
 #
-# /* BOOST_PP_ENUM_BINARY_PARAMS */
+# /* NDNBOOST_PP_ENUM_BINARY_PARAMS */
 #
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_ENUM_BINARY_PARAMS(count, p1, p2) BOOST_PP_REPEAT(count, BOOST_PP_ENUM_BINARY_PARAMS_M, (p1, p2))
+# if ~NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_EDG()
+#    define NDNBOOST_PP_ENUM_BINARY_PARAMS(count, p1, p2) NDNBOOST_PP_REPEAT(count, NDNBOOST_PP_ENUM_BINARY_PARAMS_M, (p1, p2))
 # else
-#    define BOOST_PP_ENUM_BINARY_PARAMS(count, p1, p2) BOOST_PP_ENUM_BINARY_PARAMS_I(count, p1, p2)
-#    define BOOST_PP_ENUM_BINARY_PARAMS_I(count, p1, p2) BOOST_PP_REPEAT(count, BOOST_PP_ENUM_BINARY_PARAMS_M, (p1, p2))
+#    define NDNBOOST_PP_ENUM_BINARY_PARAMS(count, p1, p2) NDNBOOST_PP_ENUM_BINARY_PARAMS_I(count, p1, p2)
+#    define NDNBOOST_PP_ENUM_BINARY_PARAMS_I(count, p1, p2) NDNBOOST_PP_REPEAT(count, NDNBOOST_PP_ENUM_BINARY_PARAMS_M, (p1, p2))
 # endif
 #
-# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT()
-#    define BOOST_PP_ENUM_BINARY_PARAMS_M(z, n, pp) BOOST_PP_ENUM_BINARY_PARAMS_M_IM(z, n, BOOST_PP_TUPLE_REM_2 pp)
-#    define BOOST_PP_ENUM_BINARY_PARAMS_M_IM(z, n, im) BOOST_PP_ENUM_BINARY_PARAMS_M_I(z, n, im)
+# if NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_STRICT()
+#    define NDNBOOST_PP_ENUM_BINARY_PARAMS_M(z, n, pp) NDNBOOST_PP_ENUM_BINARY_PARAMS_M_IM(z, n, NDNBOOST_PP_TUPLE_REM_2 pp)
+#    define NDNBOOST_PP_ENUM_BINARY_PARAMS_M_IM(z, n, im) NDNBOOST_PP_ENUM_BINARY_PARAMS_M_I(z, n, im)
 # else
-#    define BOOST_PP_ENUM_BINARY_PARAMS_M(z, n, pp) BOOST_PP_ENUM_BINARY_PARAMS_M_I(z, n, BOOST_PP_TUPLE_ELEM(2, 0, pp), BOOST_PP_TUPLE_ELEM(2, 1, pp))
+#    define NDNBOOST_PP_ENUM_BINARY_PARAMS_M(z, n, pp) NDNBOOST_PP_ENUM_BINARY_PARAMS_M_I(z, n, NDNBOOST_PP_TUPLE_ELEM(2, 0, pp), NDNBOOST_PP_TUPLE_ELEM(2, 1, pp))
 # endif
 #
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()
-#    define BOOST_PP_ENUM_BINARY_PARAMS_M_I(z, n, p1, p2) BOOST_PP_ENUM_BINARY_PARAMS_M_II(z, n, p1, p2)
-#    define BOOST_PP_ENUM_BINARY_PARAMS_M_II(z, n, p1, p2) BOOST_PP_COMMA_IF(n) p1 ## n p2 ## n
+# if ~NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_MSVC()
+#    define NDNBOOST_PP_ENUM_BINARY_PARAMS_M_I(z, n, p1, p2) NDNBOOST_PP_ENUM_BINARY_PARAMS_M_II(z, n, p1, p2)
+#    define NDNBOOST_PP_ENUM_BINARY_PARAMS_M_II(z, n, p1, p2) NDNBOOST_PP_COMMA_IF(n) p1 ## n p2 ## n
 # else
-#    define BOOST_PP_ENUM_BINARY_PARAMS_M_I(z, n, p1, p2) BOOST_PP_COMMA_IF(n) BOOST_PP_CAT(p1, n) BOOST_PP_CAT(p2, n)
+#    define NDNBOOST_PP_ENUM_BINARY_PARAMS_M_I(z, n, p1, p2) NDNBOOST_PP_COMMA_IF(n) NDNBOOST_PP_CAT(p1, n) NDNBOOST_PP_CAT(p2, n)
 # endif
 #
-# /* BOOST_PP_ENUM_BINARY_PARAMS_Z */
+# /* NDNBOOST_PP_ENUM_BINARY_PARAMS_Z */
 #
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_ENUM_BINARY_PARAMS_Z(z, count, p1, p2) BOOST_PP_REPEAT_ ## z(count, BOOST_PP_ENUM_BINARY_PARAMS_M, (p1, p2))
+# if ~NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_EDG()
+#    define NDNBOOST_PP_ENUM_BINARY_PARAMS_Z(z, count, p1, p2) NDNBOOST_PP_REPEAT_ ## z(count, NDNBOOST_PP_ENUM_BINARY_PARAMS_M, (p1, p2))
 # else
-#    define BOOST_PP_ENUM_BINARY_PARAMS_Z(z, count, p1, p2) BOOST_PP_ENUM_BINARY_PARAMS_Z_I(z, count, p1, p2)
-#    define BOOST_PP_ENUM_BINARY_PARAMS_Z_I(z, count, p1, p2) BOOST_PP_REPEAT_ ## z(count, BOOST_PP_ENUM_BINARY_PARAMS_M, (p1, p2))
+#    define NDNBOOST_PP_ENUM_BINARY_PARAMS_Z(z, count, p1, p2) NDNBOOST_PP_ENUM_BINARY_PARAMS_Z_I(z, count, p1, p2)
+#    define NDNBOOST_PP_ENUM_BINARY_PARAMS_Z_I(z, count, p1, p2) NDNBOOST_PP_REPEAT_ ## z(count, NDNBOOST_PP_ENUM_BINARY_PARAMS_M, (p1, p2))
 # endif
 #
 # endif
diff --git a/include/ndnboost/preprocessor/repetition/enum_params.hpp b/include/ndnboost/preprocessor/repetition/enum_params.hpp
index 33c8579..3dd7677 100644
--- a/include/ndnboost/preprocessor/repetition/enum_params.hpp
+++ b/include/ndnboost/preprocessor/repetition/enum_params.hpp
@@ -11,31 +11,31 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_REPETITION_ENUM_PARAMS_HPP
-# define BOOST_PREPROCESSOR_REPETITION_ENUM_PARAMS_HPP
+# ifndef NDNBOOST_PREPROCESSOR_REPETITION_ENUM_PARAMS_HPP
+# define NDNBOOST_PREPROCESSOR_REPETITION_ENUM_PARAMS_HPP
 #
 # include <ndnboost/preprocessor/config/config.hpp>
 # include <ndnboost/preprocessor/punctuation/comma_if.hpp>
 # include <ndnboost/preprocessor/repetition/repeat.hpp>
 #
-# /* BOOST_PP_ENUM_PARAMS */
+# /* NDNBOOST_PP_ENUM_PARAMS */
 #
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_ENUM_PARAMS(count, param) BOOST_PP_REPEAT(count, BOOST_PP_ENUM_PARAMS_M, param)
+# if ~NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_EDG()
+#    define NDNBOOST_PP_ENUM_PARAMS(count, param) NDNBOOST_PP_REPEAT(count, NDNBOOST_PP_ENUM_PARAMS_M, param)
 # else
-#    define BOOST_PP_ENUM_PARAMS(count, param) BOOST_PP_ENUM_PARAMS_I(count, param)
-#    define BOOST_PP_ENUM_PARAMS_I(count, param) BOOST_PP_REPEAT(count, BOOST_PP_ENUM_PARAMS_M, param)
+#    define NDNBOOST_PP_ENUM_PARAMS(count, param) NDNBOOST_PP_ENUM_PARAMS_I(count, param)
+#    define NDNBOOST_PP_ENUM_PARAMS_I(count, param) NDNBOOST_PP_REPEAT(count, NDNBOOST_PP_ENUM_PARAMS_M, param)
 # endif
 #
-# define BOOST_PP_ENUM_PARAMS_M(z, n, param) BOOST_PP_COMMA_IF(n) param ## n
+# define NDNBOOST_PP_ENUM_PARAMS_M(z, n, param) NDNBOOST_PP_COMMA_IF(n) param ## n
 #
-# /* BOOST_PP_ENUM_PARAMS_Z */
+# /* NDNBOOST_PP_ENUM_PARAMS_Z */
 #
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_ENUM_PARAMS_Z(z, count, param) BOOST_PP_REPEAT_ ## z(count, BOOST_PP_ENUM_PARAMS_M, param)
+# if ~NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_EDG()
+#    define NDNBOOST_PP_ENUM_PARAMS_Z(z, count, param) NDNBOOST_PP_REPEAT_ ## z(count, NDNBOOST_PP_ENUM_PARAMS_M, param)
 # else
-#    define BOOST_PP_ENUM_PARAMS_Z(z, count, param) BOOST_PP_ENUM_PARAMS_Z_I(z, count, param)
-#    define BOOST_PP_ENUM_PARAMS_Z_I(z, count, param) BOOST_PP_REPEAT_ ## z(count, BOOST_PP_ENUM_PARAMS_M, param)
+#    define NDNBOOST_PP_ENUM_PARAMS_Z(z, count, param) NDNBOOST_PP_ENUM_PARAMS_Z_I(z, count, param)
+#    define NDNBOOST_PP_ENUM_PARAMS_Z_I(z, count, param) NDNBOOST_PP_REPEAT_ ## z(count, NDNBOOST_PP_ENUM_PARAMS_M, param)
 # endif
 #
 # endif
diff --git a/include/ndnboost/preprocessor/repetition/enum_params_with_a_default.hpp b/include/ndnboost/preprocessor/repetition/enum_params_with_a_default.hpp
index b76baaf..effd377 100644
--- a/include/ndnboost/preprocessor/repetition/enum_params_with_a_default.hpp
+++ b/include/ndnboost/preprocessor/repetition/enum_params_with_a_default.hpp
@@ -11,15 +11,15 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_REPETITION_ENUM_PARAMS_WITH_A_DEFAULT_HPP
-# define BOOST_PREPROCESSOR_REPETITION_ENUM_PARAMS_WITH_A_DEFAULT_HPP
+# ifndef NDNBOOST_PREPROCESSOR_REPETITION_ENUM_PARAMS_WITH_A_DEFAULT_HPP
+# define NDNBOOST_PREPROCESSOR_REPETITION_ENUM_PARAMS_WITH_A_DEFAULT_HPP
 #
 # include <ndnboost/preprocessor/config/config.hpp>
 # include <ndnboost/preprocessor/facilities/intercept.hpp>
 # include <ndnboost/preprocessor/repetition/enum_binary_params.hpp>
 #
-# /* BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT */
+# /* NDNBOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT */
 #
-# define BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT(count, param, def) BOOST_PP_ENUM_BINARY_PARAMS(count, param, = def BOOST_PP_INTERCEPT)
+# define NDNBOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT(count, param, def) NDNBOOST_PP_ENUM_BINARY_PARAMS(count, param, = def NDNBOOST_PP_INTERCEPT)
 #
 # endif
diff --git a/include/ndnboost/preprocessor/repetition/enum_shifted_params.hpp b/include/ndnboost/preprocessor/repetition/enum_shifted_params.hpp
index 4c71eb9..b81af02 100644
--- a/include/ndnboost/preprocessor/repetition/enum_shifted_params.hpp
+++ b/include/ndnboost/preprocessor/repetition/enum_shifted_params.hpp
@@ -11,8 +11,8 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_REPETITION_ENUM_SHIFTED_PARAMS_HPP
-# define BOOST_PREPROCESSOR_REPETITION_ENUM_SHIFTED_PARAMS_HPP
+# ifndef NDNBOOST_PREPROCESSOR_REPETITION_ENUM_SHIFTED_PARAMS_HPP
+# define NDNBOOST_PREPROCESSOR_REPETITION_ENUM_SHIFTED_PARAMS_HPP
 #
 # include <ndnboost/preprocessor/arithmetic/dec.hpp>
 # include <ndnboost/preprocessor/arithmetic/inc.hpp>
@@ -21,24 +21,24 @@
 # include <ndnboost/preprocessor/punctuation/comma_if.hpp>
 # include <ndnboost/preprocessor/repetition/repeat.hpp>
 #
-# /* BOOST_PP_ENUM_SHIFTED_PARAMS */
+# /* NDNBOOST_PP_ENUM_SHIFTED_PARAMS */
 #
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_ENUM_SHIFTED_PARAMS(count, param) BOOST_PP_REPEAT(BOOST_PP_DEC(count), BOOST_PP_ENUM_SHIFTED_PARAMS_M, param)
+# if ~NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_EDG()
+#    define NDNBOOST_PP_ENUM_SHIFTED_PARAMS(count, param) NDNBOOST_PP_REPEAT(NDNBOOST_PP_DEC(count), NDNBOOST_PP_ENUM_SHIFTED_PARAMS_M, param)
 # else
-#    define BOOST_PP_ENUM_SHIFTED_PARAMS(count, param) BOOST_PP_ENUM_SHIFTED_PARAMS_I(count, param)
-#    define BOOST_PP_ENUM_SHIFTED_PARAMS_I(count, param) BOOST_PP_REPEAT(BOOST_PP_DEC(count), BOOST_PP_ENUM_SHIFTED_PARAMS_M, param)
+#    define NDNBOOST_PP_ENUM_SHIFTED_PARAMS(count, param) NDNBOOST_PP_ENUM_SHIFTED_PARAMS_I(count, param)
+#    define NDNBOOST_PP_ENUM_SHIFTED_PARAMS_I(count, param) NDNBOOST_PP_REPEAT(NDNBOOST_PP_DEC(count), NDNBOOST_PP_ENUM_SHIFTED_PARAMS_M, param)
 # endif
 #
-# define BOOST_PP_ENUM_SHIFTED_PARAMS_M(z, n, param) BOOST_PP_COMMA_IF(n) BOOST_PP_CAT(param, BOOST_PP_INC(n))
+# define NDNBOOST_PP_ENUM_SHIFTED_PARAMS_M(z, n, param) NDNBOOST_PP_COMMA_IF(n) NDNBOOST_PP_CAT(param, NDNBOOST_PP_INC(n))
 #
-# /* BOOST_PP_ENUM_SHIFTED_PARAMS_Z */
+# /* NDNBOOST_PP_ENUM_SHIFTED_PARAMS_Z */
 #
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_ENUM_SHIFTED_PARAMS_Z(z, count, param) BOOST_PP_REPEAT_ ## z(BOOST_PP_DEC(count), BOOST_PP_ENUM_SHIFTED_PARAMS_M, param)
+# if ~NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_EDG()
+#    define NDNBOOST_PP_ENUM_SHIFTED_PARAMS_Z(z, count, param) NDNBOOST_PP_REPEAT_ ## z(NDNBOOST_PP_DEC(count), NDNBOOST_PP_ENUM_SHIFTED_PARAMS_M, param)
 # else
-#    define BOOST_PP_ENUM_SHIFTED_PARAMS_Z(z, count, param) BOOST_PP_ENUM_SHIFTED_PARAMS_Z_I(z, count, param)
-#    define BOOST_PP_ENUM_SHIFTED_PARAMS_Z_I(z, count, param) BOOST_PP_REPEAT_ ## z(BOOST_PP_DEC(count), BOOST_PP_ENUM_SHIFTED_PARAMS_M, param)
+#    define NDNBOOST_PP_ENUM_SHIFTED_PARAMS_Z(z, count, param) NDNBOOST_PP_ENUM_SHIFTED_PARAMS_Z_I(z, count, param)
+#    define NDNBOOST_PP_ENUM_SHIFTED_PARAMS_Z_I(z, count, param) NDNBOOST_PP_REPEAT_ ## z(NDNBOOST_PP_DEC(count), NDNBOOST_PP_ENUM_SHIFTED_PARAMS_M, param)
 # endif
 #
 # endif
diff --git a/include/ndnboost/preprocessor/repetition/enum_trailing.hpp b/include/ndnboost/preprocessor/repetition/enum_trailing.hpp
index 5493e18..fb6c523 100644
--- a/include/ndnboost/preprocessor/repetition/enum_trailing.hpp
+++ b/include/ndnboost/preprocessor/repetition/enum_trailing.hpp
@@ -9,8 +9,8 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_REPETITION_ENUM_TRAILING_HPP
-# define BOOST_PREPROCESSOR_REPETITION_ENUM_TRAILING_HPP
+# ifndef NDNBOOST_PREPROCESSOR_REPETITION_ENUM_TRAILING_HPP
+# define NDNBOOST_PREPROCESSOR_REPETITION_ENUM_TRAILING_HPP
 #
 # include <ndnboost/preprocessor/cat.hpp>
 # include <ndnboost/preprocessor/config/config.hpp>
@@ -20,44 +20,44 @@
 # include <ndnboost/preprocessor/tuple/elem.hpp>
 # include <ndnboost/preprocessor/tuple/rem.hpp>
 #
-# /* BOOST_PP_ENUM_TRAILING */
+# /* NDNBOOST_PP_ENUM_TRAILING */
 #
 # if 0
-#    define BOOST_PP_ENUM_TRAILING(count, macro, data)
+#    define NDNBOOST_PP_ENUM_TRAILING(count, macro, data)
 # endif
 #
-# define BOOST_PP_ENUM_TRAILING BOOST_PP_CAT(BOOST_PP_ENUM_TRAILING_, BOOST_PP_AUTO_REC(BOOST_PP_REPEAT_P, 4))
+# define NDNBOOST_PP_ENUM_TRAILING NDNBOOST_PP_CAT(NDNBOOST_PP_ENUM_TRAILING_, NDNBOOST_PP_AUTO_REC(NDNBOOST_PP_REPEAT_P, 4))
 #
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_ENUM_TRAILING_1(c, m, d) BOOST_PP_REPEAT_1(c, BOOST_PP_ENUM_TRAILING_M_1, (m, d))
-#    define BOOST_PP_ENUM_TRAILING_2(c, m, d) BOOST_PP_REPEAT_2(c, BOOST_PP_ENUM_TRAILING_M_2, (m, d))
-#    define BOOST_PP_ENUM_TRAILING_3(c, m, d) BOOST_PP_REPEAT_3(c, BOOST_PP_ENUM_TRAILING_M_3, (m, d))
+# if ~NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_EDG()
+#    define NDNBOOST_PP_ENUM_TRAILING_1(c, m, d) NDNBOOST_PP_REPEAT_1(c, NDNBOOST_PP_ENUM_TRAILING_M_1, (m, d))
+#    define NDNBOOST_PP_ENUM_TRAILING_2(c, m, d) NDNBOOST_PP_REPEAT_2(c, NDNBOOST_PP_ENUM_TRAILING_M_2, (m, d))
+#    define NDNBOOST_PP_ENUM_TRAILING_3(c, m, d) NDNBOOST_PP_REPEAT_3(c, NDNBOOST_PP_ENUM_TRAILING_M_3, (m, d))
 # else
-#    define BOOST_PP_ENUM_TRAILING_1(c, m, d) BOOST_PP_ENUM_TRAILING_1_I(c, m, d)
-#    define BOOST_PP_ENUM_TRAILING_2(c, m, d) BOOST_PP_ENUM_TRAILING_2_I(c, m, d)
-#    define BOOST_PP_ENUM_TRAILING_3(c, m, d) BOOST_PP_ENUM_TRAILING_3_I(c, m, d)
-#    define BOOST_PP_ENUM_TRAILING_1_I(c, m, d) BOOST_PP_REPEAT_1(c, BOOST_PP_ENUM_TRAILING_M_1, (m, d))
-#    define BOOST_PP_ENUM_TRAILING_2_I(c, m, d) BOOST_PP_REPEAT_2(c, BOOST_PP_ENUM_TRAILING_M_2, (m, d))
-#    define BOOST_PP_ENUM_TRAILING_3_I(c, m, d) BOOST_PP_REPEAT_3(c, BOOST_PP_ENUM_TRAILING_M_3, (m, d))
+#    define NDNBOOST_PP_ENUM_TRAILING_1(c, m, d) NDNBOOST_PP_ENUM_TRAILING_1_I(c, m, d)
+#    define NDNBOOST_PP_ENUM_TRAILING_2(c, m, d) NDNBOOST_PP_ENUM_TRAILING_2_I(c, m, d)
+#    define NDNBOOST_PP_ENUM_TRAILING_3(c, m, d) NDNBOOST_PP_ENUM_TRAILING_3_I(c, m, d)
+#    define NDNBOOST_PP_ENUM_TRAILING_1_I(c, m, d) NDNBOOST_PP_REPEAT_1(c, NDNBOOST_PP_ENUM_TRAILING_M_1, (m, d))
+#    define NDNBOOST_PP_ENUM_TRAILING_2_I(c, m, d) NDNBOOST_PP_REPEAT_2(c, NDNBOOST_PP_ENUM_TRAILING_M_2, (m, d))
+#    define NDNBOOST_PP_ENUM_TRAILING_3_I(c, m, d) NDNBOOST_PP_REPEAT_3(c, NDNBOOST_PP_ENUM_TRAILING_M_3, (m, d))
 # endif
 #
-# define BOOST_PP_ENUM_TRAILING_4(c, m, d) BOOST_PP_ERROR(0x0003)
+# define NDNBOOST_PP_ENUM_TRAILING_4(c, m, d) NDNBOOST_PP_ERROR(0x0003)
 #
-# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT()
-#    define BOOST_PP_ENUM_TRAILING_M_1(z, n, md) BOOST_PP_ENUM_TRAILING_M_1_IM(z, n, BOOST_PP_TUPLE_REM_2 md)
-#    define BOOST_PP_ENUM_TRAILING_M_2(z, n, md) BOOST_PP_ENUM_TRAILING_M_2_IM(z, n, BOOST_PP_TUPLE_REM_2 md)
-#    define BOOST_PP_ENUM_TRAILING_M_3(z, n, md) BOOST_PP_ENUM_TRAILING_M_3_IM(z, n, BOOST_PP_TUPLE_REM_2 md)
-#    define BOOST_PP_ENUM_TRAILING_M_1_IM(z, n, im) BOOST_PP_ENUM_TRAILING_M_1_I(z, n, im)
-#    define BOOST_PP_ENUM_TRAILING_M_2_IM(z, n, im) BOOST_PP_ENUM_TRAILING_M_2_I(z, n, im)
-#    define BOOST_PP_ENUM_TRAILING_M_3_IM(z, n, im) BOOST_PP_ENUM_TRAILING_M_3_I(z, n, im)
+# if NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_STRICT()
+#    define NDNBOOST_PP_ENUM_TRAILING_M_1(z, n, md) NDNBOOST_PP_ENUM_TRAILING_M_1_IM(z, n, NDNBOOST_PP_TUPLE_REM_2 md)
+#    define NDNBOOST_PP_ENUM_TRAILING_M_2(z, n, md) NDNBOOST_PP_ENUM_TRAILING_M_2_IM(z, n, NDNBOOST_PP_TUPLE_REM_2 md)
+#    define NDNBOOST_PP_ENUM_TRAILING_M_3(z, n, md) NDNBOOST_PP_ENUM_TRAILING_M_3_IM(z, n, NDNBOOST_PP_TUPLE_REM_2 md)
+#    define NDNBOOST_PP_ENUM_TRAILING_M_1_IM(z, n, im) NDNBOOST_PP_ENUM_TRAILING_M_1_I(z, n, im)
+#    define NDNBOOST_PP_ENUM_TRAILING_M_2_IM(z, n, im) NDNBOOST_PP_ENUM_TRAILING_M_2_I(z, n, im)
+#    define NDNBOOST_PP_ENUM_TRAILING_M_3_IM(z, n, im) NDNBOOST_PP_ENUM_TRAILING_M_3_I(z, n, im)
 # else
-#    define BOOST_PP_ENUM_TRAILING_M_1(z, n, md) BOOST_PP_ENUM_TRAILING_M_1_I(z, n, BOOST_PP_TUPLE_ELEM(2, 0, md), BOOST_PP_TUPLE_ELEM(2, 1, md))
-#    define BOOST_PP_ENUM_TRAILING_M_2(z, n, md) BOOST_PP_ENUM_TRAILING_M_2_I(z, n, BOOST_PP_TUPLE_ELEM(2, 0, md), BOOST_PP_TUPLE_ELEM(2, 1, md))
-#    define BOOST_PP_ENUM_TRAILING_M_3(z, n, md) BOOST_PP_ENUM_TRAILING_M_3_I(z, n, BOOST_PP_TUPLE_ELEM(2, 0, md), BOOST_PP_TUPLE_ELEM(2, 1, md))
+#    define NDNBOOST_PP_ENUM_TRAILING_M_1(z, n, md) NDNBOOST_PP_ENUM_TRAILING_M_1_I(z, n, NDNBOOST_PP_TUPLE_ELEM(2, 0, md), NDNBOOST_PP_TUPLE_ELEM(2, 1, md))
+#    define NDNBOOST_PP_ENUM_TRAILING_M_2(z, n, md) NDNBOOST_PP_ENUM_TRAILING_M_2_I(z, n, NDNBOOST_PP_TUPLE_ELEM(2, 0, md), NDNBOOST_PP_TUPLE_ELEM(2, 1, md))
+#    define NDNBOOST_PP_ENUM_TRAILING_M_3(z, n, md) NDNBOOST_PP_ENUM_TRAILING_M_3_I(z, n, NDNBOOST_PP_TUPLE_ELEM(2, 0, md), NDNBOOST_PP_TUPLE_ELEM(2, 1, md))
 # endif
 #
-# define BOOST_PP_ENUM_TRAILING_M_1_I(z, n, m, d) , m(z, n, d)
-# define BOOST_PP_ENUM_TRAILING_M_2_I(z, n, m, d) , m(z, n, d)
-# define BOOST_PP_ENUM_TRAILING_M_3_I(z, n, m, d) , m(z, n, d)
+# define NDNBOOST_PP_ENUM_TRAILING_M_1_I(z, n, m, d) , m(z, n, d)
+# define NDNBOOST_PP_ENUM_TRAILING_M_2_I(z, n, m, d) , m(z, n, d)
+# define NDNBOOST_PP_ENUM_TRAILING_M_3_I(z, n, m, d) , m(z, n, d)
 #
 # endif
diff --git a/include/ndnboost/preprocessor/repetition/enum_trailing_params.hpp b/include/ndnboost/preprocessor/repetition/enum_trailing_params.hpp
index f620129..da9cd7a 100644
--- a/include/ndnboost/preprocessor/repetition/enum_trailing_params.hpp
+++ b/include/ndnboost/preprocessor/repetition/enum_trailing_params.hpp
@@ -9,30 +9,30 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_REPETITION_ENUM_TRAILING_PARAMS_HPP
-# define BOOST_PREPROCESSOR_REPETITION_ENUM_TRAILING_PARAMS_HPP
+# ifndef NDNBOOST_PREPROCESSOR_REPETITION_ENUM_TRAILING_PARAMS_HPP
+# define NDNBOOST_PREPROCESSOR_REPETITION_ENUM_TRAILING_PARAMS_HPP
 #
 # include <ndnboost/preprocessor/config/config.hpp>
 # include <ndnboost/preprocessor/repetition/repeat.hpp>
 #
-# /* BOOST_PP_ENUM_TRAILING_PARAMS */
+# /* NDNBOOST_PP_ENUM_TRAILING_PARAMS */
 #
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_ENUM_TRAILING_PARAMS(count, param) BOOST_PP_REPEAT(count, BOOST_PP_ENUM_TRAILING_PARAMS_M, param)
+# if ~NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_EDG()
+#    define NDNBOOST_PP_ENUM_TRAILING_PARAMS(count, param) NDNBOOST_PP_REPEAT(count, NDNBOOST_PP_ENUM_TRAILING_PARAMS_M, param)
 # else
-#    define BOOST_PP_ENUM_TRAILING_PARAMS(count, param) BOOST_PP_ENUM_TRAILING_PARAMS_I(count, param)
-#    define BOOST_PP_ENUM_TRAILING_PARAMS_I(count, param) BOOST_PP_REPEAT(count, BOOST_PP_ENUM_TRAILING_PARAMS_M, param)
+#    define NDNBOOST_PP_ENUM_TRAILING_PARAMS(count, param) NDNBOOST_PP_ENUM_TRAILING_PARAMS_I(count, param)
+#    define NDNBOOST_PP_ENUM_TRAILING_PARAMS_I(count, param) NDNBOOST_PP_REPEAT(count, NDNBOOST_PP_ENUM_TRAILING_PARAMS_M, param)
 # endif
 #
-# define BOOST_PP_ENUM_TRAILING_PARAMS_M(z, n, param) , param ## n
+# define NDNBOOST_PP_ENUM_TRAILING_PARAMS_M(z, n, param) , param ## n
 #
-# /* BOOST_PP_ENUM_TRAILING_PARAMS_Z */
+# /* NDNBOOST_PP_ENUM_TRAILING_PARAMS_Z */
 #
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_ENUM_TRAILING_PARAMS_Z(z, count, param) BOOST_PP_REPEAT_ ## z(count, BOOST_PP_ENUM_TRAILING_PARAMS_M, param)
+# if ~NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_EDG()
+#    define NDNBOOST_PP_ENUM_TRAILING_PARAMS_Z(z, count, param) NDNBOOST_PP_REPEAT_ ## z(count, NDNBOOST_PP_ENUM_TRAILING_PARAMS_M, param)
 # else
-#    define BOOST_PP_ENUM_TRAILING_PARAMS_Z(z, count, param) BOOST_PP_ENUM_TRAILING_PARAMS_Z_I(z, count, param)
-#    define BOOST_PP_ENUM_TRAILING_PARAMS_Z_I(z, count, param) BOOST_PP_REPEAT_ ## z(count, BOOST_PP_ENUM_TRAILING_PARAMS_M, param)
+#    define NDNBOOST_PP_ENUM_TRAILING_PARAMS_Z(z, count, param) NDNBOOST_PP_ENUM_TRAILING_PARAMS_Z_I(z, count, param)
+#    define NDNBOOST_PP_ENUM_TRAILING_PARAMS_Z_I(z, count, param) NDNBOOST_PP_REPEAT_ ## z(count, NDNBOOST_PP_ENUM_TRAILING_PARAMS_M, param)
 # endif
 #
 # endif
diff --git a/include/ndnboost/preprocessor/repetition/for.hpp b/include/ndnboost/preprocessor/repetition/for.hpp
index ff8114b..87adf3e 100644
--- a/include/ndnboost/preprocessor/repetition/for.hpp
+++ b/include/ndnboost/preprocessor/repetition/for.hpp
@@ -11,296 +11,296 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_REPETITION_FOR_HPP
-# define BOOST_PREPROCESSOR_REPETITION_FOR_HPP
+# ifndef NDNBOOST_PREPROCESSOR_REPETITION_FOR_HPP
+# define NDNBOOST_PREPROCESSOR_REPETITION_FOR_HPP
 #
 # include <ndnboost/preprocessor/cat.hpp>
 # include <ndnboost/preprocessor/debug/error.hpp>
 # include <ndnboost/preprocessor/detail/auto_rec.hpp>
 #
-# /* BOOST_PP_FOR */
+# /* NDNBOOST_PP_FOR */
 #
 # if 0
-#    define BOOST_PP_FOR(state, pred, op, macro)
+#    define NDNBOOST_PP_FOR(state, pred, op, macro)
 # endif
 #
-# define BOOST_PP_FOR BOOST_PP_CAT(BOOST_PP_FOR_, BOOST_PP_AUTO_REC(BOOST_PP_FOR_P, 256))
+# define NDNBOOST_PP_FOR NDNBOOST_PP_CAT(NDNBOOST_PP_FOR_, NDNBOOST_PP_AUTO_REC(NDNBOOST_PP_FOR_P, 256))
 #
-# define BOOST_PP_FOR_P(n) BOOST_PP_CAT(BOOST_PP_FOR_CHECK_, BOOST_PP_FOR_ ## n(1, BOOST_PP_FOR_SR_P, BOOST_PP_FOR_SR_O, BOOST_PP_FOR_SR_M))
+# define NDNBOOST_PP_FOR_P(n) NDNBOOST_PP_CAT(NDNBOOST_PP_FOR_CHECK_, NDNBOOST_PP_FOR_ ## n(1, NDNBOOST_PP_FOR_SR_P, NDNBOOST_PP_FOR_SR_O, NDNBOOST_PP_FOR_SR_M))
 #
-# define BOOST_PP_FOR_SR_P(r, s) s
-# define BOOST_PP_FOR_SR_O(r, s) 0
-# define BOOST_PP_FOR_SR_M(r, s) BOOST_PP_NIL
+# define NDNBOOST_PP_FOR_SR_P(r, s) s
+# define NDNBOOST_PP_FOR_SR_O(r, s) 0
+# define NDNBOOST_PP_FOR_SR_M(r, s) NDNBOOST_PP_NIL
 #
-# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
+# if NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_EDG()
 #    include <ndnboost/preprocessor/repetition/detail/edg/for.hpp>
-# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()
+# elif NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_MSVC()
 #    include <ndnboost/preprocessor/repetition/detail/msvc/for.hpp>
-# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_DMC()
+# elif NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_DMC()
 #    include <ndnboost/preprocessor/repetition/detail/dmc/for.hpp>
 # else
 #    include <ndnboost/preprocessor/repetition/detail/for.hpp>
 # endif
 #
-# define BOOST_PP_FOR_257(s, p, o, m) BOOST_PP_ERROR(0x0002)
+# define NDNBOOST_PP_FOR_257(s, p, o, m) NDNBOOST_PP_ERROR(0x0002)
 #
-# define BOOST_PP_FOR_CHECK_BOOST_PP_NIL 1
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_NIL 1
 #
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_1(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_2(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_3(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_4(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_5(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_6(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_7(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_8(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_9(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_10(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_11(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_12(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_13(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_14(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_15(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_16(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_17(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_18(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_19(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_20(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_21(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_22(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_23(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_24(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_25(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_26(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_27(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_28(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_29(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_30(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_31(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_32(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_33(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_34(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_35(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_36(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_37(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_38(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_39(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_40(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_41(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_42(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_43(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_44(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_45(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_46(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_47(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_48(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_49(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_50(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_51(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_52(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_53(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_54(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_55(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_56(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_57(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_58(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_59(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_60(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_61(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_62(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_63(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_64(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_65(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_66(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_67(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_68(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_69(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_70(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_71(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_72(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_73(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_74(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_75(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_76(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_77(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_78(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_79(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_80(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_81(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_82(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_83(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_84(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_85(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_86(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_87(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_88(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_89(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_90(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_91(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_92(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_93(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_94(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_95(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_96(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_97(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_98(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_99(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_100(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_101(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_102(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_103(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_104(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_105(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_106(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_107(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_108(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_109(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_110(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_111(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_112(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_113(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_114(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_115(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_116(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_117(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_118(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_119(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_120(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_121(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_122(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_123(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_124(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_125(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_126(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_127(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_128(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_129(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_130(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_131(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_132(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_133(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_134(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_135(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_136(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_137(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_138(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_139(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_140(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_141(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_142(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_143(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_144(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_145(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_146(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_147(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_148(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_149(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_150(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_151(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_152(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_153(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_154(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_155(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_156(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_157(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_158(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_159(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_160(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_161(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_162(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_163(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_164(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_165(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_166(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_167(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_168(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_169(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_170(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_171(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_172(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_173(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_174(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_175(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_176(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_177(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_178(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_179(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_180(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_181(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_182(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_183(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_184(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_185(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_186(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_187(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_188(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_189(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_190(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_191(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_192(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_193(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_194(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_195(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_196(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_197(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_198(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_199(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_200(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_201(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_202(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_203(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_204(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_205(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_206(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_207(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_208(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_209(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_210(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_211(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_212(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_213(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_214(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_215(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_216(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_217(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_218(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_219(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_220(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_221(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_222(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_223(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_224(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_225(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_226(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_227(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_228(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_229(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_230(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_231(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_232(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_233(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_234(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_235(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_236(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_237(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_238(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_239(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_240(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_241(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_242(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_243(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_244(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_245(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_246(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_247(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_248(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_249(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_250(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_251(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_252(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_253(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_254(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_255(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_256(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_1(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_2(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_3(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_4(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_5(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_6(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_7(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_8(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_9(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_10(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_11(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_12(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_13(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_14(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_15(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_16(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_17(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_18(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_19(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_20(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_21(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_22(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_23(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_24(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_25(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_26(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_27(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_28(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_29(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_30(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_31(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_32(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_33(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_34(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_35(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_36(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_37(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_38(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_39(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_40(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_41(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_42(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_43(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_44(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_45(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_46(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_47(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_48(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_49(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_50(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_51(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_52(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_53(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_54(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_55(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_56(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_57(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_58(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_59(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_60(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_61(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_62(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_63(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_64(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_65(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_66(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_67(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_68(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_69(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_70(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_71(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_72(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_73(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_74(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_75(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_76(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_77(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_78(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_79(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_80(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_81(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_82(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_83(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_84(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_85(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_86(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_87(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_88(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_89(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_90(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_91(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_92(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_93(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_94(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_95(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_96(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_97(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_98(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_99(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_100(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_101(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_102(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_103(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_104(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_105(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_106(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_107(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_108(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_109(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_110(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_111(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_112(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_113(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_114(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_115(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_116(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_117(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_118(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_119(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_120(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_121(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_122(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_123(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_124(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_125(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_126(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_127(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_128(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_129(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_130(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_131(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_132(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_133(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_134(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_135(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_136(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_137(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_138(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_139(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_140(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_141(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_142(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_143(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_144(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_145(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_146(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_147(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_148(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_149(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_150(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_151(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_152(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_153(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_154(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_155(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_156(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_157(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_158(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_159(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_160(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_161(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_162(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_163(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_164(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_165(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_166(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_167(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_168(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_169(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_170(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_171(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_172(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_173(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_174(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_175(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_176(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_177(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_178(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_179(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_180(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_181(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_182(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_183(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_184(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_185(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_186(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_187(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_188(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_189(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_190(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_191(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_192(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_193(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_194(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_195(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_196(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_197(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_198(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_199(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_200(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_201(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_202(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_203(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_204(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_205(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_206(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_207(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_208(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_209(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_210(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_211(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_212(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_213(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_214(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_215(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_216(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_217(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_218(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_219(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_220(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_221(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_222(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_223(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_224(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_225(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_226(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_227(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_228(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_229(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_230(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_231(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_232(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_233(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_234(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_235(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_236(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_237(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_238(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_239(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_240(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_241(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_242(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_243(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_244(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_245(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_246(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_247(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_248(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_249(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_250(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_251(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_252(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_253(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_254(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_255(s, p, o, m) 0
+# define NDNBOOST_PP_FOR_CHECK_NDNBOOST_PP_FOR_256(s, p, o, m) 0
 #
 # endif
diff --git a/include/ndnboost/preprocessor/repetition/repeat.hpp b/include/ndnboost/preprocessor/repetition/repeat.hpp
index 1ec7d70..e5c4adc 100644
--- a/include/ndnboost/preprocessor/repetition/repeat.hpp
+++ b/include/ndnboost/preprocessor/repetition/repeat.hpp
@@ -11,8 +11,8 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_REPETITION_REPEAT_HPP
-# define BOOST_PREPROCESSOR_REPETITION_REPEAT_HPP
+# ifndef NDNBOOST_PREPROCESSOR_REPETITION_REPEAT_HPP
+# define NDNBOOST_PREPROCESSOR_REPETITION_REPEAT_HPP
 #
 # include <ndnboost/preprocessor/cat.hpp>
 # include <ndnboost/preprocessor/config/config.hpp>
@@ -20,806 +20,806 @@
 # include <ndnboost/preprocessor/detail/auto_rec.hpp>
 # include <ndnboost/preprocessor/tuple/eat.hpp>
 #
-# /* BOOST_PP_REPEAT */
+# /* NDNBOOST_PP_REPEAT */
 #
 # if 0
-#    define BOOST_PP_REPEAT(count, macro, data)
+#    define NDNBOOST_PP_REPEAT(count, macro, data)
 # endif
 #
-# define BOOST_PP_REPEAT BOOST_PP_CAT(BOOST_PP_REPEAT_, BOOST_PP_AUTO_REC(BOOST_PP_REPEAT_P, 4))
+# define NDNBOOST_PP_REPEAT NDNBOOST_PP_CAT(NDNBOOST_PP_REPEAT_, NDNBOOST_PP_AUTO_REC(NDNBOOST_PP_REPEAT_P, 4))
 #
-# define BOOST_PP_REPEAT_P(n) BOOST_PP_CAT(BOOST_PP_REPEAT_CHECK_, BOOST_PP_REPEAT_ ## n(1, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3, BOOST_PP_NIL))
+# define NDNBOOST_PP_REPEAT_P(n) NDNBOOST_PP_CAT(NDNBOOST_PP_REPEAT_CHECK_, NDNBOOST_PP_REPEAT_ ## n(1, NDNBOOST_PP_NIL NDNBOOST_PP_TUPLE_EAT_3, NDNBOOST_PP_NIL))
 #
-# define BOOST_PP_REPEAT_CHECK_BOOST_PP_NIL 1
-# define BOOST_PP_REPEAT_CHECK_BOOST_PP_REPEAT_1(c, m, d) 0
-# define BOOST_PP_REPEAT_CHECK_BOOST_PP_REPEAT_2(c, m, d) 0
-# define BOOST_PP_REPEAT_CHECK_BOOST_PP_REPEAT_3(c, m, d) 0
+# define NDNBOOST_PP_REPEAT_CHECK_NDNBOOST_PP_NIL 1
+# define NDNBOOST_PP_REPEAT_CHECK_NDNBOOST_PP_REPEAT_1(c, m, d) 0
+# define NDNBOOST_PP_REPEAT_CHECK_NDNBOOST_PP_REPEAT_2(c, m, d) 0
+# define NDNBOOST_PP_REPEAT_CHECK_NDNBOOST_PP_REPEAT_3(c, m, d) 0
 #
-# define BOOST_PP_REPEAT_1(c, m, d) BOOST_PP_REPEAT_1_I(c, m, d)
-# define BOOST_PP_REPEAT_2(c, m, d) BOOST_PP_REPEAT_2_I(c, m, d)
-# define BOOST_PP_REPEAT_3(c, m, d) BOOST_PP_REPEAT_3_I(c, m, d)
-# define BOOST_PP_REPEAT_4(c, m, d) BOOST_PP_ERROR(0x0003)
+# define NDNBOOST_PP_REPEAT_1(c, m, d) NDNBOOST_PP_REPEAT_1_I(c, m, d)
+# define NDNBOOST_PP_REPEAT_2(c, m, d) NDNBOOST_PP_REPEAT_2_I(c, m, d)
+# define NDNBOOST_PP_REPEAT_3(c, m, d) NDNBOOST_PP_REPEAT_3_I(c, m, d)
+# define NDNBOOST_PP_REPEAT_4(c, m, d) NDNBOOST_PP_ERROR(0x0003)
 #
-# define BOOST_PP_REPEAT_1_I(c, m, d) BOOST_PP_REPEAT_1_ ## c(m, d)
-# define BOOST_PP_REPEAT_2_I(c, m, d) BOOST_PP_REPEAT_2_ ## c(m, d)
-# define BOOST_PP_REPEAT_3_I(c, m, d) BOOST_PP_REPEAT_3_ ## c(m, d)
+# define NDNBOOST_PP_REPEAT_1_I(c, m, d) NDNBOOST_PP_REPEAT_1_ ## c(m, d)
+# define NDNBOOST_PP_REPEAT_2_I(c, m, d) NDNBOOST_PP_REPEAT_2_ ## c(m, d)
+# define NDNBOOST_PP_REPEAT_3_I(c, m, d) NDNBOOST_PP_REPEAT_3_ ## c(m, d)
 #
-# define BOOST_PP_REPEAT_1ST BOOST_PP_REPEAT_1
-# define BOOST_PP_REPEAT_2ND BOOST_PP_REPEAT_2
-# define BOOST_PP_REPEAT_3RD BOOST_PP_REPEAT_3
+# define NDNBOOST_PP_REPEAT_1ST NDNBOOST_PP_REPEAT_1
+# define NDNBOOST_PP_REPEAT_2ND NDNBOOST_PP_REPEAT_2
+# define NDNBOOST_PP_REPEAT_3RD NDNBOOST_PP_REPEAT_3
 #
-# define BOOST_PP_REPEAT_1_0(m, d)
-# define BOOST_PP_REPEAT_1_1(m, d) m(2, 0, d)
-# define BOOST_PP_REPEAT_1_2(m, d) BOOST_PP_REPEAT_1_1(m, d) m(2, 1, d)
-# define BOOST_PP_REPEAT_1_3(m, d) BOOST_PP_REPEAT_1_2(m, d) m(2, 2, d)
-# define BOOST_PP_REPEAT_1_4(m, d) BOOST_PP_REPEAT_1_3(m, d) m(2, 3, d)
-# define BOOST_PP_REPEAT_1_5(m, d) BOOST_PP_REPEAT_1_4(m, d) m(2, 4, d)
-# define BOOST_PP_REPEAT_1_6(m, d) BOOST_PP_REPEAT_1_5(m, d) m(2, 5, d)
-# define BOOST_PP_REPEAT_1_7(m, d) BOOST_PP_REPEAT_1_6(m, d) m(2, 6, d)
-# define BOOST_PP_REPEAT_1_8(m, d) BOOST_PP_REPEAT_1_7(m, d) m(2, 7, d)
-# define BOOST_PP_REPEAT_1_9(m, d) BOOST_PP_REPEAT_1_8(m, d) m(2, 8, d)
-# define BOOST_PP_REPEAT_1_10(m, d) BOOST_PP_REPEAT_1_9(m, d) m(2, 9, d)
-# define BOOST_PP_REPEAT_1_11(m, d) BOOST_PP_REPEAT_1_10(m, d) m(2, 10, d)
-# define BOOST_PP_REPEAT_1_12(m, d) BOOST_PP_REPEAT_1_11(m, d) m(2, 11, d)
-# define BOOST_PP_REPEAT_1_13(m, d) BOOST_PP_REPEAT_1_12(m, d) m(2, 12, d)
-# define BOOST_PP_REPEAT_1_14(m, d) BOOST_PP_REPEAT_1_13(m, d) m(2, 13, d)
-# define BOOST_PP_REPEAT_1_15(m, d) BOOST_PP_REPEAT_1_14(m, d) m(2, 14, d)
-# define BOOST_PP_REPEAT_1_16(m, d) BOOST_PP_REPEAT_1_15(m, d) m(2, 15, d)
-# define BOOST_PP_REPEAT_1_17(m, d) BOOST_PP_REPEAT_1_16(m, d) m(2, 16, d)
-# define BOOST_PP_REPEAT_1_18(m, d) BOOST_PP_REPEAT_1_17(m, d) m(2, 17, d)
-# define BOOST_PP_REPEAT_1_19(m, d) BOOST_PP_REPEAT_1_18(m, d) m(2, 18, d)
-# define BOOST_PP_REPEAT_1_20(m, d) BOOST_PP_REPEAT_1_19(m, d) m(2, 19, d)
-# define BOOST_PP_REPEAT_1_21(m, d) BOOST_PP_REPEAT_1_20(m, d) m(2, 20, d)
-# define BOOST_PP_REPEAT_1_22(m, d) BOOST_PP_REPEAT_1_21(m, d) m(2, 21, d)
-# define BOOST_PP_REPEAT_1_23(m, d) BOOST_PP_REPEAT_1_22(m, d) m(2, 22, d)
-# define BOOST_PP_REPEAT_1_24(m, d) BOOST_PP_REPEAT_1_23(m, d) m(2, 23, d)
-# define BOOST_PP_REPEAT_1_25(m, d) BOOST_PP_REPEAT_1_24(m, d) m(2, 24, d)
-# define BOOST_PP_REPEAT_1_26(m, d) BOOST_PP_REPEAT_1_25(m, d) m(2, 25, d)
-# define BOOST_PP_REPEAT_1_27(m, d) BOOST_PP_REPEAT_1_26(m, d) m(2, 26, d)
-# define BOOST_PP_REPEAT_1_28(m, d) BOOST_PP_REPEAT_1_27(m, d) m(2, 27, d)
-# define BOOST_PP_REPEAT_1_29(m, d) BOOST_PP_REPEAT_1_28(m, d) m(2, 28, d)
-# define BOOST_PP_REPEAT_1_30(m, d) BOOST_PP_REPEAT_1_29(m, d) m(2, 29, d)
-# define BOOST_PP_REPEAT_1_31(m, d) BOOST_PP_REPEAT_1_30(m, d) m(2, 30, d)
-# define BOOST_PP_REPEAT_1_32(m, d) BOOST_PP_REPEAT_1_31(m, d) m(2, 31, d)
-# define BOOST_PP_REPEAT_1_33(m, d) BOOST_PP_REPEAT_1_32(m, d) m(2, 32, d)
-# define BOOST_PP_REPEAT_1_34(m, d) BOOST_PP_REPEAT_1_33(m, d) m(2, 33, d)
-# define BOOST_PP_REPEAT_1_35(m, d) BOOST_PP_REPEAT_1_34(m, d) m(2, 34, d)
-# define BOOST_PP_REPEAT_1_36(m, d) BOOST_PP_REPEAT_1_35(m, d) m(2, 35, d)
-# define BOOST_PP_REPEAT_1_37(m, d) BOOST_PP_REPEAT_1_36(m, d) m(2, 36, d)
-# define BOOST_PP_REPEAT_1_38(m, d) BOOST_PP_REPEAT_1_37(m, d) m(2, 37, d)
-# define BOOST_PP_REPEAT_1_39(m, d) BOOST_PP_REPEAT_1_38(m, d) m(2, 38, d)
-# define BOOST_PP_REPEAT_1_40(m, d) BOOST_PP_REPEAT_1_39(m, d) m(2, 39, d)
-# define BOOST_PP_REPEAT_1_41(m, d) BOOST_PP_REPEAT_1_40(m, d) m(2, 40, d)
-# define BOOST_PP_REPEAT_1_42(m, d) BOOST_PP_REPEAT_1_41(m, d) m(2, 41, d)
-# define BOOST_PP_REPEAT_1_43(m, d) BOOST_PP_REPEAT_1_42(m, d) m(2, 42, d)
-# define BOOST_PP_REPEAT_1_44(m, d) BOOST_PP_REPEAT_1_43(m, d) m(2, 43, d)
-# define BOOST_PP_REPEAT_1_45(m, d) BOOST_PP_REPEAT_1_44(m, d) m(2, 44, d)
-# define BOOST_PP_REPEAT_1_46(m, d) BOOST_PP_REPEAT_1_45(m, d) m(2, 45, d)
-# define BOOST_PP_REPEAT_1_47(m, d) BOOST_PP_REPEAT_1_46(m, d) m(2, 46, d)
-# define BOOST_PP_REPEAT_1_48(m, d) BOOST_PP_REPEAT_1_47(m, d) m(2, 47, d)
-# define BOOST_PP_REPEAT_1_49(m, d) BOOST_PP_REPEAT_1_48(m, d) m(2, 48, d)
-# define BOOST_PP_REPEAT_1_50(m, d) BOOST_PP_REPEAT_1_49(m, d) m(2, 49, d)
-# define BOOST_PP_REPEAT_1_51(m, d) BOOST_PP_REPEAT_1_50(m, d) m(2, 50, d)
-# define BOOST_PP_REPEAT_1_52(m, d) BOOST_PP_REPEAT_1_51(m, d) m(2, 51, d)
-# define BOOST_PP_REPEAT_1_53(m, d) BOOST_PP_REPEAT_1_52(m, d) m(2, 52, d)
-# define BOOST_PP_REPEAT_1_54(m, d) BOOST_PP_REPEAT_1_53(m, d) m(2, 53, d)
-# define BOOST_PP_REPEAT_1_55(m, d) BOOST_PP_REPEAT_1_54(m, d) m(2, 54, d)
-# define BOOST_PP_REPEAT_1_56(m, d) BOOST_PP_REPEAT_1_55(m, d) m(2, 55, d)
-# define BOOST_PP_REPEAT_1_57(m, d) BOOST_PP_REPEAT_1_56(m, d) m(2, 56, d)
-# define BOOST_PP_REPEAT_1_58(m, d) BOOST_PP_REPEAT_1_57(m, d) m(2, 57, d)
-# define BOOST_PP_REPEAT_1_59(m, d) BOOST_PP_REPEAT_1_58(m, d) m(2, 58, d)
-# define BOOST_PP_REPEAT_1_60(m, d) BOOST_PP_REPEAT_1_59(m, d) m(2, 59, d)
-# define BOOST_PP_REPEAT_1_61(m, d) BOOST_PP_REPEAT_1_60(m, d) m(2, 60, d)
-# define BOOST_PP_REPEAT_1_62(m, d) BOOST_PP_REPEAT_1_61(m, d) m(2, 61, d)
-# define BOOST_PP_REPEAT_1_63(m, d) BOOST_PP_REPEAT_1_62(m, d) m(2, 62, d)
-# define BOOST_PP_REPEAT_1_64(m, d) BOOST_PP_REPEAT_1_63(m, d) m(2, 63, d)
-# define BOOST_PP_REPEAT_1_65(m, d) BOOST_PP_REPEAT_1_64(m, d) m(2, 64, d)
-# define BOOST_PP_REPEAT_1_66(m, d) BOOST_PP_REPEAT_1_65(m, d) m(2, 65, d)
-# define BOOST_PP_REPEAT_1_67(m, d) BOOST_PP_REPEAT_1_66(m, d) m(2, 66, d)
-# define BOOST_PP_REPEAT_1_68(m, d) BOOST_PP_REPEAT_1_67(m, d) m(2, 67, d)
-# define BOOST_PP_REPEAT_1_69(m, d) BOOST_PP_REPEAT_1_68(m, d) m(2, 68, d)
-# define BOOST_PP_REPEAT_1_70(m, d) BOOST_PP_REPEAT_1_69(m, d) m(2, 69, d)
-# define BOOST_PP_REPEAT_1_71(m, d) BOOST_PP_REPEAT_1_70(m, d) m(2, 70, d)
-# define BOOST_PP_REPEAT_1_72(m, d) BOOST_PP_REPEAT_1_71(m, d) m(2, 71, d)
-# define BOOST_PP_REPEAT_1_73(m, d) BOOST_PP_REPEAT_1_72(m, d) m(2, 72, d)
-# define BOOST_PP_REPEAT_1_74(m, d) BOOST_PP_REPEAT_1_73(m, d) m(2, 73, d)
-# define BOOST_PP_REPEAT_1_75(m, d) BOOST_PP_REPEAT_1_74(m, d) m(2, 74, d)
-# define BOOST_PP_REPEAT_1_76(m, d) BOOST_PP_REPEAT_1_75(m, d) m(2, 75, d)
-# define BOOST_PP_REPEAT_1_77(m, d) BOOST_PP_REPEAT_1_76(m, d) m(2, 76, d)
-# define BOOST_PP_REPEAT_1_78(m, d) BOOST_PP_REPEAT_1_77(m, d) m(2, 77, d)
-# define BOOST_PP_REPEAT_1_79(m, d) BOOST_PP_REPEAT_1_78(m, d) m(2, 78, d)
-# define BOOST_PP_REPEAT_1_80(m, d) BOOST_PP_REPEAT_1_79(m, d) m(2, 79, d)
-# define BOOST_PP_REPEAT_1_81(m, d) BOOST_PP_REPEAT_1_80(m, d) m(2, 80, d)
-# define BOOST_PP_REPEAT_1_82(m, d) BOOST_PP_REPEAT_1_81(m, d) m(2, 81, d)
-# define BOOST_PP_REPEAT_1_83(m, d) BOOST_PP_REPEAT_1_82(m, d) m(2, 82, d)
-# define BOOST_PP_REPEAT_1_84(m, d) BOOST_PP_REPEAT_1_83(m, d) m(2, 83, d)
-# define BOOST_PP_REPEAT_1_85(m, d) BOOST_PP_REPEAT_1_84(m, d) m(2, 84, d)
-# define BOOST_PP_REPEAT_1_86(m, d) BOOST_PP_REPEAT_1_85(m, d) m(2, 85, d)
-# define BOOST_PP_REPEAT_1_87(m, d) BOOST_PP_REPEAT_1_86(m, d) m(2, 86, d)
-# define BOOST_PP_REPEAT_1_88(m, d) BOOST_PP_REPEAT_1_87(m, d) m(2, 87, d)
-# define BOOST_PP_REPEAT_1_89(m, d) BOOST_PP_REPEAT_1_88(m, d) m(2, 88, d)
-# define BOOST_PP_REPEAT_1_90(m, d) BOOST_PP_REPEAT_1_89(m, d) m(2, 89, d)
-# define BOOST_PP_REPEAT_1_91(m, d) BOOST_PP_REPEAT_1_90(m, d) m(2, 90, d)
-# define BOOST_PP_REPEAT_1_92(m, d) BOOST_PP_REPEAT_1_91(m, d) m(2, 91, d)
-# define BOOST_PP_REPEAT_1_93(m, d) BOOST_PP_REPEAT_1_92(m, d) m(2, 92, d)
-# define BOOST_PP_REPEAT_1_94(m, d) BOOST_PP_REPEAT_1_93(m, d) m(2, 93, d)
-# define BOOST_PP_REPEAT_1_95(m, d) BOOST_PP_REPEAT_1_94(m, d) m(2, 94, d)
-# define BOOST_PP_REPEAT_1_96(m, d) BOOST_PP_REPEAT_1_95(m, d) m(2, 95, d)
-# define BOOST_PP_REPEAT_1_97(m, d) BOOST_PP_REPEAT_1_96(m, d) m(2, 96, d)
-# define BOOST_PP_REPEAT_1_98(m, d) BOOST_PP_REPEAT_1_97(m, d) m(2, 97, d)
-# define BOOST_PP_REPEAT_1_99(m, d) BOOST_PP_REPEAT_1_98(m, d) m(2, 98, d)
-# define BOOST_PP_REPEAT_1_100(m, d) BOOST_PP_REPEAT_1_99(m, d) m(2, 99, d)
-# define BOOST_PP_REPEAT_1_101(m, d) BOOST_PP_REPEAT_1_100(m, d) m(2, 100, d)
-# define BOOST_PP_REPEAT_1_102(m, d) BOOST_PP_REPEAT_1_101(m, d) m(2, 101, d)
-# define BOOST_PP_REPEAT_1_103(m, d) BOOST_PP_REPEAT_1_102(m, d) m(2, 102, d)
-# define BOOST_PP_REPEAT_1_104(m, d) BOOST_PP_REPEAT_1_103(m, d) m(2, 103, d)
-# define BOOST_PP_REPEAT_1_105(m, d) BOOST_PP_REPEAT_1_104(m, d) m(2, 104, d)
-# define BOOST_PP_REPEAT_1_106(m, d) BOOST_PP_REPEAT_1_105(m, d) m(2, 105, d)
-# define BOOST_PP_REPEAT_1_107(m, d) BOOST_PP_REPEAT_1_106(m, d) m(2, 106, d)
-# define BOOST_PP_REPEAT_1_108(m, d) BOOST_PP_REPEAT_1_107(m, d) m(2, 107, d)
-# define BOOST_PP_REPEAT_1_109(m, d) BOOST_PP_REPEAT_1_108(m, d) m(2, 108, d)
-# define BOOST_PP_REPEAT_1_110(m, d) BOOST_PP_REPEAT_1_109(m, d) m(2, 109, d)
-# define BOOST_PP_REPEAT_1_111(m, d) BOOST_PP_REPEAT_1_110(m, d) m(2, 110, d)
-# define BOOST_PP_REPEAT_1_112(m, d) BOOST_PP_REPEAT_1_111(m, d) m(2, 111, d)
-# define BOOST_PP_REPEAT_1_113(m, d) BOOST_PP_REPEAT_1_112(m, d) m(2, 112, d)
-# define BOOST_PP_REPEAT_1_114(m, d) BOOST_PP_REPEAT_1_113(m, d) m(2, 113, d)
-# define BOOST_PP_REPEAT_1_115(m, d) BOOST_PP_REPEAT_1_114(m, d) m(2, 114, d)
-# define BOOST_PP_REPEAT_1_116(m, d) BOOST_PP_REPEAT_1_115(m, d) m(2, 115, d)
-# define BOOST_PP_REPEAT_1_117(m, d) BOOST_PP_REPEAT_1_116(m, d) m(2, 116, d)
-# define BOOST_PP_REPEAT_1_118(m, d) BOOST_PP_REPEAT_1_117(m, d) m(2, 117, d)
-# define BOOST_PP_REPEAT_1_119(m, d) BOOST_PP_REPEAT_1_118(m, d) m(2, 118, d)
-# define BOOST_PP_REPEAT_1_120(m, d) BOOST_PP_REPEAT_1_119(m, d) m(2, 119, d)
-# define BOOST_PP_REPEAT_1_121(m, d) BOOST_PP_REPEAT_1_120(m, d) m(2, 120, d)
-# define BOOST_PP_REPEAT_1_122(m, d) BOOST_PP_REPEAT_1_121(m, d) m(2, 121, d)
-# define BOOST_PP_REPEAT_1_123(m, d) BOOST_PP_REPEAT_1_122(m, d) m(2, 122, d)
-# define BOOST_PP_REPEAT_1_124(m, d) BOOST_PP_REPEAT_1_123(m, d) m(2, 123, d)
-# define BOOST_PP_REPEAT_1_125(m, d) BOOST_PP_REPEAT_1_124(m, d) m(2, 124, d)
-# define BOOST_PP_REPEAT_1_126(m, d) BOOST_PP_REPEAT_1_125(m, d) m(2, 125, d)
-# define BOOST_PP_REPEAT_1_127(m, d) BOOST_PP_REPEAT_1_126(m, d) m(2, 126, d)
-# define BOOST_PP_REPEAT_1_128(m, d) BOOST_PP_REPEAT_1_127(m, d) m(2, 127, d)
-# define BOOST_PP_REPEAT_1_129(m, d) BOOST_PP_REPEAT_1_128(m, d) m(2, 128, d)
-# define BOOST_PP_REPEAT_1_130(m, d) BOOST_PP_REPEAT_1_129(m, d) m(2, 129, d)
-# define BOOST_PP_REPEAT_1_131(m, d) BOOST_PP_REPEAT_1_130(m, d) m(2, 130, d)
-# define BOOST_PP_REPEAT_1_132(m, d) BOOST_PP_REPEAT_1_131(m, d) m(2, 131, d)
-# define BOOST_PP_REPEAT_1_133(m, d) BOOST_PP_REPEAT_1_132(m, d) m(2, 132, d)
-# define BOOST_PP_REPEAT_1_134(m, d) BOOST_PP_REPEAT_1_133(m, d) m(2, 133, d)
-# define BOOST_PP_REPEAT_1_135(m, d) BOOST_PP_REPEAT_1_134(m, d) m(2, 134, d)
-# define BOOST_PP_REPEAT_1_136(m, d) BOOST_PP_REPEAT_1_135(m, d) m(2, 135, d)
-# define BOOST_PP_REPEAT_1_137(m, d) BOOST_PP_REPEAT_1_136(m, d) m(2, 136, d)
-# define BOOST_PP_REPEAT_1_138(m, d) BOOST_PP_REPEAT_1_137(m, d) m(2, 137, d)
-# define BOOST_PP_REPEAT_1_139(m, d) BOOST_PP_REPEAT_1_138(m, d) m(2, 138, d)
-# define BOOST_PP_REPEAT_1_140(m, d) BOOST_PP_REPEAT_1_139(m, d) m(2, 139, d)
-# define BOOST_PP_REPEAT_1_141(m, d) BOOST_PP_REPEAT_1_140(m, d) m(2, 140, d)
-# define BOOST_PP_REPEAT_1_142(m, d) BOOST_PP_REPEAT_1_141(m, d) m(2, 141, d)
-# define BOOST_PP_REPEAT_1_143(m, d) BOOST_PP_REPEAT_1_142(m, d) m(2, 142, d)
-# define BOOST_PP_REPEAT_1_144(m, d) BOOST_PP_REPEAT_1_143(m, d) m(2, 143, d)
-# define BOOST_PP_REPEAT_1_145(m, d) BOOST_PP_REPEAT_1_144(m, d) m(2, 144, d)
-# define BOOST_PP_REPEAT_1_146(m, d) BOOST_PP_REPEAT_1_145(m, d) m(2, 145, d)
-# define BOOST_PP_REPEAT_1_147(m, d) BOOST_PP_REPEAT_1_146(m, d) m(2, 146, d)
-# define BOOST_PP_REPEAT_1_148(m, d) BOOST_PP_REPEAT_1_147(m, d) m(2, 147, d)
-# define BOOST_PP_REPEAT_1_149(m, d) BOOST_PP_REPEAT_1_148(m, d) m(2, 148, d)
-# define BOOST_PP_REPEAT_1_150(m, d) BOOST_PP_REPEAT_1_149(m, d) m(2, 149, d)
-# define BOOST_PP_REPEAT_1_151(m, d) BOOST_PP_REPEAT_1_150(m, d) m(2, 150, d)
-# define BOOST_PP_REPEAT_1_152(m, d) BOOST_PP_REPEAT_1_151(m, d) m(2, 151, d)
-# define BOOST_PP_REPEAT_1_153(m, d) BOOST_PP_REPEAT_1_152(m, d) m(2, 152, d)
-# define BOOST_PP_REPEAT_1_154(m, d) BOOST_PP_REPEAT_1_153(m, d) m(2, 153, d)
-# define BOOST_PP_REPEAT_1_155(m, d) BOOST_PP_REPEAT_1_154(m, d) m(2, 154, d)
-# define BOOST_PP_REPEAT_1_156(m, d) BOOST_PP_REPEAT_1_155(m, d) m(2, 155, d)
-# define BOOST_PP_REPEAT_1_157(m, d) BOOST_PP_REPEAT_1_156(m, d) m(2, 156, d)
-# define BOOST_PP_REPEAT_1_158(m, d) BOOST_PP_REPEAT_1_157(m, d) m(2, 157, d)
-# define BOOST_PP_REPEAT_1_159(m, d) BOOST_PP_REPEAT_1_158(m, d) m(2, 158, d)
-# define BOOST_PP_REPEAT_1_160(m, d) BOOST_PP_REPEAT_1_159(m, d) m(2, 159, d)
-# define BOOST_PP_REPEAT_1_161(m, d) BOOST_PP_REPEAT_1_160(m, d) m(2, 160, d)
-# define BOOST_PP_REPEAT_1_162(m, d) BOOST_PP_REPEAT_1_161(m, d) m(2, 161, d)
-# define BOOST_PP_REPEAT_1_163(m, d) BOOST_PP_REPEAT_1_162(m, d) m(2, 162, d)
-# define BOOST_PP_REPEAT_1_164(m, d) BOOST_PP_REPEAT_1_163(m, d) m(2, 163, d)
-# define BOOST_PP_REPEAT_1_165(m, d) BOOST_PP_REPEAT_1_164(m, d) m(2, 164, d)
-# define BOOST_PP_REPEAT_1_166(m, d) BOOST_PP_REPEAT_1_165(m, d) m(2, 165, d)
-# define BOOST_PP_REPEAT_1_167(m, d) BOOST_PP_REPEAT_1_166(m, d) m(2, 166, d)
-# define BOOST_PP_REPEAT_1_168(m, d) BOOST_PP_REPEAT_1_167(m, d) m(2, 167, d)
-# define BOOST_PP_REPEAT_1_169(m, d) BOOST_PP_REPEAT_1_168(m, d) m(2, 168, d)
-# define BOOST_PP_REPEAT_1_170(m, d) BOOST_PP_REPEAT_1_169(m, d) m(2, 169, d)
-# define BOOST_PP_REPEAT_1_171(m, d) BOOST_PP_REPEAT_1_170(m, d) m(2, 170, d)
-# define BOOST_PP_REPEAT_1_172(m, d) BOOST_PP_REPEAT_1_171(m, d) m(2, 171, d)
-# define BOOST_PP_REPEAT_1_173(m, d) BOOST_PP_REPEAT_1_172(m, d) m(2, 172, d)
-# define BOOST_PP_REPEAT_1_174(m, d) BOOST_PP_REPEAT_1_173(m, d) m(2, 173, d)
-# define BOOST_PP_REPEAT_1_175(m, d) BOOST_PP_REPEAT_1_174(m, d) m(2, 174, d)
-# define BOOST_PP_REPEAT_1_176(m, d) BOOST_PP_REPEAT_1_175(m, d) m(2, 175, d)
-# define BOOST_PP_REPEAT_1_177(m, d) BOOST_PP_REPEAT_1_176(m, d) m(2, 176, d)
-# define BOOST_PP_REPEAT_1_178(m, d) BOOST_PP_REPEAT_1_177(m, d) m(2, 177, d)
-# define BOOST_PP_REPEAT_1_179(m, d) BOOST_PP_REPEAT_1_178(m, d) m(2, 178, d)
-# define BOOST_PP_REPEAT_1_180(m, d) BOOST_PP_REPEAT_1_179(m, d) m(2, 179, d)
-# define BOOST_PP_REPEAT_1_181(m, d) BOOST_PP_REPEAT_1_180(m, d) m(2, 180, d)
-# define BOOST_PP_REPEAT_1_182(m, d) BOOST_PP_REPEAT_1_181(m, d) m(2, 181, d)
-# define BOOST_PP_REPEAT_1_183(m, d) BOOST_PP_REPEAT_1_182(m, d) m(2, 182, d)
-# define BOOST_PP_REPEAT_1_184(m, d) BOOST_PP_REPEAT_1_183(m, d) m(2, 183, d)
-# define BOOST_PP_REPEAT_1_185(m, d) BOOST_PP_REPEAT_1_184(m, d) m(2, 184, d)
-# define BOOST_PP_REPEAT_1_186(m, d) BOOST_PP_REPEAT_1_185(m, d) m(2, 185, d)
-# define BOOST_PP_REPEAT_1_187(m, d) BOOST_PP_REPEAT_1_186(m, d) m(2, 186, d)
-# define BOOST_PP_REPEAT_1_188(m, d) BOOST_PP_REPEAT_1_187(m, d) m(2, 187, d)
-# define BOOST_PP_REPEAT_1_189(m, d) BOOST_PP_REPEAT_1_188(m, d) m(2, 188, d)
-# define BOOST_PP_REPEAT_1_190(m, d) BOOST_PP_REPEAT_1_189(m, d) m(2, 189, d)
-# define BOOST_PP_REPEAT_1_191(m, d) BOOST_PP_REPEAT_1_190(m, d) m(2, 190, d)
-# define BOOST_PP_REPEAT_1_192(m, d) BOOST_PP_REPEAT_1_191(m, d) m(2, 191, d)
-# define BOOST_PP_REPEAT_1_193(m, d) BOOST_PP_REPEAT_1_192(m, d) m(2, 192, d)
-# define BOOST_PP_REPEAT_1_194(m, d) BOOST_PP_REPEAT_1_193(m, d) m(2, 193, d)
-# define BOOST_PP_REPEAT_1_195(m, d) BOOST_PP_REPEAT_1_194(m, d) m(2, 194, d)
-# define BOOST_PP_REPEAT_1_196(m, d) BOOST_PP_REPEAT_1_195(m, d) m(2, 195, d)
-# define BOOST_PP_REPEAT_1_197(m, d) BOOST_PP_REPEAT_1_196(m, d) m(2, 196, d)
-# define BOOST_PP_REPEAT_1_198(m, d) BOOST_PP_REPEAT_1_197(m, d) m(2, 197, d)
-# define BOOST_PP_REPEAT_1_199(m, d) BOOST_PP_REPEAT_1_198(m, d) m(2, 198, d)
-# define BOOST_PP_REPEAT_1_200(m, d) BOOST_PP_REPEAT_1_199(m, d) m(2, 199, d)
-# define BOOST_PP_REPEAT_1_201(m, d) BOOST_PP_REPEAT_1_200(m, d) m(2, 200, d)
-# define BOOST_PP_REPEAT_1_202(m, d) BOOST_PP_REPEAT_1_201(m, d) m(2, 201, d)
-# define BOOST_PP_REPEAT_1_203(m, d) BOOST_PP_REPEAT_1_202(m, d) m(2, 202, d)
-# define BOOST_PP_REPEAT_1_204(m, d) BOOST_PP_REPEAT_1_203(m, d) m(2, 203, d)
-# define BOOST_PP_REPEAT_1_205(m, d) BOOST_PP_REPEAT_1_204(m, d) m(2, 204, d)
-# define BOOST_PP_REPEAT_1_206(m, d) BOOST_PP_REPEAT_1_205(m, d) m(2, 205, d)
-# define BOOST_PP_REPEAT_1_207(m, d) BOOST_PP_REPEAT_1_206(m, d) m(2, 206, d)
-# define BOOST_PP_REPEAT_1_208(m, d) BOOST_PP_REPEAT_1_207(m, d) m(2, 207, d)
-# define BOOST_PP_REPEAT_1_209(m, d) BOOST_PP_REPEAT_1_208(m, d) m(2, 208, d)
-# define BOOST_PP_REPEAT_1_210(m, d) BOOST_PP_REPEAT_1_209(m, d) m(2, 209, d)
-# define BOOST_PP_REPEAT_1_211(m, d) BOOST_PP_REPEAT_1_210(m, d) m(2, 210, d)
-# define BOOST_PP_REPEAT_1_212(m, d) BOOST_PP_REPEAT_1_211(m, d) m(2, 211, d)
-# define BOOST_PP_REPEAT_1_213(m, d) BOOST_PP_REPEAT_1_212(m, d) m(2, 212, d)
-# define BOOST_PP_REPEAT_1_214(m, d) BOOST_PP_REPEAT_1_213(m, d) m(2, 213, d)
-# define BOOST_PP_REPEAT_1_215(m, d) BOOST_PP_REPEAT_1_214(m, d) m(2, 214, d)
-# define BOOST_PP_REPEAT_1_216(m, d) BOOST_PP_REPEAT_1_215(m, d) m(2, 215, d)
-# define BOOST_PP_REPEAT_1_217(m, d) BOOST_PP_REPEAT_1_216(m, d) m(2, 216, d)
-# define BOOST_PP_REPEAT_1_218(m, d) BOOST_PP_REPEAT_1_217(m, d) m(2, 217, d)
-# define BOOST_PP_REPEAT_1_219(m, d) BOOST_PP_REPEAT_1_218(m, d) m(2, 218, d)
-# define BOOST_PP_REPEAT_1_220(m, d) BOOST_PP_REPEAT_1_219(m, d) m(2, 219, d)
-# define BOOST_PP_REPEAT_1_221(m, d) BOOST_PP_REPEAT_1_220(m, d) m(2, 220, d)
-# define BOOST_PP_REPEAT_1_222(m, d) BOOST_PP_REPEAT_1_221(m, d) m(2, 221, d)
-# define BOOST_PP_REPEAT_1_223(m, d) BOOST_PP_REPEAT_1_222(m, d) m(2, 222, d)
-# define BOOST_PP_REPEAT_1_224(m, d) BOOST_PP_REPEAT_1_223(m, d) m(2, 223, d)
-# define BOOST_PP_REPEAT_1_225(m, d) BOOST_PP_REPEAT_1_224(m, d) m(2, 224, d)
-# define BOOST_PP_REPEAT_1_226(m, d) BOOST_PP_REPEAT_1_225(m, d) m(2, 225, d)
-# define BOOST_PP_REPEAT_1_227(m, d) BOOST_PP_REPEAT_1_226(m, d) m(2, 226, d)
-# define BOOST_PP_REPEAT_1_228(m, d) BOOST_PP_REPEAT_1_227(m, d) m(2, 227, d)
-# define BOOST_PP_REPEAT_1_229(m, d) BOOST_PP_REPEAT_1_228(m, d) m(2, 228, d)
-# define BOOST_PP_REPEAT_1_230(m, d) BOOST_PP_REPEAT_1_229(m, d) m(2, 229, d)
-# define BOOST_PP_REPEAT_1_231(m, d) BOOST_PP_REPEAT_1_230(m, d) m(2, 230, d)
-# define BOOST_PP_REPEAT_1_232(m, d) BOOST_PP_REPEAT_1_231(m, d) m(2, 231, d)
-# define BOOST_PP_REPEAT_1_233(m, d) BOOST_PP_REPEAT_1_232(m, d) m(2, 232, d)
-# define BOOST_PP_REPEAT_1_234(m, d) BOOST_PP_REPEAT_1_233(m, d) m(2, 233, d)
-# define BOOST_PP_REPEAT_1_235(m, d) BOOST_PP_REPEAT_1_234(m, d) m(2, 234, d)
-# define BOOST_PP_REPEAT_1_236(m, d) BOOST_PP_REPEAT_1_235(m, d) m(2, 235, d)
-# define BOOST_PP_REPEAT_1_237(m, d) BOOST_PP_REPEAT_1_236(m, d) m(2, 236, d)
-# define BOOST_PP_REPEAT_1_238(m, d) BOOST_PP_REPEAT_1_237(m, d) m(2, 237, d)
-# define BOOST_PP_REPEAT_1_239(m, d) BOOST_PP_REPEAT_1_238(m, d) m(2, 238, d)
-# define BOOST_PP_REPEAT_1_240(m, d) BOOST_PP_REPEAT_1_239(m, d) m(2, 239, d)
-# define BOOST_PP_REPEAT_1_241(m, d) BOOST_PP_REPEAT_1_240(m, d) m(2, 240, d)
-# define BOOST_PP_REPEAT_1_242(m, d) BOOST_PP_REPEAT_1_241(m, d) m(2, 241, d)
-# define BOOST_PP_REPEAT_1_243(m, d) BOOST_PP_REPEAT_1_242(m, d) m(2, 242, d)
-# define BOOST_PP_REPEAT_1_244(m, d) BOOST_PP_REPEAT_1_243(m, d) m(2, 243, d)
-# define BOOST_PP_REPEAT_1_245(m, d) BOOST_PP_REPEAT_1_244(m, d) m(2, 244, d)
-# define BOOST_PP_REPEAT_1_246(m, d) BOOST_PP_REPEAT_1_245(m, d) m(2, 245, d)
-# define BOOST_PP_REPEAT_1_247(m, d) BOOST_PP_REPEAT_1_246(m, d) m(2, 246, d)
-# define BOOST_PP_REPEAT_1_248(m, d) BOOST_PP_REPEAT_1_247(m, d) m(2, 247, d)
-# define BOOST_PP_REPEAT_1_249(m, d) BOOST_PP_REPEAT_1_248(m, d) m(2, 248, d)
-# define BOOST_PP_REPEAT_1_250(m, d) BOOST_PP_REPEAT_1_249(m, d) m(2, 249, d)
-# define BOOST_PP_REPEAT_1_251(m, d) BOOST_PP_REPEAT_1_250(m, d) m(2, 250, d)
-# define BOOST_PP_REPEAT_1_252(m, d) BOOST_PP_REPEAT_1_251(m, d) m(2, 251, d)
-# define BOOST_PP_REPEAT_1_253(m, d) BOOST_PP_REPEAT_1_252(m, d) m(2, 252, d)
-# define BOOST_PP_REPEAT_1_254(m, d) BOOST_PP_REPEAT_1_253(m, d) m(2, 253, d)
-# define BOOST_PP_REPEAT_1_255(m, d) BOOST_PP_REPEAT_1_254(m, d) m(2, 254, d)
-# define BOOST_PP_REPEAT_1_256(m, d) BOOST_PP_REPEAT_1_255(m, d) m(2, 255, d)
+# define NDNBOOST_PP_REPEAT_1_0(m, d)
+# define NDNBOOST_PP_REPEAT_1_1(m, d) m(2, 0, d)
+# define NDNBOOST_PP_REPEAT_1_2(m, d) NDNBOOST_PP_REPEAT_1_1(m, d) m(2, 1, d)
+# define NDNBOOST_PP_REPEAT_1_3(m, d) NDNBOOST_PP_REPEAT_1_2(m, d) m(2, 2, d)
+# define NDNBOOST_PP_REPEAT_1_4(m, d) NDNBOOST_PP_REPEAT_1_3(m, d) m(2, 3, d)
+# define NDNBOOST_PP_REPEAT_1_5(m, d) NDNBOOST_PP_REPEAT_1_4(m, d) m(2, 4, d)
+# define NDNBOOST_PP_REPEAT_1_6(m, d) NDNBOOST_PP_REPEAT_1_5(m, d) m(2, 5, d)
+# define NDNBOOST_PP_REPEAT_1_7(m, d) NDNBOOST_PP_REPEAT_1_6(m, d) m(2, 6, d)
+# define NDNBOOST_PP_REPEAT_1_8(m, d) NDNBOOST_PP_REPEAT_1_7(m, d) m(2, 7, d)
+# define NDNBOOST_PP_REPEAT_1_9(m, d) NDNBOOST_PP_REPEAT_1_8(m, d) m(2, 8, d)
+# define NDNBOOST_PP_REPEAT_1_10(m, d) NDNBOOST_PP_REPEAT_1_9(m, d) m(2, 9, d)
+# define NDNBOOST_PP_REPEAT_1_11(m, d) NDNBOOST_PP_REPEAT_1_10(m, d) m(2, 10, d)
+# define NDNBOOST_PP_REPEAT_1_12(m, d) NDNBOOST_PP_REPEAT_1_11(m, d) m(2, 11, d)
+# define NDNBOOST_PP_REPEAT_1_13(m, d) NDNBOOST_PP_REPEAT_1_12(m, d) m(2, 12, d)
+# define NDNBOOST_PP_REPEAT_1_14(m, d) NDNBOOST_PP_REPEAT_1_13(m, d) m(2, 13, d)
+# define NDNBOOST_PP_REPEAT_1_15(m, d) NDNBOOST_PP_REPEAT_1_14(m, d) m(2, 14, d)
+# define NDNBOOST_PP_REPEAT_1_16(m, d) NDNBOOST_PP_REPEAT_1_15(m, d) m(2, 15, d)
+# define NDNBOOST_PP_REPEAT_1_17(m, d) NDNBOOST_PP_REPEAT_1_16(m, d) m(2, 16, d)
+# define NDNBOOST_PP_REPEAT_1_18(m, d) NDNBOOST_PP_REPEAT_1_17(m, d) m(2, 17, d)
+# define NDNBOOST_PP_REPEAT_1_19(m, d) NDNBOOST_PP_REPEAT_1_18(m, d) m(2, 18, d)
+# define NDNBOOST_PP_REPEAT_1_20(m, d) NDNBOOST_PP_REPEAT_1_19(m, d) m(2, 19, d)
+# define NDNBOOST_PP_REPEAT_1_21(m, d) NDNBOOST_PP_REPEAT_1_20(m, d) m(2, 20, d)
+# define NDNBOOST_PP_REPEAT_1_22(m, d) NDNBOOST_PP_REPEAT_1_21(m, d) m(2, 21, d)
+# define NDNBOOST_PP_REPEAT_1_23(m, d) NDNBOOST_PP_REPEAT_1_22(m, d) m(2, 22, d)
+# define NDNBOOST_PP_REPEAT_1_24(m, d) NDNBOOST_PP_REPEAT_1_23(m, d) m(2, 23, d)
+# define NDNBOOST_PP_REPEAT_1_25(m, d) NDNBOOST_PP_REPEAT_1_24(m, d) m(2, 24, d)
+# define NDNBOOST_PP_REPEAT_1_26(m, d) NDNBOOST_PP_REPEAT_1_25(m, d) m(2, 25, d)
+# define NDNBOOST_PP_REPEAT_1_27(m, d) NDNBOOST_PP_REPEAT_1_26(m, d) m(2, 26, d)
+# define NDNBOOST_PP_REPEAT_1_28(m, d) NDNBOOST_PP_REPEAT_1_27(m, d) m(2, 27, d)
+# define NDNBOOST_PP_REPEAT_1_29(m, d) NDNBOOST_PP_REPEAT_1_28(m, d) m(2, 28, d)
+# define NDNBOOST_PP_REPEAT_1_30(m, d) NDNBOOST_PP_REPEAT_1_29(m, d) m(2, 29, d)
+# define NDNBOOST_PP_REPEAT_1_31(m, d) NDNBOOST_PP_REPEAT_1_30(m, d) m(2, 30, d)
+# define NDNBOOST_PP_REPEAT_1_32(m, d) NDNBOOST_PP_REPEAT_1_31(m, d) m(2, 31, d)
+# define NDNBOOST_PP_REPEAT_1_33(m, d) NDNBOOST_PP_REPEAT_1_32(m, d) m(2, 32, d)
+# define NDNBOOST_PP_REPEAT_1_34(m, d) NDNBOOST_PP_REPEAT_1_33(m, d) m(2, 33, d)
+# define NDNBOOST_PP_REPEAT_1_35(m, d) NDNBOOST_PP_REPEAT_1_34(m, d) m(2, 34, d)
+# define NDNBOOST_PP_REPEAT_1_36(m, d) NDNBOOST_PP_REPEAT_1_35(m, d) m(2, 35, d)
+# define NDNBOOST_PP_REPEAT_1_37(m, d) NDNBOOST_PP_REPEAT_1_36(m, d) m(2, 36, d)
+# define NDNBOOST_PP_REPEAT_1_38(m, d) NDNBOOST_PP_REPEAT_1_37(m, d) m(2, 37, d)
+# define NDNBOOST_PP_REPEAT_1_39(m, d) NDNBOOST_PP_REPEAT_1_38(m, d) m(2, 38, d)
+# define NDNBOOST_PP_REPEAT_1_40(m, d) NDNBOOST_PP_REPEAT_1_39(m, d) m(2, 39, d)
+# define NDNBOOST_PP_REPEAT_1_41(m, d) NDNBOOST_PP_REPEAT_1_40(m, d) m(2, 40, d)
+# define NDNBOOST_PP_REPEAT_1_42(m, d) NDNBOOST_PP_REPEAT_1_41(m, d) m(2, 41, d)
+# define NDNBOOST_PP_REPEAT_1_43(m, d) NDNBOOST_PP_REPEAT_1_42(m, d) m(2, 42, d)
+# define NDNBOOST_PP_REPEAT_1_44(m, d) NDNBOOST_PP_REPEAT_1_43(m, d) m(2, 43, d)
+# define NDNBOOST_PP_REPEAT_1_45(m, d) NDNBOOST_PP_REPEAT_1_44(m, d) m(2, 44, d)
+# define NDNBOOST_PP_REPEAT_1_46(m, d) NDNBOOST_PP_REPEAT_1_45(m, d) m(2, 45, d)
+# define NDNBOOST_PP_REPEAT_1_47(m, d) NDNBOOST_PP_REPEAT_1_46(m, d) m(2, 46, d)
+# define NDNBOOST_PP_REPEAT_1_48(m, d) NDNBOOST_PP_REPEAT_1_47(m, d) m(2, 47, d)
+# define NDNBOOST_PP_REPEAT_1_49(m, d) NDNBOOST_PP_REPEAT_1_48(m, d) m(2, 48, d)
+# define NDNBOOST_PP_REPEAT_1_50(m, d) NDNBOOST_PP_REPEAT_1_49(m, d) m(2, 49, d)
+# define NDNBOOST_PP_REPEAT_1_51(m, d) NDNBOOST_PP_REPEAT_1_50(m, d) m(2, 50, d)
+# define NDNBOOST_PP_REPEAT_1_52(m, d) NDNBOOST_PP_REPEAT_1_51(m, d) m(2, 51, d)
+# define NDNBOOST_PP_REPEAT_1_53(m, d) NDNBOOST_PP_REPEAT_1_52(m, d) m(2, 52, d)
+# define NDNBOOST_PP_REPEAT_1_54(m, d) NDNBOOST_PP_REPEAT_1_53(m, d) m(2, 53, d)
+# define NDNBOOST_PP_REPEAT_1_55(m, d) NDNBOOST_PP_REPEAT_1_54(m, d) m(2, 54, d)
+# define NDNBOOST_PP_REPEAT_1_56(m, d) NDNBOOST_PP_REPEAT_1_55(m, d) m(2, 55, d)
+# define NDNBOOST_PP_REPEAT_1_57(m, d) NDNBOOST_PP_REPEAT_1_56(m, d) m(2, 56, d)
+# define NDNBOOST_PP_REPEAT_1_58(m, d) NDNBOOST_PP_REPEAT_1_57(m, d) m(2, 57, d)
+# define NDNBOOST_PP_REPEAT_1_59(m, d) NDNBOOST_PP_REPEAT_1_58(m, d) m(2, 58, d)
+# define NDNBOOST_PP_REPEAT_1_60(m, d) NDNBOOST_PP_REPEAT_1_59(m, d) m(2, 59, d)
+# define NDNBOOST_PP_REPEAT_1_61(m, d) NDNBOOST_PP_REPEAT_1_60(m, d) m(2, 60, d)
+# define NDNBOOST_PP_REPEAT_1_62(m, d) NDNBOOST_PP_REPEAT_1_61(m, d) m(2, 61, d)
+# define NDNBOOST_PP_REPEAT_1_63(m, d) NDNBOOST_PP_REPEAT_1_62(m, d) m(2, 62, d)
+# define NDNBOOST_PP_REPEAT_1_64(m, d) NDNBOOST_PP_REPEAT_1_63(m, d) m(2, 63, d)
+# define NDNBOOST_PP_REPEAT_1_65(m, d) NDNBOOST_PP_REPEAT_1_64(m, d) m(2, 64, d)
+# define NDNBOOST_PP_REPEAT_1_66(m, d) NDNBOOST_PP_REPEAT_1_65(m, d) m(2, 65, d)
+# define NDNBOOST_PP_REPEAT_1_67(m, d) NDNBOOST_PP_REPEAT_1_66(m, d) m(2, 66, d)
+# define NDNBOOST_PP_REPEAT_1_68(m, d) NDNBOOST_PP_REPEAT_1_67(m, d) m(2, 67, d)
+# define NDNBOOST_PP_REPEAT_1_69(m, d) NDNBOOST_PP_REPEAT_1_68(m, d) m(2, 68, d)
+# define NDNBOOST_PP_REPEAT_1_70(m, d) NDNBOOST_PP_REPEAT_1_69(m, d) m(2, 69, d)
+# define NDNBOOST_PP_REPEAT_1_71(m, d) NDNBOOST_PP_REPEAT_1_70(m, d) m(2, 70, d)
+# define NDNBOOST_PP_REPEAT_1_72(m, d) NDNBOOST_PP_REPEAT_1_71(m, d) m(2, 71, d)
+# define NDNBOOST_PP_REPEAT_1_73(m, d) NDNBOOST_PP_REPEAT_1_72(m, d) m(2, 72, d)
+# define NDNBOOST_PP_REPEAT_1_74(m, d) NDNBOOST_PP_REPEAT_1_73(m, d) m(2, 73, d)
+# define NDNBOOST_PP_REPEAT_1_75(m, d) NDNBOOST_PP_REPEAT_1_74(m, d) m(2, 74, d)
+# define NDNBOOST_PP_REPEAT_1_76(m, d) NDNBOOST_PP_REPEAT_1_75(m, d) m(2, 75, d)
+# define NDNBOOST_PP_REPEAT_1_77(m, d) NDNBOOST_PP_REPEAT_1_76(m, d) m(2, 76, d)
+# define NDNBOOST_PP_REPEAT_1_78(m, d) NDNBOOST_PP_REPEAT_1_77(m, d) m(2, 77, d)
+# define NDNBOOST_PP_REPEAT_1_79(m, d) NDNBOOST_PP_REPEAT_1_78(m, d) m(2, 78, d)
+# define NDNBOOST_PP_REPEAT_1_80(m, d) NDNBOOST_PP_REPEAT_1_79(m, d) m(2, 79, d)
+# define NDNBOOST_PP_REPEAT_1_81(m, d) NDNBOOST_PP_REPEAT_1_80(m, d) m(2, 80, d)
+# define NDNBOOST_PP_REPEAT_1_82(m, d) NDNBOOST_PP_REPEAT_1_81(m, d) m(2, 81, d)
+# define NDNBOOST_PP_REPEAT_1_83(m, d) NDNBOOST_PP_REPEAT_1_82(m, d) m(2, 82, d)
+# define NDNBOOST_PP_REPEAT_1_84(m, d) NDNBOOST_PP_REPEAT_1_83(m, d) m(2, 83, d)
+# define NDNBOOST_PP_REPEAT_1_85(m, d) NDNBOOST_PP_REPEAT_1_84(m, d) m(2, 84, d)
+# define NDNBOOST_PP_REPEAT_1_86(m, d) NDNBOOST_PP_REPEAT_1_85(m, d) m(2, 85, d)
+# define NDNBOOST_PP_REPEAT_1_87(m, d) NDNBOOST_PP_REPEAT_1_86(m, d) m(2, 86, d)
+# define NDNBOOST_PP_REPEAT_1_88(m, d) NDNBOOST_PP_REPEAT_1_87(m, d) m(2, 87, d)
+# define NDNBOOST_PP_REPEAT_1_89(m, d) NDNBOOST_PP_REPEAT_1_88(m, d) m(2, 88, d)
+# define NDNBOOST_PP_REPEAT_1_90(m, d) NDNBOOST_PP_REPEAT_1_89(m, d) m(2, 89, d)
+# define NDNBOOST_PP_REPEAT_1_91(m, d) NDNBOOST_PP_REPEAT_1_90(m, d) m(2, 90, d)
+# define NDNBOOST_PP_REPEAT_1_92(m, d) NDNBOOST_PP_REPEAT_1_91(m, d) m(2, 91, d)
+# define NDNBOOST_PP_REPEAT_1_93(m, d) NDNBOOST_PP_REPEAT_1_92(m, d) m(2, 92, d)
+# define NDNBOOST_PP_REPEAT_1_94(m, d) NDNBOOST_PP_REPEAT_1_93(m, d) m(2, 93, d)
+# define NDNBOOST_PP_REPEAT_1_95(m, d) NDNBOOST_PP_REPEAT_1_94(m, d) m(2, 94, d)
+# define NDNBOOST_PP_REPEAT_1_96(m, d) NDNBOOST_PP_REPEAT_1_95(m, d) m(2, 95, d)
+# define NDNBOOST_PP_REPEAT_1_97(m, d) NDNBOOST_PP_REPEAT_1_96(m, d) m(2, 96, d)
+# define NDNBOOST_PP_REPEAT_1_98(m, d) NDNBOOST_PP_REPEAT_1_97(m, d) m(2, 97, d)
+# define NDNBOOST_PP_REPEAT_1_99(m, d) NDNBOOST_PP_REPEAT_1_98(m, d) m(2, 98, d)
+# define NDNBOOST_PP_REPEAT_1_100(m, d) NDNBOOST_PP_REPEAT_1_99(m, d) m(2, 99, d)
+# define NDNBOOST_PP_REPEAT_1_101(m, d) NDNBOOST_PP_REPEAT_1_100(m, d) m(2, 100, d)
+# define NDNBOOST_PP_REPEAT_1_102(m, d) NDNBOOST_PP_REPEAT_1_101(m, d) m(2, 101, d)
+# define NDNBOOST_PP_REPEAT_1_103(m, d) NDNBOOST_PP_REPEAT_1_102(m, d) m(2, 102, d)
+# define NDNBOOST_PP_REPEAT_1_104(m, d) NDNBOOST_PP_REPEAT_1_103(m, d) m(2, 103, d)
+# define NDNBOOST_PP_REPEAT_1_105(m, d) NDNBOOST_PP_REPEAT_1_104(m, d) m(2, 104, d)
+# define NDNBOOST_PP_REPEAT_1_106(m, d) NDNBOOST_PP_REPEAT_1_105(m, d) m(2, 105, d)
+# define NDNBOOST_PP_REPEAT_1_107(m, d) NDNBOOST_PP_REPEAT_1_106(m, d) m(2, 106, d)
+# define NDNBOOST_PP_REPEAT_1_108(m, d) NDNBOOST_PP_REPEAT_1_107(m, d) m(2, 107, d)
+# define NDNBOOST_PP_REPEAT_1_109(m, d) NDNBOOST_PP_REPEAT_1_108(m, d) m(2, 108, d)
+# define NDNBOOST_PP_REPEAT_1_110(m, d) NDNBOOST_PP_REPEAT_1_109(m, d) m(2, 109, d)
+# define NDNBOOST_PP_REPEAT_1_111(m, d) NDNBOOST_PP_REPEAT_1_110(m, d) m(2, 110, d)
+# define NDNBOOST_PP_REPEAT_1_112(m, d) NDNBOOST_PP_REPEAT_1_111(m, d) m(2, 111, d)
+# define NDNBOOST_PP_REPEAT_1_113(m, d) NDNBOOST_PP_REPEAT_1_112(m, d) m(2, 112, d)
+# define NDNBOOST_PP_REPEAT_1_114(m, d) NDNBOOST_PP_REPEAT_1_113(m, d) m(2, 113, d)
+# define NDNBOOST_PP_REPEAT_1_115(m, d) NDNBOOST_PP_REPEAT_1_114(m, d) m(2, 114, d)
+# define NDNBOOST_PP_REPEAT_1_116(m, d) NDNBOOST_PP_REPEAT_1_115(m, d) m(2, 115, d)
+# define NDNBOOST_PP_REPEAT_1_117(m, d) NDNBOOST_PP_REPEAT_1_116(m, d) m(2, 116, d)
+# define NDNBOOST_PP_REPEAT_1_118(m, d) NDNBOOST_PP_REPEAT_1_117(m, d) m(2, 117, d)
+# define NDNBOOST_PP_REPEAT_1_119(m, d) NDNBOOST_PP_REPEAT_1_118(m, d) m(2, 118, d)
+# define NDNBOOST_PP_REPEAT_1_120(m, d) NDNBOOST_PP_REPEAT_1_119(m, d) m(2, 119, d)
+# define NDNBOOST_PP_REPEAT_1_121(m, d) NDNBOOST_PP_REPEAT_1_120(m, d) m(2, 120, d)
+# define NDNBOOST_PP_REPEAT_1_122(m, d) NDNBOOST_PP_REPEAT_1_121(m, d) m(2, 121, d)
+# define NDNBOOST_PP_REPEAT_1_123(m, d) NDNBOOST_PP_REPEAT_1_122(m, d) m(2, 122, d)
+# define NDNBOOST_PP_REPEAT_1_124(m, d) NDNBOOST_PP_REPEAT_1_123(m, d) m(2, 123, d)
+# define NDNBOOST_PP_REPEAT_1_125(m, d) NDNBOOST_PP_REPEAT_1_124(m, d) m(2, 124, d)
+# define NDNBOOST_PP_REPEAT_1_126(m, d) NDNBOOST_PP_REPEAT_1_125(m, d) m(2, 125, d)
+# define NDNBOOST_PP_REPEAT_1_127(m, d) NDNBOOST_PP_REPEAT_1_126(m, d) m(2, 126, d)
+# define NDNBOOST_PP_REPEAT_1_128(m, d) NDNBOOST_PP_REPEAT_1_127(m, d) m(2, 127, d)
+# define NDNBOOST_PP_REPEAT_1_129(m, d) NDNBOOST_PP_REPEAT_1_128(m, d) m(2, 128, d)
+# define NDNBOOST_PP_REPEAT_1_130(m, d) NDNBOOST_PP_REPEAT_1_129(m, d) m(2, 129, d)
+# define NDNBOOST_PP_REPEAT_1_131(m, d) NDNBOOST_PP_REPEAT_1_130(m, d) m(2, 130, d)
+# define NDNBOOST_PP_REPEAT_1_132(m, d) NDNBOOST_PP_REPEAT_1_131(m, d) m(2, 131, d)
+# define NDNBOOST_PP_REPEAT_1_133(m, d) NDNBOOST_PP_REPEAT_1_132(m, d) m(2, 132, d)
+# define NDNBOOST_PP_REPEAT_1_134(m, d) NDNBOOST_PP_REPEAT_1_133(m, d) m(2, 133, d)
+# define NDNBOOST_PP_REPEAT_1_135(m, d) NDNBOOST_PP_REPEAT_1_134(m, d) m(2, 134, d)
+# define NDNBOOST_PP_REPEAT_1_136(m, d) NDNBOOST_PP_REPEAT_1_135(m, d) m(2, 135, d)
+# define NDNBOOST_PP_REPEAT_1_137(m, d) NDNBOOST_PP_REPEAT_1_136(m, d) m(2, 136, d)
+# define NDNBOOST_PP_REPEAT_1_138(m, d) NDNBOOST_PP_REPEAT_1_137(m, d) m(2, 137, d)
+# define NDNBOOST_PP_REPEAT_1_139(m, d) NDNBOOST_PP_REPEAT_1_138(m, d) m(2, 138, d)
+# define NDNBOOST_PP_REPEAT_1_140(m, d) NDNBOOST_PP_REPEAT_1_139(m, d) m(2, 139, d)
+# define NDNBOOST_PP_REPEAT_1_141(m, d) NDNBOOST_PP_REPEAT_1_140(m, d) m(2, 140, d)
+# define NDNBOOST_PP_REPEAT_1_142(m, d) NDNBOOST_PP_REPEAT_1_141(m, d) m(2, 141, d)
+# define NDNBOOST_PP_REPEAT_1_143(m, d) NDNBOOST_PP_REPEAT_1_142(m, d) m(2, 142, d)
+# define NDNBOOST_PP_REPEAT_1_144(m, d) NDNBOOST_PP_REPEAT_1_143(m, d) m(2, 143, d)
+# define NDNBOOST_PP_REPEAT_1_145(m, d) NDNBOOST_PP_REPEAT_1_144(m, d) m(2, 144, d)
+# define NDNBOOST_PP_REPEAT_1_146(m, d) NDNBOOST_PP_REPEAT_1_145(m, d) m(2, 145, d)
+# define NDNBOOST_PP_REPEAT_1_147(m, d) NDNBOOST_PP_REPEAT_1_146(m, d) m(2, 146, d)
+# define NDNBOOST_PP_REPEAT_1_148(m, d) NDNBOOST_PP_REPEAT_1_147(m, d) m(2, 147, d)
+# define NDNBOOST_PP_REPEAT_1_149(m, d) NDNBOOST_PP_REPEAT_1_148(m, d) m(2, 148, d)
+# define NDNBOOST_PP_REPEAT_1_150(m, d) NDNBOOST_PP_REPEAT_1_149(m, d) m(2, 149, d)
+# define NDNBOOST_PP_REPEAT_1_151(m, d) NDNBOOST_PP_REPEAT_1_150(m, d) m(2, 150, d)
+# define NDNBOOST_PP_REPEAT_1_152(m, d) NDNBOOST_PP_REPEAT_1_151(m, d) m(2, 151, d)
+# define NDNBOOST_PP_REPEAT_1_153(m, d) NDNBOOST_PP_REPEAT_1_152(m, d) m(2, 152, d)
+# define NDNBOOST_PP_REPEAT_1_154(m, d) NDNBOOST_PP_REPEAT_1_153(m, d) m(2, 153, d)
+# define NDNBOOST_PP_REPEAT_1_155(m, d) NDNBOOST_PP_REPEAT_1_154(m, d) m(2, 154, d)
+# define NDNBOOST_PP_REPEAT_1_156(m, d) NDNBOOST_PP_REPEAT_1_155(m, d) m(2, 155, d)
+# define NDNBOOST_PP_REPEAT_1_157(m, d) NDNBOOST_PP_REPEAT_1_156(m, d) m(2, 156, d)
+# define NDNBOOST_PP_REPEAT_1_158(m, d) NDNBOOST_PP_REPEAT_1_157(m, d) m(2, 157, d)
+# define NDNBOOST_PP_REPEAT_1_159(m, d) NDNBOOST_PP_REPEAT_1_158(m, d) m(2, 158, d)
+# define NDNBOOST_PP_REPEAT_1_160(m, d) NDNBOOST_PP_REPEAT_1_159(m, d) m(2, 159, d)
+# define NDNBOOST_PP_REPEAT_1_161(m, d) NDNBOOST_PP_REPEAT_1_160(m, d) m(2, 160, d)
+# define NDNBOOST_PP_REPEAT_1_162(m, d) NDNBOOST_PP_REPEAT_1_161(m, d) m(2, 161, d)
+# define NDNBOOST_PP_REPEAT_1_163(m, d) NDNBOOST_PP_REPEAT_1_162(m, d) m(2, 162, d)
+# define NDNBOOST_PP_REPEAT_1_164(m, d) NDNBOOST_PP_REPEAT_1_163(m, d) m(2, 163, d)
+# define NDNBOOST_PP_REPEAT_1_165(m, d) NDNBOOST_PP_REPEAT_1_164(m, d) m(2, 164, d)
+# define NDNBOOST_PP_REPEAT_1_166(m, d) NDNBOOST_PP_REPEAT_1_165(m, d) m(2, 165, d)
+# define NDNBOOST_PP_REPEAT_1_167(m, d) NDNBOOST_PP_REPEAT_1_166(m, d) m(2, 166, d)
+# define NDNBOOST_PP_REPEAT_1_168(m, d) NDNBOOST_PP_REPEAT_1_167(m, d) m(2, 167, d)
+# define NDNBOOST_PP_REPEAT_1_169(m, d) NDNBOOST_PP_REPEAT_1_168(m, d) m(2, 168, d)
+# define NDNBOOST_PP_REPEAT_1_170(m, d) NDNBOOST_PP_REPEAT_1_169(m, d) m(2, 169, d)
+# define NDNBOOST_PP_REPEAT_1_171(m, d) NDNBOOST_PP_REPEAT_1_170(m, d) m(2, 170, d)
+# define NDNBOOST_PP_REPEAT_1_172(m, d) NDNBOOST_PP_REPEAT_1_171(m, d) m(2, 171, d)
+# define NDNBOOST_PP_REPEAT_1_173(m, d) NDNBOOST_PP_REPEAT_1_172(m, d) m(2, 172, d)
+# define NDNBOOST_PP_REPEAT_1_174(m, d) NDNBOOST_PP_REPEAT_1_173(m, d) m(2, 173, d)
+# define NDNBOOST_PP_REPEAT_1_175(m, d) NDNBOOST_PP_REPEAT_1_174(m, d) m(2, 174, d)
+# define NDNBOOST_PP_REPEAT_1_176(m, d) NDNBOOST_PP_REPEAT_1_175(m, d) m(2, 175, d)
+# define NDNBOOST_PP_REPEAT_1_177(m, d) NDNBOOST_PP_REPEAT_1_176(m, d) m(2, 176, d)
+# define NDNBOOST_PP_REPEAT_1_178(m, d) NDNBOOST_PP_REPEAT_1_177(m, d) m(2, 177, d)
+# define NDNBOOST_PP_REPEAT_1_179(m, d) NDNBOOST_PP_REPEAT_1_178(m, d) m(2, 178, d)
+# define NDNBOOST_PP_REPEAT_1_180(m, d) NDNBOOST_PP_REPEAT_1_179(m, d) m(2, 179, d)
+# define NDNBOOST_PP_REPEAT_1_181(m, d) NDNBOOST_PP_REPEAT_1_180(m, d) m(2, 180, d)
+# define NDNBOOST_PP_REPEAT_1_182(m, d) NDNBOOST_PP_REPEAT_1_181(m, d) m(2, 181, d)
+# define NDNBOOST_PP_REPEAT_1_183(m, d) NDNBOOST_PP_REPEAT_1_182(m, d) m(2, 182, d)
+# define NDNBOOST_PP_REPEAT_1_184(m, d) NDNBOOST_PP_REPEAT_1_183(m, d) m(2, 183, d)
+# define NDNBOOST_PP_REPEAT_1_185(m, d) NDNBOOST_PP_REPEAT_1_184(m, d) m(2, 184, d)
+# define NDNBOOST_PP_REPEAT_1_186(m, d) NDNBOOST_PP_REPEAT_1_185(m, d) m(2, 185, d)
+# define NDNBOOST_PP_REPEAT_1_187(m, d) NDNBOOST_PP_REPEAT_1_186(m, d) m(2, 186, d)
+# define NDNBOOST_PP_REPEAT_1_188(m, d) NDNBOOST_PP_REPEAT_1_187(m, d) m(2, 187, d)
+# define NDNBOOST_PP_REPEAT_1_189(m, d) NDNBOOST_PP_REPEAT_1_188(m, d) m(2, 188, d)
+# define NDNBOOST_PP_REPEAT_1_190(m, d) NDNBOOST_PP_REPEAT_1_189(m, d) m(2, 189, d)
+# define NDNBOOST_PP_REPEAT_1_191(m, d) NDNBOOST_PP_REPEAT_1_190(m, d) m(2, 190, d)
+# define NDNBOOST_PP_REPEAT_1_192(m, d) NDNBOOST_PP_REPEAT_1_191(m, d) m(2, 191, d)
+# define NDNBOOST_PP_REPEAT_1_193(m, d) NDNBOOST_PP_REPEAT_1_192(m, d) m(2, 192, d)
+# define NDNBOOST_PP_REPEAT_1_194(m, d) NDNBOOST_PP_REPEAT_1_193(m, d) m(2, 193, d)
+# define NDNBOOST_PP_REPEAT_1_195(m, d) NDNBOOST_PP_REPEAT_1_194(m, d) m(2, 194, d)
+# define NDNBOOST_PP_REPEAT_1_196(m, d) NDNBOOST_PP_REPEAT_1_195(m, d) m(2, 195, d)
+# define NDNBOOST_PP_REPEAT_1_197(m, d) NDNBOOST_PP_REPEAT_1_196(m, d) m(2, 196, d)
+# define NDNBOOST_PP_REPEAT_1_198(m, d) NDNBOOST_PP_REPEAT_1_197(m, d) m(2, 197, d)
+# define NDNBOOST_PP_REPEAT_1_199(m, d) NDNBOOST_PP_REPEAT_1_198(m, d) m(2, 198, d)
+# define NDNBOOST_PP_REPEAT_1_200(m, d) NDNBOOST_PP_REPEAT_1_199(m, d) m(2, 199, d)
+# define NDNBOOST_PP_REPEAT_1_201(m, d) NDNBOOST_PP_REPEAT_1_200(m, d) m(2, 200, d)
+# define NDNBOOST_PP_REPEAT_1_202(m, d) NDNBOOST_PP_REPEAT_1_201(m, d) m(2, 201, d)
+# define NDNBOOST_PP_REPEAT_1_203(m, d) NDNBOOST_PP_REPEAT_1_202(m, d) m(2, 202, d)
+# define NDNBOOST_PP_REPEAT_1_204(m, d) NDNBOOST_PP_REPEAT_1_203(m, d) m(2, 203, d)
+# define NDNBOOST_PP_REPEAT_1_205(m, d) NDNBOOST_PP_REPEAT_1_204(m, d) m(2, 204, d)
+# define NDNBOOST_PP_REPEAT_1_206(m, d) NDNBOOST_PP_REPEAT_1_205(m, d) m(2, 205, d)
+# define NDNBOOST_PP_REPEAT_1_207(m, d) NDNBOOST_PP_REPEAT_1_206(m, d) m(2, 206, d)
+# define NDNBOOST_PP_REPEAT_1_208(m, d) NDNBOOST_PP_REPEAT_1_207(m, d) m(2, 207, d)
+# define NDNBOOST_PP_REPEAT_1_209(m, d) NDNBOOST_PP_REPEAT_1_208(m, d) m(2, 208, d)
+# define NDNBOOST_PP_REPEAT_1_210(m, d) NDNBOOST_PP_REPEAT_1_209(m, d) m(2, 209, d)
+# define NDNBOOST_PP_REPEAT_1_211(m, d) NDNBOOST_PP_REPEAT_1_210(m, d) m(2, 210, d)
+# define NDNBOOST_PP_REPEAT_1_212(m, d) NDNBOOST_PP_REPEAT_1_211(m, d) m(2, 211, d)
+# define NDNBOOST_PP_REPEAT_1_213(m, d) NDNBOOST_PP_REPEAT_1_212(m, d) m(2, 212, d)
+# define NDNBOOST_PP_REPEAT_1_214(m, d) NDNBOOST_PP_REPEAT_1_213(m, d) m(2, 213, d)
+# define NDNBOOST_PP_REPEAT_1_215(m, d) NDNBOOST_PP_REPEAT_1_214(m, d) m(2, 214, d)
+# define NDNBOOST_PP_REPEAT_1_216(m, d) NDNBOOST_PP_REPEAT_1_215(m, d) m(2, 215, d)
+# define NDNBOOST_PP_REPEAT_1_217(m, d) NDNBOOST_PP_REPEAT_1_216(m, d) m(2, 216, d)
+# define NDNBOOST_PP_REPEAT_1_218(m, d) NDNBOOST_PP_REPEAT_1_217(m, d) m(2, 217, d)
+# define NDNBOOST_PP_REPEAT_1_219(m, d) NDNBOOST_PP_REPEAT_1_218(m, d) m(2, 218, d)
+# define NDNBOOST_PP_REPEAT_1_220(m, d) NDNBOOST_PP_REPEAT_1_219(m, d) m(2, 219, d)
+# define NDNBOOST_PP_REPEAT_1_221(m, d) NDNBOOST_PP_REPEAT_1_220(m, d) m(2, 220, d)
+# define NDNBOOST_PP_REPEAT_1_222(m, d) NDNBOOST_PP_REPEAT_1_221(m, d) m(2, 221, d)
+# define NDNBOOST_PP_REPEAT_1_223(m, d) NDNBOOST_PP_REPEAT_1_222(m, d) m(2, 222, d)
+# define NDNBOOST_PP_REPEAT_1_224(m, d) NDNBOOST_PP_REPEAT_1_223(m, d) m(2, 223, d)
+# define NDNBOOST_PP_REPEAT_1_225(m, d) NDNBOOST_PP_REPEAT_1_224(m, d) m(2, 224, d)
+# define NDNBOOST_PP_REPEAT_1_226(m, d) NDNBOOST_PP_REPEAT_1_225(m, d) m(2, 225, d)
+# define NDNBOOST_PP_REPEAT_1_227(m, d) NDNBOOST_PP_REPEAT_1_226(m, d) m(2, 226, d)
+# define NDNBOOST_PP_REPEAT_1_228(m, d) NDNBOOST_PP_REPEAT_1_227(m, d) m(2, 227, d)
+# define NDNBOOST_PP_REPEAT_1_229(m, d) NDNBOOST_PP_REPEAT_1_228(m, d) m(2, 228, d)
+# define NDNBOOST_PP_REPEAT_1_230(m, d) NDNBOOST_PP_REPEAT_1_229(m, d) m(2, 229, d)
+# define NDNBOOST_PP_REPEAT_1_231(m, d) NDNBOOST_PP_REPEAT_1_230(m, d) m(2, 230, d)
+# define NDNBOOST_PP_REPEAT_1_232(m, d) NDNBOOST_PP_REPEAT_1_231(m, d) m(2, 231, d)
+# define NDNBOOST_PP_REPEAT_1_233(m, d) NDNBOOST_PP_REPEAT_1_232(m, d) m(2, 232, d)
+# define NDNBOOST_PP_REPEAT_1_234(m, d) NDNBOOST_PP_REPEAT_1_233(m, d) m(2, 233, d)
+# define NDNBOOST_PP_REPEAT_1_235(m, d) NDNBOOST_PP_REPEAT_1_234(m, d) m(2, 234, d)
+# define NDNBOOST_PP_REPEAT_1_236(m, d) NDNBOOST_PP_REPEAT_1_235(m, d) m(2, 235, d)
+# define NDNBOOST_PP_REPEAT_1_237(m, d) NDNBOOST_PP_REPEAT_1_236(m, d) m(2, 236, d)
+# define NDNBOOST_PP_REPEAT_1_238(m, d) NDNBOOST_PP_REPEAT_1_237(m, d) m(2, 237, d)
+# define NDNBOOST_PP_REPEAT_1_239(m, d) NDNBOOST_PP_REPEAT_1_238(m, d) m(2, 238, d)
+# define NDNBOOST_PP_REPEAT_1_240(m, d) NDNBOOST_PP_REPEAT_1_239(m, d) m(2, 239, d)
+# define NDNBOOST_PP_REPEAT_1_241(m, d) NDNBOOST_PP_REPEAT_1_240(m, d) m(2, 240, d)
+# define NDNBOOST_PP_REPEAT_1_242(m, d) NDNBOOST_PP_REPEAT_1_241(m, d) m(2, 241, d)
+# define NDNBOOST_PP_REPEAT_1_243(m, d) NDNBOOST_PP_REPEAT_1_242(m, d) m(2, 242, d)
+# define NDNBOOST_PP_REPEAT_1_244(m, d) NDNBOOST_PP_REPEAT_1_243(m, d) m(2, 243, d)
+# define NDNBOOST_PP_REPEAT_1_245(m, d) NDNBOOST_PP_REPEAT_1_244(m, d) m(2, 244, d)
+# define NDNBOOST_PP_REPEAT_1_246(m, d) NDNBOOST_PP_REPEAT_1_245(m, d) m(2, 245, d)
+# define NDNBOOST_PP_REPEAT_1_247(m, d) NDNBOOST_PP_REPEAT_1_246(m, d) m(2, 246, d)
+# define NDNBOOST_PP_REPEAT_1_248(m, d) NDNBOOST_PP_REPEAT_1_247(m, d) m(2, 247, d)
+# define NDNBOOST_PP_REPEAT_1_249(m, d) NDNBOOST_PP_REPEAT_1_248(m, d) m(2, 248, d)
+# define NDNBOOST_PP_REPEAT_1_250(m, d) NDNBOOST_PP_REPEAT_1_249(m, d) m(2, 249, d)
+# define NDNBOOST_PP_REPEAT_1_251(m, d) NDNBOOST_PP_REPEAT_1_250(m, d) m(2, 250, d)
+# define NDNBOOST_PP_REPEAT_1_252(m, d) NDNBOOST_PP_REPEAT_1_251(m, d) m(2, 251, d)
+# define NDNBOOST_PP_REPEAT_1_253(m, d) NDNBOOST_PP_REPEAT_1_252(m, d) m(2, 252, d)
+# define NDNBOOST_PP_REPEAT_1_254(m, d) NDNBOOST_PP_REPEAT_1_253(m, d) m(2, 253, d)
+# define NDNBOOST_PP_REPEAT_1_255(m, d) NDNBOOST_PP_REPEAT_1_254(m, d) m(2, 254, d)
+# define NDNBOOST_PP_REPEAT_1_256(m, d) NDNBOOST_PP_REPEAT_1_255(m, d) m(2, 255, d)
 #
-# define BOOST_PP_REPEAT_2_0(m, d)
-# define BOOST_PP_REPEAT_2_1(m, d) m(3, 0, d)
-# define BOOST_PP_REPEAT_2_2(m, d) BOOST_PP_REPEAT_2_1(m, d) m(3, 1, d)
-# define BOOST_PP_REPEAT_2_3(m, d) BOOST_PP_REPEAT_2_2(m, d) m(3, 2, d)
-# define BOOST_PP_REPEAT_2_4(m, d) BOOST_PP_REPEAT_2_3(m, d) m(3, 3, d)
-# define BOOST_PP_REPEAT_2_5(m, d) BOOST_PP_REPEAT_2_4(m, d) m(3, 4, d)
-# define BOOST_PP_REPEAT_2_6(m, d) BOOST_PP_REPEAT_2_5(m, d) m(3, 5, d)
-# define BOOST_PP_REPEAT_2_7(m, d) BOOST_PP_REPEAT_2_6(m, d) m(3, 6, d)
-# define BOOST_PP_REPEAT_2_8(m, d) BOOST_PP_REPEAT_2_7(m, d) m(3, 7, d)
-# define BOOST_PP_REPEAT_2_9(m, d) BOOST_PP_REPEAT_2_8(m, d) m(3, 8, d)
-# define BOOST_PP_REPEAT_2_10(m, d) BOOST_PP_REPEAT_2_9(m, d) m(3, 9, d)
-# define BOOST_PP_REPEAT_2_11(m, d) BOOST_PP_REPEAT_2_10(m, d) m(3, 10, d)
-# define BOOST_PP_REPEAT_2_12(m, d) BOOST_PP_REPEAT_2_11(m, d) m(3, 11, d)
-# define BOOST_PP_REPEAT_2_13(m, d) BOOST_PP_REPEAT_2_12(m, d) m(3, 12, d)
-# define BOOST_PP_REPEAT_2_14(m, d) BOOST_PP_REPEAT_2_13(m, d) m(3, 13, d)
-# define BOOST_PP_REPEAT_2_15(m, d) BOOST_PP_REPEAT_2_14(m, d) m(3, 14, d)
-# define BOOST_PP_REPEAT_2_16(m, d) BOOST_PP_REPEAT_2_15(m, d) m(3, 15, d)
-# define BOOST_PP_REPEAT_2_17(m, d) BOOST_PP_REPEAT_2_16(m, d) m(3, 16, d)
-# define BOOST_PP_REPEAT_2_18(m, d) BOOST_PP_REPEAT_2_17(m, d) m(3, 17, d)
-# define BOOST_PP_REPEAT_2_19(m, d) BOOST_PP_REPEAT_2_18(m, d) m(3, 18, d)
-# define BOOST_PP_REPEAT_2_20(m, d) BOOST_PP_REPEAT_2_19(m, d) m(3, 19, d)
-# define BOOST_PP_REPEAT_2_21(m, d) BOOST_PP_REPEAT_2_20(m, d) m(3, 20, d)
-# define BOOST_PP_REPEAT_2_22(m, d) BOOST_PP_REPEAT_2_21(m, d) m(3, 21, d)
-# define BOOST_PP_REPEAT_2_23(m, d) BOOST_PP_REPEAT_2_22(m, d) m(3, 22, d)
-# define BOOST_PP_REPEAT_2_24(m, d) BOOST_PP_REPEAT_2_23(m, d) m(3, 23, d)
-# define BOOST_PP_REPEAT_2_25(m, d) BOOST_PP_REPEAT_2_24(m, d) m(3, 24, d)
-# define BOOST_PP_REPEAT_2_26(m, d) BOOST_PP_REPEAT_2_25(m, d) m(3, 25, d)
-# define BOOST_PP_REPEAT_2_27(m, d) BOOST_PP_REPEAT_2_26(m, d) m(3, 26, d)
-# define BOOST_PP_REPEAT_2_28(m, d) BOOST_PP_REPEAT_2_27(m, d) m(3, 27, d)
-# define BOOST_PP_REPEAT_2_29(m, d) BOOST_PP_REPEAT_2_28(m, d) m(3, 28, d)
-# define BOOST_PP_REPEAT_2_30(m, d) BOOST_PP_REPEAT_2_29(m, d) m(3, 29, d)
-# define BOOST_PP_REPEAT_2_31(m, d) BOOST_PP_REPEAT_2_30(m, d) m(3, 30, d)
-# define BOOST_PP_REPEAT_2_32(m, d) BOOST_PP_REPEAT_2_31(m, d) m(3, 31, d)
-# define BOOST_PP_REPEAT_2_33(m, d) BOOST_PP_REPEAT_2_32(m, d) m(3, 32, d)
-# define BOOST_PP_REPEAT_2_34(m, d) BOOST_PP_REPEAT_2_33(m, d) m(3, 33, d)
-# define BOOST_PP_REPEAT_2_35(m, d) BOOST_PP_REPEAT_2_34(m, d) m(3, 34, d)
-# define BOOST_PP_REPEAT_2_36(m, d) BOOST_PP_REPEAT_2_35(m, d) m(3, 35, d)
-# define BOOST_PP_REPEAT_2_37(m, d) BOOST_PP_REPEAT_2_36(m, d) m(3, 36, d)
-# define BOOST_PP_REPEAT_2_38(m, d) BOOST_PP_REPEAT_2_37(m, d) m(3, 37, d)
-# define BOOST_PP_REPEAT_2_39(m, d) BOOST_PP_REPEAT_2_38(m, d) m(3, 38, d)
-# define BOOST_PP_REPEAT_2_40(m, d) BOOST_PP_REPEAT_2_39(m, d) m(3, 39, d)
-# define BOOST_PP_REPEAT_2_41(m, d) BOOST_PP_REPEAT_2_40(m, d) m(3, 40, d)
-# define BOOST_PP_REPEAT_2_42(m, d) BOOST_PP_REPEAT_2_41(m, d) m(3, 41, d)
-# define BOOST_PP_REPEAT_2_43(m, d) BOOST_PP_REPEAT_2_42(m, d) m(3, 42, d)
-# define BOOST_PP_REPEAT_2_44(m, d) BOOST_PP_REPEAT_2_43(m, d) m(3, 43, d)
-# define BOOST_PP_REPEAT_2_45(m, d) BOOST_PP_REPEAT_2_44(m, d) m(3, 44, d)
-# define BOOST_PP_REPEAT_2_46(m, d) BOOST_PP_REPEAT_2_45(m, d) m(3, 45, d)
-# define BOOST_PP_REPEAT_2_47(m, d) BOOST_PP_REPEAT_2_46(m, d) m(3, 46, d)
-# define BOOST_PP_REPEAT_2_48(m, d) BOOST_PP_REPEAT_2_47(m, d) m(3, 47, d)
-# define BOOST_PP_REPEAT_2_49(m, d) BOOST_PP_REPEAT_2_48(m, d) m(3, 48, d)
-# define BOOST_PP_REPEAT_2_50(m, d) BOOST_PP_REPEAT_2_49(m, d) m(3, 49, d)
-# define BOOST_PP_REPEAT_2_51(m, d) BOOST_PP_REPEAT_2_50(m, d) m(3, 50, d)
-# define BOOST_PP_REPEAT_2_52(m, d) BOOST_PP_REPEAT_2_51(m, d) m(3, 51, d)
-# define BOOST_PP_REPEAT_2_53(m, d) BOOST_PP_REPEAT_2_52(m, d) m(3, 52, d)
-# define BOOST_PP_REPEAT_2_54(m, d) BOOST_PP_REPEAT_2_53(m, d) m(3, 53, d)
-# define BOOST_PP_REPEAT_2_55(m, d) BOOST_PP_REPEAT_2_54(m, d) m(3, 54, d)
-# define BOOST_PP_REPEAT_2_56(m, d) BOOST_PP_REPEAT_2_55(m, d) m(3, 55, d)
-# define BOOST_PP_REPEAT_2_57(m, d) BOOST_PP_REPEAT_2_56(m, d) m(3, 56, d)
-# define BOOST_PP_REPEAT_2_58(m, d) BOOST_PP_REPEAT_2_57(m, d) m(3, 57, d)
-# define BOOST_PP_REPEAT_2_59(m, d) BOOST_PP_REPEAT_2_58(m, d) m(3, 58, d)
-# define BOOST_PP_REPEAT_2_60(m, d) BOOST_PP_REPEAT_2_59(m, d) m(3, 59, d)
-# define BOOST_PP_REPEAT_2_61(m, d) BOOST_PP_REPEAT_2_60(m, d) m(3, 60, d)
-# define BOOST_PP_REPEAT_2_62(m, d) BOOST_PP_REPEAT_2_61(m, d) m(3, 61, d)
-# define BOOST_PP_REPEAT_2_63(m, d) BOOST_PP_REPEAT_2_62(m, d) m(3, 62, d)
-# define BOOST_PP_REPEAT_2_64(m, d) BOOST_PP_REPEAT_2_63(m, d) m(3, 63, d)
-# define BOOST_PP_REPEAT_2_65(m, d) BOOST_PP_REPEAT_2_64(m, d) m(3, 64, d)
-# define BOOST_PP_REPEAT_2_66(m, d) BOOST_PP_REPEAT_2_65(m, d) m(3, 65, d)
-# define BOOST_PP_REPEAT_2_67(m, d) BOOST_PP_REPEAT_2_66(m, d) m(3, 66, d)
-# define BOOST_PP_REPEAT_2_68(m, d) BOOST_PP_REPEAT_2_67(m, d) m(3, 67, d)
-# define BOOST_PP_REPEAT_2_69(m, d) BOOST_PP_REPEAT_2_68(m, d) m(3, 68, d)
-# define BOOST_PP_REPEAT_2_70(m, d) BOOST_PP_REPEAT_2_69(m, d) m(3, 69, d)
-# define BOOST_PP_REPEAT_2_71(m, d) BOOST_PP_REPEAT_2_70(m, d) m(3, 70, d)
-# define BOOST_PP_REPEAT_2_72(m, d) BOOST_PP_REPEAT_2_71(m, d) m(3, 71, d)
-# define BOOST_PP_REPEAT_2_73(m, d) BOOST_PP_REPEAT_2_72(m, d) m(3, 72, d)
-# define BOOST_PP_REPEAT_2_74(m, d) BOOST_PP_REPEAT_2_73(m, d) m(3, 73, d)
-# define BOOST_PP_REPEAT_2_75(m, d) BOOST_PP_REPEAT_2_74(m, d) m(3, 74, d)
-# define BOOST_PP_REPEAT_2_76(m, d) BOOST_PP_REPEAT_2_75(m, d) m(3, 75, d)
-# define BOOST_PP_REPEAT_2_77(m, d) BOOST_PP_REPEAT_2_76(m, d) m(3, 76, d)
-# define BOOST_PP_REPEAT_2_78(m, d) BOOST_PP_REPEAT_2_77(m, d) m(3, 77, d)
-# define BOOST_PP_REPEAT_2_79(m, d) BOOST_PP_REPEAT_2_78(m, d) m(3, 78, d)
-# define BOOST_PP_REPEAT_2_80(m, d) BOOST_PP_REPEAT_2_79(m, d) m(3, 79, d)
-# define BOOST_PP_REPEAT_2_81(m, d) BOOST_PP_REPEAT_2_80(m, d) m(3, 80, d)
-# define BOOST_PP_REPEAT_2_82(m, d) BOOST_PP_REPEAT_2_81(m, d) m(3, 81, d)
-# define BOOST_PP_REPEAT_2_83(m, d) BOOST_PP_REPEAT_2_82(m, d) m(3, 82, d)
-# define BOOST_PP_REPEAT_2_84(m, d) BOOST_PP_REPEAT_2_83(m, d) m(3, 83, d)
-# define BOOST_PP_REPEAT_2_85(m, d) BOOST_PP_REPEAT_2_84(m, d) m(3, 84, d)
-# define BOOST_PP_REPEAT_2_86(m, d) BOOST_PP_REPEAT_2_85(m, d) m(3, 85, d)
-# define BOOST_PP_REPEAT_2_87(m, d) BOOST_PP_REPEAT_2_86(m, d) m(3, 86, d)
-# define BOOST_PP_REPEAT_2_88(m, d) BOOST_PP_REPEAT_2_87(m, d) m(3, 87, d)
-# define BOOST_PP_REPEAT_2_89(m, d) BOOST_PP_REPEAT_2_88(m, d) m(3, 88, d)
-# define BOOST_PP_REPEAT_2_90(m, d) BOOST_PP_REPEAT_2_89(m, d) m(3, 89, d)
-# define BOOST_PP_REPEAT_2_91(m, d) BOOST_PP_REPEAT_2_90(m, d) m(3, 90, d)
-# define BOOST_PP_REPEAT_2_92(m, d) BOOST_PP_REPEAT_2_91(m, d) m(3, 91, d)
-# define BOOST_PP_REPEAT_2_93(m, d) BOOST_PP_REPEAT_2_92(m, d) m(3, 92, d)
-# define BOOST_PP_REPEAT_2_94(m, d) BOOST_PP_REPEAT_2_93(m, d) m(3, 93, d)
-# define BOOST_PP_REPEAT_2_95(m, d) BOOST_PP_REPEAT_2_94(m, d) m(3, 94, d)
-# define BOOST_PP_REPEAT_2_96(m, d) BOOST_PP_REPEAT_2_95(m, d) m(3, 95, d)
-# define BOOST_PP_REPEAT_2_97(m, d) BOOST_PP_REPEAT_2_96(m, d) m(3, 96, d)
-# define BOOST_PP_REPEAT_2_98(m, d) BOOST_PP_REPEAT_2_97(m, d) m(3, 97, d)
-# define BOOST_PP_REPEAT_2_99(m, d) BOOST_PP_REPEAT_2_98(m, d) m(3, 98, d)
-# define BOOST_PP_REPEAT_2_100(m, d) BOOST_PP_REPEAT_2_99(m, d) m(3, 99, d)
-# define BOOST_PP_REPEAT_2_101(m, d) BOOST_PP_REPEAT_2_100(m, d) m(3, 100, d)
-# define BOOST_PP_REPEAT_2_102(m, d) BOOST_PP_REPEAT_2_101(m, d) m(3, 101, d)
-# define BOOST_PP_REPEAT_2_103(m, d) BOOST_PP_REPEAT_2_102(m, d) m(3, 102, d)
-# define BOOST_PP_REPEAT_2_104(m, d) BOOST_PP_REPEAT_2_103(m, d) m(3, 103, d)
-# define BOOST_PP_REPEAT_2_105(m, d) BOOST_PP_REPEAT_2_104(m, d) m(3, 104, d)
-# define BOOST_PP_REPEAT_2_106(m, d) BOOST_PP_REPEAT_2_105(m, d) m(3, 105, d)
-# define BOOST_PP_REPEAT_2_107(m, d) BOOST_PP_REPEAT_2_106(m, d) m(3, 106, d)
-# define BOOST_PP_REPEAT_2_108(m, d) BOOST_PP_REPEAT_2_107(m, d) m(3, 107, d)
-# define BOOST_PP_REPEAT_2_109(m, d) BOOST_PP_REPEAT_2_108(m, d) m(3, 108, d)
-# define BOOST_PP_REPEAT_2_110(m, d) BOOST_PP_REPEAT_2_109(m, d) m(3, 109, d)
-# define BOOST_PP_REPEAT_2_111(m, d) BOOST_PP_REPEAT_2_110(m, d) m(3, 110, d)
-# define BOOST_PP_REPEAT_2_112(m, d) BOOST_PP_REPEAT_2_111(m, d) m(3, 111, d)
-# define BOOST_PP_REPEAT_2_113(m, d) BOOST_PP_REPEAT_2_112(m, d) m(3, 112, d)
-# define BOOST_PP_REPEAT_2_114(m, d) BOOST_PP_REPEAT_2_113(m, d) m(3, 113, d)
-# define BOOST_PP_REPEAT_2_115(m, d) BOOST_PP_REPEAT_2_114(m, d) m(3, 114, d)
-# define BOOST_PP_REPEAT_2_116(m, d) BOOST_PP_REPEAT_2_115(m, d) m(3, 115, d)
-# define BOOST_PP_REPEAT_2_117(m, d) BOOST_PP_REPEAT_2_116(m, d) m(3, 116, d)
-# define BOOST_PP_REPEAT_2_118(m, d) BOOST_PP_REPEAT_2_117(m, d) m(3, 117, d)
-# define BOOST_PP_REPEAT_2_119(m, d) BOOST_PP_REPEAT_2_118(m, d) m(3, 118, d)
-# define BOOST_PP_REPEAT_2_120(m, d) BOOST_PP_REPEAT_2_119(m, d) m(3, 119, d)
-# define BOOST_PP_REPEAT_2_121(m, d) BOOST_PP_REPEAT_2_120(m, d) m(3, 120, d)
-# define BOOST_PP_REPEAT_2_122(m, d) BOOST_PP_REPEAT_2_121(m, d) m(3, 121, d)
-# define BOOST_PP_REPEAT_2_123(m, d) BOOST_PP_REPEAT_2_122(m, d) m(3, 122, d)
-# define BOOST_PP_REPEAT_2_124(m, d) BOOST_PP_REPEAT_2_123(m, d) m(3, 123, d)
-# define BOOST_PP_REPEAT_2_125(m, d) BOOST_PP_REPEAT_2_124(m, d) m(3, 124, d)
-# define BOOST_PP_REPEAT_2_126(m, d) BOOST_PP_REPEAT_2_125(m, d) m(3, 125, d)
-# define BOOST_PP_REPEAT_2_127(m, d) BOOST_PP_REPEAT_2_126(m, d) m(3, 126, d)
-# define BOOST_PP_REPEAT_2_128(m, d) BOOST_PP_REPEAT_2_127(m, d) m(3, 127, d)
-# define BOOST_PP_REPEAT_2_129(m, d) BOOST_PP_REPEAT_2_128(m, d) m(3, 128, d)
-# define BOOST_PP_REPEAT_2_130(m, d) BOOST_PP_REPEAT_2_129(m, d) m(3, 129, d)
-# define BOOST_PP_REPEAT_2_131(m, d) BOOST_PP_REPEAT_2_130(m, d) m(3, 130, d)
-# define BOOST_PP_REPEAT_2_132(m, d) BOOST_PP_REPEAT_2_131(m, d) m(3, 131, d)
-# define BOOST_PP_REPEAT_2_133(m, d) BOOST_PP_REPEAT_2_132(m, d) m(3, 132, d)
-# define BOOST_PP_REPEAT_2_134(m, d) BOOST_PP_REPEAT_2_133(m, d) m(3, 133, d)
-# define BOOST_PP_REPEAT_2_135(m, d) BOOST_PP_REPEAT_2_134(m, d) m(3, 134, d)
-# define BOOST_PP_REPEAT_2_136(m, d) BOOST_PP_REPEAT_2_135(m, d) m(3, 135, d)
-# define BOOST_PP_REPEAT_2_137(m, d) BOOST_PP_REPEAT_2_136(m, d) m(3, 136, d)
-# define BOOST_PP_REPEAT_2_138(m, d) BOOST_PP_REPEAT_2_137(m, d) m(3, 137, d)
-# define BOOST_PP_REPEAT_2_139(m, d) BOOST_PP_REPEAT_2_138(m, d) m(3, 138, d)
-# define BOOST_PP_REPEAT_2_140(m, d) BOOST_PP_REPEAT_2_139(m, d) m(3, 139, d)
-# define BOOST_PP_REPEAT_2_141(m, d) BOOST_PP_REPEAT_2_140(m, d) m(3, 140, d)
-# define BOOST_PP_REPEAT_2_142(m, d) BOOST_PP_REPEAT_2_141(m, d) m(3, 141, d)
-# define BOOST_PP_REPEAT_2_143(m, d) BOOST_PP_REPEAT_2_142(m, d) m(3, 142, d)
-# define BOOST_PP_REPEAT_2_144(m, d) BOOST_PP_REPEAT_2_143(m, d) m(3, 143, d)
-# define BOOST_PP_REPEAT_2_145(m, d) BOOST_PP_REPEAT_2_144(m, d) m(3, 144, d)
-# define BOOST_PP_REPEAT_2_146(m, d) BOOST_PP_REPEAT_2_145(m, d) m(3, 145, d)
-# define BOOST_PP_REPEAT_2_147(m, d) BOOST_PP_REPEAT_2_146(m, d) m(3, 146, d)
-# define BOOST_PP_REPEAT_2_148(m, d) BOOST_PP_REPEAT_2_147(m, d) m(3, 147, d)
-# define BOOST_PP_REPEAT_2_149(m, d) BOOST_PP_REPEAT_2_148(m, d) m(3, 148, d)
-# define BOOST_PP_REPEAT_2_150(m, d) BOOST_PP_REPEAT_2_149(m, d) m(3, 149, d)
-# define BOOST_PP_REPEAT_2_151(m, d) BOOST_PP_REPEAT_2_150(m, d) m(3, 150, d)
-# define BOOST_PP_REPEAT_2_152(m, d) BOOST_PP_REPEAT_2_151(m, d) m(3, 151, d)
-# define BOOST_PP_REPEAT_2_153(m, d) BOOST_PP_REPEAT_2_152(m, d) m(3, 152, d)
-# define BOOST_PP_REPEAT_2_154(m, d) BOOST_PP_REPEAT_2_153(m, d) m(3, 153, d)
-# define BOOST_PP_REPEAT_2_155(m, d) BOOST_PP_REPEAT_2_154(m, d) m(3, 154, d)
-# define BOOST_PP_REPEAT_2_156(m, d) BOOST_PP_REPEAT_2_155(m, d) m(3, 155, d)
-# define BOOST_PP_REPEAT_2_157(m, d) BOOST_PP_REPEAT_2_156(m, d) m(3, 156, d)
-# define BOOST_PP_REPEAT_2_158(m, d) BOOST_PP_REPEAT_2_157(m, d) m(3, 157, d)
-# define BOOST_PP_REPEAT_2_159(m, d) BOOST_PP_REPEAT_2_158(m, d) m(3, 158, d)
-# define BOOST_PP_REPEAT_2_160(m, d) BOOST_PP_REPEAT_2_159(m, d) m(3, 159, d)
-# define BOOST_PP_REPEAT_2_161(m, d) BOOST_PP_REPEAT_2_160(m, d) m(3, 160, d)
-# define BOOST_PP_REPEAT_2_162(m, d) BOOST_PP_REPEAT_2_161(m, d) m(3, 161, d)
-# define BOOST_PP_REPEAT_2_163(m, d) BOOST_PP_REPEAT_2_162(m, d) m(3, 162, d)
-# define BOOST_PP_REPEAT_2_164(m, d) BOOST_PP_REPEAT_2_163(m, d) m(3, 163, d)
-# define BOOST_PP_REPEAT_2_165(m, d) BOOST_PP_REPEAT_2_164(m, d) m(3, 164, d)
-# define BOOST_PP_REPEAT_2_166(m, d) BOOST_PP_REPEAT_2_165(m, d) m(3, 165, d)
-# define BOOST_PP_REPEAT_2_167(m, d) BOOST_PP_REPEAT_2_166(m, d) m(3, 166, d)
-# define BOOST_PP_REPEAT_2_168(m, d) BOOST_PP_REPEAT_2_167(m, d) m(3, 167, d)
-# define BOOST_PP_REPEAT_2_169(m, d) BOOST_PP_REPEAT_2_168(m, d) m(3, 168, d)
-# define BOOST_PP_REPEAT_2_170(m, d) BOOST_PP_REPEAT_2_169(m, d) m(3, 169, d)
-# define BOOST_PP_REPEAT_2_171(m, d) BOOST_PP_REPEAT_2_170(m, d) m(3, 170, d)
-# define BOOST_PP_REPEAT_2_172(m, d) BOOST_PP_REPEAT_2_171(m, d) m(3, 171, d)
-# define BOOST_PP_REPEAT_2_173(m, d) BOOST_PP_REPEAT_2_172(m, d) m(3, 172, d)
-# define BOOST_PP_REPEAT_2_174(m, d) BOOST_PP_REPEAT_2_173(m, d) m(3, 173, d)
-# define BOOST_PP_REPEAT_2_175(m, d) BOOST_PP_REPEAT_2_174(m, d) m(3, 174, d)
-# define BOOST_PP_REPEAT_2_176(m, d) BOOST_PP_REPEAT_2_175(m, d) m(3, 175, d)
-# define BOOST_PP_REPEAT_2_177(m, d) BOOST_PP_REPEAT_2_176(m, d) m(3, 176, d)
-# define BOOST_PP_REPEAT_2_178(m, d) BOOST_PP_REPEAT_2_177(m, d) m(3, 177, d)
-# define BOOST_PP_REPEAT_2_179(m, d) BOOST_PP_REPEAT_2_178(m, d) m(3, 178, d)
-# define BOOST_PP_REPEAT_2_180(m, d) BOOST_PP_REPEAT_2_179(m, d) m(3, 179, d)
-# define BOOST_PP_REPEAT_2_181(m, d) BOOST_PP_REPEAT_2_180(m, d) m(3, 180, d)
-# define BOOST_PP_REPEAT_2_182(m, d) BOOST_PP_REPEAT_2_181(m, d) m(3, 181, d)
-# define BOOST_PP_REPEAT_2_183(m, d) BOOST_PP_REPEAT_2_182(m, d) m(3, 182, d)
-# define BOOST_PP_REPEAT_2_184(m, d) BOOST_PP_REPEAT_2_183(m, d) m(3, 183, d)
-# define BOOST_PP_REPEAT_2_185(m, d) BOOST_PP_REPEAT_2_184(m, d) m(3, 184, d)
-# define BOOST_PP_REPEAT_2_186(m, d) BOOST_PP_REPEAT_2_185(m, d) m(3, 185, d)
-# define BOOST_PP_REPEAT_2_187(m, d) BOOST_PP_REPEAT_2_186(m, d) m(3, 186, d)
-# define BOOST_PP_REPEAT_2_188(m, d) BOOST_PP_REPEAT_2_187(m, d) m(3, 187, d)
-# define BOOST_PP_REPEAT_2_189(m, d) BOOST_PP_REPEAT_2_188(m, d) m(3, 188, d)
-# define BOOST_PP_REPEAT_2_190(m, d) BOOST_PP_REPEAT_2_189(m, d) m(3, 189, d)
-# define BOOST_PP_REPEAT_2_191(m, d) BOOST_PP_REPEAT_2_190(m, d) m(3, 190, d)
-# define BOOST_PP_REPEAT_2_192(m, d) BOOST_PP_REPEAT_2_191(m, d) m(3, 191, d)
-# define BOOST_PP_REPEAT_2_193(m, d) BOOST_PP_REPEAT_2_192(m, d) m(3, 192, d)
-# define BOOST_PP_REPEAT_2_194(m, d) BOOST_PP_REPEAT_2_193(m, d) m(3, 193, d)
-# define BOOST_PP_REPEAT_2_195(m, d) BOOST_PP_REPEAT_2_194(m, d) m(3, 194, d)
-# define BOOST_PP_REPEAT_2_196(m, d) BOOST_PP_REPEAT_2_195(m, d) m(3, 195, d)
-# define BOOST_PP_REPEAT_2_197(m, d) BOOST_PP_REPEAT_2_196(m, d) m(3, 196, d)
-# define BOOST_PP_REPEAT_2_198(m, d) BOOST_PP_REPEAT_2_197(m, d) m(3, 197, d)
-# define BOOST_PP_REPEAT_2_199(m, d) BOOST_PP_REPEAT_2_198(m, d) m(3, 198, d)
-# define BOOST_PP_REPEAT_2_200(m, d) BOOST_PP_REPEAT_2_199(m, d) m(3, 199, d)
-# define BOOST_PP_REPEAT_2_201(m, d) BOOST_PP_REPEAT_2_200(m, d) m(3, 200, d)
-# define BOOST_PP_REPEAT_2_202(m, d) BOOST_PP_REPEAT_2_201(m, d) m(3, 201, d)
-# define BOOST_PP_REPEAT_2_203(m, d) BOOST_PP_REPEAT_2_202(m, d) m(3, 202, d)
-# define BOOST_PP_REPEAT_2_204(m, d) BOOST_PP_REPEAT_2_203(m, d) m(3, 203, d)
-# define BOOST_PP_REPEAT_2_205(m, d) BOOST_PP_REPEAT_2_204(m, d) m(3, 204, d)
-# define BOOST_PP_REPEAT_2_206(m, d) BOOST_PP_REPEAT_2_205(m, d) m(3, 205, d)
-# define BOOST_PP_REPEAT_2_207(m, d) BOOST_PP_REPEAT_2_206(m, d) m(3, 206, d)
-# define BOOST_PP_REPEAT_2_208(m, d) BOOST_PP_REPEAT_2_207(m, d) m(3, 207, d)
-# define BOOST_PP_REPEAT_2_209(m, d) BOOST_PP_REPEAT_2_208(m, d) m(3, 208, d)
-# define BOOST_PP_REPEAT_2_210(m, d) BOOST_PP_REPEAT_2_209(m, d) m(3, 209, d)
-# define BOOST_PP_REPEAT_2_211(m, d) BOOST_PP_REPEAT_2_210(m, d) m(3, 210, d)
-# define BOOST_PP_REPEAT_2_212(m, d) BOOST_PP_REPEAT_2_211(m, d) m(3, 211, d)
-# define BOOST_PP_REPEAT_2_213(m, d) BOOST_PP_REPEAT_2_212(m, d) m(3, 212, d)
-# define BOOST_PP_REPEAT_2_214(m, d) BOOST_PP_REPEAT_2_213(m, d) m(3, 213, d)
-# define BOOST_PP_REPEAT_2_215(m, d) BOOST_PP_REPEAT_2_214(m, d) m(3, 214, d)
-# define BOOST_PP_REPEAT_2_216(m, d) BOOST_PP_REPEAT_2_215(m, d) m(3, 215, d)
-# define BOOST_PP_REPEAT_2_217(m, d) BOOST_PP_REPEAT_2_216(m, d) m(3, 216, d)
-# define BOOST_PP_REPEAT_2_218(m, d) BOOST_PP_REPEAT_2_217(m, d) m(3, 217, d)
-# define BOOST_PP_REPEAT_2_219(m, d) BOOST_PP_REPEAT_2_218(m, d) m(3, 218, d)
-# define BOOST_PP_REPEAT_2_220(m, d) BOOST_PP_REPEAT_2_219(m, d) m(3, 219, d)
-# define BOOST_PP_REPEAT_2_221(m, d) BOOST_PP_REPEAT_2_220(m, d) m(3, 220, d)
-# define BOOST_PP_REPEAT_2_222(m, d) BOOST_PP_REPEAT_2_221(m, d) m(3, 221, d)
-# define BOOST_PP_REPEAT_2_223(m, d) BOOST_PP_REPEAT_2_222(m, d) m(3, 222, d)
-# define BOOST_PP_REPEAT_2_224(m, d) BOOST_PP_REPEAT_2_223(m, d) m(3, 223, d)
-# define BOOST_PP_REPEAT_2_225(m, d) BOOST_PP_REPEAT_2_224(m, d) m(3, 224, d)
-# define BOOST_PP_REPEAT_2_226(m, d) BOOST_PP_REPEAT_2_225(m, d) m(3, 225, d)
-# define BOOST_PP_REPEAT_2_227(m, d) BOOST_PP_REPEAT_2_226(m, d) m(3, 226, d)
-# define BOOST_PP_REPEAT_2_228(m, d) BOOST_PP_REPEAT_2_227(m, d) m(3, 227, d)
-# define BOOST_PP_REPEAT_2_229(m, d) BOOST_PP_REPEAT_2_228(m, d) m(3, 228, d)
-# define BOOST_PP_REPEAT_2_230(m, d) BOOST_PP_REPEAT_2_229(m, d) m(3, 229, d)
-# define BOOST_PP_REPEAT_2_231(m, d) BOOST_PP_REPEAT_2_230(m, d) m(3, 230, d)
-# define BOOST_PP_REPEAT_2_232(m, d) BOOST_PP_REPEAT_2_231(m, d) m(3, 231, d)
-# define BOOST_PP_REPEAT_2_233(m, d) BOOST_PP_REPEAT_2_232(m, d) m(3, 232, d)
-# define BOOST_PP_REPEAT_2_234(m, d) BOOST_PP_REPEAT_2_233(m, d) m(3, 233, d)
-# define BOOST_PP_REPEAT_2_235(m, d) BOOST_PP_REPEAT_2_234(m, d) m(3, 234, d)
-# define BOOST_PP_REPEAT_2_236(m, d) BOOST_PP_REPEAT_2_235(m, d) m(3, 235, d)
-# define BOOST_PP_REPEAT_2_237(m, d) BOOST_PP_REPEAT_2_236(m, d) m(3, 236, d)
-# define BOOST_PP_REPEAT_2_238(m, d) BOOST_PP_REPEAT_2_237(m, d) m(3, 237, d)
-# define BOOST_PP_REPEAT_2_239(m, d) BOOST_PP_REPEAT_2_238(m, d) m(3, 238, d)
-# define BOOST_PP_REPEAT_2_240(m, d) BOOST_PP_REPEAT_2_239(m, d) m(3, 239, d)
-# define BOOST_PP_REPEAT_2_241(m, d) BOOST_PP_REPEAT_2_240(m, d) m(3, 240, d)
-# define BOOST_PP_REPEAT_2_242(m, d) BOOST_PP_REPEAT_2_241(m, d) m(3, 241, d)
-# define BOOST_PP_REPEAT_2_243(m, d) BOOST_PP_REPEAT_2_242(m, d) m(3, 242, d)
-# define BOOST_PP_REPEAT_2_244(m, d) BOOST_PP_REPEAT_2_243(m, d) m(3, 243, d)
-# define BOOST_PP_REPEAT_2_245(m, d) BOOST_PP_REPEAT_2_244(m, d) m(3, 244, d)
-# define BOOST_PP_REPEAT_2_246(m, d) BOOST_PP_REPEAT_2_245(m, d) m(3, 245, d)
-# define BOOST_PP_REPEAT_2_247(m, d) BOOST_PP_REPEAT_2_246(m, d) m(3, 246, d)
-# define BOOST_PP_REPEAT_2_248(m, d) BOOST_PP_REPEAT_2_247(m, d) m(3, 247, d)
-# define BOOST_PP_REPEAT_2_249(m, d) BOOST_PP_REPEAT_2_248(m, d) m(3, 248, d)
-# define BOOST_PP_REPEAT_2_250(m, d) BOOST_PP_REPEAT_2_249(m, d) m(3, 249, d)
-# define BOOST_PP_REPEAT_2_251(m, d) BOOST_PP_REPEAT_2_250(m, d) m(3, 250, d)
-# define BOOST_PP_REPEAT_2_252(m, d) BOOST_PP_REPEAT_2_251(m, d) m(3, 251, d)
-# define BOOST_PP_REPEAT_2_253(m, d) BOOST_PP_REPEAT_2_252(m, d) m(3, 252, d)
-# define BOOST_PP_REPEAT_2_254(m, d) BOOST_PP_REPEAT_2_253(m, d) m(3, 253, d)
-# define BOOST_PP_REPEAT_2_255(m, d) BOOST_PP_REPEAT_2_254(m, d) m(3, 254, d)
-# define BOOST_PP_REPEAT_2_256(m, d) BOOST_PP_REPEAT_2_255(m, d) m(3, 255, d)
+# define NDNBOOST_PP_REPEAT_2_0(m, d)
+# define NDNBOOST_PP_REPEAT_2_1(m, d) m(3, 0, d)
+# define NDNBOOST_PP_REPEAT_2_2(m, d) NDNBOOST_PP_REPEAT_2_1(m, d) m(3, 1, d)
+# define NDNBOOST_PP_REPEAT_2_3(m, d) NDNBOOST_PP_REPEAT_2_2(m, d) m(3, 2, d)
+# define NDNBOOST_PP_REPEAT_2_4(m, d) NDNBOOST_PP_REPEAT_2_3(m, d) m(3, 3, d)
+# define NDNBOOST_PP_REPEAT_2_5(m, d) NDNBOOST_PP_REPEAT_2_4(m, d) m(3, 4, d)
+# define NDNBOOST_PP_REPEAT_2_6(m, d) NDNBOOST_PP_REPEAT_2_5(m, d) m(3, 5, d)
+# define NDNBOOST_PP_REPEAT_2_7(m, d) NDNBOOST_PP_REPEAT_2_6(m, d) m(3, 6, d)
+# define NDNBOOST_PP_REPEAT_2_8(m, d) NDNBOOST_PP_REPEAT_2_7(m, d) m(3, 7, d)
+# define NDNBOOST_PP_REPEAT_2_9(m, d) NDNBOOST_PP_REPEAT_2_8(m, d) m(3, 8, d)
+# define NDNBOOST_PP_REPEAT_2_10(m, d) NDNBOOST_PP_REPEAT_2_9(m, d) m(3, 9, d)
+# define NDNBOOST_PP_REPEAT_2_11(m, d) NDNBOOST_PP_REPEAT_2_10(m, d) m(3, 10, d)
+# define NDNBOOST_PP_REPEAT_2_12(m, d) NDNBOOST_PP_REPEAT_2_11(m, d) m(3, 11, d)
+# define NDNBOOST_PP_REPEAT_2_13(m, d) NDNBOOST_PP_REPEAT_2_12(m, d) m(3, 12, d)
+# define NDNBOOST_PP_REPEAT_2_14(m, d) NDNBOOST_PP_REPEAT_2_13(m, d) m(3, 13, d)
+# define NDNBOOST_PP_REPEAT_2_15(m, d) NDNBOOST_PP_REPEAT_2_14(m, d) m(3, 14, d)
+# define NDNBOOST_PP_REPEAT_2_16(m, d) NDNBOOST_PP_REPEAT_2_15(m, d) m(3, 15, d)
+# define NDNBOOST_PP_REPEAT_2_17(m, d) NDNBOOST_PP_REPEAT_2_16(m, d) m(3, 16, d)
+# define NDNBOOST_PP_REPEAT_2_18(m, d) NDNBOOST_PP_REPEAT_2_17(m, d) m(3, 17, d)
+# define NDNBOOST_PP_REPEAT_2_19(m, d) NDNBOOST_PP_REPEAT_2_18(m, d) m(3, 18, d)
+# define NDNBOOST_PP_REPEAT_2_20(m, d) NDNBOOST_PP_REPEAT_2_19(m, d) m(3, 19, d)
+# define NDNBOOST_PP_REPEAT_2_21(m, d) NDNBOOST_PP_REPEAT_2_20(m, d) m(3, 20, d)
+# define NDNBOOST_PP_REPEAT_2_22(m, d) NDNBOOST_PP_REPEAT_2_21(m, d) m(3, 21, d)
+# define NDNBOOST_PP_REPEAT_2_23(m, d) NDNBOOST_PP_REPEAT_2_22(m, d) m(3, 22, d)
+# define NDNBOOST_PP_REPEAT_2_24(m, d) NDNBOOST_PP_REPEAT_2_23(m, d) m(3, 23, d)
+# define NDNBOOST_PP_REPEAT_2_25(m, d) NDNBOOST_PP_REPEAT_2_24(m, d) m(3, 24, d)
+# define NDNBOOST_PP_REPEAT_2_26(m, d) NDNBOOST_PP_REPEAT_2_25(m, d) m(3, 25, d)
+# define NDNBOOST_PP_REPEAT_2_27(m, d) NDNBOOST_PP_REPEAT_2_26(m, d) m(3, 26, d)
+# define NDNBOOST_PP_REPEAT_2_28(m, d) NDNBOOST_PP_REPEAT_2_27(m, d) m(3, 27, d)
+# define NDNBOOST_PP_REPEAT_2_29(m, d) NDNBOOST_PP_REPEAT_2_28(m, d) m(3, 28, d)
+# define NDNBOOST_PP_REPEAT_2_30(m, d) NDNBOOST_PP_REPEAT_2_29(m, d) m(3, 29, d)
+# define NDNBOOST_PP_REPEAT_2_31(m, d) NDNBOOST_PP_REPEAT_2_30(m, d) m(3, 30, d)
+# define NDNBOOST_PP_REPEAT_2_32(m, d) NDNBOOST_PP_REPEAT_2_31(m, d) m(3, 31, d)
+# define NDNBOOST_PP_REPEAT_2_33(m, d) NDNBOOST_PP_REPEAT_2_32(m, d) m(3, 32, d)
+# define NDNBOOST_PP_REPEAT_2_34(m, d) NDNBOOST_PP_REPEAT_2_33(m, d) m(3, 33, d)
+# define NDNBOOST_PP_REPEAT_2_35(m, d) NDNBOOST_PP_REPEAT_2_34(m, d) m(3, 34, d)
+# define NDNBOOST_PP_REPEAT_2_36(m, d) NDNBOOST_PP_REPEAT_2_35(m, d) m(3, 35, d)
+# define NDNBOOST_PP_REPEAT_2_37(m, d) NDNBOOST_PP_REPEAT_2_36(m, d) m(3, 36, d)
+# define NDNBOOST_PP_REPEAT_2_38(m, d) NDNBOOST_PP_REPEAT_2_37(m, d) m(3, 37, d)
+# define NDNBOOST_PP_REPEAT_2_39(m, d) NDNBOOST_PP_REPEAT_2_38(m, d) m(3, 38, d)
+# define NDNBOOST_PP_REPEAT_2_40(m, d) NDNBOOST_PP_REPEAT_2_39(m, d) m(3, 39, d)
+# define NDNBOOST_PP_REPEAT_2_41(m, d) NDNBOOST_PP_REPEAT_2_40(m, d) m(3, 40, d)
+# define NDNBOOST_PP_REPEAT_2_42(m, d) NDNBOOST_PP_REPEAT_2_41(m, d) m(3, 41, d)
+# define NDNBOOST_PP_REPEAT_2_43(m, d) NDNBOOST_PP_REPEAT_2_42(m, d) m(3, 42, d)
+# define NDNBOOST_PP_REPEAT_2_44(m, d) NDNBOOST_PP_REPEAT_2_43(m, d) m(3, 43, d)
+# define NDNBOOST_PP_REPEAT_2_45(m, d) NDNBOOST_PP_REPEAT_2_44(m, d) m(3, 44, d)
+# define NDNBOOST_PP_REPEAT_2_46(m, d) NDNBOOST_PP_REPEAT_2_45(m, d) m(3, 45, d)
+# define NDNBOOST_PP_REPEAT_2_47(m, d) NDNBOOST_PP_REPEAT_2_46(m, d) m(3, 46, d)
+# define NDNBOOST_PP_REPEAT_2_48(m, d) NDNBOOST_PP_REPEAT_2_47(m, d) m(3, 47, d)
+# define NDNBOOST_PP_REPEAT_2_49(m, d) NDNBOOST_PP_REPEAT_2_48(m, d) m(3, 48, d)
+# define NDNBOOST_PP_REPEAT_2_50(m, d) NDNBOOST_PP_REPEAT_2_49(m, d) m(3, 49, d)
+# define NDNBOOST_PP_REPEAT_2_51(m, d) NDNBOOST_PP_REPEAT_2_50(m, d) m(3, 50, d)
+# define NDNBOOST_PP_REPEAT_2_52(m, d) NDNBOOST_PP_REPEAT_2_51(m, d) m(3, 51, d)
+# define NDNBOOST_PP_REPEAT_2_53(m, d) NDNBOOST_PP_REPEAT_2_52(m, d) m(3, 52, d)
+# define NDNBOOST_PP_REPEAT_2_54(m, d) NDNBOOST_PP_REPEAT_2_53(m, d) m(3, 53, d)
+# define NDNBOOST_PP_REPEAT_2_55(m, d) NDNBOOST_PP_REPEAT_2_54(m, d) m(3, 54, d)
+# define NDNBOOST_PP_REPEAT_2_56(m, d) NDNBOOST_PP_REPEAT_2_55(m, d) m(3, 55, d)
+# define NDNBOOST_PP_REPEAT_2_57(m, d) NDNBOOST_PP_REPEAT_2_56(m, d) m(3, 56, d)
+# define NDNBOOST_PP_REPEAT_2_58(m, d) NDNBOOST_PP_REPEAT_2_57(m, d) m(3, 57, d)
+# define NDNBOOST_PP_REPEAT_2_59(m, d) NDNBOOST_PP_REPEAT_2_58(m, d) m(3, 58, d)
+# define NDNBOOST_PP_REPEAT_2_60(m, d) NDNBOOST_PP_REPEAT_2_59(m, d) m(3, 59, d)
+# define NDNBOOST_PP_REPEAT_2_61(m, d) NDNBOOST_PP_REPEAT_2_60(m, d) m(3, 60, d)
+# define NDNBOOST_PP_REPEAT_2_62(m, d) NDNBOOST_PP_REPEAT_2_61(m, d) m(3, 61, d)
+# define NDNBOOST_PP_REPEAT_2_63(m, d) NDNBOOST_PP_REPEAT_2_62(m, d) m(3, 62, d)
+# define NDNBOOST_PP_REPEAT_2_64(m, d) NDNBOOST_PP_REPEAT_2_63(m, d) m(3, 63, d)
+# define NDNBOOST_PP_REPEAT_2_65(m, d) NDNBOOST_PP_REPEAT_2_64(m, d) m(3, 64, d)
+# define NDNBOOST_PP_REPEAT_2_66(m, d) NDNBOOST_PP_REPEAT_2_65(m, d) m(3, 65, d)
+# define NDNBOOST_PP_REPEAT_2_67(m, d) NDNBOOST_PP_REPEAT_2_66(m, d) m(3, 66, d)
+# define NDNBOOST_PP_REPEAT_2_68(m, d) NDNBOOST_PP_REPEAT_2_67(m, d) m(3, 67, d)
+# define NDNBOOST_PP_REPEAT_2_69(m, d) NDNBOOST_PP_REPEAT_2_68(m, d) m(3, 68, d)
+# define NDNBOOST_PP_REPEAT_2_70(m, d) NDNBOOST_PP_REPEAT_2_69(m, d) m(3, 69, d)
+# define NDNBOOST_PP_REPEAT_2_71(m, d) NDNBOOST_PP_REPEAT_2_70(m, d) m(3, 70, d)
+# define NDNBOOST_PP_REPEAT_2_72(m, d) NDNBOOST_PP_REPEAT_2_71(m, d) m(3, 71, d)
+# define NDNBOOST_PP_REPEAT_2_73(m, d) NDNBOOST_PP_REPEAT_2_72(m, d) m(3, 72, d)
+# define NDNBOOST_PP_REPEAT_2_74(m, d) NDNBOOST_PP_REPEAT_2_73(m, d) m(3, 73, d)
+# define NDNBOOST_PP_REPEAT_2_75(m, d) NDNBOOST_PP_REPEAT_2_74(m, d) m(3, 74, d)
+# define NDNBOOST_PP_REPEAT_2_76(m, d) NDNBOOST_PP_REPEAT_2_75(m, d) m(3, 75, d)
+# define NDNBOOST_PP_REPEAT_2_77(m, d) NDNBOOST_PP_REPEAT_2_76(m, d) m(3, 76, d)
+# define NDNBOOST_PP_REPEAT_2_78(m, d) NDNBOOST_PP_REPEAT_2_77(m, d) m(3, 77, d)
+# define NDNBOOST_PP_REPEAT_2_79(m, d) NDNBOOST_PP_REPEAT_2_78(m, d) m(3, 78, d)
+# define NDNBOOST_PP_REPEAT_2_80(m, d) NDNBOOST_PP_REPEAT_2_79(m, d) m(3, 79, d)
+# define NDNBOOST_PP_REPEAT_2_81(m, d) NDNBOOST_PP_REPEAT_2_80(m, d) m(3, 80, d)
+# define NDNBOOST_PP_REPEAT_2_82(m, d) NDNBOOST_PP_REPEAT_2_81(m, d) m(3, 81, d)
+# define NDNBOOST_PP_REPEAT_2_83(m, d) NDNBOOST_PP_REPEAT_2_82(m, d) m(3, 82, d)
+# define NDNBOOST_PP_REPEAT_2_84(m, d) NDNBOOST_PP_REPEAT_2_83(m, d) m(3, 83, d)
+# define NDNBOOST_PP_REPEAT_2_85(m, d) NDNBOOST_PP_REPEAT_2_84(m, d) m(3, 84, d)
+# define NDNBOOST_PP_REPEAT_2_86(m, d) NDNBOOST_PP_REPEAT_2_85(m, d) m(3, 85, d)
+# define NDNBOOST_PP_REPEAT_2_87(m, d) NDNBOOST_PP_REPEAT_2_86(m, d) m(3, 86, d)
+# define NDNBOOST_PP_REPEAT_2_88(m, d) NDNBOOST_PP_REPEAT_2_87(m, d) m(3, 87, d)
+# define NDNBOOST_PP_REPEAT_2_89(m, d) NDNBOOST_PP_REPEAT_2_88(m, d) m(3, 88, d)
+# define NDNBOOST_PP_REPEAT_2_90(m, d) NDNBOOST_PP_REPEAT_2_89(m, d) m(3, 89, d)
+# define NDNBOOST_PP_REPEAT_2_91(m, d) NDNBOOST_PP_REPEAT_2_90(m, d) m(3, 90, d)
+# define NDNBOOST_PP_REPEAT_2_92(m, d) NDNBOOST_PP_REPEAT_2_91(m, d) m(3, 91, d)
+# define NDNBOOST_PP_REPEAT_2_93(m, d) NDNBOOST_PP_REPEAT_2_92(m, d) m(3, 92, d)
+# define NDNBOOST_PP_REPEAT_2_94(m, d) NDNBOOST_PP_REPEAT_2_93(m, d) m(3, 93, d)
+# define NDNBOOST_PP_REPEAT_2_95(m, d) NDNBOOST_PP_REPEAT_2_94(m, d) m(3, 94, d)
+# define NDNBOOST_PP_REPEAT_2_96(m, d) NDNBOOST_PP_REPEAT_2_95(m, d) m(3, 95, d)
+# define NDNBOOST_PP_REPEAT_2_97(m, d) NDNBOOST_PP_REPEAT_2_96(m, d) m(3, 96, d)
+# define NDNBOOST_PP_REPEAT_2_98(m, d) NDNBOOST_PP_REPEAT_2_97(m, d) m(3, 97, d)
+# define NDNBOOST_PP_REPEAT_2_99(m, d) NDNBOOST_PP_REPEAT_2_98(m, d) m(3, 98, d)
+# define NDNBOOST_PP_REPEAT_2_100(m, d) NDNBOOST_PP_REPEAT_2_99(m, d) m(3, 99, d)
+# define NDNBOOST_PP_REPEAT_2_101(m, d) NDNBOOST_PP_REPEAT_2_100(m, d) m(3, 100, d)
+# define NDNBOOST_PP_REPEAT_2_102(m, d) NDNBOOST_PP_REPEAT_2_101(m, d) m(3, 101, d)
+# define NDNBOOST_PP_REPEAT_2_103(m, d) NDNBOOST_PP_REPEAT_2_102(m, d) m(3, 102, d)
+# define NDNBOOST_PP_REPEAT_2_104(m, d) NDNBOOST_PP_REPEAT_2_103(m, d) m(3, 103, d)
+# define NDNBOOST_PP_REPEAT_2_105(m, d) NDNBOOST_PP_REPEAT_2_104(m, d) m(3, 104, d)
+# define NDNBOOST_PP_REPEAT_2_106(m, d) NDNBOOST_PP_REPEAT_2_105(m, d) m(3, 105, d)
+# define NDNBOOST_PP_REPEAT_2_107(m, d) NDNBOOST_PP_REPEAT_2_106(m, d) m(3, 106, d)
+# define NDNBOOST_PP_REPEAT_2_108(m, d) NDNBOOST_PP_REPEAT_2_107(m, d) m(3, 107, d)
+# define NDNBOOST_PP_REPEAT_2_109(m, d) NDNBOOST_PP_REPEAT_2_108(m, d) m(3, 108, d)
+# define NDNBOOST_PP_REPEAT_2_110(m, d) NDNBOOST_PP_REPEAT_2_109(m, d) m(3, 109, d)
+# define NDNBOOST_PP_REPEAT_2_111(m, d) NDNBOOST_PP_REPEAT_2_110(m, d) m(3, 110, d)
+# define NDNBOOST_PP_REPEAT_2_112(m, d) NDNBOOST_PP_REPEAT_2_111(m, d) m(3, 111, d)
+# define NDNBOOST_PP_REPEAT_2_113(m, d) NDNBOOST_PP_REPEAT_2_112(m, d) m(3, 112, d)
+# define NDNBOOST_PP_REPEAT_2_114(m, d) NDNBOOST_PP_REPEAT_2_113(m, d) m(3, 113, d)
+# define NDNBOOST_PP_REPEAT_2_115(m, d) NDNBOOST_PP_REPEAT_2_114(m, d) m(3, 114, d)
+# define NDNBOOST_PP_REPEAT_2_116(m, d) NDNBOOST_PP_REPEAT_2_115(m, d) m(3, 115, d)
+# define NDNBOOST_PP_REPEAT_2_117(m, d) NDNBOOST_PP_REPEAT_2_116(m, d) m(3, 116, d)
+# define NDNBOOST_PP_REPEAT_2_118(m, d) NDNBOOST_PP_REPEAT_2_117(m, d) m(3, 117, d)
+# define NDNBOOST_PP_REPEAT_2_119(m, d) NDNBOOST_PP_REPEAT_2_118(m, d) m(3, 118, d)
+# define NDNBOOST_PP_REPEAT_2_120(m, d) NDNBOOST_PP_REPEAT_2_119(m, d) m(3, 119, d)
+# define NDNBOOST_PP_REPEAT_2_121(m, d) NDNBOOST_PP_REPEAT_2_120(m, d) m(3, 120, d)
+# define NDNBOOST_PP_REPEAT_2_122(m, d) NDNBOOST_PP_REPEAT_2_121(m, d) m(3, 121, d)
+# define NDNBOOST_PP_REPEAT_2_123(m, d) NDNBOOST_PP_REPEAT_2_122(m, d) m(3, 122, d)
+# define NDNBOOST_PP_REPEAT_2_124(m, d) NDNBOOST_PP_REPEAT_2_123(m, d) m(3, 123, d)
+# define NDNBOOST_PP_REPEAT_2_125(m, d) NDNBOOST_PP_REPEAT_2_124(m, d) m(3, 124, d)
+# define NDNBOOST_PP_REPEAT_2_126(m, d) NDNBOOST_PP_REPEAT_2_125(m, d) m(3, 125, d)
+# define NDNBOOST_PP_REPEAT_2_127(m, d) NDNBOOST_PP_REPEAT_2_126(m, d) m(3, 126, d)
+# define NDNBOOST_PP_REPEAT_2_128(m, d) NDNBOOST_PP_REPEAT_2_127(m, d) m(3, 127, d)
+# define NDNBOOST_PP_REPEAT_2_129(m, d) NDNBOOST_PP_REPEAT_2_128(m, d) m(3, 128, d)
+# define NDNBOOST_PP_REPEAT_2_130(m, d) NDNBOOST_PP_REPEAT_2_129(m, d) m(3, 129, d)
+# define NDNBOOST_PP_REPEAT_2_131(m, d) NDNBOOST_PP_REPEAT_2_130(m, d) m(3, 130, d)
+# define NDNBOOST_PP_REPEAT_2_132(m, d) NDNBOOST_PP_REPEAT_2_131(m, d) m(3, 131, d)
+# define NDNBOOST_PP_REPEAT_2_133(m, d) NDNBOOST_PP_REPEAT_2_132(m, d) m(3, 132, d)
+# define NDNBOOST_PP_REPEAT_2_134(m, d) NDNBOOST_PP_REPEAT_2_133(m, d) m(3, 133, d)
+# define NDNBOOST_PP_REPEAT_2_135(m, d) NDNBOOST_PP_REPEAT_2_134(m, d) m(3, 134, d)
+# define NDNBOOST_PP_REPEAT_2_136(m, d) NDNBOOST_PP_REPEAT_2_135(m, d) m(3, 135, d)
+# define NDNBOOST_PP_REPEAT_2_137(m, d) NDNBOOST_PP_REPEAT_2_136(m, d) m(3, 136, d)
+# define NDNBOOST_PP_REPEAT_2_138(m, d) NDNBOOST_PP_REPEAT_2_137(m, d) m(3, 137, d)
+# define NDNBOOST_PP_REPEAT_2_139(m, d) NDNBOOST_PP_REPEAT_2_138(m, d) m(3, 138, d)
+# define NDNBOOST_PP_REPEAT_2_140(m, d) NDNBOOST_PP_REPEAT_2_139(m, d) m(3, 139, d)
+# define NDNBOOST_PP_REPEAT_2_141(m, d) NDNBOOST_PP_REPEAT_2_140(m, d) m(3, 140, d)
+# define NDNBOOST_PP_REPEAT_2_142(m, d) NDNBOOST_PP_REPEAT_2_141(m, d) m(3, 141, d)
+# define NDNBOOST_PP_REPEAT_2_143(m, d) NDNBOOST_PP_REPEAT_2_142(m, d) m(3, 142, d)
+# define NDNBOOST_PP_REPEAT_2_144(m, d) NDNBOOST_PP_REPEAT_2_143(m, d) m(3, 143, d)
+# define NDNBOOST_PP_REPEAT_2_145(m, d) NDNBOOST_PP_REPEAT_2_144(m, d) m(3, 144, d)
+# define NDNBOOST_PP_REPEAT_2_146(m, d) NDNBOOST_PP_REPEAT_2_145(m, d) m(3, 145, d)
+# define NDNBOOST_PP_REPEAT_2_147(m, d) NDNBOOST_PP_REPEAT_2_146(m, d) m(3, 146, d)
+# define NDNBOOST_PP_REPEAT_2_148(m, d) NDNBOOST_PP_REPEAT_2_147(m, d) m(3, 147, d)
+# define NDNBOOST_PP_REPEAT_2_149(m, d) NDNBOOST_PP_REPEAT_2_148(m, d) m(3, 148, d)
+# define NDNBOOST_PP_REPEAT_2_150(m, d) NDNBOOST_PP_REPEAT_2_149(m, d) m(3, 149, d)
+# define NDNBOOST_PP_REPEAT_2_151(m, d) NDNBOOST_PP_REPEAT_2_150(m, d) m(3, 150, d)
+# define NDNBOOST_PP_REPEAT_2_152(m, d) NDNBOOST_PP_REPEAT_2_151(m, d) m(3, 151, d)
+# define NDNBOOST_PP_REPEAT_2_153(m, d) NDNBOOST_PP_REPEAT_2_152(m, d) m(3, 152, d)
+# define NDNBOOST_PP_REPEAT_2_154(m, d) NDNBOOST_PP_REPEAT_2_153(m, d) m(3, 153, d)
+# define NDNBOOST_PP_REPEAT_2_155(m, d) NDNBOOST_PP_REPEAT_2_154(m, d) m(3, 154, d)
+# define NDNBOOST_PP_REPEAT_2_156(m, d) NDNBOOST_PP_REPEAT_2_155(m, d) m(3, 155, d)
+# define NDNBOOST_PP_REPEAT_2_157(m, d) NDNBOOST_PP_REPEAT_2_156(m, d) m(3, 156, d)
+# define NDNBOOST_PP_REPEAT_2_158(m, d) NDNBOOST_PP_REPEAT_2_157(m, d) m(3, 157, d)
+# define NDNBOOST_PP_REPEAT_2_159(m, d) NDNBOOST_PP_REPEAT_2_158(m, d) m(3, 158, d)
+# define NDNBOOST_PP_REPEAT_2_160(m, d) NDNBOOST_PP_REPEAT_2_159(m, d) m(3, 159, d)
+# define NDNBOOST_PP_REPEAT_2_161(m, d) NDNBOOST_PP_REPEAT_2_160(m, d) m(3, 160, d)
+# define NDNBOOST_PP_REPEAT_2_162(m, d) NDNBOOST_PP_REPEAT_2_161(m, d) m(3, 161, d)
+# define NDNBOOST_PP_REPEAT_2_163(m, d) NDNBOOST_PP_REPEAT_2_162(m, d) m(3, 162, d)
+# define NDNBOOST_PP_REPEAT_2_164(m, d) NDNBOOST_PP_REPEAT_2_163(m, d) m(3, 163, d)
+# define NDNBOOST_PP_REPEAT_2_165(m, d) NDNBOOST_PP_REPEAT_2_164(m, d) m(3, 164, d)
+# define NDNBOOST_PP_REPEAT_2_166(m, d) NDNBOOST_PP_REPEAT_2_165(m, d) m(3, 165, d)
+# define NDNBOOST_PP_REPEAT_2_167(m, d) NDNBOOST_PP_REPEAT_2_166(m, d) m(3, 166, d)
+# define NDNBOOST_PP_REPEAT_2_168(m, d) NDNBOOST_PP_REPEAT_2_167(m, d) m(3, 167, d)
+# define NDNBOOST_PP_REPEAT_2_169(m, d) NDNBOOST_PP_REPEAT_2_168(m, d) m(3, 168, d)
+# define NDNBOOST_PP_REPEAT_2_170(m, d) NDNBOOST_PP_REPEAT_2_169(m, d) m(3, 169, d)
+# define NDNBOOST_PP_REPEAT_2_171(m, d) NDNBOOST_PP_REPEAT_2_170(m, d) m(3, 170, d)
+# define NDNBOOST_PP_REPEAT_2_172(m, d) NDNBOOST_PP_REPEAT_2_171(m, d) m(3, 171, d)
+# define NDNBOOST_PP_REPEAT_2_173(m, d) NDNBOOST_PP_REPEAT_2_172(m, d) m(3, 172, d)
+# define NDNBOOST_PP_REPEAT_2_174(m, d) NDNBOOST_PP_REPEAT_2_173(m, d) m(3, 173, d)
+# define NDNBOOST_PP_REPEAT_2_175(m, d) NDNBOOST_PP_REPEAT_2_174(m, d) m(3, 174, d)
+# define NDNBOOST_PP_REPEAT_2_176(m, d) NDNBOOST_PP_REPEAT_2_175(m, d) m(3, 175, d)
+# define NDNBOOST_PP_REPEAT_2_177(m, d) NDNBOOST_PP_REPEAT_2_176(m, d) m(3, 176, d)
+# define NDNBOOST_PP_REPEAT_2_178(m, d) NDNBOOST_PP_REPEAT_2_177(m, d) m(3, 177, d)
+# define NDNBOOST_PP_REPEAT_2_179(m, d) NDNBOOST_PP_REPEAT_2_178(m, d) m(3, 178, d)
+# define NDNBOOST_PP_REPEAT_2_180(m, d) NDNBOOST_PP_REPEAT_2_179(m, d) m(3, 179, d)
+# define NDNBOOST_PP_REPEAT_2_181(m, d) NDNBOOST_PP_REPEAT_2_180(m, d) m(3, 180, d)
+# define NDNBOOST_PP_REPEAT_2_182(m, d) NDNBOOST_PP_REPEAT_2_181(m, d) m(3, 181, d)
+# define NDNBOOST_PP_REPEAT_2_183(m, d) NDNBOOST_PP_REPEAT_2_182(m, d) m(3, 182, d)
+# define NDNBOOST_PP_REPEAT_2_184(m, d) NDNBOOST_PP_REPEAT_2_183(m, d) m(3, 183, d)
+# define NDNBOOST_PP_REPEAT_2_185(m, d) NDNBOOST_PP_REPEAT_2_184(m, d) m(3, 184, d)
+# define NDNBOOST_PP_REPEAT_2_186(m, d) NDNBOOST_PP_REPEAT_2_185(m, d) m(3, 185, d)
+# define NDNBOOST_PP_REPEAT_2_187(m, d) NDNBOOST_PP_REPEAT_2_186(m, d) m(3, 186, d)
+# define NDNBOOST_PP_REPEAT_2_188(m, d) NDNBOOST_PP_REPEAT_2_187(m, d) m(3, 187, d)
+# define NDNBOOST_PP_REPEAT_2_189(m, d) NDNBOOST_PP_REPEAT_2_188(m, d) m(3, 188, d)
+# define NDNBOOST_PP_REPEAT_2_190(m, d) NDNBOOST_PP_REPEAT_2_189(m, d) m(3, 189, d)
+# define NDNBOOST_PP_REPEAT_2_191(m, d) NDNBOOST_PP_REPEAT_2_190(m, d) m(3, 190, d)
+# define NDNBOOST_PP_REPEAT_2_192(m, d) NDNBOOST_PP_REPEAT_2_191(m, d) m(3, 191, d)
+# define NDNBOOST_PP_REPEAT_2_193(m, d) NDNBOOST_PP_REPEAT_2_192(m, d) m(3, 192, d)
+# define NDNBOOST_PP_REPEAT_2_194(m, d) NDNBOOST_PP_REPEAT_2_193(m, d) m(3, 193, d)
+# define NDNBOOST_PP_REPEAT_2_195(m, d) NDNBOOST_PP_REPEAT_2_194(m, d) m(3, 194, d)
+# define NDNBOOST_PP_REPEAT_2_196(m, d) NDNBOOST_PP_REPEAT_2_195(m, d) m(3, 195, d)
+# define NDNBOOST_PP_REPEAT_2_197(m, d) NDNBOOST_PP_REPEAT_2_196(m, d) m(3, 196, d)
+# define NDNBOOST_PP_REPEAT_2_198(m, d) NDNBOOST_PP_REPEAT_2_197(m, d) m(3, 197, d)
+# define NDNBOOST_PP_REPEAT_2_199(m, d) NDNBOOST_PP_REPEAT_2_198(m, d) m(3, 198, d)
+# define NDNBOOST_PP_REPEAT_2_200(m, d) NDNBOOST_PP_REPEAT_2_199(m, d) m(3, 199, d)
+# define NDNBOOST_PP_REPEAT_2_201(m, d) NDNBOOST_PP_REPEAT_2_200(m, d) m(3, 200, d)
+# define NDNBOOST_PP_REPEAT_2_202(m, d) NDNBOOST_PP_REPEAT_2_201(m, d) m(3, 201, d)
+# define NDNBOOST_PP_REPEAT_2_203(m, d) NDNBOOST_PP_REPEAT_2_202(m, d) m(3, 202, d)
+# define NDNBOOST_PP_REPEAT_2_204(m, d) NDNBOOST_PP_REPEAT_2_203(m, d) m(3, 203, d)
+# define NDNBOOST_PP_REPEAT_2_205(m, d) NDNBOOST_PP_REPEAT_2_204(m, d) m(3, 204, d)
+# define NDNBOOST_PP_REPEAT_2_206(m, d) NDNBOOST_PP_REPEAT_2_205(m, d) m(3, 205, d)
+# define NDNBOOST_PP_REPEAT_2_207(m, d) NDNBOOST_PP_REPEAT_2_206(m, d) m(3, 206, d)
+# define NDNBOOST_PP_REPEAT_2_208(m, d) NDNBOOST_PP_REPEAT_2_207(m, d) m(3, 207, d)
+# define NDNBOOST_PP_REPEAT_2_209(m, d) NDNBOOST_PP_REPEAT_2_208(m, d) m(3, 208, d)
+# define NDNBOOST_PP_REPEAT_2_210(m, d) NDNBOOST_PP_REPEAT_2_209(m, d) m(3, 209, d)
+# define NDNBOOST_PP_REPEAT_2_211(m, d) NDNBOOST_PP_REPEAT_2_210(m, d) m(3, 210, d)
+# define NDNBOOST_PP_REPEAT_2_212(m, d) NDNBOOST_PP_REPEAT_2_211(m, d) m(3, 211, d)
+# define NDNBOOST_PP_REPEAT_2_213(m, d) NDNBOOST_PP_REPEAT_2_212(m, d) m(3, 212, d)
+# define NDNBOOST_PP_REPEAT_2_214(m, d) NDNBOOST_PP_REPEAT_2_213(m, d) m(3, 213, d)
+# define NDNBOOST_PP_REPEAT_2_215(m, d) NDNBOOST_PP_REPEAT_2_214(m, d) m(3, 214, d)
+# define NDNBOOST_PP_REPEAT_2_216(m, d) NDNBOOST_PP_REPEAT_2_215(m, d) m(3, 215, d)
+# define NDNBOOST_PP_REPEAT_2_217(m, d) NDNBOOST_PP_REPEAT_2_216(m, d) m(3, 216, d)
+# define NDNBOOST_PP_REPEAT_2_218(m, d) NDNBOOST_PP_REPEAT_2_217(m, d) m(3, 217, d)
+# define NDNBOOST_PP_REPEAT_2_219(m, d) NDNBOOST_PP_REPEAT_2_218(m, d) m(3, 218, d)
+# define NDNBOOST_PP_REPEAT_2_220(m, d) NDNBOOST_PP_REPEAT_2_219(m, d) m(3, 219, d)
+# define NDNBOOST_PP_REPEAT_2_221(m, d) NDNBOOST_PP_REPEAT_2_220(m, d) m(3, 220, d)
+# define NDNBOOST_PP_REPEAT_2_222(m, d) NDNBOOST_PP_REPEAT_2_221(m, d) m(3, 221, d)
+# define NDNBOOST_PP_REPEAT_2_223(m, d) NDNBOOST_PP_REPEAT_2_222(m, d) m(3, 222, d)
+# define NDNBOOST_PP_REPEAT_2_224(m, d) NDNBOOST_PP_REPEAT_2_223(m, d) m(3, 223, d)
+# define NDNBOOST_PP_REPEAT_2_225(m, d) NDNBOOST_PP_REPEAT_2_224(m, d) m(3, 224, d)
+# define NDNBOOST_PP_REPEAT_2_226(m, d) NDNBOOST_PP_REPEAT_2_225(m, d) m(3, 225, d)
+# define NDNBOOST_PP_REPEAT_2_227(m, d) NDNBOOST_PP_REPEAT_2_226(m, d) m(3, 226, d)
+# define NDNBOOST_PP_REPEAT_2_228(m, d) NDNBOOST_PP_REPEAT_2_227(m, d) m(3, 227, d)
+# define NDNBOOST_PP_REPEAT_2_229(m, d) NDNBOOST_PP_REPEAT_2_228(m, d) m(3, 228, d)
+# define NDNBOOST_PP_REPEAT_2_230(m, d) NDNBOOST_PP_REPEAT_2_229(m, d) m(3, 229, d)
+# define NDNBOOST_PP_REPEAT_2_231(m, d) NDNBOOST_PP_REPEAT_2_230(m, d) m(3, 230, d)
+# define NDNBOOST_PP_REPEAT_2_232(m, d) NDNBOOST_PP_REPEAT_2_231(m, d) m(3, 231, d)
+# define NDNBOOST_PP_REPEAT_2_233(m, d) NDNBOOST_PP_REPEAT_2_232(m, d) m(3, 232, d)
+# define NDNBOOST_PP_REPEAT_2_234(m, d) NDNBOOST_PP_REPEAT_2_233(m, d) m(3, 233, d)
+# define NDNBOOST_PP_REPEAT_2_235(m, d) NDNBOOST_PP_REPEAT_2_234(m, d) m(3, 234, d)
+# define NDNBOOST_PP_REPEAT_2_236(m, d) NDNBOOST_PP_REPEAT_2_235(m, d) m(3, 235, d)
+# define NDNBOOST_PP_REPEAT_2_237(m, d) NDNBOOST_PP_REPEAT_2_236(m, d) m(3, 236, d)
+# define NDNBOOST_PP_REPEAT_2_238(m, d) NDNBOOST_PP_REPEAT_2_237(m, d) m(3, 237, d)
+# define NDNBOOST_PP_REPEAT_2_239(m, d) NDNBOOST_PP_REPEAT_2_238(m, d) m(3, 238, d)
+# define NDNBOOST_PP_REPEAT_2_240(m, d) NDNBOOST_PP_REPEAT_2_239(m, d) m(3, 239, d)
+# define NDNBOOST_PP_REPEAT_2_241(m, d) NDNBOOST_PP_REPEAT_2_240(m, d) m(3, 240, d)
+# define NDNBOOST_PP_REPEAT_2_242(m, d) NDNBOOST_PP_REPEAT_2_241(m, d) m(3, 241, d)
+# define NDNBOOST_PP_REPEAT_2_243(m, d) NDNBOOST_PP_REPEAT_2_242(m, d) m(3, 242, d)
+# define NDNBOOST_PP_REPEAT_2_244(m, d) NDNBOOST_PP_REPEAT_2_243(m, d) m(3, 243, d)
+# define NDNBOOST_PP_REPEAT_2_245(m, d) NDNBOOST_PP_REPEAT_2_244(m, d) m(3, 244, d)
+# define NDNBOOST_PP_REPEAT_2_246(m, d) NDNBOOST_PP_REPEAT_2_245(m, d) m(3, 245, d)
+# define NDNBOOST_PP_REPEAT_2_247(m, d) NDNBOOST_PP_REPEAT_2_246(m, d) m(3, 246, d)
+# define NDNBOOST_PP_REPEAT_2_248(m, d) NDNBOOST_PP_REPEAT_2_247(m, d) m(3, 247, d)
+# define NDNBOOST_PP_REPEAT_2_249(m, d) NDNBOOST_PP_REPEAT_2_248(m, d) m(3, 248, d)
+# define NDNBOOST_PP_REPEAT_2_250(m, d) NDNBOOST_PP_REPEAT_2_249(m, d) m(3, 249, d)
+# define NDNBOOST_PP_REPEAT_2_251(m, d) NDNBOOST_PP_REPEAT_2_250(m, d) m(3, 250, d)
+# define NDNBOOST_PP_REPEAT_2_252(m, d) NDNBOOST_PP_REPEAT_2_251(m, d) m(3, 251, d)
+# define NDNBOOST_PP_REPEAT_2_253(m, d) NDNBOOST_PP_REPEAT_2_252(m, d) m(3, 252, d)
+# define NDNBOOST_PP_REPEAT_2_254(m, d) NDNBOOST_PP_REPEAT_2_253(m, d) m(3, 253, d)
+# define NDNBOOST_PP_REPEAT_2_255(m, d) NDNBOOST_PP_REPEAT_2_254(m, d) m(3, 254, d)
+# define NDNBOOST_PP_REPEAT_2_256(m, d) NDNBOOST_PP_REPEAT_2_255(m, d) m(3, 255, d)
 #
-# define BOOST_PP_REPEAT_3_0(m, d)
-# define BOOST_PP_REPEAT_3_1(m, d) m(4, 0, d)
-# define BOOST_PP_REPEAT_3_2(m, d) BOOST_PP_REPEAT_3_1(m, d) m(4, 1, d)
-# define BOOST_PP_REPEAT_3_3(m, d) BOOST_PP_REPEAT_3_2(m, d) m(4, 2, d)
-# define BOOST_PP_REPEAT_3_4(m, d) BOOST_PP_REPEAT_3_3(m, d) m(4, 3, d)
-# define BOOST_PP_REPEAT_3_5(m, d) BOOST_PP_REPEAT_3_4(m, d) m(4, 4, d)
-# define BOOST_PP_REPEAT_3_6(m, d) BOOST_PP_REPEAT_3_5(m, d) m(4, 5, d)
-# define BOOST_PP_REPEAT_3_7(m, d) BOOST_PP_REPEAT_3_6(m, d) m(4, 6, d)
-# define BOOST_PP_REPEAT_3_8(m, d) BOOST_PP_REPEAT_3_7(m, d) m(4, 7, d)
-# define BOOST_PP_REPEAT_3_9(m, d) BOOST_PP_REPEAT_3_8(m, d) m(4, 8, d)
-# define BOOST_PP_REPEAT_3_10(m, d) BOOST_PP_REPEAT_3_9(m, d) m(4, 9, d)
-# define BOOST_PP_REPEAT_3_11(m, d) BOOST_PP_REPEAT_3_10(m, d) m(4, 10, d)
-# define BOOST_PP_REPEAT_3_12(m, d) BOOST_PP_REPEAT_3_11(m, d) m(4, 11, d)
-# define BOOST_PP_REPEAT_3_13(m, d) BOOST_PP_REPEAT_3_12(m, d) m(4, 12, d)
-# define BOOST_PP_REPEAT_3_14(m, d) BOOST_PP_REPEAT_3_13(m, d) m(4, 13, d)
-# define BOOST_PP_REPEAT_3_15(m, d) BOOST_PP_REPEAT_3_14(m, d) m(4, 14, d)
-# define BOOST_PP_REPEAT_3_16(m, d) BOOST_PP_REPEAT_3_15(m, d) m(4, 15, d)
-# define BOOST_PP_REPEAT_3_17(m, d) BOOST_PP_REPEAT_3_16(m, d) m(4, 16, d)
-# define BOOST_PP_REPEAT_3_18(m, d) BOOST_PP_REPEAT_3_17(m, d) m(4, 17, d)
-# define BOOST_PP_REPEAT_3_19(m, d) BOOST_PP_REPEAT_3_18(m, d) m(4, 18, d)
-# define BOOST_PP_REPEAT_3_20(m, d) BOOST_PP_REPEAT_3_19(m, d) m(4, 19, d)
-# define BOOST_PP_REPEAT_3_21(m, d) BOOST_PP_REPEAT_3_20(m, d) m(4, 20, d)
-# define BOOST_PP_REPEAT_3_22(m, d) BOOST_PP_REPEAT_3_21(m, d) m(4, 21, d)
-# define BOOST_PP_REPEAT_3_23(m, d) BOOST_PP_REPEAT_3_22(m, d) m(4, 22, d)
-# define BOOST_PP_REPEAT_3_24(m, d) BOOST_PP_REPEAT_3_23(m, d) m(4, 23, d)
-# define BOOST_PP_REPEAT_3_25(m, d) BOOST_PP_REPEAT_3_24(m, d) m(4, 24, d)
-# define BOOST_PP_REPEAT_3_26(m, d) BOOST_PP_REPEAT_3_25(m, d) m(4, 25, d)
-# define BOOST_PP_REPEAT_3_27(m, d) BOOST_PP_REPEAT_3_26(m, d) m(4, 26, d)
-# define BOOST_PP_REPEAT_3_28(m, d) BOOST_PP_REPEAT_3_27(m, d) m(4, 27, d)
-# define BOOST_PP_REPEAT_3_29(m, d) BOOST_PP_REPEAT_3_28(m, d) m(4, 28, d)
-# define BOOST_PP_REPEAT_3_30(m, d) BOOST_PP_REPEAT_3_29(m, d) m(4, 29, d)
-# define BOOST_PP_REPEAT_3_31(m, d) BOOST_PP_REPEAT_3_30(m, d) m(4, 30, d)
-# define BOOST_PP_REPEAT_3_32(m, d) BOOST_PP_REPEAT_3_31(m, d) m(4, 31, d)
-# define BOOST_PP_REPEAT_3_33(m, d) BOOST_PP_REPEAT_3_32(m, d) m(4, 32, d)
-# define BOOST_PP_REPEAT_3_34(m, d) BOOST_PP_REPEAT_3_33(m, d) m(4, 33, d)
-# define BOOST_PP_REPEAT_3_35(m, d) BOOST_PP_REPEAT_3_34(m, d) m(4, 34, d)
-# define BOOST_PP_REPEAT_3_36(m, d) BOOST_PP_REPEAT_3_35(m, d) m(4, 35, d)
-# define BOOST_PP_REPEAT_3_37(m, d) BOOST_PP_REPEAT_3_36(m, d) m(4, 36, d)
-# define BOOST_PP_REPEAT_3_38(m, d) BOOST_PP_REPEAT_3_37(m, d) m(4, 37, d)
-# define BOOST_PP_REPEAT_3_39(m, d) BOOST_PP_REPEAT_3_38(m, d) m(4, 38, d)
-# define BOOST_PP_REPEAT_3_40(m, d) BOOST_PP_REPEAT_3_39(m, d) m(4, 39, d)
-# define BOOST_PP_REPEAT_3_41(m, d) BOOST_PP_REPEAT_3_40(m, d) m(4, 40, d)
-# define BOOST_PP_REPEAT_3_42(m, d) BOOST_PP_REPEAT_3_41(m, d) m(4, 41, d)
-# define BOOST_PP_REPEAT_3_43(m, d) BOOST_PP_REPEAT_3_42(m, d) m(4, 42, d)
-# define BOOST_PP_REPEAT_3_44(m, d) BOOST_PP_REPEAT_3_43(m, d) m(4, 43, d)
-# define BOOST_PP_REPEAT_3_45(m, d) BOOST_PP_REPEAT_3_44(m, d) m(4, 44, d)
-# define BOOST_PP_REPEAT_3_46(m, d) BOOST_PP_REPEAT_3_45(m, d) m(4, 45, d)
-# define BOOST_PP_REPEAT_3_47(m, d) BOOST_PP_REPEAT_3_46(m, d) m(4, 46, d)
-# define BOOST_PP_REPEAT_3_48(m, d) BOOST_PP_REPEAT_3_47(m, d) m(4, 47, d)
-# define BOOST_PP_REPEAT_3_49(m, d) BOOST_PP_REPEAT_3_48(m, d) m(4, 48, d)
-# define BOOST_PP_REPEAT_3_50(m, d) BOOST_PP_REPEAT_3_49(m, d) m(4, 49, d)
-# define BOOST_PP_REPEAT_3_51(m, d) BOOST_PP_REPEAT_3_50(m, d) m(4, 50, d)
-# define BOOST_PP_REPEAT_3_52(m, d) BOOST_PP_REPEAT_3_51(m, d) m(4, 51, d)
-# define BOOST_PP_REPEAT_3_53(m, d) BOOST_PP_REPEAT_3_52(m, d) m(4, 52, d)
-# define BOOST_PP_REPEAT_3_54(m, d) BOOST_PP_REPEAT_3_53(m, d) m(4, 53, d)
-# define BOOST_PP_REPEAT_3_55(m, d) BOOST_PP_REPEAT_3_54(m, d) m(4, 54, d)
-# define BOOST_PP_REPEAT_3_56(m, d) BOOST_PP_REPEAT_3_55(m, d) m(4, 55, d)
-# define BOOST_PP_REPEAT_3_57(m, d) BOOST_PP_REPEAT_3_56(m, d) m(4, 56, d)
-# define BOOST_PP_REPEAT_3_58(m, d) BOOST_PP_REPEAT_3_57(m, d) m(4, 57, d)
-# define BOOST_PP_REPEAT_3_59(m, d) BOOST_PP_REPEAT_3_58(m, d) m(4, 58, d)
-# define BOOST_PP_REPEAT_3_60(m, d) BOOST_PP_REPEAT_3_59(m, d) m(4, 59, d)
-# define BOOST_PP_REPEAT_3_61(m, d) BOOST_PP_REPEAT_3_60(m, d) m(4, 60, d)
-# define BOOST_PP_REPEAT_3_62(m, d) BOOST_PP_REPEAT_3_61(m, d) m(4, 61, d)
-# define BOOST_PP_REPEAT_3_63(m, d) BOOST_PP_REPEAT_3_62(m, d) m(4, 62, d)
-# define BOOST_PP_REPEAT_3_64(m, d) BOOST_PP_REPEAT_3_63(m, d) m(4, 63, d)
-# define BOOST_PP_REPEAT_3_65(m, d) BOOST_PP_REPEAT_3_64(m, d) m(4, 64, d)
-# define BOOST_PP_REPEAT_3_66(m, d) BOOST_PP_REPEAT_3_65(m, d) m(4, 65, d)
-# define BOOST_PP_REPEAT_3_67(m, d) BOOST_PP_REPEAT_3_66(m, d) m(4, 66, d)
-# define BOOST_PP_REPEAT_3_68(m, d) BOOST_PP_REPEAT_3_67(m, d) m(4, 67, d)
-# define BOOST_PP_REPEAT_3_69(m, d) BOOST_PP_REPEAT_3_68(m, d) m(4, 68, d)
-# define BOOST_PP_REPEAT_3_70(m, d) BOOST_PP_REPEAT_3_69(m, d) m(4, 69, d)
-# define BOOST_PP_REPEAT_3_71(m, d) BOOST_PP_REPEAT_3_70(m, d) m(4, 70, d)
-# define BOOST_PP_REPEAT_3_72(m, d) BOOST_PP_REPEAT_3_71(m, d) m(4, 71, d)
-# define BOOST_PP_REPEAT_3_73(m, d) BOOST_PP_REPEAT_3_72(m, d) m(4, 72, d)
-# define BOOST_PP_REPEAT_3_74(m, d) BOOST_PP_REPEAT_3_73(m, d) m(4, 73, d)
-# define BOOST_PP_REPEAT_3_75(m, d) BOOST_PP_REPEAT_3_74(m, d) m(4, 74, d)
-# define BOOST_PP_REPEAT_3_76(m, d) BOOST_PP_REPEAT_3_75(m, d) m(4, 75, d)
-# define BOOST_PP_REPEAT_3_77(m, d) BOOST_PP_REPEAT_3_76(m, d) m(4, 76, d)
-# define BOOST_PP_REPEAT_3_78(m, d) BOOST_PP_REPEAT_3_77(m, d) m(4, 77, d)
-# define BOOST_PP_REPEAT_3_79(m, d) BOOST_PP_REPEAT_3_78(m, d) m(4, 78, d)
-# define BOOST_PP_REPEAT_3_80(m, d) BOOST_PP_REPEAT_3_79(m, d) m(4, 79, d)
-# define BOOST_PP_REPEAT_3_81(m, d) BOOST_PP_REPEAT_3_80(m, d) m(4, 80, d)
-# define BOOST_PP_REPEAT_3_82(m, d) BOOST_PP_REPEAT_3_81(m, d) m(4, 81, d)
-# define BOOST_PP_REPEAT_3_83(m, d) BOOST_PP_REPEAT_3_82(m, d) m(4, 82, d)
-# define BOOST_PP_REPEAT_3_84(m, d) BOOST_PP_REPEAT_3_83(m, d) m(4, 83, d)
-# define BOOST_PP_REPEAT_3_85(m, d) BOOST_PP_REPEAT_3_84(m, d) m(4, 84, d)
-# define BOOST_PP_REPEAT_3_86(m, d) BOOST_PP_REPEAT_3_85(m, d) m(4, 85, d)
-# define BOOST_PP_REPEAT_3_87(m, d) BOOST_PP_REPEAT_3_86(m, d) m(4, 86, d)
-# define BOOST_PP_REPEAT_3_88(m, d) BOOST_PP_REPEAT_3_87(m, d) m(4, 87, d)
-# define BOOST_PP_REPEAT_3_89(m, d) BOOST_PP_REPEAT_3_88(m, d) m(4, 88, d)
-# define BOOST_PP_REPEAT_3_90(m, d) BOOST_PP_REPEAT_3_89(m, d) m(4, 89, d)
-# define BOOST_PP_REPEAT_3_91(m, d) BOOST_PP_REPEAT_3_90(m, d) m(4, 90, d)
-# define BOOST_PP_REPEAT_3_92(m, d) BOOST_PP_REPEAT_3_91(m, d) m(4, 91, d)
-# define BOOST_PP_REPEAT_3_93(m, d) BOOST_PP_REPEAT_3_92(m, d) m(4, 92, d)
-# define BOOST_PP_REPEAT_3_94(m, d) BOOST_PP_REPEAT_3_93(m, d) m(4, 93, d)
-# define BOOST_PP_REPEAT_3_95(m, d) BOOST_PP_REPEAT_3_94(m, d) m(4, 94, d)
-# define BOOST_PP_REPEAT_3_96(m, d) BOOST_PP_REPEAT_3_95(m, d) m(4, 95, d)
-# define BOOST_PP_REPEAT_3_97(m, d) BOOST_PP_REPEAT_3_96(m, d) m(4, 96, d)
-# define BOOST_PP_REPEAT_3_98(m, d) BOOST_PP_REPEAT_3_97(m, d) m(4, 97, d)
-# define BOOST_PP_REPEAT_3_99(m, d) BOOST_PP_REPEAT_3_98(m, d) m(4, 98, d)
-# define BOOST_PP_REPEAT_3_100(m, d) BOOST_PP_REPEAT_3_99(m, d) m(4, 99, d)
-# define BOOST_PP_REPEAT_3_101(m, d) BOOST_PP_REPEAT_3_100(m, d) m(4, 100, d)
-# define BOOST_PP_REPEAT_3_102(m, d) BOOST_PP_REPEAT_3_101(m, d) m(4, 101, d)
-# define BOOST_PP_REPEAT_3_103(m, d) BOOST_PP_REPEAT_3_102(m, d) m(4, 102, d)
-# define BOOST_PP_REPEAT_3_104(m, d) BOOST_PP_REPEAT_3_103(m, d) m(4, 103, d)
-# define BOOST_PP_REPEAT_3_105(m, d) BOOST_PP_REPEAT_3_104(m, d) m(4, 104, d)
-# define BOOST_PP_REPEAT_3_106(m, d) BOOST_PP_REPEAT_3_105(m, d) m(4, 105, d)
-# define BOOST_PP_REPEAT_3_107(m, d) BOOST_PP_REPEAT_3_106(m, d) m(4, 106, d)
-# define BOOST_PP_REPEAT_3_108(m, d) BOOST_PP_REPEAT_3_107(m, d) m(4, 107, d)
-# define BOOST_PP_REPEAT_3_109(m, d) BOOST_PP_REPEAT_3_108(m, d) m(4, 108, d)
-# define BOOST_PP_REPEAT_3_110(m, d) BOOST_PP_REPEAT_3_109(m, d) m(4, 109, d)
-# define BOOST_PP_REPEAT_3_111(m, d) BOOST_PP_REPEAT_3_110(m, d) m(4, 110, d)
-# define BOOST_PP_REPEAT_3_112(m, d) BOOST_PP_REPEAT_3_111(m, d) m(4, 111, d)
-# define BOOST_PP_REPEAT_3_113(m, d) BOOST_PP_REPEAT_3_112(m, d) m(4, 112, d)
-# define BOOST_PP_REPEAT_3_114(m, d) BOOST_PP_REPEAT_3_113(m, d) m(4, 113, d)
-# define BOOST_PP_REPEAT_3_115(m, d) BOOST_PP_REPEAT_3_114(m, d) m(4, 114, d)
-# define BOOST_PP_REPEAT_3_116(m, d) BOOST_PP_REPEAT_3_115(m, d) m(4, 115, d)
-# define BOOST_PP_REPEAT_3_117(m, d) BOOST_PP_REPEAT_3_116(m, d) m(4, 116, d)
-# define BOOST_PP_REPEAT_3_118(m, d) BOOST_PP_REPEAT_3_117(m, d) m(4, 117, d)
-# define BOOST_PP_REPEAT_3_119(m, d) BOOST_PP_REPEAT_3_118(m, d) m(4, 118, d)
-# define BOOST_PP_REPEAT_3_120(m, d) BOOST_PP_REPEAT_3_119(m, d) m(4, 119, d)
-# define BOOST_PP_REPEAT_3_121(m, d) BOOST_PP_REPEAT_3_120(m, d) m(4, 120, d)
-# define BOOST_PP_REPEAT_3_122(m, d) BOOST_PP_REPEAT_3_121(m, d) m(4, 121, d)
-# define BOOST_PP_REPEAT_3_123(m, d) BOOST_PP_REPEAT_3_122(m, d) m(4, 122, d)
-# define BOOST_PP_REPEAT_3_124(m, d) BOOST_PP_REPEAT_3_123(m, d) m(4, 123, d)
-# define BOOST_PP_REPEAT_3_125(m, d) BOOST_PP_REPEAT_3_124(m, d) m(4, 124, d)
-# define BOOST_PP_REPEAT_3_126(m, d) BOOST_PP_REPEAT_3_125(m, d) m(4, 125, d)
-# define BOOST_PP_REPEAT_3_127(m, d) BOOST_PP_REPEAT_3_126(m, d) m(4, 126, d)
-# define BOOST_PP_REPEAT_3_128(m, d) BOOST_PP_REPEAT_3_127(m, d) m(4, 127, d)
-# define BOOST_PP_REPEAT_3_129(m, d) BOOST_PP_REPEAT_3_128(m, d) m(4, 128, d)
-# define BOOST_PP_REPEAT_3_130(m, d) BOOST_PP_REPEAT_3_129(m, d) m(4, 129, d)
-# define BOOST_PP_REPEAT_3_131(m, d) BOOST_PP_REPEAT_3_130(m, d) m(4, 130, d)
-# define BOOST_PP_REPEAT_3_132(m, d) BOOST_PP_REPEAT_3_131(m, d) m(4, 131, d)
-# define BOOST_PP_REPEAT_3_133(m, d) BOOST_PP_REPEAT_3_132(m, d) m(4, 132, d)
-# define BOOST_PP_REPEAT_3_134(m, d) BOOST_PP_REPEAT_3_133(m, d) m(4, 133, d)
-# define BOOST_PP_REPEAT_3_135(m, d) BOOST_PP_REPEAT_3_134(m, d) m(4, 134, d)
-# define BOOST_PP_REPEAT_3_136(m, d) BOOST_PP_REPEAT_3_135(m, d) m(4, 135, d)
-# define BOOST_PP_REPEAT_3_137(m, d) BOOST_PP_REPEAT_3_136(m, d) m(4, 136, d)
-# define BOOST_PP_REPEAT_3_138(m, d) BOOST_PP_REPEAT_3_137(m, d) m(4, 137, d)
-# define BOOST_PP_REPEAT_3_139(m, d) BOOST_PP_REPEAT_3_138(m, d) m(4, 138, d)
-# define BOOST_PP_REPEAT_3_140(m, d) BOOST_PP_REPEAT_3_139(m, d) m(4, 139, d)
-# define BOOST_PP_REPEAT_3_141(m, d) BOOST_PP_REPEAT_3_140(m, d) m(4, 140, d)
-# define BOOST_PP_REPEAT_3_142(m, d) BOOST_PP_REPEAT_3_141(m, d) m(4, 141, d)
-# define BOOST_PP_REPEAT_3_143(m, d) BOOST_PP_REPEAT_3_142(m, d) m(4, 142, d)
-# define BOOST_PP_REPEAT_3_144(m, d) BOOST_PP_REPEAT_3_143(m, d) m(4, 143, d)
-# define BOOST_PP_REPEAT_3_145(m, d) BOOST_PP_REPEAT_3_144(m, d) m(4, 144, d)
-# define BOOST_PP_REPEAT_3_146(m, d) BOOST_PP_REPEAT_3_145(m, d) m(4, 145, d)
-# define BOOST_PP_REPEAT_3_147(m, d) BOOST_PP_REPEAT_3_146(m, d) m(4, 146, d)
-# define BOOST_PP_REPEAT_3_148(m, d) BOOST_PP_REPEAT_3_147(m, d) m(4, 147, d)
-# define BOOST_PP_REPEAT_3_149(m, d) BOOST_PP_REPEAT_3_148(m, d) m(4, 148, d)
-# define BOOST_PP_REPEAT_3_150(m, d) BOOST_PP_REPEAT_3_149(m, d) m(4, 149, d)
-# define BOOST_PP_REPEAT_3_151(m, d) BOOST_PP_REPEAT_3_150(m, d) m(4, 150, d)
-# define BOOST_PP_REPEAT_3_152(m, d) BOOST_PP_REPEAT_3_151(m, d) m(4, 151, d)
-# define BOOST_PP_REPEAT_3_153(m, d) BOOST_PP_REPEAT_3_152(m, d) m(4, 152, d)
-# define BOOST_PP_REPEAT_3_154(m, d) BOOST_PP_REPEAT_3_153(m, d) m(4, 153, d)
-# define BOOST_PP_REPEAT_3_155(m, d) BOOST_PP_REPEAT_3_154(m, d) m(4, 154, d)
-# define BOOST_PP_REPEAT_3_156(m, d) BOOST_PP_REPEAT_3_155(m, d) m(4, 155, d)
-# define BOOST_PP_REPEAT_3_157(m, d) BOOST_PP_REPEAT_3_156(m, d) m(4, 156, d)
-# define BOOST_PP_REPEAT_3_158(m, d) BOOST_PP_REPEAT_3_157(m, d) m(4, 157, d)
-# define BOOST_PP_REPEAT_3_159(m, d) BOOST_PP_REPEAT_3_158(m, d) m(4, 158, d)
-# define BOOST_PP_REPEAT_3_160(m, d) BOOST_PP_REPEAT_3_159(m, d) m(4, 159, d)
-# define BOOST_PP_REPEAT_3_161(m, d) BOOST_PP_REPEAT_3_160(m, d) m(4, 160, d)
-# define BOOST_PP_REPEAT_3_162(m, d) BOOST_PP_REPEAT_3_161(m, d) m(4, 161, d)
-# define BOOST_PP_REPEAT_3_163(m, d) BOOST_PP_REPEAT_3_162(m, d) m(4, 162, d)
-# define BOOST_PP_REPEAT_3_164(m, d) BOOST_PP_REPEAT_3_163(m, d) m(4, 163, d)
-# define BOOST_PP_REPEAT_3_165(m, d) BOOST_PP_REPEAT_3_164(m, d) m(4, 164, d)
-# define BOOST_PP_REPEAT_3_166(m, d) BOOST_PP_REPEAT_3_165(m, d) m(4, 165, d)
-# define BOOST_PP_REPEAT_3_167(m, d) BOOST_PP_REPEAT_3_166(m, d) m(4, 166, d)
-# define BOOST_PP_REPEAT_3_168(m, d) BOOST_PP_REPEAT_3_167(m, d) m(4, 167, d)
-# define BOOST_PP_REPEAT_3_169(m, d) BOOST_PP_REPEAT_3_168(m, d) m(4, 168, d)
-# define BOOST_PP_REPEAT_3_170(m, d) BOOST_PP_REPEAT_3_169(m, d) m(4, 169, d)
-# define BOOST_PP_REPEAT_3_171(m, d) BOOST_PP_REPEAT_3_170(m, d) m(4, 170, d)
-# define BOOST_PP_REPEAT_3_172(m, d) BOOST_PP_REPEAT_3_171(m, d) m(4, 171, d)
-# define BOOST_PP_REPEAT_3_173(m, d) BOOST_PP_REPEAT_3_172(m, d) m(4, 172, d)
-# define BOOST_PP_REPEAT_3_174(m, d) BOOST_PP_REPEAT_3_173(m, d) m(4, 173, d)
-# define BOOST_PP_REPEAT_3_175(m, d) BOOST_PP_REPEAT_3_174(m, d) m(4, 174, d)
-# define BOOST_PP_REPEAT_3_176(m, d) BOOST_PP_REPEAT_3_175(m, d) m(4, 175, d)
-# define BOOST_PP_REPEAT_3_177(m, d) BOOST_PP_REPEAT_3_176(m, d) m(4, 176, d)
-# define BOOST_PP_REPEAT_3_178(m, d) BOOST_PP_REPEAT_3_177(m, d) m(4, 177, d)
-# define BOOST_PP_REPEAT_3_179(m, d) BOOST_PP_REPEAT_3_178(m, d) m(4, 178, d)
-# define BOOST_PP_REPEAT_3_180(m, d) BOOST_PP_REPEAT_3_179(m, d) m(4, 179, d)
-# define BOOST_PP_REPEAT_3_181(m, d) BOOST_PP_REPEAT_3_180(m, d) m(4, 180, d)
-# define BOOST_PP_REPEAT_3_182(m, d) BOOST_PP_REPEAT_3_181(m, d) m(4, 181, d)
-# define BOOST_PP_REPEAT_3_183(m, d) BOOST_PP_REPEAT_3_182(m, d) m(4, 182, d)
-# define BOOST_PP_REPEAT_3_184(m, d) BOOST_PP_REPEAT_3_183(m, d) m(4, 183, d)
-# define BOOST_PP_REPEAT_3_185(m, d) BOOST_PP_REPEAT_3_184(m, d) m(4, 184, d)
-# define BOOST_PP_REPEAT_3_186(m, d) BOOST_PP_REPEAT_3_185(m, d) m(4, 185, d)
-# define BOOST_PP_REPEAT_3_187(m, d) BOOST_PP_REPEAT_3_186(m, d) m(4, 186, d)
-# define BOOST_PP_REPEAT_3_188(m, d) BOOST_PP_REPEAT_3_187(m, d) m(4, 187, d)
-# define BOOST_PP_REPEAT_3_189(m, d) BOOST_PP_REPEAT_3_188(m, d) m(4, 188, d)
-# define BOOST_PP_REPEAT_3_190(m, d) BOOST_PP_REPEAT_3_189(m, d) m(4, 189, d)
-# define BOOST_PP_REPEAT_3_191(m, d) BOOST_PP_REPEAT_3_190(m, d) m(4, 190, d)
-# define BOOST_PP_REPEAT_3_192(m, d) BOOST_PP_REPEAT_3_191(m, d) m(4, 191, d)
-# define BOOST_PP_REPEAT_3_193(m, d) BOOST_PP_REPEAT_3_192(m, d) m(4, 192, d)
-# define BOOST_PP_REPEAT_3_194(m, d) BOOST_PP_REPEAT_3_193(m, d) m(4, 193, d)
-# define BOOST_PP_REPEAT_3_195(m, d) BOOST_PP_REPEAT_3_194(m, d) m(4, 194, d)
-# define BOOST_PP_REPEAT_3_196(m, d) BOOST_PP_REPEAT_3_195(m, d) m(4, 195, d)
-# define BOOST_PP_REPEAT_3_197(m, d) BOOST_PP_REPEAT_3_196(m, d) m(4, 196, d)
-# define BOOST_PP_REPEAT_3_198(m, d) BOOST_PP_REPEAT_3_197(m, d) m(4, 197, d)
-# define BOOST_PP_REPEAT_3_199(m, d) BOOST_PP_REPEAT_3_198(m, d) m(4, 198, d)
-# define BOOST_PP_REPEAT_3_200(m, d) BOOST_PP_REPEAT_3_199(m, d) m(4, 199, d)
-# define BOOST_PP_REPEAT_3_201(m, d) BOOST_PP_REPEAT_3_200(m, d) m(4, 200, d)
-# define BOOST_PP_REPEAT_3_202(m, d) BOOST_PP_REPEAT_3_201(m, d) m(4, 201, d)
-# define BOOST_PP_REPEAT_3_203(m, d) BOOST_PP_REPEAT_3_202(m, d) m(4, 202, d)
-# define BOOST_PP_REPEAT_3_204(m, d) BOOST_PP_REPEAT_3_203(m, d) m(4, 203, d)
-# define BOOST_PP_REPEAT_3_205(m, d) BOOST_PP_REPEAT_3_204(m, d) m(4, 204, d)
-# define BOOST_PP_REPEAT_3_206(m, d) BOOST_PP_REPEAT_3_205(m, d) m(4, 205, d)
-# define BOOST_PP_REPEAT_3_207(m, d) BOOST_PP_REPEAT_3_206(m, d) m(4, 206, d)
-# define BOOST_PP_REPEAT_3_208(m, d) BOOST_PP_REPEAT_3_207(m, d) m(4, 207, d)
-# define BOOST_PP_REPEAT_3_209(m, d) BOOST_PP_REPEAT_3_208(m, d) m(4, 208, d)
-# define BOOST_PP_REPEAT_3_210(m, d) BOOST_PP_REPEAT_3_209(m, d) m(4, 209, d)
-# define BOOST_PP_REPEAT_3_211(m, d) BOOST_PP_REPEAT_3_210(m, d) m(4, 210, d)
-# define BOOST_PP_REPEAT_3_212(m, d) BOOST_PP_REPEAT_3_211(m, d) m(4, 211, d)
-# define BOOST_PP_REPEAT_3_213(m, d) BOOST_PP_REPEAT_3_212(m, d) m(4, 212, d)
-# define BOOST_PP_REPEAT_3_214(m, d) BOOST_PP_REPEAT_3_213(m, d) m(4, 213, d)
-# define BOOST_PP_REPEAT_3_215(m, d) BOOST_PP_REPEAT_3_214(m, d) m(4, 214, d)
-# define BOOST_PP_REPEAT_3_216(m, d) BOOST_PP_REPEAT_3_215(m, d) m(4, 215, d)
-# define BOOST_PP_REPEAT_3_217(m, d) BOOST_PP_REPEAT_3_216(m, d) m(4, 216, d)
-# define BOOST_PP_REPEAT_3_218(m, d) BOOST_PP_REPEAT_3_217(m, d) m(4, 217, d)
-# define BOOST_PP_REPEAT_3_219(m, d) BOOST_PP_REPEAT_3_218(m, d) m(4, 218, d)
-# define BOOST_PP_REPEAT_3_220(m, d) BOOST_PP_REPEAT_3_219(m, d) m(4, 219, d)
-# define BOOST_PP_REPEAT_3_221(m, d) BOOST_PP_REPEAT_3_220(m, d) m(4, 220, d)
-# define BOOST_PP_REPEAT_3_222(m, d) BOOST_PP_REPEAT_3_221(m, d) m(4, 221, d)
-# define BOOST_PP_REPEAT_3_223(m, d) BOOST_PP_REPEAT_3_222(m, d) m(4, 222, d)
-# define BOOST_PP_REPEAT_3_224(m, d) BOOST_PP_REPEAT_3_223(m, d) m(4, 223, d)
-# define BOOST_PP_REPEAT_3_225(m, d) BOOST_PP_REPEAT_3_224(m, d) m(4, 224, d)
-# define BOOST_PP_REPEAT_3_226(m, d) BOOST_PP_REPEAT_3_225(m, d) m(4, 225, d)
-# define BOOST_PP_REPEAT_3_227(m, d) BOOST_PP_REPEAT_3_226(m, d) m(4, 226, d)
-# define BOOST_PP_REPEAT_3_228(m, d) BOOST_PP_REPEAT_3_227(m, d) m(4, 227, d)
-# define BOOST_PP_REPEAT_3_229(m, d) BOOST_PP_REPEAT_3_228(m, d) m(4, 228, d)
-# define BOOST_PP_REPEAT_3_230(m, d) BOOST_PP_REPEAT_3_229(m, d) m(4, 229, d)
-# define BOOST_PP_REPEAT_3_231(m, d) BOOST_PP_REPEAT_3_230(m, d) m(4, 230, d)
-# define BOOST_PP_REPEAT_3_232(m, d) BOOST_PP_REPEAT_3_231(m, d) m(4, 231, d)
-# define BOOST_PP_REPEAT_3_233(m, d) BOOST_PP_REPEAT_3_232(m, d) m(4, 232, d)
-# define BOOST_PP_REPEAT_3_234(m, d) BOOST_PP_REPEAT_3_233(m, d) m(4, 233, d)
-# define BOOST_PP_REPEAT_3_235(m, d) BOOST_PP_REPEAT_3_234(m, d) m(4, 234, d)
-# define BOOST_PP_REPEAT_3_236(m, d) BOOST_PP_REPEAT_3_235(m, d) m(4, 235, d)
-# define BOOST_PP_REPEAT_3_237(m, d) BOOST_PP_REPEAT_3_236(m, d) m(4, 236, d)
-# define BOOST_PP_REPEAT_3_238(m, d) BOOST_PP_REPEAT_3_237(m, d) m(4, 237, d)
-# define BOOST_PP_REPEAT_3_239(m, d) BOOST_PP_REPEAT_3_238(m, d) m(4, 238, d)
-# define BOOST_PP_REPEAT_3_240(m, d) BOOST_PP_REPEAT_3_239(m, d) m(4, 239, d)
-# define BOOST_PP_REPEAT_3_241(m, d) BOOST_PP_REPEAT_3_240(m, d) m(4, 240, d)
-# define BOOST_PP_REPEAT_3_242(m, d) BOOST_PP_REPEAT_3_241(m, d) m(4, 241, d)
-# define BOOST_PP_REPEAT_3_243(m, d) BOOST_PP_REPEAT_3_242(m, d) m(4, 242, d)
-# define BOOST_PP_REPEAT_3_244(m, d) BOOST_PP_REPEAT_3_243(m, d) m(4, 243, d)
-# define BOOST_PP_REPEAT_3_245(m, d) BOOST_PP_REPEAT_3_244(m, d) m(4, 244, d)
-# define BOOST_PP_REPEAT_3_246(m, d) BOOST_PP_REPEAT_3_245(m, d) m(4, 245, d)
-# define BOOST_PP_REPEAT_3_247(m, d) BOOST_PP_REPEAT_3_246(m, d) m(4, 246, d)
-# define BOOST_PP_REPEAT_3_248(m, d) BOOST_PP_REPEAT_3_247(m, d) m(4, 247, d)
-# define BOOST_PP_REPEAT_3_249(m, d) BOOST_PP_REPEAT_3_248(m, d) m(4, 248, d)
-# define BOOST_PP_REPEAT_3_250(m, d) BOOST_PP_REPEAT_3_249(m, d) m(4, 249, d)
-# define BOOST_PP_REPEAT_3_251(m, d) BOOST_PP_REPEAT_3_250(m, d) m(4, 250, d)
-# define BOOST_PP_REPEAT_3_252(m, d) BOOST_PP_REPEAT_3_251(m, d) m(4, 251, d)
-# define BOOST_PP_REPEAT_3_253(m, d) BOOST_PP_REPEAT_3_252(m, d) m(4, 252, d)
-# define BOOST_PP_REPEAT_3_254(m, d) BOOST_PP_REPEAT_3_253(m, d) m(4, 253, d)
-# define BOOST_PP_REPEAT_3_255(m, d) BOOST_PP_REPEAT_3_254(m, d) m(4, 254, d)
-# define BOOST_PP_REPEAT_3_256(m, d) BOOST_PP_REPEAT_3_255(m, d) m(4, 255, d)
+# define NDNBOOST_PP_REPEAT_3_0(m, d)
+# define NDNBOOST_PP_REPEAT_3_1(m, d) m(4, 0, d)
+# define NDNBOOST_PP_REPEAT_3_2(m, d) NDNBOOST_PP_REPEAT_3_1(m, d) m(4, 1, d)
+# define NDNBOOST_PP_REPEAT_3_3(m, d) NDNBOOST_PP_REPEAT_3_2(m, d) m(4, 2, d)
+# define NDNBOOST_PP_REPEAT_3_4(m, d) NDNBOOST_PP_REPEAT_3_3(m, d) m(4, 3, d)
+# define NDNBOOST_PP_REPEAT_3_5(m, d) NDNBOOST_PP_REPEAT_3_4(m, d) m(4, 4, d)
+# define NDNBOOST_PP_REPEAT_3_6(m, d) NDNBOOST_PP_REPEAT_3_5(m, d) m(4, 5, d)
+# define NDNBOOST_PP_REPEAT_3_7(m, d) NDNBOOST_PP_REPEAT_3_6(m, d) m(4, 6, d)
+# define NDNBOOST_PP_REPEAT_3_8(m, d) NDNBOOST_PP_REPEAT_3_7(m, d) m(4, 7, d)
+# define NDNBOOST_PP_REPEAT_3_9(m, d) NDNBOOST_PP_REPEAT_3_8(m, d) m(4, 8, d)
+# define NDNBOOST_PP_REPEAT_3_10(m, d) NDNBOOST_PP_REPEAT_3_9(m, d) m(4, 9, d)
+# define NDNBOOST_PP_REPEAT_3_11(m, d) NDNBOOST_PP_REPEAT_3_10(m, d) m(4, 10, d)
+# define NDNBOOST_PP_REPEAT_3_12(m, d) NDNBOOST_PP_REPEAT_3_11(m, d) m(4, 11, d)
+# define NDNBOOST_PP_REPEAT_3_13(m, d) NDNBOOST_PP_REPEAT_3_12(m, d) m(4, 12, d)
+# define NDNBOOST_PP_REPEAT_3_14(m, d) NDNBOOST_PP_REPEAT_3_13(m, d) m(4, 13, d)
+# define NDNBOOST_PP_REPEAT_3_15(m, d) NDNBOOST_PP_REPEAT_3_14(m, d) m(4, 14, d)
+# define NDNBOOST_PP_REPEAT_3_16(m, d) NDNBOOST_PP_REPEAT_3_15(m, d) m(4, 15, d)
+# define NDNBOOST_PP_REPEAT_3_17(m, d) NDNBOOST_PP_REPEAT_3_16(m, d) m(4, 16, d)
+# define NDNBOOST_PP_REPEAT_3_18(m, d) NDNBOOST_PP_REPEAT_3_17(m, d) m(4, 17, d)
+# define NDNBOOST_PP_REPEAT_3_19(m, d) NDNBOOST_PP_REPEAT_3_18(m, d) m(4, 18, d)
+# define NDNBOOST_PP_REPEAT_3_20(m, d) NDNBOOST_PP_REPEAT_3_19(m, d) m(4, 19, d)
+# define NDNBOOST_PP_REPEAT_3_21(m, d) NDNBOOST_PP_REPEAT_3_20(m, d) m(4, 20, d)
+# define NDNBOOST_PP_REPEAT_3_22(m, d) NDNBOOST_PP_REPEAT_3_21(m, d) m(4, 21, d)
+# define NDNBOOST_PP_REPEAT_3_23(m, d) NDNBOOST_PP_REPEAT_3_22(m, d) m(4, 22, d)
+# define NDNBOOST_PP_REPEAT_3_24(m, d) NDNBOOST_PP_REPEAT_3_23(m, d) m(4, 23, d)
+# define NDNBOOST_PP_REPEAT_3_25(m, d) NDNBOOST_PP_REPEAT_3_24(m, d) m(4, 24, d)
+# define NDNBOOST_PP_REPEAT_3_26(m, d) NDNBOOST_PP_REPEAT_3_25(m, d) m(4, 25, d)
+# define NDNBOOST_PP_REPEAT_3_27(m, d) NDNBOOST_PP_REPEAT_3_26(m, d) m(4, 26, d)
+# define NDNBOOST_PP_REPEAT_3_28(m, d) NDNBOOST_PP_REPEAT_3_27(m, d) m(4, 27, d)
+# define NDNBOOST_PP_REPEAT_3_29(m, d) NDNBOOST_PP_REPEAT_3_28(m, d) m(4, 28, d)
+# define NDNBOOST_PP_REPEAT_3_30(m, d) NDNBOOST_PP_REPEAT_3_29(m, d) m(4, 29, d)
+# define NDNBOOST_PP_REPEAT_3_31(m, d) NDNBOOST_PP_REPEAT_3_30(m, d) m(4, 30, d)
+# define NDNBOOST_PP_REPEAT_3_32(m, d) NDNBOOST_PP_REPEAT_3_31(m, d) m(4, 31, d)
+# define NDNBOOST_PP_REPEAT_3_33(m, d) NDNBOOST_PP_REPEAT_3_32(m, d) m(4, 32, d)
+# define NDNBOOST_PP_REPEAT_3_34(m, d) NDNBOOST_PP_REPEAT_3_33(m, d) m(4, 33, d)
+# define NDNBOOST_PP_REPEAT_3_35(m, d) NDNBOOST_PP_REPEAT_3_34(m, d) m(4, 34, d)
+# define NDNBOOST_PP_REPEAT_3_36(m, d) NDNBOOST_PP_REPEAT_3_35(m, d) m(4, 35, d)
+# define NDNBOOST_PP_REPEAT_3_37(m, d) NDNBOOST_PP_REPEAT_3_36(m, d) m(4, 36, d)
+# define NDNBOOST_PP_REPEAT_3_38(m, d) NDNBOOST_PP_REPEAT_3_37(m, d) m(4, 37, d)
+# define NDNBOOST_PP_REPEAT_3_39(m, d) NDNBOOST_PP_REPEAT_3_38(m, d) m(4, 38, d)
+# define NDNBOOST_PP_REPEAT_3_40(m, d) NDNBOOST_PP_REPEAT_3_39(m, d) m(4, 39, d)
+# define NDNBOOST_PP_REPEAT_3_41(m, d) NDNBOOST_PP_REPEAT_3_40(m, d) m(4, 40, d)
+# define NDNBOOST_PP_REPEAT_3_42(m, d) NDNBOOST_PP_REPEAT_3_41(m, d) m(4, 41, d)
+# define NDNBOOST_PP_REPEAT_3_43(m, d) NDNBOOST_PP_REPEAT_3_42(m, d) m(4, 42, d)
+# define NDNBOOST_PP_REPEAT_3_44(m, d) NDNBOOST_PP_REPEAT_3_43(m, d) m(4, 43, d)
+# define NDNBOOST_PP_REPEAT_3_45(m, d) NDNBOOST_PP_REPEAT_3_44(m, d) m(4, 44, d)
+# define NDNBOOST_PP_REPEAT_3_46(m, d) NDNBOOST_PP_REPEAT_3_45(m, d) m(4, 45, d)
+# define NDNBOOST_PP_REPEAT_3_47(m, d) NDNBOOST_PP_REPEAT_3_46(m, d) m(4, 46, d)
+# define NDNBOOST_PP_REPEAT_3_48(m, d) NDNBOOST_PP_REPEAT_3_47(m, d) m(4, 47, d)
+# define NDNBOOST_PP_REPEAT_3_49(m, d) NDNBOOST_PP_REPEAT_3_48(m, d) m(4, 48, d)
+# define NDNBOOST_PP_REPEAT_3_50(m, d) NDNBOOST_PP_REPEAT_3_49(m, d) m(4, 49, d)
+# define NDNBOOST_PP_REPEAT_3_51(m, d) NDNBOOST_PP_REPEAT_3_50(m, d) m(4, 50, d)
+# define NDNBOOST_PP_REPEAT_3_52(m, d) NDNBOOST_PP_REPEAT_3_51(m, d) m(4, 51, d)
+# define NDNBOOST_PP_REPEAT_3_53(m, d) NDNBOOST_PP_REPEAT_3_52(m, d) m(4, 52, d)
+# define NDNBOOST_PP_REPEAT_3_54(m, d) NDNBOOST_PP_REPEAT_3_53(m, d) m(4, 53, d)
+# define NDNBOOST_PP_REPEAT_3_55(m, d) NDNBOOST_PP_REPEAT_3_54(m, d) m(4, 54, d)
+# define NDNBOOST_PP_REPEAT_3_56(m, d) NDNBOOST_PP_REPEAT_3_55(m, d) m(4, 55, d)
+# define NDNBOOST_PP_REPEAT_3_57(m, d) NDNBOOST_PP_REPEAT_3_56(m, d) m(4, 56, d)
+# define NDNBOOST_PP_REPEAT_3_58(m, d) NDNBOOST_PP_REPEAT_3_57(m, d) m(4, 57, d)
+# define NDNBOOST_PP_REPEAT_3_59(m, d) NDNBOOST_PP_REPEAT_3_58(m, d) m(4, 58, d)
+# define NDNBOOST_PP_REPEAT_3_60(m, d) NDNBOOST_PP_REPEAT_3_59(m, d) m(4, 59, d)
+# define NDNBOOST_PP_REPEAT_3_61(m, d) NDNBOOST_PP_REPEAT_3_60(m, d) m(4, 60, d)
+# define NDNBOOST_PP_REPEAT_3_62(m, d) NDNBOOST_PP_REPEAT_3_61(m, d) m(4, 61, d)
+# define NDNBOOST_PP_REPEAT_3_63(m, d) NDNBOOST_PP_REPEAT_3_62(m, d) m(4, 62, d)
+# define NDNBOOST_PP_REPEAT_3_64(m, d) NDNBOOST_PP_REPEAT_3_63(m, d) m(4, 63, d)
+# define NDNBOOST_PP_REPEAT_3_65(m, d) NDNBOOST_PP_REPEAT_3_64(m, d) m(4, 64, d)
+# define NDNBOOST_PP_REPEAT_3_66(m, d) NDNBOOST_PP_REPEAT_3_65(m, d) m(4, 65, d)
+# define NDNBOOST_PP_REPEAT_3_67(m, d) NDNBOOST_PP_REPEAT_3_66(m, d) m(4, 66, d)
+# define NDNBOOST_PP_REPEAT_3_68(m, d) NDNBOOST_PP_REPEAT_3_67(m, d) m(4, 67, d)
+# define NDNBOOST_PP_REPEAT_3_69(m, d) NDNBOOST_PP_REPEAT_3_68(m, d) m(4, 68, d)
+# define NDNBOOST_PP_REPEAT_3_70(m, d) NDNBOOST_PP_REPEAT_3_69(m, d) m(4, 69, d)
+# define NDNBOOST_PP_REPEAT_3_71(m, d) NDNBOOST_PP_REPEAT_3_70(m, d) m(4, 70, d)
+# define NDNBOOST_PP_REPEAT_3_72(m, d) NDNBOOST_PP_REPEAT_3_71(m, d) m(4, 71, d)
+# define NDNBOOST_PP_REPEAT_3_73(m, d) NDNBOOST_PP_REPEAT_3_72(m, d) m(4, 72, d)
+# define NDNBOOST_PP_REPEAT_3_74(m, d) NDNBOOST_PP_REPEAT_3_73(m, d) m(4, 73, d)
+# define NDNBOOST_PP_REPEAT_3_75(m, d) NDNBOOST_PP_REPEAT_3_74(m, d) m(4, 74, d)
+# define NDNBOOST_PP_REPEAT_3_76(m, d) NDNBOOST_PP_REPEAT_3_75(m, d) m(4, 75, d)
+# define NDNBOOST_PP_REPEAT_3_77(m, d) NDNBOOST_PP_REPEAT_3_76(m, d) m(4, 76, d)
+# define NDNBOOST_PP_REPEAT_3_78(m, d) NDNBOOST_PP_REPEAT_3_77(m, d) m(4, 77, d)
+# define NDNBOOST_PP_REPEAT_3_79(m, d) NDNBOOST_PP_REPEAT_3_78(m, d) m(4, 78, d)
+# define NDNBOOST_PP_REPEAT_3_80(m, d) NDNBOOST_PP_REPEAT_3_79(m, d) m(4, 79, d)
+# define NDNBOOST_PP_REPEAT_3_81(m, d) NDNBOOST_PP_REPEAT_3_80(m, d) m(4, 80, d)
+# define NDNBOOST_PP_REPEAT_3_82(m, d) NDNBOOST_PP_REPEAT_3_81(m, d) m(4, 81, d)
+# define NDNBOOST_PP_REPEAT_3_83(m, d) NDNBOOST_PP_REPEAT_3_82(m, d) m(4, 82, d)
+# define NDNBOOST_PP_REPEAT_3_84(m, d) NDNBOOST_PP_REPEAT_3_83(m, d) m(4, 83, d)
+# define NDNBOOST_PP_REPEAT_3_85(m, d) NDNBOOST_PP_REPEAT_3_84(m, d) m(4, 84, d)
+# define NDNBOOST_PP_REPEAT_3_86(m, d) NDNBOOST_PP_REPEAT_3_85(m, d) m(4, 85, d)
+# define NDNBOOST_PP_REPEAT_3_87(m, d) NDNBOOST_PP_REPEAT_3_86(m, d) m(4, 86, d)
+# define NDNBOOST_PP_REPEAT_3_88(m, d) NDNBOOST_PP_REPEAT_3_87(m, d) m(4, 87, d)
+# define NDNBOOST_PP_REPEAT_3_89(m, d) NDNBOOST_PP_REPEAT_3_88(m, d) m(4, 88, d)
+# define NDNBOOST_PP_REPEAT_3_90(m, d) NDNBOOST_PP_REPEAT_3_89(m, d) m(4, 89, d)
+# define NDNBOOST_PP_REPEAT_3_91(m, d) NDNBOOST_PP_REPEAT_3_90(m, d) m(4, 90, d)
+# define NDNBOOST_PP_REPEAT_3_92(m, d) NDNBOOST_PP_REPEAT_3_91(m, d) m(4, 91, d)
+# define NDNBOOST_PP_REPEAT_3_93(m, d) NDNBOOST_PP_REPEAT_3_92(m, d) m(4, 92, d)
+# define NDNBOOST_PP_REPEAT_3_94(m, d) NDNBOOST_PP_REPEAT_3_93(m, d) m(4, 93, d)
+# define NDNBOOST_PP_REPEAT_3_95(m, d) NDNBOOST_PP_REPEAT_3_94(m, d) m(4, 94, d)
+# define NDNBOOST_PP_REPEAT_3_96(m, d) NDNBOOST_PP_REPEAT_3_95(m, d) m(4, 95, d)
+# define NDNBOOST_PP_REPEAT_3_97(m, d) NDNBOOST_PP_REPEAT_3_96(m, d) m(4, 96, d)
+# define NDNBOOST_PP_REPEAT_3_98(m, d) NDNBOOST_PP_REPEAT_3_97(m, d) m(4, 97, d)
+# define NDNBOOST_PP_REPEAT_3_99(m, d) NDNBOOST_PP_REPEAT_3_98(m, d) m(4, 98, d)
+# define NDNBOOST_PP_REPEAT_3_100(m, d) NDNBOOST_PP_REPEAT_3_99(m, d) m(4, 99, d)
+# define NDNBOOST_PP_REPEAT_3_101(m, d) NDNBOOST_PP_REPEAT_3_100(m, d) m(4, 100, d)
+# define NDNBOOST_PP_REPEAT_3_102(m, d) NDNBOOST_PP_REPEAT_3_101(m, d) m(4, 101, d)
+# define NDNBOOST_PP_REPEAT_3_103(m, d) NDNBOOST_PP_REPEAT_3_102(m, d) m(4, 102, d)
+# define NDNBOOST_PP_REPEAT_3_104(m, d) NDNBOOST_PP_REPEAT_3_103(m, d) m(4, 103, d)
+# define NDNBOOST_PP_REPEAT_3_105(m, d) NDNBOOST_PP_REPEAT_3_104(m, d) m(4, 104, d)
+# define NDNBOOST_PP_REPEAT_3_106(m, d) NDNBOOST_PP_REPEAT_3_105(m, d) m(4, 105, d)
+# define NDNBOOST_PP_REPEAT_3_107(m, d) NDNBOOST_PP_REPEAT_3_106(m, d) m(4, 106, d)
+# define NDNBOOST_PP_REPEAT_3_108(m, d) NDNBOOST_PP_REPEAT_3_107(m, d) m(4, 107, d)
+# define NDNBOOST_PP_REPEAT_3_109(m, d) NDNBOOST_PP_REPEAT_3_108(m, d) m(4, 108, d)
+# define NDNBOOST_PP_REPEAT_3_110(m, d) NDNBOOST_PP_REPEAT_3_109(m, d) m(4, 109, d)
+# define NDNBOOST_PP_REPEAT_3_111(m, d) NDNBOOST_PP_REPEAT_3_110(m, d) m(4, 110, d)
+# define NDNBOOST_PP_REPEAT_3_112(m, d) NDNBOOST_PP_REPEAT_3_111(m, d) m(4, 111, d)
+# define NDNBOOST_PP_REPEAT_3_113(m, d) NDNBOOST_PP_REPEAT_3_112(m, d) m(4, 112, d)
+# define NDNBOOST_PP_REPEAT_3_114(m, d) NDNBOOST_PP_REPEAT_3_113(m, d) m(4, 113, d)
+# define NDNBOOST_PP_REPEAT_3_115(m, d) NDNBOOST_PP_REPEAT_3_114(m, d) m(4, 114, d)
+# define NDNBOOST_PP_REPEAT_3_116(m, d) NDNBOOST_PP_REPEAT_3_115(m, d) m(4, 115, d)
+# define NDNBOOST_PP_REPEAT_3_117(m, d) NDNBOOST_PP_REPEAT_3_116(m, d) m(4, 116, d)
+# define NDNBOOST_PP_REPEAT_3_118(m, d) NDNBOOST_PP_REPEAT_3_117(m, d) m(4, 117, d)
+# define NDNBOOST_PP_REPEAT_3_119(m, d) NDNBOOST_PP_REPEAT_3_118(m, d) m(4, 118, d)
+# define NDNBOOST_PP_REPEAT_3_120(m, d) NDNBOOST_PP_REPEAT_3_119(m, d) m(4, 119, d)
+# define NDNBOOST_PP_REPEAT_3_121(m, d) NDNBOOST_PP_REPEAT_3_120(m, d) m(4, 120, d)
+# define NDNBOOST_PP_REPEAT_3_122(m, d) NDNBOOST_PP_REPEAT_3_121(m, d) m(4, 121, d)
+# define NDNBOOST_PP_REPEAT_3_123(m, d) NDNBOOST_PP_REPEAT_3_122(m, d) m(4, 122, d)
+# define NDNBOOST_PP_REPEAT_3_124(m, d) NDNBOOST_PP_REPEAT_3_123(m, d) m(4, 123, d)
+# define NDNBOOST_PP_REPEAT_3_125(m, d) NDNBOOST_PP_REPEAT_3_124(m, d) m(4, 124, d)
+# define NDNBOOST_PP_REPEAT_3_126(m, d) NDNBOOST_PP_REPEAT_3_125(m, d) m(4, 125, d)
+# define NDNBOOST_PP_REPEAT_3_127(m, d) NDNBOOST_PP_REPEAT_3_126(m, d) m(4, 126, d)
+# define NDNBOOST_PP_REPEAT_3_128(m, d) NDNBOOST_PP_REPEAT_3_127(m, d) m(4, 127, d)
+# define NDNBOOST_PP_REPEAT_3_129(m, d) NDNBOOST_PP_REPEAT_3_128(m, d) m(4, 128, d)
+# define NDNBOOST_PP_REPEAT_3_130(m, d) NDNBOOST_PP_REPEAT_3_129(m, d) m(4, 129, d)
+# define NDNBOOST_PP_REPEAT_3_131(m, d) NDNBOOST_PP_REPEAT_3_130(m, d) m(4, 130, d)
+# define NDNBOOST_PP_REPEAT_3_132(m, d) NDNBOOST_PP_REPEAT_3_131(m, d) m(4, 131, d)
+# define NDNBOOST_PP_REPEAT_3_133(m, d) NDNBOOST_PP_REPEAT_3_132(m, d) m(4, 132, d)
+# define NDNBOOST_PP_REPEAT_3_134(m, d) NDNBOOST_PP_REPEAT_3_133(m, d) m(4, 133, d)
+# define NDNBOOST_PP_REPEAT_3_135(m, d) NDNBOOST_PP_REPEAT_3_134(m, d) m(4, 134, d)
+# define NDNBOOST_PP_REPEAT_3_136(m, d) NDNBOOST_PP_REPEAT_3_135(m, d) m(4, 135, d)
+# define NDNBOOST_PP_REPEAT_3_137(m, d) NDNBOOST_PP_REPEAT_3_136(m, d) m(4, 136, d)
+# define NDNBOOST_PP_REPEAT_3_138(m, d) NDNBOOST_PP_REPEAT_3_137(m, d) m(4, 137, d)
+# define NDNBOOST_PP_REPEAT_3_139(m, d) NDNBOOST_PP_REPEAT_3_138(m, d) m(4, 138, d)
+# define NDNBOOST_PP_REPEAT_3_140(m, d) NDNBOOST_PP_REPEAT_3_139(m, d) m(4, 139, d)
+# define NDNBOOST_PP_REPEAT_3_141(m, d) NDNBOOST_PP_REPEAT_3_140(m, d) m(4, 140, d)
+# define NDNBOOST_PP_REPEAT_3_142(m, d) NDNBOOST_PP_REPEAT_3_141(m, d) m(4, 141, d)
+# define NDNBOOST_PP_REPEAT_3_143(m, d) NDNBOOST_PP_REPEAT_3_142(m, d) m(4, 142, d)
+# define NDNBOOST_PP_REPEAT_3_144(m, d) NDNBOOST_PP_REPEAT_3_143(m, d) m(4, 143, d)
+# define NDNBOOST_PP_REPEAT_3_145(m, d) NDNBOOST_PP_REPEAT_3_144(m, d) m(4, 144, d)
+# define NDNBOOST_PP_REPEAT_3_146(m, d) NDNBOOST_PP_REPEAT_3_145(m, d) m(4, 145, d)
+# define NDNBOOST_PP_REPEAT_3_147(m, d) NDNBOOST_PP_REPEAT_3_146(m, d) m(4, 146, d)
+# define NDNBOOST_PP_REPEAT_3_148(m, d) NDNBOOST_PP_REPEAT_3_147(m, d) m(4, 147, d)
+# define NDNBOOST_PP_REPEAT_3_149(m, d) NDNBOOST_PP_REPEAT_3_148(m, d) m(4, 148, d)
+# define NDNBOOST_PP_REPEAT_3_150(m, d) NDNBOOST_PP_REPEAT_3_149(m, d) m(4, 149, d)
+# define NDNBOOST_PP_REPEAT_3_151(m, d) NDNBOOST_PP_REPEAT_3_150(m, d) m(4, 150, d)
+# define NDNBOOST_PP_REPEAT_3_152(m, d) NDNBOOST_PP_REPEAT_3_151(m, d) m(4, 151, d)
+# define NDNBOOST_PP_REPEAT_3_153(m, d) NDNBOOST_PP_REPEAT_3_152(m, d) m(4, 152, d)
+# define NDNBOOST_PP_REPEAT_3_154(m, d) NDNBOOST_PP_REPEAT_3_153(m, d) m(4, 153, d)
+# define NDNBOOST_PP_REPEAT_3_155(m, d) NDNBOOST_PP_REPEAT_3_154(m, d) m(4, 154, d)
+# define NDNBOOST_PP_REPEAT_3_156(m, d) NDNBOOST_PP_REPEAT_3_155(m, d) m(4, 155, d)
+# define NDNBOOST_PP_REPEAT_3_157(m, d) NDNBOOST_PP_REPEAT_3_156(m, d) m(4, 156, d)
+# define NDNBOOST_PP_REPEAT_3_158(m, d) NDNBOOST_PP_REPEAT_3_157(m, d) m(4, 157, d)
+# define NDNBOOST_PP_REPEAT_3_159(m, d) NDNBOOST_PP_REPEAT_3_158(m, d) m(4, 158, d)
+# define NDNBOOST_PP_REPEAT_3_160(m, d) NDNBOOST_PP_REPEAT_3_159(m, d) m(4, 159, d)
+# define NDNBOOST_PP_REPEAT_3_161(m, d) NDNBOOST_PP_REPEAT_3_160(m, d) m(4, 160, d)
+# define NDNBOOST_PP_REPEAT_3_162(m, d) NDNBOOST_PP_REPEAT_3_161(m, d) m(4, 161, d)
+# define NDNBOOST_PP_REPEAT_3_163(m, d) NDNBOOST_PP_REPEAT_3_162(m, d) m(4, 162, d)
+# define NDNBOOST_PP_REPEAT_3_164(m, d) NDNBOOST_PP_REPEAT_3_163(m, d) m(4, 163, d)
+# define NDNBOOST_PP_REPEAT_3_165(m, d) NDNBOOST_PP_REPEAT_3_164(m, d) m(4, 164, d)
+# define NDNBOOST_PP_REPEAT_3_166(m, d) NDNBOOST_PP_REPEAT_3_165(m, d) m(4, 165, d)
+# define NDNBOOST_PP_REPEAT_3_167(m, d) NDNBOOST_PP_REPEAT_3_166(m, d) m(4, 166, d)
+# define NDNBOOST_PP_REPEAT_3_168(m, d) NDNBOOST_PP_REPEAT_3_167(m, d) m(4, 167, d)
+# define NDNBOOST_PP_REPEAT_3_169(m, d) NDNBOOST_PP_REPEAT_3_168(m, d) m(4, 168, d)
+# define NDNBOOST_PP_REPEAT_3_170(m, d) NDNBOOST_PP_REPEAT_3_169(m, d) m(4, 169, d)
+# define NDNBOOST_PP_REPEAT_3_171(m, d) NDNBOOST_PP_REPEAT_3_170(m, d) m(4, 170, d)
+# define NDNBOOST_PP_REPEAT_3_172(m, d) NDNBOOST_PP_REPEAT_3_171(m, d) m(4, 171, d)
+# define NDNBOOST_PP_REPEAT_3_173(m, d) NDNBOOST_PP_REPEAT_3_172(m, d) m(4, 172, d)
+# define NDNBOOST_PP_REPEAT_3_174(m, d) NDNBOOST_PP_REPEAT_3_173(m, d) m(4, 173, d)
+# define NDNBOOST_PP_REPEAT_3_175(m, d) NDNBOOST_PP_REPEAT_3_174(m, d) m(4, 174, d)
+# define NDNBOOST_PP_REPEAT_3_176(m, d) NDNBOOST_PP_REPEAT_3_175(m, d) m(4, 175, d)
+# define NDNBOOST_PP_REPEAT_3_177(m, d) NDNBOOST_PP_REPEAT_3_176(m, d) m(4, 176, d)
+# define NDNBOOST_PP_REPEAT_3_178(m, d) NDNBOOST_PP_REPEAT_3_177(m, d) m(4, 177, d)
+# define NDNBOOST_PP_REPEAT_3_179(m, d) NDNBOOST_PP_REPEAT_3_178(m, d) m(4, 178, d)
+# define NDNBOOST_PP_REPEAT_3_180(m, d) NDNBOOST_PP_REPEAT_3_179(m, d) m(4, 179, d)
+# define NDNBOOST_PP_REPEAT_3_181(m, d) NDNBOOST_PP_REPEAT_3_180(m, d) m(4, 180, d)
+# define NDNBOOST_PP_REPEAT_3_182(m, d) NDNBOOST_PP_REPEAT_3_181(m, d) m(4, 181, d)
+# define NDNBOOST_PP_REPEAT_3_183(m, d) NDNBOOST_PP_REPEAT_3_182(m, d) m(4, 182, d)
+# define NDNBOOST_PP_REPEAT_3_184(m, d) NDNBOOST_PP_REPEAT_3_183(m, d) m(4, 183, d)
+# define NDNBOOST_PP_REPEAT_3_185(m, d) NDNBOOST_PP_REPEAT_3_184(m, d) m(4, 184, d)
+# define NDNBOOST_PP_REPEAT_3_186(m, d) NDNBOOST_PP_REPEAT_3_185(m, d) m(4, 185, d)
+# define NDNBOOST_PP_REPEAT_3_187(m, d) NDNBOOST_PP_REPEAT_3_186(m, d) m(4, 186, d)
+# define NDNBOOST_PP_REPEAT_3_188(m, d) NDNBOOST_PP_REPEAT_3_187(m, d) m(4, 187, d)
+# define NDNBOOST_PP_REPEAT_3_189(m, d) NDNBOOST_PP_REPEAT_3_188(m, d) m(4, 188, d)
+# define NDNBOOST_PP_REPEAT_3_190(m, d) NDNBOOST_PP_REPEAT_3_189(m, d) m(4, 189, d)
+# define NDNBOOST_PP_REPEAT_3_191(m, d) NDNBOOST_PP_REPEAT_3_190(m, d) m(4, 190, d)
+# define NDNBOOST_PP_REPEAT_3_192(m, d) NDNBOOST_PP_REPEAT_3_191(m, d) m(4, 191, d)
+# define NDNBOOST_PP_REPEAT_3_193(m, d) NDNBOOST_PP_REPEAT_3_192(m, d) m(4, 192, d)
+# define NDNBOOST_PP_REPEAT_3_194(m, d) NDNBOOST_PP_REPEAT_3_193(m, d) m(4, 193, d)
+# define NDNBOOST_PP_REPEAT_3_195(m, d) NDNBOOST_PP_REPEAT_3_194(m, d) m(4, 194, d)
+# define NDNBOOST_PP_REPEAT_3_196(m, d) NDNBOOST_PP_REPEAT_3_195(m, d) m(4, 195, d)
+# define NDNBOOST_PP_REPEAT_3_197(m, d) NDNBOOST_PP_REPEAT_3_196(m, d) m(4, 196, d)
+# define NDNBOOST_PP_REPEAT_3_198(m, d) NDNBOOST_PP_REPEAT_3_197(m, d) m(4, 197, d)
+# define NDNBOOST_PP_REPEAT_3_199(m, d) NDNBOOST_PP_REPEAT_3_198(m, d) m(4, 198, d)
+# define NDNBOOST_PP_REPEAT_3_200(m, d) NDNBOOST_PP_REPEAT_3_199(m, d) m(4, 199, d)
+# define NDNBOOST_PP_REPEAT_3_201(m, d) NDNBOOST_PP_REPEAT_3_200(m, d) m(4, 200, d)
+# define NDNBOOST_PP_REPEAT_3_202(m, d) NDNBOOST_PP_REPEAT_3_201(m, d) m(4, 201, d)
+# define NDNBOOST_PP_REPEAT_3_203(m, d) NDNBOOST_PP_REPEAT_3_202(m, d) m(4, 202, d)
+# define NDNBOOST_PP_REPEAT_3_204(m, d) NDNBOOST_PP_REPEAT_3_203(m, d) m(4, 203, d)
+# define NDNBOOST_PP_REPEAT_3_205(m, d) NDNBOOST_PP_REPEAT_3_204(m, d) m(4, 204, d)
+# define NDNBOOST_PP_REPEAT_3_206(m, d) NDNBOOST_PP_REPEAT_3_205(m, d) m(4, 205, d)
+# define NDNBOOST_PP_REPEAT_3_207(m, d) NDNBOOST_PP_REPEAT_3_206(m, d) m(4, 206, d)
+# define NDNBOOST_PP_REPEAT_3_208(m, d) NDNBOOST_PP_REPEAT_3_207(m, d) m(4, 207, d)
+# define NDNBOOST_PP_REPEAT_3_209(m, d) NDNBOOST_PP_REPEAT_3_208(m, d) m(4, 208, d)
+# define NDNBOOST_PP_REPEAT_3_210(m, d) NDNBOOST_PP_REPEAT_3_209(m, d) m(4, 209, d)
+# define NDNBOOST_PP_REPEAT_3_211(m, d) NDNBOOST_PP_REPEAT_3_210(m, d) m(4, 210, d)
+# define NDNBOOST_PP_REPEAT_3_212(m, d) NDNBOOST_PP_REPEAT_3_211(m, d) m(4, 211, d)
+# define NDNBOOST_PP_REPEAT_3_213(m, d) NDNBOOST_PP_REPEAT_3_212(m, d) m(4, 212, d)
+# define NDNBOOST_PP_REPEAT_3_214(m, d) NDNBOOST_PP_REPEAT_3_213(m, d) m(4, 213, d)
+# define NDNBOOST_PP_REPEAT_3_215(m, d) NDNBOOST_PP_REPEAT_3_214(m, d) m(4, 214, d)
+# define NDNBOOST_PP_REPEAT_3_216(m, d) NDNBOOST_PP_REPEAT_3_215(m, d) m(4, 215, d)
+# define NDNBOOST_PP_REPEAT_3_217(m, d) NDNBOOST_PP_REPEAT_3_216(m, d) m(4, 216, d)
+# define NDNBOOST_PP_REPEAT_3_218(m, d) NDNBOOST_PP_REPEAT_3_217(m, d) m(4, 217, d)
+# define NDNBOOST_PP_REPEAT_3_219(m, d) NDNBOOST_PP_REPEAT_3_218(m, d) m(4, 218, d)
+# define NDNBOOST_PP_REPEAT_3_220(m, d) NDNBOOST_PP_REPEAT_3_219(m, d) m(4, 219, d)
+# define NDNBOOST_PP_REPEAT_3_221(m, d) NDNBOOST_PP_REPEAT_3_220(m, d) m(4, 220, d)
+# define NDNBOOST_PP_REPEAT_3_222(m, d) NDNBOOST_PP_REPEAT_3_221(m, d) m(4, 221, d)
+# define NDNBOOST_PP_REPEAT_3_223(m, d) NDNBOOST_PP_REPEAT_3_222(m, d) m(4, 222, d)
+# define NDNBOOST_PP_REPEAT_3_224(m, d) NDNBOOST_PP_REPEAT_3_223(m, d) m(4, 223, d)
+# define NDNBOOST_PP_REPEAT_3_225(m, d) NDNBOOST_PP_REPEAT_3_224(m, d) m(4, 224, d)
+# define NDNBOOST_PP_REPEAT_3_226(m, d) NDNBOOST_PP_REPEAT_3_225(m, d) m(4, 225, d)
+# define NDNBOOST_PP_REPEAT_3_227(m, d) NDNBOOST_PP_REPEAT_3_226(m, d) m(4, 226, d)
+# define NDNBOOST_PP_REPEAT_3_228(m, d) NDNBOOST_PP_REPEAT_3_227(m, d) m(4, 227, d)
+# define NDNBOOST_PP_REPEAT_3_229(m, d) NDNBOOST_PP_REPEAT_3_228(m, d) m(4, 228, d)
+# define NDNBOOST_PP_REPEAT_3_230(m, d) NDNBOOST_PP_REPEAT_3_229(m, d) m(4, 229, d)
+# define NDNBOOST_PP_REPEAT_3_231(m, d) NDNBOOST_PP_REPEAT_3_230(m, d) m(4, 230, d)
+# define NDNBOOST_PP_REPEAT_3_232(m, d) NDNBOOST_PP_REPEAT_3_231(m, d) m(4, 231, d)
+# define NDNBOOST_PP_REPEAT_3_233(m, d) NDNBOOST_PP_REPEAT_3_232(m, d) m(4, 232, d)
+# define NDNBOOST_PP_REPEAT_3_234(m, d) NDNBOOST_PP_REPEAT_3_233(m, d) m(4, 233, d)
+# define NDNBOOST_PP_REPEAT_3_235(m, d) NDNBOOST_PP_REPEAT_3_234(m, d) m(4, 234, d)
+# define NDNBOOST_PP_REPEAT_3_236(m, d) NDNBOOST_PP_REPEAT_3_235(m, d) m(4, 235, d)
+# define NDNBOOST_PP_REPEAT_3_237(m, d) NDNBOOST_PP_REPEAT_3_236(m, d) m(4, 236, d)
+# define NDNBOOST_PP_REPEAT_3_238(m, d) NDNBOOST_PP_REPEAT_3_237(m, d) m(4, 237, d)
+# define NDNBOOST_PP_REPEAT_3_239(m, d) NDNBOOST_PP_REPEAT_3_238(m, d) m(4, 238, d)
+# define NDNBOOST_PP_REPEAT_3_240(m, d) NDNBOOST_PP_REPEAT_3_239(m, d) m(4, 239, d)
+# define NDNBOOST_PP_REPEAT_3_241(m, d) NDNBOOST_PP_REPEAT_3_240(m, d) m(4, 240, d)
+# define NDNBOOST_PP_REPEAT_3_242(m, d) NDNBOOST_PP_REPEAT_3_241(m, d) m(4, 241, d)
+# define NDNBOOST_PP_REPEAT_3_243(m, d) NDNBOOST_PP_REPEAT_3_242(m, d) m(4, 242, d)
+# define NDNBOOST_PP_REPEAT_3_244(m, d) NDNBOOST_PP_REPEAT_3_243(m, d) m(4, 243, d)
+# define NDNBOOST_PP_REPEAT_3_245(m, d) NDNBOOST_PP_REPEAT_3_244(m, d) m(4, 244, d)
+# define NDNBOOST_PP_REPEAT_3_246(m, d) NDNBOOST_PP_REPEAT_3_245(m, d) m(4, 245, d)
+# define NDNBOOST_PP_REPEAT_3_247(m, d) NDNBOOST_PP_REPEAT_3_246(m, d) m(4, 246, d)
+# define NDNBOOST_PP_REPEAT_3_248(m, d) NDNBOOST_PP_REPEAT_3_247(m, d) m(4, 247, d)
+# define NDNBOOST_PP_REPEAT_3_249(m, d) NDNBOOST_PP_REPEAT_3_248(m, d) m(4, 248, d)
+# define NDNBOOST_PP_REPEAT_3_250(m, d) NDNBOOST_PP_REPEAT_3_249(m, d) m(4, 249, d)
+# define NDNBOOST_PP_REPEAT_3_251(m, d) NDNBOOST_PP_REPEAT_3_250(m, d) m(4, 250, d)
+# define NDNBOOST_PP_REPEAT_3_252(m, d) NDNBOOST_PP_REPEAT_3_251(m, d) m(4, 251, d)
+# define NDNBOOST_PP_REPEAT_3_253(m, d) NDNBOOST_PP_REPEAT_3_252(m, d) m(4, 252, d)
+# define NDNBOOST_PP_REPEAT_3_254(m, d) NDNBOOST_PP_REPEAT_3_253(m, d) m(4, 253, d)
+# define NDNBOOST_PP_REPEAT_3_255(m, d) NDNBOOST_PP_REPEAT_3_254(m, d) m(4, 254, d)
+# define NDNBOOST_PP_REPEAT_3_256(m, d) NDNBOOST_PP_REPEAT_3_255(m, d) m(4, 255, d)
 #
 # endif
diff --git a/include/ndnboost/preprocessor/repetition/repeat_from_to.hpp b/include/ndnboost/preprocessor/repetition/repeat_from_to.hpp
index 6be8c70..194c5b0 100644
--- a/include/ndnboost/preprocessor/repetition/repeat_from_to.hpp
+++ b/include/ndnboost/preprocessor/repetition/repeat_from_to.hpp
@@ -11,8 +11,8 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_REPETITION_REPEAT_FROM_TO_HPP
-# define BOOST_PREPROCESSOR_REPETITION_REPEAT_FROM_TO_HPP
+# ifndef NDNBOOST_PREPROCESSOR_REPETITION_REPEAT_FROM_TO_HPP
+# define NDNBOOST_PREPROCESSOR_REPETITION_REPEAT_FROM_TO_HPP
 #
 # include <ndnboost/preprocessor/arithmetic/add.hpp>
 # include <ndnboost/preprocessor/arithmetic/sub.hpp>
@@ -25,63 +25,63 @@
 # include <ndnboost/preprocessor/tuple/elem.hpp>
 # include <ndnboost/preprocessor/tuple/rem.hpp>
 #
-# /* BOOST_PP_REPEAT_FROM_TO */
+# /* NDNBOOST_PP_REPEAT_FROM_TO */
 #
 # if 0
-#    define BOOST_PP_REPEAT_FROM_TO(first, last, macro, data)
+#    define NDNBOOST_PP_REPEAT_FROM_TO(first, last, macro, data)
 # endif
 #
-# define BOOST_PP_REPEAT_FROM_TO BOOST_PP_CAT(BOOST_PP_REPEAT_FROM_TO_, BOOST_PP_AUTO_REC(BOOST_PP_REPEAT_P, 4))
+# define NDNBOOST_PP_REPEAT_FROM_TO NDNBOOST_PP_CAT(NDNBOOST_PP_REPEAT_FROM_TO_, NDNBOOST_PP_AUTO_REC(NDNBOOST_PP_REPEAT_P, 4))
 #
-# define BOOST_PP_REPEAT_FROM_TO_1(f, l, m, dt) BOOST_PP_REPEAT_FROM_TO_D_1(BOOST_PP_AUTO_REC(BOOST_PP_WHILE_P, 256), f, l, m, dt)
-# define BOOST_PP_REPEAT_FROM_TO_2(f, l, m, dt) BOOST_PP_REPEAT_FROM_TO_D_2(BOOST_PP_AUTO_REC(BOOST_PP_WHILE_P, 256), f, l, m, dt)
-# define BOOST_PP_REPEAT_FROM_TO_3(f, l, m, dt) BOOST_PP_REPEAT_FROM_TO_D_3(BOOST_PP_AUTO_REC(BOOST_PP_WHILE_P, 256), f, l, m, dt)
-# define BOOST_PP_REPEAT_FROM_TO_4(f, l, m, dt) BOOST_PP_ERROR(0x0003)
+# define NDNBOOST_PP_REPEAT_FROM_TO_1(f, l, m, dt) NDNBOOST_PP_REPEAT_FROM_TO_D_1(NDNBOOST_PP_AUTO_REC(NDNBOOST_PP_WHILE_P, 256), f, l, m, dt)
+# define NDNBOOST_PP_REPEAT_FROM_TO_2(f, l, m, dt) NDNBOOST_PP_REPEAT_FROM_TO_D_2(NDNBOOST_PP_AUTO_REC(NDNBOOST_PP_WHILE_P, 256), f, l, m, dt)
+# define NDNBOOST_PP_REPEAT_FROM_TO_3(f, l, m, dt) NDNBOOST_PP_REPEAT_FROM_TO_D_3(NDNBOOST_PP_AUTO_REC(NDNBOOST_PP_WHILE_P, 256), f, l, m, dt)
+# define NDNBOOST_PP_REPEAT_FROM_TO_4(f, l, m, dt) NDNBOOST_PP_ERROR(0x0003)
 #
-# define BOOST_PP_REPEAT_FROM_TO_1ST BOOST_PP_REPEAT_FROM_TO_1
-# define BOOST_PP_REPEAT_FROM_TO_2ND BOOST_PP_REPEAT_FROM_TO_2
-# define BOOST_PP_REPEAT_FROM_TO_3RD BOOST_PP_REPEAT_FROM_TO_3
+# define NDNBOOST_PP_REPEAT_FROM_TO_1ST NDNBOOST_PP_REPEAT_FROM_TO_1
+# define NDNBOOST_PP_REPEAT_FROM_TO_2ND NDNBOOST_PP_REPEAT_FROM_TO_2
+# define NDNBOOST_PP_REPEAT_FROM_TO_3RD NDNBOOST_PP_REPEAT_FROM_TO_3
 #
-# /* BOOST_PP_REPEAT_FROM_TO_D */
+# /* NDNBOOST_PP_REPEAT_FROM_TO_D */
 #
 # if 0
-#    define BOOST_PP_REPEAT_FROM_TO_D(d, first, last, macro, data)
+#    define NDNBOOST_PP_REPEAT_FROM_TO_D(d, first, last, macro, data)
 # endif
 #
-# define BOOST_PP_REPEAT_FROM_TO_D BOOST_PP_CAT(BOOST_PP_REPEAT_FROM_TO_D_, BOOST_PP_AUTO_REC(BOOST_PP_REPEAT_P, 4))
+# define NDNBOOST_PP_REPEAT_FROM_TO_D NDNBOOST_PP_CAT(NDNBOOST_PP_REPEAT_FROM_TO_D_, NDNBOOST_PP_AUTO_REC(NDNBOOST_PP_REPEAT_P, 4))
 #
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_REPEAT_FROM_TO_D_1(d, f, l, m, dt) BOOST_PP_REPEAT_1(BOOST_PP_SUB_D(d, l, f), BOOST_PP_REPEAT_FROM_TO_M_1, (d, f, m, dt))
-#    define BOOST_PP_REPEAT_FROM_TO_D_2(d, f, l, m, dt) BOOST_PP_REPEAT_2(BOOST_PP_SUB_D(d, l, f), BOOST_PP_REPEAT_FROM_TO_M_2, (d, f, m, dt))
-#    define BOOST_PP_REPEAT_FROM_TO_D_3(d, f, l, m, dt) BOOST_PP_REPEAT_3(BOOST_PP_SUB_D(d, l, f), BOOST_PP_REPEAT_FROM_TO_M_3, (d, f, m, dt))
+# if ~NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_EDG()
+#    define NDNBOOST_PP_REPEAT_FROM_TO_D_1(d, f, l, m, dt) NDNBOOST_PP_REPEAT_1(NDNBOOST_PP_SUB_D(d, l, f), NDNBOOST_PP_REPEAT_FROM_TO_M_1, (d, f, m, dt))
+#    define NDNBOOST_PP_REPEAT_FROM_TO_D_2(d, f, l, m, dt) NDNBOOST_PP_REPEAT_2(NDNBOOST_PP_SUB_D(d, l, f), NDNBOOST_PP_REPEAT_FROM_TO_M_2, (d, f, m, dt))
+#    define NDNBOOST_PP_REPEAT_FROM_TO_D_3(d, f, l, m, dt) NDNBOOST_PP_REPEAT_3(NDNBOOST_PP_SUB_D(d, l, f), NDNBOOST_PP_REPEAT_FROM_TO_M_3, (d, f, m, dt))
 # else
-#    define BOOST_PP_REPEAT_FROM_TO_D_1(d, f, l, m, dt) BOOST_PP_REPEAT_FROM_TO_D_1_I(d, f, l, m, dt)
-#    define BOOST_PP_REPEAT_FROM_TO_D_2(d, f, l, m, dt) BOOST_PP_REPEAT_FROM_TO_D_2_I(d, f, l, m, dt)
-#    define BOOST_PP_REPEAT_FROM_TO_D_3(d, f, l, m, dt) BOOST_PP_REPEAT_FROM_TO_D_3_I(d, f, l, m, dt)
-#    define BOOST_PP_REPEAT_FROM_TO_D_1_I(d, f, l, m, dt) BOOST_PP_REPEAT_1(BOOST_PP_SUB_D(d, l, f), BOOST_PP_REPEAT_FROM_TO_M_1, (d, f, m, dt))
-#    define BOOST_PP_REPEAT_FROM_TO_D_2_I(d, f, l, m, dt) BOOST_PP_REPEAT_2(BOOST_PP_SUB_D(d, l, f), BOOST_PP_REPEAT_FROM_TO_M_2, (d, f, m, dt))
-#    define BOOST_PP_REPEAT_FROM_TO_D_3_I(d, f, l, m, dt) BOOST_PP_REPEAT_3(BOOST_PP_SUB_D(d, l, f), BOOST_PP_REPEAT_FROM_TO_M_3, (d, f, m, dt))
+#    define NDNBOOST_PP_REPEAT_FROM_TO_D_1(d, f, l, m, dt) NDNBOOST_PP_REPEAT_FROM_TO_D_1_I(d, f, l, m, dt)
+#    define NDNBOOST_PP_REPEAT_FROM_TO_D_2(d, f, l, m, dt) NDNBOOST_PP_REPEAT_FROM_TO_D_2_I(d, f, l, m, dt)
+#    define NDNBOOST_PP_REPEAT_FROM_TO_D_3(d, f, l, m, dt) NDNBOOST_PP_REPEAT_FROM_TO_D_3_I(d, f, l, m, dt)
+#    define NDNBOOST_PP_REPEAT_FROM_TO_D_1_I(d, f, l, m, dt) NDNBOOST_PP_REPEAT_1(NDNBOOST_PP_SUB_D(d, l, f), NDNBOOST_PP_REPEAT_FROM_TO_M_1, (d, f, m, dt))
+#    define NDNBOOST_PP_REPEAT_FROM_TO_D_2_I(d, f, l, m, dt) NDNBOOST_PP_REPEAT_2(NDNBOOST_PP_SUB_D(d, l, f), NDNBOOST_PP_REPEAT_FROM_TO_M_2, (d, f, m, dt))
+#    define NDNBOOST_PP_REPEAT_FROM_TO_D_3_I(d, f, l, m, dt) NDNBOOST_PP_REPEAT_3(NDNBOOST_PP_SUB_D(d, l, f), NDNBOOST_PP_REPEAT_FROM_TO_M_3, (d, f, m, dt))
 # endif
 #
-# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT()
-#    define BOOST_PP_REPEAT_FROM_TO_M_1(z, n, dfmd) BOOST_PP_REPEAT_FROM_TO_M_1_IM(z, n, BOOST_PP_TUPLE_REM_4 dfmd)
-#    define BOOST_PP_REPEAT_FROM_TO_M_2(z, n, dfmd) BOOST_PP_REPEAT_FROM_TO_M_2_IM(z, n, BOOST_PP_TUPLE_REM_4 dfmd)
-#    define BOOST_PP_REPEAT_FROM_TO_M_3(z, n, dfmd) BOOST_PP_REPEAT_FROM_TO_M_3_IM(z, n, BOOST_PP_TUPLE_REM_4 dfmd)
-#    define BOOST_PP_REPEAT_FROM_TO_M_1_IM(z, n, im) BOOST_PP_REPEAT_FROM_TO_M_1_I(z, n, im)
-#    define BOOST_PP_REPEAT_FROM_TO_M_2_IM(z, n, im) BOOST_PP_REPEAT_FROM_TO_M_2_I(z, n, im)
-#    define BOOST_PP_REPEAT_FROM_TO_M_3_IM(z, n, im) BOOST_PP_REPEAT_FROM_TO_M_3_I(z, n, im)
+# if NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_STRICT()
+#    define NDNBOOST_PP_REPEAT_FROM_TO_M_1(z, n, dfmd) NDNBOOST_PP_REPEAT_FROM_TO_M_1_IM(z, n, NDNBOOST_PP_TUPLE_REM_4 dfmd)
+#    define NDNBOOST_PP_REPEAT_FROM_TO_M_2(z, n, dfmd) NDNBOOST_PP_REPEAT_FROM_TO_M_2_IM(z, n, NDNBOOST_PP_TUPLE_REM_4 dfmd)
+#    define NDNBOOST_PP_REPEAT_FROM_TO_M_3(z, n, dfmd) NDNBOOST_PP_REPEAT_FROM_TO_M_3_IM(z, n, NDNBOOST_PP_TUPLE_REM_4 dfmd)
+#    define NDNBOOST_PP_REPEAT_FROM_TO_M_1_IM(z, n, im) NDNBOOST_PP_REPEAT_FROM_TO_M_1_I(z, n, im)
+#    define NDNBOOST_PP_REPEAT_FROM_TO_M_2_IM(z, n, im) NDNBOOST_PP_REPEAT_FROM_TO_M_2_I(z, n, im)
+#    define NDNBOOST_PP_REPEAT_FROM_TO_M_3_IM(z, n, im) NDNBOOST_PP_REPEAT_FROM_TO_M_3_I(z, n, im)
 # else
-#    define BOOST_PP_REPEAT_FROM_TO_M_1(z, n, dfmd) BOOST_PP_REPEAT_FROM_TO_M_1_I(z, n, BOOST_PP_TUPLE_ELEM(4, 0, dfmd), BOOST_PP_TUPLE_ELEM(4, 1, dfmd), BOOST_PP_TUPLE_ELEM(4, 2, dfmd), BOOST_PP_TUPLE_ELEM(4, 3, dfmd))
-#    define BOOST_PP_REPEAT_FROM_TO_M_2(z, n, dfmd) BOOST_PP_REPEAT_FROM_TO_M_2_I(z, n, BOOST_PP_TUPLE_ELEM(4, 0, dfmd), BOOST_PP_TUPLE_ELEM(4, 1, dfmd), BOOST_PP_TUPLE_ELEM(4, 2, dfmd), BOOST_PP_TUPLE_ELEM(4, 3, dfmd))
-#    define BOOST_PP_REPEAT_FROM_TO_M_3(z, n, dfmd) BOOST_PP_REPEAT_FROM_TO_M_3_I(z, n, BOOST_PP_TUPLE_ELEM(4, 0, dfmd), BOOST_PP_TUPLE_ELEM(4, 1, dfmd), BOOST_PP_TUPLE_ELEM(4, 2, dfmd), BOOST_PP_TUPLE_ELEM(4, 3, dfmd))
+#    define NDNBOOST_PP_REPEAT_FROM_TO_M_1(z, n, dfmd) NDNBOOST_PP_REPEAT_FROM_TO_M_1_I(z, n, NDNBOOST_PP_TUPLE_ELEM(4, 0, dfmd), NDNBOOST_PP_TUPLE_ELEM(4, 1, dfmd), NDNBOOST_PP_TUPLE_ELEM(4, 2, dfmd), NDNBOOST_PP_TUPLE_ELEM(4, 3, dfmd))
+#    define NDNBOOST_PP_REPEAT_FROM_TO_M_2(z, n, dfmd) NDNBOOST_PP_REPEAT_FROM_TO_M_2_I(z, n, NDNBOOST_PP_TUPLE_ELEM(4, 0, dfmd), NDNBOOST_PP_TUPLE_ELEM(4, 1, dfmd), NDNBOOST_PP_TUPLE_ELEM(4, 2, dfmd), NDNBOOST_PP_TUPLE_ELEM(4, 3, dfmd))
+#    define NDNBOOST_PP_REPEAT_FROM_TO_M_3(z, n, dfmd) NDNBOOST_PP_REPEAT_FROM_TO_M_3_I(z, n, NDNBOOST_PP_TUPLE_ELEM(4, 0, dfmd), NDNBOOST_PP_TUPLE_ELEM(4, 1, dfmd), NDNBOOST_PP_TUPLE_ELEM(4, 2, dfmd), NDNBOOST_PP_TUPLE_ELEM(4, 3, dfmd))
 # endif
 #
-# define BOOST_PP_REPEAT_FROM_TO_M_1_I(z, n, d, f, m, dt) BOOST_PP_REPEAT_FROM_TO_M_1_II(z, BOOST_PP_ADD_D(d, n, f), m, dt)
-# define BOOST_PP_REPEAT_FROM_TO_M_2_I(z, n, d, f, m, dt) BOOST_PP_REPEAT_FROM_TO_M_2_II(z, BOOST_PP_ADD_D(d, n, f), m, dt)
-# define BOOST_PP_REPEAT_FROM_TO_M_3_I(z, n, d, f, m, dt) BOOST_PP_REPEAT_FROM_TO_M_3_II(z, BOOST_PP_ADD_D(d, n, f), m, dt)
+# define NDNBOOST_PP_REPEAT_FROM_TO_M_1_I(z, n, d, f, m, dt) NDNBOOST_PP_REPEAT_FROM_TO_M_1_II(z, NDNBOOST_PP_ADD_D(d, n, f), m, dt)
+# define NDNBOOST_PP_REPEAT_FROM_TO_M_2_I(z, n, d, f, m, dt) NDNBOOST_PP_REPEAT_FROM_TO_M_2_II(z, NDNBOOST_PP_ADD_D(d, n, f), m, dt)
+# define NDNBOOST_PP_REPEAT_FROM_TO_M_3_I(z, n, d, f, m, dt) NDNBOOST_PP_REPEAT_FROM_TO_M_3_II(z, NDNBOOST_PP_ADD_D(d, n, f), m, dt)
 #
-# define BOOST_PP_REPEAT_FROM_TO_M_1_II(z, n, m, dt) m(z, n, dt)
-# define BOOST_PP_REPEAT_FROM_TO_M_2_II(z, n, m, dt) m(z, n, dt)
-# define BOOST_PP_REPEAT_FROM_TO_M_3_II(z, n, m, dt) m(z, n, dt)
+# define NDNBOOST_PP_REPEAT_FROM_TO_M_1_II(z, n, m, dt) m(z, n, dt)
+# define NDNBOOST_PP_REPEAT_FROM_TO_M_2_II(z, n, m, dt) m(z, n, dt)
+# define NDNBOOST_PP_REPEAT_FROM_TO_M_3_II(z, n, m, dt) m(z, n, dt)
 #
 # endif
diff --git a/include/ndnboost/preprocessor/seq/cat.hpp b/include/ndnboost/preprocessor/seq/cat.hpp
index e0b1046..1e689b1 100644
--- a/include/ndnboost/preprocessor/seq/cat.hpp
+++ b/include/ndnboost/preprocessor/seq/cat.hpp
@@ -9,8 +9,8 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_SEQ_CAT_HPP
-# define BOOST_PREPROCESSOR_SEQ_CAT_HPP
+# ifndef NDNBOOST_PREPROCESSOR_SEQ_CAT_HPP
+# define NDNBOOST_PREPROCESSOR_SEQ_CAT_HPP
 #
 # include <ndnboost/preprocessor/arithmetic/dec.hpp>
 # include <ndnboost/preprocessor/config/config.hpp>
@@ -20,30 +20,30 @@
 # include <ndnboost/preprocessor/seq/size.hpp>
 # include <ndnboost/preprocessor/tuple/eat.hpp>
 #
-# /* BOOST_PP_SEQ_CAT */
+# /* NDNBOOST_PP_SEQ_CAT */
 #
-# define BOOST_PP_SEQ_CAT(seq) \
-    BOOST_PP_IF( \
-        BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(seq)), \
-        BOOST_PP_SEQ_CAT_I, \
-        BOOST_PP_SEQ_HEAD \
+# define NDNBOOST_PP_SEQ_CAT(seq) \
+    NDNBOOST_PP_IF( \
+        NDNBOOST_PP_DEC(NDNBOOST_PP_SEQ_SIZE(seq)), \
+        NDNBOOST_PP_SEQ_CAT_I, \
+        NDNBOOST_PP_SEQ_HEAD \
     )(seq) \
     /**/
-# define BOOST_PP_SEQ_CAT_I(seq) BOOST_PP_SEQ_FOLD_LEFT(BOOST_PP_SEQ_CAT_O, BOOST_PP_SEQ_HEAD(seq), BOOST_PP_SEQ_TAIL(seq))
+# define NDNBOOST_PP_SEQ_CAT_I(seq) NDNBOOST_PP_SEQ_FOLD_LEFT(NDNBOOST_PP_SEQ_CAT_O, NDNBOOST_PP_SEQ_HEAD(seq), NDNBOOST_PP_SEQ_TAIL(seq))
 #
-# define BOOST_PP_SEQ_CAT_O(s, st, elem) BOOST_PP_SEQ_CAT_O_I(st, elem)
-# define BOOST_PP_SEQ_CAT_O_I(a, b) a ## b
+# define NDNBOOST_PP_SEQ_CAT_O(s, st, elem) NDNBOOST_PP_SEQ_CAT_O_I(st, elem)
+# define NDNBOOST_PP_SEQ_CAT_O_I(a, b) a ## b
 #
-# /* BOOST_PP_SEQ_CAT_S */
+# /* NDNBOOST_PP_SEQ_CAT_S */
 #
-# define BOOST_PP_SEQ_CAT_S(s, seq) \
-    BOOST_PP_IF( \
-        BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(seq)), \
-        BOOST_PP_SEQ_CAT_S_I_A, \
-        BOOST_PP_SEQ_CAT_S_I_B \
+# define NDNBOOST_PP_SEQ_CAT_S(s, seq) \
+    NDNBOOST_PP_IF( \
+        NDNBOOST_PP_DEC(NDNBOOST_PP_SEQ_SIZE(seq)), \
+        NDNBOOST_PP_SEQ_CAT_S_I_A, \
+        NDNBOOST_PP_SEQ_CAT_S_I_B \
     )(s, seq) \
     /**/
-# define BOOST_PP_SEQ_CAT_S_I_A(s, seq) BOOST_PP_SEQ_FOLD_LEFT_ ## s(BOOST_PP_SEQ_CAT_O, BOOST_PP_SEQ_HEAD(seq), BOOST_PP_SEQ_TAIL(seq))
-# define BOOST_PP_SEQ_CAT_S_I_B(s, seq) BOOST_PP_SEQ_HEAD(seq)
+# define NDNBOOST_PP_SEQ_CAT_S_I_A(s, seq) NDNBOOST_PP_SEQ_FOLD_LEFT_ ## s(NDNBOOST_PP_SEQ_CAT_O, NDNBOOST_PP_SEQ_HEAD(seq), NDNBOOST_PP_SEQ_TAIL(seq))
+# define NDNBOOST_PP_SEQ_CAT_S_I_B(s, seq) NDNBOOST_PP_SEQ_HEAD(seq)
 #
 # endif
diff --git a/include/ndnboost/preprocessor/seq/detail/split.hpp b/include/ndnboost/preprocessor/seq/detail/split.hpp
index 2a56280..8e833ad 100644
--- a/include/ndnboost/preprocessor/seq/detail/split.hpp
+++ b/include/ndnboost/preprocessor/seq/detail/split.hpp
@@ -9,276 +9,276 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_SEQ_DETAIL_SPLIT_HPP
-# define BOOST_PREPROCESSOR_SEQ_DETAIL_SPLIT_HPP
+# ifndef NDNBOOST_PREPROCESSOR_SEQ_DETAIL_SPLIT_HPP
+# define NDNBOOST_PREPROCESSOR_SEQ_DETAIL_SPLIT_HPP
 #
 # include <ndnboost/preprocessor/config/config.hpp>
 #
-# /* BOOST_PP_SEQ_SPLIT */
+# /* NDNBOOST_PP_SEQ_SPLIT */
 #
-# define BOOST_PP_SEQ_SPLIT(n, seq) BOOST_PP_SEQ_SPLIT_D(n, seq)
+# define NDNBOOST_PP_SEQ_SPLIT(n, seq) NDNBOOST_PP_SEQ_SPLIT_D(n, seq)
 #
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-#    define BOOST_PP_SEQ_SPLIT_D(n, seq) (BOOST_PP_SEQ_SPLIT_ ## n seq)
+# if ~NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_MWCC()
+#    define NDNBOOST_PP_SEQ_SPLIT_D(n, seq) (NDNBOOST_PP_SEQ_SPLIT_ ## n seq)
 # else
-#    define BOOST_PP_SEQ_SPLIT_D(n, seq) (BOOST_PP_SEQ_SPLIT_ ## n ## seq)
+#    define NDNBOOST_PP_SEQ_SPLIT_D(n, seq) (NDNBOOST_PP_SEQ_SPLIT_ ## n ## seq)
 # endif
 #
-# define BOOST_PP_SEQ_SPLIT_1(x) (x),
-# define BOOST_PP_SEQ_SPLIT_2(x) (x) BOOST_PP_SEQ_SPLIT_1
-# define BOOST_PP_SEQ_SPLIT_3(x) (x) BOOST_PP_SEQ_SPLIT_2
-# define BOOST_PP_SEQ_SPLIT_4(x) (x) BOOST_PP_SEQ_SPLIT_3
-# define BOOST_PP_SEQ_SPLIT_5(x) (x) BOOST_PP_SEQ_SPLIT_4
-# define BOOST_PP_SEQ_SPLIT_6(x) (x) BOOST_PP_SEQ_SPLIT_5
-# define BOOST_PP_SEQ_SPLIT_7(x) (x) BOOST_PP_SEQ_SPLIT_6
-# define BOOST_PP_SEQ_SPLIT_8(x) (x) BOOST_PP_SEQ_SPLIT_7
-# define BOOST_PP_SEQ_SPLIT_9(x) (x) BOOST_PP_SEQ_SPLIT_8
-# define BOOST_PP_SEQ_SPLIT_10(x) (x) BOOST_PP_SEQ_SPLIT_9
-# define BOOST_PP_SEQ_SPLIT_11(x) (x) BOOST_PP_SEQ_SPLIT_10
-# define BOOST_PP_SEQ_SPLIT_12(x) (x) BOOST_PP_SEQ_SPLIT_11
-# define BOOST_PP_SEQ_SPLIT_13(x) (x) BOOST_PP_SEQ_SPLIT_12
-# define BOOST_PP_SEQ_SPLIT_14(x) (x) BOOST_PP_SEQ_SPLIT_13
-# define BOOST_PP_SEQ_SPLIT_15(x) (x) BOOST_PP_SEQ_SPLIT_14
-# define BOOST_PP_SEQ_SPLIT_16(x) (x) BOOST_PP_SEQ_SPLIT_15
-# define BOOST_PP_SEQ_SPLIT_17(x) (x) BOOST_PP_SEQ_SPLIT_16
-# define BOOST_PP_SEQ_SPLIT_18(x) (x) BOOST_PP_SEQ_SPLIT_17
-# define BOOST_PP_SEQ_SPLIT_19(x) (x) BOOST_PP_SEQ_SPLIT_18
-# define BOOST_PP_SEQ_SPLIT_20(x) (x) BOOST_PP_SEQ_SPLIT_19
-# define BOOST_PP_SEQ_SPLIT_21(x) (x) BOOST_PP_SEQ_SPLIT_20
-# define BOOST_PP_SEQ_SPLIT_22(x) (x) BOOST_PP_SEQ_SPLIT_21
-# define BOOST_PP_SEQ_SPLIT_23(x) (x) BOOST_PP_SEQ_SPLIT_22
-# define BOOST_PP_SEQ_SPLIT_24(x) (x) BOOST_PP_SEQ_SPLIT_23
-# define BOOST_PP_SEQ_SPLIT_25(x) (x) BOOST_PP_SEQ_SPLIT_24
-# define BOOST_PP_SEQ_SPLIT_26(x) (x) BOOST_PP_SEQ_SPLIT_25
-# define BOOST_PP_SEQ_SPLIT_27(x) (x) BOOST_PP_SEQ_SPLIT_26
-# define BOOST_PP_SEQ_SPLIT_28(x) (x) BOOST_PP_SEQ_SPLIT_27
-# define BOOST_PP_SEQ_SPLIT_29(x) (x) BOOST_PP_SEQ_SPLIT_28
-# define BOOST_PP_SEQ_SPLIT_30(x) (x) BOOST_PP_SEQ_SPLIT_29
-# define BOOST_PP_SEQ_SPLIT_31(x) (x) BOOST_PP_SEQ_SPLIT_30
-# define BOOST_PP_SEQ_SPLIT_32(x) (x) BOOST_PP_SEQ_SPLIT_31
-# define BOOST_PP_SEQ_SPLIT_33(x) (x) BOOST_PP_SEQ_SPLIT_32
-# define BOOST_PP_SEQ_SPLIT_34(x) (x) BOOST_PP_SEQ_SPLIT_33
-# define BOOST_PP_SEQ_SPLIT_35(x) (x) BOOST_PP_SEQ_SPLIT_34
-# define BOOST_PP_SEQ_SPLIT_36(x) (x) BOOST_PP_SEQ_SPLIT_35
-# define BOOST_PP_SEQ_SPLIT_37(x) (x) BOOST_PP_SEQ_SPLIT_36
-# define BOOST_PP_SEQ_SPLIT_38(x) (x) BOOST_PP_SEQ_SPLIT_37
-# define BOOST_PP_SEQ_SPLIT_39(x) (x) BOOST_PP_SEQ_SPLIT_38
-# define BOOST_PP_SEQ_SPLIT_40(x) (x) BOOST_PP_SEQ_SPLIT_39
-# define BOOST_PP_SEQ_SPLIT_41(x) (x) BOOST_PP_SEQ_SPLIT_40
-# define BOOST_PP_SEQ_SPLIT_42(x) (x) BOOST_PP_SEQ_SPLIT_41
-# define BOOST_PP_SEQ_SPLIT_43(x) (x) BOOST_PP_SEQ_SPLIT_42
-# define BOOST_PP_SEQ_SPLIT_44(x) (x) BOOST_PP_SEQ_SPLIT_43
-# define BOOST_PP_SEQ_SPLIT_45(x) (x) BOOST_PP_SEQ_SPLIT_44
-# define BOOST_PP_SEQ_SPLIT_46(x) (x) BOOST_PP_SEQ_SPLIT_45
-# define BOOST_PP_SEQ_SPLIT_47(x) (x) BOOST_PP_SEQ_SPLIT_46
-# define BOOST_PP_SEQ_SPLIT_48(x) (x) BOOST_PP_SEQ_SPLIT_47
-# define BOOST_PP_SEQ_SPLIT_49(x) (x) BOOST_PP_SEQ_SPLIT_48
-# define BOOST_PP_SEQ_SPLIT_50(x) (x) BOOST_PP_SEQ_SPLIT_49
-# define BOOST_PP_SEQ_SPLIT_51(x) (x) BOOST_PP_SEQ_SPLIT_50
-# define BOOST_PP_SEQ_SPLIT_52(x) (x) BOOST_PP_SEQ_SPLIT_51
-# define BOOST_PP_SEQ_SPLIT_53(x) (x) BOOST_PP_SEQ_SPLIT_52
-# define BOOST_PP_SEQ_SPLIT_54(x) (x) BOOST_PP_SEQ_SPLIT_53
-# define BOOST_PP_SEQ_SPLIT_55(x) (x) BOOST_PP_SEQ_SPLIT_54
-# define BOOST_PP_SEQ_SPLIT_56(x) (x) BOOST_PP_SEQ_SPLIT_55
-# define BOOST_PP_SEQ_SPLIT_57(x) (x) BOOST_PP_SEQ_SPLIT_56
-# define BOOST_PP_SEQ_SPLIT_58(x) (x) BOOST_PP_SEQ_SPLIT_57
-# define BOOST_PP_SEQ_SPLIT_59(x) (x) BOOST_PP_SEQ_SPLIT_58
-# define BOOST_PP_SEQ_SPLIT_60(x) (x) BOOST_PP_SEQ_SPLIT_59
-# define BOOST_PP_SEQ_SPLIT_61(x) (x) BOOST_PP_SEQ_SPLIT_60
-# define BOOST_PP_SEQ_SPLIT_62(x) (x) BOOST_PP_SEQ_SPLIT_61
-# define BOOST_PP_SEQ_SPLIT_63(x) (x) BOOST_PP_SEQ_SPLIT_62
-# define BOOST_PP_SEQ_SPLIT_64(x) (x) BOOST_PP_SEQ_SPLIT_63
-# define BOOST_PP_SEQ_SPLIT_65(x) (x) BOOST_PP_SEQ_SPLIT_64
-# define BOOST_PP_SEQ_SPLIT_66(x) (x) BOOST_PP_SEQ_SPLIT_65
-# define BOOST_PP_SEQ_SPLIT_67(x) (x) BOOST_PP_SEQ_SPLIT_66
-# define BOOST_PP_SEQ_SPLIT_68(x) (x) BOOST_PP_SEQ_SPLIT_67
-# define BOOST_PP_SEQ_SPLIT_69(x) (x) BOOST_PP_SEQ_SPLIT_68
-# define BOOST_PP_SEQ_SPLIT_70(x) (x) BOOST_PP_SEQ_SPLIT_69
-# define BOOST_PP_SEQ_SPLIT_71(x) (x) BOOST_PP_SEQ_SPLIT_70
-# define BOOST_PP_SEQ_SPLIT_72(x) (x) BOOST_PP_SEQ_SPLIT_71
-# define BOOST_PP_SEQ_SPLIT_73(x) (x) BOOST_PP_SEQ_SPLIT_72
-# define BOOST_PP_SEQ_SPLIT_74(x) (x) BOOST_PP_SEQ_SPLIT_73
-# define BOOST_PP_SEQ_SPLIT_75(x) (x) BOOST_PP_SEQ_SPLIT_74
-# define BOOST_PP_SEQ_SPLIT_76(x) (x) BOOST_PP_SEQ_SPLIT_75
-# define BOOST_PP_SEQ_SPLIT_77(x) (x) BOOST_PP_SEQ_SPLIT_76
-# define BOOST_PP_SEQ_SPLIT_78(x) (x) BOOST_PP_SEQ_SPLIT_77
-# define BOOST_PP_SEQ_SPLIT_79(x) (x) BOOST_PP_SEQ_SPLIT_78
-# define BOOST_PP_SEQ_SPLIT_80(x) (x) BOOST_PP_SEQ_SPLIT_79
-# define BOOST_PP_SEQ_SPLIT_81(x) (x) BOOST_PP_SEQ_SPLIT_80
-# define BOOST_PP_SEQ_SPLIT_82(x) (x) BOOST_PP_SEQ_SPLIT_81
-# define BOOST_PP_SEQ_SPLIT_83(x) (x) BOOST_PP_SEQ_SPLIT_82
-# define BOOST_PP_SEQ_SPLIT_84(x) (x) BOOST_PP_SEQ_SPLIT_83
-# define BOOST_PP_SEQ_SPLIT_85(x) (x) BOOST_PP_SEQ_SPLIT_84
-# define BOOST_PP_SEQ_SPLIT_86(x) (x) BOOST_PP_SEQ_SPLIT_85
-# define BOOST_PP_SEQ_SPLIT_87(x) (x) BOOST_PP_SEQ_SPLIT_86
-# define BOOST_PP_SEQ_SPLIT_88(x) (x) BOOST_PP_SEQ_SPLIT_87
-# define BOOST_PP_SEQ_SPLIT_89(x) (x) BOOST_PP_SEQ_SPLIT_88
-# define BOOST_PP_SEQ_SPLIT_90(x) (x) BOOST_PP_SEQ_SPLIT_89
-# define BOOST_PP_SEQ_SPLIT_91(x) (x) BOOST_PP_SEQ_SPLIT_90
-# define BOOST_PP_SEQ_SPLIT_92(x) (x) BOOST_PP_SEQ_SPLIT_91
-# define BOOST_PP_SEQ_SPLIT_93(x) (x) BOOST_PP_SEQ_SPLIT_92
-# define BOOST_PP_SEQ_SPLIT_94(x) (x) BOOST_PP_SEQ_SPLIT_93
-# define BOOST_PP_SEQ_SPLIT_95(x) (x) BOOST_PP_SEQ_SPLIT_94
-# define BOOST_PP_SEQ_SPLIT_96(x) (x) BOOST_PP_SEQ_SPLIT_95
-# define BOOST_PP_SEQ_SPLIT_97(x) (x) BOOST_PP_SEQ_SPLIT_96
-# define BOOST_PP_SEQ_SPLIT_98(x) (x) BOOST_PP_SEQ_SPLIT_97
-# define BOOST_PP_SEQ_SPLIT_99(x) (x) BOOST_PP_SEQ_SPLIT_98
-# define BOOST_PP_SEQ_SPLIT_100(x) (x) BOOST_PP_SEQ_SPLIT_99
-# define BOOST_PP_SEQ_SPLIT_101(x) (x) BOOST_PP_SEQ_SPLIT_100
-# define BOOST_PP_SEQ_SPLIT_102(x) (x) BOOST_PP_SEQ_SPLIT_101
-# define BOOST_PP_SEQ_SPLIT_103(x) (x) BOOST_PP_SEQ_SPLIT_102
-# define BOOST_PP_SEQ_SPLIT_104(x) (x) BOOST_PP_SEQ_SPLIT_103
-# define BOOST_PP_SEQ_SPLIT_105(x) (x) BOOST_PP_SEQ_SPLIT_104
-# define BOOST_PP_SEQ_SPLIT_106(x) (x) BOOST_PP_SEQ_SPLIT_105
-# define BOOST_PP_SEQ_SPLIT_107(x) (x) BOOST_PP_SEQ_SPLIT_106
-# define BOOST_PP_SEQ_SPLIT_108(x) (x) BOOST_PP_SEQ_SPLIT_107
-# define BOOST_PP_SEQ_SPLIT_109(x) (x) BOOST_PP_SEQ_SPLIT_108
-# define BOOST_PP_SEQ_SPLIT_110(x) (x) BOOST_PP_SEQ_SPLIT_109
-# define BOOST_PP_SEQ_SPLIT_111(x) (x) BOOST_PP_SEQ_SPLIT_110
-# define BOOST_PP_SEQ_SPLIT_112(x) (x) BOOST_PP_SEQ_SPLIT_111
-# define BOOST_PP_SEQ_SPLIT_113(x) (x) BOOST_PP_SEQ_SPLIT_112
-# define BOOST_PP_SEQ_SPLIT_114(x) (x) BOOST_PP_SEQ_SPLIT_113
-# define BOOST_PP_SEQ_SPLIT_115(x) (x) BOOST_PP_SEQ_SPLIT_114
-# define BOOST_PP_SEQ_SPLIT_116(x) (x) BOOST_PP_SEQ_SPLIT_115
-# define BOOST_PP_SEQ_SPLIT_117(x) (x) BOOST_PP_SEQ_SPLIT_116
-# define BOOST_PP_SEQ_SPLIT_118(x) (x) BOOST_PP_SEQ_SPLIT_117
-# define BOOST_PP_SEQ_SPLIT_119(x) (x) BOOST_PP_SEQ_SPLIT_118
-# define BOOST_PP_SEQ_SPLIT_120(x) (x) BOOST_PP_SEQ_SPLIT_119
-# define BOOST_PP_SEQ_SPLIT_121(x) (x) BOOST_PP_SEQ_SPLIT_120
-# define BOOST_PP_SEQ_SPLIT_122(x) (x) BOOST_PP_SEQ_SPLIT_121
-# define BOOST_PP_SEQ_SPLIT_123(x) (x) BOOST_PP_SEQ_SPLIT_122
-# define BOOST_PP_SEQ_SPLIT_124(x) (x) BOOST_PP_SEQ_SPLIT_123
-# define BOOST_PP_SEQ_SPLIT_125(x) (x) BOOST_PP_SEQ_SPLIT_124
-# define BOOST_PP_SEQ_SPLIT_126(x) (x) BOOST_PP_SEQ_SPLIT_125
-# define BOOST_PP_SEQ_SPLIT_127(x) (x) BOOST_PP_SEQ_SPLIT_126
-# define BOOST_PP_SEQ_SPLIT_128(x) (x) BOOST_PP_SEQ_SPLIT_127
-# define BOOST_PP_SEQ_SPLIT_129(x) (x) BOOST_PP_SEQ_SPLIT_128
-# define BOOST_PP_SEQ_SPLIT_130(x) (x) BOOST_PP_SEQ_SPLIT_129
-# define BOOST_PP_SEQ_SPLIT_131(x) (x) BOOST_PP_SEQ_SPLIT_130
-# define BOOST_PP_SEQ_SPLIT_132(x) (x) BOOST_PP_SEQ_SPLIT_131
-# define BOOST_PP_SEQ_SPLIT_133(x) (x) BOOST_PP_SEQ_SPLIT_132
-# define BOOST_PP_SEQ_SPLIT_134(x) (x) BOOST_PP_SEQ_SPLIT_133
-# define BOOST_PP_SEQ_SPLIT_135(x) (x) BOOST_PP_SEQ_SPLIT_134
-# define BOOST_PP_SEQ_SPLIT_136(x) (x) BOOST_PP_SEQ_SPLIT_135
-# define BOOST_PP_SEQ_SPLIT_137(x) (x) BOOST_PP_SEQ_SPLIT_136
-# define BOOST_PP_SEQ_SPLIT_138(x) (x) BOOST_PP_SEQ_SPLIT_137
-# define BOOST_PP_SEQ_SPLIT_139(x) (x) BOOST_PP_SEQ_SPLIT_138
-# define BOOST_PP_SEQ_SPLIT_140(x) (x) BOOST_PP_SEQ_SPLIT_139
-# define BOOST_PP_SEQ_SPLIT_141(x) (x) BOOST_PP_SEQ_SPLIT_140
-# define BOOST_PP_SEQ_SPLIT_142(x) (x) BOOST_PP_SEQ_SPLIT_141
-# define BOOST_PP_SEQ_SPLIT_143(x) (x) BOOST_PP_SEQ_SPLIT_142
-# define BOOST_PP_SEQ_SPLIT_144(x) (x) BOOST_PP_SEQ_SPLIT_143
-# define BOOST_PP_SEQ_SPLIT_145(x) (x) BOOST_PP_SEQ_SPLIT_144
-# define BOOST_PP_SEQ_SPLIT_146(x) (x) BOOST_PP_SEQ_SPLIT_145
-# define BOOST_PP_SEQ_SPLIT_147(x) (x) BOOST_PP_SEQ_SPLIT_146
-# define BOOST_PP_SEQ_SPLIT_148(x) (x) BOOST_PP_SEQ_SPLIT_147
-# define BOOST_PP_SEQ_SPLIT_149(x) (x) BOOST_PP_SEQ_SPLIT_148
-# define BOOST_PP_SEQ_SPLIT_150(x) (x) BOOST_PP_SEQ_SPLIT_149
-# define BOOST_PP_SEQ_SPLIT_151(x) (x) BOOST_PP_SEQ_SPLIT_150
-# define BOOST_PP_SEQ_SPLIT_152(x) (x) BOOST_PP_SEQ_SPLIT_151
-# define BOOST_PP_SEQ_SPLIT_153(x) (x) BOOST_PP_SEQ_SPLIT_152
-# define BOOST_PP_SEQ_SPLIT_154(x) (x) BOOST_PP_SEQ_SPLIT_153
-# define BOOST_PP_SEQ_SPLIT_155(x) (x) BOOST_PP_SEQ_SPLIT_154
-# define BOOST_PP_SEQ_SPLIT_156(x) (x) BOOST_PP_SEQ_SPLIT_155
-# define BOOST_PP_SEQ_SPLIT_157(x) (x) BOOST_PP_SEQ_SPLIT_156
-# define BOOST_PP_SEQ_SPLIT_158(x) (x) BOOST_PP_SEQ_SPLIT_157
-# define BOOST_PP_SEQ_SPLIT_159(x) (x) BOOST_PP_SEQ_SPLIT_158
-# define BOOST_PP_SEQ_SPLIT_160(x) (x) BOOST_PP_SEQ_SPLIT_159
-# define BOOST_PP_SEQ_SPLIT_161(x) (x) BOOST_PP_SEQ_SPLIT_160
-# define BOOST_PP_SEQ_SPLIT_162(x) (x) BOOST_PP_SEQ_SPLIT_161
-# define BOOST_PP_SEQ_SPLIT_163(x) (x) BOOST_PP_SEQ_SPLIT_162
-# define BOOST_PP_SEQ_SPLIT_164(x) (x) BOOST_PP_SEQ_SPLIT_163
-# define BOOST_PP_SEQ_SPLIT_165(x) (x) BOOST_PP_SEQ_SPLIT_164
-# define BOOST_PP_SEQ_SPLIT_166(x) (x) BOOST_PP_SEQ_SPLIT_165
-# define BOOST_PP_SEQ_SPLIT_167(x) (x) BOOST_PP_SEQ_SPLIT_166
-# define BOOST_PP_SEQ_SPLIT_168(x) (x) BOOST_PP_SEQ_SPLIT_167
-# define BOOST_PP_SEQ_SPLIT_169(x) (x) BOOST_PP_SEQ_SPLIT_168
-# define BOOST_PP_SEQ_SPLIT_170(x) (x) BOOST_PP_SEQ_SPLIT_169
-# define BOOST_PP_SEQ_SPLIT_171(x) (x) BOOST_PP_SEQ_SPLIT_170
-# define BOOST_PP_SEQ_SPLIT_172(x) (x) BOOST_PP_SEQ_SPLIT_171
-# define BOOST_PP_SEQ_SPLIT_173(x) (x) BOOST_PP_SEQ_SPLIT_172
-# define BOOST_PP_SEQ_SPLIT_174(x) (x) BOOST_PP_SEQ_SPLIT_173
-# define BOOST_PP_SEQ_SPLIT_175(x) (x) BOOST_PP_SEQ_SPLIT_174
-# define BOOST_PP_SEQ_SPLIT_176(x) (x) BOOST_PP_SEQ_SPLIT_175
-# define BOOST_PP_SEQ_SPLIT_177(x) (x) BOOST_PP_SEQ_SPLIT_176
-# define BOOST_PP_SEQ_SPLIT_178(x) (x) BOOST_PP_SEQ_SPLIT_177
-# define BOOST_PP_SEQ_SPLIT_179(x) (x) BOOST_PP_SEQ_SPLIT_178
-# define BOOST_PP_SEQ_SPLIT_180(x) (x) BOOST_PP_SEQ_SPLIT_179
-# define BOOST_PP_SEQ_SPLIT_181(x) (x) BOOST_PP_SEQ_SPLIT_180
-# define BOOST_PP_SEQ_SPLIT_182(x) (x) BOOST_PP_SEQ_SPLIT_181
-# define BOOST_PP_SEQ_SPLIT_183(x) (x) BOOST_PP_SEQ_SPLIT_182
-# define BOOST_PP_SEQ_SPLIT_184(x) (x) BOOST_PP_SEQ_SPLIT_183
-# define BOOST_PP_SEQ_SPLIT_185(x) (x) BOOST_PP_SEQ_SPLIT_184
-# define BOOST_PP_SEQ_SPLIT_186(x) (x) BOOST_PP_SEQ_SPLIT_185
-# define BOOST_PP_SEQ_SPLIT_187(x) (x) BOOST_PP_SEQ_SPLIT_186
-# define BOOST_PP_SEQ_SPLIT_188(x) (x) BOOST_PP_SEQ_SPLIT_187
-# define BOOST_PP_SEQ_SPLIT_189(x) (x) BOOST_PP_SEQ_SPLIT_188
-# define BOOST_PP_SEQ_SPLIT_190(x) (x) BOOST_PP_SEQ_SPLIT_189
-# define BOOST_PP_SEQ_SPLIT_191(x) (x) BOOST_PP_SEQ_SPLIT_190
-# define BOOST_PP_SEQ_SPLIT_192(x) (x) BOOST_PP_SEQ_SPLIT_191
-# define BOOST_PP_SEQ_SPLIT_193(x) (x) BOOST_PP_SEQ_SPLIT_192
-# define BOOST_PP_SEQ_SPLIT_194(x) (x) BOOST_PP_SEQ_SPLIT_193
-# define BOOST_PP_SEQ_SPLIT_195(x) (x) BOOST_PP_SEQ_SPLIT_194
-# define BOOST_PP_SEQ_SPLIT_196(x) (x) BOOST_PP_SEQ_SPLIT_195
-# define BOOST_PP_SEQ_SPLIT_197(x) (x) BOOST_PP_SEQ_SPLIT_196
-# define BOOST_PP_SEQ_SPLIT_198(x) (x) BOOST_PP_SEQ_SPLIT_197
-# define BOOST_PP_SEQ_SPLIT_199(x) (x) BOOST_PP_SEQ_SPLIT_198
-# define BOOST_PP_SEQ_SPLIT_200(x) (x) BOOST_PP_SEQ_SPLIT_199
-# define BOOST_PP_SEQ_SPLIT_201(x) (x) BOOST_PP_SEQ_SPLIT_200
-# define BOOST_PP_SEQ_SPLIT_202(x) (x) BOOST_PP_SEQ_SPLIT_201
-# define BOOST_PP_SEQ_SPLIT_203(x) (x) BOOST_PP_SEQ_SPLIT_202
-# define BOOST_PP_SEQ_SPLIT_204(x) (x) BOOST_PP_SEQ_SPLIT_203
-# define BOOST_PP_SEQ_SPLIT_205(x) (x) BOOST_PP_SEQ_SPLIT_204
-# define BOOST_PP_SEQ_SPLIT_206(x) (x) BOOST_PP_SEQ_SPLIT_205
-# define BOOST_PP_SEQ_SPLIT_207(x) (x) BOOST_PP_SEQ_SPLIT_206
-# define BOOST_PP_SEQ_SPLIT_208(x) (x) BOOST_PP_SEQ_SPLIT_207
-# define BOOST_PP_SEQ_SPLIT_209(x) (x) BOOST_PP_SEQ_SPLIT_208
-# define BOOST_PP_SEQ_SPLIT_210(x) (x) BOOST_PP_SEQ_SPLIT_209
-# define BOOST_PP_SEQ_SPLIT_211(x) (x) BOOST_PP_SEQ_SPLIT_210
-# define BOOST_PP_SEQ_SPLIT_212(x) (x) BOOST_PP_SEQ_SPLIT_211
-# define BOOST_PP_SEQ_SPLIT_213(x) (x) BOOST_PP_SEQ_SPLIT_212
-# define BOOST_PP_SEQ_SPLIT_214(x) (x) BOOST_PP_SEQ_SPLIT_213
-# define BOOST_PP_SEQ_SPLIT_215(x) (x) BOOST_PP_SEQ_SPLIT_214
-# define BOOST_PP_SEQ_SPLIT_216(x) (x) BOOST_PP_SEQ_SPLIT_215
-# define BOOST_PP_SEQ_SPLIT_217(x) (x) BOOST_PP_SEQ_SPLIT_216
-# define BOOST_PP_SEQ_SPLIT_218(x) (x) BOOST_PP_SEQ_SPLIT_217
-# define BOOST_PP_SEQ_SPLIT_219(x) (x) BOOST_PP_SEQ_SPLIT_218
-# define BOOST_PP_SEQ_SPLIT_220(x) (x) BOOST_PP_SEQ_SPLIT_219
-# define BOOST_PP_SEQ_SPLIT_221(x) (x) BOOST_PP_SEQ_SPLIT_220
-# define BOOST_PP_SEQ_SPLIT_222(x) (x) BOOST_PP_SEQ_SPLIT_221
-# define BOOST_PP_SEQ_SPLIT_223(x) (x) BOOST_PP_SEQ_SPLIT_222
-# define BOOST_PP_SEQ_SPLIT_224(x) (x) BOOST_PP_SEQ_SPLIT_223
-# define BOOST_PP_SEQ_SPLIT_225(x) (x) BOOST_PP_SEQ_SPLIT_224
-# define BOOST_PP_SEQ_SPLIT_226(x) (x) BOOST_PP_SEQ_SPLIT_225
-# define BOOST_PP_SEQ_SPLIT_227(x) (x) BOOST_PP_SEQ_SPLIT_226
-# define BOOST_PP_SEQ_SPLIT_228(x) (x) BOOST_PP_SEQ_SPLIT_227
-# define BOOST_PP_SEQ_SPLIT_229(x) (x) BOOST_PP_SEQ_SPLIT_228
-# define BOOST_PP_SEQ_SPLIT_230(x) (x) BOOST_PP_SEQ_SPLIT_229
-# define BOOST_PP_SEQ_SPLIT_231(x) (x) BOOST_PP_SEQ_SPLIT_230
-# define BOOST_PP_SEQ_SPLIT_232(x) (x) BOOST_PP_SEQ_SPLIT_231
-# define BOOST_PP_SEQ_SPLIT_233(x) (x) BOOST_PP_SEQ_SPLIT_232
-# define BOOST_PP_SEQ_SPLIT_234(x) (x) BOOST_PP_SEQ_SPLIT_233
-# define BOOST_PP_SEQ_SPLIT_235(x) (x) BOOST_PP_SEQ_SPLIT_234
-# define BOOST_PP_SEQ_SPLIT_236(x) (x) BOOST_PP_SEQ_SPLIT_235
-# define BOOST_PP_SEQ_SPLIT_237(x) (x) BOOST_PP_SEQ_SPLIT_236
-# define BOOST_PP_SEQ_SPLIT_238(x) (x) BOOST_PP_SEQ_SPLIT_237
-# define BOOST_PP_SEQ_SPLIT_239(x) (x) BOOST_PP_SEQ_SPLIT_238
-# define BOOST_PP_SEQ_SPLIT_240(x) (x) BOOST_PP_SEQ_SPLIT_239
-# define BOOST_PP_SEQ_SPLIT_241(x) (x) BOOST_PP_SEQ_SPLIT_240
-# define BOOST_PP_SEQ_SPLIT_242(x) (x) BOOST_PP_SEQ_SPLIT_241
-# define BOOST_PP_SEQ_SPLIT_243(x) (x) BOOST_PP_SEQ_SPLIT_242
-# define BOOST_PP_SEQ_SPLIT_244(x) (x) BOOST_PP_SEQ_SPLIT_243
-# define BOOST_PP_SEQ_SPLIT_245(x) (x) BOOST_PP_SEQ_SPLIT_244
-# define BOOST_PP_SEQ_SPLIT_246(x) (x) BOOST_PP_SEQ_SPLIT_245
-# define BOOST_PP_SEQ_SPLIT_247(x) (x) BOOST_PP_SEQ_SPLIT_246
-# define BOOST_PP_SEQ_SPLIT_248(x) (x) BOOST_PP_SEQ_SPLIT_247
-# define BOOST_PP_SEQ_SPLIT_249(x) (x) BOOST_PP_SEQ_SPLIT_248
-# define BOOST_PP_SEQ_SPLIT_250(x) (x) BOOST_PP_SEQ_SPLIT_249
-# define BOOST_PP_SEQ_SPLIT_251(x) (x) BOOST_PP_SEQ_SPLIT_250
-# define BOOST_PP_SEQ_SPLIT_252(x) (x) BOOST_PP_SEQ_SPLIT_251
-# define BOOST_PP_SEQ_SPLIT_253(x) (x) BOOST_PP_SEQ_SPLIT_252
-# define BOOST_PP_SEQ_SPLIT_254(x) (x) BOOST_PP_SEQ_SPLIT_253
-# define BOOST_PP_SEQ_SPLIT_255(x) (x) BOOST_PP_SEQ_SPLIT_254
-# define BOOST_PP_SEQ_SPLIT_256(x) (x) BOOST_PP_SEQ_SPLIT_255
+# define NDNBOOST_PP_SEQ_SPLIT_1(x) (x),
+# define NDNBOOST_PP_SEQ_SPLIT_2(x) (x) NDNBOOST_PP_SEQ_SPLIT_1
+# define NDNBOOST_PP_SEQ_SPLIT_3(x) (x) NDNBOOST_PP_SEQ_SPLIT_2
+# define NDNBOOST_PP_SEQ_SPLIT_4(x) (x) NDNBOOST_PP_SEQ_SPLIT_3
+# define NDNBOOST_PP_SEQ_SPLIT_5(x) (x) NDNBOOST_PP_SEQ_SPLIT_4
+# define NDNBOOST_PP_SEQ_SPLIT_6(x) (x) NDNBOOST_PP_SEQ_SPLIT_5
+# define NDNBOOST_PP_SEQ_SPLIT_7(x) (x) NDNBOOST_PP_SEQ_SPLIT_6
+# define NDNBOOST_PP_SEQ_SPLIT_8(x) (x) NDNBOOST_PP_SEQ_SPLIT_7
+# define NDNBOOST_PP_SEQ_SPLIT_9(x) (x) NDNBOOST_PP_SEQ_SPLIT_8
+# define NDNBOOST_PP_SEQ_SPLIT_10(x) (x) NDNBOOST_PP_SEQ_SPLIT_9
+# define NDNBOOST_PP_SEQ_SPLIT_11(x) (x) NDNBOOST_PP_SEQ_SPLIT_10
+# define NDNBOOST_PP_SEQ_SPLIT_12(x) (x) NDNBOOST_PP_SEQ_SPLIT_11
+# define NDNBOOST_PP_SEQ_SPLIT_13(x) (x) NDNBOOST_PP_SEQ_SPLIT_12
+# define NDNBOOST_PP_SEQ_SPLIT_14(x) (x) NDNBOOST_PP_SEQ_SPLIT_13
+# define NDNBOOST_PP_SEQ_SPLIT_15(x) (x) NDNBOOST_PP_SEQ_SPLIT_14
+# define NDNBOOST_PP_SEQ_SPLIT_16(x) (x) NDNBOOST_PP_SEQ_SPLIT_15
+# define NDNBOOST_PP_SEQ_SPLIT_17(x) (x) NDNBOOST_PP_SEQ_SPLIT_16
+# define NDNBOOST_PP_SEQ_SPLIT_18(x) (x) NDNBOOST_PP_SEQ_SPLIT_17
+# define NDNBOOST_PP_SEQ_SPLIT_19(x) (x) NDNBOOST_PP_SEQ_SPLIT_18
+# define NDNBOOST_PP_SEQ_SPLIT_20(x) (x) NDNBOOST_PP_SEQ_SPLIT_19
+# define NDNBOOST_PP_SEQ_SPLIT_21(x) (x) NDNBOOST_PP_SEQ_SPLIT_20
+# define NDNBOOST_PP_SEQ_SPLIT_22(x) (x) NDNBOOST_PP_SEQ_SPLIT_21
+# define NDNBOOST_PP_SEQ_SPLIT_23(x) (x) NDNBOOST_PP_SEQ_SPLIT_22
+# define NDNBOOST_PP_SEQ_SPLIT_24(x) (x) NDNBOOST_PP_SEQ_SPLIT_23
+# define NDNBOOST_PP_SEQ_SPLIT_25(x) (x) NDNBOOST_PP_SEQ_SPLIT_24
+# define NDNBOOST_PP_SEQ_SPLIT_26(x) (x) NDNBOOST_PP_SEQ_SPLIT_25
+# define NDNBOOST_PP_SEQ_SPLIT_27(x) (x) NDNBOOST_PP_SEQ_SPLIT_26
+# define NDNBOOST_PP_SEQ_SPLIT_28(x) (x) NDNBOOST_PP_SEQ_SPLIT_27
+# define NDNBOOST_PP_SEQ_SPLIT_29(x) (x) NDNBOOST_PP_SEQ_SPLIT_28
+# define NDNBOOST_PP_SEQ_SPLIT_30(x) (x) NDNBOOST_PP_SEQ_SPLIT_29
+# define NDNBOOST_PP_SEQ_SPLIT_31(x) (x) NDNBOOST_PP_SEQ_SPLIT_30
+# define NDNBOOST_PP_SEQ_SPLIT_32(x) (x) NDNBOOST_PP_SEQ_SPLIT_31
+# define NDNBOOST_PP_SEQ_SPLIT_33(x) (x) NDNBOOST_PP_SEQ_SPLIT_32
+# define NDNBOOST_PP_SEQ_SPLIT_34(x) (x) NDNBOOST_PP_SEQ_SPLIT_33
+# define NDNBOOST_PP_SEQ_SPLIT_35(x) (x) NDNBOOST_PP_SEQ_SPLIT_34
+# define NDNBOOST_PP_SEQ_SPLIT_36(x) (x) NDNBOOST_PP_SEQ_SPLIT_35
+# define NDNBOOST_PP_SEQ_SPLIT_37(x) (x) NDNBOOST_PP_SEQ_SPLIT_36
+# define NDNBOOST_PP_SEQ_SPLIT_38(x) (x) NDNBOOST_PP_SEQ_SPLIT_37
+# define NDNBOOST_PP_SEQ_SPLIT_39(x) (x) NDNBOOST_PP_SEQ_SPLIT_38
+# define NDNBOOST_PP_SEQ_SPLIT_40(x) (x) NDNBOOST_PP_SEQ_SPLIT_39
+# define NDNBOOST_PP_SEQ_SPLIT_41(x) (x) NDNBOOST_PP_SEQ_SPLIT_40
+# define NDNBOOST_PP_SEQ_SPLIT_42(x) (x) NDNBOOST_PP_SEQ_SPLIT_41
+# define NDNBOOST_PP_SEQ_SPLIT_43(x) (x) NDNBOOST_PP_SEQ_SPLIT_42
+# define NDNBOOST_PP_SEQ_SPLIT_44(x) (x) NDNBOOST_PP_SEQ_SPLIT_43
+# define NDNBOOST_PP_SEQ_SPLIT_45(x) (x) NDNBOOST_PP_SEQ_SPLIT_44
+# define NDNBOOST_PP_SEQ_SPLIT_46(x) (x) NDNBOOST_PP_SEQ_SPLIT_45
+# define NDNBOOST_PP_SEQ_SPLIT_47(x) (x) NDNBOOST_PP_SEQ_SPLIT_46
+# define NDNBOOST_PP_SEQ_SPLIT_48(x) (x) NDNBOOST_PP_SEQ_SPLIT_47
+# define NDNBOOST_PP_SEQ_SPLIT_49(x) (x) NDNBOOST_PP_SEQ_SPLIT_48
+# define NDNBOOST_PP_SEQ_SPLIT_50(x) (x) NDNBOOST_PP_SEQ_SPLIT_49
+# define NDNBOOST_PP_SEQ_SPLIT_51(x) (x) NDNBOOST_PP_SEQ_SPLIT_50
+# define NDNBOOST_PP_SEQ_SPLIT_52(x) (x) NDNBOOST_PP_SEQ_SPLIT_51
+# define NDNBOOST_PP_SEQ_SPLIT_53(x) (x) NDNBOOST_PP_SEQ_SPLIT_52
+# define NDNBOOST_PP_SEQ_SPLIT_54(x) (x) NDNBOOST_PP_SEQ_SPLIT_53
+# define NDNBOOST_PP_SEQ_SPLIT_55(x) (x) NDNBOOST_PP_SEQ_SPLIT_54
+# define NDNBOOST_PP_SEQ_SPLIT_56(x) (x) NDNBOOST_PP_SEQ_SPLIT_55
+# define NDNBOOST_PP_SEQ_SPLIT_57(x) (x) NDNBOOST_PP_SEQ_SPLIT_56
+# define NDNBOOST_PP_SEQ_SPLIT_58(x) (x) NDNBOOST_PP_SEQ_SPLIT_57
+# define NDNBOOST_PP_SEQ_SPLIT_59(x) (x) NDNBOOST_PP_SEQ_SPLIT_58
+# define NDNBOOST_PP_SEQ_SPLIT_60(x) (x) NDNBOOST_PP_SEQ_SPLIT_59
+# define NDNBOOST_PP_SEQ_SPLIT_61(x) (x) NDNBOOST_PP_SEQ_SPLIT_60
+# define NDNBOOST_PP_SEQ_SPLIT_62(x) (x) NDNBOOST_PP_SEQ_SPLIT_61
+# define NDNBOOST_PP_SEQ_SPLIT_63(x) (x) NDNBOOST_PP_SEQ_SPLIT_62
+# define NDNBOOST_PP_SEQ_SPLIT_64(x) (x) NDNBOOST_PP_SEQ_SPLIT_63
+# define NDNBOOST_PP_SEQ_SPLIT_65(x) (x) NDNBOOST_PP_SEQ_SPLIT_64
+# define NDNBOOST_PP_SEQ_SPLIT_66(x) (x) NDNBOOST_PP_SEQ_SPLIT_65
+# define NDNBOOST_PP_SEQ_SPLIT_67(x) (x) NDNBOOST_PP_SEQ_SPLIT_66
+# define NDNBOOST_PP_SEQ_SPLIT_68(x) (x) NDNBOOST_PP_SEQ_SPLIT_67
+# define NDNBOOST_PP_SEQ_SPLIT_69(x) (x) NDNBOOST_PP_SEQ_SPLIT_68
+# define NDNBOOST_PP_SEQ_SPLIT_70(x) (x) NDNBOOST_PP_SEQ_SPLIT_69
+# define NDNBOOST_PP_SEQ_SPLIT_71(x) (x) NDNBOOST_PP_SEQ_SPLIT_70
+# define NDNBOOST_PP_SEQ_SPLIT_72(x) (x) NDNBOOST_PP_SEQ_SPLIT_71
+# define NDNBOOST_PP_SEQ_SPLIT_73(x) (x) NDNBOOST_PP_SEQ_SPLIT_72
+# define NDNBOOST_PP_SEQ_SPLIT_74(x) (x) NDNBOOST_PP_SEQ_SPLIT_73
+# define NDNBOOST_PP_SEQ_SPLIT_75(x) (x) NDNBOOST_PP_SEQ_SPLIT_74
+# define NDNBOOST_PP_SEQ_SPLIT_76(x) (x) NDNBOOST_PP_SEQ_SPLIT_75
+# define NDNBOOST_PP_SEQ_SPLIT_77(x) (x) NDNBOOST_PP_SEQ_SPLIT_76
+# define NDNBOOST_PP_SEQ_SPLIT_78(x) (x) NDNBOOST_PP_SEQ_SPLIT_77
+# define NDNBOOST_PP_SEQ_SPLIT_79(x) (x) NDNBOOST_PP_SEQ_SPLIT_78
+# define NDNBOOST_PP_SEQ_SPLIT_80(x) (x) NDNBOOST_PP_SEQ_SPLIT_79
+# define NDNBOOST_PP_SEQ_SPLIT_81(x) (x) NDNBOOST_PP_SEQ_SPLIT_80
+# define NDNBOOST_PP_SEQ_SPLIT_82(x) (x) NDNBOOST_PP_SEQ_SPLIT_81
+# define NDNBOOST_PP_SEQ_SPLIT_83(x) (x) NDNBOOST_PP_SEQ_SPLIT_82
+# define NDNBOOST_PP_SEQ_SPLIT_84(x) (x) NDNBOOST_PP_SEQ_SPLIT_83
+# define NDNBOOST_PP_SEQ_SPLIT_85(x) (x) NDNBOOST_PP_SEQ_SPLIT_84
+# define NDNBOOST_PP_SEQ_SPLIT_86(x) (x) NDNBOOST_PP_SEQ_SPLIT_85
+# define NDNBOOST_PP_SEQ_SPLIT_87(x) (x) NDNBOOST_PP_SEQ_SPLIT_86
+# define NDNBOOST_PP_SEQ_SPLIT_88(x) (x) NDNBOOST_PP_SEQ_SPLIT_87
+# define NDNBOOST_PP_SEQ_SPLIT_89(x) (x) NDNBOOST_PP_SEQ_SPLIT_88
+# define NDNBOOST_PP_SEQ_SPLIT_90(x) (x) NDNBOOST_PP_SEQ_SPLIT_89
+# define NDNBOOST_PP_SEQ_SPLIT_91(x) (x) NDNBOOST_PP_SEQ_SPLIT_90
+# define NDNBOOST_PP_SEQ_SPLIT_92(x) (x) NDNBOOST_PP_SEQ_SPLIT_91
+# define NDNBOOST_PP_SEQ_SPLIT_93(x) (x) NDNBOOST_PP_SEQ_SPLIT_92
+# define NDNBOOST_PP_SEQ_SPLIT_94(x) (x) NDNBOOST_PP_SEQ_SPLIT_93
+# define NDNBOOST_PP_SEQ_SPLIT_95(x) (x) NDNBOOST_PP_SEQ_SPLIT_94
+# define NDNBOOST_PP_SEQ_SPLIT_96(x) (x) NDNBOOST_PP_SEQ_SPLIT_95
+# define NDNBOOST_PP_SEQ_SPLIT_97(x) (x) NDNBOOST_PP_SEQ_SPLIT_96
+# define NDNBOOST_PP_SEQ_SPLIT_98(x) (x) NDNBOOST_PP_SEQ_SPLIT_97
+# define NDNBOOST_PP_SEQ_SPLIT_99(x) (x) NDNBOOST_PP_SEQ_SPLIT_98
+# define NDNBOOST_PP_SEQ_SPLIT_100(x) (x) NDNBOOST_PP_SEQ_SPLIT_99
+# define NDNBOOST_PP_SEQ_SPLIT_101(x) (x) NDNBOOST_PP_SEQ_SPLIT_100
+# define NDNBOOST_PP_SEQ_SPLIT_102(x) (x) NDNBOOST_PP_SEQ_SPLIT_101
+# define NDNBOOST_PP_SEQ_SPLIT_103(x) (x) NDNBOOST_PP_SEQ_SPLIT_102
+# define NDNBOOST_PP_SEQ_SPLIT_104(x) (x) NDNBOOST_PP_SEQ_SPLIT_103
+# define NDNBOOST_PP_SEQ_SPLIT_105(x) (x) NDNBOOST_PP_SEQ_SPLIT_104
+# define NDNBOOST_PP_SEQ_SPLIT_106(x) (x) NDNBOOST_PP_SEQ_SPLIT_105
+# define NDNBOOST_PP_SEQ_SPLIT_107(x) (x) NDNBOOST_PP_SEQ_SPLIT_106
+# define NDNBOOST_PP_SEQ_SPLIT_108(x) (x) NDNBOOST_PP_SEQ_SPLIT_107
+# define NDNBOOST_PP_SEQ_SPLIT_109(x) (x) NDNBOOST_PP_SEQ_SPLIT_108
+# define NDNBOOST_PP_SEQ_SPLIT_110(x) (x) NDNBOOST_PP_SEQ_SPLIT_109
+# define NDNBOOST_PP_SEQ_SPLIT_111(x) (x) NDNBOOST_PP_SEQ_SPLIT_110
+# define NDNBOOST_PP_SEQ_SPLIT_112(x) (x) NDNBOOST_PP_SEQ_SPLIT_111
+# define NDNBOOST_PP_SEQ_SPLIT_113(x) (x) NDNBOOST_PP_SEQ_SPLIT_112
+# define NDNBOOST_PP_SEQ_SPLIT_114(x) (x) NDNBOOST_PP_SEQ_SPLIT_113
+# define NDNBOOST_PP_SEQ_SPLIT_115(x) (x) NDNBOOST_PP_SEQ_SPLIT_114
+# define NDNBOOST_PP_SEQ_SPLIT_116(x) (x) NDNBOOST_PP_SEQ_SPLIT_115
+# define NDNBOOST_PP_SEQ_SPLIT_117(x) (x) NDNBOOST_PP_SEQ_SPLIT_116
+# define NDNBOOST_PP_SEQ_SPLIT_118(x) (x) NDNBOOST_PP_SEQ_SPLIT_117
+# define NDNBOOST_PP_SEQ_SPLIT_119(x) (x) NDNBOOST_PP_SEQ_SPLIT_118
+# define NDNBOOST_PP_SEQ_SPLIT_120(x) (x) NDNBOOST_PP_SEQ_SPLIT_119
+# define NDNBOOST_PP_SEQ_SPLIT_121(x) (x) NDNBOOST_PP_SEQ_SPLIT_120
+# define NDNBOOST_PP_SEQ_SPLIT_122(x) (x) NDNBOOST_PP_SEQ_SPLIT_121
+# define NDNBOOST_PP_SEQ_SPLIT_123(x) (x) NDNBOOST_PP_SEQ_SPLIT_122
+# define NDNBOOST_PP_SEQ_SPLIT_124(x) (x) NDNBOOST_PP_SEQ_SPLIT_123
+# define NDNBOOST_PP_SEQ_SPLIT_125(x) (x) NDNBOOST_PP_SEQ_SPLIT_124
+# define NDNBOOST_PP_SEQ_SPLIT_126(x) (x) NDNBOOST_PP_SEQ_SPLIT_125
+# define NDNBOOST_PP_SEQ_SPLIT_127(x) (x) NDNBOOST_PP_SEQ_SPLIT_126
+# define NDNBOOST_PP_SEQ_SPLIT_128(x) (x) NDNBOOST_PP_SEQ_SPLIT_127
+# define NDNBOOST_PP_SEQ_SPLIT_129(x) (x) NDNBOOST_PP_SEQ_SPLIT_128
+# define NDNBOOST_PP_SEQ_SPLIT_130(x) (x) NDNBOOST_PP_SEQ_SPLIT_129
+# define NDNBOOST_PP_SEQ_SPLIT_131(x) (x) NDNBOOST_PP_SEQ_SPLIT_130
+# define NDNBOOST_PP_SEQ_SPLIT_132(x) (x) NDNBOOST_PP_SEQ_SPLIT_131
+# define NDNBOOST_PP_SEQ_SPLIT_133(x) (x) NDNBOOST_PP_SEQ_SPLIT_132
+# define NDNBOOST_PP_SEQ_SPLIT_134(x) (x) NDNBOOST_PP_SEQ_SPLIT_133
+# define NDNBOOST_PP_SEQ_SPLIT_135(x) (x) NDNBOOST_PP_SEQ_SPLIT_134
+# define NDNBOOST_PP_SEQ_SPLIT_136(x) (x) NDNBOOST_PP_SEQ_SPLIT_135
+# define NDNBOOST_PP_SEQ_SPLIT_137(x) (x) NDNBOOST_PP_SEQ_SPLIT_136
+# define NDNBOOST_PP_SEQ_SPLIT_138(x) (x) NDNBOOST_PP_SEQ_SPLIT_137
+# define NDNBOOST_PP_SEQ_SPLIT_139(x) (x) NDNBOOST_PP_SEQ_SPLIT_138
+# define NDNBOOST_PP_SEQ_SPLIT_140(x) (x) NDNBOOST_PP_SEQ_SPLIT_139
+# define NDNBOOST_PP_SEQ_SPLIT_141(x) (x) NDNBOOST_PP_SEQ_SPLIT_140
+# define NDNBOOST_PP_SEQ_SPLIT_142(x) (x) NDNBOOST_PP_SEQ_SPLIT_141
+# define NDNBOOST_PP_SEQ_SPLIT_143(x) (x) NDNBOOST_PP_SEQ_SPLIT_142
+# define NDNBOOST_PP_SEQ_SPLIT_144(x) (x) NDNBOOST_PP_SEQ_SPLIT_143
+# define NDNBOOST_PP_SEQ_SPLIT_145(x) (x) NDNBOOST_PP_SEQ_SPLIT_144
+# define NDNBOOST_PP_SEQ_SPLIT_146(x) (x) NDNBOOST_PP_SEQ_SPLIT_145
+# define NDNBOOST_PP_SEQ_SPLIT_147(x) (x) NDNBOOST_PP_SEQ_SPLIT_146
+# define NDNBOOST_PP_SEQ_SPLIT_148(x) (x) NDNBOOST_PP_SEQ_SPLIT_147
+# define NDNBOOST_PP_SEQ_SPLIT_149(x) (x) NDNBOOST_PP_SEQ_SPLIT_148
+# define NDNBOOST_PP_SEQ_SPLIT_150(x) (x) NDNBOOST_PP_SEQ_SPLIT_149
+# define NDNBOOST_PP_SEQ_SPLIT_151(x) (x) NDNBOOST_PP_SEQ_SPLIT_150
+# define NDNBOOST_PP_SEQ_SPLIT_152(x) (x) NDNBOOST_PP_SEQ_SPLIT_151
+# define NDNBOOST_PP_SEQ_SPLIT_153(x) (x) NDNBOOST_PP_SEQ_SPLIT_152
+# define NDNBOOST_PP_SEQ_SPLIT_154(x) (x) NDNBOOST_PP_SEQ_SPLIT_153
+# define NDNBOOST_PP_SEQ_SPLIT_155(x) (x) NDNBOOST_PP_SEQ_SPLIT_154
+# define NDNBOOST_PP_SEQ_SPLIT_156(x) (x) NDNBOOST_PP_SEQ_SPLIT_155
+# define NDNBOOST_PP_SEQ_SPLIT_157(x) (x) NDNBOOST_PP_SEQ_SPLIT_156
+# define NDNBOOST_PP_SEQ_SPLIT_158(x) (x) NDNBOOST_PP_SEQ_SPLIT_157
+# define NDNBOOST_PP_SEQ_SPLIT_159(x) (x) NDNBOOST_PP_SEQ_SPLIT_158
+# define NDNBOOST_PP_SEQ_SPLIT_160(x) (x) NDNBOOST_PP_SEQ_SPLIT_159
+# define NDNBOOST_PP_SEQ_SPLIT_161(x) (x) NDNBOOST_PP_SEQ_SPLIT_160
+# define NDNBOOST_PP_SEQ_SPLIT_162(x) (x) NDNBOOST_PP_SEQ_SPLIT_161
+# define NDNBOOST_PP_SEQ_SPLIT_163(x) (x) NDNBOOST_PP_SEQ_SPLIT_162
+# define NDNBOOST_PP_SEQ_SPLIT_164(x) (x) NDNBOOST_PP_SEQ_SPLIT_163
+# define NDNBOOST_PP_SEQ_SPLIT_165(x) (x) NDNBOOST_PP_SEQ_SPLIT_164
+# define NDNBOOST_PP_SEQ_SPLIT_166(x) (x) NDNBOOST_PP_SEQ_SPLIT_165
+# define NDNBOOST_PP_SEQ_SPLIT_167(x) (x) NDNBOOST_PP_SEQ_SPLIT_166
+# define NDNBOOST_PP_SEQ_SPLIT_168(x) (x) NDNBOOST_PP_SEQ_SPLIT_167
+# define NDNBOOST_PP_SEQ_SPLIT_169(x) (x) NDNBOOST_PP_SEQ_SPLIT_168
+# define NDNBOOST_PP_SEQ_SPLIT_170(x) (x) NDNBOOST_PP_SEQ_SPLIT_169
+# define NDNBOOST_PP_SEQ_SPLIT_171(x) (x) NDNBOOST_PP_SEQ_SPLIT_170
+# define NDNBOOST_PP_SEQ_SPLIT_172(x) (x) NDNBOOST_PP_SEQ_SPLIT_171
+# define NDNBOOST_PP_SEQ_SPLIT_173(x) (x) NDNBOOST_PP_SEQ_SPLIT_172
+# define NDNBOOST_PP_SEQ_SPLIT_174(x) (x) NDNBOOST_PP_SEQ_SPLIT_173
+# define NDNBOOST_PP_SEQ_SPLIT_175(x) (x) NDNBOOST_PP_SEQ_SPLIT_174
+# define NDNBOOST_PP_SEQ_SPLIT_176(x) (x) NDNBOOST_PP_SEQ_SPLIT_175
+# define NDNBOOST_PP_SEQ_SPLIT_177(x) (x) NDNBOOST_PP_SEQ_SPLIT_176
+# define NDNBOOST_PP_SEQ_SPLIT_178(x) (x) NDNBOOST_PP_SEQ_SPLIT_177
+# define NDNBOOST_PP_SEQ_SPLIT_179(x) (x) NDNBOOST_PP_SEQ_SPLIT_178
+# define NDNBOOST_PP_SEQ_SPLIT_180(x) (x) NDNBOOST_PP_SEQ_SPLIT_179
+# define NDNBOOST_PP_SEQ_SPLIT_181(x) (x) NDNBOOST_PP_SEQ_SPLIT_180
+# define NDNBOOST_PP_SEQ_SPLIT_182(x) (x) NDNBOOST_PP_SEQ_SPLIT_181
+# define NDNBOOST_PP_SEQ_SPLIT_183(x) (x) NDNBOOST_PP_SEQ_SPLIT_182
+# define NDNBOOST_PP_SEQ_SPLIT_184(x) (x) NDNBOOST_PP_SEQ_SPLIT_183
+# define NDNBOOST_PP_SEQ_SPLIT_185(x) (x) NDNBOOST_PP_SEQ_SPLIT_184
+# define NDNBOOST_PP_SEQ_SPLIT_186(x) (x) NDNBOOST_PP_SEQ_SPLIT_185
+# define NDNBOOST_PP_SEQ_SPLIT_187(x) (x) NDNBOOST_PP_SEQ_SPLIT_186
+# define NDNBOOST_PP_SEQ_SPLIT_188(x) (x) NDNBOOST_PP_SEQ_SPLIT_187
+# define NDNBOOST_PP_SEQ_SPLIT_189(x) (x) NDNBOOST_PP_SEQ_SPLIT_188
+# define NDNBOOST_PP_SEQ_SPLIT_190(x) (x) NDNBOOST_PP_SEQ_SPLIT_189
+# define NDNBOOST_PP_SEQ_SPLIT_191(x) (x) NDNBOOST_PP_SEQ_SPLIT_190
+# define NDNBOOST_PP_SEQ_SPLIT_192(x) (x) NDNBOOST_PP_SEQ_SPLIT_191
+# define NDNBOOST_PP_SEQ_SPLIT_193(x) (x) NDNBOOST_PP_SEQ_SPLIT_192
+# define NDNBOOST_PP_SEQ_SPLIT_194(x) (x) NDNBOOST_PP_SEQ_SPLIT_193
+# define NDNBOOST_PP_SEQ_SPLIT_195(x) (x) NDNBOOST_PP_SEQ_SPLIT_194
+# define NDNBOOST_PP_SEQ_SPLIT_196(x) (x) NDNBOOST_PP_SEQ_SPLIT_195
+# define NDNBOOST_PP_SEQ_SPLIT_197(x) (x) NDNBOOST_PP_SEQ_SPLIT_196
+# define NDNBOOST_PP_SEQ_SPLIT_198(x) (x) NDNBOOST_PP_SEQ_SPLIT_197
+# define NDNBOOST_PP_SEQ_SPLIT_199(x) (x) NDNBOOST_PP_SEQ_SPLIT_198
+# define NDNBOOST_PP_SEQ_SPLIT_200(x) (x) NDNBOOST_PP_SEQ_SPLIT_199
+# define NDNBOOST_PP_SEQ_SPLIT_201(x) (x) NDNBOOST_PP_SEQ_SPLIT_200
+# define NDNBOOST_PP_SEQ_SPLIT_202(x) (x) NDNBOOST_PP_SEQ_SPLIT_201
+# define NDNBOOST_PP_SEQ_SPLIT_203(x) (x) NDNBOOST_PP_SEQ_SPLIT_202
+# define NDNBOOST_PP_SEQ_SPLIT_204(x) (x) NDNBOOST_PP_SEQ_SPLIT_203
+# define NDNBOOST_PP_SEQ_SPLIT_205(x) (x) NDNBOOST_PP_SEQ_SPLIT_204
+# define NDNBOOST_PP_SEQ_SPLIT_206(x) (x) NDNBOOST_PP_SEQ_SPLIT_205
+# define NDNBOOST_PP_SEQ_SPLIT_207(x) (x) NDNBOOST_PP_SEQ_SPLIT_206
+# define NDNBOOST_PP_SEQ_SPLIT_208(x) (x) NDNBOOST_PP_SEQ_SPLIT_207
+# define NDNBOOST_PP_SEQ_SPLIT_209(x) (x) NDNBOOST_PP_SEQ_SPLIT_208
+# define NDNBOOST_PP_SEQ_SPLIT_210(x) (x) NDNBOOST_PP_SEQ_SPLIT_209
+# define NDNBOOST_PP_SEQ_SPLIT_211(x) (x) NDNBOOST_PP_SEQ_SPLIT_210
+# define NDNBOOST_PP_SEQ_SPLIT_212(x) (x) NDNBOOST_PP_SEQ_SPLIT_211
+# define NDNBOOST_PP_SEQ_SPLIT_213(x) (x) NDNBOOST_PP_SEQ_SPLIT_212
+# define NDNBOOST_PP_SEQ_SPLIT_214(x) (x) NDNBOOST_PP_SEQ_SPLIT_213
+# define NDNBOOST_PP_SEQ_SPLIT_215(x) (x) NDNBOOST_PP_SEQ_SPLIT_214
+# define NDNBOOST_PP_SEQ_SPLIT_216(x) (x) NDNBOOST_PP_SEQ_SPLIT_215
+# define NDNBOOST_PP_SEQ_SPLIT_217(x) (x) NDNBOOST_PP_SEQ_SPLIT_216
+# define NDNBOOST_PP_SEQ_SPLIT_218(x) (x) NDNBOOST_PP_SEQ_SPLIT_217
+# define NDNBOOST_PP_SEQ_SPLIT_219(x) (x) NDNBOOST_PP_SEQ_SPLIT_218
+# define NDNBOOST_PP_SEQ_SPLIT_220(x) (x) NDNBOOST_PP_SEQ_SPLIT_219
+# define NDNBOOST_PP_SEQ_SPLIT_221(x) (x) NDNBOOST_PP_SEQ_SPLIT_220
+# define NDNBOOST_PP_SEQ_SPLIT_222(x) (x) NDNBOOST_PP_SEQ_SPLIT_221
+# define NDNBOOST_PP_SEQ_SPLIT_223(x) (x) NDNBOOST_PP_SEQ_SPLIT_222
+# define NDNBOOST_PP_SEQ_SPLIT_224(x) (x) NDNBOOST_PP_SEQ_SPLIT_223
+# define NDNBOOST_PP_SEQ_SPLIT_225(x) (x) NDNBOOST_PP_SEQ_SPLIT_224
+# define NDNBOOST_PP_SEQ_SPLIT_226(x) (x) NDNBOOST_PP_SEQ_SPLIT_225
+# define NDNBOOST_PP_SEQ_SPLIT_227(x) (x) NDNBOOST_PP_SEQ_SPLIT_226
+# define NDNBOOST_PP_SEQ_SPLIT_228(x) (x) NDNBOOST_PP_SEQ_SPLIT_227
+# define NDNBOOST_PP_SEQ_SPLIT_229(x) (x) NDNBOOST_PP_SEQ_SPLIT_228
+# define NDNBOOST_PP_SEQ_SPLIT_230(x) (x) NDNBOOST_PP_SEQ_SPLIT_229
+# define NDNBOOST_PP_SEQ_SPLIT_231(x) (x) NDNBOOST_PP_SEQ_SPLIT_230
+# define NDNBOOST_PP_SEQ_SPLIT_232(x) (x) NDNBOOST_PP_SEQ_SPLIT_231
+# define NDNBOOST_PP_SEQ_SPLIT_233(x) (x) NDNBOOST_PP_SEQ_SPLIT_232
+# define NDNBOOST_PP_SEQ_SPLIT_234(x) (x) NDNBOOST_PP_SEQ_SPLIT_233
+# define NDNBOOST_PP_SEQ_SPLIT_235(x) (x) NDNBOOST_PP_SEQ_SPLIT_234
+# define NDNBOOST_PP_SEQ_SPLIT_236(x) (x) NDNBOOST_PP_SEQ_SPLIT_235
+# define NDNBOOST_PP_SEQ_SPLIT_237(x) (x) NDNBOOST_PP_SEQ_SPLIT_236
+# define NDNBOOST_PP_SEQ_SPLIT_238(x) (x) NDNBOOST_PP_SEQ_SPLIT_237
+# define NDNBOOST_PP_SEQ_SPLIT_239(x) (x) NDNBOOST_PP_SEQ_SPLIT_238
+# define NDNBOOST_PP_SEQ_SPLIT_240(x) (x) NDNBOOST_PP_SEQ_SPLIT_239
+# define NDNBOOST_PP_SEQ_SPLIT_241(x) (x) NDNBOOST_PP_SEQ_SPLIT_240
+# define NDNBOOST_PP_SEQ_SPLIT_242(x) (x) NDNBOOST_PP_SEQ_SPLIT_241
+# define NDNBOOST_PP_SEQ_SPLIT_243(x) (x) NDNBOOST_PP_SEQ_SPLIT_242
+# define NDNBOOST_PP_SEQ_SPLIT_244(x) (x) NDNBOOST_PP_SEQ_SPLIT_243
+# define NDNBOOST_PP_SEQ_SPLIT_245(x) (x) NDNBOOST_PP_SEQ_SPLIT_244
+# define NDNBOOST_PP_SEQ_SPLIT_246(x) (x) NDNBOOST_PP_SEQ_SPLIT_245
+# define NDNBOOST_PP_SEQ_SPLIT_247(x) (x) NDNBOOST_PP_SEQ_SPLIT_246
+# define NDNBOOST_PP_SEQ_SPLIT_248(x) (x) NDNBOOST_PP_SEQ_SPLIT_247
+# define NDNBOOST_PP_SEQ_SPLIT_249(x) (x) NDNBOOST_PP_SEQ_SPLIT_248
+# define NDNBOOST_PP_SEQ_SPLIT_250(x) (x) NDNBOOST_PP_SEQ_SPLIT_249
+# define NDNBOOST_PP_SEQ_SPLIT_251(x) (x) NDNBOOST_PP_SEQ_SPLIT_250
+# define NDNBOOST_PP_SEQ_SPLIT_252(x) (x) NDNBOOST_PP_SEQ_SPLIT_251
+# define NDNBOOST_PP_SEQ_SPLIT_253(x) (x) NDNBOOST_PP_SEQ_SPLIT_252
+# define NDNBOOST_PP_SEQ_SPLIT_254(x) (x) NDNBOOST_PP_SEQ_SPLIT_253
+# define NDNBOOST_PP_SEQ_SPLIT_255(x) (x) NDNBOOST_PP_SEQ_SPLIT_254
+# define NDNBOOST_PP_SEQ_SPLIT_256(x) (x) NDNBOOST_PP_SEQ_SPLIT_255
 #
 # endif
diff --git a/include/ndnboost/preprocessor/seq/elem.hpp b/include/ndnboost/preprocessor/seq/elem.hpp
index 029a8a2..4be16cc 100644
--- a/include/ndnboost/preprocessor/seq/elem.hpp
+++ b/include/ndnboost/preprocessor/seq/elem.hpp
@@ -9,296 +9,296 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_SEQ_ELEM_HPP
-# define BOOST_PREPROCESSOR_SEQ_ELEM_HPP
+# ifndef NDNBOOST_PREPROCESSOR_SEQ_ELEM_HPP
+# define NDNBOOST_PREPROCESSOR_SEQ_ELEM_HPP
 #
 # include <ndnboost/preprocessor/cat.hpp>
 # include <ndnboost/preprocessor/config/config.hpp>
 # include <ndnboost/preprocessor/facilities/empty.hpp>
 #
-# /* BOOST_PP_SEQ_ELEM */
+# /* NDNBOOST_PP_SEQ_ELEM */
 #
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-#    define BOOST_PP_SEQ_ELEM(i, seq) BOOST_PP_SEQ_ELEM_I(i, seq)
+# if ~NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_MWCC()
+#    define NDNBOOST_PP_SEQ_ELEM(i, seq) NDNBOOST_PP_SEQ_ELEM_I(i, seq)
 # else
-#    define BOOST_PP_SEQ_ELEM(i, seq) BOOST_PP_SEQ_ELEM_I((i, seq))
+#    define NDNBOOST_PP_SEQ_ELEM(i, seq) NDNBOOST_PP_SEQ_ELEM_I((i, seq))
 # endif
 #
-# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()
-#    define BOOST_PP_SEQ_ELEM_I(i, seq) BOOST_PP_SEQ_ELEM_II((BOOST_PP_SEQ_ELEM_ ## i seq))
-#    define BOOST_PP_SEQ_ELEM_II(res) BOOST_PP_SEQ_ELEM_IV(BOOST_PP_SEQ_ELEM_III res)
-#    define BOOST_PP_SEQ_ELEM_III(x, _) x BOOST_PP_EMPTY()
-#    define BOOST_PP_SEQ_ELEM_IV(x) x
-# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-#    define BOOST_PP_SEQ_ELEM_I(par) BOOST_PP_SEQ_ELEM_II ## par
-#    define BOOST_PP_SEQ_ELEM_II(i, seq) BOOST_PP_SEQ_ELEM_III(BOOST_PP_SEQ_ELEM_ ## i ## seq)
-#    define BOOST_PP_SEQ_ELEM_III(im) BOOST_PP_SEQ_ELEM_IV(im)
-#    define BOOST_PP_SEQ_ELEM_IV(x, _) x
+# if NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_MSVC()
+#    define NDNBOOST_PP_SEQ_ELEM_I(i, seq) NDNBOOST_PP_SEQ_ELEM_II((NDNBOOST_PP_SEQ_ELEM_ ## i seq))
+#    define NDNBOOST_PP_SEQ_ELEM_II(res) NDNBOOST_PP_SEQ_ELEM_IV(NDNBOOST_PP_SEQ_ELEM_III res)
+#    define NDNBOOST_PP_SEQ_ELEM_III(x, _) x NDNBOOST_PP_EMPTY()
+#    define NDNBOOST_PP_SEQ_ELEM_IV(x) x
+# elif NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_MWCC()
+#    define NDNBOOST_PP_SEQ_ELEM_I(par) NDNBOOST_PP_SEQ_ELEM_II ## par
+#    define NDNBOOST_PP_SEQ_ELEM_II(i, seq) NDNBOOST_PP_SEQ_ELEM_III(NDNBOOST_PP_SEQ_ELEM_ ## i ## seq)
+#    define NDNBOOST_PP_SEQ_ELEM_III(im) NDNBOOST_PP_SEQ_ELEM_IV(im)
+#    define NDNBOOST_PP_SEQ_ELEM_IV(x, _) x
 # else
 #    if defined(__IBMC__) || defined(__IBMCPP__)
-#        define BOOST_PP_SEQ_ELEM_I(i, seq) BOOST_PP_SEQ_ELEM_II(BOOST_PP_CAT(BOOST_PP_SEQ_ELEM_ ## i, seq))
+#        define NDNBOOST_PP_SEQ_ELEM_I(i, seq) NDNBOOST_PP_SEQ_ELEM_II(NDNBOOST_PP_CAT(NDNBOOST_PP_SEQ_ELEM_ ## i, seq))
 #    else
-#        define BOOST_PP_SEQ_ELEM_I(i, seq) BOOST_PP_SEQ_ELEM_II(BOOST_PP_SEQ_ELEM_ ## i seq)
+#        define NDNBOOST_PP_SEQ_ELEM_I(i, seq) NDNBOOST_PP_SEQ_ELEM_II(NDNBOOST_PP_SEQ_ELEM_ ## i seq)
 #    endif
-#    define BOOST_PP_SEQ_ELEM_II(im) BOOST_PP_SEQ_ELEM_III(im)
-#    define BOOST_PP_SEQ_ELEM_III(x, _) x
+#    define NDNBOOST_PP_SEQ_ELEM_II(im) NDNBOOST_PP_SEQ_ELEM_III(im)
+#    define NDNBOOST_PP_SEQ_ELEM_III(x, _) x
 # endif
 #
-# define BOOST_PP_SEQ_ELEM_0(x) x, BOOST_PP_NIL
-# define BOOST_PP_SEQ_ELEM_1(_) BOOST_PP_SEQ_ELEM_0
-# define BOOST_PP_SEQ_ELEM_2(_) BOOST_PP_SEQ_ELEM_1
-# define BOOST_PP_SEQ_ELEM_3(_) BOOST_PP_SEQ_ELEM_2
-# define BOOST_PP_SEQ_ELEM_4(_) BOOST_PP_SEQ_ELEM_3
-# define BOOST_PP_SEQ_ELEM_5(_) BOOST_PP_SEQ_ELEM_4
-# define BOOST_PP_SEQ_ELEM_6(_) BOOST_PP_SEQ_ELEM_5
-# define BOOST_PP_SEQ_ELEM_7(_) BOOST_PP_SEQ_ELEM_6
-# define BOOST_PP_SEQ_ELEM_8(_) BOOST_PP_SEQ_ELEM_7
-# define BOOST_PP_SEQ_ELEM_9(_) BOOST_PP_SEQ_ELEM_8
-# define BOOST_PP_SEQ_ELEM_10(_) BOOST_PP_SEQ_ELEM_9
-# define BOOST_PP_SEQ_ELEM_11(_) BOOST_PP_SEQ_ELEM_10
-# define BOOST_PP_SEQ_ELEM_12(_) BOOST_PP_SEQ_ELEM_11
-# define BOOST_PP_SEQ_ELEM_13(_) BOOST_PP_SEQ_ELEM_12
-# define BOOST_PP_SEQ_ELEM_14(_) BOOST_PP_SEQ_ELEM_13
-# define BOOST_PP_SEQ_ELEM_15(_) BOOST_PP_SEQ_ELEM_14
-# define BOOST_PP_SEQ_ELEM_16(_) BOOST_PP_SEQ_ELEM_15
-# define BOOST_PP_SEQ_ELEM_17(_) BOOST_PP_SEQ_ELEM_16
-# define BOOST_PP_SEQ_ELEM_18(_) BOOST_PP_SEQ_ELEM_17
-# define BOOST_PP_SEQ_ELEM_19(_) BOOST_PP_SEQ_ELEM_18
-# define BOOST_PP_SEQ_ELEM_20(_) BOOST_PP_SEQ_ELEM_19
-# define BOOST_PP_SEQ_ELEM_21(_) BOOST_PP_SEQ_ELEM_20
-# define BOOST_PP_SEQ_ELEM_22(_) BOOST_PP_SEQ_ELEM_21
-# define BOOST_PP_SEQ_ELEM_23(_) BOOST_PP_SEQ_ELEM_22
-# define BOOST_PP_SEQ_ELEM_24(_) BOOST_PP_SEQ_ELEM_23
-# define BOOST_PP_SEQ_ELEM_25(_) BOOST_PP_SEQ_ELEM_24
-# define BOOST_PP_SEQ_ELEM_26(_) BOOST_PP_SEQ_ELEM_25
-# define BOOST_PP_SEQ_ELEM_27(_) BOOST_PP_SEQ_ELEM_26
-# define BOOST_PP_SEQ_ELEM_28(_) BOOST_PP_SEQ_ELEM_27
-# define BOOST_PP_SEQ_ELEM_29(_) BOOST_PP_SEQ_ELEM_28
-# define BOOST_PP_SEQ_ELEM_30(_) BOOST_PP_SEQ_ELEM_29
-# define BOOST_PP_SEQ_ELEM_31(_) BOOST_PP_SEQ_ELEM_30
-# define BOOST_PP_SEQ_ELEM_32(_) BOOST_PP_SEQ_ELEM_31
-# define BOOST_PP_SEQ_ELEM_33(_) BOOST_PP_SEQ_ELEM_32
-# define BOOST_PP_SEQ_ELEM_34(_) BOOST_PP_SEQ_ELEM_33
-# define BOOST_PP_SEQ_ELEM_35(_) BOOST_PP_SEQ_ELEM_34
-# define BOOST_PP_SEQ_ELEM_36(_) BOOST_PP_SEQ_ELEM_35
-# define BOOST_PP_SEQ_ELEM_37(_) BOOST_PP_SEQ_ELEM_36
-# define BOOST_PP_SEQ_ELEM_38(_) BOOST_PP_SEQ_ELEM_37
-# define BOOST_PP_SEQ_ELEM_39(_) BOOST_PP_SEQ_ELEM_38
-# define BOOST_PP_SEQ_ELEM_40(_) BOOST_PP_SEQ_ELEM_39
-# define BOOST_PP_SEQ_ELEM_41(_) BOOST_PP_SEQ_ELEM_40
-# define BOOST_PP_SEQ_ELEM_42(_) BOOST_PP_SEQ_ELEM_41
-# define BOOST_PP_SEQ_ELEM_43(_) BOOST_PP_SEQ_ELEM_42
-# define BOOST_PP_SEQ_ELEM_44(_) BOOST_PP_SEQ_ELEM_43
-# define BOOST_PP_SEQ_ELEM_45(_) BOOST_PP_SEQ_ELEM_44
-# define BOOST_PP_SEQ_ELEM_46(_) BOOST_PP_SEQ_ELEM_45
-# define BOOST_PP_SEQ_ELEM_47(_) BOOST_PP_SEQ_ELEM_46
-# define BOOST_PP_SEQ_ELEM_48(_) BOOST_PP_SEQ_ELEM_47
-# define BOOST_PP_SEQ_ELEM_49(_) BOOST_PP_SEQ_ELEM_48
-# define BOOST_PP_SEQ_ELEM_50(_) BOOST_PP_SEQ_ELEM_49
-# define BOOST_PP_SEQ_ELEM_51(_) BOOST_PP_SEQ_ELEM_50
-# define BOOST_PP_SEQ_ELEM_52(_) BOOST_PP_SEQ_ELEM_51
-# define BOOST_PP_SEQ_ELEM_53(_) BOOST_PP_SEQ_ELEM_52
-# define BOOST_PP_SEQ_ELEM_54(_) BOOST_PP_SEQ_ELEM_53
-# define BOOST_PP_SEQ_ELEM_55(_) BOOST_PP_SEQ_ELEM_54
-# define BOOST_PP_SEQ_ELEM_56(_) BOOST_PP_SEQ_ELEM_55
-# define BOOST_PP_SEQ_ELEM_57(_) BOOST_PP_SEQ_ELEM_56
-# define BOOST_PP_SEQ_ELEM_58(_) BOOST_PP_SEQ_ELEM_57
-# define BOOST_PP_SEQ_ELEM_59(_) BOOST_PP_SEQ_ELEM_58
-# define BOOST_PP_SEQ_ELEM_60(_) BOOST_PP_SEQ_ELEM_59
-# define BOOST_PP_SEQ_ELEM_61(_) BOOST_PP_SEQ_ELEM_60
-# define BOOST_PP_SEQ_ELEM_62(_) BOOST_PP_SEQ_ELEM_61
-# define BOOST_PP_SEQ_ELEM_63(_) BOOST_PP_SEQ_ELEM_62
-# define BOOST_PP_SEQ_ELEM_64(_) BOOST_PP_SEQ_ELEM_63
-# define BOOST_PP_SEQ_ELEM_65(_) BOOST_PP_SEQ_ELEM_64
-# define BOOST_PP_SEQ_ELEM_66(_) BOOST_PP_SEQ_ELEM_65
-# define BOOST_PP_SEQ_ELEM_67(_) BOOST_PP_SEQ_ELEM_66
-# define BOOST_PP_SEQ_ELEM_68(_) BOOST_PP_SEQ_ELEM_67
-# define BOOST_PP_SEQ_ELEM_69(_) BOOST_PP_SEQ_ELEM_68
-# define BOOST_PP_SEQ_ELEM_70(_) BOOST_PP_SEQ_ELEM_69
-# define BOOST_PP_SEQ_ELEM_71(_) BOOST_PP_SEQ_ELEM_70
-# define BOOST_PP_SEQ_ELEM_72(_) BOOST_PP_SEQ_ELEM_71
-# define BOOST_PP_SEQ_ELEM_73(_) BOOST_PP_SEQ_ELEM_72
-# define BOOST_PP_SEQ_ELEM_74(_) BOOST_PP_SEQ_ELEM_73
-# define BOOST_PP_SEQ_ELEM_75(_) BOOST_PP_SEQ_ELEM_74
-# define BOOST_PP_SEQ_ELEM_76(_) BOOST_PP_SEQ_ELEM_75
-# define BOOST_PP_SEQ_ELEM_77(_) BOOST_PP_SEQ_ELEM_76
-# define BOOST_PP_SEQ_ELEM_78(_) BOOST_PP_SEQ_ELEM_77
-# define BOOST_PP_SEQ_ELEM_79(_) BOOST_PP_SEQ_ELEM_78
-# define BOOST_PP_SEQ_ELEM_80(_) BOOST_PP_SEQ_ELEM_79
-# define BOOST_PP_SEQ_ELEM_81(_) BOOST_PP_SEQ_ELEM_80
-# define BOOST_PP_SEQ_ELEM_82(_) BOOST_PP_SEQ_ELEM_81
-# define BOOST_PP_SEQ_ELEM_83(_) BOOST_PP_SEQ_ELEM_82
-# define BOOST_PP_SEQ_ELEM_84(_) BOOST_PP_SEQ_ELEM_83
-# define BOOST_PP_SEQ_ELEM_85(_) BOOST_PP_SEQ_ELEM_84
-# define BOOST_PP_SEQ_ELEM_86(_) BOOST_PP_SEQ_ELEM_85
-# define BOOST_PP_SEQ_ELEM_87(_) BOOST_PP_SEQ_ELEM_86
-# define BOOST_PP_SEQ_ELEM_88(_) BOOST_PP_SEQ_ELEM_87
-# define BOOST_PP_SEQ_ELEM_89(_) BOOST_PP_SEQ_ELEM_88
-# define BOOST_PP_SEQ_ELEM_90(_) BOOST_PP_SEQ_ELEM_89
-# define BOOST_PP_SEQ_ELEM_91(_) BOOST_PP_SEQ_ELEM_90
-# define BOOST_PP_SEQ_ELEM_92(_) BOOST_PP_SEQ_ELEM_91
-# define BOOST_PP_SEQ_ELEM_93(_) BOOST_PP_SEQ_ELEM_92
-# define BOOST_PP_SEQ_ELEM_94(_) BOOST_PP_SEQ_ELEM_93
-# define BOOST_PP_SEQ_ELEM_95(_) BOOST_PP_SEQ_ELEM_94
-# define BOOST_PP_SEQ_ELEM_96(_) BOOST_PP_SEQ_ELEM_95
-# define BOOST_PP_SEQ_ELEM_97(_) BOOST_PP_SEQ_ELEM_96
-# define BOOST_PP_SEQ_ELEM_98(_) BOOST_PP_SEQ_ELEM_97
-# define BOOST_PP_SEQ_ELEM_99(_) BOOST_PP_SEQ_ELEM_98
-# define BOOST_PP_SEQ_ELEM_100(_) BOOST_PP_SEQ_ELEM_99
-# define BOOST_PP_SEQ_ELEM_101(_) BOOST_PP_SEQ_ELEM_100
-# define BOOST_PP_SEQ_ELEM_102(_) BOOST_PP_SEQ_ELEM_101
-# define BOOST_PP_SEQ_ELEM_103(_) BOOST_PP_SEQ_ELEM_102
-# define BOOST_PP_SEQ_ELEM_104(_) BOOST_PP_SEQ_ELEM_103
-# define BOOST_PP_SEQ_ELEM_105(_) BOOST_PP_SEQ_ELEM_104
-# define BOOST_PP_SEQ_ELEM_106(_) BOOST_PP_SEQ_ELEM_105
-# define BOOST_PP_SEQ_ELEM_107(_) BOOST_PP_SEQ_ELEM_106
-# define BOOST_PP_SEQ_ELEM_108(_) BOOST_PP_SEQ_ELEM_107
-# define BOOST_PP_SEQ_ELEM_109(_) BOOST_PP_SEQ_ELEM_108
-# define BOOST_PP_SEQ_ELEM_110(_) BOOST_PP_SEQ_ELEM_109
-# define BOOST_PP_SEQ_ELEM_111(_) BOOST_PP_SEQ_ELEM_110
-# define BOOST_PP_SEQ_ELEM_112(_) BOOST_PP_SEQ_ELEM_111
-# define BOOST_PP_SEQ_ELEM_113(_) BOOST_PP_SEQ_ELEM_112
-# define BOOST_PP_SEQ_ELEM_114(_) BOOST_PP_SEQ_ELEM_113
-# define BOOST_PP_SEQ_ELEM_115(_) BOOST_PP_SEQ_ELEM_114
-# define BOOST_PP_SEQ_ELEM_116(_) BOOST_PP_SEQ_ELEM_115
-# define BOOST_PP_SEQ_ELEM_117(_) BOOST_PP_SEQ_ELEM_116
-# define BOOST_PP_SEQ_ELEM_118(_) BOOST_PP_SEQ_ELEM_117
-# define BOOST_PP_SEQ_ELEM_119(_) BOOST_PP_SEQ_ELEM_118
-# define BOOST_PP_SEQ_ELEM_120(_) BOOST_PP_SEQ_ELEM_119
-# define BOOST_PP_SEQ_ELEM_121(_) BOOST_PP_SEQ_ELEM_120
-# define BOOST_PP_SEQ_ELEM_122(_) BOOST_PP_SEQ_ELEM_121
-# define BOOST_PP_SEQ_ELEM_123(_) BOOST_PP_SEQ_ELEM_122
-# define BOOST_PP_SEQ_ELEM_124(_) BOOST_PP_SEQ_ELEM_123
-# define BOOST_PP_SEQ_ELEM_125(_) BOOST_PP_SEQ_ELEM_124
-# define BOOST_PP_SEQ_ELEM_126(_) BOOST_PP_SEQ_ELEM_125
-# define BOOST_PP_SEQ_ELEM_127(_) BOOST_PP_SEQ_ELEM_126
-# define BOOST_PP_SEQ_ELEM_128(_) BOOST_PP_SEQ_ELEM_127
-# define BOOST_PP_SEQ_ELEM_129(_) BOOST_PP_SEQ_ELEM_128
-# define BOOST_PP_SEQ_ELEM_130(_) BOOST_PP_SEQ_ELEM_129
-# define BOOST_PP_SEQ_ELEM_131(_) BOOST_PP_SEQ_ELEM_130
-# define BOOST_PP_SEQ_ELEM_132(_) BOOST_PP_SEQ_ELEM_131
-# define BOOST_PP_SEQ_ELEM_133(_) BOOST_PP_SEQ_ELEM_132
-# define BOOST_PP_SEQ_ELEM_134(_) BOOST_PP_SEQ_ELEM_133
-# define BOOST_PP_SEQ_ELEM_135(_) BOOST_PP_SEQ_ELEM_134
-# define BOOST_PP_SEQ_ELEM_136(_) BOOST_PP_SEQ_ELEM_135
-# define BOOST_PP_SEQ_ELEM_137(_) BOOST_PP_SEQ_ELEM_136
-# define BOOST_PP_SEQ_ELEM_138(_) BOOST_PP_SEQ_ELEM_137
-# define BOOST_PP_SEQ_ELEM_139(_) BOOST_PP_SEQ_ELEM_138
-# define BOOST_PP_SEQ_ELEM_140(_) BOOST_PP_SEQ_ELEM_139
-# define BOOST_PP_SEQ_ELEM_141(_) BOOST_PP_SEQ_ELEM_140
-# define BOOST_PP_SEQ_ELEM_142(_) BOOST_PP_SEQ_ELEM_141
-# define BOOST_PP_SEQ_ELEM_143(_) BOOST_PP_SEQ_ELEM_142
-# define BOOST_PP_SEQ_ELEM_144(_) BOOST_PP_SEQ_ELEM_143
-# define BOOST_PP_SEQ_ELEM_145(_) BOOST_PP_SEQ_ELEM_144
-# define BOOST_PP_SEQ_ELEM_146(_) BOOST_PP_SEQ_ELEM_145
-# define BOOST_PP_SEQ_ELEM_147(_) BOOST_PP_SEQ_ELEM_146
-# define BOOST_PP_SEQ_ELEM_148(_) BOOST_PP_SEQ_ELEM_147
-# define BOOST_PP_SEQ_ELEM_149(_) BOOST_PP_SEQ_ELEM_148
-# define BOOST_PP_SEQ_ELEM_150(_) BOOST_PP_SEQ_ELEM_149
-# define BOOST_PP_SEQ_ELEM_151(_) BOOST_PP_SEQ_ELEM_150
-# define BOOST_PP_SEQ_ELEM_152(_) BOOST_PP_SEQ_ELEM_151
-# define BOOST_PP_SEQ_ELEM_153(_) BOOST_PP_SEQ_ELEM_152
-# define BOOST_PP_SEQ_ELEM_154(_) BOOST_PP_SEQ_ELEM_153
-# define BOOST_PP_SEQ_ELEM_155(_) BOOST_PP_SEQ_ELEM_154
-# define BOOST_PP_SEQ_ELEM_156(_) BOOST_PP_SEQ_ELEM_155
-# define BOOST_PP_SEQ_ELEM_157(_) BOOST_PP_SEQ_ELEM_156
-# define BOOST_PP_SEQ_ELEM_158(_) BOOST_PP_SEQ_ELEM_157
-# define BOOST_PP_SEQ_ELEM_159(_) BOOST_PP_SEQ_ELEM_158
-# define BOOST_PP_SEQ_ELEM_160(_) BOOST_PP_SEQ_ELEM_159
-# define BOOST_PP_SEQ_ELEM_161(_) BOOST_PP_SEQ_ELEM_160
-# define BOOST_PP_SEQ_ELEM_162(_) BOOST_PP_SEQ_ELEM_161
-# define BOOST_PP_SEQ_ELEM_163(_) BOOST_PP_SEQ_ELEM_162
-# define BOOST_PP_SEQ_ELEM_164(_) BOOST_PP_SEQ_ELEM_163
-# define BOOST_PP_SEQ_ELEM_165(_) BOOST_PP_SEQ_ELEM_164
-# define BOOST_PP_SEQ_ELEM_166(_) BOOST_PP_SEQ_ELEM_165
-# define BOOST_PP_SEQ_ELEM_167(_) BOOST_PP_SEQ_ELEM_166
-# define BOOST_PP_SEQ_ELEM_168(_) BOOST_PP_SEQ_ELEM_167
-# define BOOST_PP_SEQ_ELEM_169(_) BOOST_PP_SEQ_ELEM_168
-# define BOOST_PP_SEQ_ELEM_170(_) BOOST_PP_SEQ_ELEM_169
-# define BOOST_PP_SEQ_ELEM_171(_) BOOST_PP_SEQ_ELEM_170
-# define BOOST_PP_SEQ_ELEM_172(_) BOOST_PP_SEQ_ELEM_171
-# define BOOST_PP_SEQ_ELEM_173(_) BOOST_PP_SEQ_ELEM_172
-# define BOOST_PP_SEQ_ELEM_174(_) BOOST_PP_SEQ_ELEM_173
-# define BOOST_PP_SEQ_ELEM_175(_) BOOST_PP_SEQ_ELEM_174
-# define BOOST_PP_SEQ_ELEM_176(_) BOOST_PP_SEQ_ELEM_175
-# define BOOST_PP_SEQ_ELEM_177(_) BOOST_PP_SEQ_ELEM_176
-# define BOOST_PP_SEQ_ELEM_178(_) BOOST_PP_SEQ_ELEM_177
-# define BOOST_PP_SEQ_ELEM_179(_) BOOST_PP_SEQ_ELEM_178
-# define BOOST_PP_SEQ_ELEM_180(_) BOOST_PP_SEQ_ELEM_179
-# define BOOST_PP_SEQ_ELEM_181(_) BOOST_PP_SEQ_ELEM_180
-# define BOOST_PP_SEQ_ELEM_182(_) BOOST_PP_SEQ_ELEM_181
-# define BOOST_PP_SEQ_ELEM_183(_) BOOST_PP_SEQ_ELEM_182
-# define BOOST_PP_SEQ_ELEM_184(_) BOOST_PP_SEQ_ELEM_183
-# define BOOST_PP_SEQ_ELEM_185(_) BOOST_PP_SEQ_ELEM_184
-# define BOOST_PP_SEQ_ELEM_186(_) BOOST_PP_SEQ_ELEM_185
-# define BOOST_PP_SEQ_ELEM_187(_) BOOST_PP_SEQ_ELEM_186
-# define BOOST_PP_SEQ_ELEM_188(_) BOOST_PP_SEQ_ELEM_187
-# define BOOST_PP_SEQ_ELEM_189(_) BOOST_PP_SEQ_ELEM_188
-# define BOOST_PP_SEQ_ELEM_190(_) BOOST_PP_SEQ_ELEM_189
-# define BOOST_PP_SEQ_ELEM_191(_) BOOST_PP_SEQ_ELEM_190
-# define BOOST_PP_SEQ_ELEM_192(_) BOOST_PP_SEQ_ELEM_191
-# define BOOST_PP_SEQ_ELEM_193(_) BOOST_PP_SEQ_ELEM_192
-# define BOOST_PP_SEQ_ELEM_194(_) BOOST_PP_SEQ_ELEM_193
-# define BOOST_PP_SEQ_ELEM_195(_) BOOST_PP_SEQ_ELEM_194
-# define BOOST_PP_SEQ_ELEM_196(_) BOOST_PP_SEQ_ELEM_195
-# define BOOST_PP_SEQ_ELEM_197(_) BOOST_PP_SEQ_ELEM_196
-# define BOOST_PP_SEQ_ELEM_198(_) BOOST_PP_SEQ_ELEM_197
-# define BOOST_PP_SEQ_ELEM_199(_) BOOST_PP_SEQ_ELEM_198
-# define BOOST_PP_SEQ_ELEM_200(_) BOOST_PP_SEQ_ELEM_199
-# define BOOST_PP_SEQ_ELEM_201(_) BOOST_PP_SEQ_ELEM_200
-# define BOOST_PP_SEQ_ELEM_202(_) BOOST_PP_SEQ_ELEM_201
-# define BOOST_PP_SEQ_ELEM_203(_) BOOST_PP_SEQ_ELEM_202
-# define BOOST_PP_SEQ_ELEM_204(_) BOOST_PP_SEQ_ELEM_203
-# define BOOST_PP_SEQ_ELEM_205(_) BOOST_PP_SEQ_ELEM_204
-# define BOOST_PP_SEQ_ELEM_206(_) BOOST_PP_SEQ_ELEM_205
-# define BOOST_PP_SEQ_ELEM_207(_) BOOST_PP_SEQ_ELEM_206
-# define BOOST_PP_SEQ_ELEM_208(_) BOOST_PP_SEQ_ELEM_207
-# define BOOST_PP_SEQ_ELEM_209(_) BOOST_PP_SEQ_ELEM_208
-# define BOOST_PP_SEQ_ELEM_210(_) BOOST_PP_SEQ_ELEM_209
-# define BOOST_PP_SEQ_ELEM_211(_) BOOST_PP_SEQ_ELEM_210
-# define BOOST_PP_SEQ_ELEM_212(_) BOOST_PP_SEQ_ELEM_211
-# define BOOST_PP_SEQ_ELEM_213(_) BOOST_PP_SEQ_ELEM_212
-# define BOOST_PP_SEQ_ELEM_214(_) BOOST_PP_SEQ_ELEM_213
-# define BOOST_PP_SEQ_ELEM_215(_) BOOST_PP_SEQ_ELEM_214
-# define BOOST_PP_SEQ_ELEM_216(_) BOOST_PP_SEQ_ELEM_215
-# define BOOST_PP_SEQ_ELEM_217(_) BOOST_PP_SEQ_ELEM_216
-# define BOOST_PP_SEQ_ELEM_218(_) BOOST_PP_SEQ_ELEM_217
-# define BOOST_PP_SEQ_ELEM_219(_) BOOST_PP_SEQ_ELEM_218
-# define BOOST_PP_SEQ_ELEM_220(_) BOOST_PP_SEQ_ELEM_219
-# define BOOST_PP_SEQ_ELEM_221(_) BOOST_PP_SEQ_ELEM_220
-# define BOOST_PP_SEQ_ELEM_222(_) BOOST_PP_SEQ_ELEM_221
-# define BOOST_PP_SEQ_ELEM_223(_) BOOST_PP_SEQ_ELEM_222
-# define BOOST_PP_SEQ_ELEM_224(_) BOOST_PP_SEQ_ELEM_223
-# define BOOST_PP_SEQ_ELEM_225(_) BOOST_PP_SEQ_ELEM_224
-# define BOOST_PP_SEQ_ELEM_226(_) BOOST_PP_SEQ_ELEM_225
-# define BOOST_PP_SEQ_ELEM_227(_) BOOST_PP_SEQ_ELEM_226
-# define BOOST_PP_SEQ_ELEM_228(_) BOOST_PP_SEQ_ELEM_227
-# define BOOST_PP_SEQ_ELEM_229(_) BOOST_PP_SEQ_ELEM_228
-# define BOOST_PP_SEQ_ELEM_230(_) BOOST_PP_SEQ_ELEM_229
-# define BOOST_PP_SEQ_ELEM_231(_) BOOST_PP_SEQ_ELEM_230
-# define BOOST_PP_SEQ_ELEM_232(_) BOOST_PP_SEQ_ELEM_231
-# define BOOST_PP_SEQ_ELEM_233(_) BOOST_PP_SEQ_ELEM_232
-# define BOOST_PP_SEQ_ELEM_234(_) BOOST_PP_SEQ_ELEM_233
-# define BOOST_PP_SEQ_ELEM_235(_) BOOST_PP_SEQ_ELEM_234
-# define BOOST_PP_SEQ_ELEM_236(_) BOOST_PP_SEQ_ELEM_235
-# define BOOST_PP_SEQ_ELEM_237(_) BOOST_PP_SEQ_ELEM_236
-# define BOOST_PP_SEQ_ELEM_238(_) BOOST_PP_SEQ_ELEM_237
-# define BOOST_PP_SEQ_ELEM_239(_) BOOST_PP_SEQ_ELEM_238
-# define BOOST_PP_SEQ_ELEM_240(_) BOOST_PP_SEQ_ELEM_239
-# define BOOST_PP_SEQ_ELEM_241(_) BOOST_PP_SEQ_ELEM_240
-# define BOOST_PP_SEQ_ELEM_242(_) BOOST_PP_SEQ_ELEM_241
-# define BOOST_PP_SEQ_ELEM_243(_) BOOST_PP_SEQ_ELEM_242
-# define BOOST_PP_SEQ_ELEM_244(_) BOOST_PP_SEQ_ELEM_243
-# define BOOST_PP_SEQ_ELEM_245(_) BOOST_PP_SEQ_ELEM_244
-# define BOOST_PP_SEQ_ELEM_246(_) BOOST_PP_SEQ_ELEM_245
-# define BOOST_PP_SEQ_ELEM_247(_) BOOST_PP_SEQ_ELEM_246
-# define BOOST_PP_SEQ_ELEM_248(_) BOOST_PP_SEQ_ELEM_247
-# define BOOST_PP_SEQ_ELEM_249(_) BOOST_PP_SEQ_ELEM_248
-# define BOOST_PP_SEQ_ELEM_250(_) BOOST_PP_SEQ_ELEM_249
-# define BOOST_PP_SEQ_ELEM_251(_) BOOST_PP_SEQ_ELEM_250
-# define BOOST_PP_SEQ_ELEM_252(_) BOOST_PP_SEQ_ELEM_251
-# define BOOST_PP_SEQ_ELEM_253(_) BOOST_PP_SEQ_ELEM_252
-# define BOOST_PP_SEQ_ELEM_254(_) BOOST_PP_SEQ_ELEM_253
-# define BOOST_PP_SEQ_ELEM_255(_) BOOST_PP_SEQ_ELEM_254
+# define NDNBOOST_PP_SEQ_ELEM_0(x) x, NDNBOOST_PP_NIL
+# define NDNBOOST_PP_SEQ_ELEM_1(_) NDNBOOST_PP_SEQ_ELEM_0
+# define NDNBOOST_PP_SEQ_ELEM_2(_) NDNBOOST_PP_SEQ_ELEM_1
+# define NDNBOOST_PP_SEQ_ELEM_3(_) NDNBOOST_PP_SEQ_ELEM_2
+# define NDNBOOST_PP_SEQ_ELEM_4(_) NDNBOOST_PP_SEQ_ELEM_3
+# define NDNBOOST_PP_SEQ_ELEM_5(_) NDNBOOST_PP_SEQ_ELEM_4
+# define NDNBOOST_PP_SEQ_ELEM_6(_) NDNBOOST_PP_SEQ_ELEM_5
+# define NDNBOOST_PP_SEQ_ELEM_7(_) NDNBOOST_PP_SEQ_ELEM_6
+# define NDNBOOST_PP_SEQ_ELEM_8(_) NDNBOOST_PP_SEQ_ELEM_7
+# define NDNBOOST_PP_SEQ_ELEM_9(_) NDNBOOST_PP_SEQ_ELEM_8
+# define NDNBOOST_PP_SEQ_ELEM_10(_) NDNBOOST_PP_SEQ_ELEM_9
+# define NDNBOOST_PP_SEQ_ELEM_11(_) NDNBOOST_PP_SEQ_ELEM_10
+# define NDNBOOST_PP_SEQ_ELEM_12(_) NDNBOOST_PP_SEQ_ELEM_11
+# define NDNBOOST_PP_SEQ_ELEM_13(_) NDNBOOST_PP_SEQ_ELEM_12
+# define NDNBOOST_PP_SEQ_ELEM_14(_) NDNBOOST_PP_SEQ_ELEM_13
+# define NDNBOOST_PP_SEQ_ELEM_15(_) NDNBOOST_PP_SEQ_ELEM_14
+# define NDNBOOST_PP_SEQ_ELEM_16(_) NDNBOOST_PP_SEQ_ELEM_15
+# define NDNBOOST_PP_SEQ_ELEM_17(_) NDNBOOST_PP_SEQ_ELEM_16
+# define NDNBOOST_PP_SEQ_ELEM_18(_) NDNBOOST_PP_SEQ_ELEM_17
+# define NDNBOOST_PP_SEQ_ELEM_19(_) NDNBOOST_PP_SEQ_ELEM_18
+# define NDNBOOST_PP_SEQ_ELEM_20(_) NDNBOOST_PP_SEQ_ELEM_19
+# define NDNBOOST_PP_SEQ_ELEM_21(_) NDNBOOST_PP_SEQ_ELEM_20
+# define NDNBOOST_PP_SEQ_ELEM_22(_) NDNBOOST_PP_SEQ_ELEM_21
+# define NDNBOOST_PP_SEQ_ELEM_23(_) NDNBOOST_PP_SEQ_ELEM_22
+# define NDNBOOST_PP_SEQ_ELEM_24(_) NDNBOOST_PP_SEQ_ELEM_23
+# define NDNBOOST_PP_SEQ_ELEM_25(_) NDNBOOST_PP_SEQ_ELEM_24
+# define NDNBOOST_PP_SEQ_ELEM_26(_) NDNBOOST_PP_SEQ_ELEM_25
+# define NDNBOOST_PP_SEQ_ELEM_27(_) NDNBOOST_PP_SEQ_ELEM_26
+# define NDNBOOST_PP_SEQ_ELEM_28(_) NDNBOOST_PP_SEQ_ELEM_27
+# define NDNBOOST_PP_SEQ_ELEM_29(_) NDNBOOST_PP_SEQ_ELEM_28
+# define NDNBOOST_PP_SEQ_ELEM_30(_) NDNBOOST_PP_SEQ_ELEM_29
+# define NDNBOOST_PP_SEQ_ELEM_31(_) NDNBOOST_PP_SEQ_ELEM_30
+# define NDNBOOST_PP_SEQ_ELEM_32(_) NDNBOOST_PP_SEQ_ELEM_31
+# define NDNBOOST_PP_SEQ_ELEM_33(_) NDNBOOST_PP_SEQ_ELEM_32
+# define NDNBOOST_PP_SEQ_ELEM_34(_) NDNBOOST_PP_SEQ_ELEM_33
+# define NDNBOOST_PP_SEQ_ELEM_35(_) NDNBOOST_PP_SEQ_ELEM_34
+# define NDNBOOST_PP_SEQ_ELEM_36(_) NDNBOOST_PP_SEQ_ELEM_35
+# define NDNBOOST_PP_SEQ_ELEM_37(_) NDNBOOST_PP_SEQ_ELEM_36
+# define NDNBOOST_PP_SEQ_ELEM_38(_) NDNBOOST_PP_SEQ_ELEM_37
+# define NDNBOOST_PP_SEQ_ELEM_39(_) NDNBOOST_PP_SEQ_ELEM_38
+# define NDNBOOST_PP_SEQ_ELEM_40(_) NDNBOOST_PP_SEQ_ELEM_39
+# define NDNBOOST_PP_SEQ_ELEM_41(_) NDNBOOST_PP_SEQ_ELEM_40
+# define NDNBOOST_PP_SEQ_ELEM_42(_) NDNBOOST_PP_SEQ_ELEM_41
+# define NDNBOOST_PP_SEQ_ELEM_43(_) NDNBOOST_PP_SEQ_ELEM_42
+# define NDNBOOST_PP_SEQ_ELEM_44(_) NDNBOOST_PP_SEQ_ELEM_43
+# define NDNBOOST_PP_SEQ_ELEM_45(_) NDNBOOST_PP_SEQ_ELEM_44
+# define NDNBOOST_PP_SEQ_ELEM_46(_) NDNBOOST_PP_SEQ_ELEM_45
+# define NDNBOOST_PP_SEQ_ELEM_47(_) NDNBOOST_PP_SEQ_ELEM_46
+# define NDNBOOST_PP_SEQ_ELEM_48(_) NDNBOOST_PP_SEQ_ELEM_47
+# define NDNBOOST_PP_SEQ_ELEM_49(_) NDNBOOST_PP_SEQ_ELEM_48
+# define NDNBOOST_PP_SEQ_ELEM_50(_) NDNBOOST_PP_SEQ_ELEM_49
+# define NDNBOOST_PP_SEQ_ELEM_51(_) NDNBOOST_PP_SEQ_ELEM_50
+# define NDNBOOST_PP_SEQ_ELEM_52(_) NDNBOOST_PP_SEQ_ELEM_51
+# define NDNBOOST_PP_SEQ_ELEM_53(_) NDNBOOST_PP_SEQ_ELEM_52
+# define NDNBOOST_PP_SEQ_ELEM_54(_) NDNBOOST_PP_SEQ_ELEM_53
+# define NDNBOOST_PP_SEQ_ELEM_55(_) NDNBOOST_PP_SEQ_ELEM_54
+# define NDNBOOST_PP_SEQ_ELEM_56(_) NDNBOOST_PP_SEQ_ELEM_55
+# define NDNBOOST_PP_SEQ_ELEM_57(_) NDNBOOST_PP_SEQ_ELEM_56
+# define NDNBOOST_PP_SEQ_ELEM_58(_) NDNBOOST_PP_SEQ_ELEM_57
+# define NDNBOOST_PP_SEQ_ELEM_59(_) NDNBOOST_PP_SEQ_ELEM_58
+# define NDNBOOST_PP_SEQ_ELEM_60(_) NDNBOOST_PP_SEQ_ELEM_59
+# define NDNBOOST_PP_SEQ_ELEM_61(_) NDNBOOST_PP_SEQ_ELEM_60
+# define NDNBOOST_PP_SEQ_ELEM_62(_) NDNBOOST_PP_SEQ_ELEM_61
+# define NDNBOOST_PP_SEQ_ELEM_63(_) NDNBOOST_PP_SEQ_ELEM_62
+# define NDNBOOST_PP_SEQ_ELEM_64(_) NDNBOOST_PP_SEQ_ELEM_63
+# define NDNBOOST_PP_SEQ_ELEM_65(_) NDNBOOST_PP_SEQ_ELEM_64
+# define NDNBOOST_PP_SEQ_ELEM_66(_) NDNBOOST_PP_SEQ_ELEM_65
+# define NDNBOOST_PP_SEQ_ELEM_67(_) NDNBOOST_PP_SEQ_ELEM_66
+# define NDNBOOST_PP_SEQ_ELEM_68(_) NDNBOOST_PP_SEQ_ELEM_67
+# define NDNBOOST_PP_SEQ_ELEM_69(_) NDNBOOST_PP_SEQ_ELEM_68
+# define NDNBOOST_PP_SEQ_ELEM_70(_) NDNBOOST_PP_SEQ_ELEM_69
+# define NDNBOOST_PP_SEQ_ELEM_71(_) NDNBOOST_PP_SEQ_ELEM_70
+# define NDNBOOST_PP_SEQ_ELEM_72(_) NDNBOOST_PP_SEQ_ELEM_71
+# define NDNBOOST_PP_SEQ_ELEM_73(_) NDNBOOST_PP_SEQ_ELEM_72
+# define NDNBOOST_PP_SEQ_ELEM_74(_) NDNBOOST_PP_SEQ_ELEM_73
+# define NDNBOOST_PP_SEQ_ELEM_75(_) NDNBOOST_PP_SEQ_ELEM_74
+# define NDNBOOST_PP_SEQ_ELEM_76(_) NDNBOOST_PP_SEQ_ELEM_75
+# define NDNBOOST_PP_SEQ_ELEM_77(_) NDNBOOST_PP_SEQ_ELEM_76
+# define NDNBOOST_PP_SEQ_ELEM_78(_) NDNBOOST_PP_SEQ_ELEM_77
+# define NDNBOOST_PP_SEQ_ELEM_79(_) NDNBOOST_PP_SEQ_ELEM_78
+# define NDNBOOST_PP_SEQ_ELEM_80(_) NDNBOOST_PP_SEQ_ELEM_79
+# define NDNBOOST_PP_SEQ_ELEM_81(_) NDNBOOST_PP_SEQ_ELEM_80
+# define NDNBOOST_PP_SEQ_ELEM_82(_) NDNBOOST_PP_SEQ_ELEM_81
+# define NDNBOOST_PP_SEQ_ELEM_83(_) NDNBOOST_PP_SEQ_ELEM_82
+# define NDNBOOST_PP_SEQ_ELEM_84(_) NDNBOOST_PP_SEQ_ELEM_83
+# define NDNBOOST_PP_SEQ_ELEM_85(_) NDNBOOST_PP_SEQ_ELEM_84
+# define NDNBOOST_PP_SEQ_ELEM_86(_) NDNBOOST_PP_SEQ_ELEM_85
+# define NDNBOOST_PP_SEQ_ELEM_87(_) NDNBOOST_PP_SEQ_ELEM_86
+# define NDNBOOST_PP_SEQ_ELEM_88(_) NDNBOOST_PP_SEQ_ELEM_87
+# define NDNBOOST_PP_SEQ_ELEM_89(_) NDNBOOST_PP_SEQ_ELEM_88
+# define NDNBOOST_PP_SEQ_ELEM_90(_) NDNBOOST_PP_SEQ_ELEM_89
+# define NDNBOOST_PP_SEQ_ELEM_91(_) NDNBOOST_PP_SEQ_ELEM_90
+# define NDNBOOST_PP_SEQ_ELEM_92(_) NDNBOOST_PP_SEQ_ELEM_91
+# define NDNBOOST_PP_SEQ_ELEM_93(_) NDNBOOST_PP_SEQ_ELEM_92
+# define NDNBOOST_PP_SEQ_ELEM_94(_) NDNBOOST_PP_SEQ_ELEM_93
+# define NDNBOOST_PP_SEQ_ELEM_95(_) NDNBOOST_PP_SEQ_ELEM_94
+# define NDNBOOST_PP_SEQ_ELEM_96(_) NDNBOOST_PP_SEQ_ELEM_95
+# define NDNBOOST_PP_SEQ_ELEM_97(_) NDNBOOST_PP_SEQ_ELEM_96
+# define NDNBOOST_PP_SEQ_ELEM_98(_) NDNBOOST_PP_SEQ_ELEM_97
+# define NDNBOOST_PP_SEQ_ELEM_99(_) NDNBOOST_PP_SEQ_ELEM_98
+# define NDNBOOST_PP_SEQ_ELEM_100(_) NDNBOOST_PP_SEQ_ELEM_99
+# define NDNBOOST_PP_SEQ_ELEM_101(_) NDNBOOST_PP_SEQ_ELEM_100
+# define NDNBOOST_PP_SEQ_ELEM_102(_) NDNBOOST_PP_SEQ_ELEM_101
+# define NDNBOOST_PP_SEQ_ELEM_103(_) NDNBOOST_PP_SEQ_ELEM_102
+# define NDNBOOST_PP_SEQ_ELEM_104(_) NDNBOOST_PP_SEQ_ELEM_103
+# define NDNBOOST_PP_SEQ_ELEM_105(_) NDNBOOST_PP_SEQ_ELEM_104
+# define NDNBOOST_PP_SEQ_ELEM_106(_) NDNBOOST_PP_SEQ_ELEM_105
+# define NDNBOOST_PP_SEQ_ELEM_107(_) NDNBOOST_PP_SEQ_ELEM_106
+# define NDNBOOST_PP_SEQ_ELEM_108(_) NDNBOOST_PP_SEQ_ELEM_107
+# define NDNBOOST_PP_SEQ_ELEM_109(_) NDNBOOST_PP_SEQ_ELEM_108
+# define NDNBOOST_PP_SEQ_ELEM_110(_) NDNBOOST_PP_SEQ_ELEM_109
+# define NDNBOOST_PP_SEQ_ELEM_111(_) NDNBOOST_PP_SEQ_ELEM_110
+# define NDNBOOST_PP_SEQ_ELEM_112(_) NDNBOOST_PP_SEQ_ELEM_111
+# define NDNBOOST_PP_SEQ_ELEM_113(_) NDNBOOST_PP_SEQ_ELEM_112
+# define NDNBOOST_PP_SEQ_ELEM_114(_) NDNBOOST_PP_SEQ_ELEM_113
+# define NDNBOOST_PP_SEQ_ELEM_115(_) NDNBOOST_PP_SEQ_ELEM_114
+# define NDNBOOST_PP_SEQ_ELEM_116(_) NDNBOOST_PP_SEQ_ELEM_115
+# define NDNBOOST_PP_SEQ_ELEM_117(_) NDNBOOST_PP_SEQ_ELEM_116
+# define NDNBOOST_PP_SEQ_ELEM_118(_) NDNBOOST_PP_SEQ_ELEM_117
+# define NDNBOOST_PP_SEQ_ELEM_119(_) NDNBOOST_PP_SEQ_ELEM_118
+# define NDNBOOST_PP_SEQ_ELEM_120(_) NDNBOOST_PP_SEQ_ELEM_119
+# define NDNBOOST_PP_SEQ_ELEM_121(_) NDNBOOST_PP_SEQ_ELEM_120
+# define NDNBOOST_PP_SEQ_ELEM_122(_) NDNBOOST_PP_SEQ_ELEM_121
+# define NDNBOOST_PP_SEQ_ELEM_123(_) NDNBOOST_PP_SEQ_ELEM_122
+# define NDNBOOST_PP_SEQ_ELEM_124(_) NDNBOOST_PP_SEQ_ELEM_123
+# define NDNBOOST_PP_SEQ_ELEM_125(_) NDNBOOST_PP_SEQ_ELEM_124
+# define NDNBOOST_PP_SEQ_ELEM_126(_) NDNBOOST_PP_SEQ_ELEM_125
+# define NDNBOOST_PP_SEQ_ELEM_127(_) NDNBOOST_PP_SEQ_ELEM_126
+# define NDNBOOST_PP_SEQ_ELEM_128(_) NDNBOOST_PP_SEQ_ELEM_127
+# define NDNBOOST_PP_SEQ_ELEM_129(_) NDNBOOST_PP_SEQ_ELEM_128
+# define NDNBOOST_PP_SEQ_ELEM_130(_) NDNBOOST_PP_SEQ_ELEM_129
+# define NDNBOOST_PP_SEQ_ELEM_131(_) NDNBOOST_PP_SEQ_ELEM_130
+# define NDNBOOST_PP_SEQ_ELEM_132(_) NDNBOOST_PP_SEQ_ELEM_131
+# define NDNBOOST_PP_SEQ_ELEM_133(_) NDNBOOST_PP_SEQ_ELEM_132
+# define NDNBOOST_PP_SEQ_ELEM_134(_) NDNBOOST_PP_SEQ_ELEM_133
+# define NDNBOOST_PP_SEQ_ELEM_135(_) NDNBOOST_PP_SEQ_ELEM_134
+# define NDNBOOST_PP_SEQ_ELEM_136(_) NDNBOOST_PP_SEQ_ELEM_135
+# define NDNBOOST_PP_SEQ_ELEM_137(_) NDNBOOST_PP_SEQ_ELEM_136
+# define NDNBOOST_PP_SEQ_ELEM_138(_) NDNBOOST_PP_SEQ_ELEM_137
+# define NDNBOOST_PP_SEQ_ELEM_139(_) NDNBOOST_PP_SEQ_ELEM_138
+# define NDNBOOST_PP_SEQ_ELEM_140(_) NDNBOOST_PP_SEQ_ELEM_139
+# define NDNBOOST_PP_SEQ_ELEM_141(_) NDNBOOST_PP_SEQ_ELEM_140
+# define NDNBOOST_PP_SEQ_ELEM_142(_) NDNBOOST_PP_SEQ_ELEM_141
+# define NDNBOOST_PP_SEQ_ELEM_143(_) NDNBOOST_PP_SEQ_ELEM_142
+# define NDNBOOST_PP_SEQ_ELEM_144(_) NDNBOOST_PP_SEQ_ELEM_143
+# define NDNBOOST_PP_SEQ_ELEM_145(_) NDNBOOST_PP_SEQ_ELEM_144
+# define NDNBOOST_PP_SEQ_ELEM_146(_) NDNBOOST_PP_SEQ_ELEM_145
+# define NDNBOOST_PP_SEQ_ELEM_147(_) NDNBOOST_PP_SEQ_ELEM_146
+# define NDNBOOST_PP_SEQ_ELEM_148(_) NDNBOOST_PP_SEQ_ELEM_147
+# define NDNBOOST_PP_SEQ_ELEM_149(_) NDNBOOST_PP_SEQ_ELEM_148
+# define NDNBOOST_PP_SEQ_ELEM_150(_) NDNBOOST_PP_SEQ_ELEM_149
+# define NDNBOOST_PP_SEQ_ELEM_151(_) NDNBOOST_PP_SEQ_ELEM_150
+# define NDNBOOST_PP_SEQ_ELEM_152(_) NDNBOOST_PP_SEQ_ELEM_151
+# define NDNBOOST_PP_SEQ_ELEM_153(_) NDNBOOST_PP_SEQ_ELEM_152
+# define NDNBOOST_PP_SEQ_ELEM_154(_) NDNBOOST_PP_SEQ_ELEM_153
+# define NDNBOOST_PP_SEQ_ELEM_155(_) NDNBOOST_PP_SEQ_ELEM_154
+# define NDNBOOST_PP_SEQ_ELEM_156(_) NDNBOOST_PP_SEQ_ELEM_155
+# define NDNBOOST_PP_SEQ_ELEM_157(_) NDNBOOST_PP_SEQ_ELEM_156
+# define NDNBOOST_PP_SEQ_ELEM_158(_) NDNBOOST_PP_SEQ_ELEM_157
+# define NDNBOOST_PP_SEQ_ELEM_159(_) NDNBOOST_PP_SEQ_ELEM_158
+# define NDNBOOST_PP_SEQ_ELEM_160(_) NDNBOOST_PP_SEQ_ELEM_159
+# define NDNBOOST_PP_SEQ_ELEM_161(_) NDNBOOST_PP_SEQ_ELEM_160
+# define NDNBOOST_PP_SEQ_ELEM_162(_) NDNBOOST_PP_SEQ_ELEM_161
+# define NDNBOOST_PP_SEQ_ELEM_163(_) NDNBOOST_PP_SEQ_ELEM_162
+# define NDNBOOST_PP_SEQ_ELEM_164(_) NDNBOOST_PP_SEQ_ELEM_163
+# define NDNBOOST_PP_SEQ_ELEM_165(_) NDNBOOST_PP_SEQ_ELEM_164
+# define NDNBOOST_PP_SEQ_ELEM_166(_) NDNBOOST_PP_SEQ_ELEM_165
+# define NDNBOOST_PP_SEQ_ELEM_167(_) NDNBOOST_PP_SEQ_ELEM_166
+# define NDNBOOST_PP_SEQ_ELEM_168(_) NDNBOOST_PP_SEQ_ELEM_167
+# define NDNBOOST_PP_SEQ_ELEM_169(_) NDNBOOST_PP_SEQ_ELEM_168
+# define NDNBOOST_PP_SEQ_ELEM_170(_) NDNBOOST_PP_SEQ_ELEM_169
+# define NDNBOOST_PP_SEQ_ELEM_171(_) NDNBOOST_PP_SEQ_ELEM_170
+# define NDNBOOST_PP_SEQ_ELEM_172(_) NDNBOOST_PP_SEQ_ELEM_171
+# define NDNBOOST_PP_SEQ_ELEM_173(_) NDNBOOST_PP_SEQ_ELEM_172
+# define NDNBOOST_PP_SEQ_ELEM_174(_) NDNBOOST_PP_SEQ_ELEM_173
+# define NDNBOOST_PP_SEQ_ELEM_175(_) NDNBOOST_PP_SEQ_ELEM_174
+# define NDNBOOST_PP_SEQ_ELEM_176(_) NDNBOOST_PP_SEQ_ELEM_175
+# define NDNBOOST_PP_SEQ_ELEM_177(_) NDNBOOST_PP_SEQ_ELEM_176
+# define NDNBOOST_PP_SEQ_ELEM_178(_) NDNBOOST_PP_SEQ_ELEM_177
+# define NDNBOOST_PP_SEQ_ELEM_179(_) NDNBOOST_PP_SEQ_ELEM_178
+# define NDNBOOST_PP_SEQ_ELEM_180(_) NDNBOOST_PP_SEQ_ELEM_179
+# define NDNBOOST_PP_SEQ_ELEM_181(_) NDNBOOST_PP_SEQ_ELEM_180
+# define NDNBOOST_PP_SEQ_ELEM_182(_) NDNBOOST_PP_SEQ_ELEM_181
+# define NDNBOOST_PP_SEQ_ELEM_183(_) NDNBOOST_PP_SEQ_ELEM_182
+# define NDNBOOST_PP_SEQ_ELEM_184(_) NDNBOOST_PP_SEQ_ELEM_183
+# define NDNBOOST_PP_SEQ_ELEM_185(_) NDNBOOST_PP_SEQ_ELEM_184
+# define NDNBOOST_PP_SEQ_ELEM_186(_) NDNBOOST_PP_SEQ_ELEM_185
+# define NDNBOOST_PP_SEQ_ELEM_187(_) NDNBOOST_PP_SEQ_ELEM_186
+# define NDNBOOST_PP_SEQ_ELEM_188(_) NDNBOOST_PP_SEQ_ELEM_187
+# define NDNBOOST_PP_SEQ_ELEM_189(_) NDNBOOST_PP_SEQ_ELEM_188
+# define NDNBOOST_PP_SEQ_ELEM_190(_) NDNBOOST_PP_SEQ_ELEM_189
+# define NDNBOOST_PP_SEQ_ELEM_191(_) NDNBOOST_PP_SEQ_ELEM_190
+# define NDNBOOST_PP_SEQ_ELEM_192(_) NDNBOOST_PP_SEQ_ELEM_191
+# define NDNBOOST_PP_SEQ_ELEM_193(_) NDNBOOST_PP_SEQ_ELEM_192
+# define NDNBOOST_PP_SEQ_ELEM_194(_) NDNBOOST_PP_SEQ_ELEM_193
+# define NDNBOOST_PP_SEQ_ELEM_195(_) NDNBOOST_PP_SEQ_ELEM_194
+# define NDNBOOST_PP_SEQ_ELEM_196(_) NDNBOOST_PP_SEQ_ELEM_195
+# define NDNBOOST_PP_SEQ_ELEM_197(_) NDNBOOST_PP_SEQ_ELEM_196
+# define NDNBOOST_PP_SEQ_ELEM_198(_) NDNBOOST_PP_SEQ_ELEM_197
+# define NDNBOOST_PP_SEQ_ELEM_199(_) NDNBOOST_PP_SEQ_ELEM_198
+# define NDNBOOST_PP_SEQ_ELEM_200(_) NDNBOOST_PP_SEQ_ELEM_199
+# define NDNBOOST_PP_SEQ_ELEM_201(_) NDNBOOST_PP_SEQ_ELEM_200
+# define NDNBOOST_PP_SEQ_ELEM_202(_) NDNBOOST_PP_SEQ_ELEM_201
+# define NDNBOOST_PP_SEQ_ELEM_203(_) NDNBOOST_PP_SEQ_ELEM_202
+# define NDNBOOST_PP_SEQ_ELEM_204(_) NDNBOOST_PP_SEQ_ELEM_203
+# define NDNBOOST_PP_SEQ_ELEM_205(_) NDNBOOST_PP_SEQ_ELEM_204
+# define NDNBOOST_PP_SEQ_ELEM_206(_) NDNBOOST_PP_SEQ_ELEM_205
+# define NDNBOOST_PP_SEQ_ELEM_207(_) NDNBOOST_PP_SEQ_ELEM_206
+# define NDNBOOST_PP_SEQ_ELEM_208(_) NDNBOOST_PP_SEQ_ELEM_207
+# define NDNBOOST_PP_SEQ_ELEM_209(_) NDNBOOST_PP_SEQ_ELEM_208
+# define NDNBOOST_PP_SEQ_ELEM_210(_) NDNBOOST_PP_SEQ_ELEM_209
+# define NDNBOOST_PP_SEQ_ELEM_211(_) NDNBOOST_PP_SEQ_ELEM_210
+# define NDNBOOST_PP_SEQ_ELEM_212(_) NDNBOOST_PP_SEQ_ELEM_211
+# define NDNBOOST_PP_SEQ_ELEM_213(_) NDNBOOST_PP_SEQ_ELEM_212
+# define NDNBOOST_PP_SEQ_ELEM_214(_) NDNBOOST_PP_SEQ_ELEM_213
+# define NDNBOOST_PP_SEQ_ELEM_215(_) NDNBOOST_PP_SEQ_ELEM_214
+# define NDNBOOST_PP_SEQ_ELEM_216(_) NDNBOOST_PP_SEQ_ELEM_215
+# define NDNBOOST_PP_SEQ_ELEM_217(_) NDNBOOST_PP_SEQ_ELEM_216
+# define NDNBOOST_PP_SEQ_ELEM_218(_) NDNBOOST_PP_SEQ_ELEM_217
+# define NDNBOOST_PP_SEQ_ELEM_219(_) NDNBOOST_PP_SEQ_ELEM_218
+# define NDNBOOST_PP_SEQ_ELEM_220(_) NDNBOOST_PP_SEQ_ELEM_219
+# define NDNBOOST_PP_SEQ_ELEM_221(_) NDNBOOST_PP_SEQ_ELEM_220
+# define NDNBOOST_PP_SEQ_ELEM_222(_) NDNBOOST_PP_SEQ_ELEM_221
+# define NDNBOOST_PP_SEQ_ELEM_223(_) NDNBOOST_PP_SEQ_ELEM_222
+# define NDNBOOST_PP_SEQ_ELEM_224(_) NDNBOOST_PP_SEQ_ELEM_223
+# define NDNBOOST_PP_SEQ_ELEM_225(_) NDNBOOST_PP_SEQ_ELEM_224
+# define NDNBOOST_PP_SEQ_ELEM_226(_) NDNBOOST_PP_SEQ_ELEM_225
+# define NDNBOOST_PP_SEQ_ELEM_227(_) NDNBOOST_PP_SEQ_ELEM_226
+# define NDNBOOST_PP_SEQ_ELEM_228(_) NDNBOOST_PP_SEQ_ELEM_227
+# define NDNBOOST_PP_SEQ_ELEM_229(_) NDNBOOST_PP_SEQ_ELEM_228
+# define NDNBOOST_PP_SEQ_ELEM_230(_) NDNBOOST_PP_SEQ_ELEM_229
+# define NDNBOOST_PP_SEQ_ELEM_231(_) NDNBOOST_PP_SEQ_ELEM_230
+# define NDNBOOST_PP_SEQ_ELEM_232(_) NDNBOOST_PP_SEQ_ELEM_231
+# define NDNBOOST_PP_SEQ_ELEM_233(_) NDNBOOST_PP_SEQ_ELEM_232
+# define NDNBOOST_PP_SEQ_ELEM_234(_) NDNBOOST_PP_SEQ_ELEM_233
+# define NDNBOOST_PP_SEQ_ELEM_235(_) NDNBOOST_PP_SEQ_ELEM_234
+# define NDNBOOST_PP_SEQ_ELEM_236(_) NDNBOOST_PP_SEQ_ELEM_235
+# define NDNBOOST_PP_SEQ_ELEM_237(_) NDNBOOST_PP_SEQ_ELEM_236
+# define NDNBOOST_PP_SEQ_ELEM_238(_) NDNBOOST_PP_SEQ_ELEM_237
+# define NDNBOOST_PP_SEQ_ELEM_239(_) NDNBOOST_PP_SEQ_ELEM_238
+# define NDNBOOST_PP_SEQ_ELEM_240(_) NDNBOOST_PP_SEQ_ELEM_239
+# define NDNBOOST_PP_SEQ_ELEM_241(_) NDNBOOST_PP_SEQ_ELEM_240
+# define NDNBOOST_PP_SEQ_ELEM_242(_) NDNBOOST_PP_SEQ_ELEM_241
+# define NDNBOOST_PP_SEQ_ELEM_243(_) NDNBOOST_PP_SEQ_ELEM_242
+# define NDNBOOST_PP_SEQ_ELEM_244(_) NDNBOOST_PP_SEQ_ELEM_243
+# define NDNBOOST_PP_SEQ_ELEM_245(_) NDNBOOST_PP_SEQ_ELEM_244
+# define NDNBOOST_PP_SEQ_ELEM_246(_) NDNBOOST_PP_SEQ_ELEM_245
+# define NDNBOOST_PP_SEQ_ELEM_247(_) NDNBOOST_PP_SEQ_ELEM_246
+# define NDNBOOST_PP_SEQ_ELEM_248(_) NDNBOOST_PP_SEQ_ELEM_247
+# define NDNBOOST_PP_SEQ_ELEM_249(_) NDNBOOST_PP_SEQ_ELEM_248
+# define NDNBOOST_PP_SEQ_ELEM_250(_) NDNBOOST_PP_SEQ_ELEM_249
+# define NDNBOOST_PP_SEQ_ELEM_251(_) NDNBOOST_PP_SEQ_ELEM_250
+# define NDNBOOST_PP_SEQ_ELEM_252(_) NDNBOOST_PP_SEQ_ELEM_251
+# define NDNBOOST_PP_SEQ_ELEM_253(_) NDNBOOST_PP_SEQ_ELEM_252
+# define NDNBOOST_PP_SEQ_ELEM_254(_) NDNBOOST_PP_SEQ_ELEM_253
+# define NDNBOOST_PP_SEQ_ELEM_255(_) NDNBOOST_PP_SEQ_ELEM_254
 #
 # endif
diff --git a/include/ndnboost/preprocessor/seq/enum.hpp b/include/ndnboost/preprocessor/seq/enum.hpp
index 17227f0..8526af8 100644
--- a/include/ndnboost/preprocessor/seq/enum.hpp
+++ b/include/ndnboost/preprocessor/seq/enum.hpp
@@ -9,280 +9,280 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_SEQ_ENUM_HPP
-# define BOOST_PREPROCESSOR_SEQ_ENUM_HPP
+# ifndef NDNBOOST_PREPROCESSOR_SEQ_ENUM_HPP
+# define NDNBOOST_PREPROCESSOR_SEQ_ENUM_HPP
 #
 # include <ndnboost/preprocessor/cat.hpp>
 # include <ndnboost/preprocessor/config/config.hpp>
 # include <ndnboost/preprocessor/seq/size.hpp>
 #
-# /* BOOST_PP_SEQ_ENUM */
+# /* NDNBOOST_PP_SEQ_ENUM */
 #
-# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_SEQ_ENUM(seq) BOOST_PP_SEQ_ENUM_I(seq)
-#    define BOOST_PP_SEQ_ENUM_I(seq) BOOST_PP_CAT(BOOST_PP_SEQ_ENUM_, BOOST_PP_SEQ_SIZE(seq)) seq
-# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-#    define BOOST_PP_SEQ_ENUM(seq) BOOST_PP_SEQ_ENUM_I(BOOST_PP_SEQ_SIZE(seq), seq)
-#    define BOOST_PP_SEQ_ENUM_I(size, seq) BOOST_PP_CAT(BOOST_PP_SEQ_ENUM_, size) seq
+# if NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_EDG()
+#    define NDNBOOST_PP_SEQ_ENUM(seq) NDNBOOST_PP_SEQ_ENUM_I(seq)
+#    define NDNBOOST_PP_SEQ_ENUM_I(seq) NDNBOOST_PP_CAT(NDNBOOST_PP_SEQ_ENUM_, NDNBOOST_PP_SEQ_SIZE(seq)) seq
+# elif NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_MWCC()
+#    define NDNBOOST_PP_SEQ_ENUM(seq) NDNBOOST_PP_SEQ_ENUM_I(NDNBOOST_PP_SEQ_SIZE(seq), seq)
+#    define NDNBOOST_PP_SEQ_ENUM_I(size, seq) NDNBOOST_PP_CAT(NDNBOOST_PP_SEQ_ENUM_, size) seq
 # else
-#    define BOOST_PP_SEQ_ENUM(seq) BOOST_PP_CAT(BOOST_PP_SEQ_ENUM_, BOOST_PP_SEQ_SIZE(seq)) seq
+#    define NDNBOOST_PP_SEQ_ENUM(seq) NDNBOOST_PP_CAT(NDNBOOST_PP_SEQ_ENUM_, NDNBOOST_PP_SEQ_SIZE(seq)) seq
 # endif
 #
-# define BOOST_PP_SEQ_ENUM_1(x) x
-# define BOOST_PP_SEQ_ENUM_2(x) x, BOOST_PP_SEQ_ENUM_1
-# define BOOST_PP_SEQ_ENUM_3(x) x, BOOST_PP_SEQ_ENUM_2
-# define BOOST_PP_SEQ_ENUM_4(x) x, BOOST_PP_SEQ_ENUM_3
-# define BOOST_PP_SEQ_ENUM_5(x) x, BOOST_PP_SEQ_ENUM_4
-# define BOOST_PP_SEQ_ENUM_6(x) x, BOOST_PP_SEQ_ENUM_5
-# define BOOST_PP_SEQ_ENUM_7(x) x, BOOST_PP_SEQ_ENUM_6
-# define BOOST_PP_SEQ_ENUM_8(x) x, BOOST_PP_SEQ_ENUM_7
-# define BOOST_PP_SEQ_ENUM_9(x) x, BOOST_PP_SEQ_ENUM_8
-# define BOOST_PP_SEQ_ENUM_10(x) x, BOOST_PP_SEQ_ENUM_9
-# define BOOST_PP_SEQ_ENUM_11(x) x, BOOST_PP_SEQ_ENUM_10
-# define BOOST_PP_SEQ_ENUM_12(x) x, BOOST_PP_SEQ_ENUM_11
-# define BOOST_PP_SEQ_ENUM_13(x) x, BOOST_PP_SEQ_ENUM_12
-# define BOOST_PP_SEQ_ENUM_14(x) x, BOOST_PP_SEQ_ENUM_13
-# define BOOST_PP_SEQ_ENUM_15(x) x, BOOST_PP_SEQ_ENUM_14
-# define BOOST_PP_SEQ_ENUM_16(x) x, BOOST_PP_SEQ_ENUM_15
-# define BOOST_PP_SEQ_ENUM_17(x) x, BOOST_PP_SEQ_ENUM_16
-# define BOOST_PP_SEQ_ENUM_18(x) x, BOOST_PP_SEQ_ENUM_17
-# define BOOST_PP_SEQ_ENUM_19(x) x, BOOST_PP_SEQ_ENUM_18
-# define BOOST_PP_SEQ_ENUM_20(x) x, BOOST_PP_SEQ_ENUM_19
-# define BOOST_PP_SEQ_ENUM_21(x) x, BOOST_PP_SEQ_ENUM_20
-# define BOOST_PP_SEQ_ENUM_22(x) x, BOOST_PP_SEQ_ENUM_21
-# define BOOST_PP_SEQ_ENUM_23(x) x, BOOST_PP_SEQ_ENUM_22
-# define BOOST_PP_SEQ_ENUM_24(x) x, BOOST_PP_SEQ_ENUM_23
-# define BOOST_PP_SEQ_ENUM_25(x) x, BOOST_PP_SEQ_ENUM_24
-# define BOOST_PP_SEQ_ENUM_26(x) x, BOOST_PP_SEQ_ENUM_25
-# define BOOST_PP_SEQ_ENUM_27(x) x, BOOST_PP_SEQ_ENUM_26
-# define BOOST_PP_SEQ_ENUM_28(x) x, BOOST_PP_SEQ_ENUM_27
-# define BOOST_PP_SEQ_ENUM_29(x) x, BOOST_PP_SEQ_ENUM_28
-# define BOOST_PP_SEQ_ENUM_30(x) x, BOOST_PP_SEQ_ENUM_29
-# define BOOST_PP_SEQ_ENUM_31(x) x, BOOST_PP_SEQ_ENUM_30
-# define BOOST_PP_SEQ_ENUM_32(x) x, BOOST_PP_SEQ_ENUM_31
-# define BOOST_PP_SEQ_ENUM_33(x) x, BOOST_PP_SEQ_ENUM_32
-# define BOOST_PP_SEQ_ENUM_34(x) x, BOOST_PP_SEQ_ENUM_33
-# define BOOST_PP_SEQ_ENUM_35(x) x, BOOST_PP_SEQ_ENUM_34
-# define BOOST_PP_SEQ_ENUM_36(x) x, BOOST_PP_SEQ_ENUM_35
-# define BOOST_PP_SEQ_ENUM_37(x) x, BOOST_PP_SEQ_ENUM_36
-# define BOOST_PP_SEQ_ENUM_38(x) x, BOOST_PP_SEQ_ENUM_37
-# define BOOST_PP_SEQ_ENUM_39(x) x, BOOST_PP_SEQ_ENUM_38
-# define BOOST_PP_SEQ_ENUM_40(x) x, BOOST_PP_SEQ_ENUM_39
-# define BOOST_PP_SEQ_ENUM_41(x) x, BOOST_PP_SEQ_ENUM_40
-# define BOOST_PP_SEQ_ENUM_42(x) x, BOOST_PP_SEQ_ENUM_41
-# define BOOST_PP_SEQ_ENUM_43(x) x, BOOST_PP_SEQ_ENUM_42
-# define BOOST_PP_SEQ_ENUM_44(x) x, BOOST_PP_SEQ_ENUM_43
-# define BOOST_PP_SEQ_ENUM_45(x) x, BOOST_PP_SEQ_ENUM_44
-# define BOOST_PP_SEQ_ENUM_46(x) x, BOOST_PP_SEQ_ENUM_45
-# define BOOST_PP_SEQ_ENUM_47(x) x, BOOST_PP_SEQ_ENUM_46
-# define BOOST_PP_SEQ_ENUM_48(x) x, BOOST_PP_SEQ_ENUM_47
-# define BOOST_PP_SEQ_ENUM_49(x) x, BOOST_PP_SEQ_ENUM_48
-# define BOOST_PP_SEQ_ENUM_50(x) x, BOOST_PP_SEQ_ENUM_49
-# define BOOST_PP_SEQ_ENUM_51(x) x, BOOST_PP_SEQ_ENUM_50
-# define BOOST_PP_SEQ_ENUM_52(x) x, BOOST_PP_SEQ_ENUM_51
-# define BOOST_PP_SEQ_ENUM_53(x) x, BOOST_PP_SEQ_ENUM_52
-# define BOOST_PP_SEQ_ENUM_54(x) x, BOOST_PP_SEQ_ENUM_53
-# define BOOST_PP_SEQ_ENUM_55(x) x, BOOST_PP_SEQ_ENUM_54
-# define BOOST_PP_SEQ_ENUM_56(x) x, BOOST_PP_SEQ_ENUM_55
-# define BOOST_PP_SEQ_ENUM_57(x) x, BOOST_PP_SEQ_ENUM_56
-# define BOOST_PP_SEQ_ENUM_58(x) x, BOOST_PP_SEQ_ENUM_57
-# define BOOST_PP_SEQ_ENUM_59(x) x, BOOST_PP_SEQ_ENUM_58
-# define BOOST_PP_SEQ_ENUM_60(x) x, BOOST_PP_SEQ_ENUM_59
-# define BOOST_PP_SEQ_ENUM_61(x) x, BOOST_PP_SEQ_ENUM_60
-# define BOOST_PP_SEQ_ENUM_62(x) x, BOOST_PP_SEQ_ENUM_61
-# define BOOST_PP_SEQ_ENUM_63(x) x, BOOST_PP_SEQ_ENUM_62
-# define BOOST_PP_SEQ_ENUM_64(x) x, BOOST_PP_SEQ_ENUM_63
-# define BOOST_PP_SEQ_ENUM_65(x) x, BOOST_PP_SEQ_ENUM_64
-# define BOOST_PP_SEQ_ENUM_66(x) x, BOOST_PP_SEQ_ENUM_65
-# define BOOST_PP_SEQ_ENUM_67(x) x, BOOST_PP_SEQ_ENUM_66
-# define BOOST_PP_SEQ_ENUM_68(x) x, BOOST_PP_SEQ_ENUM_67
-# define BOOST_PP_SEQ_ENUM_69(x) x, BOOST_PP_SEQ_ENUM_68
-# define BOOST_PP_SEQ_ENUM_70(x) x, BOOST_PP_SEQ_ENUM_69
-# define BOOST_PP_SEQ_ENUM_71(x) x, BOOST_PP_SEQ_ENUM_70
-# define BOOST_PP_SEQ_ENUM_72(x) x, BOOST_PP_SEQ_ENUM_71
-# define BOOST_PP_SEQ_ENUM_73(x) x, BOOST_PP_SEQ_ENUM_72
-# define BOOST_PP_SEQ_ENUM_74(x) x, BOOST_PP_SEQ_ENUM_73
-# define BOOST_PP_SEQ_ENUM_75(x) x, BOOST_PP_SEQ_ENUM_74
-# define BOOST_PP_SEQ_ENUM_76(x) x, BOOST_PP_SEQ_ENUM_75
-# define BOOST_PP_SEQ_ENUM_77(x) x, BOOST_PP_SEQ_ENUM_76
-# define BOOST_PP_SEQ_ENUM_78(x) x, BOOST_PP_SEQ_ENUM_77
-# define BOOST_PP_SEQ_ENUM_79(x) x, BOOST_PP_SEQ_ENUM_78
-# define BOOST_PP_SEQ_ENUM_80(x) x, BOOST_PP_SEQ_ENUM_79
-# define BOOST_PP_SEQ_ENUM_81(x) x, BOOST_PP_SEQ_ENUM_80
-# define BOOST_PP_SEQ_ENUM_82(x) x, BOOST_PP_SEQ_ENUM_81
-# define BOOST_PP_SEQ_ENUM_83(x) x, BOOST_PP_SEQ_ENUM_82
-# define BOOST_PP_SEQ_ENUM_84(x) x, BOOST_PP_SEQ_ENUM_83
-# define BOOST_PP_SEQ_ENUM_85(x) x, BOOST_PP_SEQ_ENUM_84
-# define BOOST_PP_SEQ_ENUM_86(x) x, BOOST_PP_SEQ_ENUM_85
-# define BOOST_PP_SEQ_ENUM_87(x) x, BOOST_PP_SEQ_ENUM_86
-# define BOOST_PP_SEQ_ENUM_88(x) x, BOOST_PP_SEQ_ENUM_87
-# define BOOST_PP_SEQ_ENUM_89(x) x, BOOST_PP_SEQ_ENUM_88
-# define BOOST_PP_SEQ_ENUM_90(x) x, BOOST_PP_SEQ_ENUM_89
-# define BOOST_PP_SEQ_ENUM_91(x) x, BOOST_PP_SEQ_ENUM_90
-# define BOOST_PP_SEQ_ENUM_92(x) x, BOOST_PP_SEQ_ENUM_91
-# define BOOST_PP_SEQ_ENUM_93(x) x, BOOST_PP_SEQ_ENUM_92
-# define BOOST_PP_SEQ_ENUM_94(x) x, BOOST_PP_SEQ_ENUM_93
-# define BOOST_PP_SEQ_ENUM_95(x) x, BOOST_PP_SEQ_ENUM_94
-# define BOOST_PP_SEQ_ENUM_96(x) x, BOOST_PP_SEQ_ENUM_95
-# define BOOST_PP_SEQ_ENUM_97(x) x, BOOST_PP_SEQ_ENUM_96
-# define BOOST_PP_SEQ_ENUM_98(x) x, BOOST_PP_SEQ_ENUM_97
-# define BOOST_PP_SEQ_ENUM_99(x) x, BOOST_PP_SEQ_ENUM_98
-# define BOOST_PP_SEQ_ENUM_100(x) x, BOOST_PP_SEQ_ENUM_99
-# define BOOST_PP_SEQ_ENUM_101(x) x, BOOST_PP_SEQ_ENUM_100
-# define BOOST_PP_SEQ_ENUM_102(x) x, BOOST_PP_SEQ_ENUM_101
-# define BOOST_PP_SEQ_ENUM_103(x) x, BOOST_PP_SEQ_ENUM_102
-# define BOOST_PP_SEQ_ENUM_104(x) x, BOOST_PP_SEQ_ENUM_103
-# define BOOST_PP_SEQ_ENUM_105(x) x, BOOST_PP_SEQ_ENUM_104
-# define BOOST_PP_SEQ_ENUM_106(x) x, BOOST_PP_SEQ_ENUM_105
-# define BOOST_PP_SEQ_ENUM_107(x) x, BOOST_PP_SEQ_ENUM_106
-# define BOOST_PP_SEQ_ENUM_108(x) x, BOOST_PP_SEQ_ENUM_107
-# define BOOST_PP_SEQ_ENUM_109(x) x, BOOST_PP_SEQ_ENUM_108
-# define BOOST_PP_SEQ_ENUM_110(x) x, BOOST_PP_SEQ_ENUM_109
-# define BOOST_PP_SEQ_ENUM_111(x) x, BOOST_PP_SEQ_ENUM_110
-# define BOOST_PP_SEQ_ENUM_112(x) x, BOOST_PP_SEQ_ENUM_111
-# define BOOST_PP_SEQ_ENUM_113(x) x, BOOST_PP_SEQ_ENUM_112
-# define BOOST_PP_SEQ_ENUM_114(x) x, BOOST_PP_SEQ_ENUM_113
-# define BOOST_PP_SEQ_ENUM_115(x) x, BOOST_PP_SEQ_ENUM_114
-# define BOOST_PP_SEQ_ENUM_116(x) x, BOOST_PP_SEQ_ENUM_115
-# define BOOST_PP_SEQ_ENUM_117(x) x, BOOST_PP_SEQ_ENUM_116
-# define BOOST_PP_SEQ_ENUM_118(x) x, BOOST_PP_SEQ_ENUM_117
-# define BOOST_PP_SEQ_ENUM_119(x) x, BOOST_PP_SEQ_ENUM_118
-# define BOOST_PP_SEQ_ENUM_120(x) x, BOOST_PP_SEQ_ENUM_119
-# define BOOST_PP_SEQ_ENUM_121(x) x, BOOST_PP_SEQ_ENUM_120
-# define BOOST_PP_SEQ_ENUM_122(x) x, BOOST_PP_SEQ_ENUM_121
-# define BOOST_PP_SEQ_ENUM_123(x) x, BOOST_PP_SEQ_ENUM_122
-# define BOOST_PP_SEQ_ENUM_124(x) x, BOOST_PP_SEQ_ENUM_123
-# define BOOST_PP_SEQ_ENUM_125(x) x, BOOST_PP_SEQ_ENUM_124
-# define BOOST_PP_SEQ_ENUM_126(x) x, BOOST_PP_SEQ_ENUM_125
-# define BOOST_PP_SEQ_ENUM_127(x) x, BOOST_PP_SEQ_ENUM_126
-# define BOOST_PP_SEQ_ENUM_128(x) x, BOOST_PP_SEQ_ENUM_127
-# define BOOST_PP_SEQ_ENUM_129(x) x, BOOST_PP_SEQ_ENUM_128
-# define BOOST_PP_SEQ_ENUM_130(x) x, BOOST_PP_SEQ_ENUM_129
-# define BOOST_PP_SEQ_ENUM_131(x) x, BOOST_PP_SEQ_ENUM_130
-# define BOOST_PP_SEQ_ENUM_132(x) x, BOOST_PP_SEQ_ENUM_131
-# define BOOST_PP_SEQ_ENUM_133(x) x, BOOST_PP_SEQ_ENUM_132
-# define BOOST_PP_SEQ_ENUM_134(x) x, BOOST_PP_SEQ_ENUM_133
-# define BOOST_PP_SEQ_ENUM_135(x) x, BOOST_PP_SEQ_ENUM_134
-# define BOOST_PP_SEQ_ENUM_136(x) x, BOOST_PP_SEQ_ENUM_135
-# define BOOST_PP_SEQ_ENUM_137(x) x, BOOST_PP_SEQ_ENUM_136
-# define BOOST_PP_SEQ_ENUM_138(x) x, BOOST_PP_SEQ_ENUM_137
-# define BOOST_PP_SEQ_ENUM_139(x) x, BOOST_PP_SEQ_ENUM_138
-# define BOOST_PP_SEQ_ENUM_140(x) x, BOOST_PP_SEQ_ENUM_139
-# define BOOST_PP_SEQ_ENUM_141(x) x, BOOST_PP_SEQ_ENUM_140
-# define BOOST_PP_SEQ_ENUM_142(x) x, BOOST_PP_SEQ_ENUM_141
-# define BOOST_PP_SEQ_ENUM_143(x) x, BOOST_PP_SEQ_ENUM_142
-# define BOOST_PP_SEQ_ENUM_144(x) x, BOOST_PP_SEQ_ENUM_143
-# define BOOST_PP_SEQ_ENUM_145(x) x, BOOST_PP_SEQ_ENUM_144
-# define BOOST_PP_SEQ_ENUM_146(x) x, BOOST_PP_SEQ_ENUM_145
-# define BOOST_PP_SEQ_ENUM_147(x) x, BOOST_PP_SEQ_ENUM_146
-# define BOOST_PP_SEQ_ENUM_148(x) x, BOOST_PP_SEQ_ENUM_147
-# define BOOST_PP_SEQ_ENUM_149(x) x, BOOST_PP_SEQ_ENUM_148
-# define BOOST_PP_SEQ_ENUM_150(x) x, BOOST_PP_SEQ_ENUM_149
-# define BOOST_PP_SEQ_ENUM_151(x) x, BOOST_PP_SEQ_ENUM_150
-# define BOOST_PP_SEQ_ENUM_152(x) x, BOOST_PP_SEQ_ENUM_151
-# define BOOST_PP_SEQ_ENUM_153(x) x, BOOST_PP_SEQ_ENUM_152
-# define BOOST_PP_SEQ_ENUM_154(x) x, BOOST_PP_SEQ_ENUM_153
-# define BOOST_PP_SEQ_ENUM_155(x) x, BOOST_PP_SEQ_ENUM_154
-# define BOOST_PP_SEQ_ENUM_156(x) x, BOOST_PP_SEQ_ENUM_155
-# define BOOST_PP_SEQ_ENUM_157(x) x, BOOST_PP_SEQ_ENUM_156
-# define BOOST_PP_SEQ_ENUM_158(x) x, BOOST_PP_SEQ_ENUM_157
-# define BOOST_PP_SEQ_ENUM_159(x) x, BOOST_PP_SEQ_ENUM_158
-# define BOOST_PP_SEQ_ENUM_160(x) x, BOOST_PP_SEQ_ENUM_159
-# define BOOST_PP_SEQ_ENUM_161(x) x, BOOST_PP_SEQ_ENUM_160
-# define BOOST_PP_SEQ_ENUM_162(x) x, BOOST_PP_SEQ_ENUM_161
-# define BOOST_PP_SEQ_ENUM_163(x) x, BOOST_PP_SEQ_ENUM_162
-# define BOOST_PP_SEQ_ENUM_164(x) x, BOOST_PP_SEQ_ENUM_163
-# define BOOST_PP_SEQ_ENUM_165(x) x, BOOST_PP_SEQ_ENUM_164
-# define BOOST_PP_SEQ_ENUM_166(x) x, BOOST_PP_SEQ_ENUM_165
-# define BOOST_PP_SEQ_ENUM_167(x) x, BOOST_PP_SEQ_ENUM_166
-# define BOOST_PP_SEQ_ENUM_168(x) x, BOOST_PP_SEQ_ENUM_167
-# define BOOST_PP_SEQ_ENUM_169(x) x, BOOST_PP_SEQ_ENUM_168
-# define BOOST_PP_SEQ_ENUM_170(x) x, BOOST_PP_SEQ_ENUM_169
-# define BOOST_PP_SEQ_ENUM_171(x) x, BOOST_PP_SEQ_ENUM_170
-# define BOOST_PP_SEQ_ENUM_172(x) x, BOOST_PP_SEQ_ENUM_171
-# define BOOST_PP_SEQ_ENUM_173(x) x, BOOST_PP_SEQ_ENUM_172
-# define BOOST_PP_SEQ_ENUM_174(x) x, BOOST_PP_SEQ_ENUM_173
-# define BOOST_PP_SEQ_ENUM_175(x) x, BOOST_PP_SEQ_ENUM_174
-# define BOOST_PP_SEQ_ENUM_176(x) x, BOOST_PP_SEQ_ENUM_175
-# define BOOST_PP_SEQ_ENUM_177(x) x, BOOST_PP_SEQ_ENUM_176
-# define BOOST_PP_SEQ_ENUM_178(x) x, BOOST_PP_SEQ_ENUM_177
-# define BOOST_PP_SEQ_ENUM_179(x) x, BOOST_PP_SEQ_ENUM_178
-# define BOOST_PP_SEQ_ENUM_180(x) x, BOOST_PP_SEQ_ENUM_179
-# define BOOST_PP_SEQ_ENUM_181(x) x, BOOST_PP_SEQ_ENUM_180
-# define BOOST_PP_SEQ_ENUM_182(x) x, BOOST_PP_SEQ_ENUM_181
-# define BOOST_PP_SEQ_ENUM_183(x) x, BOOST_PP_SEQ_ENUM_182
-# define BOOST_PP_SEQ_ENUM_184(x) x, BOOST_PP_SEQ_ENUM_183
-# define BOOST_PP_SEQ_ENUM_185(x) x, BOOST_PP_SEQ_ENUM_184
-# define BOOST_PP_SEQ_ENUM_186(x) x, BOOST_PP_SEQ_ENUM_185
-# define BOOST_PP_SEQ_ENUM_187(x) x, BOOST_PP_SEQ_ENUM_186
-# define BOOST_PP_SEQ_ENUM_188(x) x, BOOST_PP_SEQ_ENUM_187
-# define BOOST_PP_SEQ_ENUM_189(x) x, BOOST_PP_SEQ_ENUM_188
-# define BOOST_PP_SEQ_ENUM_190(x) x, BOOST_PP_SEQ_ENUM_189
-# define BOOST_PP_SEQ_ENUM_191(x) x, BOOST_PP_SEQ_ENUM_190
-# define BOOST_PP_SEQ_ENUM_192(x) x, BOOST_PP_SEQ_ENUM_191
-# define BOOST_PP_SEQ_ENUM_193(x) x, BOOST_PP_SEQ_ENUM_192
-# define BOOST_PP_SEQ_ENUM_194(x) x, BOOST_PP_SEQ_ENUM_193
-# define BOOST_PP_SEQ_ENUM_195(x) x, BOOST_PP_SEQ_ENUM_194
-# define BOOST_PP_SEQ_ENUM_196(x) x, BOOST_PP_SEQ_ENUM_195
-# define BOOST_PP_SEQ_ENUM_197(x) x, BOOST_PP_SEQ_ENUM_196
-# define BOOST_PP_SEQ_ENUM_198(x) x, BOOST_PP_SEQ_ENUM_197
-# define BOOST_PP_SEQ_ENUM_199(x) x, BOOST_PP_SEQ_ENUM_198
-# define BOOST_PP_SEQ_ENUM_200(x) x, BOOST_PP_SEQ_ENUM_199
-# define BOOST_PP_SEQ_ENUM_201(x) x, BOOST_PP_SEQ_ENUM_200
-# define BOOST_PP_SEQ_ENUM_202(x) x, BOOST_PP_SEQ_ENUM_201
-# define BOOST_PP_SEQ_ENUM_203(x) x, BOOST_PP_SEQ_ENUM_202
-# define BOOST_PP_SEQ_ENUM_204(x) x, BOOST_PP_SEQ_ENUM_203
-# define BOOST_PP_SEQ_ENUM_205(x) x, BOOST_PP_SEQ_ENUM_204
-# define BOOST_PP_SEQ_ENUM_206(x) x, BOOST_PP_SEQ_ENUM_205
-# define BOOST_PP_SEQ_ENUM_207(x) x, BOOST_PP_SEQ_ENUM_206
-# define BOOST_PP_SEQ_ENUM_208(x) x, BOOST_PP_SEQ_ENUM_207
-# define BOOST_PP_SEQ_ENUM_209(x) x, BOOST_PP_SEQ_ENUM_208
-# define BOOST_PP_SEQ_ENUM_210(x) x, BOOST_PP_SEQ_ENUM_209
-# define BOOST_PP_SEQ_ENUM_211(x) x, BOOST_PP_SEQ_ENUM_210
-# define BOOST_PP_SEQ_ENUM_212(x) x, BOOST_PP_SEQ_ENUM_211
-# define BOOST_PP_SEQ_ENUM_213(x) x, BOOST_PP_SEQ_ENUM_212
-# define BOOST_PP_SEQ_ENUM_214(x) x, BOOST_PP_SEQ_ENUM_213
-# define BOOST_PP_SEQ_ENUM_215(x) x, BOOST_PP_SEQ_ENUM_214
-# define BOOST_PP_SEQ_ENUM_216(x) x, BOOST_PP_SEQ_ENUM_215
-# define BOOST_PP_SEQ_ENUM_217(x) x, BOOST_PP_SEQ_ENUM_216
-# define BOOST_PP_SEQ_ENUM_218(x) x, BOOST_PP_SEQ_ENUM_217
-# define BOOST_PP_SEQ_ENUM_219(x) x, BOOST_PP_SEQ_ENUM_218
-# define BOOST_PP_SEQ_ENUM_220(x) x, BOOST_PP_SEQ_ENUM_219
-# define BOOST_PP_SEQ_ENUM_221(x) x, BOOST_PP_SEQ_ENUM_220
-# define BOOST_PP_SEQ_ENUM_222(x) x, BOOST_PP_SEQ_ENUM_221
-# define BOOST_PP_SEQ_ENUM_223(x) x, BOOST_PP_SEQ_ENUM_222
-# define BOOST_PP_SEQ_ENUM_224(x) x, BOOST_PP_SEQ_ENUM_223
-# define BOOST_PP_SEQ_ENUM_225(x) x, BOOST_PP_SEQ_ENUM_224
-# define BOOST_PP_SEQ_ENUM_226(x) x, BOOST_PP_SEQ_ENUM_225
-# define BOOST_PP_SEQ_ENUM_227(x) x, BOOST_PP_SEQ_ENUM_226
-# define BOOST_PP_SEQ_ENUM_228(x) x, BOOST_PP_SEQ_ENUM_227
-# define BOOST_PP_SEQ_ENUM_229(x) x, BOOST_PP_SEQ_ENUM_228
-# define BOOST_PP_SEQ_ENUM_230(x) x, BOOST_PP_SEQ_ENUM_229
-# define BOOST_PP_SEQ_ENUM_231(x) x, BOOST_PP_SEQ_ENUM_230
-# define BOOST_PP_SEQ_ENUM_232(x) x, BOOST_PP_SEQ_ENUM_231
-# define BOOST_PP_SEQ_ENUM_233(x) x, BOOST_PP_SEQ_ENUM_232
-# define BOOST_PP_SEQ_ENUM_234(x) x, BOOST_PP_SEQ_ENUM_233
-# define BOOST_PP_SEQ_ENUM_235(x) x, BOOST_PP_SEQ_ENUM_234
-# define BOOST_PP_SEQ_ENUM_236(x) x, BOOST_PP_SEQ_ENUM_235
-# define BOOST_PP_SEQ_ENUM_237(x) x, BOOST_PP_SEQ_ENUM_236
-# define BOOST_PP_SEQ_ENUM_238(x) x, BOOST_PP_SEQ_ENUM_237
-# define BOOST_PP_SEQ_ENUM_239(x) x, BOOST_PP_SEQ_ENUM_238
-# define BOOST_PP_SEQ_ENUM_240(x) x, BOOST_PP_SEQ_ENUM_239
-# define BOOST_PP_SEQ_ENUM_241(x) x, BOOST_PP_SEQ_ENUM_240
-# define BOOST_PP_SEQ_ENUM_242(x) x, BOOST_PP_SEQ_ENUM_241
-# define BOOST_PP_SEQ_ENUM_243(x) x, BOOST_PP_SEQ_ENUM_242
-# define BOOST_PP_SEQ_ENUM_244(x) x, BOOST_PP_SEQ_ENUM_243
-# define BOOST_PP_SEQ_ENUM_245(x) x, BOOST_PP_SEQ_ENUM_244
-# define BOOST_PP_SEQ_ENUM_246(x) x, BOOST_PP_SEQ_ENUM_245
-# define BOOST_PP_SEQ_ENUM_247(x) x, BOOST_PP_SEQ_ENUM_246
-# define BOOST_PP_SEQ_ENUM_248(x) x, BOOST_PP_SEQ_ENUM_247
-# define BOOST_PP_SEQ_ENUM_249(x) x, BOOST_PP_SEQ_ENUM_248
-# define BOOST_PP_SEQ_ENUM_250(x) x, BOOST_PP_SEQ_ENUM_249
-# define BOOST_PP_SEQ_ENUM_251(x) x, BOOST_PP_SEQ_ENUM_250
-# define BOOST_PP_SEQ_ENUM_252(x) x, BOOST_PP_SEQ_ENUM_251
-# define BOOST_PP_SEQ_ENUM_253(x) x, BOOST_PP_SEQ_ENUM_252
-# define BOOST_PP_SEQ_ENUM_254(x) x, BOOST_PP_SEQ_ENUM_253
-# define BOOST_PP_SEQ_ENUM_255(x) x, BOOST_PP_SEQ_ENUM_254
-# define BOOST_PP_SEQ_ENUM_256(x) x, BOOST_PP_SEQ_ENUM_255
+# define NDNBOOST_PP_SEQ_ENUM_1(x) x
+# define NDNBOOST_PP_SEQ_ENUM_2(x) x, NDNBOOST_PP_SEQ_ENUM_1
+# define NDNBOOST_PP_SEQ_ENUM_3(x) x, NDNBOOST_PP_SEQ_ENUM_2
+# define NDNBOOST_PP_SEQ_ENUM_4(x) x, NDNBOOST_PP_SEQ_ENUM_3
+# define NDNBOOST_PP_SEQ_ENUM_5(x) x, NDNBOOST_PP_SEQ_ENUM_4
+# define NDNBOOST_PP_SEQ_ENUM_6(x) x, NDNBOOST_PP_SEQ_ENUM_5
+# define NDNBOOST_PP_SEQ_ENUM_7(x) x, NDNBOOST_PP_SEQ_ENUM_6
+# define NDNBOOST_PP_SEQ_ENUM_8(x) x, NDNBOOST_PP_SEQ_ENUM_7
+# define NDNBOOST_PP_SEQ_ENUM_9(x) x, NDNBOOST_PP_SEQ_ENUM_8
+# define NDNBOOST_PP_SEQ_ENUM_10(x) x, NDNBOOST_PP_SEQ_ENUM_9
+# define NDNBOOST_PP_SEQ_ENUM_11(x) x, NDNBOOST_PP_SEQ_ENUM_10
+# define NDNBOOST_PP_SEQ_ENUM_12(x) x, NDNBOOST_PP_SEQ_ENUM_11
+# define NDNBOOST_PP_SEQ_ENUM_13(x) x, NDNBOOST_PP_SEQ_ENUM_12
+# define NDNBOOST_PP_SEQ_ENUM_14(x) x, NDNBOOST_PP_SEQ_ENUM_13
+# define NDNBOOST_PP_SEQ_ENUM_15(x) x, NDNBOOST_PP_SEQ_ENUM_14
+# define NDNBOOST_PP_SEQ_ENUM_16(x) x, NDNBOOST_PP_SEQ_ENUM_15
+# define NDNBOOST_PP_SEQ_ENUM_17(x) x, NDNBOOST_PP_SEQ_ENUM_16
+# define NDNBOOST_PP_SEQ_ENUM_18(x) x, NDNBOOST_PP_SEQ_ENUM_17
+# define NDNBOOST_PP_SEQ_ENUM_19(x) x, NDNBOOST_PP_SEQ_ENUM_18
+# define NDNBOOST_PP_SEQ_ENUM_20(x) x, NDNBOOST_PP_SEQ_ENUM_19
+# define NDNBOOST_PP_SEQ_ENUM_21(x) x, NDNBOOST_PP_SEQ_ENUM_20
+# define NDNBOOST_PP_SEQ_ENUM_22(x) x, NDNBOOST_PP_SEQ_ENUM_21
+# define NDNBOOST_PP_SEQ_ENUM_23(x) x, NDNBOOST_PP_SEQ_ENUM_22
+# define NDNBOOST_PP_SEQ_ENUM_24(x) x, NDNBOOST_PP_SEQ_ENUM_23
+# define NDNBOOST_PP_SEQ_ENUM_25(x) x, NDNBOOST_PP_SEQ_ENUM_24
+# define NDNBOOST_PP_SEQ_ENUM_26(x) x, NDNBOOST_PP_SEQ_ENUM_25
+# define NDNBOOST_PP_SEQ_ENUM_27(x) x, NDNBOOST_PP_SEQ_ENUM_26
+# define NDNBOOST_PP_SEQ_ENUM_28(x) x, NDNBOOST_PP_SEQ_ENUM_27
+# define NDNBOOST_PP_SEQ_ENUM_29(x) x, NDNBOOST_PP_SEQ_ENUM_28
+# define NDNBOOST_PP_SEQ_ENUM_30(x) x, NDNBOOST_PP_SEQ_ENUM_29
+# define NDNBOOST_PP_SEQ_ENUM_31(x) x, NDNBOOST_PP_SEQ_ENUM_30
+# define NDNBOOST_PP_SEQ_ENUM_32(x) x, NDNBOOST_PP_SEQ_ENUM_31
+# define NDNBOOST_PP_SEQ_ENUM_33(x) x, NDNBOOST_PP_SEQ_ENUM_32
+# define NDNBOOST_PP_SEQ_ENUM_34(x) x, NDNBOOST_PP_SEQ_ENUM_33
+# define NDNBOOST_PP_SEQ_ENUM_35(x) x, NDNBOOST_PP_SEQ_ENUM_34
+# define NDNBOOST_PP_SEQ_ENUM_36(x) x, NDNBOOST_PP_SEQ_ENUM_35
+# define NDNBOOST_PP_SEQ_ENUM_37(x) x, NDNBOOST_PP_SEQ_ENUM_36
+# define NDNBOOST_PP_SEQ_ENUM_38(x) x, NDNBOOST_PP_SEQ_ENUM_37
+# define NDNBOOST_PP_SEQ_ENUM_39(x) x, NDNBOOST_PP_SEQ_ENUM_38
+# define NDNBOOST_PP_SEQ_ENUM_40(x) x, NDNBOOST_PP_SEQ_ENUM_39
+# define NDNBOOST_PP_SEQ_ENUM_41(x) x, NDNBOOST_PP_SEQ_ENUM_40
+# define NDNBOOST_PP_SEQ_ENUM_42(x) x, NDNBOOST_PP_SEQ_ENUM_41
+# define NDNBOOST_PP_SEQ_ENUM_43(x) x, NDNBOOST_PP_SEQ_ENUM_42
+# define NDNBOOST_PP_SEQ_ENUM_44(x) x, NDNBOOST_PP_SEQ_ENUM_43
+# define NDNBOOST_PP_SEQ_ENUM_45(x) x, NDNBOOST_PP_SEQ_ENUM_44
+# define NDNBOOST_PP_SEQ_ENUM_46(x) x, NDNBOOST_PP_SEQ_ENUM_45
+# define NDNBOOST_PP_SEQ_ENUM_47(x) x, NDNBOOST_PP_SEQ_ENUM_46
+# define NDNBOOST_PP_SEQ_ENUM_48(x) x, NDNBOOST_PP_SEQ_ENUM_47
+# define NDNBOOST_PP_SEQ_ENUM_49(x) x, NDNBOOST_PP_SEQ_ENUM_48
+# define NDNBOOST_PP_SEQ_ENUM_50(x) x, NDNBOOST_PP_SEQ_ENUM_49
+# define NDNBOOST_PP_SEQ_ENUM_51(x) x, NDNBOOST_PP_SEQ_ENUM_50
+# define NDNBOOST_PP_SEQ_ENUM_52(x) x, NDNBOOST_PP_SEQ_ENUM_51
+# define NDNBOOST_PP_SEQ_ENUM_53(x) x, NDNBOOST_PP_SEQ_ENUM_52
+# define NDNBOOST_PP_SEQ_ENUM_54(x) x, NDNBOOST_PP_SEQ_ENUM_53
+# define NDNBOOST_PP_SEQ_ENUM_55(x) x, NDNBOOST_PP_SEQ_ENUM_54
+# define NDNBOOST_PP_SEQ_ENUM_56(x) x, NDNBOOST_PP_SEQ_ENUM_55
+# define NDNBOOST_PP_SEQ_ENUM_57(x) x, NDNBOOST_PP_SEQ_ENUM_56
+# define NDNBOOST_PP_SEQ_ENUM_58(x) x, NDNBOOST_PP_SEQ_ENUM_57
+# define NDNBOOST_PP_SEQ_ENUM_59(x) x, NDNBOOST_PP_SEQ_ENUM_58
+# define NDNBOOST_PP_SEQ_ENUM_60(x) x, NDNBOOST_PP_SEQ_ENUM_59
+# define NDNBOOST_PP_SEQ_ENUM_61(x) x, NDNBOOST_PP_SEQ_ENUM_60
+# define NDNBOOST_PP_SEQ_ENUM_62(x) x, NDNBOOST_PP_SEQ_ENUM_61
+# define NDNBOOST_PP_SEQ_ENUM_63(x) x, NDNBOOST_PP_SEQ_ENUM_62
+# define NDNBOOST_PP_SEQ_ENUM_64(x) x, NDNBOOST_PP_SEQ_ENUM_63
+# define NDNBOOST_PP_SEQ_ENUM_65(x) x, NDNBOOST_PP_SEQ_ENUM_64
+# define NDNBOOST_PP_SEQ_ENUM_66(x) x, NDNBOOST_PP_SEQ_ENUM_65
+# define NDNBOOST_PP_SEQ_ENUM_67(x) x, NDNBOOST_PP_SEQ_ENUM_66
+# define NDNBOOST_PP_SEQ_ENUM_68(x) x, NDNBOOST_PP_SEQ_ENUM_67
+# define NDNBOOST_PP_SEQ_ENUM_69(x) x, NDNBOOST_PP_SEQ_ENUM_68
+# define NDNBOOST_PP_SEQ_ENUM_70(x) x, NDNBOOST_PP_SEQ_ENUM_69
+# define NDNBOOST_PP_SEQ_ENUM_71(x) x, NDNBOOST_PP_SEQ_ENUM_70
+# define NDNBOOST_PP_SEQ_ENUM_72(x) x, NDNBOOST_PP_SEQ_ENUM_71
+# define NDNBOOST_PP_SEQ_ENUM_73(x) x, NDNBOOST_PP_SEQ_ENUM_72
+# define NDNBOOST_PP_SEQ_ENUM_74(x) x, NDNBOOST_PP_SEQ_ENUM_73
+# define NDNBOOST_PP_SEQ_ENUM_75(x) x, NDNBOOST_PP_SEQ_ENUM_74
+# define NDNBOOST_PP_SEQ_ENUM_76(x) x, NDNBOOST_PP_SEQ_ENUM_75
+# define NDNBOOST_PP_SEQ_ENUM_77(x) x, NDNBOOST_PP_SEQ_ENUM_76
+# define NDNBOOST_PP_SEQ_ENUM_78(x) x, NDNBOOST_PP_SEQ_ENUM_77
+# define NDNBOOST_PP_SEQ_ENUM_79(x) x, NDNBOOST_PP_SEQ_ENUM_78
+# define NDNBOOST_PP_SEQ_ENUM_80(x) x, NDNBOOST_PP_SEQ_ENUM_79
+# define NDNBOOST_PP_SEQ_ENUM_81(x) x, NDNBOOST_PP_SEQ_ENUM_80
+# define NDNBOOST_PP_SEQ_ENUM_82(x) x, NDNBOOST_PP_SEQ_ENUM_81
+# define NDNBOOST_PP_SEQ_ENUM_83(x) x, NDNBOOST_PP_SEQ_ENUM_82
+# define NDNBOOST_PP_SEQ_ENUM_84(x) x, NDNBOOST_PP_SEQ_ENUM_83
+# define NDNBOOST_PP_SEQ_ENUM_85(x) x, NDNBOOST_PP_SEQ_ENUM_84
+# define NDNBOOST_PP_SEQ_ENUM_86(x) x, NDNBOOST_PP_SEQ_ENUM_85
+# define NDNBOOST_PP_SEQ_ENUM_87(x) x, NDNBOOST_PP_SEQ_ENUM_86
+# define NDNBOOST_PP_SEQ_ENUM_88(x) x, NDNBOOST_PP_SEQ_ENUM_87
+# define NDNBOOST_PP_SEQ_ENUM_89(x) x, NDNBOOST_PP_SEQ_ENUM_88
+# define NDNBOOST_PP_SEQ_ENUM_90(x) x, NDNBOOST_PP_SEQ_ENUM_89
+# define NDNBOOST_PP_SEQ_ENUM_91(x) x, NDNBOOST_PP_SEQ_ENUM_90
+# define NDNBOOST_PP_SEQ_ENUM_92(x) x, NDNBOOST_PP_SEQ_ENUM_91
+# define NDNBOOST_PP_SEQ_ENUM_93(x) x, NDNBOOST_PP_SEQ_ENUM_92
+# define NDNBOOST_PP_SEQ_ENUM_94(x) x, NDNBOOST_PP_SEQ_ENUM_93
+# define NDNBOOST_PP_SEQ_ENUM_95(x) x, NDNBOOST_PP_SEQ_ENUM_94
+# define NDNBOOST_PP_SEQ_ENUM_96(x) x, NDNBOOST_PP_SEQ_ENUM_95
+# define NDNBOOST_PP_SEQ_ENUM_97(x) x, NDNBOOST_PP_SEQ_ENUM_96
+# define NDNBOOST_PP_SEQ_ENUM_98(x) x, NDNBOOST_PP_SEQ_ENUM_97
+# define NDNBOOST_PP_SEQ_ENUM_99(x) x, NDNBOOST_PP_SEQ_ENUM_98
+# define NDNBOOST_PP_SEQ_ENUM_100(x) x, NDNBOOST_PP_SEQ_ENUM_99
+# define NDNBOOST_PP_SEQ_ENUM_101(x) x, NDNBOOST_PP_SEQ_ENUM_100
+# define NDNBOOST_PP_SEQ_ENUM_102(x) x, NDNBOOST_PP_SEQ_ENUM_101
+# define NDNBOOST_PP_SEQ_ENUM_103(x) x, NDNBOOST_PP_SEQ_ENUM_102
+# define NDNBOOST_PP_SEQ_ENUM_104(x) x, NDNBOOST_PP_SEQ_ENUM_103
+# define NDNBOOST_PP_SEQ_ENUM_105(x) x, NDNBOOST_PP_SEQ_ENUM_104
+# define NDNBOOST_PP_SEQ_ENUM_106(x) x, NDNBOOST_PP_SEQ_ENUM_105
+# define NDNBOOST_PP_SEQ_ENUM_107(x) x, NDNBOOST_PP_SEQ_ENUM_106
+# define NDNBOOST_PP_SEQ_ENUM_108(x) x, NDNBOOST_PP_SEQ_ENUM_107
+# define NDNBOOST_PP_SEQ_ENUM_109(x) x, NDNBOOST_PP_SEQ_ENUM_108
+# define NDNBOOST_PP_SEQ_ENUM_110(x) x, NDNBOOST_PP_SEQ_ENUM_109
+# define NDNBOOST_PP_SEQ_ENUM_111(x) x, NDNBOOST_PP_SEQ_ENUM_110
+# define NDNBOOST_PP_SEQ_ENUM_112(x) x, NDNBOOST_PP_SEQ_ENUM_111
+# define NDNBOOST_PP_SEQ_ENUM_113(x) x, NDNBOOST_PP_SEQ_ENUM_112
+# define NDNBOOST_PP_SEQ_ENUM_114(x) x, NDNBOOST_PP_SEQ_ENUM_113
+# define NDNBOOST_PP_SEQ_ENUM_115(x) x, NDNBOOST_PP_SEQ_ENUM_114
+# define NDNBOOST_PP_SEQ_ENUM_116(x) x, NDNBOOST_PP_SEQ_ENUM_115
+# define NDNBOOST_PP_SEQ_ENUM_117(x) x, NDNBOOST_PP_SEQ_ENUM_116
+# define NDNBOOST_PP_SEQ_ENUM_118(x) x, NDNBOOST_PP_SEQ_ENUM_117
+# define NDNBOOST_PP_SEQ_ENUM_119(x) x, NDNBOOST_PP_SEQ_ENUM_118
+# define NDNBOOST_PP_SEQ_ENUM_120(x) x, NDNBOOST_PP_SEQ_ENUM_119
+# define NDNBOOST_PP_SEQ_ENUM_121(x) x, NDNBOOST_PP_SEQ_ENUM_120
+# define NDNBOOST_PP_SEQ_ENUM_122(x) x, NDNBOOST_PP_SEQ_ENUM_121
+# define NDNBOOST_PP_SEQ_ENUM_123(x) x, NDNBOOST_PP_SEQ_ENUM_122
+# define NDNBOOST_PP_SEQ_ENUM_124(x) x, NDNBOOST_PP_SEQ_ENUM_123
+# define NDNBOOST_PP_SEQ_ENUM_125(x) x, NDNBOOST_PP_SEQ_ENUM_124
+# define NDNBOOST_PP_SEQ_ENUM_126(x) x, NDNBOOST_PP_SEQ_ENUM_125
+# define NDNBOOST_PP_SEQ_ENUM_127(x) x, NDNBOOST_PP_SEQ_ENUM_126
+# define NDNBOOST_PP_SEQ_ENUM_128(x) x, NDNBOOST_PP_SEQ_ENUM_127
+# define NDNBOOST_PP_SEQ_ENUM_129(x) x, NDNBOOST_PP_SEQ_ENUM_128
+# define NDNBOOST_PP_SEQ_ENUM_130(x) x, NDNBOOST_PP_SEQ_ENUM_129
+# define NDNBOOST_PP_SEQ_ENUM_131(x) x, NDNBOOST_PP_SEQ_ENUM_130
+# define NDNBOOST_PP_SEQ_ENUM_132(x) x, NDNBOOST_PP_SEQ_ENUM_131
+# define NDNBOOST_PP_SEQ_ENUM_133(x) x, NDNBOOST_PP_SEQ_ENUM_132
+# define NDNBOOST_PP_SEQ_ENUM_134(x) x, NDNBOOST_PP_SEQ_ENUM_133
+# define NDNBOOST_PP_SEQ_ENUM_135(x) x, NDNBOOST_PP_SEQ_ENUM_134
+# define NDNBOOST_PP_SEQ_ENUM_136(x) x, NDNBOOST_PP_SEQ_ENUM_135
+# define NDNBOOST_PP_SEQ_ENUM_137(x) x, NDNBOOST_PP_SEQ_ENUM_136
+# define NDNBOOST_PP_SEQ_ENUM_138(x) x, NDNBOOST_PP_SEQ_ENUM_137
+# define NDNBOOST_PP_SEQ_ENUM_139(x) x, NDNBOOST_PP_SEQ_ENUM_138
+# define NDNBOOST_PP_SEQ_ENUM_140(x) x, NDNBOOST_PP_SEQ_ENUM_139
+# define NDNBOOST_PP_SEQ_ENUM_141(x) x, NDNBOOST_PP_SEQ_ENUM_140
+# define NDNBOOST_PP_SEQ_ENUM_142(x) x, NDNBOOST_PP_SEQ_ENUM_141
+# define NDNBOOST_PP_SEQ_ENUM_143(x) x, NDNBOOST_PP_SEQ_ENUM_142
+# define NDNBOOST_PP_SEQ_ENUM_144(x) x, NDNBOOST_PP_SEQ_ENUM_143
+# define NDNBOOST_PP_SEQ_ENUM_145(x) x, NDNBOOST_PP_SEQ_ENUM_144
+# define NDNBOOST_PP_SEQ_ENUM_146(x) x, NDNBOOST_PP_SEQ_ENUM_145
+# define NDNBOOST_PP_SEQ_ENUM_147(x) x, NDNBOOST_PP_SEQ_ENUM_146
+# define NDNBOOST_PP_SEQ_ENUM_148(x) x, NDNBOOST_PP_SEQ_ENUM_147
+# define NDNBOOST_PP_SEQ_ENUM_149(x) x, NDNBOOST_PP_SEQ_ENUM_148
+# define NDNBOOST_PP_SEQ_ENUM_150(x) x, NDNBOOST_PP_SEQ_ENUM_149
+# define NDNBOOST_PP_SEQ_ENUM_151(x) x, NDNBOOST_PP_SEQ_ENUM_150
+# define NDNBOOST_PP_SEQ_ENUM_152(x) x, NDNBOOST_PP_SEQ_ENUM_151
+# define NDNBOOST_PP_SEQ_ENUM_153(x) x, NDNBOOST_PP_SEQ_ENUM_152
+# define NDNBOOST_PP_SEQ_ENUM_154(x) x, NDNBOOST_PP_SEQ_ENUM_153
+# define NDNBOOST_PP_SEQ_ENUM_155(x) x, NDNBOOST_PP_SEQ_ENUM_154
+# define NDNBOOST_PP_SEQ_ENUM_156(x) x, NDNBOOST_PP_SEQ_ENUM_155
+# define NDNBOOST_PP_SEQ_ENUM_157(x) x, NDNBOOST_PP_SEQ_ENUM_156
+# define NDNBOOST_PP_SEQ_ENUM_158(x) x, NDNBOOST_PP_SEQ_ENUM_157
+# define NDNBOOST_PP_SEQ_ENUM_159(x) x, NDNBOOST_PP_SEQ_ENUM_158
+# define NDNBOOST_PP_SEQ_ENUM_160(x) x, NDNBOOST_PP_SEQ_ENUM_159
+# define NDNBOOST_PP_SEQ_ENUM_161(x) x, NDNBOOST_PP_SEQ_ENUM_160
+# define NDNBOOST_PP_SEQ_ENUM_162(x) x, NDNBOOST_PP_SEQ_ENUM_161
+# define NDNBOOST_PP_SEQ_ENUM_163(x) x, NDNBOOST_PP_SEQ_ENUM_162
+# define NDNBOOST_PP_SEQ_ENUM_164(x) x, NDNBOOST_PP_SEQ_ENUM_163
+# define NDNBOOST_PP_SEQ_ENUM_165(x) x, NDNBOOST_PP_SEQ_ENUM_164
+# define NDNBOOST_PP_SEQ_ENUM_166(x) x, NDNBOOST_PP_SEQ_ENUM_165
+# define NDNBOOST_PP_SEQ_ENUM_167(x) x, NDNBOOST_PP_SEQ_ENUM_166
+# define NDNBOOST_PP_SEQ_ENUM_168(x) x, NDNBOOST_PP_SEQ_ENUM_167
+# define NDNBOOST_PP_SEQ_ENUM_169(x) x, NDNBOOST_PP_SEQ_ENUM_168
+# define NDNBOOST_PP_SEQ_ENUM_170(x) x, NDNBOOST_PP_SEQ_ENUM_169
+# define NDNBOOST_PP_SEQ_ENUM_171(x) x, NDNBOOST_PP_SEQ_ENUM_170
+# define NDNBOOST_PP_SEQ_ENUM_172(x) x, NDNBOOST_PP_SEQ_ENUM_171
+# define NDNBOOST_PP_SEQ_ENUM_173(x) x, NDNBOOST_PP_SEQ_ENUM_172
+# define NDNBOOST_PP_SEQ_ENUM_174(x) x, NDNBOOST_PP_SEQ_ENUM_173
+# define NDNBOOST_PP_SEQ_ENUM_175(x) x, NDNBOOST_PP_SEQ_ENUM_174
+# define NDNBOOST_PP_SEQ_ENUM_176(x) x, NDNBOOST_PP_SEQ_ENUM_175
+# define NDNBOOST_PP_SEQ_ENUM_177(x) x, NDNBOOST_PP_SEQ_ENUM_176
+# define NDNBOOST_PP_SEQ_ENUM_178(x) x, NDNBOOST_PP_SEQ_ENUM_177
+# define NDNBOOST_PP_SEQ_ENUM_179(x) x, NDNBOOST_PP_SEQ_ENUM_178
+# define NDNBOOST_PP_SEQ_ENUM_180(x) x, NDNBOOST_PP_SEQ_ENUM_179
+# define NDNBOOST_PP_SEQ_ENUM_181(x) x, NDNBOOST_PP_SEQ_ENUM_180
+# define NDNBOOST_PP_SEQ_ENUM_182(x) x, NDNBOOST_PP_SEQ_ENUM_181
+# define NDNBOOST_PP_SEQ_ENUM_183(x) x, NDNBOOST_PP_SEQ_ENUM_182
+# define NDNBOOST_PP_SEQ_ENUM_184(x) x, NDNBOOST_PP_SEQ_ENUM_183
+# define NDNBOOST_PP_SEQ_ENUM_185(x) x, NDNBOOST_PP_SEQ_ENUM_184
+# define NDNBOOST_PP_SEQ_ENUM_186(x) x, NDNBOOST_PP_SEQ_ENUM_185
+# define NDNBOOST_PP_SEQ_ENUM_187(x) x, NDNBOOST_PP_SEQ_ENUM_186
+# define NDNBOOST_PP_SEQ_ENUM_188(x) x, NDNBOOST_PP_SEQ_ENUM_187
+# define NDNBOOST_PP_SEQ_ENUM_189(x) x, NDNBOOST_PP_SEQ_ENUM_188
+# define NDNBOOST_PP_SEQ_ENUM_190(x) x, NDNBOOST_PP_SEQ_ENUM_189
+# define NDNBOOST_PP_SEQ_ENUM_191(x) x, NDNBOOST_PP_SEQ_ENUM_190
+# define NDNBOOST_PP_SEQ_ENUM_192(x) x, NDNBOOST_PP_SEQ_ENUM_191
+# define NDNBOOST_PP_SEQ_ENUM_193(x) x, NDNBOOST_PP_SEQ_ENUM_192
+# define NDNBOOST_PP_SEQ_ENUM_194(x) x, NDNBOOST_PP_SEQ_ENUM_193
+# define NDNBOOST_PP_SEQ_ENUM_195(x) x, NDNBOOST_PP_SEQ_ENUM_194
+# define NDNBOOST_PP_SEQ_ENUM_196(x) x, NDNBOOST_PP_SEQ_ENUM_195
+# define NDNBOOST_PP_SEQ_ENUM_197(x) x, NDNBOOST_PP_SEQ_ENUM_196
+# define NDNBOOST_PP_SEQ_ENUM_198(x) x, NDNBOOST_PP_SEQ_ENUM_197
+# define NDNBOOST_PP_SEQ_ENUM_199(x) x, NDNBOOST_PP_SEQ_ENUM_198
+# define NDNBOOST_PP_SEQ_ENUM_200(x) x, NDNBOOST_PP_SEQ_ENUM_199
+# define NDNBOOST_PP_SEQ_ENUM_201(x) x, NDNBOOST_PP_SEQ_ENUM_200
+# define NDNBOOST_PP_SEQ_ENUM_202(x) x, NDNBOOST_PP_SEQ_ENUM_201
+# define NDNBOOST_PP_SEQ_ENUM_203(x) x, NDNBOOST_PP_SEQ_ENUM_202
+# define NDNBOOST_PP_SEQ_ENUM_204(x) x, NDNBOOST_PP_SEQ_ENUM_203
+# define NDNBOOST_PP_SEQ_ENUM_205(x) x, NDNBOOST_PP_SEQ_ENUM_204
+# define NDNBOOST_PP_SEQ_ENUM_206(x) x, NDNBOOST_PP_SEQ_ENUM_205
+# define NDNBOOST_PP_SEQ_ENUM_207(x) x, NDNBOOST_PP_SEQ_ENUM_206
+# define NDNBOOST_PP_SEQ_ENUM_208(x) x, NDNBOOST_PP_SEQ_ENUM_207
+# define NDNBOOST_PP_SEQ_ENUM_209(x) x, NDNBOOST_PP_SEQ_ENUM_208
+# define NDNBOOST_PP_SEQ_ENUM_210(x) x, NDNBOOST_PP_SEQ_ENUM_209
+# define NDNBOOST_PP_SEQ_ENUM_211(x) x, NDNBOOST_PP_SEQ_ENUM_210
+# define NDNBOOST_PP_SEQ_ENUM_212(x) x, NDNBOOST_PP_SEQ_ENUM_211
+# define NDNBOOST_PP_SEQ_ENUM_213(x) x, NDNBOOST_PP_SEQ_ENUM_212
+# define NDNBOOST_PP_SEQ_ENUM_214(x) x, NDNBOOST_PP_SEQ_ENUM_213
+# define NDNBOOST_PP_SEQ_ENUM_215(x) x, NDNBOOST_PP_SEQ_ENUM_214
+# define NDNBOOST_PP_SEQ_ENUM_216(x) x, NDNBOOST_PP_SEQ_ENUM_215
+# define NDNBOOST_PP_SEQ_ENUM_217(x) x, NDNBOOST_PP_SEQ_ENUM_216
+# define NDNBOOST_PP_SEQ_ENUM_218(x) x, NDNBOOST_PP_SEQ_ENUM_217
+# define NDNBOOST_PP_SEQ_ENUM_219(x) x, NDNBOOST_PP_SEQ_ENUM_218
+# define NDNBOOST_PP_SEQ_ENUM_220(x) x, NDNBOOST_PP_SEQ_ENUM_219
+# define NDNBOOST_PP_SEQ_ENUM_221(x) x, NDNBOOST_PP_SEQ_ENUM_220
+# define NDNBOOST_PP_SEQ_ENUM_222(x) x, NDNBOOST_PP_SEQ_ENUM_221
+# define NDNBOOST_PP_SEQ_ENUM_223(x) x, NDNBOOST_PP_SEQ_ENUM_222
+# define NDNBOOST_PP_SEQ_ENUM_224(x) x, NDNBOOST_PP_SEQ_ENUM_223
+# define NDNBOOST_PP_SEQ_ENUM_225(x) x, NDNBOOST_PP_SEQ_ENUM_224
+# define NDNBOOST_PP_SEQ_ENUM_226(x) x, NDNBOOST_PP_SEQ_ENUM_225
+# define NDNBOOST_PP_SEQ_ENUM_227(x) x, NDNBOOST_PP_SEQ_ENUM_226
+# define NDNBOOST_PP_SEQ_ENUM_228(x) x, NDNBOOST_PP_SEQ_ENUM_227
+# define NDNBOOST_PP_SEQ_ENUM_229(x) x, NDNBOOST_PP_SEQ_ENUM_228
+# define NDNBOOST_PP_SEQ_ENUM_230(x) x, NDNBOOST_PP_SEQ_ENUM_229
+# define NDNBOOST_PP_SEQ_ENUM_231(x) x, NDNBOOST_PP_SEQ_ENUM_230
+# define NDNBOOST_PP_SEQ_ENUM_232(x) x, NDNBOOST_PP_SEQ_ENUM_231
+# define NDNBOOST_PP_SEQ_ENUM_233(x) x, NDNBOOST_PP_SEQ_ENUM_232
+# define NDNBOOST_PP_SEQ_ENUM_234(x) x, NDNBOOST_PP_SEQ_ENUM_233
+# define NDNBOOST_PP_SEQ_ENUM_235(x) x, NDNBOOST_PP_SEQ_ENUM_234
+# define NDNBOOST_PP_SEQ_ENUM_236(x) x, NDNBOOST_PP_SEQ_ENUM_235
+# define NDNBOOST_PP_SEQ_ENUM_237(x) x, NDNBOOST_PP_SEQ_ENUM_236
+# define NDNBOOST_PP_SEQ_ENUM_238(x) x, NDNBOOST_PP_SEQ_ENUM_237
+# define NDNBOOST_PP_SEQ_ENUM_239(x) x, NDNBOOST_PP_SEQ_ENUM_238
+# define NDNBOOST_PP_SEQ_ENUM_240(x) x, NDNBOOST_PP_SEQ_ENUM_239
+# define NDNBOOST_PP_SEQ_ENUM_241(x) x, NDNBOOST_PP_SEQ_ENUM_240
+# define NDNBOOST_PP_SEQ_ENUM_242(x) x, NDNBOOST_PP_SEQ_ENUM_241
+# define NDNBOOST_PP_SEQ_ENUM_243(x) x, NDNBOOST_PP_SEQ_ENUM_242
+# define NDNBOOST_PP_SEQ_ENUM_244(x) x, NDNBOOST_PP_SEQ_ENUM_243
+# define NDNBOOST_PP_SEQ_ENUM_245(x) x, NDNBOOST_PP_SEQ_ENUM_244
+# define NDNBOOST_PP_SEQ_ENUM_246(x) x, NDNBOOST_PP_SEQ_ENUM_245
+# define NDNBOOST_PP_SEQ_ENUM_247(x) x, NDNBOOST_PP_SEQ_ENUM_246
+# define NDNBOOST_PP_SEQ_ENUM_248(x) x, NDNBOOST_PP_SEQ_ENUM_247
+# define NDNBOOST_PP_SEQ_ENUM_249(x) x, NDNBOOST_PP_SEQ_ENUM_248
+# define NDNBOOST_PP_SEQ_ENUM_250(x) x, NDNBOOST_PP_SEQ_ENUM_249
+# define NDNBOOST_PP_SEQ_ENUM_251(x) x, NDNBOOST_PP_SEQ_ENUM_250
+# define NDNBOOST_PP_SEQ_ENUM_252(x) x, NDNBOOST_PP_SEQ_ENUM_251
+# define NDNBOOST_PP_SEQ_ENUM_253(x) x, NDNBOOST_PP_SEQ_ENUM_252
+# define NDNBOOST_PP_SEQ_ENUM_254(x) x, NDNBOOST_PP_SEQ_ENUM_253
+# define NDNBOOST_PP_SEQ_ENUM_255(x) x, NDNBOOST_PP_SEQ_ENUM_254
+# define NDNBOOST_PP_SEQ_ENUM_256(x) x, NDNBOOST_PP_SEQ_ENUM_255
 #
 # endif
diff --git a/include/ndnboost/preprocessor/seq/first_n.hpp b/include/ndnboost/preprocessor/seq/first_n.hpp
index d69cec8..adb4de7 100644
--- a/include/ndnboost/preprocessor/seq/first_n.hpp
+++ b/include/ndnboost/preprocessor/seq/first_n.hpp
@@ -9,8 +9,8 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_SEQ_FIRST_N_HPP
-# define BOOST_PREPROCESSOR_SEQ_FIRST_N_HPP
+# ifndef NDNBOOST_PREPROCESSOR_SEQ_FIRST_N_HPP
+# define NDNBOOST_PREPROCESSOR_SEQ_FIRST_N_HPP
 #
 # include <ndnboost/preprocessor/config/config.hpp>
 # include <ndnboost/preprocessor/control/if.hpp>
@@ -18,13 +18,13 @@
 # include <ndnboost/preprocessor/tuple/eat.hpp>
 # include <ndnboost/preprocessor/tuple/elem.hpp>
 #
-# /* BOOST_PP_SEQ_FIRST_N */
+# /* NDNBOOST_PP_SEQ_FIRST_N */
 #
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_SEQ_FIRST_N(n, seq) BOOST_PP_IF(n, BOOST_PP_TUPLE_ELEM, BOOST_PP_TUPLE_EAT_3)(2, 0, BOOST_PP_SEQ_SPLIT(n, seq (nil)))
+# if ~NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_EDG()
+#    define NDNBOOST_PP_SEQ_FIRST_N(n, seq) NDNBOOST_PP_IF(n, NDNBOOST_PP_TUPLE_ELEM, NDNBOOST_PP_TUPLE_EAT_3)(2, 0, NDNBOOST_PP_SEQ_SPLIT(n, seq (nil)))
 # else
-#    define BOOST_PP_SEQ_FIRST_N(n, seq) BOOST_PP_SEQ_FIRST_N_I(n, seq)
-#    define BOOST_PP_SEQ_FIRST_N_I(n, seq) BOOST_PP_IF(n, BOOST_PP_TUPLE_ELEM, BOOST_PP_TUPLE_EAT_3)(2, 0, BOOST_PP_SEQ_SPLIT(n, seq (nil)))
+#    define NDNBOOST_PP_SEQ_FIRST_N(n, seq) NDNBOOST_PP_SEQ_FIRST_N_I(n, seq)
+#    define NDNBOOST_PP_SEQ_FIRST_N_I(n, seq) NDNBOOST_PP_IF(n, NDNBOOST_PP_TUPLE_ELEM, NDNBOOST_PP_TUPLE_EAT_3)(2, 0, NDNBOOST_PP_SEQ_SPLIT(n, seq (nil)))
 # endif
 #
 # endif
diff --git a/include/ndnboost/preprocessor/seq/fold_left.hpp b/include/ndnboost/preprocessor/seq/fold_left.hpp
index 06877de..f232936 100644
--- a/include/ndnboost/preprocessor/seq/fold_left.hpp
+++ b/include/ndnboost/preprocessor/seq/fold_left.hpp
@@ -9,8 +9,8 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_SEQ_FOLD_LEFT_HPP
-# define BOOST_PREPROCESSOR_SEQ_FOLD_LEFT_HPP
+# ifndef NDNBOOST_PREPROCESSOR_SEQ_FOLD_LEFT_HPP
+# define NDNBOOST_PREPROCESSOR_SEQ_FOLD_LEFT_HPP
 #
 # include <ndnboost/preprocessor/arithmetic/dec.hpp>
 # include <ndnboost/preprocessor/cat.hpp>
@@ -20,1051 +20,1051 @@
 # include <ndnboost/preprocessor/seq/seq.hpp>
 # include <ndnboost/preprocessor/seq/size.hpp>
 #
-# /* BOOST_PP_SEQ_FOLD_LEFT */
+# /* NDNBOOST_PP_SEQ_FOLD_LEFT */
 #
 # if 0
-#    define BOOST_PP_SEQ_FOLD_LEFT(op, state, seq) ...
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT(op, state, seq) ...
 # endif
 #
-# define BOOST_PP_SEQ_FOLD_LEFT BOOST_PP_CAT(BOOST_PP_SEQ_FOLD_LEFT_, BOOST_PP_AUTO_REC(BOOST_PP_SEQ_FOLD_LEFT_P, 256))
-# define BOOST_PP_SEQ_FOLD_LEFT_P(n) BOOST_PP_CAT(BOOST_PP_SEQ_FOLD_LEFT_CHECK_, BOOST_PP_SEQ_FOLD_LEFT_I_ ## n(BOOST_PP_SEQ_FOLD_LEFT_O, BOOST_PP_NIL, (nil), 1))
-# define BOOST_PP_SEQ_FOLD_LEFT_O(s, st, _) st
+# define NDNBOOST_PP_SEQ_FOLD_LEFT NDNBOOST_PP_CAT(NDNBOOST_PP_SEQ_FOLD_LEFT_, NDNBOOST_PP_AUTO_REC(NDNBOOST_PP_SEQ_FOLD_LEFT_P, 256))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_P(n) NDNBOOST_PP_CAT(NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_, NDNBOOST_PP_SEQ_FOLD_LEFT_I_ ## n(NDNBOOST_PP_SEQ_FOLD_LEFT_O, NDNBOOST_PP_NIL, (nil), 1))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_O(s, st, _) st
 #
-# define BOOST_PP_SEQ_FOLD_LEFT_257(op, st, ss) BOOST_PP_ERROR(0x0005)
-# define BOOST_PP_SEQ_FOLD_LEFT_I_257(op, st, ss, sz) BOOST_PP_ERROR(0x0005)
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_257(op, st, ss) NDNBOOST_PP_ERROR(0x0005)
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_I_257(op, st, ss, sz) NDNBOOST_PP_ERROR(0x0005)
 #
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_NIL 1
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_NIL 1
 #
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_1(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_2(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_3(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_4(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_5(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_6(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_7(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_8(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_9(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_10(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_11(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_12(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_13(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_14(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_15(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_16(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_17(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_18(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_19(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_20(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_21(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_22(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_23(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_24(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_25(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_26(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_27(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_28(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_29(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_30(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_31(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_32(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_33(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_34(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_35(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_36(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_37(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_38(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_39(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_40(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_41(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_42(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_43(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_44(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_45(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_46(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_47(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_48(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_49(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_50(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_51(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_52(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_53(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_54(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_55(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_56(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_57(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_58(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_59(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_60(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_61(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_62(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_63(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_64(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_65(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_66(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_67(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_68(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_69(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_70(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_71(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_72(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_73(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_74(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_75(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_76(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_77(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_78(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_79(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_80(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_81(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_82(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_83(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_84(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_85(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_86(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_87(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_88(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_89(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_90(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_91(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_92(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_93(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_94(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_95(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_96(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_97(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_98(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_99(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_100(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_101(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_102(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_103(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_104(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_105(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_106(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_107(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_108(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_109(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_110(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_111(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_112(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_113(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_114(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_115(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_116(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_117(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_118(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_119(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_120(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_121(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_122(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_123(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_124(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_125(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_126(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_127(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_128(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_129(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_130(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_131(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_132(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_133(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_134(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_135(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_136(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_137(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_138(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_139(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_140(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_141(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_142(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_143(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_144(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_145(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_146(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_147(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_148(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_149(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_150(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_151(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_152(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_153(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_154(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_155(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_156(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_157(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_158(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_159(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_160(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_161(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_162(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_163(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_164(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_165(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_166(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_167(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_168(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_169(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_170(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_171(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_172(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_173(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_174(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_175(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_176(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_177(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_178(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_179(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_180(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_181(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_182(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_183(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_184(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_185(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_186(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_187(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_188(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_189(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_190(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_191(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_192(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_193(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_194(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_195(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_196(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_197(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_198(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_199(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_200(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_201(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_202(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_203(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_204(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_205(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_206(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_207(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_208(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_209(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_210(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_211(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_212(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_213(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_214(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_215(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_216(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_217(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_218(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_219(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_220(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_221(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_222(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_223(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_224(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_225(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_226(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_227(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_228(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_229(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_230(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_231(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_232(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_233(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_234(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_235(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_236(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_237(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_238(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_239(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_240(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_241(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_242(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_243(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_244(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_245(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_246(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_247(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_248(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_249(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_250(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_251(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_252(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_253(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_254(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_255(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_256(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_1(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_2(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_3(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_4(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_5(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_6(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_7(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_8(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_9(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_10(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_11(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_12(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_13(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_14(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_15(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_16(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_17(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_18(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_19(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_20(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_21(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_22(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_23(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_24(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_25(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_26(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_27(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_28(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_29(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_30(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_31(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_32(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_33(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_34(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_35(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_36(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_37(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_38(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_39(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_40(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_41(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_42(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_43(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_44(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_45(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_46(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_47(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_48(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_49(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_50(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_51(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_52(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_53(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_54(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_55(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_56(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_57(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_58(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_59(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_60(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_61(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_62(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_63(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_64(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_65(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_66(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_67(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_68(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_69(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_70(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_71(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_72(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_73(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_74(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_75(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_76(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_77(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_78(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_79(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_80(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_81(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_82(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_83(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_84(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_85(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_86(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_87(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_88(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_89(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_90(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_91(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_92(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_93(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_94(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_95(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_96(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_97(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_98(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_99(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_100(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_101(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_102(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_103(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_104(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_105(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_106(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_107(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_108(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_109(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_110(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_111(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_112(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_113(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_114(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_115(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_116(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_117(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_118(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_119(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_120(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_121(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_122(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_123(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_124(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_125(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_126(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_127(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_128(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_129(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_130(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_131(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_132(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_133(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_134(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_135(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_136(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_137(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_138(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_139(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_140(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_141(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_142(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_143(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_144(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_145(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_146(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_147(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_148(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_149(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_150(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_151(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_152(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_153(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_154(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_155(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_156(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_157(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_158(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_159(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_160(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_161(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_162(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_163(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_164(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_165(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_166(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_167(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_168(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_169(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_170(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_171(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_172(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_173(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_174(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_175(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_176(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_177(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_178(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_179(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_180(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_181(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_182(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_183(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_184(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_185(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_186(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_187(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_188(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_189(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_190(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_191(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_192(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_193(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_194(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_195(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_196(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_197(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_198(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_199(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_200(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_201(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_202(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_203(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_204(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_205(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_206(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_207(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_208(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_209(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_210(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_211(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_212(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_213(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_214(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_215(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_216(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_217(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_218(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_219(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_220(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_221(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_222(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_223(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_224(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_225(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_226(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_227(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_228(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_229(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_230(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_231(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_232(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_233(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_234(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_235(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_236(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_237(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_238(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_239(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_240(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_241(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_242(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_243(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_244(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_245(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_246(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_247(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_248(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_249(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_250(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_251(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_252(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_253(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_254(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_255(op, st, ss, sz) 0
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_CHECK_NDNBOOST_PP_SEQ_FOLD_LEFT_I_256(op, st, ss, sz) 0
 #
-# define BOOST_PP_SEQ_FOLD_LEFT_F(op, st, ss, sz) st
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_F(op, st, ss, sz) st
 #
-# define BOOST_PP_SEQ_FOLD_LEFT_1(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_1(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_2(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_2(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_3(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_3(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_4(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_4(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_5(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_5(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_6(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_6(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_7(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_7(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_8(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_8(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_9(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_9(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_10(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_10(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_11(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_11(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_12(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_12(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_13(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_13(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_14(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_14(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_15(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_15(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_16(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_16(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_17(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_17(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_18(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_18(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_19(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_19(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_20(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_20(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_21(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_21(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_22(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_22(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_23(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_23(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_24(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_24(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_25(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_25(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_26(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_26(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_27(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_27(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_28(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_28(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_29(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_29(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_30(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_30(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_31(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_31(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_32(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_32(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_33(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_33(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_34(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_34(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_35(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_35(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_36(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_36(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_37(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_37(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_38(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_38(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_39(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_39(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_40(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_40(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_41(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_41(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_42(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_42(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_43(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_43(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_44(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_44(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_45(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_45(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_46(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_46(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_47(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_47(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_48(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_48(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_49(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_49(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_50(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_50(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_51(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_51(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_52(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_52(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_53(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_53(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_54(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_54(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_55(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_55(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_56(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_56(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_57(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_57(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_58(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_58(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_59(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_59(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_60(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_60(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_61(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_61(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_62(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_62(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_63(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_63(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_64(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_64(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_65(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_65(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_66(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_66(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_67(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_67(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_68(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_68(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_69(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_69(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_70(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_70(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_71(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_71(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_72(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_72(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_73(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_73(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_74(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_74(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_75(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_75(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_76(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_76(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_77(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_77(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_78(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_78(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_79(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_79(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_80(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_80(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_81(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_81(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_82(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_82(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_83(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_83(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_84(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_84(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_85(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_85(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_86(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_86(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_87(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_87(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_88(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_88(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_89(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_89(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_90(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_90(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_91(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_91(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_92(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_92(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_93(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_93(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_94(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_94(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_95(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_95(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_96(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_96(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_97(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_97(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_98(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_98(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_99(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_99(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_100(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_100(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_101(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_101(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_102(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_102(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_103(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_103(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_104(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_104(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_105(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_105(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_106(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_106(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_107(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_107(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_108(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_108(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_109(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_109(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_110(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_110(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_111(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_111(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_112(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_112(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_113(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_113(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_114(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_114(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_115(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_115(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_116(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_116(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_117(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_117(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_118(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_118(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_119(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_119(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_120(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_120(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_121(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_121(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_122(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_122(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_123(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_123(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_124(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_124(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_125(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_125(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_126(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_126(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_127(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_127(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_128(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_128(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_129(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_129(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_130(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_130(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_131(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_131(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_132(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_132(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_133(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_133(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_134(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_134(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_135(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_135(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_136(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_136(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_137(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_137(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_138(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_138(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_139(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_139(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_140(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_140(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_141(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_141(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_142(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_142(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_143(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_143(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_144(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_144(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_145(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_145(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_146(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_146(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_147(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_147(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_148(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_148(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_149(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_149(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_150(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_150(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_151(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_151(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_152(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_152(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_153(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_153(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_154(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_154(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_155(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_155(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_156(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_156(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_157(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_157(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_158(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_158(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_159(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_159(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_160(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_160(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_161(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_161(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_162(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_162(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_163(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_163(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_164(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_164(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_165(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_165(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_166(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_166(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_167(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_167(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_168(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_168(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_169(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_169(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_170(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_170(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_171(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_171(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_172(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_172(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_173(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_173(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_174(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_174(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_175(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_175(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_176(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_176(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_177(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_177(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_178(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_178(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_179(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_179(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_180(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_180(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_181(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_181(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_182(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_182(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_183(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_183(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_184(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_184(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_185(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_185(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_186(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_186(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_187(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_187(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_188(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_188(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_189(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_189(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_190(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_190(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_191(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_191(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_192(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_192(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_193(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_193(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_194(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_194(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_195(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_195(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_196(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_196(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_197(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_197(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_198(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_198(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_199(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_199(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_200(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_200(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_201(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_201(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_202(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_202(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_203(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_203(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_204(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_204(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_205(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_205(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_206(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_206(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_207(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_207(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_208(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_208(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_209(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_209(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_210(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_210(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_211(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_211(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_212(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_212(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_213(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_213(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_214(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_214(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_215(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_215(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_216(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_216(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_217(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_217(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_218(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_218(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_219(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_219(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_220(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_220(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_221(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_221(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_222(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_222(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_223(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_223(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_224(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_224(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_225(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_225(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_226(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_226(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_227(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_227(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_228(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_228(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_229(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_229(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_230(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_230(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_231(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_231(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_232(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_232(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_233(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_233(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_234(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_234(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_235(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_235(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_236(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_236(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_237(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_237(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_238(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_238(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_239(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_239(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_240(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_240(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_241(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_241(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_242(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_242(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_243(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_243(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_244(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_244(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_245(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_245(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_246(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_246(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_247(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_247(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_248(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_248(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_249(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_249(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_250(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_250(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_251(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_251(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_252(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_252(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_253(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_253(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_254(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_254(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_255(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_255(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_256(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_256(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_1(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_1(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_2(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_2(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_3(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_3(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_4(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_4(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_5(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_5(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_6(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_6(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_7(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_7(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_8(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_8(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_9(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_9(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_10(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_10(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_11(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_11(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_12(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_12(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_13(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_13(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_14(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_14(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_15(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_15(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_16(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_16(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_17(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_17(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_18(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_18(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_19(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_19(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_20(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_20(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_21(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_21(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_22(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_22(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_23(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_23(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_24(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_24(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_25(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_25(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_26(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_26(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_27(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_27(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_28(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_28(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_29(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_29(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_30(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_30(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_31(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_31(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_32(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_32(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_33(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_33(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_34(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_34(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_35(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_35(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_36(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_36(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_37(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_37(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_38(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_38(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_39(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_39(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_40(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_40(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_41(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_41(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_42(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_42(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_43(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_43(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_44(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_44(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_45(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_45(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_46(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_46(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_47(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_47(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_48(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_48(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_49(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_49(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_50(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_50(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_51(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_51(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_52(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_52(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_53(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_53(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_54(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_54(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_55(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_55(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_56(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_56(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_57(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_57(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_58(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_58(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_59(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_59(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_60(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_60(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_61(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_61(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_62(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_62(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_63(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_63(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_64(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_64(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_65(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_65(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_66(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_66(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_67(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_67(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_68(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_68(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_69(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_69(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_70(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_70(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_71(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_71(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_72(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_72(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_73(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_73(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_74(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_74(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_75(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_75(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_76(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_76(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_77(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_77(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_78(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_78(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_79(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_79(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_80(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_80(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_81(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_81(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_82(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_82(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_83(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_83(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_84(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_84(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_85(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_85(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_86(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_86(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_87(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_87(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_88(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_88(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_89(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_89(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_90(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_90(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_91(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_91(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_92(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_92(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_93(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_93(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_94(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_94(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_95(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_95(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_96(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_96(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_97(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_97(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_98(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_98(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_99(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_99(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_100(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_100(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_101(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_101(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_102(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_102(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_103(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_103(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_104(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_104(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_105(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_105(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_106(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_106(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_107(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_107(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_108(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_108(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_109(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_109(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_110(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_110(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_111(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_111(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_112(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_112(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_113(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_113(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_114(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_114(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_115(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_115(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_116(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_116(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_117(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_117(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_118(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_118(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_119(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_119(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_120(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_120(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_121(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_121(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_122(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_122(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_123(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_123(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_124(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_124(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_125(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_125(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_126(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_126(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_127(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_127(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_128(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_128(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_129(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_129(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_130(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_130(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_131(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_131(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_132(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_132(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_133(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_133(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_134(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_134(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_135(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_135(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_136(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_136(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_137(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_137(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_138(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_138(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_139(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_139(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_140(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_140(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_141(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_141(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_142(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_142(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_143(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_143(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_144(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_144(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_145(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_145(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_146(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_146(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_147(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_147(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_148(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_148(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_149(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_149(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_150(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_150(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_151(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_151(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_152(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_152(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_153(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_153(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_154(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_154(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_155(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_155(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_156(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_156(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_157(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_157(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_158(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_158(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_159(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_159(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_160(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_160(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_161(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_161(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_162(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_162(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_163(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_163(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_164(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_164(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_165(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_165(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_166(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_166(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_167(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_167(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_168(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_168(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_169(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_169(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_170(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_170(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_171(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_171(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_172(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_172(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_173(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_173(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_174(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_174(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_175(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_175(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_176(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_176(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_177(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_177(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_178(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_178(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_179(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_179(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_180(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_180(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_181(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_181(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_182(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_182(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_183(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_183(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_184(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_184(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_185(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_185(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_186(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_186(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_187(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_187(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_188(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_188(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_189(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_189(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_190(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_190(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_191(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_191(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_192(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_192(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_193(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_193(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_194(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_194(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_195(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_195(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_196(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_196(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_197(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_197(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_198(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_198(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_199(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_199(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_200(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_200(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_201(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_201(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_202(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_202(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_203(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_203(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_204(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_204(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_205(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_205(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_206(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_206(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_207(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_207(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_208(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_208(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_209(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_209(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_210(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_210(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_211(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_211(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_212(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_212(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_213(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_213(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_214(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_214(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_215(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_215(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_216(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_216(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_217(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_217(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_218(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_218(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_219(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_219(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_220(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_220(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_221(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_221(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_222(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_222(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_223(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_223(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_224(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_224(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_225(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_225(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_226(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_226(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_227(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_227(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_228(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_228(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_229(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_229(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_230(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_230(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_231(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_231(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_232(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_232(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_233(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_233(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_234(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_234(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_235(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_235(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_236(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_236(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_237(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_237(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_238(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_238(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_239(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_239(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_240(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_240(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_241(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_241(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_242(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_242(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_243(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_243(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_244(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_244(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_245(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_245(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_246(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_246(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_247(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_247(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_248(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_248(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_249(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_249(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_250(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_250(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_251(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_251(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_252(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_252(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_253(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_253(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_254(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_254(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_255(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_255(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
+# define NDNBOOST_PP_SEQ_FOLD_LEFT_256(op, st, ss) NDNBOOST_PP_SEQ_FOLD_LEFT_I_256(op, st, ss, NDNBOOST_PP_SEQ_SIZE(ss))
 #
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_DMC()
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_1(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_2, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(2, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_2(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_3, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(3, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_3(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_4, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(4, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_4(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_5, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(5, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_5(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_6, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(6, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_6(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_7, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(7, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_7(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_8, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(8, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_8(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_9, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(9, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_9(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_10, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(10, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_10(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_11, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(11, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_11(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_12, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(12, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_12(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_13, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(13, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_13(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_14, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(14, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_14(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_15, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(15, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_15(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_16, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(16, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_16(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_17, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(17, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_17(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_18, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(18, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_18(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_19, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(19, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_19(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_20, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(20, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_20(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_21, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(21, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_21(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_22, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(22, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_22(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_23, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(23, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_23(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_24, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(24, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_24(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_25, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(25, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_25(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_26, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(26, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_26(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_27, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(27, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_27(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_28, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(28, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_28(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_29, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(29, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_29(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_30, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(30, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_30(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_31, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(31, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_31(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_32, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(32, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_32(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_33, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(33, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_33(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_34, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(34, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_34(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_35, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(35, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_35(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_36, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(36, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_36(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_37, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(37, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_37(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_38, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(38, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_38(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_39, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(39, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_39(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_40, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(40, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_40(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_41, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(41, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_41(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_42, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(42, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_42(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_43, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(43, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_43(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_44, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(44, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_44(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_45, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(45, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_45(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_46, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(46, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_46(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_47, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(47, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_47(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_48, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(48, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_48(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_49, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(49, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_49(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_50, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(50, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_50(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_51, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(51, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_51(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_52, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(52, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_52(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_53, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(53, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_53(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_54, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(54, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_54(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_55, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(55, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_55(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_56, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(56, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_56(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_57, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(57, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_57(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_58, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(58, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_58(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_59, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(59, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_59(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_60, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(60, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_60(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_61, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(61, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_61(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_62, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(62, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_62(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_63, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(63, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_63(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_64, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(64, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_64(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_65, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(65, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_65(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_66, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(66, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_66(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_67, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(67, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_67(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_68, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(68, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_68(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_69, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(69, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_69(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_70, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(70, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_70(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_71, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(71, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_71(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_72, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(72, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_72(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_73, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(73, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_73(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_74, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(74, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_74(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_75, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(75, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_75(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_76, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(76, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_76(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_77, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(77, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_77(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_78, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(78, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_78(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_79, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(79, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_79(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_80, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(80, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_80(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_81, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(81, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_81(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_82, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(82, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_82(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_83, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(83, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_83(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_84, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(84, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_84(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_85, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(85, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_85(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_86, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(86, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_86(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_87, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(87, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_87(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_88, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(88, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_88(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_89, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(89, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_89(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_90, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(90, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_90(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_91, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(91, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_91(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_92, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(92, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_92(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_93, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(93, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_93(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_94, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(94, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_94(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_95, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(95, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_95(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_96, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(96, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_96(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_97, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(97, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_97(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_98, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(98, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_98(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_99, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(99, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_99(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_100, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(100, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_100(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_101, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(101, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_101(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_102, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(102, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_102(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_103, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(103, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_103(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_104, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(104, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_104(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_105, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(105, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_105(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_106, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(106, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_106(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_107, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(107, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_107(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_108, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(108, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_108(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_109, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(109, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_109(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_110, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(110, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_110(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_111, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(111, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_111(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_112, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(112, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_112(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_113, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(113, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_113(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_114, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(114, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_114(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_115, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(115, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_115(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_116, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(116, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_116(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_117, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(117, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_117(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_118, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(118, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_118(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_119, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(119, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_119(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_120, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(120, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_120(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_121, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(121, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_121(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_122, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(122, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_122(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_123, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(123, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_123(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_124, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(124, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_124(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_125, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(125, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_125(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_126, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(126, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_126(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_127, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(127, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_127(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_128, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(128, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_128(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_129, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(129, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_129(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_130, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(130, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_130(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_131, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(131, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_131(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_132, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(132, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_132(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_133, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(133, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_133(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_134, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(134, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_134(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_135, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(135, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_135(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_136, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(136, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_136(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_137, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(137, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_137(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_138, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(138, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_138(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_139, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(139, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_139(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_140, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(140, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_140(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_141, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(141, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_141(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_142, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(142, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_142(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_143, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(143, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_143(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_144, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(144, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_144(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_145, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(145, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_145(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_146, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(146, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_146(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_147, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(147, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_147(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_148, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(148, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_148(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_149, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(149, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_149(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_150, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(150, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_150(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_151, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(151, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_151(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_152, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(152, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_152(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_153, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(153, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_153(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_154, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(154, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_154(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_155, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(155, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_155(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_156, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(156, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_156(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_157, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(157, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_157(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_158, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(158, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_158(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_159, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(159, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_159(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_160, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(160, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_160(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_161, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(161, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_161(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_162, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(162, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_162(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_163, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(163, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_163(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_164, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(164, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_164(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_165, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(165, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_165(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_166, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(166, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_166(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_167, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(167, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_167(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_168, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(168, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_168(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_169, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(169, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_169(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_170, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(170, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_170(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_171, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(171, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_171(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_172, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(172, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_172(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_173, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(173, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_173(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_174, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(174, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_174(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_175, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(175, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_175(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_176, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(176, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_176(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_177, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(177, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_177(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_178, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(178, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_178(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_179, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(179, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_179(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_180, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(180, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_180(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_181, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(181, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_181(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_182, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(182, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_182(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_183, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(183, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_183(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_184, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(184, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_184(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_185, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(185, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_185(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_186, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(186, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_186(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_187, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(187, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_187(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_188, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(188, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_188(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_189, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(189, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_189(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_190, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(190, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_190(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_191, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(191, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_191(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_192, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(192, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_192(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_193, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(193, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_193(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_194, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(194, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_194(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_195, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(195, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_195(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_196, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(196, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_196(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_197, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(197, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_197(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_198, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(198, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_198(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_199, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(199, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_199(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_200, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(200, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_200(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_201, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(201, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_201(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_202, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(202, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_202(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_203, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(203, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_203(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_204, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(204, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_204(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_205, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(205, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_205(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_206, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(206, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_206(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_207, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(207, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_207(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_208, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(208, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_208(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_209, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(209, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_209(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_210, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(210, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_210(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_211, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(211, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_211(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_212, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(212, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_212(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_213, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(213, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_213(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_214, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(214, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_214(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_215, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(215, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_215(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_216, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(216, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_216(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_217, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(217, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_217(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_218, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(218, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_218(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_219, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(219, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_219(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_220, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(220, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_220(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_221, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(221, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_221(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_222, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(222, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_222(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_223, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(223, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_223(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_224, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(224, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_224(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_225, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(225, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_225(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_226, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(226, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_226(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_227, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(227, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_227(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_228, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(228, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_228(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_229, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(229, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_229(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_230, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(230, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_230(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_231, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(231, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_231(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_232, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(232, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_232(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_233, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(233, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_233(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_234, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(234, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_234(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_235, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(235, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_235(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_236, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(236, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_236(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_237, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(237, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_237(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_238, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(238, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_238(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_239, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(239, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_239(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_240, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(240, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_240(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_241, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(241, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_241(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_242, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(242, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_242(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_243, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(243, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_243(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_244, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(244, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_244(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_245, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(245, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_245(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_246, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(246, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_246(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_247, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(247, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_247(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_248, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(248, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_248(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_249, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(249, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_249(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_250, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(250, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_250(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_251, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(251, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_251(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_252, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(252, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_252(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_253, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(253, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_253(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_254, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(254, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_254(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_255, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(255, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_255(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_256, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(256, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_256(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_257, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(257, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
+# if ~NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_DMC()
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_1(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_2, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(2, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_2(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_3, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(3, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_3(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_4, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(4, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_4(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_5, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(5, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_5(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_6, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(6, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_6(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_7, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(7, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_7(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_8, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(8, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_8(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_9, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(9, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_9(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_10, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(10, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_10(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_11, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(11, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_11(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_12, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(12, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_12(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_13, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(13, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_13(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_14, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(14, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_14(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_15, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(15, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_15(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_16, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(16, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_16(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_17, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(17, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_17(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_18, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(18, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_18(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_19, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(19, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_19(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_20, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(20, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_20(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_21, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(21, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_21(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_22, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(22, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_22(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_23, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(23, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_23(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_24, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(24, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_24(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_25, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(25, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_25(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_26, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(26, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_26(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_27, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(27, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_27(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_28, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(28, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_28(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_29, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(29, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_29(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_30, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(30, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_30(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_31, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(31, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_31(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_32, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(32, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_32(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_33, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(33, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_33(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_34, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(34, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_34(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_35, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(35, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_35(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_36, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(36, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_36(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_37, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(37, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_37(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_38, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(38, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_38(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_39, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(39, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_39(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_40, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(40, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_40(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_41, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(41, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_41(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_42, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(42, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_42(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_43, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(43, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_43(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_44, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(44, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_44(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_45, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(45, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_45(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_46, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(46, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_46(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_47, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(47, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_47(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_48, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(48, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_48(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_49, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(49, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_49(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_50, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(50, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_50(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_51, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(51, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_51(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_52, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(52, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_52(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_53, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(53, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_53(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_54, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(54, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_54(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_55, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(55, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_55(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_56, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(56, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_56(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_57, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(57, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_57(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_58, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(58, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_58(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_59, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(59, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_59(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_60, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(60, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_60(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_61, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(61, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_61(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_62, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(62, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_62(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_63, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(63, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_63(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_64, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(64, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_64(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_65, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(65, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_65(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_66, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(66, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_66(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_67, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(67, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_67(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_68, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(68, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_68(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_69, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(69, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_69(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_70, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(70, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_70(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_71, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(71, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_71(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_72, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(72, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_72(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_73, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(73, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_73(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_74, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(74, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_74(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_75, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(75, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_75(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_76, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(76, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_76(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_77, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(77, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_77(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_78, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(78, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_78(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_79, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(79, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_79(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_80, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(80, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_80(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_81, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(81, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_81(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_82, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(82, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_82(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_83, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(83, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_83(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_84, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(84, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_84(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_85, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(85, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_85(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_86, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(86, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_86(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_87, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(87, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_87(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_88, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(88, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_88(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_89, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(89, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_89(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_90, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(90, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_90(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_91, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(91, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_91(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_92, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(92, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_92(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_93, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(93, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_93(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_94, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(94, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_94(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_95, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(95, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_95(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_96, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(96, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_96(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_97, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(97, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_97(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_98, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(98, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_98(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_99, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(99, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_99(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_100, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(100, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_100(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_101, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(101, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_101(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_102, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(102, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_102(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_103, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(103, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_103(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_104, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(104, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_104(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_105, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(105, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_105(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_106, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(106, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_106(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_107, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(107, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_107(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_108, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(108, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_108(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_109, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(109, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_109(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_110, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(110, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_110(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_111, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(111, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_111(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_112, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(112, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_112(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_113, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(113, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_113(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_114, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(114, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_114(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_115, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(115, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_115(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_116, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(116, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_116(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_117, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(117, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_117(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_118, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(118, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_118(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_119, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(119, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_119(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_120, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(120, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_120(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_121, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(121, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_121(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_122, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(122, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_122(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_123, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(123, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_123(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_124, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(124, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_124(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_125, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(125, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_125(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_126, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(126, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_126(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_127, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(127, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_127(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_128, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(128, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_128(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_129, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(129, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_129(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_130, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(130, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_130(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_131, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(131, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_131(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_132, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(132, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_132(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_133, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(133, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_133(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_134, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(134, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_134(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_135, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(135, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_135(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_136, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(136, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_136(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_137, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(137, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_137(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_138, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(138, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_138(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_139, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(139, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_139(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_140, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(140, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_140(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_141, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(141, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_141(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_142, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(142, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_142(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_143, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(143, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_143(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_144, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(144, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_144(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_145, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(145, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_145(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_146, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(146, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_146(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_147, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(147, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_147(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_148, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(148, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_148(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_149, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(149, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_149(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_150, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(150, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_150(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_151, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(151, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_151(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_152, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(152, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_152(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_153, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(153, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_153(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_154, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(154, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_154(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_155, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(155, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_155(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_156, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(156, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_156(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_157, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(157, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_157(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_158, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(158, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_158(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_159, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(159, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_159(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_160, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(160, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_160(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_161, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(161, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_161(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_162, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(162, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_162(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_163, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(163, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_163(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_164, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(164, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_164(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_165, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(165, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_165(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_166, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(166, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_166(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_167, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(167, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_167(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_168, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(168, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_168(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_169, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(169, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_169(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_170, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(170, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_170(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_171, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(171, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_171(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_172, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(172, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_172(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_173, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(173, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_173(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_174, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(174, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_174(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_175, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(175, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_175(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_176, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(176, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_176(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_177, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(177, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_177(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_178, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(178, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_178(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_179, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(179, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_179(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_180, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(180, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_180(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_181, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(181, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_181(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_182, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(182, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_182(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_183, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(183, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_183(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_184, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(184, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_184(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_185, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(185, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_185(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_186, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(186, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_186(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_187, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(187, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_187(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_188, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(188, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_188(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_189, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(189, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_189(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_190, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(190, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_190(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_191, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(191, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_191(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_192, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(192, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_192(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_193, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(193, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_193(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_194, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(194, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_194(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_195, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(195, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_195(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_196, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(196, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_196(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_197, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(197, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_197(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_198, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(198, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_198(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_199, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(199, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_199(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_200, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(200, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_200(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_201, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(201, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_201(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_202, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(202, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_202(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_203, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(203, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_203(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_204, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(204, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_204(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_205, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(205, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_205(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_206, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(206, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_206(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_207, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(207, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_207(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_208, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(208, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_208(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_209, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(209, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_209(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_210, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(210, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_210(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_211, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(211, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_211(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_212, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(212, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_212(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_213, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(213, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_213(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_214, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(214, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_214(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_215, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(215, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_215(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_216, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(216, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_216(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_217, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(217, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_217(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_218, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(218, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_218(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_219, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(219, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_219(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_220, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(220, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_220(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_221, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(221, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_221(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_222, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(222, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_222(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_223, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(223, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_223(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_224, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(224, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_224(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_225, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(225, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_225(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_226, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(226, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_226(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_227, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(227, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_227(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_228, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(228, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_228(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_229, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(229, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_229(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_230, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(230, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_230(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_231, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(231, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_231(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_232, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(232, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_232(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_233, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(233, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_233(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_234, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(234, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_234(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_235, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(235, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_235(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_236, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(236, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_236(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_237, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(237, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_237(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_238, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(238, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_238(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_239, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(239, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_239(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_240, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(240, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_240(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_241, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(241, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_241(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_242, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(242, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_242(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_243, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(243, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_243(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_244, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(244, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_244(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_245, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(245, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_245(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_246, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(246, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_246(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_247, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(247, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_247(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_248, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(248, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_248(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_249, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(249, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_249(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_250, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(250, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_250(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_251, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(251, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_251(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_252, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(252, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_252(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_253, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(253, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_253(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_254, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(254, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_254(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_255, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(255, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_255(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_256, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(256, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_256(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_257, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op(257, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
 # else
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_1(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_2, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(2, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_2(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_3, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(3, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_3(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_4, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(4, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_4(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_5, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(5, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_5(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_6, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(6, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_6(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_7, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(7, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_7(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_8, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(8, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_8(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_9, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(9, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_9(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_10, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(10, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_10(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_11, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(11, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_11(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_12, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(12, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_12(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_13, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(13, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_13(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_14, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(14, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_14(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_15, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(15, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_15(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_16, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(16, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_16(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_17, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(17, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_17(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_18, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(18, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_18(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_19, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(19, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_19(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_20, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(20, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_20(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_21, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(21, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_21(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_22, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(22, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_22(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_23, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(23, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_23(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_24, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(24, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_24(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_25, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(25, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_25(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_26, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(26, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_26(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_27, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(27, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_27(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_28, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(28, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_28(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_29, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(29, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_29(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_30, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(30, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_30(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_31, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(31, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_31(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_32, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(32, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_32(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_33, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(33, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_33(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_34, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(34, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_34(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_35, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(35, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_35(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_36, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(36, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_36(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_37, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(37, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_37(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_38, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(38, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_38(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_39, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(39, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_39(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_40, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(40, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_40(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_41, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(41, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_41(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_42, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(42, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_42(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_43, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(43, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_43(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_44, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(44, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_44(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_45, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(45, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_45(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_46, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(46, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_46(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_47, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(47, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_47(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_48, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(48, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_48(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_49, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(49, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_49(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_50, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(50, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_50(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_51, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(51, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_51(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_52, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(52, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_52(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_53, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(53, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_53(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_54, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(54, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_54(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_55, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(55, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_55(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_56, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(56, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_56(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_57, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(57, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_57(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_58, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(58, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_58(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_59, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(59, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_59(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_60, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(60, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_60(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_61, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(61, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_61(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_62, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(62, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_62(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_63, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(63, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_63(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_64, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(64, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_64(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_65, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(65, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_65(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_66, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(66, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_66(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_67, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(67, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_67(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_68, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(68, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_68(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_69, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(69, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_69(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_70, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(70, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_70(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_71, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(71, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_71(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_72, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(72, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_72(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_73, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(73, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_73(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_74, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(74, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_74(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_75, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(75, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_75(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_76, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(76, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_76(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_77, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(77, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_77(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_78, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(78, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_78(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_79, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(79, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_79(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_80, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(80, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_80(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_81, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(81, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_81(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_82, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(82, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_82(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_83, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(83, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_83(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_84, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(84, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_84(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_85, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(85, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_85(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_86, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(86, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_86(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_87, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(87, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_87(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_88, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(88, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_88(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_89, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(89, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_89(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_90, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(90, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_90(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_91, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(91, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_91(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_92, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(92, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_92(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_93, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(93, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_93(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_94, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(94, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_94(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_95, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(95, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_95(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_96, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(96, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_96(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_97, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(97, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_97(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_98, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(98, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_98(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_99, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(99, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_99(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_100, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(100, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_100(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_101, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(101, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_101(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_102, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(102, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_102(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_103, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(103, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_103(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_104, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(104, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_104(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_105, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(105, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_105(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_106, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(106, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_106(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_107, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(107, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_107(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_108, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(108, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_108(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_109, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(109, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_109(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_110, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(110, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_110(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_111, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(111, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_111(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_112, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(112, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_112(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_113, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(113, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_113(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_114, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(114, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_114(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_115, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(115, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_115(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_116, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(116, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_116(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_117, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(117, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_117(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_118, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(118, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_118(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_119, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(119, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_119(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_120, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(120, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_120(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_121, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(121, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_121(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_122, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(122, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_122(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_123, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(123, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_123(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_124, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(124, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_124(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_125, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(125, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_125(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_126, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(126, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_126(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_127, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(127, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_127(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_128, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(128, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_128(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_129, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(129, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_129(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_130, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(130, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_130(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_131, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(131, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_131(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_132, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(132, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_132(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_133, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(133, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_133(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_134, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(134, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_134(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_135, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(135, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_135(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_136, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(136, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_136(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_137, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(137, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_137(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_138, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(138, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_138(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_139, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(139, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_139(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_140, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(140, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_140(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_141, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(141, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_141(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_142, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(142, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_142(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_143, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(143, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_143(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_144, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(144, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_144(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_145, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(145, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_145(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_146, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(146, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_146(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_147, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(147, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_147(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_148, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(148, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_148(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_149, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(149, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_149(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_150, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(150, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_150(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_151, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(151, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_151(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_152, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(152, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_152(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_153, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(153, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_153(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_154, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(154, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_154(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_155, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(155, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_155(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_156, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(156, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_156(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_157, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(157, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_157(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_158, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(158, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_158(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_159, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(159, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_159(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_160, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(160, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_160(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_161, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(161, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_161(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_162, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(162, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_162(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_163, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(163, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_163(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_164, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(164, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_164(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_165, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(165, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_165(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_166, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(166, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_166(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_167, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(167, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_167(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_168, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(168, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_168(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_169, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(169, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_169(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_170, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(170, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_170(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_171, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(171, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_171(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_172, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(172, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_172(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_173, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(173, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_173(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_174, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(174, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_174(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_175, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(175, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_175(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_176, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(176, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_176(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_177, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(177, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_177(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_178, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(178, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_178(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_179, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(179, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_179(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_180, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(180, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_180(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_181, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(181, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_181(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_182, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(182, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_182(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_183, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(183, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_183(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_184, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(184, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_184(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_185, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(185, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_185(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_186, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(186, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_186(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_187, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(187, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_187(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_188, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(188, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_188(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_189, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(189, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_189(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_190, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(190, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_190(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_191, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(191, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_191(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_192, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(192, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_192(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_193, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(193, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_193(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_194, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(194, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_194(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_195, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(195, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_195(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_196, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(196, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_196(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_197, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(197, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_197(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_198, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(198, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_198(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_199, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(199, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_199(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_200, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(200, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_200(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_201, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(201, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_201(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_202, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(202, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_202(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_203, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(203, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_203(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_204, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(204, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_204(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_205, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(205, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_205(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_206, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(206, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_206(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_207, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(207, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_207(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_208, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(208, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_208(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_209, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(209, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_209(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_210, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(210, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_210(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_211, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(211, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_211(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_212, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(212, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_212(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_213, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(213, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_213(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_214, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(214, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_214(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_215, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(215, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_215(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_216, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(216, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_216(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_217, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(217, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_217(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_218, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(218, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_218(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_219, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(219, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_219(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_220, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(220, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_220(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_221, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(221, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_221(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_222, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(222, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_222(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_223, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(223, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_223(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_224, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(224, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_224(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_225, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(225, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_225(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_226, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(226, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_226(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_227, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(227, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_227(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_228, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(228, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_228(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_229, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(229, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_229(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_230, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(230, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_230(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_231, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(231, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_231(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_232, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(232, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_232(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_233, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(233, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_233(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_234, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(234, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_234(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_235, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(235, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_235(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_236, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(236, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_236(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_237, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(237, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_237(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_238, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(238, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_238(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_239, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(239, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_239(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_240, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(240, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_240(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_241, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(241, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_241(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_242, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(242, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_242(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_243, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(243, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_243(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_244, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(244, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_244(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_245, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(245, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_245(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_246, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(246, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_246(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_247, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(247, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_247(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_248, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(248, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_248(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_249, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(249, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_249(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_250, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(250, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_250(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_251, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(251, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_251(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_252, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(252, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_252(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_253, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(253, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_253(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_254, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(254, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_254(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_255, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(255, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_255(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_256, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(256, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-#    define BOOST_PP_SEQ_FOLD_LEFT_I_256(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_257, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(257, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_1(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_2, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(2, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_2(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_3, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(3, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_3(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_4, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(4, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_4(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_5, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(5, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_5(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_6, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(6, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_6(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_7, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(7, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_7(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_8, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(8, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_8(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_9, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(9, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_9(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_10, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(10, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_10(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_11, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(11, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_11(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_12, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(12, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_12(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_13, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(13, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_13(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_14, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(14, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_14(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_15, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(15, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_15(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_16, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(16, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_16(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_17, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(17, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_17(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_18, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(18, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_18(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_19, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(19, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_19(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_20, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(20, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_20(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_21, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(21, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_21(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_22, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(22, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_22(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_23, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(23, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_23(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_24, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(24, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_24(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_25, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(25, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_25(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_26, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(26, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_26(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_27, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(27, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_27(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_28, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(28, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_28(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_29, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(29, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_29(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_30, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(30, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_30(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_31, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(31, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_31(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_32, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(32, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_32(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_33, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(33, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_33(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_34, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(34, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_34(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_35, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(35, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_35(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_36, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(36, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_36(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_37, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(37, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_37(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_38, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(38, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_38(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_39, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(39, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_39(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_40, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(40, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_40(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_41, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(41, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_41(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_42, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(42, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_42(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_43, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(43, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_43(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_44, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(44, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_44(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_45, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(45, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_45(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_46, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(46, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_46(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_47, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(47, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_47(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_48, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(48, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_48(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_49, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(49, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_49(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_50, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(50, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_50(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_51, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(51, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_51(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_52, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(52, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_52(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_53, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(53, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_53(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_54, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(54, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_54(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_55, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(55, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_55(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_56, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(56, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_56(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_57, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(57, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_57(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_58, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(58, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_58(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_59, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(59, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_59(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_60, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(60, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_60(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_61, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(61, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_61(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_62, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(62, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_62(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_63, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(63, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_63(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_64, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(64, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_64(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_65, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(65, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_65(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_66, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(66, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_66(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_67, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(67, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_67(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_68, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(68, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_68(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_69, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(69, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_69(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_70, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(70, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_70(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_71, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(71, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_71(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_72, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(72, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_72(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_73, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(73, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_73(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_74, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(74, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_74(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_75, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(75, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_75(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_76, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(76, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_76(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_77, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(77, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_77(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_78, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(78, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_78(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_79, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(79, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_79(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_80, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(80, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_80(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_81, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(81, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_81(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_82, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(82, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_82(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_83, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(83, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_83(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_84, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(84, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_84(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_85, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(85, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_85(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_86, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(86, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_86(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_87, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(87, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_87(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_88, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(88, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_88(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_89, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(89, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_89(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_90, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(90, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_90(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_91, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(91, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_91(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_92, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(92, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_92(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_93, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(93, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_93(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_94, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(94, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_94(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_95, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(95, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_95(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_96, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(96, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_96(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_97, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(97, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_97(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_98, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(98, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_98(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_99, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(99, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_99(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_100, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(100, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_100(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_101, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(101, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_101(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_102, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(102, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_102(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_103, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(103, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_103(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_104, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(104, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_104(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_105, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(105, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_105(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_106, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(106, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_106(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_107, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(107, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_107(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_108, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(108, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_108(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_109, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(109, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_109(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_110, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(110, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_110(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_111, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(111, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_111(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_112, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(112, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_112(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_113, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(113, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_113(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_114, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(114, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_114(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_115, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(115, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_115(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_116, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(116, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_116(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_117, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(117, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_117(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_118, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(118, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_118(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_119, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(119, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_119(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_120, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(120, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_120(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_121, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(121, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_121(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_122, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(122, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_122(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_123, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(123, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_123(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_124, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(124, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_124(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_125, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(125, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_125(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_126, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(126, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_126(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_127, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(127, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_127(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_128, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(128, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_128(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_129, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(129, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_129(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_130, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(130, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_130(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_131, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(131, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_131(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_132, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(132, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_132(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_133, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(133, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_133(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_134, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(134, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_134(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_135, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(135, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_135(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_136, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(136, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_136(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_137, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(137, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_137(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_138, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(138, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_138(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_139, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(139, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_139(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_140, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(140, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_140(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_141, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(141, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_141(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_142, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(142, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_142(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_143, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(143, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_143(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_144, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(144, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_144(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_145, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(145, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_145(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_146, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(146, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_146(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_147, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(147, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_147(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_148, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(148, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_148(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_149, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(149, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_149(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_150, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(150, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_150(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_151, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(151, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_151(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_152, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(152, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_152(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_153, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(153, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_153(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_154, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(154, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_154(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_155, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(155, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_155(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_156, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(156, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_156(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_157, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(157, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_157(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_158, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(158, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_158(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_159, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(159, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_159(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_160, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(160, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_160(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_161, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(161, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_161(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_162, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(162, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_162(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_163, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(163, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_163(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_164, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(164, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_164(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_165, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(165, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_165(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_166, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(166, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_166(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_167, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(167, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_167(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_168, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(168, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_168(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_169, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(169, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_169(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_170, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(170, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_170(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_171, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(171, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_171(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_172, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(172, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_172(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_173, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(173, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_173(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_174, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(174, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_174(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_175, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(175, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_175(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_176, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(176, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_176(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_177, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(177, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_177(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_178, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(178, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_178(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_179, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(179, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_179(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_180, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(180, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_180(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_181, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(181, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_181(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_182, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(182, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_182(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_183, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(183, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_183(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_184, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(184, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_184(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_185, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(185, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_185(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_186, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(186, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_186(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_187, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(187, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_187(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_188, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(188, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_188(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_189, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(189, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_189(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_190, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(190, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_190(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_191, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(191, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_191(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_192, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(192, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_192(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_193, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(193, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_193(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_194, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(194, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_194(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_195, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(195, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_195(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_196, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(196, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_196(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_197, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(197, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_197(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_198, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(198, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_198(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_199, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(199, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_199(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_200, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(200, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_200(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_201, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(201, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_201(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_202, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(202, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_202(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_203, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(203, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_203(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_204, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(204, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_204(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_205, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(205, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_205(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_206, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(206, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_206(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_207, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(207, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_207(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_208, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(208, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_208(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_209, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(209, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_209(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_210, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(210, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_210(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_211, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(211, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_211(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_212, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(212, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_212(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_213, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(213, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_213(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_214, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(214, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_214(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_215, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(215, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_215(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_216, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(216, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_216(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_217, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(217, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_217(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_218, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(218, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_218(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_219, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(219, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_219(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_220, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(220, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_220(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_221, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(221, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_221(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_222, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(222, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_222(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_223, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(223, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_223(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_224, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(224, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_224(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_225, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(225, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_225(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_226, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(226, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_226(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_227, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(227, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_227(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_228, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(228, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_228(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_229, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(229, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_229(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_230, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(230, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_230(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_231, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(231, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_231(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_232, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(232, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_232(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_233, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(233, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_233(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_234, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(234, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_234(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_235, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(235, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_235(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_236, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(236, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_236(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_237, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(237, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_237(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_238, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(238, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_238(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_239, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(239, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_239(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_240, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(240, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_240(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_241, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(241, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_241(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_242, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(242, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_242(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_243, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(243, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_243(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_244, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(244, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_244(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_245, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(245, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_245(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_246, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(246, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_246(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_247, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(247, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_247(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_248, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(248, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_248(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_249, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(249, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_249(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_250, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(250, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_250(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_251, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(251, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_251(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_252, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(252, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_252(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_253, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(253, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_253(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_254, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(254, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_254(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_255, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(255, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_255(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_256, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(256, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
+#    define NDNBOOST_PP_SEQ_FOLD_LEFT_I_256(op, st, ss, sz) NDNBOOST_PP_IF(NDNBOOST_PP_DEC(sz), NDNBOOST_PP_SEQ_FOLD_LEFT_I_257, NDNBOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(257, st, NDNBOOST_PP_SEQ_HEAD(ss)), NDNBOOST_PP_SEQ_TAIL(ss), NDNBOOST_PP_DEC(sz))
 # endif
 #
 # endif
diff --git a/include/ndnboost/preprocessor/seq/for_each.hpp b/include/ndnboost/preprocessor/seq/for_each.hpp
index 02a082a..24df067 100644
--- a/include/ndnboost/preprocessor/seq/for_each.hpp
+++ b/include/ndnboost/preprocessor/seq/for_each.hpp
@@ -9,8 +9,8 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_SEQ_FOR_EACH_HPP
-# define BOOST_PREPROCESSOR_SEQ_FOR_EACH_HPP
+# ifndef NDNBOOST_PREPROCESSOR_SEQ_FOR_EACH_HPP
+# define NDNBOOST_PREPROCESSOR_SEQ_FOR_EACH_HPP
 #
 # include <ndnboost/preprocessor/arithmetic/dec.hpp>
 # include <ndnboost/preprocessor/config/config.hpp>
@@ -20,41 +20,41 @@
 # include <ndnboost/preprocessor/tuple/elem.hpp>
 # include <ndnboost/preprocessor/tuple/rem.hpp>
 #
-# /* BOOST_PP_SEQ_FOR_EACH */
+# /* NDNBOOST_PP_SEQ_FOR_EACH */
 #
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_SEQ_FOR_EACH(macro, data, seq) BOOST_PP_FOR((macro, data, seq (nil)), BOOST_PP_SEQ_FOR_EACH_P, BOOST_PP_SEQ_FOR_EACH_O, BOOST_PP_SEQ_FOR_EACH_M)
+# if ~NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_EDG()
+#    define NDNBOOST_PP_SEQ_FOR_EACH(macro, data, seq) NDNBOOST_PP_FOR((macro, data, seq (nil)), NDNBOOST_PP_SEQ_FOR_EACH_P, NDNBOOST_PP_SEQ_FOR_EACH_O, NDNBOOST_PP_SEQ_FOR_EACH_M)
 # else
-#    define BOOST_PP_SEQ_FOR_EACH(macro, data, seq) BOOST_PP_SEQ_FOR_EACH_D(macro, data, seq)
-#    define BOOST_PP_SEQ_FOR_EACH_D(macro, data, seq) BOOST_PP_FOR((macro, data, seq (nil)), BOOST_PP_SEQ_FOR_EACH_P, BOOST_PP_SEQ_FOR_EACH_O, BOOST_PP_SEQ_FOR_EACH_M)
+#    define NDNBOOST_PP_SEQ_FOR_EACH(macro, data, seq) NDNBOOST_PP_SEQ_FOR_EACH_D(macro, data, seq)
+#    define NDNBOOST_PP_SEQ_FOR_EACH_D(macro, data, seq) NDNBOOST_PP_FOR((macro, data, seq (nil)), NDNBOOST_PP_SEQ_FOR_EACH_P, NDNBOOST_PP_SEQ_FOR_EACH_O, NDNBOOST_PP_SEQ_FOR_EACH_M)
 # endif
 #
-# define BOOST_PP_SEQ_FOR_EACH_P(r, x) BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(BOOST_PP_TUPLE_ELEM(3, 2, x)))
+# define NDNBOOST_PP_SEQ_FOR_EACH_P(r, x) NDNBOOST_PP_DEC(NDNBOOST_PP_SEQ_SIZE(NDNBOOST_PP_TUPLE_ELEM(3, 2, x)))
 #
-# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT()
-#    define BOOST_PP_SEQ_FOR_EACH_O(r, x) BOOST_PP_SEQ_FOR_EACH_O_I x
+# if NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_STRICT()
+#    define NDNBOOST_PP_SEQ_FOR_EACH_O(r, x) NDNBOOST_PP_SEQ_FOR_EACH_O_I x
 # else
-#    define BOOST_PP_SEQ_FOR_EACH_O(r, x) BOOST_PP_SEQ_FOR_EACH_O_I(BOOST_PP_TUPLE_ELEM(3, 0, x), BOOST_PP_TUPLE_ELEM(3, 1, x), BOOST_PP_TUPLE_ELEM(3, 2, x))
+#    define NDNBOOST_PP_SEQ_FOR_EACH_O(r, x) NDNBOOST_PP_SEQ_FOR_EACH_O_I(NDNBOOST_PP_TUPLE_ELEM(3, 0, x), NDNBOOST_PP_TUPLE_ELEM(3, 1, x), NDNBOOST_PP_TUPLE_ELEM(3, 2, x))
 # endif
 #
-# define BOOST_PP_SEQ_FOR_EACH_O_I(macro, data, seq) (macro, data, BOOST_PP_SEQ_TAIL(seq))
+# define NDNBOOST_PP_SEQ_FOR_EACH_O_I(macro, data, seq) (macro, data, NDNBOOST_PP_SEQ_TAIL(seq))
 #
-# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT()
-#    define BOOST_PP_SEQ_FOR_EACH_M(r, x) BOOST_PP_SEQ_FOR_EACH_M_IM(r, BOOST_PP_TUPLE_REM_3 x)
-#    define BOOST_PP_SEQ_FOR_EACH_M_IM(r, im) BOOST_PP_SEQ_FOR_EACH_M_I(r, im)
+# if NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_STRICT()
+#    define NDNBOOST_PP_SEQ_FOR_EACH_M(r, x) NDNBOOST_PP_SEQ_FOR_EACH_M_IM(r, NDNBOOST_PP_TUPLE_REM_3 x)
+#    define NDNBOOST_PP_SEQ_FOR_EACH_M_IM(r, im) NDNBOOST_PP_SEQ_FOR_EACH_M_I(r, im)
 # else
-#    define BOOST_PP_SEQ_FOR_EACH_M(r, x) BOOST_PP_SEQ_FOR_EACH_M_I(r, BOOST_PP_TUPLE_ELEM(3, 0, x), BOOST_PP_TUPLE_ELEM(3, 1, x), BOOST_PP_TUPLE_ELEM(3, 2, x))
+#    define NDNBOOST_PP_SEQ_FOR_EACH_M(r, x) NDNBOOST_PP_SEQ_FOR_EACH_M_I(r, NDNBOOST_PP_TUPLE_ELEM(3, 0, x), NDNBOOST_PP_TUPLE_ELEM(3, 1, x), NDNBOOST_PP_TUPLE_ELEM(3, 2, x))
 # endif
 #
-# define BOOST_PP_SEQ_FOR_EACH_M_I(r, macro, data, seq) macro(r, data, BOOST_PP_SEQ_HEAD(seq))
+# define NDNBOOST_PP_SEQ_FOR_EACH_M_I(r, macro, data, seq) macro(r, data, NDNBOOST_PP_SEQ_HEAD(seq))
 #
-# /* BOOST_PP_SEQ_FOR_EACH_R */
+# /* NDNBOOST_PP_SEQ_FOR_EACH_R */
 #
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_SEQ_FOR_EACH_R(r, macro, data, seq) BOOST_PP_FOR_ ## r((macro, data, seq (nil)), BOOST_PP_SEQ_FOR_EACH_P, BOOST_PP_SEQ_FOR_EACH_O, BOOST_PP_SEQ_FOR_EACH_M)
+# if ~NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_EDG()
+#    define NDNBOOST_PP_SEQ_FOR_EACH_R(r, macro, data, seq) NDNBOOST_PP_FOR_ ## r((macro, data, seq (nil)), NDNBOOST_PP_SEQ_FOR_EACH_P, NDNBOOST_PP_SEQ_FOR_EACH_O, NDNBOOST_PP_SEQ_FOR_EACH_M)
 # else
-#    define BOOST_PP_SEQ_FOR_EACH_R(r, macro, data, seq) BOOST_PP_SEQ_FOR_EACH_R_I(r, macro, data, seq)
-#    define BOOST_PP_SEQ_FOR_EACH_R_I(r, macro, data, seq) BOOST_PP_FOR_ ## r((macro, data, seq (nil)), BOOST_PP_SEQ_FOR_EACH_P, BOOST_PP_SEQ_FOR_EACH_O, BOOST_PP_SEQ_FOR_EACH_M)
+#    define NDNBOOST_PP_SEQ_FOR_EACH_R(r, macro, data, seq) NDNBOOST_PP_SEQ_FOR_EACH_R_I(r, macro, data, seq)
+#    define NDNBOOST_PP_SEQ_FOR_EACH_R_I(r, macro, data, seq) NDNBOOST_PP_FOR_ ## r((macro, data, seq (nil)), NDNBOOST_PP_SEQ_FOR_EACH_P, NDNBOOST_PP_SEQ_FOR_EACH_O, NDNBOOST_PP_SEQ_FOR_EACH_M)
 # endif
 #
 # endif
diff --git a/include/ndnboost/preprocessor/seq/for_each_i.hpp b/include/ndnboost/preprocessor/seq/for_each_i.hpp
index 1b36baa..cc1b812 100644
--- a/include/ndnboost/preprocessor/seq/for_each_i.hpp
+++ b/include/ndnboost/preprocessor/seq/for_each_i.hpp
@@ -9,8 +9,8 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_SEQ_FOR_EACH_I_HPP
-# define BOOST_PREPROCESSOR_SEQ_FOR_EACH_I_HPP
+# ifndef NDNBOOST_PREPROCESSOR_SEQ_FOR_EACH_I_HPP
+# define NDNBOOST_PREPROCESSOR_SEQ_FOR_EACH_I_HPP
 #
 # include <ndnboost/preprocessor/arithmetic/dec.hpp>
 # include <ndnboost/preprocessor/arithmetic/inc.hpp>
@@ -21,41 +21,41 @@
 # include <ndnboost/preprocessor/tuple/elem.hpp>
 # include <ndnboost/preprocessor/tuple/rem.hpp>
 #
-# /* BOOST_PP_SEQ_FOR_EACH_I */
+# /* NDNBOOST_PP_SEQ_FOR_EACH_I */
 #
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_SEQ_FOR_EACH_I(macro, data, seq) BOOST_PP_FOR((macro, data, seq (nil), 0), BOOST_PP_SEQ_FOR_EACH_I_P, BOOST_PP_SEQ_FOR_EACH_I_O, BOOST_PP_SEQ_FOR_EACH_I_M)
+# if ~NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_EDG()
+#    define NDNBOOST_PP_SEQ_FOR_EACH_I(macro, data, seq) NDNBOOST_PP_FOR((macro, data, seq (nil), 0), NDNBOOST_PP_SEQ_FOR_EACH_I_P, NDNBOOST_PP_SEQ_FOR_EACH_I_O, NDNBOOST_PP_SEQ_FOR_EACH_I_M)
 # else
-#    define BOOST_PP_SEQ_FOR_EACH_I(macro, data, seq) BOOST_PP_SEQ_FOR_EACH_I_I(macro, data, seq)
-#    define BOOST_PP_SEQ_FOR_EACH_I_I(macro, data, seq) BOOST_PP_FOR((macro, data, seq (nil), 0), BOOST_PP_SEQ_FOR_EACH_I_P, BOOST_PP_SEQ_FOR_EACH_I_O, BOOST_PP_SEQ_FOR_EACH_I_M)
+#    define NDNBOOST_PP_SEQ_FOR_EACH_I(macro, data, seq) NDNBOOST_PP_SEQ_FOR_EACH_I_I(macro, data, seq)
+#    define NDNBOOST_PP_SEQ_FOR_EACH_I_I(macro, data, seq) NDNBOOST_PP_FOR((macro, data, seq (nil), 0), NDNBOOST_PP_SEQ_FOR_EACH_I_P, NDNBOOST_PP_SEQ_FOR_EACH_I_O, NDNBOOST_PP_SEQ_FOR_EACH_I_M)
 # endif
 #
-# define BOOST_PP_SEQ_FOR_EACH_I_P(r, x) BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(BOOST_PP_TUPLE_ELEM(4, 2, x)))
+# define NDNBOOST_PP_SEQ_FOR_EACH_I_P(r, x) NDNBOOST_PP_DEC(NDNBOOST_PP_SEQ_SIZE(NDNBOOST_PP_TUPLE_ELEM(4, 2, x)))
 #
-# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT()
-#    define BOOST_PP_SEQ_FOR_EACH_I_O(r, x) BOOST_PP_SEQ_FOR_EACH_I_O_I x
+# if NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_STRICT()
+#    define NDNBOOST_PP_SEQ_FOR_EACH_I_O(r, x) NDNBOOST_PP_SEQ_FOR_EACH_I_O_I x
 # else
-#    define BOOST_PP_SEQ_FOR_EACH_I_O(r, x) BOOST_PP_SEQ_FOR_EACH_I_O_I(BOOST_PP_TUPLE_ELEM(4, 0, x), BOOST_PP_TUPLE_ELEM(4, 1, x), BOOST_PP_TUPLE_ELEM(4, 2, x), BOOST_PP_TUPLE_ELEM(4, 3, x))
+#    define NDNBOOST_PP_SEQ_FOR_EACH_I_O(r, x) NDNBOOST_PP_SEQ_FOR_EACH_I_O_I(NDNBOOST_PP_TUPLE_ELEM(4, 0, x), NDNBOOST_PP_TUPLE_ELEM(4, 1, x), NDNBOOST_PP_TUPLE_ELEM(4, 2, x), NDNBOOST_PP_TUPLE_ELEM(4, 3, x))
 # endif
 #
-# define BOOST_PP_SEQ_FOR_EACH_I_O_I(macro, data, seq, i) (macro, data, BOOST_PP_SEQ_TAIL(seq), BOOST_PP_INC(i))
+# define NDNBOOST_PP_SEQ_FOR_EACH_I_O_I(macro, data, seq, i) (macro, data, NDNBOOST_PP_SEQ_TAIL(seq), NDNBOOST_PP_INC(i))
 #
-# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT()
-#    define BOOST_PP_SEQ_FOR_EACH_I_M(r, x) BOOST_PP_SEQ_FOR_EACH_I_M_IM(r, BOOST_PP_TUPLE_REM_4 x)
-#    define BOOST_PP_SEQ_FOR_EACH_I_M_IM(r, im) BOOST_PP_SEQ_FOR_EACH_I_M_I(r, im)
+# if NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_STRICT()
+#    define NDNBOOST_PP_SEQ_FOR_EACH_I_M(r, x) NDNBOOST_PP_SEQ_FOR_EACH_I_M_IM(r, NDNBOOST_PP_TUPLE_REM_4 x)
+#    define NDNBOOST_PP_SEQ_FOR_EACH_I_M_IM(r, im) NDNBOOST_PP_SEQ_FOR_EACH_I_M_I(r, im)
 # else
-#    define BOOST_PP_SEQ_FOR_EACH_I_M(r, x) BOOST_PP_SEQ_FOR_EACH_I_M_I(r, BOOST_PP_TUPLE_ELEM(4, 0, x), BOOST_PP_TUPLE_ELEM(4, 1, x), BOOST_PP_TUPLE_ELEM(4, 2, x), BOOST_PP_TUPLE_ELEM(4, 3, x))
+#    define NDNBOOST_PP_SEQ_FOR_EACH_I_M(r, x) NDNBOOST_PP_SEQ_FOR_EACH_I_M_I(r, NDNBOOST_PP_TUPLE_ELEM(4, 0, x), NDNBOOST_PP_TUPLE_ELEM(4, 1, x), NDNBOOST_PP_TUPLE_ELEM(4, 2, x), NDNBOOST_PP_TUPLE_ELEM(4, 3, x))
 # endif
 #
-# define BOOST_PP_SEQ_FOR_EACH_I_M_I(r, macro, data, seq, i) macro(r, data, i, BOOST_PP_SEQ_HEAD(seq))
+# define NDNBOOST_PP_SEQ_FOR_EACH_I_M_I(r, macro, data, seq, i) macro(r, data, i, NDNBOOST_PP_SEQ_HEAD(seq))
 #
-# /* BOOST_PP_SEQ_FOR_EACH_I_R */
+# /* NDNBOOST_PP_SEQ_FOR_EACH_I_R */
 #
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_SEQ_FOR_EACH_I_R(r, macro, data, seq) BOOST_PP_FOR_ ## r((macro, data, seq (nil), 0), BOOST_PP_SEQ_FOR_EACH_I_P, BOOST_PP_SEQ_FOR_EACH_I_O, BOOST_PP_SEQ_FOR_EACH_I_M)
+# if ~NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_EDG()
+#    define NDNBOOST_PP_SEQ_FOR_EACH_I_R(r, macro, data, seq) NDNBOOST_PP_FOR_ ## r((macro, data, seq (nil), 0), NDNBOOST_PP_SEQ_FOR_EACH_I_P, NDNBOOST_PP_SEQ_FOR_EACH_I_O, NDNBOOST_PP_SEQ_FOR_EACH_I_M)
 # else
-#    define BOOST_PP_SEQ_FOR_EACH_I_R(r, macro, data, seq) BOOST_PP_SEQ_FOR_EACH_I_R_I(r, macro, data, seq)
-#    define BOOST_PP_SEQ_FOR_EACH_I_R_I(r, macro, data, seq) BOOST_PP_FOR_ ## r((macro, data, seq (nil), 0), BOOST_PP_SEQ_FOR_EACH_I_P, BOOST_PP_SEQ_FOR_EACH_I_O, BOOST_PP_SEQ_FOR_EACH_I_M)
+#    define NDNBOOST_PP_SEQ_FOR_EACH_I_R(r, macro, data, seq) NDNBOOST_PP_SEQ_FOR_EACH_I_R_I(r, macro, data, seq)
+#    define NDNBOOST_PP_SEQ_FOR_EACH_I_R_I(r, macro, data, seq) NDNBOOST_PP_FOR_ ## r((macro, data, seq (nil), 0), NDNBOOST_PP_SEQ_FOR_EACH_I_P, NDNBOOST_PP_SEQ_FOR_EACH_I_O, NDNBOOST_PP_SEQ_FOR_EACH_I_M)
 # endif
 #
 # endif
diff --git a/include/ndnboost/preprocessor/seq/rest_n.hpp b/include/ndnboost/preprocessor/seq/rest_n.hpp
index 6fd3d84..9350ed3 100644
--- a/include/ndnboost/preprocessor/seq/rest_n.hpp
+++ b/include/ndnboost/preprocessor/seq/rest_n.hpp
@@ -9,8 +9,8 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_SEQ_REST_N_HPP
-# define BOOST_PREPROCESSOR_SEQ_REST_N_HPP
+# ifndef NDNBOOST_PREPROCESSOR_SEQ_REST_N_HPP
+# define NDNBOOST_PREPROCESSOR_SEQ_REST_N_HPP
 #
 # include <ndnboost/preprocessor/arithmetic/inc.hpp>
 # include <ndnboost/preprocessor/config/config.hpp>
@@ -18,13 +18,13 @@
 # include <ndnboost/preprocessor/seq/detail/split.hpp>
 # include <ndnboost/preprocessor/tuple/elem.hpp>
 #
-# /* BOOST_PP_SEQ_REST_N */
+# /* NDNBOOST_PP_SEQ_REST_N */
 #
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_SEQ_REST_N(n, seq) BOOST_PP_TUPLE_ELEM(2, 1, BOOST_PP_SEQ_SPLIT(BOOST_PP_INC(n), (nil) seq BOOST_PP_EMPTY))()
+# if ~NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_EDG()
+#    define NDNBOOST_PP_SEQ_REST_N(n, seq) NDNBOOST_PP_TUPLE_ELEM(2, 1, NDNBOOST_PP_SEQ_SPLIT(NDNBOOST_PP_INC(n), (nil) seq NDNBOOST_PP_EMPTY))()
 # else
-#    define BOOST_PP_SEQ_REST_N(n, seq) BOOST_PP_SEQ_REST_N_I(n, seq)
-#    define BOOST_PP_SEQ_REST_N_I(n, seq) BOOST_PP_TUPLE_ELEM(2, 1, BOOST_PP_SEQ_SPLIT(BOOST_PP_INC(n), (nil) seq BOOST_PP_EMPTY))()
+#    define NDNBOOST_PP_SEQ_REST_N(n, seq) NDNBOOST_PP_SEQ_REST_N_I(n, seq)
+#    define NDNBOOST_PP_SEQ_REST_N_I(n, seq) NDNBOOST_PP_TUPLE_ELEM(2, 1, NDNBOOST_PP_SEQ_SPLIT(NDNBOOST_PP_INC(n), (nil) seq NDNBOOST_PP_EMPTY))()
 # endif
 #
 # endif
diff --git a/include/ndnboost/preprocessor/seq/seq.hpp b/include/ndnboost/preprocessor/seq/seq.hpp
index de65672..3c06fe9 100644
--- a/include/ndnboost/preprocessor/seq/seq.hpp
+++ b/include/ndnboost/preprocessor/seq/seq.hpp
@@ -9,36 +9,36 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_SEQ_SEQ_HPP
-# define BOOST_PREPROCESSOR_SEQ_SEQ_HPP
+# ifndef NDNBOOST_PREPROCESSOR_SEQ_SEQ_HPP
+# define NDNBOOST_PREPROCESSOR_SEQ_SEQ_HPP
 #
 # include <ndnboost/preprocessor/config/config.hpp>
 # include <ndnboost/preprocessor/seq/elem.hpp>
 #
-# /* BOOST_PP_SEQ_HEAD */
+# /* NDNBOOST_PP_SEQ_HEAD */
 #
-# define BOOST_PP_SEQ_HEAD(seq) BOOST_PP_SEQ_ELEM(0, seq)
+# define NDNBOOST_PP_SEQ_HEAD(seq) NDNBOOST_PP_SEQ_ELEM(0, seq)
 #
-# /* BOOST_PP_SEQ_TAIL */
+# /* NDNBOOST_PP_SEQ_TAIL */
 #
-# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-#    define BOOST_PP_SEQ_TAIL(seq) BOOST_PP_SEQ_TAIL_1((seq))
-#    define BOOST_PP_SEQ_TAIL_1(par) BOOST_PP_SEQ_TAIL_2 ## par
-#    define BOOST_PP_SEQ_TAIL_2(seq) BOOST_PP_SEQ_TAIL_I ## seq
-# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()
-#    define BOOST_PP_SEQ_TAIL(seq) BOOST_PP_SEQ_TAIL_ID(BOOST_PP_SEQ_TAIL_I seq)
-#    define BOOST_PP_SEQ_TAIL_ID(id) id
-# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_SEQ_TAIL(seq) BOOST_PP_SEQ_TAIL_D(seq)
-#    define BOOST_PP_SEQ_TAIL_D(seq) BOOST_PP_SEQ_TAIL_I seq
+# if NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_MWCC()
+#    define NDNBOOST_PP_SEQ_TAIL(seq) NDNBOOST_PP_SEQ_TAIL_1((seq))
+#    define NDNBOOST_PP_SEQ_TAIL_1(par) NDNBOOST_PP_SEQ_TAIL_2 ## par
+#    define NDNBOOST_PP_SEQ_TAIL_2(seq) NDNBOOST_PP_SEQ_TAIL_I ## seq
+# elif NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_MSVC()
+#    define NDNBOOST_PP_SEQ_TAIL(seq) NDNBOOST_PP_SEQ_TAIL_ID(NDNBOOST_PP_SEQ_TAIL_I seq)
+#    define NDNBOOST_PP_SEQ_TAIL_ID(id) id
+# elif NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_EDG()
+#    define NDNBOOST_PP_SEQ_TAIL(seq) NDNBOOST_PP_SEQ_TAIL_D(seq)
+#    define NDNBOOST_PP_SEQ_TAIL_D(seq) NDNBOOST_PP_SEQ_TAIL_I seq
 # else
-#    define BOOST_PP_SEQ_TAIL(seq) BOOST_PP_SEQ_TAIL_I seq
+#    define NDNBOOST_PP_SEQ_TAIL(seq) NDNBOOST_PP_SEQ_TAIL_I seq
 # endif
 #
-# define BOOST_PP_SEQ_TAIL_I(x)
+# define NDNBOOST_PP_SEQ_TAIL_I(x)
 #
-# /* BOOST_PP_SEQ_NIL */
+# /* NDNBOOST_PP_SEQ_NIL */
 #
-# define BOOST_PP_SEQ_NIL(x) (x)
+# define NDNBOOST_PP_SEQ_NIL(x) (x)
 #
 # endif
diff --git a/include/ndnboost/preprocessor/seq/size.hpp b/include/ndnboost/preprocessor/seq/size.hpp
index ceb2d12..4834c0d 100644
--- a/include/ndnboost/preprocessor/seq/size.hpp
+++ b/include/ndnboost/preprocessor/seq/size.hpp
@@ -9,539 +9,539 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_SEQ_SIZE_HPP
-# define BOOST_PREPROCESSOR_SEQ_SIZE_HPP
+# ifndef NDNBOOST_PREPROCESSOR_SEQ_SIZE_HPP
+# define NDNBOOST_PREPROCESSOR_SEQ_SIZE_HPP
 #
 # include <ndnboost/preprocessor/cat.hpp>
 # include <ndnboost/preprocessor/config/config.hpp>
 #
-# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-#    define BOOST_PP_SEQ_SIZE(seq) BOOST_PP_SEQ_SIZE_I((seq))
-#    define BOOST_PP_SEQ_SIZE_I(par) BOOST_PP_SEQ_SIZE_II ## par
-#    define BOOST_PP_SEQ_SIZE_II(seq) BOOST_PP_CAT(BOOST_PP_SEQ_SIZE_, BOOST_PP_SEQ_SIZE_0 ## seq)
-# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() || BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()
-#    define BOOST_PP_SEQ_SIZE(seq) BOOST_PP_SEQ_SIZE_I(seq)
-#    define BOOST_PP_SEQ_SIZE_I(seq) BOOST_PP_CAT(BOOST_PP_SEQ_SIZE_, BOOST_PP_SEQ_SIZE_0 seq)
+# if NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_MWCC()
+#    define NDNBOOST_PP_SEQ_SIZE(seq) NDNBOOST_PP_SEQ_SIZE_I((seq))
+#    define NDNBOOST_PP_SEQ_SIZE_I(par) NDNBOOST_PP_SEQ_SIZE_II ## par
+#    define NDNBOOST_PP_SEQ_SIZE_II(seq) NDNBOOST_PP_CAT(NDNBOOST_PP_SEQ_SIZE_, NDNBOOST_PP_SEQ_SIZE_0 ## seq)
+# elif NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_EDG() || NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_MSVC()
+#    define NDNBOOST_PP_SEQ_SIZE(seq) NDNBOOST_PP_SEQ_SIZE_I(seq)
+#    define NDNBOOST_PP_SEQ_SIZE_I(seq) NDNBOOST_PP_CAT(NDNBOOST_PP_SEQ_SIZE_, NDNBOOST_PP_SEQ_SIZE_0 seq)
 # elif defined(__IBMC__) || defined(__IBMCPP__)
-#    define BOOST_PP_SEQ_SIZE(seq) BOOST_PP_CAT(BOOST_PP_SEQ_SIZE_, BOOST_PP_CAT(BOOST_PP_SEQ_SIZE_0, seq))
+#    define NDNBOOST_PP_SEQ_SIZE(seq) NDNBOOST_PP_CAT(NDNBOOST_PP_SEQ_SIZE_, NDNBOOST_PP_CAT(NDNBOOST_PP_SEQ_SIZE_0, seq))
 # else
-#    define BOOST_PP_SEQ_SIZE(seq) BOOST_PP_CAT(BOOST_PP_SEQ_SIZE_, BOOST_PP_SEQ_SIZE_0 seq)
+#    define NDNBOOST_PP_SEQ_SIZE(seq) NDNBOOST_PP_CAT(NDNBOOST_PP_SEQ_SIZE_, NDNBOOST_PP_SEQ_SIZE_0 seq)
 # endif
 #
-# define BOOST_PP_SEQ_SIZE_0(_) BOOST_PP_SEQ_SIZE_1
-# define BOOST_PP_SEQ_SIZE_1(_) BOOST_PP_SEQ_SIZE_2
-# define BOOST_PP_SEQ_SIZE_2(_) BOOST_PP_SEQ_SIZE_3
-# define BOOST_PP_SEQ_SIZE_3(_) BOOST_PP_SEQ_SIZE_4
-# define BOOST_PP_SEQ_SIZE_4(_) BOOST_PP_SEQ_SIZE_5
-# define BOOST_PP_SEQ_SIZE_5(_) BOOST_PP_SEQ_SIZE_6
-# define BOOST_PP_SEQ_SIZE_6(_) BOOST_PP_SEQ_SIZE_7
-# define BOOST_PP_SEQ_SIZE_7(_) BOOST_PP_SEQ_SIZE_8
-# define BOOST_PP_SEQ_SIZE_8(_) BOOST_PP_SEQ_SIZE_9
-# define BOOST_PP_SEQ_SIZE_9(_) BOOST_PP_SEQ_SIZE_10
-# define BOOST_PP_SEQ_SIZE_10(_) BOOST_PP_SEQ_SIZE_11
-# define BOOST_PP_SEQ_SIZE_11(_) BOOST_PP_SEQ_SIZE_12
-# define BOOST_PP_SEQ_SIZE_12(_) BOOST_PP_SEQ_SIZE_13
-# define BOOST_PP_SEQ_SIZE_13(_) BOOST_PP_SEQ_SIZE_14
-# define BOOST_PP_SEQ_SIZE_14(_) BOOST_PP_SEQ_SIZE_15
-# define BOOST_PP_SEQ_SIZE_15(_) BOOST_PP_SEQ_SIZE_16
-# define BOOST_PP_SEQ_SIZE_16(_) BOOST_PP_SEQ_SIZE_17
-# define BOOST_PP_SEQ_SIZE_17(_) BOOST_PP_SEQ_SIZE_18
-# define BOOST_PP_SEQ_SIZE_18(_) BOOST_PP_SEQ_SIZE_19
-# define BOOST_PP_SEQ_SIZE_19(_) BOOST_PP_SEQ_SIZE_20
-# define BOOST_PP_SEQ_SIZE_20(_) BOOST_PP_SEQ_SIZE_21
-# define BOOST_PP_SEQ_SIZE_21(_) BOOST_PP_SEQ_SIZE_22
-# define BOOST_PP_SEQ_SIZE_22(_) BOOST_PP_SEQ_SIZE_23
-# define BOOST_PP_SEQ_SIZE_23(_) BOOST_PP_SEQ_SIZE_24
-# define BOOST_PP_SEQ_SIZE_24(_) BOOST_PP_SEQ_SIZE_25
-# define BOOST_PP_SEQ_SIZE_25(_) BOOST_PP_SEQ_SIZE_26
-# define BOOST_PP_SEQ_SIZE_26(_) BOOST_PP_SEQ_SIZE_27
-# define BOOST_PP_SEQ_SIZE_27(_) BOOST_PP_SEQ_SIZE_28
-# define BOOST_PP_SEQ_SIZE_28(_) BOOST_PP_SEQ_SIZE_29
-# define BOOST_PP_SEQ_SIZE_29(_) BOOST_PP_SEQ_SIZE_30
-# define BOOST_PP_SEQ_SIZE_30(_) BOOST_PP_SEQ_SIZE_31
-# define BOOST_PP_SEQ_SIZE_31(_) BOOST_PP_SEQ_SIZE_32
-# define BOOST_PP_SEQ_SIZE_32(_) BOOST_PP_SEQ_SIZE_33
-# define BOOST_PP_SEQ_SIZE_33(_) BOOST_PP_SEQ_SIZE_34
-# define BOOST_PP_SEQ_SIZE_34(_) BOOST_PP_SEQ_SIZE_35
-# define BOOST_PP_SEQ_SIZE_35(_) BOOST_PP_SEQ_SIZE_36
-# define BOOST_PP_SEQ_SIZE_36(_) BOOST_PP_SEQ_SIZE_37
-# define BOOST_PP_SEQ_SIZE_37(_) BOOST_PP_SEQ_SIZE_38
-# define BOOST_PP_SEQ_SIZE_38(_) BOOST_PP_SEQ_SIZE_39
-# define BOOST_PP_SEQ_SIZE_39(_) BOOST_PP_SEQ_SIZE_40
-# define BOOST_PP_SEQ_SIZE_40(_) BOOST_PP_SEQ_SIZE_41
-# define BOOST_PP_SEQ_SIZE_41(_) BOOST_PP_SEQ_SIZE_42
-# define BOOST_PP_SEQ_SIZE_42(_) BOOST_PP_SEQ_SIZE_43
-# define BOOST_PP_SEQ_SIZE_43(_) BOOST_PP_SEQ_SIZE_44
-# define BOOST_PP_SEQ_SIZE_44(_) BOOST_PP_SEQ_SIZE_45
-# define BOOST_PP_SEQ_SIZE_45(_) BOOST_PP_SEQ_SIZE_46
-# define BOOST_PP_SEQ_SIZE_46(_) BOOST_PP_SEQ_SIZE_47
-# define BOOST_PP_SEQ_SIZE_47(_) BOOST_PP_SEQ_SIZE_48
-# define BOOST_PP_SEQ_SIZE_48(_) BOOST_PP_SEQ_SIZE_49
-# define BOOST_PP_SEQ_SIZE_49(_) BOOST_PP_SEQ_SIZE_50
-# define BOOST_PP_SEQ_SIZE_50(_) BOOST_PP_SEQ_SIZE_51
-# define BOOST_PP_SEQ_SIZE_51(_) BOOST_PP_SEQ_SIZE_52
-# define BOOST_PP_SEQ_SIZE_52(_) BOOST_PP_SEQ_SIZE_53
-# define BOOST_PP_SEQ_SIZE_53(_) BOOST_PP_SEQ_SIZE_54
-# define BOOST_PP_SEQ_SIZE_54(_) BOOST_PP_SEQ_SIZE_55
-# define BOOST_PP_SEQ_SIZE_55(_) BOOST_PP_SEQ_SIZE_56
-# define BOOST_PP_SEQ_SIZE_56(_) BOOST_PP_SEQ_SIZE_57
-# define BOOST_PP_SEQ_SIZE_57(_) BOOST_PP_SEQ_SIZE_58
-# define BOOST_PP_SEQ_SIZE_58(_) BOOST_PP_SEQ_SIZE_59
-# define BOOST_PP_SEQ_SIZE_59(_) BOOST_PP_SEQ_SIZE_60
-# define BOOST_PP_SEQ_SIZE_60(_) BOOST_PP_SEQ_SIZE_61
-# define BOOST_PP_SEQ_SIZE_61(_) BOOST_PP_SEQ_SIZE_62
-# define BOOST_PP_SEQ_SIZE_62(_) BOOST_PP_SEQ_SIZE_63
-# define BOOST_PP_SEQ_SIZE_63(_) BOOST_PP_SEQ_SIZE_64
-# define BOOST_PP_SEQ_SIZE_64(_) BOOST_PP_SEQ_SIZE_65
-# define BOOST_PP_SEQ_SIZE_65(_) BOOST_PP_SEQ_SIZE_66
-# define BOOST_PP_SEQ_SIZE_66(_) BOOST_PP_SEQ_SIZE_67
-# define BOOST_PP_SEQ_SIZE_67(_) BOOST_PP_SEQ_SIZE_68
-# define BOOST_PP_SEQ_SIZE_68(_) BOOST_PP_SEQ_SIZE_69
-# define BOOST_PP_SEQ_SIZE_69(_) BOOST_PP_SEQ_SIZE_70
-# define BOOST_PP_SEQ_SIZE_70(_) BOOST_PP_SEQ_SIZE_71
-# define BOOST_PP_SEQ_SIZE_71(_) BOOST_PP_SEQ_SIZE_72
-# define BOOST_PP_SEQ_SIZE_72(_) BOOST_PP_SEQ_SIZE_73
-# define BOOST_PP_SEQ_SIZE_73(_) BOOST_PP_SEQ_SIZE_74
-# define BOOST_PP_SEQ_SIZE_74(_) BOOST_PP_SEQ_SIZE_75
-# define BOOST_PP_SEQ_SIZE_75(_) BOOST_PP_SEQ_SIZE_76
-# define BOOST_PP_SEQ_SIZE_76(_) BOOST_PP_SEQ_SIZE_77
-# define BOOST_PP_SEQ_SIZE_77(_) BOOST_PP_SEQ_SIZE_78
-# define BOOST_PP_SEQ_SIZE_78(_) BOOST_PP_SEQ_SIZE_79
-# define BOOST_PP_SEQ_SIZE_79(_) BOOST_PP_SEQ_SIZE_80
-# define BOOST_PP_SEQ_SIZE_80(_) BOOST_PP_SEQ_SIZE_81
-# define BOOST_PP_SEQ_SIZE_81(_) BOOST_PP_SEQ_SIZE_82
-# define BOOST_PP_SEQ_SIZE_82(_) BOOST_PP_SEQ_SIZE_83
-# define BOOST_PP_SEQ_SIZE_83(_) BOOST_PP_SEQ_SIZE_84
-# define BOOST_PP_SEQ_SIZE_84(_) BOOST_PP_SEQ_SIZE_85
-# define BOOST_PP_SEQ_SIZE_85(_) BOOST_PP_SEQ_SIZE_86
-# define BOOST_PP_SEQ_SIZE_86(_) BOOST_PP_SEQ_SIZE_87
-# define BOOST_PP_SEQ_SIZE_87(_) BOOST_PP_SEQ_SIZE_88
-# define BOOST_PP_SEQ_SIZE_88(_) BOOST_PP_SEQ_SIZE_89
-# define BOOST_PP_SEQ_SIZE_89(_) BOOST_PP_SEQ_SIZE_90
-# define BOOST_PP_SEQ_SIZE_90(_) BOOST_PP_SEQ_SIZE_91
-# define BOOST_PP_SEQ_SIZE_91(_) BOOST_PP_SEQ_SIZE_92
-# define BOOST_PP_SEQ_SIZE_92(_) BOOST_PP_SEQ_SIZE_93
-# define BOOST_PP_SEQ_SIZE_93(_) BOOST_PP_SEQ_SIZE_94
-# define BOOST_PP_SEQ_SIZE_94(_) BOOST_PP_SEQ_SIZE_95
-# define BOOST_PP_SEQ_SIZE_95(_) BOOST_PP_SEQ_SIZE_96
-# define BOOST_PP_SEQ_SIZE_96(_) BOOST_PP_SEQ_SIZE_97
-# define BOOST_PP_SEQ_SIZE_97(_) BOOST_PP_SEQ_SIZE_98
-# define BOOST_PP_SEQ_SIZE_98(_) BOOST_PP_SEQ_SIZE_99
-# define BOOST_PP_SEQ_SIZE_99(_) BOOST_PP_SEQ_SIZE_100
-# define BOOST_PP_SEQ_SIZE_100(_) BOOST_PP_SEQ_SIZE_101
-# define BOOST_PP_SEQ_SIZE_101(_) BOOST_PP_SEQ_SIZE_102
-# define BOOST_PP_SEQ_SIZE_102(_) BOOST_PP_SEQ_SIZE_103
-# define BOOST_PP_SEQ_SIZE_103(_) BOOST_PP_SEQ_SIZE_104
-# define BOOST_PP_SEQ_SIZE_104(_) BOOST_PP_SEQ_SIZE_105
-# define BOOST_PP_SEQ_SIZE_105(_) BOOST_PP_SEQ_SIZE_106
-# define BOOST_PP_SEQ_SIZE_106(_) BOOST_PP_SEQ_SIZE_107
-# define BOOST_PP_SEQ_SIZE_107(_) BOOST_PP_SEQ_SIZE_108
-# define BOOST_PP_SEQ_SIZE_108(_) BOOST_PP_SEQ_SIZE_109
-# define BOOST_PP_SEQ_SIZE_109(_) BOOST_PP_SEQ_SIZE_110
-# define BOOST_PP_SEQ_SIZE_110(_) BOOST_PP_SEQ_SIZE_111
-# define BOOST_PP_SEQ_SIZE_111(_) BOOST_PP_SEQ_SIZE_112
-# define BOOST_PP_SEQ_SIZE_112(_) BOOST_PP_SEQ_SIZE_113
-# define BOOST_PP_SEQ_SIZE_113(_) BOOST_PP_SEQ_SIZE_114
-# define BOOST_PP_SEQ_SIZE_114(_) BOOST_PP_SEQ_SIZE_115
-# define BOOST_PP_SEQ_SIZE_115(_) BOOST_PP_SEQ_SIZE_116
-# define BOOST_PP_SEQ_SIZE_116(_) BOOST_PP_SEQ_SIZE_117
-# define BOOST_PP_SEQ_SIZE_117(_) BOOST_PP_SEQ_SIZE_118
-# define BOOST_PP_SEQ_SIZE_118(_) BOOST_PP_SEQ_SIZE_119
-# define BOOST_PP_SEQ_SIZE_119(_) BOOST_PP_SEQ_SIZE_120
-# define BOOST_PP_SEQ_SIZE_120(_) BOOST_PP_SEQ_SIZE_121
-# define BOOST_PP_SEQ_SIZE_121(_) BOOST_PP_SEQ_SIZE_122
-# define BOOST_PP_SEQ_SIZE_122(_) BOOST_PP_SEQ_SIZE_123
-# define BOOST_PP_SEQ_SIZE_123(_) BOOST_PP_SEQ_SIZE_124
-# define BOOST_PP_SEQ_SIZE_124(_) BOOST_PP_SEQ_SIZE_125
-# define BOOST_PP_SEQ_SIZE_125(_) BOOST_PP_SEQ_SIZE_126
-# define BOOST_PP_SEQ_SIZE_126(_) BOOST_PP_SEQ_SIZE_127
-# define BOOST_PP_SEQ_SIZE_127(_) BOOST_PP_SEQ_SIZE_128
-# define BOOST_PP_SEQ_SIZE_128(_) BOOST_PP_SEQ_SIZE_129
-# define BOOST_PP_SEQ_SIZE_129(_) BOOST_PP_SEQ_SIZE_130
-# define BOOST_PP_SEQ_SIZE_130(_) BOOST_PP_SEQ_SIZE_131
-# define BOOST_PP_SEQ_SIZE_131(_) BOOST_PP_SEQ_SIZE_132
-# define BOOST_PP_SEQ_SIZE_132(_) BOOST_PP_SEQ_SIZE_133
-# define BOOST_PP_SEQ_SIZE_133(_) BOOST_PP_SEQ_SIZE_134
-# define BOOST_PP_SEQ_SIZE_134(_) BOOST_PP_SEQ_SIZE_135
-# define BOOST_PP_SEQ_SIZE_135(_) BOOST_PP_SEQ_SIZE_136
-# define BOOST_PP_SEQ_SIZE_136(_) BOOST_PP_SEQ_SIZE_137
-# define BOOST_PP_SEQ_SIZE_137(_) BOOST_PP_SEQ_SIZE_138
-# define BOOST_PP_SEQ_SIZE_138(_) BOOST_PP_SEQ_SIZE_139
-# define BOOST_PP_SEQ_SIZE_139(_) BOOST_PP_SEQ_SIZE_140
-# define BOOST_PP_SEQ_SIZE_140(_) BOOST_PP_SEQ_SIZE_141
-# define BOOST_PP_SEQ_SIZE_141(_) BOOST_PP_SEQ_SIZE_142
-# define BOOST_PP_SEQ_SIZE_142(_) BOOST_PP_SEQ_SIZE_143
-# define BOOST_PP_SEQ_SIZE_143(_) BOOST_PP_SEQ_SIZE_144
-# define BOOST_PP_SEQ_SIZE_144(_) BOOST_PP_SEQ_SIZE_145
-# define BOOST_PP_SEQ_SIZE_145(_) BOOST_PP_SEQ_SIZE_146
-# define BOOST_PP_SEQ_SIZE_146(_) BOOST_PP_SEQ_SIZE_147
-# define BOOST_PP_SEQ_SIZE_147(_) BOOST_PP_SEQ_SIZE_148
-# define BOOST_PP_SEQ_SIZE_148(_) BOOST_PP_SEQ_SIZE_149
-# define BOOST_PP_SEQ_SIZE_149(_) BOOST_PP_SEQ_SIZE_150
-# define BOOST_PP_SEQ_SIZE_150(_) BOOST_PP_SEQ_SIZE_151
-# define BOOST_PP_SEQ_SIZE_151(_) BOOST_PP_SEQ_SIZE_152
-# define BOOST_PP_SEQ_SIZE_152(_) BOOST_PP_SEQ_SIZE_153
-# define BOOST_PP_SEQ_SIZE_153(_) BOOST_PP_SEQ_SIZE_154
-# define BOOST_PP_SEQ_SIZE_154(_) BOOST_PP_SEQ_SIZE_155
-# define BOOST_PP_SEQ_SIZE_155(_) BOOST_PP_SEQ_SIZE_156
-# define BOOST_PP_SEQ_SIZE_156(_) BOOST_PP_SEQ_SIZE_157
-# define BOOST_PP_SEQ_SIZE_157(_) BOOST_PP_SEQ_SIZE_158
-# define BOOST_PP_SEQ_SIZE_158(_) BOOST_PP_SEQ_SIZE_159
-# define BOOST_PP_SEQ_SIZE_159(_) BOOST_PP_SEQ_SIZE_160
-# define BOOST_PP_SEQ_SIZE_160(_) BOOST_PP_SEQ_SIZE_161
-# define BOOST_PP_SEQ_SIZE_161(_) BOOST_PP_SEQ_SIZE_162
-# define BOOST_PP_SEQ_SIZE_162(_) BOOST_PP_SEQ_SIZE_163
-# define BOOST_PP_SEQ_SIZE_163(_) BOOST_PP_SEQ_SIZE_164
-# define BOOST_PP_SEQ_SIZE_164(_) BOOST_PP_SEQ_SIZE_165
-# define BOOST_PP_SEQ_SIZE_165(_) BOOST_PP_SEQ_SIZE_166
-# define BOOST_PP_SEQ_SIZE_166(_) BOOST_PP_SEQ_SIZE_167
-# define BOOST_PP_SEQ_SIZE_167(_) BOOST_PP_SEQ_SIZE_168
-# define BOOST_PP_SEQ_SIZE_168(_) BOOST_PP_SEQ_SIZE_169
-# define BOOST_PP_SEQ_SIZE_169(_) BOOST_PP_SEQ_SIZE_170
-# define BOOST_PP_SEQ_SIZE_170(_) BOOST_PP_SEQ_SIZE_171
-# define BOOST_PP_SEQ_SIZE_171(_) BOOST_PP_SEQ_SIZE_172
-# define BOOST_PP_SEQ_SIZE_172(_) BOOST_PP_SEQ_SIZE_173
-# define BOOST_PP_SEQ_SIZE_173(_) BOOST_PP_SEQ_SIZE_174
-# define BOOST_PP_SEQ_SIZE_174(_) BOOST_PP_SEQ_SIZE_175
-# define BOOST_PP_SEQ_SIZE_175(_) BOOST_PP_SEQ_SIZE_176
-# define BOOST_PP_SEQ_SIZE_176(_) BOOST_PP_SEQ_SIZE_177
-# define BOOST_PP_SEQ_SIZE_177(_) BOOST_PP_SEQ_SIZE_178
-# define BOOST_PP_SEQ_SIZE_178(_) BOOST_PP_SEQ_SIZE_179
-# define BOOST_PP_SEQ_SIZE_179(_) BOOST_PP_SEQ_SIZE_180
-# define BOOST_PP_SEQ_SIZE_180(_) BOOST_PP_SEQ_SIZE_181
-# define BOOST_PP_SEQ_SIZE_181(_) BOOST_PP_SEQ_SIZE_182
-# define BOOST_PP_SEQ_SIZE_182(_) BOOST_PP_SEQ_SIZE_183
-# define BOOST_PP_SEQ_SIZE_183(_) BOOST_PP_SEQ_SIZE_184
-# define BOOST_PP_SEQ_SIZE_184(_) BOOST_PP_SEQ_SIZE_185
-# define BOOST_PP_SEQ_SIZE_185(_) BOOST_PP_SEQ_SIZE_186
-# define BOOST_PP_SEQ_SIZE_186(_) BOOST_PP_SEQ_SIZE_187
-# define BOOST_PP_SEQ_SIZE_187(_) BOOST_PP_SEQ_SIZE_188
-# define BOOST_PP_SEQ_SIZE_188(_) BOOST_PP_SEQ_SIZE_189
-# define BOOST_PP_SEQ_SIZE_189(_) BOOST_PP_SEQ_SIZE_190
-# define BOOST_PP_SEQ_SIZE_190(_) BOOST_PP_SEQ_SIZE_191
-# define BOOST_PP_SEQ_SIZE_191(_) BOOST_PP_SEQ_SIZE_192
-# define BOOST_PP_SEQ_SIZE_192(_) BOOST_PP_SEQ_SIZE_193
-# define BOOST_PP_SEQ_SIZE_193(_) BOOST_PP_SEQ_SIZE_194
-# define BOOST_PP_SEQ_SIZE_194(_) BOOST_PP_SEQ_SIZE_195
-# define BOOST_PP_SEQ_SIZE_195(_) BOOST_PP_SEQ_SIZE_196
-# define BOOST_PP_SEQ_SIZE_196(_) BOOST_PP_SEQ_SIZE_197
-# define BOOST_PP_SEQ_SIZE_197(_) BOOST_PP_SEQ_SIZE_198
-# define BOOST_PP_SEQ_SIZE_198(_) BOOST_PP_SEQ_SIZE_199
-# define BOOST_PP_SEQ_SIZE_199(_) BOOST_PP_SEQ_SIZE_200
-# define BOOST_PP_SEQ_SIZE_200(_) BOOST_PP_SEQ_SIZE_201
-# define BOOST_PP_SEQ_SIZE_201(_) BOOST_PP_SEQ_SIZE_202
-# define BOOST_PP_SEQ_SIZE_202(_) BOOST_PP_SEQ_SIZE_203
-# define BOOST_PP_SEQ_SIZE_203(_) BOOST_PP_SEQ_SIZE_204
-# define BOOST_PP_SEQ_SIZE_204(_) BOOST_PP_SEQ_SIZE_205
-# define BOOST_PP_SEQ_SIZE_205(_) BOOST_PP_SEQ_SIZE_206
-# define BOOST_PP_SEQ_SIZE_206(_) BOOST_PP_SEQ_SIZE_207
-# define BOOST_PP_SEQ_SIZE_207(_) BOOST_PP_SEQ_SIZE_208
-# define BOOST_PP_SEQ_SIZE_208(_) BOOST_PP_SEQ_SIZE_209
-# define BOOST_PP_SEQ_SIZE_209(_) BOOST_PP_SEQ_SIZE_210
-# define BOOST_PP_SEQ_SIZE_210(_) BOOST_PP_SEQ_SIZE_211
-# define BOOST_PP_SEQ_SIZE_211(_) BOOST_PP_SEQ_SIZE_212
-# define BOOST_PP_SEQ_SIZE_212(_) BOOST_PP_SEQ_SIZE_213
-# define BOOST_PP_SEQ_SIZE_213(_) BOOST_PP_SEQ_SIZE_214
-# define BOOST_PP_SEQ_SIZE_214(_) BOOST_PP_SEQ_SIZE_215
-# define BOOST_PP_SEQ_SIZE_215(_) BOOST_PP_SEQ_SIZE_216
-# define BOOST_PP_SEQ_SIZE_216(_) BOOST_PP_SEQ_SIZE_217
-# define BOOST_PP_SEQ_SIZE_217(_) BOOST_PP_SEQ_SIZE_218
-# define BOOST_PP_SEQ_SIZE_218(_) BOOST_PP_SEQ_SIZE_219
-# define BOOST_PP_SEQ_SIZE_219(_) BOOST_PP_SEQ_SIZE_220
-# define BOOST_PP_SEQ_SIZE_220(_) BOOST_PP_SEQ_SIZE_221
-# define BOOST_PP_SEQ_SIZE_221(_) BOOST_PP_SEQ_SIZE_222
-# define BOOST_PP_SEQ_SIZE_222(_) BOOST_PP_SEQ_SIZE_223
-# define BOOST_PP_SEQ_SIZE_223(_) BOOST_PP_SEQ_SIZE_224
-# define BOOST_PP_SEQ_SIZE_224(_) BOOST_PP_SEQ_SIZE_225
-# define BOOST_PP_SEQ_SIZE_225(_) BOOST_PP_SEQ_SIZE_226
-# define BOOST_PP_SEQ_SIZE_226(_) BOOST_PP_SEQ_SIZE_227
-# define BOOST_PP_SEQ_SIZE_227(_) BOOST_PP_SEQ_SIZE_228
-# define BOOST_PP_SEQ_SIZE_228(_) BOOST_PP_SEQ_SIZE_229
-# define BOOST_PP_SEQ_SIZE_229(_) BOOST_PP_SEQ_SIZE_230
-# define BOOST_PP_SEQ_SIZE_230(_) BOOST_PP_SEQ_SIZE_231
-# define BOOST_PP_SEQ_SIZE_231(_) BOOST_PP_SEQ_SIZE_232
-# define BOOST_PP_SEQ_SIZE_232(_) BOOST_PP_SEQ_SIZE_233
-# define BOOST_PP_SEQ_SIZE_233(_) BOOST_PP_SEQ_SIZE_234
-# define BOOST_PP_SEQ_SIZE_234(_) BOOST_PP_SEQ_SIZE_235
-# define BOOST_PP_SEQ_SIZE_235(_) BOOST_PP_SEQ_SIZE_236
-# define BOOST_PP_SEQ_SIZE_236(_) BOOST_PP_SEQ_SIZE_237
-# define BOOST_PP_SEQ_SIZE_237(_) BOOST_PP_SEQ_SIZE_238
-# define BOOST_PP_SEQ_SIZE_238(_) BOOST_PP_SEQ_SIZE_239
-# define BOOST_PP_SEQ_SIZE_239(_) BOOST_PP_SEQ_SIZE_240
-# define BOOST_PP_SEQ_SIZE_240(_) BOOST_PP_SEQ_SIZE_241
-# define BOOST_PP_SEQ_SIZE_241(_) BOOST_PP_SEQ_SIZE_242
-# define BOOST_PP_SEQ_SIZE_242(_) BOOST_PP_SEQ_SIZE_243
-# define BOOST_PP_SEQ_SIZE_243(_) BOOST_PP_SEQ_SIZE_244
-# define BOOST_PP_SEQ_SIZE_244(_) BOOST_PP_SEQ_SIZE_245
-# define BOOST_PP_SEQ_SIZE_245(_) BOOST_PP_SEQ_SIZE_246
-# define BOOST_PP_SEQ_SIZE_246(_) BOOST_PP_SEQ_SIZE_247
-# define BOOST_PP_SEQ_SIZE_247(_) BOOST_PP_SEQ_SIZE_248
-# define BOOST_PP_SEQ_SIZE_248(_) BOOST_PP_SEQ_SIZE_249
-# define BOOST_PP_SEQ_SIZE_249(_) BOOST_PP_SEQ_SIZE_250
-# define BOOST_PP_SEQ_SIZE_250(_) BOOST_PP_SEQ_SIZE_251
-# define BOOST_PP_SEQ_SIZE_251(_) BOOST_PP_SEQ_SIZE_252
-# define BOOST_PP_SEQ_SIZE_252(_) BOOST_PP_SEQ_SIZE_253
-# define BOOST_PP_SEQ_SIZE_253(_) BOOST_PP_SEQ_SIZE_254
-# define BOOST_PP_SEQ_SIZE_254(_) BOOST_PP_SEQ_SIZE_255
-# define BOOST_PP_SEQ_SIZE_255(_) BOOST_PP_SEQ_SIZE_256
-# define BOOST_PP_SEQ_SIZE_256(_) BOOST_PP_SEQ_SIZE_257
+# define NDNBOOST_PP_SEQ_SIZE_0(_) NDNBOOST_PP_SEQ_SIZE_1
+# define NDNBOOST_PP_SEQ_SIZE_1(_) NDNBOOST_PP_SEQ_SIZE_2
+# define NDNBOOST_PP_SEQ_SIZE_2(_) NDNBOOST_PP_SEQ_SIZE_3
+# define NDNBOOST_PP_SEQ_SIZE_3(_) NDNBOOST_PP_SEQ_SIZE_4
+# define NDNBOOST_PP_SEQ_SIZE_4(_) NDNBOOST_PP_SEQ_SIZE_5
+# define NDNBOOST_PP_SEQ_SIZE_5(_) NDNBOOST_PP_SEQ_SIZE_6
+# define NDNBOOST_PP_SEQ_SIZE_6(_) NDNBOOST_PP_SEQ_SIZE_7
+# define NDNBOOST_PP_SEQ_SIZE_7(_) NDNBOOST_PP_SEQ_SIZE_8
+# define NDNBOOST_PP_SEQ_SIZE_8(_) NDNBOOST_PP_SEQ_SIZE_9
+# define NDNBOOST_PP_SEQ_SIZE_9(_) NDNBOOST_PP_SEQ_SIZE_10
+# define NDNBOOST_PP_SEQ_SIZE_10(_) NDNBOOST_PP_SEQ_SIZE_11
+# define NDNBOOST_PP_SEQ_SIZE_11(_) NDNBOOST_PP_SEQ_SIZE_12
+# define NDNBOOST_PP_SEQ_SIZE_12(_) NDNBOOST_PP_SEQ_SIZE_13
+# define NDNBOOST_PP_SEQ_SIZE_13(_) NDNBOOST_PP_SEQ_SIZE_14
+# define NDNBOOST_PP_SEQ_SIZE_14(_) NDNBOOST_PP_SEQ_SIZE_15
+# define NDNBOOST_PP_SEQ_SIZE_15(_) NDNBOOST_PP_SEQ_SIZE_16
+# define NDNBOOST_PP_SEQ_SIZE_16(_) NDNBOOST_PP_SEQ_SIZE_17
+# define NDNBOOST_PP_SEQ_SIZE_17(_) NDNBOOST_PP_SEQ_SIZE_18
+# define NDNBOOST_PP_SEQ_SIZE_18(_) NDNBOOST_PP_SEQ_SIZE_19
+# define NDNBOOST_PP_SEQ_SIZE_19(_) NDNBOOST_PP_SEQ_SIZE_20
+# define NDNBOOST_PP_SEQ_SIZE_20(_) NDNBOOST_PP_SEQ_SIZE_21
+# define NDNBOOST_PP_SEQ_SIZE_21(_) NDNBOOST_PP_SEQ_SIZE_22
+# define NDNBOOST_PP_SEQ_SIZE_22(_) NDNBOOST_PP_SEQ_SIZE_23
+# define NDNBOOST_PP_SEQ_SIZE_23(_) NDNBOOST_PP_SEQ_SIZE_24
+# define NDNBOOST_PP_SEQ_SIZE_24(_) NDNBOOST_PP_SEQ_SIZE_25
+# define NDNBOOST_PP_SEQ_SIZE_25(_) NDNBOOST_PP_SEQ_SIZE_26
+# define NDNBOOST_PP_SEQ_SIZE_26(_) NDNBOOST_PP_SEQ_SIZE_27
+# define NDNBOOST_PP_SEQ_SIZE_27(_) NDNBOOST_PP_SEQ_SIZE_28
+# define NDNBOOST_PP_SEQ_SIZE_28(_) NDNBOOST_PP_SEQ_SIZE_29
+# define NDNBOOST_PP_SEQ_SIZE_29(_) NDNBOOST_PP_SEQ_SIZE_30
+# define NDNBOOST_PP_SEQ_SIZE_30(_) NDNBOOST_PP_SEQ_SIZE_31
+# define NDNBOOST_PP_SEQ_SIZE_31(_) NDNBOOST_PP_SEQ_SIZE_32
+# define NDNBOOST_PP_SEQ_SIZE_32(_) NDNBOOST_PP_SEQ_SIZE_33
+# define NDNBOOST_PP_SEQ_SIZE_33(_) NDNBOOST_PP_SEQ_SIZE_34
+# define NDNBOOST_PP_SEQ_SIZE_34(_) NDNBOOST_PP_SEQ_SIZE_35
+# define NDNBOOST_PP_SEQ_SIZE_35(_) NDNBOOST_PP_SEQ_SIZE_36
+# define NDNBOOST_PP_SEQ_SIZE_36(_) NDNBOOST_PP_SEQ_SIZE_37
+# define NDNBOOST_PP_SEQ_SIZE_37(_) NDNBOOST_PP_SEQ_SIZE_38
+# define NDNBOOST_PP_SEQ_SIZE_38(_) NDNBOOST_PP_SEQ_SIZE_39
+# define NDNBOOST_PP_SEQ_SIZE_39(_) NDNBOOST_PP_SEQ_SIZE_40
+# define NDNBOOST_PP_SEQ_SIZE_40(_) NDNBOOST_PP_SEQ_SIZE_41
+# define NDNBOOST_PP_SEQ_SIZE_41(_) NDNBOOST_PP_SEQ_SIZE_42
+# define NDNBOOST_PP_SEQ_SIZE_42(_) NDNBOOST_PP_SEQ_SIZE_43
+# define NDNBOOST_PP_SEQ_SIZE_43(_) NDNBOOST_PP_SEQ_SIZE_44
+# define NDNBOOST_PP_SEQ_SIZE_44(_) NDNBOOST_PP_SEQ_SIZE_45
+# define NDNBOOST_PP_SEQ_SIZE_45(_) NDNBOOST_PP_SEQ_SIZE_46
+# define NDNBOOST_PP_SEQ_SIZE_46(_) NDNBOOST_PP_SEQ_SIZE_47
+# define NDNBOOST_PP_SEQ_SIZE_47(_) NDNBOOST_PP_SEQ_SIZE_48
+# define NDNBOOST_PP_SEQ_SIZE_48(_) NDNBOOST_PP_SEQ_SIZE_49
+# define NDNBOOST_PP_SEQ_SIZE_49(_) NDNBOOST_PP_SEQ_SIZE_50
+# define NDNBOOST_PP_SEQ_SIZE_50(_) NDNBOOST_PP_SEQ_SIZE_51
+# define NDNBOOST_PP_SEQ_SIZE_51(_) NDNBOOST_PP_SEQ_SIZE_52
+# define NDNBOOST_PP_SEQ_SIZE_52(_) NDNBOOST_PP_SEQ_SIZE_53
+# define NDNBOOST_PP_SEQ_SIZE_53(_) NDNBOOST_PP_SEQ_SIZE_54
+# define NDNBOOST_PP_SEQ_SIZE_54(_) NDNBOOST_PP_SEQ_SIZE_55
+# define NDNBOOST_PP_SEQ_SIZE_55(_) NDNBOOST_PP_SEQ_SIZE_56
+# define NDNBOOST_PP_SEQ_SIZE_56(_) NDNBOOST_PP_SEQ_SIZE_57
+# define NDNBOOST_PP_SEQ_SIZE_57(_) NDNBOOST_PP_SEQ_SIZE_58
+# define NDNBOOST_PP_SEQ_SIZE_58(_) NDNBOOST_PP_SEQ_SIZE_59
+# define NDNBOOST_PP_SEQ_SIZE_59(_) NDNBOOST_PP_SEQ_SIZE_60
+# define NDNBOOST_PP_SEQ_SIZE_60(_) NDNBOOST_PP_SEQ_SIZE_61
+# define NDNBOOST_PP_SEQ_SIZE_61(_) NDNBOOST_PP_SEQ_SIZE_62
+# define NDNBOOST_PP_SEQ_SIZE_62(_) NDNBOOST_PP_SEQ_SIZE_63
+# define NDNBOOST_PP_SEQ_SIZE_63(_) NDNBOOST_PP_SEQ_SIZE_64
+# define NDNBOOST_PP_SEQ_SIZE_64(_) NDNBOOST_PP_SEQ_SIZE_65
+# define NDNBOOST_PP_SEQ_SIZE_65(_) NDNBOOST_PP_SEQ_SIZE_66
+# define NDNBOOST_PP_SEQ_SIZE_66(_) NDNBOOST_PP_SEQ_SIZE_67
+# define NDNBOOST_PP_SEQ_SIZE_67(_) NDNBOOST_PP_SEQ_SIZE_68
+# define NDNBOOST_PP_SEQ_SIZE_68(_) NDNBOOST_PP_SEQ_SIZE_69
+# define NDNBOOST_PP_SEQ_SIZE_69(_) NDNBOOST_PP_SEQ_SIZE_70
+# define NDNBOOST_PP_SEQ_SIZE_70(_) NDNBOOST_PP_SEQ_SIZE_71
+# define NDNBOOST_PP_SEQ_SIZE_71(_) NDNBOOST_PP_SEQ_SIZE_72
+# define NDNBOOST_PP_SEQ_SIZE_72(_) NDNBOOST_PP_SEQ_SIZE_73
+# define NDNBOOST_PP_SEQ_SIZE_73(_) NDNBOOST_PP_SEQ_SIZE_74
+# define NDNBOOST_PP_SEQ_SIZE_74(_) NDNBOOST_PP_SEQ_SIZE_75
+# define NDNBOOST_PP_SEQ_SIZE_75(_) NDNBOOST_PP_SEQ_SIZE_76
+# define NDNBOOST_PP_SEQ_SIZE_76(_) NDNBOOST_PP_SEQ_SIZE_77
+# define NDNBOOST_PP_SEQ_SIZE_77(_) NDNBOOST_PP_SEQ_SIZE_78
+# define NDNBOOST_PP_SEQ_SIZE_78(_) NDNBOOST_PP_SEQ_SIZE_79
+# define NDNBOOST_PP_SEQ_SIZE_79(_) NDNBOOST_PP_SEQ_SIZE_80
+# define NDNBOOST_PP_SEQ_SIZE_80(_) NDNBOOST_PP_SEQ_SIZE_81
+# define NDNBOOST_PP_SEQ_SIZE_81(_) NDNBOOST_PP_SEQ_SIZE_82
+# define NDNBOOST_PP_SEQ_SIZE_82(_) NDNBOOST_PP_SEQ_SIZE_83
+# define NDNBOOST_PP_SEQ_SIZE_83(_) NDNBOOST_PP_SEQ_SIZE_84
+# define NDNBOOST_PP_SEQ_SIZE_84(_) NDNBOOST_PP_SEQ_SIZE_85
+# define NDNBOOST_PP_SEQ_SIZE_85(_) NDNBOOST_PP_SEQ_SIZE_86
+# define NDNBOOST_PP_SEQ_SIZE_86(_) NDNBOOST_PP_SEQ_SIZE_87
+# define NDNBOOST_PP_SEQ_SIZE_87(_) NDNBOOST_PP_SEQ_SIZE_88
+# define NDNBOOST_PP_SEQ_SIZE_88(_) NDNBOOST_PP_SEQ_SIZE_89
+# define NDNBOOST_PP_SEQ_SIZE_89(_) NDNBOOST_PP_SEQ_SIZE_90
+# define NDNBOOST_PP_SEQ_SIZE_90(_) NDNBOOST_PP_SEQ_SIZE_91
+# define NDNBOOST_PP_SEQ_SIZE_91(_) NDNBOOST_PP_SEQ_SIZE_92
+# define NDNBOOST_PP_SEQ_SIZE_92(_) NDNBOOST_PP_SEQ_SIZE_93
+# define NDNBOOST_PP_SEQ_SIZE_93(_) NDNBOOST_PP_SEQ_SIZE_94
+# define NDNBOOST_PP_SEQ_SIZE_94(_) NDNBOOST_PP_SEQ_SIZE_95
+# define NDNBOOST_PP_SEQ_SIZE_95(_) NDNBOOST_PP_SEQ_SIZE_96
+# define NDNBOOST_PP_SEQ_SIZE_96(_) NDNBOOST_PP_SEQ_SIZE_97
+# define NDNBOOST_PP_SEQ_SIZE_97(_) NDNBOOST_PP_SEQ_SIZE_98
+# define NDNBOOST_PP_SEQ_SIZE_98(_) NDNBOOST_PP_SEQ_SIZE_99
+# define NDNBOOST_PP_SEQ_SIZE_99(_) NDNBOOST_PP_SEQ_SIZE_100
+# define NDNBOOST_PP_SEQ_SIZE_100(_) NDNBOOST_PP_SEQ_SIZE_101
+# define NDNBOOST_PP_SEQ_SIZE_101(_) NDNBOOST_PP_SEQ_SIZE_102
+# define NDNBOOST_PP_SEQ_SIZE_102(_) NDNBOOST_PP_SEQ_SIZE_103
+# define NDNBOOST_PP_SEQ_SIZE_103(_) NDNBOOST_PP_SEQ_SIZE_104
+# define NDNBOOST_PP_SEQ_SIZE_104(_) NDNBOOST_PP_SEQ_SIZE_105
+# define NDNBOOST_PP_SEQ_SIZE_105(_) NDNBOOST_PP_SEQ_SIZE_106
+# define NDNBOOST_PP_SEQ_SIZE_106(_) NDNBOOST_PP_SEQ_SIZE_107
+# define NDNBOOST_PP_SEQ_SIZE_107(_) NDNBOOST_PP_SEQ_SIZE_108
+# define NDNBOOST_PP_SEQ_SIZE_108(_) NDNBOOST_PP_SEQ_SIZE_109
+# define NDNBOOST_PP_SEQ_SIZE_109(_) NDNBOOST_PP_SEQ_SIZE_110
+# define NDNBOOST_PP_SEQ_SIZE_110(_) NDNBOOST_PP_SEQ_SIZE_111
+# define NDNBOOST_PP_SEQ_SIZE_111(_) NDNBOOST_PP_SEQ_SIZE_112
+# define NDNBOOST_PP_SEQ_SIZE_112(_) NDNBOOST_PP_SEQ_SIZE_113
+# define NDNBOOST_PP_SEQ_SIZE_113(_) NDNBOOST_PP_SEQ_SIZE_114
+# define NDNBOOST_PP_SEQ_SIZE_114(_) NDNBOOST_PP_SEQ_SIZE_115
+# define NDNBOOST_PP_SEQ_SIZE_115(_) NDNBOOST_PP_SEQ_SIZE_116
+# define NDNBOOST_PP_SEQ_SIZE_116(_) NDNBOOST_PP_SEQ_SIZE_117
+# define NDNBOOST_PP_SEQ_SIZE_117(_) NDNBOOST_PP_SEQ_SIZE_118
+# define NDNBOOST_PP_SEQ_SIZE_118(_) NDNBOOST_PP_SEQ_SIZE_119
+# define NDNBOOST_PP_SEQ_SIZE_119(_) NDNBOOST_PP_SEQ_SIZE_120
+# define NDNBOOST_PP_SEQ_SIZE_120(_) NDNBOOST_PP_SEQ_SIZE_121
+# define NDNBOOST_PP_SEQ_SIZE_121(_) NDNBOOST_PP_SEQ_SIZE_122
+# define NDNBOOST_PP_SEQ_SIZE_122(_) NDNBOOST_PP_SEQ_SIZE_123
+# define NDNBOOST_PP_SEQ_SIZE_123(_) NDNBOOST_PP_SEQ_SIZE_124
+# define NDNBOOST_PP_SEQ_SIZE_124(_) NDNBOOST_PP_SEQ_SIZE_125
+# define NDNBOOST_PP_SEQ_SIZE_125(_) NDNBOOST_PP_SEQ_SIZE_126
+# define NDNBOOST_PP_SEQ_SIZE_126(_) NDNBOOST_PP_SEQ_SIZE_127
+# define NDNBOOST_PP_SEQ_SIZE_127(_) NDNBOOST_PP_SEQ_SIZE_128
+# define NDNBOOST_PP_SEQ_SIZE_128(_) NDNBOOST_PP_SEQ_SIZE_129
+# define NDNBOOST_PP_SEQ_SIZE_129(_) NDNBOOST_PP_SEQ_SIZE_130
+# define NDNBOOST_PP_SEQ_SIZE_130(_) NDNBOOST_PP_SEQ_SIZE_131
+# define NDNBOOST_PP_SEQ_SIZE_131(_) NDNBOOST_PP_SEQ_SIZE_132
+# define NDNBOOST_PP_SEQ_SIZE_132(_) NDNBOOST_PP_SEQ_SIZE_133
+# define NDNBOOST_PP_SEQ_SIZE_133(_) NDNBOOST_PP_SEQ_SIZE_134
+# define NDNBOOST_PP_SEQ_SIZE_134(_) NDNBOOST_PP_SEQ_SIZE_135
+# define NDNBOOST_PP_SEQ_SIZE_135(_) NDNBOOST_PP_SEQ_SIZE_136
+# define NDNBOOST_PP_SEQ_SIZE_136(_) NDNBOOST_PP_SEQ_SIZE_137
+# define NDNBOOST_PP_SEQ_SIZE_137(_) NDNBOOST_PP_SEQ_SIZE_138
+# define NDNBOOST_PP_SEQ_SIZE_138(_) NDNBOOST_PP_SEQ_SIZE_139
+# define NDNBOOST_PP_SEQ_SIZE_139(_) NDNBOOST_PP_SEQ_SIZE_140
+# define NDNBOOST_PP_SEQ_SIZE_140(_) NDNBOOST_PP_SEQ_SIZE_141
+# define NDNBOOST_PP_SEQ_SIZE_141(_) NDNBOOST_PP_SEQ_SIZE_142
+# define NDNBOOST_PP_SEQ_SIZE_142(_) NDNBOOST_PP_SEQ_SIZE_143
+# define NDNBOOST_PP_SEQ_SIZE_143(_) NDNBOOST_PP_SEQ_SIZE_144
+# define NDNBOOST_PP_SEQ_SIZE_144(_) NDNBOOST_PP_SEQ_SIZE_145
+# define NDNBOOST_PP_SEQ_SIZE_145(_) NDNBOOST_PP_SEQ_SIZE_146
+# define NDNBOOST_PP_SEQ_SIZE_146(_) NDNBOOST_PP_SEQ_SIZE_147
+# define NDNBOOST_PP_SEQ_SIZE_147(_) NDNBOOST_PP_SEQ_SIZE_148
+# define NDNBOOST_PP_SEQ_SIZE_148(_) NDNBOOST_PP_SEQ_SIZE_149
+# define NDNBOOST_PP_SEQ_SIZE_149(_) NDNBOOST_PP_SEQ_SIZE_150
+# define NDNBOOST_PP_SEQ_SIZE_150(_) NDNBOOST_PP_SEQ_SIZE_151
+# define NDNBOOST_PP_SEQ_SIZE_151(_) NDNBOOST_PP_SEQ_SIZE_152
+# define NDNBOOST_PP_SEQ_SIZE_152(_) NDNBOOST_PP_SEQ_SIZE_153
+# define NDNBOOST_PP_SEQ_SIZE_153(_) NDNBOOST_PP_SEQ_SIZE_154
+# define NDNBOOST_PP_SEQ_SIZE_154(_) NDNBOOST_PP_SEQ_SIZE_155
+# define NDNBOOST_PP_SEQ_SIZE_155(_) NDNBOOST_PP_SEQ_SIZE_156
+# define NDNBOOST_PP_SEQ_SIZE_156(_) NDNBOOST_PP_SEQ_SIZE_157
+# define NDNBOOST_PP_SEQ_SIZE_157(_) NDNBOOST_PP_SEQ_SIZE_158
+# define NDNBOOST_PP_SEQ_SIZE_158(_) NDNBOOST_PP_SEQ_SIZE_159
+# define NDNBOOST_PP_SEQ_SIZE_159(_) NDNBOOST_PP_SEQ_SIZE_160
+# define NDNBOOST_PP_SEQ_SIZE_160(_) NDNBOOST_PP_SEQ_SIZE_161
+# define NDNBOOST_PP_SEQ_SIZE_161(_) NDNBOOST_PP_SEQ_SIZE_162
+# define NDNBOOST_PP_SEQ_SIZE_162(_) NDNBOOST_PP_SEQ_SIZE_163
+# define NDNBOOST_PP_SEQ_SIZE_163(_) NDNBOOST_PP_SEQ_SIZE_164
+# define NDNBOOST_PP_SEQ_SIZE_164(_) NDNBOOST_PP_SEQ_SIZE_165
+# define NDNBOOST_PP_SEQ_SIZE_165(_) NDNBOOST_PP_SEQ_SIZE_166
+# define NDNBOOST_PP_SEQ_SIZE_166(_) NDNBOOST_PP_SEQ_SIZE_167
+# define NDNBOOST_PP_SEQ_SIZE_167(_) NDNBOOST_PP_SEQ_SIZE_168
+# define NDNBOOST_PP_SEQ_SIZE_168(_) NDNBOOST_PP_SEQ_SIZE_169
+# define NDNBOOST_PP_SEQ_SIZE_169(_) NDNBOOST_PP_SEQ_SIZE_170
+# define NDNBOOST_PP_SEQ_SIZE_170(_) NDNBOOST_PP_SEQ_SIZE_171
+# define NDNBOOST_PP_SEQ_SIZE_171(_) NDNBOOST_PP_SEQ_SIZE_172
+# define NDNBOOST_PP_SEQ_SIZE_172(_) NDNBOOST_PP_SEQ_SIZE_173
+# define NDNBOOST_PP_SEQ_SIZE_173(_) NDNBOOST_PP_SEQ_SIZE_174
+# define NDNBOOST_PP_SEQ_SIZE_174(_) NDNBOOST_PP_SEQ_SIZE_175
+# define NDNBOOST_PP_SEQ_SIZE_175(_) NDNBOOST_PP_SEQ_SIZE_176
+# define NDNBOOST_PP_SEQ_SIZE_176(_) NDNBOOST_PP_SEQ_SIZE_177
+# define NDNBOOST_PP_SEQ_SIZE_177(_) NDNBOOST_PP_SEQ_SIZE_178
+# define NDNBOOST_PP_SEQ_SIZE_178(_) NDNBOOST_PP_SEQ_SIZE_179
+# define NDNBOOST_PP_SEQ_SIZE_179(_) NDNBOOST_PP_SEQ_SIZE_180
+# define NDNBOOST_PP_SEQ_SIZE_180(_) NDNBOOST_PP_SEQ_SIZE_181
+# define NDNBOOST_PP_SEQ_SIZE_181(_) NDNBOOST_PP_SEQ_SIZE_182
+# define NDNBOOST_PP_SEQ_SIZE_182(_) NDNBOOST_PP_SEQ_SIZE_183
+# define NDNBOOST_PP_SEQ_SIZE_183(_) NDNBOOST_PP_SEQ_SIZE_184
+# define NDNBOOST_PP_SEQ_SIZE_184(_) NDNBOOST_PP_SEQ_SIZE_185
+# define NDNBOOST_PP_SEQ_SIZE_185(_) NDNBOOST_PP_SEQ_SIZE_186
+# define NDNBOOST_PP_SEQ_SIZE_186(_) NDNBOOST_PP_SEQ_SIZE_187
+# define NDNBOOST_PP_SEQ_SIZE_187(_) NDNBOOST_PP_SEQ_SIZE_188
+# define NDNBOOST_PP_SEQ_SIZE_188(_) NDNBOOST_PP_SEQ_SIZE_189
+# define NDNBOOST_PP_SEQ_SIZE_189(_) NDNBOOST_PP_SEQ_SIZE_190
+# define NDNBOOST_PP_SEQ_SIZE_190(_) NDNBOOST_PP_SEQ_SIZE_191
+# define NDNBOOST_PP_SEQ_SIZE_191(_) NDNBOOST_PP_SEQ_SIZE_192
+# define NDNBOOST_PP_SEQ_SIZE_192(_) NDNBOOST_PP_SEQ_SIZE_193
+# define NDNBOOST_PP_SEQ_SIZE_193(_) NDNBOOST_PP_SEQ_SIZE_194
+# define NDNBOOST_PP_SEQ_SIZE_194(_) NDNBOOST_PP_SEQ_SIZE_195
+# define NDNBOOST_PP_SEQ_SIZE_195(_) NDNBOOST_PP_SEQ_SIZE_196
+# define NDNBOOST_PP_SEQ_SIZE_196(_) NDNBOOST_PP_SEQ_SIZE_197
+# define NDNBOOST_PP_SEQ_SIZE_197(_) NDNBOOST_PP_SEQ_SIZE_198
+# define NDNBOOST_PP_SEQ_SIZE_198(_) NDNBOOST_PP_SEQ_SIZE_199
+# define NDNBOOST_PP_SEQ_SIZE_199(_) NDNBOOST_PP_SEQ_SIZE_200
+# define NDNBOOST_PP_SEQ_SIZE_200(_) NDNBOOST_PP_SEQ_SIZE_201
+# define NDNBOOST_PP_SEQ_SIZE_201(_) NDNBOOST_PP_SEQ_SIZE_202
+# define NDNBOOST_PP_SEQ_SIZE_202(_) NDNBOOST_PP_SEQ_SIZE_203
+# define NDNBOOST_PP_SEQ_SIZE_203(_) NDNBOOST_PP_SEQ_SIZE_204
+# define NDNBOOST_PP_SEQ_SIZE_204(_) NDNBOOST_PP_SEQ_SIZE_205
+# define NDNBOOST_PP_SEQ_SIZE_205(_) NDNBOOST_PP_SEQ_SIZE_206
+# define NDNBOOST_PP_SEQ_SIZE_206(_) NDNBOOST_PP_SEQ_SIZE_207
+# define NDNBOOST_PP_SEQ_SIZE_207(_) NDNBOOST_PP_SEQ_SIZE_208
+# define NDNBOOST_PP_SEQ_SIZE_208(_) NDNBOOST_PP_SEQ_SIZE_209
+# define NDNBOOST_PP_SEQ_SIZE_209(_) NDNBOOST_PP_SEQ_SIZE_210
+# define NDNBOOST_PP_SEQ_SIZE_210(_) NDNBOOST_PP_SEQ_SIZE_211
+# define NDNBOOST_PP_SEQ_SIZE_211(_) NDNBOOST_PP_SEQ_SIZE_212
+# define NDNBOOST_PP_SEQ_SIZE_212(_) NDNBOOST_PP_SEQ_SIZE_213
+# define NDNBOOST_PP_SEQ_SIZE_213(_) NDNBOOST_PP_SEQ_SIZE_214
+# define NDNBOOST_PP_SEQ_SIZE_214(_) NDNBOOST_PP_SEQ_SIZE_215
+# define NDNBOOST_PP_SEQ_SIZE_215(_) NDNBOOST_PP_SEQ_SIZE_216
+# define NDNBOOST_PP_SEQ_SIZE_216(_) NDNBOOST_PP_SEQ_SIZE_217
+# define NDNBOOST_PP_SEQ_SIZE_217(_) NDNBOOST_PP_SEQ_SIZE_218
+# define NDNBOOST_PP_SEQ_SIZE_218(_) NDNBOOST_PP_SEQ_SIZE_219
+# define NDNBOOST_PP_SEQ_SIZE_219(_) NDNBOOST_PP_SEQ_SIZE_220
+# define NDNBOOST_PP_SEQ_SIZE_220(_) NDNBOOST_PP_SEQ_SIZE_221
+# define NDNBOOST_PP_SEQ_SIZE_221(_) NDNBOOST_PP_SEQ_SIZE_222
+# define NDNBOOST_PP_SEQ_SIZE_222(_) NDNBOOST_PP_SEQ_SIZE_223
+# define NDNBOOST_PP_SEQ_SIZE_223(_) NDNBOOST_PP_SEQ_SIZE_224
+# define NDNBOOST_PP_SEQ_SIZE_224(_) NDNBOOST_PP_SEQ_SIZE_225
+# define NDNBOOST_PP_SEQ_SIZE_225(_) NDNBOOST_PP_SEQ_SIZE_226
+# define NDNBOOST_PP_SEQ_SIZE_226(_) NDNBOOST_PP_SEQ_SIZE_227
+# define NDNBOOST_PP_SEQ_SIZE_227(_) NDNBOOST_PP_SEQ_SIZE_228
+# define NDNBOOST_PP_SEQ_SIZE_228(_) NDNBOOST_PP_SEQ_SIZE_229
+# define NDNBOOST_PP_SEQ_SIZE_229(_) NDNBOOST_PP_SEQ_SIZE_230
+# define NDNBOOST_PP_SEQ_SIZE_230(_) NDNBOOST_PP_SEQ_SIZE_231
+# define NDNBOOST_PP_SEQ_SIZE_231(_) NDNBOOST_PP_SEQ_SIZE_232
+# define NDNBOOST_PP_SEQ_SIZE_232(_) NDNBOOST_PP_SEQ_SIZE_233
+# define NDNBOOST_PP_SEQ_SIZE_233(_) NDNBOOST_PP_SEQ_SIZE_234
+# define NDNBOOST_PP_SEQ_SIZE_234(_) NDNBOOST_PP_SEQ_SIZE_235
+# define NDNBOOST_PP_SEQ_SIZE_235(_) NDNBOOST_PP_SEQ_SIZE_236
+# define NDNBOOST_PP_SEQ_SIZE_236(_) NDNBOOST_PP_SEQ_SIZE_237
+# define NDNBOOST_PP_SEQ_SIZE_237(_) NDNBOOST_PP_SEQ_SIZE_238
+# define NDNBOOST_PP_SEQ_SIZE_238(_) NDNBOOST_PP_SEQ_SIZE_239
+# define NDNBOOST_PP_SEQ_SIZE_239(_) NDNBOOST_PP_SEQ_SIZE_240
+# define NDNBOOST_PP_SEQ_SIZE_240(_) NDNBOOST_PP_SEQ_SIZE_241
+# define NDNBOOST_PP_SEQ_SIZE_241(_) NDNBOOST_PP_SEQ_SIZE_242
+# define NDNBOOST_PP_SEQ_SIZE_242(_) NDNBOOST_PP_SEQ_SIZE_243
+# define NDNBOOST_PP_SEQ_SIZE_243(_) NDNBOOST_PP_SEQ_SIZE_244
+# define NDNBOOST_PP_SEQ_SIZE_244(_) NDNBOOST_PP_SEQ_SIZE_245
+# define NDNBOOST_PP_SEQ_SIZE_245(_) NDNBOOST_PP_SEQ_SIZE_246
+# define NDNBOOST_PP_SEQ_SIZE_246(_) NDNBOOST_PP_SEQ_SIZE_247
+# define NDNBOOST_PP_SEQ_SIZE_247(_) NDNBOOST_PP_SEQ_SIZE_248
+# define NDNBOOST_PP_SEQ_SIZE_248(_) NDNBOOST_PP_SEQ_SIZE_249
+# define NDNBOOST_PP_SEQ_SIZE_249(_) NDNBOOST_PP_SEQ_SIZE_250
+# define NDNBOOST_PP_SEQ_SIZE_250(_) NDNBOOST_PP_SEQ_SIZE_251
+# define NDNBOOST_PP_SEQ_SIZE_251(_) NDNBOOST_PP_SEQ_SIZE_252
+# define NDNBOOST_PP_SEQ_SIZE_252(_) NDNBOOST_PP_SEQ_SIZE_253
+# define NDNBOOST_PP_SEQ_SIZE_253(_) NDNBOOST_PP_SEQ_SIZE_254
+# define NDNBOOST_PP_SEQ_SIZE_254(_) NDNBOOST_PP_SEQ_SIZE_255
+# define NDNBOOST_PP_SEQ_SIZE_255(_) NDNBOOST_PP_SEQ_SIZE_256
+# define NDNBOOST_PP_SEQ_SIZE_256(_) NDNBOOST_PP_SEQ_SIZE_257
 #
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_0 0
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_1 1
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_2 2
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_3 3
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_4 4
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_5 5
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_6 6
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_7 7
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_8 8
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_9 9
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_10 10
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_11 11
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_12 12
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_13 13
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_14 14
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_15 15
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_16 16
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_17 17
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_18 18
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_19 19
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_20 20
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_21 21
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_22 22
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_23 23
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_24 24
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_25 25
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_26 26
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_27 27
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_28 28
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_29 29
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_30 30
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_31 31
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_32 32
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_33 33
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_34 34
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_35 35
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_36 36
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_37 37
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_38 38
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_39 39
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_40 40
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_41 41
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_42 42
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_43 43
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_44 44
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_45 45
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_46 46
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_47 47
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_48 48
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_49 49
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_50 50
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_51 51
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_52 52
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_53 53
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_54 54
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_55 55
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_56 56
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_57 57
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_58 58
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_59 59
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_60 60
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_61 61
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_62 62
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_63 63
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_64 64
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_65 65
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_66 66
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_67 67
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_68 68
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_69 69
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_70 70
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_71 71
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_72 72
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_73 73
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_74 74
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_75 75
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_76 76
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_77 77
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_78 78
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_79 79
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_80 80
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_81 81
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_82 82
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_83 83
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_84 84
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_85 85
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_86 86
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_87 87
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_88 88
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_89 89
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_90 90
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_91 91
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_92 92
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_93 93
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_94 94
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_95 95
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_96 96
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_97 97
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_98 98
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_99 99
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_100 100
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_101 101
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_102 102
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_103 103
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_104 104
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_105 105
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_106 106
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_107 107
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_108 108
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_109 109
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_110 110
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_111 111
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_112 112
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_113 113
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_114 114
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_115 115
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_116 116
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_117 117
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_118 118
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_119 119
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_120 120
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_121 121
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_122 122
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_123 123
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_124 124
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_125 125
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_126 126
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_127 127
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_128 128
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_129 129
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_130 130
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_131 131
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_132 132
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_133 133
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_134 134
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_135 135
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_136 136
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_137 137
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_138 138
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_139 139
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_140 140
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_141 141
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_142 142
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_143 143
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_144 144
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_145 145
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_146 146
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_147 147
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_148 148
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_149 149
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_150 150
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_151 151
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_152 152
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_153 153
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_154 154
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_155 155
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_156 156
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_157 157
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_158 158
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_159 159
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_160 160
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_161 161
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_162 162
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_163 163
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_164 164
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_165 165
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_166 166
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_167 167
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_168 168
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_169 169
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_170 170
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_171 171
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_172 172
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_173 173
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_174 174
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_175 175
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_176 176
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_177 177
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_178 178
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_179 179
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_180 180
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_181 181
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_182 182
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_183 183
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_184 184
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_185 185
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_186 186
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_187 187
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_188 188
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_189 189
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_190 190
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_191 191
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_192 192
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_193 193
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_194 194
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_195 195
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_196 196
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_197 197
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_198 198
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_199 199
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_200 200
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_201 201
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_202 202
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_203 203
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_204 204
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_205 205
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_206 206
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_207 207
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_208 208
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_209 209
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_210 210
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_211 211
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_212 212
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_213 213
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_214 214
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_215 215
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_216 216
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_217 217
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_218 218
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_219 219
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_220 220
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_221 221
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_222 222
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_223 223
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_224 224
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_225 225
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_226 226
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_227 227
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_228 228
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_229 229
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_230 230
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_231 231
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_232 232
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_233 233
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_234 234
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_235 235
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_236 236
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_237 237
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_238 238
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_239 239
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_240 240
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_241 241
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_242 242
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_243 243
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_244 244
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_245 245
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_246 246
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_247 247
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_248 248
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_249 249
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_250 250
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_251 251
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_252 252
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_253 253
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_254 254
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_255 255
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_256 256
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_0 0
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_1 1
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_2 2
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_3 3
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_4 4
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_5 5
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_6 6
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_7 7
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_8 8
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_9 9
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_10 10
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_11 11
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_12 12
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_13 13
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_14 14
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_15 15
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_16 16
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_17 17
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_18 18
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_19 19
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_20 20
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_21 21
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_22 22
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_23 23
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_24 24
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_25 25
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_26 26
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_27 27
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_28 28
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_29 29
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_30 30
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_31 31
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_32 32
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_33 33
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_34 34
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_35 35
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_36 36
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_37 37
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_38 38
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_39 39
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_40 40
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_41 41
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_42 42
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_43 43
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_44 44
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_45 45
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_46 46
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_47 47
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_48 48
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_49 49
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_50 50
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_51 51
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_52 52
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_53 53
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_54 54
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_55 55
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_56 56
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_57 57
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_58 58
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_59 59
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_60 60
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_61 61
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_62 62
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_63 63
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_64 64
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_65 65
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_66 66
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_67 67
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_68 68
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_69 69
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_70 70
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_71 71
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_72 72
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_73 73
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_74 74
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_75 75
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_76 76
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_77 77
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_78 78
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_79 79
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_80 80
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_81 81
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_82 82
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_83 83
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_84 84
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_85 85
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_86 86
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_87 87
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_88 88
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_89 89
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_90 90
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_91 91
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_92 92
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_93 93
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_94 94
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_95 95
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_96 96
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_97 97
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_98 98
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_99 99
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_100 100
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_101 101
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_102 102
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_103 103
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_104 104
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_105 105
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_106 106
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_107 107
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_108 108
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_109 109
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_110 110
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_111 111
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_112 112
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_113 113
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_114 114
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_115 115
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_116 116
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_117 117
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_118 118
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_119 119
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_120 120
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_121 121
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_122 122
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_123 123
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_124 124
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_125 125
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_126 126
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_127 127
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_128 128
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_129 129
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_130 130
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_131 131
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_132 132
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_133 133
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_134 134
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_135 135
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_136 136
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_137 137
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_138 138
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_139 139
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_140 140
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_141 141
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_142 142
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_143 143
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_144 144
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_145 145
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_146 146
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_147 147
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_148 148
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_149 149
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_150 150
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_151 151
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_152 152
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_153 153
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_154 154
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_155 155
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_156 156
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_157 157
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_158 158
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_159 159
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_160 160
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_161 161
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_162 162
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_163 163
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_164 164
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_165 165
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_166 166
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_167 167
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_168 168
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_169 169
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_170 170
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_171 171
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_172 172
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_173 173
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_174 174
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_175 175
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_176 176
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_177 177
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_178 178
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_179 179
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_180 180
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_181 181
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_182 182
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_183 183
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_184 184
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_185 185
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_186 186
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_187 187
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_188 188
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_189 189
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_190 190
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_191 191
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_192 192
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_193 193
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_194 194
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_195 195
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_196 196
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_197 197
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_198 198
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_199 199
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_200 200
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_201 201
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_202 202
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_203 203
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_204 204
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_205 205
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_206 206
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_207 207
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_208 208
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_209 209
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_210 210
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_211 211
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_212 212
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_213 213
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_214 214
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_215 215
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_216 216
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_217 217
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_218 218
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_219 219
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_220 220
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_221 221
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_222 222
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_223 223
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_224 224
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_225 225
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_226 226
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_227 227
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_228 228
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_229 229
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_230 230
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_231 231
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_232 232
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_233 233
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_234 234
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_235 235
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_236 236
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_237 237
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_238 238
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_239 239
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_240 240
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_241 241
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_242 242
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_243 243
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_244 244
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_245 245
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_246 246
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_247 247
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_248 248
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_249 249
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_250 250
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_251 251
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_252 252
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_253 253
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_254 254
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_255 255
+# define NDNBOOST_PP_SEQ_SIZE_NDNBOOST_PP_SEQ_SIZE_256 256
 #
 # endif
diff --git a/include/ndnboost/preprocessor/seq/subseq.hpp b/include/ndnboost/preprocessor/seq/subseq.hpp
index 529e0dc..a14ee66 100644
--- a/include/ndnboost/preprocessor/seq/subseq.hpp
+++ b/include/ndnboost/preprocessor/seq/subseq.hpp
@@ -9,20 +9,20 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_SEQ_SUBSEQ_HPP
-# define BOOST_PREPROCESSOR_SEQ_SUBSEQ_HPP
+# ifndef NDNBOOST_PREPROCESSOR_SEQ_SUBSEQ_HPP
+# define NDNBOOST_PREPROCESSOR_SEQ_SUBSEQ_HPP
 #
 # include <ndnboost/preprocessor/config/config.hpp>
 # include <ndnboost/preprocessor/seq/first_n.hpp>
 # include <ndnboost/preprocessor/seq/rest_n.hpp>
 #
-# /* BOOST_PP_SEQ_SUBSEQ */
+# /* NDNBOOST_PP_SEQ_SUBSEQ */
 #
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_SEQ_SUBSEQ(seq, i, len) BOOST_PP_SEQ_FIRST_N(len, BOOST_PP_SEQ_REST_N(i, seq))
+# if ~NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_EDG()
+#    define NDNBOOST_PP_SEQ_SUBSEQ(seq, i, len) NDNBOOST_PP_SEQ_FIRST_N(len, NDNBOOST_PP_SEQ_REST_N(i, seq))
 # else
-#    define BOOST_PP_SEQ_SUBSEQ(seq, i, len) BOOST_PP_SEQ_SUBSEQ_I(seq, i, len)
-#    define BOOST_PP_SEQ_SUBSEQ_I(seq, i, len) BOOST_PP_SEQ_FIRST_N(len, BOOST_PP_SEQ_REST_N(i, seq))
+#    define NDNBOOST_PP_SEQ_SUBSEQ(seq, i, len) NDNBOOST_PP_SEQ_SUBSEQ_I(seq, i, len)
+#    define NDNBOOST_PP_SEQ_SUBSEQ_I(seq, i, len) NDNBOOST_PP_SEQ_FIRST_N(len, NDNBOOST_PP_SEQ_REST_N(i, seq))
 # endif
 #
 # endif
diff --git a/include/ndnboost/preprocessor/seq/transform.hpp b/include/ndnboost/preprocessor/seq/transform.hpp
index a7793f1..304eb52 100644
--- a/include/ndnboost/preprocessor/seq/transform.hpp
+++ b/include/ndnboost/preprocessor/seq/transform.hpp
@@ -9,8 +9,8 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_SEQ_TRANSFORM_HPP
-# define BOOST_PREPROCESSOR_SEQ_TRANSFORM_HPP
+# ifndef NDNBOOST_PREPROCESSOR_SEQ_TRANSFORM_HPP
+# define NDNBOOST_PREPROCESSOR_SEQ_TRANSFORM_HPP
 #
 # include <ndnboost/preprocessor/config/config.hpp>
 # include <ndnboost/preprocessor/seq/fold_left.hpp>
@@ -18,31 +18,31 @@
 # include <ndnboost/preprocessor/tuple/elem.hpp>
 # include <ndnboost/preprocessor/tuple/rem.hpp>
 #
-# /* BOOST_PP_SEQ_TRANSFORM */
+# /* NDNBOOST_PP_SEQ_TRANSFORM */
 #
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_SEQ_TRANSFORM(op, data, seq) BOOST_PP_SEQ_TAIL(BOOST_PP_TUPLE_ELEM(3, 2, BOOST_PP_SEQ_FOLD_LEFT(BOOST_PP_SEQ_TRANSFORM_O, (op, data, (nil)), seq)))
+# if ~NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_EDG()
+#    define NDNBOOST_PP_SEQ_TRANSFORM(op, data, seq) NDNBOOST_PP_SEQ_TAIL(NDNBOOST_PP_TUPLE_ELEM(3, 2, NDNBOOST_PP_SEQ_FOLD_LEFT(NDNBOOST_PP_SEQ_TRANSFORM_O, (op, data, (nil)), seq)))
 # else
-#    define BOOST_PP_SEQ_TRANSFORM(op, data, seq) BOOST_PP_SEQ_TRANSFORM_I(op, data, seq)
-#    define BOOST_PP_SEQ_TRANSFORM_I(op, data, seq) BOOST_PP_SEQ_TAIL(BOOST_PP_TUPLE_ELEM(3, 2, BOOST_PP_SEQ_FOLD_LEFT(BOOST_PP_SEQ_TRANSFORM_O, (op, data, (nil)), seq)))
+#    define NDNBOOST_PP_SEQ_TRANSFORM(op, data, seq) NDNBOOST_PP_SEQ_TRANSFORM_I(op, data, seq)
+#    define NDNBOOST_PP_SEQ_TRANSFORM_I(op, data, seq) NDNBOOST_PP_SEQ_TAIL(NDNBOOST_PP_TUPLE_ELEM(3, 2, NDNBOOST_PP_SEQ_FOLD_LEFT(NDNBOOST_PP_SEQ_TRANSFORM_O, (op, data, (nil)), seq)))
 # endif
 #
-# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT()
-#    define BOOST_PP_SEQ_TRANSFORM_O(s, state, elem) BOOST_PP_SEQ_TRANSFORM_O_IM(s, BOOST_PP_TUPLE_REM_3 state, elem)
-#    define BOOST_PP_SEQ_TRANSFORM_O_IM(s, im, elem) BOOST_PP_SEQ_TRANSFORM_O_I(s, im, elem)
+# if NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_STRICT()
+#    define NDNBOOST_PP_SEQ_TRANSFORM_O(s, state, elem) NDNBOOST_PP_SEQ_TRANSFORM_O_IM(s, NDNBOOST_PP_TUPLE_REM_3 state, elem)
+#    define NDNBOOST_PP_SEQ_TRANSFORM_O_IM(s, im, elem) NDNBOOST_PP_SEQ_TRANSFORM_O_I(s, im, elem)
 # else
-#    define BOOST_PP_SEQ_TRANSFORM_O(s, state, elem) BOOST_PP_SEQ_TRANSFORM_O_I(s, BOOST_PP_TUPLE_ELEM(3, 0, state), BOOST_PP_TUPLE_ELEM(3, 1, state), BOOST_PP_TUPLE_ELEM(3, 2, state), elem)
+#    define NDNBOOST_PP_SEQ_TRANSFORM_O(s, state, elem) NDNBOOST_PP_SEQ_TRANSFORM_O_I(s, NDNBOOST_PP_TUPLE_ELEM(3, 0, state), NDNBOOST_PP_TUPLE_ELEM(3, 1, state), NDNBOOST_PP_TUPLE_ELEM(3, 2, state), elem)
 # endif
 #
-# define BOOST_PP_SEQ_TRANSFORM_O_I(s, op, data, res, elem) (op, data, res (op(s, data, elem)))
+# define NDNBOOST_PP_SEQ_TRANSFORM_O_I(s, op, data, res, elem) (op, data, res (op(s, data, elem)))
 #
-# /* BOOST_PP_SEQ_TRANSFORM_S */
+# /* NDNBOOST_PP_SEQ_TRANSFORM_S */
 #
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#    define BOOST_PP_SEQ_TRANSFORM_S(s, op, data, seq) BOOST_PP_SEQ_TAIL(BOOST_PP_TUPLE_ELEM(3, 2, BOOST_PP_SEQ_FOLD_LEFT_ ## s(BOOST_PP_SEQ_TRANSFORM_O, (op, data, (nil)), seq)))
+# if ~NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_EDG()
+#    define NDNBOOST_PP_SEQ_TRANSFORM_S(s, op, data, seq) NDNBOOST_PP_SEQ_TAIL(NDNBOOST_PP_TUPLE_ELEM(3, 2, NDNBOOST_PP_SEQ_FOLD_LEFT_ ## s(NDNBOOST_PP_SEQ_TRANSFORM_O, (op, data, (nil)), seq)))
 # else
-#    define BOOST_PP_SEQ_TRANSFORM_S(s, op, data, seq) BOOST_PP_SEQ_TRANSFORM_S_I(s, op, data, seq)
-#    define BOOST_PP_SEQ_TRANSFORM_S_I(s, op, data, seq) BOOST_PP_SEQ_TAIL(BOOST_PP_TUPLE_ELEM(3, 2, BOOST_PP_SEQ_FOLD_LEFT_ ## s(BOOST_PP_SEQ_TRANSFORM_O, (op, data, (nil)), seq)))
+#    define NDNBOOST_PP_SEQ_TRANSFORM_S(s, op, data, seq) NDNBOOST_PP_SEQ_TRANSFORM_S_I(s, op, data, seq)
+#    define NDNBOOST_PP_SEQ_TRANSFORM_S_I(s, op, data, seq) NDNBOOST_PP_SEQ_TAIL(NDNBOOST_PP_TUPLE_ELEM(3, 2, NDNBOOST_PP_SEQ_FOLD_LEFT_ ## s(NDNBOOST_PP_SEQ_TRANSFORM_O, (op, data, (nil)), seq)))
 # endif
 #
 # endif
diff --git a/include/ndnboost/preprocessor/slot/detail/counter.hpp b/include/ndnboost/preprocessor/slot/detail/counter.hpp
index fb98a8d..428e478 100644
--- a/include/ndnboost/preprocessor/slot/detail/counter.hpp
+++ b/include/ndnboost/preprocessor/slot/detail/counter.hpp
@@ -9,261 +9,261 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# define BOOST_PP_VALUE BOOST_PP_COUNTER + 1
+# define NDNBOOST_PP_VALUE NDNBOOST_PP_COUNTER + 1
 #
 # include <ndnboost/preprocessor/slot/detail/shared.hpp>
 #
-# undef BOOST_PP_COUNTER
+# undef NDNBOOST_PP_COUNTER
 #
-# undef BOOST_PP_COUNTER_DIGIT_1
-# undef BOOST_PP_COUNTER_DIGIT_2
-# undef BOOST_PP_COUNTER_DIGIT_3
-# undef BOOST_PP_COUNTER_DIGIT_4
-# undef BOOST_PP_COUNTER_DIGIT_5
-# undef BOOST_PP_COUNTER_DIGIT_6
-# undef BOOST_PP_COUNTER_DIGIT_7
-# undef BOOST_PP_COUNTER_DIGIT_8
-# undef BOOST_PP_COUNTER_DIGIT_9
-# undef BOOST_PP_COUNTER_DIGIT_10
+# undef NDNBOOST_PP_COUNTER_DIGIT_1
+# undef NDNBOOST_PP_COUNTER_DIGIT_2
+# undef NDNBOOST_PP_COUNTER_DIGIT_3
+# undef NDNBOOST_PP_COUNTER_DIGIT_4
+# undef NDNBOOST_PP_COUNTER_DIGIT_5
+# undef NDNBOOST_PP_COUNTER_DIGIT_6
+# undef NDNBOOST_PP_COUNTER_DIGIT_7
+# undef NDNBOOST_PP_COUNTER_DIGIT_8
+# undef NDNBOOST_PP_COUNTER_DIGIT_9
+# undef NDNBOOST_PP_COUNTER_DIGIT_10
 #
-# if BOOST_PP_SLOT_TEMP_10 == 0
-#    define BOOST_PP_COUNTER_DIGIT_10 0
-# elif BOOST_PP_SLOT_TEMP_10 == 1
-#    define BOOST_PP_COUNTER_DIGIT_10 1
-# elif BOOST_PP_SLOT_TEMP_10 == 2
-#    define BOOST_PP_COUNTER_DIGIT_10 2
-# elif BOOST_PP_SLOT_TEMP_10 == 3
-#    define BOOST_PP_COUNTER_DIGIT_10 3
-# elif BOOST_PP_SLOT_TEMP_10 == 4
-#    define BOOST_PP_COUNTER_DIGIT_10 4
-# elif BOOST_PP_SLOT_TEMP_10 == 5
-#    define BOOST_PP_COUNTER_DIGIT_10 5
-# elif BOOST_PP_SLOT_TEMP_10 == 6
-#    define BOOST_PP_COUNTER_DIGIT_10 6
-# elif BOOST_PP_SLOT_TEMP_10 == 7
-#    define BOOST_PP_COUNTER_DIGIT_10 7
-# elif BOOST_PP_SLOT_TEMP_10 == 8
-#    define BOOST_PP_COUNTER_DIGIT_10 8
-# elif BOOST_PP_SLOT_TEMP_10 == 9
-#    define BOOST_PP_COUNTER_DIGIT_10 9
+# if NDNBOOST_PP_SLOT_TEMP_10 == 0
+#    define NDNBOOST_PP_COUNTER_DIGIT_10 0
+# elif NDNBOOST_PP_SLOT_TEMP_10 == 1
+#    define NDNBOOST_PP_COUNTER_DIGIT_10 1
+# elif NDNBOOST_PP_SLOT_TEMP_10 == 2
+#    define NDNBOOST_PP_COUNTER_DIGIT_10 2
+# elif NDNBOOST_PP_SLOT_TEMP_10 == 3
+#    define NDNBOOST_PP_COUNTER_DIGIT_10 3
+# elif NDNBOOST_PP_SLOT_TEMP_10 == 4
+#    define NDNBOOST_PP_COUNTER_DIGIT_10 4
+# elif NDNBOOST_PP_SLOT_TEMP_10 == 5
+#    define NDNBOOST_PP_COUNTER_DIGIT_10 5
+# elif NDNBOOST_PP_SLOT_TEMP_10 == 6
+#    define NDNBOOST_PP_COUNTER_DIGIT_10 6
+# elif NDNBOOST_PP_SLOT_TEMP_10 == 7
+#    define NDNBOOST_PP_COUNTER_DIGIT_10 7
+# elif NDNBOOST_PP_SLOT_TEMP_10 == 8
+#    define NDNBOOST_PP_COUNTER_DIGIT_10 8
+# elif NDNBOOST_PP_SLOT_TEMP_10 == 9
+#    define NDNBOOST_PP_COUNTER_DIGIT_10 9
 # endif
 #
-# if BOOST_PP_SLOT_TEMP_9 == 0
-#    define BOOST_PP_COUNTER_DIGIT_9 0
-# elif BOOST_PP_SLOT_TEMP_9 == 1
-#    define BOOST_PP_COUNTER_DIGIT_9 1
-# elif BOOST_PP_SLOT_TEMP_9 == 2
-#    define BOOST_PP_COUNTER_DIGIT_9 2
-# elif BOOST_PP_SLOT_TEMP_9 == 3
-#    define BOOST_PP_COUNTER_DIGIT_9 3
-# elif BOOST_PP_SLOT_TEMP_9 == 4
-#    define BOOST_PP_COUNTER_DIGIT_9 4
-# elif BOOST_PP_SLOT_TEMP_9 == 5
-#    define BOOST_PP_COUNTER_DIGIT_9 5
-# elif BOOST_PP_SLOT_TEMP_9 == 6
-#    define BOOST_PP_COUNTER_DIGIT_9 6
-# elif BOOST_PP_SLOT_TEMP_9 == 7
-#    define BOOST_PP_COUNTER_DIGIT_9 7
-# elif BOOST_PP_SLOT_TEMP_9 == 8
-#    define BOOST_PP_COUNTER_DIGIT_9 8
-# elif BOOST_PP_SLOT_TEMP_9 == 9
-#    define BOOST_PP_COUNTER_DIGIT_9 9
+# if NDNBOOST_PP_SLOT_TEMP_9 == 0
+#    define NDNBOOST_PP_COUNTER_DIGIT_9 0
+# elif NDNBOOST_PP_SLOT_TEMP_9 == 1
+#    define NDNBOOST_PP_COUNTER_DIGIT_9 1
+# elif NDNBOOST_PP_SLOT_TEMP_9 == 2
+#    define NDNBOOST_PP_COUNTER_DIGIT_9 2
+# elif NDNBOOST_PP_SLOT_TEMP_9 == 3
+#    define NDNBOOST_PP_COUNTER_DIGIT_9 3
+# elif NDNBOOST_PP_SLOT_TEMP_9 == 4
+#    define NDNBOOST_PP_COUNTER_DIGIT_9 4
+# elif NDNBOOST_PP_SLOT_TEMP_9 == 5
+#    define NDNBOOST_PP_COUNTER_DIGIT_9 5
+# elif NDNBOOST_PP_SLOT_TEMP_9 == 6
+#    define NDNBOOST_PP_COUNTER_DIGIT_9 6
+# elif NDNBOOST_PP_SLOT_TEMP_9 == 7
+#    define NDNBOOST_PP_COUNTER_DIGIT_9 7
+# elif NDNBOOST_PP_SLOT_TEMP_9 == 8
+#    define NDNBOOST_PP_COUNTER_DIGIT_9 8
+# elif NDNBOOST_PP_SLOT_TEMP_9 == 9
+#    define NDNBOOST_PP_COUNTER_DIGIT_9 9
 # endif
 #
-# if BOOST_PP_SLOT_TEMP_8 == 0
-#    define BOOST_PP_COUNTER_DIGIT_8 0
-# elif BOOST_PP_SLOT_TEMP_8 == 1
-#    define BOOST_PP_COUNTER_DIGIT_8 1
-# elif BOOST_PP_SLOT_TEMP_8 == 2
-#    define BOOST_PP_COUNTER_DIGIT_8 2
-# elif BOOST_PP_SLOT_TEMP_8 == 3
-#    define BOOST_PP_COUNTER_DIGIT_8 3
-# elif BOOST_PP_SLOT_TEMP_8 == 4
-#    define BOOST_PP_COUNTER_DIGIT_8 4
-# elif BOOST_PP_SLOT_TEMP_8 == 5
-#    define BOOST_PP_COUNTER_DIGIT_8 5
-# elif BOOST_PP_SLOT_TEMP_8 == 6
-#    define BOOST_PP_COUNTER_DIGIT_8 6
-# elif BOOST_PP_SLOT_TEMP_8 == 7
-#    define BOOST_PP_COUNTER_DIGIT_8 7
-# elif BOOST_PP_SLOT_TEMP_8 == 8
-#    define BOOST_PP_COUNTER_DIGIT_8 8
-# elif BOOST_PP_SLOT_TEMP_8 == 9
-#    define BOOST_PP_COUNTER_DIGIT_8 9
+# if NDNBOOST_PP_SLOT_TEMP_8 == 0
+#    define NDNBOOST_PP_COUNTER_DIGIT_8 0
+# elif NDNBOOST_PP_SLOT_TEMP_8 == 1
+#    define NDNBOOST_PP_COUNTER_DIGIT_8 1
+# elif NDNBOOST_PP_SLOT_TEMP_8 == 2
+#    define NDNBOOST_PP_COUNTER_DIGIT_8 2
+# elif NDNBOOST_PP_SLOT_TEMP_8 == 3
+#    define NDNBOOST_PP_COUNTER_DIGIT_8 3
+# elif NDNBOOST_PP_SLOT_TEMP_8 == 4
+#    define NDNBOOST_PP_COUNTER_DIGIT_8 4
+# elif NDNBOOST_PP_SLOT_TEMP_8 == 5
+#    define NDNBOOST_PP_COUNTER_DIGIT_8 5
+# elif NDNBOOST_PP_SLOT_TEMP_8 == 6
+#    define NDNBOOST_PP_COUNTER_DIGIT_8 6
+# elif NDNBOOST_PP_SLOT_TEMP_8 == 7
+#    define NDNBOOST_PP_COUNTER_DIGIT_8 7
+# elif NDNBOOST_PP_SLOT_TEMP_8 == 8
+#    define NDNBOOST_PP_COUNTER_DIGIT_8 8
+# elif NDNBOOST_PP_SLOT_TEMP_8 == 9
+#    define NDNBOOST_PP_COUNTER_DIGIT_8 9
 # endif
 #
-# if BOOST_PP_SLOT_TEMP_7 == 0
-#    define BOOST_PP_COUNTER_DIGIT_7 0
-# elif BOOST_PP_SLOT_TEMP_7 == 1
-#    define BOOST_PP_COUNTER_DIGIT_7 1
-# elif BOOST_PP_SLOT_TEMP_7 == 2
-#    define BOOST_PP_COUNTER_DIGIT_7 2
-# elif BOOST_PP_SLOT_TEMP_7 == 3
-#    define BOOST_PP_COUNTER_DIGIT_7 3
-# elif BOOST_PP_SLOT_TEMP_7 == 4
-#    define BOOST_PP_COUNTER_DIGIT_7 4
-# elif BOOST_PP_SLOT_TEMP_7 == 5
-#    define BOOST_PP_COUNTER_DIGIT_7 5
-# elif BOOST_PP_SLOT_TEMP_7 == 6
-#    define BOOST_PP_COUNTER_DIGIT_7 6
-# elif BOOST_PP_SLOT_TEMP_7 == 7
-#    define BOOST_PP_COUNTER_DIGIT_7 7
-# elif BOOST_PP_SLOT_TEMP_7 == 8
-#    define BOOST_PP_COUNTER_DIGIT_7 8
-# elif BOOST_PP_SLOT_TEMP_7 == 9
-#    define BOOST_PP_COUNTER_DIGIT_7 9
+# if NDNBOOST_PP_SLOT_TEMP_7 == 0
+#    define NDNBOOST_PP_COUNTER_DIGIT_7 0
+# elif NDNBOOST_PP_SLOT_TEMP_7 == 1
+#    define NDNBOOST_PP_COUNTER_DIGIT_7 1
+# elif NDNBOOST_PP_SLOT_TEMP_7 == 2
+#    define NDNBOOST_PP_COUNTER_DIGIT_7 2
+# elif NDNBOOST_PP_SLOT_TEMP_7 == 3
+#    define NDNBOOST_PP_COUNTER_DIGIT_7 3
+# elif NDNBOOST_PP_SLOT_TEMP_7 == 4
+#    define NDNBOOST_PP_COUNTER_DIGIT_7 4
+# elif NDNBOOST_PP_SLOT_TEMP_7 == 5
+#    define NDNBOOST_PP_COUNTER_DIGIT_7 5
+# elif NDNBOOST_PP_SLOT_TEMP_7 == 6
+#    define NDNBOOST_PP_COUNTER_DIGIT_7 6
+# elif NDNBOOST_PP_SLOT_TEMP_7 == 7
+#    define NDNBOOST_PP_COUNTER_DIGIT_7 7
+# elif NDNBOOST_PP_SLOT_TEMP_7 == 8
+#    define NDNBOOST_PP_COUNTER_DIGIT_7 8
+# elif NDNBOOST_PP_SLOT_TEMP_7 == 9
+#    define NDNBOOST_PP_COUNTER_DIGIT_7 9
 # endif
 #
-# if BOOST_PP_SLOT_TEMP_6 == 0
-#    define BOOST_PP_COUNTER_DIGIT_6 0
-# elif BOOST_PP_SLOT_TEMP_6 == 1
-#    define BOOST_PP_COUNTER_DIGIT_6 1
-# elif BOOST_PP_SLOT_TEMP_6 == 2
-#    define BOOST_PP_COUNTER_DIGIT_6 2
-# elif BOOST_PP_SLOT_TEMP_6 == 3
-#    define BOOST_PP_COUNTER_DIGIT_6 3
-# elif BOOST_PP_SLOT_TEMP_6 == 4
-#    define BOOST_PP_COUNTER_DIGIT_6 4
-# elif BOOST_PP_SLOT_TEMP_6 == 5
-#    define BOOST_PP_COUNTER_DIGIT_6 5
-# elif BOOST_PP_SLOT_TEMP_6 == 6
-#    define BOOST_PP_COUNTER_DIGIT_6 6
-# elif BOOST_PP_SLOT_TEMP_6 == 7
-#    define BOOST_PP_COUNTER_DIGIT_6 7
-# elif BOOST_PP_SLOT_TEMP_6 == 8
-#    define BOOST_PP_COUNTER_DIGIT_6 8
-# elif BOOST_PP_SLOT_TEMP_6 == 9
-#    define BOOST_PP_COUNTER_DIGIT_6 9
+# if NDNBOOST_PP_SLOT_TEMP_6 == 0
+#    define NDNBOOST_PP_COUNTER_DIGIT_6 0
+# elif NDNBOOST_PP_SLOT_TEMP_6 == 1
+#    define NDNBOOST_PP_COUNTER_DIGIT_6 1
+# elif NDNBOOST_PP_SLOT_TEMP_6 == 2
+#    define NDNBOOST_PP_COUNTER_DIGIT_6 2
+# elif NDNBOOST_PP_SLOT_TEMP_6 == 3
+#    define NDNBOOST_PP_COUNTER_DIGIT_6 3
+# elif NDNBOOST_PP_SLOT_TEMP_6 == 4
+#    define NDNBOOST_PP_COUNTER_DIGIT_6 4
+# elif NDNBOOST_PP_SLOT_TEMP_6 == 5
+#    define NDNBOOST_PP_COUNTER_DIGIT_6 5
+# elif NDNBOOST_PP_SLOT_TEMP_6 == 6
+#    define NDNBOOST_PP_COUNTER_DIGIT_6 6
+# elif NDNBOOST_PP_SLOT_TEMP_6 == 7
+#    define NDNBOOST_PP_COUNTER_DIGIT_6 7
+# elif NDNBOOST_PP_SLOT_TEMP_6 == 8
+#    define NDNBOOST_PP_COUNTER_DIGIT_6 8
+# elif NDNBOOST_PP_SLOT_TEMP_6 == 9
+#    define NDNBOOST_PP_COUNTER_DIGIT_6 9
 # endif
 #
-# if BOOST_PP_SLOT_TEMP_5 == 0
-#    define BOOST_PP_COUNTER_DIGIT_5 0
-# elif BOOST_PP_SLOT_TEMP_5 == 1
-#    define BOOST_PP_COUNTER_DIGIT_5 1
-# elif BOOST_PP_SLOT_TEMP_5 == 2
-#    define BOOST_PP_COUNTER_DIGIT_5 2
-# elif BOOST_PP_SLOT_TEMP_5 == 3
-#    define BOOST_PP_COUNTER_DIGIT_5 3
-# elif BOOST_PP_SLOT_TEMP_5 == 4
-#    define BOOST_PP_COUNTER_DIGIT_5 4
-# elif BOOST_PP_SLOT_TEMP_5 == 5
-#    define BOOST_PP_COUNTER_DIGIT_5 5
-# elif BOOST_PP_SLOT_TEMP_5 == 6
-#    define BOOST_PP_COUNTER_DIGIT_5 6
-# elif BOOST_PP_SLOT_TEMP_5 == 7
-#    define BOOST_PP_COUNTER_DIGIT_5 7
-# elif BOOST_PP_SLOT_TEMP_5 == 8
-#    define BOOST_PP_COUNTER_DIGIT_5 8
-# elif BOOST_PP_SLOT_TEMP_5 == 9
-#    define BOOST_PP_COUNTER_DIGIT_5 9
+# if NDNBOOST_PP_SLOT_TEMP_5 == 0
+#    define NDNBOOST_PP_COUNTER_DIGIT_5 0
+# elif NDNBOOST_PP_SLOT_TEMP_5 == 1
+#    define NDNBOOST_PP_COUNTER_DIGIT_5 1
+# elif NDNBOOST_PP_SLOT_TEMP_5 == 2
+#    define NDNBOOST_PP_COUNTER_DIGIT_5 2
+# elif NDNBOOST_PP_SLOT_TEMP_5 == 3
+#    define NDNBOOST_PP_COUNTER_DIGIT_5 3
+# elif NDNBOOST_PP_SLOT_TEMP_5 == 4
+#    define NDNBOOST_PP_COUNTER_DIGIT_5 4
+# elif NDNBOOST_PP_SLOT_TEMP_5 == 5
+#    define NDNBOOST_PP_COUNTER_DIGIT_5 5
+# elif NDNBOOST_PP_SLOT_TEMP_5 == 6
+#    define NDNBOOST_PP_COUNTER_DIGIT_5 6
+# elif NDNBOOST_PP_SLOT_TEMP_5 == 7
+#    define NDNBOOST_PP_COUNTER_DIGIT_5 7
+# elif NDNBOOST_PP_SLOT_TEMP_5 == 8
+#    define NDNBOOST_PP_COUNTER_DIGIT_5 8
+# elif NDNBOOST_PP_SLOT_TEMP_5 == 9
+#    define NDNBOOST_PP_COUNTER_DIGIT_5 9
 # endif
 #
-# if BOOST_PP_SLOT_TEMP_4 == 0
-#    define BOOST_PP_COUNTER_DIGIT_4 0
-# elif BOOST_PP_SLOT_TEMP_4 == 1
-#    define BOOST_PP_COUNTER_DIGIT_4 1
-# elif BOOST_PP_SLOT_TEMP_4 == 2
-#    define BOOST_PP_COUNTER_DIGIT_4 2
-# elif BOOST_PP_SLOT_TEMP_4 == 3
-#    define BOOST_PP_COUNTER_DIGIT_4 3
-# elif BOOST_PP_SLOT_TEMP_4 == 4
-#    define BOOST_PP_COUNTER_DIGIT_4 4
-# elif BOOST_PP_SLOT_TEMP_4 == 5
-#    define BOOST_PP_COUNTER_DIGIT_4 5
-# elif BOOST_PP_SLOT_TEMP_4 == 6
-#    define BOOST_PP_COUNTER_DIGIT_4 6
-# elif BOOST_PP_SLOT_TEMP_4 == 7
-#    define BOOST_PP_COUNTER_DIGIT_4 7
-# elif BOOST_PP_SLOT_TEMP_4 == 8
-#    define BOOST_PP_COUNTER_DIGIT_4 8
-# elif BOOST_PP_SLOT_TEMP_4 == 9
-#    define BOOST_PP_COUNTER_DIGIT_4 9
+# if NDNBOOST_PP_SLOT_TEMP_4 == 0
+#    define NDNBOOST_PP_COUNTER_DIGIT_4 0
+# elif NDNBOOST_PP_SLOT_TEMP_4 == 1
+#    define NDNBOOST_PP_COUNTER_DIGIT_4 1
+# elif NDNBOOST_PP_SLOT_TEMP_4 == 2
+#    define NDNBOOST_PP_COUNTER_DIGIT_4 2
+# elif NDNBOOST_PP_SLOT_TEMP_4 == 3
+#    define NDNBOOST_PP_COUNTER_DIGIT_4 3
+# elif NDNBOOST_PP_SLOT_TEMP_4 == 4
+#    define NDNBOOST_PP_COUNTER_DIGIT_4 4
+# elif NDNBOOST_PP_SLOT_TEMP_4 == 5
+#    define NDNBOOST_PP_COUNTER_DIGIT_4 5
+# elif NDNBOOST_PP_SLOT_TEMP_4 == 6
+#    define NDNBOOST_PP_COUNTER_DIGIT_4 6
+# elif NDNBOOST_PP_SLOT_TEMP_4 == 7
+#    define NDNBOOST_PP_COUNTER_DIGIT_4 7
+# elif NDNBOOST_PP_SLOT_TEMP_4 == 8
+#    define NDNBOOST_PP_COUNTER_DIGIT_4 8
+# elif NDNBOOST_PP_SLOT_TEMP_4 == 9
+#    define NDNBOOST_PP_COUNTER_DIGIT_4 9
 # endif
 #
-# if BOOST_PP_SLOT_TEMP_3 == 0
-#    define BOOST_PP_COUNTER_DIGIT_3 0
-# elif BOOST_PP_SLOT_TEMP_3 == 1
-#    define BOOST_PP_COUNTER_DIGIT_3 1
-# elif BOOST_PP_SLOT_TEMP_3 == 2
-#    define BOOST_PP_COUNTER_DIGIT_3 2
-# elif BOOST_PP_SLOT_TEMP_3 == 3
-#    define BOOST_PP_COUNTER_DIGIT_3 3
-# elif BOOST_PP_SLOT_TEMP_3 == 4
-#    define BOOST_PP_COUNTER_DIGIT_3 4
-# elif BOOST_PP_SLOT_TEMP_3 == 5
-#    define BOOST_PP_COUNTER_DIGIT_3 5
-# elif BOOST_PP_SLOT_TEMP_3 == 6
-#    define BOOST_PP_COUNTER_DIGIT_3 6
-# elif BOOST_PP_SLOT_TEMP_3 == 7
-#    define BOOST_PP_COUNTER_DIGIT_3 7
-# elif BOOST_PP_SLOT_TEMP_3 == 8
-#    define BOOST_PP_COUNTER_DIGIT_3 8
-# elif BOOST_PP_SLOT_TEMP_3 == 9
-#    define BOOST_PP_COUNTER_DIGIT_3 9
+# if NDNBOOST_PP_SLOT_TEMP_3 == 0
+#    define NDNBOOST_PP_COUNTER_DIGIT_3 0
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 1
+#    define NDNBOOST_PP_COUNTER_DIGIT_3 1
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 2
+#    define NDNBOOST_PP_COUNTER_DIGIT_3 2
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 3
+#    define NDNBOOST_PP_COUNTER_DIGIT_3 3
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 4
+#    define NDNBOOST_PP_COUNTER_DIGIT_3 4
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 5
+#    define NDNBOOST_PP_COUNTER_DIGIT_3 5
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 6
+#    define NDNBOOST_PP_COUNTER_DIGIT_3 6
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 7
+#    define NDNBOOST_PP_COUNTER_DIGIT_3 7
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 8
+#    define NDNBOOST_PP_COUNTER_DIGIT_3 8
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 9
+#    define NDNBOOST_PP_COUNTER_DIGIT_3 9
 # endif
 #
-# if BOOST_PP_SLOT_TEMP_2 == 0
-#    define BOOST_PP_COUNTER_DIGIT_2 0
-# elif BOOST_PP_SLOT_TEMP_2 == 1
-#    define BOOST_PP_COUNTER_DIGIT_2 1
-# elif BOOST_PP_SLOT_TEMP_2 == 2
-#    define BOOST_PP_COUNTER_DIGIT_2 2
-# elif BOOST_PP_SLOT_TEMP_2 == 3
-#    define BOOST_PP_COUNTER_DIGIT_2 3
-# elif BOOST_PP_SLOT_TEMP_2 == 4
-#    define BOOST_PP_COUNTER_DIGIT_2 4
-# elif BOOST_PP_SLOT_TEMP_2 == 5
-#    define BOOST_PP_COUNTER_DIGIT_2 5
-# elif BOOST_PP_SLOT_TEMP_2 == 6
-#    define BOOST_PP_COUNTER_DIGIT_2 6
-# elif BOOST_PP_SLOT_TEMP_2 == 7
-#    define BOOST_PP_COUNTER_DIGIT_2 7
-# elif BOOST_PP_SLOT_TEMP_2 == 8
-#    define BOOST_PP_COUNTER_DIGIT_2 8
-# elif BOOST_PP_SLOT_TEMP_2 == 9
-#    define BOOST_PP_COUNTER_DIGIT_2 9
+# if NDNBOOST_PP_SLOT_TEMP_2 == 0
+#    define NDNBOOST_PP_COUNTER_DIGIT_2 0
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 1
+#    define NDNBOOST_PP_COUNTER_DIGIT_2 1
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 2
+#    define NDNBOOST_PP_COUNTER_DIGIT_2 2
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 3
+#    define NDNBOOST_PP_COUNTER_DIGIT_2 3
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 4
+#    define NDNBOOST_PP_COUNTER_DIGIT_2 4
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 5
+#    define NDNBOOST_PP_COUNTER_DIGIT_2 5
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 6
+#    define NDNBOOST_PP_COUNTER_DIGIT_2 6
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 7
+#    define NDNBOOST_PP_COUNTER_DIGIT_2 7
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 8
+#    define NDNBOOST_PP_COUNTER_DIGIT_2 8
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 9
+#    define NDNBOOST_PP_COUNTER_DIGIT_2 9
 # endif
 #
-# if BOOST_PP_SLOT_TEMP_1 == 0
-#    define BOOST_PP_COUNTER_DIGIT_1 0
-# elif BOOST_PP_SLOT_TEMP_1 == 1
-#    define BOOST_PP_COUNTER_DIGIT_1 1
-# elif BOOST_PP_SLOT_TEMP_1 == 2
-#    define BOOST_PP_COUNTER_DIGIT_1 2
-# elif BOOST_PP_SLOT_TEMP_1 == 3
-#    define BOOST_PP_COUNTER_DIGIT_1 3
-# elif BOOST_PP_SLOT_TEMP_1 == 4
-#    define BOOST_PP_COUNTER_DIGIT_1 4
-# elif BOOST_PP_SLOT_TEMP_1 == 5
-#    define BOOST_PP_COUNTER_DIGIT_1 5
-# elif BOOST_PP_SLOT_TEMP_1 == 6
-#    define BOOST_PP_COUNTER_DIGIT_1 6
-# elif BOOST_PP_SLOT_TEMP_1 == 7
-#    define BOOST_PP_COUNTER_DIGIT_1 7
-# elif BOOST_PP_SLOT_TEMP_1 == 8
-#    define BOOST_PP_COUNTER_DIGIT_1 8
-# elif BOOST_PP_SLOT_TEMP_1 == 9
-#    define BOOST_PP_COUNTER_DIGIT_1 9
+# if NDNBOOST_PP_SLOT_TEMP_1 == 0
+#    define NDNBOOST_PP_COUNTER_DIGIT_1 0
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 1
+#    define NDNBOOST_PP_COUNTER_DIGIT_1 1
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 2
+#    define NDNBOOST_PP_COUNTER_DIGIT_1 2
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 3
+#    define NDNBOOST_PP_COUNTER_DIGIT_1 3
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 4
+#    define NDNBOOST_PP_COUNTER_DIGIT_1 4
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 5
+#    define NDNBOOST_PP_COUNTER_DIGIT_1 5
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 6
+#    define NDNBOOST_PP_COUNTER_DIGIT_1 6
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 7
+#    define NDNBOOST_PP_COUNTER_DIGIT_1 7
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 8
+#    define NDNBOOST_PP_COUNTER_DIGIT_1 8
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 9
+#    define NDNBOOST_PP_COUNTER_DIGIT_1 9
 # endif
 #
-# if BOOST_PP_COUNTER_DIGIT_10
-#    define BOOST_PP_COUNTER BOOST_PP_SLOT_CC_10(BOOST_PP_COUNTER_DIGIT_10, BOOST_PP_COUNTER_DIGIT_9, BOOST_PP_COUNTER_DIGIT_8, BOOST_PP_COUNTER_DIGIT_7, BOOST_PP_COUNTER_DIGIT_6, BOOST_PP_COUNTER_DIGIT_5, BOOST_PP_COUNTER_DIGIT_4, BOOST_PP_COUNTER_DIGIT_3, BOOST_PP_COUNTER_DIGIT_2, BOOST_PP_COUNTER_DIGIT_1)
-# elif BOOST_PP_COUNTER_DIGIT_9
-#    define BOOST_PP_COUNTER BOOST_PP_SLOT_CC_9(BOOST_PP_COUNTER_DIGIT_9, BOOST_PP_COUNTER_DIGIT_8, BOOST_PP_COUNTER_DIGIT_7, BOOST_PP_COUNTER_DIGIT_6, BOOST_PP_COUNTER_DIGIT_5, BOOST_PP_COUNTER_DIGIT_4, BOOST_PP_COUNTER_DIGIT_3, BOOST_PP_COUNTER_DIGIT_2, BOOST_PP_COUNTER_DIGIT_1)
-# elif BOOST_PP_COUNTER_DIGIT_8
-#    define BOOST_PP_COUNTER BOOST_PP_SLOT_CC_8(BOOST_PP_COUNTER_DIGIT_8, BOOST_PP_COUNTER_DIGIT_7, BOOST_PP_COUNTER_DIGIT_6, BOOST_PP_COUNTER_DIGIT_5, BOOST_PP_COUNTER_DIGIT_4, BOOST_PP_COUNTER_DIGIT_3, BOOST_PP_COUNTER_DIGIT_2, BOOST_PP_COUNTER_DIGIT_1)
-# elif BOOST_PP_COUNTER_DIGIT_7
-#    define BOOST_PP_COUNTER BOOST_PP_SLOT_CC_7(BOOST_PP_COUNTER_DIGIT_7, BOOST_PP_COUNTER_DIGIT_6, BOOST_PP_COUNTER_DIGIT_5, BOOST_PP_COUNTER_DIGIT_4, BOOST_PP_COUNTER_DIGIT_3, BOOST_PP_COUNTER_DIGIT_2, BOOST_PP_COUNTER_DIGIT_1)
-# elif BOOST_PP_COUNTER_DIGIT_6
-#    define BOOST_PP_COUNTER BOOST_PP_SLOT_CC_6(BOOST_PP_COUNTER_DIGIT_6, BOOST_PP_COUNTER_DIGIT_5, BOOST_PP_COUNTER_DIGIT_4, BOOST_PP_COUNTER_DIGIT_3, BOOST_PP_COUNTER_DIGIT_2, BOOST_PP_COUNTER_DIGIT_1)
-# elif BOOST_PP_COUNTER_DIGIT_5
-#    define BOOST_PP_COUNTER BOOST_PP_SLOT_CC_5(BOOST_PP_COUNTER_DIGIT_5, BOOST_PP_COUNTER_DIGIT_4, BOOST_PP_COUNTER_DIGIT_3, BOOST_PP_COUNTER_DIGIT_2, BOOST_PP_COUNTER_DIGIT_1)
-# elif BOOST_PP_COUNTER_DIGIT_4
-#    define BOOST_PP_COUNTER BOOST_PP_SLOT_CC_4(BOOST_PP_COUNTER_DIGIT_4, BOOST_PP_COUNTER_DIGIT_3, BOOST_PP_COUNTER_DIGIT_2, BOOST_PP_COUNTER_DIGIT_1)
-# elif BOOST_PP_COUNTER_DIGIT_3
-#    define BOOST_PP_COUNTER BOOST_PP_SLOT_CC_3(BOOST_PP_COUNTER_DIGIT_3, BOOST_PP_COUNTER_DIGIT_2, BOOST_PP_COUNTER_DIGIT_1)
-# elif BOOST_PP_COUNTER_DIGIT_2
-#    define BOOST_PP_COUNTER BOOST_PP_SLOT_CC_2(BOOST_PP_COUNTER_DIGIT_2, BOOST_PP_COUNTER_DIGIT_1)
+# if NDNBOOST_PP_COUNTER_DIGIT_10
+#    define NDNBOOST_PP_COUNTER NDNBOOST_PP_SLOT_CC_10(NDNBOOST_PP_COUNTER_DIGIT_10, NDNBOOST_PP_COUNTER_DIGIT_9, NDNBOOST_PP_COUNTER_DIGIT_8, NDNBOOST_PP_COUNTER_DIGIT_7, NDNBOOST_PP_COUNTER_DIGIT_6, NDNBOOST_PP_COUNTER_DIGIT_5, NDNBOOST_PP_COUNTER_DIGIT_4, NDNBOOST_PP_COUNTER_DIGIT_3, NDNBOOST_PP_COUNTER_DIGIT_2, NDNBOOST_PP_COUNTER_DIGIT_1)
+# elif NDNBOOST_PP_COUNTER_DIGIT_9
+#    define NDNBOOST_PP_COUNTER NDNBOOST_PP_SLOT_CC_9(NDNBOOST_PP_COUNTER_DIGIT_9, NDNBOOST_PP_COUNTER_DIGIT_8, NDNBOOST_PP_COUNTER_DIGIT_7, NDNBOOST_PP_COUNTER_DIGIT_6, NDNBOOST_PP_COUNTER_DIGIT_5, NDNBOOST_PP_COUNTER_DIGIT_4, NDNBOOST_PP_COUNTER_DIGIT_3, NDNBOOST_PP_COUNTER_DIGIT_2, NDNBOOST_PP_COUNTER_DIGIT_1)
+# elif NDNBOOST_PP_COUNTER_DIGIT_8
+#    define NDNBOOST_PP_COUNTER NDNBOOST_PP_SLOT_CC_8(NDNBOOST_PP_COUNTER_DIGIT_8, NDNBOOST_PP_COUNTER_DIGIT_7, NDNBOOST_PP_COUNTER_DIGIT_6, NDNBOOST_PP_COUNTER_DIGIT_5, NDNBOOST_PP_COUNTER_DIGIT_4, NDNBOOST_PP_COUNTER_DIGIT_3, NDNBOOST_PP_COUNTER_DIGIT_2, NDNBOOST_PP_COUNTER_DIGIT_1)
+# elif NDNBOOST_PP_COUNTER_DIGIT_7
+#    define NDNBOOST_PP_COUNTER NDNBOOST_PP_SLOT_CC_7(NDNBOOST_PP_COUNTER_DIGIT_7, NDNBOOST_PP_COUNTER_DIGIT_6, NDNBOOST_PP_COUNTER_DIGIT_5, NDNBOOST_PP_COUNTER_DIGIT_4, NDNBOOST_PP_COUNTER_DIGIT_3, NDNBOOST_PP_COUNTER_DIGIT_2, NDNBOOST_PP_COUNTER_DIGIT_1)
+# elif NDNBOOST_PP_COUNTER_DIGIT_6
+#    define NDNBOOST_PP_COUNTER NDNBOOST_PP_SLOT_CC_6(NDNBOOST_PP_COUNTER_DIGIT_6, NDNBOOST_PP_COUNTER_DIGIT_5, NDNBOOST_PP_COUNTER_DIGIT_4, NDNBOOST_PP_COUNTER_DIGIT_3, NDNBOOST_PP_COUNTER_DIGIT_2, NDNBOOST_PP_COUNTER_DIGIT_1)
+# elif NDNBOOST_PP_COUNTER_DIGIT_5
+#    define NDNBOOST_PP_COUNTER NDNBOOST_PP_SLOT_CC_5(NDNBOOST_PP_COUNTER_DIGIT_5, NDNBOOST_PP_COUNTER_DIGIT_4, NDNBOOST_PP_COUNTER_DIGIT_3, NDNBOOST_PP_COUNTER_DIGIT_2, NDNBOOST_PP_COUNTER_DIGIT_1)
+# elif NDNBOOST_PP_COUNTER_DIGIT_4
+#    define NDNBOOST_PP_COUNTER NDNBOOST_PP_SLOT_CC_4(NDNBOOST_PP_COUNTER_DIGIT_4, NDNBOOST_PP_COUNTER_DIGIT_3, NDNBOOST_PP_COUNTER_DIGIT_2, NDNBOOST_PP_COUNTER_DIGIT_1)
+# elif NDNBOOST_PP_COUNTER_DIGIT_3
+#    define NDNBOOST_PP_COUNTER NDNBOOST_PP_SLOT_CC_3(NDNBOOST_PP_COUNTER_DIGIT_3, NDNBOOST_PP_COUNTER_DIGIT_2, NDNBOOST_PP_COUNTER_DIGIT_1)
+# elif NDNBOOST_PP_COUNTER_DIGIT_2
+#    define NDNBOOST_PP_COUNTER NDNBOOST_PP_SLOT_CC_2(NDNBOOST_PP_COUNTER_DIGIT_2, NDNBOOST_PP_COUNTER_DIGIT_1)
 # else
-#    define BOOST_PP_COUNTER BOOST_PP_COUNTER_DIGIT_1
+#    define NDNBOOST_PP_COUNTER NDNBOOST_PP_COUNTER_DIGIT_1
 # endif
diff --git a/include/ndnboost/preprocessor/slot/detail/def.hpp b/include/ndnboost/preprocessor/slot/detail/def.hpp
index 885099e..0584971 100644
--- a/include/ndnboost/preprocessor/slot/detail/def.hpp
+++ b/include/ndnboost/preprocessor/slot/detail/def.hpp
@@ -9,41 +9,41 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_SLOT_DETAIL_DEF_HPP
-# define BOOST_PREPROCESSOR_SLOT_DETAIL_DEF_HPP
+# ifndef NDNBOOST_PREPROCESSOR_SLOT_DETAIL_DEF_HPP
+# define NDNBOOST_PREPROCESSOR_SLOT_DETAIL_DEF_HPP
 #
-# /* BOOST_PP_SLOT_OFFSET_x */
+# /* NDNBOOST_PP_SLOT_OFFSET_x */
 #
-# define BOOST_PP_SLOT_OFFSET_10(x) (x) % 1000000000UL
-# define BOOST_PP_SLOT_OFFSET_9(x) BOOST_PP_SLOT_OFFSET_10(x) % 100000000UL
-# define BOOST_PP_SLOT_OFFSET_8(x) BOOST_PP_SLOT_OFFSET_9(x) % 10000000UL
-# define BOOST_PP_SLOT_OFFSET_7(x) BOOST_PP_SLOT_OFFSET_8(x) % 1000000UL
-# define BOOST_PP_SLOT_OFFSET_6(x) BOOST_PP_SLOT_OFFSET_7(x) % 100000UL
-# define BOOST_PP_SLOT_OFFSET_5(x) BOOST_PP_SLOT_OFFSET_6(x) % 10000UL
-# define BOOST_PP_SLOT_OFFSET_4(x) BOOST_PP_SLOT_OFFSET_5(x) % 1000UL
-# define BOOST_PP_SLOT_OFFSET_3(x) BOOST_PP_SLOT_OFFSET_4(x) % 100UL
-# define BOOST_PP_SLOT_OFFSET_2(x) BOOST_PP_SLOT_OFFSET_3(x) % 10UL
+# define NDNBOOST_PP_SLOT_OFFSET_10(x) (x) % 1000000000UL
+# define NDNBOOST_PP_SLOT_OFFSET_9(x) NDNBOOST_PP_SLOT_OFFSET_10(x) % 100000000UL
+# define NDNBOOST_PP_SLOT_OFFSET_8(x) NDNBOOST_PP_SLOT_OFFSET_9(x) % 10000000UL
+# define NDNBOOST_PP_SLOT_OFFSET_7(x) NDNBOOST_PP_SLOT_OFFSET_8(x) % 1000000UL
+# define NDNBOOST_PP_SLOT_OFFSET_6(x) NDNBOOST_PP_SLOT_OFFSET_7(x) % 100000UL
+# define NDNBOOST_PP_SLOT_OFFSET_5(x) NDNBOOST_PP_SLOT_OFFSET_6(x) % 10000UL
+# define NDNBOOST_PP_SLOT_OFFSET_4(x) NDNBOOST_PP_SLOT_OFFSET_5(x) % 1000UL
+# define NDNBOOST_PP_SLOT_OFFSET_3(x) NDNBOOST_PP_SLOT_OFFSET_4(x) % 100UL
+# define NDNBOOST_PP_SLOT_OFFSET_2(x) NDNBOOST_PP_SLOT_OFFSET_3(x) % 10UL
 #
-# /* BOOST_PP_SLOT_CC_x */
+# /* NDNBOOST_PP_SLOT_CC_x */
 #
-# define BOOST_PP_SLOT_CC_2(a, b) BOOST_PP_SLOT_CC_2_D(a, b)
-# define BOOST_PP_SLOT_CC_3(a, b, c) BOOST_PP_SLOT_CC_3_D(a, b, c)
-# define BOOST_PP_SLOT_CC_4(a, b, c, d) BOOST_PP_SLOT_CC_4_D(a, b, c, d)
-# define BOOST_PP_SLOT_CC_5(a, b, c, d, e) BOOST_PP_SLOT_CC_5_D(a, b, c, d, e)
-# define BOOST_PP_SLOT_CC_6(a, b, c, d, e, f) BOOST_PP_SLOT_CC_6_D(a, b, c, d, e, f)
-# define BOOST_PP_SLOT_CC_7(a, b, c, d, e, f, g) BOOST_PP_SLOT_CC_7_D(a, b, c, d, e, f, g)
-# define BOOST_PP_SLOT_CC_8(a, b, c, d, e, f, g, h) BOOST_PP_SLOT_CC_8_D(a, b, c, d, e, f, g, h)
-# define BOOST_PP_SLOT_CC_9(a, b, c, d, e, f, g, h, i) BOOST_PP_SLOT_CC_9_D(a, b, c, d, e, f, g, h, i)
-# define BOOST_PP_SLOT_CC_10(a, b, c, d, e, f, g, h, i, j) BOOST_PP_SLOT_CC_10_D(a, b, c, d, e, f, g, h, i, j)
+# define NDNBOOST_PP_SLOT_CC_2(a, b) NDNBOOST_PP_SLOT_CC_2_D(a, b)
+# define NDNBOOST_PP_SLOT_CC_3(a, b, c) NDNBOOST_PP_SLOT_CC_3_D(a, b, c)
+# define NDNBOOST_PP_SLOT_CC_4(a, b, c, d) NDNBOOST_PP_SLOT_CC_4_D(a, b, c, d)
+# define NDNBOOST_PP_SLOT_CC_5(a, b, c, d, e) NDNBOOST_PP_SLOT_CC_5_D(a, b, c, d, e)
+# define NDNBOOST_PP_SLOT_CC_6(a, b, c, d, e, f) NDNBOOST_PP_SLOT_CC_6_D(a, b, c, d, e, f)
+# define NDNBOOST_PP_SLOT_CC_7(a, b, c, d, e, f, g) NDNBOOST_PP_SLOT_CC_7_D(a, b, c, d, e, f, g)
+# define NDNBOOST_PP_SLOT_CC_8(a, b, c, d, e, f, g, h) NDNBOOST_PP_SLOT_CC_8_D(a, b, c, d, e, f, g, h)
+# define NDNBOOST_PP_SLOT_CC_9(a, b, c, d, e, f, g, h, i) NDNBOOST_PP_SLOT_CC_9_D(a, b, c, d, e, f, g, h, i)
+# define NDNBOOST_PP_SLOT_CC_10(a, b, c, d, e, f, g, h, i, j) NDNBOOST_PP_SLOT_CC_10_D(a, b, c, d, e, f, g, h, i, j)
 #
-# define BOOST_PP_SLOT_CC_2_D(a, b) a ## b
-# define BOOST_PP_SLOT_CC_3_D(a, b, c) a ## b ## c
-# define BOOST_PP_SLOT_CC_4_D(a, b, c, d) a ## b ## c ## d
-# define BOOST_PP_SLOT_CC_5_D(a, b, c, d, e) a ## b ## c ## d ## e
-# define BOOST_PP_SLOT_CC_6_D(a, b, c, d, e, f) a ## b ## c ## d ## e ## f
-# define BOOST_PP_SLOT_CC_7_D(a, b, c, d, e, f, g) a ## b ## c ## d ## e ## f ## g
-# define BOOST_PP_SLOT_CC_8_D(a, b, c, d, e, f, g, h) a ## b ## c ## d ## e ## f ## g ## h
-# define BOOST_PP_SLOT_CC_9_D(a, b, c, d, e, f, g, h, i) a ## b ## c ## d ## e ## f ## g ## h ## i
-# define BOOST_PP_SLOT_CC_10_D(a, b, c, d, e, f, g, h, i, j) a ## b ## c ## d ## e ## f ## g ## h ## i ## j
+# define NDNBOOST_PP_SLOT_CC_2_D(a, b) a ## b
+# define NDNBOOST_PP_SLOT_CC_3_D(a, b, c) a ## b ## c
+# define NDNBOOST_PP_SLOT_CC_4_D(a, b, c, d) a ## b ## c ## d
+# define NDNBOOST_PP_SLOT_CC_5_D(a, b, c, d, e) a ## b ## c ## d ## e
+# define NDNBOOST_PP_SLOT_CC_6_D(a, b, c, d, e, f) a ## b ## c ## d ## e ## f
+# define NDNBOOST_PP_SLOT_CC_7_D(a, b, c, d, e, f, g) a ## b ## c ## d ## e ## f ## g
+# define NDNBOOST_PP_SLOT_CC_8_D(a, b, c, d, e, f, g, h) a ## b ## c ## d ## e ## f ## g ## h
+# define NDNBOOST_PP_SLOT_CC_9_D(a, b, c, d, e, f, g, h, i) a ## b ## c ## d ## e ## f ## g ## h ## i
+# define NDNBOOST_PP_SLOT_CC_10_D(a, b, c, d, e, f, g, h, i, j) a ## b ## c ## d ## e ## f ## g ## h ## i ## j
 #
 # endif
diff --git a/include/ndnboost/preprocessor/slot/detail/shared.hpp b/include/ndnboost/preprocessor/slot/detail/shared.hpp
index c97ac54..e78d3b0 100644
--- a/include/ndnboost/preprocessor/slot/detail/shared.hpp
+++ b/include/ndnboost/preprocessor/slot/detail/shared.hpp
@@ -9,239 +9,239 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PP_VALUE
-#    error BOOST_PP_ERROR:  BOOST_PP_VALUE is not defined
+# ifndef NDNBOOST_PP_VALUE
+#    error NDNBOOST_PP_ERROR:  NDNBOOST_PP_VALUE is not defined
 # endif
 #
-# undef BOOST_PP_SLOT_TEMP_1
-# undef BOOST_PP_SLOT_TEMP_2
-# undef BOOST_PP_SLOT_TEMP_3
-# undef BOOST_PP_SLOT_TEMP_4
-# undef BOOST_PP_SLOT_TEMP_5
-# undef BOOST_PP_SLOT_TEMP_6
-# undef BOOST_PP_SLOT_TEMP_7
-# undef BOOST_PP_SLOT_TEMP_8
-# undef BOOST_PP_SLOT_TEMP_9
-# undef BOOST_PP_SLOT_TEMP_10
+# undef NDNBOOST_PP_SLOT_TEMP_1
+# undef NDNBOOST_PP_SLOT_TEMP_2
+# undef NDNBOOST_PP_SLOT_TEMP_3
+# undef NDNBOOST_PP_SLOT_TEMP_4
+# undef NDNBOOST_PP_SLOT_TEMP_5
+# undef NDNBOOST_PP_SLOT_TEMP_6
+# undef NDNBOOST_PP_SLOT_TEMP_7
+# undef NDNBOOST_PP_SLOT_TEMP_8
+# undef NDNBOOST_PP_SLOT_TEMP_9
+# undef NDNBOOST_PP_SLOT_TEMP_10
 #
-# if (BOOST_PP_VALUE) / 1000000000UL == 0
-#    define BOOST_PP_SLOT_TEMP_10 0
-# elif (BOOST_PP_VALUE) / 1000000000UL == 1
-#    define BOOST_PP_SLOT_TEMP_10 1
-# elif (BOOST_PP_VALUE) / 1000000000UL == 2
-#    define BOOST_PP_SLOT_TEMP_10 2
-# elif (BOOST_PP_VALUE) / 1000000000UL == 3
-#    define BOOST_PP_SLOT_TEMP_10 3
-# elif (BOOST_PP_VALUE) / 1000000000UL == 4
-#    define BOOST_PP_SLOT_TEMP_10 4
-# elif (BOOST_PP_VALUE) / 1000000000UL == 5
-#    define BOOST_PP_SLOT_TEMP_10 5
-# elif (BOOST_PP_VALUE) / 1000000000UL == 6
-#    define BOOST_PP_SLOT_TEMP_10 6
-# elif (BOOST_PP_VALUE) / 1000000000UL == 7
-#    define BOOST_PP_SLOT_TEMP_10 7
-# elif (BOOST_PP_VALUE) / 1000000000UL == 8
-#    define BOOST_PP_SLOT_TEMP_10 8
-# elif (BOOST_PP_VALUE) / 1000000000UL == 9
-#    define BOOST_PP_SLOT_TEMP_10 9
+# if (NDNBOOST_PP_VALUE) / 1000000000UL == 0
+#    define NDNBOOST_PP_SLOT_TEMP_10 0
+# elif (NDNBOOST_PP_VALUE) / 1000000000UL == 1
+#    define NDNBOOST_PP_SLOT_TEMP_10 1
+# elif (NDNBOOST_PP_VALUE) / 1000000000UL == 2
+#    define NDNBOOST_PP_SLOT_TEMP_10 2
+# elif (NDNBOOST_PP_VALUE) / 1000000000UL == 3
+#    define NDNBOOST_PP_SLOT_TEMP_10 3
+# elif (NDNBOOST_PP_VALUE) / 1000000000UL == 4
+#    define NDNBOOST_PP_SLOT_TEMP_10 4
+# elif (NDNBOOST_PP_VALUE) / 1000000000UL == 5
+#    define NDNBOOST_PP_SLOT_TEMP_10 5
+# elif (NDNBOOST_PP_VALUE) / 1000000000UL == 6
+#    define NDNBOOST_PP_SLOT_TEMP_10 6
+# elif (NDNBOOST_PP_VALUE) / 1000000000UL == 7
+#    define NDNBOOST_PP_SLOT_TEMP_10 7
+# elif (NDNBOOST_PP_VALUE) / 1000000000UL == 8
+#    define NDNBOOST_PP_SLOT_TEMP_10 8
+# elif (NDNBOOST_PP_VALUE) / 1000000000UL == 9
+#    define NDNBOOST_PP_SLOT_TEMP_10 9
 # endif
 #
-# if BOOST_PP_SLOT_OFFSET_10(BOOST_PP_VALUE) / 100000000UL == 0
-#    define BOOST_PP_SLOT_TEMP_9 0
-# elif BOOST_PP_SLOT_OFFSET_10(BOOST_PP_VALUE) / 100000000UL == 1
-#    define BOOST_PP_SLOT_TEMP_9 1
-# elif BOOST_PP_SLOT_OFFSET_10(BOOST_PP_VALUE) / 100000000UL == 2
-#    define BOOST_PP_SLOT_TEMP_9 2
-# elif BOOST_PP_SLOT_OFFSET_10(BOOST_PP_VALUE) / 100000000UL == 3
-#    define BOOST_PP_SLOT_TEMP_9 3
-# elif BOOST_PP_SLOT_OFFSET_10(BOOST_PP_VALUE) / 100000000UL == 4
-#    define BOOST_PP_SLOT_TEMP_9 4
-# elif BOOST_PP_SLOT_OFFSET_10(BOOST_PP_VALUE) / 100000000UL == 5
-#    define BOOST_PP_SLOT_TEMP_9 5
-# elif BOOST_PP_SLOT_OFFSET_10(BOOST_PP_VALUE) / 100000000UL == 6
-#    define BOOST_PP_SLOT_TEMP_9 6
-# elif BOOST_PP_SLOT_OFFSET_10(BOOST_PP_VALUE) / 100000000UL == 7
-#    define BOOST_PP_SLOT_TEMP_9 7
-# elif BOOST_PP_SLOT_OFFSET_10(BOOST_PP_VALUE) / 100000000UL == 8
-#    define BOOST_PP_SLOT_TEMP_9 8
-# elif BOOST_PP_SLOT_OFFSET_10(BOOST_PP_VALUE) / 100000000UL == 9
-#    define BOOST_PP_SLOT_TEMP_9 9
+# if NDNBOOST_PP_SLOT_OFFSET_10(NDNBOOST_PP_VALUE) / 100000000UL == 0
+#    define NDNBOOST_PP_SLOT_TEMP_9 0
+# elif NDNBOOST_PP_SLOT_OFFSET_10(NDNBOOST_PP_VALUE) / 100000000UL == 1
+#    define NDNBOOST_PP_SLOT_TEMP_9 1
+# elif NDNBOOST_PP_SLOT_OFFSET_10(NDNBOOST_PP_VALUE) / 100000000UL == 2
+#    define NDNBOOST_PP_SLOT_TEMP_9 2
+# elif NDNBOOST_PP_SLOT_OFFSET_10(NDNBOOST_PP_VALUE) / 100000000UL == 3
+#    define NDNBOOST_PP_SLOT_TEMP_9 3
+# elif NDNBOOST_PP_SLOT_OFFSET_10(NDNBOOST_PP_VALUE) / 100000000UL == 4
+#    define NDNBOOST_PP_SLOT_TEMP_9 4
+# elif NDNBOOST_PP_SLOT_OFFSET_10(NDNBOOST_PP_VALUE) / 100000000UL == 5
+#    define NDNBOOST_PP_SLOT_TEMP_9 5
+# elif NDNBOOST_PP_SLOT_OFFSET_10(NDNBOOST_PP_VALUE) / 100000000UL == 6
+#    define NDNBOOST_PP_SLOT_TEMP_9 6
+# elif NDNBOOST_PP_SLOT_OFFSET_10(NDNBOOST_PP_VALUE) / 100000000UL == 7
+#    define NDNBOOST_PP_SLOT_TEMP_9 7
+# elif NDNBOOST_PP_SLOT_OFFSET_10(NDNBOOST_PP_VALUE) / 100000000UL == 8
+#    define NDNBOOST_PP_SLOT_TEMP_9 8
+# elif NDNBOOST_PP_SLOT_OFFSET_10(NDNBOOST_PP_VALUE) / 100000000UL == 9
+#    define NDNBOOST_PP_SLOT_TEMP_9 9
 # endif
 #
-# if BOOST_PP_SLOT_OFFSET_9(BOOST_PP_VALUE) / 10000000UL == 0
-#    define BOOST_PP_SLOT_TEMP_8 0
-# elif BOOST_PP_SLOT_OFFSET_9(BOOST_PP_VALUE) / 10000000UL == 1
-#    define BOOST_PP_SLOT_TEMP_8 1
-# elif BOOST_PP_SLOT_OFFSET_9(BOOST_PP_VALUE) / 10000000UL == 2
-#    define BOOST_PP_SLOT_TEMP_8 2
-# elif BOOST_PP_SLOT_OFFSET_9(BOOST_PP_VALUE) / 10000000UL == 3
-#    define BOOST_PP_SLOT_TEMP_8 3
-# elif BOOST_PP_SLOT_OFFSET_9(BOOST_PP_VALUE) / 10000000UL == 4
-#    define BOOST_PP_SLOT_TEMP_8 4
-# elif BOOST_PP_SLOT_OFFSET_9(BOOST_PP_VALUE) / 10000000UL == 5
-#    define BOOST_PP_SLOT_TEMP_8 5
-# elif BOOST_PP_SLOT_OFFSET_9(BOOST_PP_VALUE) / 10000000UL == 6
-#    define BOOST_PP_SLOT_TEMP_8 6
-# elif BOOST_PP_SLOT_OFFSET_9(BOOST_PP_VALUE) / 10000000UL == 7
-#    define BOOST_PP_SLOT_TEMP_8 7
-# elif BOOST_PP_SLOT_OFFSET_9(BOOST_PP_VALUE) / 10000000UL == 8
-#    define BOOST_PP_SLOT_TEMP_8 8
-# elif BOOST_PP_SLOT_OFFSET_9(BOOST_PP_VALUE) / 10000000UL == 9
-#    define BOOST_PP_SLOT_TEMP_8 9
+# if NDNBOOST_PP_SLOT_OFFSET_9(NDNBOOST_PP_VALUE) / 10000000UL == 0
+#    define NDNBOOST_PP_SLOT_TEMP_8 0
+# elif NDNBOOST_PP_SLOT_OFFSET_9(NDNBOOST_PP_VALUE) / 10000000UL == 1
+#    define NDNBOOST_PP_SLOT_TEMP_8 1
+# elif NDNBOOST_PP_SLOT_OFFSET_9(NDNBOOST_PP_VALUE) / 10000000UL == 2
+#    define NDNBOOST_PP_SLOT_TEMP_8 2
+# elif NDNBOOST_PP_SLOT_OFFSET_9(NDNBOOST_PP_VALUE) / 10000000UL == 3
+#    define NDNBOOST_PP_SLOT_TEMP_8 3
+# elif NDNBOOST_PP_SLOT_OFFSET_9(NDNBOOST_PP_VALUE) / 10000000UL == 4
+#    define NDNBOOST_PP_SLOT_TEMP_8 4
+# elif NDNBOOST_PP_SLOT_OFFSET_9(NDNBOOST_PP_VALUE) / 10000000UL == 5
+#    define NDNBOOST_PP_SLOT_TEMP_8 5
+# elif NDNBOOST_PP_SLOT_OFFSET_9(NDNBOOST_PP_VALUE) / 10000000UL == 6
+#    define NDNBOOST_PP_SLOT_TEMP_8 6
+# elif NDNBOOST_PP_SLOT_OFFSET_9(NDNBOOST_PP_VALUE) / 10000000UL == 7
+#    define NDNBOOST_PP_SLOT_TEMP_8 7
+# elif NDNBOOST_PP_SLOT_OFFSET_9(NDNBOOST_PP_VALUE) / 10000000UL == 8
+#    define NDNBOOST_PP_SLOT_TEMP_8 8
+# elif NDNBOOST_PP_SLOT_OFFSET_9(NDNBOOST_PP_VALUE) / 10000000UL == 9
+#    define NDNBOOST_PP_SLOT_TEMP_8 9
 # endif
 #
-# if BOOST_PP_SLOT_OFFSET_8(BOOST_PP_VALUE) / 1000000UL == 0
-#    define BOOST_PP_SLOT_TEMP_7 0
-# elif BOOST_PP_SLOT_OFFSET_8(BOOST_PP_VALUE) / 1000000UL == 1
-#    define BOOST_PP_SLOT_TEMP_7 1
-# elif BOOST_PP_SLOT_OFFSET_8(BOOST_PP_VALUE) / 1000000UL == 2
-#    define BOOST_PP_SLOT_TEMP_7 2
-# elif BOOST_PP_SLOT_OFFSET_8(BOOST_PP_VALUE) / 1000000UL == 3
-#    define BOOST_PP_SLOT_TEMP_7 3
-# elif BOOST_PP_SLOT_OFFSET_8(BOOST_PP_VALUE) / 1000000UL == 4
-#    define BOOST_PP_SLOT_TEMP_7 4
-# elif BOOST_PP_SLOT_OFFSET_8(BOOST_PP_VALUE) / 1000000UL == 5
-#    define BOOST_PP_SLOT_TEMP_7 5
-# elif BOOST_PP_SLOT_OFFSET_8(BOOST_PP_VALUE) / 1000000UL == 6
-#    define BOOST_PP_SLOT_TEMP_7 6
-# elif BOOST_PP_SLOT_OFFSET_8(BOOST_PP_VALUE) / 1000000UL == 7
-#    define BOOST_PP_SLOT_TEMP_7 7
-# elif BOOST_PP_SLOT_OFFSET_8(BOOST_PP_VALUE) / 1000000UL == 8
-#    define BOOST_PP_SLOT_TEMP_7 8
-# elif BOOST_PP_SLOT_OFFSET_8(BOOST_PP_VALUE) / 1000000UL == 9
-#    define BOOST_PP_SLOT_TEMP_7 9
+# if NDNBOOST_PP_SLOT_OFFSET_8(NDNBOOST_PP_VALUE) / 1000000UL == 0
+#    define NDNBOOST_PP_SLOT_TEMP_7 0
+# elif NDNBOOST_PP_SLOT_OFFSET_8(NDNBOOST_PP_VALUE) / 1000000UL == 1
+#    define NDNBOOST_PP_SLOT_TEMP_7 1
+# elif NDNBOOST_PP_SLOT_OFFSET_8(NDNBOOST_PP_VALUE) / 1000000UL == 2
+#    define NDNBOOST_PP_SLOT_TEMP_7 2
+# elif NDNBOOST_PP_SLOT_OFFSET_8(NDNBOOST_PP_VALUE) / 1000000UL == 3
+#    define NDNBOOST_PP_SLOT_TEMP_7 3
+# elif NDNBOOST_PP_SLOT_OFFSET_8(NDNBOOST_PP_VALUE) / 1000000UL == 4
+#    define NDNBOOST_PP_SLOT_TEMP_7 4
+# elif NDNBOOST_PP_SLOT_OFFSET_8(NDNBOOST_PP_VALUE) / 1000000UL == 5
+#    define NDNBOOST_PP_SLOT_TEMP_7 5
+# elif NDNBOOST_PP_SLOT_OFFSET_8(NDNBOOST_PP_VALUE) / 1000000UL == 6
+#    define NDNBOOST_PP_SLOT_TEMP_7 6
+# elif NDNBOOST_PP_SLOT_OFFSET_8(NDNBOOST_PP_VALUE) / 1000000UL == 7
+#    define NDNBOOST_PP_SLOT_TEMP_7 7
+# elif NDNBOOST_PP_SLOT_OFFSET_8(NDNBOOST_PP_VALUE) / 1000000UL == 8
+#    define NDNBOOST_PP_SLOT_TEMP_7 8
+# elif NDNBOOST_PP_SLOT_OFFSET_8(NDNBOOST_PP_VALUE) / 1000000UL == 9
+#    define NDNBOOST_PP_SLOT_TEMP_7 9
 # endif
 #
-# if BOOST_PP_SLOT_OFFSET_7(BOOST_PP_VALUE) / 100000UL == 0
-#    define BOOST_PP_SLOT_TEMP_6 0
-# elif BOOST_PP_SLOT_OFFSET_7(BOOST_PP_VALUE) / 100000UL == 1
-#    define BOOST_PP_SLOT_TEMP_6 1
-# elif BOOST_PP_SLOT_OFFSET_7(BOOST_PP_VALUE) / 100000UL == 2
-#    define BOOST_PP_SLOT_TEMP_6 2
-# elif BOOST_PP_SLOT_OFFSET_7(BOOST_PP_VALUE) / 100000UL == 3
-#    define BOOST_PP_SLOT_TEMP_6 3
-# elif BOOST_PP_SLOT_OFFSET_7(BOOST_PP_VALUE) / 100000UL == 4
-#    define BOOST_PP_SLOT_TEMP_6 4
-# elif BOOST_PP_SLOT_OFFSET_7(BOOST_PP_VALUE) / 100000UL == 5
-#    define BOOST_PP_SLOT_TEMP_6 5
-# elif BOOST_PP_SLOT_OFFSET_7(BOOST_PP_VALUE) / 100000UL == 6
-#    define BOOST_PP_SLOT_TEMP_6 6
-# elif BOOST_PP_SLOT_OFFSET_7(BOOST_PP_VALUE) / 100000UL == 7
-#    define BOOST_PP_SLOT_TEMP_6 7
-# elif BOOST_PP_SLOT_OFFSET_7(BOOST_PP_VALUE) / 100000UL == 8
-#    define BOOST_PP_SLOT_TEMP_6 8
-# elif BOOST_PP_SLOT_OFFSET_7(BOOST_PP_VALUE) / 100000UL == 9
-#    define BOOST_PP_SLOT_TEMP_6 9
+# if NDNBOOST_PP_SLOT_OFFSET_7(NDNBOOST_PP_VALUE) / 100000UL == 0
+#    define NDNBOOST_PP_SLOT_TEMP_6 0
+# elif NDNBOOST_PP_SLOT_OFFSET_7(NDNBOOST_PP_VALUE) / 100000UL == 1
+#    define NDNBOOST_PP_SLOT_TEMP_6 1
+# elif NDNBOOST_PP_SLOT_OFFSET_7(NDNBOOST_PP_VALUE) / 100000UL == 2
+#    define NDNBOOST_PP_SLOT_TEMP_6 2
+# elif NDNBOOST_PP_SLOT_OFFSET_7(NDNBOOST_PP_VALUE) / 100000UL == 3
+#    define NDNBOOST_PP_SLOT_TEMP_6 3
+# elif NDNBOOST_PP_SLOT_OFFSET_7(NDNBOOST_PP_VALUE) / 100000UL == 4
+#    define NDNBOOST_PP_SLOT_TEMP_6 4
+# elif NDNBOOST_PP_SLOT_OFFSET_7(NDNBOOST_PP_VALUE) / 100000UL == 5
+#    define NDNBOOST_PP_SLOT_TEMP_6 5
+# elif NDNBOOST_PP_SLOT_OFFSET_7(NDNBOOST_PP_VALUE) / 100000UL == 6
+#    define NDNBOOST_PP_SLOT_TEMP_6 6
+# elif NDNBOOST_PP_SLOT_OFFSET_7(NDNBOOST_PP_VALUE) / 100000UL == 7
+#    define NDNBOOST_PP_SLOT_TEMP_6 7
+# elif NDNBOOST_PP_SLOT_OFFSET_7(NDNBOOST_PP_VALUE) / 100000UL == 8
+#    define NDNBOOST_PP_SLOT_TEMP_6 8
+# elif NDNBOOST_PP_SLOT_OFFSET_7(NDNBOOST_PP_VALUE) / 100000UL == 9
+#    define NDNBOOST_PP_SLOT_TEMP_6 9
 # endif
 #
-# if BOOST_PP_SLOT_OFFSET_6(BOOST_PP_VALUE) / 10000UL == 0
-#    define BOOST_PP_SLOT_TEMP_5 0
-# elif BOOST_PP_SLOT_OFFSET_6(BOOST_PP_VALUE) / 10000UL == 1
-#    define BOOST_PP_SLOT_TEMP_5 1
-# elif BOOST_PP_SLOT_OFFSET_6(BOOST_PP_VALUE) / 10000UL == 2
-#    define BOOST_PP_SLOT_TEMP_5 2
-# elif BOOST_PP_SLOT_OFFSET_6(BOOST_PP_VALUE) / 10000UL == 3
-#    define BOOST_PP_SLOT_TEMP_5 3
-# elif BOOST_PP_SLOT_OFFSET_6(BOOST_PP_VALUE) / 10000UL == 4
-#    define BOOST_PP_SLOT_TEMP_5 4
-# elif BOOST_PP_SLOT_OFFSET_6(BOOST_PP_VALUE) / 10000UL == 5
-#    define BOOST_PP_SLOT_TEMP_5 5
-# elif BOOST_PP_SLOT_OFFSET_6(BOOST_PP_VALUE) / 10000UL == 6
-#    define BOOST_PP_SLOT_TEMP_5 6
-# elif BOOST_PP_SLOT_OFFSET_6(BOOST_PP_VALUE) / 10000UL == 7
-#    define BOOST_PP_SLOT_TEMP_5 7
-# elif BOOST_PP_SLOT_OFFSET_6(BOOST_PP_VALUE) / 10000UL == 8
-#    define BOOST_PP_SLOT_TEMP_5 8
-# elif BOOST_PP_SLOT_OFFSET_6(BOOST_PP_VALUE) / 10000UL == 9
-#    define BOOST_PP_SLOT_TEMP_5 9
+# if NDNBOOST_PP_SLOT_OFFSET_6(NDNBOOST_PP_VALUE) / 10000UL == 0
+#    define NDNBOOST_PP_SLOT_TEMP_5 0
+# elif NDNBOOST_PP_SLOT_OFFSET_6(NDNBOOST_PP_VALUE) / 10000UL == 1
+#    define NDNBOOST_PP_SLOT_TEMP_5 1
+# elif NDNBOOST_PP_SLOT_OFFSET_6(NDNBOOST_PP_VALUE) / 10000UL == 2
+#    define NDNBOOST_PP_SLOT_TEMP_5 2
+# elif NDNBOOST_PP_SLOT_OFFSET_6(NDNBOOST_PP_VALUE) / 10000UL == 3
+#    define NDNBOOST_PP_SLOT_TEMP_5 3
+# elif NDNBOOST_PP_SLOT_OFFSET_6(NDNBOOST_PP_VALUE) / 10000UL == 4
+#    define NDNBOOST_PP_SLOT_TEMP_5 4
+# elif NDNBOOST_PP_SLOT_OFFSET_6(NDNBOOST_PP_VALUE) / 10000UL == 5
+#    define NDNBOOST_PP_SLOT_TEMP_5 5
+# elif NDNBOOST_PP_SLOT_OFFSET_6(NDNBOOST_PP_VALUE) / 10000UL == 6
+#    define NDNBOOST_PP_SLOT_TEMP_5 6
+# elif NDNBOOST_PP_SLOT_OFFSET_6(NDNBOOST_PP_VALUE) / 10000UL == 7
+#    define NDNBOOST_PP_SLOT_TEMP_5 7
+# elif NDNBOOST_PP_SLOT_OFFSET_6(NDNBOOST_PP_VALUE) / 10000UL == 8
+#    define NDNBOOST_PP_SLOT_TEMP_5 8
+# elif NDNBOOST_PP_SLOT_OFFSET_6(NDNBOOST_PP_VALUE) / 10000UL == 9
+#    define NDNBOOST_PP_SLOT_TEMP_5 9
 # endif
 #
-# if BOOST_PP_SLOT_OFFSET_5(BOOST_PP_VALUE) / 1000UL == 0
-#    define BOOST_PP_SLOT_TEMP_4 0
-# elif BOOST_PP_SLOT_OFFSET_5(BOOST_PP_VALUE) / 1000UL == 1
-#    define BOOST_PP_SLOT_TEMP_4 1
-# elif BOOST_PP_SLOT_OFFSET_5(BOOST_PP_VALUE) / 1000UL == 2
-#    define BOOST_PP_SLOT_TEMP_4 2
-# elif BOOST_PP_SLOT_OFFSET_5(BOOST_PP_VALUE) / 1000UL == 3
-#    define BOOST_PP_SLOT_TEMP_4 3
-# elif BOOST_PP_SLOT_OFFSET_5(BOOST_PP_VALUE) / 1000UL == 4
-#    define BOOST_PP_SLOT_TEMP_4 4
-# elif BOOST_PP_SLOT_OFFSET_5(BOOST_PP_VALUE) / 1000UL == 5
-#    define BOOST_PP_SLOT_TEMP_4 5
-# elif BOOST_PP_SLOT_OFFSET_5(BOOST_PP_VALUE) / 1000UL == 6
-#    define BOOST_PP_SLOT_TEMP_4 6
-# elif BOOST_PP_SLOT_OFFSET_5(BOOST_PP_VALUE) / 1000UL == 7
-#    define BOOST_PP_SLOT_TEMP_4 7
-# elif BOOST_PP_SLOT_OFFSET_5(BOOST_PP_VALUE) / 1000UL == 8
-#    define BOOST_PP_SLOT_TEMP_4 8
-# elif BOOST_PP_SLOT_OFFSET_5(BOOST_PP_VALUE) / 1000UL == 9
-#    define BOOST_PP_SLOT_TEMP_4 9
+# if NDNBOOST_PP_SLOT_OFFSET_5(NDNBOOST_PP_VALUE) / 1000UL == 0
+#    define NDNBOOST_PP_SLOT_TEMP_4 0
+# elif NDNBOOST_PP_SLOT_OFFSET_5(NDNBOOST_PP_VALUE) / 1000UL == 1
+#    define NDNBOOST_PP_SLOT_TEMP_4 1
+# elif NDNBOOST_PP_SLOT_OFFSET_5(NDNBOOST_PP_VALUE) / 1000UL == 2
+#    define NDNBOOST_PP_SLOT_TEMP_4 2
+# elif NDNBOOST_PP_SLOT_OFFSET_5(NDNBOOST_PP_VALUE) / 1000UL == 3
+#    define NDNBOOST_PP_SLOT_TEMP_4 3
+# elif NDNBOOST_PP_SLOT_OFFSET_5(NDNBOOST_PP_VALUE) / 1000UL == 4
+#    define NDNBOOST_PP_SLOT_TEMP_4 4
+# elif NDNBOOST_PP_SLOT_OFFSET_5(NDNBOOST_PP_VALUE) / 1000UL == 5
+#    define NDNBOOST_PP_SLOT_TEMP_4 5
+# elif NDNBOOST_PP_SLOT_OFFSET_5(NDNBOOST_PP_VALUE) / 1000UL == 6
+#    define NDNBOOST_PP_SLOT_TEMP_4 6
+# elif NDNBOOST_PP_SLOT_OFFSET_5(NDNBOOST_PP_VALUE) / 1000UL == 7
+#    define NDNBOOST_PP_SLOT_TEMP_4 7
+# elif NDNBOOST_PP_SLOT_OFFSET_5(NDNBOOST_PP_VALUE) / 1000UL == 8
+#    define NDNBOOST_PP_SLOT_TEMP_4 8
+# elif NDNBOOST_PP_SLOT_OFFSET_5(NDNBOOST_PP_VALUE) / 1000UL == 9
+#    define NDNBOOST_PP_SLOT_TEMP_4 9
 # endif
 #
-# if BOOST_PP_SLOT_OFFSET_4(BOOST_PP_VALUE) / 100UL == 0
-#    define BOOST_PP_SLOT_TEMP_3 0
-# elif BOOST_PP_SLOT_OFFSET_4(BOOST_PP_VALUE) / 100UL == 1
-#    define BOOST_PP_SLOT_TEMP_3 1
-# elif BOOST_PP_SLOT_OFFSET_4(BOOST_PP_VALUE) / 100UL == 2
-#    define BOOST_PP_SLOT_TEMP_3 2
-# elif BOOST_PP_SLOT_OFFSET_4(BOOST_PP_VALUE) / 100UL == 3
-#    define BOOST_PP_SLOT_TEMP_3 3
-# elif BOOST_PP_SLOT_OFFSET_4(BOOST_PP_VALUE) / 100UL == 4
-#    define BOOST_PP_SLOT_TEMP_3 4
-# elif BOOST_PP_SLOT_OFFSET_4(BOOST_PP_VALUE) / 100UL == 5
-#    define BOOST_PP_SLOT_TEMP_3 5
-# elif BOOST_PP_SLOT_OFFSET_4(BOOST_PP_VALUE) / 100UL == 6
-#    define BOOST_PP_SLOT_TEMP_3 6
-# elif BOOST_PP_SLOT_OFFSET_4(BOOST_PP_VALUE) / 100UL == 7
-#    define BOOST_PP_SLOT_TEMP_3 7
-# elif BOOST_PP_SLOT_OFFSET_4(BOOST_PP_VALUE) / 100UL == 8
-#    define BOOST_PP_SLOT_TEMP_3 8
-# elif BOOST_PP_SLOT_OFFSET_4(BOOST_PP_VALUE) / 100UL == 9
-#    define BOOST_PP_SLOT_TEMP_3 9
+# if NDNBOOST_PP_SLOT_OFFSET_4(NDNBOOST_PP_VALUE) / 100UL == 0
+#    define NDNBOOST_PP_SLOT_TEMP_3 0
+# elif NDNBOOST_PP_SLOT_OFFSET_4(NDNBOOST_PP_VALUE) / 100UL == 1
+#    define NDNBOOST_PP_SLOT_TEMP_3 1
+# elif NDNBOOST_PP_SLOT_OFFSET_4(NDNBOOST_PP_VALUE) / 100UL == 2
+#    define NDNBOOST_PP_SLOT_TEMP_3 2
+# elif NDNBOOST_PP_SLOT_OFFSET_4(NDNBOOST_PP_VALUE) / 100UL == 3
+#    define NDNBOOST_PP_SLOT_TEMP_3 3
+# elif NDNBOOST_PP_SLOT_OFFSET_4(NDNBOOST_PP_VALUE) / 100UL == 4
+#    define NDNBOOST_PP_SLOT_TEMP_3 4
+# elif NDNBOOST_PP_SLOT_OFFSET_4(NDNBOOST_PP_VALUE) / 100UL == 5
+#    define NDNBOOST_PP_SLOT_TEMP_3 5
+# elif NDNBOOST_PP_SLOT_OFFSET_4(NDNBOOST_PP_VALUE) / 100UL == 6
+#    define NDNBOOST_PP_SLOT_TEMP_3 6
+# elif NDNBOOST_PP_SLOT_OFFSET_4(NDNBOOST_PP_VALUE) / 100UL == 7
+#    define NDNBOOST_PP_SLOT_TEMP_3 7
+# elif NDNBOOST_PP_SLOT_OFFSET_4(NDNBOOST_PP_VALUE) / 100UL == 8
+#    define NDNBOOST_PP_SLOT_TEMP_3 8
+# elif NDNBOOST_PP_SLOT_OFFSET_4(NDNBOOST_PP_VALUE) / 100UL == 9
+#    define NDNBOOST_PP_SLOT_TEMP_3 9
 # endif
 #
-# if BOOST_PP_SLOT_OFFSET_3(BOOST_PP_VALUE) / 10UL == 0
-#    define BOOST_PP_SLOT_TEMP_2 0
-# elif BOOST_PP_SLOT_OFFSET_3(BOOST_PP_VALUE) / 10UL == 1
-#    define BOOST_PP_SLOT_TEMP_2 1
-# elif BOOST_PP_SLOT_OFFSET_3(BOOST_PP_VALUE) / 10UL == 2
-#    define BOOST_PP_SLOT_TEMP_2 2
-# elif BOOST_PP_SLOT_OFFSET_3(BOOST_PP_VALUE) / 10UL == 3
-#    define BOOST_PP_SLOT_TEMP_2 3
-# elif BOOST_PP_SLOT_OFFSET_3(BOOST_PP_VALUE) / 10UL == 4
-#    define BOOST_PP_SLOT_TEMP_2 4
-# elif BOOST_PP_SLOT_OFFSET_3(BOOST_PP_VALUE) / 10UL == 5
-#    define BOOST_PP_SLOT_TEMP_2 5
-# elif BOOST_PP_SLOT_OFFSET_3(BOOST_PP_VALUE) / 10UL == 6
-#    define BOOST_PP_SLOT_TEMP_2 6
-# elif BOOST_PP_SLOT_OFFSET_3(BOOST_PP_VALUE) / 10UL == 7
-#    define BOOST_PP_SLOT_TEMP_2 7
-# elif BOOST_PP_SLOT_OFFSET_3(BOOST_PP_VALUE) / 10UL == 8
-#    define BOOST_PP_SLOT_TEMP_2 8
-# elif BOOST_PP_SLOT_OFFSET_3(BOOST_PP_VALUE) / 10UL == 9
-#    define BOOST_PP_SLOT_TEMP_2 9
+# if NDNBOOST_PP_SLOT_OFFSET_3(NDNBOOST_PP_VALUE) / 10UL == 0
+#    define NDNBOOST_PP_SLOT_TEMP_2 0
+# elif NDNBOOST_PP_SLOT_OFFSET_3(NDNBOOST_PP_VALUE) / 10UL == 1
+#    define NDNBOOST_PP_SLOT_TEMP_2 1
+# elif NDNBOOST_PP_SLOT_OFFSET_3(NDNBOOST_PP_VALUE) / 10UL == 2
+#    define NDNBOOST_PP_SLOT_TEMP_2 2
+# elif NDNBOOST_PP_SLOT_OFFSET_3(NDNBOOST_PP_VALUE) / 10UL == 3
+#    define NDNBOOST_PP_SLOT_TEMP_2 3
+# elif NDNBOOST_PP_SLOT_OFFSET_3(NDNBOOST_PP_VALUE) / 10UL == 4
+#    define NDNBOOST_PP_SLOT_TEMP_2 4
+# elif NDNBOOST_PP_SLOT_OFFSET_3(NDNBOOST_PP_VALUE) / 10UL == 5
+#    define NDNBOOST_PP_SLOT_TEMP_2 5
+# elif NDNBOOST_PP_SLOT_OFFSET_3(NDNBOOST_PP_VALUE) / 10UL == 6
+#    define NDNBOOST_PP_SLOT_TEMP_2 6
+# elif NDNBOOST_PP_SLOT_OFFSET_3(NDNBOOST_PP_VALUE) / 10UL == 7
+#    define NDNBOOST_PP_SLOT_TEMP_2 7
+# elif NDNBOOST_PP_SLOT_OFFSET_3(NDNBOOST_PP_VALUE) / 10UL == 8
+#    define NDNBOOST_PP_SLOT_TEMP_2 8
+# elif NDNBOOST_PP_SLOT_OFFSET_3(NDNBOOST_PP_VALUE) / 10UL == 9
+#    define NDNBOOST_PP_SLOT_TEMP_2 9
 # endif
 #
-# if BOOST_PP_SLOT_OFFSET_2(BOOST_PP_VALUE) == 0
-#    define BOOST_PP_SLOT_TEMP_1 0
-# elif BOOST_PP_SLOT_OFFSET_2(BOOST_PP_VALUE) == 1
-#    define BOOST_PP_SLOT_TEMP_1 1
-# elif BOOST_PP_SLOT_OFFSET_2(BOOST_PP_VALUE) == 2
-#    define BOOST_PP_SLOT_TEMP_1 2
-# elif BOOST_PP_SLOT_OFFSET_2(BOOST_PP_VALUE) == 3
-#    define BOOST_PP_SLOT_TEMP_1 3
-# elif BOOST_PP_SLOT_OFFSET_2(BOOST_PP_VALUE) == 4
-#    define BOOST_PP_SLOT_TEMP_1 4
-# elif BOOST_PP_SLOT_OFFSET_2(BOOST_PP_VALUE) == 5
-#    define BOOST_PP_SLOT_TEMP_1 5
-# elif BOOST_PP_SLOT_OFFSET_2(BOOST_PP_VALUE) == 6
-#    define BOOST_PP_SLOT_TEMP_1 6
-# elif BOOST_PP_SLOT_OFFSET_2(BOOST_PP_VALUE) == 7
-#    define BOOST_PP_SLOT_TEMP_1 7
-# elif BOOST_PP_SLOT_OFFSET_2(BOOST_PP_VALUE) == 8
-#    define BOOST_PP_SLOT_TEMP_1 8
-# elif BOOST_PP_SLOT_OFFSET_2(BOOST_PP_VALUE) == 9
-#    define BOOST_PP_SLOT_TEMP_1 9
+# if NDNBOOST_PP_SLOT_OFFSET_2(NDNBOOST_PP_VALUE) == 0
+#    define NDNBOOST_PP_SLOT_TEMP_1 0
+# elif NDNBOOST_PP_SLOT_OFFSET_2(NDNBOOST_PP_VALUE) == 1
+#    define NDNBOOST_PP_SLOT_TEMP_1 1
+# elif NDNBOOST_PP_SLOT_OFFSET_2(NDNBOOST_PP_VALUE) == 2
+#    define NDNBOOST_PP_SLOT_TEMP_1 2
+# elif NDNBOOST_PP_SLOT_OFFSET_2(NDNBOOST_PP_VALUE) == 3
+#    define NDNBOOST_PP_SLOT_TEMP_1 3
+# elif NDNBOOST_PP_SLOT_OFFSET_2(NDNBOOST_PP_VALUE) == 4
+#    define NDNBOOST_PP_SLOT_TEMP_1 4
+# elif NDNBOOST_PP_SLOT_OFFSET_2(NDNBOOST_PP_VALUE) == 5
+#    define NDNBOOST_PP_SLOT_TEMP_1 5
+# elif NDNBOOST_PP_SLOT_OFFSET_2(NDNBOOST_PP_VALUE) == 6
+#    define NDNBOOST_PP_SLOT_TEMP_1 6
+# elif NDNBOOST_PP_SLOT_OFFSET_2(NDNBOOST_PP_VALUE) == 7
+#    define NDNBOOST_PP_SLOT_TEMP_1 7
+# elif NDNBOOST_PP_SLOT_OFFSET_2(NDNBOOST_PP_VALUE) == 8
+#    define NDNBOOST_PP_SLOT_TEMP_1 8
+# elif NDNBOOST_PP_SLOT_OFFSET_2(NDNBOOST_PP_VALUE) == 9
+#    define NDNBOOST_PP_SLOT_TEMP_1 9
 # endif
 #
-# undef BOOST_PP_VALUE
+# undef NDNBOOST_PP_VALUE
diff --git a/include/ndnboost/preprocessor/slot/detail/slot1.hpp b/include/ndnboost/preprocessor/slot/detail/slot1.hpp
index 686af64..de72726 100644
--- a/include/ndnboost/preprocessor/slot/detail/slot1.hpp
+++ b/include/ndnboost/preprocessor/slot/detail/slot1.hpp
@@ -11,257 +11,257 @@
 #
 # include <ndnboost/preprocessor/slot/detail/shared.hpp>
 #
-# undef BOOST_PP_SLOT_1
+# undef NDNBOOST_PP_SLOT_1
 #
-# undef BOOST_PP_SLOT_1_DIGIT_1
-# undef BOOST_PP_SLOT_1_DIGIT_2
-# undef BOOST_PP_SLOT_1_DIGIT_3
-# undef BOOST_PP_SLOT_1_DIGIT_4
-# undef BOOST_PP_SLOT_1_DIGIT_5
-# undef BOOST_PP_SLOT_1_DIGIT_6
-# undef BOOST_PP_SLOT_1_DIGIT_7
-# undef BOOST_PP_SLOT_1_DIGIT_8
-# undef BOOST_PP_SLOT_1_DIGIT_9
-# undef BOOST_PP_SLOT_1_DIGIT_10
+# undef NDNBOOST_PP_SLOT_1_DIGIT_1
+# undef NDNBOOST_PP_SLOT_1_DIGIT_2
+# undef NDNBOOST_PP_SLOT_1_DIGIT_3
+# undef NDNBOOST_PP_SLOT_1_DIGIT_4
+# undef NDNBOOST_PP_SLOT_1_DIGIT_5
+# undef NDNBOOST_PP_SLOT_1_DIGIT_6
+# undef NDNBOOST_PP_SLOT_1_DIGIT_7
+# undef NDNBOOST_PP_SLOT_1_DIGIT_8
+# undef NDNBOOST_PP_SLOT_1_DIGIT_9
+# undef NDNBOOST_PP_SLOT_1_DIGIT_10
 #
-# if BOOST_PP_SLOT_TEMP_10 == 0
-#    define BOOST_PP_SLOT_1_DIGIT_10 0
-# elif BOOST_PP_SLOT_TEMP_10 == 1
-#    define BOOST_PP_SLOT_1_DIGIT_10 1
-# elif BOOST_PP_SLOT_TEMP_10 == 2
-#    define BOOST_PP_SLOT_1_DIGIT_10 2
-# elif BOOST_PP_SLOT_TEMP_10 == 3
-#    define BOOST_PP_SLOT_1_DIGIT_10 3
-# elif BOOST_PP_SLOT_TEMP_10 == 4
-#    define BOOST_PP_SLOT_1_DIGIT_10 4
-# elif BOOST_PP_SLOT_TEMP_10 == 5
-#    define BOOST_PP_SLOT_1_DIGIT_10 5
-# elif BOOST_PP_SLOT_TEMP_10 == 6
-#    define BOOST_PP_SLOT_1_DIGIT_10 6
-# elif BOOST_PP_SLOT_TEMP_10 == 7
-#    define BOOST_PP_SLOT_1_DIGIT_10 7
-# elif BOOST_PP_SLOT_TEMP_10 == 8
-#    define BOOST_PP_SLOT_1_DIGIT_10 8
-# elif BOOST_PP_SLOT_TEMP_10 == 9
-#    define BOOST_PP_SLOT_1_DIGIT_10 9
+# if NDNBOOST_PP_SLOT_TEMP_10 == 0
+#    define NDNBOOST_PP_SLOT_1_DIGIT_10 0
+# elif NDNBOOST_PP_SLOT_TEMP_10 == 1
+#    define NDNBOOST_PP_SLOT_1_DIGIT_10 1
+# elif NDNBOOST_PP_SLOT_TEMP_10 == 2
+#    define NDNBOOST_PP_SLOT_1_DIGIT_10 2
+# elif NDNBOOST_PP_SLOT_TEMP_10 == 3
+#    define NDNBOOST_PP_SLOT_1_DIGIT_10 3
+# elif NDNBOOST_PP_SLOT_TEMP_10 == 4
+#    define NDNBOOST_PP_SLOT_1_DIGIT_10 4
+# elif NDNBOOST_PP_SLOT_TEMP_10 == 5
+#    define NDNBOOST_PP_SLOT_1_DIGIT_10 5
+# elif NDNBOOST_PP_SLOT_TEMP_10 == 6
+#    define NDNBOOST_PP_SLOT_1_DIGIT_10 6
+# elif NDNBOOST_PP_SLOT_TEMP_10 == 7
+#    define NDNBOOST_PP_SLOT_1_DIGIT_10 7
+# elif NDNBOOST_PP_SLOT_TEMP_10 == 8
+#    define NDNBOOST_PP_SLOT_1_DIGIT_10 8
+# elif NDNBOOST_PP_SLOT_TEMP_10 == 9
+#    define NDNBOOST_PP_SLOT_1_DIGIT_10 9
 # endif
 #
-# if BOOST_PP_SLOT_TEMP_9 == 0
-#    define BOOST_PP_SLOT_1_DIGIT_9 0
-# elif BOOST_PP_SLOT_TEMP_9 == 1
-#    define BOOST_PP_SLOT_1_DIGIT_9 1
-# elif BOOST_PP_SLOT_TEMP_9 == 2
-#    define BOOST_PP_SLOT_1_DIGIT_9 2
-# elif BOOST_PP_SLOT_TEMP_9 == 3
-#    define BOOST_PP_SLOT_1_DIGIT_9 3
-# elif BOOST_PP_SLOT_TEMP_9 == 4
-#    define BOOST_PP_SLOT_1_DIGIT_9 4
-# elif BOOST_PP_SLOT_TEMP_9 == 5
-#    define BOOST_PP_SLOT_1_DIGIT_9 5
-# elif BOOST_PP_SLOT_TEMP_9 == 6
-#    define BOOST_PP_SLOT_1_DIGIT_9 6
-# elif BOOST_PP_SLOT_TEMP_9 == 7
-#    define BOOST_PP_SLOT_1_DIGIT_9 7
-# elif BOOST_PP_SLOT_TEMP_9 == 8
-#    define BOOST_PP_SLOT_1_DIGIT_9 8
-# elif BOOST_PP_SLOT_TEMP_9 == 9
-#    define BOOST_PP_SLOT_1_DIGIT_9 9
+# if NDNBOOST_PP_SLOT_TEMP_9 == 0
+#    define NDNBOOST_PP_SLOT_1_DIGIT_9 0
+# elif NDNBOOST_PP_SLOT_TEMP_9 == 1
+#    define NDNBOOST_PP_SLOT_1_DIGIT_9 1
+# elif NDNBOOST_PP_SLOT_TEMP_9 == 2
+#    define NDNBOOST_PP_SLOT_1_DIGIT_9 2
+# elif NDNBOOST_PP_SLOT_TEMP_9 == 3
+#    define NDNBOOST_PP_SLOT_1_DIGIT_9 3
+# elif NDNBOOST_PP_SLOT_TEMP_9 == 4
+#    define NDNBOOST_PP_SLOT_1_DIGIT_9 4
+# elif NDNBOOST_PP_SLOT_TEMP_9 == 5
+#    define NDNBOOST_PP_SLOT_1_DIGIT_9 5
+# elif NDNBOOST_PP_SLOT_TEMP_9 == 6
+#    define NDNBOOST_PP_SLOT_1_DIGIT_9 6
+# elif NDNBOOST_PP_SLOT_TEMP_9 == 7
+#    define NDNBOOST_PP_SLOT_1_DIGIT_9 7
+# elif NDNBOOST_PP_SLOT_TEMP_9 == 8
+#    define NDNBOOST_PP_SLOT_1_DIGIT_9 8
+# elif NDNBOOST_PP_SLOT_TEMP_9 == 9
+#    define NDNBOOST_PP_SLOT_1_DIGIT_9 9
 # endif
 #
-# if BOOST_PP_SLOT_TEMP_8 == 0
-#    define BOOST_PP_SLOT_1_DIGIT_8 0
-# elif BOOST_PP_SLOT_TEMP_8 == 1
-#    define BOOST_PP_SLOT_1_DIGIT_8 1
-# elif BOOST_PP_SLOT_TEMP_8 == 2
-#    define BOOST_PP_SLOT_1_DIGIT_8 2
-# elif BOOST_PP_SLOT_TEMP_8 == 3
-#    define BOOST_PP_SLOT_1_DIGIT_8 3
-# elif BOOST_PP_SLOT_TEMP_8 == 4
-#    define BOOST_PP_SLOT_1_DIGIT_8 4
-# elif BOOST_PP_SLOT_TEMP_8 == 5
-#    define BOOST_PP_SLOT_1_DIGIT_8 5
-# elif BOOST_PP_SLOT_TEMP_8 == 6
-#    define BOOST_PP_SLOT_1_DIGIT_8 6
-# elif BOOST_PP_SLOT_TEMP_8 == 7
-#    define BOOST_PP_SLOT_1_DIGIT_8 7
-# elif BOOST_PP_SLOT_TEMP_8 == 8
-#    define BOOST_PP_SLOT_1_DIGIT_8 8
-# elif BOOST_PP_SLOT_TEMP_8 == 9
-#    define BOOST_PP_SLOT_1_DIGIT_8 9
+# if NDNBOOST_PP_SLOT_TEMP_8 == 0
+#    define NDNBOOST_PP_SLOT_1_DIGIT_8 0
+# elif NDNBOOST_PP_SLOT_TEMP_8 == 1
+#    define NDNBOOST_PP_SLOT_1_DIGIT_8 1
+# elif NDNBOOST_PP_SLOT_TEMP_8 == 2
+#    define NDNBOOST_PP_SLOT_1_DIGIT_8 2
+# elif NDNBOOST_PP_SLOT_TEMP_8 == 3
+#    define NDNBOOST_PP_SLOT_1_DIGIT_8 3
+# elif NDNBOOST_PP_SLOT_TEMP_8 == 4
+#    define NDNBOOST_PP_SLOT_1_DIGIT_8 4
+# elif NDNBOOST_PP_SLOT_TEMP_8 == 5
+#    define NDNBOOST_PP_SLOT_1_DIGIT_8 5
+# elif NDNBOOST_PP_SLOT_TEMP_8 == 6
+#    define NDNBOOST_PP_SLOT_1_DIGIT_8 6
+# elif NDNBOOST_PP_SLOT_TEMP_8 == 7
+#    define NDNBOOST_PP_SLOT_1_DIGIT_8 7
+# elif NDNBOOST_PP_SLOT_TEMP_8 == 8
+#    define NDNBOOST_PP_SLOT_1_DIGIT_8 8
+# elif NDNBOOST_PP_SLOT_TEMP_8 == 9
+#    define NDNBOOST_PP_SLOT_1_DIGIT_8 9
 # endif
 #
-# if BOOST_PP_SLOT_TEMP_7 == 0
-#    define BOOST_PP_SLOT_1_DIGIT_7 0
-# elif BOOST_PP_SLOT_TEMP_7 == 1
-#    define BOOST_PP_SLOT_1_DIGIT_7 1
-# elif BOOST_PP_SLOT_TEMP_7 == 2
-#    define BOOST_PP_SLOT_1_DIGIT_7 2
-# elif BOOST_PP_SLOT_TEMP_7 == 3
-#    define BOOST_PP_SLOT_1_DIGIT_7 3
-# elif BOOST_PP_SLOT_TEMP_7 == 4
-#    define BOOST_PP_SLOT_1_DIGIT_7 4
-# elif BOOST_PP_SLOT_TEMP_7 == 5
-#    define BOOST_PP_SLOT_1_DIGIT_7 5
-# elif BOOST_PP_SLOT_TEMP_7 == 6
-#    define BOOST_PP_SLOT_1_DIGIT_7 6
-# elif BOOST_PP_SLOT_TEMP_7 == 7
-#    define BOOST_PP_SLOT_1_DIGIT_7 7
-# elif BOOST_PP_SLOT_TEMP_7 == 8
-#    define BOOST_PP_SLOT_1_DIGIT_7 8
-# elif BOOST_PP_SLOT_TEMP_7 == 9
-#    define BOOST_PP_SLOT_1_DIGIT_7 9
+# if NDNBOOST_PP_SLOT_TEMP_7 == 0
+#    define NDNBOOST_PP_SLOT_1_DIGIT_7 0
+# elif NDNBOOST_PP_SLOT_TEMP_7 == 1
+#    define NDNBOOST_PP_SLOT_1_DIGIT_7 1
+# elif NDNBOOST_PP_SLOT_TEMP_7 == 2
+#    define NDNBOOST_PP_SLOT_1_DIGIT_7 2
+# elif NDNBOOST_PP_SLOT_TEMP_7 == 3
+#    define NDNBOOST_PP_SLOT_1_DIGIT_7 3
+# elif NDNBOOST_PP_SLOT_TEMP_7 == 4
+#    define NDNBOOST_PP_SLOT_1_DIGIT_7 4
+# elif NDNBOOST_PP_SLOT_TEMP_7 == 5
+#    define NDNBOOST_PP_SLOT_1_DIGIT_7 5
+# elif NDNBOOST_PP_SLOT_TEMP_7 == 6
+#    define NDNBOOST_PP_SLOT_1_DIGIT_7 6
+# elif NDNBOOST_PP_SLOT_TEMP_7 == 7
+#    define NDNBOOST_PP_SLOT_1_DIGIT_7 7
+# elif NDNBOOST_PP_SLOT_TEMP_7 == 8
+#    define NDNBOOST_PP_SLOT_1_DIGIT_7 8
+# elif NDNBOOST_PP_SLOT_TEMP_7 == 9
+#    define NDNBOOST_PP_SLOT_1_DIGIT_7 9
 # endif
 #
-# if BOOST_PP_SLOT_TEMP_6 == 0
-#    define BOOST_PP_SLOT_1_DIGIT_6 0
-# elif BOOST_PP_SLOT_TEMP_6 == 1
-#    define BOOST_PP_SLOT_1_DIGIT_6 1
-# elif BOOST_PP_SLOT_TEMP_6 == 2
-#    define BOOST_PP_SLOT_1_DIGIT_6 2
-# elif BOOST_PP_SLOT_TEMP_6 == 3
-#    define BOOST_PP_SLOT_1_DIGIT_6 3
-# elif BOOST_PP_SLOT_TEMP_6 == 4
-#    define BOOST_PP_SLOT_1_DIGIT_6 4
-# elif BOOST_PP_SLOT_TEMP_6 == 5
-#    define BOOST_PP_SLOT_1_DIGIT_6 5
-# elif BOOST_PP_SLOT_TEMP_6 == 6
-#    define BOOST_PP_SLOT_1_DIGIT_6 6
-# elif BOOST_PP_SLOT_TEMP_6 == 7
-#    define BOOST_PP_SLOT_1_DIGIT_6 7
-# elif BOOST_PP_SLOT_TEMP_6 == 8
-#    define BOOST_PP_SLOT_1_DIGIT_6 8
-# elif BOOST_PP_SLOT_TEMP_6 == 9
-#    define BOOST_PP_SLOT_1_DIGIT_6 9
+# if NDNBOOST_PP_SLOT_TEMP_6 == 0
+#    define NDNBOOST_PP_SLOT_1_DIGIT_6 0
+# elif NDNBOOST_PP_SLOT_TEMP_6 == 1
+#    define NDNBOOST_PP_SLOT_1_DIGIT_6 1
+# elif NDNBOOST_PP_SLOT_TEMP_6 == 2
+#    define NDNBOOST_PP_SLOT_1_DIGIT_6 2
+# elif NDNBOOST_PP_SLOT_TEMP_6 == 3
+#    define NDNBOOST_PP_SLOT_1_DIGIT_6 3
+# elif NDNBOOST_PP_SLOT_TEMP_6 == 4
+#    define NDNBOOST_PP_SLOT_1_DIGIT_6 4
+# elif NDNBOOST_PP_SLOT_TEMP_6 == 5
+#    define NDNBOOST_PP_SLOT_1_DIGIT_6 5
+# elif NDNBOOST_PP_SLOT_TEMP_6 == 6
+#    define NDNBOOST_PP_SLOT_1_DIGIT_6 6
+# elif NDNBOOST_PP_SLOT_TEMP_6 == 7
+#    define NDNBOOST_PP_SLOT_1_DIGIT_6 7
+# elif NDNBOOST_PP_SLOT_TEMP_6 == 8
+#    define NDNBOOST_PP_SLOT_1_DIGIT_6 8
+# elif NDNBOOST_PP_SLOT_TEMP_6 == 9
+#    define NDNBOOST_PP_SLOT_1_DIGIT_6 9
 # endif
 #
-# if BOOST_PP_SLOT_TEMP_5 == 0
-#    define BOOST_PP_SLOT_1_DIGIT_5 0
-# elif BOOST_PP_SLOT_TEMP_5 == 1
-#    define BOOST_PP_SLOT_1_DIGIT_5 1
-# elif BOOST_PP_SLOT_TEMP_5 == 2
-#    define BOOST_PP_SLOT_1_DIGIT_5 2
-# elif BOOST_PP_SLOT_TEMP_5 == 3
-#    define BOOST_PP_SLOT_1_DIGIT_5 3
-# elif BOOST_PP_SLOT_TEMP_5 == 4
-#    define BOOST_PP_SLOT_1_DIGIT_5 4
-# elif BOOST_PP_SLOT_TEMP_5 == 5
-#    define BOOST_PP_SLOT_1_DIGIT_5 5
-# elif BOOST_PP_SLOT_TEMP_5 == 6
-#    define BOOST_PP_SLOT_1_DIGIT_5 6
-# elif BOOST_PP_SLOT_TEMP_5 == 7
-#    define BOOST_PP_SLOT_1_DIGIT_5 7
-# elif BOOST_PP_SLOT_TEMP_5 == 8
-#    define BOOST_PP_SLOT_1_DIGIT_5 8
-# elif BOOST_PP_SLOT_TEMP_5 == 9
-#    define BOOST_PP_SLOT_1_DIGIT_5 9
+# if NDNBOOST_PP_SLOT_TEMP_5 == 0
+#    define NDNBOOST_PP_SLOT_1_DIGIT_5 0
+# elif NDNBOOST_PP_SLOT_TEMP_5 == 1
+#    define NDNBOOST_PP_SLOT_1_DIGIT_5 1
+# elif NDNBOOST_PP_SLOT_TEMP_5 == 2
+#    define NDNBOOST_PP_SLOT_1_DIGIT_5 2
+# elif NDNBOOST_PP_SLOT_TEMP_5 == 3
+#    define NDNBOOST_PP_SLOT_1_DIGIT_5 3
+# elif NDNBOOST_PP_SLOT_TEMP_5 == 4
+#    define NDNBOOST_PP_SLOT_1_DIGIT_5 4
+# elif NDNBOOST_PP_SLOT_TEMP_5 == 5
+#    define NDNBOOST_PP_SLOT_1_DIGIT_5 5
+# elif NDNBOOST_PP_SLOT_TEMP_5 == 6
+#    define NDNBOOST_PP_SLOT_1_DIGIT_5 6
+# elif NDNBOOST_PP_SLOT_TEMP_5 == 7
+#    define NDNBOOST_PP_SLOT_1_DIGIT_5 7
+# elif NDNBOOST_PP_SLOT_TEMP_5 == 8
+#    define NDNBOOST_PP_SLOT_1_DIGIT_5 8
+# elif NDNBOOST_PP_SLOT_TEMP_5 == 9
+#    define NDNBOOST_PP_SLOT_1_DIGIT_5 9
 # endif
 #
-# if BOOST_PP_SLOT_TEMP_4 == 0
-#    define BOOST_PP_SLOT_1_DIGIT_4 0
-# elif BOOST_PP_SLOT_TEMP_4 == 1
-#    define BOOST_PP_SLOT_1_DIGIT_4 1
-# elif BOOST_PP_SLOT_TEMP_4 == 2
-#    define BOOST_PP_SLOT_1_DIGIT_4 2
-# elif BOOST_PP_SLOT_TEMP_4 == 3
-#    define BOOST_PP_SLOT_1_DIGIT_4 3
-# elif BOOST_PP_SLOT_TEMP_4 == 4
-#    define BOOST_PP_SLOT_1_DIGIT_4 4
-# elif BOOST_PP_SLOT_TEMP_4 == 5
-#    define BOOST_PP_SLOT_1_DIGIT_4 5
-# elif BOOST_PP_SLOT_TEMP_4 == 6
-#    define BOOST_PP_SLOT_1_DIGIT_4 6
-# elif BOOST_PP_SLOT_TEMP_4 == 7
-#    define BOOST_PP_SLOT_1_DIGIT_4 7
-# elif BOOST_PP_SLOT_TEMP_4 == 8
-#    define BOOST_PP_SLOT_1_DIGIT_4 8
-# elif BOOST_PP_SLOT_TEMP_4 == 9
-#    define BOOST_PP_SLOT_1_DIGIT_4 9
+# if NDNBOOST_PP_SLOT_TEMP_4 == 0
+#    define NDNBOOST_PP_SLOT_1_DIGIT_4 0
+# elif NDNBOOST_PP_SLOT_TEMP_4 == 1
+#    define NDNBOOST_PP_SLOT_1_DIGIT_4 1
+# elif NDNBOOST_PP_SLOT_TEMP_4 == 2
+#    define NDNBOOST_PP_SLOT_1_DIGIT_4 2
+# elif NDNBOOST_PP_SLOT_TEMP_4 == 3
+#    define NDNBOOST_PP_SLOT_1_DIGIT_4 3
+# elif NDNBOOST_PP_SLOT_TEMP_4 == 4
+#    define NDNBOOST_PP_SLOT_1_DIGIT_4 4
+# elif NDNBOOST_PP_SLOT_TEMP_4 == 5
+#    define NDNBOOST_PP_SLOT_1_DIGIT_4 5
+# elif NDNBOOST_PP_SLOT_TEMP_4 == 6
+#    define NDNBOOST_PP_SLOT_1_DIGIT_4 6
+# elif NDNBOOST_PP_SLOT_TEMP_4 == 7
+#    define NDNBOOST_PP_SLOT_1_DIGIT_4 7
+# elif NDNBOOST_PP_SLOT_TEMP_4 == 8
+#    define NDNBOOST_PP_SLOT_1_DIGIT_4 8
+# elif NDNBOOST_PP_SLOT_TEMP_4 == 9
+#    define NDNBOOST_PP_SLOT_1_DIGIT_4 9
 # endif
 #
-# if BOOST_PP_SLOT_TEMP_3 == 0
-#    define BOOST_PP_SLOT_1_DIGIT_3 0
-# elif BOOST_PP_SLOT_TEMP_3 == 1
-#    define BOOST_PP_SLOT_1_DIGIT_3 1
-# elif BOOST_PP_SLOT_TEMP_3 == 2
-#    define BOOST_PP_SLOT_1_DIGIT_3 2
-# elif BOOST_PP_SLOT_TEMP_3 == 3
-#    define BOOST_PP_SLOT_1_DIGIT_3 3
-# elif BOOST_PP_SLOT_TEMP_3 == 4
-#    define BOOST_PP_SLOT_1_DIGIT_3 4
-# elif BOOST_PP_SLOT_TEMP_3 == 5
-#    define BOOST_PP_SLOT_1_DIGIT_3 5
-# elif BOOST_PP_SLOT_TEMP_3 == 6
-#    define BOOST_PP_SLOT_1_DIGIT_3 6
-# elif BOOST_PP_SLOT_TEMP_3 == 7
-#    define BOOST_PP_SLOT_1_DIGIT_3 7
-# elif BOOST_PP_SLOT_TEMP_3 == 8
-#    define BOOST_PP_SLOT_1_DIGIT_3 8
-# elif BOOST_PP_SLOT_TEMP_3 == 9
-#    define BOOST_PP_SLOT_1_DIGIT_3 9
+# if NDNBOOST_PP_SLOT_TEMP_3 == 0
+#    define NDNBOOST_PP_SLOT_1_DIGIT_3 0
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 1
+#    define NDNBOOST_PP_SLOT_1_DIGIT_3 1
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 2
+#    define NDNBOOST_PP_SLOT_1_DIGIT_3 2
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 3
+#    define NDNBOOST_PP_SLOT_1_DIGIT_3 3
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 4
+#    define NDNBOOST_PP_SLOT_1_DIGIT_3 4
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 5
+#    define NDNBOOST_PP_SLOT_1_DIGIT_3 5
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 6
+#    define NDNBOOST_PP_SLOT_1_DIGIT_3 6
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 7
+#    define NDNBOOST_PP_SLOT_1_DIGIT_3 7
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 8
+#    define NDNBOOST_PP_SLOT_1_DIGIT_3 8
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 9
+#    define NDNBOOST_PP_SLOT_1_DIGIT_3 9
 # endif
 #
-# if BOOST_PP_SLOT_TEMP_2 == 0
-#    define BOOST_PP_SLOT_1_DIGIT_2 0
-# elif BOOST_PP_SLOT_TEMP_2 == 1
-#    define BOOST_PP_SLOT_1_DIGIT_2 1
-# elif BOOST_PP_SLOT_TEMP_2 == 2
-#    define BOOST_PP_SLOT_1_DIGIT_2 2
-# elif BOOST_PP_SLOT_TEMP_2 == 3
-#    define BOOST_PP_SLOT_1_DIGIT_2 3
-# elif BOOST_PP_SLOT_TEMP_2 == 4
-#    define BOOST_PP_SLOT_1_DIGIT_2 4
-# elif BOOST_PP_SLOT_TEMP_2 == 5
-#    define BOOST_PP_SLOT_1_DIGIT_2 5
-# elif BOOST_PP_SLOT_TEMP_2 == 6
-#    define BOOST_PP_SLOT_1_DIGIT_2 6
-# elif BOOST_PP_SLOT_TEMP_2 == 7
-#    define BOOST_PP_SLOT_1_DIGIT_2 7
-# elif BOOST_PP_SLOT_TEMP_2 == 8
-#    define BOOST_PP_SLOT_1_DIGIT_2 8
-# elif BOOST_PP_SLOT_TEMP_2 == 9
-#    define BOOST_PP_SLOT_1_DIGIT_2 9
+# if NDNBOOST_PP_SLOT_TEMP_2 == 0
+#    define NDNBOOST_PP_SLOT_1_DIGIT_2 0
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 1
+#    define NDNBOOST_PP_SLOT_1_DIGIT_2 1
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 2
+#    define NDNBOOST_PP_SLOT_1_DIGIT_2 2
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 3
+#    define NDNBOOST_PP_SLOT_1_DIGIT_2 3
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 4
+#    define NDNBOOST_PP_SLOT_1_DIGIT_2 4
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 5
+#    define NDNBOOST_PP_SLOT_1_DIGIT_2 5
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 6
+#    define NDNBOOST_PP_SLOT_1_DIGIT_2 6
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 7
+#    define NDNBOOST_PP_SLOT_1_DIGIT_2 7
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 8
+#    define NDNBOOST_PP_SLOT_1_DIGIT_2 8
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 9
+#    define NDNBOOST_PP_SLOT_1_DIGIT_2 9
 # endif
 #
-# if BOOST_PP_SLOT_TEMP_1 == 0
-#    define BOOST_PP_SLOT_1_DIGIT_1 0
-# elif BOOST_PP_SLOT_TEMP_1 == 1
-#    define BOOST_PP_SLOT_1_DIGIT_1 1
-# elif BOOST_PP_SLOT_TEMP_1 == 2
-#    define BOOST_PP_SLOT_1_DIGIT_1 2
-# elif BOOST_PP_SLOT_TEMP_1 == 3
-#    define BOOST_PP_SLOT_1_DIGIT_1 3
-# elif BOOST_PP_SLOT_TEMP_1 == 4
-#    define BOOST_PP_SLOT_1_DIGIT_1 4
-# elif BOOST_PP_SLOT_TEMP_1 == 5
-#    define BOOST_PP_SLOT_1_DIGIT_1 5
-# elif BOOST_PP_SLOT_TEMP_1 == 6
-#    define BOOST_PP_SLOT_1_DIGIT_1 6
-# elif BOOST_PP_SLOT_TEMP_1 == 7
-#    define BOOST_PP_SLOT_1_DIGIT_1 7
-# elif BOOST_PP_SLOT_TEMP_1 == 8
-#    define BOOST_PP_SLOT_1_DIGIT_1 8
-# elif BOOST_PP_SLOT_TEMP_1 == 9
-#    define BOOST_PP_SLOT_1_DIGIT_1 9
+# if NDNBOOST_PP_SLOT_TEMP_1 == 0
+#    define NDNBOOST_PP_SLOT_1_DIGIT_1 0
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 1
+#    define NDNBOOST_PP_SLOT_1_DIGIT_1 1
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 2
+#    define NDNBOOST_PP_SLOT_1_DIGIT_1 2
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 3
+#    define NDNBOOST_PP_SLOT_1_DIGIT_1 3
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 4
+#    define NDNBOOST_PP_SLOT_1_DIGIT_1 4
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 5
+#    define NDNBOOST_PP_SLOT_1_DIGIT_1 5
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 6
+#    define NDNBOOST_PP_SLOT_1_DIGIT_1 6
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 7
+#    define NDNBOOST_PP_SLOT_1_DIGIT_1 7
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 8
+#    define NDNBOOST_PP_SLOT_1_DIGIT_1 8
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 9
+#    define NDNBOOST_PP_SLOT_1_DIGIT_1 9
 # endif
 #
-# if BOOST_PP_SLOT_1_DIGIT_10
-#    define BOOST_PP_SLOT_1() BOOST_PP_SLOT_CC_10(BOOST_PP_SLOT_1_DIGIT_10, BOOST_PP_SLOT_1_DIGIT_9, BOOST_PP_SLOT_1_DIGIT_8, BOOST_PP_SLOT_1_DIGIT_7, BOOST_PP_SLOT_1_DIGIT_6, BOOST_PP_SLOT_1_DIGIT_5, BOOST_PP_SLOT_1_DIGIT_4, BOOST_PP_SLOT_1_DIGIT_3, BOOST_PP_SLOT_1_DIGIT_2, BOOST_PP_SLOT_1_DIGIT_1)
-# elif BOOST_PP_SLOT_1_DIGIT_9
-#    define BOOST_PP_SLOT_1() BOOST_PP_SLOT_CC_9(BOOST_PP_SLOT_1_DIGIT_9, BOOST_PP_SLOT_1_DIGIT_8, BOOST_PP_SLOT_1_DIGIT_7, BOOST_PP_SLOT_1_DIGIT_6, BOOST_PP_SLOT_1_DIGIT_5, BOOST_PP_SLOT_1_DIGIT_4, BOOST_PP_SLOT_1_DIGIT_3, BOOST_PP_SLOT_1_DIGIT_2, BOOST_PP_SLOT_1_DIGIT_1)
-# elif BOOST_PP_SLOT_1_DIGIT_8
-#    define BOOST_PP_SLOT_1() BOOST_PP_SLOT_CC_8(BOOST_PP_SLOT_1_DIGIT_8, BOOST_PP_SLOT_1_DIGIT_7, BOOST_PP_SLOT_1_DIGIT_6, BOOST_PP_SLOT_1_DIGIT_5, BOOST_PP_SLOT_1_DIGIT_4, BOOST_PP_SLOT_1_DIGIT_3, BOOST_PP_SLOT_1_DIGIT_2, BOOST_PP_SLOT_1_DIGIT_1)
-# elif BOOST_PP_SLOT_1_DIGIT_7
-#    define BOOST_PP_SLOT_1() BOOST_PP_SLOT_CC_7(BOOST_PP_SLOT_1_DIGIT_7, BOOST_PP_SLOT_1_DIGIT_6, BOOST_PP_SLOT_1_DIGIT_5, BOOST_PP_SLOT_1_DIGIT_4, BOOST_PP_SLOT_1_DIGIT_3, BOOST_PP_SLOT_1_DIGIT_2, BOOST_PP_SLOT_1_DIGIT_1)
-# elif BOOST_PP_SLOT_1_DIGIT_6
-#    define BOOST_PP_SLOT_1() BOOST_PP_SLOT_CC_6(BOOST_PP_SLOT_1_DIGIT_6, BOOST_PP_SLOT_1_DIGIT_5, BOOST_PP_SLOT_1_DIGIT_4, BOOST_PP_SLOT_1_DIGIT_3, BOOST_PP_SLOT_1_DIGIT_2, BOOST_PP_SLOT_1_DIGIT_1)
-# elif BOOST_PP_SLOT_1_DIGIT_5
-#    define BOOST_PP_SLOT_1() BOOST_PP_SLOT_CC_5(BOOST_PP_SLOT_1_DIGIT_5, BOOST_PP_SLOT_1_DIGIT_4, BOOST_PP_SLOT_1_DIGIT_3, BOOST_PP_SLOT_1_DIGIT_2, BOOST_PP_SLOT_1_DIGIT_1)
-# elif BOOST_PP_SLOT_1_DIGIT_4
-#    define BOOST_PP_SLOT_1() BOOST_PP_SLOT_CC_4(BOOST_PP_SLOT_1_DIGIT_4, BOOST_PP_SLOT_1_DIGIT_3, BOOST_PP_SLOT_1_DIGIT_2, BOOST_PP_SLOT_1_DIGIT_1)
-# elif BOOST_PP_SLOT_1_DIGIT_3
-#    define BOOST_PP_SLOT_1() BOOST_PP_SLOT_CC_3(BOOST_PP_SLOT_1_DIGIT_3, BOOST_PP_SLOT_1_DIGIT_2, BOOST_PP_SLOT_1_DIGIT_1)
-# elif BOOST_PP_SLOT_1_DIGIT_2
-#    define BOOST_PP_SLOT_1() BOOST_PP_SLOT_CC_2(BOOST_PP_SLOT_1_DIGIT_2, BOOST_PP_SLOT_1_DIGIT_1)
+# if NDNBOOST_PP_SLOT_1_DIGIT_10
+#    define NDNBOOST_PP_SLOT_1() NDNBOOST_PP_SLOT_CC_10(NDNBOOST_PP_SLOT_1_DIGIT_10, NDNBOOST_PP_SLOT_1_DIGIT_9, NDNBOOST_PP_SLOT_1_DIGIT_8, NDNBOOST_PP_SLOT_1_DIGIT_7, NDNBOOST_PP_SLOT_1_DIGIT_6, NDNBOOST_PP_SLOT_1_DIGIT_5, NDNBOOST_PP_SLOT_1_DIGIT_4, NDNBOOST_PP_SLOT_1_DIGIT_3, NDNBOOST_PP_SLOT_1_DIGIT_2, NDNBOOST_PP_SLOT_1_DIGIT_1)
+# elif NDNBOOST_PP_SLOT_1_DIGIT_9
+#    define NDNBOOST_PP_SLOT_1() NDNBOOST_PP_SLOT_CC_9(NDNBOOST_PP_SLOT_1_DIGIT_9, NDNBOOST_PP_SLOT_1_DIGIT_8, NDNBOOST_PP_SLOT_1_DIGIT_7, NDNBOOST_PP_SLOT_1_DIGIT_6, NDNBOOST_PP_SLOT_1_DIGIT_5, NDNBOOST_PP_SLOT_1_DIGIT_4, NDNBOOST_PP_SLOT_1_DIGIT_3, NDNBOOST_PP_SLOT_1_DIGIT_2, NDNBOOST_PP_SLOT_1_DIGIT_1)
+# elif NDNBOOST_PP_SLOT_1_DIGIT_8
+#    define NDNBOOST_PP_SLOT_1() NDNBOOST_PP_SLOT_CC_8(NDNBOOST_PP_SLOT_1_DIGIT_8, NDNBOOST_PP_SLOT_1_DIGIT_7, NDNBOOST_PP_SLOT_1_DIGIT_6, NDNBOOST_PP_SLOT_1_DIGIT_5, NDNBOOST_PP_SLOT_1_DIGIT_4, NDNBOOST_PP_SLOT_1_DIGIT_3, NDNBOOST_PP_SLOT_1_DIGIT_2, NDNBOOST_PP_SLOT_1_DIGIT_1)
+# elif NDNBOOST_PP_SLOT_1_DIGIT_7
+#    define NDNBOOST_PP_SLOT_1() NDNBOOST_PP_SLOT_CC_7(NDNBOOST_PP_SLOT_1_DIGIT_7, NDNBOOST_PP_SLOT_1_DIGIT_6, NDNBOOST_PP_SLOT_1_DIGIT_5, NDNBOOST_PP_SLOT_1_DIGIT_4, NDNBOOST_PP_SLOT_1_DIGIT_3, NDNBOOST_PP_SLOT_1_DIGIT_2, NDNBOOST_PP_SLOT_1_DIGIT_1)
+# elif NDNBOOST_PP_SLOT_1_DIGIT_6
+#    define NDNBOOST_PP_SLOT_1() NDNBOOST_PP_SLOT_CC_6(NDNBOOST_PP_SLOT_1_DIGIT_6, NDNBOOST_PP_SLOT_1_DIGIT_5, NDNBOOST_PP_SLOT_1_DIGIT_4, NDNBOOST_PP_SLOT_1_DIGIT_3, NDNBOOST_PP_SLOT_1_DIGIT_2, NDNBOOST_PP_SLOT_1_DIGIT_1)
+# elif NDNBOOST_PP_SLOT_1_DIGIT_5
+#    define NDNBOOST_PP_SLOT_1() NDNBOOST_PP_SLOT_CC_5(NDNBOOST_PP_SLOT_1_DIGIT_5, NDNBOOST_PP_SLOT_1_DIGIT_4, NDNBOOST_PP_SLOT_1_DIGIT_3, NDNBOOST_PP_SLOT_1_DIGIT_2, NDNBOOST_PP_SLOT_1_DIGIT_1)
+# elif NDNBOOST_PP_SLOT_1_DIGIT_4
+#    define NDNBOOST_PP_SLOT_1() NDNBOOST_PP_SLOT_CC_4(NDNBOOST_PP_SLOT_1_DIGIT_4, NDNBOOST_PP_SLOT_1_DIGIT_3, NDNBOOST_PP_SLOT_1_DIGIT_2, NDNBOOST_PP_SLOT_1_DIGIT_1)
+# elif NDNBOOST_PP_SLOT_1_DIGIT_3
+#    define NDNBOOST_PP_SLOT_1() NDNBOOST_PP_SLOT_CC_3(NDNBOOST_PP_SLOT_1_DIGIT_3, NDNBOOST_PP_SLOT_1_DIGIT_2, NDNBOOST_PP_SLOT_1_DIGIT_1)
+# elif NDNBOOST_PP_SLOT_1_DIGIT_2
+#    define NDNBOOST_PP_SLOT_1() NDNBOOST_PP_SLOT_CC_2(NDNBOOST_PP_SLOT_1_DIGIT_2, NDNBOOST_PP_SLOT_1_DIGIT_1)
 # else
-#    define BOOST_PP_SLOT_1() BOOST_PP_SLOT_1_DIGIT_1
+#    define NDNBOOST_PP_SLOT_1() NDNBOOST_PP_SLOT_1_DIGIT_1
 # endif
diff --git a/include/ndnboost/preprocessor/slot/detail/slot2.hpp b/include/ndnboost/preprocessor/slot/detail/slot2.hpp
index 3df9b4f..849997d 100644
--- a/include/ndnboost/preprocessor/slot/detail/slot2.hpp
+++ b/include/ndnboost/preprocessor/slot/detail/slot2.hpp
@@ -11,257 +11,257 @@
 #
 # include <ndnboost/preprocessor/slot/detail/shared.hpp>
 #
-# undef BOOST_PP_SLOT_2
+# undef NDNBOOST_PP_SLOT_2
 #
-# undef BOOST_PP_SLOT_2_DIGIT_1
-# undef BOOST_PP_SLOT_2_DIGIT_2
-# undef BOOST_PP_SLOT_2_DIGIT_3
-# undef BOOST_PP_SLOT_2_DIGIT_4
-# undef BOOST_PP_SLOT_2_DIGIT_5
-# undef BOOST_PP_SLOT_2_DIGIT_6
-# undef BOOST_PP_SLOT_2_DIGIT_7
-# undef BOOST_PP_SLOT_2_DIGIT_8
-# undef BOOST_PP_SLOT_2_DIGIT_9
-# undef BOOST_PP_SLOT_2_DIGIT_10
+# undef NDNBOOST_PP_SLOT_2_DIGIT_1
+# undef NDNBOOST_PP_SLOT_2_DIGIT_2
+# undef NDNBOOST_PP_SLOT_2_DIGIT_3
+# undef NDNBOOST_PP_SLOT_2_DIGIT_4
+# undef NDNBOOST_PP_SLOT_2_DIGIT_5
+# undef NDNBOOST_PP_SLOT_2_DIGIT_6
+# undef NDNBOOST_PP_SLOT_2_DIGIT_7
+# undef NDNBOOST_PP_SLOT_2_DIGIT_8
+# undef NDNBOOST_PP_SLOT_2_DIGIT_9
+# undef NDNBOOST_PP_SLOT_2_DIGIT_10
 #
-# if BOOST_PP_SLOT_TEMP_10 == 0
-#    define BOOST_PP_SLOT_2_DIGIT_10 0
-# elif BOOST_PP_SLOT_TEMP_10 == 1
-#    define BOOST_PP_SLOT_2_DIGIT_10 1
-# elif BOOST_PP_SLOT_TEMP_10 == 2
-#    define BOOST_PP_SLOT_2_DIGIT_10 2
-# elif BOOST_PP_SLOT_TEMP_10 == 3
-#    define BOOST_PP_SLOT_2_DIGIT_10 3
-# elif BOOST_PP_SLOT_TEMP_10 == 4
-#    define BOOST_PP_SLOT_2_DIGIT_10 4
-# elif BOOST_PP_SLOT_TEMP_10 == 5
-#    define BOOST_PP_SLOT_2_DIGIT_10 5
-# elif BOOST_PP_SLOT_TEMP_10 == 6
-#    define BOOST_PP_SLOT_2_DIGIT_10 6
-# elif BOOST_PP_SLOT_TEMP_10 == 7
-#    define BOOST_PP_SLOT_2_DIGIT_10 7
-# elif BOOST_PP_SLOT_TEMP_10 == 8
-#    define BOOST_PP_SLOT_2_DIGIT_10 8
-# elif BOOST_PP_SLOT_TEMP_10 == 9
-#    define BOOST_PP_SLOT_2_DIGIT_10 9
+# if NDNBOOST_PP_SLOT_TEMP_10 == 0
+#    define NDNBOOST_PP_SLOT_2_DIGIT_10 0
+# elif NDNBOOST_PP_SLOT_TEMP_10 == 1
+#    define NDNBOOST_PP_SLOT_2_DIGIT_10 1
+# elif NDNBOOST_PP_SLOT_TEMP_10 == 2
+#    define NDNBOOST_PP_SLOT_2_DIGIT_10 2
+# elif NDNBOOST_PP_SLOT_TEMP_10 == 3
+#    define NDNBOOST_PP_SLOT_2_DIGIT_10 3
+# elif NDNBOOST_PP_SLOT_TEMP_10 == 4
+#    define NDNBOOST_PP_SLOT_2_DIGIT_10 4
+# elif NDNBOOST_PP_SLOT_TEMP_10 == 5
+#    define NDNBOOST_PP_SLOT_2_DIGIT_10 5
+# elif NDNBOOST_PP_SLOT_TEMP_10 == 6
+#    define NDNBOOST_PP_SLOT_2_DIGIT_10 6
+# elif NDNBOOST_PP_SLOT_TEMP_10 == 7
+#    define NDNBOOST_PP_SLOT_2_DIGIT_10 7
+# elif NDNBOOST_PP_SLOT_TEMP_10 == 8
+#    define NDNBOOST_PP_SLOT_2_DIGIT_10 8
+# elif NDNBOOST_PP_SLOT_TEMP_10 == 9
+#    define NDNBOOST_PP_SLOT_2_DIGIT_10 9
 # endif
 #
-# if BOOST_PP_SLOT_TEMP_9 == 0
-#    define BOOST_PP_SLOT_2_DIGIT_9 0
-# elif BOOST_PP_SLOT_TEMP_9 == 1
-#    define BOOST_PP_SLOT_2_DIGIT_9 1
-# elif BOOST_PP_SLOT_TEMP_9 == 2
-#    define BOOST_PP_SLOT_2_DIGIT_9 2
-# elif BOOST_PP_SLOT_TEMP_9 == 3
-#    define BOOST_PP_SLOT_2_DIGIT_9 3
-# elif BOOST_PP_SLOT_TEMP_9 == 4
-#    define BOOST_PP_SLOT_2_DIGIT_9 4
-# elif BOOST_PP_SLOT_TEMP_9 == 5
-#    define BOOST_PP_SLOT_2_DIGIT_9 5
-# elif BOOST_PP_SLOT_TEMP_9 == 6
-#    define BOOST_PP_SLOT_2_DIGIT_9 6
-# elif BOOST_PP_SLOT_TEMP_9 == 7
-#    define BOOST_PP_SLOT_2_DIGIT_9 7
-# elif BOOST_PP_SLOT_TEMP_9 == 8
-#    define BOOST_PP_SLOT_2_DIGIT_9 8
-# elif BOOST_PP_SLOT_TEMP_9 == 9
-#    define BOOST_PP_SLOT_2_DIGIT_9 9
+# if NDNBOOST_PP_SLOT_TEMP_9 == 0
+#    define NDNBOOST_PP_SLOT_2_DIGIT_9 0
+# elif NDNBOOST_PP_SLOT_TEMP_9 == 1
+#    define NDNBOOST_PP_SLOT_2_DIGIT_9 1
+# elif NDNBOOST_PP_SLOT_TEMP_9 == 2
+#    define NDNBOOST_PP_SLOT_2_DIGIT_9 2
+# elif NDNBOOST_PP_SLOT_TEMP_9 == 3
+#    define NDNBOOST_PP_SLOT_2_DIGIT_9 3
+# elif NDNBOOST_PP_SLOT_TEMP_9 == 4
+#    define NDNBOOST_PP_SLOT_2_DIGIT_9 4
+# elif NDNBOOST_PP_SLOT_TEMP_9 == 5
+#    define NDNBOOST_PP_SLOT_2_DIGIT_9 5
+# elif NDNBOOST_PP_SLOT_TEMP_9 == 6
+#    define NDNBOOST_PP_SLOT_2_DIGIT_9 6
+# elif NDNBOOST_PP_SLOT_TEMP_9 == 7
+#    define NDNBOOST_PP_SLOT_2_DIGIT_9 7
+# elif NDNBOOST_PP_SLOT_TEMP_9 == 8
+#    define NDNBOOST_PP_SLOT_2_DIGIT_9 8
+# elif NDNBOOST_PP_SLOT_TEMP_9 == 9
+#    define NDNBOOST_PP_SLOT_2_DIGIT_9 9
 # endif
 #
-# if BOOST_PP_SLOT_TEMP_8 == 0
-#    define BOOST_PP_SLOT_2_DIGIT_8 0
-# elif BOOST_PP_SLOT_TEMP_8 == 1
-#    define BOOST_PP_SLOT_2_DIGIT_8 1
-# elif BOOST_PP_SLOT_TEMP_8 == 2
-#    define BOOST_PP_SLOT_2_DIGIT_8 2
-# elif BOOST_PP_SLOT_TEMP_8 == 3
-#    define BOOST_PP_SLOT_2_DIGIT_8 3
-# elif BOOST_PP_SLOT_TEMP_8 == 4
-#    define BOOST_PP_SLOT_2_DIGIT_8 4
-# elif BOOST_PP_SLOT_TEMP_8 == 5
-#    define BOOST_PP_SLOT_2_DIGIT_8 5
-# elif BOOST_PP_SLOT_TEMP_8 == 6
-#    define BOOST_PP_SLOT_2_DIGIT_8 6
-# elif BOOST_PP_SLOT_TEMP_8 == 7
-#    define BOOST_PP_SLOT_2_DIGIT_8 7
-# elif BOOST_PP_SLOT_TEMP_8 == 8
-#    define BOOST_PP_SLOT_2_DIGIT_8 8
-# elif BOOST_PP_SLOT_TEMP_8 == 9
-#    define BOOST_PP_SLOT_2_DIGIT_8 9
+# if NDNBOOST_PP_SLOT_TEMP_8 == 0
+#    define NDNBOOST_PP_SLOT_2_DIGIT_8 0
+# elif NDNBOOST_PP_SLOT_TEMP_8 == 1
+#    define NDNBOOST_PP_SLOT_2_DIGIT_8 1
+# elif NDNBOOST_PP_SLOT_TEMP_8 == 2
+#    define NDNBOOST_PP_SLOT_2_DIGIT_8 2
+# elif NDNBOOST_PP_SLOT_TEMP_8 == 3
+#    define NDNBOOST_PP_SLOT_2_DIGIT_8 3
+# elif NDNBOOST_PP_SLOT_TEMP_8 == 4
+#    define NDNBOOST_PP_SLOT_2_DIGIT_8 4
+# elif NDNBOOST_PP_SLOT_TEMP_8 == 5
+#    define NDNBOOST_PP_SLOT_2_DIGIT_8 5
+# elif NDNBOOST_PP_SLOT_TEMP_8 == 6
+#    define NDNBOOST_PP_SLOT_2_DIGIT_8 6
+# elif NDNBOOST_PP_SLOT_TEMP_8 == 7
+#    define NDNBOOST_PP_SLOT_2_DIGIT_8 7
+# elif NDNBOOST_PP_SLOT_TEMP_8 == 8
+#    define NDNBOOST_PP_SLOT_2_DIGIT_8 8
+# elif NDNBOOST_PP_SLOT_TEMP_8 == 9
+#    define NDNBOOST_PP_SLOT_2_DIGIT_8 9
 # endif
 #
-# if BOOST_PP_SLOT_TEMP_7 == 0
-#    define BOOST_PP_SLOT_2_DIGIT_7 0
-# elif BOOST_PP_SLOT_TEMP_7 == 1
-#    define BOOST_PP_SLOT_2_DIGIT_7 1
-# elif BOOST_PP_SLOT_TEMP_7 == 2
-#    define BOOST_PP_SLOT_2_DIGIT_7 2
-# elif BOOST_PP_SLOT_TEMP_7 == 3
-#    define BOOST_PP_SLOT_2_DIGIT_7 3
-# elif BOOST_PP_SLOT_TEMP_7 == 4
-#    define BOOST_PP_SLOT_2_DIGIT_7 4
-# elif BOOST_PP_SLOT_TEMP_7 == 5
-#    define BOOST_PP_SLOT_2_DIGIT_7 5
-# elif BOOST_PP_SLOT_TEMP_7 == 6
-#    define BOOST_PP_SLOT_2_DIGIT_7 6
-# elif BOOST_PP_SLOT_TEMP_7 == 7
-#    define BOOST_PP_SLOT_2_DIGIT_7 7
-# elif BOOST_PP_SLOT_TEMP_7 == 8
-#    define BOOST_PP_SLOT_2_DIGIT_7 8
-# elif BOOST_PP_SLOT_TEMP_7 == 9
-#    define BOOST_PP_SLOT_2_DIGIT_7 9
+# if NDNBOOST_PP_SLOT_TEMP_7 == 0
+#    define NDNBOOST_PP_SLOT_2_DIGIT_7 0
+# elif NDNBOOST_PP_SLOT_TEMP_7 == 1
+#    define NDNBOOST_PP_SLOT_2_DIGIT_7 1
+# elif NDNBOOST_PP_SLOT_TEMP_7 == 2
+#    define NDNBOOST_PP_SLOT_2_DIGIT_7 2
+# elif NDNBOOST_PP_SLOT_TEMP_7 == 3
+#    define NDNBOOST_PP_SLOT_2_DIGIT_7 3
+# elif NDNBOOST_PP_SLOT_TEMP_7 == 4
+#    define NDNBOOST_PP_SLOT_2_DIGIT_7 4
+# elif NDNBOOST_PP_SLOT_TEMP_7 == 5
+#    define NDNBOOST_PP_SLOT_2_DIGIT_7 5
+# elif NDNBOOST_PP_SLOT_TEMP_7 == 6
+#    define NDNBOOST_PP_SLOT_2_DIGIT_7 6
+# elif NDNBOOST_PP_SLOT_TEMP_7 == 7
+#    define NDNBOOST_PP_SLOT_2_DIGIT_7 7
+# elif NDNBOOST_PP_SLOT_TEMP_7 == 8
+#    define NDNBOOST_PP_SLOT_2_DIGIT_7 8
+# elif NDNBOOST_PP_SLOT_TEMP_7 == 9
+#    define NDNBOOST_PP_SLOT_2_DIGIT_7 9
 # endif
 #
-# if BOOST_PP_SLOT_TEMP_6 == 0
-#    define BOOST_PP_SLOT_2_DIGIT_6 0
-# elif BOOST_PP_SLOT_TEMP_6 == 1
-#    define BOOST_PP_SLOT_2_DIGIT_6 1
-# elif BOOST_PP_SLOT_TEMP_6 == 2
-#    define BOOST_PP_SLOT_2_DIGIT_6 2
-# elif BOOST_PP_SLOT_TEMP_6 == 3
-#    define BOOST_PP_SLOT_2_DIGIT_6 3
-# elif BOOST_PP_SLOT_TEMP_6 == 4
-#    define BOOST_PP_SLOT_2_DIGIT_6 4
-# elif BOOST_PP_SLOT_TEMP_6 == 5
-#    define BOOST_PP_SLOT_2_DIGIT_6 5
-# elif BOOST_PP_SLOT_TEMP_6 == 6
-#    define BOOST_PP_SLOT_2_DIGIT_6 6
-# elif BOOST_PP_SLOT_TEMP_6 == 7
-#    define BOOST_PP_SLOT_2_DIGIT_6 7
-# elif BOOST_PP_SLOT_TEMP_6 == 8
-#    define BOOST_PP_SLOT_2_DIGIT_6 8
-# elif BOOST_PP_SLOT_TEMP_6 == 9
-#    define BOOST_PP_SLOT_2_DIGIT_6 9
+# if NDNBOOST_PP_SLOT_TEMP_6 == 0
+#    define NDNBOOST_PP_SLOT_2_DIGIT_6 0
+# elif NDNBOOST_PP_SLOT_TEMP_6 == 1
+#    define NDNBOOST_PP_SLOT_2_DIGIT_6 1
+# elif NDNBOOST_PP_SLOT_TEMP_6 == 2
+#    define NDNBOOST_PP_SLOT_2_DIGIT_6 2
+# elif NDNBOOST_PP_SLOT_TEMP_6 == 3
+#    define NDNBOOST_PP_SLOT_2_DIGIT_6 3
+# elif NDNBOOST_PP_SLOT_TEMP_6 == 4
+#    define NDNBOOST_PP_SLOT_2_DIGIT_6 4
+# elif NDNBOOST_PP_SLOT_TEMP_6 == 5
+#    define NDNBOOST_PP_SLOT_2_DIGIT_6 5
+# elif NDNBOOST_PP_SLOT_TEMP_6 == 6
+#    define NDNBOOST_PP_SLOT_2_DIGIT_6 6
+# elif NDNBOOST_PP_SLOT_TEMP_6 == 7
+#    define NDNBOOST_PP_SLOT_2_DIGIT_6 7
+# elif NDNBOOST_PP_SLOT_TEMP_6 == 8
+#    define NDNBOOST_PP_SLOT_2_DIGIT_6 8
+# elif NDNBOOST_PP_SLOT_TEMP_6 == 9
+#    define NDNBOOST_PP_SLOT_2_DIGIT_6 9
 # endif
 #
-# if BOOST_PP_SLOT_TEMP_5 == 0
-#    define BOOST_PP_SLOT_2_DIGIT_5 0
-# elif BOOST_PP_SLOT_TEMP_5 == 1
-#    define BOOST_PP_SLOT_2_DIGIT_5 1
-# elif BOOST_PP_SLOT_TEMP_5 == 2
-#    define BOOST_PP_SLOT_2_DIGIT_5 2
-# elif BOOST_PP_SLOT_TEMP_5 == 3
-#    define BOOST_PP_SLOT_2_DIGIT_5 3
-# elif BOOST_PP_SLOT_TEMP_5 == 4
-#    define BOOST_PP_SLOT_2_DIGIT_5 4
-# elif BOOST_PP_SLOT_TEMP_5 == 5
-#    define BOOST_PP_SLOT_2_DIGIT_5 5
-# elif BOOST_PP_SLOT_TEMP_5 == 6
-#    define BOOST_PP_SLOT_2_DIGIT_5 6
-# elif BOOST_PP_SLOT_TEMP_5 == 7
-#    define BOOST_PP_SLOT_2_DIGIT_5 7
-# elif BOOST_PP_SLOT_TEMP_5 == 8
-#    define BOOST_PP_SLOT_2_DIGIT_5 8
-# elif BOOST_PP_SLOT_TEMP_5 == 9
-#    define BOOST_PP_SLOT_2_DIGIT_5 9
+# if NDNBOOST_PP_SLOT_TEMP_5 == 0
+#    define NDNBOOST_PP_SLOT_2_DIGIT_5 0
+# elif NDNBOOST_PP_SLOT_TEMP_5 == 1
+#    define NDNBOOST_PP_SLOT_2_DIGIT_5 1
+# elif NDNBOOST_PP_SLOT_TEMP_5 == 2
+#    define NDNBOOST_PP_SLOT_2_DIGIT_5 2
+# elif NDNBOOST_PP_SLOT_TEMP_5 == 3
+#    define NDNBOOST_PP_SLOT_2_DIGIT_5 3
+# elif NDNBOOST_PP_SLOT_TEMP_5 == 4
+#    define NDNBOOST_PP_SLOT_2_DIGIT_5 4
+# elif NDNBOOST_PP_SLOT_TEMP_5 == 5
+#    define NDNBOOST_PP_SLOT_2_DIGIT_5 5
+# elif NDNBOOST_PP_SLOT_TEMP_5 == 6
+#    define NDNBOOST_PP_SLOT_2_DIGIT_5 6
+# elif NDNBOOST_PP_SLOT_TEMP_5 == 7
+#    define NDNBOOST_PP_SLOT_2_DIGIT_5 7
+# elif NDNBOOST_PP_SLOT_TEMP_5 == 8
+#    define NDNBOOST_PP_SLOT_2_DIGIT_5 8
+# elif NDNBOOST_PP_SLOT_TEMP_5 == 9
+#    define NDNBOOST_PP_SLOT_2_DIGIT_5 9
 # endif
 #
-# if BOOST_PP_SLOT_TEMP_4 == 0
-#    define BOOST_PP_SLOT_2_DIGIT_4 0
-# elif BOOST_PP_SLOT_TEMP_4 == 1
-#    define BOOST_PP_SLOT_2_DIGIT_4 1
-# elif BOOST_PP_SLOT_TEMP_4 == 2
-#    define BOOST_PP_SLOT_2_DIGIT_4 2
-# elif BOOST_PP_SLOT_TEMP_4 == 3
-#    define BOOST_PP_SLOT_2_DIGIT_4 3
-# elif BOOST_PP_SLOT_TEMP_4 == 4
-#    define BOOST_PP_SLOT_2_DIGIT_4 4
-# elif BOOST_PP_SLOT_TEMP_4 == 5
-#    define BOOST_PP_SLOT_2_DIGIT_4 5
-# elif BOOST_PP_SLOT_TEMP_4 == 6
-#    define BOOST_PP_SLOT_2_DIGIT_4 6
-# elif BOOST_PP_SLOT_TEMP_4 == 7
-#    define BOOST_PP_SLOT_2_DIGIT_4 7
-# elif BOOST_PP_SLOT_TEMP_4 == 8
-#    define BOOST_PP_SLOT_2_DIGIT_4 8
-# elif BOOST_PP_SLOT_TEMP_4 == 9
-#    define BOOST_PP_SLOT_2_DIGIT_4 9
+# if NDNBOOST_PP_SLOT_TEMP_4 == 0
+#    define NDNBOOST_PP_SLOT_2_DIGIT_4 0
+# elif NDNBOOST_PP_SLOT_TEMP_4 == 1
+#    define NDNBOOST_PP_SLOT_2_DIGIT_4 1
+# elif NDNBOOST_PP_SLOT_TEMP_4 == 2
+#    define NDNBOOST_PP_SLOT_2_DIGIT_4 2
+# elif NDNBOOST_PP_SLOT_TEMP_4 == 3
+#    define NDNBOOST_PP_SLOT_2_DIGIT_4 3
+# elif NDNBOOST_PP_SLOT_TEMP_4 == 4
+#    define NDNBOOST_PP_SLOT_2_DIGIT_4 4
+# elif NDNBOOST_PP_SLOT_TEMP_4 == 5
+#    define NDNBOOST_PP_SLOT_2_DIGIT_4 5
+# elif NDNBOOST_PP_SLOT_TEMP_4 == 6
+#    define NDNBOOST_PP_SLOT_2_DIGIT_4 6
+# elif NDNBOOST_PP_SLOT_TEMP_4 == 7
+#    define NDNBOOST_PP_SLOT_2_DIGIT_4 7
+# elif NDNBOOST_PP_SLOT_TEMP_4 == 8
+#    define NDNBOOST_PP_SLOT_2_DIGIT_4 8
+# elif NDNBOOST_PP_SLOT_TEMP_4 == 9
+#    define NDNBOOST_PP_SLOT_2_DIGIT_4 9
 # endif
 #
-# if BOOST_PP_SLOT_TEMP_3 == 0
-#    define BOOST_PP_SLOT_2_DIGIT_3 0
-# elif BOOST_PP_SLOT_TEMP_3 == 1
-#    define BOOST_PP_SLOT_2_DIGIT_3 1
-# elif BOOST_PP_SLOT_TEMP_3 == 2
-#    define BOOST_PP_SLOT_2_DIGIT_3 2
-# elif BOOST_PP_SLOT_TEMP_3 == 3
-#    define BOOST_PP_SLOT_2_DIGIT_3 3
-# elif BOOST_PP_SLOT_TEMP_3 == 4
-#    define BOOST_PP_SLOT_2_DIGIT_3 4
-# elif BOOST_PP_SLOT_TEMP_3 == 5
-#    define BOOST_PP_SLOT_2_DIGIT_3 5
-# elif BOOST_PP_SLOT_TEMP_3 == 6
-#    define BOOST_PP_SLOT_2_DIGIT_3 6
-# elif BOOST_PP_SLOT_TEMP_3 == 7
-#    define BOOST_PP_SLOT_2_DIGIT_3 7
-# elif BOOST_PP_SLOT_TEMP_3 == 8
-#    define BOOST_PP_SLOT_2_DIGIT_3 8
-# elif BOOST_PP_SLOT_TEMP_3 == 9
-#    define BOOST_PP_SLOT_2_DIGIT_3 9
+# if NDNBOOST_PP_SLOT_TEMP_3 == 0
+#    define NDNBOOST_PP_SLOT_2_DIGIT_3 0
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 1
+#    define NDNBOOST_PP_SLOT_2_DIGIT_3 1
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 2
+#    define NDNBOOST_PP_SLOT_2_DIGIT_3 2
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 3
+#    define NDNBOOST_PP_SLOT_2_DIGIT_3 3
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 4
+#    define NDNBOOST_PP_SLOT_2_DIGIT_3 4
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 5
+#    define NDNBOOST_PP_SLOT_2_DIGIT_3 5
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 6
+#    define NDNBOOST_PP_SLOT_2_DIGIT_3 6
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 7
+#    define NDNBOOST_PP_SLOT_2_DIGIT_3 7
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 8
+#    define NDNBOOST_PP_SLOT_2_DIGIT_3 8
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 9
+#    define NDNBOOST_PP_SLOT_2_DIGIT_3 9
 # endif
 #
-# if BOOST_PP_SLOT_TEMP_2 == 0
-#    define BOOST_PP_SLOT_2_DIGIT_2 0
-# elif BOOST_PP_SLOT_TEMP_2 == 1
-#    define BOOST_PP_SLOT_2_DIGIT_2 1
-# elif BOOST_PP_SLOT_TEMP_2 == 2
-#    define BOOST_PP_SLOT_2_DIGIT_2 2
-# elif BOOST_PP_SLOT_TEMP_2 == 3
-#    define BOOST_PP_SLOT_2_DIGIT_2 3
-# elif BOOST_PP_SLOT_TEMP_2 == 4
-#    define BOOST_PP_SLOT_2_DIGIT_2 4
-# elif BOOST_PP_SLOT_TEMP_2 == 5
-#    define BOOST_PP_SLOT_2_DIGIT_2 5
-# elif BOOST_PP_SLOT_TEMP_2 == 6
-#    define BOOST_PP_SLOT_2_DIGIT_2 6
-# elif BOOST_PP_SLOT_TEMP_2 == 7
-#    define BOOST_PP_SLOT_2_DIGIT_2 7
-# elif BOOST_PP_SLOT_TEMP_2 == 8
-#    define BOOST_PP_SLOT_2_DIGIT_2 8
-# elif BOOST_PP_SLOT_TEMP_2 == 9
-#    define BOOST_PP_SLOT_2_DIGIT_2 9
+# if NDNBOOST_PP_SLOT_TEMP_2 == 0
+#    define NDNBOOST_PP_SLOT_2_DIGIT_2 0
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 1
+#    define NDNBOOST_PP_SLOT_2_DIGIT_2 1
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 2
+#    define NDNBOOST_PP_SLOT_2_DIGIT_2 2
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 3
+#    define NDNBOOST_PP_SLOT_2_DIGIT_2 3
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 4
+#    define NDNBOOST_PP_SLOT_2_DIGIT_2 4
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 5
+#    define NDNBOOST_PP_SLOT_2_DIGIT_2 5
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 6
+#    define NDNBOOST_PP_SLOT_2_DIGIT_2 6
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 7
+#    define NDNBOOST_PP_SLOT_2_DIGIT_2 7
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 8
+#    define NDNBOOST_PP_SLOT_2_DIGIT_2 8
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 9
+#    define NDNBOOST_PP_SLOT_2_DIGIT_2 9
 # endif
 #
-# if BOOST_PP_SLOT_TEMP_1 == 0
-#    define BOOST_PP_SLOT_2_DIGIT_1 0
-# elif BOOST_PP_SLOT_TEMP_1 == 1
-#    define BOOST_PP_SLOT_2_DIGIT_1 1
-# elif BOOST_PP_SLOT_TEMP_1 == 2
-#    define BOOST_PP_SLOT_2_DIGIT_1 2
-# elif BOOST_PP_SLOT_TEMP_1 == 3
-#    define BOOST_PP_SLOT_2_DIGIT_1 3
-# elif BOOST_PP_SLOT_TEMP_1 == 4
-#    define BOOST_PP_SLOT_2_DIGIT_1 4
-# elif BOOST_PP_SLOT_TEMP_1 == 5
-#    define BOOST_PP_SLOT_2_DIGIT_1 5
-# elif BOOST_PP_SLOT_TEMP_1 == 6
-#    define BOOST_PP_SLOT_2_DIGIT_1 6
-# elif BOOST_PP_SLOT_TEMP_1 == 7
-#    define BOOST_PP_SLOT_2_DIGIT_1 7
-# elif BOOST_PP_SLOT_TEMP_1 == 8
-#    define BOOST_PP_SLOT_2_DIGIT_1 8
-# elif BOOST_PP_SLOT_TEMP_1 == 9
-#    define BOOST_PP_SLOT_2_DIGIT_1 9
+# if NDNBOOST_PP_SLOT_TEMP_1 == 0
+#    define NDNBOOST_PP_SLOT_2_DIGIT_1 0
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 1
+#    define NDNBOOST_PP_SLOT_2_DIGIT_1 1
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 2
+#    define NDNBOOST_PP_SLOT_2_DIGIT_1 2
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 3
+#    define NDNBOOST_PP_SLOT_2_DIGIT_1 3
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 4
+#    define NDNBOOST_PP_SLOT_2_DIGIT_1 4
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 5
+#    define NDNBOOST_PP_SLOT_2_DIGIT_1 5
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 6
+#    define NDNBOOST_PP_SLOT_2_DIGIT_1 6
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 7
+#    define NDNBOOST_PP_SLOT_2_DIGIT_1 7
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 8
+#    define NDNBOOST_PP_SLOT_2_DIGIT_1 8
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 9
+#    define NDNBOOST_PP_SLOT_2_DIGIT_1 9
 # endif
 #
-# if BOOST_PP_SLOT_2_DIGIT_10
-#    define BOOST_PP_SLOT_2() BOOST_PP_SLOT_CC_10(BOOST_PP_SLOT_2_DIGIT_10, BOOST_PP_SLOT_2_DIGIT_9, BOOST_PP_SLOT_2_DIGIT_8, BOOST_PP_SLOT_2_DIGIT_7, BOOST_PP_SLOT_2_DIGIT_6, BOOST_PP_SLOT_2_DIGIT_5, BOOST_PP_SLOT_2_DIGIT_4, BOOST_PP_SLOT_2_DIGIT_3, BOOST_PP_SLOT_2_DIGIT_2, BOOST_PP_SLOT_2_DIGIT_1)
-# elif BOOST_PP_SLOT_2_DIGIT_9
-#    define BOOST_PP_SLOT_2() BOOST_PP_SLOT_CC_9(BOOST_PP_SLOT_2_DIGIT_9, BOOST_PP_SLOT_2_DIGIT_8, BOOST_PP_SLOT_2_DIGIT_7, BOOST_PP_SLOT_2_DIGIT_6, BOOST_PP_SLOT_2_DIGIT_5, BOOST_PP_SLOT_2_DIGIT_4, BOOST_PP_SLOT_2_DIGIT_3, BOOST_PP_SLOT_2_DIGIT_2, BOOST_PP_SLOT_2_DIGIT_1)
-# elif BOOST_PP_SLOT_2_DIGIT_8
-#    define BOOST_PP_SLOT_2() BOOST_PP_SLOT_CC_8(BOOST_PP_SLOT_2_DIGIT_8, BOOST_PP_SLOT_2_DIGIT_7, BOOST_PP_SLOT_2_DIGIT_6, BOOST_PP_SLOT_2_DIGIT_5, BOOST_PP_SLOT_2_DIGIT_4, BOOST_PP_SLOT_2_DIGIT_3, BOOST_PP_SLOT_2_DIGIT_2, BOOST_PP_SLOT_2_DIGIT_1)
-# elif BOOST_PP_SLOT_2_DIGIT_7
-#    define BOOST_PP_SLOT_2() BOOST_PP_SLOT_CC_7(BOOST_PP_SLOT_2_DIGIT_7, BOOST_PP_SLOT_2_DIGIT_6, BOOST_PP_SLOT_2_DIGIT_5, BOOST_PP_SLOT_2_DIGIT_4, BOOST_PP_SLOT_2_DIGIT_3, BOOST_PP_SLOT_2_DIGIT_2, BOOST_PP_SLOT_2_DIGIT_1)
-# elif BOOST_PP_SLOT_2_DIGIT_6
-#    define BOOST_PP_SLOT_2() BOOST_PP_SLOT_CC_6(BOOST_PP_SLOT_2_DIGIT_6, BOOST_PP_SLOT_2_DIGIT_5, BOOST_PP_SLOT_2_DIGIT_4, BOOST_PP_SLOT_2_DIGIT_3, BOOST_PP_SLOT_2_DIGIT_2, BOOST_PP_SLOT_2_DIGIT_1)
-# elif BOOST_PP_SLOT_2_DIGIT_5
-#    define BOOST_PP_SLOT_2() BOOST_PP_SLOT_CC_5(BOOST_PP_SLOT_2_DIGIT_5, BOOST_PP_SLOT_2_DIGIT_4, BOOST_PP_SLOT_2_DIGIT_3, BOOST_PP_SLOT_2_DIGIT_2, BOOST_PP_SLOT_2_DIGIT_1)
-# elif BOOST_PP_SLOT_2_DIGIT_4
-#    define BOOST_PP_SLOT_2() BOOST_PP_SLOT_CC_4(BOOST_PP_SLOT_2_DIGIT_4, BOOST_PP_SLOT_2_DIGIT_3, BOOST_PP_SLOT_2_DIGIT_2, BOOST_PP_SLOT_2_DIGIT_1)
-# elif BOOST_PP_SLOT_2_DIGIT_3
-#    define BOOST_PP_SLOT_2() BOOST_PP_SLOT_CC_3(BOOST_PP_SLOT_2_DIGIT_3, BOOST_PP_SLOT_2_DIGIT_2, BOOST_PP_SLOT_2_DIGIT_1)
-# elif BOOST_PP_SLOT_2_DIGIT_2
-#    define BOOST_PP_SLOT_2() BOOST_PP_SLOT_CC_2(BOOST_PP_SLOT_2_DIGIT_2, BOOST_PP_SLOT_2_DIGIT_1)
+# if NDNBOOST_PP_SLOT_2_DIGIT_10
+#    define NDNBOOST_PP_SLOT_2() NDNBOOST_PP_SLOT_CC_10(NDNBOOST_PP_SLOT_2_DIGIT_10, NDNBOOST_PP_SLOT_2_DIGIT_9, NDNBOOST_PP_SLOT_2_DIGIT_8, NDNBOOST_PP_SLOT_2_DIGIT_7, NDNBOOST_PP_SLOT_2_DIGIT_6, NDNBOOST_PP_SLOT_2_DIGIT_5, NDNBOOST_PP_SLOT_2_DIGIT_4, NDNBOOST_PP_SLOT_2_DIGIT_3, NDNBOOST_PP_SLOT_2_DIGIT_2, NDNBOOST_PP_SLOT_2_DIGIT_1)
+# elif NDNBOOST_PP_SLOT_2_DIGIT_9
+#    define NDNBOOST_PP_SLOT_2() NDNBOOST_PP_SLOT_CC_9(NDNBOOST_PP_SLOT_2_DIGIT_9, NDNBOOST_PP_SLOT_2_DIGIT_8, NDNBOOST_PP_SLOT_2_DIGIT_7, NDNBOOST_PP_SLOT_2_DIGIT_6, NDNBOOST_PP_SLOT_2_DIGIT_5, NDNBOOST_PP_SLOT_2_DIGIT_4, NDNBOOST_PP_SLOT_2_DIGIT_3, NDNBOOST_PP_SLOT_2_DIGIT_2, NDNBOOST_PP_SLOT_2_DIGIT_1)
+# elif NDNBOOST_PP_SLOT_2_DIGIT_8
+#    define NDNBOOST_PP_SLOT_2() NDNBOOST_PP_SLOT_CC_8(NDNBOOST_PP_SLOT_2_DIGIT_8, NDNBOOST_PP_SLOT_2_DIGIT_7, NDNBOOST_PP_SLOT_2_DIGIT_6, NDNBOOST_PP_SLOT_2_DIGIT_5, NDNBOOST_PP_SLOT_2_DIGIT_4, NDNBOOST_PP_SLOT_2_DIGIT_3, NDNBOOST_PP_SLOT_2_DIGIT_2, NDNBOOST_PP_SLOT_2_DIGIT_1)
+# elif NDNBOOST_PP_SLOT_2_DIGIT_7
+#    define NDNBOOST_PP_SLOT_2() NDNBOOST_PP_SLOT_CC_7(NDNBOOST_PP_SLOT_2_DIGIT_7, NDNBOOST_PP_SLOT_2_DIGIT_6, NDNBOOST_PP_SLOT_2_DIGIT_5, NDNBOOST_PP_SLOT_2_DIGIT_4, NDNBOOST_PP_SLOT_2_DIGIT_3, NDNBOOST_PP_SLOT_2_DIGIT_2, NDNBOOST_PP_SLOT_2_DIGIT_1)
+# elif NDNBOOST_PP_SLOT_2_DIGIT_6
+#    define NDNBOOST_PP_SLOT_2() NDNBOOST_PP_SLOT_CC_6(NDNBOOST_PP_SLOT_2_DIGIT_6, NDNBOOST_PP_SLOT_2_DIGIT_5, NDNBOOST_PP_SLOT_2_DIGIT_4, NDNBOOST_PP_SLOT_2_DIGIT_3, NDNBOOST_PP_SLOT_2_DIGIT_2, NDNBOOST_PP_SLOT_2_DIGIT_1)
+# elif NDNBOOST_PP_SLOT_2_DIGIT_5
+#    define NDNBOOST_PP_SLOT_2() NDNBOOST_PP_SLOT_CC_5(NDNBOOST_PP_SLOT_2_DIGIT_5, NDNBOOST_PP_SLOT_2_DIGIT_4, NDNBOOST_PP_SLOT_2_DIGIT_3, NDNBOOST_PP_SLOT_2_DIGIT_2, NDNBOOST_PP_SLOT_2_DIGIT_1)
+# elif NDNBOOST_PP_SLOT_2_DIGIT_4
+#    define NDNBOOST_PP_SLOT_2() NDNBOOST_PP_SLOT_CC_4(NDNBOOST_PP_SLOT_2_DIGIT_4, NDNBOOST_PP_SLOT_2_DIGIT_3, NDNBOOST_PP_SLOT_2_DIGIT_2, NDNBOOST_PP_SLOT_2_DIGIT_1)
+# elif NDNBOOST_PP_SLOT_2_DIGIT_3
+#    define NDNBOOST_PP_SLOT_2() NDNBOOST_PP_SLOT_CC_3(NDNBOOST_PP_SLOT_2_DIGIT_3, NDNBOOST_PP_SLOT_2_DIGIT_2, NDNBOOST_PP_SLOT_2_DIGIT_1)
+# elif NDNBOOST_PP_SLOT_2_DIGIT_2
+#    define NDNBOOST_PP_SLOT_2() NDNBOOST_PP_SLOT_CC_2(NDNBOOST_PP_SLOT_2_DIGIT_2, NDNBOOST_PP_SLOT_2_DIGIT_1)
 # else
-#    define BOOST_PP_SLOT_2() BOOST_PP_SLOT_2_DIGIT_1
+#    define NDNBOOST_PP_SLOT_2() NDNBOOST_PP_SLOT_2_DIGIT_1
 # endif
diff --git a/include/ndnboost/preprocessor/slot/detail/slot3.hpp b/include/ndnboost/preprocessor/slot/detail/slot3.hpp
index b05bfad..a03503f 100644
--- a/include/ndnboost/preprocessor/slot/detail/slot3.hpp
+++ b/include/ndnboost/preprocessor/slot/detail/slot3.hpp
@@ -11,257 +11,257 @@
 #
 # include <ndnboost/preprocessor/slot/detail/shared.hpp>
 #
-# undef BOOST_PP_SLOT_3
+# undef NDNBOOST_PP_SLOT_3
 #
-# undef BOOST_PP_SLOT_3_DIGIT_1
-# undef BOOST_PP_SLOT_3_DIGIT_2
-# undef BOOST_PP_SLOT_3_DIGIT_3
-# undef BOOST_PP_SLOT_3_DIGIT_4
-# undef BOOST_PP_SLOT_3_DIGIT_5
-# undef BOOST_PP_SLOT_3_DIGIT_6
-# undef BOOST_PP_SLOT_3_DIGIT_7
-# undef BOOST_PP_SLOT_3_DIGIT_8
-# undef BOOST_PP_SLOT_3_DIGIT_9
-# undef BOOST_PP_SLOT_3_DIGIT_10
+# undef NDNBOOST_PP_SLOT_3_DIGIT_1
+# undef NDNBOOST_PP_SLOT_3_DIGIT_2
+# undef NDNBOOST_PP_SLOT_3_DIGIT_3
+# undef NDNBOOST_PP_SLOT_3_DIGIT_4
+# undef NDNBOOST_PP_SLOT_3_DIGIT_5
+# undef NDNBOOST_PP_SLOT_3_DIGIT_6
+# undef NDNBOOST_PP_SLOT_3_DIGIT_7
+# undef NDNBOOST_PP_SLOT_3_DIGIT_8
+# undef NDNBOOST_PP_SLOT_3_DIGIT_9
+# undef NDNBOOST_PP_SLOT_3_DIGIT_10
 #
-# if BOOST_PP_SLOT_TEMP_10 == 0
-#    define BOOST_PP_SLOT_3_DIGIT_10 0
-# elif BOOST_PP_SLOT_TEMP_10 == 1
-#    define BOOST_PP_SLOT_3_DIGIT_10 1
-# elif BOOST_PP_SLOT_TEMP_10 == 2
-#    define BOOST_PP_SLOT_3_DIGIT_10 2
-# elif BOOST_PP_SLOT_TEMP_10 == 3
-#    define BOOST_PP_SLOT_3_DIGIT_10 3
-# elif BOOST_PP_SLOT_TEMP_10 == 4
-#    define BOOST_PP_SLOT_3_DIGIT_10 4
-# elif BOOST_PP_SLOT_TEMP_10 == 5
-#    define BOOST_PP_SLOT_3_DIGIT_10 5
-# elif BOOST_PP_SLOT_TEMP_10 == 6
-#    define BOOST_PP_SLOT_3_DIGIT_10 6
-# elif BOOST_PP_SLOT_TEMP_10 == 7
-#    define BOOST_PP_SLOT_3_DIGIT_10 7
-# elif BOOST_PP_SLOT_TEMP_10 == 8
-#    define BOOST_PP_SLOT_3_DIGIT_10 8
-# elif BOOST_PP_SLOT_TEMP_10 == 9
-#    define BOOST_PP_SLOT_3_DIGIT_10 9
+# if NDNBOOST_PP_SLOT_TEMP_10 == 0
+#    define NDNBOOST_PP_SLOT_3_DIGIT_10 0
+# elif NDNBOOST_PP_SLOT_TEMP_10 == 1
+#    define NDNBOOST_PP_SLOT_3_DIGIT_10 1
+# elif NDNBOOST_PP_SLOT_TEMP_10 == 2
+#    define NDNBOOST_PP_SLOT_3_DIGIT_10 2
+# elif NDNBOOST_PP_SLOT_TEMP_10 == 3
+#    define NDNBOOST_PP_SLOT_3_DIGIT_10 3
+# elif NDNBOOST_PP_SLOT_TEMP_10 == 4
+#    define NDNBOOST_PP_SLOT_3_DIGIT_10 4
+# elif NDNBOOST_PP_SLOT_TEMP_10 == 5
+#    define NDNBOOST_PP_SLOT_3_DIGIT_10 5
+# elif NDNBOOST_PP_SLOT_TEMP_10 == 6
+#    define NDNBOOST_PP_SLOT_3_DIGIT_10 6
+# elif NDNBOOST_PP_SLOT_TEMP_10 == 7
+#    define NDNBOOST_PP_SLOT_3_DIGIT_10 7
+# elif NDNBOOST_PP_SLOT_TEMP_10 == 8
+#    define NDNBOOST_PP_SLOT_3_DIGIT_10 8
+# elif NDNBOOST_PP_SLOT_TEMP_10 == 9
+#    define NDNBOOST_PP_SLOT_3_DIGIT_10 9
 # endif
 #
-# if BOOST_PP_SLOT_TEMP_9 == 0
-#    define BOOST_PP_SLOT_3_DIGIT_9 0
-# elif BOOST_PP_SLOT_TEMP_9 == 1
-#    define BOOST_PP_SLOT_3_DIGIT_9 1
-# elif BOOST_PP_SLOT_TEMP_9 == 2
-#    define BOOST_PP_SLOT_3_DIGIT_9 2
-# elif BOOST_PP_SLOT_TEMP_9 == 3
-#    define BOOST_PP_SLOT_3_DIGIT_9 3
-# elif BOOST_PP_SLOT_TEMP_9 == 4
-#    define BOOST_PP_SLOT_3_DIGIT_9 4
-# elif BOOST_PP_SLOT_TEMP_9 == 5
-#    define BOOST_PP_SLOT_3_DIGIT_9 5
-# elif BOOST_PP_SLOT_TEMP_9 == 6
-#    define BOOST_PP_SLOT_3_DIGIT_9 6
-# elif BOOST_PP_SLOT_TEMP_9 == 7
-#    define BOOST_PP_SLOT_3_DIGIT_9 7
-# elif BOOST_PP_SLOT_TEMP_9 == 8
-#    define BOOST_PP_SLOT_3_DIGIT_9 8
-# elif BOOST_PP_SLOT_TEMP_9 == 9
-#    define BOOST_PP_SLOT_3_DIGIT_9 9
+# if NDNBOOST_PP_SLOT_TEMP_9 == 0
+#    define NDNBOOST_PP_SLOT_3_DIGIT_9 0
+# elif NDNBOOST_PP_SLOT_TEMP_9 == 1
+#    define NDNBOOST_PP_SLOT_3_DIGIT_9 1
+# elif NDNBOOST_PP_SLOT_TEMP_9 == 2
+#    define NDNBOOST_PP_SLOT_3_DIGIT_9 2
+# elif NDNBOOST_PP_SLOT_TEMP_9 == 3
+#    define NDNBOOST_PP_SLOT_3_DIGIT_9 3
+# elif NDNBOOST_PP_SLOT_TEMP_9 == 4
+#    define NDNBOOST_PP_SLOT_3_DIGIT_9 4
+# elif NDNBOOST_PP_SLOT_TEMP_9 == 5
+#    define NDNBOOST_PP_SLOT_3_DIGIT_9 5
+# elif NDNBOOST_PP_SLOT_TEMP_9 == 6
+#    define NDNBOOST_PP_SLOT_3_DIGIT_9 6
+# elif NDNBOOST_PP_SLOT_TEMP_9 == 7
+#    define NDNBOOST_PP_SLOT_3_DIGIT_9 7
+# elif NDNBOOST_PP_SLOT_TEMP_9 == 8
+#    define NDNBOOST_PP_SLOT_3_DIGIT_9 8
+# elif NDNBOOST_PP_SLOT_TEMP_9 == 9
+#    define NDNBOOST_PP_SLOT_3_DIGIT_9 9
 # endif
 #
-# if BOOST_PP_SLOT_TEMP_8 == 0
-#    define BOOST_PP_SLOT_3_DIGIT_8 0
-# elif BOOST_PP_SLOT_TEMP_8 == 1
-#    define BOOST_PP_SLOT_3_DIGIT_8 1
-# elif BOOST_PP_SLOT_TEMP_8 == 2
-#    define BOOST_PP_SLOT_3_DIGIT_8 2
-# elif BOOST_PP_SLOT_TEMP_8 == 3
-#    define BOOST_PP_SLOT_3_DIGIT_8 3
-# elif BOOST_PP_SLOT_TEMP_8 == 4
-#    define BOOST_PP_SLOT_3_DIGIT_8 4
-# elif BOOST_PP_SLOT_TEMP_8 == 5
-#    define BOOST_PP_SLOT_3_DIGIT_8 5
-# elif BOOST_PP_SLOT_TEMP_8 == 6
-#    define BOOST_PP_SLOT_3_DIGIT_8 6
-# elif BOOST_PP_SLOT_TEMP_8 == 7
-#    define BOOST_PP_SLOT_3_DIGIT_8 7
-# elif BOOST_PP_SLOT_TEMP_8 == 8
-#    define BOOST_PP_SLOT_3_DIGIT_8 8
-# elif BOOST_PP_SLOT_TEMP_8 == 9
-#    define BOOST_PP_SLOT_3_DIGIT_8 9
+# if NDNBOOST_PP_SLOT_TEMP_8 == 0
+#    define NDNBOOST_PP_SLOT_3_DIGIT_8 0
+# elif NDNBOOST_PP_SLOT_TEMP_8 == 1
+#    define NDNBOOST_PP_SLOT_3_DIGIT_8 1
+# elif NDNBOOST_PP_SLOT_TEMP_8 == 2
+#    define NDNBOOST_PP_SLOT_3_DIGIT_8 2
+# elif NDNBOOST_PP_SLOT_TEMP_8 == 3
+#    define NDNBOOST_PP_SLOT_3_DIGIT_8 3
+# elif NDNBOOST_PP_SLOT_TEMP_8 == 4
+#    define NDNBOOST_PP_SLOT_3_DIGIT_8 4
+# elif NDNBOOST_PP_SLOT_TEMP_8 == 5
+#    define NDNBOOST_PP_SLOT_3_DIGIT_8 5
+# elif NDNBOOST_PP_SLOT_TEMP_8 == 6
+#    define NDNBOOST_PP_SLOT_3_DIGIT_8 6
+# elif NDNBOOST_PP_SLOT_TEMP_8 == 7
+#    define NDNBOOST_PP_SLOT_3_DIGIT_8 7
+# elif NDNBOOST_PP_SLOT_TEMP_8 == 8
+#    define NDNBOOST_PP_SLOT_3_DIGIT_8 8
+# elif NDNBOOST_PP_SLOT_TEMP_8 == 9
+#    define NDNBOOST_PP_SLOT_3_DIGIT_8 9
 # endif
 #
-# if BOOST_PP_SLOT_TEMP_7 == 0
-#    define BOOST_PP_SLOT_3_DIGIT_7 0
-# elif BOOST_PP_SLOT_TEMP_7 == 1
-#    define BOOST_PP_SLOT_3_DIGIT_7 1
-# elif BOOST_PP_SLOT_TEMP_7 == 2
-#    define BOOST_PP_SLOT_3_DIGIT_7 2
-# elif BOOST_PP_SLOT_TEMP_7 == 3
-#    define BOOST_PP_SLOT_3_DIGIT_7 3
-# elif BOOST_PP_SLOT_TEMP_7 == 4
-#    define BOOST_PP_SLOT_3_DIGIT_7 4
-# elif BOOST_PP_SLOT_TEMP_7 == 5
-#    define BOOST_PP_SLOT_3_DIGIT_7 5
-# elif BOOST_PP_SLOT_TEMP_7 == 6
-#    define BOOST_PP_SLOT_3_DIGIT_7 6
-# elif BOOST_PP_SLOT_TEMP_7 == 7
-#    define BOOST_PP_SLOT_3_DIGIT_7 7
-# elif BOOST_PP_SLOT_TEMP_7 == 8
-#    define BOOST_PP_SLOT_3_DIGIT_7 8
-# elif BOOST_PP_SLOT_TEMP_7 == 9
-#    define BOOST_PP_SLOT_3_DIGIT_7 9
+# if NDNBOOST_PP_SLOT_TEMP_7 == 0
+#    define NDNBOOST_PP_SLOT_3_DIGIT_7 0
+# elif NDNBOOST_PP_SLOT_TEMP_7 == 1
+#    define NDNBOOST_PP_SLOT_3_DIGIT_7 1
+# elif NDNBOOST_PP_SLOT_TEMP_7 == 2
+#    define NDNBOOST_PP_SLOT_3_DIGIT_7 2
+# elif NDNBOOST_PP_SLOT_TEMP_7 == 3
+#    define NDNBOOST_PP_SLOT_3_DIGIT_7 3
+# elif NDNBOOST_PP_SLOT_TEMP_7 == 4
+#    define NDNBOOST_PP_SLOT_3_DIGIT_7 4
+# elif NDNBOOST_PP_SLOT_TEMP_7 == 5
+#    define NDNBOOST_PP_SLOT_3_DIGIT_7 5
+# elif NDNBOOST_PP_SLOT_TEMP_7 == 6
+#    define NDNBOOST_PP_SLOT_3_DIGIT_7 6
+# elif NDNBOOST_PP_SLOT_TEMP_7 == 7
+#    define NDNBOOST_PP_SLOT_3_DIGIT_7 7
+# elif NDNBOOST_PP_SLOT_TEMP_7 == 8
+#    define NDNBOOST_PP_SLOT_3_DIGIT_7 8
+# elif NDNBOOST_PP_SLOT_TEMP_7 == 9
+#    define NDNBOOST_PP_SLOT_3_DIGIT_7 9
 # endif
 #
-# if BOOST_PP_SLOT_TEMP_6 == 0
-#    define BOOST_PP_SLOT_3_DIGIT_6 0
-# elif BOOST_PP_SLOT_TEMP_6 == 1
-#    define BOOST_PP_SLOT_3_DIGIT_6 1
-# elif BOOST_PP_SLOT_TEMP_6 == 2
-#    define BOOST_PP_SLOT_3_DIGIT_6 2
-# elif BOOST_PP_SLOT_TEMP_6 == 3
-#    define BOOST_PP_SLOT_3_DIGIT_6 3
-# elif BOOST_PP_SLOT_TEMP_6 == 4
-#    define BOOST_PP_SLOT_3_DIGIT_6 4
-# elif BOOST_PP_SLOT_TEMP_6 == 5
-#    define BOOST_PP_SLOT_3_DIGIT_6 5
-# elif BOOST_PP_SLOT_TEMP_6 == 6
-#    define BOOST_PP_SLOT_3_DIGIT_6 6
-# elif BOOST_PP_SLOT_TEMP_6 == 7
-#    define BOOST_PP_SLOT_3_DIGIT_6 7
-# elif BOOST_PP_SLOT_TEMP_6 == 8
-#    define BOOST_PP_SLOT_3_DIGIT_6 8
-# elif BOOST_PP_SLOT_TEMP_6 == 9
-#    define BOOST_PP_SLOT_3_DIGIT_6 9
+# if NDNBOOST_PP_SLOT_TEMP_6 == 0
+#    define NDNBOOST_PP_SLOT_3_DIGIT_6 0
+# elif NDNBOOST_PP_SLOT_TEMP_6 == 1
+#    define NDNBOOST_PP_SLOT_3_DIGIT_6 1
+# elif NDNBOOST_PP_SLOT_TEMP_6 == 2
+#    define NDNBOOST_PP_SLOT_3_DIGIT_6 2
+# elif NDNBOOST_PP_SLOT_TEMP_6 == 3
+#    define NDNBOOST_PP_SLOT_3_DIGIT_6 3
+# elif NDNBOOST_PP_SLOT_TEMP_6 == 4
+#    define NDNBOOST_PP_SLOT_3_DIGIT_6 4
+# elif NDNBOOST_PP_SLOT_TEMP_6 == 5
+#    define NDNBOOST_PP_SLOT_3_DIGIT_6 5
+# elif NDNBOOST_PP_SLOT_TEMP_6 == 6
+#    define NDNBOOST_PP_SLOT_3_DIGIT_6 6
+# elif NDNBOOST_PP_SLOT_TEMP_6 == 7
+#    define NDNBOOST_PP_SLOT_3_DIGIT_6 7
+# elif NDNBOOST_PP_SLOT_TEMP_6 == 8
+#    define NDNBOOST_PP_SLOT_3_DIGIT_6 8
+# elif NDNBOOST_PP_SLOT_TEMP_6 == 9
+#    define NDNBOOST_PP_SLOT_3_DIGIT_6 9
 # endif
 #
-# if BOOST_PP_SLOT_TEMP_5 == 0
-#    define BOOST_PP_SLOT_3_DIGIT_5 0
-# elif BOOST_PP_SLOT_TEMP_5 == 1
-#    define BOOST_PP_SLOT_3_DIGIT_5 1
-# elif BOOST_PP_SLOT_TEMP_5 == 2
-#    define BOOST_PP_SLOT_3_DIGIT_5 2
-# elif BOOST_PP_SLOT_TEMP_5 == 3
-#    define BOOST_PP_SLOT_3_DIGIT_5 3
-# elif BOOST_PP_SLOT_TEMP_5 == 4
-#    define BOOST_PP_SLOT_3_DIGIT_5 4
-# elif BOOST_PP_SLOT_TEMP_5 == 5
-#    define BOOST_PP_SLOT_3_DIGIT_5 5
-# elif BOOST_PP_SLOT_TEMP_5 == 6
-#    define BOOST_PP_SLOT_3_DIGIT_5 6
-# elif BOOST_PP_SLOT_TEMP_5 == 7
-#    define BOOST_PP_SLOT_3_DIGIT_5 7
-# elif BOOST_PP_SLOT_TEMP_5 == 8
-#    define BOOST_PP_SLOT_3_DIGIT_5 8
-# elif BOOST_PP_SLOT_TEMP_5 == 9
-#    define BOOST_PP_SLOT_3_DIGIT_5 9
+# if NDNBOOST_PP_SLOT_TEMP_5 == 0
+#    define NDNBOOST_PP_SLOT_3_DIGIT_5 0
+# elif NDNBOOST_PP_SLOT_TEMP_5 == 1
+#    define NDNBOOST_PP_SLOT_3_DIGIT_5 1
+# elif NDNBOOST_PP_SLOT_TEMP_5 == 2
+#    define NDNBOOST_PP_SLOT_3_DIGIT_5 2
+# elif NDNBOOST_PP_SLOT_TEMP_5 == 3
+#    define NDNBOOST_PP_SLOT_3_DIGIT_5 3
+# elif NDNBOOST_PP_SLOT_TEMP_5 == 4
+#    define NDNBOOST_PP_SLOT_3_DIGIT_5 4
+# elif NDNBOOST_PP_SLOT_TEMP_5 == 5
+#    define NDNBOOST_PP_SLOT_3_DIGIT_5 5
+# elif NDNBOOST_PP_SLOT_TEMP_5 == 6
+#    define NDNBOOST_PP_SLOT_3_DIGIT_5 6
+# elif NDNBOOST_PP_SLOT_TEMP_5 == 7
+#    define NDNBOOST_PP_SLOT_3_DIGIT_5 7
+# elif NDNBOOST_PP_SLOT_TEMP_5 == 8
+#    define NDNBOOST_PP_SLOT_3_DIGIT_5 8
+# elif NDNBOOST_PP_SLOT_TEMP_5 == 9
+#    define NDNBOOST_PP_SLOT_3_DIGIT_5 9
 # endif
 #
-# if BOOST_PP_SLOT_TEMP_4 == 0
-#    define BOOST_PP_SLOT_3_DIGIT_4 0
-# elif BOOST_PP_SLOT_TEMP_4 == 1
-#    define BOOST_PP_SLOT_3_DIGIT_4 1
-# elif BOOST_PP_SLOT_TEMP_4 == 2
-#    define BOOST_PP_SLOT_3_DIGIT_4 2
-# elif BOOST_PP_SLOT_TEMP_4 == 3
-#    define BOOST_PP_SLOT_3_DIGIT_4 3
-# elif BOOST_PP_SLOT_TEMP_4 == 4
-#    define BOOST_PP_SLOT_3_DIGIT_4 4
-# elif BOOST_PP_SLOT_TEMP_4 == 5
-#    define BOOST_PP_SLOT_3_DIGIT_4 5
-# elif BOOST_PP_SLOT_TEMP_4 == 6
-#    define BOOST_PP_SLOT_3_DIGIT_4 6
-# elif BOOST_PP_SLOT_TEMP_4 == 7
-#    define BOOST_PP_SLOT_3_DIGIT_4 7
-# elif BOOST_PP_SLOT_TEMP_4 == 8
-#    define BOOST_PP_SLOT_3_DIGIT_4 8
-# elif BOOST_PP_SLOT_TEMP_4 == 9
-#    define BOOST_PP_SLOT_3_DIGIT_4 9
+# if NDNBOOST_PP_SLOT_TEMP_4 == 0
+#    define NDNBOOST_PP_SLOT_3_DIGIT_4 0
+# elif NDNBOOST_PP_SLOT_TEMP_4 == 1
+#    define NDNBOOST_PP_SLOT_3_DIGIT_4 1
+# elif NDNBOOST_PP_SLOT_TEMP_4 == 2
+#    define NDNBOOST_PP_SLOT_3_DIGIT_4 2
+# elif NDNBOOST_PP_SLOT_TEMP_4 == 3
+#    define NDNBOOST_PP_SLOT_3_DIGIT_4 3
+# elif NDNBOOST_PP_SLOT_TEMP_4 == 4
+#    define NDNBOOST_PP_SLOT_3_DIGIT_4 4
+# elif NDNBOOST_PP_SLOT_TEMP_4 == 5
+#    define NDNBOOST_PP_SLOT_3_DIGIT_4 5
+# elif NDNBOOST_PP_SLOT_TEMP_4 == 6
+#    define NDNBOOST_PP_SLOT_3_DIGIT_4 6
+# elif NDNBOOST_PP_SLOT_TEMP_4 == 7
+#    define NDNBOOST_PP_SLOT_3_DIGIT_4 7
+# elif NDNBOOST_PP_SLOT_TEMP_4 == 8
+#    define NDNBOOST_PP_SLOT_3_DIGIT_4 8
+# elif NDNBOOST_PP_SLOT_TEMP_4 == 9
+#    define NDNBOOST_PP_SLOT_3_DIGIT_4 9
 # endif
 #
-# if BOOST_PP_SLOT_TEMP_3 == 0
-#    define BOOST_PP_SLOT_3_DIGIT_3 0
-# elif BOOST_PP_SLOT_TEMP_3 == 1
-#    define BOOST_PP_SLOT_3_DIGIT_3 1
-# elif BOOST_PP_SLOT_TEMP_3 == 2
-#    define BOOST_PP_SLOT_3_DIGIT_3 2
-# elif BOOST_PP_SLOT_TEMP_3 == 3
-#    define BOOST_PP_SLOT_3_DIGIT_3 3
-# elif BOOST_PP_SLOT_TEMP_3 == 4
-#    define BOOST_PP_SLOT_3_DIGIT_3 4
-# elif BOOST_PP_SLOT_TEMP_3 == 5
-#    define BOOST_PP_SLOT_3_DIGIT_3 5
-# elif BOOST_PP_SLOT_TEMP_3 == 6
-#    define BOOST_PP_SLOT_3_DIGIT_3 6
-# elif BOOST_PP_SLOT_TEMP_3 == 7
-#    define BOOST_PP_SLOT_3_DIGIT_3 7
-# elif BOOST_PP_SLOT_TEMP_3 == 8
-#    define BOOST_PP_SLOT_3_DIGIT_3 8
-# elif BOOST_PP_SLOT_TEMP_3 == 9
-#    define BOOST_PP_SLOT_3_DIGIT_3 9
+# if NDNBOOST_PP_SLOT_TEMP_3 == 0
+#    define NDNBOOST_PP_SLOT_3_DIGIT_3 0
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 1
+#    define NDNBOOST_PP_SLOT_3_DIGIT_3 1
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 2
+#    define NDNBOOST_PP_SLOT_3_DIGIT_3 2
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 3
+#    define NDNBOOST_PP_SLOT_3_DIGIT_3 3
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 4
+#    define NDNBOOST_PP_SLOT_3_DIGIT_3 4
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 5
+#    define NDNBOOST_PP_SLOT_3_DIGIT_3 5
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 6
+#    define NDNBOOST_PP_SLOT_3_DIGIT_3 6
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 7
+#    define NDNBOOST_PP_SLOT_3_DIGIT_3 7
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 8
+#    define NDNBOOST_PP_SLOT_3_DIGIT_3 8
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 9
+#    define NDNBOOST_PP_SLOT_3_DIGIT_3 9
 # endif
 #
-# if BOOST_PP_SLOT_TEMP_2 == 0
-#    define BOOST_PP_SLOT_3_DIGIT_2 0
-# elif BOOST_PP_SLOT_TEMP_2 == 1
-#    define BOOST_PP_SLOT_3_DIGIT_2 1
-# elif BOOST_PP_SLOT_TEMP_2 == 2
-#    define BOOST_PP_SLOT_3_DIGIT_2 2
-# elif BOOST_PP_SLOT_TEMP_2 == 3
-#    define BOOST_PP_SLOT_3_DIGIT_2 3
-# elif BOOST_PP_SLOT_TEMP_2 == 4
-#    define BOOST_PP_SLOT_3_DIGIT_2 4
-# elif BOOST_PP_SLOT_TEMP_2 == 5
-#    define BOOST_PP_SLOT_3_DIGIT_2 5
-# elif BOOST_PP_SLOT_TEMP_2 == 6
-#    define BOOST_PP_SLOT_3_DIGIT_2 6
-# elif BOOST_PP_SLOT_TEMP_2 == 7
-#    define BOOST_PP_SLOT_3_DIGIT_2 7
-# elif BOOST_PP_SLOT_TEMP_2 == 8
-#    define BOOST_PP_SLOT_3_DIGIT_2 8
-# elif BOOST_PP_SLOT_TEMP_2 == 9
-#    define BOOST_PP_SLOT_3_DIGIT_2 9
+# if NDNBOOST_PP_SLOT_TEMP_2 == 0
+#    define NDNBOOST_PP_SLOT_3_DIGIT_2 0
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 1
+#    define NDNBOOST_PP_SLOT_3_DIGIT_2 1
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 2
+#    define NDNBOOST_PP_SLOT_3_DIGIT_2 2
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 3
+#    define NDNBOOST_PP_SLOT_3_DIGIT_2 3
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 4
+#    define NDNBOOST_PP_SLOT_3_DIGIT_2 4
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 5
+#    define NDNBOOST_PP_SLOT_3_DIGIT_2 5
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 6
+#    define NDNBOOST_PP_SLOT_3_DIGIT_2 6
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 7
+#    define NDNBOOST_PP_SLOT_3_DIGIT_2 7
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 8
+#    define NDNBOOST_PP_SLOT_3_DIGIT_2 8
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 9
+#    define NDNBOOST_PP_SLOT_3_DIGIT_2 9
 # endif
 #
-# if BOOST_PP_SLOT_TEMP_1 == 0
-#    define BOOST_PP_SLOT_3_DIGIT_1 0
-# elif BOOST_PP_SLOT_TEMP_1 == 1
-#    define BOOST_PP_SLOT_3_DIGIT_1 1
-# elif BOOST_PP_SLOT_TEMP_1 == 2
-#    define BOOST_PP_SLOT_3_DIGIT_1 2
-# elif BOOST_PP_SLOT_TEMP_1 == 3
-#    define BOOST_PP_SLOT_3_DIGIT_1 3
-# elif BOOST_PP_SLOT_TEMP_1 == 4
-#    define BOOST_PP_SLOT_3_DIGIT_1 4
-# elif BOOST_PP_SLOT_TEMP_1 == 5
-#    define BOOST_PP_SLOT_3_DIGIT_1 5
-# elif BOOST_PP_SLOT_TEMP_1 == 6
-#    define BOOST_PP_SLOT_3_DIGIT_1 6
-# elif BOOST_PP_SLOT_TEMP_1 == 7
-#    define BOOST_PP_SLOT_3_DIGIT_1 7
-# elif BOOST_PP_SLOT_TEMP_1 == 8
-#    define BOOST_PP_SLOT_3_DIGIT_1 8
-# elif BOOST_PP_SLOT_TEMP_1 == 9
-#    define BOOST_PP_SLOT_3_DIGIT_1 9
+# if NDNBOOST_PP_SLOT_TEMP_1 == 0
+#    define NDNBOOST_PP_SLOT_3_DIGIT_1 0
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 1
+#    define NDNBOOST_PP_SLOT_3_DIGIT_1 1
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 2
+#    define NDNBOOST_PP_SLOT_3_DIGIT_1 2
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 3
+#    define NDNBOOST_PP_SLOT_3_DIGIT_1 3
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 4
+#    define NDNBOOST_PP_SLOT_3_DIGIT_1 4
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 5
+#    define NDNBOOST_PP_SLOT_3_DIGIT_1 5
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 6
+#    define NDNBOOST_PP_SLOT_3_DIGIT_1 6
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 7
+#    define NDNBOOST_PP_SLOT_3_DIGIT_1 7
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 8
+#    define NDNBOOST_PP_SLOT_3_DIGIT_1 8
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 9
+#    define NDNBOOST_PP_SLOT_3_DIGIT_1 9
 # endif
 #
-# if BOOST_PP_SLOT_3_DIGIT_10
-#    define BOOST_PP_SLOT_3() BOOST_PP_SLOT_CC_10(BOOST_PP_SLOT_3_DIGIT_10, BOOST_PP_SLOT_3_DIGIT_9, BOOST_PP_SLOT_3_DIGIT_8, BOOST_PP_SLOT_3_DIGIT_7, BOOST_PP_SLOT_3_DIGIT_6, BOOST_PP_SLOT_3_DIGIT_5, BOOST_PP_SLOT_3_DIGIT_4, BOOST_PP_SLOT_3_DIGIT_3, BOOST_PP_SLOT_3_DIGIT_2, BOOST_PP_SLOT_3_DIGIT_1)
-# elif BOOST_PP_SLOT_3_DIGIT_9
-#    define BOOST_PP_SLOT_3() BOOST_PP_SLOT_CC_9(BOOST_PP_SLOT_3_DIGIT_9, BOOST_PP_SLOT_3_DIGIT_8, BOOST_PP_SLOT_3_DIGIT_7, BOOST_PP_SLOT_3_DIGIT_6, BOOST_PP_SLOT_3_DIGIT_5, BOOST_PP_SLOT_3_DIGIT_4, BOOST_PP_SLOT_3_DIGIT_3, BOOST_PP_SLOT_3_DIGIT_2, BOOST_PP_SLOT_3_DIGIT_1)
-# elif BOOST_PP_SLOT_3_DIGIT_8
-#    define BOOST_PP_SLOT_3() BOOST_PP_SLOT_CC_8(BOOST_PP_SLOT_3_DIGIT_8, BOOST_PP_SLOT_3_DIGIT_7, BOOST_PP_SLOT_3_DIGIT_6, BOOST_PP_SLOT_3_DIGIT_5, BOOST_PP_SLOT_3_DIGIT_4, BOOST_PP_SLOT_3_DIGIT_3, BOOST_PP_SLOT_3_DIGIT_2, BOOST_PP_SLOT_3_DIGIT_1)
-# elif BOOST_PP_SLOT_3_DIGIT_7
-#    define BOOST_PP_SLOT_3() BOOST_PP_SLOT_CC_7(BOOST_PP_SLOT_3_DIGIT_7, BOOST_PP_SLOT_3_DIGIT_6, BOOST_PP_SLOT_3_DIGIT_5, BOOST_PP_SLOT_3_DIGIT_4, BOOST_PP_SLOT_3_DIGIT_3, BOOST_PP_SLOT_3_DIGIT_2, BOOST_PP_SLOT_3_DIGIT_1)
-# elif BOOST_PP_SLOT_3_DIGIT_6
-#    define BOOST_PP_SLOT_3() BOOST_PP_SLOT_CC_6(BOOST_PP_SLOT_3_DIGIT_6, BOOST_PP_SLOT_3_DIGIT_5, BOOST_PP_SLOT_3_DIGIT_4, BOOST_PP_SLOT_3_DIGIT_3, BOOST_PP_SLOT_3_DIGIT_2, BOOST_PP_SLOT_3_DIGIT_1)
-# elif BOOST_PP_SLOT_3_DIGIT_5
-#    define BOOST_PP_SLOT_3() BOOST_PP_SLOT_CC_5(BOOST_PP_SLOT_3_DIGIT_5, BOOST_PP_SLOT_3_DIGIT_4, BOOST_PP_SLOT_3_DIGIT_3, BOOST_PP_SLOT_3_DIGIT_2, BOOST_PP_SLOT_3_DIGIT_1)
-# elif BOOST_PP_SLOT_3_DIGIT_4
-#    define BOOST_PP_SLOT_3() BOOST_PP_SLOT_CC_4(BOOST_PP_SLOT_3_DIGIT_4, BOOST_PP_SLOT_3_DIGIT_3, BOOST_PP_SLOT_3_DIGIT_2, BOOST_PP_SLOT_3_DIGIT_1)
-# elif BOOST_PP_SLOT_3_DIGIT_3
-#    define BOOST_PP_SLOT_3() BOOST_PP_SLOT_CC_3(BOOST_PP_SLOT_3_DIGIT_3, BOOST_PP_SLOT_3_DIGIT_2, BOOST_PP_SLOT_3_DIGIT_1)
-# elif BOOST_PP_SLOT_3_DIGIT_2
-#    define BOOST_PP_SLOT_3() BOOST_PP_SLOT_CC_2(BOOST_PP_SLOT_3_DIGIT_2, BOOST_PP_SLOT_3_DIGIT_1)
+# if NDNBOOST_PP_SLOT_3_DIGIT_10
+#    define NDNBOOST_PP_SLOT_3() NDNBOOST_PP_SLOT_CC_10(NDNBOOST_PP_SLOT_3_DIGIT_10, NDNBOOST_PP_SLOT_3_DIGIT_9, NDNBOOST_PP_SLOT_3_DIGIT_8, NDNBOOST_PP_SLOT_3_DIGIT_7, NDNBOOST_PP_SLOT_3_DIGIT_6, NDNBOOST_PP_SLOT_3_DIGIT_5, NDNBOOST_PP_SLOT_3_DIGIT_4, NDNBOOST_PP_SLOT_3_DIGIT_3, NDNBOOST_PP_SLOT_3_DIGIT_2, NDNBOOST_PP_SLOT_3_DIGIT_1)
+# elif NDNBOOST_PP_SLOT_3_DIGIT_9
+#    define NDNBOOST_PP_SLOT_3() NDNBOOST_PP_SLOT_CC_9(NDNBOOST_PP_SLOT_3_DIGIT_9, NDNBOOST_PP_SLOT_3_DIGIT_8, NDNBOOST_PP_SLOT_3_DIGIT_7, NDNBOOST_PP_SLOT_3_DIGIT_6, NDNBOOST_PP_SLOT_3_DIGIT_5, NDNBOOST_PP_SLOT_3_DIGIT_4, NDNBOOST_PP_SLOT_3_DIGIT_3, NDNBOOST_PP_SLOT_3_DIGIT_2, NDNBOOST_PP_SLOT_3_DIGIT_1)
+# elif NDNBOOST_PP_SLOT_3_DIGIT_8
+#    define NDNBOOST_PP_SLOT_3() NDNBOOST_PP_SLOT_CC_8(NDNBOOST_PP_SLOT_3_DIGIT_8, NDNBOOST_PP_SLOT_3_DIGIT_7, NDNBOOST_PP_SLOT_3_DIGIT_6, NDNBOOST_PP_SLOT_3_DIGIT_5, NDNBOOST_PP_SLOT_3_DIGIT_4, NDNBOOST_PP_SLOT_3_DIGIT_3, NDNBOOST_PP_SLOT_3_DIGIT_2, NDNBOOST_PP_SLOT_3_DIGIT_1)
+# elif NDNBOOST_PP_SLOT_3_DIGIT_7
+#    define NDNBOOST_PP_SLOT_3() NDNBOOST_PP_SLOT_CC_7(NDNBOOST_PP_SLOT_3_DIGIT_7, NDNBOOST_PP_SLOT_3_DIGIT_6, NDNBOOST_PP_SLOT_3_DIGIT_5, NDNBOOST_PP_SLOT_3_DIGIT_4, NDNBOOST_PP_SLOT_3_DIGIT_3, NDNBOOST_PP_SLOT_3_DIGIT_2, NDNBOOST_PP_SLOT_3_DIGIT_1)
+# elif NDNBOOST_PP_SLOT_3_DIGIT_6
+#    define NDNBOOST_PP_SLOT_3() NDNBOOST_PP_SLOT_CC_6(NDNBOOST_PP_SLOT_3_DIGIT_6, NDNBOOST_PP_SLOT_3_DIGIT_5, NDNBOOST_PP_SLOT_3_DIGIT_4, NDNBOOST_PP_SLOT_3_DIGIT_3, NDNBOOST_PP_SLOT_3_DIGIT_2, NDNBOOST_PP_SLOT_3_DIGIT_1)
+# elif NDNBOOST_PP_SLOT_3_DIGIT_5
+#    define NDNBOOST_PP_SLOT_3() NDNBOOST_PP_SLOT_CC_5(NDNBOOST_PP_SLOT_3_DIGIT_5, NDNBOOST_PP_SLOT_3_DIGIT_4, NDNBOOST_PP_SLOT_3_DIGIT_3, NDNBOOST_PP_SLOT_3_DIGIT_2, NDNBOOST_PP_SLOT_3_DIGIT_1)
+# elif NDNBOOST_PP_SLOT_3_DIGIT_4
+#    define NDNBOOST_PP_SLOT_3() NDNBOOST_PP_SLOT_CC_4(NDNBOOST_PP_SLOT_3_DIGIT_4, NDNBOOST_PP_SLOT_3_DIGIT_3, NDNBOOST_PP_SLOT_3_DIGIT_2, NDNBOOST_PP_SLOT_3_DIGIT_1)
+# elif NDNBOOST_PP_SLOT_3_DIGIT_3
+#    define NDNBOOST_PP_SLOT_3() NDNBOOST_PP_SLOT_CC_3(NDNBOOST_PP_SLOT_3_DIGIT_3, NDNBOOST_PP_SLOT_3_DIGIT_2, NDNBOOST_PP_SLOT_3_DIGIT_1)
+# elif NDNBOOST_PP_SLOT_3_DIGIT_2
+#    define NDNBOOST_PP_SLOT_3() NDNBOOST_PP_SLOT_CC_2(NDNBOOST_PP_SLOT_3_DIGIT_2, NDNBOOST_PP_SLOT_3_DIGIT_1)
 # else
-#    define BOOST_PP_SLOT_3() BOOST_PP_SLOT_3_DIGIT_1
+#    define NDNBOOST_PP_SLOT_3() NDNBOOST_PP_SLOT_3_DIGIT_1
 # endif
diff --git a/include/ndnboost/preprocessor/slot/detail/slot4.hpp b/include/ndnboost/preprocessor/slot/detail/slot4.hpp
index 0b0f725..78017a2 100644
--- a/include/ndnboost/preprocessor/slot/detail/slot4.hpp
+++ b/include/ndnboost/preprocessor/slot/detail/slot4.hpp
@@ -11,257 +11,257 @@
 #
 # include <ndnboost/preprocessor/slot/detail/shared.hpp>
 #
-# undef BOOST_PP_SLOT_4
+# undef NDNBOOST_PP_SLOT_4
 #
-# undef BOOST_PP_SLOT_4_DIGIT_1
-# undef BOOST_PP_SLOT_4_DIGIT_2
-# undef BOOST_PP_SLOT_4_DIGIT_3
-# undef BOOST_PP_SLOT_4_DIGIT_4
-# undef BOOST_PP_SLOT_4_DIGIT_5
-# undef BOOST_PP_SLOT_4_DIGIT_6
-# undef BOOST_PP_SLOT_4_DIGIT_7
-# undef BOOST_PP_SLOT_4_DIGIT_8
-# undef BOOST_PP_SLOT_4_DIGIT_9
-# undef BOOST_PP_SLOT_4_DIGIT_10
+# undef NDNBOOST_PP_SLOT_4_DIGIT_1
+# undef NDNBOOST_PP_SLOT_4_DIGIT_2
+# undef NDNBOOST_PP_SLOT_4_DIGIT_3
+# undef NDNBOOST_PP_SLOT_4_DIGIT_4
+# undef NDNBOOST_PP_SLOT_4_DIGIT_5
+# undef NDNBOOST_PP_SLOT_4_DIGIT_6
+# undef NDNBOOST_PP_SLOT_4_DIGIT_7
+# undef NDNBOOST_PP_SLOT_4_DIGIT_8
+# undef NDNBOOST_PP_SLOT_4_DIGIT_9
+# undef NDNBOOST_PP_SLOT_4_DIGIT_10
 #
-# if BOOST_PP_SLOT_TEMP_10 == 0
-#    define BOOST_PP_SLOT_4_DIGIT_10 0
-# elif BOOST_PP_SLOT_TEMP_10 == 1
-#    define BOOST_PP_SLOT_4_DIGIT_10 1
-# elif BOOST_PP_SLOT_TEMP_10 == 2
-#    define BOOST_PP_SLOT_4_DIGIT_10 2
-# elif BOOST_PP_SLOT_TEMP_10 == 3
-#    define BOOST_PP_SLOT_4_DIGIT_10 3
-# elif BOOST_PP_SLOT_TEMP_10 == 4
-#    define BOOST_PP_SLOT_4_DIGIT_10 4
-# elif BOOST_PP_SLOT_TEMP_10 == 5
-#    define BOOST_PP_SLOT_4_DIGIT_10 5
-# elif BOOST_PP_SLOT_TEMP_10 == 6
-#    define BOOST_PP_SLOT_4_DIGIT_10 6
-# elif BOOST_PP_SLOT_TEMP_10 == 7
-#    define BOOST_PP_SLOT_4_DIGIT_10 7
-# elif BOOST_PP_SLOT_TEMP_10 == 8
-#    define BOOST_PP_SLOT_4_DIGIT_10 8
-# elif BOOST_PP_SLOT_TEMP_10 == 9
-#    define BOOST_PP_SLOT_4_DIGIT_10 9
+# if NDNBOOST_PP_SLOT_TEMP_10 == 0
+#    define NDNBOOST_PP_SLOT_4_DIGIT_10 0
+# elif NDNBOOST_PP_SLOT_TEMP_10 == 1
+#    define NDNBOOST_PP_SLOT_4_DIGIT_10 1
+# elif NDNBOOST_PP_SLOT_TEMP_10 == 2
+#    define NDNBOOST_PP_SLOT_4_DIGIT_10 2
+# elif NDNBOOST_PP_SLOT_TEMP_10 == 3
+#    define NDNBOOST_PP_SLOT_4_DIGIT_10 3
+# elif NDNBOOST_PP_SLOT_TEMP_10 == 4
+#    define NDNBOOST_PP_SLOT_4_DIGIT_10 4
+# elif NDNBOOST_PP_SLOT_TEMP_10 == 5
+#    define NDNBOOST_PP_SLOT_4_DIGIT_10 5
+# elif NDNBOOST_PP_SLOT_TEMP_10 == 6
+#    define NDNBOOST_PP_SLOT_4_DIGIT_10 6
+# elif NDNBOOST_PP_SLOT_TEMP_10 == 7
+#    define NDNBOOST_PP_SLOT_4_DIGIT_10 7
+# elif NDNBOOST_PP_SLOT_TEMP_10 == 8
+#    define NDNBOOST_PP_SLOT_4_DIGIT_10 8
+# elif NDNBOOST_PP_SLOT_TEMP_10 == 9
+#    define NDNBOOST_PP_SLOT_4_DIGIT_10 9
 # endif
 #
-# if BOOST_PP_SLOT_TEMP_9 == 0
-#    define BOOST_PP_SLOT_4_DIGIT_9 0
-# elif BOOST_PP_SLOT_TEMP_9 == 1
-#    define BOOST_PP_SLOT_4_DIGIT_9 1
-# elif BOOST_PP_SLOT_TEMP_9 == 2
-#    define BOOST_PP_SLOT_4_DIGIT_9 2
-# elif BOOST_PP_SLOT_TEMP_9 == 3
-#    define BOOST_PP_SLOT_4_DIGIT_9 3
-# elif BOOST_PP_SLOT_TEMP_9 == 4
-#    define BOOST_PP_SLOT_4_DIGIT_9 4
-# elif BOOST_PP_SLOT_TEMP_9 == 5
-#    define BOOST_PP_SLOT_4_DIGIT_9 5
-# elif BOOST_PP_SLOT_TEMP_9 == 6
-#    define BOOST_PP_SLOT_4_DIGIT_9 6
-# elif BOOST_PP_SLOT_TEMP_9 == 7
-#    define BOOST_PP_SLOT_4_DIGIT_9 7
-# elif BOOST_PP_SLOT_TEMP_9 == 8
-#    define BOOST_PP_SLOT_4_DIGIT_9 8
-# elif BOOST_PP_SLOT_TEMP_9 == 9
-#    define BOOST_PP_SLOT_4_DIGIT_9 9
+# if NDNBOOST_PP_SLOT_TEMP_9 == 0
+#    define NDNBOOST_PP_SLOT_4_DIGIT_9 0
+# elif NDNBOOST_PP_SLOT_TEMP_9 == 1
+#    define NDNBOOST_PP_SLOT_4_DIGIT_9 1
+# elif NDNBOOST_PP_SLOT_TEMP_9 == 2
+#    define NDNBOOST_PP_SLOT_4_DIGIT_9 2
+# elif NDNBOOST_PP_SLOT_TEMP_9 == 3
+#    define NDNBOOST_PP_SLOT_4_DIGIT_9 3
+# elif NDNBOOST_PP_SLOT_TEMP_9 == 4
+#    define NDNBOOST_PP_SLOT_4_DIGIT_9 4
+# elif NDNBOOST_PP_SLOT_TEMP_9 == 5
+#    define NDNBOOST_PP_SLOT_4_DIGIT_9 5
+# elif NDNBOOST_PP_SLOT_TEMP_9 == 6
+#    define NDNBOOST_PP_SLOT_4_DIGIT_9 6
+# elif NDNBOOST_PP_SLOT_TEMP_9 == 7
+#    define NDNBOOST_PP_SLOT_4_DIGIT_9 7
+# elif NDNBOOST_PP_SLOT_TEMP_9 == 8
+#    define NDNBOOST_PP_SLOT_4_DIGIT_9 8
+# elif NDNBOOST_PP_SLOT_TEMP_9 == 9
+#    define NDNBOOST_PP_SLOT_4_DIGIT_9 9
 # endif
 #
-# if BOOST_PP_SLOT_TEMP_8 == 0
-#    define BOOST_PP_SLOT_4_DIGIT_8 0
-# elif BOOST_PP_SLOT_TEMP_8 == 1
-#    define BOOST_PP_SLOT_4_DIGIT_8 1
-# elif BOOST_PP_SLOT_TEMP_8 == 2
-#    define BOOST_PP_SLOT_4_DIGIT_8 2
-# elif BOOST_PP_SLOT_TEMP_8 == 3
-#    define BOOST_PP_SLOT_4_DIGIT_8 3
-# elif BOOST_PP_SLOT_TEMP_8 == 4
-#    define BOOST_PP_SLOT_4_DIGIT_8 4
-# elif BOOST_PP_SLOT_TEMP_8 == 5
-#    define BOOST_PP_SLOT_4_DIGIT_8 5
-# elif BOOST_PP_SLOT_TEMP_8 == 6
-#    define BOOST_PP_SLOT_4_DIGIT_8 6
-# elif BOOST_PP_SLOT_TEMP_8 == 7
-#    define BOOST_PP_SLOT_4_DIGIT_8 7
-# elif BOOST_PP_SLOT_TEMP_8 == 8
-#    define BOOST_PP_SLOT_4_DIGIT_8 8
-# elif BOOST_PP_SLOT_TEMP_8 == 9
-#    define BOOST_PP_SLOT_4_DIGIT_8 9
+# if NDNBOOST_PP_SLOT_TEMP_8 == 0
+#    define NDNBOOST_PP_SLOT_4_DIGIT_8 0
+# elif NDNBOOST_PP_SLOT_TEMP_8 == 1
+#    define NDNBOOST_PP_SLOT_4_DIGIT_8 1
+# elif NDNBOOST_PP_SLOT_TEMP_8 == 2
+#    define NDNBOOST_PP_SLOT_4_DIGIT_8 2
+# elif NDNBOOST_PP_SLOT_TEMP_8 == 3
+#    define NDNBOOST_PP_SLOT_4_DIGIT_8 3
+# elif NDNBOOST_PP_SLOT_TEMP_8 == 4
+#    define NDNBOOST_PP_SLOT_4_DIGIT_8 4
+# elif NDNBOOST_PP_SLOT_TEMP_8 == 5
+#    define NDNBOOST_PP_SLOT_4_DIGIT_8 5
+# elif NDNBOOST_PP_SLOT_TEMP_8 == 6
+#    define NDNBOOST_PP_SLOT_4_DIGIT_8 6
+# elif NDNBOOST_PP_SLOT_TEMP_8 == 7
+#    define NDNBOOST_PP_SLOT_4_DIGIT_8 7
+# elif NDNBOOST_PP_SLOT_TEMP_8 == 8
+#    define NDNBOOST_PP_SLOT_4_DIGIT_8 8
+# elif NDNBOOST_PP_SLOT_TEMP_8 == 9
+#    define NDNBOOST_PP_SLOT_4_DIGIT_8 9
 # endif
 #
-# if BOOST_PP_SLOT_TEMP_7 == 0
-#    define BOOST_PP_SLOT_4_DIGIT_7 0
-# elif BOOST_PP_SLOT_TEMP_7 == 1
-#    define BOOST_PP_SLOT_4_DIGIT_7 1
-# elif BOOST_PP_SLOT_TEMP_7 == 2
-#    define BOOST_PP_SLOT_4_DIGIT_7 2
-# elif BOOST_PP_SLOT_TEMP_7 == 3
-#    define BOOST_PP_SLOT_4_DIGIT_7 3
-# elif BOOST_PP_SLOT_TEMP_7 == 4
-#    define BOOST_PP_SLOT_4_DIGIT_7 4
-# elif BOOST_PP_SLOT_TEMP_7 == 5
-#    define BOOST_PP_SLOT_4_DIGIT_7 5
-# elif BOOST_PP_SLOT_TEMP_7 == 6
-#    define BOOST_PP_SLOT_4_DIGIT_7 6
-# elif BOOST_PP_SLOT_TEMP_7 == 7
-#    define BOOST_PP_SLOT_4_DIGIT_7 7
-# elif BOOST_PP_SLOT_TEMP_7 == 8
-#    define BOOST_PP_SLOT_4_DIGIT_7 8
-# elif BOOST_PP_SLOT_TEMP_7 == 9
-#    define BOOST_PP_SLOT_4_DIGIT_7 9
+# if NDNBOOST_PP_SLOT_TEMP_7 == 0
+#    define NDNBOOST_PP_SLOT_4_DIGIT_7 0
+# elif NDNBOOST_PP_SLOT_TEMP_7 == 1
+#    define NDNBOOST_PP_SLOT_4_DIGIT_7 1
+# elif NDNBOOST_PP_SLOT_TEMP_7 == 2
+#    define NDNBOOST_PP_SLOT_4_DIGIT_7 2
+# elif NDNBOOST_PP_SLOT_TEMP_7 == 3
+#    define NDNBOOST_PP_SLOT_4_DIGIT_7 3
+# elif NDNBOOST_PP_SLOT_TEMP_7 == 4
+#    define NDNBOOST_PP_SLOT_4_DIGIT_7 4
+# elif NDNBOOST_PP_SLOT_TEMP_7 == 5
+#    define NDNBOOST_PP_SLOT_4_DIGIT_7 5
+# elif NDNBOOST_PP_SLOT_TEMP_7 == 6
+#    define NDNBOOST_PP_SLOT_4_DIGIT_7 6
+# elif NDNBOOST_PP_SLOT_TEMP_7 == 7
+#    define NDNBOOST_PP_SLOT_4_DIGIT_7 7
+# elif NDNBOOST_PP_SLOT_TEMP_7 == 8
+#    define NDNBOOST_PP_SLOT_4_DIGIT_7 8
+# elif NDNBOOST_PP_SLOT_TEMP_7 == 9
+#    define NDNBOOST_PP_SLOT_4_DIGIT_7 9
 # endif
 #
-# if BOOST_PP_SLOT_TEMP_6 == 0
-#    define BOOST_PP_SLOT_4_DIGIT_6 0
-# elif BOOST_PP_SLOT_TEMP_6 == 1
-#    define BOOST_PP_SLOT_4_DIGIT_6 1
-# elif BOOST_PP_SLOT_TEMP_6 == 2
-#    define BOOST_PP_SLOT_4_DIGIT_6 2
-# elif BOOST_PP_SLOT_TEMP_6 == 3
-#    define BOOST_PP_SLOT_4_DIGIT_6 3
-# elif BOOST_PP_SLOT_TEMP_6 == 4
-#    define BOOST_PP_SLOT_4_DIGIT_6 4
-# elif BOOST_PP_SLOT_TEMP_6 == 5
-#    define BOOST_PP_SLOT_4_DIGIT_6 5
-# elif BOOST_PP_SLOT_TEMP_6 == 6
-#    define BOOST_PP_SLOT_4_DIGIT_6 6
-# elif BOOST_PP_SLOT_TEMP_6 == 7
-#    define BOOST_PP_SLOT_4_DIGIT_6 7
-# elif BOOST_PP_SLOT_TEMP_6 == 8
-#    define BOOST_PP_SLOT_4_DIGIT_6 8
-# elif BOOST_PP_SLOT_TEMP_6 == 9
-#    define BOOST_PP_SLOT_4_DIGIT_6 9
+# if NDNBOOST_PP_SLOT_TEMP_6 == 0
+#    define NDNBOOST_PP_SLOT_4_DIGIT_6 0
+# elif NDNBOOST_PP_SLOT_TEMP_6 == 1
+#    define NDNBOOST_PP_SLOT_4_DIGIT_6 1
+# elif NDNBOOST_PP_SLOT_TEMP_6 == 2
+#    define NDNBOOST_PP_SLOT_4_DIGIT_6 2
+# elif NDNBOOST_PP_SLOT_TEMP_6 == 3
+#    define NDNBOOST_PP_SLOT_4_DIGIT_6 3
+# elif NDNBOOST_PP_SLOT_TEMP_6 == 4
+#    define NDNBOOST_PP_SLOT_4_DIGIT_6 4
+# elif NDNBOOST_PP_SLOT_TEMP_6 == 5
+#    define NDNBOOST_PP_SLOT_4_DIGIT_6 5
+# elif NDNBOOST_PP_SLOT_TEMP_6 == 6
+#    define NDNBOOST_PP_SLOT_4_DIGIT_6 6
+# elif NDNBOOST_PP_SLOT_TEMP_6 == 7
+#    define NDNBOOST_PP_SLOT_4_DIGIT_6 7
+# elif NDNBOOST_PP_SLOT_TEMP_6 == 8
+#    define NDNBOOST_PP_SLOT_4_DIGIT_6 8
+# elif NDNBOOST_PP_SLOT_TEMP_6 == 9
+#    define NDNBOOST_PP_SLOT_4_DIGIT_6 9
 # endif
 #
-# if BOOST_PP_SLOT_TEMP_5 == 0
-#    define BOOST_PP_SLOT_4_DIGIT_5 0
-# elif BOOST_PP_SLOT_TEMP_5 == 1
-#    define BOOST_PP_SLOT_4_DIGIT_5 1
-# elif BOOST_PP_SLOT_TEMP_5 == 2
-#    define BOOST_PP_SLOT_4_DIGIT_5 2
-# elif BOOST_PP_SLOT_TEMP_5 == 3
-#    define BOOST_PP_SLOT_4_DIGIT_5 3
-# elif BOOST_PP_SLOT_TEMP_5 == 4
-#    define BOOST_PP_SLOT_4_DIGIT_5 4
-# elif BOOST_PP_SLOT_TEMP_5 == 5
-#    define BOOST_PP_SLOT_4_DIGIT_5 5
-# elif BOOST_PP_SLOT_TEMP_5 == 6
-#    define BOOST_PP_SLOT_4_DIGIT_5 6
-# elif BOOST_PP_SLOT_TEMP_5 == 7
-#    define BOOST_PP_SLOT_4_DIGIT_5 7
-# elif BOOST_PP_SLOT_TEMP_5 == 8
-#    define BOOST_PP_SLOT_4_DIGIT_5 8
-# elif BOOST_PP_SLOT_TEMP_5 == 9
-#    define BOOST_PP_SLOT_4_DIGIT_5 9
+# if NDNBOOST_PP_SLOT_TEMP_5 == 0
+#    define NDNBOOST_PP_SLOT_4_DIGIT_5 0
+# elif NDNBOOST_PP_SLOT_TEMP_5 == 1
+#    define NDNBOOST_PP_SLOT_4_DIGIT_5 1
+# elif NDNBOOST_PP_SLOT_TEMP_5 == 2
+#    define NDNBOOST_PP_SLOT_4_DIGIT_5 2
+# elif NDNBOOST_PP_SLOT_TEMP_5 == 3
+#    define NDNBOOST_PP_SLOT_4_DIGIT_5 3
+# elif NDNBOOST_PP_SLOT_TEMP_5 == 4
+#    define NDNBOOST_PP_SLOT_4_DIGIT_5 4
+# elif NDNBOOST_PP_SLOT_TEMP_5 == 5
+#    define NDNBOOST_PP_SLOT_4_DIGIT_5 5
+# elif NDNBOOST_PP_SLOT_TEMP_5 == 6
+#    define NDNBOOST_PP_SLOT_4_DIGIT_5 6
+# elif NDNBOOST_PP_SLOT_TEMP_5 == 7
+#    define NDNBOOST_PP_SLOT_4_DIGIT_5 7
+# elif NDNBOOST_PP_SLOT_TEMP_5 == 8
+#    define NDNBOOST_PP_SLOT_4_DIGIT_5 8
+# elif NDNBOOST_PP_SLOT_TEMP_5 == 9
+#    define NDNBOOST_PP_SLOT_4_DIGIT_5 9
 # endif
 #
-# if BOOST_PP_SLOT_TEMP_4 == 0
-#    define BOOST_PP_SLOT_4_DIGIT_4 0
-# elif BOOST_PP_SLOT_TEMP_4 == 1
-#    define BOOST_PP_SLOT_4_DIGIT_4 1
-# elif BOOST_PP_SLOT_TEMP_4 == 2
-#    define BOOST_PP_SLOT_4_DIGIT_4 2
-# elif BOOST_PP_SLOT_TEMP_4 == 3
-#    define BOOST_PP_SLOT_4_DIGIT_4 3
-# elif BOOST_PP_SLOT_TEMP_4 == 4
-#    define BOOST_PP_SLOT_4_DIGIT_4 4
-# elif BOOST_PP_SLOT_TEMP_4 == 5
-#    define BOOST_PP_SLOT_4_DIGIT_4 5
-# elif BOOST_PP_SLOT_TEMP_4 == 6
-#    define BOOST_PP_SLOT_4_DIGIT_4 6
-# elif BOOST_PP_SLOT_TEMP_4 == 7
-#    define BOOST_PP_SLOT_4_DIGIT_4 7
-# elif BOOST_PP_SLOT_TEMP_4 == 8
-#    define BOOST_PP_SLOT_4_DIGIT_4 8
-# elif BOOST_PP_SLOT_TEMP_4 == 9
-#    define BOOST_PP_SLOT_4_DIGIT_4 9
+# if NDNBOOST_PP_SLOT_TEMP_4 == 0
+#    define NDNBOOST_PP_SLOT_4_DIGIT_4 0
+# elif NDNBOOST_PP_SLOT_TEMP_4 == 1
+#    define NDNBOOST_PP_SLOT_4_DIGIT_4 1
+# elif NDNBOOST_PP_SLOT_TEMP_4 == 2
+#    define NDNBOOST_PP_SLOT_4_DIGIT_4 2
+# elif NDNBOOST_PP_SLOT_TEMP_4 == 3
+#    define NDNBOOST_PP_SLOT_4_DIGIT_4 3
+# elif NDNBOOST_PP_SLOT_TEMP_4 == 4
+#    define NDNBOOST_PP_SLOT_4_DIGIT_4 4
+# elif NDNBOOST_PP_SLOT_TEMP_4 == 5
+#    define NDNBOOST_PP_SLOT_4_DIGIT_4 5
+# elif NDNBOOST_PP_SLOT_TEMP_4 == 6
+#    define NDNBOOST_PP_SLOT_4_DIGIT_4 6
+# elif NDNBOOST_PP_SLOT_TEMP_4 == 7
+#    define NDNBOOST_PP_SLOT_4_DIGIT_4 7
+# elif NDNBOOST_PP_SLOT_TEMP_4 == 8
+#    define NDNBOOST_PP_SLOT_4_DIGIT_4 8
+# elif NDNBOOST_PP_SLOT_TEMP_4 == 9
+#    define NDNBOOST_PP_SLOT_4_DIGIT_4 9
 # endif
 #
-# if BOOST_PP_SLOT_TEMP_3 == 0
-#    define BOOST_PP_SLOT_4_DIGIT_3 0
-# elif BOOST_PP_SLOT_TEMP_3 == 1
-#    define BOOST_PP_SLOT_4_DIGIT_3 1
-# elif BOOST_PP_SLOT_TEMP_3 == 2
-#    define BOOST_PP_SLOT_4_DIGIT_3 2
-# elif BOOST_PP_SLOT_TEMP_3 == 3
-#    define BOOST_PP_SLOT_4_DIGIT_3 3
-# elif BOOST_PP_SLOT_TEMP_3 == 4
-#    define BOOST_PP_SLOT_4_DIGIT_3 4
-# elif BOOST_PP_SLOT_TEMP_3 == 5
-#    define BOOST_PP_SLOT_4_DIGIT_3 5
-# elif BOOST_PP_SLOT_TEMP_3 == 6
-#    define BOOST_PP_SLOT_4_DIGIT_3 6
-# elif BOOST_PP_SLOT_TEMP_3 == 7
-#    define BOOST_PP_SLOT_4_DIGIT_3 7
-# elif BOOST_PP_SLOT_TEMP_3 == 8
-#    define BOOST_PP_SLOT_4_DIGIT_3 8
-# elif BOOST_PP_SLOT_TEMP_3 == 9
-#    define BOOST_PP_SLOT_4_DIGIT_3 9
+# if NDNBOOST_PP_SLOT_TEMP_3 == 0
+#    define NDNBOOST_PP_SLOT_4_DIGIT_3 0
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 1
+#    define NDNBOOST_PP_SLOT_4_DIGIT_3 1
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 2
+#    define NDNBOOST_PP_SLOT_4_DIGIT_3 2
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 3
+#    define NDNBOOST_PP_SLOT_4_DIGIT_3 3
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 4
+#    define NDNBOOST_PP_SLOT_4_DIGIT_3 4
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 5
+#    define NDNBOOST_PP_SLOT_4_DIGIT_3 5
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 6
+#    define NDNBOOST_PP_SLOT_4_DIGIT_3 6
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 7
+#    define NDNBOOST_PP_SLOT_4_DIGIT_3 7
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 8
+#    define NDNBOOST_PP_SLOT_4_DIGIT_3 8
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 9
+#    define NDNBOOST_PP_SLOT_4_DIGIT_3 9
 # endif
 #
-# if BOOST_PP_SLOT_TEMP_2 == 0
-#    define BOOST_PP_SLOT_4_DIGIT_2 0
-# elif BOOST_PP_SLOT_TEMP_2 == 1
-#    define BOOST_PP_SLOT_4_DIGIT_2 1
-# elif BOOST_PP_SLOT_TEMP_2 == 2
-#    define BOOST_PP_SLOT_4_DIGIT_2 2
-# elif BOOST_PP_SLOT_TEMP_2 == 3
-#    define BOOST_PP_SLOT_4_DIGIT_2 3
-# elif BOOST_PP_SLOT_TEMP_2 == 4
-#    define BOOST_PP_SLOT_4_DIGIT_2 4
-# elif BOOST_PP_SLOT_TEMP_2 == 5
-#    define BOOST_PP_SLOT_4_DIGIT_2 5
-# elif BOOST_PP_SLOT_TEMP_2 == 6
-#    define BOOST_PP_SLOT_4_DIGIT_2 6
-# elif BOOST_PP_SLOT_TEMP_2 == 7
-#    define BOOST_PP_SLOT_4_DIGIT_2 7
-# elif BOOST_PP_SLOT_TEMP_2 == 8
-#    define BOOST_PP_SLOT_4_DIGIT_2 8
-# elif BOOST_PP_SLOT_TEMP_2 == 9
-#    define BOOST_PP_SLOT_4_DIGIT_2 9
+# if NDNBOOST_PP_SLOT_TEMP_2 == 0
+#    define NDNBOOST_PP_SLOT_4_DIGIT_2 0
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 1
+#    define NDNBOOST_PP_SLOT_4_DIGIT_2 1
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 2
+#    define NDNBOOST_PP_SLOT_4_DIGIT_2 2
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 3
+#    define NDNBOOST_PP_SLOT_4_DIGIT_2 3
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 4
+#    define NDNBOOST_PP_SLOT_4_DIGIT_2 4
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 5
+#    define NDNBOOST_PP_SLOT_4_DIGIT_2 5
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 6
+#    define NDNBOOST_PP_SLOT_4_DIGIT_2 6
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 7
+#    define NDNBOOST_PP_SLOT_4_DIGIT_2 7
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 8
+#    define NDNBOOST_PP_SLOT_4_DIGIT_2 8
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 9
+#    define NDNBOOST_PP_SLOT_4_DIGIT_2 9
 # endif
 #
-# if BOOST_PP_SLOT_TEMP_1 == 0
-#    define BOOST_PP_SLOT_4_DIGIT_1 0
-# elif BOOST_PP_SLOT_TEMP_1 == 1
-#    define BOOST_PP_SLOT_4_DIGIT_1 1
-# elif BOOST_PP_SLOT_TEMP_1 == 2
-#    define BOOST_PP_SLOT_4_DIGIT_1 2
-# elif BOOST_PP_SLOT_TEMP_1 == 3
-#    define BOOST_PP_SLOT_4_DIGIT_1 3
-# elif BOOST_PP_SLOT_TEMP_1 == 4
-#    define BOOST_PP_SLOT_4_DIGIT_1 4
-# elif BOOST_PP_SLOT_TEMP_1 == 5
-#    define BOOST_PP_SLOT_4_DIGIT_1 5
-# elif BOOST_PP_SLOT_TEMP_1 == 6
-#    define BOOST_PP_SLOT_4_DIGIT_1 6
-# elif BOOST_PP_SLOT_TEMP_1 == 7
-#    define BOOST_PP_SLOT_4_DIGIT_1 7
-# elif BOOST_PP_SLOT_TEMP_1 == 8
-#    define BOOST_PP_SLOT_4_DIGIT_1 8
-# elif BOOST_PP_SLOT_TEMP_1 == 9
-#    define BOOST_PP_SLOT_4_DIGIT_1 9
+# if NDNBOOST_PP_SLOT_TEMP_1 == 0
+#    define NDNBOOST_PP_SLOT_4_DIGIT_1 0
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 1
+#    define NDNBOOST_PP_SLOT_4_DIGIT_1 1
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 2
+#    define NDNBOOST_PP_SLOT_4_DIGIT_1 2
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 3
+#    define NDNBOOST_PP_SLOT_4_DIGIT_1 3
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 4
+#    define NDNBOOST_PP_SLOT_4_DIGIT_1 4
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 5
+#    define NDNBOOST_PP_SLOT_4_DIGIT_1 5
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 6
+#    define NDNBOOST_PP_SLOT_4_DIGIT_1 6
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 7
+#    define NDNBOOST_PP_SLOT_4_DIGIT_1 7
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 8
+#    define NDNBOOST_PP_SLOT_4_DIGIT_1 8
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 9
+#    define NDNBOOST_PP_SLOT_4_DIGIT_1 9
 # endif
 #
-# if BOOST_PP_SLOT_4_DIGIT_10
-#    define BOOST_PP_SLOT_4() BOOST_PP_SLOT_CC_10(BOOST_PP_SLOT_4_DIGIT_10, BOOST_PP_SLOT_4_DIGIT_9, BOOST_PP_SLOT_4_DIGIT_8, BOOST_PP_SLOT_4_DIGIT_7, BOOST_PP_SLOT_4_DIGIT_6, BOOST_PP_SLOT_4_DIGIT_5, BOOST_PP_SLOT_4_DIGIT_4, BOOST_PP_SLOT_4_DIGIT_3, BOOST_PP_SLOT_4_DIGIT_2, BOOST_PP_SLOT_4_DIGIT_1)
-# elif BOOST_PP_SLOT_4_DIGIT_9
-#    define BOOST_PP_SLOT_4() BOOST_PP_SLOT_CC_9(BOOST_PP_SLOT_4_DIGIT_9, BOOST_PP_SLOT_4_DIGIT_8, BOOST_PP_SLOT_4_DIGIT_7, BOOST_PP_SLOT_4_DIGIT_6, BOOST_PP_SLOT_4_DIGIT_5, BOOST_PP_SLOT_4_DIGIT_4, BOOST_PP_SLOT_4_DIGIT_3, BOOST_PP_SLOT_4_DIGIT_2, BOOST_PP_SLOT_4_DIGIT_1)
-# elif BOOST_PP_SLOT_4_DIGIT_8
-#    define BOOST_PP_SLOT_4() BOOST_PP_SLOT_CC_8(BOOST_PP_SLOT_4_DIGIT_8, BOOST_PP_SLOT_4_DIGIT_7, BOOST_PP_SLOT_4_DIGIT_6, BOOST_PP_SLOT_4_DIGIT_5, BOOST_PP_SLOT_4_DIGIT_4, BOOST_PP_SLOT_4_DIGIT_3, BOOST_PP_SLOT_4_DIGIT_2, BOOST_PP_SLOT_4_DIGIT_1)
-# elif BOOST_PP_SLOT_4_DIGIT_7
-#    define BOOST_PP_SLOT_4() BOOST_PP_SLOT_CC_7(BOOST_PP_SLOT_4_DIGIT_7, BOOST_PP_SLOT_4_DIGIT_6, BOOST_PP_SLOT_4_DIGIT_5, BOOST_PP_SLOT_4_DIGIT_4, BOOST_PP_SLOT_4_DIGIT_3, BOOST_PP_SLOT_4_DIGIT_2, BOOST_PP_SLOT_4_DIGIT_1)
-# elif BOOST_PP_SLOT_4_DIGIT_6
-#    define BOOST_PP_SLOT_4() BOOST_PP_SLOT_CC_6(BOOST_PP_SLOT_4_DIGIT_6, BOOST_PP_SLOT_4_DIGIT_5, BOOST_PP_SLOT_4_DIGIT_4, BOOST_PP_SLOT_4_DIGIT_3, BOOST_PP_SLOT_4_DIGIT_2, BOOST_PP_SLOT_4_DIGIT_1)
-# elif BOOST_PP_SLOT_4_DIGIT_5
-#    define BOOST_PP_SLOT_4() BOOST_PP_SLOT_CC_5(BOOST_PP_SLOT_4_DIGIT_5, BOOST_PP_SLOT_4_DIGIT_4, BOOST_PP_SLOT_4_DIGIT_3, BOOST_PP_SLOT_4_DIGIT_2, BOOST_PP_SLOT_4_DIGIT_1)
-# elif BOOST_PP_SLOT_4_DIGIT_4
-#    define BOOST_PP_SLOT_4() BOOST_PP_SLOT_CC_4(BOOST_PP_SLOT_4_DIGIT_4, BOOST_PP_SLOT_4_DIGIT_3, BOOST_PP_SLOT_4_DIGIT_2, BOOST_PP_SLOT_4_DIGIT_1)
-# elif BOOST_PP_SLOT_4_DIGIT_3
-#    define BOOST_PP_SLOT_4() BOOST_PP_SLOT_CC_3(BOOST_PP_SLOT_4_DIGIT_3, BOOST_PP_SLOT_4_DIGIT_2, BOOST_PP_SLOT_4_DIGIT_1)
-# elif BOOST_PP_SLOT_4_DIGIT_2
-#    define BOOST_PP_SLOT_4() BOOST_PP_SLOT_CC_2(BOOST_PP_SLOT_4_DIGIT_2, BOOST_PP_SLOT_4_DIGIT_1)
+# if NDNBOOST_PP_SLOT_4_DIGIT_10
+#    define NDNBOOST_PP_SLOT_4() NDNBOOST_PP_SLOT_CC_10(NDNBOOST_PP_SLOT_4_DIGIT_10, NDNBOOST_PP_SLOT_4_DIGIT_9, NDNBOOST_PP_SLOT_4_DIGIT_8, NDNBOOST_PP_SLOT_4_DIGIT_7, NDNBOOST_PP_SLOT_4_DIGIT_6, NDNBOOST_PP_SLOT_4_DIGIT_5, NDNBOOST_PP_SLOT_4_DIGIT_4, NDNBOOST_PP_SLOT_4_DIGIT_3, NDNBOOST_PP_SLOT_4_DIGIT_2, NDNBOOST_PP_SLOT_4_DIGIT_1)
+# elif NDNBOOST_PP_SLOT_4_DIGIT_9
+#    define NDNBOOST_PP_SLOT_4() NDNBOOST_PP_SLOT_CC_9(NDNBOOST_PP_SLOT_4_DIGIT_9, NDNBOOST_PP_SLOT_4_DIGIT_8, NDNBOOST_PP_SLOT_4_DIGIT_7, NDNBOOST_PP_SLOT_4_DIGIT_6, NDNBOOST_PP_SLOT_4_DIGIT_5, NDNBOOST_PP_SLOT_4_DIGIT_4, NDNBOOST_PP_SLOT_4_DIGIT_3, NDNBOOST_PP_SLOT_4_DIGIT_2, NDNBOOST_PP_SLOT_4_DIGIT_1)
+# elif NDNBOOST_PP_SLOT_4_DIGIT_8
+#    define NDNBOOST_PP_SLOT_4() NDNBOOST_PP_SLOT_CC_8(NDNBOOST_PP_SLOT_4_DIGIT_8, NDNBOOST_PP_SLOT_4_DIGIT_7, NDNBOOST_PP_SLOT_4_DIGIT_6, NDNBOOST_PP_SLOT_4_DIGIT_5, NDNBOOST_PP_SLOT_4_DIGIT_4, NDNBOOST_PP_SLOT_4_DIGIT_3, NDNBOOST_PP_SLOT_4_DIGIT_2, NDNBOOST_PP_SLOT_4_DIGIT_1)
+# elif NDNBOOST_PP_SLOT_4_DIGIT_7
+#    define NDNBOOST_PP_SLOT_4() NDNBOOST_PP_SLOT_CC_7(NDNBOOST_PP_SLOT_4_DIGIT_7, NDNBOOST_PP_SLOT_4_DIGIT_6, NDNBOOST_PP_SLOT_4_DIGIT_5, NDNBOOST_PP_SLOT_4_DIGIT_4, NDNBOOST_PP_SLOT_4_DIGIT_3, NDNBOOST_PP_SLOT_4_DIGIT_2, NDNBOOST_PP_SLOT_4_DIGIT_1)
+# elif NDNBOOST_PP_SLOT_4_DIGIT_6
+#    define NDNBOOST_PP_SLOT_4() NDNBOOST_PP_SLOT_CC_6(NDNBOOST_PP_SLOT_4_DIGIT_6, NDNBOOST_PP_SLOT_4_DIGIT_5, NDNBOOST_PP_SLOT_4_DIGIT_4, NDNBOOST_PP_SLOT_4_DIGIT_3, NDNBOOST_PP_SLOT_4_DIGIT_2, NDNBOOST_PP_SLOT_4_DIGIT_1)
+# elif NDNBOOST_PP_SLOT_4_DIGIT_5
+#    define NDNBOOST_PP_SLOT_4() NDNBOOST_PP_SLOT_CC_5(NDNBOOST_PP_SLOT_4_DIGIT_5, NDNBOOST_PP_SLOT_4_DIGIT_4, NDNBOOST_PP_SLOT_4_DIGIT_3, NDNBOOST_PP_SLOT_4_DIGIT_2, NDNBOOST_PP_SLOT_4_DIGIT_1)
+# elif NDNBOOST_PP_SLOT_4_DIGIT_4
+#    define NDNBOOST_PP_SLOT_4() NDNBOOST_PP_SLOT_CC_4(NDNBOOST_PP_SLOT_4_DIGIT_4, NDNBOOST_PP_SLOT_4_DIGIT_3, NDNBOOST_PP_SLOT_4_DIGIT_2, NDNBOOST_PP_SLOT_4_DIGIT_1)
+# elif NDNBOOST_PP_SLOT_4_DIGIT_3
+#    define NDNBOOST_PP_SLOT_4() NDNBOOST_PP_SLOT_CC_3(NDNBOOST_PP_SLOT_4_DIGIT_3, NDNBOOST_PP_SLOT_4_DIGIT_2, NDNBOOST_PP_SLOT_4_DIGIT_1)
+# elif NDNBOOST_PP_SLOT_4_DIGIT_2
+#    define NDNBOOST_PP_SLOT_4() NDNBOOST_PP_SLOT_CC_2(NDNBOOST_PP_SLOT_4_DIGIT_2, NDNBOOST_PP_SLOT_4_DIGIT_1)
 # else
-#    define BOOST_PP_SLOT_4() BOOST_PP_SLOT_4_DIGIT_1
+#    define NDNBOOST_PP_SLOT_4() NDNBOOST_PP_SLOT_4_DIGIT_1
 # endif
diff --git a/include/ndnboost/preprocessor/slot/detail/slot5.hpp b/include/ndnboost/preprocessor/slot/detail/slot5.hpp
index d4b8ac1..a098459 100644
--- a/include/ndnboost/preprocessor/slot/detail/slot5.hpp
+++ b/include/ndnboost/preprocessor/slot/detail/slot5.hpp
@@ -11,257 +11,257 @@
 #
 # include <ndnboost/preprocessor/slot/detail/shared.hpp>
 #
-# undef BOOST_PP_SLOT_5
+# undef NDNBOOST_PP_SLOT_5
 #
-# undef BOOST_PP_SLOT_5_DIGIT_1
-# undef BOOST_PP_SLOT_5_DIGIT_2
-# undef BOOST_PP_SLOT_5_DIGIT_3
-# undef BOOST_PP_SLOT_5_DIGIT_4
-# undef BOOST_PP_SLOT_5_DIGIT_5
-# undef BOOST_PP_SLOT_5_DIGIT_6
-# undef BOOST_PP_SLOT_5_DIGIT_7
-# undef BOOST_PP_SLOT_5_DIGIT_8
-# undef BOOST_PP_SLOT_5_DIGIT_9
-# undef BOOST_PP_SLOT_5_DIGIT_10
+# undef NDNBOOST_PP_SLOT_5_DIGIT_1
+# undef NDNBOOST_PP_SLOT_5_DIGIT_2
+# undef NDNBOOST_PP_SLOT_5_DIGIT_3
+# undef NDNBOOST_PP_SLOT_5_DIGIT_4
+# undef NDNBOOST_PP_SLOT_5_DIGIT_5
+# undef NDNBOOST_PP_SLOT_5_DIGIT_6
+# undef NDNBOOST_PP_SLOT_5_DIGIT_7
+# undef NDNBOOST_PP_SLOT_5_DIGIT_8
+# undef NDNBOOST_PP_SLOT_5_DIGIT_9
+# undef NDNBOOST_PP_SLOT_5_DIGIT_10
 #
-# if BOOST_PP_SLOT_TEMP_10 == 0
-#    define BOOST_PP_SLOT_5_DIGIT_10 0
-# elif BOOST_PP_SLOT_TEMP_10 == 1
-#    define BOOST_PP_SLOT_5_DIGIT_10 1
-# elif BOOST_PP_SLOT_TEMP_10 == 2
-#    define BOOST_PP_SLOT_5_DIGIT_10 2
-# elif BOOST_PP_SLOT_TEMP_10 == 3
-#    define BOOST_PP_SLOT_5_DIGIT_10 3
-# elif BOOST_PP_SLOT_TEMP_10 == 4
-#    define BOOST_PP_SLOT_5_DIGIT_10 4
-# elif BOOST_PP_SLOT_TEMP_10 == 5
-#    define BOOST_PP_SLOT_5_DIGIT_10 5
-# elif BOOST_PP_SLOT_TEMP_10 == 6
-#    define BOOST_PP_SLOT_5_DIGIT_10 6
-# elif BOOST_PP_SLOT_TEMP_10 == 7
-#    define BOOST_PP_SLOT_5_DIGIT_10 7
-# elif BOOST_PP_SLOT_TEMP_10 == 8
-#    define BOOST_PP_SLOT_5_DIGIT_10 8
-# elif BOOST_PP_SLOT_TEMP_10 == 9
-#    define BOOST_PP_SLOT_5_DIGIT_10 9
+# if NDNBOOST_PP_SLOT_TEMP_10 == 0
+#    define NDNBOOST_PP_SLOT_5_DIGIT_10 0
+# elif NDNBOOST_PP_SLOT_TEMP_10 == 1
+#    define NDNBOOST_PP_SLOT_5_DIGIT_10 1
+# elif NDNBOOST_PP_SLOT_TEMP_10 == 2
+#    define NDNBOOST_PP_SLOT_5_DIGIT_10 2
+# elif NDNBOOST_PP_SLOT_TEMP_10 == 3
+#    define NDNBOOST_PP_SLOT_5_DIGIT_10 3
+# elif NDNBOOST_PP_SLOT_TEMP_10 == 4
+#    define NDNBOOST_PP_SLOT_5_DIGIT_10 4
+# elif NDNBOOST_PP_SLOT_TEMP_10 == 5
+#    define NDNBOOST_PP_SLOT_5_DIGIT_10 5
+# elif NDNBOOST_PP_SLOT_TEMP_10 == 6
+#    define NDNBOOST_PP_SLOT_5_DIGIT_10 6
+# elif NDNBOOST_PP_SLOT_TEMP_10 == 7
+#    define NDNBOOST_PP_SLOT_5_DIGIT_10 7
+# elif NDNBOOST_PP_SLOT_TEMP_10 == 8
+#    define NDNBOOST_PP_SLOT_5_DIGIT_10 8
+# elif NDNBOOST_PP_SLOT_TEMP_10 == 9
+#    define NDNBOOST_PP_SLOT_5_DIGIT_10 9
 # endif
 #
-# if BOOST_PP_SLOT_TEMP_9 == 0
-#    define BOOST_PP_SLOT_5_DIGIT_9 0
-# elif BOOST_PP_SLOT_TEMP_9 == 1
-#    define BOOST_PP_SLOT_5_DIGIT_9 1
-# elif BOOST_PP_SLOT_TEMP_9 == 2
-#    define BOOST_PP_SLOT_5_DIGIT_9 2
-# elif BOOST_PP_SLOT_TEMP_9 == 3
-#    define BOOST_PP_SLOT_5_DIGIT_9 3
-# elif BOOST_PP_SLOT_TEMP_9 == 4
-#    define BOOST_PP_SLOT_5_DIGIT_9 4
-# elif BOOST_PP_SLOT_TEMP_9 == 5
-#    define BOOST_PP_SLOT_5_DIGIT_9 5
-# elif BOOST_PP_SLOT_TEMP_9 == 6
-#    define BOOST_PP_SLOT_5_DIGIT_9 6
-# elif BOOST_PP_SLOT_TEMP_9 == 7
-#    define BOOST_PP_SLOT_5_DIGIT_9 7
-# elif BOOST_PP_SLOT_TEMP_9 == 8
-#    define BOOST_PP_SLOT_5_DIGIT_9 8
-# elif BOOST_PP_SLOT_TEMP_9 == 9
-#    define BOOST_PP_SLOT_5_DIGIT_9 9
+# if NDNBOOST_PP_SLOT_TEMP_9 == 0
+#    define NDNBOOST_PP_SLOT_5_DIGIT_9 0
+# elif NDNBOOST_PP_SLOT_TEMP_9 == 1
+#    define NDNBOOST_PP_SLOT_5_DIGIT_9 1
+# elif NDNBOOST_PP_SLOT_TEMP_9 == 2
+#    define NDNBOOST_PP_SLOT_5_DIGIT_9 2
+# elif NDNBOOST_PP_SLOT_TEMP_9 == 3
+#    define NDNBOOST_PP_SLOT_5_DIGIT_9 3
+# elif NDNBOOST_PP_SLOT_TEMP_9 == 4
+#    define NDNBOOST_PP_SLOT_5_DIGIT_9 4
+# elif NDNBOOST_PP_SLOT_TEMP_9 == 5
+#    define NDNBOOST_PP_SLOT_5_DIGIT_9 5
+# elif NDNBOOST_PP_SLOT_TEMP_9 == 6
+#    define NDNBOOST_PP_SLOT_5_DIGIT_9 6
+# elif NDNBOOST_PP_SLOT_TEMP_9 == 7
+#    define NDNBOOST_PP_SLOT_5_DIGIT_9 7
+# elif NDNBOOST_PP_SLOT_TEMP_9 == 8
+#    define NDNBOOST_PP_SLOT_5_DIGIT_9 8
+# elif NDNBOOST_PP_SLOT_TEMP_9 == 9
+#    define NDNBOOST_PP_SLOT_5_DIGIT_9 9
 # endif
 #
-# if BOOST_PP_SLOT_TEMP_8 == 0
-#    define BOOST_PP_SLOT_5_DIGIT_8 0
-# elif BOOST_PP_SLOT_TEMP_8 == 1
-#    define BOOST_PP_SLOT_5_DIGIT_8 1
-# elif BOOST_PP_SLOT_TEMP_8 == 2
-#    define BOOST_PP_SLOT_5_DIGIT_8 2
-# elif BOOST_PP_SLOT_TEMP_8 == 3
-#    define BOOST_PP_SLOT_5_DIGIT_8 3
-# elif BOOST_PP_SLOT_TEMP_8 == 4
-#    define BOOST_PP_SLOT_5_DIGIT_8 4
-# elif BOOST_PP_SLOT_TEMP_8 == 5
-#    define BOOST_PP_SLOT_5_DIGIT_8 5
-# elif BOOST_PP_SLOT_TEMP_8 == 6
-#    define BOOST_PP_SLOT_5_DIGIT_8 6
-# elif BOOST_PP_SLOT_TEMP_8 == 7
-#    define BOOST_PP_SLOT_5_DIGIT_8 7
-# elif BOOST_PP_SLOT_TEMP_8 == 8
-#    define BOOST_PP_SLOT_5_DIGIT_8 8
-# elif BOOST_PP_SLOT_TEMP_8 == 9
-#    define BOOST_PP_SLOT_5_DIGIT_8 9
+# if NDNBOOST_PP_SLOT_TEMP_8 == 0
+#    define NDNBOOST_PP_SLOT_5_DIGIT_8 0
+# elif NDNBOOST_PP_SLOT_TEMP_8 == 1
+#    define NDNBOOST_PP_SLOT_5_DIGIT_8 1
+# elif NDNBOOST_PP_SLOT_TEMP_8 == 2
+#    define NDNBOOST_PP_SLOT_5_DIGIT_8 2
+# elif NDNBOOST_PP_SLOT_TEMP_8 == 3
+#    define NDNBOOST_PP_SLOT_5_DIGIT_8 3
+# elif NDNBOOST_PP_SLOT_TEMP_8 == 4
+#    define NDNBOOST_PP_SLOT_5_DIGIT_8 4
+# elif NDNBOOST_PP_SLOT_TEMP_8 == 5
+#    define NDNBOOST_PP_SLOT_5_DIGIT_8 5
+# elif NDNBOOST_PP_SLOT_TEMP_8 == 6
+#    define NDNBOOST_PP_SLOT_5_DIGIT_8 6
+# elif NDNBOOST_PP_SLOT_TEMP_8 == 7
+#    define NDNBOOST_PP_SLOT_5_DIGIT_8 7
+# elif NDNBOOST_PP_SLOT_TEMP_8 == 8
+#    define NDNBOOST_PP_SLOT_5_DIGIT_8 8
+# elif NDNBOOST_PP_SLOT_TEMP_8 == 9
+#    define NDNBOOST_PP_SLOT_5_DIGIT_8 9
 # endif
 #
-# if BOOST_PP_SLOT_TEMP_7 == 0
-#    define BOOST_PP_SLOT_5_DIGIT_7 0
-# elif BOOST_PP_SLOT_TEMP_7 == 1
-#    define BOOST_PP_SLOT_5_DIGIT_7 1
-# elif BOOST_PP_SLOT_TEMP_7 == 2
-#    define BOOST_PP_SLOT_5_DIGIT_7 2
-# elif BOOST_PP_SLOT_TEMP_7 == 3
-#    define BOOST_PP_SLOT_5_DIGIT_7 3
-# elif BOOST_PP_SLOT_TEMP_7 == 4
-#    define BOOST_PP_SLOT_5_DIGIT_7 4
-# elif BOOST_PP_SLOT_TEMP_7 == 5
-#    define BOOST_PP_SLOT_5_DIGIT_7 5
-# elif BOOST_PP_SLOT_TEMP_7 == 6
-#    define BOOST_PP_SLOT_5_DIGIT_7 6
-# elif BOOST_PP_SLOT_TEMP_7 == 7
-#    define BOOST_PP_SLOT_5_DIGIT_7 7
-# elif BOOST_PP_SLOT_TEMP_7 == 8
-#    define BOOST_PP_SLOT_5_DIGIT_7 8
-# elif BOOST_PP_SLOT_TEMP_7 == 9
-#    define BOOST_PP_SLOT_5_DIGIT_7 9
+# if NDNBOOST_PP_SLOT_TEMP_7 == 0
+#    define NDNBOOST_PP_SLOT_5_DIGIT_7 0
+# elif NDNBOOST_PP_SLOT_TEMP_7 == 1
+#    define NDNBOOST_PP_SLOT_5_DIGIT_7 1
+# elif NDNBOOST_PP_SLOT_TEMP_7 == 2
+#    define NDNBOOST_PP_SLOT_5_DIGIT_7 2
+# elif NDNBOOST_PP_SLOT_TEMP_7 == 3
+#    define NDNBOOST_PP_SLOT_5_DIGIT_7 3
+# elif NDNBOOST_PP_SLOT_TEMP_7 == 4
+#    define NDNBOOST_PP_SLOT_5_DIGIT_7 4
+# elif NDNBOOST_PP_SLOT_TEMP_7 == 5
+#    define NDNBOOST_PP_SLOT_5_DIGIT_7 5
+# elif NDNBOOST_PP_SLOT_TEMP_7 == 6
+#    define NDNBOOST_PP_SLOT_5_DIGIT_7 6
+# elif NDNBOOST_PP_SLOT_TEMP_7 == 7
+#    define NDNBOOST_PP_SLOT_5_DIGIT_7 7
+# elif NDNBOOST_PP_SLOT_TEMP_7 == 8
+#    define NDNBOOST_PP_SLOT_5_DIGIT_7 8
+# elif NDNBOOST_PP_SLOT_TEMP_7 == 9
+#    define NDNBOOST_PP_SLOT_5_DIGIT_7 9
 # endif
 #
-# if BOOST_PP_SLOT_TEMP_6 == 0
-#    define BOOST_PP_SLOT_5_DIGIT_6 0
-# elif BOOST_PP_SLOT_TEMP_6 == 1
-#    define BOOST_PP_SLOT_5_DIGIT_6 1
-# elif BOOST_PP_SLOT_TEMP_6 == 2
-#    define BOOST_PP_SLOT_5_DIGIT_6 2
-# elif BOOST_PP_SLOT_TEMP_6 == 3
-#    define BOOST_PP_SLOT_5_DIGIT_6 3
-# elif BOOST_PP_SLOT_TEMP_6 == 4
-#    define BOOST_PP_SLOT_5_DIGIT_6 4
-# elif BOOST_PP_SLOT_TEMP_6 == 5
-#    define BOOST_PP_SLOT_5_DIGIT_6 5
-# elif BOOST_PP_SLOT_TEMP_6 == 6
-#    define BOOST_PP_SLOT_5_DIGIT_6 6
-# elif BOOST_PP_SLOT_TEMP_6 == 7
-#    define BOOST_PP_SLOT_5_DIGIT_6 7
-# elif BOOST_PP_SLOT_TEMP_6 == 8
-#    define BOOST_PP_SLOT_5_DIGIT_6 8
-# elif BOOST_PP_SLOT_TEMP_6 == 9
-#    define BOOST_PP_SLOT_5_DIGIT_6 9
+# if NDNBOOST_PP_SLOT_TEMP_6 == 0
+#    define NDNBOOST_PP_SLOT_5_DIGIT_6 0
+# elif NDNBOOST_PP_SLOT_TEMP_6 == 1
+#    define NDNBOOST_PP_SLOT_5_DIGIT_6 1
+# elif NDNBOOST_PP_SLOT_TEMP_6 == 2
+#    define NDNBOOST_PP_SLOT_5_DIGIT_6 2
+# elif NDNBOOST_PP_SLOT_TEMP_6 == 3
+#    define NDNBOOST_PP_SLOT_5_DIGIT_6 3
+# elif NDNBOOST_PP_SLOT_TEMP_6 == 4
+#    define NDNBOOST_PP_SLOT_5_DIGIT_6 4
+# elif NDNBOOST_PP_SLOT_TEMP_6 == 5
+#    define NDNBOOST_PP_SLOT_5_DIGIT_6 5
+# elif NDNBOOST_PP_SLOT_TEMP_6 == 6
+#    define NDNBOOST_PP_SLOT_5_DIGIT_6 6
+# elif NDNBOOST_PP_SLOT_TEMP_6 == 7
+#    define NDNBOOST_PP_SLOT_5_DIGIT_6 7
+# elif NDNBOOST_PP_SLOT_TEMP_6 == 8
+#    define NDNBOOST_PP_SLOT_5_DIGIT_6 8
+# elif NDNBOOST_PP_SLOT_TEMP_6 == 9
+#    define NDNBOOST_PP_SLOT_5_DIGIT_6 9
 # endif
 #
-# if BOOST_PP_SLOT_TEMP_5 == 0
-#    define BOOST_PP_SLOT_5_DIGIT_5 0
-# elif BOOST_PP_SLOT_TEMP_5 == 1
-#    define BOOST_PP_SLOT_5_DIGIT_5 1
-# elif BOOST_PP_SLOT_TEMP_5 == 2
-#    define BOOST_PP_SLOT_5_DIGIT_5 2
-# elif BOOST_PP_SLOT_TEMP_5 == 3
-#    define BOOST_PP_SLOT_5_DIGIT_5 3
-# elif BOOST_PP_SLOT_TEMP_5 == 4
-#    define BOOST_PP_SLOT_5_DIGIT_5 4
-# elif BOOST_PP_SLOT_TEMP_5 == 5
-#    define BOOST_PP_SLOT_5_DIGIT_5 5
-# elif BOOST_PP_SLOT_TEMP_5 == 6
-#    define BOOST_PP_SLOT_5_DIGIT_5 6
-# elif BOOST_PP_SLOT_TEMP_5 == 7
-#    define BOOST_PP_SLOT_5_DIGIT_5 7
-# elif BOOST_PP_SLOT_TEMP_5 == 8
-#    define BOOST_PP_SLOT_5_DIGIT_5 8
-# elif BOOST_PP_SLOT_TEMP_5 == 9
-#    define BOOST_PP_SLOT_5_DIGIT_5 9
+# if NDNBOOST_PP_SLOT_TEMP_5 == 0
+#    define NDNBOOST_PP_SLOT_5_DIGIT_5 0
+# elif NDNBOOST_PP_SLOT_TEMP_5 == 1
+#    define NDNBOOST_PP_SLOT_5_DIGIT_5 1
+# elif NDNBOOST_PP_SLOT_TEMP_5 == 2
+#    define NDNBOOST_PP_SLOT_5_DIGIT_5 2
+# elif NDNBOOST_PP_SLOT_TEMP_5 == 3
+#    define NDNBOOST_PP_SLOT_5_DIGIT_5 3
+# elif NDNBOOST_PP_SLOT_TEMP_5 == 4
+#    define NDNBOOST_PP_SLOT_5_DIGIT_5 4
+# elif NDNBOOST_PP_SLOT_TEMP_5 == 5
+#    define NDNBOOST_PP_SLOT_5_DIGIT_5 5
+# elif NDNBOOST_PP_SLOT_TEMP_5 == 6
+#    define NDNBOOST_PP_SLOT_5_DIGIT_5 6
+# elif NDNBOOST_PP_SLOT_TEMP_5 == 7
+#    define NDNBOOST_PP_SLOT_5_DIGIT_5 7
+# elif NDNBOOST_PP_SLOT_TEMP_5 == 8
+#    define NDNBOOST_PP_SLOT_5_DIGIT_5 8
+# elif NDNBOOST_PP_SLOT_TEMP_5 == 9
+#    define NDNBOOST_PP_SLOT_5_DIGIT_5 9
 # endif
 #
-# if BOOST_PP_SLOT_TEMP_4 == 0
-#    define BOOST_PP_SLOT_5_DIGIT_4 0
-# elif BOOST_PP_SLOT_TEMP_4 == 1
-#    define BOOST_PP_SLOT_5_DIGIT_4 1
-# elif BOOST_PP_SLOT_TEMP_4 == 2
-#    define BOOST_PP_SLOT_5_DIGIT_4 2
-# elif BOOST_PP_SLOT_TEMP_4 == 3
-#    define BOOST_PP_SLOT_5_DIGIT_4 3
-# elif BOOST_PP_SLOT_TEMP_4 == 4
-#    define BOOST_PP_SLOT_5_DIGIT_4 4
-# elif BOOST_PP_SLOT_TEMP_4 == 5
-#    define BOOST_PP_SLOT_5_DIGIT_4 5
-# elif BOOST_PP_SLOT_TEMP_4 == 6
-#    define BOOST_PP_SLOT_5_DIGIT_4 6
-# elif BOOST_PP_SLOT_TEMP_4 == 7
-#    define BOOST_PP_SLOT_5_DIGIT_4 7
-# elif BOOST_PP_SLOT_TEMP_4 == 8
-#    define BOOST_PP_SLOT_5_DIGIT_4 8
-# elif BOOST_PP_SLOT_TEMP_4 == 9
-#    define BOOST_PP_SLOT_5_DIGIT_4 9
+# if NDNBOOST_PP_SLOT_TEMP_4 == 0
+#    define NDNBOOST_PP_SLOT_5_DIGIT_4 0
+# elif NDNBOOST_PP_SLOT_TEMP_4 == 1
+#    define NDNBOOST_PP_SLOT_5_DIGIT_4 1
+# elif NDNBOOST_PP_SLOT_TEMP_4 == 2
+#    define NDNBOOST_PP_SLOT_5_DIGIT_4 2
+# elif NDNBOOST_PP_SLOT_TEMP_4 == 3
+#    define NDNBOOST_PP_SLOT_5_DIGIT_4 3
+# elif NDNBOOST_PP_SLOT_TEMP_4 == 4
+#    define NDNBOOST_PP_SLOT_5_DIGIT_4 4
+# elif NDNBOOST_PP_SLOT_TEMP_4 == 5
+#    define NDNBOOST_PP_SLOT_5_DIGIT_4 5
+# elif NDNBOOST_PP_SLOT_TEMP_4 == 6
+#    define NDNBOOST_PP_SLOT_5_DIGIT_4 6
+# elif NDNBOOST_PP_SLOT_TEMP_4 == 7
+#    define NDNBOOST_PP_SLOT_5_DIGIT_4 7
+# elif NDNBOOST_PP_SLOT_TEMP_4 == 8
+#    define NDNBOOST_PP_SLOT_5_DIGIT_4 8
+# elif NDNBOOST_PP_SLOT_TEMP_4 == 9
+#    define NDNBOOST_PP_SLOT_5_DIGIT_4 9
 # endif
 #
-# if BOOST_PP_SLOT_TEMP_3 == 0
-#    define BOOST_PP_SLOT_5_DIGIT_3 0
-# elif BOOST_PP_SLOT_TEMP_3 == 1
-#    define BOOST_PP_SLOT_5_DIGIT_3 1
-# elif BOOST_PP_SLOT_TEMP_3 == 2
-#    define BOOST_PP_SLOT_5_DIGIT_3 2
-# elif BOOST_PP_SLOT_TEMP_3 == 3
-#    define BOOST_PP_SLOT_5_DIGIT_3 3
-# elif BOOST_PP_SLOT_TEMP_3 == 4
-#    define BOOST_PP_SLOT_5_DIGIT_3 4
-# elif BOOST_PP_SLOT_TEMP_3 == 5
-#    define BOOST_PP_SLOT_5_DIGIT_3 5
-# elif BOOST_PP_SLOT_TEMP_3 == 6
-#    define BOOST_PP_SLOT_5_DIGIT_3 6
-# elif BOOST_PP_SLOT_TEMP_3 == 7
-#    define BOOST_PP_SLOT_5_DIGIT_3 7
-# elif BOOST_PP_SLOT_TEMP_3 == 8
-#    define BOOST_PP_SLOT_5_DIGIT_3 8
-# elif BOOST_PP_SLOT_TEMP_3 == 9
-#    define BOOST_PP_SLOT_5_DIGIT_3 9
+# if NDNBOOST_PP_SLOT_TEMP_3 == 0
+#    define NDNBOOST_PP_SLOT_5_DIGIT_3 0
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 1
+#    define NDNBOOST_PP_SLOT_5_DIGIT_3 1
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 2
+#    define NDNBOOST_PP_SLOT_5_DIGIT_3 2
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 3
+#    define NDNBOOST_PP_SLOT_5_DIGIT_3 3
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 4
+#    define NDNBOOST_PP_SLOT_5_DIGIT_3 4
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 5
+#    define NDNBOOST_PP_SLOT_5_DIGIT_3 5
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 6
+#    define NDNBOOST_PP_SLOT_5_DIGIT_3 6
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 7
+#    define NDNBOOST_PP_SLOT_5_DIGIT_3 7
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 8
+#    define NDNBOOST_PP_SLOT_5_DIGIT_3 8
+# elif NDNBOOST_PP_SLOT_TEMP_3 == 9
+#    define NDNBOOST_PP_SLOT_5_DIGIT_3 9
 # endif
 #
-# if BOOST_PP_SLOT_TEMP_2 == 0
-#    define BOOST_PP_SLOT_5_DIGIT_2 0
-# elif BOOST_PP_SLOT_TEMP_2 == 1
-#    define BOOST_PP_SLOT_5_DIGIT_2 1
-# elif BOOST_PP_SLOT_TEMP_2 == 2
-#    define BOOST_PP_SLOT_5_DIGIT_2 2
-# elif BOOST_PP_SLOT_TEMP_2 == 3
-#    define BOOST_PP_SLOT_5_DIGIT_2 3
-# elif BOOST_PP_SLOT_TEMP_2 == 4
-#    define BOOST_PP_SLOT_5_DIGIT_2 4
-# elif BOOST_PP_SLOT_TEMP_2 == 5
-#    define BOOST_PP_SLOT_5_DIGIT_2 5
-# elif BOOST_PP_SLOT_TEMP_2 == 6
-#    define BOOST_PP_SLOT_5_DIGIT_2 6
-# elif BOOST_PP_SLOT_TEMP_2 == 7
-#    define BOOST_PP_SLOT_5_DIGIT_2 7
-# elif BOOST_PP_SLOT_TEMP_2 == 8
-#    define BOOST_PP_SLOT_5_DIGIT_2 8
-# elif BOOST_PP_SLOT_TEMP_2 == 9
-#    define BOOST_PP_SLOT_5_DIGIT_2 9
+# if NDNBOOST_PP_SLOT_TEMP_2 == 0
+#    define NDNBOOST_PP_SLOT_5_DIGIT_2 0
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 1
+#    define NDNBOOST_PP_SLOT_5_DIGIT_2 1
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 2
+#    define NDNBOOST_PP_SLOT_5_DIGIT_2 2
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 3
+#    define NDNBOOST_PP_SLOT_5_DIGIT_2 3
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 4
+#    define NDNBOOST_PP_SLOT_5_DIGIT_2 4
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 5
+#    define NDNBOOST_PP_SLOT_5_DIGIT_2 5
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 6
+#    define NDNBOOST_PP_SLOT_5_DIGIT_2 6
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 7
+#    define NDNBOOST_PP_SLOT_5_DIGIT_2 7
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 8
+#    define NDNBOOST_PP_SLOT_5_DIGIT_2 8
+# elif NDNBOOST_PP_SLOT_TEMP_2 == 9
+#    define NDNBOOST_PP_SLOT_5_DIGIT_2 9
 # endif
 #
-# if BOOST_PP_SLOT_TEMP_1 == 0
-#    define BOOST_PP_SLOT_5_DIGIT_1 0
-# elif BOOST_PP_SLOT_TEMP_1 == 1
-#    define BOOST_PP_SLOT_5_DIGIT_1 1
-# elif BOOST_PP_SLOT_TEMP_1 == 2
-#    define BOOST_PP_SLOT_5_DIGIT_1 2
-# elif BOOST_PP_SLOT_TEMP_1 == 3
-#    define BOOST_PP_SLOT_5_DIGIT_1 3
-# elif BOOST_PP_SLOT_TEMP_1 == 4
-#    define BOOST_PP_SLOT_5_DIGIT_1 4
-# elif BOOST_PP_SLOT_TEMP_1 == 5
-#    define BOOST_PP_SLOT_5_DIGIT_1 5
-# elif BOOST_PP_SLOT_TEMP_1 == 6
-#    define BOOST_PP_SLOT_5_DIGIT_1 6
-# elif BOOST_PP_SLOT_TEMP_1 == 7
-#    define BOOST_PP_SLOT_5_DIGIT_1 7
-# elif BOOST_PP_SLOT_TEMP_1 == 8
-#    define BOOST_PP_SLOT_5_DIGIT_1 8
-# elif BOOST_PP_SLOT_TEMP_1 == 9
-#    define BOOST_PP_SLOT_5_DIGIT_1 9
+# if NDNBOOST_PP_SLOT_TEMP_1 == 0
+#    define NDNBOOST_PP_SLOT_5_DIGIT_1 0
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 1
+#    define NDNBOOST_PP_SLOT_5_DIGIT_1 1
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 2
+#    define NDNBOOST_PP_SLOT_5_DIGIT_1 2
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 3
+#    define NDNBOOST_PP_SLOT_5_DIGIT_1 3
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 4
+#    define NDNBOOST_PP_SLOT_5_DIGIT_1 4
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 5
+#    define NDNBOOST_PP_SLOT_5_DIGIT_1 5
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 6
+#    define NDNBOOST_PP_SLOT_5_DIGIT_1 6
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 7
+#    define NDNBOOST_PP_SLOT_5_DIGIT_1 7
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 8
+#    define NDNBOOST_PP_SLOT_5_DIGIT_1 8
+# elif NDNBOOST_PP_SLOT_TEMP_1 == 9
+#    define NDNBOOST_PP_SLOT_5_DIGIT_1 9
 # endif
 #
-# if BOOST_PP_SLOT_5_DIGIT_10
-#    define BOOST_PP_SLOT_5() BOOST_PP_SLOT_CC_10(BOOST_PP_SLOT_5_DIGIT_10, BOOST_PP_SLOT_5_DIGIT_9, BOOST_PP_SLOT_5_DIGIT_8, BOOST_PP_SLOT_5_DIGIT_7, BOOST_PP_SLOT_5_DIGIT_6, BOOST_PP_SLOT_5_DIGIT_5, BOOST_PP_SLOT_5_DIGIT_4, BOOST_PP_SLOT_5_DIGIT_3, BOOST_PP_SLOT_5_DIGIT_2, BOOST_PP_SLOT_5_DIGIT_1)
-# elif BOOST_PP_SLOT_5_DIGIT_9
-#    define BOOST_PP_SLOT_5() BOOST_PP_SLOT_CC_9(BOOST_PP_SLOT_5_DIGIT_9, BOOST_PP_SLOT_5_DIGIT_8, BOOST_PP_SLOT_5_DIGIT_7, BOOST_PP_SLOT_5_DIGIT_6, BOOST_PP_SLOT_5_DIGIT_5, BOOST_PP_SLOT_5_DIGIT_4, BOOST_PP_SLOT_5_DIGIT_3, BOOST_PP_SLOT_5_DIGIT_2, BOOST_PP_SLOT_5_DIGIT_1)
-# elif BOOST_PP_SLOT_5_DIGIT_8
-#    define BOOST_PP_SLOT_5() BOOST_PP_SLOT_CC_8(BOOST_PP_SLOT_5_DIGIT_8, BOOST_PP_SLOT_5_DIGIT_7, BOOST_PP_SLOT_5_DIGIT_6, BOOST_PP_SLOT_5_DIGIT_5, BOOST_PP_SLOT_5_DIGIT_4, BOOST_PP_SLOT_5_DIGIT_3, BOOST_PP_SLOT_5_DIGIT_2, BOOST_PP_SLOT_5_DIGIT_1)
-# elif BOOST_PP_SLOT_5_DIGIT_7
-#    define BOOST_PP_SLOT_5() BOOST_PP_SLOT_CC_7(BOOST_PP_SLOT_5_DIGIT_7, BOOST_PP_SLOT_5_DIGIT_6, BOOST_PP_SLOT_5_DIGIT_5, BOOST_PP_SLOT_5_DIGIT_4, BOOST_PP_SLOT_5_DIGIT_3, BOOST_PP_SLOT_5_DIGIT_2, BOOST_PP_SLOT_5_DIGIT_1)
-# elif BOOST_PP_SLOT_5_DIGIT_6
-#    define BOOST_PP_SLOT_5() BOOST_PP_SLOT_CC_6(BOOST_PP_SLOT_5_DIGIT_6, BOOST_PP_SLOT_5_DIGIT_5, BOOST_PP_SLOT_5_DIGIT_4, BOOST_PP_SLOT_5_DIGIT_3, BOOST_PP_SLOT_5_DIGIT_2, BOOST_PP_SLOT_5_DIGIT_1)
-# elif BOOST_PP_SLOT_5_DIGIT_5
-#    define BOOST_PP_SLOT_5() BOOST_PP_SLOT_CC_5(BOOST_PP_SLOT_5_DIGIT_5, BOOST_PP_SLOT_5_DIGIT_4, BOOST_PP_SLOT_5_DIGIT_3, BOOST_PP_SLOT_5_DIGIT_2, BOOST_PP_SLOT_5_DIGIT_1)
-# elif BOOST_PP_SLOT_5_DIGIT_4
-#    define BOOST_PP_SLOT_5() BOOST_PP_SLOT_CC_4(BOOST_PP_SLOT_5_DIGIT_4, BOOST_PP_SLOT_5_DIGIT_3, BOOST_PP_SLOT_5_DIGIT_2, BOOST_PP_SLOT_5_DIGIT_1)
-# elif BOOST_PP_SLOT_5_DIGIT_3
-#    define BOOST_PP_SLOT_5() BOOST_PP_SLOT_CC_3(BOOST_PP_SLOT_5_DIGIT_3, BOOST_PP_SLOT_5_DIGIT_2, BOOST_PP_SLOT_5_DIGIT_1)
-# elif BOOST_PP_SLOT_5_DIGIT_2
-#    define BOOST_PP_SLOT_5() BOOST_PP_SLOT_CC_2(BOOST_PP_SLOT_5_DIGIT_2, BOOST_PP_SLOT_5_DIGIT_1)
+# if NDNBOOST_PP_SLOT_5_DIGIT_10
+#    define NDNBOOST_PP_SLOT_5() NDNBOOST_PP_SLOT_CC_10(NDNBOOST_PP_SLOT_5_DIGIT_10, NDNBOOST_PP_SLOT_5_DIGIT_9, NDNBOOST_PP_SLOT_5_DIGIT_8, NDNBOOST_PP_SLOT_5_DIGIT_7, NDNBOOST_PP_SLOT_5_DIGIT_6, NDNBOOST_PP_SLOT_5_DIGIT_5, NDNBOOST_PP_SLOT_5_DIGIT_4, NDNBOOST_PP_SLOT_5_DIGIT_3, NDNBOOST_PP_SLOT_5_DIGIT_2, NDNBOOST_PP_SLOT_5_DIGIT_1)
+# elif NDNBOOST_PP_SLOT_5_DIGIT_9
+#    define NDNBOOST_PP_SLOT_5() NDNBOOST_PP_SLOT_CC_9(NDNBOOST_PP_SLOT_5_DIGIT_9, NDNBOOST_PP_SLOT_5_DIGIT_8, NDNBOOST_PP_SLOT_5_DIGIT_7, NDNBOOST_PP_SLOT_5_DIGIT_6, NDNBOOST_PP_SLOT_5_DIGIT_5, NDNBOOST_PP_SLOT_5_DIGIT_4, NDNBOOST_PP_SLOT_5_DIGIT_3, NDNBOOST_PP_SLOT_5_DIGIT_2, NDNBOOST_PP_SLOT_5_DIGIT_1)
+# elif NDNBOOST_PP_SLOT_5_DIGIT_8
+#    define NDNBOOST_PP_SLOT_5() NDNBOOST_PP_SLOT_CC_8(NDNBOOST_PP_SLOT_5_DIGIT_8, NDNBOOST_PP_SLOT_5_DIGIT_7, NDNBOOST_PP_SLOT_5_DIGIT_6, NDNBOOST_PP_SLOT_5_DIGIT_5, NDNBOOST_PP_SLOT_5_DIGIT_4, NDNBOOST_PP_SLOT_5_DIGIT_3, NDNBOOST_PP_SLOT_5_DIGIT_2, NDNBOOST_PP_SLOT_5_DIGIT_1)
+# elif NDNBOOST_PP_SLOT_5_DIGIT_7
+#    define NDNBOOST_PP_SLOT_5() NDNBOOST_PP_SLOT_CC_7(NDNBOOST_PP_SLOT_5_DIGIT_7, NDNBOOST_PP_SLOT_5_DIGIT_6, NDNBOOST_PP_SLOT_5_DIGIT_5, NDNBOOST_PP_SLOT_5_DIGIT_4, NDNBOOST_PP_SLOT_5_DIGIT_3, NDNBOOST_PP_SLOT_5_DIGIT_2, NDNBOOST_PP_SLOT_5_DIGIT_1)
+# elif NDNBOOST_PP_SLOT_5_DIGIT_6
+#    define NDNBOOST_PP_SLOT_5() NDNBOOST_PP_SLOT_CC_6(NDNBOOST_PP_SLOT_5_DIGIT_6, NDNBOOST_PP_SLOT_5_DIGIT_5, NDNBOOST_PP_SLOT_5_DIGIT_4, NDNBOOST_PP_SLOT_5_DIGIT_3, NDNBOOST_PP_SLOT_5_DIGIT_2, NDNBOOST_PP_SLOT_5_DIGIT_1)
+# elif NDNBOOST_PP_SLOT_5_DIGIT_5
+#    define NDNBOOST_PP_SLOT_5() NDNBOOST_PP_SLOT_CC_5(NDNBOOST_PP_SLOT_5_DIGIT_5, NDNBOOST_PP_SLOT_5_DIGIT_4, NDNBOOST_PP_SLOT_5_DIGIT_3, NDNBOOST_PP_SLOT_5_DIGIT_2, NDNBOOST_PP_SLOT_5_DIGIT_1)
+# elif NDNBOOST_PP_SLOT_5_DIGIT_4
+#    define NDNBOOST_PP_SLOT_5() NDNBOOST_PP_SLOT_CC_4(NDNBOOST_PP_SLOT_5_DIGIT_4, NDNBOOST_PP_SLOT_5_DIGIT_3, NDNBOOST_PP_SLOT_5_DIGIT_2, NDNBOOST_PP_SLOT_5_DIGIT_1)
+# elif NDNBOOST_PP_SLOT_5_DIGIT_3
+#    define NDNBOOST_PP_SLOT_5() NDNBOOST_PP_SLOT_CC_3(NDNBOOST_PP_SLOT_5_DIGIT_3, NDNBOOST_PP_SLOT_5_DIGIT_2, NDNBOOST_PP_SLOT_5_DIGIT_1)
+# elif NDNBOOST_PP_SLOT_5_DIGIT_2
+#    define NDNBOOST_PP_SLOT_5() NDNBOOST_PP_SLOT_CC_2(NDNBOOST_PP_SLOT_5_DIGIT_2, NDNBOOST_PP_SLOT_5_DIGIT_1)
 # else
-#    define BOOST_PP_SLOT_5() BOOST_PP_SLOT_5_DIGIT_1
+#    define NDNBOOST_PP_SLOT_5() NDNBOOST_PP_SLOT_5_DIGIT_1
 # endif
diff --git a/include/ndnboost/preprocessor/slot/slot.hpp b/include/ndnboost/preprocessor/slot/slot.hpp
index f8fe419..76622bc 100644
--- a/include/ndnboost/preprocessor/slot/slot.hpp
+++ b/include/ndnboost/preprocessor/slot/slot.hpp
@@ -9,24 +9,24 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_SLOT_SLOT_HPP
-# define BOOST_PREPROCESSOR_SLOT_SLOT_HPP
+# ifndef NDNBOOST_PREPROCESSOR_SLOT_SLOT_HPP
+# define NDNBOOST_PREPROCESSOR_SLOT_SLOT_HPP
 #
 # include <ndnboost/preprocessor/cat.hpp>
 # include <ndnboost/preprocessor/slot/detail/def.hpp>
 #
-# /* BOOST_PP_ASSIGN_SLOT */
+# /* NDNBOOST_PP_ASSIGN_SLOT */
 #
-# define BOOST_PP_ASSIGN_SLOT(i) BOOST_PP_CAT(BOOST_PP_ASSIGN_SLOT_, i)
+# define NDNBOOST_PP_ASSIGN_SLOT(i) NDNBOOST_PP_CAT(NDNBOOST_PP_ASSIGN_SLOT_, i)
 #
-# define BOOST_PP_ASSIGN_SLOT_1 <ndnboost/preprocessor/slot/detail/slot1.hpp>
-# define BOOST_PP_ASSIGN_SLOT_2 <ndnboost/preprocessor/slot/detail/slot2.hpp>
-# define BOOST_PP_ASSIGN_SLOT_3 <ndnboost/preprocessor/slot/detail/slot3.hpp>
-# define BOOST_PP_ASSIGN_SLOT_4 <ndnboost/preprocessor/slot/detail/slot4.hpp>
-# define BOOST_PP_ASSIGN_SLOT_5 <ndnboost/preprocessor/slot/detail/slot5.hpp>
+# define NDNBOOST_PP_ASSIGN_SLOT_1 <ndnboost/preprocessor/slot/detail/slot1.hpp>
+# define NDNBOOST_PP_ASSIGN_SLOT_2 <ndnboost/preprocessor/slot/detail/slot2.hpp>
+# define NDNBOOST_PP_ASSIGN_SLOT_3 <ndnboost/preprocessor/slot/detail/slot3.hpp>
+# define NDNBOOST_PP_ASSIGN_SLOT_4 <ndnboost/preprocessor/slot/detail/slot4.hpp>
+# define NDNBOOST_PP_ASSIGN_SLOT_5 <ndnboost/preprocessor/slot/detail/slot5.hpp>
 #
-# /* BOOST_PP_SLOT */
+# /* NDNBOOST_PP_SLOT */
 #
-# define BOOST_PP_SLOT(i) BOOST_PP_CAT(BOOST_PP_SLOT_, i)()
+# define NDNBOOST_PP_SLOT(i) NDNBOOST_PP_CAT(NDNBOOST_PP_SLOT_, i)()
 #
 # endif
diff --git a/include/ndnboost/preprocessor/stringize.hpp b/include/ndnboost/preprocessor/stringize.hpp
index d682cc5..b9b4a6a 100644
--- a/include/ndnboost/preprocessor/stringize.hpp
+++ b/include/ndnboost/preprocessor/stringize.hpp
@@ -11,23 +11,23 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_STRINGIZE_HPP
-# define BOOST_PREPROCESSOR_STRINGIZE_HPP
+# ifndef NDNBOOST_PREPROCESSOR_STRINGIZE_HPP
+# define NDNBOOST_PREPROCESSOR_STRINGIZE_HPP
 #
 # include <ndnboost/preprocessor/config/config.hpp>
 #
-# /* BOOST_PP_STRINGIZE */
+# /* NDNBOOST_PP_STRINGIZE */
 #
-# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()
-#    define BOOST_PP_STRINGIZE(text) BOOST_PP_STRINGIZE_A((text))
-#    define BOOST_PP_STRINGIZE_A(arg) BOOST_PP_STRINGIZE_I arg
-# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-#    define BOOST_PP_STRINGIZE(text) BOOST_PP_STRINGIZE_OO((text))
-#    define BOOST_PP_STRINGIZE_OO(par) BOOST_PP_STRINGIZE_I ## par
+# if NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_MSVC()
+#    define NDNBOOST_PP_STRINGIZE(text) NDNBOOST_PP_STRINGIZE_A((text))
+#    define NDNBOOST_PP_STRINGIZE_A(arg) NDNBOOST_PP_STRINGIZE_I arg
+# elif NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_MWCC()
+#    define NDNBOOST_PP_STRINGIZE(text) NDNBOOST_PP_STRINGIZE_OO((text))
+#    define NDNBOOST_PP_STRINGIZE_OO(par) NDNBOOST_PP_STRINGIZE_I ## par
 # else
-#    define BOOST_PP_STRINGIZE(text) BOOST_PP_STRINGIZE_I(text)
+#    define NDNBOOST_PP_STRINGIZE(text) NDNBOOST_PP_STRINGIZE_I(text)
 # endif
 #
-# define BOOST_PP_STRINGIZE_I(text) #text
+# define NDNBOOST_PP_STRINGIZE_I(text) #text
 #
 # endif
diff --git a/include/ndnboost/preprocessor/tuple/eat.hpp b/include/ndnboost/preprocessor/tuple/eat.hpp
index 89fe571..9104649 100644
--- a/include/ndnboost/preprocessor/tuple/eat.hpp
+++ b/include/ndnboost/preprocessor/tuple/eat.hpp
@@ -12,95 +12,95 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_TUPLE_EAT_HPP
-# define BOOST_PREPROCESSOR_TUPLE_EAT_HPP
+# ifndef NDNBOOST_PREPROCESSOR_TUPLE_EAT_HPP
+# define NDNBOOST_PREPROCESSOR_TUPLE_EAT_HPP
 #
 # include <ndnboost/preprocessor/config/config.hpp>
 #
-# /* BOOST_PP_EAT */
+# /* NDNBOOST_PP_EAT */
 #
-# if BOOST_PP_VARIADICS
-#    define BOOST_PP_EAT(...)
+# if NDNBOOST_PP_VARIADICS
+#    define NDNBOOST_PP_EAT(...)
 # else
-#    define BOOST_PP_EAT(x)
+#    define NDNBOOST_PP_EAT(x)
 # endif
 #
-# /* BOOST_PP_TUPLE_EAT */
+# /* NDNBOOST_PP_TUPLE_EAT */
 #
-# if BOOST_PP_VARIADICS
-#    define BOOST_PP_TUPLE_EAT(size) BOOST_PP_EAT
+# if NDNBOOST_PP_VARIADICS
+#    define NDNBOOST_PP_TUPLE_EAT(size) NDNBOOST_PP_EAT
 # else
-#    if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-#        define BOOST_PP_TUPLE_EAT(size) BOOST_PP_TUPLE_EAT_I(size)
+#    if ~NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_MWCC()
+#        define NDNBOOST_PP_TUPLE_EAT(size) NDNBOOST_PP_TUPLE_EAT_I(size)
 #    else
-#        define BOOST_PP_TUPLE_EAT(size) BOOST_PP_TUPLE_EAT_OO((size))
-#        define BOOST_PP_TUPLE_EAT_OO(par) BOOST_PP_TUPLE_EAT_I ## par
+#        define NDNBOOST_PP_TUPLE_EAT(size) NDNBOOST_PP_TUPLE_EAT_OO((size))
+#        define NDNBOOST_PP_TUPLE_EAT_OO(par) NDNBOOST_PP_TUPLE_EAT_I ## par
 #    endif
-#    define BOOST_PP_TUPLE_EAT_I(size) BOOST_PP_TUPLE_EAT_ ## size
+#    define NDNBOOST_PP_TUPLE_EAT_I(size) NDNBOOST_PP_TUPLE_EAT_ ## size
 # endif
-# define BOOST_PP_TUPLE_EAT_1(e0)
-# define BOOST_PP_TUPLE_EAT_2(e0, e1)
-# define BOOST_PP_TUPLE_EAT_3(e0, e1, e2)
-# define BOOST_PP_TUPLE_EAT_4(e0, e1, e2, e3)
-# define BOOST_PP_TUPLE_EAT_5(e0, e1, e2, e3, e4)
-# define BOOST_PP_TUPLE_EAT_6(e0, e1, e2, e3, e4, e5)
-# define BOOST_PP_TUPLE_EAT_7(e0, e1, e2, e3, e4, e5, e6)
-# define BOOST_PP_TUPLE_EAT_8(e0, e1, e2, e3, e4, e5, e6, e7)
-# define BOOST_PP_TUPLE_EAT_9(e0, e1, e2, e3, e4, e5, e6, e7, e8)
-# define BOOST_PP_TUPLE_EAT_10(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9)
-# define BOOST_PP_TUPLE_EAT_11(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10)
-# define BOOST_PP_TUPLE_EAT_12(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11)
-# define BOOST_PP_TUPLE_EAT_13(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12)
-# define BOOST_PP_TUPLE_EAT_14(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13)
-# define BOOST_PP_TUPLE_EAT_15(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14)
-# define BOOST_PP_TUPLE_EAT_16(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15)
-# define BOOST_PP_TUPLE_EAT_17(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16)
-# define BOOST_PP_TUPLE_EAT_18(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17)
-# define BOOST_PP_TUPLE_EAT_19(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18)
-# define BOOST_PP_TUPLE_EAT_20(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19)
-# define BOOST_PP_TUPLE_EAT_21(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20)
-# define BOOST_PP_TUPLE_EAT_22(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21)
-# define BOOST_PP_TUPLE_EAT_23(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22)
-# define BOOST_PP_TUPLE_EAT_24(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23)
-# define BOOST_PP_TUPLE_EAT_25(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24)
-# define BOOST_PP_TUPLE_EAT_26(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25)
-# define BOOST_PP_TUPLE_EAT_27(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26)
-# define BOOST_PP_TUPLE_EAT_28(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27)
-# define BOOST_PP_TUPLE_EAT_29(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28)
-# define BOOST_PP_TUPLE_EAT_30(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29)
-# define BOOST_PP_TUPLE_EAT_31(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30)
-# define BOOST_PP_TUPLE_EAT_32(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31)
-# define BOOST_PP_TUPLE_EAT_33(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32)
-# define BOOST_PP_TUPLE_EAT_34(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33)
-# define BOOST_PP_TUPLE_EAT_35(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34)
-# define BOOST_PP_TUPLE_EAT_36(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35)
-# define BOOST_PP_TUPLE_EAT_37(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36)
-# define BOOST_PP_TUPLE_EAT_38(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37)
-# define BOOST_PP_TUPLE_EAT_39(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38)
-# define BOOST_PP_TUPLE_EAT_40(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39)
-# define BOOST_PP_TUPLE_EAT_41(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40)
-# define BOOST_PP_TUPLE_EAT_42(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41)
-# define BOOST_PP_TUPLE_EAT_43(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42)
-# define BOOST_PP_TUPLE_EAT_44(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43)
-# define BOOST_PP_TUPLE_EAT_45(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44)
-# define BOOST_PP_TUPLE_EAT_46(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45)
-# define BOOST_PP_TUPLE_EAT_47(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46)
-# define BOOST_PP_TUPLE_EAT_48(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47)
-# define BOOST_PP_TUPLE_EAT_49(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48)
-# define BOOST_PP_TUPLE_EAT_50(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49)
-# define BOOST_PP_TUPLE_EAT_51(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50)
-# define BOOST_PP_TUPLE_EAT_52(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51)
-# define BOOST_PP_TUPLE_EAT_53(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52)
-# define BOOST_PP_TUPLE_EAT_54(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53)
-# define BOOST_PP_TUPLE_EAT_55(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54)
-# define BOOST_PP_TUPLE_EAT_56(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55)
-# define BOOST_PP_TUPLE_EAT_57(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56)
-# define BOOST_PP_TUPLE_EAT_58(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57)
-# define BOOST_PP_TUPLE_EAT_59(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58)
-# define BOOST_PP_TUPLE_EAT_60(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59)
-# define BOOST_PP_TUPLE_EAT_61(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60)
-# define BOOST_PP_TUPLE_EAT_62(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61)
-# define BOOST_PP_TUPLE_EAT_63(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62)
-# define BOOST_PP_TUPLE_EAT_64(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63)
+# define NDNBOOST_PP_TUPLE_EAT_1(e0)
+# define NDNBOOST_PP_TUPLE_EAT_2(e0, e1)
+# define NDNBOOST_PP_TUPLE_EAT_3(e0, e1, e2)
+# define NDNBOOST_PP_TUPLE_EAT_4(e0, e1, e2, e3)
+# define NDNBOOST_PP_TUPLE_EAT_5(e0, e1, e2, e3, e4)
+# define NDNBOOST_PP_TUPLE_EAT_6(e0, e1, e2, e3, e4, e5)
+# define NDNBOOST_PP_TUPLE_EAT_7(e0, e1, e2, e3, e4, e5, e6)
+# define NDNBOOST_PP_TUPLE_EAT_8(e0, e1, e2, e3, e4, e5, e6, e7)
+# define NDNBOOST_PP_TUPLE_EAT_9(e0, e1, e2, e3, e4, e5, e6, e7, e8)
+# define NDNBOOST_PP_TUPLE_EAT_10(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9)
+# define NDNBOOST_PP_TUPLE_EAT_11(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10)
+# define NDNBOOST_PP_TUPLE_EAT_12(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11)
+# define NDNBOOST_PP_TUPLE_EAT_13(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12)
+# define NDNBOOST_PP_TUPLE_EAT_14(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13)
+# define NDNBOOST_PP_TUPLE_EAT_15(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14)
+# define NDNBOOST_PP_TUPLE_EAT_16(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15)
+# define NDNBOOST_PP_TUPLE_EAT_17(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16)
+# define NDNBOOST_PP_TUPLE_EAT_18(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17)
+# define NDNBOOST_PP_TUPLE_EAT_19(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18)
+# define NDNBOOST_PP_TUPLE_EAT_20(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19)
+# define NDNBOOST_PP_TUPLE_EAT_21(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20)
+# define NDNBOOST_PP_TUPLE_EAT_22(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21)
+# define NDNBOOST_PP_TUPLE_EAT_23(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22)
+# define NDNBOOST_PP_TUPLE_EAT_24(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23)
+# define NDNBOOST_PP_TUPLE_EAT_25(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24)
+# define NDNBOOST_PP_TUPLE_EAT_26(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25)
+# define NDNBOOST_PP_TUPLE_EAT_27(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26)
+# define NDNBOOST_PP_TUPLE_EAT_28(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27)
+# define NDNBOOST_PP_TUPLE_EAT_29(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28)
+# define NDNBOOST_PP_TUPLE_EAT_30(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29)
+# define NDNBOOST_PP_TUPLE_EAT_31(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30)
+# define NDNBOOST_PP_TUPLE_EAT_32(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31)
+# define NDNBOOST_PP_TUPLE_EAT_33(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32)
+# define NDNBOOST_PP_TUPLE_EAT_34(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33)
+# define NDNBOOST_PP_TUPLE_EAT_35(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34)
+# define NDNBOOST_PP_TUPLE_EAT_36(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35)
+# define NDNBOOST_PP_TUPLE_EAT_37(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36)
+# define NDNBOOST_PP_TUPLE_EAT_38(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37)
+# define NDNBOOST_PP_TUPLE_EAT_39(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38)
+# define NDNBOOST_PP_TUPLE_EAT_40(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39)
+# define NDNBOOST_PP_TUPLE_EAT_41(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40)
+# define NDNBOOST_PP_TUPLE_EAT_42(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41)
+# define NDNBOOST_PP_TUPLE_EAT_43(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42)
+# define NDNBOOST_PP_TUPLE_EAT_44(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43)
+# define NDNBOOST_PP_TUPLE_EAT_45(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44)
+# define NDNBOOST_PP_TUPLE_EAT_46(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45)
+# define NDNBOOST_PP_TUPLE_EAT_47(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46)
+# define NDNBOOST_PP_TUPLE_EAT_48(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47)
+# define NDNBOOST_PP_TUPLE_EAT_49(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48)
+# define NDNBOOST_PP_TUPLE_EAT_50(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49)
+# define NDNBOOST_PP_TUPLE_EAT_51(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50)
+# define NDNBOOST_PP_TUPLE_EAT_52(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51)
+# define NDNBOOST_PP_TUPLE_EAT_53(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52)
+# define NDNBOOST_PP_TUPLE_EAT_54(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53)
+# define NDNBOOST_PP_TUPLE_EAT_55(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54)
+# define NDNBOOST_PP_TUPLE_EAT_56(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55)
+# define NDNBOOST_PP_TUPLE_EAT_57(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56)
+# define NDNBOOST_PP_TUPLE_EAT_58(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57)
+# define NDNBOOST_PP_TUPLE_EAT_59(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58)
+# define NDNBOOST_PP_TUPLE_EAT_60(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59)
+# define NDNBOOST_PP_TUPLE_EAT_61(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60)
+# define NDNBOOST_PP_TUPLE_EAT_62(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61)
+# define NDNBOOST_PP_TUPLE_EAT_63(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62)
+# define NDNBOOST_PP_TUPLE_EAT_64(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63)
 #
 # endif
diff --git a/include/ndnboost/preprocessor/tuple/elem.hpp b/include/ndnboost/preprocessor/tuple/elem.hpp
index ac2dcdd..90555f7 100644
--- a/include/ndnboost/preprocessor/tuple/elem.hpp
+++ b/include/ndnboost/preprocessor/tuple/elem.hpp
@@ -12,8 +12,8 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_TUPLE_ELEM_HPP
-# define BOOST_PREPROCESSOR_TUPLE_ELEM_HPP
+# ifndef NDNBOOST_PREPROCESSOR_TUPLE_ELEM_HPP
+# define NDNBOOST_PREPROCESSOR_TUPLE_ELEM_HPP
 #
 # include <ndnboost/preprocessor/cat.hpp>
 # include <ndnboost/preprocessor/config/config.hpp>
@@ -21,171 +21,171 @@
 # include <ndnboost/preprocessor/tuple/rem.hpp>
 # include <ndnboost/preprocessor/variadic/elem.hpp>
 #
-# if BOOST_PP_VARIADICS
-#    if BOOST_PP_VARIADICS_MSVC
-#        define BOOST_PP_TUPLE_ELEM(...) BOOST_PP_TUPLE_ELEM_I(BOOST_PP_OVERLOAD(BOOST_PP_TUPLE_ELEM_O_, __VA_ARGS__), (__VA_ARGS__))
-#        define BOOST_PP_TUPLE_ELEM_I(m, args) BOOST_PP_TUPLE_ELEM_II(m, args)
-#        define BOOST_PP_TUPLE_ELEM_II(m, args) BOOST_PP_CAT(m ## args,)
+# if NDNBOOST_PP_VARIADICS
+#    if NDNBOOST_PP_VARIADICS_MSVC
+#        define NDNBOOST_PP_TUPLE_ELEM(...) NDNBOOST_PP_TUPLE_ELEM_I(NDNBOOST_PP_OVERLOAD(NDNBOOST_PP_TUPLE_ELEM_O_, __VA_ARGS__), (__VA_ARGS__))
+#        define NDNBOOST_PP_TUPLE_ELEM_I(m, args) NDNBOOST_PP_TUPLE_ELEM_II(m, args)
+#        define NDNBOOST_PP_TUPLE_ELEM_II(m, args) NDNBOOST_PP_CAT(m ## args,)
 #    else
-#        define BOOST_PP_TUPLE_ELEM(...) BOOST_PP_OVERLOAD(BOOST_PP_TUPLE_ELEM_O_, __VA_ARGS__)(__VA_ARGS__)
+#        define NDNBOOST_PP_TUPLE_ELEM(...) NDNBOOST_PP_OVERLOAD(NDNBOOST_PP_TUPLE_ELEM_O_, __VA_ARGS__)(__VA_ARGS__)
 #    endif
-#    define BOOST_PP_TUPLE_ELEM_O_2(n, tuple) BOOST_PP_VARIADIC_ELEM(n, BOOST_PP_REM tuple)
-#    define BOOST_PP_TUPLE_ELEM_O_3(size, n, tuple) BOOST_PP_TUPLE_ELEM_O_2(n, tuple)
+#    define NDNBOOST_PP_TUPLE_ELEM_O_2(n, tuple) NDNBOOST_PP_VARIADIC_ELEM(n, NDNBOOST_PP_REM tuple)
+#    define NDNBOOST_PP_TUPLE_ELEM_O_3(size, n, tuple) NDNBOOST_PP_TUPLE_ELEM_O_2(n, tuple)
 # else
-#    if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()
-#        define BOOST_PP_TUPLE_ELEM(size, n, tuple) BOOST_PP_TUPLE_ELEM_I(BOOST_PP_CAT(BOOST_PP_TUPLE_ELEM_, n), BOOST_PP_CAT(BOOST_PP_CAT(BOOST_PP_TUPLE_ELEM_E_, size), tuple))
-#        define BOOST_PP_TUPLE_ELEM_I(m, args) BOOST_PP_TUPLE_ELEM_II(m, args)
-#        define BOOST_PP_TUPLE_ELEM_II(m, args) BOOST_PP_CAT(m ## args,)
-#    elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-#        define BOOST_PP_TUPLE_ELEM(size, n, tuple) BOOST_PP_TUPLE_ELEM_I_OO((size, n, tuple))
-#        define BOOST_PP_TUPLE_ELEM_I_OO(par) BOOST_PP_TUPLE_ELEM_I ## par
-#        define BOOST_PP_TUPLE_ELEM_I(size, n, tuple) BOOST_PP_TUPLE_ELEM_II((n, BOOST_PP_TUPLE_ELEM_E_ ## size ## tuple))
-#        define BOOST_PP_TUPLE_ELEM_II(par) BOOST_PP_TUPLE_ELEM_III_OO(par)
-#        define BOOST_PP_TUPLE_ELEM_III_OO(par) BOOST_PP_TUPLE_ELEM_III ## par
-#        define BOOST_PP_TUPLE_ELEM_III(n, etuple) BOOST_PP_TUPLE_ELEM_ ## n ## etuple
+#    if NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_MSVC()
+#        define NDNBOOST_PP_TUPLE_ELEM(size, n, tuple) NDNBOOST_PP_TUPLE_ELEM_I(NDNBOOST_PP_CAT(NDNBOOST_PP_TUPLE_ELEM_, n), NDNBOOST_PP_CAT(NDNBOOST_PP_CAT(NDNBOOST_PP_TUPLE_ELEM_E_, size), tuple))
+#        define NDNBOOST_PP_TUPLE_ELEM_I(m, args) NDNBOOST_PP_TUPLE_ELEM_II(m, args)
+#        define NDNBOOST_PP_TUPLE_ELEM_II(m, args) NDNBOOST_PP_CAT(m ## args,)
+#    elif NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_MWCC()
+#        define NDNBOOST_PP_TUPLE_ELEM(size, n, tuple) NDNBOOST_PP_TUPLE_ELEM_I_OO((size, n, tuple))
+#        define NDNBOOST_PP_TUPLE_ELEM_I_OO(par) NDNBOOST_PP_TUPLE_ELEM_I ## par
+#        define NDNBOOST_PP_TUPLE_ELEM_I(size, n, tuple) NDNBOOST_PP_TUPLE_ELEM_II((n, NDNBOOST_PP_TUPLE_ELEM_E_ ## size ## tuple))
+#        define NDNBOOST_PP_TUPLE_ELEM_II(par) NDNBOOST_PP_TUPLE_ELEM_III_OO(par)
+#        define NDNBOOST_PP_TUPLE_ELEM_III_OO(par) NDNBOOST_PP_TUPLE_ELEM_III ## par
+#        define NDNBOOST_PP_TUPLE_ELEM_III(n, etuple) NDNBOOST_PP_TUPLE_ELEM_ ## n ## etuple
 #    else
-#        define BOOST_PP_TUPLE_ELEM(size, n, tuple) BOOST_PP_TUPLE_ELEM_I(BOOST_PP_CAT(BOOST_PP_TUPLE_ELEM_, n) BOOST_PP_CAT(BOOST_PP_TUPLE_ELEM_E_, size) tuple)
-#        define BOOST_PP_TUPLE_ELEM_I(x) x
+#        define NDNBOOST_PP_TUPLE_ELEM(size, n, tuple) NDNBOOST_PP_TUPLE_ELEM_I(NDNBOOST_PP_CAT(NDNBOOST_PP_TUPLE_ELEM_, n) NDNBOOST_PP_CAT(NDNBOOST_PP_TUPLE_ELEM_E_, size) tuple)
+#        define NDNBOOST_PP_TUPLE_ELEM_I(x) x
 #    endif
-#    define BOOST_PP_TUPLE_ELEM_E_1(e0) (e0, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_2(e0, e1) (e0, e1, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_3(e0, e1, e2) (e0, e1, e2, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_4(e0, e1, e2, e3) (e0, e1, e2, e3, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_5(e0, e1, e2, e3, e4) (e0, e1, e2, e3, e4, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_6(e0, e1, e2, e3, e4, e5) (e0, e1, e2, e3, e4, e5, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_7(e0, e1, e2, e3, e4, e5, e6) (e0, e1, e2, e3, e4, e5, e6, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_8(e0, e1, e2, e3, e4, e5, e6, e7) (e0, e1, e2, e3, e4, e5, e6, e7, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_9(e0, e1, e2, e3, e4, e5, e6, e7, e8) (e0, e1, e2, e3, e4, e5, e6, e7, e8, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_10(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_11(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_12(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_13(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_14(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_15(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_16(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_17(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_18(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_19(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_20(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_21(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_22(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_23(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_24(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_25(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_26(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_27(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_28(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_29(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_30(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_31(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_32(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_33(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_34(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_35(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_36(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_37(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_38(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_39(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_40(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_41(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_42(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_43(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_44(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_45(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_46(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_47(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_48(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_49(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_50(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_51(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_52(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_53(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_54(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_55(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_56(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, ?, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_57(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, ?, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_58(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, ?, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_59(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, ?, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_60(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, ?, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_61(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, ?, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_62(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, ?, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_63(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, ?)
-#    define BOOST_PP_TUPLE_ELEM_E_64
-#    define BOOST_PP_TUPLE_ELEM_0(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e0
-#    define BOOST_PP_TUPLE_ELEM_1(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e1
-#    define BOOST_PP_TUPLE_ELEM_2(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e2
-#    define BOOST_PP_TUPLE_ELEM_3(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e3
-#    define BOOST_PP_TUPLE_ELEM_4(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e4
-#    define BOOST_PP_TUPLE_ELEM_5(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e5
-#    define BOOST_PP_TUPLE_ELEM_6(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e6
-#    define BOOST_PP_TUPLE_ELEM_7(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e7
-#    define BOOST_PP_TUPLE_ELEM_8(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e8
-#    define BOOST_PP_TUPLE_ELEM_9(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e9
-#    define BOOST_PP_TUPLE_ELEM_10(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e10
-#    define BOOST_PP_TUPLE_ELEM_11(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e11
-#    define BOOST_PP_TUPLE_ELEM_12(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e12
-#    define BOOST_PP_TUPLE_ELEM_13(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e13
-#    define BOOST_PP_TUPLE_ELEM_14(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e14
-#    define BOOST_PP_TUPLE_ELEM_15(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e15
-#    define BOOST_PP_TUPLE_ELEM_16(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e16
-#    define BOOST_PP_TUPLE_ELEM_17(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e17
-#    define BOOST_PP_TUPLE_ELEM_18(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e18
-#    define BOOST_PP_TUPLE_ELEM_19(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e19
-#    define BOOST_PP_TUPLE_ELEM_20(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e20
-#    define BOOST_PP_TUPLE_ELEM_21(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e21
-#    define BOOST_PP_TUPLE_ELEM_22(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e22
-#    define BOOST_PP_TUPLE_ELEM_23(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e23
-#    define BOOST_PP_TUPLE_ELEM_24(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e24
-#    define BOOST_PP_TUPLE_ELEM_25(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e25
-#    define BOOST_PP_TUPLE_ELEM_26(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e26
-#    define BOOST_PP_TUPLE_ELEM_27(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e27
-#    define BOOST_PP_TUPLE_ELEM_28(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e28
-#    define BOOST_PP_TUPLE_ELEM_29(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e29
-#    define BOOST_PP_TUPLE_ELEM_30(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e30
-#    define BOOST_PP_TUPLE_ELEM_31(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e31
-#    define BOOST_PP_TUPLE_ELEM_32(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e32
-#    define BOOST_PP_TUPLE_ELEM_33(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e33
-#    define BOOST_PP_TUPLE_ELEM_34(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e34
-#    define BOOST_PP_TUPLE_ELEM_35(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e35
-#    define BOOST_PP_TUPLE_ELEM_36(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e36
-#    define BOOST_PP_TUPLE_ELEM_37(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e37
-#    define BOOST_PP_TUPLE_ELEM_38(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e38
-#    define BOOST_PP_TUPLE_ELEM_39(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e39
-#    define BOOST_PP_TUPLE_ELEM_40(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e40
-#    define BOOST_PP_TUPLE_ELEM_41(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e41
-#    define BOOST_PP_TUPLE_ELEM_42(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e42
-#    define BOOST_PP_TUPLE_ELEM_43(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e43
-#    define BOOST_PP_TUPLE_ELEM_44(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e44
-#    define BOOST_PP_TUPLE_ELEM_45(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e45
-#    define BOOST_PP_TUPLE_ELEM_46(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e46
-#    define BOOST_PP_TUPLE_ELEM_47(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e47
-#    define BOOST_PP_TUPLE_ELEM_48(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e48
-#    define BOOST_PP_TUPLE_ELEM_49(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e49
-#    define BOOST_PP_TUPLE_ELEM_50(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e50
-#    define BOOST_PP_TUPLE_ELEM_51(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e51
-#    define BOOST_PP_TUPLE_ELEM_52(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e52
-#    define BOOST_PP_TUPLE_ELEM_53(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e53
-#    define BOOST_PP_TUPLE_ELEM_54(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e54
-#    define BOOST_PP_TUPLE_ELEM_55(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e55
-#    define BOOST_PP_TUPLE_ELEM_56(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e56
-#    define BOOST_PP_TUPLE_ELEM_57(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e57
-#    define BOOST_PP_TUPLE_ELEM_58(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e58
-#    define BOOST_PP_TUPLE_ELEM_59(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e59
-#    define BOOST_PP_TUPLE_ELEM_60(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e60
-#    define BOOST_PP_TUPLE_ELEM_61(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e61
-#    define BOOST_PP_TUPLE_ELEM_62(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e62
-#    define BOOST_PP_TUPLE_ELEM_63(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e63
+#    define NDNBOOST_PP_TUPLE_ELEM_E_1(e0) (e0, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
+#    define NDNBOOST_PP_TUPLE_ELEM_E_2(e0, e1) (e0, e1, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
+#    define NDNBOOST_PP_TUPLE_ELEM_E_3(e0, e1, e2) (e0, e1, e2, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
+#    define NDNBOOST_PP_TUPLE_ELEM_E_4(e0, e1, e2, e3) (e0, e1, e2, e3, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
+#    define NDNBOOST_PP_TUPLE_ELEM_E_5(e0, e1, e2, e3, e4) (e0, e1, e2, e3, e4, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
+#    define NDNBOOST_PP_TUPLE_ELEM_E_6(e0, e1, e2, e3, e4, e5) (e0, e1, e2, e3, e4, e5, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
+#    define NDNBOOST_PP_TUPLE_ELEM_E_7(e0, e1, e2, e3, e4, e5, e6) (e0, e1, e2, e3, e4, e5, e6, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
+#    define NDNBOOST_PP_TUPLE_ELEM_E_8(e0, e1, e2, e3, e4, e5, e6, e7) (e0, e1, e2, e3, e4, e5, e6, e7, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
+#    define NDNBOOST_PP_TUPLE_ELEM_E_9(e0, e1, e2, e3, e4, e5, e6, e7, e8) (e0, e1, e2, e3, e4, e5, e6, e7, e8, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
+#    define NDNBOOST_PP_TUPLE_ELEM_E_10(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
+#    define NDNBOOST_PP_TUPLE_ELEM_E_11(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
+#    define NDNBOOST_PP_TUPLE_ELEM_E_12(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
+#    define NDNBOOST_PP_TUPLE_ELEM_E_13(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
+#    define NDNBOOST_PP_TUPLE_ELEM_E_14(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
+#    define NDNBOOST_PP_TUPLE_ELEM_E_15(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
+#    define NDNBOOST_PP_TUPLE_ELEM_E_16(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
+#    define NDNBOOST_PP_TUPLE_ELEM_E_17(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
+#    define NDNBOOST_PP_TUPLE_ELEM_E_18(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
+#    define NDNBOOST_PP_TUPLE_ELEM_E_19(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
+#    define NDNBOOST_PP_TUPLE_ELEM_E_20(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
+#    define NDNBOOST_PP_TUPLE_ELEM_E_21(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
+#    define NDNBOOST_PP_TUPLE_ELEM_E_22(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
+#    define NDNBOOST_PP_TUPLE_ELEM_E_23(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
+#    define NDNBOOST_PP_TUPLE_ELEM_E_24(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
+#    define NDNBOOST_PP_TUPLE_ELEM_E_25(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
+#    define NDNBOOST_PP_TUPLE_ELEM_E_26(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
+#    define NDNBOOST_PP_TUPLE_ELEM_E_27(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
+#    define NDNBOOST_PP_TUPLE_ELEM_E_28(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
+#    define NDNBOOST_PP_TUPLE_ELEM_E_29(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
+#    define NDNBOOST_PP_TUPLE_ELEM_E_30(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
+#    define NDNBOOST_PP_TUPLE_ELEM_E_31(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
+#    define NDNBOOST_PP_TUPLE_ELEM_E_32(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
+#    define NDNBOOST_PP_TUPLE_ELEM_E_33(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
+#    define NDNBOOST_PP_TUPLE_ELEM_E_34(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
+#    define NDNBOOST_PP_TUPLE_ELEM_E_35(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
+#    define NDNBOOST_PP_TUPLE_ELEM_E_36(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
+#    define NDNBOOST_PP_TUPLE_ELEM_E_37(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
+#    define NDNBOOST_PP_TUPLE_ELEM_E_38(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
+#    define NDNBOOST_PP_TUPLE_ELEM_E_39(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
+#    define NDNBOOST_PP_TUPLE_ELEM_E_40(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
+#    define NDNBOOST_PP_TUPLE_ELEM_E_41(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
+#    define NDNBOOST_PP_TUPLE_ELEM_E_42(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
+#    define NDNBOOST_PP_TUPLE_ELEM_E_43(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
+#    define NDNBOOST_PP_TUPLE_ELEM_E_44(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
+#    define NDNBOOST_PP_TUPLE_ELEM_E_45(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
+#    define NDNBOOST_PP_TUPLE_ELEM_E_46(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
+#    define NDNBOOST_PP_TUPLE_ELEM_E_47(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
+#    define NDNBOOST_PP_TUPLE_ELEM_E_48(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
+#    define NDNBOOST_PP_TUPLE_ELEM_E_49(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
+#    define NDNBOOST_PP_TUPLE_ELEM_E_50(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
+#    define NDNBOOST_PP_TUPLE_ELEM_E_51(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
+#    define NDNBOOST_PP_TUPLE_ELEM_E_52(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
+#    define NDNBOOST_PP_TUPLE_ELEM_E_53(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
+#    define NDNBOOST_PP_TUPLE_ELEM_E_54(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
+#    define NDNBOOST_PP_TUPLE_ELEM_E_55(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, ?, ?, ?, ?, ?, ?, ?, ?, ?)
+#    define NDNBOOST_PP_TUPLE_ELEM_E_56(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, ?, ?, ?, ?, ?, ?, ?, ?)
+#    define NDNBOOST_PP_TUPLE_ELEM_E_57(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, ?, ?, ?, ?, ?, ?, ?)
+#    define NDNBOOST_PP_TUPLE_ELEM_E_58(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, ?, ?, ?, ?, ?, ?)
+#    define NDNBOOST_PP_TUPLE_ELEM_E_59(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, ?, ?, ?, ?, ?)
+#    define NDNBOOST_PP_TUPLE_ELEM_E_60(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, ?, ?, ?, ?)
+#    define NDNBOOST_PP_TUPLE_ELEM_E_61(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, ?, ?, ?)
+#    define NDNBOOST_PP_TUPLE_ELEM_E_62(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, ?, ?)
+#    define NDNBOOST_PP_TUPLE_ELEM_E_63(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, ?)
+#    define NDNBOOST_PP_TUPLE_ELEM_E_64
+#    define NDNBOOST_PP_TUPLE_ELEM_0(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e0
+#    define NDNBOOST_PP_TUPLE_ELEM_1(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e1
+#    define NDNBOOST_PP_TUPLE_ELEM_2(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e2
+#    define NDNBOOST_PP_TUPLE_ELEM_3(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e3
+#    define NDNBOOST_PP_TUPLE_ELEM_4(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e4
+#    define NDNBOOST_PP_TUPLE_ELEM_5(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e5
+#    define NDNBOOST_PP_TUPLE_ELEM_6(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e6
+#    define NDNBOOST_PP_TUPLE_ELEM_7(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e7
+#    define NDNBOOST_PP_TUPLE_ELEM_8(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e8
+#    define NDNBOOST_PP_TUPLE_ELEM_9(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e9
+#    define NDNBOOST_PP_TUPLE_ELEM_10(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e10
+#    define NDNBOOST_PP_TUPLE_ELEM_11(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e11
+#    define NDNBOOST_PP_TUPLE_ELEM_12(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e12
+#    define NDNBOOST_PP_TUPLE_ELEM_13(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e13
+#    define NDNBOOST_PP_TUPLE_ELEM_14(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e14
+#    define NDNBOOST_PP_TUPLE_ELEM_15(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e15
+#    define NDNBOOST_PP_TUPLE_ELEM_16(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e16
+#    define NDNBOOST_PP_TUPLE_ELEM_17(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e17
+#    define NDNBOOST_PP_TUPLE_ELEM_18(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e18
+#    define NDNBOOST_PP_TUPLE_ELEM_19(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e19
+#    define NDNBOOST_PP_TUPLE_ELEM_20(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e20
+#    define NDNBOOST_PP_TUPLE_ELEM_21(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e21
+#    define NDNBOOST_PP_TUPLE_ELEM_22(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e22
+#    define NDNBOOST_PP_TUPLE_ELEM_23(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e23
+#    define NDNBOOST_PP_TUPLE_ELEM_24(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e24
+#    define NDNBOOST_PP_TUPLE_ELEM_25(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e25
+#    define NDNBOOST_PP_TUPLE_ELEM_26(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e26
+#    define NDNBOOST_PP_TUPLE_ELEM_27(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e27
+#    define NDNBOOST_PP_TUPLE_ELEM_28(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e28
+#    define NDNBOOST_PP_TUPLE_ELEM_29(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e29
+#    define NDNBOOST_PP_TUPLE_ELEM_30(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e30
+#    define NDNBOOST_PP_TUPLE_ELEM_31(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e31
+#    define NDNBOOST_PP_TUPLE_ELEM_32(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e32
+#    define NDNBOOST_PP_TUPLE_ELEM_33(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e33
+#    define NDNBOOST_PP_TUPLE_ELEM_34(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e34
+#    define NDNBOOST_PP_TUPLE_ELEM_35(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e35
+#    define NDNBOOST_PP_TUPLE_ELEM_36(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e36
+#    define NDNBOOST_PP_TUPLE_ELEM_37(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e37
+#    define NDNBOOST_PP_TUPLE_ELEM_38(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e38
+#    define NDNBOOST_PP_TUPLE_ELEM_39(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e39
+#    define NDNBOOST_PP_TUPLE_ELEM_40(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e40
+#    define NDNBOOST_PP_TUPLE_ELEM_41(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e41
+#    define NDNBOOST_PP_TUPLE_ELEM_42(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e42
+#    define NDNBOOST_PP_TUPLE_ELEM_43(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e43
+#    define NDNBOOST_PP_TUPLE_ELEM_44(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e44
+#    define NDNBOOST_PP_TUPLE_ELEM_45(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e45
+#    define NDNBOOST_PP_TUPLE_ELEM_46(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e46
+#    define NDNBOOST_PP_TUPLE_ELEM_47(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e47
+#    define NDNBOOST_PP_TUPLE_ELEM_48(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e48
+#    define NDNBOOST_PP_TUPLE_ELEM_49(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e49
+#    define NDNBOOST_PP_TUPLE_ELEM_50(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e50
+#    define NDNBOOST_PP_TUPLE_ELEM_51(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e51
+#    define NDNBOOST_PP_TUPLE_ELEM_52(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e52
+#    define NDNBOOST_PP_TUPLE_ELEM_53(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e53
+#    define NDNBOOST_PP_TUPLE_ELEM_54(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e54
+#    define NDNBOOST_PP_TUPLE_ELEM_55(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e55
+#    define NDNBOOST_PP_TUPLE_ELEM_56(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e56
+#    define NDNBOOST_PP_TUPLE_ELEM_57(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e57
+#    define NDNBOOST_PP_TUPLE_ELEM_58(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e58
+#    define NDNBOOST_PP_TUPLE_ELEM_59(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e59
+#    define NDNBOOST_PP_TUPLE_ELEM_60(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e60
+#    define NDNBOOST_PP_TUPLE_ELEM_61(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e61
+#    define NDNBOOST_PP_TUPLE_ELEM_62(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e62
+#    define NDNBOOST_PP_TUPLE_ELEM_63(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e63
 # endif
 #
 # /* directly used elsewhere in Boost... */
 #
-# define BOOST_PP_TUPLE_ELEM_1_0(a) a
+# define NDNBOOST_PP_TUPLE_ELEM_1_0(a) a
 #
-# define BOOST_PP_TUPLE_ELEM_2_0(a, b) a
-# define BOOST_PP_TUPLE_ELEM_2_1(a, b) b
+# define NDNBOOST_PP_TUPLE_ELEM_2_0(a, b) a
+# define NDNBOOST_PP_TUPLE_ELEM_2_1(a, b) b
 #
-# define BOOST_PP_TUPLE_ELEM_3_0(a, b, c) a
-# define BOOST_PP_TUPLE_ELEM_3_1(a, b, c) b
-# define BOOST_PP_TUPLE_ELEM_3_2(a, b, c) c
+# define NDNBOOST_PP_TUPLE_ELEM_3_0(a, b, c) a
+# define NDNBOOST_PP_TUPLE_ELEM_3_1(a, b, c) b
+# define NDNBOOST_PP_TUPLE_ELEM_3_2(a, b, c) c
 #
 # endif
diff --git a/include/ndnboost/preprocessor/tuple/rem.hpp b/include/ndnboost/preprocessor/tuple/rem.hpp
index 2a6d5b6..486e05d 100644
--- a/include/ndnboost/preprocessor/tuple/rem.hpp
+++ b/include/ndnboost/preprocessor/tuple/rem.hpp
@@ -10,124 +10,124 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_TUPLE_REM_HPP
-# define BOOST_PREPROCESSOR_TUPLE_REM_HPP
+# ifndef NDNBOOST_PREPROCESSOR_TUPLE_REM_HPP
+# define NDNBOOST_PREPROCESSOR_TUPLE_REM_HPP
 #
 # include <ndnboost/preprocessor/cat.hpp>
 # include <ndnboost/preprocessor/config/config.hpp>
 # include <ndnboost/preprocessor/facilities/overload.hpp>
 #
-# /* BOOST_PP_REM */
+# /* NDNBOOST_PP_REM */
 #
-# if BOOST_PP_VARIADICS
-#    define BOOST_PP_REM(...) __VA_ARGS__
+# if NDNBOOST_PP_VARIADICS
+#    define NDNBOOST_PP_REM(...) __VA_ARGS__
 # else
-#    define BOOST_PP_REM(x) x
+#    define NDNBOOST_PP_REM(x) x
 # endif
 #
-# /* BOOST_PP_TUPLE_REM */
+# /* NDNBOOST_PP_TUPLE_REM */
 #
-# if BOOST_PP_VARIADICS
-#    define BOOST_PP_TUPLE_REM(size) BOOST_PP_REM
+# if NDNBOOST_PP_VARIADICS
+#    define NDNBOOST_PP_TUPLE_REM(size) NDNBOOST_PP_REM
 # else
-#    if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-#        define BOOST_PP_TUPLE_REM(size) BOOST_PP_TUPLE_REM_I(size)
+#    if ~NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_MWCC()
+#        define NDNBOOST_PP_TUPLE_REM(size) NDNBOOST_PP_TUPLE_REM_I(size)
 #    else
-#        define BOOST_PP_TUPLE_REM(size) BOOST_PP_TUPLE_REM_OO((size))
-#        define BOOST_PP_TUPLE_REM_OO(par) BOOST_PP_TUPLE_REM_I ## par
+#        define NDNBOOST_PP_TUPLE_REM(size) NDNBOOST_PP_TUPLE_REM_OO((size))
+#        define NDNBOOST_PP_TUPLE_REM_OO(par) NDNBOOST_PP_TUPLE_REM_I ## par
 #    endif
-#    define BOOST_PP_TUPLE_REM_I(size) BOOST_PP_TUPLE_REM_ ## size
+#    define NDNBOOST_PP_TUPLE_REM_I(size) NDNBOOST_PP_TUPLE_REM_ ## size
 # endif
-# define BOOST_PP_TUPLE_REM_1(e0) e0
-# define BOOST_PP_TUPLE_REM_2(e0, e1) e0, e1
-# define BOOST_PP_TUPLE_REM_3(e0, e1, e2) e0, e1, e2
-# define BOOST_PP_TUPLE_REM_4(e0, e1, e2, e3) e0, e1, e2, e3
-# define BOOST_PP_TUPLE_REM_5(e0, e1, e2, e3, e4) e0, e1, e2, e3, e4
-# define BOOST_PP_TUPLE_REM_6(e0, e1, e2, e3, e4, e5) e0, e1, e2, e3, e4, e5
-# define BOOST_PP_TUPLE_REM_7(e0, e1, e2, e3, e4, e5, e6) e0, e1, e2, e3, e4, e5, e6
-# define BOOST_PP_TUPLE_REM_8(e0, e1, e2, e3, e4, e5, e6, e7) e0, e1, e2, e3, e4, e5, e6, e7
-# define BOOST_PP_TUPLE_REM_9(e0, e1, e2, e3, e4, e5, e6, e7, e8) e0, e1, e2, e3, e4, e5, e6, e7, e8
-# define BOOST_PP_TUPLE_REM_10(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9
-# define BOOST_PP_TUPLE_REM_11(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10
-# define BOOST_PP_TUPLE_REM_12(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11
-# define BOOST_PP_TUPLE_REM_13(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12
-# define BOOST_PP_TUPLE_REM_14(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13
-# define BOOST_PP_TUPLE_REM_15(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14
-# define BOOST_PP_TUPLE_REM_16(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15
-# define BOOST_PP_TUPLE_REM_17(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16
-# define BOOST_PP_TUPLE_REM_18(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17
-# define BOOST_PP_TUPLE_REM_19(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18
-# define BOOST_PP_TUPLE_REM_20(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19
-# define BOOST_PP_TUPLE_REM_21(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20
-# define BOOST_PP_TUPLE_REM_22(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21
-# define BOOST_PP_TUPLE_REM_23(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22
-# define BOOST_PP_TUPLE_REM_24(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23
-# define BOOST_PP_TUPLE_REM_25(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24
-# define BOOST_PP_TUPLE_REM_26(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25
-# define BOOST_PP_TUPLE_REM_27(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26
-# define BOOST_PP_TUPLE_REM_28(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27
-# define BOOST_PP_TUPLE_REM_29(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28
-# define BOOST_PP_TUPLE_REM_30(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29
-# define BOOST_PP_TUPLE_REM_31(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30
-# define BOOST_PP_TUPLE_REM_32(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31
-# define BOOST_PP_TUPLE_REM_33(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32
-# define BOOST_PP_TUPLE_REM_34(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33
-# define BOOST_PP_TUPLE_REM_35(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34
-# define BOOST_PP_TUPLE_REM_36(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35
-# define BOOST_PP_TUPLE_REM_37(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36
-# define BOOST_PP_TUPLE_REM_38(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37
-# define BOOST_PP_TUPLE_REM_39(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38
-# define BOOST_PP_TUPLE_REM_40(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39
-# define BOOST_PP_TUPLE_REM_41(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40
-# define BOOST_PP_TUPLE_REM_42(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41
-# define BOOST_PP_TUPLE_REM_43(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42
-# define BOOST_PP_TUPLE_REM_44(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43
-# define BOOST_PP_TUPLE_REM_45(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44
-# define BOOST_PP_TUPLE_REM_46(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45
-# define BOOST_PP_TUPLE_REM_47(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46
-# define BOOST_PP_TUPLE_REM_48(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47
-# define BOOST_PP_TUPLE_REM_49(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48
-# define BOOST_PP_TUPLE_REM_50(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49
-# define BOOST_PP_TUPLE_REM_51(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50
-# define BOOST_PP_TUPLE_REM_52(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51
-# define BOOST_PP_TUPLE_REM_53(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52
-# define BOOST_PP_TUPLE_REM_54(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53
-# define BOOST_PP_TUPLE_REM_55(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54
-# define BOOST_PP_TUPLE_REM_56(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55
-# define BOOST_PP_TUPLE_REM_57(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56
-# define BOOST_PP_TUPLE_REM_58(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57
-# define BOOST_PP_TUPLE_REM_59(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58
-# define BOOST_PP_TUPLE_REM_60(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59
-# define BOOST_PP_TUPLE_REM_61(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60
-# define BOOST_PP_TUPLE_REM_62(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61
-# define BOOST_PP_TUPLE_REM_63(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62
-# define BOOST_PP_TUPLE_REM_64(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63
+# define NDNBOOST_PP_TUPLE_REM_1(e0) e0
+# define NDNBOOST_PP_TUPLE_REM_2(e0, e1) e0, e1
+# define NDNBOOST_PP_TUPLE_REM_3(e0, e1, e2) e0, e1, e2
+# define NDNBOOST_PP_TUPLE_REM_4(e0, e1, e2, e3) e0, e1, e2, e3
+# define NDNBOOST_PP_TUPLE_REM_5(e0, e1, e2, e3, e4) e0, e1, e2, e3, e4
+# define NDNBOOST_PP_TUPLE_REM_6(e0, e1, e2, e3, e4, e5) e0, e1, e2, e3, e4, e5
+# define NDNBOOST_PP_TUPLE_REM_7(e0, e1, e2, e3, e4, e5, e6) e0, e1, e2, e3, e4, e5, e6
+# define NDNBOOST_PP_TUPLE_REM_8(e0, e1, e2, e3, e4, e5, e6, e7) e0, e1, e2, e3, e4, e5, e6, e7
+# define NDNBOOST_PP_TUPLE_REM_9(e0, e1, e2, e3, e4, e5, e6, e7, e8) e0, e1, e2, e3, e4, e5, e6, e7, e8
+# define NDNBOOST_PP_TUPLE_REM_10(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9
+# define NDNBOOST_PP_TUPLE_REM_11(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10
+# define NDNBOOST_PP_TUPLE_REM_12(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11
+# define NDNBOOST_PP_TUPLE_REM_13(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12
+# define NDNBOOST_PP_TUPLE_REM_14(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13
+# define NDNBOOST_PP_TUPLE_REM_15(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14
+# define NDNBOOST_PP_TUPLE_REM_16(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15
+# define NDNBOOST_PP_TUPLE_REM_17(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16
+# define NDNBOOST_PP_TUPLE_REM_18(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17
+# define NDNBOOST_PP_TUPLE_REM_19(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18
+# define NDNBOOST_PP_TUPLE_REM_20(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19
+# define NDNBOOST_PP_TUPLE_REM_21(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20
+# define NDNBOOST_PP_TUPLE_REM_22(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21
+# define NDNBOOST_PP_TUPLE_REM_23(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22
+# define NDNBOOST_PP_TUPLE_REM_24(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23
+# define NDNBOOST_PP_TUPLE_REM_25(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24
+# define NDNBOOST_PP_TUPLE_REM_26(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25
+# define NDNBOOST_PP_TUPLE_REM_27(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26
+# define NDNBOOST_PP_TUPLE_REM_28(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27
+# define NDNBOOST_PP_TUPLE_REM_29(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28
+# define NDNBOOST_PP_TUPLE_REM_30(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29
+# define NDNBOOST_PP_TUPLE_REM_31(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30
+# define NDNBOOST_PP_TUPLE_REM_32(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31
+# define NDNBOOST_PP_TUPLE_REM_33(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32
+# define NDNBOOST_PP_TUPLE_REM_34(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33
+# define NDNBOOST_PP_TUPLE_REM_35(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34
+# define NDNBOOST_PP_TUPLE_REM_36(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35
+# define NDNBOOST_PP_TUPLE_REM_37(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36
+# define NDNBOOST_PP_TUPLE_REM_38(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37
+# define NDNBOOST_PP_TUPLE_REM_39(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38
+# define NDNBOOST_PP_TUPLE_REM_40(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39
+# define NDNBOOST_PP_TUPLE_REM_41(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40
+# define NDNBOOST_PP_TUPLE_REM_42(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41
+# define NDNBOOST_PP_TUPLE_REM_43(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42
+# define NDNBOOST_PP_TUPLE_REM_44(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43
+# define NDNBOOST_PP_TUPLE_REM_45(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44
+# define NDNBOOST_PP_TUPLE_REM_46(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45
+# define NDNBOOST_PP_TUPLE_REM_47(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46
+# define NDNBOOST_PP_TUPLE_REM_48(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47
+# define NDNBOOST_PP_TUPLE_REM_49(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48
+# define NDNBOOST_PP_TUPLE_REM_50(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49
+# define NDNBOOST_PP_TUPLE_REM_51(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50
+# define NDNBOOST_PP_TUPLE_REM_52(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51
+# define NDNBOOST_PP_TUPLE_REM_53(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52
+# define NDNBOOST_PP_TUPLE_REM_54(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53
+# define NDNBOOST_PP_TUPLE_REM_55(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54
+# define NDNBOOST_PP_TUPLE_REM_56(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55
+# define NDNBOOST_PP_TUPLE_REM_57(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56
+# define NDNBOOST_PP_TUPLE_REM_58(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57
+# define NDNBOOST_PP_TUPLE_REM_59(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58
+# define NDNBOOST_PP_TUPLE_REM_60(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59
+# define NDNBOOST_PP_TUPLE_REM_61(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60
+# define NDNBOOST_PP_TUPLE_REM_62(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61
+# define NDNBOOST_PP_TUPLE_REM_63(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62
+# define NDNBOOST_PP_TUPLE_REM_64(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63
 #
-# /* BOOST_PP_TUPLE_REM_CTOR */
+# /* NDNBOOST_PP_TUPLE_REM_CTOR */
 #
-# if BOOST_PP_VARIADICS
-#    if BOOST_PP_VARIADICS_MSVC
-#        define BOOST_PP_TUPLE_REM_CTOR(...) BOOST_PP_TUPLE_REM_CTOR_I(BOOST_PP_OVERLOAD(BOOST_PP_TUPLE_REM_CTOR_O_, __VA_ARGS__), (__VA_ARGS__))
-#        define BOOST_PP_TUPLE_REM_CTOR_I(m, args) BOOST_PP_TUPLE_REM_CTOR_II(m, args)
-#        define BOOST_PP_TUPLE_REM_CTOR_II(m, args) BOOST_PP_CAT(m ## args,)
+# if NDNBOOST_PP_VARIADICS
+#    if NDNBOOST_PP_VARIADICS_MSVC
+#        define NDNBOOST_PP_TUPLE_REM_CTOR(...) NDNBOOST_PP_TUPLE_REM_CTOR_I(NDNBOOST_PP_OVERLOAD(NDNBOOST_PP_TUPLE_REM_CTOR_O_, __VA_ARGS__), (__VA_ARGS__))
+#        define NDNBOOST_PP_TUPLE_REM_CTOR_I(m, args) NDNBOOST_PP_TUPLE_REM_CTOR_II(m, args)
+#        define NDNBOOST_PP_TUPLE_REM_CTOR_II(m, args) NDNBOOST_PP_CAT(m ## args,)
 #    else
-#        define BOOST_PP_TUPLE_REM_CTOR(...) BOOST_PP_OVERLOAD(BOOST_PP_TUPLE_REM_CTOR_O_, __VA_ARGS__)(__VA_ARGS__)
+#        define NDNBOOST_PP_TUPLE_REM_CTOR(...) NDNBOOST_PP_OVERLOAD(NDNBOOST_PP_TUPLE_REM_CTOR_O_, __VA_ARGS__)(__VA_ARGS__)
 #    endif
-#    define BOOST_PP_TUPLE_REM_CTOR_O_1(tuple) BOOST_PP_REM tuple
-#    define BOOST_PP_TUPLE_REM_CTOR_O_2(size, tuple) BOOST_PP_TUPLE_REM_CTOR_O_1(tuple)
+#    define NDNBOOST_PP_TUPLE_REM_CTOR_O_1(tuple) NDNBOOST_PP_REM tuple
+#    define NDNBOOST_PP_TUPLE_REM_CTOR_O_2(size, tuple) NDNBOOST_PP_TUPLE_REM_CTOR_O_1(tuple)
 # else
-#    if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-#        define BOOST_PP_TUPLE_REM_CTOR(size, tuple) BOOST_PP_TUPLE_REM_CTOR_I(BOOST_PP_TUPLE_REM(size), tuple)
+#    if ~NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_EDG()
+#        define NDNBOOST_PP_TUPLE_REM_CTOR(size, tuple) NDNBOOST_PP_TUPLE_REM_CTOR_I(NDNBOOST_PP_TUPLE_REM(size), tuple)
 #    else
-#        define BOOST_PP_TUPLE_REM_CTOR(size, tuple) BOOST_PP_TUPLE_REM_CTOR_D(size, tuple)
-#        define BOOST_PP_TUPLE_REM_CTOR_D(size, tuple) BOOST_PP_TUPLE_REM_CTOR_I(BOOST_PP_TUPLE_REM(size), tuple)
+#        define NDNBOOST_PP_TUPLE_REM_CTOR(size, tuple) NDNBOOST_PP_TUPLE_REM_CTOR_D(size, tuple)
+#        define NDNBOOST_PP_TUPLE_REM_CTOR_D(size, tuple) NDNBOOST_PP_TUPLE_REM_CTOR_I(NDNBOOST_PP_TUPLE_REM(size), tuple)
 #    endif
-#    if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-#        define BOOST_PP_TUPLE_REM_CTOR_I(ext, tuple) ext tuple
+#    if ~NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_MWCC()
+#        define NDNBOOST_PP_TUPLE_REM_CTOR_I(ext, tuple) ext tuple
 #    else
-#        define BOOST_PP_TUPLE_REM_CTOR_I(ext, tuple) BOOST_PP_TUPLE_REM_CTOR_OO((ext, tuple))
-#        define BOOST_PP_TUPLE_REM_CTOR_OO(par) BOOST_PP_TUPLE_REM_CTOR_II ## par
-#        define BOOST_PP_TUPLE_REM_CTOR_II(ext, tuple) ext ## tuple
+#        define NDNBOOST_PP_TUPLE_REM_CTOR_I(ext, tuple) NDNBOOST_PP_TUPLE_REM_CTOR_OO((ext, tuple))
+#        define NDNBOOST_PP_TUPLE_REM_CTOR_OO(par) NDNBOOST_PP_TUPLE_REM_CTOR_II ## par
+#        define NDNBOOST_PP_TUPLE_REM_CTOR_II(ext, tuple) ext ## tuple
 #    endif
 # endif
 #
diff --git a/include/ndnboost/preprocessor/tuple/to_list.hpp b/include/ndnboost/preprocessor/tuple/to_list.hpp
index f6d6409..7322dc4 100644
--- a/include/ndnboost/preprocessor/tuple/to_list.hpp
+++ b/include/ndnboost/preprocessor/tuple/to_list.hpp
@@ -12,105 +12,105 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_TUPLE_TO_LIST_HPP
-# define BOOST_PREPROCESSOR_TUPLE_TO_LIST_HPP
+# ifndef NDNBOOST_PREPROCESSOR_TUPLE_TO_LIST_HPP
+# define NDNBOOST_PREPROCESSOR_TUPLE_TO_LIST_HPP
 #
 # include <ndnboost/preprocessor/cat.hpp>
 # include <ndnboost/preprocessor/config/config.hpp>
 # include <ndnboost/preprocessor/facilities/overload.hpp>
 # include <ndnboost/preprocessor/variadic/size.hpp>
 #
-# /* BOOST_PP_TUPLE_TO_LIST */
+# /* NDNBOOST_PP_TUPLE_TO_LIST */
 #
-# if BOOST_PP_VARIADICS
-#    if BOOST_PP_VARIADICS_MSVC
-#        define BOOST_PP_TUPLE_TO_LIST(...) BOOST_PP_TUPLE_TO_LIST_I(BOOST_PP_OVERLOAD(BOOST_PP_TUPLE_TO_LIST_O_, __VA_ARGS__), (__VA_ARGS__))
-#        define BOOST_PP_TUPLE_TO_LIST_I(m, args) BOOST_PP_TUPLE_TO_LIST_II(m, args)
-#        define BOOST_PP_TUPLE_TO_LIST_II(m, args) BOOST_PP_CAT(m ## args,)
+# if NDNBOOST_PP_VARIADICS
+#    if NDNBOOST_PP_VARIADICS_MSVC
+#        define NDNBOOST_PP_TUPLE_TO_LIST(...) NDNBOOST_PP_TUPLE_TO_LIST_I(NDNBOOST_PP_OVERLOAD(NDNBOOST_PP_TUPLE_TO_LIST_O_, __VA_ARGS__), (__VA_ARGS__))
+#        define NDNBOOST_PP_TUPLE_TO_LIST_I(m, args) NDNBOOST_PP_TUPLE_TO_LIST_II(m, args)
+#        define NDNBOOST_PP_TUPLE_TO_LIST_II(m, args) NDNBOOST_PP_CAT(m ## args,)
 #    else
-#        define BOOST_PP_TUPLE_TO_LIST(...) BOOST_PP_OVERLOAD(BOOST_PP_TUPLE_TO_LIST_O_, __VA_ARGS__)(__VA_ARGS__)
+#        define NDNBOOST_PP_TUPLE_TO_LIST(...) NDNBOOST_PP_OVERLOAD(NDNBOOST_PP_TUPLE_TO_LIST_O_, __VA_ARGS__)(__VA_ARGS__)
 #    endif
-#    define BOOST_PP_TUPLE_TO_LIST_O_1(tuple) BOOST_PP_CAT(BOOST_PP_TUPLE_TO_LIST_, BOOST_PP_VARIADIC_SIZE tuple) tuple
-#    define BOOST_PP_TUPLE_TO_LIST_O_2(size, tuple) BOOST_PP_TUPLE_TO_LIST_O_1(tuple)
+#    define NDNBOOST_PP_TUPLE_TO_LIST_O_1(tuple) NDNBOOST_PP_CAT(NDNBOOST_PP_TUPLE_TO_LIST_, NDNBOOST_PP_VARIADIC_SIZE tuple) tuple
+#    define NDNBOOST_PP_TUPLE_TO_LIST_O_2(size, tuple) NDNBOOST_PP_TUPLE_TO_LIST_O_1(tuple)
 # else
-#    if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-#        define BOOST_PP_TUPLE_TO_LIST(size, tuple) BOOST_PP_TUPLE_TO_LIST_I(size, tuple)
-#        if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()
-#            define BOOST_PP_TUPLE_TO_LIST_I(s, t) BOOST_PP_TUPLE_TO_LIST_ ## s t
+#    if ~NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_MWCC()
+#        define NDNBOOST_PP_TUPLE_TO_LIST(size, tuple) NDNBOOST_PP_TUPLE_TO_LIST_I(size, tuple)
+#        if ~NDNBOOST_PP_CONFIG_FLAGS() & NDNBOOST_PP_CONFIG_MSVC()
+#            define NDNBOOST_PP_TUPLE_TO_LIST_I(s, t) NDNBOOST_PP_TUPLE_TO_LIST_ ## s t
 #        else
-#            define BOOST_PP_TUPLE_TO_LIST_I(s, t) BOOST_PP_TUPLE_TO_LIST_II(BOOST_PP_TUPLE_TO_LIST_ ## s t)
-#            define BOOST_PP_TUPLE_TO_LIST_II(res) res
+#            define NDNBOOST_PP_TUPLE_TO_LIST_I(s, t) NDNBOOST_PP_TUPLE_TO_LIST_II(NDNBOOST_PP_TUPLE_TO_LIST_ ## s t)
+#            define NDNBOOST_PP_TUPLE_TO_LIST_II(res) res
 #        endif
 #    else
-#        define BOOST_PP_TUPLE_TO_LIST(size, tuple) BOOST_PP_TUPLE_TO_LIST_OO((size, tuple))
-#        define BOOST_PP_TUPLE_TO_LIST_OO(par) BOOST_PP_TUPLE_TO_LIST_I ## par
-#        define BOOST_PP_TUPLE_TO_LIST_I(s, t) BOOST_PP_TUPLE_TO_LIST_ ## s ## t
+#        define NDNBOOST_PP_TUPLE_TO_LIST(size, tuple) NDNBOOST_PP_TUPLE_TO_LIST_OO((size, tuple))
+#        define NDNBOOST_PP_TUPLE_TO_LIST_OO(par) NDNBOOST_PP_TUPLE_TO_LIST_I ## par
+#        define NDNBOOST_PP_TUPLE_TO_LIST_I(s, t) NDNBOOST_PP_TUPLE_TO_LIST_ ## s ## t
 #    endif
 # endif
 #
-# define BOOST_PP_TUPLE_TO_LIST_1(e0) (e0, BOOST_PP_NIL)
-# define BOOST_PP_TUPLE_TO_LIST_2(e0, e1) (e0, (e1, BOOST_PP_NIL))
-# define BOOST_PP_TUPLE_TO_LIST_3(e0, e1, e2) (e0, (e1, (e2, BOOST_PP_NIL)))
-# define BOOST_PP_TUPLE_TO_LIST_4(e0, e1, e2, e3) (e0, (e1, (e2, (e3, BOOST_PP_NIL))))
-# define BOOST_PP_TUPLE_TO_LIST_5(e0, e1, e2, e3, e4) (e0, (e1, (e2, (e3, (e4, BOOST_PP_NIL)))))
-# define BOOST_PP_TUPLE_TO_LIST_6(e0, e1, e2, e3, e4, e5) (e0, (e1, (e2, (e3, (e4, (e5, BOOST_PP_NIL))))))
-# define BOOST_PP_TUPLE_TO_LIST_7(e0, e1, e2, e3, e4, e5, e6) (e0, (e1, (e2, (e3, (e4, (e5, (e6, BOOST_PP_NIL)))))))
-# define BOOST_PP_TUPLE_TO_LIST_8(e0, e1, e2, e3, e4, e5, e6, e7) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, BOOST_PP_NIL))))))))
-# define BOOST_PP_TUPLE_TO_LIST_9(e0, e1, e2, e3, e4, e5, e6, e7, e8) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, BOOST_PP_NIL)))))))))
-# define BOOST_PP_TUPLE_TO_LIST_10(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, BOOST_PP_NIL))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_11(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, BOOST_PP_NIL)))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_12(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, BOOST_PP_NIL))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_13(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, BOOST_PP_NIL)))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_14(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, BOOST_PP_NIL))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_15(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, BOOST_PP_NIL)))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_16(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, BOOST_PP_NIL))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_17(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, BOOST_PP_NIL)))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_18(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, BOOST_PP_NIL))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_19(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, BOOST_PP_NIL)))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_20(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, BOOST_PP_NIL))))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_21(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, BOOST_PP_NIL)))))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_22(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, BOOST_PP_NIL))))))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_23(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, BOOST_PP_NIL)))))))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_24(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, BOOST_PP_NIL))))))))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_25(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, BOOST_PP_NIL)))))))))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_26(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, BOOST_PP_NIL))))))))))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_27(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, BOOST_PP_NIL)))))))))))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_28(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, BOOST_PP_NIL))))))))))))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_29(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, BOOST_PP_NIL)))))))))))))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_30(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, BOOST_PP_NIL))))))))))))))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_31(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, BOOST_PP_NIL)))))))))))))))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_32(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, BOOST_PP_NIL))))))))))))))))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_33(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, BOOST_PP_NIL)))))))))))))))))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_34(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, BOOST_PP_NIL))))))))))))))))))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_35(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_36(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, BOOST_PP_NIL))))))))))))))))))))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_37(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_38(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, BOOST_PP_NIL))))))))))))))))))))))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_39(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_40(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, BOOST_PP_NIL))))))))))))))))))))))))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_41(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_42(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, BOOST_PP_NIL))))))))))))))))))))))))))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_43(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_44(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, BOOST_PP_NIL))))))))))))))))))))))))))))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_45(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_46(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, BOOST_PP_NIL))))))))))))))))))))))))))))))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_47(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_48(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, BOOST_PP_NIL))))))))))))))))))))))))))))))))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_49(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_50(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, BOOST_PP_NIL))))))))))))))))))))))))))))))))))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_51(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_52(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, BOOST_PP_NIL))))))))))))))))))))))))))))))))))))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_53(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_54(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, BOOST_PP_NIL))))))))))))))))))))))))))))))))))))))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_55(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))))))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_56(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, BOOST_PP_NIL))))))))))))))))))))))))))))))))))))))))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_57(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))))))))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_58(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, BOOST_PP_NIL))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_59(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_60(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, BOOST_PP_NIL))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_61(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_62(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, BOOST_PP_NIL))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_63(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_64(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, BOOST_PP_NIL))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+# define NDNBOOST_PP_TUPLE_TO_LIST_1(e0) (e0, NDNBOOST_PP_NIL)
+# define NDNBOOST_PP_TUPLE_TO_LIST_2(e0, e1) (e0, (e1, NDNBOOST_PP_NIL))
+# define NDNBOOST_PP_TUPLE_TO_LIST_3(e0, e1, e2) (e0, (e1, (e2, NDNBOOST_PP_NIL)))
+# define NDNBOOST_PP_TUPLE_TO_LIST_4(e0, e1, e2, e3) (e0, (e1, (e2, (e3, NDNBOOST_PP_NIL))))
+# define NDNBOOST_PP_TUPLE_TO_LIST_5(e0, e1, e2, e3, e4) (e0, (e1, (e2, (e3, (e4, NDNBOOST_PP_NIL)))))
+# define NDNBOOST_PP_TUPLE_TO_LIST_6(e0, e1, e2, e3, e4, e5) (e0, (e1, (e2, (e3, (e4, (e5, NDNBOOST_PP_NIL))))))
+# define NDNBOOST_PP_TUPLE_TO_LIST_7(e0, e1, e2, e3, e4, e5, e6) (e0, (e1, (e2, (e3, (e4, (e5, (e6, NDNBOOST_PP_NIL)))))))
+# define NDNBOOST_PP_TUPLE_TO_LIST_8(e0, e1, e2, e3, e4, e5, e6, e7) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, NDNBOOST_PP_NIL))))))))
+# define NDNBOOST_PP_TUPLE_TO_LIST_9(e0, e1, e2, e3, e4, e5, e6, e7, e8) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, NDNBOOST_PP_NIL)))))))))
+# define NDNBOOST_PP_TUPLE_TO_LIST_10(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, NDNBOOST_PP_NIL))))))))))
+# define NDNBOOST_PP_TUPLE_TO_LIST_11(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, NDNBOOST_PP_NIL)))))))))))
+# define NDNBOOST_PP_TUPLE_TO_LIST_12(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, NDNBOOST_PP_NIL))))))))))))
+# define NDNBOOST_PP_TUPLE_TO_LIST_13(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, NDNBOOST_PP_NIL)))))))))))))
+# define NDNBOOST_PP_TUPLE_TO_LIST_14(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, NDNBOOST_PP_NIL))))))))))))))
+# define NDNBOOST_PP_TUPLE_TO_LIST_15(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, NDNBOOST_PP_NIL)))))))))))))))
+# define NDNBOOST_PP_TUPLE_TO_LIST_16(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, NDNBOOST_PP_NIL))))))))))))))))
+# define NDNBOOST_PP_TUPLE_TO_LIST_17(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, NDNBOOST_PP_NIL)))))))))))))))))
+# define NDNBOOST_PP_TUPLE_TO_LIST_18(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, NDNBOOST_PP_NIL))))))))))))))))))
+# define NDNBOOST_PP_TUPLE_TO_LIST_19(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, NDNBOOST_PP_NIL)))))))))))))))))))
+# define NDNBOOST_PP_TUPLE_TO_LIST_20(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, NDNBOOST_PP_NIL))))))))))))))))))))
+# define NDNBOOST_PP_TUPLE_TO_LIST_21(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, NDNBOOST_PP_NIL)))))))))))))))))))))
+# define NDNBOOST_PP_TUPLE_TO_LIST_22(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, NDNBOOST_PP_NIL))))))))))))))))))))))
+# define NDNBOOST_PP_TUPLE_TO_LIST_23(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, NDNBOOST_PP_NIL)))))))))))))))))))))))
+# define NDNBOOST_PP_TUPLE_TO_LIST_24(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, NDNBOOST_PP_NIL))))))))))))))))))))))))
+# define NDNBOOST_PP_TUPLE_TO_LIST_25(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, NDNBOOST_PP_NIL)))))))))))))))))))))))))
+# define NDNBOOST_PP_TUPLE_TO_LIST_26(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, NDNBOOST_PP_NIL))))))))))))))))))))))))))
+# define NDNBOOST_PP_TUPLE_TO_LIST_27(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, NDNBOOST_PP_NIL)))))))))))))))))))))))))))
+# define NDNBOOST_PP_TUPLE_TO_LIST_28(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, NDNBOOST_PP_NIL))))))))))))))))))))))))))))
+# define NDNBOOST_PP_TUPLE_TO_LIST_29(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, NDNBOOST_PP_NIL)))))))))))))))))))))))))))))
+# define NDNBOOST_PP_TUPLE_TO_LIST_30(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, NDNBOOST_PP_NIL))))))))))))))))))))))))))))))
+# define NDNBOOST_PP_TUPLE_TO_LIST_31(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, NDNBOOST_PP_NIL)))))))))))))))))))))))))))))))
+# define NDNBOOST_PP_TUPLE_TO_LIST_32(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, NDNBOOST_PP_NIL))))))))))))))))))))))))))))))))
+# define NDNBOOST_PP_TUPLE_TO_LIST_33(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, NDNBOOST_PP_NIL)))))))))))))))))))))))))))))))))
+# define NDNBOOST_PP_TUPLE_TO_LIST_34(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, NDNBOOST_PP_NIL))))))))))))))))))))))))))))))))))
+# define NDNBOOST_PP_TUPLE_TO_LIST_35(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, NDNBOOST_PP_NIL)))))))))))))))))))))))))))))))))))
+# define NDNBOOST_PP_TUPLE_TO_LIST_36(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, NDNBOOST_PP_NIL))))))))))))))))))))))))))))))))))))
+# define NDNBOOST_PP_TUPLE_TO_LIST_37(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, NDNBOOST_PP_NIL)))))))))))))))))))))))))))))))))))))
+# define NDNBOOST_PP_TUPLE_TO_LIST_38(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, NDNBOOST_PP_NIL))))))))))))))))))))))))))))))))))))))
+# define NDNBOOST_PP_TUPLE_TO_LIST_39(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, NDNBOOST_PP_NIL)))))))))))))))))))))))))))))))))))))))
+# define NDNBOOST_PP_TUPLE_TO_LIST_40(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, NDNBOOST_PP_NIL))))))))))))))))))))))))))))))))))))))))
+# define NDNBOOST_PP_TUPLE_TO_LIST_41(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, NDNBOOST_PP_NIL)))))))))))))))))))))))))))))))))))))))))
+# define NDNBOOST_PP_TUPLE_TO_LIST_42(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, NDNBOOST_PP_NIL))))))))))))))))))))))))))))))))))))))))))
+# define NDNBOOST_PP_TUPLE_TO_LIST_43(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, NDNBOOST_PP_NIL)))))))))))))))))))))))))))))))))))))))))))
+# define NDNBOOST_PP_TUPLE_TO_LIST_44(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, NDNBOOST_PP_NIL))))))))))))))))))))))))))))))))))))))))))))
+# define NDNBOOST_PP_TUPLE_TO_LIST_45(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, NDNBOOST_PP_NIL)))))))))))))))))))))))))))))))))))))))))))))
+# define NDNBOOST_PP_TUPLE_TO_LIST_46(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, NDNBOOST_PP_NIL))))))))))))))))))))))))))))))))))))))))))))))
+# define NDNBOOST_PP_TUPLE_TO_LIST_47(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, NDNBOOST_PP_NIL)))))))))))))))))))))))))))))))))))))))))))))))
+# define NDNBOOST_PP_TUPLE_TO_LIST_48(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, NDNBOOST_PP_NIL))))))))))))))))))))))))))))))))))))))))))))))))
+# define NDNBOOST_PP_TUPLE_TO_LIST_49(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, NDNBOOST_PP_NIL)))))))))))))))))))))))))))))))))))))))))))))))))
+# define NDNBOOST_PP_TUPLE_TO_LIST_50(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, NDNBOOST_PP_NIL))))))))))))))))))))))))))))))))))))))))))))))))))
+# define NDNBOOST_PP_TUPLE_TO_LIST_51(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, NDNBOOST_PP_NIL)))))))))))))))))))))))))))))))))))))))))))))))))))
+# define NDNBOOST_PP_TUPLE_TO_LIST_52(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, NDNBOOST_PP_NIL))))))))))))))))))))))))))))))))))))))))))))))))))))
+# define NDNBOOST_PP_TUPLE_TO_LIST_53(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, NDNBOOST_PP_NIL)))))))))))))))))))))))))))))))))))))))))))))))))))))
+# define NDNBOOST_PP_TUPLE_TO_LIST_54(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, NDNBOOST_PP_NIL))))))))))))))))))))))))))))))))))))))))))))))))))))))
+# define NDNBOOST_PP_TUPLE_TO_LIST_55(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, NDNBOOST_PP_NIL)))))))))))))))))))))))))))))))))))))))))))))))))))))))
+# define NDNBOOST_PP_TUPLE_TO_LIST_56(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, NDNBOOST_PP_NIL))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+# define NDNBOOST_PP_TUPLE_TO_LIST_57(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, NDNBOOST_PP_NIL)))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+# define NDNBOOST_PP_TUPLE_TO_LIST_58(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, NDNBOOST_PP_NIL))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+# define NDNBOOST_PP_TUPLE_TO_LIST_59(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, NDNBOOST_PP_NIL)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+# define NDNBOOST_PP_TUPLE_TO_LIST_60(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, NDNBOOST_PP_NIL))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+# define NDNBOOST_PP_TUPLE_TO_LIST_61(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, NDNBOOST_PP_NIL)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+# define NDNBOOST_PP_TUPLE_TO_LIST_62(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, NDNBOOST_PP_NIL))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+# define NDNBOOST_PP_TUPLE_TO_LIST_63(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, NDNBOOST_PP_NIL)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+# define NDNBOOST_PP_TUPLE_TO_LIST_64(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, NDNBOOST_PP_NIL))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
 #
 # endif
diff --git a/include/ndnboost/preprocessor/variadic/elem.hpp b/include/ndnboost/preprocessor/variadic/elem.hpp
index 67f5c66..cc72ecb 100644
--- a/include/ndnboost/preprocessor/variadic/elem.hpp
+++ b/include/ndnboost/preprocessor/variadic/elem.hpp
@@ -10,85 +10,85 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_VARIADIC_ELEM_HPP
-# define BOOST_PREPROCESSOR_VARIADIC_ELEM_HPP
+# ifndef NDNBOOST_PREPROCESSOR_VARIADIC_ELEM_HPP
+# define NDNBOOST_PREPROCESSOR_VARIADIC_ELEM_HPP
 #
 # include <ndnboost/preprocessor/cat.hpp>
 # include <ndnboost/preprocessor/config/config.hpp>
 #
-# /* BOOST_PP_VARIADIC_ELEM */
+# /* NDNBOOST_PP_VARIADIC_ELEM */
 #
-# if BOOST_PP_VARIADICS
-#    if BOOST_PP_VARIADICS_MSVC
-#        define BOOST_PP_VARIADIC_ELEM(n, ...) BOOST_PP_VARIADIC_ELEM_I(n,__VA_ARGS__)
-#        define BOOST_PP_VARIADIC_ELEM_I(n, ...) BOOST_PP_CAT(BOOST_PP_CAT(BOOST_PP_VARIADIC_ELEM_, n)(__VA_ARGS__,),)
+# if NDNBOOST_PP_VARIADICS
+#    if NDNBOOST_PP_VARIADICS_MSVC
+#        define NDNBOOST_PP_VARIADIC_ELEM(n, ...) NDNBOOST_PP_VARIADIC_ELEM_I(n,__VA_ARGS__)
+#        define NDNBOOST_PP_VARIADIC_ELEM_I(n, ...) NDNBOOST_PP_CAT(NDNBOOST_PP_CAT(NDNBOOST_PP_VARIADIC_ELEM_, n)(__VA_ARGS__,),)
 #    else
-#        define BOOST_PP_VARIADIC_ELEM(n, ...) BOOST_PP_CAT(BOOST_PP_VARIADIC_ELEM_, n)(__VA_ARGS__,)
+#        define NDNBOOST_PP_VARIADIC_ELEM(n, ...) NDNBOOST_PP_CAT(NDNBOOST_PP_VARIADIC_ELEM_, n)(__VA_ARGS__,)
 #    endif
-#    define BOOST_PP_VARIADIC_ELEM_0(e0, ...) e0
-#    define BOOST_PP_VARIADIC_ELEM_1(e0, e1, ...) e1
-#    define BOOST_PP_VARIADIC_ELEM_2(e0, e1, e2, ...) e2
-#    define BOOST_PP_VARIADIC_ELEM_3(e0, e1, e2, e3, ...) e3
-#    define BOOST_PP_VARIADIC_ELEM_4(e0, e1, e2, e3, e4, ...) e4
-#    define BOOST_PP_VARIADIC_ELEM_5(e0, e1, e2, e3, e4, e5, ...) e5
-#    define BOOST_PP_VARIADIC_ELEM_6(e0, e1, e2, e3, e4, e5, e6, ...) e6
-#    define BOOST_PP_VARIADIC_ELEM_7(e0, e1, e2, e3, e4, e5, e6, e7, ...) e7
-#    define BOOST_PP_VARIADIC_ELEM_8(e0, e1, e2, e3, e4, e5, e6, e7, e8, ...) e8
-#    define BOOST_PP_VARIADIC_ELEM_9(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, ...) e9
-#    define BOOST_PP_VARIADIC_ELEM_10(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, ...) e10
-#    define BOOST_PP_VARIADIC_ELEM_11(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, ...) e11
-#    define BOOST_PP_VARIADIC_ELEM_12(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, ...) e12
-#    define BOOST_PP_VARIADIC_ELEM_13(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, ...) e13
-#    define BOOST_PP_VARIADIC_ELEM_14(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, ...) e14
-#    define BOOST_PP_VARIADIC_ELEM_15(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, ...) e15
-#    define BOOST_PP_VARIADIC_ELEM_16(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, ...) e16
-#    define BOOST_PP_VARIADIC_ELEM_17(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, ...) e17
-#    define BOOST_PP_VARIADIC_ELEM_18(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, ...) e18
-#    define BOOST_PP_VARIADIC_ELEM_19(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, ...) e19
-#    define BOOST_PP_VARIADIC_ELEM_20(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, ...) e20
-#    define BOOST_PP_VARIADIC_ELEM_21(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, ...) e21
-#    define BOOST_PP_VARIADIC_ELEM_22(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, ...) e22
-#    define BOOST_PP_VARIADIC_ELEM_23(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, ...) e23
-#    define BOOST_PP_VARIADIC_ELEM_24(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, ...) e24
-#    define BOOST_PP_VARIADIC_ELEM_25(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, ...) e25
-#    define BOOST_PP_VARIADIC_ELEM_26(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, ...) e26
-#    define BOOST_PP_VARIADIC_ELEM_27(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, ...) e27
-#    define BOOST_PP_VARIADIC_ELEM_28(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, ...) e28
-#    define BOOST_PP_VARIADIC_ELEM_29(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, ...) e29
-#    define BOOST_PP_VARIADIC_ELEM_30(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, ...) e30
-#    define BOOST_PP_VARIADIC_ELEM_31(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, ...) e31
-#    define BOOST_PP_VARIADIC_ELEM_32(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, ...) e32
-#    define BOOST_PP_VARIADIC_ELEM_33(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, ...) e33
-#    define BOOST_PP_VARIADIC_ELEM_34(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, ...) e34
-#    define BOOST_PP_VARIADIC_ELEM_35(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, ...) e35
-#    define BOOST_PP_VARIADIC_ELEM_36(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, ...) e36
-#    define BOOST_PP_VARIADIC_ELEM_37(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, ...) e37
-#    define BOOST_PP_VARIADIC_ELEM_38(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, ...) e38
-#    define BOOST_PP_VARIADIC_ELEM_39(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, ...) e39
-#    define BOOST_PP_VARIADIC_ELEM_40(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, ...) e40
-#    define BOOST_PP_VARIADIC_ELEM_41(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, ...) e41
-#    define BOOST_PP_VARIADIC_ELEM_42(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, ...) e42
-#    define BOOST_PP_VARIADIC_ELEM_43(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, ...) e43
-#    define BOOST_PP_VARIADIC_ELEM_44(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, ...) e44
-#    define BOOST_PP_VARIADIC_ELEM_45(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, ...) e45
-#    define BOOST_PP_VARIADIC_ELEM_46(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, ...) e46
-#    define BOOST_PP_VARIADIC_ELEM_47(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, ...) e47
-#    define BOOST_PP_VARIADIC_ELEM_48(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, ...) e48
-#    define BOOST_PP_VARIADIC_ELEM_49(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, ...) e49
-#    define BOOST_PP_VARIADIC_ELEM_50(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, ...) e50
-#    define BOOST_PP_VARIADIC_ELEM_51(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, ...) e51
-#    define BOOST_PP_VARIADIC_ELEM_52(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, ...) e52
-#    define BOOST_PP_VARIADIC_ELEM_53(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, ...) e53
-#    define BOOST_PP_VARIADIC_ELEM_54(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, ...) e54
-#    define BOOST_PP_VARIADIC_ELEM_55(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, ...) e55
-#    define BOOST_PP_VARIADIC_ELEM_56(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, ...) e56
-#    define BOOST_PP_VARIADIC_ELEM_57(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, ...) e57
-#    define BOOST_PP_VARIADIC_ELEM_58(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, ...) e58
-#    define BOOST_PP_VARIADIC_ELEM_59(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, ...) e59
-#    define BOOST_PP_VARIADIC_ELEM_60(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, ...) e60
-#    define BOOST_PP_VARIADIC_ELEM_61(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, ...) e61
-#    define BOOST_PP_VARIADIC_ELEM_62(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, ...) e62
-#    define BOOST_PP_VARIADIC_ELEM_63(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, ...) e63
+#    define NDNBOOST_PP_VARIADIC_ELEM_0(e0, ...) e0
+#    define NDNBOOST_PP_VARIADIC_ELEM_1(e0, e1, ...) e1
+#    define NDNBOOST_PP_VARIADIC_ELEM_2(e0, e1, e2, ...) e2
+#    define NDNBOOST_PP_VARIADIC_ELEM_3(e0, e1, e2, e3, ...) e3
+#    define NDNBOOST_PP_VARIADIC_ELEM_4(e0, e1, e2, e3, e4, ...) e4
+#    define NDNBOOST_PP_VARIADIC_ELEM_5(e0, e1, e2, e3, e4, e5, ...) e5
+#    define NDNBOOST_PP_VARIADIC_ELEM_6(e0, e1, e2, e3, e4, e5, e6, ...) e6
+#    define NDNBOOST_PP_VARIADIC_ELEM_7(e0, e1, e2, e3, e4, e5, e6, e7, ...) e7
+#    define NDNBOOST_PP_VARIADIC_ELEM_8(e0, e1, e2, e3, e4, e5, e6, e7, e8, ...) e8
+#    define NDNBOOST_PP_VARIADIC_ELEM_9(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, ...) e9
+#    define NDNBOOST_PP_VARIADIC_ELEM_10(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, ...) e10
+#    define NDNBOOST_PP_VARIADIC_ELEM_11(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, ...) e11
+#    define NDNBOOST_PP_VARIADIC_ELEM_12(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, ...) e12
+#    define NDNBOOST_PP_VARIADIC_ELEM_13(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, ...) e13
+#    define NDNBOOST_PP_VARIADIC_ELEM_14(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, ...) e14
+#    define NDNBOOST_PP_VARIADIC_ELEM_15(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, ...) e15
+#    define NDNBOOST_PP_VARIADIC_ELEM_16(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, ...) e16
+#    define NDNBOOST_PP_VARIADIC_ELEM_17(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, ...) e17
+#    define NDNBOOST_PP_VARIADIC_ELEM_18(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, ...) e18
+#    define NDNBOOST_PP_VARIADIC_ELEM_19(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, ...) e19
+#    define NDNBOOST_PP_VARIADIC_ELEM_20(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, ...) e20
+#    define NDNBOOST_PP_VARIADIC_ELEM_21(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, ...) e21
+#    define NDNBOOST_PP_VARIADIC_ELEM_22(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, ...) e22
+#    define NDNBOOST_PP_VARIADIC_ELEM_23(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, ...) e23
+#    define NDNBOOST_PP_VARIADIC_ELEM_24(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, ...) e24
+#    define NDNBOOST_PP_VARIADIC_ELEM_25(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, ...) e25
+#    define NDNBOOST_PP_VARIADIC_ELEM_26(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, ...) e26
+#    define NDNBOOST_PP_VARIADIC_ELEM_27(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, ...) e27
+#    define NDNBOOST_PP_VARIADIC_ELEM_28(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, ...) e28
+#    define NDNBOOST_PP_VARIADIC_ELEM_29(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, ...) e29
+#    define NDNBOOST_PP_VARIADIC_ELEM_30(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, ...) e30
+#    define NDNBOOST_PP_VARIADIC_ELEM_31(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, ...) e31
+#    define NDNBOOST_PP_VARIADIC_ELEM_32(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, ...) e32
+#    define NDNBOOST_PP_VARIADIC_ELEM_33(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, ...) e33
+#    define NDNBOOST_PP_VARIADIC_ELEM_34(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, ...) e34
+#    define NDNBOOST_PP_VARIADIC_ELEM_35(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, ...) e35
+#    define NDNBOOST_PP_VARIADIC_ELEM_36(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, ...) e36
+#    define NDNBOOST_PP_VARIADIC_ELEM_37(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, ...) e37
+#    define NDNBOOST_PP_VARIADIC_ELEM_38(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, ...) e38
+#    define NDNBOOST_PP_VARIADIC_ELEM_39(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, ...) e39
+#    define NDNBOOST_PP_VARIADIC_ELEM_40(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, ...) e40
+#    define NDNBOOST_PP_VARIADIC_ELEM_41(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, ...) e41
+#    define NDNBOOST_PP_VARIADIC_ELEM_42(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, ...) e42
+#    define NDNBOOST_PP_VARIADIC_ELEM_43(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, ...) e43
+#    define NDNBOOST_PP_VARIADIC_ELEM_44(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, ...) e44
+#    define NDNBOOST_PP_VARIADIC_ELEM_45(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, ...) e45
+#    define NDNBOOST_PP_VARIADIC_ELEM_46(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, ...) e46
+#    define NDNBOOST_PP_VARIADIC_ELEM_47(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, ...) e47
+#    define NDNBOOST_PP_VARIADIC_ELEM_48(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, ...) e48
+#    define NDNBOOST_PP_VARIADIC_ELEM_49(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, ...) e49
+#    define NDNBOOST_PP_VARIADIC_ELEM_50(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, ...) e50
+#    define NDNBOOST_PP_VARIADIC_ELEM_51(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, ...) e51
+#    define NDNBOOST_PP_VARIADIC_ELEM_52(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, ...) e52
+#    define NDNBOOST_PP_VARIADIC_ELEM_53(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, ...) e53
+#    define NDNBOOST_PP_VARIADIC_ELEM_54(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, ...) e54
+#    define NDNBOOST_PP_VARIADIC_ELEM_55(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, ...) e55
+#    define NDNBOOST_PP_VARIADIC_ELEM_56(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, ...) e56
+#    define NDNBOOST_PP_VARIADIC_ELEM_57(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, ...) e57
+#    define NDNBOOST_PP_VARIADIC_ELEM_58(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, ...) e58
+#    define NDNBOOST_PP_VARIADIC_ELEM_59(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, ...) e59
+#    define NDNBOOST_PP_VARIADIC_ELEM_60(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, ...) e60
+#    define NDNBOOST_PP_VARIADIC_ELEM_61(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, ...) e61
+#    define NDNBOOST_PP_VARIADIC_ELEM_62(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, ...) e62
+#    define NDNBOOST_PP_VARIADIC_ELEM_63(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, ...) e63
 # endif
 #
 # endif
diff --git a/include/ndnboost/preprocessor/variadic/size.hpp b/include/ndnboost/preprocessor/variadic/size.hpp
index 9e84101..4034a1c 100644
--- a/include/ndnboost/preprocessor/variadic/size.hpp
+++ b/include/ndnboost/preprocessor/variadic/size.hpp
@@ -10,21 +10,21 @@
 #
 # /* See http://www.boost.org for most recent version. */
 #
-# ifndef BOOST_PREPROCESSOR_VARIADIC_SIZE_HPP
-# define BOOST_PREPROCESSOR_VARIADIC_SIZE_HPP
+# ifndef NDNBOOST_PREPROCESSOR_VARIADIC_SIZE_HPP
+# define NDNBOOST_PREPROCESSOR_VARIADIC_SIZE_HPP
 #
 # include <ndnboost/preprocessor/cat.hpp>
 # include <ndnboost/preprocessor/config/config.hpp>
 #
-# /* BOOST_PP_VARIADIC_SIZE */
+# /* NDNBOOST_PP_VARIADIC_SIZE */
 #
-# if BOOST_PP_VARIADICS
-#    if BOOST_PP_VARIADICS_MSVC
-#        define BOOST_PP_VARIADIC_SIZE(...) BOOST_PP_CAT(BOOST_PP_VARIADIC_SIZE_I(__VA_ARGS__, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1,),)
+# if NDNBOOST_PP_VARIADICS
+#    if NDNBOOST_PP_VARIADICS_MSVC
+#        define NDNBOOST_PP_VARIADIC_SIZE(...) NDNBOOST_PP_CAT(NDNBOOST_PP_VARIADIC_SIZE_I(__VA_ARGS__, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1,),)
 #    else
-#        define BOOST_PP_VARIADIC_SIZE(...) BOOST_PP_VARIADIC_SIZE_I(__VA_ARGS__, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1,)
+#        define NDNBOOST_PP_VARIADIC_SIZE(...) NDNBOOST_PP_VARIADIC_SIZE_I(__VA_ARGS__, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1,)
 #    endif
-#    define BOOST_PP_VARIADIC_SIZE_I(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, size, ...) size
+#    define NDNBOOST_PP_VARIADIC_SIZE_I(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, size, ...) size
 # endif
 #
 # endif
diff --git a/include/ndnboost/progress.hpp b/include/ndnboost/progress.hpp
index 6bd387f..3f5e9ed 100644
--- a/include/ndnboost/progress.hpp
+++ b/include/ndnboost/progress.hpp
@@ -16,8 +16,8 @@
 //  16 Jul 99  Second beta
 //   6 Jul 99  Initial boost version
 
-#ifndef BOOST_PROGRESS_HPP
-#define BOOST_PROGRESS_HPP
+#ifndef NDNBOOST_PROGRESS_HPP
+#define NDNBOOST_PROGRESS_HPP
 
 #include <ndnboost/timer.hpp>
 #include <ndnboost/utility.hpp>  // for noncopyable
@@ -140,4 +140,4 @@
 
 } // namespace ndnboost
 
-#endif  // BOOST_PROGRESS_HPP
+#endif  // NDNBOOST_PROGRESS_HPP
diff --git a/include/ndnboost/range/algorithm/equal.hpp b/include/ndnboost/range/algorithm/equal.hpp
index 27b741d..7091035 100644
--- a/include/ndnboost/range/algorithm/equal.hpp
+++ b/include/ndnboost/range/algorithm/equal.hpp
@@ -7,8 +7,8 @@
 //
 // For more information, see http://www.boost.org/libs/range/
 //
-#ifndef BOOST_RANGE_ALGORITHM_EQUAL_HPP_INCLUDED
-#define BOOST_RANGE_ALGORITHM_EQUAL_HPP_INCLUDED
+#ifndef NDNBOOST_RANGE_ALGORITHM_EQUAL_HPP_INCLUDED
+#define NDNBOOST_RANGE_ALGORITHM_EQUAL_HPP_INCLUDED
 
 #include <ndnboost/config.hpp>
 #include <ndnboost/range/concepts.hpp>
@@ -133,8 +133,8 @@
                            SinglePassTraversalReadableIterator2 first2,
                            SinglePassTraversalReadableIterator2 last2 )
         {
-            BOOST_DEDUCED_TYPENAME std::iterator_traits< SinglePassTraversalReadableIterator1 >::iterator_category tag1;
-            BOOST_DEDUCED_TYPENAME std::iterator_traits< SinglePassTraversalReadableIterator2 >::iterator_category tag2;
+            NDNBOOST_DEDUCED_TYPENAME std::iterator_traits< SinglePassTraversalReadableIterator1 >::iterator_category tag1;
+            NDNBOOST_DEDUCED_TYPENAME std::iterator_traits< SinglePassTraversalReadableIterator2 >::iterator_category tag2;
 
             return equal_impl(first1, last1, first2, last2, tag1, tag2);
         }
@@ -148,8 +148,8 @@
                            SinglePassTraversalReadableIterator2 last2,
                            BinaryPredicate                      pred )
         {
-            BOOST_DEDUCED_TYPENAME std::iterator_traits< SinglePassTraversalReadableIterator1 >::iterator_category tag1;
-            BOOST_DEDUCED_TYPENAME std::iterator_traits< SinglePassTraversalReadableIterator2 >::iterator_category tag2;
+            NDNBOOST_DEDUCED_TYPENAME std::iterator_traits< SinglePassTraversalReadableIterator1 >::iterator_category tag1;
+            NDNBOOST_DEDUCED_TYPENAME std::iterator_traits< SinglePassTraversalReadableIterator2 >::iterator_category tag2;
 
             return equal_impl(first1, last1, first2, last2, pred, tag1, tag2);
         }
@@ -169,8 +169,8 @@
         template< class SinglePassRange1, class SinglePassRange2 >
         inline bool equal( const SinglePassRange1& rng1, const SinglePassRange2& rng2 )
         {
-            BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<const SinglePassRange1> ));
-            BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<const SinglePassRange2> ));
+            NDNBOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<const SinglePassRange1> ));
+            NDNBOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<const SinglePassRange2> ));
 
             return ::ndnboost::range_detail::equal(
                 ::ndnboost::begin(rng1), ::ndnboost::end(rng1),
@@ -182,8 +182,8 @@
         inline bool equal( const SinglePassRange1& rng1, const SinglePassRange2& rng2,
                            BinaryPredicate pred )
         {
-            BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<const SinglePassRange1> ));
-            BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<const SinglePassRange2> ));
+            NDNBOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<const SinglePassRange1> ));
+            NDNBOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<const SinglePassRange2> ));
 
             return ::ndnboost::range_detail::equal(
                 ::ndnboost::begin(rng1), ::ndnboost::end(rng1),
diff --git a/include/ndnboost/range/as_literal.hpp b/include/ndnboost/range/as_literal.hpp
index 82babd8..997ed2e 100644
--- a/include/ndnboost/range/as_literal.hpp
+++ b/include/ndnboost/range/as_literal.hpp
@@ -8,14 +8,14 @@
 // For more information, see http://www.boost.org/libs/range/
 //
 
-#ifndef BOOST_RANGE_AS_LITERAL_HPP
-#define BOOST_RANGE_AS_LITERAL_HPP
+#ifndef NDNBOOST_RANGE_AS_LITERAL_HPP
+#define NDNBOOST_RANGE_AS_LITERAL_HPP
 
 #if defined(_MSC_VER) && (_MSC_VER >= 1200)
 # pragma once
 #endif
 
-#ifdef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
+#ifdef NDNBOOST_NO_FUNCTION_TEMPLATE_ORDERING
 #include <ndnboost/range/detail/as_literal.hpp>
 #else
 
@@ -25,7 +25,7 @@
 #include <ndnboost/detail/workaround.hpp>
 
 #include <cstring>
-#ifndef BOOST_NO_CWCHAR
+#ifndef NDNBOOST_NO_CWCHAR
 #include <cwchar>
 #endif
 
@@ -38,7 +38,7 @@
             return strlen( s );
         }
 
-#ifndef BOOST_NO_CWCHAR
+#ifndef NDNBOOST_NO_CWCHAR
         inline std::size_t length( const wchar_t* s )
         {
             return wcslen( s );
@@ -61,7 +61,7 @@
             return true;
         }
 
-#ifndef BOOST_NO_CWCHAR
+#ifndef NDNBOOST_NO_CWCHAR
         inline bool is_char_ptr( wchar_t* )
         {
             return true;
@@ -87,7 +87,7 @@
         }
 
         template< class T >
-        inline iterator_range<BOOST_DEDUCED_TYPENAME range_iterator<T>::type>
+        inline iterator_range<NDNBOOST_DEDUCED_TYPENAME range_iterator<T>::type>
         make_range( T& r, long )
         {
             return ndnboost::make_iterator_range( r );
@@ -96,14 +96,14 @@
     }
 
     template< class Range >
-    inline iterator_range<BOOST_DEDUCED_TYPENAME range_iterator<Range>::type>
+    inline iterator_range<NDNBOOST_DEDUCED_TYPENAME range_iterator<Range>::type>
     as_literal( Range& r )
     {
         return range_detail::make_range( r, range_detail::is_char_ptr(r) );
     }
 
     template< class Range >
-    inline iterator_range<BOOST_DEDUCED_TYPENAME range_iterator<const Range>::type>
+    inline iterator_range<NDNBOOST_DEDUCED_TYPENAME range_iterator<const Range>::type>
     as_literal( const Range& r )
     {
         return range_detail::make_range( r, range_detail::is_char_ptr(r) );
@@ -122,6 +122,6 @@
     }
 }
 
-#endif // BOOST_NO_FUNCTION_TEMPLATE_ORDERING
+#endif // NDNBOOST_NO_FUNCTION_TEMPLATE_ORDERING
 
 #endif
diff --git a/include/ndnboost/range/begin.hpp b/include/ndnboost/range/begin.hpp
index 0143261..5001f35 100644
--- a/include/ndnboost/range/begin.hpp
+++ b/include/ndnboost/range/begin.hpp
@@ -8,8 +8,8 @@
 // For more information, see http://www.boost.org/libs/range/
 //
 
-#ifndef BOOST_RANGE_BEGIN_HPP
-#define BOOST_RANGE_BEGIN_HPP
+#ifndef NDNBOOST_RANGE_BEGIN_HPP
+#define NDNBOOST_RANGE_BEGIN_HPP
 
 #if defined(_MSC_VER) && (_MSC_VER >= 1200)
 # pragma once
@@ -17,7 +17,7 @@
 
 #include <ndnboost/range/config.hpp>
 
-#ifdef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
+#ifdef NDNBOOST_NO_FUNCTION_TEMPLATE_ORDERING
 #include <ndnboost/range/detail/begin.hpp>
 #else
 
@@ -26,8 +26,8 @@
 namespace ndnboost
 {
 
-#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) && \
-    !BOOST_WORKAROUND(__GNUC__, < 3) \
+#if !NDNBOOST_WORKAROUND(__BORLANDC__, NDNBOOST_TESTED_AT(0x564)) && \
+    !NDNBOOST_WORKAROUND(__GNUC__, < 3) \
     /**/
 namespace range_detail
 {
@@ -38,7 +38,7 @@
     //////////////////////////////////////////////////////////////////////
 
     template< typename C >
-    inline BOOST_DEDUCED_TYPENAME range_iterator<C>::type
+    inline NDNBOOST_DEDUCED_TYPENAME range_iterator<C>::type
     range_begin( C& c )
     {
         //
@@ -85,8 +85,8 @@
     }
 
 
-#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) && \
-    !BOOST_WORKAROUND(__GNUC__, < 3) \
+#if !NDNBOOST_WORKAROUND(__BORLANDC__, NDNBOOST_TESTED_AT(0x564)) && \
+    !NDNBOOST_WORKAROUND(__GNUC__, < 3) \
     /**/
 } // namespace 'range_detail'
 #endif
@@ -98,10 +98,10 @@
 {
 
 template< class T >
-inline BOOST_DEDUCED_TYPENAME range_iterator<T>::type begin( T& r )
+inline NDNBOOST_DEDUCED_TYPENAME range_iterator<T>::type begin( T& r )
 {
-#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) && \
-    !BOOST_WORKAROUND(__GNUC__, < 3) \
+#if !NDNBOOST_WORKAROUND(__BORLANDC__, NDNBOOST_TESTED_AT(0x564)) && \
+    !NDNBOOST_WORKAROUND(__GNUC__, < 3) \
     /**/
     using namespace range_detail;
 #endif
@@ -109,10 +109,10 @@
 }
 
 template< class T >
-inline BOOST_DEDUCED_TYPENAME range_iterator<const T>::type begin( const T& r )
+inline NDNBOOST_DEDUCED_TYPENAME range_iterator<const T>::type begin( const T& r )
 {
-#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) && \
-    !BOOST_WORKAROUND(__GNUC__, < 3) \
+#if !NDNBOOST_WORKAROUND(__BORLANDC__, NDNBOOST_TESTED_AT(0x564)) && \
+    !NDNBOOST_WORKAROUND(__GNUC__, < 3) \
     /**/
     using namespace range_detail;
 #endif
@@ -122,14 +122,14 @@
     } // namespace range_adl_barrier
 } // namespace ndnboost
 
-#endif // BOOST_NO_FUNCTION_TEMPLATE_ORDERING
+#endif // NDNBOOST_NO_FUNCTION_TEMPLATE_ORDERING
 
 namespace ndnboost
 {
     namespace range_adl_barrier
     {
         template< class T >
-        inline BOOST_DEDUCED_TYPENAME range_iterator<const T>::type
+        inline NDNBOOST_DEDUCED_TYPENAME range_iterator<const T>::type
         const_begin( const T& r )
         {
             return ndnboost::range_adl_barrier::begin( r );
diff --git a/include/ndnboost/range/concepts.hpp b/include/ndnboost/range/concepts.hpp
index a8d4790..c990c16 100644
--- a/include/ndnboost/range/concepts.hpp
+++ b/include/ndnboost/range/concepts.hpp
@@ -13,8 +13,8 @@
 // For more information, see http://www.boost.org/libs/range/
 //
 
-#ifndef BOOST_RANGE_CONCEPTS_HPP
-#define BOOST_RANGE_CONCEPTS_HPP
+#ifndef NDNBOOST_RANGE_CONCEPTS_HPP
+#define NDNBOOST_RANGE_CONCEPTS_HPP
 
 #include <ndnboost/concept_check.hpp>
 #include <ndnboost/iterator/iterator_concepts.hpp>
@@ -37,7 +37,7 @@
  * concept.
  *
  * \code
- * BOOST_CONCEPT_ASSERT((ForwardRangeConcept<T>));
+ * NDNBOOST_CONCEPT_ASSERT((ForwardRangeConcept<T>));
  * \endcode
  *
  * A different concept check is required to ensure writeable value
@@ -45,7 +45,7 @@
  * to, the following code is required.
  *
  * \code
- * BOOST_CONCEPT_ASSERT((WriteableForwardRangeConcept<T>));
+ * NDNBOOST_CONCEPT_ASSERT((WriteableForwardRangeConcept<T>));
  * \endcode
  *
  * \see http://www.boost.org/libs/range/doc/range.html for details
@@ -60,7 +60,7 @@
 
     namespace range_detail {
 
-#ifndef BOOST_RANGE_ENABLE_CONCEPT_ASSERT
+#ifndef NDNBOOST_RANGE_ENABLE_CONCEPT_ASSERT
 
 // List broken compiler versions here:
     #ifdef __GNUC__
@@ -68,30 +68,30 @@
         // hence the least disruptive approach is to turn-off the concept checking for
         // this version of the compiler.
         #if __GNUC__ == 4 && __GNUC_MINOR__ == 2
-            #define BOOST_RANGE_ENABLE_CONCEPT_ASSERT 0
+            #define NDNBOOST_RANGE_ENABLE_CONCEPT_ASSERT 0
         #endif
     #endif
 
     #ifdef __BORLANDC__
-        #define BOOST_RANGE_ENABLE_CONCEPT_ASSERT 0
+        #define NDNBOOST_RANGE_ENABLE_CONCEPT_ASSERT 0
     #endif
 
     #ifdef __PATHCC__
-        #define BOOST_RANGE_ENABLE_CONCEPT_ASSERT 0
+        #define NDNBOOST_RANGE_ENABLE_CONCEPT_ASSERT 0
     #endif
 
 // Default to using the concept asserts unless we have defined it off
 // during the search for black listed compilers.
-    #ifndef BOOST_RANGE_ENABLE_CONCEPT_ASSERT
-        #define BOOST_RANGE_ENABLE_CONCEPT_ASSERT 1
+    #ifndef NDNBOOST_RANGE_ENABLE_CONCEPT_ASSERT
+        #define NDNBOOST_RANGE_ENABLE_CONCEPT_ASSERT 1
     #endif
 
 #endif
 
-#if BOOST_RANGE_ENABLE_CONCEPT_ASSERT
-    #define BOOST_RANGE_CONCEPT_ASSERT( x ) BOOST_CONCEPT_ASSERT( x )
+#if NDNBOOST_RANGE_ENABLE_CONCEPT_ASSERT
+    #define NDNBOOST_RANGE_CONCEPT_ASSERT( x ) NDNBOOST_CONCEPT_ASSERT( x )
 #else
-    #define BOOST_RANGE_CONCEPT_ASSERT( x )
+    #define NDNBOOST_RANGE_CONCEPT_ASSERT( x )
 #endif
 
         // Rationale for the inclusion of redefined iterator concept
@@ -112,16 +112,16 @@
         template<class Iterator>
         struct IncrementableIteratorConcept : CopyConstructible<Iterator>
         {
-#if BOOST_RANGE_ENABLE_CONCEPT_ASSERT
-            typedef BOOST_DEDUCED_TYPENAME iterator_traversal<Iterator>::type traversal_category;
+#if NDNBOOST_RANGE_ENABLE_CONCEPT_ASSERT
+            typedef NDNBOOST_DEDUCED_TYPENAME iterator_traversal<Iterator>::type traversal_category;
 
-            BOOST_RANGE_CONCEPT_ASSERT((
+            NDNBOOST_RANGE_CONCEPT_ASSERT((
                 Convertible<
                     traversal_category,
                     incrementable_traversal_tag
                 >));
 
-            BOOST_CONCEPT_USAGE(IncrementableIteratorConcept)
+            NDNBOOST_CONCEPT_USAGE(IncrementableIteratorConcept)
             {
                 ++i;
                 (void)i++;
@@ -136,14 +136,14 @@
             : IncrementableIteratorConcept<Iterator>
             , EqualityComparable<Iterator>
         {
-#if BOOST_RANGE_ENABLE_CONCEPT_ASSERT
-            BOOST_RANGE_CONCEPT_ASSERT((
+#if NDNBOOST_RANGE_ENABLE_CONCEPT_ASSERT
+            NDNBOOST_RANGE_CONCEPT_ASSERT((
                 Convertible<
-                    BOOST_DEDUCED_TYPENAME SinglePassIteratorConcept::traversal_category,
+                    NDNBOOST_DEDUCED_TYPENAME SinglePassIteratorConcept::traversal_category,
                     single_pass_traversal_tag
                 >));
 
-            BOOST_CONCEPT_USAGE(SinglePassIteratorConcept)
+            NDNBOOST_CONCEPT_USAGE(SinglePassIteratorConcept)
             {
                 Iterator i2(++i);
                 ndnboost::ignore_unused_variable_warning(i2);
@@ -154,10 +154,10 @@
                 // work
                 (void)(i++);
 
-                BOOST_DEDUCED_TYPENAME ndnboost::detail::iterator_traits<Iterator>::reference r1(*i);
+                NDNBOOST_DEDUCED_TYPENAME ndnboost::detail::iterator_traits<Iterator>::reference r1(*i);
                 ndnboost::ignore_unused_variable_warning(r1);
 
-                BOOST_DEDUCED_TYPENAME ndnboost::detail::iterator_traits<Iterator>::reference r2(*(++i));
+                NDNBOOST_DEDUCED_TYPENAME ndnboost::detail::iterator_traits<Iterator>::reference r2(*(++i));
                 ndnboost::ignore_unused_variable_warning(r2);
             }
         private:
@@ -170,19 +170,19 @@
             : SinglePassIteratorConcept<Iterator>
             , DefaultConstructible<Iterator>
         {
-#if BOOST_RANGE_ENABLE_CONCEPT_ASSERT
-            typedef BOOST_DEDUCED_TYPENAME ndnboost::detail::iterator_traits<Iterator>::difference_type difference_type;
+#if NDNBOOST_RANGE_ENABLE_CONCEPT_ASSERT
+            typedef NDNBOOST_DEDUCED_TYPENAME ndnboost::detail::iterator_traits<Iterator>::difference_type difference_type;
 
-            BOOST_MPL_ASSERT((is_integral<difference_type>));
-            BOOST_MPL_ASSERT_RELATION(std::numeric_limits<difference_type>::is_signed, ==, true);
+            NDNBOOST_MPL_ASSERT((is_integral<difference_type>));
+            NDNBOOST_MPL_ASSERT_RELATION(std::numeric_limits<difference_type>::is_signed, ==, true);
 
-            BOOST_RANGE_CONCEPT_ASSERT((
+            NDNBOOST_RANGE_CONCEPT_ASSERT((
                 Convertible<
-                    BOOST_DEDUCED_TYPENAME ForwardIteratorConcept::traversal_category,
+                    NDNBOOST_DEDUCED_TYPENAME ForwardIteratorConcept::traversal_category,
                     forward_traversal_tag
                 >));
 
-            BOOST_CONCEPT_USAGE(ForwardIteratorConcept)
+            NDNBOOST_CONCEPT_USAGE(ForwardIteratorConcept)
             {
                 // See the above note in the SinglePassIteratorConcept about the handling of the
                 // postfix increment. Since with forward and better iterators there is no need
@@ -190,7 +190,7 @@
                 // is convertible to reference.
                 Iterator i2(i++);
                 ndnboost::ignore_unused_variable_warning(i2);
-                BOOST_DEDUCED_TYPENAME ndnboost::detail::iterator_traits<Iterator>::reference r(*(i++));
+                NDNBOOST_DEDUCED_TYPENAME ndnboost::detail::iterator_traits<Iterator>::reference r(*(i++));
                 ndnboost::ignore_unused_variable_warning(r);
             }
         private:
@@ -202,14 +202,14 @@
          struct BidirectionalIteratorConcept
              : ForwardIteratorConcept<Iterator>
          {
- #if BOOST_RANGE_ENABLE_CONCEPT_ASSERT
-             BOOST_RANGE_CONCEPT_ASSERT((
+ #if NDNBOOST_RANGE_ENABLE_CONCEPT_ASSERT
+             NDNBOOST_RANGE_CONCEPT_ASSERT((
                  Convertible<
-                     BOOST_DEDUCED_TYPENAME BidirectionalIteratorConcept::traversal_category,
+                     NDNBOOST_DEDUCED_TYPENAME BidirectionalIteratorConcept::traversal_category,
                      bidirectional_traversal_tag
                  >));
 
-             BOOST_CONCEPT_USAGE(BidirectionalIteratorConcept)
+             NDNBOOST_CONCEPT_USAGE(BidirectionalIteratorConcept)
              {
                  --i;
                  (void)i--;
@@ -223,14 +223,14 @@
          struct RandomAccessIteratorConcept
              : BidirectionalIteratorConcept<Iterator>
          {
- #if BOOST_RANGE_ENABLE_CONCEPT_ASSERT
-             BOOST_RANGE_CONCEPT_ASSERT((
+ #if NDNBOOST_RANGE_ENABLE_CONCEPT_ASSERT
+             NDNBOOST_RANGE_CONCEPT_ASSERT((
                  Convertible<
-                     BOOST_DEDUCED_TYPENAME RandomAccessIteratorConcept::traversal_category,
+                     NDNBOOST_DEDUCED_TYPENAME RandomAccessIteratorConcept::traversal_category,
                      random_access_traversal_tag
                  >));
 
-             BOOST_CONCEPT_USAGE(RandomAccessIteratorConcept)
+             NDNBOOST_CONCEPT_USAGE(RandomAccessIteratorConcept)
              {
                  i += n;
                  i = i + n;
@@ -240,7 +240,7 @@
                  n = i - j;
              }
          private:
-             BOOST_DEDUCED_TYPENAME RandomAccessIteratorConcept::difference_type n;
+             NDNBOOST_DEDUCED_TYPENAME RandomAccessIteratorConcept::difference_type n;
              Iterator i;
              Iterator j;
  #endif
@@ -252,14 +252,14 @@
     template<class T>
     struct SinglePassRangeConcept
     {
-#if BOOST_RANGE_ENABLE_CONCEPT_ASSERT
-         typedef BOOST_DEDUCED_TYPENAME range_iterator<T const>::type  const_iterator;
-         typedef BOOST_DEDUCED_TYPENAME range_iterator<T>::type        iterator;
+#if NDNBOOST_RANGE_ENABLE_CONCEPT_ASSERT
+         typedef NDNBOOST_DEDUCED_TYPENAME range_iterator<T const>::type  const_iterator;
+         typedef NDNBOOST_DEDUCED_TYPENAME range_iterator<T>::type        iterator;
 
-         BOOST_RANGE_CONCEPT_ASSERT((range_detail::SinglePassIteratorConcept<iterator>));
-         BOOST_RANGE_CONCEPT_ASSERT((range_detail::SinglePassIteratorConcept<const_iterator>));
+         NDNBOOST_RANGE_CONCEPT_ASSERT((range_detail::SinglePassIteratorConcept<iterator>));
+         NDNBOOST_RANGE_CONCEPT_ASSERT((range_detail::SinglePassIteratorConcept<const_iterator>));
 
-         BOOST_CONCEPT_USAGE(SinglePassRangeConcept)
+         NDNBOOST_CONCEPT_USAGE(SinglePassRangeConcept)
          {
             // This has been modified from assigning to this->i
             // (where i was a member variable) to improve
@@ -295,25 +295,25 @@
     template<class T>
     struct ForwardRangeConcept : SinglePassRangeConcept<T>
     {
-#if BOOST_RANGE_ENABLE_CONCEPT_ASSERT
-        BOOST_RANGE_CONCEPT_ASSERT((range_detail::ForwardIteratorConcept<BOOST_DEDUCED_TYPENAME ForwardRangeConcept::iterator>));
-        BOOST_RANGE_CONCEPT_ASSERT((range_detail::ForwardIteratorConcept<BOOST_DEDUCED_TYPENAME ForwardRangeConcept::const_iterator>));
+#if NDNBOOST_RANGE_ENABLE_CONCEPT_ASSERT
+        NDNBOOST_RANGE_CONCEPT_ASSERT((range_detail::ForwardIteratorConcept<NDNBOOST_DEDUCED_TYPENAME ForwardRangeConcept::iterator>));
+        NDNBOOST_RANGE_CONCEPT_ASSERT((range_detail::ForwardIteratorConcept<NDNBOOST_DEDUCED_TYPENAME ForwardRangeConcept::const_iterator>));
 #endif
     };
 
     template<class Range>
     struct WriteableRangeConcept
     {
-#if BOOST_RANGE_ENABLE_CONCEPT_ASSERT
-        typedef BOOST_DEDUCED_TYPENAME range_iterator<Range>::type iterator;
+#if NDNBOOST_RANGE_ENABLE_CONCEPT_ASSERT
+        typedef NDNBOOST_DEDUCED_TYPENAME range_iterator<Range>::type iterator;
 
-        BOOST_CONCEPT_USAGE(WriteableRangeConcept)
+        NDNBOOST_CONCEPT_USAGE(WriteableRangeConcept)
         {
             *i = v;
         }
     private:
         iterator i;
-        BOOST_DEDUCED_TYPENAME range_value<Range>::type v;
+        NDNBOOST_DEDUCED_TYPENAME range_value<Range>::type v;
 #endif
     };
 
@@ -329,9 +329,9 @@
     template<class T>
     struct BidirectionalRangeConcept : ForwardRangeConcept<T>
     {
-#if BOOST_RANGE_ENABLE_CONCEPT_ASSERT
-        BOOST_RANGE_CONCEPT_ASSERT((range_detail::BidirectionalIteratorConcept<BOOST_DEDUCED_TYPENAME BidirectionalRangeConcept::iterator>));
-        BOOST_RANGE_CONCEPT_ASSERT((range_detail::BidirectionalIteratorConcept<BOOST_DEDUCED_TYPENAME BidirectionalRangeConcept::const_iterator>));
+#if NDNBOOST_RANGE_ENABLE_CONCEPT_ASSERT
+        NDNBOOST_RANGE_CONCEPT_ASSERT((range_detail::BidirectionalIteratorConcept<NDNBOOST_DEDUCED_TYPENAME BidirectionalRangeConcept::iterator>));
+        NDNBOOST_RANGE_CONCEPT_ASSERT((range_detail::BidirectionalIteratorConcept<NDNBOOST_DEDUCED_TYPENAME BidirectionalRangeConcept::const_iterator>));
 #endif
     };
 
@@ -347,9 +347,9 @@
     template<class T>
     struct RandomAccessRangeConcept : BidirectionalRangeConcept<T>
     {
-#if BOOST_RANGE_ENABLE_CONCEPT_ASSERT
-        BOOST_RANGE_CONCEPT_ASSERT((range_detail::RandomAccessIteratorConcept<BOOST_DEDUCED_TYPENAME RandomAccessRangeConcept::iterator>));
-        BOOST_RANGE_CONCEPT_ASSERT((range_detail::RandomAccessIteratorConcept<BOOST_DEDUCED_TYPENAME RandomAccessRangeConcept::const_iterator>));
+#if NDNBOOST_RANGE_ENABLE_CONCEPT_ASSERT
+        NDNBOOST_RANGE_CONCEPT_ASSERT((range_detail::RandomAccessIteratorConcept<NDNBOOST_DEDUCED_TYPENAME RandomAccessRangeConcept::iterator>));
+        NDNBOOST_RANGE_CONCEPT_ASSERT((range_detail::RandomAccessIteratorConcept<NDNBOOST_DEDUCED_TYPENAME RandomAccessRangeConcept::const_iterator>));
 #endif
     };
 
@@ -363,4 +363,4 @@
 
 } // namespace ndnboost
 
-#endif // BOOST_RANGE_CONCEPTS_HPP
+#endif // NDNBOOST_RANGE_CONCEPTS_HPP
diff --git a/include/ndnboost/range/config.hpp b/include/ndnboost/range/config.hpp
index 449007c..b372d6a 100644
--- a/include/ndnboost/range/config.hpp
+++ b/include/ndnboost/range/config.hpp
@@ -8,8 +8,8 @@
 // For more information, see http://www.boost.org/libs/range/
 //
 
-#ifndef BOOST_RANGE_CONFIG_HPP
-#define BOOST_RANGE_CONFIG_HPP
+#ifndef NDNBOOST_RANGE_CONFIG_HPP
+#define NDNBOOST_RANGE_CONFIG_HPP
 
 #include <ndnboost/detail/workaround.hpp>
 
@@ -19,33 +19,33 @@
 
 #include <ndnboost/config.hpp>
 
-#ifdef BOOST_RANGE_DEDUCED_TYPENAME
+#ifdef NDNBOOST_RANGE_DEDUCED_TYPENAME
 #error "macro already defined!"
 #endif
 
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
-# define BOOST_RANGE_DEDUCED_TYPENAME typename
+#if NDNBOOST_WORKAROUND(__BORLANDC__, NDNBOOST_TESTED_AT(0x564))
+# define NDNBOOST_RANGE_DEDUCED_TYPENAME typename
 #else
-# if BOOST_WORKAROUND(BOOST_MSVC, == 1300) && !defined(_MSC_EXTENSIONS)
-#  define BOOST_RANGE_DEDUCED_TYPENAME typename
+# if NDNBOOST_WORKAROUND(NDNBOOST_MSVC, == 1300) && !defined(_MSC_EXTENSIONS)
+#  define NDNBOOST_RANGE_DEDUCED_TYPENAME typename
 # else
-#  define BOOST_RANGE_DEDUCED_TYPENAME BOOST_DEDUCED_TYPENAME
+#  define NDNBOOST_RANGE_DEDUCED_TYPENAME NDNBOOST_DEDUCED_TYPENAME
 # endif
 #endif
 
-#ifdef BOOST_RANGE_NO_ARRAY_SUPPORT
+#ifdef NDNBOOST_RANGE_NO_ARRAY_SUPPORT
 #error "macro already defined!"
 #endif
 
-#if BOOST_WORKAROUND( BOOST_MSVC, < 1300 ) || BOOST_WORKAROUND( __MWERKS__, <= 0x3003 )
-#define BOOST_RANGE_NO_ARRAY_SUPPORT 1
+#if NDNBOOST_WORKAROUND( NDNBOOST_MSVC, < 1300 ) || NDNBOOST_WORKAROUND( __MWERKS__, <= 0x3003 )
+#define NDNBOOST_RANGE_NO_ARRAY_SUPPORT 1
 #endif
 
-#ifdef BOOST_RANGE_NO_ARRAY_SUPPORT
-#define BOOST_RANGE_ARRAY_REF() (boost_range_array)
-#define BOOST_RANGE_NO_STATIC_ASSERT
+#ifdef NDNBOOST_RANGE_NO_ARRAY_SUPPORT
+#define NDNBOOST_RANGE_ARRAY_REF() (boost_range_array)
+#define NDNBOOST_RANGE_NO_STATIC_ASSERT
 #else
-#define BOOST_RANGE_ARRAY_REF() (&boost_range_array)
+#define NDNBOOST_RANGE_ARRAY_REF() (&boost_range_array)
 #endif
 
 
diff --git a/include/ndnboost/range/const_iterator.hpp b/include/ndnboost/range/const_iterator.hpp
index 2b78e60..61ed3e8 100644
--- a/include/ndnboost/range/const_iterator.hpp
+++ b/include/ndnboost/range/const_iterator.hpp
@@ -8,8 +8,8 @@
 // For more information, see http://www.boost.org/libs/range/
 //
 
-#ifndef BOOST_RANGE_CONST_ITERATOR_HPP
-#define BOOST_RANGE_CONST_ITERATOR_HPP
+#ifndef NDNBOOST_RANGE_CONST_ITERATOR_HPP
+#define NDNBOOST_RANGE_CONST_ITERATOR_HPP
 
 #if defined(_MSC_VER) && (_MSC_VER >= 1200)
 # pragma once
@@ -17,7 +17,7 @@
 
 #include <ndnboost/range/config.hpp>
 
-#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#ifdef NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 #include <ndnboost/range/detail/const_iterator.hpp>
 #else
 
@@ -33,7 +33,7 @@
     //////////////////////////////////////////////////////////////////////////
     
     namespace range_detail {
-        BOOST_RANGE_EXTRACT_OPTIONAL_TYPE( const_iterator )
+        NDNBOOST_RANGE_EXTRACT_OPTIONAL_TYPE( const_iterator )
     }
 
     template< typename C >
@@ -62,6 +62,6 @@
 
 } // namespace ndnboost
 
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#endif // NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 
 #endif
diff --git a/include/ndnboost/range/detail/as_literal.hpp b/include/ndnboost/range/detail/as_literal.hpp
index 94b1b6e..223ae18 100644
--- a/include/ndnboost/range/detail/as_literal.hpp
+++ b/include/ndnboost/range/detail/as_literal.hpp
@@ -8,8 +8,8 @@
 // For more information, see http://www.boost.org/libs/range/
 //
 
-#ifndef BOOST_RANGE_DETAIL_AS_LITERAL_HPP
-#define BOOST_RANGE_DETAIL_AS_LITERAL_HPP
+#ifndef NDNBOOST_RANGE_DETAIL_AS_LITERAL_HPP
+#define NDNBOOST_RANGE_DETAIL_AS_LITERAL_HPP
 
 #if defined(_MSC_VER) && (_MSC_VER >= 1200)
 # pragma once
@@ -21,7 +21,7 @@
 namespace ndnboost
 {
     template< class Range >
-    inline iterator_range<BOOST_DEDUCED_TYPENAME range_iterator<Range>::type> 
+    inline iterator_range<NDNBOOST_DEDUCED_TYPENAME range_iterator<Range>::type> 
     as_literal( Range& r )
     {
         return ::ndnboost::make_iterator_range( ::ndnboost::range_detail::str_begin(r),
diff --git a/include/ndnboost/range/detail/begin.hpp b/include/ndnboost/range/detail/begin.hpp
index aea43cf..f2b5e59 100644
--- a/include/ndnboost/range/detail/begin.hpp
+++ b/include/ndnboost/range/detail/begin.hpp
@@ -8,14 +8,14 @@
 // For more information, see http://www.boost.org/libs/range/
 //
 
-#ifndef BOOST_RANGE_DETAIL_BEGIN_HPP
-#define BOOST_RANGE_DETAIL_BEGIN_HPP
+#ifndef NDNBOOST_RANGE_DETAIL_BEGIN_HPP
+#define NDNBOOST_RANGE_DETAIL_BEGIN_HPP
 
-#include <ndnboost/config.hpp> // BOOST_MSVC
+#include <ndnboost/config.hpp> // NDNBOOST_MSVC
 #include <ndnboost/detail/workaround.hpp>
 #include <ndnboost/range/iterator.hpp>
 #include <ndnboost/range/detail/common.hpp>
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1310)
+#if NDNBOOST_WORKAROUND(NDNBOOST_MSVC, < 1310)
 # include <ndnboost/range/value_type.hpp>
 #endif
 
@@ -35,7 +35,7 @@
         struct range_begin<std_container_>
         {
             template< typename C >
-            static BOOST_RANGE_DEDUCED_TYPENAME range_iterator<C>::type fun( C& c )
+            static NDNBOOST_RANGE_DEDUCED_TYPENAME range_iterator<C>::type fun( C& c )
             {
                 return c.begin();
             };
@@ -49,7 +49,7 @@
         struct range_begin<std_pair_>
         {
             template< typename P >
-            static BOOST_RANGE_DEDUCED_TYPENAME range_iterator<P>::type fun( const P& p )
+            static NDNBOOST_RANGE_DEDUCED_TYPENAME range_iterator<P>::type fun( const P& p )
             {
                 return p.first;
             }
@@ -62,15 +62,15 @@
         template<>
         struct range_begin<array_>
         {
-        #if !BOOST_WORKAROUND(BOOST_MSVC, < 1310)
+        #if !NDNBOOST_WORKAROUND(NDNBOOST_MSVC, < 1310)
             template< typename T, std::size_t sz >
-            static T* fun( T BOOST_RANGE_ARRAY_REF()[sz] )
+            static T* fun( T NDNBOOST_RANGE_ARRAY_REF()[sz] )
             {
                 return boost_range_array;
             }
         #else
             template<typename T>
-            static BOOST_RANGE_DEDUCED_TYPENAME range_value<T>::type* fun(T& t)
+            static NDNBOOST_RANGE_DEDUCED_TYPENAME range_value<T>::type* fun(T& t)
             {
                 return t;
             }
@@ -82,10 +82,10 @@
     namespace range_adl_barrier
     {
         template< typename C >
-        inline BOOST_RANGE_DEDUCED_TYPENAME range_iterator<C>::type
+        inline NDNBOOST_RANGE_DEDUCED_TYPENAME range_iterator<C>::type
         begin( C& c )
         {
-            return range_detail::range_begin< BOOST_RANGE_DEDUCED_TYPENAME range_detail::range<C>::type >::fun( c );
+            return range_detail::range_begin< NDNBOOST_RANGE_DEDUCED_TYPENAME range_detail::range<C>::type >::fun( c );
         }
     }
 } // namespace 'boost'
diff --git a/include/ndnboost/range/detail/common.hpp b/include/ndnboost/range/detail/common.hpp
index f607721..6eff9db 100644
--- a/include/ndnboost/range/detail/common.hpp
+++ b/include/ndnboost/range/detail/common.hpp
@@ -8,8 +8,8 @@
 // For more information, see http://www.boost.org/libs/range/
 //
 
-#ifndef BOOST_RANGE_DETAIL_COMMON_HPP
-#define BOOST_RANGE_DETAIL_COMMON_HPP
+#ifndef NDNBOOST_RANGE_DETAIL_COMMON_HPP
+#define NDNBOOST_RANGE_DETAIL_COMMON_HPP
 
 #if defined(_MSC_VER) && (_MSC_VER >= 1200)
 # pragma once
@@ -63,50 +63,50 @@
             static C* c;
             static C  ptr;
 
-            BOOST_STATIC_CONSTANT( bool, is_pair_                = sizeof( ndnboost::range_detail::is_pair_impl( c ) ) == sizeof( yes_type ) );
-            BOOST_STATIC_CONSTANT( bool, is_char_ptr_            = sizeof( ndnboost::range_detail::is_char_ptr_impl( ptr ) ) == sizeof( yes_type ) );
-            BOOST_STATIC_CONSTANT( bool, is_const_char_ptr_      = sizeof( ndnboost::range_detail::is_const_char_ptr_impl( ptr ) ) == sizeof( yes_type ) );
-            BOOST_STATIC_CONSTANT( bool, is_wchar_t_ptr_         = sizeof( ndnboost::range_detail::is_wchar_t_ptr_impl( ptr ) ) == sizeof( yes_type ) );
-            BOOST_STATIC_CONSTANT( bool, is_const_wchar_t_ptr_   = sizeof( ndnboost::range_detail::is_const_wchar_t_ptr_impl( ptr ) ) == sizeof( yes_type ) );
-            BOOST_STATIC_CONSTANT( bool, is_char_array_          = sizeof( ndnboost::range_detail::is_char_array_impl( ptr ) ) == sizeof( yes_type ) );
-            BOOST_STATIC_CONSTANT( bool, is_wchar_t_array_       = sizeof( ndnboost::range_detail::is_wchar_t_array_impl( ptr ) ) == sizeof( yes_type ) );
-            BOOST_STATIC_CONSTANT( bool, is_string_              = (ndnboost::type_traits::ice_or<is_const_char_ptr_, is_const_wchar_t_ptr_>::value ));
-            BOOST_STATIC_CONSTANT( bool, is_array_               = ndnboost::is_array<C>::value );
+            NDNBOOST_STATIC_CONSTANT( bool, is_pair_                = sizeof( ndnboost::range_detail::is_pair_impl( c ) ) == sizeof( yes_type ) );
+            NDNBOOST_STATIC_CONSTANT( bool, is_char_ptr_            = sizeof( ndnboost::range_detail::is_char_ptr_impl( ptr ) ) == sizeof( yes_type ) );
+            NDNBOOST_STATIC_CONSTANT( bool, is_const_char_ptr_      = sizeof( ndnboost::range_detail::is_const_char_ptr_impl( ptr ) ) == sizeof( yes_type ) );
+            NDNBOOST_STATIC_CONSTANT( bool, is_wchar_t_ptr_         = sizeof( ndnboost::range_detail::is_wchar_t_ptr_impl( ptr ) ) == sizeof( yes_type ) );
+            NDNBOOST_STATIC_CONSTANT( bool, is_const_wchar_t_ptr_   = sizeof( ndnboost::range_detail::is_const_wchar_t_ptr_impl( ptr ) ) == sizeof( yes_type ) );
+            NDNBOOST_STATIC_CONSTANT( bool, is_char_array_          = sizeof( ndnboost::range_detail::is_char_array_impl( ptr ) ) == sizeof( yes_type ) );
+            NDNBOOST_STATIC_CONSTANT( bool, is_wchar_t_array_       = sizeof( ndnboost::range_detail::is_wchar_t_array_impl( ptr ) ) == sizeof( yes_type ) );
+            NDNBOOST_STATIC_CONSTANT( bool, is_string_              = (ndnboost::type_traits::ice_or<is_const_char_ptr_, is_const_wchar_t_ptr_>::value ));
+            NDNBOOST_STATIC_CONSTANT( bool, is_array_               = ndnboost::is_array<C>::value );
             
         };
         
         template< typename C >
         class range
         {
-            typedef BOOST_RANGE_DEDUCED_TYPENAME   ndnboost::mpl::if_c< ::ndnboost::range_detail::range_helper<C>::is_pair_,
+            typedef NDNBOOST_RANGE_DEDUCED_TYPENAME   ndnboost::mpl::if_c< ::ndnboost::range_detail::range_helper<C>::is_pair_,
                                                                   ndnboost::range_detail::std_pair_,
                                                                   void >::type pair_t;
-            typedef BOOST_RANGE_DEDUCED_TYPENAME   ndnboost::mpl::if_c< ::ndnboost::range_detail::range_helper<C>::is_array_,
+            typedef NDNBOOST_RANGE_DEDUCED_TYPENAME   ndnboost::mpl::if_c< ::ndnboost::range_detail::range_helper<C>::is_array_,
                                                                     ndnboost::range_detail::array_,
                                                                     pair_t >::type array_t;
-            typedef BOOST_RANGE_DEDUCED_TYPENAME   ndnboost::mpl::if_c< ::ndnboost::range_detail::range_helper<C>::is_string_,
+            typedef NDNBOOST_RANGE_DEDUCED_TYPENAME   ndnboost::mpl::if_c< ::ndnboost::range_detail::range_helper<C>::is_string_,
                                                                     ndnboost::range_detail::string_,
                                                                     array_t >::type string_t;
-            typedef BOOST_RANGE_DEDUCED_TYPENAME   ndnboost::mpl::if_c< ::ndnboost::range_detail::range_helper<C>::is_const_char_ptr_,
+            typedef NDNBOOST_RANGE_DEDUCED_TYPENAME   ndnboost::mpl::if_c< ::ndnboost::range_detail::range_helper<C>::is_const_char_ptr_,
                                                                     ndnboost::range_detail::const_char_ptr_,
                                                                     string_t >::type const_char_ptr_t;
-            typedef BOOST_RANGE_DEDUCED_TYPENAME   ndnboost::mpl::if_c< ::ndnboost::range_detail::range_helper<C>::is_char_ptr_,
+            typedef NDNBOOST_RANGE_DEDUCED_TYPENAME   ndnboost::mpl::if_c< ::ndnboost::range_detail::range_helper<C>::is_char_ptr_,
                                                                     ndnboost::range_detail::char_ptr_,
                                                                     const_char_ptr_t >::type char_ptr_t;
-            typedef BOOST_RANGE_DEDUCED_TYPENAME   ndnboost::mpl::if_c< ::ndnboost::range_detail::range_helper<C>::is_const_wchar_t_ptr_,
+            typedef NDNBOOST_RANGE_DEDUCED_TYPENAME   ndnboost::mpl::if_c< ::ndnboost::range_detail::range_helper<C>::is_const_wchar_t_ptr_,
                                                                     ndnboost::range_detail::const_wchar_t_ptr_,
                                                                     char_ptr_t >::type const_wchar_ptr_t;
-            typedef BOOST_RANGE_DEDUCED_TYPENAME   ndnboost::mpl::if_c< ::ndnboost::range_detail::range_helper<C>::is_wchar_t_ptr_,
+            typedef NDNBOOST_RANGE_DEDUCED_TYPENAME   ndnboost::mpl::if_c< ::ndnboost::range_detail::range_helper<C>::is_wchar_t_ptr_,
                                                                     ndnboost::range_detail::wchar_t_ptr_,
                                                                     const_wchar_ptr_t >::type wchar_ptr_t;
-            typedef BOOST_RANGE_DEDUCED_TYPENAME   ndnboost::mpl::if_c< ::ndnboost::range_detail::range_helper<C>::is_wchar_t_array_,
+            typedef NDNBOOST_RANGE_DEDUCED_TYPENAME   ndnboost::mpl::if_c< ::ndnboost::range_detail::range_helper<C>::is_wchar_t_array_,
                                                                     ndnboost::range_detail::wchar_t_array_,
                                                                     wchar_ptr_t >::type wchar_array_t;
-            typedef BOOST_RANGE_DEDUCED_TYPENAME   ndnboost::mpl::if_c< ::ndnboost::range_detail::range_helper<C>::is_char_array_,
+            typedef NDNBOOST_RANGE_DEDUCED_TYPENAME   ndnboost::mpl::if_c< ::ndnboost::range_detail::range_helper<C>::is_char_array_,
                                                                     ndnboost::range_detail::char_array_,
                                                                     wchar_array_t >::type char_array_t;
         public:
-            typedef BOOST_RANGE_DEDUCED_TYPENAME   ndnboost::mpl::if_c< ::ndnboost::is_void<char_array_t>::value,
+            typedef NDNBOOST_RANGE_DEDUCED_TYPENAME   ndnboost::mpl::if_c< ::ndnboost::is_void<char_array_t>::value,
                                                                     ndnboost::range_detail::std_container_,
                                                                     char_array_t >::type type;  
         }; // class 'range' 
diff --git a/include/ndnboost/range/detail/const_iterator.hpp b/include/ndnboost/range/detail/const_iterator.hpp
index a23c25a..eb75292 100644
--- a/include/ndnboost/range/detail/const_iterator.hpp
+++ b/include/ndnboost/range/detail/const_iterator.hpp
@@ -8,8 +8,8 @@
 // For more information, see http://www.boost.org/libs/range/
 //
 
-#ifndef BOOST_RANGE_DETAIL_CONST_ITERATOR_HPP
-#define BOOST_RANGE_DETAIL_CONST_ITERATOR_HPP
+#ifndef NDNBOOST_RANGE_DETAIL_CONST_ITERATOR_HPP
+#define NDNBOOST_RANGE_DETAIL_CONST_ITERATOR_HPP
 
 #include <ndnboost/range/detail/common.hpp>
 #include <ndnboost/range/detail/remove_extent.hpp>
@@ -31,7 +31,7 @@
             template< typename C >
             struct pts
             {
-                typedef BOOST_RANGE_DEDUCED_TYPENAME C::const_iterator type;
+                typedef NDNBOOST_RANGE_DEDUCED_TYPENAME C::const_iterator type;
             };
         };
 
@@ -41,7 +41,7 @@
             template< typename P >
             struct pts
             {
-                typedef BOOST_RANGE_DEDUCED_TYPENAME P::first_type type;
+                typedef NDNBOOST_RANGE_DEDUCED_TYPENAME P::first_type type;
             };
         };
 
@@ -52,7 +52,7 @@
             template< typename T >
             struct pts
             {
-                typedef const BOOST_RANGE_DEDUCED_TYPENAME 
+                typedef const NDNBOOST_RANGE_DEDUCED_TYPENAME 
                     remove_extent<T>::type* type;
             };
         };
@@ -61,9 +61,9 @@
     template< typename C >
     class range_const_iterator
     {
-        typedef BOOST_DEDUCED_TYPENAME range_detail::range<C>::type c_type;
+        typedef NDNBOOST_DEDUCED_TYPENAME range_detail::range<C>::type c_type;
     public:
-        typedef BOOST_DEDUCED_TYPENAME range_detail::range_const_iterator_<c_type>::BOOST_NESTED_TEMPLATE pts<C>::type type; 
+        typedef NDNBOOST_DEDUCED_TYPENAME range_detail::range_const_iterator_<c_type>::NDNBOOST_NESTED_TEMPLATE pts<C>::type type; 
     };
 
 }
diff --git a/include/ndnboost/range/detail/detail_str.hpp b/include/ndnboost/range/detail/detail_str.hpp
index 5519996..cad0754 100644
--- a/include/ndnboost/range/detail/detail_str.hpp
+++ b/include/ndnboost/range/detail/detail_str.hpp
@@ -8,10 +8,10 @@
 // For more information, see http://www.boost.org/libs/range/
 //
 
-#ifndef BOOST_RANGE_DETAIL_DETAIL_STR_HPP
-#define BOOST_RANGE_DETAIL_DETAIL_STR_HPP
+#ifndef NDNBOOST_RANGE_DETAIL_DETAIL_STR_HPP
+#define NDNBOOST_RANGE_DETAIL_DETAIL_STR_HPP
 
-#include <ndnboost/config.hpp> // BOOST_MSVC
+#include <ndnboost/config.hpp> // NDNBOOST_MSVC
 #include <ndnboost/range/iterator.hpp>
 
 namespace ndnboost 
@@ -29,7 +29,7 @@
             template< typename T >
             struct pts
             {
-                 typedef BOOST_RANGE_DEDUCED_TYPENAME 
+                 typedef NDNBOOST_RANGE_DEDUCED_TYPENAME 
                     remove_extent<T>::type* type;
             };
         };
@@ -85,7 +85,7 @@
             template< typename T >
             struct pts
             {
-                typedef const BOOST_RANGE_DEDUCED_TYPENAME 
+                typedef const NDNBOOST_RANGE_DEDUCED_TYPENAME 
                     remove_extent<T>::type* type;
             };
         };
@@ -184,10 +184,10 @@
         };
         
         template< typename C >
-        inline BOOST_RANGE_DEDUCED_TYPENAME range_iterator<C>::type 
+        inline NDNBOOST_RANGE_DEDUCED_TYPENAME range_iterator<C>::type 
         str_begin( C& c )
         {
-            return range_detail::range_begin< BOOST_RANGE_DEDUCED_TYPENAME 
+            return range_detail::range_begin< NDNBOOST_RANGE_DEDUCED_TYPENAME 
                 range_detail::range<C>::type >::fun( c );
         }
 
@@ -199,7 +199,7 @@
         struct range_end<char_array_>
         {
             template< typename T, std::size_t sz >
-            static T* fun( T BOOST_RANGE_ARRAY_REF()[sz] )
+            static T* fun( T NDNBOOST_RANGE_ARRAY_REF()[sz] )
             {
                 return ndnboost::range_detail::array_end( boost_range_array );
             }
@@ -209,7 +209,7 @@
         struct range_end<wchar_t_array_>
         {
             template< typename T, std::size_t sz >
-            static T* fun( T BOOST_RANGE_ARRAY_REF()[sz] )
+            static T* fun( T NDNBOOST_RANGE_ARRAY_REF()[sz] )
             {
                 return ndnboost::range_detail::array_end( boost_range_array );
             }
@@ -253,10 +253,10 @@
         };
 
         template< typename C >
-        inline BOOST_RANGE_DEDUCED_TYPENAME range_iterator<C>::type 
+        inline NDNBOOST_RANGE_DEDUCED_TYPENAME range_iterator<C>::type 
         str_end( C& c )
         {
-            return range_detail::range_end< BOOST_RANGE_DEDUCED_TYPENAME 
+            return range_detail::range_end< NDNBOOST_RANGE_DEDUCED_TYPENAME 
                 range_detail::range<C>::type >::fun( c );
         }
 
diff --git a/include/ndnboost/range/detail/end.hpp b/include/ndnboost/range/detail/end.hpp
index a16cf73..87f848c 100644
--- a/include/ndnboost/range/detail/end.hpp
+++ b/include/ndnboost/range/detail/end.hpp
@@ -8,19 +8,19 @@
 // For more information, see http://www.boost.org/libs/range/
 //
 
-#ifndef BOOST_RANGE_DETAIL_END_HPP
-#define BOOST_RANGE_DETAIL_END_HPP
+#ifndef NDNBOOST_RANGE_DETAIL_END_HPP
+#define NDNBOOST_RANGE_DETAIL_END_HPP
 
-#include <ndnboost/config.hpp> // BOOST_MSVC
+#include <ndnboost/config.hpp> // NDNBOOST_MSVC
 #include <ndnboost/detail/workaround.hpp>
 
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
+#if NDNBOOST_WORKAROUND(NDNBOOST_MSVC, < 1300)
 # include <ndnboost/range/detail/vc6/end.hpp>
 #else
 # include <ndnboost/range/detail/implementation_help.hpp>
 # include <ndnboost/range/iterator.hpp>
 # include <ndnboost/range/detail/common.hpp>
-# if BOOST_WORKAROUND(BOOST_MSVC, < 1310)
+# if NDNBOOST_WORKAROUND(NDNBOOST_MSVC, < 1310)
 #  include <ndnboost/range/detail/remove_extent.hpp>
 # endif
 
@@ -39,7 +39,7 @@
         struct range_end<std_container_>
         {
             template< typename C >
-            static BOOST_RANGE_DEDUCED_TYPENAME range_iterator<C>::type
+            static NDNBOOST_RANGE_DEDUCED_TYPENAME range_iterator<C>::type
             fun( C& c )
             {
                 return c.end();
@@ -54,7 +54,7 @@
         struct range_end<std_pair_>
         {
             template< typename P >
-            static BOOST_RANGE_DEDUCED_TYPENAME range_iterator<P>::type
+            static NDNBOOST_RANGE_DEDUCED_TYPENAME range_iterator<P>::type
             fun( const P& p )
             {
                 return p.second;
@@ -68,15 +68,15 @@
         template<>
         struct range_end<array_>
         {
-        #if !BOOST_WORKAROUND(BOOST_MSVC, < 1310)
+        #if !NDNBOOST_WORKAROUND(NDNBOOST_MSVC, < 1310)
             template< typename T, std::size_t sz >
-            static T* fun( T BOOST_RANGE_ARRAY_REF()[sz] )
+            static T* fun( T NDNBOOST_RANGE_ARRAY_REF()[sz] )
             {
                 return ndnboost::range_detail::array_end( boost_range_array );
             }
         #else
             template<typename T>
-            static BOOST_RANGE_DEDUCED_TYPENAME remove_extent<T>::type* fun(T& t)
+            static NDNBOOST_RANGE_DEDUCED_TYPENAME remove_extent<T>::type* fun(T& t)
             {
                 return t + remove_extent<T>::size;
             }
@@ -88,10 +88,10 @@
     namespace range_adl_barrier
     {
         template< typename C >
-        inline BOOST_RANGE_DEDUCED_TYPENAME range_iterator<C>::type
+        inline NDNBOOST_RANGE_DEDUCED_TYPENAME range_iterator<C>::type
         end( C& c )
         {
-            return range_detail::range_end< BOOST_RANGE_DEDUCED_TYPENAME range_detail::range<C>::type >::fun( c );
+            return range_detail::range_end< NDNBOOST_RANGE_DEDUCED_TYPENAME range_detail::range<C>::type >::fun( c );
         }
     } // namespace range_adl_barrier
 
diff --git a/include/ndnboost/range/detail/extract_optional_type.hpp b/include/ndnboost/range/detail/extract_optional_type.hpp
index e77f37c..86a47b5 100644
--- a/include/ndnboost/range/detail/extract_optional_type.hpp
+++ b/include/ndnboost/range/detail/extract_optional_type.hpp
@@ -7,8 +7,8 @@
 //
 // For more information, see http://www.boost.org/libs/range/
 //
-#ifndef BOOST_RANGE_DETAIL_EXTRACT_OPTIONAL_TYPE_HPP_INCLUDED
-#define BOOST_RANGE_DETAIL_EXTRACT_OPTIONAL_TYPE_HPP_INCLUDED
+#ifndef NDNBOOST_RANGE_DETAIL_EXTRACT_OPTIONAL_TYPE_HPP_INCLUDED
+#define NDNBOOST_RANGE_DETAIL_EXTRACT_OPTIONAL_TYPE_HPP_INCLUDED
 
 #if defined(_MSC_VER) && (_MSC_VER >= 1200)
 # pragma once
@@ -16,13 +16,13 @@
 
 #include <ndnboost/config.hpp>
 
-#ifdef BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS
+#ifdef NDNBOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS
 
-#define BOOST_RANGE_EXTRACT_OPTIONAL_TYPE( a_typedef )                         \
+#define NDNBOOST_RANGE_EXTRACT_OPTIONAL_TYPE( a_typedef )                         \
     template< typename C >                                                     \
     struct extract_ ## a_typedef                                               \
     {                                                                          \
-        typedef BOOST_DEDUCED_TYPENAME C::a_typedef type;                      \
+        typedef NDNBOOST_DEDUCED_TYPENAME C::a_typedef type;                      \
     };
 
 #else
@@ -36,15 +36,15 @@
 // Defines extract_some_typedef<T> which exposes T::some_typedef as
 // extract_some_typedef<T>::type if T::some_typedef exists. Otherwise
 // extract_some_typedef<T> is empty.
-#define BOOST_RANGE_EXTRACT_OPTIONAL_TYPE( a_typedef )                         \
+#define NDNBOOST_RANGE_EXTRACT_OPTIONAL_TYPE( a_typedef )                         \
     template< typename C, typename Enable=void >                               \
     struct extract_ ## a_typedef                                               \
     {};                                                                        \
     template< typename C >                                                     \
     struct extract_ ## a_typedef< C                                            \
-    , BOOST_DEDUCED_TYPENAME ndnboost::range_detail::exists< BOOST_DEDUCED_TYPENAME C::a_typedef >::type \
+    , NDNBOOST_DEDUCED_TYPENAME ndnboost::range_detail::exists< NDNBOOST_DEDUCED_TYPENAME C::a_typedef >::type \
     > {                                                                        \
-        typedef BOOST_DEDUCED_TYPENAME C::a_typedef type;                      \
+        typedef NDNBOOST_DEDUCED_TYPENAME C::a_typedef type;                      \
     };
 
 #endif
diff --git a/include/ndnboost/range/detail/implementation_help.hpp b/include/ndnboost/range/detail/implementation_help.hpp
index 9e80d6b..f310b44 100644
--- a/include/ndnboost/range/detail/implementation_help.hpp
+++ b/include/ndnboost/range/detail/implementation_help.hpp
@@ -8,8 +8,8 @@
 // For more information, see http://www.boost.org/libs/range/
 //
 
-#ifndef BOOST_RANGE_DETAIL_IMPLEMENTATION_HELP_HPP
-#define BOOST_RANGE_DETAIL_IMPLEMENTATION_HELP_HPP
+#ifndef NDNBOOST_RANGE_DETAIL_IMPLEMENTATION_HELP_HPP
+#define NDNBOOST_RANGE_DETAIL_IMPLEMENTATION_HELP_HPP
 
 #include <ndnboost/range/config.hpp>
 #include <ndnboost/range/detail/common.hpp>
@@ -17,7 +17,7 @@
 #include <cstddef>
 #include <string.h>
 
-#ifndef BOOST_NO_CWCHAR
+#ifndef NDNBOOST_NO_CWCHAR
 #include <wchar.h>
 #endif
 
@@ -37,7 +37,7 @@
             return s + strlen( s );
         }
 
-#ifndef BOOST_NO_CWCHAR
+#ifndef NDNBOOST_NO_CWCHAR
         inline const wchar_t* str_end( const wchar_t* s, const wchar_t* )
         {
             return s + wcslen( s );
@@ -60,13 +60,13 @@
         }
 
         template< class T, std::size_t sz >
-        inline T* array_end( T BOOST_RANGE_ARRAY_REF()[sz] )
+        inline T* array_end( T NDNBOOST_RANGE_ARRAY_REF()[sz] )
         {
             return boost_range_array + sz;
         }
 
         template< class T, std::size_t sz >
-        inline const T* array_end( const T BOOST_RANGE_ARRAY_REF()[sz] )
+        inline const T* array_end( const T NDNBOOST_RANGE_ARRAY_REF()[sz] )
         {
             return boost_range_array + sz;
         }
@@ -82,14 +82,14 @@
         }
 
         template< class T, std::size_t sz >
-        inline std::size_t array_size( T BOOST_RANGE_ARRAY_REF()[sz] )
+        inline std::size_t array_size( T NDNBOOST_RANGE_ARRAY_REF()[sz] )
         {
             boost_range_silence_warning( boost_range_array );
             return sz;
         }
 
         template< class T, std::size_t sz >
-        inline std::size_t array_size( const T BOOST_RANGE_ARRAY_REF()[sz] )
+        inline std::size_t array_size( const T NDNBOOST_RANGE_ARRAY_REF()[sz] )
         {
             boost_range_silence_warning( boost_range_array );
             return sz;
diff --git a/include/ndnboost/range/detail/iterator.hpp b/include/ndnboost/range/detail/iterator.hpp
index c58b5ad..947b83e 100644
--- a/include/ndnboost/range/detail/iterator.hpp
+++ b/include/ndnboost/range/detail/iterator.hpp
@@ -8,8 +8,8 @@
 // For more information, see http://www.boost.org/libs/range/
 //
 
-#ifndef BOOST_RANGE_DETAIL_ITERATOR_HPP
-#define BOOST_RANGE_DETAIL_ITERATOR_HPP
+#ifndef NDNBOOST_RANGE_DETAIL_ITERATOR_HPP
+#define NDNBOOST_RANGE_DETAIL_ITERATOR_HPP
 
 #include <ndnboost/range/detail/common.hpp>
 #include <ndnboost/range/detail/remove_extent.hpp>
@@ -39,7 +39,7 @@
             template< typename C >
             struct pts
             {
-                typedef BOOST_RANGE_DEDUCED_TYPENAME C::iterator type;
+                typedef NDNBOOST_RANGE_DEDUCED_TYPENAME C::iterator type;
             };
         };
 
@@ -49,7 +49,7 @@
             template< typename P >
             struct pts
             {
-                typedef BOOST_RANGE_DEDUCED_TYPENAME P::first_type type;
+                typedef NDNBOOST_RANGE_DEDUCED_TYPENAME P::first_type type;
             };
         };
 
@@ -59,7 +59,7 @@
             template< typename T >
             struct pts
             {
-                typedef BOOST_RANGE_DEDUCED_TYPENAME 
+                typedef NDNBOOST_RANGE_DEDUCED_TYPENAME 
                     remove_extent<T>::type* type;
             };
         };
@@ -69,9 +69,9 @@
     template< typename C >
     class range_mutable_iterator
     {
-        typedef BOOST_RANGE_DEDUCED_TYPENAME range_detail::range<C>::type c_type;
+        typedef NDNBOOST_RANGE_DEDUCED_TYPENAME range_detail::range<C>::type c_type;
     public:
-        typedef typename range_detail::range_iterator_<c_type>::BOOST_NESTED_TEMPLATE pts<C>::type type; 
+        typedef typename range_detail::range_iterator_<c_type>::NDNBOOST_NESTED_TEMPLATE pts<C>::type type; 
     };
 }
 
diff --git a/include/ndnboost/range/detail/misc_concept.hpp b/include/ndnboost/range/detail/misc_concept.hpp
index fb2a39c..b50de38 100644
--- a/include/ndnboost/range/detail/misc_concept.hpp
+++ b/include/ndnboost/range/detail/misc_concept.hpp
@@ -5,8 +5,8 @@
 //  accompanying file LICENSE_1_0.txt or copy at
 //  http://www.boost.org/LICENSE_1_0.txt)
 //
-#ifndef BOOST_RANGE_DETAIL_MISC_CONCEPT_HPP_INCLUDED
-#define BOOST_RANGE_DETAIL_MISC_CONCEPT_HPP_INCLUDED
+#ifndef NDNBOOST_RANGE_DETAIL_MISC_CONCEPT_HPP_INCLUDED
+#define NDNBOOST_RANGE_DETAIL_MISC_CONCEPT_HPP_INCLUDED
 
 #include <ndnboost/concept_check.hpp>
 
@@ -18,7 +18,7 @@
         class SameTypeConcept
         {
         public:
-            BOOST_CONCEPT_USAGE(SameTypeConcept)
+            NDNBOOST_CONCEPT_USAGE(SameTypeConcept)
             {
                 same_type(a,b);
             }
diff --git a/include/ndnboost/range/detail/remove_extent.hpp b/include/ndnboost/range/detail/remove_extent.hpp
index 9d89ed7..dee0e34 100644
--- a/include/ndnboost/range/detail/remove_extent.hpp
+++ b/include/ndnboost/range/detail/remove_extent.hpp
@@ -9,8 +9,8 @@
 //
 
 
-#ifndef BOOST_RANGE_DETAIL_REMOVE_BOUNDS_HPP
-#define BOOST_RANGE_DETAIL_REMOVE_BOUNDS_HPP
+#ifndef NDNBOOST_RANGE_DETAIL_REMOVE_BOUNDS_HPP
+#define NDNBOOST_RANGE_DETAIL_REMOVE_BOUNDS_HPP
 
 #include <ndnboost/config.hpp>  // MSVC, NO_INTRINSIC_WCHAR_T, put size_t in std.
 #include <cstddef>
@@ -101,7 +101,7 @@
         template<typename T>
         struct remove_extent {
             static T* ar;
-            BOOST_STATIC_CONSTANT(std::size_t, size = sizeof(*ar) / sizeof((*ar)[0]));
+            NDNBOOST_STATIC_CONSTANT(std::size_t, size = sizeof(*ar) / sizeof((*ar)[0]));
 
             typedef typename
                     select<
@@ -109,7 +109,7 @@
                         is_same<T, char[size]>,                  char,
                         is_same<T, signed char[size]>,           signed char,
                         is_same<T, unsigned char[size]>,         unsigned char,
-                    #ifndef BOOST_NO_INTRINSIC_WCHAR_T
+                    #ifndef NDNBOOST_NO_INTRINSIC_WCHAR_T
                         is_same<T, wchar_t[size]>,               wchar_t,
                     #endif
                         is_same<T, short[size]>,                 short,
@@ -128,7 +128,7 @@
                         is_same<T, const char[size]>,            const char,
                         is_same<T, const signed char[size]>,     const signed char,
                         is_same<T, const unsigned char[size]>,   const unsigned char,
-                    #ifndef BOOST_NO_INTRINSIC_WCHAR_T
+                    #ifndef NDNBOOST_NO_INTRINSIC_WCHAR_T
                         is_same<T, const wchar_t[size]>,         const wchar_t,
                     #endif
                         is_same<T, const short[size]>,           const short,
diff --git a/include/ndnboost/range/detail/safe_bool.hpp b/include/ndnboost/range/detail/safe_bool.hpp
index fad34c4..c5a0731 100644
--- a/include/ndnboost/range/detail/safe_bool.hpp
+++ b/include/ndnboost/range/detail/safe_bool.hpp
@@ -7,8 +7,8 @@
 //
 // This code utilises the experience gained during the evolution of
 // <ndnboost/smart_ptr/operator_bool.hpp>
-#ifndef BOOST_RANGE_SAFE_BOOL_INCLUDED_HPP
-#define BOOST_RANGE_SAFE_BOOL_INCLUDED_HPP
+#ifndef NDNBOOST_RANGE_SAFE_BOOL_INCLUDED_HPP
+#define NDNBOOST_RANGE_SAFE_BOOL_INCLUDED_HPP
 
 #include <ndnboost/config.hpp>
 #include <ndnboost/range/config.hpp>
@@ -24,7 +24,7 @@
 public:
     typedef safe_bool this_type;
 
-#if (defined(__SUNPRO_CC) && BOOST_WORKAROUND(__SUNPRO_CC, < 0x570)) || defined(__CINT_)
+#if (defined(__SUNPRO_CC) && NDNBOOST_WORKAROUND(__SUNPRO_CC, < 0x570)) || defined(__CINT_)
     typedef bool unspecified_bool_type;
     static unspecified_bool_type to_unspecified_bool(const bool x, DataMemberPtr)
     {
@@ -40,9 +40,9 @@
         return x ? unspecified_bool : 0;
     }
 #elif \
-    ( defined(__MWERKS__) && BOOST_WORKAROUND(__MWERKS__, < 0x3200) ) || \
+    ( defined(__MWERKS__) && NDNBOOST_WORKAROUND(__MWERKS__, < 0x3200) ) || \
     ( defined(__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__ < 304) ) || \
-    ( defined(__SUNPRO_CC) && BOOST_WORKAROUND(__SUNPRO_CC, <= 0x590) )
+    ( defined(__SUNPRO_CC) && NDNBOOST_WORKAROUND(__SUNPRO_CC, <= 0x590) )
 
     typedef bool (this_type::*unspecified_bool_type)() const;
 
diff --git a/include/ndnboost/range/detail/sfinae.hpp b/include/ndnboost/range/detail/sfinae.hpp
index d940c3a..1ad1c23 100644
--- a/include/ndnboost/range/detail/sfinae.hpp
+++ b/include/ndnboost/range/detail/sfinae.hpp
@@ -8,8 +8,8 @@
 // For more information, see http://www.boost.org/libs/range/
 //
 
-#ifndef BOOST_RANGE_DETAIL_SFINAE_HPP
-#define BOOST_RANGE_DETAIL_SFINAE_HPP
+#ifndef NDNBOOST_RANGE_DETAIL_SFINAE_HPP
+#define NDNBOOST_RANGE_DETAIL_SFINAE_HPP
 
 #include <ndnboost/range/config.hpp>
 #include <ndnboost/type_traits/is_array.hpp>
@@ -33,15 +33,15 @@
         no_type  is_string_impl( ... );
         
         template< std::size_t sz >
-        yes_type is_char_array_impl( char BOOST_RANGE_ARRAY_REF()[sz] );
+        yes_type is_char_array_impl( char NDNBOOST_RANGE_ARRAY_REF()[sz] );
         template< std::size_t sz >
-        yes_type is_char_array_impl( const char BOOST_RANGE_ARRAY_REF()[sz] );
+        yes_type is_char_array_impl( const char NDNBOOST_RANGE_ARRAY_REF()[sz] );
         no_type  is_char_array_impl( ... );
         
         template< std::size_t sz >
-        yes_type is_wchar_t_array_impl( wchar_t BOOST_RANGE_ARRAY_REF()[sz] );
+        yes_type is_wchar_t_array_impl( wchar_t NDNBOOST_RANGE_ARRAY_REF()[sz] );
         template< std::size_t sz >
-        yes_type is_wchar_t_array_impl( const wchar_t BOOST_RANGE_ARRAY_REF()[sz] );
+        yes_type is_wchar_t_array_impl( const wchar_t NDNBOOST_RANGE_ARRAY_REF()[sz] );
         no_type  is_wchar_t_array_impl( ... );
                                      
         yes_type is_char_ptr_impl( char* const );
diff --git a/include/ndnboost/range/detail/size_type.hpp b/include/ndnboost/range/detail/size_type.hpp
index 3314922..1444d06 100644
--- a/include/ndnboost/range/detail/size_type.hpp
+++ b/include/ndnboost/range/detail/size_type.hpp
@@ -8,8 +8,8 @@
 // For more information, see http://www.boost.org/libs/range/
 //
 
-#ifndef BOOST_RANGE_DETAIL_SIZE_TYPE_HPP
-#define BOOST_RANGE_DETAIL_SIZE_TYPE_HPP
+#ifndef NDNBOOST_RANGE_DETAIL_SIZE_TYPE_HPP
+#define NDNBOOST_RANGE_DETAIL_SIZE_TYPE_HPP
 
 #include <ndnboost/range/detail/common.hpp>
 
@@ -37,7 +37,7 @@
             template< typename C >
             struct pts
             {
-                typedef BOOST_RANGE_DEDUCED_TYPENAME C::size_type type;
+                typedef NDNBOOST_RANGE_DEDUCED_TYPENAME C::size_type type;
             };
         };
     }
@@ -47,7 +47,7 @@
     {
         typedef typename range_detail::range<C>::type c_type;
     public:
-        typedef typename range_detail::range_size_type_<c_type>::BOOST_NESTED_TEMPLATE pts<C>::type type;
+        typedef typename range_detail::range_size_type_<c_type>::NDNBOOST_NESTED_TEMPLATE pts<C>::type type;
     };
 }
 
diff --git a/include/ndnboost/range/detail/str_types.hpp b/include/ndnboost/range/detail/str_types.hpp
index 1829762..57ed311 100644
--- a/include/ndnboost/range/detail/str_types.hpp
+++ b/include/ndnboost/range/detail/str_types.hpp
@@ -8,8 +8,8 @@
 // For more information, see http://www.boost.org/libs/range/
 //
 
-#ifndef BOOST_RANGE_DETAIL_STR_TYPES_HPP
-#define BOOST_RANGE_DETAIL_STR_TYPES_HPP
+#ifndef NDNBOOST_RANGE_DETAIL_STR_TYPES_HPP
+#define NDNBOOST_RANGE_DETAIL_STR_TYPES_HPP
 
 #include <ndnboost/range/size_type.hpp>
 #include <ndnboost/range/iterator.hpp>
diff --git a/include/ndnboost/range/detail/value_type.hpp b/include/ndnboost/range/detail/value_type.hpp
index f5c919b..0febe4f 100644
--- a/include/ndnboost/range/detail/value_type.hpp
+++ b/include/ndnboost/range/detail/value_type.hpp
@@ -8,8 +8,8 @@
 // For more information, see http://www.boost.org/libs/range/
 //
 
-#ifndef BOOST_RANGE_DETAIL_VALUE_TYPE_HPP
-#define BOOST_RANGE_DETAIL_VALUE_TYPE_HPP
+#ifndef NDNBOOST_RANGE_DETAIL_VALUE_TYPE_HPP
+#define NDNBOOST_RANGE_DETAIL_VALUE_TYPE_HPP
 
 #include <ndnboost/range/detail/common.hpp>
 #include <ndnboost/range/detail/remove_extent.hpp>
@@ -32,7 +32,7 @@
             template< typename C >
             struct pts
             {
-                typedef BOOST_RANGE_DEDUCED_TYPENAME C::value_type type;
+                typedef NDNBOOST_RANGE_DEDUCED_TYPENAME C::value_type type;
             };
         };
 
@@ -42,7 +42,7 @@
             template< typename P >
             struct pts
             {
-                typedef BOOST_RANGE_DEDUCED_TYPENAME ndnboost::iterator_value< BOOST_RANGE_DEDUCED_TYPENAME P::first_type >::type type;
+                typedef NDNBOOST_RANGE_DEDUCED_TYPENAME ndnboost::iterator_value< NDNBOOST_RANGE_DEDUCED_TYPENAME P::first_type >::type type;
             };
         };
 
@@ -52,7 +52,7 @@
             template< typename T >
             struct pts
             {
-                typedef BOOST_DEDUCED_TYPENAME remove_extent<T>::type type;
+                typedef NDNBOOST_DEDUCED_TYPENAME remove_extent<T>::type type;
             };
         };
         
@@ -61,9 +61,9 @@
     template< typename C >
     class range_value
     {
-        typedef BOOST_DEDUCED_TYPENAME range_detail::range<C>::type c_type;
+        typedef NDNBOOST_DEDUCED_TYPENAME range_detail::range<C>::type c_type;
     public:
-        typedef BOOST_DEDUCED_TYPENAME range_detail::range_value_type_<c_type>::BOOST_NESTED_TEMPLATE pts<C>::type type; 
+        typedef NDNBOOST_DEDUCED_TYPENAME range_detail::range_value_type_<c_type>::NDNBOOST_NESTED_TEMPLATE pts<C>::type type; 
     };
 
 }
diff --git a/include/ndnboost/range/detail/vc6/end.hpp b/include/ndnboost/range/detail/vc6/end.hpp
index 1853de8..ed9a1b0 100644
--- a/include/ndnboost/range/detail/vc6/end.hpp
+++ b/include/ndnboost/range/detail/vc6/end.hpp
@@ -8,8 +8,8 @@
 // For more information, see http://www.boost.org/libs/range/
 //
 
-#ifndef BOOST_RANGE_DETAIL_VC6_END_HPP
-#define BOOST_RANGE_DETAIL_VC6_END_HPP
+#ifndef NDNBOOST_RANGE_DETAIL_VC6_END_HPP
+#define NDNBOOST_RANGE_DETAIL_VC6_END_HPP
 
 #include <ndnboost/range/detail/implementation_help.hpp>
 #include <ndnboost/range/detail/implementation_help.hpp>
@@ -33,7 +33,7 @@
         {
             template< typename C >
             struct inner {
-                static BOOST_RANGE_DEDUCED_TYPENAME range_result_iterator<C>::type 
+                static NDNBOOST_RANGE_DEDUCED_TYPENAME range_result_iterator<C>::type 
                 fun( C& c )
                 {
                     return c.end();
@@ -50,7 +50,7 @@
         {
             template< typename P >
             struct inner {
-                static BOOST_RANGE_DEDUCED_TYPENAME range_result_iterator<P>::type 
+                static NDNBOOST_RANGE_DEDUCED_TYPENAME range_result_iterator<P>::type 
                 fun( const P& p )
                 {
                     return p.second;
@@ -67,7 +67,7 @@
         {
             template< typename T >
             struct inner {
-                static BOOST_DEDUCED_TYPENAME remove_extent<T>::type*
+                static NDNBOOST_DEDUCED_TYPENAME remove_extent<T>::type*
                 fun(T& t)
                 {
                     return t + remove_extent<T>::size;
@@ -81,7 +81,7 @@
         {
             template< typename T >
             struct inner {
-                static BOOST_DEDUCED_TYPENAME remove_extent<T>::type*
+                static NDNBOOST_DEDUCED_TYPENAME remove_extent<T>::type*
                 fun(T& t)
                 {
                     return t + remove_extent<T>::size;
@@ -94,7 +94,7 @@
         {
             template< typename T >
             struct inner {
-                static BOOST_DEDUCED_TYPENAME remove_extent<T>::type*
+                static NDNBOOST_DEDUCED_TYPENAME remove_extent<T>::type*
                 fun(T& t)
                 {
                     return t + remove_extent<T>::size;
@@ -158,7 +158,7 @@
     } // namespace 'range_detail'
     
     template< typename C >
-    inline BOOST_DEDUCED_TYPENAME range_result_iterator<C>::type 
+    inline NDNBOOST_DEDUCED_TYPENAME range_result_iterator<C>::type 
     end( C& c )
     {
         return range_detail::range_end<range_detail::range<C>::type>::inner<C>::fun( c );
diff --git a/include/ndnboost/range/difference_type.hpp b/include/ndnboost/range/difference_type.hpp
index b26058a..f4e1c16 100644
--- a/include/ndnboost/range/difference_type.hpp
+++ b/include/ndnboost/range/difference_type.hpp
@@ -8,8 +8,8 @@
 // For more information, see http://www.boost.org/libs/range/
 //
 
-#ifndef BOOST_RANGE_DIFFERENCE_TYPE_HPP
-#define BOOST_RANGE_DIFFERENCE_TYPE_HPP
+#ifndef NDNBOOST_RANGE_DIFFERENCE_TYPE_HPP
+#define NDNBOOST_RANGE_DIFFERENCE_TYPE_HPP
 
 #if defined(_MSC_VER) && (_MSC_VER >= 1200)
 # pragma once
diff --git a/include/ndnboost/range/distance.hpp b/include/ndnboost/range/distance.hpp
index 12d93fa..f43aada 100644
--- a/include/ndnboost/range/distance.hpp
+++ b/include/ndnboost/range/distance.hpp
@@ -8,8 +8,8 @@
 // For more information, see http://www.boost.org/libs/range/
 //
 
-#ifndef BOOST_RANGE_DISTANCE_HPP
-#define BOOST_RANGE_DISTANCE_HPP
+#ifndef NDNBOOST_RANGE_DISTANCE_HPP
+#define NDNBOOST_RANGE_DISTANCE_HPP
 
 #if defined(_MSC_VER) && (_MSC_VER >= 1200)
 # pragma once
@@ -23,7 +23,7 @@
 {
 
     template< class T >
-    inline BOOST_DEDUCED_TYPENAME range_difference<T>::type 
+    inline NDNBOOST_DEDUCED_TYPENAME range_difference<T>::type 
     distance( const T& r )
     {
         return std::distance( ndnboost::begin( r ), ndnboost::end( r ) );
diff --git a/include/ndnboost/range/empty.hpp b/include/ndnboost/range/empty.hpp
index 6fdd177..fc3dff1 100644
--- a/include/ndnboost/range/empty.hpp
+++ b/include/ndnboost/range/empty.hpp
@@ -8,8 +8,8 @@
 // For more information, see http://www.boost.org/libs/range/
 //
 
-#ifndef BOOST_RANGE_EMPTY_HPP
-#define BOOST_RANGE_EMPTY_HPP
+#ifndef NDNBOOST_RANGE_EMPTY_HPP
+#define NDNBOOST_RANGE_EMPTY_HPP
 
 #if defined(_MSC_VER) && (_MSC_VER >= 1200)
 # pragma once
diff --git a/include/ndnboost/range/end.hpp b/include/ndnboost/range/end.hpp
index 9a7cb11..ec7d54d 100644
--- a/include/ndnboost/range/end.hpp
+++ b/include/ndnboost/range/end.hpp
@@ -8,8 +8,8 @@
 // For more information, see http://www.boost.org/libs/range/
 //
 
-#ifndef BOOST_RANGE_END_HPP
-#define BOOST_RANGE_END_HPP
+#ifndef NDNBOOST_RANGE_END_HPP
+#define NDNBOOST_RANGE_END_HPP
 
 #if defined(_MSC_VER) && (_MSC_VER >= 1200)
 # pragma once
@@ -17,7 +17,7 @@
 
 #include <ndnboost/range/config.hpp>
 
-#ifdef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
+#ifdef NDNBOOST_NO_FUNCTION_TEMPLATE_ORDERING
 #include <ndnboost/range/detail/end.hpp>
 #else
 
@@ -28,8 +28,8 @@
 namespace ndnboost
 {
 
-#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) && \
-    !BOOST_WORKAROUND(__GNUC__, < 3) \
+#if !NDNBOOST_WORKAROUND(__BORLANDC__, NDNBOOST_TESTED_AT(0x564)) && \
+    !NDNBOOST_WORKAROUND(__GNUC__, < 3) \
     /**/
 namespace range_detail
 {
@@ -39,7 +39,7 @@
         // primary template
         //////////////////////////////////////////////////////////////////////
         template< typename C >
-        inline BOOST_DEDUCED_TYPENAME range_iterator<C>::type
+        inline NDNBOOST_DEDUCED_TYPENAME range_iterator<C>::type
         range_end( C& c )
         {
             //
@@ -82,8 +82,8 @@
             return range_detail::array_end<T,sz>( a );
         }
 
-#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) && \
-    !BOOST_WORKAROUND(__GNUC__, < 3) \
+#if !NDNBOOST_WORKAROUND(__BORLANDC__, NDNBOOST_TESTED_AT(0x564)) && \
+    !NDNBOOST_WORKAROUND(__GNUC__, < 3) \
     /**/
 } // namespace 'range_detail'
 #endif
@@ -92,10 +92,10 @@
 {
 
 template< class T >
-inline BOOST_DEDUCED_TYPENAME range_iterator<T>::type end( T& r )
+inline NDNBOOST_DEDUCED_TYPENAME range_iterator<T>::type end( T& r )
 {
-#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) && \
-    !BOOST_WORKAROUND(__GNUC__, < 3) \
+#if !NDNBOOST_WORKAROUND(__BORLANDC__, NDNBOOST_TESTED_AT(0x564)) && \
+    !NDNBOOST_WORKAROUND(__GNUC__, < 3) \
     /**/
     using namespace range_detail;
 #endif
@@ -103,10 +103,10 @@
 }
 
 template< class T >
-inline BOOST_DEDUCED_TYPENAME range_iterator<const T>::type end( const T& r )
+inline NDNBOOST_DEDUCED_TYPENAME range_iterator<const T>::type end( const T& r )
 {
-#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) && \
-    !BOOST_WORKAROUND(__GNUC__, < 3) \
+#if !NDNBOOST_WORKAROUND(__BORLANDC__, NDNBOOST_TESTED_AT(0x564)) && \
+    !NDNBOOST_WORKAROUND(__GNUC__, < 3) \
     /**/
     using namespace range_detail;
 #endif
@@ -116,14 +116,14 @@
     } // namespace range_adl_barrier
 } // namespace 'boost'
 
-#endif // BOOST_NO_FUNCTION_TEMPLATE_ORDERING
+#endif // NDNBOOST_NO_FUNCTION_TEMPLATE_ORDERING
 
 namespace ndnboost
 {
     namespace range_adl_barrier
     {
         template< class T >
-        inline BOOST_DEDUCED_TYPENAME range_iterator<const T>::type
+        inline NDNBOOST_DEDUCED_TYPENAME range_iterator<const T>::type
         const_end( const T& r )
         {
             return ndnboost::range_adl_barrier::end( r );
diff --git a/include/ndnboost/range/functions.hpp b/include/ndnboost/range/functions.hpp
index 7fa535f..6aa2124 100644
--- a/include/ndnboost/range/functions.hpp
+++ b/include/ndnboost/range/functions.hpp
@@ -8,8 +8,8 @@
 // For more information, see http://www.boost.org/libs/range/
 //
 
-#ifndef BOOST_RANGE_FUNCTIONS_HPP
-#define BOOST_RANGE_FUNCTIONS_HPP
+#ifndef NDNBOOST_RANGE_FUNCTIONS_HPP
+#define NDNBOOST_RANGE_FUNCTIONS_HPP
 
 #if defined(_MSC_VER) && (_MSC_VER >= 1200)
 # pragma once
diff --git a/include/ndnboost/range/iterator.hpp b/include/ndnboost/range/iterator.hpp
index 8710a2e..b2a110c 100644
--- a/include/ndnboost/range/iterator.hpp
+++ b/include/ndnboost/range/iterator.hpp
@@ -8,8 +8,8 @@
 // For more information, see http://www.boost.org/libs/range/
 //
 
-#ifndef BOOST_RANGE_ITERATOR_HPP
-#define BOOST_RANGE_ITERATOR_HPP
+#ifndef NDNBOOST_RANGE_ITERATOR_HPP
+#define NDNBOOST_RANGE_ITERATOR_HPP
 
 #if defined(_MSC_VER) && (_MSC_VER >= 1020)
 # pragma once
@@ -25,14 +25,14 @@
 namespace ndnboost
 {
 
-#if BOOST_WORKAROUND(BOOST_MSVC, == 1310)
+#if NDNBOOST_WORKAROUND(NDNBOOST_MSVC, == 1310)
 
     namespace range_detail_vc7_1
     {
        template< typename C, typename Sig = void(C) >
        struct range_iterator
        {
-           typedef BOOST_RANGE_DEDUCED_TYPENAME
+           typedef NDNBOOST_RANGE_DEDUCED_TYPENAME
                mpl::eval_if_c< is_const<C>::value,
                                range_const_iterator< typename remove_const<C>::type >,
                                range_mutable_iterator<C> >::type type;
@@ -50,14 +50,14 @@
     template< typename C >
     struct range_iterator
     {
-#if BOOST_WORKAROUND(BOOST_MSVC, == 1310)
+#if NDNBOOST_WORKAROUND(NDNBOOST_MSVC, == 1310)
 
-        typedef BOOST_RANGE_DEDUCED_TYPENAME
+        typedef NDNBOOST_RANGE_DEDUCED_TYPENAME
                range_detail_vc7_1::range_iterator<C>::type type;
 
 #else
 
-        typedef BOOST_RANGE_DEDUCED_TYPENAME
+        typedef NDNBOOST_RANGE_DEDUCED_TYPENAME
             mpl::eval_if_c< is_const<C>::value,
                             range_const_iterator< typename remove_const<C>::type >,
                             range_mutable_iterator<C> >::type type;
@@ -67,6 +67,6 @@
 
 } // namespace ndnboost
 
-//#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+//#endif // NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 
 #endif
diff --git a/include/ndnboost/range/iterator_range.hpp b/include/ndnboost/range/iterator_range.hpp
index 26a9016..1108aaa 100644
--- a/include/ndnboost/range/iterator_range.hpp
+++ b/include/ndnboost/range/iterator_range.hpp
@@ -7,8 +7,8 @@
 //
 // For more information, see http://www.boost.org/libs/range/
 //
-#ifndef BOOST_RANGE_ITERATOR_RANGE_HPP_INCLUDED
-#define BOOST_RANGE_ITERATOR_RANGE_HPP_INCLUDED
+#ifndef NDNBOOST_RANGE_ITERATOR_RANGE_HPP_INCLUDED
+#define NDNBOOST_RANGE_ITERATOR_RANGE_HPP_INCLUDED
 
 #include "ndnboost/range/iterator_range_core.hpp"
 #include "ndnboost/range/iterator_range_io.hpp"
diff --git a/include/ndnboost/range/iterator_range_core.hpp b/include/ndnboost/range/iterator_range_core.hpp
index e4ca4ea..be97e2b 100644
--- a/include/ndnboost/range/iterator_range_core.hpp
+++ b/include/ndnboost/range/iterator_range_core.hpp
@@ -7,13 +7,13 @@
 //
 // For more information, see http://www.boost.org/libs/range/
 //
-#ifndef BOOST_RANGE_ITERATOR_RANGE_CORE_HPP_INCLUDED
-#define BOOST_RANGE_ITERATOR_RANGE_CORE_HPP_INCLUDED
+#ifndef NDNBOOST_RANGE_ITERATOR_RANGE_CORE_HPP_INCLUDED
+#define NDNBOOST_RANGE_ITERATOR_RANGE_CORE_HPP_INCLUDED
 
 #include <ndnboost/config.hpp> // Define __STL_CONFIG_H, if appropriate.
 #include <ndnboost/detail/workaround.hpp>
 
-#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1500))
+#if NDNBOOST_WORKAROUND(NDNBOOST_MSVC, NDNBOOST_TESTED_AT(1500))
     #pragma warning( push )
     #pragma warning( disable : 4996 )
 #endif
@@ -133,15 +133,15 @@
         public:
             //! this type
             typedef iterator_range<IteratorT> type;
-            typedef BOOST_DEDUCED_TYPENAME safe_bool_t::unspecified_bool_type unspecified_bool_type;
-            //BOOST_BROKEN_COMPILER_TYPE_TRAITS_SPECIALIZATION(value_type);
+            typedef NDNBOOST_DEDUCED_TYPENAME safe_bool_t::unspecified_bool_type unspecified_bool_type;
+            //NDNBOOST_BROKEN_COMPILER_TYPE_TRAITS_SPECIALIZATION(value_type);
 
             //! Encapsulated value type
-            typedef BOOST_DEDUCED_TYPENAME
+            typedef NDNBOOST_DEDUCED_TYPENAME
                 iterator_value<IteratorT>::type value_type;
 
             //! Difference type
-            typedef BOOST_DEDUCED_TYPENAME
+            typedef NDNBOOST_DEDUCED_TYPENAME
                 iterator_difference<IteratorT>::type difference_type;
 
             //! Size type
@@ -155,7 +155,7 @@
             // Needed because value-type is the same for
             // const and non-const iterators
             //
-            typedef BOOST_DEDUCED_TYPENAME
+            typedef NDNBOOST_DEDUCED_TYPENAME
                 iterator_reference<IteratorT>::type reference;
 
             //! const_iterator type
@@ -168,7 +168,7 @@
             typedef IteratorT iterator;
 
         private: // for return value of operator()()
-            typedef BOOST_DEDUCED_TYPENAME
+            typedef NDNBOOST_DEDUCED_TYPENAME
                 ndnboost::mpl::if_< ndnboost::mpl::or_< ndnboost::is_abstract< value_type >, 
                                                   ndnboost::is_array< value_type > >,
                                  reference, value_type >::type abstract_value_type;
@@ -207,7 +207,7 @@
                 m_Begin( impl::adl_begin( r ) ), m_End( impl::adl_end( r ) )
             {}
 
-            #if !BOOST_WORKAROUND(BOOST_MSVC, < 1300)
+            #if !NDNBOOST_WORKAROUND(NDNBOOST_MSVC, < 1300)
             this_type& operator=( const this_type& r )
             {
                 m_Begin  = r.begin();
@@ -276,7 +276,7 @@
             }
 
 
-#ifdef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
+#ifdef NDNBOOST_NO_FUNCTION_TEMPLATE_ORDERING
 
             bool operator==( const iterator_range& r ) const
             {
@@ -313,13 +313,13 @@
         public: // convenience
            reference front() const
            {
-               BOOST_ASSERT( !empty() );
+               NDNBOOST_ASSERT( !empty() );
                return *m_Begin;
            }
 
            reference back() const
            {
-               BOOST_ASSERT( !empty() );
+               NDNBOOST_ASSERT( !empty() );
                IteratorT last( m_End );
                return *--last;
            }
@@ -327,20 +327,20 @@
            // pop_front() - added to model the SinglePassRangePrimitiveConcept
            void pop_front()
            {
-               BOOST_ASSERT( !empty() );
+               NDNBOOST_ASSERT( !empty() );
                ++m_Begin;
            }
 
            // pop_back() - added to model the BidirectionalRangePrimitiveConcept
            void pop_back()
            {
-               BOOST_ASSERT( !empty() );
+               NDNBOOST_ASSERT( !empty() );
                --m_End;
            }
 
            reference operator[]( difference_type at ) const
            {
-               BOOST_ASSERT( at >= 0 && at < size() );
+               NDNBOOST_ASSERT( at >= 0 && at < size() );
                return m_Begin[at];
            }
 
@@ -351,7 +351,7 @@
            //
            abstract_value_type operator()( difference_type at ) const
            {
-               BOOST_ASSERT( at >= 0 && at < size() );
+               NDNBOOST_ASSERT( at >= 0 && at < size() );
                return m_Begin[at];
            }
 
@@ -428,7 +428,7 @@
             return iterator_range_detail::greater_or_equal_than( l, r );
         }
 
-#ifdef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
+#ifdef NDNBOOST_NO_FUNCTION_TEMPLATE_ORDERING
 #else
         template< class Iterator1T, class Iterator2T >
         inline bool operator==( const iterator_range<Iterator1T>& l,
@@ -516,7 +516,7 @@
             return iterator_range_detail::greater_or_equal_than( l, r );
         }
 
-#endif // BOOST_NO_FUNCTION_TEMPLATE_ORDERING
+#endif // NDNBOOST_NO_FUNCTION_TEMPLATE_ORDERING
 
 //  iterator range utilities -----------------------------------------//
 
@@ -535,13 +535,13 @@
             return iterator_range<IteratorT>( Begin, End );
         }
 
-#ifdef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
+#ifdef NDNBOOST_NO_FUNCTION_TEMPLATE_ORDERING
 
         template< typename Range >
-        inline iterator_range< BOOST_DEDUCED_TYPENAME range_iterator<Range>::type >
+        inline iterator_range< NDNBOOST_DEDUCED_TYPENAME range_iterator<Range>::type >
         make_iterator_range( Range& r )
         {
-            return iterator_range< BOOST_DEDUCED_TYPENAME range_iterator<Range>::type >
+            return iterator_range< NDNBOOST_DEDUCED_TYPENAME range_iterator<Range>::type >
                 ( ndnboost::begin( r ), ndnboost::end( r ) );
         }
 
@@ -552,30 +552,30 @@
             and end iterators.
         */
         template< class ForwardRange >
-        inline iterator_range< BOOST_DEDUCED_TYPENAME range_iterator<ForwardRange>::type >
+        inline iterator_range< NDNBOOST_DEDUCED_TYPENAME range_iterator<ForwardRange>::type >
         make_iterator_range( ForwardRange& r )
         {
-           return iterator_range< BOOST_DEDUCED_TYPENAME range_iterator<ForwardRange>::type >
+           return iterator_range< NDNBOOST_DEDUCED_TYPENAME range_iterator<ForwardRange>::type >
                 ( r, iterator_range_detail::range_tag() );
         }
 
         template< class ForwardRange >
-        inline iterator_range< BOOST_DEDUCED_TYPENAME range_iterator<const ForwardRange>::type >
+        inline iterator_range< NDNBOOST_DEDUCED_TYPENAME range_iterator<const ForwardRange>::type >
         make_iterator_range( const ForwardRange& r )
         {
-           return iterator_range< BOOST_DEDUCED_TYPENAME range_iterator<const ForwardRange>::type >
+           return iterator_range< NDNBOOST_DEDUCED_TYPENAME range_iterator<const ForwardRange>::type >
                 ( r, iterator_range_detail::const_range_tag() );
         }
 
-#endif // BOOST_NO_FUNCTION_TEMPLATE_ORDERING
+#endif // NDNBOOST_NO_FUNCTION_TEMPLATE_ORDERING
 
         namespace iterator_range_detail
         {
             template< class Range >
-            inline iterator_range< BOOST_DEDUCED_TYPENAME range_iterator<Range>::type >
+            inline iterator_range< NDNBOOST_DEDUCED_TYPENAME range_iterator<Range>::type >
             make_range_impl( Range& r,
-                             BOOST_DEDUCED_TYPENAME range_difference<Range>::type advance_begin,
-                             BOOST_DEDUCED_TYPENAME range_difference<Range>::type advance_end )
+                             NDNBOOST_DEDUCED_TYPENAME range_difference<Range>::type advance_begin,
+                             NDNBOOST_DEDUCED_TYPENAME range_difference<Range>::type advance_end )
             {
                 //
                 // Not worth the effort
@@ -584,7 +584,7 @@
                 //    return make_iterator_range( r );
                 //
 
-                BOOST_DEDUCED_TYPENAME range_iterator<Range>::type
+                NDNBOOST_DEDUCED_TYPENAME range_iterator<Range>::type
                     new_begin = ndnboost::begin( r ),
                     new_end   = ndnboost::end( r );
                 std::advance( new_begin, advance_begin );
@@ -593,41 +593,41 @@
             }
         }
 
-#ifdef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
+#ifdef NDNBOOST_NO_FUNCTION_TEMPLATE_ORDERING
 
         template< class Range >
-        inline iterator_range< BOOST_DEDUCED_TYPENAME range_iterator<Range>::type >
+        inline iterator_range< NDNBOOST_DEDUCED_TYPENAME range_iterator<Range>::type >
         make_iterator_range( Range& r,
-                    BOOST_DEDUCED_TYPENAME range_difference<Range>::type advance_begin,
-                    BOOST_DEDUCED_TYPENAME range_difference<Range>::type advance_end )
+                    NDNBOOST_DEDUCED_TYPENAME range_difference<Range>::type advance_begin,
+                    NDNBOOST_DEDUCED_TYPENAME range_difference<Range>::type advance_end )
         {
-            //BOOST_ASSERT( advance_begin - advance_end <= size(r) && "creating invalid range" );
+            //NDNBOOST_ASSERT( advance_begin - advance_end <= size(r) && "creating invalid range" );
             return iterator_range_detail::make_range_impl( r, advance_begin, advance_end );
         }
 
 #else
 
         template< class Range >
-        inline iterator_range< BOOST_DEDUCED_TYPENAME range_iterator<Range>::type >
+        inline iterator_range< NDNBOOST_DEDUCED_TYPENAME range_iterator<Range>::type >
         make_iterator_range( Range& r,
-                    BOOST_DEDUCED_TYPENAME range_difference<Range>::type advance_begin,
-                    BOOST_DEDUCED_TYPENAME range_difference<Range>::type advance_end )
+                    NDNBOOST_DEDUCED_TYPENAME range_difference<Range>::type advance_begin,
+                    NDNBOOST_DEDUCED_TYPENAME range_difference<Range>::type advance_end )
         {
-            //BOOST_ASSERT( advance_begin - advance_end <= size(r) && "creating invalid range" );
+            //NDNBOOST_ASSERT( advance_begin - advance_end <= size(r) && "creating invalid range" );
             return iterator_range_detail::make_range_impl( r, advance_begin, advance_end );
         }
 
         template< class Range >
-        inline iterator_range< BOOST_DEDUCED_TYPENAME range_iterator<const Range>::type >
+        inline iterator_range< NDNBOOST_DEDUCED_TYPENAME range_iterator<const Range>::type >
         make_iterator_range( const Range& r,
-                    BOOST_DEDUCED_TYPENAME range_difference<Range>::type advance_begin,
-                    BOOST_DEDUCED_TYPENAME range_difference<Range>::type advance_end )
+                    NDNBOOST_DEDUCED_TYPENAME range_difference<Range>::type advance_begin,
+                    NDNBOOST_DEDUCED_TYPENAME range_difference<Range>::type advance_end )
         {
-            //BOOST_ASSERT( advance_begin - advance_end <= size(r) && "creating invalid range" );
+            //NDNBOOST_ASSERT( advance_begin - advance_end <= size(r) && "creating invalid range" );
             return iterator_range_detail::make_range_impl( r, advance_begin, advance_end );
         }
 
-#endif // BOOST_NO_FUNCTION_TEMPLATE_ORDERING
+#endif // NDNBOOST_NO_FUNCTION_TEMPLATE_ORDERING
 
         //! copy a range into a sequence
         /*!
@@ -645,7 +645,7 @@
 
 } // namespace 'boost'
 
-#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1500))
+#if NDNBOOST_WORKAROUND(NDNBOOST_MSVC, NDNBOOST_TESTED_AT(1500))
     #pragma warning( pop )
 #endif
 
diff --git a/include/ndnboost/range/iterator_range_io.hpp b/include/ndnboost/range/iterator_range_io.hpp
index faa3657..3786623 100644
--- a/include/ndnboost/range/iterator_range_io.hpp
+++ b/include/ndnboost/range/iterator_range_io.hpp
@@ -7,28 +7,28 @@
 //
 // For more information, see http://www.boost.org/libs/range/
 //
-#ifndef BOOST_RANGE_ITERATOR_RANGE_IO_HPP_INCLUDED
-#define BOOST_RANGE_ITERATOR_RANGE_IO_HPP_INCLUDED
+#ifndef NDNBOOST_RANGE_ITERATOR_RANGE_IO_HPP_INCLUDED
+#define NDNBOOST_RANGE_ITERATOR_RANGE_IO_HPP_INCLUDED
 
 #include <ndnboost/config.hpp>
 #include <ndnboost/detail/workaround.hpp>
 
-#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1500))
+#if NDNBOOST_WORKAROUND(NDNBOOST_MSVC, NDNBOOST_TESTED_AT(1500))
     #pragma warning( push )
     #pragma warning( disable : 4996 )
 #endif
 
 // From ndnboost/dynamic_bitset.hpp; thanks to Matthias Troyer for Cray X1 patch.
-#ifndef BOOST_OLD_IOSTREAMS 
+#ifndef NDNBOOST_OLD_IOSTREAMS 
 # if defined(__STL_CONFIG_H) && \
     !defined (__STL_USE_NEW_IOSTREAMS) && !defined(__crayx1) \
     /**/
-#  define BOOST_OLD_IOSTREAMS
+#  define NDNBOOST_OLD_IOSTREAMS
 # endif
-#endif // #ifndef BOOST_OLD_IOSTREAMS
+#endif // #ifndef NDNBOOST_OLD_IOSTREAMS
 
 #ifndef _STLP_NO_IOSTREAMS
-# ifndef BOOST_OLD_IOSTREAMS
+# ifndef NDNBOOST_OLD_IOSTREAMS
 #  include <ostream>
 # else
 #  include <ostream.h>
@@ -44,7 +44,7 @@
 {
 
 #ifndef _STLP_NO_IOSTREAMS
-# ifndef BOOST_OLD_IOSTREAMS   
+# ifndef NDNBOOST_OLD_IOSTREAMS   
 
         //! iterator_range output operator
         /*!
@@ -57,7 +57,7 @@
                     const iterator_range<IteratorT>& r )
         {
             std::copy( r.begin(), r.end(), 
-                       std::ostream_iterator< BOOST_DEDUCED_TYPENAME 
+                       std::ostream_iterator< NDNBOOST_DEDUCED_TYPENAME 
                                               iterator_value<IteratorT>::type, 
                                               Elem, Traits>(Os) );
             return Os;
@@ -84,9 +84,9 @@
 
 } // namespace ndnboost
 
-#undef BOOST_OLD_IOSTREAMS
+#undef NDNBOOST_OLD_IOSTREAMS
 
-#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1500))
+#if NDNBOOST_WORKAROUND(NDNBOOST_MSVC, NDNBOOST_TESTED_AT(1500))
     #pragma warning(pop)
 #endif
 
diff --git a/include/ndnboost/range/mutable_iterator.hpp b/include/ndnboost/range/mutable_iterator.hpp
index e45d86d..b5183b0 100644
--- a/include/ndnboost/range/mutable_iterator.hpp
+++ b/include/ndnboost/range/mutable_iterator.hpp
@@ -8,8 +8,8 @@
 // For more information, see http://www.boost.org/libs/range/
 //
 
-#ifndef BOOST_RANGE_MUTABLE_ITERATOR_HPP
-#define BOOST_RANGE_MUTABLE_ITERATOR_HPP
+#ifndef NDNBOOST_RANGE_MUTABLE_ITERATOR_HPP
+#define NDNBOOST_RANGE_MUTABLE_ITERATOR_HPP
 
 #if defined(_MSC_VER) && (_MSC_VER >= 1200)
 # pragma once
@@ -17,7 +17,7 @@
 
 #include <ndnboost/range/config.hpp>
 
-#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#ifdef NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 #include <ndnboost/range/detail/iterator.hpp>
 #else
 
@@ -33,7 +33,7 @@
     //////////////////////////////////////////////////////////////////////////
     
     namespace range_detail {
-        BOOST_RANGE_EXTRACT_OPTIONAL_TYPE( iterator )
+        NDNBOOST_RANGE_EXTRACT_OPTIONAL_TYPE( iterator )
     }
 
     template< typename C >
@@ -62,6 +62,6 @@
 
 } // namespace ndnboost
 
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#endif // NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 
 #endif
diff --git a/include/ndnboost/range/rbegin.hpp b/include/ndnboost/range/rbegin.hpp
index 8ab2456..68858f1 100644
--- a/include/ndnboost/range/rbegin.hpp
+++ b/include/ndnboost/range/rbegin.hpp
@@ -8,8 +8,8 @@
 // For more information, see http://www.boost.org/libs/range/
 //
 
-#ifndef BOOST_RANGE_RBEGIN_HPP
-#define BOOST_RANGE_RBEGIN_HPP
+#ifndef NDNBOOST_RANGE_RBEGIN_HPP
+#define NDNBOOST_RANGE_RBEGIN_HPP
 
 #if defined(_MSC_VER) && (_MSC_VER >= 1200)
 # pragma once
@@ -21,39 +21,39 @@
 namespace ndnboost
 {
 
-#ifdef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
+#ifdef NDNBOOST_NO_FUNCTION_TEMPLATE_ORDERING
 
 template< class C >
-inline BOOST_DEDUCED_TYPENAME range_reverse_iterator<C>::type
+inline NDNBOOST_DEDUCED_TYPENAME range_reverse_iterator<C>::type
 rbegin( C& c )
 {
-    return BOOST_DEDUCED_TYPENAME range_reverse_iterator<C>::type( ndnboost::end( c ) );
+    return NDNBOOST_DEDUCED_TYPENAME range_reverse_iterator<C>::type( ndnboost::end( c ) );
 }
 
 #else
 
 template< class C >
-inline BOOST_DEDUCED_TYPENAME range_reverse_iterator<C>::type
+inline NDNBOOST_DEDUCED_TYPENAME range_reverse_iterator<C>::type
 rbegin( C& c )
 {
-    typedef BOOST_DEDUCED_TYPENAME range_reverse_iterator<C>::type
+    typedef NDNBOOST_DEDUCED_TYPENAME range_reverse_iterator<C>::type
         iter_type;
     return iter_type( ndnboost::end( c ) );
 }
 
 template< class C >
-inline BOOST_DEDUCED_TYPENAME range_reverse_iterator<const C>::type
+inline NDNBOOST_DEDUCED_TYPENAME range_reverse_iterator<const C>::type
 rbegin( const C& c )
 {
-    typedef BOOST_DEDUCED_TYPENAME range_reverse_iterator<const C>::type
+    typedef NDNBOOST_DEDUCED_TYPENAME range_reverse_iterator<const C>::type
         iter_type;
     return iter_type( ndnboost::end( c ) );
 }
 
-#endif // BOOST_NO_FUNCTION_TEMPLATE_ORDERING
+#endif // NDNBOOST_NO_FUNCTION_TEMPLATE_ORDERING
 
 template< class T >
-inline BOOST_DEDUCED_TYPENAME range_reverse_iterator<const T>::type
+inline NDNBOOST_DEDUCED_TYPENAME range_reverse_iterator<const T>::type
 const_rbegin( const T& r )
 {
     return ndnboost::rbegin( r );
diff --git a/include/ndnboost/range/rend.hpp b/include/ndnboost/range/rend.hpp
index 715ae6b..c680ca6 100644
--- a/include/ndnboost/range/rend.hpp
+++ b/include/ndnboost/range/rend.hpp
@@ -8,8 +8,8 @@
 // For more information, see http://www.boost.org/libs/range/
 //
 
-#ifndef BOOST_RANGE_REND_HPP
-#define BOOST_RANGE_REND_HPP
+#ifndef NDNBOOST_RANGE_REND_HPP
+#define NDNBOOST_RANGE_REND_HPP
 
 #if defined(_MSC_VER) && (_MSC_VER >= 1200)
 # pragma once
@@ -21,31 +21,31 @@
 namespace ndnboost
 {
 
-#ifdef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
+#ifdef NDNBOOST_NO_FUNCTION_TEMPLATE_ORDERING
 
 template< class C >
-inline BOOST_DEDUCED_TYPENAME range_reverse_iterator<C>::type
+inline NDNBOOST_DEDUCED_TYPENAME range_reverse_iterator<C>::type
 rend( C& c )
 {
-    return BOOST_DEDUCED_TYPENAME range_reverse_iterator<C>::type( ndnboost::begin( c ) );
+    return NDNBOOST_DEDUCED_TYPENAME range_reverse_iterator<C>::type( ndnboost::begin( c ) );
 }
 
 #else
 
 template< class C >
-inline BOOST_DEDUCED_TYPENAME range_reverse_iterator<C>::type
+inline NDNBOOST_DEDUCED_TYPENAME range_reverse_iterator<C>::type
 rend( C& c )
 {
-    typedef BOOST_DEDUCED_TYPENAME range_reverse_iterator<C>::type
+    typedef NDNBOOST_DEDUCED_TYPENAME range_reverse_iterator<C>::type
                iter_type;
     return iter_type( ndnboost::begin( c ) );
 }
 
 template< class C >
-inline BOOST_DEDUCED_TYPENAME range_reverse_iterator<const C>::type
+inline NDNBOOST_DEDUCED_TYPENAME range_reverse_iterator<const C>::type
 rend( const C& c )
 {
-    typedef BOOST_DEDUCED_TYPENAME range_reverse_iterator<const C>::type
+    typedef NDNBOOST_DEDUCED_TYPENAME range_reverse_iterator<const C>::type
         iter_type;
     return iter_type( ndnboost::begin( c ) );
 }
@@ -53,7 +53,7 @@
 #endif
 
 template< class T >
-inline BOOST_DEDUCED_TYPENAME range_reverse_iterator<const T>::type
+inline NDNBOOST_DEDUCED_TYPENAME range_reverse_iterator<const T>::type
 const_rend( const T& r )
 {
     return ndnboost::rend( r );
diff --git a/include/ndnboost/range/result_iterator.hpp b/include/ndnboost/range/result_iterator.hpp
index 5c0dd75..006e77d 100644
--- a/include/ndnboost/range/result_iterator.hpp
+++ b/include/ndnboost/range/result_iterator.hpp
@@ -8,8 +8,8 @@
 // For more information, see http://www.boost.org/libs/range/
 //
 
-#ifndef BOOST_RANGE_RESULT_ITERATOR_HPP
-#define BOOST_RANGE_RESULT_ITERATOR_HPP
+#ifndef NDNBOOST_RANGE_RESULT_ITERATOR_HPP
+#define NDNBOOST_RANGE_RESULT_ITERATOR_HPP
 
 #if defined(_MSC_VER) && (_MSC_VER >= 1020)
 # pragma once
diff --git a/include/ndnboost/range/reverse_iterator.hpp b/include/ndnboost/range/reverse_iterator.hpp
index 68fe03d..a50f78b 100644
--- a/include/ndnboost/range/reverse_iterator.hpp
+++ b/include/ndnboost/range/reverse_iterator.hpp
@@ -8,8 +8,8 @@
 // For more information, see http://www.boost.org/libs/range/
 //
 
-#ifndef BOOST_RANGE_REVERSE_ITERATOR_HPP
-#define BOOST_RANGE_REVERSE_ITERATOR_HPP
+#ifndef NDNBOOST_RANGE_REVERSE_ITERATOR_HPP
+#define NDNBOOST_RANGE_REVERSE_ITERATOR_HPP
 
 #if defined(_MSC_VER) && (_MSC_VER >= 1200)
 # pragma once
@@ -30,7 +30,7 @@
     struct range_reverse_iterator
     {
         typedef reverse_iterator< 
-            BOOST_DEDUCED_TYPENAME range_iterator<C>::type > type;
+            NDNBOOST_DEDUCED_TYPENAME range_iterator<C>::type > type;
     };
     
 
diff --git a/include/ndnboost/range/size.hpp b/include/ndnboost/range/size.hpp
index 9164e02..1952550 100644
--- a/include/ndnboost/range/size.hpp
+++ b/include/ndnboost/range/size.hpp
@@ -8,8 +8,8 @@
 // For more information, see http://www.boost.org/libs/range/
 //
 
-#ifndef BOOST_RANGE_SIZE_HPP
-#define BOOST_RANGE_SIZE_HPP
+#ifndef NDNBOOST_RANGE_SIZE_HPP
+#define NDNBOOST_RANGE_SIZE_HPP
 
 #if defined(_MSC_VER) && (_MSC_VER >= 1200)
 # pragma once
@@ -26,21 +26,21 @@
     namespace range_detail
     {
         template<class SinglePassRange>
-        inline BOOST_DEDUCED_TYPENAME range_size<const SinglePassRange>::type
+        inline NDNBOOST_DEDUCED_TYPENAME range_size<const SinglePassRange>::type
         range_calculate_size(const SinglePassRange& rng)
         {
-            BOOST_ASSERT( (ndnboost::end(rng) - ndnboost::begin(rng)) >= 0 &&
+            NDNBOOST_ASSERT( (ndnboost::end(rng) - ndnboost::begin(rng)) >= 0 &&
                           "reachability invariant broken!" );
             return ndnboost::end(rng) - ndnboost::begin(rng);
         }
     }
 
     template<class SinglePassRange>
-    inline BOOST_DEDUCED_TYPENAME range_size<const SinglePassRange>::type
+    inline NDNBOOST_DEDUCED_TYPENAME range_size<const SinglePassRange>::type
     size(const SinglePassRange& rng)
     {
-#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) && \
-    !BOOST_WORKAROUND(__GNUC__, < 3) \
+#if !NDNBOOST_WORKAROUND(__BORLANDC__, NDNBOOST_TESTED_AT(0x564)) && \
+    !NDNBOOST_WORKAROUND(__GNUC__, < 3) \
     /**/
         using namespace range_detail;
 #endif
diff --git a/include/ndnboost/range/size_type.hpp b/include/ndnboost/range/size_type.hpp
index 0ae8a87..ce48639 100644
--- a/include/ndnboost/range/size_type.hpp
+++ b/include/ndnboost/range/size_type.hpp
@@ -8,8 +8,8 @@
 // For more information, see http://www.boost.org/libs/range/
 //
 
-#ifndef BOOST_RANGE_SIZE_TYPE_HPP
-#define BOOST_RANGE_SIZE_TYPE_HPP
+#ifndef NDNBOOST_RANGE_SIZE_TYPE_HPP
+#define NDNBOOST_RANGE_SIZE_TYPE_HPP
 
 #if defined(_MSC_VER) && (_MSC_VER >= 1020)
 # pragma once
@@ -17,7 +17,7 @@
 
 #include <ndnboost/range/config.hpp>
 #include <ndnboost/range/difference_type.hpp>
-#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#ifdef NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 #include <ndnboost/range/detail/size_type.hpp>
 #else
 
@@ -43,7 +43,7 @@
             struct yes_type { char dummy[2]; };
 
             template<typename C>
-            static yes_type test(BOOST_DEDUCED_TYPENAME C::size_type x);
+            static yes_type test(NDNBOOST_DEDUCED_TYPENAME C::size_type x);
 
             template<typename C, typename Arg>
             static no_type test(Arg x);
@@ -55,18 +55,18 @@
         template<typename C, typename Enabler=void>
         struct range_size
         {
-            typedef BOOST_DEDUCED_TYPENAME make_unsigned<
-                BOOST_DEDUCED_TYPENAME range_difference<C>::type
+            typedef NDNBOOST_DEDUCED_TYPENAME make_unsigned<
+                NDNBOOST_DEDUCED_TYPENAME range_difference<C>::type
             >::type type;
         };
 
         template<typename C>
         struct range_size<
             C,
-            BOOST_DEDUCED_TYPENAME enable_if<has_size_type<C>, void>::type
+            NDNBOOST_DEDUCED_TYPENAME enable_if<has_size_type<C>, void>::type
         >
         {
-            typedef BOOST_DEDUCED_TYPENAME C::size_type type;
+            typedef NDNBOOST_DEDUCED_TYPENAME C::size_type type;
         };
 
     }
@@ -83,7 +83,7 @@
 
 } // namespace ndnboost
 
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#endif // NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 
 
 #endif
diff --git a/include/ndnboost/range/value_type.hpp b/include/ndnboost/range/value_type.hpp
index 855ed05..655ea60 100644
--- a/include/ndnboost/range/value_type.hpp
+++ b/include/ndnboost/range/value_type.hpp
@@ -8,8 +8,8 @@
 // For more information, see http://www.boost.org/libs/range/
 //
 
-#ifndef BOOST_RANGE_VALUE_TYPE_HPP
-#define BOOST_RANGE_VALUE_TYPE_HPP
+#ifndef NDNBOOST_RANGE_VALUE_TYPE_HPP
+#define NDNBOOST_RANGE_VALUE_TYPE_HPP
 
 #if defined(_MSC_VER) && (_MSC_VER >= 1200)
 # pragma once
@@ -18,7 +18,7 @@
 #include <ndnboost/range/config.hpp>
 #include <ndnboost/range/iterator.hpp>
 
-//#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+//#ifdef NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 //#include <ndnboost/range/detail/value_type.hpp>
 //#else
 
diff --git a/include/ndnboost/ref.hpp b/include/ndnboost/ref.hpp
index ad20bca..756ecd6 100644
--- a/include/ndnboost/ref.hpp
+++ b/include/ndnboost/ref.hpp
@@ -1,5 +1,5 @@
-#ifndef BOOST_REF_HPP_INCLUDED
-#define BOOST_REF_HPP_INCLUDED
+#ifndef NDNBOOST_REF_HPP_INCLUDED
+#define NDNBOOST_REF_HPP_INCLUDED
 
 // MS compatible compilers support #pragma once
 
@@ -34,7 +34,7 @@
 public:
     typedef T type;
 
-#if defined( BOOST_MSVC ) && BOOST_WORKAROUND( BOOST_MSVC, < 1300 )
+#if defined( NDNBOOST_MSVC ) && NDNBOOST_WORKAROUND( NDNBOOST_MSVC, < 1300 )
 
     explicit reference_wrapper(T& t): t_(&t) {}
 
@@ -55,25 +55,25 @@
     T* t_;
 };
 
-# if defined( __BORLANDC__ ) && BOOST_WORKAROUND( __BORLANDC__, BOOST_TESTED_AT(0x581) )
-#  define BOOST_REF_CONST
+# if defined( __BORLANDC__ ) && NDNBOOST_WORKAROUND( __BORLANDC__, NDNBOOST_TESTED_AT(0x581) )
+#  define NDNBOOST_REF_CONST
 # else
-#  define BOOST_REF_CONST const
+#  define NDNBOOST_REF_CONST const
 # endif
 
-template<class T> inline reference_wrapper<T> BOOST_REF_CONST ref(T & t)
+template<class T> inline reference_wrapper<T> NDNBOOST_REF_CONST ref(T & t)
 { 
     return reference_wrapper<T>(t);
 }
 
-template<class T> inline reference_wrapper<T const> BOOST_REF_CONST cref(T const & t)
+template<class T> inline reference_wrapper<T const> NDNBOOST_REF_CONST cref(T const & t)
 {
     return reference_wrapper<T const>(t);
 }
 
-# undef BOOST_REF_CONST
+# undef NDNBOOST_REF_CONST
 
-# ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+# ifndef NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 
 template<typename T>
 class is_reference_wrapper
@@ -104,7 +104,7 @@
 /**/
 
 AUX_REFERENCE_WRAPPER_METAFUNCTIONS_DEF(reference_wrapper<T>)
-#if !defined(BOOST_NO_CV_SPECIALIZATIONS)
+#if !defined(NDNBOOST_NO_CV_SPECIALIZATIONS)
 AUX_REFERENCE_WRAPPER_METAFUNCTIONS_DEF(reference_wrapper<T> const)
 AUX_REFERENCE_WRAPPER_METAFUNCTIONS_DEF(reference_wrapper<T> volatile)
 AUX_REFERENCE_WRAPPER_METAFUNCTIONS_DEF(reference_wrapper<T> const volatile)
@@ -156,7 +156,7 @@
 class is_reference_wrapper
 {
  public:
-    BOOST_STATIC_CONSTANT(
+    NDNBOOST_STATIC_CONSTANT(
         bool, value = (
              sizeof(detail::is_reference_wrapper_test(type<T>()))
             == sizeof(detail::yes_reference_wrapper_t)));
@@ -171,7 +171,7 @@
       >::template apply<T>
 {};
 
-# endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+# endif // NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 
 template <class T> inline typename unwrap_reference<T>::type&
 unwrap_ref(T& t)
@@ -186,4 +186,4 @@
 
 } // namespace ndnboost
 
-#endif // #ifndef BOOST_REF_HPP_INCLUDED
+#endif // #ifndef NDNBOOST_REF_HPP_INCLUDED
diff --git a/include/ndnboost/scoped_array.hpp b/include/ndnboost/scoped_array.hpp
index 260b52d..99bf686 100644
--- a/include/ndnboost/scoped_array.hpp
+++ b/include/ndnboost/scoped_array.hpp
@@ -1,5 +1,5 @@
-#ifndef BOOST_SCOPED_ARRAY_HPP_INCLUDED
-#define BOOST_SCOPED_ARRAY_HPP_INCLUDED
+#ifndef NDNBOOST_SCOPED_ARRAY_HPP_INCLUDED
+#define NDNBOOST_SCOPED_ARRAY_HPP_INCLUDED
 
 //  (C) Copyright Greg Colvin and Beman Dawes 1998, 1999.
 //  Copyright (c) 2001, 2002 Peter Dimov
@@ -13,4 +13,4 @@
 
 #include <ndnboost/smart_ptr/scoped_array.hpp>
 
-#endif  // #ifndef BOOST_SCOPED_ARRAY_HPP_INCLUDED
+#endif  // #ifndef NDNBOOST_SCOPED_ARRAY_HPP_INCLUDED
diff --git a/include/ndnboost/scoped_ptr.hpp b/include/ndnboost/scoped_ptr.hpp
index c2178d1..f43bb43 100644
--- a/include/ndnboost/scoped_ptr.hpp
+++ b/include/ndnboost/scoped_ptr.hpp
@@ -1,5 +1,5 @@
-#ifndef BOOST_SCOPED_PTR_HPP_INCLUDED
-#define BOOST_SCOPED_PTR_HPP_INCLUDED
+#ifndef NDNBOOST_SCOPED_PTR_HPP_INCLUDED
+#define NDNBOOST_SCOPED_PTR_HPP_INCLUDED
 
 //  (C) Copyright Greg Colvin and Beman Dawes 1998, 1999.
 //  Copyright (c) 2001, 2002 Peter Dimov
@@ -13,4 +13,4 @@
 
 #include <ndnboost/smart_ptr/scoped_ptr.hpp>
 
-#endif // #ifndef BOOST_SCOPED_PTR_HPP_INCLUDED
+#endif // #ifndef NDNBOOST_SCOPED_PTR_HPP_INCLUDED
diff --git a/include/ndnboost/shared_array.hpp b/include/ndnboost/shared_array.hpp
index 3da084d..b4cec20 100644
--- a/include/ndnboost/shared_array.hpp
+++ b/include/ndnboost/shared_array.hpp
@@ -1,5 +1,5 @@
-#ifndef BOOST_SHARED_ARRAY_HPP_INCLUDED
-#define BOOST_SHARED_ARRAY_HPP_INCLUDED
+#ifndef NDNBOOST_SHARED_ARRAY_HPP_INCLUDED
+#define NDNBOOST_SHARED_ARRAY_HPP_INCLUDED
 
 //
 //  shared_array.hpp
@@ -16,4 +16,4 @@
 
 #include <ndnboost/smart_ptr/shared_array.hpp>
 
-#endif  // #ifndef BOOST_SHARED_ARRAY_HPP_INCLUDED
+#endif  // #ifndef NDNBOOST_SHARED_ARRAY_HPP_INCLUDED
diff --git a/include/ndnboost/shared_ptr.hpp b/include/ndnboost/shared_ptr.hpp
index d51926a..33ff8d7 100644
--- a/include/ndnboost/shared_ptr.hpp
+++ b/include/ndnboost/shared_ptr.hpp
@@ -1,5 +1,5 @@
-#ifndef BOOST_SHARED_PTR_HPP_INCLUDED
-#define BOOST_SHARED_PTR_HPP_INCLUDED
+#ifndef NDNBOOST_SHARED_PTR_HPP_INCLUDED
+#define NDNBOOST_SHARED_PTR_HPP_INCLUDED
 
 //
 //  shared_ptr.hpp
@@ -16,4 +16,4 @@
 
 #include <ndnboost/smart_ptr/shared_ptr.hpp>
 
-#endif  // #ifndef BOOST_SHARED_PTR_HPP_INCLUDED
+#endif  // #ifndef NDNBOOST_SHARED_PTR_HPP_INCLUDED
diff --git a/include/ndnboost/smart_ptr/allocate_shared_array.hpp b/include/ndnboost/smart_ptr/allocate_shared_array.hpp
index 3a78bd2..2e91bf9 100644
--- a/include/ndnboost/smart_ptr/allocate_shared_array.hpp
+++ b/include/ndnboost/smart_ptr/allocate_shared_array.hpp
@@ -6,15 +6,15 @@
  * Version 1.0. (See accompanying file LICENSE_1_0.txt
  * or copy at http://boost.org/LICENSE_1_0.txt)
  */
-#ifndef BOOST_SMART_PTR_ALLOCATE_SHARED_ARRAY_HPP
-#define BOOST_SMART_PTR_ALLOCATE_SHARED_ARRAY_HPP
+#ifndef NDNBOOST_SMART_PTR_ALLOCATE_SHARED_ARRAY_HPP
+#define NDNBOOST_SMART_PTR_ALLOCATE_SHARED_ARRAY_HPP
 
 #include <ndnboost/smart_ptr/shared_ptr.hpp>
 #include <ndnboost/smart_ptr/detail/allocate_array_helper.hpp>
 #include <ndnboost/smart_ptr/detail/array_deleter.hpp>
 #include <ndnboost/smart_ptr/detail/array_traits.hpp>
 #include <ndnboost/smart_ptr/detail/sp_if_array.hpp>
-#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
+#if !defined(NDNBOOST_NO_CXX11_HDR_INITIALIZER_LIST)
 #include <initializer_list>
 #endif
 
@@ -36,7 +36,7 @@
         d2->init(p2);
         return ndnboost::shared_ptr<T>(s1, p1);
     }
-#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
+#if !defined(NDNBOOST_NO_CXX11_VARIADIC_TEMPLATES) && !defined(NDNBOOST_NO_CXX11_RVALUE_REFERENCES)
     template<typename T, typename A, typename... Args>
     inline typename ndnboost::detail::sp_if_array<T>::type
     allocate_shared(const A& allocator, std::size_t size, Args&&... args) {
@@ -74,7 +74,7 @@
         return ndnboost::shared_ptr<T>(s1, p1);
     }
 #endif
-#if !defined(BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX)
+#if !defined(NDNBOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX)
     template<typename T, typename A>
     inline typename ndnboost::detail::sp_if_size_array<T>::type
     allocate_shared(const A& allocator, const T& list) {
@@ -145,7 +145,7 @@
         d2->template init_list<M>(p2, p3);
         return ndnboost::shared_ptr<T>(s1, p1);
     }
-#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
+#if !defined(NDNBOOST_NO_CXX11_HDR_INITIALIZER_LIST)
     template<typename T, typename A>
     inline typename ndnboost::detail::sp_if_array<T>::type
     allocate_shared(const A& allocator,
@@ -168,7 +168,7 @@
         return ndnboost::shared_ptr<T>(s1, p1);
     }
 #endif
-#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
+#if !defined(NDNBOOST_NO_CXX11_RVALUE_REFERENCES)
     template<typename T, typename A>
     inline typename ndnboost::detail::sp_if_array<T>::type
     allocate_shared(const A& allocator, std::size_t size,
diff --git a/include/ndnboost/smart_ptr/bad_weak_ptr.hpp b/include/ndnboost/smart_ptr/bad_weak_ptr.hpp
index df2879d..c8083c4 100644
--- a/include/ndnboost/smart_ptr/bad_weak_ptr.hpp
+++ b/include/ndnboost/smart_ptr/bad_weak_ptr.hpp
@@ -1,5 +1,5 @@
-#ifndef BOOST_SMART_PTR_BAD_WEAK_PTR_HPP_INCLUDED
-#define BOOST_SMART_PTR_BAD_WEAK_PTR_HPP_INCLUDED
+#ifndef NDNBOOST_SMART_PTR_BAD_WEAK_PTR_HPP_INCLUDED
+#define NDNBOOST_SMART_PTR_BAD_WEAK_PTR_HPP_INCLUDED
 
 // MS compatible compilers support #pragma once
 
@@ -56,4 +56,4 @@
 # pragma warn .8026     // Functions with excep. spec. are not expanded inline
 #endif
 
-#endif  // #ifndef BOOST_SMART_PTR_BAD_WEAK_PTR_HPP_INCLUDED
+#endif  // #ifndef NDNBOOST_SMART_PTR_BAD_WEAK_PTR_HPP_INCLUDED
diff --git a/include/ndnboost/smart_ptr/detail/allocate_array_helper.hpp b/include/ndnboost/smart_ptr/detail/allocate_array_helper.hpp
index a0ad380..e9801dc 100644
--- a/include/ndnboost/smart_ptr/detail/allocate_array_helper.hpp
+++ b/include/ndnboost/smart_ptr/detail/allocate_array_helper.hpp
@@ -6,8 +6,8 @@
  * Version 1.0. (See accompanying file LICENSE_1_0.txt 
  * or copy at http://boost.org/LICENSE_1_0.txt)
  */
-#ifndef BOOST_SMART_PTR_DETAIL_ALLOCATE_ARRAY_HELPER_HPP
-#define BOOST_SMART_PTR_DETAIL_ALLOCATE_ARRAY_HELPER_HPP
+#ifndef NDNBOOST_SMART_PTR_DETAIL_ALLOCATE_ARRAY_HELPER_HPP
+#define NDNBOOST_SMART_PTR_DETAIL_ALLOCATE_ARRAY_HELPER_HPP
 
 #include <ndnboost/type_traits/alignment_of.hpp>
 
diff --git a/include/ndnboost/smart_ptr/detail/array_deleter.hpp b/include/ndnboost/smart_ptr/detail/array_deleter.hpp
index 14dcfb2..67ae9fd 100644
--- a/include/ndnboost/smart_ptr/detail/array_deleter.hpp
+++ b/include/ndnboost/smart_ptr/detail/array_deleter.hpp
@@ -6,8 +6,8 @@
  * Version 1.0. (See accompanying file LICENSE_1_0.txt
  * or copy at http://boost.org/LICENSE_1_0.txt)
  */
-#ifndef BOOST_SMART_PTR_DETAIL_ARRAY_DELETER_HPP
-#define BOOST_SMART_PTR_DETAIL_ARRAY_DELETER_HPP
+#ifndef NDNBOOST_SMART_PTR_DETAIL_ARRAY_DELETER_HPP
+#define NDNBOOST_SMART_PTR_DETAIL_ARRAY_DELETER_HPP
 
 #include <ndnboost/smart_ptr/detail/array_utility.hpp>
 #include <ndnboost/smart_ptr/detail/sp_forward.hpp>
@@ -32,12 +32,12 @@
                 array_init(memory, size);
                 object = memory;
             }
-#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
+#if !defined(NDNBOOST_NO_CXX11_RVALUE_REFERENCES)
             void init(T* memory, T&& value) {
                 array_init_value(memory, size, sp_forward<T>(value));
                 object = memory;                
             }
-#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
+#if !defined(NDNBOOST_NO_CXX11_VARIADIC_TEMPLATES)
             template<typename... Args>
             void init(T* memory, Args&&... args) {
                 array_init_args(memory, size, sp_forward<Args>(args)...);
@@ -83,12 +83,12 @@
                 array_init(memory, N);
                 object = memory;
             }
-#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
+#if !defined(NDNBOOST_NO_CXX11_RVALUE_REFERENCES)
             void init(T* memory, T&& value) {
                 array_init_value(memory, N, sp_forward<T>(value));
                 object = memory;                
             }
-#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
+#if !defined(NDNBOOST_NO_CXX11_VARIADIC_TEMPLATES)
             template<typename... Args>
             void init(T* memory, Args&&... args) {
                 array_init_args(memory, N, sp_forward<Args>(args)...);
diff --git a/include/ndnboost/smart_ptr/detail/array_traits.hpp b/include/ndnboost/smart_ptr/detail/array_traits.hpp
index 70d2391..179b776 100644
--- a/include/ndnboost/smart_ptr/detail/array_traits.hpp
+++ b/include/ndnboost/smart_ptr/detail/array_traits.hpp
@@ -6,8 +6,8 @@
  * Version 1.0. (See accompanying file LICENSE_1_0.txt 
  * or copy at http://boost.org/LICENSE_1_0.txt)
  */
-#ifndef BOOST_SMART_PTR_DETAIL_ARRAY_TRAITS_HPP
-#define BOOST_SMART_PTR_DETAIL_ARRAY_TRAITS_HPP
+#ifndef NDNBOOST_SMART_PTR_DETAIL_ARRAY_TRAITS_HPP
+#define NDNBOOST_SMART_PTR_DETAIL_ARRAY_TRAITS_HPP
 
 #include <ndnboost/type_traits/remove_cv.hpp>
 
diff --git a/include/ndnboost/smart_ptr/detail/array_utility.hpp b/include/ndnboost/smart_ptr/detail/array_utility.hpp
index c482b54..8696365 100644
--- a/include/ndnboost/smart_ptr/detail/array_utility.hpp
+++ b/include/ndnboost/smart_ptr/detail/array_utility.hpp
@@ -6,8 +6,8 @@
  * Version 1.0. (See accompanying file LICENSE_1_0.txt 
  * or copy at http://boost.org/LICENSE_1_0.txt)
  */
-#ifndef BOOST_SMART_PTR_DETAIL_ARRAY_UTILITY_HPP
-#define BOOST_SMART_PTR_DETAIL_ARRAY_UTILITY_HPP
+#ifndef NDNBOOST_SMART_PTR_DETAIL_ARRAY_UTILITY_HPP
+#define NDNBOOST_SMART_PTR_DETAIL_ARRAY_UTILITY_HPP
 
 #include <ndnboost/config.hpp>
 #include <ndnboost/type_traits/has_trivial_constructor.hpp>
@@ -37,7 +37,7 @@
         }
         template<typename T>
         inline void array_init(T* memory, std::size_t size, ndnboost::false_type) {
-#if !defined(BOOST_NO_EXCEPTIONS)
+#if !defined(NDNBOOST_NO_EXCEPTIONS)
             std::size_t i = 0;
             try {
                 for (; i < size; i++) {
@@ -60,10 +60,10 @@
             ndnboost::has_trivial_default_constructor<T> type;            
             array_init(memory, size, type);
         }
-#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
+#if !defined(NDNBOOST_NO_CXX11_RVALUE_REFERENCES)
         template<typename T>
         inline void array_init_value(T* memory, std::size_t size, T&& value) {
-#if !defined(BOOST_NO_EXCEPTIONS)
+#if !defined(NDNBOOST_NO_EXCEPTIONS)
             std::size_t i = 0;
             try {
                 for (; i < size; i++) {
@@ -81,10 +81,10 @@
             }
 #endif
         }
-#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
+#if !defined(NDNBOOST_NO_CXX11_VARIADIC_TEMPLATES)
         template<typename T, typename... Args>
         inline void array_init_args(T* memory, std::size_t size, Args&&... args) {
-#if !defined(BOOST_NO_EXCEPTIONS)
+#if !defined(NDNBOOST_NO_EXCEPTIONS)
             std::size_t i = 0;
             try {
                 for (; i < size; i++) {
@@ -106,7 +106,7 @@
 #endif
         template<typename T>
         inline void array_init_list(T* memory, std::size_t size, const T* list) {
-#if !defined(BOOST_NO_EXCEPTIONS)
+#if !defined(NDNBOOST_NO_EXCEPTIONS)
             std::size_t i = 0;
             try {
                 for (; i < size; i++) {
@@ -126,7 +126,7 @@
         }
         template<typename T, std::size_t N>
         inline void array_init_list(T* memory, std::size_t size, const T* list) {
-#if !defined(BOOST_NO_EXCEPTIONS)
+#if !defined(NDNBOOST_NO_EXCEPTIONS)
             std::size_t i = 0;
             try {
                 for (; i < size; i++) {
@@ -149,7 +149,7 @@
         }
         template<typename T>
         inline void array_noinit(T* memory, std::size_t size, ndnboost::false_type) {
-#if !defined(BOOST_NO_EXCEPTIONS)
+#if !defined(NDNBOOST_NO_EXCEPTIONS)
             std::size_t i = 0;
             try {
                 for (; i < size; i++) {
diff --git a/include/ndnboost/smart_ptr/detail/atomic_count.hpp b/include/ndnboost/smart_ptr/detail/atomic_count.hpp
index df19f10..9d55f25 100644
--- a/include/ndnboost/smart_ptr/detail/atomic_count.hpp
+++ b/include/ndnboost/smart_ptr/detail/atomic_count.hpp
@@ -1,5 +1,5 @@
-#ifndef BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_HPP_INCLUDED
+#ifndef NDNBOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_HPP_INCLUDED
+#define NDNBOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_HPP_INCLUDED
 
 // MS compatible compilers support #pragma once
 
@@ -75,7 +75,7 @@
 #include <ndnboost/config.hpp>
 #include <ndnboost/smart_ptr/detail/sp_has_sync.hpp>
 
-#ifndef BOOST_HAS_THREADS
+#ifndef NDNBOOST_HAS_THREADS
 
 namespace ndnboost
 {
@@ -89,7 +89,7 @@
 
 }
 
-#elif defined(BOOST_AC_USE_PTHREADS)
+#elif defined(NDNBOOST_AC_USE_PTHREADS)
 #  include <ndnboost/smart_ptr/detail/atomic_count_pthreads.hpp>
 
 #elif defined( __GNUC__ ) && ( defined( __i386__ ) || defined( __x86_64__ ) )
@@ -98,22 +98,22 @@
 #elif defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
 #  include <ndnboost/smart_ptr/detail/atomic_count_win32.hpp>
 
-#elif defined( BOOST_SP_HAS_SYNC )
+#elif defined( NDNBOOST_SP_HAS_SYNC )
 #  include <ndnboost/smart_ptr/detail/atomic_count_sync.hpp>
 
 #elif defined(__GLIBCPP__) || defined(__GLIBCXX__)
 #  include <ndnboost/smart_ptr/detail/atomic_count_gcc.hpp>
 
-#elif defined(BOOST_HAS_PTHREADS)
+#elif defined(NDNBOOST_HAS_PTHREADS)
 
-#  define BOOST_AC_USE_PTHREADS
+#  define NDNBOOST_AC_USE_PTHREADS
 #  include <ndnboost/smart_ptr/detail/atomic_count_pthreads.hpp>
 
 #else
 
-// Use #define BOOST_DISABLE_THREADS to avoid the error
+// Use #define NDNBOOST_DISABLE_THREADS to avoid the error
 #error Unrecognized threading platform
 
 #endif
 
-#endif // #ifndef BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_HPP_INCLUDED
+#endif // #ifndef NDNBOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_HPP_INCLUDED
diff --git a/include/ndnboost/smart_ptr/detail/atomic_count_gcc.hpp b/include/ndnboost/smart_ptr/detail/atomic_count_gcc.hpp
index 2b34800..7720cdf 100644
--- a/include/ndnboost/smart_ptr/detail/atomic_count_gcc.hpp
+++ b/include/ndnboost/smart_ptr/detail/atomic_count_gcc.hpp
@@ -1,5 +1,5 @@
-#ifndef BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_GCC_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_GCC_HPP_INCLUDED
+#ifndef NDNBOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_GCC_HPP_INCLUDED
+#define NDNBOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_GCC_HPP_INCLUDED
 
 //
 //  ndnboost/detail/atomic_count_gcc.hpp
@@ -69,4 +69,4 @@
 
 } // namespace ndnboost
 
-#endif // #ifndef BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_GCC_HPP_INCLUDED
+#endif // #ifndef NDNBOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_GCC_HPP_INCLUDED
diff --git a/include/ndnboost/smart_ptr/detail/atomic_count_gcc_x86.hpp b/include/ndnboost/smart_ptr/detail/atomic_count_gcc_x86.hpp
index 60ac65c..04b1e1d 100644
--- a/include/ndnboost/smart_ptr/detail/atomic_count_gcc_x86.hpp
+++ b/include/ndnboost/smart_ptr/detail/atomic_count_gcc_x86.hpp
@@ -1,5 +1,5 @@
-#ifndef BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_GCC_X86_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_GCC_X86_HPP_INCLUDED
+#ifndef NDNBOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_GCC_X86_HPP_INCLUDED
+#define NDNBOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_GCC_X86_HPP_INCLUDED
 
 //
 //  ndnboost/detail/atomic_count_gcc_x86.hpp
@@ -74,4 +74,4 @@
 
 } // namespace ndnboost
 
-#endif // #ifndef BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_GCC_X86_HPP_INCLUDED
+#endif // #ifndef NDNBOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_GCC_X86_HPP_INCLUDED
diff --git a/include/ndnboost/smart_ptr/detail/atomic_count_pthreads.hpp b/include/ndnboost/smart_ptr/detail/atomic_count_pthreads.hpp
index 85dbacf..bf0cbe8 100644
--- a/include/ndnboost/smart_ptr/detail/atomic_count_pthreads.hpp
+++ b/include/ndnboost/smart_ptr/detail/atomic_count_pthreads.hpp
@@ -1,5 +1,5 @@
-#ifndef BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_PTHREADS_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_PTHREADS_HPP_INCLUDED
+#ifndef NDNBOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_PTHREADS_HPP_INCLUDED
+#define NDNBOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_PTHREADS_HPP_INCLUDED
 
 //
 //  ndnboost/detail/atomic_count_pthreads.hpp
@@ -18,7 +18,7 @@
 //    inefficiencies. Example: a class with two atomic_count members
 //    can get away with a single mutex.
 //
-//  Users can detect this situation by checking BOOST_AC_USE_PTHREADS.
+//  Users can detect this situation by checking NDNBOOST_AC_USE_PTHREADS.
 //
 
 namespace ndnboost
@@ -93,4 +93,4 @@
 
 } // namespace ndnboost
 
-#endif // #ifndef BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_PTHREADS_HPP_INCLUDED
+#endif // #ifndef NDNBOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_PTHREADS_HPP_INCLUDED
diff --git a/include/ndnboost/smart_ptr/detail/atomic_count_sync.hpp b/include/ndnboost/smart_ptr/detail/atomic_count_sync.hpp
index 45aa1b5..ee1fa46 100644
--- a/include/ndnboost/smart_ptr/detail/atomic_count_sync.hpp
+++ b/include/ndnboost/smart_ptr/detail/atomic_count_sync.hpp
@@ -1,5 +1,5 @@
-#ifndef BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_SYNC_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_SYNC_HPP_INCLUDED
+#ifndef NDNBOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_SYNC_HPP_INCLUDED
+#define NDNBOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_SYNC_HPP_INCLUDED
 
 //
 //  ndnboost/detail/atomic_count_sync.hpp
@@ -58,4 +58,4 @@
 
 } // namespace ndnboost
 
-#endif // #ifndef BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_SYNC_HPP_INCLUDED
+#endif // #ifndef NDNBOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_SYNC_HPP_INCLUDED
diff --git a/include/ndnboost/smart_ptr/detail/atomic_count_win32.hpp b/include/ndnboost/smart_ptr/detail/atomic_count_win32.hpp
index de156ef..31c2b16 100644
--- a/include/ndnboost/smart_ptr/detail/atomic_count_win32.hpp
+++ b/include/ndnboost/smart_ptr/detail/atomic_count_win32.hpp
@@ -1,5 +1,5 @@
-#ifndef BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_WIN32_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_WIN32_HPP_INCLUDED
+#ifndef NDNBOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_WIN32_HPP_INCLUDED
+#define NDNBOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_WIN32_HPP_INCLUDED
 
 // MS compatible compilers support #pragma once
 
@@ -35,12 +35,12 @@
 
     long operator++()
     {
-        return BOOST_INTERLOCKED_INCREMENT( &value_ );
+        return NDNBOOST_INTERLOCKED_INCREMENT( &value_ );
     }
 
     long operator--()
     {
-        return BOOST_INTERLOCKED_DECREMENT( &value_ );
+        return NDNBOOST_INTERLOCKED_DECREMENT( &value_ );
     }
 
     operator long() const
@@ -60,4 +60,4 @@
 
 } // namespace ndnboost
 
-#endif // #ifndef BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_WIN32_HPP_INCLUDED
+#endif // #ifndef NDNBOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_WIN32_HPP_INCLUDED
diff --git a/include/ndnboost/smart_ptr/detail/lightweight_mutex.hpp b/include/ndnboost/smart_ptr/detail/lightweight_mutex.hpp
index f325bd5..07aacf4 100644
--- a/include/ndnboost/smart_ptr/detail/lightweight_mutex.hpp
+++ b/include/ndnboost/smart_ptr/detail/lightweight_mutex.hpp
@@ -1,5 +1,5 @@
-#ifndef BOOST_SMART_PTR_DETAIL_LIGHTWEIGHT_MUTEX_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_LIGHTWEIGHT_MUTEX_HPP_INCLUDED
+#ifndef NDNBOOST_SMART_PTR_DETAIL_LIGHTWEIGHT_MUTEX_HPP_INCLUDED
+#define NDNBOOST_SMART_PTR_DETAIL_LIGHTWEIGHT_MUTEX_HPP_INCLUDED
 
 // MS compatible compilers support #pragma once
 
@@ -28,15 +28,15 @@
 
 #include <ndnboost/config.hpp>
 
-#if !defined(BOOST_HAS_THREADS)
+#if !defined(NDNBOOST_HAS_THREADS)
 #  include <ndnboost/smart_ptr/detail/lwm_nop.hpp>
-#elif defined(BOOST_HAS_PTHREADS)
+#elif defined(NDNBOOST_HAS_PTHREADS)
 #  include <ndnboost/smart_ptr/detail/lwm_pthreads.hpp>
-#elif defined(BOOST_HAS_WINTHREADS) || defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
+#elif defined(NDNBOOST_HAS_WINTHREADS) || defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
 #  include <ndnboost/smart_ptr/detail/lwm_win32_cs.hpp>
 #else
-// Use #define BOOST_DISABLE_THREADS to avoid the error
+// Use #define NDNBOOST_DISABLE_THREADS to avoid the error
 #  error Unrecognized threading platform
 #endif
 
-#endif // #ifndef BOOST_SMART_PTR_DETAIL_LIGHTWEIGHT_MUTEX_HPP_INCLUDED
+#endif // #ifndef NDNBOOST_SMART_PTR_DETAIL_LIGHTWEIGHT_MUTEX_HPP_INCLUDED
diff --git a/include/ndnboost/smart_ptr/detail/lwm_nop.hpp b/include/ndnboost/smart_ptr/detail/lwm_nop.hpp
index 58e3a8e..abf56cc 100644
--- a/include/ndnboost/smart_ptr/detail/lwm_nop.hpp
+++ b/include/ndnboost/smart_ptr/detail/lwm_nop.hpp
@@ -1,5 +1,5 @@
-#ifndef BOOST_SMART_PTR_DETAIL_LWM_NOP_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_LWM_NOP_HPP_INCLUDED
+#ifndef NDNBOOST_SMART_PTR_DETAIL_LWM_NOP_HPP_INCLUDED
+#define NDNBOOST_SMART_PTR_DETAIL_LWM_NOP_HPP_INCLUDED
 
 // MS compatible compilers support #pragma once
 
@@ -34,4 +34,4 @@
 
 } // namespace ndnboost
 
-#endif // #ifndef BOOST_SMART_PTR_DETAIL_LWM_NOP_HPP_INCLUDED
+#endif // #ifndef NDNBOOST_SMART_PTR_DETAIL_LWM_NOP_HPP_INCLUDED
diff --git a/include/ndnboost/smart_ptr/detail/lwm_pthreads.hpp b/include/ndnboost/smart_ptr/detail/lwm_pthreads.hpp
index c7314ae..56a60ce 100644
--- a/include/ndnboost/smart_ptr/detail/lwm_pthreads.hpp
+++ b/include/ndnboost/smart_ptr/detail/lwm_pthreads.hpp
@@ -1,5 +1,5 @@
-#ifndef BOOST_SMART_PTR_DETAIL_LWM_PTHREADS_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_LWM_PTHREADS_HPP_INCLUDED
+#ifndef NDNBOOST_SMART_PTR_DETAIL_LWM_PTHREADS_HPP_INCLUDED
+#define NDNBOOST_SMART_PTR_DETAIL_LWM_PTHREADS_HPP_INCLUDED
 
 // MS compatible compilers support #pragma once
 
@@ -43,15 +43,15 @@
 // HPUX 10.20 / DCE has a nonstandard pthread_mutex_init
 
 #if defined(__hpux) && defined(_DECTHREADS_)
-        BOOST_VERIFY( pthread_mutex_init( &m_, pthread_mutexattr_default ) == 0 );
+        NDNBOOST_VERIFY( pthread_mutex_init( &m_, pthread_mutexattr_default ) == 0 );
 #else
-        BOOST_VERIFY( pthread_mutex_init( &m_, 0 ) == 0 );
+        NDNBOOST_VERIFY( pthread_mutex_init( &m_, 0 ) == 0 );
 #endif
     }
 
     ~lightweight_mutex()
     {
-        BOOST_VERIFY( pthread_mutex_destroy( &m_ ) == 0 );
+        NDNBOOST_VERIFY( pthread_mutex_destroy( &m_ ) == 0 );
     }
 
     class scoped_lock;
@@ -70,12 +70,12 @@
 
         scoped_lock(lightweight_mutex & m): m_(m.m_)
         {
-            BOOST_VERIFY( pthread_mutex_lock( &m_ ) == 0 );
+            NDNBOOST_VERIFY( pthread_mutex_lock( &m_ ) == 0 );
         }
 
         ~scoped_lock()
         {
-            BOOST_VERIFY( pthread_mutex_unlock( &m_ ) == 0 );
+            NDNBOOST_VERIFY( pthread_mutex_unlock( &m_ ) == 0 );
         }
     };
 };
@@ -84,4 +84,4 @@
 
 } // namespace ndnboost
 
-#endif // #ifndef BOOST_SMART_PTR_DETAIL_LWM_PTHREADS_HPP_INCLUDED
+#endif // #ifndef NDNBOOST_SMART_PTR_DETAIL_LWM_PTHREADS_HPP_INCLUDED
diff --git a/include/ndnboost/smart_ptr/detail/lwm_win32_cs.hpp b/include/ndnboost/smart_ptr/detail/lwm_win32_cs.hpp
index 7433998..47def99 100644
--- a/include/ndnboost/smart_ptr/detail/lwm_win32_cs.hpp
+++ b/include/ndnboost/smart_ptr/detail/lwm_win32_cs.hpp
@@ -1,5 +1,5 @@
-#ifndef BOOST_SMART_PTR_DETAIL_LWM_WIN32_CS_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_LWM_WIN32_CS_HPP_INCLUDED
+#ifndef NDNBOOST_SMART_PTR_DETAIL_LWM_WIN32_CS_HPP_INCLUDED
+#define NDNBOOST_SMART_PTR_DETAIL_LWM_WIN32_CS_HPP_INCLUDED
 
 // MS compatible compilers support #pragma once
 
@@ -17,7 +17,7 @@
 // http://www.boost.org/LICENSE_1_0.txt)
 //
 
-#ifdef BOOST_USE_WINDOWS_H
+#ifdef NDNBOOST_USE_WINDOWS_H
 #  include <windows.h>
 #endif
 
@@ -27,7 +27,7 @@
 namespace detail
 {
 
-#ifndef BOOST_USE_WINDOWS_H
+#ifndef NDNBOOST_USE_WINDOWS_H
 
 struct critical_section
 {
@@ -52,7 +52,7 @@
 
 typedef ::CRITICAL_SECTION critical_section;
 
-#endif // #ifndef BOOST_USE_WINDOWS_H
+#endif // #ifndef NDNBOOST_USE_WINDOWS_H
 
 class lightweight_mutex
 {
@@ -105,4 +105,4 @@
 
 } // namespace ndnboost
 
-#endif // #ifndef BOOST_SMART_PTR_DETAIL_LWM_WIN32_CS_HPP_INCLUDED
+#endif // #ifndef NDNBOOST_SMART_PTR_DETAIL_LWM_WIN32_CS_HPP_INCLUDED
diff --git a/include/ndnboost/smart_ptr/detail/make_array_helper.hpp b/include/ndnboost/smart_ptr/detail/make_array_helper.hpp
index 1105137..b05b600 100644
--- a/include/ndnboost/smart_ptr/detail/make_array_helper.hpp
+++ b/include/ndnboost/smart_ptr/detail/make_array_helper.hpp
@@ -6,8 +6,8 @@
  * Version 1.0. (See accompanying file LICENSE_1_0.txt 
  * or copy at http://boost.org/LICENSE_1_0.txt)
  */
-#ifndef BOOST_SMART_PTR_DETAIL_MAKE_ARRAY_HELPER_HPP
-#define BOOST_SMART_PTR_DETAIL_MAKE_ARRAY_HELPER_HPP
+#ifndef NDNBOOST_SMART_PTR_DETAIL_MAKE_ARRAY_HELPER_HPP
+#define NDNBOOST_SMART_PTR_DETAIL_MAKE_ARRAY_HELPER_HPP
 
 #include <ndnboost/type_traits/alignment_of.hpp>
 
diff --git a/include/ndnboost/smart_ptr/detail/operator_bool.hpp b/include/ndnboost/smart_ptr/detail/operator_bool.hpp
index 8ae1527..809eff5 100644
--- a/include/ndnboost/smart_ptr/detail/operator_bool.hpp
+++ b/include/ndnboost/smart_ptr/detail/operator_bool.hpp
@@ -6,16 +6,16 @@
 //  See accompanying file LICENSE_1_0.txt or copy at
 //  http://www.boost.org/LICENSE_1_0.txt
 
-#if !defined( BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS ) && !defined( BOOST_NO_CXX11_NULLPTR )
+#if !defined( NDNBOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS ) && !defined( NDNBOOST_NO_CXX11_NULLPTR )
 
-    explicit operator bool () const BOOST_NOEXCEPT
+    explicit operator bool () const NDNBOOST_NOEXCEPT
     {
         return px != 0;
     }
 
-#elif ( defined(__SUNPRO_CC) && BOOST_WORKAROUND(__SUNPRO_CC, < 0x570) ) || defined(__CINT__)
+#elif ( defined(__SUNPRO_CC) && NDNBOOST_WORKAROUND(__SUNPRO_CC, < 0x570) ) || defined(__CINT__)
 
-    operator bool () const BOOST_NOEXCEPT
+    operator bool () const NDNBOOST_NOEXCEPT
     {
         return px != 0;
     }
@@ -28,19 +28,19 @@
 
     typedef void (*unspecified_bool_type)( this_type*** );
 
-    operator unspecified_bool_type() const BOOST_NOEXCEPT
+    operator unspecified_bool_type() const NDNBOOST_NOEXCEPT
     {
         return px == 0? 0: unspecified_bool;
     }
 
 #elif \
-    ( defined(__MWERKS__) && BOOST_WORKAROUND(__MWERKS__, < 0x3200) ) || \
+    ( defined(__MWERKS__) && NDNBOOST_WORKAROUND(__MWERKS__, < 0x3200) ) || \
     ( defined(__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__ < 304) ) || \
-    ( defined(__SUNPRO_CC) && BOOST_WORKAROUND(__SUNPRO_CC, <= 0x590) )
+    ( defined(__SUNPRO_CC) && NDNBOOST_WORKAROUND(__SUNPRO_CC, <= 0x590) )
 
     typedef element_type * (this_type::*unspecified_bool_type)() const;
 
-    operator unspecified_bool_type() const BOOST_NOEXCEPT
+    operator unspecified_bool_type() const NDNBOOST_NOEXCEPT
     {
         return px == 0? 0: &this_type::get;
     }
@@ -49,7 +49,7 @@
 
     typedef element_type * this_type::*unspecified_bool_type;
 
-    operator unspecified_bool_type() const BOOST_NOEXCEPT
+    operator unspecified_bool_type() const NDNBOOST_NOEXCEPT
     {
         return px == 0? 0: &this_type::px;
     }
@@ -57,7 +57,7 @@
 #endif
 
     // operator! is redundant, but some compilers need it
-    bool operator! () const BOOST_NOEXCEPT
+    bool operator! () const NDNBOOST_NOEXCEPT
     {
         return px == 0;
     }
diff --git a/include/ndnboost/smart_ptr/detail/quick_allocator.hpp b/include/ndnboost/smart_ptr/detail/quick_allocator.hpp
index 637c4ec..dff0668 100644
--- a/include/ndnboost/smart_ptr/detail/quick_allocator.hpp
+++ b/include/ndnboost/smart_ptr/detail/quick_allocator.hpp
@@ -1,5 +1,5 @@
-#ifndef BOOST_SMART_PTR_DETAIL_QUICK_ALLOCATOR_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_QUICK_ALLOCATOR_HPP_INCLUDED
+#ifndef NDNBOOST_SMART_PTR_DETAIL_QUICK_ALLOCATOR_HPP_INCLUDED
+#define NDNBOOST_SMART_PTR_DETAIL_QUICK_ALLOCATOR_HPP_INCLUDED
 
 // MS compatible compilers support #pragma once
 
@@ -60,9 +60,9 @@
     // varying the page size. g++ 2.96 on Red Hat Linux 7.2,
     // for example, passionately dislikes 496. 512 seems OK.
 
-#if defined(BOOST_QA_PAGE_SIZE)
+#if defined(NDNBOOST_QA_PAGE_SIZE)
 
-    enum { items_per_page = BOOST_QA_PAGE_SIZE / size };
+    enum { items_per_page = NDNBOOST_QA_PAGE_SIZE / size };
 
 #else
 
@@ -70,7 +70,7 @@
 
 #endif
 
-#ifdef BOOST_HAS_THREADS
+#ifdef NDNBOOST_HAS_THREADS
 
     static lightweight_mutex & mutex()
     {
@@ -89,7 +89,7 @@
 
     static inline void * alloc()
     {
-#ifdef BOOST_HAS_THREADS
+#ifdef NDNBOOST_HAS_THREADS
         lightweight_mutex::scoped_lock lock( mutex() );
 #endif
         if(block * x = free)
@@ -119,7 +119,7 @@
         }
         else
         {
-#ifdef BOOST_HAS_THREADS
+#ifdef NDNBOOST_HAS_THREADS
             lightweight_mutex::scoped_lock lock( mutex() );
 #endif
             if(block * x = free)
@@ -144,7 +144,7 @@
     {
         if(pv != 0) // 18.4.1.1/13
         {
-#ifdef BOOST_HAS_THREADS
+#ifdef NDNBOOST_HAS_THREADS
             lightweight_mutex::scoped_lock lock( mutex() );
 #endif
             block * pb = static_cast<block *>(pv);
@@ -161,7 +161,7 @@
         }
         else if(pv != 0) // 18.4.1.1/13
         {
-#ifdef BOOST_HAS_THREADS
+#ifdef NDNBOOST_HAS_THREADS
             lightweight_mutex::scoped_lock lock( mutex() );
 #endif
             block * pb = static_cast<block *>(pv);
@@ -171,7 +171,7 @@
     }
 };
 
-#ifdef BOOST_HAS_THREADS
+#ifdef NDNBOOST_HAS_THREADS
 
 template<unsigned size, unsigned align_>
   lightweight_mutex * allocator_impl<size, align_>::mutex_init = &allocator_impl<size, align_>::mutex();
@@ -196,4 +196,4 @@
 
 } // namespace ndnboost
 
-#endif  // #ifndef BOOST_SMART_PTR_DETAIL_QUICK_ALLOCATOR_HPP_INCLUDED
+#endif  // #ifndef NDNBOOST_SMART_PTR_DETAIL_QUICK_ALLOCATOR_HPP_INCLUDED
diff --git a/include/ndnboost/smart_ptr/detail/shared_array_nmt.hpp b/include/ndnboost/smart_ptr/detail/shared_array_nmt.hpp
index 4d53afa..8197637 100644
--- a/include/ndnboost/smart_ptr/detail/shared_array_nmt.hpp
+++ b/include/ndnboost/smart_ptr/detail/shared_array_nmt.hpp
@@ -1,5 +1,5 @@
-#ifndef BOOST_SMART_PTR_DETAIL_SHARED_ARRAY_NMT_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_SHARED_ARRAY_NMT_HPP_INCLUDED
+#ifndef NDNBOOST_SMART_PTR_DETAIL_SHARED_ARRAY_NMT_HPP_INCLUDED
+#define NDNBOOST_SMART_PTR_DETAIL_SHARED_ARRAY_NMT_HPP_INCLUDED
 
 //
 //  detail/shared_array_nmt.hpp - shared_array.hpp without member templates
@@ -39,7 +39,7 @@
       
     explicit shared_array(T * p = 0): px(p)
     {
-#ifndef BOOST_NO_EXCEPTIONS
+#ifndef NDNBOOST_NO_EXCEPTIONS
 
         try  // prevent leak if new throws
         {
@@ -87,7 +87,7 @@
 
     void reset(T * p = 0)
     {
-        BOOST_ASSERT(p == 0 || p != px);
+        NDNBOOST_ASSERT(p == 0 || p != px);
         shared_array(p).swap(*this);
     }
 
@@ -98,8 +98,8 @@
 
     T & operator[](std::ptrdiff_t i) const  // never throws
     {
-        BOOST_ASSERT(px != 0);
-        BOOST_ASSERT(i >= 0);
+        NDNBOOST_ASSERT(px != 0);
+        NDNBOOST_ASSERT(i >= 0);
         return px[i];
     }
 
@@ -148,4 +148,4 @@
 
 } // namespace ndnboost
 
-#endif  // #ifndef BOOST_SMART_PTR_DETAIL_SHARED_ARRAY_NMT_HPP_INCLUDED
+#endif  // #ifndef NDNBOOST_SMART_PTR_DETAIL_SHARED_ARRAY_NMT_HPP_INCLUDED
diff --git a/include/ndnboost/smart_ptr/detail/shared_count.hpp b/include/ndnboost/smart_ptr/detail/shared_count.hpp
index f723584..5ba7190 100644
--- a/include/ndnboost/smart_ptr/detail/shared_count.hpp
+++ b/include/ndnboost/smart_ptr/detail/shared_count.hpp
@@ -1,5 +1,5 @@
-#ifndef BOOST_SMART_PTR_DETAIL_SHARED_COUNT_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_SHARED_COUNT_HPP_INCLUDED
+#ifndef NDNBOOST_SMART_PTR_DETAIL_SHARED_COUNT_HPP_INCLUDED
+#define NDNBOOST_SMART_PTR_DETAIL_SHARED_COUNT_HPP_INCLUDED
 
 // MS compatible compilers support #pragma once
 
@@ -36,11 +36,11 @@
 #include <ndnboost/config/no_tr1/memory.hpp>  // std::auto_ptr
 #include <functional>       // std::less
 
-#ifdef BOOST_NO_EXCEPTIONS
+#ifdef NDNBOOST_NO_EXCEPTIONS
 # include <new>              // std::bad_alloc
 #endif
 
-#if !defined( BOOST_NO_CXX11_SMART_PTR )
+#if !defined( NDNBOOST_NO_CXX11_SMART_PTR )
 # include <ndnboost/utility/addressof.hpp>
 #endif
 
@@ -50,7 +50,7 @@
 namespace detail
 {
 
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
+#if defined(NDNBOOST_SP_ENABLE_DEBUG_HOOKS)
 
 int const shared_count_id = 0x2C35F101;
 int const   weak_count_id = 0x298C38A4;
@@ -63,7 +63,7 @@
 {
 };
 
-#if !defined( BOOST_NO_CXX11_SMART_PTR )
+#if !defined( NDNBOOST_NO_CXX11_SMART_PTR )
 
 template< class T > class sp_reference_wrapper
 { 
@@ -103,7 +103,7 @@
 
     sp_counted_base * pi_;
 
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
+#if defined(NDNBOOST_SP_ENABLE_DEBUG_HOOKS)
     int id_;
 #endif
 
@@ -112,18 +112,18 @@
 public:
 
     shared_count(): pi_(0) // nothrow
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
+#if defined(NDNBOOST_SP_ENABLE_DEBUG_HOOKS)
         , id_(shared_count_id)
 #endif
     {
     }
 
     template<class Y> explicit shared_count( Y * p ): pi_( 0 )
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
+#if defined(NDNBOOST_SP_ENABLE_DEBUG_HOOKS)
         , id_(shared_count_id)
 #endif
     {
-#ifndef BOOST_NO_EXCEPTIONS
+#ifndef NDNBOOST_NO_EXCEPTIONS
 
         try
         {
@@ -148,19 +148,19 @@
 #endif
     }
 
-#if defined( BOOST_MSVC ) && BOOST_WORKAROUND( BOOST_MSVC, <= 1200 )
+#if defined( NDNBOOST_MSVC ) && NDNBOOST_WORKAROUND( NDNBOOST_MSVC, <= 1200 )
     template<class Y, class D> shared_count( Y * p, D d ): pi_(0)
 #else
     template<class P, class D> shared_count( P p, D d ): pi_(0)
 #endif
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
+#if defined(NDNBOOST_SP_ENABLE_DEBUG_HOOKS)
         , id_(shared_count_id)
 #endif
     {
-#if defined( BOOST_MSVC ) && BOOST_WORKAROUND( BOOST_MSVC, <= 1200 )
+#if defined( NDNBOOST_MSVC ) && NDNBOOST_WORKAROUND( NDNBOOST_MSVC, <= 1200 )
         typedef Y* P;
 #endif
-#ifndef BOOST_NO_EXCEPTIONS
+#ifndef NDNBOOST_NO_EXCEPTIONS
 
         try
         {
@@ -185,14 +185,14 @@
 #endif
     }
 
-#if !defined( BOOST_NO_FUNCTION_TEMPLATE_ORDERING )
+#if !defined( NDNBOOST_NO_FUNCTION_TEMPLATE_ORDERING )
 
     template< class P, class D > shared_count( P p, sp_inplace_tag<D> ): pi_( 0 )
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
+#if defined(NDNBOOST_SP_ENABLE_DEBUG_HOOKS)
         , id_(shared_count_id)
 #endif
     {
-#ifndef BOOST_NO_EXCEPTIONS
+#ifndef NDNBOOST_NO_EXCEPTIONS
 
         try
         {
@@ -214,13 +214,13 @@
             ndnboost::throw_exception( std::bad_alloc() );
         }
 
-#endif // #ifndef BOOST_NO_EXCEPTIONS
+#endif // #ifndef NDNBOOST_NO_EXCEPTIONS
     }
 
-#endif // !defined( BOOST_NO_FUNCTION_TEMPLATE_ORDERING )
+#endif // !defined( NDNBOOST_NO_FUNCTION_TEMPLATE_ORDERING )
 
     template<class P, class D, class A> shared_count( P p, D d, A a ): pi_( 0 )
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
+#if defined(NDNBOOST_SP_ENABLE_DEBUG_HOOKS)
         , id_(shared_count_id)
 #endif
     {
@@ -229,7 +229,7 @@
 
         A2 a2( a );
 
-#ifndef BOOST_NO_EXCEPTIONS
+#ifndef NDNBOOST_NO_EXCEPTIONS
 
         try
         {
@@ -265,10 +265,10 @@
 #endif
     }
 
-#if !defined( BOOST_NO_FUNCTION_TEMPLATE_ORDERING )
+#if !defined( NDNBOOST_NO_FUNCTION_TEMPLATE_ORDERING )
 
     template< class P, class D, class A > shared_count( P p, sp_inplace_tag< D >, A a ): pi_( 0 )
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
+#if defined(NDNBOOST_SP_ENABLE_DEBUG_HOOKS)
         , id_(shared_count_id)
 #endif
     {
@@ -277,7 +277,7 @@
 
         A2 a2( a );
 
-#ifndef BOOST_NO_EXCEPTIONS
+#ifndef NDNBOOST_NO_EXCEPTIONS
 
         try
         {
@@ -310,22 +310,22 @@
             ndnboost::throw_exception( std::bad_alloc() );
         }
 
-#endif // #ifndef BOOST_NO_EXCEPTIONS
+#endif // #ifndef NDNBOOST_NO_EXCEPTIONS
     }
 
-#endif // !defined( BOOST_NO_FUNCTION_TEMPLATE_ORDERING )
+#endif // !defined( NDNBOOST_NO_FUNCTION_TEMPLATE_ORDERING )
 
-#ifndef BOOST_NO_AUTO_PTR
+#ifndef NDNBOOST_NO_AUTO_PTR
 
     // auto_ptr<Y> is special cased to provide the strong guarantee
 
     template<class Y>
     explicit shared_count( std::auto_ptr<Y> & r ): pi_( new sp_counted_impl_p<Y>( r.get() ) )
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
+#if defined(NDNBOOST_SP_ENABLE_DEBUG_HOOKS)
         , id_(shared_count_id)
 #endif
     {
-#ifdef BOOST_NO_EXCEPTIONS
+#ifdef NDNBOOST_NO_EXCEPTIONS
 
         if( pi_ == 0 )
         {
@@ -339,11 +339,11 @@
 
 #endif 
 
-#if !defined( BOOST_NO_CXX11_SMART_PTR )
+#if !defined( NDNBOOST_NO_CXX11_SMART_PTR )
 
     template<class Y, class D>
     explicit shared_count( std::unique_ptr<Y, D> & r ): pi_( 0 )
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
+#if defined(NDNBOOST_SP_ENABLE_DEBUG_HOOKS)
         , id_(shared_count_id)
 #endif
     {
@@ -352,7 +352,7 @@
         D2 d2( r.get_deleter() );
         pi_ = new sp_counted_impl_pd< typename std::unique_ptr<Y, D>::pointer, D2 >( r.get(), d2 );
 
-#ifdef BOOST_NO_EXCEPTIONS
+#ifdef NDNBOOST_NO_EXCEPTIONS
 
         if( pi_ == 0 )
         {
@@ -369,23 +369,23 @@
     ~shared_count() // nothrow
     {
         if( pi_ != 0 ) pi_->release();
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
+#if defined(NDNBOOST_SP_ENABLE_DEBUG_HOOKS)
         id_ = 0;
 #endif
     }
 
     shared_count(shared_count const & r): pi_(r.pi_) // nothrow
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
+#if defined(NDNBOOST_SP_ENABLE_DEBUG_HOOKS)
         , id_(shared_count_id)
 #endif
     {
         if( pi_ != 0 ) pi_->add_ref_copy();
     }
 
-#if !defined( BOOST_NO_CXX11_RVALUE_REFERENCES )
+#if !defined( NDNBOOST_NO_CXX11_RVALUE_REFERENCES )
 
     shared_count(shared_count && r): pi_(r.pi_) // nothrow
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
+#if defined(NDNBOOST_SP_ENABLE_DEBUG_HOOKS)
         , id_(shared_count_id)
 #endif
     {
@@ -461,7 +461,7 @@
 
     sp_counted_base * pi_;
 
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
+#if defined(NDNBOOST_SP_ENABLE_DEBUG_HOOKS)
     int id_;
 #endif
 
@@ -470,14 +470,14 @@
 public:
 
     weak_count(): pi_(0) // nothrow
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
+#if defined(NDNBOOST_SP_ENABLE_DEBUG_HOOKS)
         , id_(weak_count_id)
 #endif
     {
     }
 
     weak_count(shared_count const & r): pi_(r.pi_) // nothrow
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
+#if defined(NDNBOOST_SP_ENABLE_DEBUG_HOOKS)
         , id_(weak_count_id)
 #endif
     {
@@ -485,7 +485,7 @@
     }
 
     weak_count(weak_count const & r): pi_(r.pi_) // nothrow
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
+#if defined(NDNBOOST_SP_ENABLE_DEBUG_HOOKS)
         , id_(weak_count_id)
 #endif
     {
@@ -494,10 +494,10 @@
 
 // Move support
 
-#if !defined( BOOST_NO_CXX11_RVALUE_REFERENCES )
+#if !defined( NDNBOOST_NO_CXX11_RVALUE_REFERENCES )
 
     weak_count(weak_count && r): pi_(r.pi_) // nothrow
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
+#if defined(NDNBOOST_SP_ENABLE_DEBUG_HOOKS)
         , id_(weak_count_id)
 #endif
     {
@@ -509,7 +509,7 @@
     ~weak_count() // nothrow
     {
         if(pi_ != 0) pi_->weak_release();
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
+#if defined(NDNBOOST_SP_ENABLE_DEBUG_HOOKS)
         id_ = 0;
 #endif
     }
@@ -571,7 +571,7 @@
 };
 
 inline shared_count::shared_count( weak_count const & r ): pi_( r.pi_ )
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
+#if defined(NDNBOOST_SP_ENABLE_DEBUG_HOOKS)
         , id_(shared_count_id)
 #endif
 {
@@ -582,7 +582,7 @@
 }
 
 inline shared_count::shared_count( weak_count const & r, sp_nothrow_tag ): pi_( r.pi_ )
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
+#if defined(NDNBOOST_SP_ENABLE_DEBUG_HOOKS)
         , id_(shared_count_id)
 #endif
 {
@@ -600,4 +600,4 @@
 # pragma warn .8027     // Functions containing try are not expanded inline
 #endif
 
-#endif  // #ifndef BOOST_SMART_PTR_DETAIL_SHARED_COUNT_HPP_INCLUDED
+#endif  // #ifndef NDNBOOST_SMART_PTR_DETAIL_SHARED_COUNT_HPP_INCLUDED
diff --git a/include/ndnboost/smart_ptr/detail/shared_ptr_nmt.hpp b/include/ndnboost/smart_ptr/detail/shared_ptr_nmt.hpp
index 76e6fdd..f7368b8 100644
--- a/include/ndnboost/smart_ptr/detail/shared_ptr_nmt.hpp
+++ b/include/ndnboost/smart_ptr/detail/shared_ptr_nmt.hpp
@@ -1,5 +1,5 @@
-#ifndef BOOST_SMART_PTR_DETAIL_SHARED_PTR_NMT_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_SHARED_PTR_NMT_HPP_INCLUDED
+#ifndef NDNBOOST_SMART_PTR_DETAIL_SHARED_PTR_NMT_HPP_INCLUDED
+#define NDNBOOST_SMART_PTR_DETAIL_SHARED_PTR_NMT_HPP_INCLUDED
 
 //
 //  detail/shared_ptr_nmt.hpp - shared_ptr.hpp without member templates
@@ -19,7 +19,7 @@
 #include <ndnboost/throw_exception.hpp>
 #include <ndnboost/smart_ptr/detail/atomic_count.hpp>
 
-#ifndef BOOST_NO_AUTO_PTR
+#ifndef NDNBOOST_NO_AUTO_PTR
 # include <memory>          // for std::auto_ptr
 #endif
 
@@ -43,7 +43,7 @@
 
     explicit shared_ptr(T * p = 0): px(p)
     {
-#ifndef BOOST_NO_EXCEPTIONS
+#ifndef NDNBOOST_NO_EXCEPTIONS
 
         try  // prevent leak if new throws
         {
@@ -89,7 +89,7 @@
         return *this;
     }
 
-#ifndef BOOST_NO_AUTO_PTR
+#ifndef NDNBOOST_NO_AUTO_PTR
 
     explicit shared_ptr(std::auto_ptr<T> & r)
     { 
@@ -107,19 +107,19 @@
 
     void reset(T * p = 0)
     {
-        BOOST_ASSERT(p == 0 || p != px);
+        NDNBOOST_ASSERT(p == 0 || p != px);
         shared_ptr(p).swap(*this);
     }
 
     T & operator*() const  // never throws
     {
-        BOOST_ASSERT(px != 0);
+        NDNBOOST_ASSERT(px != 0);
         return *px;
     }
 
     T * operator->() const  // never throws
     {
-        BOOST_ASSERT(px != 0);
+        NDNBOOST_ASSERT(px != 0);
         return px;
     }
 
@@ -179,4 +179,4 @@
 
 } // namespace ndnboost
 
-#endif  // #ifndef BOOST_SMART_PTR_DETAIL_SHARED_PTR_NMT_HPP_INCLUDED
+#endif  // #ifndef NDNBOOST_SMART_PTR_DETAIL_SHARED_PTR_NMT_HPP_INCLUDED
diff --git a/include/ndnboost/smart_ptr/detail/sp_convertible.hpp b/include/ndnboost/smart_ptr/detail/sp_convertible.hpp
index f4e5463..6c8b6b1 100644
--- a/include/ndnboost/smart_ptr/detail/sp_convertible.hpp
+++ b/include/ndnboost/smart_ptr/detail/sp_convertible.hpp
@@ -1,5 +1,5 @@
-#ifndef BOOST_SMART_PTR_DETAIL_SP_CONVERTIBLE_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_SP_CONVERTIBLE_HPP_INCLUDED
+#ifndef NDNBOOST_SMART_PTR_DETAIL_SP_CONVERTIBLE_HPP_INCLUDED
+#define NDNBOOST_SMART_PTR_DETAIL_SP_CONVERTIBLE_HPP_INCLUDED
 
 // MS compatible compilers support #pragma once
 
@@ -17,19 +17,19 @@
 
 #include <ndnboost/config.hpp>
 
-#if !defined( BOOST_SP_NO_SP_CONVERTIBLE ) && defined( BOOST_NO_SFINAE )
-# define BOOST_SP_NO_SP_CONVERTIBLE
+#if !defined( NDNBOOST_SP_NO_SP_CONVERTIBLE ) && defined( NDNBOOST_NO_SFINAE )
+# define NDNBOOST_SP_NO_SP_CONVERTIBLE
 #endif
 
-#if !defined( BOOST_SP_NO_SP_CONVERTIBLE ) && defined( __GNUC__ ) && ( __GNUC__ * 100 + __GNUC_MINOR__ < 303 )
-# define BOOST_SP_NO_SP_CONVERTIBLE
+#if !defined( NDNBOOST_SP_NO_SP_CONVERTIBLE ) && defined( __GNUC__ ) && ( __GNUC__ * 100 + __GNUC_MINOR__ < 303 )
+# define NDNBOOST_SP_NO_SP_CONVERTIBLE
 #endif
 
-#if !defined( BOOST_SP_NO_SP_CONVERTIBLE ) && defined( __BORLANDC__ ) && ( __BORLANDC__ < 0x630 )
-# define BOOST_SP_NO_SP_CONVERTIBLE
+#if !defined( NDNBOOST_SP_NO_SP_CONVERTIBLE ) && defined( __BORLANDC__ ) && ( __BORLANDC__ < 0x630 )
+# define NDNBOOST_SP_NO_SP_CONVERTIBLE
 #endif
 
-#if !defined( BOOST_SP_NO_SP_CONVERTIBLE )
+#if !defined( NDNBOOST_SP_NO_SP_CONVERTIBLE )
 
 namespace ndnboost
 {
@@ -86,6 +86,6 @@
 
 } // namespace ndnboost
 
-#endif // !defined( BOOST_SP_NO_SP_CONVERTIBLE )
+#endif // !defined( NDNBOOST_SP_NO_SP_CONVERTIBLE )
 
-#endif  // #ifndef BOOST_SMART_PTR_DETAIL_SP_CONVERTIBLE_HPP_INCLUDED
+#endif  // #ifndef NDNBOOST_SMART_PTR_DETAIL_SP_CONVERTIBLE_HPP_INCLUDED
diff --git a/include/ndnboost/smart_ptr/detail/sp_counted_base.hpp b/include/ndnboost/smart_ptr/detail/sp_counted_base.hpp
index a9b5b81..4d7f82a 100644
--- a/include/ndnboost/smart_ptr/detail/sp_counted_base.hpp
+++ b/include/ndnboost/smart_ptr/detail/sp_counted_base.hpp
@@ -1,5 +1,5 @@
-#ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_HPP_INCLUDED
+#ifndef NDNBOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_HPP_INCLUDED
+#define NDNBOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_HPP_INCLUDED
 
 // MS compatible compilers support #pragma once
 
@@ -20,16 +20,16 @@
 #include <ndnboost/config.hpp>
 #include <ndnboost/smart_ptr/detail/sp_has_sync.hpp>
 
-#if defined( BOOST_SP_DISABLE_THREADS )
+#if defined( NDNBOOST_SP_DISABLE_THREADS )
 # include <ndnboost/smart_ptr/detail/sp_counted_base_nt.hpp>
 
-#elif defined( BOOST_SP_USE_SPINLOCK )
+#elif defined( NDNBOOST_SP_USE_SPINLOCK )
 # include <ndnboost/smart_ptr/detail/sp_counted_base_spin.hpp>
 
-#elif defined( BOOST_SP_USE_PTHREADS )
+#elif defined( NDNBOOST_SP_USE_PTHREADS )
 # include <ndnboost/smart_ptr/detail/sp_counted_base_pt.hpp>
 
-#elif defined( BOOST_DISABLE_THREADS ) && !defined( BOOST_SP_ENABLE_THREADS ) && !defined( BOOST_DISABLE_WIN32 )
+#elif defined( NDNBOOST_DISABLE_THREADS ) && !defined( NDNBOOST_SP_ENABLE_THREADS ) && !defined( NDNBOOST_DISABLE_WIN32 )
 # include <ndnboost/smart_ptr/detail/sp_counted_base_nt.hpp>
 
 #elif defined( __SNC__ )
@@ -56,7 +56,7 @@
 #elif defined( __GNUC__ ) && ( defined( __mips__ ) || defined( _mips ) ) && !defined(__PATHSCALE__)
 # include <ndnboost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp>
 
-#elif defined( BOOST_SP_HAS_SYNC )
+#elif defined( NDNBOOST_SP_HAS_SYNC )
 # include <ndnboost/smart_ptr/detail/sp_counted_base_sync.hpp>
 
 #elif defined(__GNUC__) && ( defined( __sparcv9 ) || ( defined( __sparcv8 ) && ( __GNUC__ * 100 + __GNUC_MINOR__ >= 402 ) ) )
@@ -68,7 +68,7 @@
 #elif defined( _AIX )
 # include <ndnboost/smart_ptr/detail/sp_counted_base_aix.hpp>
 
-#elif !defined( BOOST_HAS_THREADS )
+#elif !defined( NDNBOOST_HAS_THREADS )
 # include <ndnboost/smart_ptr/detail/sp_counted_base_nt.hpp>
 
 #else
@@ -76,4 +76,4 @@
 
 #endif
 
-#endif  // #ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_HPP_INCLUDED
+#endif  // #ifndef NDNBOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_HPP_INCLUDED
diff --git a/include/ndnboost/smart_ptr/detail/sp_counted_base_acc_ia64.hpp b/include/ndnboost/smart_ptr/detail/sp_counted_base_acc_ia64.hpp
index a4dadf6..dcface0 100644
--- a/include/ndnboost/smart_ptr/detail/sp_counted_base_acc_ia64.hpp
+++ b/include/ndnboost/smart_ptr/detail/sp_counted_base_acc_ia64.hpp
@@ -1,5 +1,5 @@
-#ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_ACC_IA64_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_ACC_IA64_HPP_INCLUDED
+#ifndef NDNBOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_ACC_IA64_HPP_INCLUDED
+#define NDNBOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_ACC_IA64_HPP_INCLUDED
 
 //
 //  detail/sp_counted_base_acc_ia64.hpp - aC++ on HP-UX IA64
@@ -148,4 +148,4 @@
 
 } // namespace ndnboost
 
-#endif  // #ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_ACC_IA64_HPP_INCLUDED
+#endif  // #ifndef NDNBOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_ACC_IA64_HPP_INCLUDED
diff --git a/include/ndnboost/smart_ptr/detail/sp_counted_base_aix.hpp b/include/ndnboost/smart_ptr/detail/sp_counted_base_aix.hpp
index a9a72cc..bcb7cfe 100644
--- a/include/ndnboost/smart_ptr/detail/sp_counted_base_aix.hpp
+++ b/include/ndnboost/smart_ptr/detail/sp_counted_base_aix.hpp
@@ -1,5 +1,5 @@
-#ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_AIX_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_AIX_HPP_INCLUDED
+#ifndef NDNBOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_AIX_HPP_INCLUDED
+#define NDNBOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_AIX_HPP_INCLUDED
 
 //
 //  detail/sp_counted_base_aix.hpp
@@ -140,4 +140,4 @@
 
 } // namespace ndnboost
 
-#endif  // #ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_AIX_HPP_INCLUDED
+#endif  // #ifndef NDNBOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_AIX_HPP_INCLUDED
diff --git a/include/ndnboost/smart_ptr/detail/sp_counted_base_cw_ppc.hpp b/include/ndnboost/smart_ptr/detail/sp_counted_base_cw_ppc.hpp
index af43e37..cd196ba 100644
--- a/include/ndnboost/smart_ptr/detail/sp_counted_base_cw_ppc.hpp
+++ b/include/ndnboost/smart_ptr/detail/sp_counted_base_cw_ppc.hpp
@@ -1,5 +1,5 @@
-#ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_CW_PPC_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_CW_PPC_HPP_INCLUDED
+#ifndef NDNBOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_CW_PPC_HPP_INCLUDED
+#define NDNBOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_CW_PPC_HPP_INCLUDED
 
 // MS compatible compilers support #pragma once
 
@@ -168,4 +168,4 @@
 
 } // namespace ndnboost
 
-#endif  // #ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_CW_PPC_HPP_INCLUDED
+#endif  // #ifndef NDNBOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_CW_PPC_HPP_INCLUDED
diff --git a/include/ndnboost/smart_ptr/detail/sp_counted_base_gcc_ia64.hpp b/include/ndnboost/smart_ptr/detail/sp_counted_base_gcc_ia64.hpp
index c3652f4..dafc28b 100644
--- a/include/ndnboost/smart_ptr/detail/sp_counted_base_gcc_ia64.hpp
+++ b/include/ndnboost/smart_ptr/detail/sp_counted_base_gcc_ia64.hpp
@@ -1,5 +1,5 @@
-#ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_GCC_IA64_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_GCC_IA64_HPP_INCLUDED
+#ifndef NDNBOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_GCC_IA64_HPP_INCLUDED
+#define NDNBOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_GCC_IA64_HPP_INCLUDED
 
 //
 //  detail/sp_counted_base_gcc_ia64.hpp - g++ on IA64
@@ -155,4 +155,4 @@
 
 } // namespace ndnboost
 
-#endif  // #ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_GCC_IA64_HPP_INCLUDED
+#endif  // #ifndef NDNBOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_GCC_IA64_HPP_INCLUDED
diff --git a/include/ndnboost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp b/include/ndnboost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp
index e11b25a..d3be1db 100644
--- a/include/ndnboost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp
+++ b/include/ndnboost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp
@@ -1,5 +1,5 @@
-#ifndef BOOST_DETAIL_SP_COUNTED_BASE_GCC_MIPS_HPP_INCLUDED
-#define BOOST_DETAIL_SP_COUNTED_BASE_GCC_MIPS_HPP_INCLUDED
+#ifndef NDNBOOST_DETAIL_SP_COUNTED_BASE_GCC_MIPS_HPP_INCLUDED
+#define NDNBOOST_DETAIL_SP_COUNTED_BASE_GCC_MIPS_HPP_INCLUDED
 
 // MS compatible compilers support #pragma once
 
@@ -179,4 +179,4 @@
 
 } // namespace ndnboost
 
-#endif  // #ifndef BOOST_DETAIL_SP_COUNTED_BASE_GCC_MIPS_HPP_INCLUDED
+#endif  // #ifndef NDNBOOST_DETAIL_SP_COUNTED_BASE_GCC_MIPS_HPP_INCLUDED
diff --git a/include/ndnboost/smart_ptr/detail/sp_counted_base_gcc_ppc.hpp b/include/ndnboost/smart_ptr/detail/sp_counted_base_gcc_ppc.hpp
index 9beacd0..f1b6ede 100644
--- a/include/ndnboost/smart_ptr/detail/sp_counted_base_gcc_ppc.hpp
+++ b/include/ndnboost/smart_ptr/detail/sp_counted_base_gcc_ppc.hpp
@@ -1,5 +1,5 @@
-#ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_GCC_PPC_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_GCC_PPC_HPP_INCLUDED
+#ifndef NDNBOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_GCC_PPC_HPP_INCLUDED
+#define NDNBOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_GCC_PPC_HPP_INCLUDED
 
 // MS compatible compilers support #pragma once
 
@@ -179,4 +179,4 @@
 
 } // namespace ndnboost
 
-#endif  // #ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_GCC_PPC_HPP_INCLUDED
+#endif  // #ifndef NDNBOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_GCC_PPC_HPP_INCLUDED
diff --git a/include/ndnboost/smart_ptr/detail/sp_counted_base_gcc_sparc.hpp b/include/ndnboost/smart_ptr/detail/sp_counted_base_gcc_sparc.hpp
index a9e1b4e..4bbacc7 100644
--- a/include/ndnboost/smart_ptr/detail/sp_counted_base_gcc_sparc.hpp
+++ b/include/ndnboost/smart_ptr/detail/sp_counted_base_gcc_sparc.hpp
@@ -1,5 +1,5 @@
-#ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_GCC_SPARC_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_GCC_SPARC_HPP_INCLUDED
+#ifndef NDNBOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_GCC_SPARC_HPP_INCLUDED
+#define NDNBOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_GCC_SPARC_HPP_INCLUDED
 
 // MS compatible compilers support #pragma once
 
@@ -164,4 +164,4 @@
 
 } // namespace ndnboost
 
-#endif  // #ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_GCC_SPARC_HPP_INCLUDED
+#endif  // #ifndef NDNBOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_GCC_SPARC_HPP_INCLUDED
diff --git a/include/ndnboost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp b/include/ndnboost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp
index 24a3798..9f79c57 100644
--- a/include/ndnboost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp
+++ b/include/ndnboost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp
@@ -1,5 +1,5 @@
-#ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_GCC_X86_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_GCC_X86_HPP_INCLUDED
+#ifndef NDNBOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_GCC_X86_HPP_INCLUDED
+#define NDNBOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_GCC_X86_HPP_INCLUDED
 
 // MS compatible compilers support #pragma once
 
@@ -171,4 +171,4 @@
 
 } // namespace ndnboost
 
-#endif  // #ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_GCC_X86_HPP_INCLUDED
+#endif  // #ifndef NDNBOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_GCC_X86_HPP_INCLUDED
diff --git a/include/ndnboost/smart_ptr/detail/sp_counted_base_nt.hpp b/include/ndnboost/smart_ptr/detail/sp_counted_base_nt.hpp
index 3442f1f..50967bc 100644
--- a/include/ndnboost/smart_ptr/detail/sp_counted_base_nt.hpp
+++ b/include/ndnboost/smart_ptr/detail/sp_counted_base_nt.hpp
@@ -1,5 +1,5 @@
-#ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_NT_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_NT_HPP_INCLUDED
+#ifndef NDNBOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_NT_HPP_INCLUDED
+#define NDNBOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_NT_HPP_INCLUDED
 
 // MS compatible compilers support #pragma once
 
@@ -105,4 +105,4 @@
 
 } // namespace ndnboost
 
-#endif  // #ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_NT_HPP_INCLUDED
+#endif  // #ifndef NDNBOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_NT_HPP_INCLUDED
diff --git a/include/ndnboost/smart_ptr/detail/sp_counted_base_pt.hpp b/include/ndnboost/smart_ptr/detail/sp_counted_base_pt.hpp
index 51c42a3..d1334d3 100644
--- a/include/ndnboost/smart_ptr/detail/sp_counted_base_pt.hpp
+++ b/include/ndnboost/smart_ptr/detail/sp_counted_base_pt.hpp
@@ -1,5 +1,5 @@
-#ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_PT_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_PT_HPP_INCLUDED
+#ifndef NDNBOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_PT_HPP_INCLUDED
+#define NDNBOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_PT_HPP_INCLUDED
 
 // MS compatible compilers support #pragma once
 
@@ -133,4 +133,4 @@
 
 } // namespace ndnboost
 
-#endif  // #ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_PT_HPP_INCLUDED
+#endif  // #ifndef NDNBOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_PT_HPP_INCLUDED
diff --git a/include/ndnboost/smart_ptr/detail/sp_counted_base_snc_ps3.hpp b/include/ndnboost/smart_ptr/detail/sp_counted_base_snc_ps3.hpp
index 4609d7d..afe8fe6 100644
--- a/include/ndnboost/smart_ptr/detail/sp_counted_base_snc_ps3.hpp
+++ b/include/ndnboost/smart_ptr/detail/sp_counted_base_snc_ps3.hpp
@@ -1,5 +1,5 @@
-#ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_SNC_PS3_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_SNC_PS3_HPP_INCLUDED
+#ifndef NDNBOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_SNC_PS3_HPP_INCLUDED
+#define NDNBOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_SNC_PS3_HPP_INCLUDED
 
 // MS compatible compilers support #pragma once
 #if defined(_MSC_VER) && (_MSC_VER >= 1020)
@@ -159,4 +159,4 @@
 
 } // namespace ndnboost
 
-#endif  // #ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_SNC_PS3_HPP_INCLUDED
+#endif  // #ifndef NDNBOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_SNC_PS3_HPP_INCLUDED
diff --git a/include/ndnboost/smart_ptr/detail/sp_counted_base_spin.hpp b/include/ndnboost/smart_ptr/detail/sp_counted_base_spin.hpp
index 29d3a84..f7691ce 100644
--- a/include/ndnboost/smart_ptr/detail/sp_counted_base_spin.hpp
+++ b/include/ndnboost/smart_ptr/detail/sp_counted_base_spin.hpp
@@ -1,5 +1,5 @@
-#ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_SPIN_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_SPIN_HPP_INCLUDED
+#ifndef NDNBOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_SPIN_HPP_INCLUDED
+#define NDNBOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_SPIN_HPP_INCLUDED
 
 // MS compatible compilers support #pragma once
 
@@ -129,4 +129,4 @@
 
 } // namespace ndnboost
 
-#endif  // #ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_SPIN_HPP_INCLUDED
+#endif  // #ifndef NDNBOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_SPIN_HPP_INCLUDED
diff --git a/include/ndnboost/smart_ptr/detail/sp_counted_base_sync.hpp b/include/ndnboost/smart_ptr/detail/sp_counted_base_sync.hpp
index 6ee7fac..faa36e8 100644
--- a/include/ndnboost/smart_ptr/detail/sp_counted_base_sync.hpp
+++ b/include/ndnboost/smart_ptr/detail/sp_counted_base_sync.hpp
@@ -1,5 +1,5 @@
-#ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_SYNC_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_SYNC_HPP_INCLUDED
+#ifndef NDNBOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_SYNC_HPP_INCLUDED
+#define NDNBOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_SYNC_HPP_INCLUDED
 
 // MS compatible compilers support #pragma once
 
@@ -153,4 +153,4 @@
 
 } // namespace ndnboost
 
-#endif  // #ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_SYNC_HPP_INCLUDED
+#endif  // #ifndef NDNBOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_SYNC_HPP_INCLUDED
diff --git a/include/ndnboost/smart_ptr/detail/sp_counted_base_vacpp_ppc.hpp b/include/ndnboost/smart_ptr/detail/sp_counted_base_vacpp_ppc.hpp
index 9ffae4d..673f462 100644
--- a/include/ndnboost/smart_ptr/detail/sp_counted_base_vacpp_ppc.hpp
+++ b/include/ndnboost/smart_ptr/detail/sp_counted_base_vacpp_ppc.hpp
@@ -1,5 +1,5 @@
-#ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_VACPP_PPC_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_VACPP_PPC_HPP_INCLUDED
+#ifndef NDNBOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_VACPP_PPC_HPP_INCLUDED
+#define NDNBOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_VACPP_PPC_HPP_INCLUDED
 
 //
 //  detail/sp_counted_base_vacpp_ppc.hpp - xlC(vacpp) on POWER
@@ -148,4 +148,4 @@
 
 } // namespace ndnboost
 
-#endif  // #ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_VACPP_PPC_HPP_INCLUDED
+#endif  // #ifndef NDNBOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_VACPP_PPC_HPP_INCLUDED
diff --git a/include/ndnboost/smart_ptr/detail/sp_counted_base_w32.hpp b/include/ndnboost/smart_ptr/detail/sp_counted_base_w32.hpp
index 283fc79..c06d3a7 100644
--- a/include/ndnboost/smart_ptr/detail/sp_counted_base_w32.hpp
+++ b/include/ndnboost/smart_ptr/detail/sp_counted_base_w32.hpp
@@ -1,5 +1,5 @@
-#ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_W32_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_W32_HPP_INCLUDED
+#ifndef NDNBOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_W32_HPP_INCLUDED
+#define NDNBOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_W32_HPP_INCLUDED
 
 // MS compatible compilers support #pragma once
 
@@ -71,7 +71,7 @@
 
     void add_ref_copy()
     {
-        BOOST_INTERLOCKED_INCREMENT( &use_count_ );
+        NDNBOOST_INTERLOCKED_INCREMENT( &use_count_ );
     }
 
     bool add_ref_lock() // true on success
@@ -81,16 +81,16 @@
             long tmp = static_cast< long const volatile& >( use_count_ );
             if( tmp == 0 ) return false;
 
-#if defined( BOOST_MSVC ) && BOOST_WORKAROUND( BOOST_MSVC, == 1200 )
+#if defined( NDNBOOST_MSVC ) && NDNBOOST_WORKAROUND( NDNBOOST_MSVC, == 1200 )
 
             // work around a code generation bug
 
             long tmp2 = tmp + 1;
-            if( BOOST_INTERLOCKED_COMPARE_EXCHANGE( &use_count_, tmp2, tmp ) == tmp2 - 1 ) return true;
+            if( NDNBOOST_INTERLOCKED_COMPARE_EXCHANGE( &use_count_, tmp2, tmp ) == tmp2 - 1 ) return true;
 
 #else
 
-            if( BOOST_INTERLOCKED_COMPARE_EXCHANGE( &use_count_, tmp + 1, tmp ) == tmp ) return true;
+            if( NDNBOOST_INTERLOCKED_COMPARE_EXCHANGE( &use_count_, tmp + 1, tmp ) == tmp ) return true;
 
 #endif
         }
@@ -98,7 +98,7 @@
 
     void release() // nothrow
     {
-        if( BOOST_INTERLOCKED_DECREMENT( &use_count_ ) == 0 )
+        if( NDNBOOST_INTERLOCKED_DECREMENT( &use_count_ ) == 0 )
         {
             dispose();
             weak_release();
@@ -107,12 +107,12 @@
 
     void weak_add_ref() // nothrow
     {
-        BOOST_INTERLOCKED_INCREMENT( &weak_count_ );
+        NDNBOOST_INTERLOCKED_INCREMENT( &weak_count_ );
     }
 
     void weak_release() // nothrow
     {
-        if( BOOST_INTERLOCKED_DECREMENT( &weak_count_ ) == 0 )
+        if( NDNBOOST_INTERLOCKED_DECREMENT( &weak_count_ ) == 0 )
         {
             destroy();
         }
@@ -128,4 +128,4 @@
 
 } // namespace ndnboost
 
-#endif  // #ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_W32_HPP_INCLUDED
+#endif  // #ifndef NDNBOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_W32_HPP_INCLUDED
diff --git a/include/ndnboost/smart_ptr/detail/sp_counted_impl.hpp b/include/ndnboost/smart_ptr/detail/sp_counted_impl.hpp
index 9b03a26..38af73b 100644
--- a/include/ndnboost/smart_ptr/detail/sp_counted_impl.hpp
+++ b/include/ndnboost/smart_ptr/detail/sp_counted_impl.hpp
@@ -1,5 +1,5 @@
-#ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_IMPL_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_SP_COUNTED_IMPL_HPP_INCLUDED
+#ifndef NDNBOOST_SMART_PTR_DETAIL_SP_COUNTED_IMPL_HPP_INCLUDED
+#define NDNBOOST_SMART_PTR_DETAIL_SP_COUNTED_IMPL_HPP_INCLUDED
 
 // MS compatible compilers support #pragma once
 
@@ -20,18 +20,18 @@
 
 #include <ndnboost/config.hpp>
 
-#if defined(BOOST_SP_USE_STD_ALLOCATOR) && defined(BOOST_SP_USE_QUICK_ALLOCATOR)
-# error BOOST_SP_USE_STD_ALLOCATOR and BOOST_SP_USE_QUICK_ALLOCATOR are incompatible.
+#if defined(NDNBOOST_SP_USE_STD_ALLOCATOR) && defined(NDNBOOST_SP_USE_QUICK_ALLOCATOR)
+# error NDNBOOST_SP_USE_STD_ALLOCATOR and NDNBOOST_SP_USE_QUICK_ALLOCATOR are incompatible.
 #endif
 
 #include <ndnboost/checked_delete.hpp>
 #include <ndnboost/smart_ptr/detail/sp_counted_base.hpp>
 
-#if defined(BOOST_SP_USE_QUICK_ALLOCATOR)
+#if defined(NDNBOOST_SP_USE_QUICK_ALLOCATOR)
 #include <ndnboost/smart_ptr/detail/quick_allocator.hpp>
 #endif
 
-#if defined(BOOST_SP_USE_STD_ALLOCATOR)
+#if defined(NDNBOOST_SP_USE_STD_ALLOCATOR)
 #include <memory>           // std::allocator
 #endif
 
@@ -40,7 +40,7 @@
 namespace ndnboost
 {
 
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
+#if defined(NDNBOOST_SP_ENABLE_DEBUG_HOOKS)
 
 void sp_scalar_constructor_hook( void * px, std::size_t size, void * pn );
 void sp_scalar_destructor_hook( void * px, std::size_t size, void * pn );
@@ -65,14 +65,14 @@
 
     explicit sp_counted_impl_p( X * px ): px_( px )
     {
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
+#if defined(NDNBOOST_SP_ENABLE_DEBUG_HOOKS)
         ndnboost::sp_scalar_constructor_hook( px, sizeof(X), this );
 #endif
     }
 
     virtual void dispose() // nothrow
     {
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
+#if defined(NDNBOOST_SP_ENABLE_DEBUG_HOOKS)
         ndnboost::sp_scalar_destructor_hook( px_, sizeof(X), this );
 #endif
         ndnboost::checked_delete( px_ );
@@ -88,7 +88,7 @@
         return 0;
     }
 
-#if defined(BOOST_SP_USE_STD_ALLOCATOR)
+#if defined(NDNBOOST_SP_USE_STD_ALLOCATOR)
 
     void * operator new( std::size_t )
     {
@@ -102,7 +102,7 @@
 
 #endif
 
-#if defined(BOOST_SP_USE_QUICK_ALLOCATOR)
+#if defined(NDNBOOST_SP_USE_QUICK_ALLOCATOR)
 
     void * operator new( std::size_t )
     {
@@ -155,7 +155,7 @@
 
     virtual void * get_deleter( detail::sp_typeinfo const & ti )
     {
-        return ti == BOOST_SP_TYPEID(D)? &reinterpret_cast<char&>( del ): 0;
+        return ti == NDNBOOST_SP_TYPEID(D)? &reinterpret_cast<char&>( del ): 0;
     }
 
     virtual void * get_untyped_deleter()
@@ -163,7 +163,7 @@
         return &reinterpret_cast<char&>( del );
     }
 
-#if defined(BOOST_SP_USE_STD_ALLOCATOR)
+#if defined(NDNBOOST_SP_USE_STD_ALLOCATOR)
 
     void * operator new( std::size_t )
     {
@@ -177,7 +177,7 @@
 
 #endif
 
-#if defined(BOOST_SP_USE_QUICK_ALLOCATOR)
+#if defined(NDNBOOST_SP_USE_QUICK_ALLOCATOR)
 
     void * operator new( std::size_t )
     {
@@ -234,7 +234,7 @@
 
     virtual void * get_deleter( detail::sp_typeinfo const & ti )
     {
-        return ti == BOOST_SP_TYPEID( D )? &reinterpret_cast<char&>( d_ ): 0;
+        return ti == NDNBOOST_SP_TYPEID( D )? &reinterpret_cast<char&>( d_ ): 0;
     }
 
     virtual void * get_untyped_deleter()
@@ -251,4 +251,4 @@
 
 } // namespace ndnboost
 
-#endif  // #ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_IMPL_HPP_INCLUDED
+#endif  // #ifndef NDNBOOST_SMART_PTR_DETAIL_SP_COUNTED_IMPL_HPP_INCLUDED
diff --git a/include/ndnboost/smart_ptr/detail/sp_forward.hpp b/include/ndnboost/smart_ptr/detail/sp_forward.hpp
index d22d9a4..e1b7b74 100644
--- a/include/ndnboost/smart_ptr/detail/sp_forward.hpp
+++ b/include/ndnboost/smart_ptr/detail/sp_forward.hpp
@@ -1,5 +1,5 @@
-#ifndef BOOST_SMART_PTR_DETAIL_SP_FORWARD_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_SP_FORWARD_HPP_INCLUDED
+#ifndef NDNBOOST_SMART_PTR_DETAIL_SP_FORWARD_HPP_INCLUDED
+#define NDNBOOST_SMART_PTR_DETAIL_SP_FORWARD_HPP_INCLUDED
 
 // MS compatible compilers support #pragma once
 
@@ -23,9 +23,9 @@
 namespace detail
 {
 
-#if !defined( BOOST_NO_CXX11_RVALUE_REFERENCES )
+#if !defined( NDNBOOST_NO_CXX11_RVALUE_REFERENCES )
 
-template< class T > T&& sp_forward( T & t ) BOOST_NOEXCEPT
+template< class T > T&& sp_forward( T & t ) NDNBOOST_NOEXCEPT
 {
     return static_cast< T&& >( t );
 }
@@ -36,4 +36,4 @@
 
 } // namespace ndnboost
 
-#endif  // #ifndef BOOST_SMART_PTR_DETAIL_SP_FORWARD_HPP_INCLUDED
+#endif  // #ifndef NDNBOOST_SMART_PTR_DETAIL_SP_FORWARD_HPP_INCLUDED
diff --git a/include/ndnboost/smart_ptr/detail/sp_has_sync.hpp b/include/ndnboost/smart_ptr/detail/sp_has_sync.hpp
index 7d2b984..5b5b4df 100644
--- a/include/ndnboost/smart_ptr/detail/sp_has_sync.hpp
+++ b/include/ndnboost/smart_ptr/detail/sp_has_sync.hpp
@@ -1,5 +1,5 @@
-#ifndef BOOST_SMART_PTR_DETAIL_SP_HAS_SYNC_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_SP_HAS_SYNC_HPP_INCLUDED
+#ifndef NDNBOOST_SMART_PTR_DETAIL_SP_HAS_SYNC_HPP_INCLUDED
+#define NDNBOOST_SMART_PTR_DETAIL_SP_HAS_SYNC_HPP_INCLUDED
 
 // MS compatible compilers support #pragma once
 
@@ -16,54 +16,54 @@
 //  See accompanying file LICENSE_1_0.txt or copy at
 //  http://www.boost.org/LICENSE_1_0.txt)
 //
-//  Defines the BOOST_SP_HAS_SYNC macro if the __sync_* intrinsics
+//  Defines the NDNBOOST_SP_HAS_SYNC macro if the __sync_* intrinsics
 //  are available.
 //
 
-#ifndef BOOST_SP_NO_SYNC
+#ifndef NDNBOOST_SP_NO_SYNC
 
 #if defined( __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 )
 
-# define BOOST_SP_HAS_SYNC
+# define NDNBOOST_SP_HAS_SYNC
 
 #elif defined( __IBMCPP__ ) && ( __IBMCPP__ >= 1210 )
 
-# define BOOST_SP_HAS_SYNC
+# define NDNBOOST_SP_HAS_SYNC
 
 #elif defined( __GNUC__ ) && ( __GNUC__ * 100 + __GNUC_MINOR__ >= 401 )
 
-#define BOOST_SP_HAS_SYNC
+#define NDNBOOST_SP_HAS_SYNC
 
 #if defined( __arm__ )  || defined( __armel__ )
-#undef BOOST_SP_HAS_SYNC
+#undef NDNBOOST_SP_HAS_SYNC
 #endif
 
 #if defined( __hppa ) || defined( __hppa__ )
-#undef BOOST_SP_HAS_SYNC
+#undef NDNBOOST_SP_HAS_SYNC
 #endif
 
 #if defined( __m68k__ )
-#undef BOOST_SP_HAS_SYNC
+#undef NDNBOOST_SP_HAS_SYNC
 #endif
 
 #if defined( __sh__ )
-#undef BOOST_SP_HAS_SYNC
+#undef NDNBOOST_SP_HAS_SYNC
 #endif
 
 #if defined( __sparc__ )
-#undef BOOST_SP_HAS_SYNC
+#undef NDNBOOST_SP_HAS_SYNC
 #endif
 
 #if defined( __INTEL_COMPILER ) && !defined( __ia64__ ) && ( __INTEL_COMPILER < 1110 )
-#undef BOOST_SP_HAS_SYNC
+#undef NDNBOOST_SP_HAS_SYNC
 #endif
 
 #if defined(__PATHSCALE__) && ((__PATHCC__ == 4) && (__PATHCC_MINOR__ < 9)) 
-#undef BOOST_SP_HAS_SYNC
+#undef NDNBOOST_SP_HAS_SYNC
 #endif
 
 #endif
 
-#endif // #ifndef BOOST_SP_NO_SYNC
+#endif // #ifndef NDNBOOST_SP_NO_SYNC
 
-#endif // #ifndef BOOST_SMART_PTR_DETAIL_SP_HAS_SYNC_HPP_INCLUDED
+#endif // #ifndef NDNBOOST_SMART_PTR_DETAIL_SP_HAS_SYNC_HPP_INCLUDED
diff --git a/include/ndnboost/smart_ptr/detail/sp_if_array.hpp b/include/ndnboost/smart_ptr/detail/sp_if_array.hpp
index 8f9d56d..33c8925 100644
--- a/include/ndnboost/smart_ptr/detail/sp_if_array.hpp
+++ b/include/ndnboost/smart_ptr/detail/sp_if_array.hpp
@@ -6,8 +6,8 @@
  * Version 1.0. (See accompanying file LICENSE_1_0.txt 
  * or copy at http://boost.org/LICENSE_1_0.txt)
  */
-#ifndef BOOST_SMART_PTR_DETAIL_SP_IF_ARRAY_HPP
-#define BOOST_SMART_PTR_DETAIL_SP_IF_ARRAY_HPP
+#ifndef NDNBOOST_SMART_PTR_DETAIL_SP_IF_ARRAY_HPP
+#define NDNBOOST_SMART_PTR_DETAIL_SP_IF_ARRAY_HPP
 
 #include <ndnboost/smart_ptr/shared_ptr.hpp>
 
diff --git a/include/ndnboost/smart_ptr/detail/sp_nullptr_t.hpp b/include/ndnboost/smart_ptr/detail/sp_nullptr_t.hpp
index 13e2a9a..5348061 100644
--- a/include/ndnboost/smart_ptr/detail/sp_nullptr_t.hpp
+++ b/include/ndnboost/smart_ptr/detail/sp_nullptr_t.hpp
@@ -1,5 +1,5 @@
-#ifndef BOOST_SMART_PTR_DETAIL_SP_NULLPTR_T_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_SP_NULLPTR_T_HPP_INCLUDED
+#ifndef NDNBOOST_SMART_PTR_DETAIL_SP_NULLPTR_T_HPP_INCLUDED
+#define NDNBOOST_SMART_PTR_DETAIL_SP_NULLPTR_T_HPP_INCLUDED
 
 // MS compatible compilers support #pragma once
 
@@ -18,7 +18,7 @@
 #include <ndnboost/config.hpp>
 #include <cstddef>
 
-#if !defined( BOOST_NO_CXX11_NULLPTR )
+#if !defined( NDNBOOST_NO_CXX11_NULLPTR )
 
 namespace ndnboost
 {
@@ -26,7 +26,7 @@
 namespace detail
 {
 
-#if defined( __clang__ ) && !defined( _LIBCPP_VERSION ) && !defined( BOOST_NO_CXX11_DECLTYPE )
+#if defined( __clang__ ) && !defined( _LIBCPP_VERSION ) && !defined( NDNBOOST_NO_CXX11_DECLTYPE )
 
     typedef decltype(nullptr) sp_nullptr_t;
 
@@ -40,6 +40,6 @@
 
 } // namespace ndnboost
 
-#endif // !defined( BOOST_NO_CXX11_NULLPTR )
+#endif // !defined( NDNBOOST_NO_CXX11_NULLPTR )
 
-#endif  // #ifndef BOOST_SMART_PTR_DETAIL_SP_NULLPTR_T_HPP_INCLUDED
+#endif  // #ifndef NDNBOOST_SMART_PTR_DETAIL_SP_NULLPTR_T_HPP_INCLUDED
diff --git a/include/ndnboost/smart_ptr/detail/spinlock.hpp b/include/ndnboost/smart_ptr/detail/spinlock.hpp
index 80ae61a..37d0d56 100644
--- a/include/ndnboost/smart_ptr/detail/spinlock.hpp
+++ b/include/ndnboost/smart_ptr/detail/spinlock.hpp
@@ -1,5 +1,5 @@
-#ifndef BOOST_SMART_PTR_DETAIL_SPINLOCK_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_SPINLOCK_HPP_INCLUDED
+#ifndef NDNBOOST_SMART_PTR_DETAIL_SPINLOCK_HPP_INCLUDED
+#define NDNBOOST_SMART_PTR_DETAIL_SPINLOCK_HPP_INCLUDED
 
 // MS compatible compilers support #pragma once
 
@@ -25,32 +25,32 @@
 //      class scoped_lock;
 //  };
 //
-//  #define BOOST_DETAIL_SPINLOCK_INIT <unspecified>
+//  #define NDNBOOST_DETAIL_SPINLOCK_INIT <unspecified>
 //
 
 #include <ndnboost/config.hpp>
 #include <ndnboost/smart_ptr/detail/sp_has_sync.hpp>
 
-#if defined( BOOST_SP_USE_PTHREADS )
+#if defined( NDNBOOST_SP_USE_PTHREADS )
 #  include <ndnboost/smart_ptr/detail/spinlock_pt.hpp>
 
 #elif defined(__GNUC__) && defined( __arm__ ) && !defined( __thumb__ )
 #  include <ndnboost/smart_ptr/detail/spinlock_gcc_arm.hpp>
 
-#elif defined( BOOST_SP_HAS_SYNC )
+#elif defined( NDNBOOST_SP_HAS_SYNC )
 #  include <ndnboost/smart_ptr/detail/spinlock_sync.hpp>
 
 #elif defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
 #  include <ndnboost/smart_ptr/detail/spinlock_w32.hpp>
 
-#elif defined(BOOST_HAS_PTHREADS)
+#elif defined(NDNBOOST_HAS_PTHREADS)
 #  include <ndnboost/smart_ptr/detail/spinlock_pt.hpp>
 
-#elif !defined(BOOST_HAS_THREADS)
+#elif !defined(NDNBOOST_HAS_THREADS)
 #  include <ndnboost/smart_ptr/detail/spinlock_nt.hpp>
 
 #else
 #  error Unrecognized threading platform
 #endif
 
-#endif // #ifndef BOOST_SMART_PTR_DETAIL_SPINLOCK_HPP_INCLUDED
+#endif // #ifndef NDNBOOST_SMART_PTR_DETAIL_SPINLOCK_HPP_INCLUDED
diff --git a/include/ndnboost/smart_ptr/detail/spinlock_gcc_arm.hpp b/include/ndnboost/smart_ptr/detail/spinlock_gcc_arm.hpp
index 7155fbe..2f015a4 100644
--- a/include/ndnboost/smart_ptr/detail/spinlock_gcc_arm.hpp
+++ b/include/ndnboost/smart_ptr/detail/spinlock_gcc_arm.hpp
@@ -1,5 +1,5 @@
-#ifndef BOOST_SMART_PTR_DETAIL_SPINLOCK_GCC_ARM_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_SPINLOCK_GCC_ARM_HPP_INCLUDED
+#ifndef NDNBOOST_SMART_PTR_DETAIL_SPINLOCK_GCC_ARM_HPP_INCLUDED
+#define NDNBOOST_SMART_PTR_DETAIL_SPINLOCK_GCC_ARM_HPP_INCLUDED
 
 //
 //  Copyright (c) 2008, 2011 Peter Dimov
@@ -13,17 +13,17 @@
 
 #if defined(__ARM_ARCH_7__) || defined(__ARM_ARCH_7A__) || defined(__ARM_ARCH_7R__) || defined(__ARM_ARCH_7M__) || defined(__ARM_ARCH_7EM__) || defined(__ARM_ARCH_7S__)
 
-# define BOOST_SP_ARM_BARRIER "dmb"
-# define BOOST_SP_ARM_HAS_LDREX
+# define NDNBOOST_SP_ARM_BARRIER "dmb"
+# define NDNBOOST_SP_ARM_HAS_LDREX
 
 #elif defined(__ARM_ARCH_6__) || defined(__ARM_ARCH_6J__) || defined(__ARM_ARCH_6K__) || defined(__ARM_ARCH_6Z__) || defined(__ARM_ARCH_6ZK__) || defined(__ARM_ARCH_6T2__)
 
-# define BOOST_SP_ARM_BARRIER "mcr p15, 0, r0, c7, c10, 5"
-# define BOOST_SP_ARM_HAS_LDREX
+# define NDNBOOST_SP_ARM_BARRIER "mcr p15, 0, r0, c7, c10, 5"
+# define NDNBOOST_SP_ARM_HAS_LDREX
 
 #else
 
-# define BOOST_SP_ARM_BARRIER ""
+# define NDNBOOST_SP_ARM_BARRIER ""
 
 #endif
 
@@ -45,13 +45,13 @@
     {
         int r;
 
-#ifdef BOOST_SP_ARM_HAS_LDREX
+#ifdef NDNBOOST_SP_ARM_HAS_LDREX
 
         __asm__ __volatile__(
             "ldrex %0, [%2]; \n"
             "cmp %0, %1; \n"
             "strexne %0, %1, [%2]; \n"
-            BOOST_SP_ARM_BARRIER :
+            NDNBOOST_SP_ARM_BARRIER :
             "=&r"( r ): // outputs
             "r"( 1 ), "r"( &v_ ): // inputs
             "memory", "cc" );
@@ -60,7 +60,7 @@
 
         __asm__ __volatile__(
             "swp %0, %1, [%2];\n"
-            BOOST_SP_ARM_BARRIER :
+            NDNBOOST_SP_ARM_BARRIER :
             "=&r"( r ): // outputs
             "r"( 1 ), "r"( &v_ ): // inputs
             "memory", "cc" );
@@ -80,7 +80,7 @@
 
     void unlock()
     {
-        __asm__ __volatile__( BOOST_SP_ARM_BARRIER ::: "memory" );
+        __asm__ __volatile__( NDNBOOST_SP_ARM_BARRIER ::: "memory" );
         *const_cast< int volatile* >( &v_ ) = 0;
     }
 
@@ -112,9 +112,9 @@
 } // namespace detail
 } // namespace ndnboost
 
-#define BOOST_DETAIL_SPINLOCK_INIT {0}
+#define NDNBOOST_DETAIL_SPINLOCK_INIT {0}
 
-#undef BOOST_SP_ARM_BARRIER
-#undef BOOST_SP_ARM_HAS_LDREX
+#undef NDNBOOST_SP_ARM_BARRIER
+#undef NDNBOOST_SP_ARM_HAS_LDREX
 
-#endif // #ifndef BOOST_SMART_PTR_DETAIL_SPINLOCK_GCC_ARM_HPP_INCLUDED
+#endif // #ifndef NDNBOOST_SMART_PTR_DETAIL_SPINLOCK_GCC_ARM_HPP_INCLUDED
diff --git a/include/ndnboost/smart_ptr/detail/spinlock_nt.hpp b/include/ndnboost/smart_ptr/detail/spinlock_nt.hpp
index 59cc715..5b514c8 100644
--- a/include/ndnboost/smart_ptr/detail/spinlock_nt.hpp
+++ b/include/ndnboost/smart_ptr/detail/spinlock_nt.hpp
@@ -1,5 +1,5 @@
-#ifndef BOOST_SMART_PTR_DETAIL_SPINLOCK_NT_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_SPINLOCK_NT_HPP_INCLUDED
+#ifndef NDNBOOST_SMART_PTR_DETAIL_SPINLOCK_NT_HPP_INCLUDED
+#define NDNBOOST_SMART_PTR_DETAIL_SPINLOCK_NT_HPP_INCLUDED
 
 // MS compatible compilers support #pragma once
 
@@ -46,13 +46,13 @@
 
     inline void lock()
     {
-        BOOST_ASSERT( !locked_ );
+        NDNBOOST_ASSERT( !locked_ );
         locked_ = true;
     }
 
     inline void unlock()
     {
-        BOOST_ASSERT( locked_ );
+        NDNBOOST_ASSERT( locked_ );
         locked_ = false;
     }
 
@@ -84,6 +84,6 @@
 } // namespace detail
 } // namespace ndnboost
 
-#define BOOST_DETAIL_SPINLOCK_INIT { false }
+#define NDNBOOST_DETAIL_SPINLOCK_INIT { false }
 
-#endif // #ifndef BOOST_SMART_PTR_DETAIL_SPINLOCK_NT_HPP_INCLUDED
+#endif // #ifndef NDNBOOST_SMART_PTR_DETAIL_SPINLOCK_NT_HPP_INCLUDED
diff --git a/include/ndnboost/smart_ptr/detail/spinlock_pool.hpp b/include/ndnboost/smart_ptr/detail/spinlock_pool.hpp
index 5ba249d..70549b7 100644
--- a/include/ndnboost/smart_ptr/detail/spinlock_pool.hpp
+++ b/include/ndnboost/smart_ptr/detail/spinlock_pool.hpp
@@ -1,5 +1,5 @@
-#ifndef BOOST_SMART_PTR_DETAIL_SPINLOCK_POOL_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_SPINLOCK_POOL_HPP_INCLUDED
+#ifndef NDNBOOST_SMART_PTR_DETAIL_SPINLOCK_POOL_HPP_INCLUDED
+#define NDNBOOST_SMART_PTR_DETAIL_SPINLOCK_POOL_HPP_INCLUDED
 
 // MS compatible compilers support #pragma once
 
@@ -74,18 +74,18 @@
 
 template< int I > spinlock spinlock_pool< I >::pool_[ 41 ] =
 {
-    BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, 
-    BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, 
-    BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, 
-    BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, 
-    BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, 
-    BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, 
-    BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, 
-    BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, 
-    BOOST_DETAIL_SPINLOCK_INIT
+    NDNBOOST_DETAIL_SPINLOCK_INIT, NDNBOOST_DETAIL_SPINLOCK_INIT, NDNBOOST_DETAIL_SPINLOCK_INIT, NDNBOOST_DETAIL_SPINLOCK_INIT, NDNBOOST_DETAIL_SPINLOCK_INIT, 
+    NDNBOOST_DETAIL_SPINLOCK_INIT, NDNBOOST_DETAIL_SPINLOCK_INIT, NDNBOOST_DETAIL_SPINLOCK_INIT, NDNBOOST_DETAIL_SPINLOCK_INIT, NDNBOOST_DETAIL_SPINLOCK_INIT, 
+    NDNBOOST_DETAIL_SPINLOCK_INIT, NDNBOOST_DETAIL_SPINLOCK_INIT, NDNBOOST_DETAIL_SPINLOCK_INIT, NDNBOOST_DETAIL_SPINLOCK_INIT, NDNBOOST_DETAIL_SPINLOCK_INIT, 
+    NDNBOOST_DETAIL_SPINLOCK_INIT, NDNBOOST_DETAIL_SPINLOCK_INIT, NDNBOOST_DETAIL_SPINLOCK_INIT, NDNBOOST_DETAIL_SPINLOCK_INIT, NDNBOOST_DETAIL_SPINLOCK_INIT, 
+    NDNBOOST_DETAIL_SPINLOCK_INIT, NDNBOOST_DETAIL_SPINLOCK_INIT, NDNBOOST_DETAIL_SPINLOCK_INIT, NDNBOOST_DETAIL_SPINLOCK_INIT, NDNBOOST_DETAIL_SPINLOCK_INIT, 
+    NDNBOOST_DETAIL_SPINLOCK_INIT, NDNBOOST_DETAIL_SPINLOCK_INIT, NDNBOOST_DETAIL_SPINLOCK_INIT, NDNBOOST_DETAIL_SPINLOCK_INIT, NDNBOOST_DETAIL_SPINLOCK_INIT, 
+    NDNBOOST_DETAIL_SPINLOCK_INIT, NDNBOOST_DETAIL_SPINLOCK_INIT, NDNBOOST_DETAIL_SPINLOCK_INIT, NDNBOOST_DETAIL_SPINLOCK_INIT, NDNBOOST_DETAIL_SPINLOCK_INIT, 
+    NDNBOOST_DETAIL_SPINLOCK_INIT, NDNBOOST_DETAIL_SPINLOCK_INIT, NDNBOOST_DETAIL_SPINLOCK_INIT, NDNBOOST_DETAIL_SPINLOCK_INIT, NDNBOOST_DETAIL_SPINLOCK_INIT, 
+    NDNBOOST_DETAIL_SPINLOCK_INIT
 };
 
 } // namespace detail
 } // namespace ndnboost
 
-#endif // #ifndef BOOST_SMART_PTR_DETAIL_SPINLOCK_POOL_HPP_INCLUDED
+#endif // #ifndef NDNBOOST_SMART_PTR_DETAIL_SPINLOCK_POOL_HPP_INCLUDED
diff --git a/include/ndnboost/smart_ptr/detail/spinlock_pt.hpp b/include/ndnboost/smart_ptr/detail/spinlock_pt.hpp
index c08b1eb..02f3003 100644
--- a/include/ndnboost/smart_ptr/detail/spinlock_pt.hpp
+++ b/include/ndnboost/smart_ptr/detail/spinlock_pt.hpp
@@ -1,5 +1,5 @@
-#ifndef BOOST_SMART_PTR_DETAIL_SPINLOCK_PT_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_SPINLOCK_PT_HPP_INCLUDED
+#ifndef NDNBOOST_SMART_PTR_DETAIL_SPINLOCK_PT_HPP_INCLUDED
+#define NDNBOOST_SMART_PTR_DETAIL_SPINLOCK_PT_HPP_INCLUDED
 
 // MS compatible compilers support #pragma once
 
@@ -74,6 +74,6 @@
 } // namespace detail
 } // namespace ndnboost
 
-#define BOOST_DETAIL_SPINLOCK_INIT { PTHREAD_MUTEX_INITIALIZER }
+#define NDNBOOST_DETAIL_SPINLOCK_INIT { PTHREAD_MUTEX_INITIALIZER }
 
-#endif // #ifndef BOOST_SMART_PTR_DETAIL_SPINLOCK_PT_HPP_INCLUDED
+#endif // #ifndef NDNBOOST_SMART_PTR_DETAIL_SPINLOCK_PT_HPP_INCLUDED
diff --git a/include/ndnboost/smart_ptr/detail/spinlock_sync.hpp b/include/ndnboost/smart_ptr/detail/spinlock_sync.hpp
index fa1df85..41f321f 100644
--- a/include/ndnboost/smart_ptr/detail/spinlock_sync.hpp
+++ b/include/ndnboost/smart_ptr/detail/spinlock_sync.hpp
@@ -1,5 +1,5 @@
-#ifndef BOOST_SMART_PTR_DETAIL_SPINLOCK_SYNC_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_SPINLOCK_SYNC_HPP_INCLUDED
+#ifndef NDNBOOST_SMART_PTR_DETAIL_SPINLOCK_SYNC_HPP_INCLUDED
+#define NDNBOOST_SMART_PTR_DETAIL_SPINLOCK_SYNC_HPP_INCLUDED
 
 // MS compatible compilers support #pragma once
 
@@ -82,6 +82,6 @@
 } // namespace detail
 } // namespace ndnboost
 
-#define BOOST_DETAIL_SPINLOCK_INIT {0}
+#define NDNBOOST_DETAIL_SPINLOCK_INIT {0}
 
-#endif // #ifndef BOOST_SMART_PTR_DETAIL_SPINLOCK_SYNC_HPP_INCLUDED
+#endif // #ifndef NDNBOOST_SMART_PTR_DETAIL_SPINLOCK_SYNC_HPP_INCLUDED
diff --git a/include/ndnboost/smart_ptr/detail/spinlock_w32.hpp b/include/ndnboost/smart_ptr/detail/spinlock_w32.hpp
index 393b5a1..021e3b0 100644
--- a/include/ndnboost/smart_ptr/detail/spinlock_w32.hpp
+++ b/include/ndnboost/smart_ptr/detail/spinlock_w32.hpp
@@ -1,5 +1,5 @@
-#ifndef BOOST_SMART_PTR_DETAIL_SPINLOCK_W32_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_SPINLOCK_W32_HPP_INCLUDED
+#ifndef NDNBOOST_SMART_PTR_DETAIL_SPINLOCK_W32_HPP_INCLUDED
+#define NDNBOOST_SMART_PTR_DETAIL_SPINLOCK_W32_HPP_INCLUDED
 
 // MS compatible compilers support #pragma once
 
@@ -18,26 +18,26 @@
 #include <ndnboost/detail/interlocked.hpp>
 #include <ndnboost/smart_ptr/detail/yield_k.hpp>
 
-// BOOST_COMPILER_FENCE
+// NDNBOOST_COMPILER_FENCE
 
 #if defined(__INTEL_COMPILER)
 
-#define BOOST_COMPILER_FENCE __memory_barrier();
+#define NDNBOOST_COMPILER_FENCE __memory_barrier();
 
 #elif defined( _MSC_VER ) && _MSC_VER >= 1310
 
 extern "C" void _ReadWriteBarrier();
 #pragma intrinsic( _ReadWriteBarrier )
 
-#define BOOST_COMPILER_FENCE _ReadWriteBarrier();
+#define NDNBOOST_COMPILER_FENCE _ReadWriteBarrier();
 
 #elif defined(__GNUC__)
 
-#define BOOST_COMPILER_FENCE __asm__ __volatile__( "" : : : "memory" );
+#define NDNBOOST_COMPILER_FENCE __asm__ __volatile__( "" : : : "memory" );
 
 #else
 
-#define BOOST_COMPILER_FENCE
+#define NDNBOOST_COMPILER_FENCE
 
 #endif
 
@@ -59,9 +59,9 @@
 
     bool try_lock()
     {
-        long r = BOOST_INTERLOCKED_EXCHANGE( &v_, 1 );
+        long r = NDNBOOST_INTERLOCKED_EXCHANGE( &v_, 1 );
 
-        BOOST_COMPILER_FENCE
+        NDNBOOST_COMPILER_FENCE
 
         return r == 0;
     }
@@ -76,7 +76,7 @@
 
     void unlock()
     {
-        BOOST_COMPILER_FENCE
+        NDNBOOST_COMPILER_FENCE
         *const_cast< long volatile* >( &v_ ) = 0;
     }
 
@@ -108,6 +108,6 @@
 } // namespace detail
 } // namespace ndnboost
 
-#define BOOST_DETAIL_SPINLOCK_INIT {0}
+#define NDNBOOST_DETAIL_SPINLOCK_INIT {0}
 
-#endif // #ifndef BOOST_SMART_PTR_DETAIL_SPINLOCK_W32_HPP_INCLUDED
+#endif // #ifndef NDNBOOST_SMART_PTR_DETAIL_SPINLOCK_W32_HPP_INCLUDED
diff --git a/include/ndnboost/smart_ptr/detail/yield_k.hpp b/include/ndnboost/smart_ptr/detail/yield_k.hpp
index 4dc447e..2fcd790 100644
--- a/include/ndnboost/smart_ptr/detail/yield_k.hpp
+++ b/include/ndnboost/smart_ptr/detail/yield_k.hpp
@@ -1,5 +1,5 @@
-#ifndef BOOST_SMART_PTR_DETAIL_YIELD_K_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_YIELD_K_HPP_INCLUDED
+#ifndef NDNBOOST_SMART_PTR_DETAIL_YIELD_K_HPP_INCLUDED
+#define NDNBOOST_SMART_PTR_DETAIL_YIELD_K_HPP_INCLUDED
 
 // MS compatible compilers support #pragma once
 
@@ -25,18 +25,18 @@
 
 #include <ndnboost/config.hpp>
 
-// BOOST_SMT_PAUSE
+// NDNBOOST_SMT_PAUSE
 
 #if defined(_MSC_VER) && _MSC_VER >= 1310 && ( defined(_M_IX86) || defined(_M_X64) )
 
 extern "C" void _mm_pause();
 #pragma intrinsic( _mm_pause )
 
-#define BOOST_SMT_PAUSE _mm_pause();
+#define NDNBOOST_SMT_PAUSE _mm_pause();
 
 #elif defined(__GNUC__) && ( defined(__i386__) || defined(__x86_64__) )
 
-#define BOOST_SMT_PAUSE __asm__ __volatile__( "rep; nop" : : : "memory" );
+#define NDNBOOST_SMT_PAUSE __asm__ __volatile__( "rep; nop" : : : "memory" );
 
 #endif
 
@@ -44,7 +44,7 @@
 
 #if defined( WIN32 ) || defined( _WIN32 ) || defined( __WIN32__ ) || defined( __CYGWIN__ )
 
-#if defined( BOOST_USE_WINDOWS_H )
+#if defined( NDNBOOST_USE_WINDOWS_H )
 # include <windows.h>
 #endif
 
@@ -54,7 +54,7 @@
 namespace detail
 {
 
-#if !defined( BOOST_USE_WINDOWS_H )
+#if !defined( NDNBOOST_USE_WINDOWS_H )
   extern "C" void __stdcall Sleep( unsigned long ms );
 #endif
 
@@ -63,10 +63,10 @@
     if( k < 4 )
     {
     }
-#if defined( BOOST_SMT_PAUSE )
+#if defined( NDNBOOST_SMT_PAUSE )
     else if( k < 16 )
     {
-        BOOST_SMT_PAUSE
+        NDNBOOST_SMT_PAUSE
     }
 #endif
     else if( k < 32 )
@@ -83,7 +83,7 @@
 
 } // namespace ndnboost
 
-#elif defined( BOOST_HAS_PTHREADS )
+#elif defined( NDNBOOST_HAS_PTHREADS )
 
 #include <sched.h>
 #include <time.h>
@@ -99,10 +99,10 @@
     if( k < 4 )
     {
     }
-#if defined( BOOST_SMT_PAUSE )
+#if defined( NDNBOOST_SMT_PAUSE )
     else if( k < 16 )
     {
-        BOOST_SMT_PAUSE
+        NDNBOOST_SMT_PAUSE
     }
 #endif
     else if( k < 32 || k & 1 )
@@ -146,4 +146,4 @@
 
 #endif
 
-#endif // #ifndef BOOST_SMART_PTR_DETAIL_YIELD_K_HPP_INCLUDED
+#endif // #ifndef NDNBOOST_SMART_PTR_DETAIL_YIELD_K_HPP_INCLUDED
diff --git a/include/ndnboost/smart_ptr/make_shared.hpp b/include/ndnboost/smart_ptr/make_shared.hpp
index 0f9b124..e0a9197 100644
--- a/include/ndnboost/smart_ptr/make_shared.hpp
+++ b/include/ndnboost/smart_ptr/make_shared.hpp
@@ -1,5 +1,5 @@
-#ifndef BOOST_SMART_PTR_MAKE_SHARED_HPP_INCLUDED
-#define BOOST_SMART_PTR_MAKE_SHARED_HPP_INCLUDED
+#ifndef NDNBOOST_SMART_PTR_MAKE_SHARED_HPP_INCLUDED
+#define NDNBOOST_SMART_PTR_MAKE_SHARED_HPP_INCLUDED
 
 //  make_shared.hpp
 //
@@ -14,9 +14,9 @@
 
 #include <ndnboost/smart_ptr/make_shared_object.hpp>
 
-#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION ) && !defined( BOOST_NO_SFINAE )
+#if !defined( NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION ) && !defined( NDNBOOST_NO_SFINAE )
 # include <ndnboost/smart_ptr/make_shared_array.hpp>
 # include <ndnboost/smart_ptr/allocate_shared_array.hpp>
 #endif
 
-#endif // #ifndef BOOST_SMART_PTR_MAKE_SHARED_HPP_INCLUDED
+#endif // #ifndef NDNBOOST_SMART_PTR_MAKE_SHARED_HPP_INCLUDED
diff --git a/include/ndnboost/smart_ptr/make_shared_array.hpp b/include/ndnboost/smart_ptr/make_shared_array.hpp
index 15b092b..63998ea 100644
--- a/include/ndnboost/smart_ptr/make_shared_array.hpp
+++ b/include/ndnboost/smart_ptr/make_shared_array.hpp
@@ -6,15 +6,15 @@
  * Version 1.0. (See accompanying file LICENSE_1_0.txt
  * or copy at http://boost.org/LICENSE_1_0.txt)
  */
-#ifndef BOOST_SMART_PTR_MAKE_SHARED_ARRAY_HPP
-#define BOOST_SMART_PTR_MAKE_SHARED_ARRAY_HPP
+#ifndef NDNBOOST_SMART_PTR_MAKE_SHARED_ARRAY_HPP
+#define NDNBOOST_SMART_PTR_MAKE_SHARED_ARRAY_HPP
 
 #include <ndnboost/smart_ptr/shared_ptr.hpp>
 #include <ndnboost/smart_ptr/detail/array_deleter.hpp>
 #include <ndnboost/smart_ptr/detail/array_traits.hpp>
 #include <ndnboost/smart_ptr/detail/make_array_helper.hpp>
 #include <ndnboost/smart_ptr/detail/sp_if_array.hpp>
-#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
+#if !defined(NDNBOOST_NO_CXX11_HDR_INITIALIZER_LIST)
 #include <initializer_list>
 #endif
 
@@ -36,7 +36,7 @@
         d2->init(p2);
         return ndnboost::shared_ptr<T>(s1, p1);
     }
-#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
+#if !defined(NDNBOOST_NO_CXX11_VARIADIC_TEMPLATES) && !defined(NDNBOOST_NO_CXX11_RVALUE_REFERENCES)
     template<typename T, typename... Args>
     inline typename ndnboost::detail::sp_if_array<T>::type
     make_shared(std::size_t size, Args&&... args) {
@@ -74,7 +74,7 @@
         return ndnboost::shared_ptr<T>(s1, p1);
     }
 #endif
-#if !defined(BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX)
+#if !defined(NDNBOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX)
     template<typename T>
     inline typename ndnboost::detail::sp_if_size_array<T>::type
     make_shared(const T& list) {
@@ -144,7 +144,7 @@
         d2->template init_list<M>(p2, p3);
         return ndnboost::shared_ptr<T>(s1, p1);
     }
-#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
+#if !defined(NDNBOOST_NO_CXX11_HDR_INITIALIZER_LIST)
     template<typename T>
     inline typename ndnboost::detail::sp_if_array<T>::type
     make_shared(std::initializer_list<typename ndnboost::detail::array_inner<T>::type> list) {
@@ -166,7 +166,7 @@
         return ndnboost::shared_ptr<T>(s1, p1);
     }
 #endif
-#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
+#if !defined(NDNBOOST_NO_CXX11_RVALUE_REFERENCES)
     template<typename T>
     inline typename ndnboost::detail::sp_if_array<T>::type
     make_shared(std::size_t size,
diff --git a/include/ndnboost/smart_ptr/make_shared_object.hpp b/include/ndnboost/smart_ptr/make_shared_object.hpp
index 513dfc2..e704d52 100644
--- a/include/ndnboost/smart_ptr/make_shared_object.hpp
+++ b/include/ndnboost/smart_ptr/make_shared_object.hpp
@@ -1,5 +1,5 @@
-#ifndef BOOST_SMART_PTR_MAKE_SHARED_OBJECT_HPP_INCLUDED
-#define BOOST_SMART_PTR_MAKE_SHARED_OBJECT_HPP_INCLUDED
+#ifndef NDNBOOST_SMART_PTR_MAKE_SHARED_OBJECT_HPP_INCLUDED
+#define NDNBOOST_SMART_PTR_MAKE_SHARED_OBJECT_HPP_INCLUDED
 
 //  make_shared_object.hpp
 //
@@ -68,12 +68,12 @@
 
 public:
 
-    sp_ms_deleter() BOOST_NOEXCEPT : initialized_( false )
+    sp_ms_deleter() NDNBOOST_NOEXCEPT : initialized_( false )
     {
     }
 
     // optimization: do not copy storage_
-    sp_ms_deleter( sp_ms_deleter const & ) BOOST_NOEXCEPT : initialized_( false )
+    sp_ms_deleter( sp_ms_deleter const & ) NDNBOOST_NOEXCEPT : initialized_( false )
     {
     }
 
@@ -91,12 +91,12 @@
     {
     }
 
-    void * address() BOOST_NOEXCEPT
+    void * address() NDNBOOST_NOEXCEPT
     {
         return storage_.data_;
     }
 
-    void set_initialized() BOOST_NOEXCEPT
+    void set_initialized() NDNBOOST_NOEXCEPT
     {
         initialized_ = true;
     }
@@ -107,13 +107,13 @@
     typedef ndnboost::shared_ptr< T > type;
 };
 
-#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
+#if !defined( NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
 
 template< class T > struct sp_if_not_array< T[] >
 {
 };
 
-#if !defined( __BORLANDC__ ) || !BOOST_WORKAROUND( __BORLANDC__, < 0x600 )
+#if !defined( __BORLANDC__ ) || !NDNBOOST_WORKAROUND( __BORLANDC__, < 0x600 )
 
 template< class T, std::size_t N > struct sp_if_not_array< T[N] >
 {
@@ -125,10 +125,10 @@
 
 } // namespace detail
 
-#if !defined( BOOST_NO_FUNCTION_TEMPLATE_ORDERING )
-# define BOOST_SP_MSD( T ) ndnboost::detail::sp_inplace_tag< ndnboost::detail::sp_ms_deleter< T > >()
+#if !defined( NDNBOOST_NO_FUNCTION_TEMPLATE_ORDERING )
+# define NDNBOOST_SP_MSD( T ) ndnboost::detail::sp_inplace_tag< ndnboost::detail::sp_ms_deleter< T > >()
 #else
-# define BOOST_SP_MSD( T ) ndnboost::detail::sp_ms_deleter< T >()
+# define NDNBOOST_SP_MSD( T ) ndnboost::detail::sp_ms_deleter< T >()
 #endif
 
 // Zero-argument versions
@@ -137,7 +137,7 @@
 
 template< class T > typename ndnboost::detail::sp_if_not_array< T >::type make_shared()
 {
-    ndnboost::shared_ptr< T > pt( static_cast< T* >( 0 ), BOOST_SP_MSD( T ) );
+    ndnboost::shared_ptr< T > pt( static_cast< T* >( 0 ), NDNBOOST_SP_MSD( T ) );
 
     ndnboost::detail::sp_ms_deleter< T > * pd = static_cast<ndnboost::detail::sp_ms_deleter< T > *>( pt._internal_get_untyped_deleter() );
 
@@ -154,7 +154,7 @@
 
 template< class T > typename ndnboost::detail::sp_if_not_array< T >::type make_shared_noinit()
 {
-    ndnboost::shared_ptr< T > pt( static_cast< T* >( 0 ), BOOST_SP_MSD( T ) );
+    ndnboost::shared_ptr< T > pt( static_cast< T* >( 0 ), NDNBOOST_SP_MSD( T ) );
 
     ndnboost::detail::sp_ms_deleter< T > * pd = static_cast<ndnboost::detail::sp_ms_deleter< T > *>( pt._internal_get_untyped_deleter() );
 
@@ -171,7 +171,7 @@
 
 template< class T, class A > typename ndnboost::detail::sp_if_not_array< T >::type allocate_shared( A const & a )
 {
-    ndnboost::shared_ptr< T > pt( static_cast< T* >( 0 ), BOOST_SP_MSD( T ), a );
+    ndnboost::shared_ptr< T > pt( static_cast< T* >( 0 ), NDNBOOST_SP_MSD( T ), a );
 
     ndnboost::detail::sp_ms_deleter< T > * pd = static_cast<ndnboost::detail::sp_ms_deleter< T > *>( pt._internal_get_untyped_deleter() );
 
@@ -188,7 +188,7 @@
 
 template< class T, class A > typename ndnboost::detail::sp_if_not_array< T >::type allocate_shared_noinit( A const & a )
 {
-    ndnboost::shared_ptr< T > pt( static_cast< T* >( 0 ), BOOST_SP_MSD( T ), a );
+    ndnboost::shared_ptr< T > pt( static_cast< T* >( 0 ), NDNBOOST_SP_MSD( T ), a );
 
     ndnboost::detail::sp_ms_deleter< T > * pd = static_cast<ndnboost::detail::sp_ms_deleter< T > *>( pt._internal_get_untyped_deleter() );
 
@@ -203,13 +203,13 @@
     return ndnboost::shared_ptr< T >( pt, pt2 );
 }
 
-#if !defined( BOOST_NO_CXX11_VARIADIC_TEMPLATES ) && !defined( BOOST_NO_CXX11_RVALUE_REFERENCES )
+#if !defined( NDNBOOST_NO_CXX11_VARIADIC_TEMPLATES ) && !defined( NDNBOOST_NO_CXX11_RVALUE_REFERENCES )
 
 // Variadic templates, rvalue reference
 
 template< class T, class Arg1, class... Args > typename ndnboost::detail::sp_if_not_array< T >::type make_shared( Arg1 && arg1, Args && ... args )
 {
-    ndnboost::shared_ptr< T > pt( static_cast< T* >( 0 ), BOOST_SP_MSD( T ) );
+    ndnboost::shared_ptr< T > pt( static_cast< T* >( 0 ), NDNBOOST_SP_MSD( T ) );
 
     ndnboost::detail::sp_ms_deleter< T > * pd = static_cast<ndnboost::detail::sp_ms_deleter< T > *>( pt._internal_get_untyped_deleter() );
 
@@ -226,7 +226,7 @@
 
 template< class T, class A, class Arg1, class... Args > typename ndnboost::detail::sp_if_not_array< T >::type allocate_shared( A const & a, Arg1 && arg1, Args && ... args )
 {
-    ndnboost::shared_ptr< T > pt( static_cast< T* >( 0 ), BOOST_SP_MSD( T ), a );
+    ndnboost::shared_ptr< T > pt( static_cast< T* >( 0 ), NDNBOOST_SP_MSD( T ), a );
 
     ndnboost::detail::sp_ms_deleter< T > * pd = static_cast<ndnboost::detail::sp_ms_deleter< T > *>( pt._internal_get_untyped_deleter() );
 
@@ -241,14 +241,14 @@
     return ndnboost::shared_ptr< T >( pt, pt2 );
 }
 
-#elif !defined( BOOST_NO_CXX11_RVALUE_REFERENCES )
+#elif !defined( NDNBOOST_NO_CXX11_RVALUE_REFERENCES )
 
 // For example MSVC 10.0
 
 template< class T, class A1 >
 typename ndnboost::detail::sp_if_not_array< T >::type make_shared( A1 && a1 )
 {
-    ndnboost::shared_ptr< T > pt( static_cast< T* >( 0 ), BOOST_SP_MSD( T ) );
+    ndnboost::shared_ptr< T > pt( static_cast< T* >( 0 ), NDNBOOST_SP_MSD( T ) );
 
     ndnboost::detail::sp_ms_deleter< T > * pd = static_cast<ndnboost::detail::sp_ms_deleter< T > *>( pt._internal_get_untyped_deleter() );
 
@@ -269,7 +269,7 @@
 template< class T, class A, class A1 >
 typename ndnboost::detail::sp_if_not_array< T >::type allocate_shared( A const & a, A1 && a1 )
 {
-    ndnboost::shared_ptr< T > pt( static_cast< T* >( 0 ), BOOST_SP_MSD( T ), a );
+    ndnboost::shared_ptr< T > pt( static_cast< T* >( 0 ), NDNBOOST_SP_MSD( T ), a );
 
     ndnboost::detail::sp_ms_deleter< T > * pd = static_cast<ndnboost::detail::sp_ms_deleter< T > *>( pt._internal_get_untyped_deleter() );
 
@@ -290,7 +290,7 @@
 template< class T, class A1, class A2 >
 typename ndnboost::detail::sp_if_not_array< T >::type make_shared( A1 && a1, A2 && a2 )
 {
-    ndnboost::shared_ptr< T > pt( static_cast< T* >( 0 ), BOOST_SP_MSD( T ) );
+    ndnboost::shared_ptr< T > pt( static_cast< T* >( 0 ), NDNBOOST_SP_MSD( T ) );
 
     ndnboost::detail::sp_ms_deleter< T > * pd = static_cast<ndnboost::detail::sp_ms_deleter< T > *>( pt._internal_get_untyped_deleter() );
 
@@ -312,7 +312,7 @@
 template< class T, class A, class A1, class A2 >
 typename ndnboost::detail::sp_if_not_array< T >::type allocate_shared( A const & a, A1 && a1, A2 && a2 )
 {
-    ndnboost::shared_ptr< T > pt( static_cast< T* >( 0 ), BOOST_SP_MSD( T ), a );
+    ndnboost::shared_ptr< T > pt( static_cast< T* >( 0 ), NDNBOOST_SP_MSD( T ), a );
 
     ndnboost::detail::sp_ms_deleter< T > * pd = static_cast<ndnboost::detail::sp_ms_deleter< T > *>( pt._internal_get_untyped_deleter() );
 
@@ -334,7 +334,7 @@
 template< class T, class A1, class A2, class A3 >
 typename ndnboost::detail::sp_if_not_array< T >::type make_shared( A1 && a1, A2 && a2, A3 && a3 )
 {
-    ndnboost::shared_ptr< T > pt( static_cast< T* >( 0 ), BOOST_SP_MSD( T ) );
+    ndnboost::shared_ptr< T > pt( static_cast< T* >( 0 ), NDNBOOST_SP_MSD( T ) );
 
     ndnboost::detail::sp_ms_deleter< T > * pd = static_cast<ndnboost::detail::sp_ms_deleter< T > *>( pt._internal_get_untyped_deleter() );
 
@@ -357,7 +357,7 @@
 template< class T, class A, class A1, class A2, class A3 >
 typename ndnboost::detail::sp_if_not_array< T >::type allocate_shared( A const & a, A1 && a1, A2 && a2, A3 && a3 )
 {
-    ndnboost::shared_ptr< T > pt( static_cast< T* >( 0 ), BOOST_SP_MSD( T ), a );
+    ndnboost::shared_ptr< T > pt( static_cast< T* >( 0 ), NDNBOOST_SP_MSD( T ), a );
 
     ndnboost::detail::sp_ms_deleter< T > * pd = static_cast<ndnboost::detail::sp_ms_deleter< T > *>( pt._internal_get_untyped_deleter() );
 
@@ -380,7 +380,7 @@
 template< class T, class A1, class A2, class A3, class A4 >
 typename ndnboost::detail::sp_if_not_array< T >::type make_shared( A1 && a1, A2 && a2, A3 && a3, A4 && a4 )
 {
-    ndnboost::shared_ptr< T > pt( static_cast< T* >( 0 ), BOOST_SP_MSD( T ) );
+    ndnboost::shared_ptr< T > pt( static_cast< T* >( 0 ), NDNBOOST_SP_MSD( T ) );
 
     ndnboost::detail::sp_ms_deleter< T > * pd = static_cast<ndnboost::detail::sp_ms_deleter< T > *>( pt._internal_get_untyped_deleter() );
 
@@ -404,7 +404,7 @@
 template< class T, class A, class A1, class A2, class A3, class A4 >
 typename ndnboost::detail::sp_if_not_array< T >::type allocate_shared( A const & a, A1 && a1, A2 && a2, A3 && a3, A4 && a4 )
 {
-    ndnboost::shared_ptr< T > pt( static_cast< T* >( 0 ), BOOST_SP_MSD( T ), a );
+    ndnboost::shared_ptr< T > pt( static_cast< T* >( 0 ), NDNBOOST_SP_MSD( T ), a );
 
     ndnboost::detail::sp_ms_deleter< T > * pd = static_cast<ndnboost::detail::sp_ms_deleter< T > *>( pt._internal_get_untyped_deleter() );
 
@@ -428,7 +428,7 @@
 template< class T, class A1, class A2, class A3, class A4, class A5 >
 typename ndnboost::detail::sp_if_not_array< T >::type make_shared( A1 && a1, A2 && a2, A3 && a3, A4 && a4, A5 && a5 )
 {
-    ndnboost::shared_ptr< T > pt( static_cast< T* >( 0 ), BOOST_SP_MSD( T ) );
+    ndnboost::shared_ptr< T > pt( static_cast< T* >( 0 ), NDNBOOST_SP_MSD( T ) );
 
     ndnboost::detail::sp_ms_deleter< T > * pd = static_cast<ndnboost::detail::sp_ms_deleter< T > *>( pt._internal_get_untyped_deleter() );
 
@@ -453,7 +453,7 @@
 template< class T, class A, class A1, class A2, class A3, class A4, class A5 >
 typename ndnboost::detail::sp_if_not_array< T >::type allocate_shared( A const & a, A1 && a1, A2 && a2, A3 && a3, A4 && a4, A5 && a5 )
 {
-    ndnboost::shared_ptr< T > pt( static_cast< T* >( 0 ), BOOST_SP_MSD( T ), a );
+    ndnboost::shared_ptr< T > pt( static_cast< T* >( 0 ), NDNBOOST_SP_MSD( T ), a );
 
     ndnboost::detail::sp_ms_deleter< T > * pd = static_cast<ndnboost::detail::sp_ms_deleter< T > *>( pt._internal_get_untyped_deleter() );
 
@@ -478,7 +478,7 @@
 template< class T, class A1, class A2, class A3, class A4, class A5, class A6 >
 typename ndnboost::detail::sp_if_not_array< T >::type make_shared( A1 && a1, A2 && a2, A3 && a3, A4 && a4, A5 && a5, A6 && a6 )
 {
-    ndnboost::shared_ptr< T > pt( static_cast< T* >( 0 ), BOOST_SP_MSD( T ) );
+    ndnboost::shared_ptr< T > pt( static_cast< T* >( 0 ), NDNBOOST_SP_MSD( T ) );
 
     ndnboost::detail::sp_ms_deleter< T > * pd = static_cast<ndnboost::detail::sp_ms_deleter< T > *>( pt._internal_get_untyped_deleter() );
 
@@ -504,7 +504,7 @@
 template< class T, class A, class A1, class A2, class A3, class A4, class A5, class A6 >
 typename ndnboost::detail::sp_if_not_array< T >::type allocate_shared( A const & a, A1 && a1, A2 && a2, A3 && a3, A4 && a4, A5 && a5, A6 && a6 )
 {
-    ndnboost::shared_ptr< T > pt( static_cast< T* >( 0 ), BOOST_SP_MSD( T ), a );
+    ndnboost::shared_ptr< T > pt( static_cast< T* >( 0 ), NDNBOOST_SP_MSD( T ), a );
 
     ndnboost::detail::sp_ms_deleter< T > * pd = static_cast<ndnboost::detail::sp_ms_deleter< T > *>( pt._internal_get_untyped_deleter() );
 
@@ -530,7 +530,7 @@
 template< class T, class A1, class A2, class A3, class A4, class A5, class A6, class A7 >
 typename ndnboost::detail::sp_if_not_array< T >::type make_shared( A1 && a1, A2 && a2, A3 && a3, A4 && a4, A5 && a5, A6 && a6, A7 && a7 )
 {
-    ndnboost::shared_ptr< T > pt( static_cast< T* >( 0 ), BOOST_SP_MSD( T ) );
+    ndnboost::shared_ptr< T > pt( static_cast< T* >( 0 ), NDNBOOST_SP_MSD( T ) );
 
     ndnboost::detail::sp_ms_deleter< T > * pd = static_cast<ndnboost::detail::sp_ms_deleter< T > *>( pt._internal_get_untyped_deleter() );
 
@@ -557,7 +557,7 @@
 template< class T, class A, class A1, class A2, class A3, class A4, class A5, class A6, class A7 >
 typename ndnboost::detail::sp_if_not_array< T >::type allocate_shared( A const & a, A1 && a1, A2 && a2, A3 && a3, A4 && a4, A5 && a5, A6 && a6, A7 && a7 )
 {
-    ndnboost::shared_ptr< T > pt( static_cast< T* >( 0 ), BOOST_SP_MSD( T ), a );
+    ndnboost::shared_ptr< T > pt( static_cast< T* >( 0 ), NDNBOOST_SP_MSD( T ), a );
 
     ndnboost::detail::sp_ms_deleter< T > * pd = static_cast<ndnboost::detail::sp_ms_deleter< T > *>( pt._internal_get_untyped_deleter() );
 
@@ -584,7 +584,7 @@
 template< class T, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8 >
 typename ndnboost::detail::sp_if_not_array< T >::type make_shared( A1 && a1, A2 && a2, A3 && a3, A4 && a4, A5 && a5, A6 && a6, A7 && a7, A8 && a8 )
 {
-    ndnboost::shared_ptr< T > pt( static_cast< T* >( 0 ), BOOST_SP_MSD( T ) );
+    ndnboost::shared_ptr< T > pt( static_cast< T* >( 0 ), NDNBOOST_SP_MSD( T ) );
 
     ndnboost::detail::sp_ms_deleter< T > * pd = static_cast<ndnboost::detail::sp_ms_deleter< T > *>( pt._internal_get_untyped_deleter() );
 
@@ -612,7 +612,7 @@
 template< class T, class A, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8 >
 typename ndnboost::detail::sp_if_not_array< T >::type allocate_shared( A const & a, A1 && a1, A2 && a2, A3 && a3, A4 && a4, A5 && a5, A6 && a6, A7 && a7, A8 && a8 )
 {
-    ndnboost::shared_ptr< T > pt( static_cast< T* >( 0 ), BOOST_SP_MSD( T ), a );
+    ndnboost::shared_ptr< T > pt( static_cast< T* >( 0 ), NDNBOOST_SP_MSD( T ), a );
 
     ndnboost::detail::sp_ms_deleter< T > * pd = static_cast<ndnboost::detail::sp_ms_deleter< T > *>( pt._internal_get_untyped_deleter() );
 
@@ -640,7 +640,7 @@
 template< class T, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9 >
 typename ndnboost::detail::sp_if_not_array< T >::type make_shared( A1 && a1, A2 && a2, A3 && a3, A4 && a4, A5 && a5, A6 && a6, A7 && a7, A8 && a8, A9 && a9 )
 {
-    ndnboost::shared_ptr< T > pt( static_cast< T* >( 0 ), BOOST_SP_MSD( T ) );
+    ndnboost::shared_ptr< T > pt( static_cast< T* >( 0 ), NDNBOOST_SP_MSD( T ) );
 
     ndnboost::detail::sp_ms_deleter< T > * pd = static_cast<ndnboost::detail::sp_ms_deleter< T > *>( pt._internal_get_untyped_deleter() );
 
@@ -669,7 +669,7 @@
 template< class T, class A, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9 >
 typename ndnboost::detail::sp_if_not_array< T >::type allocate_shared( A const & a, A1 && a1, A2 && a2, A3 && a3, A4 && a4, A5 && a5, A6 && a6, A7 && a7, A8 && a8, A9 && a9 )
 {
-    ndnboost::shared_ptr< T > pt( static_cast< T* >( 0 ), BOOST_SP_MSD( T ), a );
+    ndnboost::shared_ptr< T > pt( static_cast< T* >( 0 ), NDNBOOST_SP_MSD( T ), a );
 
     ndnboost::detail::sp_ms_deleter< T > * pd = static_cast<ndnboost::detail::sp_ms_deleter< T > *>( pt._internal_get_untyped_deleter() );
 
@@ -702,7 +702,7 @@
 template< class T, class A1 >
 typename ndnboost::detail::sp_if_not_array< T >::type make_shared( A1 const & a1 )
 {
-    ndnboost::shared_ptr< T > pt( static_cast< T* >( 0 ), BOOST_SP_MSD( T ) );
+    ndnboost::shared_ptr< T > pt( static_cast< T* >( 0 ), NDNBOOST_SP_MSD( T ) );
 
     ndnboost::detail::sp_ms_deleter< T > * pd = static_cast<ndnboost::detail::sp_ms_deleter< T > *>( pt._internal_get_untyped_deleter() );
 
@@ -720,7 +720,7 @@
 template< class T, class A, class A1 >
 typename ndnboost::detail::sp_if_not_array< T >::type allocate_shared( A const & a, A1 const & a1 )
 {
-    ndnboost::shared_ptr< T > pt( static_cast< T* >( 0 ), BOOST_SP_MSD( T ), a );
+    ndnboost::shared_ptr< T > pt( static_cast< T* >( 0 ), NDNBOOST_SP_MSD( T ), a );
 
     ndnboost::detail::sp_ms_deleter< T > * pd = static_cast<ndnboost::detail::sp_ms_deleter< T > *>( pt._internal_get_untyped_deleter() );
 
@@ -738,7 +738,7 @@
 template< class T, class A1, class A2 >
 typename ndnboost::detail::sp_if_not_array< T >::type make_shared( A1 const & a1, A2 const & a2 )
 {
-    ndnboost::shared_ptr< T > pt( static_cast< T* >( 0 ), BOOST_SP_MSD( T ) );
+    ndnboost::shared_ptr< T > pt( static_cast< T* >( 0 ), NDNBOOST_SP_MSD( T ) );
 
     ndnboost::detail::sp_ms_deleter< T > * pd = static_cast<ndnboost::detail::sp_ms_deleter< T > *>( pt._internal_get_untyped_deleter() );
 
@@ -756,7 +756,7 @@
 template< class T, class A, class A1, class A2 >
 typename ndnboost::detail::sp_if_not_array< T >::type allocate_shared( A const & a, A1 const & a1, A2 const & a2 )
 {
-    ndnboost::shared_ptr< T > pt( static_cast< T* >( 0 ), BOOST_SP_MSD( T ), a );
+    ndnboost::shared_ptr< T > pt( static_cast< T* >( 0 ), NDNBOOST_SP_MSD( T ), a );
 
     ndnboost::detail::sp_ms_deleter< T > * pd = static_cast<ndnboost::detail::sp_ms_deleter< T > *>( pt._internal_get_untyped_deleter() );
 
@@ -774,7 +774,7 @@
 template< class T, class A1, class A2, class A3 >
 typename ndnboost::detail::sp_if_not_array< T >::type make_shared( A1 const & a1, A2 const & a2, A3 const & a3 )
 {
-    ndnboost::shared_ptr< T > pt( static_cast< T* >( 0 ), BOOST_SP_MSD( T ) );
+    ndnboost::shared_ptr< T > pt( static_cast< T* >( 0 ), NDNBOOST_SP_MSD( T ) );
 
     ndnboost::detail::sp_ms_deleter< T > * pd = static_cast<ndnboost::detail::sp_ms_deleter< T > *>( pt._internal_get_untyped_deleter() );
 
@@ -792,7 +792,7 @@
 template< class T, class A, class A1, class A2, class A3 >
 typename ndnboost::detail::sp_if_not_array< T >::type allocate_shared( A const & a, A1 const & a1, A2 const & a2, A3 const & a3 )
 {
-    ndnboost::shared_ptr< T > pt( static_cast< T* >( 0 ), BOOST_SP_MSD( T ), a );
+    ndnboost::shared_ptr< T > pt( static_cast< T* >( 0 ), NDNBOOST_SP_MSD( T ), a );
 
     ndnboost::detail::sp_ms_deleter< T > * pd = static_cast<ndnboost::detail::sp_ms_deleter< T > *>( pt._internal_get_untyped_deleter() );
 
@@ -810,7 +810,7 @@
 template< class T, class A1, class A2, class A3, class A4 >
 typename ndnboost::detail::sp_if_not_array< T >::type make_shared( A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4 )
 {
-    ndnboost::shared_ptr< T > pt( static_cast< T* >( 0 ), BOOST_SP_MSD( T ) );
+    ndnboost::shared_ptr< T > pt( static_cast< T* >( 0 ), NDNBOOST_SP_MSD( T ) );
 
     ndnboost::detail::sp_ms_deleter< T > * pd = static_cast<ndnboost::detail::sp_ms_deleter< T > *>( pt._internal_get_untyped_deleter() );
 
@@ -828,7 +828,7 @@
 template< class T, class A, class A1, class A2, class A3, class A4 >
 typename ndnboost::detail::sp_if_not_array< T >::type allocate_shared( A const & a, A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4 )
 {
-    ndnboost::shared_ptr< T > pt( static_cast< T* >( 0 ), BOOST_SP_MSD( T ), a );
+    ndnboost::shared_ptr< T > pt( static_cast< T* >( 0 ), NDNBOOST_SP_MSD( T ), a );
 
     ndnboost::detail::sp_ms_deleter< T > * pd = static_cast<ndnboost::detail::sp_ms_deleter< T > *>( pt._internal_get_untyped_deleter() );
 
@@ -846,7 +846,7 @@
 template< class T, class A1, class A2, class A3, class A4, class A5 >
 typename ndnboost::detail::sp_if_not_array< T >::type make_shared( A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5 )
 {
-    ndnboost::shared_ptr< T > pt( static_cast< T* >( 0 ), BOOST_SP_MSD( T ) );
+    ndnboost::shared_ptr< T > pt( static_cast< T* >( 0 ), NDNBOOST_SP_MSD( T ) );
 
     ndnboost::detail::sp_ms_deleter< T > * pd = static_cast<ndnboost::detail::sp_ms_deleter< T > *>( pt._internal_get_untyped_deleter() );
 
@@ -864,7 +864,7 @@
 template< class T, class A, class A1, class A2, class A3, class A4, class A5 >
 typename ndnboost::detail::sp_if_not_array< T >::type allocate_shared( A const & a, A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5 )
 {
-    ndnboost::shared_ptr< T > pt( static_cast< T* >( 0 ), BOOST_SP_MSD( T ), a );
+    ndnboost::shared_ptr< T > pt( static_cast< T* >( 0 ), NDNBOOST_SP_MSD( T ), a );
 
     ndnboost::detail::sp_ms_deleter< T > * pd = static_cast<ndnboost::detail::sp_ms_deleter< T > *>( pt._internal_get_untyped_deleter() );
 
@@ -882,7 +882,7 @@
 template< class T, class A1, class A2, class A3, class A4, class A5, class A6 >
 typename ndnboost::detail::sp_if_not_array< T >::type make_shared( A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6 )
 {
-    ndnboost::shared_ptr< T > pt( static_cast< T* >( 0 ), BOOST_SP_MSD( T ) );
+    ndnboost::shared_ptr< T > pt( static_cast< T* >( 0 ), NDNBOOST_SP_MSD( T ) );
 
     ndnboost::detail::sp_ms_deleter< T > * pd = static_cast<ndnboost::detail::sp_ms_deleter< T > *>( pt._internal_get_untyped_deleter() );
 
@@ -900,7 +900,7 @@
 template< class T, class A, class A1, class A2, class A3, class A4, class A5, class A6 >
 typename ndnboost::detail::sp_if_not_array< T >::type allocate_shared( A const & a, A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6 )
 {
-    ndnboost::shared_ptr< T > pt( static_cast< T* >( 0 ), BOOST_SP_MSD( T ), a );
+    ndnboost::shared_ptr< T > pt( static_cast< T* >( 0 ), NDNBOOST_SP_MSD( T ), a );
 
     ndnboost::detail::sp_ms_deleter< T > * pd = static_cast<ndnboost::detail::sp_ms_deleter< T > *>( pt._internal_get_untyped_deleter() );
 
@@ -918,7 +918,7 @@
 template< class T, class A1, class A2, class A3, class A4, class A5, class A6, class A7 >
 typename ndnboost::detail::sp_if_not_array< T >::type make_shared( A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6, A7 const & a7 )
 {
-    ndnboost::shared_ptr< T > pt( static_cast< T* >( 0 ), BOOST_SP_MSD( T ) );
+    ndnboost::shared_ptr< T > pt( static_cast< T* >( 0 ), NDNBOOST_SP_MSD( T ) );
 
     ndnboost::detail::sp_ms_deleter< T > * pd = static_cast<ndnboost::detail::sp_ms_deleter< T > *>( pt._internal_get_untyped_deleter() );
 
@@ -936,7 +936,7 @@
 template< class T, class A, class A1, class A2, class A3, class A4, class A5, class A6, class A7 >
 typename ndnboost::detail::sp_if_not_array< T >::type allocate_shared( A const & a, A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6, A7 const & a7 )
 {
-    ndnboost::shared_ptr< T > pt( static_cast< T* >( 0 ), BOOST_SP_MSD( T ), a );
+    ndnboost::shared_ptr< T > pt( static_cast< T* >( 0 ), NDNBOOST_SP_MSD( T ), a );
 
     ndnboost::detail::sp_ms_deleter< T > * pd = static_cast<ndnboost::detail::sp_ms_deleter< T > *>( pt._internal_get_untyped_deleter() );
 
@@ -954,7 +954,7 @@
 template< class T, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8 >
 typename ndnboost::detail::sp_if_not_array< T >::type make_shared( A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6, A7 const & a7, A8 const & a8 )
 {
-    ndnboost::shared_ptr< T > pt( static_cast< T* >( 0 ), BOOST_SP_MSD( T ) );
+    ndnboost::shared_ptr< T > pt( static_cast< T* >( 0 ), NDNBOOST_SP_MSD( T ) );
 
     ndnboost::detail::sp_ms_deleter< T > * pd = static_cast<ndnboost::detail::sp_ms_deleter< T > *>( pt._internal_get_untyped_deleter() );
 
@@ -972,7 +972,7 @@
 template< class T, class A, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8 >
 typename ndnboost::detail::sp_if_not_array< T >::type allocate_shared( A const & a, A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6, A7 const & a7, A8 const & a8 )
 {
-    ndnboost::shared_ptr< T > pt( static_cast< T* >( 0 ), BOOST_SP_MSD( T ), a );
+    ndnboost::shared_ptr< T > pt( static_cast< T* >( 0 ), NDNBOOST_SP_MSD( T ), a );
 
     ndnboost::detail::sp_ms_deleter< T > * pd = static_cast<ndnboost::detail::sp_ms_deleter< T > *>( pt._internal_get_untyped_deleter() );
 
@@ -990,7 +990,7 @@
 template< class T, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9 >
 typename ndnboost::detail::sp_if_not_array< T >::type make_shared( A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6, A7 const & a7, A8 const & a8, A9 const & a9 )
 {
-    ndnboost::shared_ptr< T > pt( static_cast< T* >( 0 ), BOOST_SP_MSD( T ) );
+    ndnboost::shared_ptr< T > pt( static_cast< T* >( 0 ), NDNBOOST_SP_MSD( T ) );
 
     ndnboost::detail::sp_ms_deleter< T > * pd = static_cast<ndnboost::detail::sp_ms_deleter< T > *>( pt._internal_get_untyped_deleter() );
 
@@ -1008,7 +1008,7 @@
 template< class T, class A, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9 >
 typename ndnboost::detail::sp_if_not_array< T >::type allocate_shared( A const & a, A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6, A7 const & a7, A8 const & a8, A9 const & a9 )
 {
-    ndnboost::shared_ptr< T > pt( static_cast< T* >( 0 ), BOOST_SP_MSD( T ), a );
+    ndnboost::shared_ptr< T > pt( static_cast< T* >( 0 ), NDNBOOST_SP_MSD( T ), a );
 
     ndnboost::detail::sp_ms_deleter< T > * pd = static_cast<ndnboost::detail::sp_ms_deleter< T > *>( pt._internal_get_untyped_deleter() );
 
@@ -1025,8 +1025,8 @@
 
 #endif
 
-#undef BOOST_SP_MSD
+#undef NDNBOOST_SP_MSD
 
 } // namespace ndnboost
 
-#endif // #ifndef BOOST_SMART_PTR_MAKE_SHARED_OBJECT_HPP_INCLUDED
+#endif // #ifndef NDNBOOST_SMART_PTR_MAKE_SHARED_OBJECT_HPP_INCLUDED
diff --git a/include/ndnboost/smart_ptr/scoped_array.hpp b/include/ndnboost/smart_ptr/scoped_array.hpp
index 7584d27..818d4c0 100644
--- a/include/ndnboost/smart_ptr/scoped_array.hpp
+++ b/include/ndnboost/smart_ptr/scoped_array.hpp
@@ -1,5 +1,5 @@
-#ifndef BOOST_SMART_PTR_SCOPED_ARRAY_HPP_INCLUDED
-#define BOOST_SMART_PTR_SCOPED_ARRAY_HPP_INCLUDED
+#ifndef NDNBOOST_SMART_PTR_SCOPED_ARRAY_HPP_INCLUDED
+#define NDNBOOST_SMART_PTR_SCOPED_ARRAY_HPP_INCLUDED
 
 //  (C) Copyright Greg Colvin and Beman Dawes 1998, 1999.
 //  Copyright (c) 2001, 2002 Peter Dimov
@@ -25,7 +25,7 @@
 
 // Debug hooks
 
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
+#if defined(NDNBOOST_SP_ENABLE_DEBUG_HOOKS)
 
 void sp_array_constructor_hook(void * p);
 void sp_array_destructor_hook(void * p);
@@ -54,35 +54,35 @@
 
     typedef T element_type;
 
-    explicit scoped_array( T * p = 0 ) BOOST_NOEXCEPT : px( p )
+    explicit scoped_array( T * p = 0 ) NDNBOOST_NOEXCEPT : px( p )
     {
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
+#if defined(NDNBOOST_SP_ENABLE_DEBUG_HOOKS)
         ndnboost::sp_array_constructor_hook( px );
 #endif
     }
 
     ~scoped_array() // never throws
     {
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
+#if defined(NDNBOOST_SP_ENABLE_DEBUG_HOOKS)
         ndnboost::sp_array_destructor_hook( px );
 #endif
         ndnboost::checked_array_delete( px );
     }
 
-    void reset(T * p = 0) // never throws (but has a BOOST_ASSERT in it, so not marked with BOOST_NOEXCEPT)
+    void reset(T * p = 0) // never throws (but has a NDNBOOST_ASSERT in it, so not marked with NDNBOOST_NOEXCEPT)
     {
-        BOOST_ASSERT( p == 0 || p != px ); // catch self-reset errors
+        NDNBOOST_ASSERT( p == 0 || p != px ); // catch self-reset errors
         this_type(p).swap(*this);
     }
 
-    T & operator[](std::ptrdiff_t i) const // never throws (but has a BOOST_ASSERT in it, so not marked with BOOST_NOEXCEPT)
+    T & operator[](std::ptrdiff_t i) const // never throws (but has a NDNBOOST_ASSERT in it, so not marked with NDNBOOST_NOEXCEPT)
     {
-        BOOST_ASSERT( px != 0 );
-        BOOST_ASSERT( i >= 0 );
+        NDNBOOST_ASSERT( px != 0 );
+        NDNBOOST_ASSERT( i >= 0 );
         return px[i];
     }
 
-    T * get() const BOOST_NOEXCEPT
+    T * get() const NDNBOOST_NOEXCEPT
     {
         return px;
     }
@@ -90,7 +90,7 @@
 // implicit conversion to "bool"
 #include <ndnboost/smart_ptr/detail/operator_bool.hpp>
 
-    void swap(scoped_array & b) BOOST_NOEXCEPT
+    void swap(scoped_array & b) NDNBOOST_NOEXCEPT
     {
         T * tmp = b.px;
         b.px = px;
@@ -98,35 +98,35 @@
     }
 };
 
-#if !defined( BOOST_NO_CXX11_NULLPTR )
+#if !defined( NDNBOOST_NO_CXX11_NULLPTR )
 
-template<class T> inline bool operator==( scoped_array<T> const & p, ndnboost::detail::sp_nullptr_t ) BOOST_NOEXCEPT
+template<class T> inline bool operator==( scoped_array<T> const & p, ndnboost::detail::sp_nullptr_t ) NDNBOOST_NOEXCEPT
 {
     return p.get() == 0;
 }
 
-template<class T> inline bool operator==( ndnboost::detail::sp_nullptr_t, scoped_array<T> const & p ) BOOST_NOEXCEPT
+template<class T> inline bool operator==( ndnboost::detail::sp_nullptr_t, scoped_array<T> const & p ) NDNBOOST_NOEXCEPT
 {
     return p.get() == 0;
 }
 
-template<class T> inline bool operator!=( scoped_array<T> const & p, ndnboost::detail::sp_nullptr_t ) BOOST_NOEXCEPT
+template<class T> inline bool operator!=( scoped_array<T> const & p, ndnboost::detail::sp_nullptr_t ) NDNBOOST_NOEXCEPT
 {
     return p.get() != 0;
 }
 
-template<class T> inline bool operator!=( ndnboost::detail::sp_nullptr_t, scoped_array<T> const & p ) BOOST_NOEXCEPT
+template<class T> inline bool operator!=( ndnboost::detail::sp_nullptr_t, scoped_array<T> const & p ) NDNBOOST_NOEXCEPT
 {
     return p.get() != 0;
 }
 
 #endif
 
-template<class T> inline void swap(scoped_array<T> & a, scoped_array<T> & b) BOOST_NOEXCEPT
+template<class T> inline void swap(scoped_array<T> & a, scoped_array<T> & b) NDNBOOST_NOEXCEPT
 {
     a.swap(b);
 }
 
 } // namespace ndnboost
 
-#endif  // #ifndef BOOST_SMART_PTR_SCOPED_ARRAY_HPP_INCLUDED
+#endif  // #ifndef NDNBOOST_SMART_PTR_SCOPED_ARRAY_HPP_INCLUDED
diff --git a/include/ndnboost/smart_ptr/scoped_ptr.hpp b/include/ndnboost/smart_ptr/scoped_ptr.hpp
index 7ee252b..d79b393 100644
--- a/include/ndnboost/smart_ptr/scoped_ptr.hpp
+++ b/include/ndnboost/smart_ptr/scoped_ptr.hpp
@@ -1,5 +1,5 @@
-#ifndef BOOST_SMART_PTR_SCOPED_PTR_HPP_INCLUDED
-#define BOOST_SMART_PTR_SCOPED_PTR_HPP_INCLUDED
+#ifndef NDNBOOST_SMART_PTR_SCOPED_PTR_HPP_INCLUDED
+#define NDNBOOST_SMART_PTR_SCOPED_PTR_HPP_INCLUDED
 
 //  (C) Copyright Greg Colvin and Beman Dawes 1998, 1999.
 //  Copyright (c) 2001, 2002 Peter Dimov
@@ -17,7 +17,7 @@
 #include <ndnboost/smart_ptr/detail/sp_nullptr_t.hpp>
 #include <ndnboost/detail/workaround.hpp>
 
-#ifndef BOOST_NO_AUTO_PTR
+#ifndef NDNBOOST_NO_AUTO_PTR
 # include <memory>          // for std::auto_ptr
 #endif
 
@@ -26,7 +26,7 @@
 
 // Debug hooks
 
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
+#if defined(NDNBOOST_SP_ENABLE_DEBUG_HOOKS)
 
 void sp_scalar_constructor_hook(void * p);
 void sp_scalar_destructor_hook(void * p);
@@ -58,16 +58,16 @@
 
     explicit scoped_ptr( T * p = 0 ): px( p ) // never throws
     {
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
+#if defined(NDNBOOST_SP_ENABLE_DEBUG_HOOKS)
         ndnboost::sp_scalar_constructor_hook( px );
 #endif
     }
 
-#ifndef BOOST_NO_AUTO_PTR
+#ifndef NDNBOOST_NO_AUTO_PTR
 
-    explicit scoped_ptr( std::auto_ptr<T> p ) BOOST_NOEXCEPT : px( p.release() )
+    explicit scoped_ptr( std::auto_ptr<T> p ) NDNBOOST_NOEXCEPT : px( p.release() )
     {
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
+#if defined(NDNBOOST_SP_ENABLE_DEBUG_HOOKS)
         ndnboost::sp_scalar_constructor_hook( px );
 #endif
     }
@@ -76,7 +76,7 @@
 
     ~scoped_ptr() // never throws
     {
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
+#if defined(NDNBOOST_SP_ENABLE_DEBUG_HOOKS)
         ndnboost::sp_scalar_destructor_hook( px );
 #endif
         ndnboost::checked_delete( px );
@@ -84,23 +84,23 @@
 
     void reset(T * p = 0) // never throws
     {
-        BOOST_ASSERT( p == 0 || p != px ); // catch self-reset errors
+        NDNBOOST_ASSERT( p == 0 || p != px ); // catch self-reset errors
         this_type(p).swap(*this);
     }
 
     T & operator*() const // never throws
     {
-        BOOST_ASSERT( px != 0 );
+        NDNBOOST_ASSERT( px != 0 );
         return *px;
     }
 
     T * operator->() const // never throws
     {
-        BOOST_ASSERT( px != 0 );
+        NDNBOOST_ASSERT( px != 0 );
         return px;
     }
 
-    T * get() const BOOST_NOEXCEPT
+    T * get() const NDNBOOST_NOEXCEPT
     {
         return px;
     }
@@ -108,7 +108,7 @@
 // implicit conversion to "bool"
 #include <ndnboost/smart_ptr/detail/operator_bool.hpp>
 
-    void swap(scoped_ptr & b) BOOST_NOEXCEPT
+    void swap(scoped_ptr & b) NDNBOOST_NOEXCEPT
     {
         T * tmp = b.px;
         b.px = px;
@@ -116,42 +116,42 @@
     }
 };
 
-#if !defined( BOOST_NO_CXX11_NULLPTR )
+#if !defined( NDNBOOST_NO_CXX11_NULLPTR )
 
-template<class T> inline bool operator==( scoped_ptr<T> const & p, ndnboost::detail::sp_nullptr_t ) BOOST_NOEXCEPT
+template<class T> inline bool operator==( scoped_ptr<T> const & p, ndnboost::detail::sp_nullptr_t ) NDNBOOST_NOEXCEPT
 {
     return p.get() == 0;
 }
 
-template<class T> inline bool operator==( ndnboost::detail::sp_nullptr_t, scoped_ptr<T> const & p ) BOOST_NOEXCEPT
+template<class T> inline bool operator==( ndnboost::detail::sp_nullptr_t, scoped_ptr<T> const & p ) NDNBOOST_NOEXCEPT
 {
     return p.get() == 0;
 }
 
-template<class T> inline bool operator!=( scoped_ptr<T> const & p, ndnboost::detail::sp_nullptr_t ) BOOST_NOEXCEPT
+template<class T> inline bool operator!=( scoped_ptr<T> const & p, ndnboost::detail::sp_nullptr_t ) NDNBOOST_NOEXCEPT
 {
     return p.get() != 0;
 }
 
-template<class T> inline bool operator!=( ndnboost::detail::sp_nullptr_t, scoped_ptr<T> const & p ) BOOST_NOEXCEPT
+template<class T> inline bool operator!=( ndnboost::detail::sp_nullptr_t, scoped_ptr<T> const & p ) NDNBOOST_NOEXCEPT
 {
     return p.get() != 0;
 }
 
 #endif
 
-template<class T> inline void swap(scoped_ptr<T> & a, scoped_ptr<T> & b) BOOST_NOEXCEPT
+template<class T> inline void swap(scoped_ptr<T> & a, scoped_ptr<T> & b) NDNBOOST_NOEXCEPT
 {
     a.swap(b);
 }
 
 // get_pointer(p) is a generic way to say p.get()
 
-template<class T> inline T * get_pointer(scoped_ptr<T> const & p) BOOST_NOEXCEPT
+template<class T> inline T * get_pointer(scoped_ptr<T> const & p) NDNBOOST_NOEXCEPT
 {
     return p.get();
 }
 
 } // namespace ndnboost
 
-#endif // #ifndef BOOST_SMART_PTR_SCOPED_PTR_HPP_INCLUDED
+#endif // #ifndef NDNBOOST_SMART_PTR_SCOPED_PTR_HPP_INCLUDED
diff --git a/include/ndnboost/smart_ptr/shared_array.hpp b/include/ndnboost/smart_ptr/shared_array.hpp
index e5626f7..dedef12 100644
--- a/include/ndnboost/smart_ptr/shared_array.hpp
+++ b/include/ndnboost/smart_ptr/shared_array.hpp
@@ -1,5 +1,5 @@
-#ifndef BOOST_SMART_PTR_SHARED_ARRAY_HPP_INCLUDED
-#define BOOST_SMART_PTR_SHARED_ARRAY_HPP_INCLUDED
+#ifndef NDNBOOST_SMART_PTR_SHARED_ARRAY_HPP_INCLUDED
+#define NDNBOOST_SMART_PTR_SHARED_ARRAY_HPP_INCLUDED
 
 //
 //  shared_array.hpp
@@ -16,7 +16,7 @@
 
 #include <ndnboost/config.hpp>   // for broken compiler workarounds
 
-#if defined(BOOST_NO_MEMBER_TEMPLATES) && !defined(BOOST_MSVC6_MEMBER_TEMPLATES)
+#if defined(NDNBOOST_NO_MEMBER_TEMPLATES) && !defined(NDNBOOST_MSVC6_MEMBER_TEMPLATES)
 #include <ndnboost/smart_ptr/detail/shared_array_nmt.hpp>
 #else
 
@@ -57,7 +57,7 @@
 
     typedef T element_type;
 
-    shared_array() BOOST_NOEXCEPT : px( 0 ), pn()
+    shared_array() NDNBOOST_NOEXCEPT : px( 0 ), pn()
     {
     }
 
@@ -87,15 +87,15 @@
 
 //  generated copy constructor, destructor are fine...
 
-#if !defined( BOOST_NO_CXX11_RVALUE_REFERENCES )
+#if !defined( NDNBOOST_NO_CXX11_RVALUE_REFERENCES )
 
 // ... except in C++0x, move disables the implicit copy
 
-    shared_array( shared_array const & r ) BOOST_NOEXCEPT : px( r.px ), pn( r.pn )
+    shared_array( shared_array const & r ) NDNBOOST_NOEXCEPT : px( r.px ), pn( r.pn )
     {
     }
 
-    shared_array( shared_array && r ) BOOST_NOEXCEPT : px( r.px ), pn()
+    shared_array( shared_array && r ) NDNBOOST_NOEXCEPT : px( r.px ), pn()
     {
         pn.swap( r.pn );
         r.px = 0;
@@ -106,7 +106,7 @@
     // conversion
 
     template<class Y>
-#if !defined( BOOST_SP_NO_SP_CONVERTIBLE )
+#if !defined( NDNBOOST_SP_NO_SP_CONVERTIBLE )
 
     shared_array( shared_array<Y> const & r, typename ndnboost::detail::sp_enable_if_convertible< Y[], T[] >::type = ndnboost::detail::sp_empty() )
 
@@ -115,7 +115,7 @@
     shared_array( shared_array<Y> const & r )
 
 #endif
-    BOOST_NOEXCEPT : px( r.px ), pn( r.pn ) // never throws
+    NDNBOOST_NOEXCEPT : px( r.px ), pn( r.pn ) // never throws
     {
         ndnboost::detail::sp_assert_convertible< Y[], T[] >();
     }
@@ -123,22 +123,22 @@
     // aliasing
 
     template< class Y >
-    shared_array( shared_array<Y> const & r, element_type * p ) BOOST_NOEXCEPT : px( p ), pn( r.pn )
+    shared_array( shared_array<Y> const & r, element_type * p ) NDNBOOST_NOEXCEPT : px( p ), pn( r.pn )
     {
     }
 
     // assignment
 
-    shared_array & operator=( shared_array const & r ) BOOST_NOEXCEPT
+    shared_array & operator=( shared_array const & r ) NDNBOOST_NOEXCEPT
     {
         this_type( r ).swap( *this );
         return *this;
     }
 
-#if !defined(BOOST_MSVC) || (BOOST_MSVC >= 1400)
+#if !defined(NDNBOOST_MSVC) || (NDNBOOST_MSVC >= 1400)
 
     template<class Y>
-    shared_array & operator=( shared_array<Y> const & r ) BOOST_NOEXCEPT
+    shared_array & operator=( shared_array<Y> const & r ) NDNBOOST_NOEXCEPT
     {
         this_type( r ).swap( *this );
         return *this;
@@ -146,16 +146,16 @@
 
 #endif
 
-#if !defined( BOOST_NO_CXX11_RVALUE_REFERENCES )
+#if !defined( NDNBOOST_NO_CXX11_RVALUE_REFERENCES )
 
-    shared_array & operator=( shared_array && r ) BOOST_NOEXCEPT
+    shared_array & operator=( shared_array && r ) NDNBOOST_NOEXCEPT
     {
         this_type( static_cast< shared_array && >( r ) ).swap( *this );
         return *this;
     }
 
     template<class Y>
-    shared_array & operator=( shared_array<Y> && r ) BOOST_NOEXCEPT
+    shared_array & operator=( shared_array<Y> && r ) NDNBOOST_NOEXCEPT
     {
         this_type( static_cast< shared_array<Y> && >( r ) ).swap( *this );
         return *this;
@@ -163,14 +163,14 @@
 
 #endif
 
-    void reset() BOOST_NOEXCEPT
+    void reset() NDNBOOST_NOEXCEPT
     {
         this_type().swap( *this );
     }
 
     template<class Y> void reset( Y * p ) // Y must be complete
     {
-        BOOST_ASSERT( p == 0 || p != px ); // catch self-reset errors
+        NDNBOOST_ASSERT( p == 0 || p != px ); // catch self-reset errors
         this_type( p ).swap( *this );
     }
 
@@ -189,14 +189,14 @@
         this_type( r, p ).swap( *this );
     }
 
-    T & operator[] (std::ptrdiff_t i) const // never throws (but has a BOOST_ASSERT in it, so not marked with BOOST_NOEXCEPT)
+    T & operator[] (std::ptrdiff_t i) const // never throws (but has a NDNBOOST_ASSERT in it, so not marked with NDNBOOST_NOEXCEPT)
     {
-        BOOST_ASSERT(px != 0);
-        BOOST_ASSERT(i >= 0);
+        NDNBOOST_ASSERT(px != 0);
+        NDNBOOST_ASSERT(i >= 0);
         return px[i];
     }
     
-    T * get() const BOOST_NOEXCEPT
+    T * get() const NDNBOOST_NOEXCEPT
     {
         return px;
     }
@@ -204,17 +204,17 @@
 // implicit conversion to "bool"
 #include <ndnboost/smart_ptr/detail/operator_bool.hpp>
 
-    bool unique() const BOOST_NOEXCEPT
+    bool unique() const NDNBOOST_NOEXCEPT
     {
         return pn.unique();
     }
 
-    long use_count() const BOOST_NOEXCEPT
+    long use_count() const NDNBOOST_NOEXCEPT
     {
         return pn.use_count();
     }
 
-    void swap(shared_array<T> & other) BOOST_NOEXCEPT
+    void swap(shared_array<T> & other) NDNBOOST_NOEXCEPT
     {
         std::swap(px, other.px);
         pn.swap(other.pn);
@@ -234,57 +234,57 @@
 
 };  // shared_array
 
-template<class T> inline bool operator==(shared_array<T> const & a, shared_array<T> const & b) BOOST_NOEXCEPT
+template<class T> inline bool operator==(shared_array<T> const & a, shared_array<T> const & b) NDNBOOST_NOEXCEPT
 {
     return a.get() == b.get();
 }
 
-template<class T> inline bool operator!=(shared_array<T> const & a, shared_array<T> const & b) BOOST_NOEXCEPT
+template<class T> inline bool operator!=(shared_array<T> const & a, shared_array<T> const & b) NDNBOOST_NOEXCEPT
 {
     return a.get() != b.get();
 }
 
-#if !defined( BOOST_NO_CXX11_NULLPTR )
+#if !defined( NDNBOOST_NO_CXX11_NULLPTR )
 
-template<class T> inline bool operator==( shared_array<T> const & p, ndnboost::detail::sp_nullptr_t ) BOOST_NOEXCEPT
+template<class T> inline bool operator==( shared_array<T> const & p, ndnboost::detail::sp_nullptr_t ) NDNBOOST_NOEXCEPT
 {
     return p.get() == 0;
 }
 
-template<class T> inline bool operator==( ndnboost::detail::sp_nullptr_t, shared_array<T> const & p ) BOOST_NOEXCEPT
+template<class T> inline bool operator==( ndnboost::detail::sp_nullptr_t, shared_array<T> const & p ) NDNBOOST_NOEXCEPT
 {
     return p.get() == 0;
 }
 
-template<class T> inline bool operator!=( shared_array<T> const & p, ndnboost::detail::sp_nullptr_t ) BOOST_NOEXCEPT
+template<class T> inline bool operator!=( shared_array<T> const & p, ndnboost::detail::sp_nullptr_t ) NDNBOOST_NOEXCEPT
 {
     return p.get() != 0;
 }
 
-template<class T> inline bool operator!=( ndnboost::detail::sp_nullptr_t, shared_array<T> const & p ) BOOST_NOEXCEPT
+template<class T> inline bool operator!=( ndnboost::detail::sp_nullptr_t, shared_array<T> const & p ) NDNBOOST_NOEXCEPT
 {
     return p.get() != 0;
 }
 
 #endif
 
-template<class T> inline bool operator<(shared_array<T> const & a, shared_array<T> const & b) BOOST_NOEXCEPT
+template<class T> inline bool operator<(shared_array<T> const & a, shared_array<T> const & b) NDNBOOST_NOEXCEPT
 {
     return std::less<T*>()(a.get(), b.get());
 }
 
-template<class T> void swap(shared_array<T> & a, shared_array<T> & b) BOOST_NOEXCEPT
+template<class T> void swap(shared_array<T> & a, shared_array<T> & b) NDNBOOST_NOEXCEPT
 {
     a.swap(b);
 }
 
 template< class D, class T > D * get_deleter( shared_array<T> const & p )
 {
-    return static_cast< D * >( p._internal_get_deleter( BOOST_SP_TYPEID(D) ) );
+    return static_cast< D * >( p._internal_get_deleter( NDNBOOST_SP_TYPEID(D) ) );
 }
 
 } // namespace ndnboost
 
-#endif  // #if defined(BOOST_NO_MEMBER_TEMPLATES) && !defined(BOOST_MSVC6_MEMBER_TEMPLATES)
+#endif  // #if defined(NDNBOOST_NO_MEMBER_TEMPLATES) && !defined(NDNBOOST_MSVC6_MEMBER_TEMPLATES)
 
-#endif  // #ifndef BOOST_SMART_PTR_SHARED_ARRAY_HPP_INCLUDED
+#endif  // #ifndef NDNBOOST_SMART_PTR_SHARED_ARRAY_HPP_INCLUDED
diff --git a/include/ndnboost/smart_ptr/shared_ptr.hpp b/include/ndnboost/smart_ptr/shared_ptr.hpp
index 52b9acc..50fa47e 100644
--- a/include/ndnboost/smart_ptr/shared_ptr.hpp
+++ b/include/ndnboost/smart_ptr/shared_ptr.hpp
@@ -1,5 +1,5 @@
-#ifndef BOOST_SMART_PTR_SHARED_PTR_HPP_INCLUDED
-#define BOOST_SMART_PTR_SHARED_PTR_HPP_INCLUDED
+#ifndef NDNBOOST_SMART_PTR_SHARED_PTR_HPP_INCLUDED
+#define NDNBOOST_SMART_PTR_SHARED_PTR_HPP_INCLUDED
 
 //
 //  shared_ptr.hpp
@@ -16,7 +16,7 @@
 
 #include <ndnboost/config.hpp>   // for broken compiler workarounds
 
-#if defined(BOOST_NO_MEMBER_TEMPLATES) && !defined(BOOST_MSVC6_MEMBER_TEMPLATES)
+#if defined(NDNBOOST_NO_MEMBER_TEMPLATES) && !defined(NDNBOOST_MSVC6_MEMBER_TEMPLATES)
 #include <ndnboost/smart_ptr/detail/shared_ptr_nmt.hpp>
 #else
 
@@ -34,7 +34,7 @@
 #include <ndnboost/smart_ptr/detail/sp_convertible.hpp>
 #include <ndnboost/smart_ptr/detail/sp_nullptr_t.hpp>
 
-#if !defined(BOOST_SP_NO_ATOMIC_ACCESS)
+#if !defined(NDNBOOST_SP_NO_ATOMIC_ACCESS)
 #include <ndnboost/smart_ptr/detail/spinlock_pool.hpp>
 #include <ndnboost/memory_order.hpp>
 #endif
@@ -44,8 +44,8 @@
 #include <typeinfo>             // for std::bad_cast
 #include <cstddef>              // for std::size_t
 
-#if !defined(BOOST_NO_IOSTREAM)
-#if !defined(BOOST_NO_IOSFWD)
+#if !defined(NDNBOOST_NO_IOSTREAM)
+#if !defined(NDNBOOST_NO_IOSFWD)
 #include <iosfwd>               // for std::basic_ostream
 #else
 #include <ostream>
@@ -70,14 +70,14 @@
     typedef T type;
 };
 
-#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
+#if !defined( NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
 
 template< class T > struct sp_element< T[] >
 {
     typedef T type;
 };
 
-#if !defined( __BORLANDC__ ) || !BOOST_WORKAROUND( __BORLANDC__, < 0x600 )
+#if !defined( __BORLANDC__ ) || !NDNBOOST_WORKAROUND( __BORLANDC__, < 0x600 )
 
 template< class T, std::size_t N > struct sp_element< T[N] >
 {
@@ -86,7 +86,7 @@
 
 #endif
 
-#endif // !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
+#endif // !defined( NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
 
 // sp_dereference, return type of operator*
 
@@ -100,7 +100,7 @@
     typedef void type;
 };
 
-#if !defined(BOOST_NO_CV_VOID_SPECIALIZATIONS)
+#if !defined(NDNBOOST_NO_CV_VOID_SPECIALIZATIONS)
 
 template<> struct sp_dereference< void const >
 {
@@ -117,16 +117,16 @@
     typedef void type;
 };
 
-#endif // !defined(BOOST_NO_CV_VOID_SPECIALIZATIONS)
+#endif // !defined(NDNBOOST_NO_CV_VOID_SPECIALIZATIONS)
 
-#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
+#if !defined( NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
 
 template< class T > struct sp_dereference< T[] >
 {
     typedef void type;
 };
 
-#if !defined( __BORLANDC__ ) || !BOOST_WORKAROUND( __BORLANDC__, < 0x600 )
+#if !defined( __BORLANDC__ ) || !NDNBOOST_WORKAROUND( __BORLANDC__, < 0x600 )
 
 template< class T, std::size_t N > struct sp_dereference< T[N] >
 {
@@ -135,7 +135,7 @@
 
 #endif
 
-#endif // !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
+#endif // !defined( NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
 
 // sp_member_access, return type of operator->
 
@@ -144,14 +144,14 @@
     typedef T * type;
 };
 
-#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
+#if !defined( NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
 
 template< class T > struct sp_member_access< T[] >
 {
     typedef void type;
 };
 
-#if !defined( __BORLANDC__ ) || !BOOST_WORKAROUND( __BORLANDC__, < 0x600 )
+#if !defined( __BORLANDC__ ) || !NDNBOOST_WORKAROUND( __BORLANDC__, < 0x600 )
 
 template< class T, std::size_t N > struct sp_member_access< T[N] >
 {
@@ -160,7 +160,7 @@
 
 #endif
 
-#endif // !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
+#endif // !defined( NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
 
 // sp_array_access, return type of operator[]
 
@@ -169,14 +169,14 @@
     typedef void type;
 };
 
-#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
+#if !defined( NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
 
 template< class T > struct sp_array_access< T[] >
 {
     typedef T & type;
 };
 
-#if !defined( __BORLANDC__ ) || !BOOST_WORKAROUND( __BORLANDC__, < 0x600 )
+#if !defined( __BORLANDC__ ) || !NDNBOOST_WORKAROUND( __BORLANDC__, < 0x600 )
 
 template< class T, std::size_t N > struct sp_array_access< T[N] >
 {
@@ -185,7 +185,7 @@
 
 #endif
 
-#endif // !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
+#endif // !defined( NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
 
 // sp_extent, for operator[] index check
 
@@ -194,14 +194,14 @@
     enum _vt { value = 0 };
 };
 
-#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
+#if !defined( NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
 
 template< class T, std::size_t N > struct sp_extent< T[N] >
 {
     enum _vt { value = N };
 };
 
-#endif // !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
+#endif // !defined( NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
 
 // enable_shared_from_this support
 
@@ -236,7 +236,7 @@
 
 #endif // _MANAGED
 
-#if !defined( BOOST_NO_SFINAE ) && !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION ) && !defined( BOOST_NO_AUTO_PTR )
+#if !defined( NDNBOOST_NO_SFINAE ) && !defined( NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION ) && !defined( NDNBOOST_NO_AUTO_PTR )
 
 // rvalue auto_ptr support based on a technique by Dave Abrahams
 
@@ -255,7 +255,7 @@
 
 template< class Y, class T > inline void sp_assert_convertible()
 {
-#if !defined( BOOST_SP_NO_SP_CONVERTIBLE )
+#if !defined( NDNBOOST_SP_NO_SP_CONVERTIBLE )
 
     // static_assert( sp_convertible< Y, T >::value );
     typedef char tmp[ sp_convertible< Y, T >::value? 1: -1 ];
@@ -277,7 +277,7 @@
     ndnboost::detail::sp_enable_shared_from_this( ppx, p, p );
 }
 
-#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
+#if !defined( NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
 
 template< class T, class Y > inline void sp_pointer_construct( ndnboost::shared_ptr< T[] > * /*ppx*/, Y * p, ndnboost::detail::shared_count & pn )
 {
@@ -291,7 +291,7 @@
     ndnboost::detail::shared_count( p, ndnboost::checked_array_deleter< T >() ).swap( pn );
 }
 
-#endif // !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
+#endif // !defined( NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
 
 // deleter constructor helper
 
@@ -300,7 +300,7 @@
     ndnboost::detail::sp_enable_shared_from_this( ppx, p, p );
 }
 
-#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
+#if !defined( NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
 
 template< class T, class Y > inline void sp_deleter_construct( ndnboost::shared_ptr< T[] > * /*ppx*/, Y * /*p*/ )
 {
@@ -312,7 +312,7 @@
     sp_assert_convertible< Y[N], T[N] >();
 }
 
-#endif // !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
+#endif // !defined( NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
 
 } // namespace detail
 
@@ -336,13 +336,13 @@
 
     typedef typename ndnboost::detail::sp_element< T >::type element_type;
 
-    shared_ptr() BOOST_NOEXCEPT : px( 0 ), pn() // never throws in 1.30+
+    shared_ptr() NDNBOOST_NOEXCEPT : px( 0 ), pn() // never throws in 1.30+
     {
     }
 
-#if !defined( BOOST_NO_CXX11_NULLPTR )
+#if !defined( NDNBOOST_NO_CXX11_NULLPTR )
 
-    shared_ptr( ndnboost::detail::sp_nullptr_t ) BOOST_NOEXCEPT : px( 0 ), pn() // never throws
+    shared_ptr( ndnboost::detail::sp_nullptr_t ) NDNBOOST_NOEXCEPT : px( 0 ), pn() // never throws
     {
     }
 
@@ -365,7 +365,7 @@
         ndnboost::detail::sp_deleter_construct( this, p );
     }
 
-#if !defined( BOOST_NO_CXX11_NULLPTR )
+#if !defined( NDNBOOST_NO_CXX11_NULLPTR )
 
     template<class D> shared_ptr( ndnboost::detail::sp_nullptr_t p, D d ): px( p ), pn( p, d )
     {
@@ -380,7 +380,7 @@
         ndnboost::detail::sp_deleter_construct( this, p );
     }
 
-#if !defined( BOOST_NO_CXX11_NULLPTR )
+#if !defined( NDNBOOST_NO_CXX11_NULLPTR )
 
     template<class D, class A> shared_ptr( ndnboost::detail::sp_nullptr_t p, D d, A a ): px( p ), pn( p, d, a )
     {
@@ -390,11 +390,11 @@
 
 //  generated copy constructor, destructor are fine...
 
-#if !defined( BOOST_NO_CXX11_RVALUE_REFERENCES )
+#if !defined( NDNBOOST_NO_CXX11_RVALUE_REFERENCES )
 
 // ... except in C++0x, move disables the implicit copy
 
-    shared_ptr( shared_ptr const & r ) BOOST_NOEXCEPT : px( r.px ), pn( r.pn )
+    shared_ptr( shared_ptr const & r ) NDNBOOST_NOEXCEPT : px( r.px ), pn( r.pn )
     {
     }
 
@@ -411,7 +411,7 @@
 
     template<class Y>
     shared_ptr( weak_ptr<Y> const & r, ndnboost::detail::sp_nothrow_tag )
-    BOOST_NOEXCEPT : px( 0 ), pn( r.pn, ndnboost::detail::sp_nothrow_tag() )
+    NDNBOOST_NOEXCEPT : px( 0 ), pn( r.pn, ndnboost::detail::sp_nothrow_tag() )
     {
         if( !pn.empty() )
         {
@@ -420,7 +420,7 @@
     }
 
     template<class Y>
-#if !defined( BOOST_SP_NO_SP_CONVERTIBLE )
+#if !defined( NDNBOOST_SP_NO_SP_CONVERTIBLE )
 
     shared_ptr( shared_ptr<Y> const & r, typename ndnboost::detail::sp_enable_if_convertible<Y,T>::type = ndnboost::detail::sp_empty() )
 
@@ -429,18 +429,18 @@
     shared_ptr( shared_ptr<Y> const & r )
 
 #endif
-    BOOST_NOEXCEPT : px( r.px ), pn( r.pn )
+    NDNBOOST_NOEXCEPT : px( r.px ), pn( r.pn )
     {
         ndnboost::detail::sp_assert_convertible< Y, T >();
     }
 
     // aliasing
     template< class Y >
-    shared_ptr( shared_ptr<Y> const & r, element_type * p ) BOOST_NOEXCEPT : px( p ), pn( r.pn )
+    shared_ptr( shared_ptr<Y> const & r, element_type * p ) NDNBOOST_NOEXCEPT : px( p ), pn( r.pn )
     {
     }
 
-#ifndef BOOST_NO_AUTO_PTR
+#ifndef NDNBOOST_NO_AUTO_PTR
 
     template<class Y>
     explicit shared_ptr( std::auto_ptr<Y> & r ): px(r.get()), pn()
@@ -453,7 +453,7 @@
         ndnboost::detail::sp_deleter_construct( this, tmp );
     }
 
-#if !defined( BOOST_NO_CXX11_RVALUE_REFERENCES )
+#if !defined( NDNBOOST_NO_CXX11_RVALUE_REFERENCES )
 
     template<class Y>
     shared_ptr( std::auto_ptr<Y> && r ): px(r.get()), pn()
@@ -466,7 +466,7 @@
         ndnboost::detail::sp_deleter_construct( this, tmp );
     }
 
-#elif !defined( BOOST_NO_SFINAE ) && !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
+#elif !defined( NDNBOOST_NO_SFINAE ) && !defined( NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
 
     template<class Ap>
     explicit shared_ptr( Ap r, typename ndnboost::detail::sp_enable_if_auto_ptr<Ap, int>::type = 0 ): px( r.get() ), pn()
@@ -481,11 +481,11 @@
         ndnboost::detail::sp_deleter_construct( this, tmp );
     }
 
-#endif // BOOST_NO_SFINAE, BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#endif // NDNBOOST_NO_SFINAE, NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 
-#endif // BOOST_NO_AUTO_PTR
+#endif // NDNBOOST_NO_AUTO_PTR
 
-#if !defined( BOOST_NO_CXX11_SMART_PTR ) && !defined( BOOST_NO_CXX11_RVALUE_REFERENCES )
+#if !defined( NDNBOOST_NO_CXX11_SMART_PTR ) && !defined( NDNBOOST_NO_CXX11_RVALUE_REFERENCES )
 
     template< class Y, class D >
     shared_ptr( std::unique_ptr< Y, D > && r ): px( r.get() ), pn()
@@ -502,16 +502,16 @@
 
     // assignment
 
-    shared_ptr & operator=( shared_ptr const & r ) BOOST_NOEXCEPT
+    shared_ptr & operator=( shared_ptr const & r ) NDNBOOST_NOEXCEPT
     {
         this_type(r).swap(*this);
         return *this;
     }
 
-#if !defined(BOOST_MSVC) || (BOOST_MSVC >= 1400)
+#if !defined(NDNBOOST_MSVC) || (NDNBOOST_MSVC >= 1400)
 
     template<class Y>
-    shared_ptr & operator=(shared_ptr<Y> const & r) BOOST_NOEXCEPT
+    shared_ptr & operator=(shared_ptr<Y> const & r) NDNBOOST_NOEXCEPT
     {
         this_type(r).swap(*this);
         return *this;
@@ -519,7 +519,7 @@
 
 #endif
 
-#ifndef BOOST_NO_AUTO_PTR
+#ifndef NDNBOOST_NO_AUTO_PTR
 
     template<class Y>
     shared_ptr & operator=( std::auto_ptr<Y> & r )
@@ -528,7 +528,7 @@
         return *this;
     }
 
-#if !defined( BOOST_NO_CXX11_RVALUE_REFERENCES )
+#if !defined( NDNBOOST_NO_CXX11_RVALUE_REFERENCES )
 
     template<class Y>
     shared_ptr & operator=( std::auto_ptr<Y> && r )
@@ -537,7 +537,7 @@
         return *this;
     }
 
-#elif !defined( BOOST_NO_SFINAE ) && !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
+#elif !defined( NDNBOOST_NO_SFINAE ) && !defined( NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
 
     template<class Ap>
     typename ndnboost::detail::sp_enable_if_auto_ptr< Ap, shared_ptr & >::type operator=( Ap r )
@@ -546,11 +546,11 @@
         return *this;
     }
 
-#endif // BOOST_NO_SFINAE, BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#endif // NDNBOOST_NO_SFINAE, NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 
-#endif // BOOST_NO_AUTO_PTR
+#endif // NDNBOOST_NO_AUTO_PTR
 
-#if !defined( BOOST_NO_CXX11_SMART_PTR ) && !defined( BOOST_NO_CXX11_RVALUE_REFERENCES )
+#if !defined( NDNBOOST_NO_CXX11_SMART_PTR ) && !defined( NDNBOOST_NO_CXX11_RVALUE_REFERENCES )
 
     template<class Y, class D>
     shared_ptr & operator=( std::unique_ptr<Y, D> && r )
@@ -563,16 +563,16 @@
 
 // Move support
 
-#if !defined( BOOST_NO_CXX11_RVALUE_REFERENCES )
+#if !defined( NDNBOOST_NO_CXX11_RVALUE_REFERENCES )
 
-    shared_ptr( shared_ptr && r ) BOOST_NOEXCEPT : px( r.px ), pn()
+    shared_ptr( shared_ptr && r ) NDNBOOST_NOEXCEPT : px( r.px ), pn()
     {
         pn.swap( r.pn );
         r.px = 0;
     }
 
     template<class Y>
-#if !defined( BOOST_SP_NO_SP_CONVERTIBLE )
+#if !defined( NDNBOOST_SP_NO_SP_CONVERTIBLE )
 
     shared_ptr( shared_ptr<Y> && r, typename ndnboost::detail::sp_enable_if_convertible<Y,T>::type = ndnboost::detail::sp_empty() )
 
@@ -581,7 +581,7 @@
     shared_ptr( shared_ptr<Y> && r )
 
 #endif
-    BOOST_NOEXCEPT : px( r.px ), pn()
+    NDNBOOST_NOEXCEPT : px( r.px ), pn()
     {
         ndnboost::detail::sp_assert_convertible< Y, T >();
 
@@ -589,14 +589,14 @@
         r.px = 0;
     }
 
-    shared_ptr & operator=( shared_ptr && r ) BOOST_NOEXCEPT
+    shared_ptr & operator=( shared_ptr && r ) NDNBOOST_NOEXCEPT
     {
         this_type( static_cast< shared_ptr && >( r ) ).swap( *this );
         return *this;
     }
 
     template<class Y>
-    shared_ptr & operator=( shared_ptr<Y> && r ) BOOST_NOEXCEPT
+    shared_ptr & operator=( shared_ptr<Y> && r ) NDNBOOST_NOEXCEPT
     {
         this_type( static_cast< shared_ptr<Y> && >( r ) ).swap( *this );
         return *this;
@@ -604,9 +604,9 @@
 
 #endif
 
-#if !defined( BOOST_NO_CXX11_NULLPTR )
+#if !defined( NDNBOOST_NO_CXX11_NULLPTR )
 
-    shared_ptr & operator=( ndnboost::detail::sp_nullptr_t ) BOOST_NOEXCEPT // never throws
+    shared_ptr & operator=( ndnboost::detail::sp_nullptr_t ) NDNBOOST_NOEXCEPT // never throws
     {
         this_type().swap(*this);
         return *this;
@@ -614,14 +614,14 @@
 
 #endif
 
-    void reset() BOOST_NOEXCEPT // never throws in 1.30+
+    void reset() NDNBOOST_NOEXCEPT // never throws in 1.30+
     {
         this_type().swap(*this);
     }
 
     template<class Y> void reset( Y * p ) // Y must be complete
     {
-        BOOST_ASSERT( p == 0 || p != px ); // catch self-reset errors
+        NDNBOOST_ASSERT( p == 0 || p != px ); // catch self-reset errors
         this_type( p ).swap( *this );
     }
 
@@ -640,30 +640,30 @@
         this_type( r, p ).swap( *this );
     }
     
-    // never throws (but has a BOOST_ASSERT in it, so not marked with BOOST_NOEXCEPT)
+    // never throws (but has a NDNBOOST_ASSERT in it, so not marked with NDNBOOST_NOEXCEPT)
     typename ndnboost::detail::sp_dereference< T >::type operator* () const
     {
-        BOOST_ASSERT( px != 0 );
+        NDNBOOST_ASSERT( px != 0 );
         return *px;
     }
     
-    // never throws (but has a BOOST_ASSERT in it, so not marked with BOOST_NOEXCEPT)
+    // never throws (but has a NDNBOOST_ASSERT in it, so not marked with NDNBOOST_NOEXCEPT)
     typename ndnboost::detail::sp_member_access< T >::type operator-> () const 
     {
-        BOOST_ASSERT( px != 0 );
+        NDNBOOST_ASSERT( px != 0 );
         return px;
     }
     
-    // never throws (but has a BOOST_ASSERT in it, so not marked with BOOST_NOEXCEPT)
+    // never throws (but has a NDNBOOST_ASSERT in it, so not marked with NDNBOOST_NOEXCEPT)
     typename ndnboost::detail::sp_array_access< T >::type operator[] ( std::ptrdiff_t i ) const
     {
-        BOOST_ASSERT( px != 0 );
-        BOOST_ASSERT( i >= 0 && ( i < ndnboost::detail::sp_extent< T >::value || ndnboost::detail::sp_extent< T >::value == 0 ) );
+        NDNBOOST_ASSERT( px != 0 );
+        NDNBOOST_ASSERT( i >= 0 && ( i < ndnboost::detail::sp_extent< T >::value || ndnboost::detail::sp_extent< T >::value == 0 ) );
 
         return px[ i ];
     }
 
-    element_type * get() const BOOST_NOEXCEPT
+    element_type * get() const NDNBOOST_NOEXCEPT
     {
         return px;
     }
@@ -671,43 +671,43 @@
 // implicit conversion to "bool"
 #include <ndnboost/smart_ptr/detail/operator_bool.hpp>
 
-    bool unique() const BOOST_NOEXCEPT
+    bool unique() const NDNBOOST_NOEXCEPT
     {
         return pn.unique();
     }
 
-    long use_count() const BOOST_NOEXCEPT
+    long use_count() const NDNBOOST_NOEXCEPT
     {
         return pn.use_count();
     }
 
-    void swap( shared_ptr & other ) BOOST_NOEXCEPT
+    void swap( shared_ptr & other ) NDNBOOST_NOEXCEPT
     {
         std::swap(px, other.px);
         pn.swap(other.pn);
     }
 
-    template<class Y> bool owner_before( shared_ptr<Y> const & rhs ) const BOOST_NOEXCEPT
+    template<class Y> bool owner_before( shared_ptr<Y> const & rhs ) const NDNBOOST_NOEXCEPT
     {
         return pn < rhs.pn;
     }
 
-    template<class Y> bool owner_before( weak_ptr<Y> const & rhs ) const BOOST_NOEXCEPT
+    template<class Y> bool owner_before( weak_ptr<Y> const & rhs ) const NDNBOOST_NOEXCEPT
     {
         return pn < rhs.pn;
     }
 
-    void * _internal_get_deleter( ndnboost::detail::sp_typeinfo const & ti ) const BOOST_NOEXCEPT
+    void * _internal_get_deleter( ndnboost::detail::sp_typeinfo const & ti ) const NDNBOOST_NOEXCEPT
     {
         return pn.get_deleter( ti );
     }
 
-    void * _internal_get_untyped_deleter() const BOOST_NOEXCEPT
+    void * _internal_get_untyped_deleter() const NDNBOOST_NOEXCEPT
     {
         return pn.get_untyped_deleter();
     }
 
-    bool _internal_equiv( shared_ptr const & r ) const BOOST_NOEXCEPT
+    bool _internal_equiv( shared_ptr const & r ) const NDNBOOST_NOEXCEPT
     {
         return px == r.px && pn == r.pn;
     }
@@ -715,7 +715,7 @@
 // Tasteless as this may seem, making all members public allows member templates
 // to work in the absence of member template friends. (Matthew Langston)
 
-#ifndef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
+#ifndef NDNBOOST_NO_MEMBER_TEMPLATE_FRIENDS
 
 private:
 
@@ -730,12 +730,12 @@
 
 };  // shared_ptr
 
-template<class T, class U> inline bool operator==(shared_ptr<T> const & a, shared_ptr<U> const & b) BOOST_NOEXCEPT
+template<class T, class U> inline bool operator==(shared_ptr<T> const & a, shared_ptr<U> const & b) NDNBOOST_NOEXCEPT
 {
     return a.get() == b.get();
 }
 
-template<class T, class U> inline bool operator!=(shared_ptr<T> const & a, shared_ptr<U> const & b) BOOST_NOEXCEPT
+template<class T, class U> inline bool operator!=(shared_ptr<T> const & a, shared_ptr<U> const & b) NDNBOOST_NOEXCEPT
 {
     return a.get() != b.get();
 }
@@ -744,48 +744,48 @@
 
 // Resolve the ambiguity between our op!= and the one in rel_ops
 
-template<class T> inline bool operator!=(shared_ptr<T> const & a, shared_ptr<T> const & b) BOOST_NOEXCEPT
+template<class T> inline bool operator!=(shared_ptr<T> const & a, shared_ptr<T> const & b) NDNBOOST_NOEXCEPT
 {
     return a.get() != b.get();
 }
 
 #endif
 
-#if !defined( BOOST_NO_CXX11_NULLPTR )
+#if !defined( NDNBOOST_NO_CXX11_NULLPTR )
 
-template<class T> inline bool operator==( shared_ptr<T> const & p, ndnboost::detail::sp_nullptr_t ) BOOST_NOEXCEPT
+template<class T> inline bool operator==( shared_ptr<T> const & p, ndnboost::detail::sp_nullptr_t ) NDNBOOST_NOEXCEPT
 {
     return p.get() == 0;
 }
 
-template<class T> inline bool operator==( ndnboost::detail::sp_nullptr_t, shared_ptr<T> const & p ) BOOST_NOEXCEPT
+template<class T> inline bool operator==( ndnboost::detail::sp_nullptr_t, shared_ptr<T> const & p ) NDNBOOST_NOEXCEPT
 {
     return p.get() == 0;
 }
 
-template<class T> inline bool operator!=( shared_ptr<T> const & p, ndnboost::detail::sp_nullptr_t ) BOOST_NOEXCEPT
+template<class T> inline bool operator!=( shared_ptr<T> const & p, ndnboost::detail::sp_nullptr_t ) NDNBOOST_NOEXCEPT
 {
     return p.get() != 0;
 }
 
-template<class T> inline bool operator!=( ndnboost::detail::sp_nullptr_t, shared_ptr<T> const & p ) BOOST_NOEXCEPT
+template<class T> inline bool operator!=( ndnboost::detail::sp_nullptr_t, shared_ptr<T> const & p ) NDNBOOST_NOEXCEPT
 {
     return p.get() != 0;
 }
 
 #endif
 
-template<class T, class U> inline bool operator<(shared_ptr<T> const & a, shared_ptr<U> const & b) BOOST_NOEXCEPT
+template<class T, class U> inline bool operator<(shared_ptr<T> const & a, shared_ptr<U> const & b) NDNBOOST_NOEXCEPT
 {
     return a.owner_before( b );
 }
 
-template<class T> inline void swap(shared_ptr<T> & a, shared_ptr<T> & b) BOOST_NOEXCEPT
+template<class T> inline void swap(shared_ptr<T> & a, shared_ptr<T> & b) NDNBOOST_NOEXCEPT
 {
     a.swap(b);
 }
 
-template<class T, class U> shared_ptr<T> static_pointer_cast( shared_ptr<U> const & r ) BOOST_NOEXCEPT
+template<class T, class U> shared_ptr<T> static_pointer_cast( shared_ptr<U> const & r ) NDNBOOST_NOEXCEPT
 {
     (void) static_cast< T* >( static_cast< U* >( 0 ) );
 
@@ -795,7 +795,7 @@
     return shared_ptr<T>( r, p );
 }
 
-template<class T, class U> shared_ptr<T> const_pointer_cast( shared_ptr<U> const & r ) BOOST_NOEXCEPT
+template<class T, class U> shared_ptr<T> const_pointer_cast( shared_ptr<U> const & r ) NDNBOOST_NOEXCEPT
 {
     (void) const_cast< T* >( static_cast< U* >( 0 ) );
 
@@ -805,7 +805,7 @@
     return shared_ptr<T>( r, p );
 }
 
-template<class T, class U> shared_ptr<T> dynamic_pointer_cast( shared_ptr<U> const & r ) BOOST_NOEXCEPT
+template<class T, class U> shared_ptr<T> dynamic_pointer_cast( shared_ptr<U> const & r ) NDNBOOST_NOEXCEPT
 {
     (void) dynamic_cast< T* >( static_cast< U* >( 0 ) );
 
@@ -815,7 +815,7 @@
     return p? shared_ptr<T>( r, p ): shared_ptr<T>();
 }
 
-template<class T, class U> shared_ptr<T> reinterpret_pointer_cast( shared_ptr<U> const & r ) BOOST_NOEXCEPT
+template<class T, class U> shared_ptr<T> reinterpret_pointer_cast( shared_ptr<U> const & r ) NDNBOOST_NOEXCEPT
 {
     (void) reinterpret_cast< T* >( static_cast< U* >( 0 ) );
 
@@ -827,16 +827,16 @@
 
 // get_pointer() enables ndnboost::mem_fn to recognize shared_ptr
 
-template<class T> inline typename shared_ptr<T>::element_type * get_pointer(shared_ptr<T> const & p) BOOST_NOEXCEPT
+template<class T> inline typename shared_ptr<T>::element_type * get_pointer(shared_ptr<T> const & p) NDNBOOST_NOEXCEPT
 {
     return p.get();
 }
 
 // operator<<
 
-#if !defined(BOOST_NO_IOSTREAM)
+#if !defined(NDNBOOST_NO_IOSTREAM)
 
-#if defined(BOOST_NO_TEMPLATED_IOSTREAMS) || ( defined(__GNUC__) &&  (__GNUC__ < 3) )
+#if defined(NDNBOOST_NO_TEMPLATED_IOSTREAMS) || ( defined(__GNUC__) &&  (__GNUC__ < 3) )
 
 template<class Y> std::ostream & operator<< (std::ostream & os, shared_ptr<Y> const & p)
 {
@@ -849,7 +849,7 @@
 // in STLport's no-iostreams mode no iostream symbols can be used
 #ifndef _STLP_NO_IOSTREAMS
 
-# if defined(BOOST_MSVC) && BOOST_WORKAROUND(BOOST_MSVC, < 1300 && __SGI_STL_PORT)
+# if defined(NDNBOOST_MSVC) && NDNBOOST_WORKAROUND(NDNBOOST_MSVC, < 1300 && __SGI_STL_PORT)
 // MSVC6 has problems finding std::basic_ostream through the using declaration in namespace _STL
 using std::basic_ostream;
 template<class E, class T, class Y> basic_ostream<E, T> & operator<< (basic_ostream<E, T> & os, shared_ptr<Y> const & p)
@@ -865,31 +865,31 @@
 
 #endif // __GNUC__ < 3
 
-#endif // !defined(BOOST_NO_IOSTREAM)
+#endif // !defined(NDNBOOST_NO_IOSTREAM)
 
 // get_deleter
 
 namespace detail
 {
 
-#if ( defined(__GNUC__) && BOOST_WORKAROUND(__GNUC__, < 3) ) || \
-    ( defined(__EDG_VERSION__) && BOOST_WORKAROUND(__EDG_VERSION__, <= 238) ) || \
-    ( defined(__HP_aCC) && BOOST_WORKAROUND(__HP_aCC, <= 33500) )
+#if ( defined(__GNUC__) && NDNBOOST_WORKAROUND(__GNUC__, < 3) ) || \
+    ( defined(__EDG_VERSION__) && NDNBOOST_WORKAROUND(__EDG_VERSION__, <= 238) ) || \
+    ( defined(__HP_aCC) && NDNBOOST_WORKAROUND(__HP_aCC, <= 33500) )
 
 // g++ 2.9x doesn't allow static_cast<X const *>(void *)
 // apparently EDG 2.38 and HP aCC A.03.35 also don't accept it
 
 template<class D, class T> D * basic_get_deleter(shared_ptr<T> const & p)
 {
-    void const * q = p._internal_get_deleter(BOOST_SP_TYPEID(D));
+    void const * q = p._internal_get_deleter(NDNBOOST_SP_TYPEID(D));
     return const_cast<D *>(static_cast<D const *>(q));
 }
 
 #else
 
-template<class D, class T> D * basic_get_deleter( shared_ptr<T> const & p ) BOOST_NOEXCEPT
+template<class D, class T> D * basic_get_deleter( shared_ptr<T> const & p ) NDNBOOST_NOEXCEPT
 {
-    return static_cast<D *>( p._internal_get_deleter(BOOST_SP_TYPEID(D)) );
+    return static_cast<D *>( p._internal_get_deleter(NDNBOOST_SP_TYPEID(D)) );
 }
 
 #endif
@@ -911,21 +911,21 @@
         deleter_ = deleter;
     }
 
-    template<typename D> D* get_deleter() const BOOST_NOEXCEPT
+    template<typename D> D* get_deleter() const NDNBOOST_NOEXCEPT
     {
         return ndnboost::detail::basic_get_deleter<D>( deleter_ );
     }
 
     template< class T> void operator()( T* )
     {
-        BOOST_ASSERT( deleter_.use_count() <= 1 );
+        NDNBOOST_ASSERT( deleter_.use_count() <= 1 );
         deleter_.reset();
     }
 };
 
 } // namespace detail
 
-template<class D, class T> D * get_deleter( shared_ptr<T> const & p ) BOOST_NOEXCEPT
+template<class D, class T> D * get_deleter( shared_ptr<T> const & p ) NDNBOOST_NOEXCEPT
 {
     D *del = ndnboost::detail::basic_get_deleter<D>(p);
 
@@ -942,9 +942,9 @@
 
 // atomic access
 
-#if !defined(BOOST_SP_NO_ATOMIC_ACCESS)
+#if !defined(NDNBOOST_SP_NO_ATOMIC_ACCESS)
 
-template<class T> inline bool atomic_is_lock_free( shared_ptr<T> const * /*p*/ ) BOOST_NOEXCEPT
+template<class T> inline bool atomic_is_lock_free( shared_ptr<T> const * /*p*/ ) NDNBOOST_NOEXCEPT
 {
     return false;
 }
@@ -1017,19 +1017,19 @@
     return atomic_compare_exchange( p, v, w ); // std::move( w )
 }
 
-#endif // !defined(BOOST_SP_NO_ATOMIC_ACCESS)
+#endif // !defined(NDNBOOST_SP_NO_ATOMIC_ACCESS)
 
 // hash_value
 
 template< class T > struct hash;
 
-template< class T > std::size_t hash_value( ndnboost::shared_ptr<T> const & p ) BOOST_NOEXCEPT
+template< class T > std::size_t hash_value( ndnboost::shared_ptr<T> const & p ) NDNBOOST_NOEXCEPT
 {
     return ndnboost::hash< T* >()( p.get() );
 }
 
 } // namespace ndnboost
 
-#endif  // #if defined(BOOST_NO_MEMBER_TEMPLATES) && !defined(BOOST_MSVC6_MEMBER_TEMPLATES)
+#endif  // #if defined(NDNBOOST_NO_MEMBER_TEMPLATES) && !defined(NDNBOOST_MSVC6_MEMBER_TEMPLATES)
 
-#endif  // #ifndef BOOST_SMART_PTR_SHARED_PTR_HPP_INCLUDED
+#endif  // #ifndef NDNBOOST_SMART_PTR_SHARED_PTR_HPP_INCLUDED
diff --git a/include/ndnboost/smart_ptr/weak_ptr.hpp b/include/ndnboost/smart_ptr/weak_ptr.hpp
index 0e268a8..08fc4bd 100644
--- a/include/ndnboost/smart_ptr/weak_ptr.hpp
+++ b/include/ndnboost/smart_ptr/weak_ptr.hpp
@@ -1,5 +1,5 @@
-#ifndef BOOST_SMART_PTR_WEAK_PTR_HPP_INCLUDED
-#define BOOST_SMART_PTR_WEAK_PTR_HPP_INCLUDED
+#ifndef NDNBOOST_SMART_PTR_WEAK_PTR_HPP_INCLUDED
+#define NDNBOOST_SMART_PTR_WEAK_PTR_HPP_INCLUDED
 
 //
 //  weak_ptr.hpp
@@ -31,21 +31,21 @@
 
     typedef typename ndnboost::detail::sp_element< T >::type element_type;
 
-    weak_ptr() BOOST_NOEXCEPT : px(0), pn() // never throws in 1.30+
+    weak_ptr() NDNBOOST_NOEXCEPT : px(0), pn() // never throws in 1.30+
     {
     }
 
 //  generated copy constructor, assignment, destructor are fine...
 
-#if !defined( BOOST_NO_CXX11_RVALUE_REFERENCES )
+#if !defined( NDNBOOST_NO_CXX11_RVALUE_REFERENCES )
 
 // ... except in C++0x, move disables the implicit copy
 
-    weak_ptr( weak_ptr const & r ) BOOST_NOEXCEPT : px( r.px ), pn( r.pn )
+    weak_ptr( weak_ptr const & r ) NDNBOOST_NOEXCEPT : px( r.px ), pn( r.pn )
     {
     }
 
-    weak_ptr & operator=( weak_ptr const & r ) BOOST_NOEXCEPT
+    weak_ptr & operator=( weak_ptr const & r ) NDNBOOST_NOEXCEPT
     {
         px = r.px;
         pn = r.pn;
@@ -72,7 +72,7 @@
 //
 
     template<class Y>
-#if !defined( BOOST_SP_NO_SP_CONVERTIBLE )
+#if !defined( NDNBOOST_SP_NO_SP_CONVERTIBLE )
 
     weak_ptr( weak_ptr<Y> const & r, typename ndnboost::detail::sp_enable_if_convertible<Y,T>::type = ndnboost::detail::sp_empty() )
 
@@ -81,15 +81,15 @@
     weak_ptr( weak_ptr<Y> const & r )
 
 #endif
-    BOOST_NOEXCEPT : px(r.lock().get()), pn(r.pn)
+    NDNBOOST_NOEXCEPT : px(r.lock().get()), pn(r.pn)
     {
         ndnboost::detail::sp_assert_convertible< Y, T >();
     }
 
-#if !defined( BOOST_NO_CXX11_RVALUE_REFERENCES )
+#if !defined( NDNBOOST_NO_CXX11_RVALUE_REFERENCES )
 
     template<class Y>
-#if !defined( BOOST_SP_NO_SP_CONVERTIBLE )
+#if !defined( NDNBOOST_SP_NO_SP_CONVERTIBLE )
 
     weak_ptr( weak_ptr<Y> && r, typename ndnboost::detail::sp_enable_if_convertible<Y,T>::type = ndnboost::detail::sp_empty() )
 
@@ -98,7 +98,7 @@
     weak_ptr( weak_ptr<Y> && r )
 
 #endif
-    BOOST_NOEXCEPT : px( r.lock().get() ), pn( static_cast< ndnboost::detail::weak_count && >( r.pn ) )
+    NDNBOOST_NOEXCEPT : px( r.lock().get() ), pn( static_cast< ndnboost::detail::weak_count && >( r.pn ) )
     {
         ndnboost::detail::sp_assert_convertible< Y, T >();
         r.px = 0;
@@ -106,13 +106,13 @@
 
     // for better efficiency in the T == Y case
     weak_ptr( weak_ptr && r )
-    BOOST_NOEXCEPT : px( r.px ), pn( static_cast< ndnboost::detail::weak_count && >( r.pn ) )
+    NDNBOOST_NOEXCEPT : px( r.px ), pn( static_cast< ndnboost::detail::weak_count && >( r.pn ) )
     {
         r.px = 0;
     }
 
     // for better efficiency in the T == Y case
-    weak_ptr & operator=( weak_ptr && r ) BOOST_NOEXCEPT
+    weak_ptr & operator=( weak_ptr && r ) NDNBOOST_NOEXCEPT
     {
         this_type( static_cast< weak_ptr && >( r ) ).swap( *this );
         return *this;
@@ -122,7 +122,7 @@
 #endif
 
     template<class Y>
-#if !defined( BOOST_SP_NO_SP_CONVERTIBLE )
+#if !defined( NDNBOOST_SP_NO_SP_CONVERTIBLE )
 
     weak_ptr( shared_ptr<Y> const & r, typename ndnboost::detail::sp_enable_if_convertible<Y,T>::type = ndnboost::detail::sp_empty() )
 
@@ -131,15 +131,15 @@
     weak_ptr( shared_ptr<Y> const & r )
 
 #endif
-    BOOST_NOEXCEPT : px( r.px ), pn( r.pn )
+    NDNBOOST_NOEXCEPT : px( r.px ), pn( r.pn )
     {
         ndnboost::detail::sp_assert_convertible< Y, T >();
     }
 
-#if !defined(BOOST_MSVC) || (BOOST_MSVC >= 1300)
+#if !defined(NDNBOOST_MSVC) || (NDNBOOST_MSVC >= 1300)
 
     template<class Y>
-    weak_ptr & operator=( weak_ptr<Y> const & r ) BOOST_NOEXCEPT
+    weak_ptr & operator=( weak_ptr<Y> const & r ) NDNBOOST_NOEXCEPT
     {
         ndnboost::detail::sp_assert_convertible< Y, T >();
 
@@ -149,10 +149,10 @@
         return *this;
     }
 
-#if !defined( BOOST_NO_CXX11_RVALUE_REFERENCES )
+#if !defined( NDNBOOST_NO_CXX11_RVALUE_REFERENCES )
 
     template<class Y>
-    weak_ptr & operator=( weak_ptr<Y> && r ) BOOST_NOEXCEPT
+    weak_ptr & operator=( weak_ptr<Y> && r ) NDNBOOST_NOEXCEPT
     {
         this_type( static_cast< weak_ptr<Y> && >( r ) ).swap( *this );
         return *this;
@@ -161,7 +161,7 @@
 #endif
 
     template<class Y>
-    weak_ptr & operator=( shared_ptr<Y> const & r ) BOOST_NOEXCEPT
+    weak_ptr & operator=( shared_ptr<Y> const & r ) NDNBOOST_NOEXCEPT
     {
         ndnboost::detail::sp_assert_convertible< Y, T >();
 
@@ -173,17 +173,17 @@
 
 #endif
 
-    shared_ptr<T> lock() const BOOST_NOEXCEPT
+    shared_ptr<T> lock() const NDNBOOST_NOEXCEPT
     {
         return shared_ptr<T>( *this, ndnboost::detail::sp_nothrow_tag() );
     }
 
-    long use_count() const BOOST_NOEXCEPT
+    long use_count() const NDNBOOST_NOEXCEPT
     {
         return pn.use_count();
     }
 
-    bool expired() const BOOST_NOEXCEPT
+    bool expired() const NDNBOOST_NOEXCEPT
     {
         return pn.use_count() == 0;
     }
@@ -193,12 +193,12 @@
         return pn.empty();
     }
 
-    void reset() BOOST_NOEXCEPT // never throws in 1.30+
+    void reset() NDNBOOST_NOEXCEPT // never throws in 1.30+
     {
         this_type().swap(*this);
     }
 
-    void swap(this_type & other) BOOST_NOEXCEPT
+    void swap(this_type & other) NDNBOOST_NOEXCEPT
     {
         std::swap(px, other.px);
         pn.swap(other.pn);
@@ -211,12 +211,12 @@
         pn = r.pn;
     }
 
-    template<class Y> bool owner_before( weak_ptr<Y> const & rhs ) const BOOST_NOEXCEPT
+    template<class Y> bool owner_before( weak_ptr<Y> const & rhs ) const NDNBOOST_NOEXCEPT
     {
         return pn < rhs.pn;
     }
 
-    template<class Y> bool owner_before( shared_ptr<Y> const & rhs ) const BOOST_NOEXCEPT
+    template<class Y> bool owner_before( shared_ptr<Y> const & rhs ) const NDNBOOST_NOEXCEPT
     {
         return pn < rhs.pn;
     }
@@ -224,7 +224,7 @@
 // Tasteless as this may seem, making all members public allows member templates
 // to work in the absence of member template friends. (Matthew Langston)
 
-#ifndef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
+#ifndef NDNBOOST_NO_MEMBER_TEMPLATE_FRIENDS
 
 private:
 
@@ -238,16 +238,16 @@
 
 };  // weak_ptr
 
-template<class T, class U> inline bool operator<(weak_ptr<T> const & a, weak_ptr<U> const & b) BOOST_NOEXCEPT
+template<class T, class U> inline bool operator<(weak_ptr<T> const & a, weak_ptr<U> const & b) NDNBOOST_NOEXCEPT
 {
     return a.owner_before( b );
 }
 
-template<class T> void swap(weak_ptr<T> & a, weak_ptr<T> & b) BOOST_NOEXCEPT
+template<class T> void swap(weak_ptr<T> & a, weak_ptr<T> & b) NDNBOOST_NOEXCEPT
 {
     a.swap(b);
 }
 
 } // namespace ndnboost
 
-#endif  // #ifndef BOOST_SMART_PTR_WEAK_PTR_HPP_INCLUDED
+#endif  // #ifndef NDNBOOST_SMART_PTR_WEAK_PTR_HPP_INCLUDED
diff --git a/include/ndnboost/static_assert.hpp b/include/ndnboost/static_assert.hpp
index c85cb2b..f815028 100644
--- a/include/ndnboost/static_assert.hpp
+++ b/include/ndnboost/static_assert.hpp
@@ -11,8 +11,8 @@
       Initial version.
 */
 
-#ifndef BOOST_STATIC_ASSERT_HPP
-#define BOOST_STATIC_ASSERT_HPP
+#ifndef NDNBOOST_STATIC_ASSERT_HPP
+#define NDNBOOST_STATIC_ASSERT_HPP
 
 #include <ndnboost/config.hpp>
 #include <ndnboost/detail/workaround.hpp>
@@ -26,25 +26,25 @@
 #pragma GCC system_header
 #endif
 
-#ifndef BOOST_NO_CXX11_STATIC_ASSERT
-#  ifndef BOOST_NO_CXX11_VARIADIC_MACROS
-#     define BOOST_STATIC_ASSERT_MSG( ... ) static_assert(__VA_ARGS__)
+#ifndef NDNBOOST_NO_CXX11_STATIC_ASSERT
+#  ifndef NDNBOOST_NO_CXX11_VARIADIC_MACROS
+#     define NDNBOOST_STATIC_ASSERT_MSG( ... ) static_assert(__VA_ARGS__)
 #  else
-#     define BOOST_STATIC_ASSERT_MSG( B, Msg ) BOOST_STATIC_ASSERT( B )
+#     define NDNBOOST_STATIC_ASSERT_MSG( B, Msg ) NDNBOOST_STATIC_ASSERT( B )
 #  endif
 #else
-#     define BOOST_STATIC_ASSERT_MSG( B, Msg ) BOOST_STATIC_ASSERT( B )
+#     define NDNBOOST_STATIC_ASSERT_MSG( B, Msg ) NDNBOOST_STATIC_ASSERT( B )
 #endif
 
 #ifdef __BORLANDC__
 //
 // workaround for buggy integral-constant expression support:
-#define BOOST_BUGGY_INTEGRAL_CONSTANT_EXPRESSIONS
+#define NDNBOOST_BUGGY_INTEGRAL_CONSTANT_EXPRESSIONS
 #endif
 
 #if defined(__GNUC__) && (__GNUC__ == 3) && ((__GNUC_MINOR__ == 3) || (__GNUC_MINOR__ == 4))
 // gcc 3.3 and 3.4 don't produce good error messages with the default version:
-#  define BOOST_SA_GCC_WORKAROUND
+#  define NDNBOOST_SA_GCC_WORKAROUND
 #endif
 
 //
@@ -52,32 +52,32 @@
 // then enable this:
 //
 #if defined(__GNUC__) && ((__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 4)))
-#  ifndef BOOST_NO_CXX11_VARIADIC_MACROS
-#     define BOOST_STATIC_ASSERT_BOOL_CAST( ... ) ((__VA_ARGS__) == 0 ? false : true)
+#  ifndef NDNBOOST_NO_CXX11_VARIADIC_MACROS
+#     define NDNBOOST_STATIC_ASSERT_BOOL_CAST( ... ) ((__VA_ARGS__) == 0 ? false : true)
 #  else
-#     define BOOST_STATIC_ASSERT_BOOL_CAST( x ) ((x) == 0 ? false : true)
+#     define NDNBOOST_STATIC_ASSERT_BOOL_CAST( x ) ((x) == 0 ? false : true)
 #  endif
 #else
-#  ifndef BOOST_NO_CXX11_VARIADIC_MACROS
-#     define BOOST_STATIC_ASSERT_BOOL_CAST( ... ) (bool)(__VA_ARGS__)
+#  ifndef NDNBOOST_NO_CXX11_VARIADIC_MACROS
+#     define NDNBOOST_STATIC_ASSERT_BOOL_CAST( ... ) (bool)(__VA_ARGS__)
 #  else
-#     define BOOST_STATIC_ASSERT_BOOL_CAST(x) (bool)(x)
+#     define NDNBOOST_STATIC_ASSERT_BOOL_CAST(x) (bool)(x)
 #  endif
 #endif
 //
 // If the compiler warns about unused typedefs then enable this:
 //
 #if defined(__GNUC__) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 7)))
-#  define BOOST_STATIC_ASSERT_UNUSED_ATTRIBUTE __attribute__((unused))
+#  define NDNBOOST_STATIC_ASSERT_UNUSED_ATTRIBUTE __attribute__((unused))
 #else
-#  define BOOST_STATIC_ASSERT_UNUSED_ATTRIBUTE
+#  define NDNBOOST_STATIC_ASSERT_UNUSED_ATTRIBUTE
 #endif
 
-#ifndef BOOST_NO_CXX11_STATIC_ASSERT
-#  ifndef BOOST_NO_CXX11_VARIADIC_MACROS
-#     define BOOST_STATIC_ASSERT( ... ) static_assert(__VA_ARGS__, #__VA_ARGS__)
+#ifndef NDNBOOST_NO_CXX11_STATIC_ASSERT
+#  ifndef NDNBOOST_NO_CXX11_VARIADIC_MACROS
+#     define NDNBOOST_STATIC_ASSERT( ... ) static_assert(__VA_ARGS__, #__VA_ARGS__)
 #  else
-#     define BOOST_STATIC_ASSERT( B ) static_assert(B, #B)
+#     define NDNBOOST_STATIC_ASSERT( B ) static_assert(B, #B)
 #  endif
 #else
 
@@ -101,7 +101,7 @@
 // both are described as declarations [7.1.3] and [7.2] in the standard,
 // however some compilers use "delayed evaluation" of one or more of
 // these when implicitly instantiating templates.  We use typedef declarations
-// by default, but try defining BOOST_USE_ENUM_STATIC_ASSERT if the enum
+// by default, but try defining NDNBOOST_USE_ENUM_STATIC_ASSERT if the enum
 // version gets better results from your compiler...
 //
 // Implementation:
@@ -115,81 +115,81 @@
 // style casts: too many compilers currently have problems with static_cast
 // when used inside integral constant expressions.
 //
-#if !defined(BOOST_BUGGY_INTEGRAL_CONSTANT_EXPRESSIONS)
+#if !defined(NDNBOOST_BUGGY_INTEGRAL_CONSTANT_EXPRESSIONS)
 
-#if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
+#if defined(NDNBOOST_MSVC) && (NDNBOOST_MSVC < 1300)
 // __LINE__ macro broken when -ZI is used see Q199057
 // fortunately MSVC ignores duplicate typedef's.
-#define BOOST_STATIC_ASSERT( B ) \
+#define NDNBOOST_STATIC_ASSERT( B ) \
    typedef ::ndnboost::static_assert_test<\
       sizeof(::ndnboost::STATIC_ASSERTION_FAILURE< (bool)( B ) >)\
       > boost_static_assert_typedef_
-#elif defined(BOOST_MSVC) && defined(BOOST_NO_CXX11_VARIADIC_MACROS)
-#define BOOST_STATIC_ASSERT( B ) \
+#elif defined(NDNBOOST_MSVC) && defined(NDNBOOST_NO_CXX11_VARIADIC_MACROS)
+#define NDNBOOST_STATIC_ASSERT( B ) \
    typedef ::ndnboost::static_assert_test<\
-      sizeof(::ndnboost::STATIC_ASSERTION_FAILURE< BOOST_STATIC_ASSERT_BOOL_CAST ( B ) >)>\
-         BOOST_JOIN(boost_static_assert_typedef_, __COUNTER__)
-#elif defined(BOOST_MSVC)
-#define BOOST_STATIC_ASSERT(...) \
+      sizeof(::ndnboost::STATIC_ASSERTION_FAILURE< NDNBOOST_STATIC_ASSERT_BOOL_CAST ( B ) >)>\
+         NDNBOOST_JOIN(boost_static_assert_typedef_, __COUNTER__)
+#elif defined(NDNBOOST_MSVC)
+#define NDNBOOST_STATIC_ASSERT(...) \
    typedef ::ndnboost::static_assert_test<\
-      sizeof(::ndnboost::STATIC_ASSERTION_FAILURE< BOOST_STATIC_ASSERT_BOOL_CAST (__VA_ARGS__) >)>\
-         BOOST_JOIN(boost_static_assert_typedef_, __COUNTER__)
-#elif (defined(BOOST_INTEL_CXX_VERSION) || defined(BOOST_SA_GCC_WORKAROUND))  && defined(BOOST_NO_CXX11_VARIADIC_MACROS)
+      sizeof(::ndnboost::STATIC_ASSERTION_FAILURE< NDNBOOST_STATIC_ASSERT_BOOL_CAST (__VA_ARGS__) >)>\
+         NDNBOOST_JOIN(boost_static_assert_typedef_, __COUNTER__)
+#elif (defined(NDNBOOST_INTEL_CXX_VERSION) || defined(NDNBOOST_SA_GCC_WORKAROUND))  && defined(NDNBOOST_NO_CXX11_VARIADIC_MACROS)
 // agurt 15/sep/02: a special care is needed to force Intel C++ issue an error 
 // instead of warning in case of failure
-# define BOOST_STATIC_ASSERT( B ) \
-    typedef char BOOST_JOIN(boost_static_assert_typedef_, __LINE__) \
-        [ ::ndnboost::STATIC_ASSERTION_FAILURE< BOOST_STATIC_ASSERT_BOOL_CAST( B ) >::value ]
-#elif (defined(BOOST_INTEL_CXX_VERSION) || defined(BOOST_SA_GCC_WORKAROUND))  && !defined(BOOST_NO_CXX11_VARIADIC_MACROS)
+# define NDNBOOST_STATIC_ASSERT( B ) \
+    typedef char NDNBOOST_JOIN(boost_static_assert_typedef_, __LINE__) \
+        [ ::ndnboost::STATIC_ASSERTION_FAILURE< NDNBOOST_STATIC_ASSERT_BOOL_CAST( B ) >::value ]
+#elif (defined(NDNBOOST_INTEL_CXX_VERSION) || defined(NDNBOOST_SA_GCC_WORKAROUND))  && !defined(NDNBOOST_NO_CXX11_VARIADIC_MACROS)
 // agurt 15/sep/02: a special care is needed to force Intel C++ issue an error 
 // instead of warning in case of failure
-# define BOOST_STATIC_ASSERT(...) \
-    typedef char BOOST_JOIN(boost_static_assert_typedef_, __LINE__) \
-        [ ::ndnboost::STATIC_ASSERTION_FAILURE< BOOST_STATIC_ASSERT_BOOL_CAST( __VA_ARGS__ ) >::value ]
+# define NDNBOOST_STATIC_ASSERT(...) \
+    typedef char NDNBOOST_JOIN(boost_static_assert_typedef_, __LINE__) \
+        [ ::ndnboost::STATIC_ASSERTION_FAILURE< NDNBOOST_STATIC_ASSERT_BOOL_CAST( __VA_ARGS__ ) >::value ]
 #elif defined(__sgi)
 // special version for SGI MIPSpro compiler
-#define BOOST_STATIC_ASSERT( B ) \
-   BOOST_STATIC_CONSTANT(bool, \
-     BOOST_JOIN(boost_static_assert_test_, __LINE__) = ( B )); \
+#define NDNBOOST_STATIC_ASSERT( B ) \
+   NDNBOOST_STATIC_CONSTANT(bool, \
+     NDNBOOST_JOIN(boost_static_assert_test_, __LINE__) = ( B )); \
    typedef ::ndnboost::static_assert_test<\
      sizeof(::ndnboost::STATIC_ASSERTION_FAILURE< \
-       BOOST_JOIN(boost_static_assert_test_, __LINE__) >)>\
-         BOOST_JOIN(boost_static_assert_typedef_, __LINE__)
-#elif BOOST_WORKAROUND(__MWERKS__, <= 0x3003)
+       NDNBOOST_JOIN(boost_static_assert_test_, __LINE__) >)>\
+         NDNBOOST_JOIN(boost_static_assert_typedef_, __LINE__)
+#elif NDNBOOST_WORKAROUND(__MWERKS__, <= 0x3003)
 // special version for CodeWarrior <= 8.x
-#define BOOST_STATIC_ASSERT( B ) \
-   BOOST_STATIC_CONSTANT(int, \
-     BOOST_JOIN(boost_static_assert_test_, __LINE__) = \
-       sizeof(::ndnboost::STATIC_ASSERTION_FAILURE< BOOST_STATIC_ASSERT_BOOL_CAST( B ) >) )
+#define NDNBOOST_STATIC_ASSERT( B ) \
+   NDNBOOST_STATIC_CONSTANT(int, \
+     NDNBOOST_JOIN(boost_static_assert_test_, __LINE__) = \
+       sizeof(::ndnboost::STATIC_ASSERTION_FAILURE< NDNBOOST_STATIC_ASSERT_BOOL_CAST( B ) >) )
 #else
 // generic version
-#  ifndef BOOST_NO_CXX11_VARIADIC_MACROS
-#     define BOOST_STATIC_ASSERT( ... ) \
+#  ifndef NDNBOOST_NO_CXX11_VARIADIC_MACROS
+#     define NDNBOOST_STATIC_ASSERT( ... ) \
          typedef ::ndnboost::static_assert_test<\
-            sizeof(::ndnboost::STATIC_ASSERTION_FAILURE< BOOST_STATIC_ASSERT_BOOL_CAST( __VA_ARGS__ ) >)>\
-               BOOST_JOIN(boost_static_assert_typedef_, __LINE__) BOOST_STATIC_ASSERT_UNUSED_ATTRIBUTE
+            sizeof(::ndnboost::STATIC_ASSERTION_FAILURE< NDNBOOST_STATIC_ASSERT_BOOL_CAST( __VA_ARGS__ ) >)>\
+               NDNBOOST_JOIN(boost_static_assert_typedef_, __LINE__) NDNBOOST_STATIC_ASSERT_UNUSED_ATTRIBUTE
 #  else
-#     define BOOST_STATIC_ASSERT( B ) \
+#     define NDNBOOST_STATIC_ASSERT( B ) \
          typedef ::ndnboost::static_assert_test<\
-            sizeof(::ndnboost::STATIC_ASSERTION_FAILURE< BOOST_STATIC_ASSERT_BOOL_CAST( B ) >)>\
-               BOOST_JOIN(boost_static_assert_typedef_, __LINE__) BOOST_STATIC_ASSERT_UNUSED_ATTRIBUTE
+            sizeof(::ndnboost::STATIC_ASSERTION_FAILURE< NDNBOOST_STATIC_ASSERT_BOOL_CAST( B ) >)>\
+               NDNBOOST_JOIN(boost_static_assert_typedef_, __LINE__) NDNBOOST_STATIC_ASSERT_UNUSED_ATTRIBUTE
 #  endif
 #endif
 
 #else
 // alternative enum based implementation:
-#  ifndef BOOST_NO_CXX11_VARIADIC_MACROS
-#    define BOOST_STATIC_ASSERT( ... ) \
-         enum { BOOST_JOIN(boost_static_assert_enum_, __LINE__) \
+#  ifndef NDNBOOST_NO_CXX11_VARIADIC_MACROS
+#    define NDNBOOST_STATIC_ASSERT( ... ) \
+         enum { NDNBOOST_JOIN(boost_static_assert_enum_, __LINE__) \
             = sizeof(::ndnboost::STATIC_ASSERTION_FAILURE< (bool)( __VA_ARGS__ ) >) }
 #  else
-#    define BOOST_STATIC_ASSERT(B) \
-         enum { BOOST_JOIN(boost_static_assert_enum_, __LINE__) \
+#    define NDNBOOST_STATIC_ASSERT(B) \
+         enum { NDNBOOST_JOIN(boost_static_assert_enum_, __LINE__) \
             = sizeof(::ndnboost::STATIC_ASSERTION_FAILURE< (bool)( B ) >) }
 #  endif
 #endif
-#endif // defined(BOOST_NO_CXX11_STATIC_ASSERT)
+#endif // defined(NDNBOOST_NO_CXX11_STATIC_ASSERT)
 
-#endif // BOOST_STATIC_ASSERT_HPP
+#endif // NDNBOOST_STATIC_ASSERT_HPP
 
 
diff --git a/include/ndnboost/swap.hpp b/include/ndnboost/swap.hpp
index 875fe8c..c3d3790 100644
--- a/include/ndnboost/swap.hpp
+++ b/include/ndnboost/swap.hpp
@@ -4,8 +4,8 @@
 // accompanying file LICENSE_1_0.txt or copy at
 // http://www.boost.org/LICENSE_1_0.txt)
 
-#ifndef BOOST_SWAP_HPP
-#define BOOST_SWAP_HPP
+#ifndef NDNBOOST_SWAP_HPP
+#define NDNBOOST_SWAP_HPP
 
 #include "ndnboost/utility/swap.hpp"
 
diff --git a/include/ndnboost/test/debug.hpp b/include/ndnboost/test/debug.hpp
index 30d5d30..5536961 100644
--- a/include/ndnboost/test/debug.hpp
+++ b/include/ndnboost/test/debug.hpp
@@ -12,8 +12,8 @@
 //  Description : defines portable debug interfaces
 // ***************************************************************************
 
-#ifndef BOOST_TEST_DEBUG_API_HPP_112006GER
-#define BOOST_TEST_DEBUG_API_HPP_112006GER
+#ifndef NDNBOOST_TEST_DEBUG_API_HPP_112006GER
+#define NDNBOOST_TEST_DEBUG_API_HPP_112006GER
 
 // Boost.Test
 #include <ndnboost/test/detail/config.hpp>
@@ -35,14 +35,14 @@
 // **************  check if program is running under debugger  ************** //
 // ************************************************************************** //
 
-bool BOOST_TEST_DECL under_debugger();
+bool NDNBOOST_TEST_DECL under_debugger();
 
 // ************************************************************************** //
 // **************       cause program to break execution       ************** //
 // **************           in debugger at call point          ************** //
 // ************************************************************************** //
 
-void BOOST_TEST_DECL debugger_break();
+void NDNBOOST_TEST_DECL debugger_break();
 
 // ************************************************************************** //
 // **************              gui debugger setup              ************** //
@@ -62,13 +62,13 @@
 // **************                debugger setup                ************** //
 // ************************************************************************** //
 
-#if BOOST_WORKAROUND( BOOST_MSVC, <1300)
+#if NDNBOOST_WORKAROUND( NDNBOOST_MSVC, <1300)
 
-std::string BOOST_TEST_DECL set_debugger( unit_test::const_string dbg_id );
+std::string NDNBOOST_TEST_DECL set_debugger( unit_test::const_string dbg_id );
 
 #else 
 
-std::string BOOST_TEST_DECL set_debugger( unit_test::const_string dbg_id, dbg_starter s = dbg_starter() );
+std::string NDNBOOST_TEST_DECL set_debugger( unit_test::const_string dbg_id, dbg_starter s = dbg_starter() );
 
 #endif
 
@@ -77,20 +77,20 @@
 // **************    attach debugger to the current process    ************** //
 // ************************************************************************** //
 
-bool BOOST_TEST_DECL attach_debugger( bool break_or_continue = true );
+bool NDNBOOST_TEST_DECL attach_debugger( bool break_or_continue = true );
 
 // ************************************************************************** //
 // **************   switch on/off detect memory leaks feature  ************** //
 // ************************************************************************** //
 
-void BOOST_TEST_DECL detect_memory_leaks( bool on_off );
+void NDNBOOST_TEST_DECL detect_memory_leaks( bool on_off );
 
 // ************************************************************************** //
 // **************      cause program to break execution in     ************** //
 // **************     debugger at specific allocation point    ************** //
 // ************************************************************************** //
 
-void BOOST_TEST_DECL break_memory_alloc( long mem_alloc_order_num );
+void NDNBOOST_TEST_DECL break_memory_alloc( long mem_alloc_order_num );
 
 } // namespace debug
 
diff --git a/include/ndnboost/test/debug_config.hpp b/include/ndnboost/test/debug_config.hpp
index 54c21e9..f54efa8 100644
--- a/include/ndnboost/test/debug_config.hpp
+++ b/include/ndnboost/test/debug_config.hpp
@@ -12,13 +12,13 @@
 //  Description : user's config for Boost.Test debugging support
 // ***************************************************************************
 
-#ifndef BOOST_TEST_DEBUG_CONFIG_HPP_112006GER
-#define BOOST_TEST_DEBUG_CONFIG_HPP_112006GER
+#ifndef NDNBOOST_TEST_DEBUG_CONFIG_HPP_112006GER
+#define NDNBOOST_TEST_DEBUG_CONFIG_HPP_112006GER
 
 // ';' separated list of supported debuggers
-// #define BOOST_TEST_DBG_LIST gdb;dbx
+// #define NDNBOOST_TEST_DBG_LIST gdb;dbx
 
 // maximum size of /proc/pid/stat file
-// #define BOOST_TEST_STAT_LINE_MAX
+// #define NDNBOOST_TEST_STAT_LINE_MAX
 
 #endif
diff --git a/include/ndnboost/test/detail/config.hpp b/include/ndnboost/test/detail/config.hpp
index 1b6ae68..68168b2 100644
--- a/include/ndnboost/test/detail/config.hpp
+++ b/include/ndnboost/test/detail/config.hpp
@@ -12,8 +12,8 @@
 //  Description : as a central place for global configuration switches
 // ***************************************************************************
 
-#ifndef BOOST_TEST_CONFIG_HPP_071894GER
-#define BOOST_TEST_CONFIG_HPP_071894GER
+#ifndef NDNBOOST_TEST_CONFIG_HPP_071894GER
+#define NDNBOOST_TEST_CONFIG_HPP_071894GER
 
 // Boost
 #include <ndnboost/config.hpp> // compilers workarounds
@@ -21,84 +21,84 @@
 
 //____________________________________________________________________________//
 
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x570)) || \
-    BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(600))     || \
-    (defined __sgi && BOOST_WORKAROUND(_COMPILER_VERSION, BOOST_TESTED_AT(730)))
-#  define BOOST_TEST_SHIFTED_LINE
+#if NDNBOOST_WORKAROUND(__BORLANDC__, NDNBOOST_TESTED_AT(0x570)) || \
+    NDNBOOST_WORKAROUND(__IBMCPP__, NDNBOOST_TESTED_AT(600))     || \
+    (defined __sgi && NDNBOOST_WORKAROUND(_COMPILER_VERSION, NDNBOOST_TESTED_AT(730)))
+#  define NDNBOOST_TEST_SHIFTED_LINE
 #endif
 
 //____________________________________________________________________________//
 
-#if defined(BOOST_MSVC) || (defined(__BORLANDC__) && !defined(BOOST_DISABLE_WIN32))
-#  define BOOST_TEST_CALL_DECL __cdecl
+#if defined(NDNBOOST_MSVC) || (defined(__BORLANDC__) && !defined(NDNBOOST_DISABLE_WIN32))
+#  define NDNBOOST_TEST_CALL_DECL __cdecl
 #else
-#  define BOOST_TEST_CALL_DECL /**/
+#  define NDNBOOST_TEST_CALL_DECL /**/
 #endif
 
 //____________________________________________________________________________//
 
-#if !defined(BOOST_NO_STD_LOCALE) &&            \
-    !BOOST_WORKAROUND(BOOST_MSVC, < 1310)  &&   \
+#if !defined(NDNBOOST_NO_STD_LOCALE) &&            \
+    !NDNBOOST_WORKAROUND(NDNBOOST_MSVC, < 1310)  &&   \
     !defined(__MWERKS__) 
-#  define BOOST_TEST_USE_STD_LOCALE 1
+#  define NDNBOOST_TEST_USE_STD_LOCALE 1
 #endif
 
 //____________________________________________________________________________//
 
-#if BOOST_WORKAROUND(__BORLANDC__, <= 0x570)            || \
-    BOOST_WORKAROUND( __COMO__, <= 0x433 )              || \
-    BOOST_WORKAROUND( __INTEL_COMPILER, <= 800 )        || \
+#if NDNBOOST_WORKAROUND(__BORLANDC__, <= 0x570)            || \
+    NDNBOOST_WORKAROUND( __COMO__, <= 0x433 )              || \
+    NDNBOOST_WORKAROUND( __INTEL_COMPILER, <= 800 )        || \
     defined(__sgi) && _COMPILER_VERSION <= 730          || \
-    BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(600))  || \
+    NDNBOOST_WORKAROUND(__IBMCPP__, NDNBOOST_TESTED_AT(600))  || \
     defined(__DECCXX)                                   || \
     defined(__DMC__)
-#  define BOOST_TEST_NO_PROTECTED_USING
+#  define NDNBOOST_TEST_NO_PROTECTED_USING
 #endif
 
 //____________________________________________________________________________//
 
-#if defined(__GNUC__) || BOOST_WORKAROUND(BOOST_MSVC, == 1400)
-#define BOOST_TEST_PROTECTED_VIRTUAL virtual
+#if defined(__GNUC__) || NDNBOOST_WORKAROUND(NDNBOOST_MSVC, == 1400)
+#define NDNBOOST_TEST_PROTECTED_VIRTUAL virtual
 #else
-#define BOOST_TEST_PROTECTED_VIRTUAL
+#define NDNBOOST_TEST_PROTECTED_VIRTUAL
 #endif
 
 //____________________________________________________________________________//
 
-#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) && \
-    !BOOST_WORKAROUND(BOOST_MSVC, <1310) && \
-    !BOOST_WORKAROUND(__SUNPRO_CC, BOOST_TESTED_AT(0x530))
-#  define BOOST_TEST_SUPPORT_INTERACTION_TESTING 1
+#if !NDNBOOST_WORKAROUND(__BORLANDC__, NDNBOOST_TESTED_AT(0x564)) && \
+    !NDNBOOST_WORKAROUND(NDNBOOST_MSVC, <1310) && \
+    !NDNBOOST_WORKAROUND(__SUNPRO_CC, NDNBOOST_TESTED_AT(0x530))
+#  define NDNBOOST_TEST_SUPPORT_INTERACTION_TESTING 1
 #endif
 
 //____________________________________________________________________________//
 
-#if defined(BOOST_ALL_DYN_LINK) && !defined(BOOST_TEST_DYN_LINK)
-#  define BOOST_TEST_DYN_LINK
+#if defined(NDNBOOST_ALL_DYN_LINK) && !defined(NDNBOOST_TEST_DYN_LINK)
+#  define NDNBOOST_TEST_DYN_LINK
 #endif
 
-#if defined(BOOST_TEST_INCLUDED)
-#  undef BOOST_TEST_DYN_LINK
+#if defined(NDNBOOST_TEST_INCLUDED)
+#  undef NDNBOOST_TEST_DYN_LINK
 #endif
 
-#if defined(BOOST_TEST_DYN_LINK)
-#  define BOOST_TEST_ALTERNATIVE_INIT_API
+#if defined(NDNBOOST_TEST_DYN_LINK)
+#  define NDNBOOST_TEST_ALTERNATIVE_INIT_API
 
-#  ifdef BOOST_TEST_SOURCE
-#    define BOOST_TEST_DECL BOOST_SYMBOL_EXPORT
+#  ifdef NDNBOOST_TEST_SOURCE
+#    define NDNBOOST_TEST_DECL NDNBOOST_SYMBOL_EXPORT
 #  else
-#    define BOOST_TEST_DECL BOOST_SYMBOL_IMPORT
-#  endif  // BOOST_TEST_SOURCE
+#    define NDNBOOST_TEST_DECL NDNBOOST_SYMBOL_IMPORT
+#  endif  // NDNBOOST_TEST_SOURCE
 #else
-#  define BOOST_TEST_DECL
+#  define NDNBOOST_TEST_DECL
 #endif
 
-#if !defined(BOOST_TEST_MAIN) && defined(BOOST_AUTO_TEST_MAIN)
-#define BOOST_TEST_MAIN BOOST_AUTO_TEST_MAIN
+#if !defined(NDNBOOST_TEST_MAIN) && defined(NDNBOOST_AUTO_TEST_MAIN)
+#define NDNBOOST_TEST_MAIN NDNBOOST_AUTO_TEST_MAIN
 #endif
 
-#if !defined(BOOST_TEST_MAIN) && defined(BOOST_TEST_MODULE)
-#define BOOST_TEST_MAIN BOOST_TEST_MODULE
+#if !defined(NDNBOOST_TEST_MAIN) && defined(NDNBOOST_TEST_MODULE)
+#define NDNBOOST_TEST_MAIN NDNBOOST_TEST_MODULE
 #endif
 
-#endif // BOOST_TEST_CONFIG_HPP_071894GER
+#endif // NDNBOOST_TEST_CONFIG_HPP_071894GER
diff --git a/include/ndnboost/test/detail/enable_warnings.hpp b/include/ndnboost/test/detail/enable_warnings.hpp
index 2d67fb0..3618e91 100644
--- a/include/ndnboost/test/detail/enable_warnings.hpp
+++ b/include/ndnboost/test/detail/enable_warnings.hpp
@@ -12,7 +12,7 @@
 //  Description : enable previosly suppressed warnings
 // ***************************************************************************
 
-#ifdef BOOST_MSVC
+#ifdef NDNBOOST_MSVC
 # pragma warning(default: 4511) // copy constructor can't not be generated
 # pragma warning(default: 4512) // assignment operator can't not be generated
 # pragma warning(default: 4100) // unreferenced formal parameter 
diff --git a/include/ndnboost/test/detail/fwd_decl.hpp b/include/ndnboost/test/detail/fwd_decl.hpp
index b8d2a87..db029fe 100644
--- a/include/ndnboost/test/detail/fwd_decl.hpp
+++ b/include/ndnboost/test/detail/fwd_decl.hpp
@@ -12,8 +12,8 @@
 //  Description : contains forward eclarations for Boost.Test data types
 // ***************************************************************************
 
-#ifndef BOOST_TEST_FWD_DECL_HPP_011605GER
-#define BOOST_TEST_FWD_DECL_HPP_011605GER
+#ifndef NDNBOOST_TEST_FWD_DECL_HPP_011605GER
+#define NDNBOOST_TEST_FWD_DECL_HPP_011605GER
 
 namespace ndnboost {
 
@@ -44,5 +44,5 @@
 
 } // namespace ndnboost
 
-#endif // BOOST_TEST_FWD_DECL_HPP_011605GER
+#endif // NDNBOOST_TEST_FWD_DECL_HPP_011605GER
 
diff --git a/include/ndnboost/test/detail/global_typedef.hpp b/include/ndnboost/test/detail/global_typedef.hpp
index e87327a..207940d 100644
--- a/include/ndnboost/test/detail/global_typedef.hpp
+++ b/include/ndnboost/test/detail/global_typedef.hpp
@@ -12,13 +12,13 @@
 //  Description : some trivial global typedefs
 // ***************************************************************************
 
-#ifndef BOOST_TEST_GLOBAL_TYPEDEF_HPP_021005GER
-#define BOOST_TEST_GLOBAL_TYPEDEF_HPP_021005GER
+#ifndef NDNBOOST_TEST_GLOBAL_TYPEDEF_HPP_021005GER
+#define NDNBOOST_TEST_GLOBAL_TYPEDEF_HPP_021005GER
 
 #include <ndnboost/test/utils/basic_cstring/basic_cstring.hpp>
-#define BOOST_TEST_L( s )         ndnboost::unit_test::const_string( s, sizeof( s ) - 1 )
-#define BOOST_TEST_STRINGIZE( s ) BOOST_TEST_L( BOOST_STRINGIZE( s ) )
-#define BOOST_TEST_EMPTY_STRING   BOOST_TEST_L( "" )
+#define NDNBOOST_TEST_L( s )         ndnboost::unit_test::const_string( s, sizeof( s ) - 1 )
+#define NDNBOOST_TEST_STRINGIZE( s ) NDNBOOST_TEST_L( NDNBOOST_STRINGIZE( s ) )
+#define NDNBOOST_TEST_EMPTY_STRING   NDNBOOST_TEST_L( "" )
 
 #include <ndnboost/test/detail/suppress_warnings.hpp>
 
@@ -85,4 +85,4 @@
 
 #include <ndnboost/test/detail/enable_warnings.hpp>
 
-#endif // BOOST_TEST_GLOBAL_TYPEDEF_HPP_021005GER
+#endif // NDNBOOST_TEST_GLOBAL_TYPEDEF_HPP_021005GER
diff --git a/include/ndnboost/test/detail/log_level.hpp b/include/ndnboost/test/detail/log_level.hpp
index 14e69f4..549db0c 100644
--- a/include/ndnboost/test/detail/log_level.hpp
+++ b/include/ndnboost/test/detail/log_level.hpp
@@ -12,8 +12,8 @@
 //  Description : shared definition for unit test log levels
 // ***************************************************************************
 
-#ifndef BOOST_TEST_LOG_LEVEL_HPP_011605GER
-#define BOOST_TEST_LOG_LEVEL_HPP_011605GER
+#ifndef NDNBOOST_TEST_LOG_LEVEL_HPP_011605GER
+#define NDNBOOST_TEST_LOG_LEVEL_HPP_011605GER
 
 namespace ndnboost {
 namespace unit_test {
@@ -40,4 +40,4 @@
 } // namespace unit_test
 } // namespace ndnboost
 
-#endif // BOOST_TEST_LOG_LEVEL_HPP_011605GER
+#endif // NDNBOOST_TEST_LOG_LEVEL_HPP_011605GER
diff --git a/include/ndnboost/test/detail/suppress_warnings.hpp b/include/ndnboost/test/detail/suppress_warnings.hpp
index 2471226..7b93db7 100644
--- a/include/ndnboost/test/detail/suppress_warnings.hpp
+++ b/include/ndnboost/test/detail/suppress_warnings.hpp
@@ -12,7 +12,7 @@
 //  Description : suppress some warnings 
 // ***************************************************************************
 
-#ifdef BOOST_MSVC
+#ifdef NDNBOOST_MSVC
 # pragma warning(push)
 # pragma warning(disable: 4511) // copy constructor can't not be generated
 # pragma warning(disable: 4512) // assignment operator can't not be generated
diff --git a/include/ndnboost/test/detail/unit_test_parameters.hpp b/include/ndnboost/test/detail/unit_test_parameters.hpp
index 364692b..ca7a24f 100644
--- a/include/ndnboost/test/detail/unit_test_parameters.hpp
+++ b/include/ndnboost/test/detail/unit_test_parameters.hpp
@@ -12,8 +12,8 @@
 //  Description : storage for unit test framework parameters information
 // ***************************************************************************
 
-#ifndef BOOST_TEST_UNIT_TEST_PARAMETERS_HPP_071894GER
-#define BOOST_TEST_UNIT_TEST_PARAMETERS_HPP_071894GER
+#ifndef NDNBOOST_TEST_UNIT_TEST_PARAMETERS_HPP_071894GER
+#define NDNBOOST_TEST_UNIT_TEST_PARAMETERS_HPP_071894GER
 
 #include <ndnboost/test/detail/global_typedef.hpp>
 #include <ndnboost/test/detail/log_level.hpp>
@@ -35,26 +35,26 @@
 
 namespace runtime_config {
 
-BOOST_TEST_DECL void                     init( int& argc, char** argv );
+NDNBOOST_TEST_DECL void                     init( int& argc, char** argv );
 
-BOOST_TEST_DECL unit_test::log_level     log_level();
-BOOST_TEST_DECL bool                     no_result_code();
-BOOST_TEST_DECL unit_test::report_level  report_level();
-BOOST_TEST_DECL const_string             test_to_run();
-BOOST_TEST_DECL const_string             break_exec_path();
-BOOST_TEST_DECL bool                     save_pattern();
-BOOST_TEST_DECL bool                     show_build_info();
-BOOST_TEST_DECL bool                     show_progress();
-BOOST_TEST_DECL bool                     catch_sys_errors();
-BOOST_TEST_DECL bool                     auto_start_dbg();
-BOOST_TEST_DECL bool                     use_alt_stack();
-BOOST_TEST_DECL bool                     detect_fp_exceptions();
-BOOST_TEST_DECL output_format            report_format();
-BOOST_TEST_DECL output_format            log_format();
-BOOST_TEST_DECL std::ostream*            report_sink();
-BOOST_TEST_DECL std::ostream*            log_sink();
-BOOST_TEST_DECL long                     detect_memory_leaks();
-BOOST_TEST_DECL int                      random_seed();
+NDNBOOST_TEST_DECL unit_test::log_level     log_level();
+NDNBOOST_TEST_DECL bool                     no_result_code();
+NDNBOOST_TEST_DECL unit_test::report_level  report_level();
+NDNBOOST_TEST_DECL const_string             test_to_run();
+NDNBOOST_TEST_DECL const_string             break_exec_path();
+NDNBOOST_TEST_DECL bool                     save_pattern();
+NDNBOOST_TEST_DECL bool                     show_build_info();
+NDNBOOST_TEST_DECL bool                     show_progress();
+NDNBOOST_TEST_DECL bool                     catch_sys_errors();
+NDNBOOST_TEST_DECL bool                     auto_start_dbg();
+NDNBOOST_TEST_DECL bool                     use_alt_stack();
+NDNBOOST_TEST_DECL bool                     detect_fp_exceptions();
+NDNBOOST_TEST_DECL output_format            report_format();
+NDNBOOST_TEST_DECL output_format            log_format();
+NDNBOOST_TEST_DECL std::ostream*            report_sink();
+NDNBOOST_TEST_DECL std::ostream*            log_sink();
+NDNBOOST_TEST_DECL long                     detect_memory_leaks();
+NDNBOOST_TEST_DECL int                      random_seed();
 
 } // namespace runtime_config
 
@@ -66,4 +66,4 @@
 
 #include <ndnboost/test/detail/enable_warnings.hpp>
 
-#endif // BOOST_TEST_UNIT_TEST_PARAMETERS_HPP_071894GER
+#endif // NDNBOOST_TEST_UNIT_TEST_PARAMETERS_HPP_071894GER
diff --git a/include/ndnboost/test/detail/workaround.hpp b/include/ndnboost/test/detail/workaround.hpp
index 654972b..d595ffb 100644
--- a/include/ndnboost/test/detail/workaround.hpp
+++ b/include/ndnboost/test/detail/workaround.hpp
@@ -12,8 +12,8 @@
 //  Description : contains mics. workarounds 
 // ***************************************************************************
 
-#ifndef BOOST_TEST_WORKAROUND_HPP_021005GER
-#define BOOST_TEST_WORKAROUND_HPP_021005GER
+#ifndef NDNBOOST_TEST_WORKAROUND_HPP_021005GER
+#define NDNBOOST_TEST_WORKAROUND_HPP_021005GER
 
 // Boost
 #include <ndnboost/config.hpp> // compilers workarounds and std::ptrdiff_t
@@ -31,7 +31,7 @@
 
 namespace ut_detail {
 
-#ifdef BOOST_NO_STD_DISTANCE
+#ifdef NDNBOOST_NO_STD_DISTANCE
 template <class T>
 std::ptrdiff_t distance( T const& x_, T const& y_ )
 { 
@@ -62,4 +62,4 @@
 
 #include <ndnboost/test/detail/enable_warnings.hpp>
 
-#endif // BOOST_TEST_WORKAROUND_HPP_021005GER
+#endif // NDNBOOST_TEST_WORKAROUND_HPP_021005GER
diff --git a/include/ndnboost/test/execution_monitor.hpp b/include/ndnboost/test/execution_monitor.hpp
index 8475686..a1abc8b 100644
--- a/include/ndnboost/test/execution_monitor.hpp
+++ b/include/ndnboost/test/execution_monitor.hpp
@@ -29,8 +29,8 @@
 //  design presented here.
 // ***************************************************************************
 
-#ifndef BOOST_TEST_EXECUTION_MONITOR_HPP_071894GER
-#define BOOST_TEST_EXECUTION_MONITOR_HPP_071894GER
+#ifndef NDNBOOST_TEST_EXECUTION_MONITOR_HPP_071894GER
+#define NDNBOOST_TEST_EXECUTION_MONITOR_HPP_071894GER
 
 // Boost.Test
 #include <ndnboost/test/detail/global_typedef.hpp>
@@ -56,7 +56,7 @@
 // **************       detail::translate_exception_base       ************** //
 // ************************************************************************** //
 
-class BOOST_TEST_DECL translate_exception_base {
+class NDNBOOST_TEST_DECL translate_exception_base {
 public:
     // Constructor
     explicit    translate_exception_base( ndnboost::scoped_ptr<translate_exception_base>& next )
@@ -82,7 +82,7 @@
     
 //  design rationale: fear of being out (or nearly out) of memory.
     
-class BOOST_TEST_DECL execution_exception {
+class NDNBOOST_TEST_DECL execution_exception {
     typedef ndnboost::unit_test::const_string const_string;
 public:
     enum error_code {
@@ -113,7 +113,7 @@
         //  is unreasonable to continue execution.
     };
     
-    struct BOOST_TEST_DECL location {
+    struct NDNBOOST_TEST_DECL location {
         explicit    location( char const* file_name = 0, size_t line_num = 0, char const* func = 0 );
 
         const_string    m_file_name;
@@ -140,7 +140,7 @@
 // **************               execution_monitor              ************** //
 // ************************************************************************** //
 
-class BOOST_TEST_DECL execution_monitor {
+class NDNBOOST_TEST_DECL execution_monitor {
 public:
     // Constructor
     execution_monitor()
@@ -252,7 +252,7 @@
     unit_test::readonly_property<char const*>   p_failed_exp; 
 };
 
-#define BOOST_TEST_SYS_ASSERT( exp ) if( (exp) ) ; else throw ::ndnboost::system_error( BOOST_STRINGIZE( exp ) )
+#define NDNBOOST_TEST_SYS_ASSERT( exp ) if( (exp) ) ; else throw ::ndnboost::system_error( NDNBOOST_STRINGIZE( exp ) )
 
 }  // namespace ndnboost
 
diff --git a/include/ndnboost/test/floating_point_comparison.hpp b/include/ndnboost/test/floating_point_comparison.hpp
index 211f29b..1a0a60e 100644
--- a/include/ndnboost/test/floating_point_comparison.hpp
+++ b/include/ndnboost/test/floating_point_comparison.hpp
@@ -12,8 +12,8 @@
 //  Description : defines algoirthms for comparing 2 floating point values
 // ***************************************************************************
 
-#ifndef BOOST_TEST_FLOATING_POINT_COMPARISON_HPP_071894GER
-#define BOOST_TEST_FLOATING_POINT_COMPARISON_HPP_071894GER
+#ifndef NDNBOOST_TEST_FLOATING_POINT_COMPARISON_HPP_071894GER
+#define NDNBOOST_TEST_FLOATING_POINT_COMPARISON_HPP_071894GER
 
 // Boost.Test
 #include <ndnboost/test/detail/global_typedef.hpp>
@@ -212,7 +212,7 @@
 // **************               check_is_close                 ************** //
 // ************************************************************************** //
 
-struct BOOST_TEST_DECL check_is_close_t {
+struct NDNBOOST_TEST_DECL check_is_close_t {
     // Public typedefs
     typedef bool result_type;
 
@@ -226,7 +226,7 @@
         // value of integral type is promoted to the floating. The same for float and double
         // But we don't want to compare two values of integral types using this tool.
         typedef typename numeric::conversion_traits<FPT1,FPT2>::supertype FPT;
-        BOOST_STATIC_ASSERT( !is_integral<FPT>::value );
+        NDNBOOST_STATIC_ASSERT( !is_integral<FPT>::value );
 
         close_at_tolerance<FPT> pred( tolerance, fpc_type );
 
@@ -239,7 +239,7 @@
     {
         // same as in a comment above
         typedef typename numeric::conversion_traits<FPT1,FPT2>::supertype FPT;
-        BOOST_STATIC_ASSERT( !is_integral<FPT>::value );
+        NDNBOOST_STATIC_ASSERT( !is_integral<FPT>::value );
 
         close_at_tolerance<FPT> pred( tolerance, fpc_type );
 
@@ -257,7 +257,7 @@
 // **************               check_is_small                 ************** //
 // ************************************************************************** //
 
-struct BOOST_TEST_DECL check_is_small_t {
+struct NDNBOOST_TEST_DECL check_is_small_t {
     // Public typedefs
     typedef bool result_type;
 
@@ -283,4 +283,4 @@
 
 #include <ndnboost/test/detail/enable_warnings.hpp>
 
-#endif // BOOST_FLOATING_POINT_COMAPARISON_HPP_071894GER
+#endif // NDNBOOST_FLOATING_POINT_COMAPARISON_HPP_071894GER
diff --git a/include/ndnboost/test/framework.hpp b/include/ndnboost/test/framework.hpp
index 43d249d..3f316f8 100644
--- a/include/ndnboost/test/framework.hpp
+++ b/include/ndnboost/test/framework.hpp
@@ -12,8 +12,8 @@
 //  Description : defines framework interface
 // ***************************************************************************
 
-#ifndef BOOST_TEST_FRAMEWORK_HPP_020805GER
-#define BOOST_TEST_FRAMEWORK_HPP_020805GER
+#ifndef NDNBOOST_TEST_FRAMEWORK_HPP_020805GER
+#define NDNBOOST_TEST_FRAMEWORK_HPP_020805GER
 
 // Boost.Test
 #include <ndnboost/test/detail/global_typedef.hpp>
@@ -35,7 +35,7 @@
 // **************              init_unit_test_func             ************** //
 // ************************************************************************** //
 
-#ifdef BOOST_TEST_ALTERNATIVE_INIT_API
+#ifdef NDNBOOST_TEST_ALTERNATIVE_INIT_API
 typedef bool        (*init_unit_test_func)();
 #else
 typedef test_suite* (*init_unit_test_func)( int, char* [] );
@@ -48,25 +48,25 @@
 namespace framework {
 
 // initialization
-BOOST_TEST_DECL void    init( init_unit_test_func init_func, int argc, char* argv[] );
-BOOST_TEST_DECL bool    is_initialized();
+NDNBOOST_TEST_DECL void    init( init_unit_test_func init_func, int argc, char* argv[] );
+NDNBOOST_TEST_DECL bool    is_initialized();
 
 // mutation access methods
-BOOST_TEST_DECL void    register_test_unit( test_case* tc );
-BOOST_TEST_DECL void    register_test_unit( test_suite* ts );
-BOOST_TEST_DECL void    deregister_test_unit( test_unit* tu );
-BOOST_TEST_DECL void    clear();
+NDNBOOST_TEST_DECL void    register_test_unit( test_case* tc );
+NDNBOOST_TEST_DECL void    register_test_unit( test_suite* ts );
+NDNBOOST_TEST_DECL void    deregister_test_unit( test_unit* tu );
+NDNBOOST_TEST_DECL void    clear();
 
-BOOST_TEST_DECL void    register_observer( test_observer& );
-BOOST_TEST_DECL void    deregister_observer( test_observer& );
-BOOST_TEST_DECL void    reset_observers();
+NDNBOOST_TEST_DECL void    register_observer( test_observer& );
+NDNBOOST_TEST_DECL void    deregister_observer( test_observer& );
+NDNBOOST_TEST_DECL void    reset_observers();
 
-BOOST_TEST_DECL master_test_suite_t& master_test_suite();
+NDNBOOST_TEST_DECL master_test_suite_t& master_test_suite();
 
 // constant access methods
-BOOST_TEST_DECL test_case const&    current_test_case();
+NDNBOOST_TEST_DECL test_case const&    current_test_case();
 
-BOOST_TEST_DECL test_unit&  get( test_unit_id, test_unit_type );
+NDNBOOST_TEST_DECL test_unit&  get( test_unit_id, test_unit_type );
 template<typename UnitType>
 UnitType&               get( test_unit_id id )
 {
@@ -74,13 +74,13 @@
 }
 
 // test initiation
-BOOST_TEST_DECL void    run( test_unit_id = INV_TEST_UNIT_ID, bool continue_test = true );
-BOOST_TEST_DECL void    run( test_unit const*, bool continue_test = true );
+NDNBOOST_TEST_DECL void    run( test_unit_id = INV_TEST_UNIT_ID, bool continue_test = true );
+NDNBOOST_TEST_DECL void    run( test_unit const*, bool continue_test = true );
 
 // public test events dispatchers
-BOOST_TEST_DECL void    assertion_result( bool passed );
-BOOST_TEST_DECL void    exception_caught( execution_exception const& );
-BOOST_TEST_DECL void    test_unit_aborted( test_unit const& );
+NDNBOOST_TEST_DECL void    assertion_result( bool passed );
+NDNBOOST_TEST_DECL void    exception_caught( execution_exception const& );
+NDNBOOST_TEST_DECL void    test_unit_aborted( test_unit const& );
 
 // ************************************************************************** //
 // **************                framework errors              ************** //
@@ -94,7 +94,7 @@
     setup_error( const_string m ) : std::runtime_error( std::string( m.begin(), m.size() ) ) {}
 };
 
-#define BOOST_TEST_SETUP_ASSERT( cond, msg ) if( cond ) {} else throw unit_test::framework::setup_error( msg )
+#define NDNBOOST_TEST_SETUP_ASSERT( cond, msg ) if( cond ) {} else throw unit_test::framework::setup_error( msg )
 
 struct nothing_to_test {}; // not really an error
 
@@ -108,5 +108,5 @@
 
 #include <ndnboost/test/detail/enable_warnings.hpp>
 
-#endif // BOOST_TEST_FRAMEWORK_HPP_020805GER
+#endif // NDNBOOST_TEST_FRAMEWORK_HPP_020805GER
 
diff --git a/include/ndnboost/test/impl/compiler_log_formatter.ipp b/include/ndnboost/test/impl/compiler_log_formatter.ipp
index e153920..1d83f60 100644
--- a/include/ndnboost/test/impl/compiler_log_formatter.ipp
+++ b/include/ndnboost/test/impl/compiler_log_formatter.ipp
@@ -12,8 +12,8 @@
 //  Description : implements compiler like Log formatter
 // ***************************************************************************
 
-#ifndef BOOST_TEST_COMPILER_LOG_FORMATTER_IPP_020105GER
-#define BOOST_TEST_COMPILER_LOG_FORMATTER_IPP_020105GER
+#ifndef NDNBOOST_TEST_COMPILER_LOG_FORMATTER_IPP_020105GER
+#define NDNBOOST_TEST_COMPILER_LOG_FORMATTER_IPP_020105GER
 
 // Boost.Test
 #include <ndnboost/test/output/compiler_log_formatter.hpp>
@@ -49,7 +49,7 @@
 {
     return framework::is_initialized() 
             ? const_string( framework::current_test_case().p_name.get() )
-            : BOOST_TEST_L( "Test setup" );
+            : NDNBOOST_TEST_L( "Test setup" );
 }
 
 } // local namespace
@@ -77,12 +77,12 @@
 void
 compiler_log_formatter::log_build_info( std::ostream& output )
 {
-    output  << "Platform: " << BOOST_PLATFORM            << '\n'
-            << "Compiler: " << BOOST_COMPILER            << '\n'
-            << "STL     : " << BOOST_STDLIB              << '\n'
-            << "Boost   : " << BOOST_VERSION/100000      << "."
-                            << BOOST_VERSION/100 % 1000  << "."
-                            << BOOST_VERSION % 100       << std::endl;
+    output  << "Platform: " << NDNBOOST_PLATFORM            << '\n'
+            << "Compiler: " << NDNBOOST_COMPILER            << '\n'
+            << "STL     : " << NDNBOOST_STDLIB              << '\n'
+            << "Boost   : " << NDNBOOST_VERSION/100000      << "."
+                            << NDNBOOST_VERSION/100 % 1000  << "."
+                            << NDNBOOST_VERSION % 100       << std::endl;
 }
 
 //____________________________________________________________________________//
@@ -148,21 +148,21 @@
 compiler_log_formatter::log_entry_start( std::ostream& output, log_entry_data const& entry_data, log_entry_types let )
 {
     switch( let ) {
-        case BOOST_UTL_ET_INFO:
+        case NDNBOOST_UTL_ET_INFO:
             print_prefix( output, entry_data.m_file_name, entry_data.m_line_num );
             output << "info: ";
             break;
-        case BOOST_UTL_ET_MESSAGE:
+        case NDNBOOST_UTL_ET_MESSAGE:
             break;
-        case BOOST_UTL_ET_WARNING:
+        case NDNBOOST_UTL_ET_WARNING:
             print_prefix( output, entry_data.m_file_name, entry_data.m_line_num );
             output << "warning in \"" << test_phase_identifier() << "\": ";
             break;
-        case BOOST_UTL_ET_ERROR:
+        case NDNBOOST_UTL_ET_ERROR:
             print_prefix( output, entry_data.m_file_name, entry_data.m_line_num );
             output << "error in \"" << test_phase_identifier() << "\": ";
             break;
-        case BOOST_UTL_ET_FATAL_ERROR:
+        case NDNBOOST_UTL_ET_FATAL_ERROR:
             print_prefix( output, entry_data.m_file_name, entry_data.m_line_num );
             output << "fatal error in \"" << test_phase_identifier() << "\": ";
             break;
@@ -219,4 +219,4 @@
 
 #include <ndnboost/test/detail/enable_warnings.hpp>
 
-#endif // BOOST_TEST_COMPILER_LOG_FORMATTER_IPP_020105GER
+#endif // NDNBOOST_TEST_COMPILER_LOG_FORMATTER_IPP_020105GER
diff --git a/include/ndnboost/test/impl/cpp_main.ipp b/include/ndnboost/test/impl/cpp_main.ipp
index 3bacee1..337a781 100644
--- a/include/ndnboost/test/impl/cpp_main.ipp
+++ b/include/ndnboost/test/impl/cpp_main.ipp
@@ -13,8 +13,8 @@
 //  Description : main function implementation for Program Executon Monitor
 // ***************************************************************************
 
-#ifndef BOOST_TEST_CPP_MAIN_IPP_012205GER
-#define BOOST_TEST_CPP_MAIN_IPP_012205GER
+#ifndef NDNBOOST_TEST_CPP_MAIN_IPP_012205GER
+#define NDNBOOST_TEST_CPP_MAIN_IPP_012205GER
 
 // Boost.Test
 #include <ndnboost/test/execution_monitor.hpp>
@@ -34,7 +34,7 @@
 
 //____________________________________________________________________________//
 
-#ifdef BOOST_NO_STDC_NAMESPACE
+#ifdef NDNBOOST_NO_STDC_NAMESPACE
 namespace std { using ::getenv; using ::strerror; }
 #endif
 
@@ -63,13 +63,13 @@
 
 namespace ndnboost {
 
-int BOOST_TEST_DECL
+int NDNBOOST_TEST_DECL
 prg_exec_monitor_main( int (*cpp_main)( int argc, char* argv[] ), int argc, char* argv[] )
 {
     int result = 0;
 
     try {
-        ndnboost::unit_test::const_string p( std::getenv( "BOOST_TEST_CATCH_SYSTEM_ERRORS" ) );
+        ndnboost::unit_test::const_string p( std::getenv( "NDNBOOST_TEST_CATCH_SYSTEM_ERRORS" ) );
         ::ndnboost::execution_monitor ex_mon;
 
         ex_mon.p_catch_system_errors.value = p != "no";
@@ -103,7 +103,7 @@
         //  like the clutter.  Use an environment variable to avoid command
         //  line argument modifications; for use in production programs
         //  that's a no-no in some organizations.
-        ::ndnboost::unit_test::const_string p( std::getenv( "BOOST_PRG_MON_CONFIRM" ) );
+        ::ndnboost::unit_test::const_string p( std::getenv( "NDNBOOST_PRG_MON_CONFIRM" ) );
         if( p != "no" ) { 
             std::cerr << std::flush << "no errors detected" << std::endl; 
         }
@@ -114,7 +114,7 @@
 
 } // namespace ndnboost
 
-#if !defined(BOOST_TEST_DYN_LINK) && !defined(BOOST_TEST_NO_MAIN)
+#if !defined(NDNBOOST_TEST_DYN_LINK) && !defined(NDNBOOST_TEST_NO_MAIN)
 
 // ************************************************************************** //
 // **************        main function for tests using lib     ************** //
@@ -122,7 +122,7 @@
 
 int cpp_main( int argc, char* argv[] );  // prototype for user's cpp_main()
 
-int BOOST_TEST_CALL_DECL
+int NDNBOOST_TEST_CALL_DECL
 main( int argc, char* argv[] )
 {
     return ::ndnboost::prg_exec_monitor_main( &cpp_main, argc, argv );
@@ -130,10 +130,10 @@
 
 //____________________________________________________________________________//
 
-#endif // !BOOST_TEST_DYN_LINK && !BOOST_TEST_NO_MAIN
+#endif // !NDNBOOST_TEST_DYN_LINK && !NDNBOOST_TEST_NO_MAIN
 
 //____________________________________________________________________________//
 
 #include <ndnboost/test/detail/enable_warnings.hpp>
 
-#endif // BOOST_TEST_CPP_MAIN_IPP_012205GER
+#endif // NDNBOOST_TEST_CPP_MAIN_IPP_012205GER
diff --git a/include/ndnboost/test/impl/debug.ipp b/include/ndnboost/test/impl/debug.ipp
index bf23f2e..8233149 100644
--- a/include/ndnboost/test/impl/debug.ipp
+++ b/include/ndnboost/test/impl/debug.ipp
@@ -12,8 +12,8 @@
 //  Description : debug interfaces implementation
 // ***************************************************************************
 
-#ifndef BOOST_TEST_DEBUG_API_IPP_112006GER
-#define BOOST_TEST_DEBUG_API_IPP_112006GER
+#ifndef NDNBOOST_TEST_DEBUG_API_IPP_112006GER
+#define NDNBOOST_TEST_DEBUG_API_IPP_112006GER
 
 // Boost.Test
 #include <ndnboost/test/detail/config.hpp>
@@ -24,9 +24,9 @@
 #include <ndnboost/test/debug_config.hpp>
 
 // Implementation on Windows
-#if defined(_WIN32) && !defined(UNDER_CE) && !defined(BOOST_DISABLE_WIN32) // ******* WIN32
+#if defined(_WIN32) && !defined(UNDER_CE) && !defined(NDNBOOST_DISABLE_WIN32) // ******* WIN32
 
-#  define BOOST_WIN32_BASED_DEBUG
+#  define NDNBOOST_WIN32_BASED_DEBUG
 
 // SYSTEM API
 #  include <windows.h>
@@ -35,22 +35,22 @@
 #  include <cstring>
 
 #  if !defined(NDEBUG) && defined(_MSC_VER)
-#    define BOOST_MS_CRT_BASED_DEBUG
+#    define NDNBOOST_MS_CRT_BASED_DEBUG
 #    include <crtdbg.h>
 #  endif
 
 
-#  if BOOST_WORKAROUND( BOOST_MSVC, <1300)
+#  if NDNBOOST_WORKAROUND( NDNBOOST_MSVC, <1300)
 #    define snprintf _snprintf
 #  endif
 
-#  ifdef BOOST_NO_STDC_NAMESPACE
+#  ifdef NDNBOOST_NO_STDC_NAMESPACE
 namespace std { using ::memset; using ::sprintf; }
 #  endif
 
 #elif defined(unix) || defined(__unix) // ********************* UNIX
 
-#  define BOOST_UNIX_BASED_DEBUG
+#  define NDNBOOST_UNIX_BASED_DEBUG
 
 // Boost.Test
 #include <ndnboost/test/utils/class_properties.hpp>
@@ -76,33 +76,33 @@
 
 #  if defined(sun) || defined(__sun)
 
-#    define BOOST_SUN_BASED_DEBUG
+#    define NDNBOOST_SUN_BASED_DEBUG
 
-#    ifndef BOOST_TEST_DBG_LIST
-#      define BOOST_TEST_DBG_LIST dbx;gdb
+#    ifndef NDNBOOST_TEST_DBG_LIST
+#      define NDNBOOST_TEST_DBG_LIST dbx;gdb
 #    endif
 
-#    define BOOST_TEST_CNL_DBG  dbx
-#    define BOOST_TEST_GUI_DBG  dbx-ddd
+#    define NDNBOOST_TEST_CNL_DBG  dbx
+#    define NDNBOOST_TEST_GUI_DBG  dbx-ddd
 
 #    include <procfs.h>
 
 #  elif defined(linux) || defined(__linux)
 
-#    define BOOST_LINUX_BASED_DEBUG
+#    define NDNBOOST_LINUX_BASED_DEBUG
 
 #    include <sys/ptrace.h>
 
-#    ifndef BOOST_TEST_STAT_LINE_MAX
-#      define BOOST_TEST_STAT_LINE_MAX 500
+#    ifndef NDNBOOST_TEST_STAT_LINE_MAX
+#      define NDNBOOST_TEST_STAT_LINE_MAX 500
 #    endif
 
-#    ifndef BOOST_TEST_DBG_LIST
-#      define BOOST_TEST_DBG_LIST gdb
+#    ifndef NDNBOOST_TEST_DBG_LIST
+#      define NDNBOOST_TEST_DBG_LIST gdb
 #    endif
 
-#    define BOOST_TEST_CNL_DBG  gdb
-#    define BOOST_TEST_GUI_DBG  gdb-xterm
+#    define NDNBOOST_TEST_CNL_DBG  gdb
+#    define NDNBOOST_TEST_GUI_DBG  gdb-xterm
 
 #  endif
 
@@ -124,7 +124,7 @@
 
 namespace {
 
-#if defined(BOOST_WIN32_BASED_DEBUG) // *********************** WIN32
+#if defined(NDNBOOST_WIN32_BASED_DEBUG) // *********************** WIN32
 
 template<typename T>
 inline void
@@ -167,7 +167,7 @@
 
 //____________________________________________________________________________//
 
-#elif defined(BOOST_UNIX_BASED_DEBUG)
+#elif defined(NDNBOOST_UNIX_BASED_DEBUG)
 
 // ************************************************************************** //
 // **************                   fd_holder                  ************** //
@@ -208,10 +208,10 @@
     const_string    m_binary_name;
     const_string    m_binary_path;
 
-#if defined(BOOST_SUN_BASED_DEBUG)
+#if defined(NDNBOOST_SUN_BASED_DEBUG)
     struct psinfo   m_psi;
-#elif defined(BOOST_LINUX_BASED_DEBUG)
-    char            m_stat_line[BOOST_TEST_STAT_LINE_MAX+1];
+#elif defined(NDNBOOST_LINUX_BASED_DEBUG)
+    char            m_stat_line[NDNBOOST_TEST_STAT_LINE_MAX+1];
 #endif
     char            m_binary_path_buff[500+1]; // !! ??
 };
@@ -221,7 +221,7 @@
 process_info::process_info( int pid )
 : m_parent_pid( 0 )
 {
-#if defined(BOOST_SUN_BASED_DEBUG)
+#if defined(NDNBOOST_SUN_BASED_DEBUG)
     char fname_buff[30];
 
     ::snprintf( fname_buff, sizeof(fname_buff), "/proc/%d/psinfo", pid );
@@ -255,7 +255,7 @@
         
     m_binary_path.assign( m_binary_path_buff );
         
-#elif defined(BOOST_LINUX_BASED_DEBUG)
+#elif defined(NDNBOOST_LINUX_BASED_DEBUG)
     char fname_buff[30];
 
     ::snprintf( fname_buff, sizeof(fname_buff), "/proc/%d/stat", pid );
@@ -607,8 +607,8 @@
 info_t::info_t()
 {
     p_dbg.value = ::getenv( "DISPLAY" )
-        ? std::string( BOOST_STRINGIZE( BOOST_TEST_GUI_DBG ) )
-        : std::string( BOOST_STRINGIZE( BOOST_TEST_CNL_DBG ) );
+        ? std::string( NDNBOOST_STRINGIZE( NDNBOOST_TEST_GUI_DBG ) )
+        : std::string( NDNBOOST_STRINGIZE( NDNBOOST_TEST_CNL_DBG ) );
         
     m_dbg_starter_reg[std::string("gdb")]           = &start_gdb_in_console;
     m_dbg_starter_reg[std::string("gdb-emacs")]     = &start_gdb_in_emacs;
@@ -635,14 +635,14 @@
 bool
 under_debugger()
 {
-#if defined(BOOST_WIN32_BASED_DEBUG) // *********************** WIN32
+#if defined(NDNBOOST_WIN32_BASED_DEBUG) // *********************** WIN32
 
     return !!s_info.m_is_debugger_present && s_info.m_is_debugger_present();
 
-#elif defined(BOOST_UNIX_BASED_DEBUG) // ********************** UNIX
+#elif defined(NDNBOOST_UNIX_BASED_DEBUG) // ********************** UNIX
 
     // !! ?? could/should we cache the result somehow?
-    const_string    dbg_list = BOOST_TEST_STRINGIZE( BOOST_TEST_DBG_LIST );
+    const_string    dbg_list = NDNBOOST_TEST_STRINGIZE( NDNBOOST_TEST_DBG_LIST );
 
     pid_t pid = ::getpid();
 
@@ -677,21 +677,21 @@
 {
     // !! ?? auto-start debugger?
 
-#if defined(BOOST_WIN32_BASED_DEBUG) // *********************** WIN32
+#if defined(NDNBOOST_WIN32_BASED_DEBUG) // *********************** WIN32
 
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1300)                       ||  \
-    BOOST_WORKAROUND(__GNUC__, >= 3) && !defined(__MINGW32__)   ||  \
+#if NDNBOOST_WORKAROUND(NDNBOOST_MSVC, >= 1300)                       ||  \
+    NDNBOOST_WORKAROUND(__GNUC__, >= 3) && !defined(__MINGW32__)   ||  \
     defined(__INTEL_COMPILER)
-#   define BOOST_DEBUG_BREAK    __debugbreak
+#   define NDNBOOST_DEBUG_BREAK    __debugbreak
 #else
-#   define BOOST_DEBUG_BREAK    DebugBreak
+#   define NDNBOOST_DEBUG_BREAK    DebugBreak
 #endif
 
 #ifndef __MINGW32__
     if( !under_debugger() ) {
         __try {
             __try {
-                BOOST_DEBUG_BREAK();
+                NDNBOOST_DEBUG_BREAK();
             }
             __except( UnhandledExceptionFilter(GetExceptionInformation()) )
             {
@@ -702,14 +702,14 @@
         __except (EXCEPTION_EXECUTE_HANDLER)
         {
             // If we got here, the user has pushed Debug. Debugger is already attached to our process and we
-            // continue to let the another BOOST_DEBUG_BREAK to be called.
+            // continue to let the another NDNBOOST_DEBUG_BREAK to be called.
         }
     }
 #endif
 
-    BOOST_DEBUG_BREAK();
+    NDNBOOST_DEBUG_BREAK();
 
-#elif defined(BOOST_UNIX_BASED_DEBUG) // ********************** UNIX
+#elif defined(NDNBOOST_UNIX_BASED_DEBUG) // ********************** UNIX
 
     ::kill( ::getpid(), SIGTRAP );
 
@@ -724,7 +724,7 @@
 // **************            console debugger setup            ************** //
 // ************************************************************************** //
 
-#if defined(BOOST_UNIX_BASED_DEBUG) // ************************ UNIX
+#if defined(NDNBOOST_UNIX_BASED_DEBUG) // ************************ UNIX
 
 std::string
 set_debugger( unit_test::const_string dbg_id, dbg_starter s )
@@ -761,7 +761,7 @@
     if( under_debugger() )
         return false;
 
-#if defined(BOOST_WIN32_BASED_DEBUG) // *********************** WIN32
+#if defined(NDNBOOST_WIN32_BASED_DEBUG) // *********************** WIN32
 
     const int MAX_CMD_LINE = 200;
 
@@ -857,7 +857,7 @@
 
     return true;
 
-#elif defined(BOOST_UNIX_BASED_DEBUG) // ********************** UNIX
+#elif defined(NDNBOOST_UNIX_BASED_DEBUG) // ********************** UNIX
 
     char init_done_lock_fn[] = "/tmp/btl_dbg_init_done_XXXXXX";
     fd_holder init_done_lock_fd( ::mkstemp( init_done_lock_fn ) );
@@ -926,7 +926,7 @@
 {
     unit_test::ut_detail::ignore_unused_variable_warning( on_off );
 
-#ifdef BOOST_MS_CRT_BASED_DEBUG
+#ifdef NDNBOOST_MS_CRT_BASED_DEBUG
     int flags = _CrtSetDbgFlag( _CRTDBG_REPORT_FLAG );
 
     if( !on_off )
@@ -938,7 +938,7 @@
     }
 
     _CrtSetDbgFlag ( flags );
-#endif // BOOST_MS_CRT_BASED_DEBUG
+#endif // NDNBOOST_MS_CRT_BASED_DEBUG
 }
 
 //____________________________________________________________________________//
@@ -953,9 +953,9 @@
 {
     unit_test::ut_detail::ignore_unused_variable_warning( mem_alloc_order_num );
 
-#ifdef BOOST_MS_CRT_BASED_DEBUG
+#ifdef NDNBOOST_MS_CRT_BASED_DEBUG
     _CrtSetBreakAlloc( mem_alloc_order_num );
-#endif // BOOST_MS_CRT_BASED_DEBUG
+#endif // NDNBOOST_MS_CRT_BASED_DEBUG
 }
 
 } // namespace debug
@@ -966,5 +966,5 @@
 
 #include <ndnboost/test/detail/enable_warnings.hpp>
 
-#endif // BOOST_TEST_DEBUG_API_IPP_112006GER
+#endif // NDNBOOST_TEST_DEBUG_API_IPP_112006GER
 
diff --git a/include/ndnboost/test/impl/exception_safety.ipp b/include/ndnboost/test/impl/exception_safety.ipp
index c3680a9..1c36385 100644
--- a/include/ndnboost/test/impl/exception_safety.ipp
+++ b/include/ndnboost/test/impl/exception_safety.ipp
@@ -12,13 +12,13 @@
 //  Description : Facilities to perform exception safety tests
 // ***************************************************************************
 
-#ifndef BOOST_TEST_EXECUTION_SAFETY_IPP_112005GER
-#define BOOST_TEST_EXECUTION_SAFETY_IPP_112005GER
+#ifndef NDNBOOST_TEST_EXECUTION_SAFETY_IPP_112005GER
+#define NDNBOOST_TEST_EXECUTION_SAFETY_IPP_112005GER
 
 // Boost.Test
 #include <ndnboost/test/detail/config.hpp>
 
-#if BOOST_TEST_SUPPORT_INTERACTION_TESTING
+#if NDNBOOST_TEST_SUPPORT_INTERACTION_TESTING
 
 #include <ndnboost/test/detail/global_typedef.hpp>
 #include <ndnboost/test/detail/unit_test_parameters.hpp>
@@ -245,7 +245,7 @@
         }
     }
 
-    BOOST_TEST_MESSAGE( "Total tested " << --m_exec_path_counter << " execution path" );
+    NDNBOOST_TEST_MESSAGE( "Total tested " << --m_exec_path_counter << " execution path" );
 
     return false;
 }
@@ -277,7 +277,7 @@
     activity_guard ag( m_internal_activity );
 
     if( m_exec_path_point < m_execution_path.size() ) {
-        BOOST_REQUIRE_MESSAGE( m_execution_path[m_exec_path_point].m_type == EPP_DECISION &&
+        NDNBOOST_REQUIRE_MESSAGE( m_execution_path[m_exec_path_point].m_type == EPP_DECISION &&
                                m_execution_path[m_exec_path_point].m_file_name == file &&
                                m_execution_path[m_exec_path_point].m_line_num == line_num,
                                "Function under test exibit non-deterministic behavior" );
@@ -301,7 +301,7 @@
     activity_guard ag( m_internal_activity );
 
     if( m_exec_path_point < m_execution_path.size() ) {
-        BOOST_REQUIRE_MESSAGE( m_execution_path[m_exec_path_point].m_type == EPP_SCOPE &&
+        NDNBOOST_REQUIRE_MESSAGE( m_execution_path[m_exec_path_point].m_type == EPP_SCOPE &&
                                m_execution_path[m_exec_path_point].m_file_name == file &&
                                m_execution_path[m_exec_path_point].m_line_num == line_num,
                                "Function under test exibit non-deterministic behavior" );
@@ -324,7 +324,7 @@
 {
     activity_guard ag( m_internal_activity );
 
-    BOOST_REQUIRE_MESSAGE( m_execution_path[enter_scope_point].m_type == EPP_SCOPE,
+    NDNBOOST_REQUIRE_MESSAGE( m_execution_path[enter_scope_point].m_type == EPP_SCOPE,
                            "Function under test exibit non-deterministic behavior" );
 
     m_execution_path[enter_scope_point].m_scope.size = m_exec_path_point - enter_scope_point;
@@ -341,7 +341,7 @@
     activity_guard ag( m_internal_activity );
 
     if( m_exec_path_point < m_execution_path.size() )
-        BOOST_REQUIRE_MESSAGE( m_execution_path[m_exec_path_point].m_type == EPP_ALLOC,
+        NDNBOOST_REQUIRE_MESSAGE( m_execution_path[m_exec_path_point].m_type == EPP_ALLOC,
                                "Function under test exibit non-deterministic behavior" );
     else
         m_execution_path.push_back(
@@ -508,7 +508,7 @@
 // **************             exception safety test            ************** //
 // ************************************************************************** //
 
-void BOOST_TEST_DECL
+void NDNBOOST_TEST_DECL
 exception_safety( callback0<> const& F, const_string test_name )
 {
     exception_safety_tester est( test_name );
@@ -534,4 +534,4 @@
 
 #endif // non-ancient compiler
 
-#endif // BOOST_TEST_EXECUTION_SAFETY_IPP_112005GER
+#endif // NDNBOOST_TEST_EXECUTION_SAFETY_IPP_112005GER
diff --git a/include/ndnboost/test/impl/execution_monitor.ipp b/include/ndnboost/test/impl/execution_monitor.ipp
index 5337347..715993f 100644
--- a/include/ndnboost/test/impl/execution_monitor.ipp
+++ b/include/ndnboost/test/impl/execution_monitor.ipp
@@ -21,8 +21,8 @@
 //  boost libraries.
 // ***************************************************************************
 
-#ifndef BOOST_TEST_EXECUTION_MONITOR_IPP_012205GER
-#define BOOST_TEST_EXECUTION_MONITOR_IPP_012205GER
+#ifndef NDNBOOST_TEST_EXECUTION_MONITOR_IPP_012205GER
+#define NDNBOOST_TEST_EXECUTION_MONITOR_IPP_012205GER
 
 // Boost.Test
 #include <ndnboost/test/detail/config.hpp>
@@ -48,7 +48,7 @@
 #include <cstdio>               // for vsnprintf
 #include <cstdarg>              // for varargs
 
-#ifdef BOOST_NO_STDC_NAMESPACE
+#ifdef NDNBOOST_NO_STDC_NAMESPACE
 namespace std { using ::strerror; using ::strlen; using ::strncat; }
 #endif
 
@@ -64,11 +64,11 @@
 #  include <stdio.h> 
 #endif
 
-#if defined(_WIN32) && !defined(BOOST_DISABLE_WIN32) &&                  \
+#if defined(_WIN32) && !defined(NDNBOOST_DISABLE_WIN32) &&                  \
     (!defined(__COMO__) && !defined(__MWERKS__) && !defined(__GNUC__) || \
-     BOOST_WORKAROUND(__MWERKS__, >= 0x3000))
+     NDNBOOST_WORKAROUND(__MWERKS__, >= 0x3000))
 
-#  define BOOST_SEH_BASED_SIGNAL_HANDLING
+#  define NDNBOOST_SEH_BASED_SIGNAL_HANDLING
 
 #  include <windows.h>
 
@@ -84,7 +84,7 @@
     typedef unsigned uintptr_t;
 #  endif
 
-#  if BOOST_WORKAROUND(_MSC_VER,  < 1300 ) || defined(UNDER_CE)
+#  if NDNBOOST_WORKAROUND(_MSC_VER,  < 1300 ) || defined(UNDER_CE)
 typedef void* uintptr_t;
 #  endif
 
@@ -117,18 +117,18 @@
 
 #  if !defined(NDEBUG) && defined(_MSC_VER) && !defined(UNDER_CE)
 #    include <crtdbg.h>
-#    define BOOST_TEST_CRT_HOOK_TYPE    _CRT_REPORT_HOOK
-#    define BOOST_TEST_CRT_ASSERT       _CRT_ASSERT
-#    define BOOST_TEST_CRT_ERROR        _CRT_ERROR
-#    define BOOST_TEST_CRT_SET_HOOK(H)  _CrtSetReportHook(H)
+#    define NDNBOOST_TEST_CRT_HOOK_TYPE    _CRT_REPORT_HOOK
+#    define NDNBOOST_TEST_CRT_ASSERT       _CRT_ASSERT
+#    define NDNBOOST_TEST_CRT_ERROR        _CRT_ERROR
+#    define NDNBOOST_TEST_CRT_SET_HOOK(H)  _CrtSetReportHook(H)
 #  else
-#    define BOOST_TEST_CRT_HOOK_TYPE    void*
-#    define BOOST_TEST_CRT_ASSERT       2
-#    define BOOST_TEST_CRT_ERROR        1
-#    define BOOST_TEST_CRT_SET_HOOK(H)  (void*)(H)
+#    define NDNBOOST_TEST_CRT_HOOK_TYPE    void*
+#    define NDNBOOST_TEST_CRT_ASSERT       2
+#    define NDNBOOST_TEST_CRT_ERROR        1
+#    define NDNBOOST_TEST_CRT_SET_HOOK(H)  (void*)(H)
 #  endif
 
-#  if !BOOST_WORKAROUND(_MSC_VER,  >= 1400 ) || defined(UNDER_CE)
+#  if !NDNBOOST_WORKAROUND(_MSC_VER,  >= 1400 ) || defined(UNDER_CE)
 
 typedef void* _invalid_parameter_handler;
 
@@ -140,15 +140,15 @@
 
 #  endif
 
-#  if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x0564)) || defined(UNDER_CE)
+#  if NDNBOOST_WORKAROUND(__BORLANDC__, NDNBOOST_TESTED_AT(0x0564)) || defined(UNDER_CE)
 
 namespace { void _set_se_translator( void* ) {} }
 
 #  endif
 
-#elif defined(BOOST_HAS_SIGACTION)
+#elif defined(NDNBOOST_HAS_SIGACTION)
 
-#  define BOOST_SIGACTION_BASED_SIGNAL_HANDLING
+#  define NDNBOOST_SIGACTION_BASED_SIGNAL_HANDLING
 
 #  include <unistd.h>
 #  include <signal.h>
@@ -167,30 +167,30 @@
 #      define ILL_ILLOPN 2 // ILL_RESOP_FAULT
 #      define ILL_COPROC ILL_FPOP_FAULT
 
-#      define BOOST_TEST_LIMITED_SIGNAL_DETAILS
-#      define BOOST_TEST_IGNORE_SIGCHLD
+#      define NDNBOOST_TEST_LIMITED_SIGNAL_DETAILS
+#      define NDNBOOST_TEST_IGNORE_SIGCHLD
 
 #    endif 
 #  endif 
 
 #  if !defined(__CYGWIN__) && !defined(__QNXNTO__)
-#   define BOOST_TEST_USE_ALT_STACK
+#   define NDNBOOST_TEST_USE_ALT_STACK
 #  endif
 
 #  if defined(SIGPOLL) && !defined(__CYGWIN__)                              && \
       !(defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__))  && \
       !defined(__NetBSD__)                                                  && \
       !defined(__QNXNTO__)
-#    define BOOST_TEST_CATCH_SIGPOLL
+#    define NDNBOOST_TEST_CATCH_SIGPOLL
 #  endif
 
-#  ifdef BOOST_TEST_USE_ALT_STACK
-#    define BOOST_TEST_ALT_STACK_SIZE SIGSTKSZ
+#  ifdef NDNBOOST_TEST_USE_ALT_STACK
+#    define NDNBOOST_TEST_ALT_STACK_SIZE SIGSTKSZ
 #  endif
 
 #else
 
-#  define BOOST_NO_SIGNAL_HANDLING
+#  define NDNBOOST_NO_SIGNAL_HANDLING
 
 #endif
 
@@ -211,13 +211,13 @@
 namespace detail {
 
 #ifdef __BORLANDC__
-#  define BOOST_TEST_VSNPRINTF( a1, a2, a3, a4 ) std::vsnprintf( (a1), (a2), (a3), (a4) )
-#elif BOOST_WORKAROUND(_MSC_VER, <= 1310) || \
-      BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3000)) || \
+#  define NDNBOOST_TEST_VSNPRINTF( a1, a2, a3, a4 ) std::vsnprintf( (a1), (a2), (a3), (a4) )
+#elif NDNBOOST_WORKAROUND(_MSC_VER, <= 1310) || \
+      NDNBOOST_WORKAROUND(__MWERKS__, NDNBOOST_TESTED_AT(0x3000)) || \
       defined(UNDER_CE)
-#  define BOOST_TEST_VSNPRINTF( a1, a2, a3, a4 ) _vsnprintf( (a1), (a2), (a3), (a4) )
+#  define NDNBOOST_TEST_VSNPRINTF( a1, a2, a3, a4 ) _vsnprintf( (a1), (a2), (a3), (a4) )
 #else
-#  define BOOST_TEST_VSNPRINTF( a1, a2, a3, a4 ) vsnprintf( (a1), (a2), (a3), (a4) )
+#  define NDNBOOST_TEST_VSNPRINTF( a1, a2, a3, a4 ) vsnprintf( (a1), (a2), (a3), (a4) )
 #endif
 
 template <typename ErrorInfo>
@@ -240,7 +240,7 @@
     static const int REPORT_ERROR_BUFFER_SIZE = 512;
     static char buf[REPORT_ERROR_BUFFER_SIZE];
 
-    BOOST_TEST_VSNPRINTF( buf, sizeof(buf)-1, format, *args ); 
+    NDNBOOST_TEST_VSNPRINTF( buf, sizeof(buf)-1, format, *args ); 
     buf[sizeof(buf)-1] = 0;
 
     va_end( *args );
@@ -285,7 +285,7 @@
 
 } // namespace detail
 
-#if defined(BOOST_SIGACTION_BASED_SIGNAL_HANDLING)
+#if defined(NDNBOOST_SIGACTION_BASED_SIGNAL_HANDLING)
 
 // ************************************************************************** //
 // **************       Sigaction based signal handling        ************** //
@@ -356,7 +356,7 @@
     switch( m_sig_info->si_signo ) {
     case SIGILL:
         switch( m_sig_info->si_code ) {
-#ifndef BOOST_TEST_LIMITED_SIGNAL_DETAILS
+#ifndef NDNBOOST_TEST_LIMITED_SIGNAL_DETAILS
         case ILL_ILLOPC:
             report_error( execution_exception::system_fatal_error,
                           "signal: illegal opcode; address of failing instruction: 0x%08lx",
@@ -458,7 +458,7 @@
 
     case SIGSEGV:
         switch( m_sig_info->si_code ) {
-#ifndef BOOST_TEST_LIMITED_SIGNAL_DETAILS
+#ifndef NDNBOOST_TEST_LIMITED_SIGNAL_DETAILS
         case SEGV_MAPERR:
             report_error( execution_exception::system_fatal_error,
                           "memory access violation at address: 0x%08lx: no mapping at fault address",
@@ -480,7 +480,7 @@
 
     case SIGBUS:
         switch( m_sig_info->si_code ) {
-#ifndef BOOST_TEST_LIMITED_SIGNAL_DETAILS
+#ifndef NDNBOOST_TEST_LIMITED_SIGNAL_DETAILS
         case BUS_ADRALN:
             report_error( execution_exception::system_fatal_error,
                           "memory access violation at address: 0x%08lx: invalid address alignment",
@@ -507,7 +507,7 @@
 
     case SIGCHLD:
         switch( m_sig_info->si_code ) {
-#ifndef BOOST_TEST_LIMITED_SIGNAL_DETAILS
+#ifndef NDNBOOST_TEST_LIMITED_SIGNAL_DETAILS
         case CLD_EXITED:
             report_error( execution_exception::system_error,
                           "child has exited; pid: %d; uid: %d; exit value: %d",
@@ -547,11 +547,11 @@
         }
         break;
 
-#if defined(BOOST_TEST_CATCH_SIGPOLL)
+#if defined(NDNBOOST_TEST_CATCH_SIGPOLL)
 
     case SIGPOLL:
         switch( m_sig_info->si_code ) {
-#ifndef BOOST_TEST_LIMITED_SIGNAL_DETAILS
+#ifndef NDNBOOST_TEST_LIMITED_SIGNAL_DETAILS
         case POLL_IN:
             report_error( execution_exception::system_error,
                           "data input available; band event %d",
@@ -655,7 +655,7 @@
 
     std::memset( &m_new_action, 0, sizeof(struct sigaction) );
 
-    BOOST_TEST_SYS_ASSERT( ::sigaction( m_sig , sigaction_ptr(), &m_new_action ) != -1 );
+    NDNBOOST_TEST_SYS_ASSERT( ::sigaction( m_sig , sigaction_ptr(), &m_new_action ) != -1 );
 
     if( m_new_action.sa_sigaction || m_new_action.sa_handler ) {
         m_installed = false;
@@ -665,14 +665,14 @@
     m_new_action.sa_flags     |= SA_SIGINFO;
     m_new_action.sa_sigaction  = attach_dbg ? &execution_monitor_attaching_signal_handler
                                             : &execution_monitor_jumping_signal_handler;
-    BOOST_TEST_SYS_ASSERT( sigemptyset( &m_new_action.sa_mask ) != -1 );
+    NDNBOOST_TEST_SYS_ASSERT( sigemptyset( &m_new_action.sa_mask ) != -1 );
 
-#ifdef BOOST_TEST_USE_ALT_STACK
+#ifdef NDNBOOST_TEST_USE_ALT_STACK
     if( alt_stack )
         m_new_action.sa_flags |= SA_ONSTACK;
 #endif
 
-    BOOST_TEST_SYS_ASSERT( ::sigaction( m_sig, &m_new_action, &m_old_action ) != -1 );
+    NDNBOOST_TEST_SYS_ASSERT( ::sigaction( m_sig, &m_new_action, &m_old_action ) != -1 );
 }
 
 //____________________________________________________________________________//
@@ -745,10 +745,10 @@
 , m_FPE_action ( SIGFPE , catch_system_errors, attach_dbg, alt_stack )
 , m_SEGV_action( SIGSEGV, catch_system_errors, attach_dbg, alt_stack )
 , m_BUS_action ( SIGBUS , catch_system_errors, attach_dbg, alt_stack )
-#ifndef BOOST_TEST_IGNORE_SIGCHLD
+#ifndef NDNBOOST_TEST_IGNORE_SIGCHLD
 , m_CHLD_action( SIGCHLD, catch_system_errors, attach_dbg, alt_stack )
 #endif
-#ifdef BOOST_TEST_CATCH_SIGPOLL
+#ifdef NDNBOOST_TEST_CATCH_SIGPOLL
 , m_POLL_action( SIGPOLL, catch_system_errors, attach_dbg, alt_stack )
 #endif
 , m_ABRT_action( SIGABRT, catch_system_errors, attach_dbg, alt_stack )
@@ -761,18 +761,18 @@
         ::alarm( timeout );
     }
 
-#ifdef BOOST_TEST_USE_ALT_STACK
+#ifdef NDNBOOST_TEST_USE_ALT_STACK
     if( alt_stack ) {
         stack_t sigstk;
         std::memset( &sigstk, 0, sizeof(stack_t) );
 
-        BOOST_TEST_SYS_ASSERT( ::sigaltstack( 0, &sigstk ) != -1 );
+        NDNBOOST_TEST_SYS_ASSERT( ::sigaltstack( 0, &sigstk ) != -1 );
 
         if( sigstk.ss_flags & SS_DISABLE ) {
             sigstk.ss_sp    = alt_stack;
-            sigstk.ss_size  = BOOST_TEST_ALT_STACK_SIZE;
+            sigstk.ss_size  = NDNBOOST_TEST_ALT_STACK_SIZE;
             sigstk.ss_flags = 0;
-            BOOST_TEST_SYS_ASSERT( ::sigaltstack( &sigstk, 0 ) != -1 );
+            NDNBOOST_TEST_SYS_ASSERT( ::sigaltstack( &sigstk, 0 ) != -1 );
         }
     }
 #endif
@@ -787,7 +787,7 @@
     if( m_timeout > 0 )
         ::alarm( 0 );
 
-#ifdef BOOST_TEST_USE_ALT_STACK
+#ifdef NDNBOOST_TEST_USE_ALT_STACK
 #ifdef __GNUC__
     // We shouldn't need to explicitly initialize all the members here,
     // but gcc warns if we don't, so add initializers for each of the
@@ -799,7 +799,7 @@
 
     sigstk.ss_size  = MINSIGSTKSZ;
     sigstk.ss_flags = SS_DISABLE;
-    BOOST_TEST_SYS_ASSERT( ::sigaltstack( &sigstk, 0 ) != -1 );
+    NDNBOOST_TEST_SYS_ASSERT( ::sigaltstack( &sigstk, 0 ) != -1 );
 #endif
 
     s_active_handler = m_prev_handler;
@@ -816,10 +816,10 @@
 static bool ignore_sigchild( siginfo_t* info )
 {
     return info->si_signo == SIGCHLD
-#ifndef BOOST_TEST_LIMITED_SIGNAL_DETAILS
+#ifndef NDNBOOST_TEST_LIMITED_SIGNAL_DETAILS
             && info->si_code == CLD_EXITED 
 #endif
-#ifdef BOOST_TEST_IGNORE_NON_ZERO_CHILD_CODE
+#ifdef NDNBOOST_TEST_IGNORE_NON_ZERO_CHILD_CODE
             ;
 #else
             && (int)info->si_status == 0;
@@ -849,7 +849,7 @@
         execution_monitor_jumping_signal_handler( sig, info, context );
 
     // debugger attached; it will handle the signal
-    BOOST_TEST_SYS_ASSERT( ::signal( sig, SIG_DFL ) != SIG_ERR );
+    NDNBOOST_TEST_SYS_ASSERT( ::signal( sig, SIG_DFL ) != SIG_ERR );
 }
 
 //____________________________________________________________________________//
@@ -871,9 +871,9 @@
     p_catch_system_errors.value = false;
 #endif
 
-#ifdef BOOST_TEST_USE_ALT_STACK
+#ifdef NDNBOOST_TEST_USE_ALT_STACK
     if( !!p_use_alt_stack && !m_alt_stack )
-        m_alt_stack.reset( new char[BOOST_TEST_ALT_STACK_SIZE] );
+        m_alt_stack.reset( new char[NDNBOOST_TEST_ALT_STACK_SIZE] );
 #else
     p_use_alt_stack.value = false;
 #endif
@@ -889,13 +889,13 @@
 
 //____________________________________________________________________________//
 
-#elif defined(BOOST_SEH_BASED_SIGNAL_HANDLING)
+#elif defined(NDNBOOST_SEH_BASED_SIGNAL_HANDLING)
 
 // ************************************************************************** //
 // **************   Microsoft structured exception handling    ************** //
 // ************************************************************************** //
 
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x0564))
+#if NDNBOOST_WORKAROUND(__BORLANDC__, NDNBOOST_TESTED_AT(0x0564))
 namespace { void _set_se_translator( void* ) {} }
 #endif
 
@@ -1068,15 +1068,15 @@
 // **************          assert_reporting_function           ************** //
 // ************************************************************************** //
 
-int BOOST_TEST_CALL_DECL
+int NDNBOOST_TEST_CALL_DECL
 assert_reporting_function( int reportType, char* userMessage, int* )
 {
     switch( reportType ) {
-    case BOOST_TEST_CRT_ASSERT:
+    case NDNBOOST_TEST_CRT_ASSERT:
         detail::report_error( execution_exception::user_error, userMessage );
 
         return 1; // return value and retVal are not important since we never reach this line
-    case BOOST_TEST_CRT_ERROR:
+    case NDNBOOST_TEST_CRT_ERROR:
         detail::report_error( execution_exception::system_error, userMessage );
 
         return 1; // return value and retVal are not important since we never reach this line
@@ -1087,7 +1087,7 @@
 
 //____________________________________________________________________________//
 
-void BOOST_TEST_CALL_DECL
+void NDNBOOST_TEST_CALL_DECL
 invalid_param_handler( wchar_t const* /* expr */, 
                        wchar_t const* /* func */, 
                        wchar_t const* /* file */, 
@@ -1100,7 +1100,7 @@
 
 //____________________________________________________________________________//
 
-void BOOST_TEST_CALL_DECL
+void NDNBOOST_TEST_CALL_DECL
 switch_fp_exceptions( bool on_off )
 {
     if( !on_off )
@@ -1134,7 +1134,7 @@
 execution_monitor::catch_signals( unit_test::callback0<int> const& F )
 {
     _invalid_parameter_handler old_iph = _invalid_parameter_handler();
-    BOOST_TEST_CRT_HOOK_TYPE old_crt_hook = 0;
+    NDNBOOST_TEST_CRT_HOOK_TYPE old_crt_hook = 0;
 
     if( !p_catch_system_errors )
         _set_se_translator( &detail::seh_catch_preventer );
@@ -1142,7 +1142,7 @@
         if( !!p_detect_fp_exceptions )
             detail::switch_fp_exceptions( true );
 
-       old_crt_hook = BOOST_TEST_CRT_SET_HOOK( &detail::assert_reporting_function );
+       old_crt_hook = NDNBOOST_TEST_CRT_SET_HOOK( &detail::assert_reporting_function );
 
        old_iph = _set_invalid_parameter_handler( 
            reinterpret_cast<_invalid_parameter_handler>( &detail::invalid_param_handler ) );
@@ -1165,7 +1165,7 @@
             if( !!p_detect_fp_exceptions )
                 detail::switch_fp_exceptions( false );
 
-            BOOST_TEST_CRT_SET_HOOK( old_crt_hook );
+            NDNBOOST_TEST_CRT_SET_HOOK( old_crt_hook );
 
            _set_invalid_parameter_handler( old_iph );
         }
@@ -1230,7 +1230,7 @@
                               current_exception_cast<ndnboost::exception const>(),
                               "std::bad_alloc: %s", ex.what() ); }
 
-#if BOOST_WORKAROUND(__BORLANDC__, <= 0x0551)
+#if NDNBOOST_WORKAROUND(__BORLANDC__, <= 0x0551)
     catch( std::bad_cast const& ex )
       { detail::report_error( execution_exception::cpp_exception_error, 
                               current_exception_cast<ndnboost::exception const>(),
@@ -1345,7 +1345,7 @@
 
 execution_exception::execution_exception( error_code ec_, const_string what_msg_, location const& location_ )
 : m_error_code( ec_ )
-, m_what( what_msg_.empty() ? BOOST_TEST_L( "uncaught exception, system error or abort requested" ) : what_msg_ )
+, m_what( what_msg_.empty() ? NDNBOOST_TEST_L( "uncaught exception, system error or abort requested" ) : what_msg_ )
 , m_location( location_ )
 {}
 
@@ -1363,5 +1363,5 @@
 
 #include <ndnboost/test/detail/enable_warnings.hpp>
 
-#endif // BOOST_TEST_EXECUTION_MONITOR_IPP_012205GER
+#endif // NDNBOOST_TEST_EXECUTION_MONITOR_IPP_012205GER
 
diff --git a/include/ndnboost/test/impl/framework.ipp b/include/ndnboost/test/impl/framework.ipp
index cdbce24..2da90c6 100644
--- a/include/ndnboost/test/impl/framework.ipp
+++ b/include/ndnboost/test/impl/framework.ipp
@@ -12,8 +12,8 @@
 //  Description : implements framework API - main driver for the test
 // ***************************************************************************
 
-#ifndef BOOST_TEST_FRAMEWORK_IPP_021005GER
-#define BOOST_TEST_FRAMEWORK_IPP_021005GER
+#ifndef NDNBOOST_TEST_FRAMEWORK_IPP_021005GER
+#define NDNBOOST_TEST_FRAMEWORK_IPP_021005GER
 
 // Boost.Test
 #include <ndnboost/test/framework.hpp>
@@ -42,7 +42,7 @@
 #include <cstdlib>
 #include <ctime>
 
-#ifdef BOOST_NO_STDC_NAMESPACE
+#ifdef NDNBOOST_NO_STDC_NAMESPACE
 namespace std { using ::time; using ::srand; }
 #endif
 
@@ -86,7 +86,7 @@
     {}
     int         operator()()
     {
-#ifdef BOOST_TEST_ALTERNATIVE_INIT_API
+#ifdef NDNBOOST_TEST_ALTERNATIVE_INIT_API
         if( !(*m_init_func)() )
             throw std::runtime_error( "test module initialization failed" );
 #else
@@ -141,13 +141,13 @@
     void            visit( test_case const& tc )
     {
         if( !tc.check_dependencies() ) {
-            BOOST_TEST_FOREACH( test_observer*, to, m_observers )
+            NDNBOOST_TEST_FOREACH( test_observer*, to, m_observers )
                 to->test_unit_skipped( tc );
 
             return;
         }
 
-        BOOST_TEST_FOREACH( test_observer*, to, m_observers )
+        NDNBOOST_TEST_FOREACH( test_observer*, to, m_observers )
             to->test_unit_start( tc );
 
         ndnboost::timer tc_timer;
@@ -158,11 +158,11 @@
         unsigned long elapsed = static_cast<unsigned long>( tc_timer.elapsed() * 1e6 );
 
         if( unit_test_monitor.is_critical_error( run_result ) ) {
-            BOOST_TEST_FOREACH( test_observer*, to, m_observers )
+            NDNBOOST_TEST_FOREACH( test_observer*, to, m_observers )
                 to->test_aborted();
         }
 
-        BOOST_TEST_FOREACH( test_observer*, to, m_observers )
+        NDNBOOST_TEST_FOREACH( test_observer*, to, m_observers )
             to->test_unit_finish( tc, elapsed );
 
         m_curr_test_case = bkup;
@@ -174,13 +174,13 @@
     bool            test_suite_start( test_suite const& ts )
     {
         if( !ts.check_dependencies() ) {
-            BOOST_TEST_FOREACH( test_observer*, to, m_observers )
+            NDNBOOST_TEST_FOREACH( test_observer*, to, m_observers )
                 to->test_unit_skipped( ts );
 
             return false;
         }
 
-        BOOST_TEST_FOREACH( test_observer*, to, m_observers )
+        NDNBOOST_TEST_FOREACH( test_observer*, to, m_observers )
             to->test_unit_start( ts );
 
         return true;
@@ -188,7 +188,7 @@
 
     void            test_suite_finish( test_suite const& ts )
     {
-        BOOST_TEST_FOREACH( test_observer*, to, m_observers )
+        NDNBOOST_TEST_FOREACH( test_observer*, to, m_observers )
             to->test_unit_finish( ts, 0 );
     }
 
@@ -287,11 +287,11 @@
 void
 register_test_unit( test_case* tc )
 {
-    BOOST_TEST_SETUP_ASSERT( tc->p_id == INV_TEST_UNIT_ID, BOOST_TEST_L( "test case already registered" ) );
+    NDNBOOST_TEST_SETUP_ASSERT( tc->p_id == INV_TEST_UNIT_ID, NDNBOOST_TEST_L( "test case already registered" ) );
 
     test_unit_id new_id = s_frk_impl().m_next_test_case_id;
 
-    BOOST_TEST_SETUP_ASSERT( new_id != MAX_TEST_CASE_ID, BOOST_TEST_L( "too many test cases" ) );
+    NDNBOOST_TEST_SETUP_ASSERT( new_id != MAX_TEST_CASE_ID, NDNBOOST_TEST_L( "too many test cases" ) );
 
     typedef framework_impl::test_unit_store::value_type map_value_type;
 
@@ -306,11 +306,11 @@
 void
 register_test_unit( test_suite* ts )
 {
-    BOOST_TEST_SETUP_ASSERT( ts->p_id == INV_TEST_UNIT_ID, BOOST_TEST_L( "test suite already registered" ) );
+    NDNBOOST_TEST_SETUP_ASSERT( ts->p_id == INV_TEST_UNIT_ID, NDNBOOST_TEST_L( "test suite already registered" ) );
 
     test_unit_id new_id = s_frk_impl().m_next_test_suite_id;
 
-    BOOST_TEST_SETUP_ASSERT( new_id != MAX_TEST_SUITE_ID, BOOST_TEST_L( "too many test suites" ) );
+    NDNBOOST_TEST_SETUP_ASSERT( new_id != MAX_TEST_SUITE_ID, NDNBOOST_TEST_L( "too many test suites" ) );
 
     typedef framework_impl::test_unit_store::value_type map_value_type;
     s_frk_impl().m_test_units.insert( map_value_type( new_id, ts ) );
@@ -402,9 +402,9 @@
     test_case_counter tcc;
     traverse_test_tree( id, tcc );
 
-    BOOST_TEST_SETUP_ASSERT( tcc.p_count != 0 , runtime_config::test_to_run().is_empty() 
-        ? BOOST_TEST_L( "test tree is empty" ) 
-        : BOOST_TEST_L( "no test cases matching filter" ) );
+    NDNBOOST_TEST_SETUP_ASSERT( tcc.p_count != 0 , runtime_config::test_to_run().is_empty() 
+        ? NDNBOOST_TEST_L( "test tree is empty" ) 
+        : NDNBOOST_TEST_L( "no test cases matching filter" ) );
 
     bool    call_start_finish   = !continue_test || !s_frk_impl().m_test_in_progress;
     bool    was_in_progress     = s_frk_impl().m_test_in_progress;
@@ -412,7 +412,7 @@
     s_frk_impl().m_test_in_progress = true;
 
     if( call_start_finish ) {
-        BOOST_TEST_FOREACH( test_observer*, to, s_frk_impl().m_observers ) {
+        NDNBOOST_TEST_FOREACH( test_observer*, to, s_frk_impl().m_observers ) {
             ndnboost::execution_monitor em;
 
             try {
@@ -429,12 +429,12 @@
         break;
     case 1: {
         unsigned int seed = static_cast<unsigned int>( std::time( 0 ) );
-        BOOST_TEST_MESSAGE( "Test cases order is shuffled using seed: " << seed );
+        NDNBOOST_TEST_MESSAGE( "Test cases order is shuffled using seed: " << seed );
         std::srand( seed );
         break;
     }
     default:
-        BOOST_TEST_MESSAGE( "Test cases order is shuffled using seed: " << runtime_config::random_seed() );
+        NDNBOOST_TEST_MESSAGE( "Test cases order is shuffled using seed: " << runtime_config::random_seed() );
         std::srand( runtime_config::random_seed() );
     }
 
@@ -446,7 +446,7 @@
     }
 
     if( call_start_finish ) {
-        BOOST_TEST_FOREACH( test_observer*, to, s_frk_impl().m_observers )
+        NDNBOOST_TEST_FOREACH( test_observer*, to, s_frk_impl().m_observers )
             to->test_finish();
     }
 
@@ -466,7 +466,7 @@
 void
 assertion_result( bool passed )
 {
-    BOOST_TEST_FOREACH( test_observer*, to, s_frk_impl().m_observers )
+    NDNBOOST_TEST_FOREACH( test_observer*, to, s_frk_impl().m_observers )
         to->assertion_result( passed );
 }
 
@@ -475,7 +475,7 @@
 void
 exception_caught( execution_exception const& ex )
 {
-    BOOST_TEST_FOREACH( test_observer*, to, s_frk_impl().m_observers )
+    NDNBOOST_TEST_FOREACH( test_observer*, to, s_frk_impl().m_observers )
         to->exception_caught( ex );
 }
 
@@ -484,7 +484,7 @@
 void
 test_unit_aborted( test_unit const& tu )
 {
-    BOOST_TEST_FOREACH( test_observer*, to, s_frk_impl().m_observers )
+    NDNBOOST_TEST_FOREACH( test_observer*, to, s_frk_impl().m_observers )
         to->test_unit_aborted( tu );
 }
 
@@ -500,4 +500,4 @@
 
 #include <ndnboost/test/detail/enable_warnings.hpp>
 
-#endif // BOOST_TEST_FRAMEWORK_IPP_021005GER
+#endif // NDNBOOST_TEST_FRAMEWORK_IPP_021005GER
diff --git a/include/ndnboost/test/impl/interaction_based.ipp b/include/ndnboost/test/impl/interaction_based.ipp
index 03ee9be..2d12fae 100644
--- a/include/ndnboost/test/impl/interaction_based.ipp
+++ b/include/ndnboost/test/impl/interaction_based.ipp
@@ -12,13 +12,13 @@
 //  Description : Facilities to perform interaction-based testing
 // ***************************************************************************
 
-#ifndef BOOST_TEST_INTERACTION_BASED_IPP_112105GER
-#define BOOST_TEST_INTERACTION_BASED_IPP_112105GER
+#ifndef NDNBOOST_TEST_INTERACTION_BASED_IPP_112105GER
+#define NDNBOOST_TEST_INTERACTION_BASED_IPP_112105GER
 
 // Boost.Test
 #include <ndnboost/test/detail/config.hpp>
 
-#if BOOST_TEST_SUPPORT_INTERACTION_TESTING
+#if NDNBOOST_TEST_SUPPORT_INTERACTION_TESTING
 
 // Boost.Test
 #include <ndnboost/test/detail/config.hpp>
@@ -66,7 +66,7 @@
     
     if( reset ) {
         if( new_ptr ) {
-            BOOST_TEST_SETUP_ASSERT( ptr == &dummy, BOOST_TEST_L( "Can't run two interation based test the same time" ) );
+            NDNBOOST_TEST_SETUP_ASSERT( ptr == &dummy, NDNBOOST_TEST_L( "Can't run two interation based test the same time" ) );
                 
             ptr = new_ptr;
         }
@@ -87,4 +87,4 @@
 
 #endif // not ancient compiler
 
-#endif // BOOST_TEST_INTERACTION_BASED_IPP_112105GER
+#endif // NDNBOOST_TEST_INTERACTION_BASED_IPP_112105GER
diff --git a/include/ndnboost/test/impl/logged_expectations.ipp b/include/ndnboost/test/impl/logged_expectations.ipp
index 4db7b81..cfe961a 100644
--- a/include/ndnboost/test/impl/logged_expectations.ipp
+++ b/include/ndnboost/test/impl/logged_expectations.ipp
@@ -12,13 +12,13 @@
 //  Description : Facilities to perform interaction based testng of logged expectations
 // ***************************************************************************
 
-#ifndef BOOST_TEST_LOGGED_EXPECTATIONS_IPP_120905GER
-#define BOOST_TEST_LOGGED_EXPECTATIONS_IPP_120905GER
+#ifndef NDNBOOST_TEST_LOGGED_EXPECTATIONS_IPP_120905GER
+#define NDNBOOST_TEST_LOGGED_EXPECTATIONS_IPP_120905GER
 
 // Boost.Test
 #include <ndnboost/test/detail/config.hpp>
 
-#if BOOST_TEST_SUPPORT_INTERACTION_TESTING
+#if NDNBOOST_TEST_SUPPORT_INTERACTION_TESTING
 
 #include <ndnboost/test/detail/global_typedef.hpp>
 
@@ -80,11 +80,11 @@
 expectations_logger::expectations_logger( const_string log_file_name, bool test_or_log )
 : m_test_or_log( test_or_log )
 {
-    BOOST_REQUIRE_MESSAGE( !log_file_name.is_empty(), "Empty expectations log file name" );
+    NDNBOOST_REQUIRE_MESSAGE( !log_file_name.is_empty(), "Empty expectations log file name" );
 
     m_log_file.open( log_file_name.begin(), test_or_log ? std::ios::in : std::ios::out );
 
-    BOOST_REQUIRE_MESSAGE( m_log_file.is_open(),
+    NDNBOOST_REQUIRE_MESSAGE( m_log_file.is_open(),
                            "Can't open expectations log file " << log_file_name
                                 << " for " << ( m_test_or_log ? "reading" : "writing") );
 
@@ -96,9 +96,9 @@
         const_string cline( line );
         string_token_iterator tit( cline, (dropped_delimeters = CLMN_SEP, kept_delimeters = dt_none));
 
-        BOOST_CHECK_EQUAL( *tit, FILE_SIG ); 
+        NDNBOOST_CHECK_EQUAL( *tit, FILE_SIG ); 
         ++tit;
-        BOOST_CHECK_EQUAL( *tit, ELOG_VER );
+        NDNBOOST_CHECK_EQUAL( *tit, ELOG_VER );
     }
     else {
         m_log_file << FILE_SIG << CLMN_SEP << ELOG_VER << LINE_SEP;
@@ -118,7 +118,7 @@
         const_string cline( line );
         string_token_iterator tit( cline, (dropped_delimeters = CLMN_SEP, kept_delimeters = dt_none));
         
-        BOOST_CHECK_EQUAL( *tit, DP_SIG ); ++tit;
+        NDNBOOST_CHECK_EQUAL( *tit, DP_SIG ); ++tit;
         return lexical_cast<bool>( *tit );
     }
     else {
@@ -141,8 +141,8 @@
         const_string cline( line );
         string_token_iterator tit( cline, (dropped_delimeters = CLMN_SEP, kept_delimeters = dt_none));
         
-        BOOST_CHECK_EQUAL( *tit, SCOPE_SIG ); ++tit;
-        BOOST_CHECK_EQUAL( *tit, scope_name );
+        NDNBOOST_CHECK_EQUAL( *tit, SCOPE_SIG ); ++tit;
+        NDNBOOST_CHECK_EQUAL( *tit, scope_name );
     }
     else {
         m_log_file << SCOPE_SIG << CLMN_SEP << scope_name << LINE_SEP;
@@ -164,8 +164,8 @@
         const_string cline( line );
         string_token_iterator tit( cline, (dropped_delimeters = CLMN_SEP, kept_delimeters = dt_none));
         
-        BOOST_CHECK_EQUAL( *tit, ALLOC_SIG ); ++tit;
-        BOOST_CHECK_EQUAL( lexical_cast<std::size_t>( *tit ), s );
+        NDNBOOST_CHECK_EQUAL( *tit, ALLOC_SIG ); ++tit;
+        NDNBOOST_CHECK_EQUAL( lexical_cast<std::size_t>( *tit ), s );
     }
     else {
         m_log_file << ALLOC_SIG << CLMN_SEP << s << LINE_SEP;
@@ -185,8 +185,8 @@
         const_string cline( line );
         string_token_iterator tit( cline, (dropped_delimeters = CLMN_SEP, kept_delimeters = dt_none));
         
-        BOOST_CHECK_EQUAL( *tit, DATA_SIG ); ++tit;
-        BOOST_CHECK_EQUAL( *tit, d );
+        NDNBOOST_CHECK_EQUAL( *tit, DATA_SIG ); ++tit;
+        NDNBOOST_CHECK_EQUAL( *tit, d );
     }
     else {
         m_log_file << DATA_SIG << CLMN_SEP << d << LINE_SEP;
@@ -206,7 +206,7 @@
         const_string cline( line );
         string_token_iterator tit( cline, (dropped_delimeters = CLMN_SEP, kept_delimeters = dt_none));
         
-        BOOST_CHECK_EQUAL( *tit, RETURN_SIG ); ++tit;
+        NDNBOOST_CHECK_EQUAL( *tit, RETURN_SIG ); ++tit;
         
         return std::string( tit->begin(), tit->size() );
     }
@@ -223,7 +223,7 @@
 // **************           logged expectations test           ************** //
 // ************************************************************************** //
 
-void BOOST_TEST_DECL
+void NDNBOOST_TEST_DECL
 logged_expectations( callback0<> const& F, const_string log_file_name, bool test_or_log )
 {
     expectations_logger el( log_file_name, test_or_log );
@@ -243,4 +243,4 @@
 
 #endif // not ancient compiler
 
-#endif // BOOST_TEST_LOGGED_EXPECTATIONS_IPP_120905GER
+#endif // NDNBOOST_TEST_LOGGED_EXPECTATIONS_IPP_120905GER
diff --git a/include/ndnboost/test/impl/plain_report_formatter.ipp b/include/ndnboost/test/impl/plain_report_formatter.ipp
index 1f0aaac..97bfd1d 100644
--- a/include/ndnboost/test/impl/plain_report_formatter.ipp
+++ b/include/ndnboost/test/impl/plain_report_formatter.ipp
@@ -12,8 +12,8 @@
 //  Description : plain report formatter definition
 // ***************************************************************************
 
-#ifndef BOOST_TEST_PLAIN_REPORT_FORMATTER_IPP_020105GER
-#define BOOST_TEST_PLAIN_REPORT_FORMATTER_IPP_020105GER
+#ifndef NDNBOOST_TEST_PLAIN_REPORT_FORMATTER_IPP_020105GER
+#define NDNBOOST_TEST_PLAIN_REPORT_FORMATTER_IPP_020105GER
 
 // Boost.Test
 #include <ndnboost/test/output/plain_report_formatter.hpp>
@@ -30,7 +30,7 @@
 
 #include <ndnboost/test/detail/suppress_warnings.hpp>
 
-# ifdef BOOST_NO_STDC_NAMESPACE
+# ifdef NDNBOOST_NO_STDC_NAMESPACE
 namespace std { using ::log10; }
 # endif
 
@@ -195,4 +195,4 @@
 
 #include <ndnboost/test/detail/enable_warnings.hpp>
 
-#endif // BOOST_TEST_PLAIN_REPORT_FORMATTER_IPP_020105GER
+#endif // NDNBOOST_TEST_PLAIN_REPORT_FORMATTER_IPP_020105GER
diff --git a/include/ndnboost/test/impl/progress_monitor.ipp b/include/ndnboost/test/impl/progress_monitor.ipp
index ac93432..9c4ee88 100644
--- a/include/ndnboost/test/impl/progress_monitor.ipp
+++ b/include/ndnboost/test/impl/progress_monitor.ipp
@@ -12,8 +12,8 @@
 //  Description : implements simple text based progress monitor
 // ***************************************************************************
 
-#ifndef BOOST_TEST_PROGRESS_MONITOR_IPP_020105GER
-#define BOOST_TEST_PROGRESS_MONITOR_IPP_020105GER
+#ifndef NDNBOOST_TEST_PROGRESS_MONITOR_IPP_020105GER
+#define NDNBOOST_TEST_PROGRESS_MONITOR_IPP_020105GER
 
 // Boost.Test
 #include <ndnboost/test/progress_monitor.hpp>
@@ -107,4 +107,4 @@
 
 #include <ndnboost/test/detail/enable_warnings.hpp>
 
-#endif // BOOST_TEST_PROGRESS_MONITOR_IPP_020105GER
+#endif // NDNBOOST_TEST_PROGRESS_MONITOR_IPP_020105GER
diff --git a/include/ndnboost/test/impl/results_collector.ipp b/include/ndnboost/test/impl/results_collector.ipp
index 7b676cf..d862f68 100644
--- a/include/ndnboost/test/impl/results_collector.ipp
+++ b/include/ndnboost/test/impl/results_collector.ipp
@@ -12,8 +12,8 @@
 //  Description : implements Unit Test results collecting facility.
 // ***************************************************************************
 
-#ifndef BOOST_TEST_RESULTS_COLLECTOR_IPP_021105GER
-#define BOOST_TEST_RESULTS_COLLECTOR_IPP_021105GER
+#ifndef NDNBOOST_TEST_RESULTS_COLLECTOR_IPP_021105GER
+#define NDNBOOST_TEST_RESULTS_COLLECTOR_IPP_021105GER
 
 // Boost.Test
 #include <ndnboost/test/unit_test_suite_impl.hpp>
@@ -101,7 +101,7 @@
 // **************               results_collector              ************** //
 // ************************************************************************** //
 
-#if !BOOST_WORKAROUND(BOOST_MSVC, <1300)
+#if !NDNBOOST_WORKAROUND(NDNBOOST_MSVC, <1300)
 
 namespace {
 
@@ -213,11 +213,11 @@
         
         bool num_failures_match = tr.p_aborted || tr.p_assertions_failed >= tr.p_expected_failures;
         if( !num_failures_match )
-            BOOST_TEST_MESSAGE( "Test case " << tu.p_name << " has fewer failures than expected" );
+            NDNBOOST_TEST_MESSAGE( "Test case " << tu.p_name << " has fewer failures than expected" );
 
         bool check_any_assertions = tr.p_aborted || (tr.p_assertions_failed != 0) || (tr.p_assertions_passed != 0);
         if( !check_any_assertions )
-            BOOST_TEST_MESSAGE( "Test case " << tu.p_name << " did not check any assertions" );
+            NDNBOOST_TEST_MESSAGE( "Test case " << tu.p_name << " did not check any assertions" );
     }
 }
 
@@ -291,4 +291,4 @@
 
 #include <ndnboost/test/detail/enable_warnings.hpp>
 
-#endif // BOOST_TEST_RESULTS_COLLECTOR_IPP_021105GER
+#endif // NDNBOOST_TEST_RESULTS_COLLECTOR_IPP_021105GER
diff --git a/include/ndnboost/test/impl/results_reporter.ipp b/include/ndnboost/test/impl/results_reporter.ipp
index 1009a3d..d66fa84 100644
--- a/include/ndnboost/test/impl/results_reporter.ipp
+++ b/include/ndnboost/test/impl/results_reporter.ipp
@@ -12,8 +12,8 @@
 //  Description : result reporting facilties
 // ***************************************************************************
 
-#ifndef BOOST_TEST_RESULTS_REPORTER_IPP_020105GER
-#define BOOST_TEST_RESULTS_REPORTER_IPP_020105GER
+#ifndef NDNBOOST_TEST_RESULTS_REPORTER_IPP_020105GER
+#define NDNBOOST_TEST_RESULTS_REPORTER_IPP_020105GER
 
 // Boost.Test
 #include <ndnboost/test/results_reporter.hpp>
@@ -199,4 +199,4 @@
 
 #include <ndnboost/test/detail/enable_warnings.hpp>
 
-#endif // BOOST_TEST_RESULTS_REPORTER_IPP_020105GER
+#endif // NDNBOOST_TEST_RESULTS_REPORTER_IPP_020105GER
diff --git a/include/ndnboost/test/impl/test_main.ipp b/include/ndnboost/test/impl/test_main.ipp
index 5991f1c..933183e 100644
--- a/include/ndnboost/test/impl/test_main.ipp
+++ b/include/ndnboost/test/impl/test_main.ipp
@@ -13,8 +13,8 @@
 //  Description : implements main function for Test Execution Monitor.
 // ***************************************************************************
 
-#ifndef BOOST_TEST_TEST_MAIN_IPP_012205GER
-#define BOOST_TEST_TEST_MAIN_IPP_012205GER
+#ifndef NDNBOOST_TEST_TEST_MAIN_IPP_012205GER
+#define NDNBOOST_TEST_TEST_MAIN_IPP_012205GER
 
 // Boost.Test
 #include <ndnboost/test/framework.hpp>
@@ -37,7 +37,7 @@
         int test_main_result = test_main( m_argc, m_argv );
 
         // translate a test_main non-success return into a test error
-        BOOST_CHECK( test_main_result == 0 || test_main_result == ndnboost::exit_success );
+        NDNBOOST_CHECK( test_main_result == 0 || test_main_result == ndnboost::exit_success );
     }
   
 private:
@@ -56,7 +56,7 @@
     
     framework::master_test_suite().p_name.value = "Test Program";
     
-    framework::master_test_suite().add( BOOST_TEST_CASE( test_main_caller( argc, argv ) ) );
+    framework::master_test_suite().add( NDNBOOST_TEST_CASE( test_main_caller( argc, argv ) ) );
     
     return 0;
 }
@@ -65,4 +65,4 @@
 
 #include <ndnboost/test/detail/enable_warnings.hpp>
 
-#endif // BOOST_TEST_TEST_MAIN_IPP_012205GER
+#endif // NDNBOOST_TEST_TEST_MAIN_IPP_012205GER
diff --git a/include/ndnboost/test/impl/test_tools.ipp b/include/ndnboost/test/impl/test_tools.ipp
index b47ef81..488af33 100644
--- a/include/ndnboost/test/impl/test_tools.ipp
+++ b/include/ndnboost/test/impl/test_tools.ipp
@@ -12,8 +12,8 @@
 //  Description : supplies offline implementation for the Test Tools
 // ***************************************************************************
 
-#ifndef BOOST_TEST_TEST_TOOLS_IPP_012205GER
-#define BOOST_TEST_TEST_TOOLS_IPP_012205GER
+#ifndef NDNBOOST_TEST_TEST_TOOLS_IPP_012205GER
+#define NDNBOOST_TEST_TEST_TOOLS_IPP_012205GER
 
 // Boost.Test
 #include <ndnboost/test/test_tools.hpp>
@@ -42,9 +42,9 @@
 
 //____________________________________________________________________________//
 
-# ifdef BOOST_NO_STDC_NAMESPACE
+# ifdef NDNBOOST_NO_STDC_NAMESPACE
 namespace std { using ::strcmp; using ::strlen; using ::isprint; }
-#if !defined( BOOST_NO_CWCHAR )
+#if !defined( NDNBOOST_NO_CWCHAR )
 namespace std { using ::wcscmp; }
 #endif
 # endif
@@ -64,7 +64,7 @@
         ostr << '\'' << t << '\'';
     else
         ostr << std::hex
-#if BOOST_TEST_USE_STD_LOCALE
+#if NDNBOOST_TEST_USE_STD_LOCALE
         << std::showbase
 #else
         << "0x"
@@ -79,7 +79,7 @@
 {
     ostr << std::hex
         // showbase is only available for new style streams:
-#if BOOST_TEST_USE_STD_LOCALE
+#if NDNBOOST_TEST_USE_STD_LOCALE
         << std::showbase
 #else
         << "0x"
@@ -385,7 +385,7 @@
 
 //____________________________________________________________________________//
 
-#if !defined( BOOST_NO_CWCHAR )
+#if !defined( NDNBOOST_NO_CWCHAR )
 
 predicate_result
 equal_impl( wchar_t const* left, wchar_t const* right )
@@ -393,7 +393,7 @@
     return (left && right) ? std::wcscmp( left, right ) == 0 : (left == right);
 }
 
-#endif // !defined( BOOST_NO_CWCHAR )
+#endif // !defined( NDNBOOST_NO_CWCHAR )
 
 //____________________________________________________________________________//
 
@@ -448,7 +448,7 @@
 
         m_pimpl->m_pattern.open( pattern_file_name.begin(), m );
 
-        BOOST_WARN_MESSAGE( m_pimpl->m_pattern.is_open(),
+        NDNBOOST_WARN_MESSAGE( m_pimpl->m_pattern.is_open(),
                              "Can't open pattern file " << pattern_file_name
                                 << " for " << (match_or_save ? "reading" : "writing") );
     }
@@ -585,7 +585,7 @@
 {
     m_pimpl->m_synced_string.erase();
 
-#ifndef BOOST_NO_STRINGSTREAM
+#ifndef NDNBOOST_NO_STRINGSTREAM
     str( std::string() );
 #else
     seekp( 0, std::ios::beg );
@@ -607,7 +607,7 @@
 void
 output_test_stream::sync()
 {
-#ifdef BOOST_NO_STRINGSTREAM
+#ifdef NDNBOOST_NO_STRINGSTREAM
     m_pimpl->m_synced_string.assign( str(), pcount() );
     freeze( false );
 #else
@@ -625,4 +625,4 @@
 
 #include <ndnboost/test/detail/enable_warnings.hpp>
 
-#endif // BOOST_TEST_TEST_TOOLS_IPP_012205GER
+#endif // NDNBOOST_TEST_TEST_TOOLS_IPP_012205GER
diff --git a/include/ndnboost/test/impl/unit_test_log.ipp b/include/ndnboost/test/impl/unit_test_log.ipp
index 63d089e..c5b7c12 100644
--- a/include/ndnboost/test/impl/unit_test_log.ipp
+++ b/include/ndnboost/test/impl/unit_test_log.ipp
@@ -12,8 +12,8 @@
 //  Description : implemets Unit Test Log
 // ***************************************************************************
 
-#ifndef BOOST_TEST_UNIT_TEST_LOG_IPP_012205GER
-#define BOOST_TEST_UNIT_TEST_LOG_IPP_012205GER
+#ifndef NDNBOOST_TEST_UNIT_TEST_LOG_IPP_012205GER
+#define NDNBOOST_TEST_UNIT_TEST_LOG_IPP_012205GER
 
 // Boost.Test
 #include <ndnboost/test/unit_test_log.hpp>
@@ -158,7 +158,7 @@
 void
 unit_test_log_t::test_aborted()
 {
-    BOOST_TEST_LOG_ENTRY( log_messages ) << "Test is aborted";
+    NDNBOOST_TEST_LOG_ENTRY( log_messages ) << "Test is aborted";
 }
 
 //____________________________________________________________________________//
@@ -321,25 +321,25 @@
     switch( s_log_impl().m_entry_data.m_level ) {
     case log_successful_tests:
         s_log_impl().m_log_formatter->log_entry_start( s_log_impl().stream(), s_log_impl().m_entry_data,
-                                                       unit_test_log_formatter::BOOST_UTL_ET_INFO );
+                                                       unit_test_log_formatter::NDNBOOST_UTL_ET_INFO );
         break;
     case log_messages:
         s_log_impl().m_log_formatter->log_entry_start( s_log_impl().stream(), s_log_impl().m_entry_data,
-                                                       unit_test_log_formatter::BOOST_UTL_ET_MESSAGE );
+                                                       unit_test_log_formatter::NDNBOOST_UTL_ET_MESSAGE );
         break;
     case log_warnings:
         s_log_impl().m_log_formatter->log_entry_start( s_log_impl().stream(), s_log_impl().m_entry_data,
-                                                       unit_test_log_formatter::BOOST_UTL_ET_WARNING );
+                                                       unit_test_log_formatter::NDNBOOST_UTL_ET_WARNING );
         break;
     case log_all_errors:
     case log_cpp_exception_errors:
     case log_system_errors:
         s_log_impl().m_log_formatter->log_entry_start( s_log_impl().stream(), s_log_impl().m_entry_data,
-                                                       unit_test_log_formatter::BOOST_UTL_ET_ERROR );
+                                                       unit_test_log_formatter::NDNBOOST_UTL_ET_ERROR );
         break;
     case log_fatal_errors:
         s_log_impl().m_log_formatter->log_entry_start( s_log_impl().stream(), s_log_impl().m_entry_data,
-                                                       unit_test_log_formatter::BOOST_UTL_ET_FATAL_ERROR );
+                                                       unit_test_log_formatter::NDNBOOST_UTL_ET_FATAL_ERROR );
         break;
     case log_nothing:
     case log_test_units:
@@ -441,4 +441,4 @@
 
 #include <ndnboost/test/detail/enable_warnings.hpp>
 
-#endif // BOOST_TEST_UNIT_TEST_LOG_IPP_012205GER
+#endif // NDNBOOST_TEST_UNIT_TEST_LOG_IPP_012205GER
diff --git a/include/ndnboost/test/impl/unit_test_main.ipp b/include/ndnboost/test/impl/unit_test_main.ipp
index bde871f..12691f5 100644
--- a/include/ndnboost/test/impl/unit_test_main.ipp
+++ b/include/ndnboost/test/impl/unit_test_main.ipp
@@ -12,8 +12,8 @@
 //  Description : main function implementation for Unit Test Framework
 // ***************************************************************************
 
-#ifndef BOOST_TEST_UNIT_TEST_MAIN_IPP_012205GER
-#define BOOST_TEST_UNIT_TEST_MAIN_IPP_012205GER
+#ifndef NDNBOOST_TEST_UNIT_TEST_MAIN_IPP_012205GER
+#define NDNBOOST_TEST_UNIT_TEST_MAIN_IPP_012205GER
 
 // Boost.Test
 #include <ndnboost/test/framework.hpp>
@@ -23,8 +23,8 @@
 
 #include <ndnboost/test/detail/unit_test_parameters.hpp>
 
-#if !defined(__BORLANDC__) && !BOOST_WORKAROUND( BOOST_MSVC, < 1300 ) && !BOOST_WORKAROUND( __SUNPRO_CC, < 0x5100 )
-#define BOOST_TEST_SUPPORT_RUN_BY_NAME
+#if !defined(__BORLANDC__) && !NDNBOOST_WORKAROUND( NDNBOOST_MSVC, < 1300 ) && !NDNBOOST_WORKAROUND( __SUNPRO_CC, < 0x5100 )
+#define NDNBOOST_TEST_SUPPORT_RUN_BY_NAME
 #include <ndnboost/test/utils/iterator/token_iterator.hpp>
 #endif
 
@@ -101,7 +101,7 @@
         const_string    m_value;
     };
     // Constructor
-#ifndef BOOST_TEST_SUPPORT_RUN_BY_NAME
+#ifndef NDNBOOST_TEST_SUPPORT_RUN_BY_NAME
     explicit        test_case_filter( const_string ) : m_depth( 0 ) {}
 #else
     explicit        test_case_filter( const_string tc_to_run ) 
@@ -170,7 +170,7 @@
 // **************                  unit_test_main              ************** //
 // ************************************************************************** //
 
-int BOOST_TEST_DECL
+int NDNBOOST_TEST_DECL
 unit_test_main( init_unit_test_func init_func, int argc, char* argv[] )
 {
     try {
@@ -214,17 +214,17 @@
 
 } // namespace ndnboost
 
-#if !defined(BOOST_TEST_DYN_LINK) && !defined(BOOST_TEST_NO_MAIN)
+#if !defined(NDNBOOST_TEST_DYN_LINK) && !defined(NDNBOOST_TEST_NO_MAIN)
 
 // ************************************************************************** //
 // **************        main function for tests using lib     ************** //
 // ************************************************************************** //
 
-int BOOST_TEST_CALL_DECL
+int NDNBOOST_TEST_CALL_DECL
 main( int argc, char* argv[] )
 {
     // prototype for user's unit test init function
-#ifdef BOOST_TEST_ALTERNATIVE_INIT_API
+#ifdef NDNBOOST_TEST_ALTERNATIVE_INIT_API
     extern bool init_unit_test();
 
     ndnboost::unit_test::init_unit_test_func init_func = &init_unit_test;
@@ -237,10 +237,10 @@
     return ::ndnboost::unit_test::unit_test_main( init_func, argc, argv );
 }
 
-#endif // !BOOST_TEST_DYN_LINK && !BOOST_TEST_NO_MAIN
+#endif // !NDNBOOST_TEST_DYN_LINK && !NDNBOOST_TEST_NO_MAIN
 
 //____________________________________________________________________________//
 
 #include <ndnboost/test/detail/enable_warnings.hpp>
 
-#endif // BOOST_TEST_UNIT_TEST_MAIN_IPP_012205GER
+#endif // NDNBOOST_TEST_UNIT_TEST_MAIN_IPP_012205GER
diff --git a/include/ndnboost/test/impl/unit_test_monitor.ipp b/include/ndnboost/test/impl/unit_test_monitor.ipp
index 0932bf3..b74701d 100644
--- a/include/ndnboost/test/impl/unit_test_monitor.ipp
+++ b/include/ndnboost/test/impl/unit_test_monitor.ipp
@@ -13,8 +13,8 @@
 //  Test Framework to monitor test cases run.
 // ***************************************************************************
 
-#ifndef BOOST_TEST_UNIT_TEST_MONITOR_IPP_012205GER
-#define BOOST_TEST_UNIT_TEST_MONITOR_IPP_012205GER
+#ifndef NDNBOOST_TEST_UNIT_TEST_MONITOR_IPP_012205GER
+#define NDNBOOST_TEST_UNIT_TEST_MONITOR_IPP_012205GER
 
 // Boost.Test
 #include <ndnboost/test/unit_test_monitor.hpp>
@@ -98,4 +98,4 @@
 
 #include <ndnboost/test/detail/enable_warnings.hpp>
 
-#endif // BOOST_TEST_UNIT_TEST_MONITOR_IPP_012205GER
+#endif // NDNBOOST_TEST_UNIT_TEST_MONITOR_IPP_012205GER
diff --git a/include/ndnboost/test/impl/unit_test_parameters.ipp b/include/ndnboost/test/impl/unit_test_parameters.ipp
index ffc29c9..65f3fa5 100644
--- a/include/ndnboost/test/impl/unit_test_parameters.ipp
+++ b/include/ndnboost/test/impl/unit_test_parameters.ipp
@@ -15,8 +15,8 @@
 //  facility
 // ***************************************************************************
 
-#ifndef BOOST_TEST_UNIT_TEST_PARAMETERS_IPP_012205GER
-#define BOOST_TEST_UNIT_TEST_PARAMETERS_IPP_012205GER
+#ifndef NDNBOOST_TEST_UNIT_TEST_PARAMETERS_IPP_012205GER
+#define NDNBOOST_TEST_UNIT_TEST_PARAMETERS_IPP_012205GER
 
 // Boost.Test
 #include <ndnboost/test/detail/unit_test_parameters.hpp>
@@ -58,7 +58,7 @@
 
 //____________________________________________________________________________//
 
-# ifdef BOOST_NO_STDC_NAMESPACE
+# ifdef NDNBOOST_NO_STDC_NAMESPACE
 namespace std { using ::getenv; using ::strncmp; using ::strcmp; }
 # endif
 
@@ -93,7 +93,7 @@
     in >> val;
 
     ll = log_level_name[val];
-    BOOST_TEST_SETUP_ASSERT( ll != unit_test::invalid_log_level, "invalid log level " + val );
+    NDNBOOST_TEST_SETUP_ASSERT( ll != unit_test::invalid_log_level, "invalid log level " + val );
 
     return in;
 }
@@ -116,7 +116,7 @@
     in >> val;
 
     rl = report_level_name[val];
-    BOOST_TEST_SETUP_ASSERT( rl != INV_REPORT_LEVEL, "invalid report level " + val );
+    NDNBOOST_TEST_SETUP_ASSERT( rl != INV_REPORT_LEVEL, "invalid report level " + val );
 
     return in;
 }
@@ -138,7 +138,7 @@
     in >> val;
 
     of = output_format_name[val];
-    BOOST_TEST_SETUP_ASSERT( of != unit_test::INV_OF, "invalid output format " + val );
+    NDNBOOST_TEST_SETUP_ASSERT( of != unit_test::INV_OF, "invalid output format " + val );
 
     return in;
 }
@@ -175,25 +175,25 @@
 std::string USE_ALT_STACK     = "use_alt_stack";
 
 fixed_mapping<const_string,const_string> parameter_2_env_var(
-    AUTO_START_DBG    , "BOOST_TEST_AUTO_START_DBG",
-    BREAK_EXEC_PATH   , "BOOST_TEST_BREAK_EXEC_PATH",
-    BUILD_INFO        , "BOOST_TEST_BUILD_INFO",
-    CATCH_SYS_ERRORS  , "BOOST_TEST_CATCH_SYSTEM_ERRORS",
-    DETECT_FP_EXCEPT  , "BOOST_TEST_DETECT_FP_EXCEPTIONS",
-    DETECT_MEM_LEAKS  , "BOOST_TEST_DETECT_MEMORY_LEAK",
-    LOG_FORMAT        , "BOOST_TEST_LOG_FORMAT",
-    LOG_LEVEL         , "BOOST_TEST_LOG_LEVEL",
-    LOG_SINK          , "BOOST_TEST_LOG_SINK",
-    OUTPUT_FORMAT     , "BOOST_TEST_OUTPUT_FORMAT",
-    RANDOM_SEED       , "BOOST_TEST_RANDOM",
-    REPORT_FORMAT     , "BOOST_TEST_REPORT_FORMAT",
-    REPORT_LEVEL      , "BOOST_TEST_REPORT_LEVEL",
-    REPORT_SINK       , "BOOST_TEST_REPORT_SINK",
-    RESULT_CODE       , "BOOST_TEST_RESULT_CODE",
-    TESTS_TO_RUN      , "BOOST_TESTS_TO_RUN",
-    SAVE_TEST_PATTERN , "BOOST_TEST_SAVE_PATTERN",
-    SHOW_PROGRESS     , "BOOST_TEST_SHOW_PROGRESS",
-    USE_ALT_STACK     , "BOOST_TEST_USE_ALT_STACK",
+    AUTO_START_DBG    , "NDNBOOST_TEST_AUTO_START_DBG",
+    BREAK_EXEC_PATH   , "NDNBOOST_TEST_BREAK_EXEC_PATH",
+    BUILD_INFO        , "NDNBOOST_TEST_BUILD_INFO",
+    CATCH_SYS_ERRORS  , "NDNBOOST_TEST_CATCH_SYSTEM_ERRORS",
+    DETECT_FP_EXCEPT  , "NDNBOOST_TEST_DETECT_FP_EXCEPTIONS",
+    DETECT_MEM_LEAKS  , "NDNBOOST_TEST_DETECT_MEMORY_LEAK",
+    LOG_FORMAT        , "NDNBOOST_TEST_LOG_FORMAT",
+    LOG_LEVEL         , "NDNBOOST_TEST_LOG_LEVEL",
+    LOG_SINK          , "NDNBOOST_TEST_LOG_SINK",
+    OUTPUT_FORMAT     , "NDNBOOST_TEST_OUTPUT_FORMAT",
+    RANDOM_SEED       , "NDNBOOST_TEST_RANDOM",
+    REPORT_FORMAT     , "NDNBOOST_TEST_REPORT_FORMAT",
+    REPORT_LEVEL      , "NDNBOOST_TEST_REPORT_LEVEL",
+    REPORT_SINK       , "NDNBOOST_TEST_REPORT_SINK",
+    RESULT_CODE       , "NDNBOOST_TEST_RESULT_CODE",
+    TESTS_TO_RUN      , "NDNBOOST_TESTS_TO_RUN",
+    SAVE_TEST_PATTERN , "NDNBOOST_TEST_SAVE_PATTERN",
+    SHOW_PROGRESS     , "NDNBOOST_TEST_SHOW_PROGRESS",
+    USE_ALT_STACK     , "NDNBOOST_TEST_USE_ALT_STACK",
 
     ""
 );
@@ -412,7 +412,7 @@
 catch_sys_errors()
 {
     return retrieve_parameter( CATCH_SYS_ERRORS, s_cla_parser, 
-#ifdef BOOST_TEST_DEFAULTS_TO_CORE_DUMP
+#ifdef NDNBOOST_TEST_DEFAULTS_TO_CORE_DUMP
         false
 #else
         true 
@@ -524,4 +524,4 @@
 
 #include <ndnboost/test/detail/enable_warnings.hpp>
 
-#endif // BOOST_TEST_UNIT_TEST_PARAMETERS_IPP_012205GER
+#endif // NDNBOOST_TEST_UNIT_TEST_PARAMETERS_IPP_012205GER
diff --git a/include/ndnboost/test/impl/unit_test_suite.ipp b/include/ndnboost/test/impl/unit_test_suite.ipp
index 983682d..aea396e 100644
--- a/include/ndnboost/test/impl/unit_test_suite.ipp
+++ b/include/ndnboost/test/impl/unit_test_suite.ipp
@@ -13,8 +13,8 @@
 //                Extensions can be provided in separate files
 // ***************************************************************************
 
-#ifndef BOOST_TEST_UNIT_TEST_SUITE_IPP_012205GER
-#define BOOST_TEST_UNIT_TEST_SUITE_IPP_012205GER
+#ifndef NDNBOOST_TEST_UNIT_TEST_SUITE_IPP_012205GER
+#define NDNBOOST_TEST_UNIT_TEST_SUITE_IPP_012205GER
 
 // Boost.Test
 #include <ndnboost/detail/workaround.hpp>
@@ -33,8 +33,8 @@
 
 #include <ndnboost/test/detail/suppress_warnings.hpp>
 
-#if BOOST_WORKAROUND(__BORLANDC__, < 0x600) && \
-    BOOST_WORKAROUND(_STLPORT_VERSION, <= 0x450) \
+#if NDNBOOST_WORKAROUND(__BORLANDC__, < 0x600) && \
+    NDNBOOST_WORKAROUND(_STLPORT_VERSION, <= 0x450) \
     /**/
     using std::rand; // rand is in std and random_shuffle is in _STL
 #endif
@@ -78,7 +78,7 @@
 bool
 test_unit::check_dependencies() const
 {
-    BOOST_TEST_FOREACH( test_unit_id, tu_id, m_dependencies ) {
+    NDNBOOST_TEST_FOREACH( test_unit_id, tu_id, m_dependencies ) {
         if( !unit_test::results_collector.results( tu_id ).passed() )
             return false;
     }
@@ -108,7 +108,7 @@
 , m_test_func( test_func )
 {
      // !! weirdest MSVC BUG; try to remove this statement; looks like it eats first token of next statement   
-#if BOOST_WORKAROUND(BOOST_MSVC,<1300)   
+#if NDNBOOST_WORKAROUND(NDNBOOST_MSVC,<1300)   
      0;   
 #endif 
     framework::register_test_unit( this );
@@ -172,7 +172,7 @@
 test_unit_id
 test_suite::get( const_string tu_name ) const
 {
-    BOOST_TEST_FOREACH( test_unit_id, id, m_members ) {
+    NDNBOOST_TEST_FOREACH( test_unit_id, id, m_members ) {
         if( tu_name == framework::get( id, ut_detail::test_id_2_unit_type( id ) ).p_name.get() )
             return id;
     }
@@ -203,13 +203,13 @@
 
     try {
         if( runtime_config::random_seed() == 0 ) {
-            BOOST_TEST_FOREACH( test_unit_id, id, suite.m_members )
+            NDNBOOST_TEST_FOREACH( test_unit_id, id, suite.m_members )
                 traverse_test_tree( id, V );
         }
         else {
             std::vector<test_unit_id> members( suite.m_members );
             std::random_shuffle( members.begin(), members.end() );
-            BOOST_TEST_FOREACH( test_unit_id, id, members )
+            NDNBOOST_TEST_FOREACH( test_unit_id, id, members )
                 traverse_test_tree( id, V );
         }
         
@@ -284,7 +284,7 @@
 
     if( id != INV_TEST_UNIT_ID ) {
         ts = &framework::get<test_suite>( id ); // !! test for invalid tu type
-        BOOST_ASSERT( ts->p_parent_id == curr_ts_store().back()->p_id );
+        NDNBOOST_ASSERT( ts->p_parent_id == curr_ts_store().back()->p_id );
     }
     else {
         ts = new test_suite( ts_name );
@@ -343,4 +343,4 @@
 
 #include <ndnboost/test/detail/enable_warnings.hpp>
 
-#endif // BOOST_TEST_UNIT_TEST_SUITE_IPP_012205GER
+#endif // NDNBOOST_TEST_UNIT_TEST_SUITE_IPP_012205GER
diff --git a/include/ndnboost/test/impl/xml_log_formatter.ipp b/include/ndnboost/test/impl/xml_log_formatter.ipp
index 0bf6460..49321c3 100644
--- a/include/ndnboost/test/impl/xml_log_formatter.ipp
+++ b/include/ndnboost/test/impl/xml_log_formatter.ipp
@@ -12,8 +12,8 @@
 //  Description : implements XML Log formatter
 // ***************************************************************************
 
-#ifndef BOOST_TEST_XML_LOG_FORMATTER_IPP_020105GER
-#define BOOST_TEST_XML_LOG_FORMATTER_IPP_020105GER
+#ifndef NDNBOOST_TEST_XML_LOG_FORMATTER_IPP_020105GER
+#define NDNBOOST_TEST_XML_LOG_FORMATTER_IPP_020105GER
 
 // Boost.Test
 #include <ndnboost/test/output/xml_log_formatter.hpp>
@@ -68,12 +68,12 @@
 xml_log_formatter::log_build_info( std::ostream& ostr )
 {
     ostr  << "<BuildInfo"
-            << " platform"  << attr_value() << BOOST_PLATFORM
-            << " compiler"  << attr_value() << BOOST_COMPILER
-            << " stl"       << attr_value() << BOOST_STDLIB
-            << " boost=\""  << BOOST_VERSION/100000     << "."
-                            << BOOST_VERSION/100 % 1000 << "."
-                            << BOOST_VERSION % 100      << '\"'
+            << " platform"  << attr_value() << NDNBOOST_PLATFORM
+            << " compiler"  << attr_value() << NDNBOOST_COMPILER
+            << " stl"       << attr_value() << NDNBOOST_STDLIB
+            << " boost=\""  << NDNBOOST_VERSION/100000     << "."
+                            << NDNBOOST_VERSION/100 % 1000 << "."
+                            << NDNBOOST_VERSION % 100      << '\"'
             << "/>";
 }
 
@@ -142,9 +142,9 @@
 
     m_curr_tag = xml_tags[let];
     ostr << '<' << m_curr_tag
-         << BOOST_TEST_L( " file" ) << attr_value() << entry_data.m_file_name
-         << BOOST_TEST_L( " line" ) << attr_value() << entry_data.m_line_num
-         << BOOST_TEST_L( "><![CDATA[" );
+         << NDNBOOST_TEST_L( " file" ) << attr_value() << entry_data.m_file_name
+         << NDNBOOST_TEST_L( " line" ) << attr_value() << entry_data.m_line_num
+         << NDNBOOST_TEST_L( "><![CDATA[" );
 }
 
 //____________________________________________________________________________//
@@ -160,7 +160,7 @@
 void
 xml_log_formatter::log_entry_finish( std::ostream& ostr )
 {
-    ostr << BOOST_TEST_L( "]]></" ) << m_curr_tag << BOOST_TEST_L( ">" );
+    ostr << NDNBOOST_TEST_L( "]]></" ) << m_curr_tag << NDNBOOST_TEST_L( ">" );
 
     m_curr_tag.clear();
 }
@@ -177,4 +177,4 @@
 
 #include <ndnboost/test/detail/enable_warnings.hpp>
 
-#endif // BOOST_TEST_XML_LOG_FORMATTER_IPP_020105GER
+#endif // NDNBOOST_TEST_XML_LOG_FORMATTER_IPP_020105GER
diff --git a/include/ndnboost/test/impl/xml_report_formatter.ipp b/include/ndnboost/test/impl/xml_report_formatter.ipp
index 92655ee..42b28a7 100644
--- a/include/ndnboost/test/impl/xml_report_formatter.ipp
+++ b/include/ndnboost/test/impl/xml_report_formatter.ipp
@@ -12,8 +12,8 @@
 //  Description : XML report formatter
 // ***************************************************************************
 
-#ifndef BOOST_TEST_XML_REPORT_FORMATTER_IPP_020105GER
-#define BOOST_TEST_XML_REPORT_FORMATTER_IPP_020105GER
+#ifndef NDNBOOST_TEST_XML_REPORT_FORMATTER_IPP_020105GER
+#define NDNBOOST_TEST_XML_REPORT_FORMATTER_IPP_020105GER
 
 // Boost.Test
 #include <ndnboost/test/results_collector.hpp>
@@ -112,4 +112,4 @@
 
 #include <ndnboost/test/detail/enable_warnings.hpp>
 
-#endif // BOOST_TEST_XML_REPORT_FORMATTER_IPP_020105GER
+#endif // NDNBOOST_TEST_XML_REPORT_FORMATTER_IPP_020105GER
diff --git a/include/ndnboost/test/interaction_based.hpp b/include/ndnboost/test/interaction_based.hpp
index bb38d21..0f158c3 100644
--- a/include/ndnboost/test/interaction_based.hpp
+++ b/include/ndnboost/test/interaction_based.hpp
@@ -12,8 +12,8 @@
 //  Description : Facilities to perform interaction-based testing
 // ***************************************************************************
 
-#ifndef BOOST_TEST_INTERACTION_BASED_HPP_112105GER
-#define BOOST_TEST_INTERACTION_BASED_HPP_112105GER
+#ifndef NDNBOOST_TEST_INTERACTION_BASED_HPP_112105GER
+#define NDNBOOST_TEST_INTERACTION_BASED_HPP_112105GER
 
 // Boost.Test
 #include <ndnboost/test/detail/config.hpp>
@@ -29,60 +29,60 @@
 //____________________________________________________________________________//
 
 // ************************************************************************** //
-// **************               BOOST_ITEST_EPOINT             ************** //
+// **************               NDNBOOST_ITEST_EPOINT             ************** //
 // ************************************************************************** //
 
-#define BOOST_ITEST_EPOINT( description ) \
-    ::ndnboost::itest::manager::instance().exception_point( BOOST_TEST_L(__FILE__), __LINE__, description )
+#define NDNBOOST_ITEST_EPOINT( description ) \
+    ::ndnboost::itest::manager::instance().exception_point( NDNBOOST_TEST_L(__FILE__), __LINE__, description )
 /**/
 
 // ************************************************************************** //
-// **************               BOOST_ITEST_DPOINT             ************** //
+// **************               NDNBOOST_ITEST_DPOINT             ************** //
 // ************************************************************************** //
 
-#define BOOST_ITEST_DPOINT() \
-    ::ndnboost::itest::manager::instance().decision_point( BOOST_TEST_L(__FILE__), __LINE__ )
+#define NDNBOOST_ITEST_DPOINT() \
+    ::ndnboost::itest::manager::instance().decision_point( NDNBOOST_TEST_L(__FILE__), __LINE__ )
 /**/
 
 // ************************************************************************** //
-// **************                BOOST_ITEST_SCOPE             ************** //
+// **************                NDNBOOST_ITEST_SCOPE             ************** //
 // ************************************************************************** //
 
-#define BOOST_ITEST_SCOPE( scope_name ) \
-    ::ndnboost::itest::scope_guard itest_scope_guard ## __LINE__( BOOST_TEST_L(__FILE__), __LINE__, BOOST_STRINGIZE(scope_name) )
+#define NDNBOOST_ITEST_SCOPE( scope_name ) \
+    ::ndnboost::itest::scope_guard itest_scope_guard ## __LINE__( NDNBOOST_TEST_L(__FILE__), __LINE__, NDNBOOST_STRINGIZE(scope_name) )
 /**/
 
 // ************************************************************************** //
-// **************                 BOOST_ITEST_NEW              ************** //
+// **************                 NDNBOOST_ITEST_NEW              ************** //
 // ************************************************************************** //
 
-#define BOOST_ITEST_NEW( type_name ) \
-    new ( ::ndnboost::itest::location( BOOST_TEST_L(__FILE__), __LINE__ ) ) type_name
+#define NDNBOOST_ITEST_NEW( type_name ) \
+    new ( ::ndnboost::itest::location( NDNBOOST_TEST_L(__FILE__), __LINE__ ) ) type_name
 /**/
 
 // ************************************************************************** //
-// **************              BOOST_ITEST_DATA_FLOW           ************** //
+// **************              NDNBOOST_ITEST_DATA_FLOW           ************** //
 // ************************************************************************** //
 
-#define BOOST_ITEST_DATA_FLOW( v ) \
+#define NDNBOOST_ITEST_DATA_FLOW( v ) \
     ::ndnboost::itest::manager::instance().generic_data_flow( v )
 /**/
 
 // ************************************************************************** //
-// **************               BOOST_ITEST_RETURN             ************** //
+// **************               NDNBOOST_ITEST_RETURN             ************** //
 // ************************************************************************** //
 
-#define BOOST_ITEST_RETURN( type, default_value ) \
+#define NDNBOOST_ITEST_RETURN( type, default_value ) \
     ::ndnboost::itest::manager::instance().generic_return<type>( default_value )
 /**/
 
 // ************************************************************************** //
-// **************              BOOST_ITEST_MOCK_FUNC           ************** //
+// **************              NDNBOOST_ITEST_MOCK_FUNC           ************** //
 // ************************************************************************** //
 
-#define BOOST_ITEST_MOCK_FUNC( function_name )          \
-    BOOST_ITEST_SCOPE( function_name );                 \
-    BOOST_ITEST_EPOINT( 0 );                            \
+#define NDNBOOST_ITEST_MOCK_FUNC( function_name )          \
+    NDNBOOST_ITEST_SCOPE( function_name );                 \
+    NDNBOOST_ITEST_EPOINT( 0 );                            \
     return ::ndnboost::itest::mock_object<>::prototype();  \
 /**/
 
@@ -96,7 +96,7 @@
 // **************                    manager                   ************** //
 // ************************************************************************** //
 
-class BOOST_TEST_DECL manager {
+class NDNBOOST_TEST_DECL manager {
 public:
     // instance access
     static manager&     instance() { return *instance_ptr(); }
@@ -140,10 +140,10 @@
 
 protected:
     manager();
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) 
+#if NDNBOOST_WORKAROUND(__BORLANDC__, NDNBOOST_TESTED_AT(0x564)) 
 public:
 #endif
-    BOOST_TEST_PROTECTED_VIRTUAL ~manager();
+    NDNBOOST_TEST_PROTECTED_VIRTUAL ~manager();
 
 private:
     struct dummy_constr{};
@@ -193,12 +193,12 @@
 // **************              operator new overload           ************** //
 // ************************************************************************** //
 
-#if !defined(BOOST_ITEST_NO_NEW_OVERLOADS)
+#if !defined(NDNBOOST_ITEST_NO_NEW_OVERLOADS)
 
 // STL
 #include <cstdlib>
 
-# ifdef BOOST_NO_STDC_NAMESPACE
+# ifdef NDNBOOST_NO_STDC_NAMESPACE
 namespace std { using ::malloc; using ::free; }
 # endif
 # ifdef _CRTDBG_MAP_ALLOC
@@ -259,4 +259,4 @@
 
 #include <ndnboost/test/detail/enable_warnings.hpp>
 
-#endif // BOOST_TEST_INTERACTION_BASED_HPP_112105GER
+#endif // NDNBOOST_TEST_INTERACTION_BASED_HPP_112105GER
diff --git a/include/ndnboost/test/minimal.hpp b/include/ndnboost/test/minimal.hpp
index 9f4ca44..b2059f8 100644
--- a/include/ndnboost/test/minimal.hpp
+++ b/include/ndnboost/test/minimal.hpp
@@ -12,23 +12,23 @@
 //  Description : simple minimal testing definitions and implementation
 // ***************************************************************************
 
-#ifndef BOOST_TEST_MINIMAL_HPP_071894GER
-#define BOOST_TEST_MINIMAL_HPP_071894GER
+#ifndef NDNBOOST_TEST_MINIMAL_HPP_071894GER
+#define NDNBOOST_TEST_MINIMAL_HPP_071894GER
 
-#define BOOST_CHECK(exp)       \
+#define NDNBOOST_CHECK(exp)       \
   ( (exp)                      \
       ? static_cast<void>(0)   \
-      : ndnboost::minimal_test::report_error(#exp,__FILE__,__LINE__, BOOST_CURRENT_FUNCTION) )
+      : ndnboost::minimal_test::report_error(#exp,__FILE__,__LINE__, NDNBOOST_CURRENT_FUNCTION) )
 
-#define BOOST_REQUIRE(exp)     \
+#define NDNBOOST_REQUIRE(exp)     \
   ( (exp)                      \
       ? static_cast<void>(0)   \
-      : ndnboost::minimal_test::report_critical_error(#exp,__FILE__,__LINE__,BOOST_CURRENT_FUNCTION))
+      : ndnboost::minimal_test::report_critical_error(#exp,__FILE__,__LINE__,NDNBOOST_CURRENT_FUNCTION))
 
-#define BOOST_ERROR( msg_ )    \
-        ndnboost::minimal_test::report_error( (msg_),__FILE__,__LINE__, BOOST_CURRENT_FUNCTION, true )
-#define BOOST_FAIL( msg_ )     \
-        ndnboost::minimal_test::report_critical_error( (msg_),__FILE__,__LINE__, BOOST_CURRENT_FUNCTION, true )
+#define NDNBOOST_ERROR( msg_ )    \
+        ndnboost::minimal_test::report_error( (msg_),__FILE__,__LINE__, NDNBOOST_CURRENT_FUNCTION, true )
+#define NDNBOOST_FAIL( msg_ )     \
+        ndnboost::minimal_test::report_critical_error( (msg_),__FILE__,__LINE__, NDNBOOST_CURRENT_FUNCTION, true )
 
 //____________________________________________________________________________//
 
@@ -41,7 +41,7 @@
 
 // Boost
 #include <ndnboost/cstdlib.hpp>            // for exit codes#include <ndnboost/cstdlib.hpp>            // for exit codes
-#include <ndnboost/current_function.hpp>   // for BOOST_CURRENT_FUNCTION
+#include <ndnboost/current_function.hpp>   // for NDNBOOST_CURRENT_FUNCTION
 
 // STL
 #include <iostream>                     // std::cerr, std::endl
@@ -106,7 +106,7 @@
 
 //____________________________________________________________________________//
 
-int BOOST_TEST_CALL_DECL main( int argc, char* argv[] )
+int NDNBOOST_TEST_CALL_DECL main( int argc, char* argv[] )
 {
     using namespace ndnboost::minimal_test;
 
@@ -114,11 +114,11 @@
         ::ndnboost::execution_monitor ex_mon;
         int run_result = ex_mon.execute( caller( argc, argv ) );
 
-        BOOST_CHECK( run_result == 0 || run_result == ndnboost::exit_success );
+        NDNBOOST_CHECK( run_result == 0 || run_result == ndnboost::exit_success );
     }
     catch( ndnboost::execution_exception const& exex ) {
         if( exex.code() != ndnboost::execution_exception::no_error )
-            BOOST_ERROR( (std::string( "exception \"" ).
+            NDNBOOST_ERROR( (std::string( "exception \"" ).
                             append( exex.what().begin(), exex.what().end() ).
                             append( "\" caught" ) ).c_str() );
         std::cerr << "\n**** Testing aborted.";
@@ -140,4 +140,4 @@
 
 #include <ndnboost/test/detail/enable_warnings.hpp>
 
-#endif // BOOST_TEST_MINIMAL_HPP_071894GER
+#endif // NDNBOOST_TEST_MINIMAL_HPP_071894GER
diff --git a/include/ndnboost/test/mock_object.hpp b/include/ndnboost/test/mock_object.hpp
index f2ad7d0..585d94e 100644
--- a/include/ndnboost/test/mock_object.hpp
+++ b/include/ndnboost/test/mock_object.hpp
@@ -12,8 +12,8 @@
 //  Description : Facilities to perform exception safety_tests
 // ***************************************************************************
 
-#ifndef BOOST_TEST_MOCK_OBJECT_HPP_112205GER
-#define BOOST_TEST_MOCK_OBJECT_HPP_112205GER
+#ifndef NDNBOOST_TEST_MOCK_OBJECT_HPP_112205GER
+#define NDNBOOST_TEST_MOCK_OBJECT_HPP_112205GER
 
 // Boost.Test
 #include <ndnboost/test/detail/config.hpp>
@@ -59,8 +59,8 @@
 // ************************************************************************** //
 
 #define MO_OP_IMPL( op, descr, ret )                        \
-    BOOST_ITEST_SCOPE( mock_object::operator op );          \
-    BOOST_ITEST_EPOINT( descr );                            \
+    NDNBOOST_ITEST_SCOPE( mock_object::operator op );          \
+    NDNBOOST_ITEST_EPOINT( descr );                            \
     return ret                                              \
 /**/
 
@@ -74,7 +74,7 @@
 #define MO_UNARY_BOOL_OP( op, descr )                       \
 bool operator op() const                                    \
 {                                                           \
-    MO_OP_IMPL( op, descr, (!!BOOST_ITEST_DPOINT()) );      \
+    MO_OP_IMPL( op, descr, (!!NDNBOOST_ITEST_DPOINT()) );      \
 }                                                           \
 /**/
 
@@ -108,21 +108,21 @@
 operator op( mock_object<i1,Base1> const&,                  \
              mock_object<i2,Base2> const& )                 \
 {                                                           \
-    MO_OP_IMPL( op, descr, BOOST_ITEST_DPOINT() );          \
+    MO_OP_IMPL( op, descr, NDNBOOST_ITEST_DPOINT() );          \
 }                                                           \
                                                             \
 template<int i, typename Base, typename T>                  \
 inline bool                                                 \
 operator op( mock_object<i,Base> const&, T const& )         \
 {                                                           \
-    MO_OP_IMPL( op, descr, BOOST_ITEST_DPOINT() );          \
+    MO_OP_IMPL( op, descr, NDNBOOST_ITEST_DPOINT() );          \
 }                                                           \
                                                             \
 template<int i, typename Base, typename T>                  \
 inline bool                                                 \
 operator op( T const&, mock_object<i,Base> const& )         \
 {                                                           \
-    MO_OP_IMPL( op, descr, BOOST_ITEST_DPOINT() );          \
+    MO_OP_IMPL( op, descr, NDNBOOST_ITEST_DPOINT() );          \
 }                                                           \
 /**/
 
@@ -153,54 +153,54 @@
     // Constructors
     mock_object()
     {
-        BOOST_ITEST_SCOPE( mock_object::mock_object );
-        BOOST_ITEST_EPOINT( "Mock object default constructor" );
+        NDNBOOST_ITEST_SCOPE( mock_object::mock_object );
+        NDNBOOST_ITEST_EPOINT( "Mock object default constructor" );
     }
 
     template<typename T1>
     mock_object( T1 const& arg1 )
     : mock_object_base( arg1 )
     {
-        BOOST_ITEST_SCOPE( mock_object::mock_object );
-        BOOST_ITEST_EPOINT( "Mock object constructor" );
+        NDNBOOST_ITEST_SCOPE( mock_object::mock_object );
+        NDNBOOST_ITEST_EPOINT( "Mock object constructor" );
     }
 
     template<typename T1, typename T2>
     mock_object( T1 const& arg1, T2 const& arg2 )
     : mock_object_base( arg1, arg2 )
     {
-        BOOST_ITEST_SCOPE( mock_object::mock_object );
-        BOOST_ITEST_EPOINT( "Mock object constructor" );
+        NDNBOOST_ITEST_SCOPE( mock_object::mock_object );
+        NDNBOOST_ITEST_EPOINT( "Mock object constructor" );
     }
 
     template<typename T1, typename T2, typename T3>
     mock_object( T1 const& arg1, T2 const& arg2, T3 const& arg3 )
     : mock_object_base( arg1, arg2, arg3 )
     {
-        BOOST_ITEST_SCOPE( mock_object::mock_object );
-        BOOST_ITEST_EPOINT( "Mock object constructor" );
+        NDNBOOST_ITEST_SCOPE( mock_object::mock_object );
+        NDNBOOST_ITEST_EPOINT( "Mock object constructor" );
     }
 
     template<typename T1, typename T2, typename T3, typename T4>
     mock_object( T1 const& arg1, T2 const& arg2, T3 const& arg3, T4 const& arg4 )
     : mock_object_base( arg1, arg2, arg3, arg4 )
     {
-        BOOST_ITEST_SCOPE( mock_object::mock_object );
-        BOOST_ITEST_EPOINT( "Mock object constructor" );
+        NDNBOOST_ITEST_SCOPE( mock_object::mock_object );
+        NDNBOOST_ITEST_EPOINT( "Mock object constructor" );
     }
 
     template<typename T1, typename T2, typename T3, typename T4, typename T5>
     mock_object( T1 const& arg1, T2 const& arg2, T3 const& arg3, T4 const& arg4, T5 const& arg5 )
     : mock_object_base( arg1, arg2, arg3, arg4, arg5 )
     {
-        BOOST_ITEST_SCOPE( mock_object::mock_object );
-        BOOST_ITEST_EPOINT( "Mock object constructor" );
+        NDNBOOST_ITEST_SCOPE( mock_object::mock_object );
+        NDNBOOST_ITEST_EPOINT( "Mock object constructor" );
     }
 
     mock_object( mock_object const& )
     {
-        BOOST_ITEST_SCOPE( mock_object::mock_object );
-        BOOST_ITEST_EPOINT( "Mock object copy constructor" );
+        NDNBOOST_ITEST_SCOPE( mock_object::mock_object );
+        NDNBOOST_ITEST_EPOINT( "Mock object copy constructor" );
     }
 
     // assignment
@@ -238,7 +238,7 @@
     operator safe_bool() const
     {
         MO_OP_IMPL( safe_bool, "Bool context conversion",
-                    (BOOST_ITEST_DPOINT() ? 0 : &dummy::nonnull) );
+                    (NDNBOOST_ITEST_DPOINT() ? 0 : &dummy::nonnull) );
     }
 
     // Function-call operators
@@ -286,7 +286,7 @@
     }
 };
 
-// !! MO_BINARY_OP( BOOST_PP_COMMA(), "Comma operator" )
+// !! MO_BINARY_OP( NDNBOOST_PP_COMMA(), "Comma operator" )
 
 MO_BINARY_BOOL_OP( !=, "Inequality" )
 MO_BINARY_OP( %, "Modulus" )
@@ -325,4 +325,4 @@
 
 #include <ndnboost/test/detail/enable_warnings.hpp>
 
-#endif // BOOST_TEST_MOCK_OBJECT_HPP_112205GER
+#endif // NDNBOOST_TEST_MOCK_OBJECT_HPP_112205GER
diff --git a/include/ndnboost/test/output/compiler_log_formatter.hpp b/include/ndnboost/test/output/compiler_log_formatter.hpp
index acef150..f41df07 100644
--- a/include/ndnboost/test/output/compiler_log_formatter.hpp
+++ b/include/ndnboost/test/output/compiler_log_formatter.hpp
@@ -12,8 +12,8 @@
 //  Description : contains compiler like Log formatter definition
 // ***************************************************************************
 
-#ifndef BOOST_TEST_COMPILER_LOG_FORMATTER_HPP_020105GER
-#define BOOST_TEST_COMPILER_LOG_FORMATTER_HPP_020105GER
+#ifndef NDNBOOST_TEST_COMPILER_LOG_FORMATTER_HPP_020105GER
+#define NDNBOOST_TEST_COMPILER_LOG_FORMATTER_HPP_020105GER
 
 // Boost.Test
 #include <ndnboost/test/detail/global_typedef.hpp>
@@ -33,7 +33,7 @@
 // **************             compiler_log_formatter           ************** //
 // ************************************************************************** //
 
-class BOOST_TEST_DECL compiler_log_formatter : public unit_test_log_formatter {
+class NDNBOOST_TEST_DECL compiler_log_formatter : public unit_test_log_formatter {
 public:
     // Formatter interface
     void    log_start( std::ostream&, counter_t test_cases_amount );
@@ -65,4 +65,4 @@
 
 #include <ndnboost/test/detail/enable_warnings.hpp>
 
-#endif // BOOST_TEST_COMPILER_LOG_FORMATTER_HPP_020105GER
+#endif // NDNBOOST_TEST_COMPILER_LOG_FORMATTER_HPP_020105GER
diff --git a/include/ndnboost/test/output/plain_report_formatter.hpp b/include/ndnboost/test/output/plain_report_formatter.hpp
index a9bd022..0907c3f 100644
--- a/include/ndnboost/test/output/plain_report_formatter.hpp
+++ b/include/ndnboost/test/output/plain_report_formatter.hpp
@@ -12,8 +12,8 @@
 //  Description : plain report formatter implementation
 // ***************************************************************************
 
-#ifndef BOOST_TEST_PLAIN_REPORT_FORMATTER_HPP_020105GER
-#define BOOST_TEST_PLAIN_REPORT_FORMATTER_HPP_020105GER
+#ifndef NDNBOOST_TEST_PLAIN_REPORT_FORMATTER_HPP_020105GER
+#define NDNBOOST_TEST_PLAIN_REPORT_FORMATTER_HPP_020105GER
 
 // Boost.Test
 #include <ndnboost/test/detail/global_typedef.hpp>
@@ -59,4 +59,4 @@
 
 #include <ndnboost/test/detail/enable_warnings.hpp>
 
-#endif // BOOST_TEST_PLAIN_REPORT_FORMATTER_HPP_020105GER
+#endif // NDNBOOST_TEST_PLAIN_REPORT_FORMATTER_HPP_020105GER
diff --git a/include/ndnboost/test/output/xml_log_formatter.hpp b/include/ndnboost/test/output/xml_log_formatter.hpp
index 59ffdcc..7e548ad 100644
--- a/include/ndnboost/test/output/xml_log_formatter.hpp
+++ b/include/ndnboost/test/output/xml_log_formatter.hpp
@@ -12,8 +12,8 @@
 //  Description : contains XML Log formatter definition
 // ***************************************************************************
 
-#ifndef BOOST_TEST_XML_LOG_FORMATTER_020105GER
-#define BOOST_TEST_XML_LOG_FORMATTER_020105GER
+#ifndef NDNBOOST_TEST_XML_LOG_FORMATTER_020105GER
+#define NDNBOOST_TEST_XML_LOG_FORMATTER_020105GER
 
 // Boost.Test
 #include <ndnboost/test/detail/global_typedef.hpp>
@@ -69,4 +69,4 @@
 
 #include <ndnboost/test/detail/enable_warnings.hpp>
 
-#endif // BOOST_TEST_XML_LOG_FORMATTER_020105GER
+#endif // NDNBOOST_TEST_XML_LOG_FORMATTER_020105GER
diff --git a/include/ndnboost/test/output/xml_report_formatter.hpp b/include/ndnboost/test/output/xml_report_formatter.hpp
index 17fbe8d..57f02c0 100644
--- a/include/ndnboost/test/output/xml_report_formatter.hpp
+++ b/include/ndnboost/test/output/xml_report_formatter.hpp
@@ -12,8 +12,8 @@
 //  Description : XML report formatter implementation
 // ***************************************************************************
 
-#ifndef BOOST_TEST_XML_REPORT_FORMATTER_HPP_020105GER
-#define BOOST_TEST_XML_REPORT_FORMATTER_HPP_020105GER
+#ifndef NDNBOOST_TEST_XML_REPORT_FORMATTER_HPP_020105GER
+#define NDNBOOST_TEST_XML_REPORT_FORMATTER_HPP_020105GER
 
 // Boost.Test
 #include <ndnboost/test/detail/global_typedef.hpp>
@@ -55,4 +55,4 @@
 
 #include <ndnboost/test/detail/enable_warnings.hpp>
 
-#endif // BOOST_TEST_XML_REPORT_FORMATTER_HPP_020105GER
+#endif // NDNBOOST_TEST_XML_REPORT_FORMATTER_HPP_020105GER
diff --git a/include/ndnboost/test/output_test_stream.hpp b/include/ndnboost/test/output_test_stream.hpp
index a62aaef..4f0ab02 100644
--- a/include/ndnboost/test/output_test_stream.hpp
+++ b/include/ndnboost/test/output_test_stream.hpp
@@ -12,8 +12,8 @@
 //  Description : output_test_stream class definition
 // ***************************************************************************
 
-#ifndef BOOST_TEST_OUTPUT_TEST_STREAM_HPP_012705GER
-#define BOOST_TEST_OUTPUT_TEST_STREAM_HPP_012705GER
+#ifndef NDNBOOST_TEST_OUTPUT_TEST_STREAM_HPP_012705GER
+#define NDNBOOST_TEST_OUTPUT_TEST_STREAM_HPP_012705GER
 
 // Boost.Test
 #include <ndnboost/test/detail/global_typedef.hpp>
@@ -37,7 +37,7 @@
 
 namespace test_tools {
 
-class BOOST_TEST_DECL output_test_stream : public wrap_stringstream::wrapped_stream {
+class NDNBOOST_TEST_DECL output_test_stream : public wrap_stringstream::wrapped_stream {
     typedef unit_test::const_string const_string;
     typedef predicate_result        result_type;
 public:
@@ -75,4 +75,4 @@
 
 #include <ndnboost/test/detail/enable_warnings.hpp>
 
-#endif // BOOST_TEST_OUTPUT_TEST_STREAM_HPP_012705GER
+#endif // NDNBOOST_TEST_OUTPUT_TEST_STREAM_HPP_012705GER
diff --git a/include/ndnboost/test/predicate_result.hpp b/include/ndnboost/test/predicate_result.hpp
index 13dc668..532b689 100644
--- a/include/ndnboost/test/predicate_result.hpp
+++ b/include/ndnboost/test/predicate_result.hpp
@@ -12,8 +12,8 @@
 //  Description : enhanced result for test predicate that include message explaining failure
 // ***************************************************************************
 
-#ifndef BOOST_TEST_PREDICATE_RESULT_HPP_012705GER
-#define BOOST_TEST_PREDICATE_RESULT_HPP_012705GER
+#ifndef NDNBOOST_TEST_PREDICATE_RESULT_HPP_012705GER
+#define NDNBOOST_TEST_PREDICATE_RESULT_HPP_012705GER
 
 // Boost.Test
 #include <ndnboost/test/utils/class_properties.hpp>
@@ -39,7 +39,7 @@
 // **************                predicate_result              ************** //
 // ************************************************************************** //
 
-class BOOST_TEST_DECL predicate_result {
+class NDNBOOST_TEST_DECL predicate_result {
     typedef unit_test::const_string      const_string;
     struct dummy { void nonnull() {}; };
     typedef void (dummy::*safe_bool)();
@@ -59,7 +59,7 @@
     operator            safe_bool() const           { return !!p_predicate_value ? &dummy::nonnull : 0; }
 
     // Public properties
-    BOOST_READONLY_PROPERTY( bool, (predicate_result) ) p_predicate_value;
+    NDNBOOST_READONLY_PROPERTY( bool, (predicate_result) ) p_predicate_value;
 
     // Access methods
     bool                has_empty_message() const   { return !m_message; }
@@ -85,4 +85,4 @@
 
 #include <ndnboost/test/detail/enable_warnings.hpp>
 
-#endif // BOOST_TEST_PREDICATE_RESULT_HPP_012705GER
+#endif // NDNBOOST_TEST_PREDICATE_RESULT_HPP_012705GER
diff --git a/include/ndnboost/test/progress_monitor.hpp b/include/ndnboost/test/progress_monitor.hpp
index bca78ad..bf2c489 100644
--- a/include/ndnboost/test/progress_monitor.hpp
+++ b/include/ndnboost/test/progress_monitor.hpp
@@ -12,8 +12,8 @@
 //  Description : defines simple text based progress monitor
 // ***************************************************************************
 
-#ifndef BOOST_TEST_PROGRESS_MONITOR_HPP_020105GER
-#define BOOST_TEST_PROGRESS_MONITOR_HPP_020105GER
+#ifndef NDNBOOST_TEST_PROGRESS_MONITOR_HPP_020105GER
+#define NDNBOOST_TEST_PROGRESS_MONITOR_HPP_020105GER
 
 // Boost.Test
 #include <ndnboost/test/test_observer.hpp>
@@ -34,7 +34,7 @@
 // **************                progress_monitor              ************** //
 // ************************************************************************** //
 
-class BOOST_TEST_DECL progress_monitor_t : public test_observer, public singleton<progress_monitor_t> {
+class NDNBOOST_TEST_DECL progress_monitor_t : public test_observer, public singleton<progress_monitor_t> {
 public:
     // test observer interface
     void    test_start( counter_t test_cases_amount );
@@ -53,10 +53,10 @@
     void    set_stream( std::ostream& );
 
 private:
-    BOOST_TEST_SINGLETON_CONS( progress_monitor_t );
+    NDNBOOST_TEST_SINGLETON_CONS( progress_monitor_t );
 }; // progress_monitor_t
 
-BOOST_TEST_SINGLETON_INST( progress_monitor )
+NDNBOOST_TEST_SINGLETON_INST( progress_monitor )
 
 } // namespace unit_test
 
@@ -66,5 +66,5 @@
 
 #include <ndnboost/test/detail/enable_warnings.hpp>
 
-#endif // BOOST_TEST_PROGRESS_MONITOR_HPP_020105GER
+#endif // NDNBOOST_TEST_PROGRESS_MONITOR_HPP_020105GER
 
diff --git a/include/ndnboost/test/results_collector.hpp b/include/ndnboost/test/results_collector.hpp
index 858bc51..3fdccfa 100644
--- a/include/ndnboost/test/results_collector.hpp
+++ b/include/ndnboost/test/results_collector.hpp
@@ -13,8 +13,8 @@
 //  gathering test results and presenting this information to end-user
 // ***************************************************************************
 
-#ifndef BOOST_TEST_RESULTS_COLLECTOR_HPP_071894GER
-#define BOOST_TEST_RESULTS_COLLECTOR_HPP_071894GER
+#ifndef NDNBOOST_TEST_RESULTS_COLLECTOR_HPP_071894GER
+#define NDNBOOST_TEST_RESULTS_COLLECTOR_HPP_071894GER
 
 // Boost.Test
 #include <ndnboost/test/test_observer.hpp>
@@ -45,12 +45,12 @@
 // **************                 test_results                 ************** //
 // ************************************************************************** //
 
-class BOOST_TEST_DECL test_results {
+class NDNBOOST_TEST_DECL test_results {
 public:
     test_results();
 
-    typedef BOOST_READONLY_PROPERTY( counter_t, (results_collector_t)(test_results)(results_collect_helper) ) counter_prop;
-    typedef BOOST_READONLY_PROPERTY( bool,      (results_collector_t)(test_results)(results_collect_helper) ) bool_prop;
+    typedef NDNBOOST_READONLY_PROPERTY( counter_t, (results_collector_t)(test_results)(results_collect_helper) ) counter_prop;
+    typedef NDNBOOST_READONLY_PROPERTY( bool,      (results_collector_t)(test_results)(results_collect_helper) ) bool_prop;
 
     counter_prop    p_assertions_passed;
     counter_prop    p_assertions_failed;
@@ -76,7 +76,7 @@
 // **************               results_collector              ************** //
 // ************************************************************************** //
 
-class BOOST_TEST_DECL results_collector_t : public test_observer, public singleton<results_collector_t> {
+class NDNBOOST_TEST_DECL results_collector_t : public test_observer, public singleton<results_collector_t> {
 public:
     // test_observer interface implementation
     void                test_start( counter_t test_cases_amount );
@@ -95,10 +95,10 @@
     test_results const& results( test_unit_id ) const;
 
 private:
-    BOOST_TEST_SINGLETON_CONS( results_collector_t );
+    NDNBOOST_TEST_SINGLETON_CONS( results_collector_t );
 };
 
-BOOST_TEST_SINGLETON_INST( results_collector )
+NDNBOOST_TEST_SINGLETON_INST( results_collector )
 
 } // namespace unit_test
 
@@ -108,5 +108,5 @@
 
 #include <ndnboost/test/detail/enable_warnings.hpp>
 
-#endif // BOOST_TEST_RESULTS_COLLECTOR_HPP_071894GER
+#endif // NDNBOOST_TEST_RESULTS_COLLECTOR_HPP_071894GER
 
diff --git a/include/ndnboost/test/results_reporter.hpp b/include/ndnboost/test/results_reporter.hpp
index 013523c..16b9ec3 100644
--- a/include/ndnboost/test/results_reporter.hpp
+++ b/include/ndnboost/test/results_reporter.hpp
@@ -13,8 +13,8 @@
 //  gathering test results and presenting this information to end-user
 // ***************************************************************************
 
-#ifndef BOOST_TEST_RESULTS_REPORTER_HPP_021205GER
-#define BOOST_TEST_RESULTS_REPORTER_HPP_021205GER
+#ifndef NDNBOOST_TEST_RESULTS_REPORTER_HPP_021205GER
+#define NDNBOOST_TEST_RESULTS_REPORTER_HPP_021205GER
 
 // Boost.Test
 #include <ndnboost/test/detail/global_typedef.hpp>
@@ -37,7 +37,7 @@
 // **************              formatter interface             ************** //
 // ************************************************************************** //
 
-class BOOST_TEST_DECL format {
+class NDNBOOST_TEST_DECL format {
 public:
     // Destructor
     virtual ~format() {}
@@ -55,18 +55,18 @@
 // **************              report configuration            ************** //
 // ************************************************************************** //
 
-BOOST_TEST_DECL void    set_level( report_level );
-BOOST_TEST_DECL void    set_stream( std::ostream& );
-BOOST_TEST_DECL void    set_format( output_format );
-BOOST_TEST_DECL void    set_format( results_reporter::format* );
+NDNBOOST_TEST_DECL void    set_level( report_level );
+NDNBOOST_TEST_DECL void    set_stream( std::ostream& );
+NDNBOOST_TEST_DECL void    set_format( output_format );
+NDNBOOST_TEST_DECL void    set_format( results_reporter::format* );
 
-BOOST_TEST_DECL std::ostream& get_stream();
+NDNBOOST_TEST_DECL std::ostream& get_stream();
 
 // ************************************************************************** //
 // **************               report initiation              ************** //
 // ************************************************************************** //
 
-BOOST_TEST_DECL void    make_report( report_level l = INV_REPORT_LEVEL, test_unit_id = INV_TEST_UNIT_ID );
+NDNBOOST_TEST_DECL void    make_report( report_level l = INV_REPORT_LEVEL, test_unit_id = INV_TEST_UNIT_ID );
 inline void             confirmation_report( test_unit_id id = INV_TEST_UNIT_ID )   
 { make_report( CONFIRMATION_REPORT, id ); }
 inline void             short_report( test_unit_id id = INV_TEST_UNIT_ID )
@@ -84,5 +84,5 @@
 
 #include <ndnboost/test/detail/enable_warnings.hpp>
 
-#endif // BOOST_TEST_RESULTS_REPORTER_HPP_021205GER
+#endif // NDNBOOST_TEST_RESULTS_REPORTER_HPP_021205GER
 
diff --git a/include/ndnboost/test/test_observer.hpp b/include/ndnboost/test/test_observer.hpp
index 21a0846..7757a92 100644
--- a/include/ndnboost/test/test_observer.hpp
+++ b/include/ndnboost/test/test_observer.hpp
@@ -12,8 +12,8 @@
 //  Description : defines abstract interface for test observer
 // ***************************************************************************
 
-#ifndef BOOST_TEST_TEST_OBSERVER_HPP_021005GER
-#define BOOST_TEST_TEST_OBSERVER_HPP_021005GER
+#ifndef NDNBOOST_TEST_TEST_OBSERVER_HPP_021005GER
+#define NDNBOOST_TEST_TEST_OBSERVER_HPP_021005GER
 
 // Boost.Test
 #include <ndnboost/test/detail/fwd_decl.hpp>
@@ -32,7 +32,7 @@
 // **************                 test_observer                ************** //
 // ************************************************************************** //
 
-class BOOST_TEST_DECL test_observer {
+class NDNBOOST_TEST_DECL test_observer {
 public:
     // test observer interface
     virtual void    test_start( counter_t /* test_cases_amount */ ) {}
@@ -50,7 +50,7 @@
     virtual int     priority() { return 0; }
 
 protected:
-    BOOST_TEST_PROTECTED_VIRTUAL ~test_observer() {}
+    NDNBOOST_TEST_PROTECTED_VIRTUAL ~test_observer() {}
 };
 
 } // unit_test
@@ -61,5 +61,5 @@
 
 #include <ndnboost/test/detail/enable_warnings.hpp>
 
-#endif // BOOST_TEST_TEST_OBSERVER_HPP_021005GER
+#endif // NDNBOOST_TEST_TEST_OBSERVER_HPP_021005GER
 
diff --git a/include/ndnboost/test/test_tools.hpp b/include/ndnboost/test/test_tools.hpp
index 49a0f73..8e71c02 100644
--- a/include/ndnboost/test/test_tools.hpp
+++ b/include/ndnboost/test/test_tools.hpp
@@ -12,8 +12,8 @@
 //  Description : contains definition for all test tools in test toolbox
 // ***************************************************************************
 
-#ifndef BOOST_TEST_TEST_TOOLS_HPP_012705GER
-#define BOOST_TEST_TEST_TOOLS_HPP_012705GER
+#ifndef NDNBOOST_TEST_TEST_TOOLS_HPP_012705GER
+#define NDNBOOST_TEST_TEST_TOOLS_HPP_012705GER
 
 // Boost.Test
 #include <ndnboost/test/predicate_result.hpp>
@@ -50,7 +50,7 @@
 #include <ios>              // for std::boolalpha
 #include <climits>          // for CHAR_BIT
 
-#ifdef BOOST_MSVC
+#ifdef NDNBOOST_MSVC
 # pragma warning(disable: 4127) // conditional expression is constant
 #endif
 
@@ -73,11 +73,11 @@
 // CT - check type
 // ARGS - arguments list
 
-#define BOOST_TEST_TOOL_IMPL( func, P, check_descr, TL, CT )            \
+#define NDNBOOST_TEST_TOOL_IMPL( func, P, check_descr, TL, CT )            \
     ::ndnboost::test_tools::tt_detail::func(                               \
         P,                                                              \
         ::ndnboost::unit_test::lazy_ostream::instance() << check_descr,    \
-        BOOST_TEST_L(__FILE__),                                         \
+        NDNBOOST_TEST_L(__FILE__),                                         \
         static_cast<std::size_t>(__LINE__),                             \
         ::ndnboost::test_tools::tt_detail::TL,                             \
         ::ndnboost::test_tools::tt_detail::CT                              \
@@ -85,220 +85,220 @@
 
 //____________________________________________________________________________//
 
-#define BOOST_CHECK_IMPL( P, check_descr, TL, CT )                  \
+#define NDNBOOST_CHECK_IMPL( P, check_descr, TL, CT )                  \
 do {                                                                \
-    BOOST_TEST_PASSPOINT();                                         \
-    BOOST_TEST_TOOL_IMPL( check_impl, P, check_descr, TL, CT ), 0 );\
+    NDNBOOST_TEST_PASSPOINT();                                         \
+    NDNBOOST_TEST_TOOL_IMPL( check_impl, P, check_descr, TL, CT ), 0 );\
 } while( ::ndnboost::test_tools::dummy_cond )                          \
 /**/
 
 //____________________________________________________________________________//
 
-#define BOOST_TEST_PASS_ARG_INFO( r, data, arg ) , arg, BOOST_STRINGIZE( arg )
+#define NDNBOOST_TEST_PASS_ARG_INFO( r, data, arg ) , arg, NDNBOOST_STRINGIZE( arg )
 
-#define BOOST_CHECK_WITH_ARGS_IMPL( P, check_descr, TL, CT, ARGS )  \
+#define NDNBOOST_CHECK_WITH_ARGS_IMPL( P, check_descr, TL, CT, ARGS )  \
 do {                                                                \
-    BOOST_TEST_PASSPOINT();                                         \
-    BOOST_TEST_TOOL_IMPL( check_frwd, P, check_descr, TL, CT )      \
-    BOOST_PP_SEQ_FOR_EACH( BOOST_TEST_PASS_ARG_INFO, '_', ARGS ) ); \
+    NDNBOOST_TEST_PASSPOINT();                                         \
+    NDNBOOST_TEST_TOOL_IMPL( check_frwd, P, check_descr, TL, CT )      \
+    NDNBOOST_PP_SEQ_FOR_EACH( NDNBOOST_TEST_PASS_ARG_INFO, '_', ARGS ) ); \
 } while( ::ndnboost::test_tools::dummy_cond )                          \
 /**/
 
 //____________________________________________________________________________//
 
-#define BOOST_WARN( P )                     BOOST_CHECK_IMPL( (P), BOOST_TEST_STRINGIZE( P ), WARN, CHECK_PRED )
-#define BOOST_CHECK( P )                    BOOST_CHECK_IMPL( (P), BOOST_TEST_STRINGIZE( P ), CHECK, CHECK_PRED )
-#define BOOST_REQUIRE( P )                  BOOST_CHECK_IMPL( (P), BOOST_TEST_STRINGIZE( P ), REQUIRE, CHECK_PRED )
+#define NDNBOOST_WARN( P )                     NDNBOOST_CHECK_IMPL( (P), NDNBOOST_TEST_STRINGIZE( P ), WARN, CHECK_PRED )
+#define NDNBOOST_CHECK( P )                    NDNBOOST_CHECK_IMPL( (P), NDNBOOST_TEST_STRINGIZE( P ), CHECK, CHECK_PRED )
+#define NDNBOOST_REQUIRE( P )                  NDNBOOST_CHECK_IMPL( (P), NDNBOOST_TEST_STRINGIZE( P ), REQUIRE, CHECK_PRED )
 
 //____________________________________________________________________________//
 
-#define BOOST_WARN_MESSAGE( P, M )          BOOST_CHECK_IMPL( (P), M, WARN, CHECK_MSG )
-#define BOOST_CHECK_MESSAGE( P, M )         BOOST_CHECK_IMPL( (P), M, CHECK, CHECK_MSG )
-#define BOOST_REQUIRE_MESSAGE( P, M )       BOOST_CHECK_IMPL( (P), M, REQUIRE, CHECK_MSG )
+#define NDNBOOST_WARN_MESSAGE( P, M )          NDNBOOST_CHECK_IMPL( (P), M, WARN, CHECK_MSG )
+#define NDNBOOST_CHECK_MESSAGE( P, M )         NDNBOOST_CHECK_IMPL( (P), M, CHECK, CHECK_MSG )
+#define NDNBOOST_REQUIRE_MESSAGE( P, M )       NDNBOOST_CHECK_IMPL( (P), M, REQUIRE, CHECK_MSG )
 
 //____________________________________________________________________________//
 
-#define BOOST_ERROR( M )                    BOOST_CHECK_MESSAGE( false, M )
-#define BOOST_FAIL( M )                     BOOST_REQUIRE_MESSAGE( false, M )
+#define NDNBOOST_ERROR( M )                    NDNBOOST_CHECK_MESSAGE( false, M )
+#define NDNBOOST_FAIL( M )                     NDNBOOST_REQUIRE_MESSAGE( false, M )
 
 //____________________________________________________________________________//
 
-#define BOOST_CHECK_THROW_IMPL( S, E, P, prefix, TL )                                                   \
+#define NDNBOOST_CHECK_THROW_IMPL( S, E, P, prefix, TL )                                                   \
     try {                                                                                               \
-        BOOST_TEST_PASSPOINT();                                                                         \
+        NDNBOOST_TEST_PASSPOINT();                                                                         \
         S;                                                                                              \
-        BOOST_CHECK_IMPL( false, "exception " BOOST_STRINGIZE( E ) " is expected", TL, CHECK_MSG ); }   \
+        NDNBOOST_CHECK_IMPL( false, "exception " NDNBOOST_STRINGIZE( E ) " is expected", TL, CHECK_MSG ); }   \
     catch( E const& ex ) {                                                                              \
         ::ndnboost::unit_test::ut_detail::ignore_unused_variable_warning( ex );                            \
-        BOOST_CHECK_IMPL( P, prefix BOOST_STRINGIZE( E ) " is caught", TL, CHECK_MSG );                 \
+        NDNBOOST_CHECK_IMPL( P, prefix NDNBOOST_STRINGIZE( E ) " is caught", TL, CHECK_MSG );                 \
     }                                                                                                   \
 /**/
 
 //____________________________________________________________________________//
 
-#define BOOST_WARN_THROW( S, E )            BOOST_CHECK_THROW_IMPL( S, E, true, "exception ", WARN )
-#define BOOST_CHECK_THROW( S, E )           BOOST_CHECK_THROW_IMPL( S, E, true, "exception ", CHECK )
-#define BOOST_REQUIRE_THROW( S, E )         BOOST_CHECK_THROW_IMPL( S, E, true, "exception ", REQUIRE )
+#define NDNBOOST_WARN_THROW( S, E )            NDNBOOST_CHECK_THROW_IMPL( S, E, true, "exception ", WARN )
+#define NDNBOOST_CHECK_THROW( S, E )           NDNBOOST_CHECK_THROW_IMPL( S, E, true, "exception ", CHECK )
+#define NDNBOOST_REQUIRE_THROW( S, E )         NDNBOOST_CHECK_THROW_IMPL( S, E, true, "exception ", REQUIRE )
 
 //____________________________________________________________________________//
 
-#define BOOST_WARN_EXCEPTION( S, E, P )     BOOST_CHECK_THROW_IMPL( S, E, P( ex ), "incorrect exception ", WARN )
-#define BOOST_CHECK_EXCEPTION( S, E, P )    BOOST_CHECK_THROW_IMPL( S, E, P( ex ), "incorrect exception ", CHECK )
-#define BOOST_REQUIRE_EXCEPTION( S, E, P )  BOOST_CHECK_THROW_IMPL( S, E, P( ex ), "incorrect exception ", REQUIRE )
+#define NDNBOOST_WARN_EXCEPTION( S, E, P )     NDNBOOST_CHECK_THROW_IMPL( S, E, P( ex ), "incorrect exception ", WARN )
+#define NDNBOOST_CHECK_EXCEPTION( S, E, P )    NDNBOOST_CHECK_THROW_IMPL( S, E, P( ex ), "incorrect exception ", CHECK )
+#define NDNBOOST_REQUIRE_EXCEPTION( S, E, P )  NDNBOOST_CHECK_THROW_IMPL( S, E, P( ex ), "incorrect exception ", REQUIRE )
 
 //____________________________________________________________________________//
 
-#define BOOST_CHECK_NO_THROW_IMPL( S, TL )                                                          \
+#define NDNBOOST_CHECK_NO_THROW_IMPL( S, TL )                                                          \
     try {                                                                                           \
         S;                                                                                          \
-        BOOST_CHECK_IMPL( true, "no exceptions thrown by " BOOST_STRINGIZE( S ), TL, CHECK_MSG ); } \
+        NDNBOOST_CHECK_IMPL( true, "no exceptions thrown by " NDNBOOST_STRINGIZE( S ), TL, CHECK_MSG ); } \
     catch( ... ) {                                                                                  \
-        BOOST_CHECK_IMPL( false, "exception thrown by " BOOST_STRINGIZE( S ), TL, CHECK_MSG );      \
+        NDNBOOST_CHECK_IMPL( false, "exception thrown by " NDNBOOST_STRINGIZE( S ), TL, CHECK_MSG );      \
     }                                                                                               \
 /**/
 
-#define BOOST_WARN_NO_THROW( S )            BOOST_CHECK_NO_THROW_IMPL( S, WARN )
-#define BOOST_CHECK_NO_THROW( S )           BOOST_CHECK_NO_THROW_IMPL( S, CHECK )
-#define BOOST_REQUIRE_NO_THROW( S )         BOOST_CHECK_NO_THROW_IMPL( S, REQUIRE )
+#define NDNBOOST_WARN_NO_THROW( S )            NDNBOOST_CHECK_NO_THROW_IMPL( S, WARN )
+#define NDNBOOST_CHECK_NO_THROW( S )           NDNBOOST_CHECK_NO_THROW_IMPL( S, CHECK )
+#define NDNBOOST_REQUIRE_NO_THROW( S )         NDNBOOST_CHECK_NO_THROW_IMPL( S, REQUIRE )
 
 //____________________________________________________________________________//
 
-#define BOOST_WARN_EQUAL( L, R ) \
-    BOOST_CHECK_WITH_ARGS_IMPL( ::ndnboost::test_tools::tt_detail::equal_impl_frwd(), "", WARN, CHECK_EQUAL, (L)(R) )
-#define BOOST_CHECK_EQUAL( L, R ) \
-    BOOST_CHECK_WITH_ARGS_IMPL( ::ndnboost::test_tools::tt_detail::equal_impl_frwd(), "", CHECK, CHECK_EQUAL, (L)(R) )
-#define BOOST_REQUIRE_EQUAL( L, R ) \
-    BOOST_CHECK_WITH_ARGS_IMPL( ::ndnboost::test_tools::tt_detail::equal_impl_frwd(), "", REQUIRE, CHECK_EQUAL, (L)(R) )
+#define NDNBOOST_WARN_EQUAL( L, R ) \
+    NDNBOOST_CHECK_WITH_ARGS_IMPL( ::ndnboost::test_tools::tt_detail::equal_impl_frwd(), "", WARN, CHECK_EQUAL, (L)(R) )
+#define NDNBOOST_CHECK_EQUAL( L, R ) \
+    NDNBOOST_CHECK_WITH_ARGS_IMPL( ::ndnboost::test_tools::tt_detail::equal_impl_frwd(), "", CHECK, CHECK_EQUAL, (L)(R) )
+#define NDNBOOST_REQUIRE_EQUAL( L, R ) \
+    NDNBOOST_CHECK_WITH_ARGS_IMPL( ::ndnboost::test_tools::tt_detail::equal_impl_frwd(), "", REQUIRE, CHECK_EQUAL, (L)(R) )
 
 //____________________________________________________________________________//
 
-#define BOOST_WARN_NE( L, R ) \
-    BOOST_CHECK_WITH_ARGS_IMPL( ::ndnboost::test_tools::tt_detail::ne_impl(), "", WARN, CHECK_NE, (L)(R) )
-#define BOOST_CHECK_NE( L, R ) \
-    BOOST_CHECK_WITH_ARGS_IMPL( ::ndnboost::test_tools::tt_detail::ne_impl(), "", CHECK, CHECK_NE, (L)(R) )
-#define BOOST_REQUIRE_NE( L, R ) \
-    BOOST_CHECK_WITH_ARGS_IMPL( ::ndnboost::test_tools::tt_detail::ne_impl(), "", REQUIRE, CHECK_NE, (L)(R) )
+#define NDNBOOST_WARN_NE( L, R ) \
+    NDNBOOST_CHECK_WITH_ARGS_IMPL( ::ndnboost::test_tools::tt_detail::ne_impl(), "", WARN, CHECK_NE, (L)(R) )
+#define NDNBOOST_CHECK_NE( L, R ) \
+    NDNBOOST_CHECK_WITH_ARGS_IMPL( ::ndnboost::test_tools::tt_detail::ne_impl(), "", CHECK, CHECK_NE, (L)(R) )
+#define NDNBOOST_REQUIRE_NE( L, R ) \
+    NDNBOOST_CHECK_WITH_ARGS_IMPL( ::ndnboost::test_tools::tt_detail::ne_impl(), "", REQUIRE, CHECK_NE, (L)(R) )
 
 //____________________________________________________________________________//
 
-#define BOOST_WARN_LT( L, R ) \
-    BOOST_CHECK_WITH_ARGS_IMPL( ::ndnboost::test_tools::tt_detail::lt_impl(), "", WARN, CHECK_LT, (L)(R) )
-#define BOOST_CHECK_LT( L, R ) \
-    BOOST_CHECK_WITH_ARGS_IMPL( ::ndnboost::test_tools::tt_detail::lt_impl(), "", CHECK, CHECK_LT, (L)(R) )
-#define BOOST_REQUIRE_LT( L, R ) \
-    BOOST_CHECK_WITH_ARGS_IMPL( ::ndnboost::test_tools::tt_detail::lt_impl(), "", REQUIRE, CHECK_LT, (L)(R) )
+#define NDNBOOST_WARN_LT( L, R ) \
+    NDNBOOST_CHECK_WITH_ARGS_IMPL( ::ndnboost::test_tools::tt_detail::lt_impl(), "", WARN, CHECK_LT, (L)(R) )
+#define NDNBOOST_CHECK_LT( L, R ) \
+    NDNBOOST_CHECK_WITH_ARGS_IMPL( ::ndnboost::test_tools::tt_detail::lt_impl(), "", CHECK, CHECK_LT, (L)(R) )
+#define NDNBOOST_REQUIRE_LT( L, R ) \
+    NDNBOOST_CHECK_WITH_ARGS_IMPL( ::ndnboost::test_tools::tt_detail::lt_impl(), "", REQUIRE, CHECK_LT, (L)(R) )
 
 //____________________________________________________________________________//
 
-#define BOOST_WARN_LE( L, R ) \
-    BOOST_CHECK_WITH_ARGS_IMPL( ::ndnboost::test_tools::tt_detail::le_impl(), "", WARN, CHECK_LE, (L)(R) )
-#define BOOST_CHECK_LE( L, R ) \
-    BOOST_CHECK_WITH_ARGS_IMPL( ::ndnboost::test_tools::tt_detail::le_impl(), "", CHECK, CHECK_LE, (L)(R) )
-#define BOOST_REQUIRE_LE( L, R ) \
-    BOOST_CHECK_WITH_ARGS_IMPL( ::ndnboost::test_tools::tt_detail::le_impl(), "", REQUIRE, CHECK_LE, (L)(R) )
+#define NDNBOOST_WARN_LE( L, R ) \
+    NDNBOOST_CHECK_WITH_ARGS_IMPL( ::ndnboost::test_tools::tt_detail::le_impl(), "", WARN, CHECK_LE, (L)(R) )
+#define NDNBOOST_CHECK_LE( L, R ) \
+    NDNBOOST_CHECK_WITH_ARGS_IMPL( ::ndnboost::test_tools::tt_detail::le_impl(), "", CHECK, CHECK_LE, (L)(R) )
+#define NDNBOOST_REQUIRE_LE( L, R ) \
+    NDNBOOST_CHECK_WITH_ARGS_IMPL( ::ndnboost::test_tools::tt_detail::le_impl(), "", REQUIRE, CHECK_LE, (L)(R) )
 
 //____________________________________________________________________________//
 
-#define BOOST_WARN_GT( L, R ) \
-    BOOST_CHECK_WITH_ARGS_IMPL( ::ndnboost::test_tools::tt_detail::gt_impl(), "", WARN, CHECK_GT, (L)(R) )
-#define BOOST_CHECK_GT( L, R ) \
-    BOOST_CHECK_WITH_ARGS_IMPL( ::ndnboost::test_tools::tt_detail::gt_impl(), "", CHECK, CHECK_GT, (L)(R) )
-#define BOOST_REQUIRE_GT( L, R ) \
-    BOOST_CHECK_WITH_ARGS_IMPL( ::ndnboost::test_tools::tt_detail::gt_impl(), "", REQUIRE, CHECK_GT, (L)(R) )
+#define NDNBOOST_WARN_GT( L, R ) \
+    NDNBOOST_CHECK_WITH_ARGS_IMPL( ::ndnboost::test_tools::tt_detail::gt_impl(), "", WARN, CHECK_GT, (L)(R) )
+#define NDNBOOST_CHECK_GT( L, R ) \
+    NDNBOOST_CHECK_WITH_ARGS_IMPL( ::ndnboost::test_tools::tt_detail::gt_impl(), "", CHECK, CHECK_GT, (L)(R) )
+#define NDNBOOST_REQUIRE_GT( L, R ) \
+    NDNBOOST_CHECK_WITH_ARGS_IMPL( ::ndnboost::test_tools::tt_detail::gt_impl(), "", REQUIRE, CHECK_GT, (L)(R) )
 
 //____________________________________________________________________________//
 
-#define BOOST_WARN_GE( L, R ) \
-    BOOST_CHECK_WITH_ARGS_IMPL( ::ndnboost::test_tools::tt_detail::ge_impl(), "", WARN, CHECK_GE, (L)(R) )
-#define BOOST_CHECK_GE( L, R ) \
-    BOOST_CHECK_WITH_ARGS_IMPL( ::ndnboost::test_tools::tt_detail::ge_impl(), "", CHECK, CHECK_GE, (L)(R) )
-#define BOOST_REQUIRE_GE( L, R ) \
-    BOOST_CHECK_WITH_ARGS_IMPL( ::ndnboost::test_tools::tt_detail::ge_impl(), "", REQUIRE, CHECK_GE, (L)(R) )
+#define NDNBOOST_WARN_GE( L, R ) \
+    NDNBOOST_CHECK_WITH_ARGS_IMPL( ::ndnboost::test_tools::tt_detail::ge_impl(), "", WARN, CHECK_GE, (L)(R) )
+#define NDNBOOST_CHECK_GE( L, R ) \
+    NDNBOOST_CHECK_WITH_ARGS_IMPL( ::ndnboost::test_tools::tt_detail::ge_impl(), "", CHECK, CHECK_GE, (L)(R) )
+#define NDNBOOST_REQUIRE_GE( L, R ) \
+    NDNBOOST_CHECK_WITH_ARGS_IMPL( ::ndnboost::test_tools::tt_detail::ge_impl(), "", REQUIRE, CHECK_GE, (L)(R) )
 
 //____________________________________________________________________________//
 
-#define BOOST_WARN_CLOSE( L, R, T ) \
-    BOOST_CHECK_WITH_ARGS_IMPL( ::ndnboost::test_tools::check_is_close, "", WARN, CHECK_CLOSE, \
+#define NDNBOOST_WARN_CLOSE( L, R, T ) \
+    NDNBOOST_CHECK_WITH_ARGS_IMPL( ::ndnboost::test_tools::check_is_close, "", WARN, CHECK_CLOSE, \
         (L)(R)(::ndnboost::test_tools::percent_tolerance(T)) )
-#define BOOST_CHECK_CLOSE( L, R, T ) \
-    BOOST_CHECK_WITH_ARGS_IMPL( ::ndnboost::test_tools::check_is_close, "", CHECK, CHECK_CLOSE, \
+#define NDNBOOST_CHECK_CLOSE( L, R, T ) \
+    NDNBOOST_CHECK_WITH_ARGS_IMPL( ::ndnboost::test_tools::check_is_close, "", CHECK, CHECK_CLOSE, \
         (L)(R)(::ndnboost::test_tools::percent_tolerance(T)) )
-#define BOOST_REQUIRE_CLOSE( L, R, T ) \
-    BOOST_CHECK_WITH_ARGS_IMPL( ::ndnboost::test_tools::check_is_close, "", REQUIRE, CHECK_CLOSE, \
+#define NDNBOOST_REQUIRE_CLOSE( L, R, T ) \
+    NDNBOOST_CHECK_WITH_ARGS_IMPL( ::ndnboost::test_tools::check_is_close, "", REQUIRE, CHECK_CLOSE, \
         (L)(R)(::ndnboost::test_tools::percent_tolerance(T)) )
 
 //____________________________________________________________________________//
 
-#define BOOST_WARN_CLOSE_FRACTION( L, R, T ) \
-    BOOST_CHECK_WITH_ARGS_IMPL( ::ndnboost::test_tools::check_is_close, "", WARN, CHECK_CLOSE_FRACTION, \
+#define NDNBOOST_WARN_CLOSE_FRACTION( L, R, T ) \
+    NDNBOOST_CHECK_WITH_ARGS_IMPL( ::ndnboost::test_tools::check_is_close, "", WARN, CHECK_CLOSE_FRACTION, \
     (L)(R)(::ndnboost::test_tools::fraction_tolerance(T)) )
-#define BOOST_CHECK_CLOSE_FRACTION( L, R, T ) \
-    BOOST_CHECK_WITH_ARGS_IMPL( ::ndnboost::test_tools::check_is_close, "", CHECK, CHECK_CLOSE_FRACTION, \
+#define NDNBOOST_CHECK_CLOSE_FRACTION( L, R, T ) \
+    NDNBOOST_CHECK_WITH_ARGS_IMPL( ::ndnboost::test_tools::check_is_close, "", CHECK, CHECK_CLOSE_FRACTION, \
     (L)(R)(::ndnboost::test_tools::fraction_tolerance(T)) )
-#define BOOST_REQUIRE_CLOSE_FRACTION( L, R, T ) \
-    BOOST_CHECK_WITH_ARGS_IMPL( ::ndnboost::test_tools::check_is_close, "", REQUIRE, CHECK_CLOSE_FRACTION, \
+#define NDNBOOST_REQUIRE_CLOSE_FRACTION( L, R, T ) \
+    NDNBOOST_CHECK_WITH_ARGS_IMPL( ::ndnboost::test_tools::check_is_close, "", REQUIRE, CHECK_CLOSE_FRACTION, \
     (L)(R)(::ndnboost::test_tools::fraction_tolerance(T)) )
 
 //____________________________________________________________________________//
 
-#define BOOST_WARN_SMALL( FPV, T ) \
-    BOOST_CHECK_WITH_ARGS_IMPL( ::ndnboost::test_tools::check_is_small, "", WARN, CHECK_SMALL, (FPV)(T) )
-#define BOOST_CHECK_SMALL( FPV, T ) \
-    BOOST_CHECK_WITH_ARGS_IMPL( ::ndnboost::test_tools::check_is_small, "", CHECK, CHECK_SMALL, (FPV)(T) )
-#define BOOST_REQUIRE_SMALL( FPV, T ) \
-    BOOST_CHECK_WITH_ARGS_IMPL( ::ndnboost::test_tools::check_is_small, "", REQUIRE, CHECK_SMALL, (FPV)(T) )
+#define NDNBOOST_WARN_SMALL( FPV, T ) \
+    NDNBOOST_CHECK_WITH_ARGS_IMPL( ::ndnboost::test_tools::check_is_small, "", WARN, CHECK_SMALL, (FPV)(T) )
+#define NDNBOOST_CHECK_SMALL( FPV, T ) \
+    NDNBOOST_CHECK_WITH_ARGS_IMPL( ::ndnboost::test_tools::check_is_small, "", CHECK, CHECK_SMALL, (FPV)(T) )
+#define NDNBOOST_REQUIRE_SMALL( FPV, T ) \
+    NDNBOOST_CHECK_WITH_ARGS_IMPL( ::ndnboost::test_tools::check_is_small, "", REQUIRE, CHECK_SMALL, (FPV)(T) )
 
 //____________________________________________________________________________//
 
-#define BOOST_WARN_PREDICATE( P, ARGS ) \
-    BOOST_CHECK_WITH_ARGS_IMPL( P, BOOST_TEST_STRINGIZE( P ), WARN, CHECK_PRED_WITH_ARGS, ARGS )
-#define BOOST_CHECK_PREDICATE( P, ARGS ) \
-    BOOST_CHECK_WITH_ARGS_IMPL( P, BOOST_TEST_STRINGIZE( P ), CHECK, CHECK_PRED_WITH_ARGS, ARGS )
-#define BOOST_REQUIRE_PREDICATE( P, ARGS ) \
-    BOOST_CHECK_WITH_ARGS_IMPL( P, BOOST_TEST_STRINGIZE( P ), REQUIRE, CHECK_PRED_WITH_ARGS, ARGS )
+#define NDNBOOST_WARN_PREDICATE( P, ARGS ) \
+    NDNBOOST_CHECK_WITH_ARGS_IMPL( P, NDNBOOST_TEST_STRINGIZE( P ), WARN, CHECK_PRED_WITH_ARGS, ARGS )
+#define NDNBOOST_CHECK_PREDICATE( P, ARGS ) \
+    NDNBOOST_CHECK_WITH_ARGS_IMPL( P, NDNBOOST_TEST_STRINGIZE( P ), CHECK, CHECK_PRED_WITH_ARGS, ARGS )
+#define NDNBOOST_REQUIRE_PREDICATE( P, ARGS ) \
+    NDNBOOST_CHECK_WITH_ARGS_IMPL( P, NDNBOOST_TEST_STRINGIZE( P ), REQUIRE, CHECK_PRED_WITH_ARGS, ARGS )
 
 //____________________________________________________________________________//
 
-#define BOOST_EQUAL_COLLECTIONS_IMPL( L_begin, L_end, R_begin, R_end, TL )      \
-    BOOST_TEST_TOOL_IMPL( check_impl, ::ndnboost::test_tools::tt_detail::equal_coll_impl( \
+#define NDNBOOST_EQUAL_COLLECTIONS_IMPL( L_begin, L_end, R_begin, R_end, TL )      \
+    NDNBOOST_TEST_TOOL_IMPL( check_impl, ::ndnboost::test_tools::tt_detail::equal_coll_impl( \
         (L_begin), (L_end), (R_begin), (R_end) ), "", TL, CHECK_EQUAL_COLL ),   \
     4,                                                                          \
-    BOOST_STRINGIZE( L_begin ), BOOST_STRINGIZE( L_end ),                       \
-    BOOST_STRINGIZE( R_begin ), BOOST_STRINGIZE( R_end ) )                      \
+    NDNBOOST_STRINGIZE( L_begin ), NDNBOOST_STRINGIZE( L_end ),                       \
+    NDNBOOST_STRINGIZE( R_begin ), NDNBOOST_STRINGIZE( R_end ) )                      \
 /**/
 
-#define BOOST_WARN_EQUAL_COLLECTIONS( L_begin, L_end, R_begin, R_end )          \
-    BOOST_EQUAL_COLLECTIONS_IMPL( L_begin, L_end, R_begin, R_end, WARN )
-#define BOOST_CHECK_EQUAL_COLLECTIONS( L_begin, L_end, R_begin, R_end )         \
-    BOOST_EQUAL_COLLECTIONS_IMPL( L_begin, L_end, R_begin, R_end, CHECK )
-#define BOOST_REQUIRE_EQUAL_COLLECTIONS( L_begin, L_end, R_begin, R_end )       \
-    BOOST_EQUAL_COLLECTIONS_IMPL( L_begin, L_end, R_begin, R_end, REQUIRE )
+#define NDNBOOST_WARN_EQUAL_COLLECTIONS( L_begin, L_end, R_begin, R_end )          \
+    NDNBOOST_EQUAL_COLLECTIONS_IMPL( L_begin, L_end, R_begin, R_end, WARN )
+#define NDNBOOST_CHECK_EQUAL_COLLECTIONS( L_begin, L_end, R_begin, R_end )         \
+    NDNBOOST_EQUAL_COLLECTIONS_IMPL( L_begin, L_end, R_begin, R_end, CHECK )
+#define NDNBOOST_REQUIRE_EQUAL_COLLECTIONS( L_begin, L_end, R_begin, R_end )       \
+    NDNBOOST_EQUAL_COLLECTIONS_IMPL( L_begin, L_end, R_begin, R_end, REQUIRE )
 
 //____________________________________________________________________________//
 
-#define BOOST_BITWISE_EQUAL_IMPL( L, R, TL )                                    \
-    BOOST_TEST_TOOL_IMPL( check_impl,                                           \
+#define NDNBOOST_BITWISE_EQUAL_IMPL( L, R, TL )                                    \
+    NDNBOOST_TEST_TOOL_IMPL( check_impl,                                           \
       ::ndnboost::test_tools::tt_detail::bitwise_equal_impl( (L), (R) ),           \
       "", TL, CHECK_BITWISE_EQUAL ),                                            \
-    2, BOOST_STRINGIZE( L ), BOOST_STRINGIZE( R ) )                             \
+    2, NDNBOOST_STRINGIZE( L ), NDNBOOST_STRINGIZE( R ) )                             \
 /**/
 
-#define BOOST_WARN_BITWISE_EQUAL( L, R )    BOOST_BITWISE_EQUAL_IMPL( L, R, WARN )
-#define BOOST_CHECK_BITWISE_EQUAL( L, R )   BOOST_BITWISE_EQUAL_IMPL( L, R, CHECK )
-#define BOOST_REQUIRE_BITWISE_EQUAL( L, R ) BOOST_BITWISE_EQUAL_IMPL( L, R, REQUIRE )
+#define NDNBOOST_WARN_BITWISE_EQUAL( L, R )    NDNBOOST_BITWISE_EQUAL_IMPL( L, R, WARN )
+#define NDNBOOST_CHECK_BITWISE_EQUAL( L, R )   NDNBOOST_BITWISE_EQUAL_IMPL( L, R, CHECK )
+#define NDNBOOST_REQUIRE_BITWISE_EQUAL( L, R ) NDNBOOST_BITWISE_EQUAL_IMPL( L, R, REQUIRE )
 
 //____________________________________________________________________________//
 
-#define BOOST_IS_DEFINED( symb )            ::ndnboost::test_tools::tt_detail::is_defined_impl( #symb, BOOST_STRINGIZE(= symb) )
+#define NDNBOOST_IS_DEFINED( symb )            ::ndnboost::test_tools::tt_detail::is_defined_impl( #symb, NDNBOOST_STRINGIZE(= symb) )
 
 //____________________________________________________________________________//
 
 // ***************************** //
 // deprecated interface
 
-#define BOOST_BITWISE_EQUAL( L, R )         BOOST_CHECK_BITWISE_EQUAL( L, R )
-#define BOOST_MESSAGE( M )                  BOOST_TEST_MESSAGE( M )
-#define BOOST_CHECKPOINT( M )               BOOST_TEST_CHECKPOINT( M )
+#define NDNBOOST_BITWISE_EQUAL( L, R )         NDNBOOST_CHECK_BITWISE_EQUAL( L, R )
+#define NDNBOOST_MESSAGE( M )                  NDNBOOST_TEST_MESSAGE( M )
+#define NDNBOOST_CHECKPOINT( M )               NDNBOOST_TEST_CHECKPOINT( M )
 
 namespace ndnboost {
 
@@ -337,7 +337,7 @@
 
 //____________________________________________________________________________//
 
-#define BOOST_TEST_DONT_PRINT_LOG_VALUE( the_type )         \
+#define NDNBOOST_TEST_DONT_PRINT_LOG_VALUE( the_type )         \
 namespace ndnboost { namespace test_tools {                    \
 template<>                                                  \
 struct print_log_value<the_type > {                         \
@@ -348,7 +348,7 @@
 
 //____________________________________________________________________________//
 
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
+#if NDNBOOST_WORKAROUND(__BORLANDC__, NDNBOOST_TESTED_AT(0x564))
 template<typename T, std::size_t N >
 struct print_log_value< T[N] > {
     void    operator()( std::ostream& ostr, T const* t )
@@ -361,7 +361,7 @@
 //____________________________________________________________________________//
 
 template<>
-struct BOOST_TEST_DECL print_log_value<bool> {
+struct NDNBOOST_TEST_DECL print_log_value<bool> {
     void    operator()( std::ostream& ostr, bool t )
     {
          ostr << std::boolalpha << t;
@@ -371,28 +371,28 @@
 //____________________________________________________________________________//
 
 template<>
-struct BOOST_TEST_DECL print_log_value<char> {
+struct NDNBOOST_TEST_DECL print_log_value<char> {
     void    operator()( std::ostream& ostr, char t );
 };
 
 //____________________________________________________________________________//
 
 template<>
-struct BOOST_TEST_DECL print_log_value<unsigned char> {
+struct NDNBOOST_TEST_DECL print_log_value<unsigned char> {
     void    operator()( std::ostream& ostr, unsigned char t );
 };
 
 //____________________________________________________________________________//
 
 template<>
-struct BOOST_TEST_DECL print_log_value<char const*> {
+struct NDNBOOST_TEST_DECL print_log_value<char const*> {
     void    operator()( std::ostream& ostr, char const* t );
 };
 
 //____________________________________________________________________________//
 
 template<>
-struct BOOST_TEST_DECL print_log_value<wchar_t const*> {
+struct NDNBOOST_TEST_DECL print_log_value<wchar_t const*> {
     void    operator()( std::ostream& ostr, wchar_t const* t );
 };
 
@@ -440,7 +440,7 @@
 
 //____________________________________________________________________________//
 
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) 
+#if NDNBOOST_WORKAROUND(__BORLANDC__, NDNBOOST_TESTED_AT(0x564)) 
 // Borland suffers premature pointer decay passing arrays by reference
 template<typename T, std::size_t N >
 struct print_helper_t< T[N] > {
@@ -475,7 +475,7 @@
 // **************            TOOL BOX Implementation           ************** //
 // ************************************************************************** //
 
-BOOST_TEST_DECL 
+NDNBOOST_TEST_DECL 
 bool check_impl( predicate_result const& pr, ::ndnboost::unit_test::lazy_ostream const& check_descr,
                  const_string file_name, std::size_t line_num,
                  tool_level tl, check_type ct,
@@ -483,44 +483,44 @@
 
 //____________________________________________________________________________//
 
-#define TEMPL_PARAMS( z, m, dummy ) , typename BOOST_JOIN( Arg, m )
+#define TEMPL_PARAMS( z, m, dummy ) , typename NDNBOOST_JOIN( Arg, m )
 #define FUNC_PARAMS( z, m, dummy )                                                  \
- , BOOST_JOIN( Arg, m ) const& BOOST_JOIN( arg, m )                                 \
- , char const* BOOST_JOIN( BOOST_JOIN( arg, m ), _descr )                           \
+ , NDNBOOST_JOIN( Arg, m ) const& NDNBOOST_JOIN( arg, m )                                 \
+ , char const* NDNBOOST_JOIN( NDNBOOST_JOIN( arg, m ), _descr )                           \
 /**/
 
-#define PRED_PARAMS( z, m, dummy ) BOOST_PP_COMMA_IF( m ) BOOST_JOIN( arg, m ) 
+#define PRED_PARAMS( z, m, dummy ) NDNBOOST_PP_COMMA_IF( m ) NDNBOOST_JOIN( arg, m ) 
 
 #define ARG_INFO( z, m, dummy )                                                     \
- , BOOST_JOIN( BOOST_JOIN( arg, m ), _descr )                                       \
+ , NDNBOOST_JOIN( NDNBOOST_JOIN( arg, m ), _descr )                                       \
  , &static_cast<const unit_test::lazy_ostream&>(unit_test::lazy_ostream::instance() \
-        << ::ndnboost::test_tools::tt_detail::print_helper( BOOST_JOIN( arg, m ) ))    \
+        << ::ndnboost::test_tools::tt_detail::print_helper( NDNBOOST_JOIN( arg, m ) ))    \
 /**/
 
 #define IMPL_FRWD( z, n, dummy )                                                    \
 template<typename Pred                                                              \
-         BOOST_PP_REPEAT_ ## z( BOOST_PP_ADD( n, 1 ), TEMPL_PARAMS, _ )>            \
+         NDNBOOST_PP_REPEAT_ ## z( NDNBOOST_PP_ADD( n, 1 ), TEMPL_PARAMS, _ )>            \
 inline bool                                                                         \
 check_frwd( Pred P, unit_test::lazy_ostream const& check_descr,                     \
             const_string file_name, std::size_t line_num,                           \
             tool_level tl, check_type ct                                            \
-            BOOST_PP_REPEAT_ ## z( BOOST_PP_ADD( n, 1 ), FUNC_PARAMS, _ )           \
+            NDNBOOST_PP_REPEAT_ ## z( NDNBOOST_PP_ADD( n, 1 ), FUNC_PARAMS, _ )           \
 )                                                                                   \
 {                                                                                   \
     return                                                                          \
-    check_impl( P( BOOST_PP_REPEAT_ ## z( BOOST_PP_ADD( n, 1 ), PRED_PARAMS, _ ) ), \
+    check_impl( P( NDNBOOST_PP_REPEAT_ ## z( NDNBOOST_PP_ADD( n, 1 ), PRED_PARAMS, _ ) ), \
                 check_descr, file_name, line_num, tl, ct,                           \
-                BOOST_PP_ADD( n, 1 )                                                \
-                BOOST_PP_REPEAT_ ## z( BOOST_PP_ADD( n, 1 ), ARG_INFO, _ )          \
+                NDNBOOST_PP_ADD( n, 1 )                                                \
+                NDNBOOST_PP_REPEAT_ ## z( NDNBOOST_PP_ADD( n, 1 ), ARG_INFO, _ )          \
     );                                                                              \
 }                                                                                   \
 /**/
 
-#ifndef BOOST_TEST_MAX_PREDICATE_ARITY
-#define BOOST_TEST_MAX_PREDICATE_ARITY 5
+#ifndef NDNBOOST_TEST_MAX_PREDICATE_ARITY
+#define NDNBOOST_TEST_MAX_PREDICATE_ARITY 5
 #endif
 
-BOOST_PP_REPEAT( BOOST_TEST_MAX_PREDICATE_ARITY, IMPL_FRWD, _ )
+NDNBOOST_PP_REPEAT( NDNBOOST_TEST_MAX_PREDICATE_ARITY, IMPL_FRWD, _ )
 
 #undef TEMPL_PARAMS
 #undef FUNC_PARAMS
@@ -538,13 +538,13 @@
 
 //____________________________________________________________________________//
 
-predicate_result        BOOST_TEST_DECL equal_impl( char const* left, char const* right );
+predicate_result        NDNBOOST_TEST_DECL equal_impl( char const* left, char const* right );
 inline predicate_result equal_impl( char* left, char const* right ) { return equal_impl( static_cast<char const*>(left), static_cast<char const*>(right) ); }
 inline predicate_result equal_impl( char const* left, char* right ) { return equal_impl( static_cast<char const*>(left), static_cast<char const*>(right) ); }
 inline predicate_result equal_impl( char* left, char* right )       { return equal_impl( static_cast<char const*>(left), static_cast<char const*>(right) ); }
 
-#if !defined( BOOST_NO_CWCHAR )
-predicate_result        BOOST_TEST_DECL equal_impl( wchar_t const* left, wchar_t const* right );
+#if !defined( NDNBOOST_NO_CWCHAR )
+predicate_result        NDNBOOST_TEST_DECL equal_impl( wchar_t const* left, wchar_t const* right );
 inline predicate_result equal_impl( wchar_t* left, wchar_t const* right ) { return equal_impl( static_cast<wchar_t const*>(left), static_cast<wchar_t const*>(right) ); }
 inline predicate_result equal_impl( wchar_t const* left, wchar_t* right ) { return equal_impl( static_cast<wchar_t const*>(left), static_cast<wchar_t const*>(right) ); }
 inline predicate_result equal_impl( wchar_t* left, wchar_t* right )       { return equal_impl( static_cast<wchar_t const*>(left), static_cast<wchar_t const*>(right) ); }
@@ -700,7 +700,7 @@
 
 //____________________________________________________________________________//
 
-bool BOOST_TEST_DECL is_defined_impl( const_string symbol_name, const_string symbol_value );
+bool NDNBOOST_TEST_DECL is_defined_impl( const_string symbol_name, const_string symbol_value );
 
 //____________________________________________________________________________//
 
@@ -716,4 +716,4 @@
 
 #include <ndnboost/test/detail/enable_warnings.hpp>
 
-#endif // BOOST_TEST_TEST_TOOLS_HPP_012705GER
+#endif // NDNBOOST_TEST_TEST_TOOLS_HPP_012705GER
diff --git a/include/ndnboost/test/unit_test_log.hpp b/include/ndnboost/test/unit_test_log.hpp
index 844b6d7..97fcde4 100644
--- a/include/ndnboost/test/unit_test_log.hpp
+++ b/include/ndnboost/test/unit_test_log.hpp
@@ -14,8 +14,8 @@
 //  completely hidden with pimple idiom
 // ***************************************************************************
 
-#ifndef BOOST_TEST_UNIT_TEST_LOG_HPP_071894GER
-#define BOOST_TEST_UNIT_TEST_LOG_HPP_071894GER
+#ifndef NDNBOOST_TEST_UNIT_TEST_LOG_HPP_071894GER
+#define NDNBOOST_TEST_UNIT_TEST_LOG_HPP_071894GER
 
 // Boost.Test
 #include <ndnboost/test/test_observer.hpp>
@@ -48,7 +48,7 @@
 
 namespace log {
 
-struct BOOST_TEST_DECL begin {
+struct NDNBOOST_TEST_DECL begin {
     begin( const_string fn, std::size_t ln )
     : m_file_name( fn )
     , m_line_num( ln )
@@ -68,7 +68,7 @@
 
 namespace ut_detail {
 
-class BOOST_TEST_DECL entry_value_collector {
+class NDNBOOST_TEST_DECL entry_value_collector {
 public:
     // Constructors
     entry_value_collector() : m_last( true ) {}
@@ -90,7 +90,7 @@
 // **************                 unit_test_log                ************** //
 // ************************************************************************** //
 
-class BOOST_TEST_DECL unit_test_log_t : public test_observer, public singleton<unit_test_log_t> {
+class NDNBOOST_TEST_DECL unit_test_log_t : public test_observer, public singleton<unit_test_log_t> {
 public:
     // test_observer interface implementation
     void                test_start( counter_t test_cases_amount );
@@ -128,15 +128,15 @@
 private:
     bool            log_entry_start();
 
-    BOOST_TEST_SINGLETON_CONS( unit_test_log_t );
+    NDNBOOST_TEST_SINGLETON_CONS( unit_test_log_t );
 }; // unit_test_log_t
 
-BOOST_TEST_SINGLETON_INST( unit_test_log )
+NDNBOOST_TEST_SINGLETON_INST( unit_test_log )
 
 // helper macros
-#define BOOST_TEST_LOG_ENTRY( ll )                                                  \
+#define NDNBOOST_TEST_LOG_ENTRY( ll )                                                  \
     (::ndnboost::unit_test::unit_test_log                                              \
-        << ::ndnboost::unit_test::log::begin( BOOST_TEST_L(__FILE__), __LINE__ ))(ll)  \
+        << ::ndnboost::unit_test::log::begin( NDNBOOST_TEST_L(__FILE__), __LINE__ ))(ll)  \
 /**/
 
 } // namespace unit_test
@@ -147,24 +147,24 @@
 // **************       Unit test log interface helpers        ************** //
 // ************************************************************************** //
 
-#define BOOST_TEST_MESSAGE( M )                                 \
-    BOOST_TEST_LOG_ENTRY( ::ndnboost::unit_test::log_messages )    \
+#define NDNBOOST_TEST_MESSAGE( M )                                 \
+    NDNBOOST_TEST_LOG_ENTRY( ::ndnboost::unit_test::log_messages )    \
     << (::ndnboost::unit_test::lazy_ostream::instance() << M)      \
 /**/
 
 //____________________________________________________________________________//
 
-#define BOOST_TEST_PASSPOINT()                                  \
+#define NDNBOOST_TEST_PASSPOINT()                                  \
     ::ndnboost::unit_test::unit_test_log.set_checkpoint(           \
-        BOOST_TEST_L(__FILE__),                                 \
+        NDNBOOST_TEST_L(__FILE__),                                 \
         static_cast<std::size_t>(__LINE__) )                    \
 /**/
 
 //____________________________________________________________________________//
 
-#define BOOST_TEST_CHECKPOINT( M )                              \
+#define NDNBOOST_TEST_CHECKPOINT( M )                              \
     ::ndnboost::unit_test::unit_test_log.set_checkpoint(           \
-        BOOST_TEST_L(__FILE__),                                 \
+        NDNBOOST_TEST_L(__FILE__),                                 \
         static_cast<std::size_t>(__LINE__),                     \
         (::ndnboost::wrap_stringstream().ref() << M).str() )       \
 /**/
@@ -173,5 +173,5 @@
 
 #include <ndnboost/test/detail/enable_warnings.hpp>
 
-#endif // BOOST_TEST_UNIT_TEST_LOG_HPP_071894GER
+#endif // NDNBOOST_TEST_UNIT_TEST_LOG_HPP_071894GER
 
diff --git a/include/ndnboost/test/unit_test_log_formatter.hpp b/include/ndnboost/test/unit_test_log_formatter.hpp
index 6449c83..31d2161 100644
--- a/include/ndnboost/test/unit_test_log_formatter.hpp
+++ b/include/ndnboost/test/unit_test_log_formatter.hpp
@@ -12,8 +12,8 @@
 //  Description : 
 // ***************************************************************************
 
-#ifndef BOOST_TEST_UNIT_TEST_LOG_FORMATTER_HPP_071894GER
-#define BOOST_TEST_UNIT_TEST_LOG_FORMATTER_HPP_071894GER
+#ifndef NDNBOOST_TEST_UNIT_TEST_LOG_FORMATTER_HPP_071894GER
+#define NDNBOOST_TEST_UNIT_TEST_LOG_FORMATTER_HPP_071894GER
 
 // Boost.Test
 #include <ndnboost/test/detail/global_typedef.hpp>
@@ -38,7 +38,7 @@
 // **************                log_entry_data                ************** //
 // ************************************************************************** //
 
-struct BOOST_TEST_DECL log_entry_data {
+struct NDNBOOST_TEST_DECL log_entry_data {
     log_entry_data()
     {
         m_file_name.reserve( 200 );
@@ -60,7 +60,7 @@
 // **************                checkpoint_data               ************** //
 // ************************************************************************** //
 
-struct BOOST_TEST_DECL log_checkpoint_data
+struct NDNBOOST_TEST_DECL log_checkpoint_data
 {
     const_string    m_file_name;
     std::size_t     m_line_num;
@@ -78,13 +78,13 @@
 // **************            unit_test_log_formatter           ************** //
 // ************************************************************************** //
 
-class BOOST_TEST_DECL unit_test_log_formatter {
+class NDNBOOST_TEST_DECL unit_test_log_formatter {
 public:
-    enum log_entry_types { BOOST_UTL_ET_INFO, 
-                           BOOST_UTL_ET_MESSAGE,
-                           BOOST_UTL_ET_WARNING,
-                           BOOST_UTL_ET_ERROR,
-                           BOOST_UTL_ET_FATAL_ERROR };
+    enum log_entry_types { NDNBOOST_UTL_ET_INFO, 
+                           NDNBOOST_UTL_ET_MESSAGE,
+                           NDNBOOST_UTL_ET_WARNING,
+                           NDNBOOST_UTL_ET_ERROR,
+                           NDNBOOST_UTL_ET_FATAL_ERROR };
 
     // Destructor
     virtual             ~unit_test_log_formatter() {}
@@ -119,5 +119,5 @@
 
 #include <ndnboost/test/detail/enable_warnings.hpp>
 
-#endif // BOOST_TEST_UNIT_TEST_LOG_FORMATTER_HPP_071894GER
+#endif // NDNBOOST_TEST_UNIT_TEST_LOG_FORMATTER_HPP_071894GER
 
diff --git a/include/ndnboost/test/unit_test_monitor.hpp b/include/ndnboost/test/unit_test_monitor.hpp
index 4777d17..834378e 100644
--- a/include/ndnboost/test/unit_test_monitor.hpp
+++ b/include/ndnboost/test/unit_test_monitor.hpp
@@ -13,8 +13,8 @@
 //  run unit of test cases. Translates execution exception into error level
 // ***************************************************************************
 
-#ifndef BOOST_TEST_UNIT_TEST_MONITOR_HPP_020905GER
-#define BOOST_TEST_UNIT_TEST_MONITOR_HPP_020905GER
+#ifndef NDNBOOST_TEST_UNIT_TEST_MONITOR_HPP_020905GER
+#define NDNBOOST_TEST_UNIT_TEST_MONITOR_HPP_020905GER
 
 // Boost.Test
 #include <ndnboost/test/execution_monitor.hpp>
@@ -34,7 +34,7 @@
 // **************               unit_test_monitor              ************** //
 // ************************************************************************** //
 
-class BOOST_TEST_DECL unit_test_monitor_t : public singleton<unit_test_monitor_t>, public execution_monitor {
+class NDNBOOST_TEST_DECL unit_test_monitor_t : public singleton<unit_test_monitor_t>, public execution_monitor {
 public:
     enum error_level { 
         test_fail               =  1,
@@ -53,10 +53,10 @@
     error_level execute_and_translate( test_case const& );
 
 private:
-    BOOST_TEST_SINGLETON_CONS( unit_test_monitor_t );
+    NDNBOOST_TEST_SINGLETON_CONS( unit_test_monitor_t );
 };
 
-BOOST_TEST_SINGLETON_INST( unit_test_monitor )
+NDNBOOST_TEST_SINGLETON_INST( unit_test_monitor )
 
 } // namespace unit_test
 
@@ -66,4 +66,4 @@
 
 #include <ndnboost/test/detail/enable_warnings.hpp>
 
-#endif // BOOST_TEST_UNIT_TEST_MONITOR_HPP_020905GER
+#endif // NDNBOOST_TEST_UNIT_TEST_MONITOR_HPP_020905GER
diff --git a/include/ndnboost/test/unit_test_suite.hpp b/include/ndnboost/test/unit_test_suite.hpp
index 5ef5f13..bc70ca6 100644
--- a/include/ndnboost/test/unit_test_suite.hpp
+++ b/include/ndnboost/test/unit_test_suite.hpp
@@ -12,8 +12,8 @@
 //  Description : defines Unit Test Framework public API
 // ***************************************************************************
 
-#ifndef BOOST_TEST_UNIT_TEST_SUITE_HPP_071894GER
-#define BOOST_TEST_UNIT_TEST_SUITE_HPP_071894GER
+#ifndef NDNBOOST_TEST_UNIT_TEST_SUITE_HPP_071894GER
+#define NDNBOOST_TEST_UNIT_TEST_SUITE_HPP_071894GER
 
 // Boost.Test
 #include <ndnboost/test/unit_test_suite_impl.hpp>
@@ -25,106 +25,106 @@
 // **************    Non-auto (explicit) test case interface   ************** //
 // ************************************************************************** //
 
-#define BOOST_TEST_CASE( test_function ) \
-ndnboost::unit_test::make_test_case( ndnboost::unit_test::callback0<>(test_function), BOOST_TEST_STRINGIZE( test_function ) )
-#define BOOST_CLASS_TEST_CASE( test_function, tc_instance ) \
-ndnboost::unit_test::make_test_case((test_function), BOOST_TEST_STRINGIZE( test_function ), tc_instance )
+#define NDNBOOST_TEST_CASE( test_function ) \
+ndnboost::unit_test::make_test_case( ndnboost::unit_test::callback0<>(test_function), NDNBOOST_TEST_STRINGIZE( test_function ) )
+#define NDNBOOST_CLASS_TEST_CASE( test_function, tc_instance ) \
+ndnboost::unit_test::make_test_case((test_function), NDNBOOST_TEST_STRINGIZE( test_function ), tc_instance )
 
 // ************************************************************************** //
-// **************               BOOST_TEST_SUITE               ************** //
+// **************               NDNBOOST_TEST_SUITE               ************** //
 // ************************************************************************** //
 
-#define BOOST_TEST_SUITE( testsuite_name ) \
+#define NDNBOOST_TEST_SUITE( testsuite_name ) \
 ( new ndnboost::unit_test::test_suite( testsuite_name ) )
 
 // ************************************************************************** //
-// **************             BOOST_AUTO_TEST_SUITE            ************** //
+// **************             NDNBOOST_AUTO_TEST_SUITE            ************** //
 // ************************************************************************** //
 
-#define BOOST_AUTO_TEST_SUITE( suite_name )                             \
+#define NDNBOOST_AUTO_TEST_SUITE( suite_name )                             \
 namespace suite_name {                                                  \
-BOOST_AUTO_TU_REGISTRAR( suite_name )( BOOST_STRINGIZE( suite_name ) ); \
+NDNBOOST_AUTO_TU_REGISTRAR( suite_name )( NDNBOOST_STRINGIZE( suite_name ) ); \
 /**/
 
 // ************************************************************************** //
-// **************            BOOST_FIXTURE_TEST_SUITE          ************** //
+// **************            NDNBOOST_FIXTURE_TEST_SUITE          ************** //
 // ************************************************************************** //
 
-#define BOOST_FIXTURE_TEST_SUITE( suite_name, F )                       \
-BOOST_AUTO_TEST_SUITE( suite_name )                                     \
-typedef F BOOST_AUTO_TEST_CASE_FIXTURE;                                 \
+#define NDNBOOST_FIXTURE_TEST_SUITE( suite_name, F )                       \
+NDNBOOST_AUTO_TEST_SUITE( suite_name )                                     \
+typedef F NDNBOOST_AUTO_TEST_CASE_FIXTURE;                                 \
 /**/
 
 // ************************************************************************** //
-// **************           BOOST_AUTO_TEST_SUITE_END          ************** //
+// **************           NDNBOOST_AUTO_TEST_SUITE_END          ************** //
 // ************************************************************************** //
 
-#define BOOST_AUTO_TEST_SUITE_END()                                     \
-BOOST_AUTO_TU_REGISTRAR( BOOST_JOIN( end_suite, __LINE__ ) )( 1 );      \
+#define NDNBOOST_AUTO_TEST_SUITE_END()                                     \
+NDNBOOST_AUTO_TU_REGISTRAR( NDNBOOST_JOIN( end_suite, __LINE__ ) )( 1 );      \
 }                                                                       \
 /**/
 
 // ************************************************************************** //
-// **************    BOOST_AUTO_TEST_CASE_EXPECTED_FAILURES    ************** //
+// **************    NDNBOOST_AUTO_TEST_CASE_EXPECTED_FAILURES    ************** //
 // ************************************************************************** //
 
-#define BOOST_AUTO_TEST_CASE_EXPECTED_FAILURES( test_name, n )          \
-struct BOOST_AUTO_TC_UNIQUE_ID( test_name );                            \
+#define NDNBOOST_AUTO_TEST_CASE_EXPECTED_FAILURES( test_name, n )          \
+struct NDNBOOST_AUTO_TC_UNIQUE_ID( test_name );                            \
                                                                         \
-static struct BOOST_JOIN( test_name, _exp_fail_num_spec )               \
+static struct NDNBOOST_JOIN( test_name, _exp_fail_num_spec )               \
 : ndnboost::unit_test::ut_detail::                                         \
-  auto_tc_exp_fail<BOOST_AUTO_TC_UNIQUE_ID( test_name ) >               \
+  auto_tc_exp_fail<NDNBOOST_AUTO_TC_UNIQUE_ID( test_name ) >               \
 {                                                                       \
-    BOOST_JOIN( test_name, _exp_fail_num_spec )()                       \
+    NDNBOOST_JOIN( test_name, _exp_fail_num_spec )()                       \
     : ndnboost::unit_test::ut_detail::                                     \
-      auto_tc_exp_fail<BOOST_AUTO_TC_UNIQUE_ID( test_name ) >( n )      \
+      auto_tc_exp_fail<NDNBOOST_AUTO_TC_UNIQUE_ID( test_name ) >( n )      \
     {}                                                                  \
-} BOOST_JOIN( test_name, _exp_fail_num_spec_inst );                     \
+} NDNBOOST_JOIN( test_name, _exp_fail_num_spec_inst );                     \
                                                                         \
 /**/
 
 // ************************************************************************** //
-// **************            BOOST_FIXTURE_TEST_CASE           ************** //
+// **************            NDNBOOST_FIXTURE_TEST_CASE           ************** //
 // ************************************************************************** //
 
-#define BOOST_FIXTURE_TEST_CASE( test_name, F )                         \
+#define NDNBOOST_FIXTURE_TEST_CASE( test_name, F )                         \
 struct test_name : public F { void test_method(); };                    \
                                                                         \
-static void BOOST_AUTO_TC_INVOKER( test_name )()                        \
+static void NDNBOOST_AUTO_TC_INVOKER( test_name )()                        \
 {                                                                       \
     test_name t;                                                        \
     t.test_method();                                                    \
 }                                                                       \
                                                                         \
-struct BOOST_AUTO_TC_UNIQUE_ID( test_name ) {};                         \
+struct NDNBOOST_AUTO_TC_UNIQUE_ID( test_name ) {};                         \
                                                                         \
-BOOST_AUTO_TU_REGISTRAR( test_name )(                                   \
+NDNBOOST_AUTO_TU_REGISTRAR( test_name )(                                   \
     ndnboost::unit_test::make_test_case(                                   \
-        &BOOST_AUTO_TC_INVOKER( test_name ), #test_name ),              \
+        &NDNBOOST_AUTO_TC_INVOKER( test_name ), #test_name ),              \
     ndnboost::unit_test::ut_detail::auto_tc_exp_fail<                      \
-        BOOST_AUTO_TC_UNIQUE_ID( test_name )>::instance()->value() );   \
+        NDNBOOST_AUTO_TC_UNIQUE_ID( test_name )>::instance()->value() );   \
                                                                         \
 void test_name::test_method()                                           \
 /**/
 
 // ************************************************************************** //
-// **************             BOOST_AUTO_TEST_CASE             ************** //
+// **************             NDNBOOST_AUTO_TEST_CASE             ************** //
 // ************************************************************************** //
 
-#define BOOST_AUTO_TEST_CASE( test_name )                               \
-BOOST_FIXTURE_TEST_CASE( test_name, BOOST_AUTO_TEST_CASE_FIXTURE )
+#define NDNBOOST_AUTO_TEST_CASE( test_name )                               \
+NDNBOOST_FIXTURE_TEST_CASE( test_name, NDNBOOST_AUTO_TEST_CASE_FIXTURE )
 /**/
 
 // ************************************************************************** //
-// **************       BOOST_FIXTURE_TEST_CASE_TEMPLATE       ************** //
+// **************       NDNBOOST_FIXTURE_TEST_CASE_TEMPLATE       ************** //
 // ************************************************************************** //
 
-#define BOOST_FIXTURE_TEST_CASE_TEMPLATE( test_name, type_name, TL, F ) \
+#define NDNBOOST_FIXTURE_TEST_CASE_TEMPLATE( test_name, type_name, TL, F ) \
 template<typename type_name>                                            \
 struct test_name : public F                                             \
 { void test_method(); };                                                \
                                                                         \
-struct BOOST_AUTO_TC_INVOKER( test_name ) {                             \
+struct NDNBOOST_AUTO_TC_INVOKER( test_name ) {                             \
     template<typename TestType>                                         \
     static void run( ndnboost::type<TestType>* = 0 )                       \
     {                                                                   \
@@ -133,61 +133,61 @@
     }                                                                   \
 };                                                                      \
                                                                         \
-BOOST_AUTO_TU_REGISTRAR( test_name )(                                   \
+NDNBOOST_AUTO_TU_REGISTRAR( test_name )(                                   \
     ndnboost::unit_test::ut_detail::template_test_case_gen<                \
-        BOOST_AUTO_TC_INVOKER( test_name ),TL >(                        \
-          BOOST_STRINGIZE( test_name ) ) );                             \
+        NDNBOOST_AUTO_TC_INVOKER( test_name ),TL >(                        \
+          NDNBOOST_STRINGIZE( test_name ) ) );                             \
                                                                         \
 template<typename type_name>                                            \
 void test_name<type_name>::test_method()                                \
 /**/
 
 // ************************************************************************** //
-// **************        BOOST_AUTO_TEST_CASE_TEMPLATE         ************** //
+// **************        NDNBOOST_AUTO_TEST_CASE_TEMPLATE         ************** //
 // ************************************************************************** //
 
-#define BOOST_AUTO_TEST_CASE_TEMPLATE( test_name, type_name, TL )       \
-BOOST_FIXTURE_TEST_CASE_TEMPLATE( test_name, type_name, TL, BOOST_AUTO_TEST_CASE_FIXTURE )
+#define NDNBOOST_AUTO_TEST_CASE_TEMPLATE( test_name, type_name, TL )       \
+NDNBOOST_FIXTURE_TEST_CASE_TEMPLATE( test_name, type_name, TL, NDNBOOST_AUTO_TEST_CASE_FIXTURE )
 
 // ************************************************************************** //
-// **************           BOOST_TEST_CASE_TEMPLATE           ************** //
+// **************           NDNBOOST_TEST_CASE_TEMPLATE           ************** //
 // ************************************************************************** //
 
-#define BOOST_TEST_CASE_TEMPLATE( name, typelist )                          \
+#define NDNBOOST_TEST_CASE_TEMPLATE( name, typelist )                          \
     ndnboost::unit_test::ut_detail::template_test_case_gen<name,typelist >(    \
-        BOOST_TEST_STRINGIZE( name ) )                                      \
+        NDNBOOST_TEST_STRINGIZE( name ) )                                      \
 /**/
 
 // ************************************************************************** //
-// **************      BOOST_TEST_CASE_TEMPLATE_FUNCTION       ************** //
+// **************      NDNBOOST_TEST_CASE_TEMPLATE_FUNCTION       ************** //
 // ************************************************************************** //
 
-#define BOOST_TEST_CASE_TEMPLATE_FUNCTION( name, type_name )    \
+#define NDNBOOST_TEST_CASE_TEMPLATE_FUNCTION( name, type_name )    \
 template<typename type_name>                                    \
-void BOOST_JOIN( name, _impl )( ndnboost::type<type_name>* );      \
+void NDNBOOST_JOIN( name, _impl )( ndnboost::type<type_name>* );      \
                                                                 \
 struct name {                                                   \
     template<typename TestType>                                 \
     static void run( ndnboost::type<TestType>* frwrd = 0 )         \
     {                                                           \
-       BOOST_JOIN( name, _impl )( frwrd );                      \
+       NDNBOOST_JOIN( name, _impl )( frwrd );                      \
     }                                                           \
 };                                                              \
                                                                 \
 template<typename type_name>                                    \
-void BOOST_JOIN( name, _impl )( ndnboost::type<type_name>* )       \
+void NDNBOOST_JOIN( name, _impl )( ndnboost::type<type_name>* )       \
 /**/
 
 // ************************************************************************** //
-// **************              BOOST_GLOBAL_FIXURE             ************** //
+// **************              NDNBOOST_GLOBAL_FIXURE             ************** //
 // ************************************************************************** //
 
-#define BOOST_GLOBAL_FIXTURE( F ) \
-static ndnboost::unit_test::ut_detail::global_fixture_impl<F> BOOST_JOIN( gf_, F ) ; \
+#define NDNBOOST_GLOBAL_FIXTURE( F ) \
+static ndnboost::unit_test::ut_detail::global_fixture_impl<F> NDNBOOST_JOIN( gf_, F ) ; \
 /**/
 
 // ************************************************************************** //
-// **************         BOOST_AUTO_TEST_CASE_FIXTURE         ************** //
+// **************         NDNBOOST_AUTO_TEST_CASE_FIXTURE         ************** //
 // ************************************************************************** //
 
 namespace ndnboost { namespace unit_test { namespace ut_detail {
@@ -199,37 +199,37 @@
 } // namespace ndnboost
 
 // Intentionally is in global namespace, so that FIXURE_TEST_SUITE can reset it in user code.
-typedef ::ndnboost::unit_test::ut_detail::nil_t BOOST_AUTO_TEST_CASE_FIXTURE;
+typedef ::ndnboost::unit_test::ut_detail::nil_t NDNBOOST_AUTO_TEST_CASE_FIXTURE;
 
 // ************************************************************************** //
 // **************   Auto registration facility helper macros   ************** //
 // ************************************************************************** //
 
-#define BOOST_AUTO_TU_REGISTRAR( test_name )    \
-static ndnboost::unit_test::ut_detail::auto_test_unit_registrar BOOST_JOIN( BOOST_JOIN( test_name, _registrar ), __LINE__ )
-#define BOOST_AUTO_TC_INVOKER( test_name )      BOOST_JOIN( test_name, _invoker )
-#define BOOST_AUTO_TC_UNIQUE_ID( test_name )    BOOST_JOIN( test_name, _id )
+#define NDNBOOST_AUTO_TU_REGISTRAR( test_name )    \
+static ndnboost::unit_test::ut_detail::auto_test_unit_registrar NDNBOOST_JOIN( NDNBOOST_JOIN( test_name, _registrar ), __LINE__ )
+#define NDNBOOST_AUTO_TC_INVOKER( test_name )      NDNBOOST_JOIN( test_name, _invoker )
+#define NDNBOOST_AUTO_TC_UNIQUE_ID( test_name )    NDNBOOST_JOIN( test_name, _id )
 
 // ************************************************************************** //
-// **************                BOOST_TEST_MAIN               ************** //
+// **************                NDNBOOST_TEST_MAIN               ************** //
 // ************************************************************************** //
 
-#if defined(BOOST_TEST_MAIN)
+#if defined(NDNBOOST_TEST_MAIN)
 
-#ifdef BOOST_TEST_ALTERNATIVE_INIT_API
+#ifdef NDNBOOST_TEST_ALTERNATIVE_INIT_API
 bool init_unit_test()                   {
 #else
 ::ndnboost::unit_test::test_suite*
 init_unit_test_suite( int, char* [] )   {
 #endif
 
-#ifdef BOOST_TEST_MODULE
+#ifdef NDNBOOST_TEST_MODULE
     using namespace ::ndnboost::unit_test;
-    assign_op( framework::master_test_suite().p_name.value, BOOST_TEST_STRINGIZE( BOOST_TEST_MODULE ).trim( "\"" ), 0 );
+    assign_op( framework::master_test_suite().p_name.value, NDNBOOST_TEST_STRINGIZE( NDNBOOST_TEST_MODULE ).trim( "\"" ), 0 );
     
 #endif
 
-#ifdef BOOST_TEST_ALTERNATIVE_INIT_API
+#ifdef NDNBOOST_TEST_ALTERNATIVE_INIT_API
     return true;
 }
 #else
@@ -241,5 +241,5 @@
 
 //____________________________________________________________________________//
 
-#endif // BOOST_TEST_UNIT_TEST_SUITE_HPP_071894GER
+#endif // NDNBOOST_TEST_UNIT_TEST_SUITE_HPP_071894GER
 
diff --git a/include/ndnboost/test/unit_test_suite_impl.hpp b/include/ndnboost/test/unit_test_suite_impl.hpp
index 42933e4..93e1097 100644
--- a/include/ndnboost/test/unit_test_suite_impl.hpp
+++ b/include/ndnboost/test/unit_test_suite_impl.hpp
@@ -12,8 +12,8 @@
 //  Description : defines test_unit, test_case, test_case_results, test_suite and test_tree_visitor
 // ***************************************************************************
 
-#ifndef BOOST_TEST_UNIT_TEST_SUITE_IMPL_HPP_071894GER
-#define BOOST_TEST_UNIT_TEST_SUITE_IMPL_HPP_071894GER
+#ifndef NDNBOOST_TEST_UNIT_TEST_SUITE_IMPL_HPP_071894GER
+#define NDNBOOST_TEST_UNIT_TEST_SUITE_IMPL_HPP_071894GER
 
 // Boost.Test
 #include <ndnboost/test/detail/config.hpp>
@@ -49,7 +49,7 @@
 // **************                   test_unit                  ************** //
 // ************************************************************************** //
 
-class BOOST_TEST_DECL test_unit {
+class NDNBOOST_TEST_DECL test_unit {
 public:
     enum { type = tut_any };
 
@@ -61,8 +61,8 @@
     bool    check_dependencies() const;
 
     // Public r/o properties
-    typedef BOOST_READONLY_PROPERTY(test_unit_id,(framework_impl))  id_t;
-    typedef BOOST_READONLY_PROPERTY(test_unit_id,(test_suite))      parent_id_t;
+    typedef NDNBOOST_READONLY_PROPERTY(test_unit_id,(framework_impl))  id_t;
+    typedef NDNBOOST_READONLY_PROPERTY(test_unit_id,(test_suite))      parent_id_t;
     readonly_property<test_unit_type>   p_type;                 // type for this test unit
     readonly_property<const_string>     p_type_name;            // "case"/"suite"
     id_t                                p_id;                   // unique id for this test unit
@@ -88,19 +88,19 @@
 // **************              test_case_generator             ************** //
 // ************************************************************************** //
 
-class BOOST_TEST_DECL test_unit_generator {
+class NDNBOOST_TEST_DECL test_unit_generator {
 public:
     virtual test_unit*  next() const = 0;
 
 protected:
-    BOOST_TEST_PROTECTED_VIRTUAL ~test_unit_generator() {}
+    NDNBOOST_TEST_PROTECTED_VIRTUAL ~test_unit_generator() {}
 };
 
 // ************************************************************************** //
 // **************                   test_case                  ************** //
 // ************************************************************************** //
 
-class BOOST_TEST_DECL test_case : public test_unit {
+class NDNBOOST_TEST_DECL test_case : public test_unit {
 public:
     enum { type = tut_case };
 
@@ -114,7 +114,7 @@
     friend class framework_impl;
     ~test_case() {}
 
-    // BOOST_MSVC <= 1200 have problems with callback as property
+    // NDNBOOST_MSVC <= 1200 have problems with callback as property
     // Data members
     callback0<> m_test_func;
 };
@@ -123,7 +123,7 @@
 // **************                  test_suite                  ************** //
 // ************************************************************************** //
 
-class BOOST_TEST_DECL test_suite : public test_unit {
+class NDNBOOST_TEST_DECL test_suite : public test_unit {
 public:
     enum { type = tut_suite };
 
@@ -140,7 +140,7 @@
     std::size_t     size() const { return m_members.size(); }
 
 protected:
-    friend BOOST_TEST_DECL 
+    friend NDNBOOST_TEST_DECL 
     void        traverse_test_tree( test_suite const&, test_tree_visitor& );
     friend class framework_impl;
     virtual     ~test_suite() {}
@@ -153,7 +153,7 @@
 // **************               master_test_suite              ************** //
 // ************************************************************************** //
 
-class BOOST_TEST_DECL master_test_suite_t : public test_suite {
+class NDNBOOST_TEST_DECL master_test_suite_t : public test_suite {
 public:
     master_test_suite_t() : test_suite( "Master Test Suite" )
     , argc( 0 )
@@ -170,7 +170,7 @@
 // **************               test_tree_visitor              ************** //
 // ************************************************************************** //
 
-class BOOST_TEST_DECL test_tree_visitor {
+class NDNBOOST_TEST_DECL test_tree_visitor {
 public:
     // test tree visitor interface
     virtual void    visit( test_case const& )               {}
@@ -178,16 +178,16 @@
     virtual void    test_suite_finish( test_suite const& )  {}
 
 protected:
-    BOOST_TEST_PROTECTED_VIRTUAL ~test_tree_visitor() {}
+    NDNBOOST_TEST_PROTECTED_VIRTUAL ~test_tree_visitor() {}
 };
 
 // ************************************************************************** //
 // **************               traverse_test_tree             ************** //
 // ************************************************************************** //
 
-BOOST_TEST_DECL void    traverse_test_tree( test_case const&, test_tree_visitor& );
-BOOST_TEST_DECL void    traverse_test_tree( test_suite const&, test_tree_visitor& );
-BOOST_TEST_DECL void    traverse_test_tree( test_unit_id     , test_tree_visitor& );
+NDNBOOST_TEST_DECL void    traverse_test_tree( test_case const&, test_tree_visitor& );
+NDNBOOST_TEST_DECL void    traverse_test_tree( test_suite const&, test_tree_visitor& );
+NDNBOOST_TEST_DECL void    traverse_test_tree( test_unit_id     , test_tree_visitor& );
 
 //____________________________________________________________________________//
 
@@ -211,7 +211,7 @@
     // Constructor
     test_case_counter() : p_count( 0 ) {}
 
-    BOOST_READONLY_PROPERTY( counter_t, (test_case_counter)) p_count;
+    NDNBOOST_READONLY_PROPERTY( counter_t, (test_case_counter)) p_count;
 private:
     // test tree visitor interface
     virtual void    visit( test_case const& );
@@ -222,7 +222,7 @@
 // **************               test_being_aborted             ************** //
 // ************************************************************************** //
 
-struct BOOST_TEST_DECL test_being_aborted {};
+struct NDNBOOST_TEST_DECL test_being_aborted {};
 
 // ************************************************************************** //
 // **************               object generators              ************** //
@@ -230,7 +230,7 @@
 
 namespace ut_detail {
 
-BOOST_TEST_DECL std::string normalize_test_case_name( const_string tu_name );
+NDNBOOST_TEST_DECL std::string normalize_test_case_name( const_string tu_name );
 
 template<typename InstanceType,typename UserTestCase>
 struct user_tc_method_invoker {
@@ -275,7 +275,7 @@
 
 namespace ut_detail {
 
-struct BOOST_TEST_DECL auto_test_unit_registrar
+struct NDNBOOST_TEST_DECL auto_test_unit_registrar
 {
     // Constructors
                 auto_test_unit_registrar( test_case* tc, counter_t exp_fail );
@@ -322,7 +322,7 @@
 // **************                global_fixture                ************** //
 // ************************************************************************** //
 
-class BOOST_TEST_DECL global_fixture : public test_observer { 
+class NDNBOOST_TEST_DECL global_fixture : public test_observer { 
 public: 
     // Constructor
     global_fixture();
@@ -430,5 +430,5 @@
 
 #include <ndnboost/test/detail/enable_warnings.hpp>
 
-#endif // BOOST_TEST_UNIT_TEST_SUITE_IMPL_HPP_071894GER
+#endif // NDNBOOST_TEST_UNIT_TEST_SUITE_IMPL_HPP_071894GER
 
diff --git a/include/ndnboost/test/utils/algorithm.hpp b/include/ndnboost/test/utils/algorithm.hpp
index 8003dfe..3ff7d06 100644
--- a/include/ndnboost/test/utils/algorithm.hpp
+++ b/include/ndnboost/test/utils/algorithm.hpp
@@ -12,8 +12,8 @@
 //  Description : addition to STL algorithms
 // ***************************************************************************
 
-#ifndef BOOST_ALGORITHM_HPP_062304GER
-#define BOOST_ALGORITHM_HPP_062304GER
+#ifndef NDNBOOST_ALGORITHM_HPP_062304GER
+#define NDNBOOST_ALGORITHM_HPP_062304GER
 
 #include <utility>
 #include <algorithm> // std::find
@@ -223,6 +223,6 @@
 
 #include <ndnboost/test/detail/enable_warnings.hpp>
 
-#endif // BOOST_ALGORITHM_HPP_062304GER
+#endif // NDNBOOST_ALGORITHM_HPP_062304GER
 
 
diff --git a/include/ndnboost/test/utils/assign_op.hpp b/include/ndnboost/test/utils/assign_op.hpp
index b3d7ca0..4e4be04 100644
--- a/include/ndnboost/test/utils/assign_op.hpp
+++ b/include/ndnboost/test/utils/assign_op.hpp
@@ -12,8 +12,8 @@
 //  Description : overloadable assignment
 // ***************************************************************************
 
-#ifndef BOOST_TEST_ASSIGN_OP_033005GER
-#define BOOST_TEST_ASSIGN_OP_033005GER
+#ifndef NDNBOOST_TEST_ASSIGN_OP_033005GER
+#define NDNBOOST_TEST_ASSIGN_OP_033005GER
 
 namespace ndnboost {
 
@@ -37,5 +37,5 @@
 
 } // namespace ndnboost
 
-#endif // BOOST_TEST_ASSIGN_OP_033005GER
+#endif // NDNBOOST_TEST_ASSIGN_OP_033005GER
 
diff --git a/include/ndnboost/test/utils/basic_cstring/basic_cstring.hpp b/include/ndnboost/test/utils/basic_cstring/basic_cstring.hpp
index b3982df..41a64cd 100644
--- a/include/ndnboost/test/utils/basic_cstring/basic_cstring.hpp
+++ b/include/ndnboost/test/utils/basic_cstring/basic_cstring.hpp
@@ -13,8 +13,8 @@
 //                interface
 // ***************************************************************************
 
-#ifndef BOOST_TEST_BASIC_CSTRING_HPP_071894GER
-#define BOOST_TEST_BASIC_CSTRING_HPP_071894GER
+#ifndef NDNBOOST_TEST_BASIC_CSTRING_HPP_071894GER
+#define NDNBOOST_TEST_BASIC_CSTRING_HPP_071894GER
 
 // Boost.Test
 #include <ndnboost/test/utils/basic_cstring/basic_cstring_fwd.hpp>
@@ -56,7 +56,7 @@
 
     // !! should also present reverse_iterator, const_reverse_iterator
 
-#if !BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(600))
+#if !NDNBOOST_WORKAROUND(__IBMCPP__, NDNBOOST_TESTED_AT(600))
     enum npos_type { npos = static_cast<size_type>(-1) };
 #else
     // IBM/VisualAge version 6 is not able to handle enums larger than 4 bytes.
@@ -728,4 +728,4 @@
 
 #include <ndnboost/test/detail/enable_warnings.hpp>
 
-#endif // BOOST_TEST_BASIC_CSTRING_HPP_071894GER
+#endif // NDNBOOST_TEST_BASIC_CSTRING_HPP_071894GER
diff --git a/include/ndnboost/test/utils/basic_cstring/basic_cstring_fwd.hpp b/include/ndnboost/test/utils/basic_cstring/basic_cstring_fwd.hpp
index 14cb33b..7b9adb2 100644
--- a/include/ndnboost/test/utils/basic_cstring/basic_cstring_fwd.hpp
+++ b/include/ndnboost/test/utils/basic_cstring/basic_cstring_fwd.hpp
@@ -13,8 +13,8 @@
 //                interface
 // ***************************************************************************
 
-#ifndef BOOST_TEST_BASIC_CSTRING_FWD_HPP_071894GER
-#define BOOST_TEST_BASIC_CSTRING_FWD_HPP_071894GER
+#ifndef NDNBOOST_TEST_BASIC_CSTRING_FWD_HPP_071894GER
+#define NDNBOOST_TEST_BASIC_CSTRING_FWD_HPP_071894GER
 
 #include <ndnboost/detail/workaround.hpp>
 
@@ -24,7 +24,7 @@
 
 template<typename CharT> class      basic_cstring;
 typedef basic_cstring<char const>   const_string;
-#if BOOST_WORKAROUND(__DECCXX_VER, BOOST_TESTED_AT(60590041))
+#if NDNBOOST_WORKAROUND(__DECCXX_VER, NDNBOOST_TESTED_AT(60590041))
 typedef const_string                literal_string;
 #else
 typedef const_string const          literal_string;
@@ -36,5 +36,5 @@
 
 } // namespace ndnboost
 
-#endif // BOOST_TEST_BASIC_CSTRING_FWD_HPP_071894GER
+#endif // NDNBOOST_TEST_BASIC_CSTRING_FWD_HPP_071894GER
 
diff --git a/include/ndnboost/test/utils/basic_cstring/bcs_char_traits.hpp b/include/ndnboost/test/utils/basic_cstring/bcs_char_traits.hpp
index d6571f7..d9afcb5 100644
--- a/include/ndnboost/test/utils/basic_cstring/bcs_char_traits.hpp
+++ b/include/ndnboost/test/utils/basic_cstring/bcs_char_traits.hpp
@@ -12,8 +12,8 @@
 //  Description : generic char traits class; wraps std::char_traits
 // ***************************************************************************
 
-#ifndef BOOST_TEST_BCS_CHAR_TRAITS_HPP_071894GER
-#define BOOST_TEST_BCS_CHAR_TRAITS_HPP_071894GER
+#ifndef NDNBOOST_TEST_BCS_CHAR_TRAITS_HPP_071894GER
+#define NDNBOOST_TEST_BCS_CHAR_TRAITS_HPP_071894GER
 
 // Boost
 #include <ndnboost/config.hpp>
@@ -39,7 +39,7 @@
 
 template<> struct bcs_base_char<char const>             { typedef char type; };
 template<> struct bcs_base_char<unsigned char>          { typedef char type; };
-#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x551))
+#if !NDNBOOST_WORKAROUND(__BORLANDC__, NDNBOOST_TESTED_AT(0x551))
 template<> struct bcs_base_char<unsigned char const>    { typedef char type; };
 #endif
 
@@ -52,7 +52,7 @@
 template<typename CharT>
 struct bcs_char_traits_impl
 {
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
+#if NDNBOOST_WORKAROUND(__BORLANDC__, NDNBOOST_TESTED_AT(0x564))
     typedef CharT const const_char;
 #else
     typedef typename ndnboost::add_const<CharT>::type const_char;
@@ -103,7 +103,7 @@
     }
 };
 
-#ifdef BOOST_CLASSIC_IOSTREAMS
+#ifdef NDNBOOST_CLASSIC_IOSTREAMS
 template<typename CharT>
 struct char_traits_with_find : std::string_char_traits<CharT> {
     static CharT const* find( CharT const* s, std::size_t n, CharT c )
@@ -130,7 +130,7 @@
 class bcs_char_traits : public bcs_char_traits_impl<CharT> {
     typedef typename ut_detail::bcs_base_char<CharT>::type                              the_base_char;
 public:
-#ifdef BOOST_CLASSIC_IOSTREAMS
+#ifdef NDNBOOST_CLASSIC_IOSTREAMS
     typedef std::basic_string<the_base_char, std::string_char_traits<the_base_char> >   std_string;
 #else
     typedef std::basic_string<the_base_char, std::char_traits<the_base_char> >          std_string;
@@ -147,4 +147,4 @@
 
 #include <ndnboost/test/detail/enable_warnings.hpp>
 
-#endif // BOOST_TEST_BCS_CHAR_TRAITS_HPP_071894GER
+#endif // NDNBOOST_TEST_BCS_CHAR_TRAITS_HPP_071894GER
diff --git a/include/ndnboost/test/utils/basic_cstring/compare.hpp b/include/ndnboost/test/utils/basic_cstring/compare.hpp
index db9c854..1880c8a 100644
--- a/include/ndnboost/test/utils/basic_cstring/compare.hpp
+++ b/include/ndnboost/test/utils/basic_cstring/compare.hpp
@@ -12,8 +12,8 @@
 //  Description : class basic_cstring comparisons implementation
 // ***************************************************************************
 
-#ifndef  BOOST_TEST_BASIC_CSTRING_COMPARE_HPP_071894GER
-#define  BOOST_TEST_BASIC_CSTRING_COMPARE_HPP_071894GER
+#ifndef  NDNBOOST_TEST_BASIC_CSTRING_COMPARE_HPP_071894GER
+#define  NDNBOOST_TEST_BASIC_CSTRING_COMPARE_HPP_071894GER
 
 // Boost.Test
 #include <ndnboost/test/utils/basic_cstring/basic_cstring.hpp>
@@ -26,7 +26,7 @@
 
 //____________________________________________________________________________//
 
-# if defined(BOOST_NO_STDC_NAMESPACE) && !BOOST_WORKAROUND(__BORLANDC__, <= 0x570)
+# if defined(NDNBOOST_NO_STDC_NAMESPACE) && !NDNBOOST_WORKAROUND(__BORLANDC__, <= 0x570)
 namespace std { using ::toupper; }
 # endif
 
@@ -112,4 +112,4 @@
 
 #include <ndnboost/test/detail/enable_warnings.hpp>
 
-#endif // BOOST_TEST_BASIC_CSTRING_COMPARE_HPP_071894GER
+#endif // NDNBOOST_TEST_BASIC_CSTRING_COMPARE_HPP_071894GER
diff --git a/include/ndnboost/test/utils/basic_cstring/io.hpp b/include/ndnboost/test/utils/basic_cstring/io.hpp
index adb6d1e..8ad770a 100644
--- a/include/ndnboost/test/utils/basic_cstring/io.hpp
+++ b/include/ndnboost/test/utils/basic_cstring/io.hpp
@@ -12,8 +12,8 @@
 //  Description : basic_cstring i/o implementation
 // ***************************************************************************
 
-#ifndef  BOOST_TEST_BASIC_CSTRING_IO_HPP_071894GER
-#define  BOOST_TEST_BASIC_CSTRING_IO_HPP_071894GER
+#ifndef  NDNBOOST_TEST_BASIC_CSTRING_IO_HPP_071894GER
+#define  NDNBOOST_TEST_BASIC_CSTRING_IO_HPP_071894GER
 
 // Boost.Test
 #include <ndnboost/test/utils/basic_cstring/basic_cstring.hpp>
@@ -30,7 +30,7 @@
 
 namespace unit_test {
 
-#ifdef BOOST_CLASSIC_IOSTREAMS
+#ifdef NDNBOOST_CLASSIC_IOSTREAMS
 
 template<typename CharT>
 inline std::ostream&
@@ -70,4 +70,4 @@
 
 #include <ndnboost/test/detail/enable_warnings.hpp>
 
-#endif // BOOST_TEST_BASIC_CSTRING_IO_HPP_071894GER
+#endif // NDNBOOST_TEST_BASIC_CSTRING_IO_HPP_071894GER
diff --git a/include/ndnboost/test/utils/callback.hpp b/include/ndnboost/test/utils/callback.hpp
index 91e23f3..4bd786f 100644
--- a/include/ndnboost/test/utils/callback.hpp
+++ b/include/ndnboost/test/utils/callback.hpp
@@ -12,8 +12,8 @@
 //  Description : 
 // ***************************************************************************
 
-#ifndef BOOST_TEST_CALLBACK_020505GER
-#define BOOST_TEST_CALLBACK_020505GER
+#ifndef NDNBOOST_TEST_CALLBACK_020505GER
+#define NDNBOOST_TEST_CALLBACK_020505GER
 
 // Boost
 #include <ndnboost/config.hpp>
@@ -22,8 +22,8 @@
 
 #include <ndnboost/test/detail/suppress_warnings.hpp>
 
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1300) || BOOST_WORKAROUND(BOOST_INTEL, <= 700)
-#  define BOOST_CALLBACK_EXPLICIT_COPY_CONSTRUCTOR
+#if NDNBOOST_WORKAROUND(NDNBOOST_MSVC, < 1300) || NDNBOOST_WORKAROUND(NDNBOOST_INTEL, <= 700)
+#  define NDNBOOST_CALLBACK_EXPLICIT_COPY_CONSTRUCTOR
 #endif
 
 //____________________________________________________________________________//
@@ -102,7 +102,7 @@
 public:
     // Constructors
     callback0() {}
-#ifdef BOOST_CALLBACK_EXPLICIT_COPY_CONSTRUCTOR
+#ifdef NDNBOOST_CALLBACK_EXPLICIT_COPY_CONSTRUCTOR
     callback0( callback0 const& rhs ) : m_impl( rhs.m_impl ) {}
 #endif
 
@@ -160,7 +160,7 @@
 public:
     // Constructors
     callback1() {}
-#ifdef BOOST_CALLBACK_EXPLICIT_COPY_CONSTRUCTOR
+#ifdef NDNBOOST_CALLBACK_EXPLICIT_COPY_CONSTRUCTOR
     callback1( callback1 const& rhs ) : m_impl( rhs.m_impl ) {}
 #endif
 
@@ -218,7 +218,7 @@
 public:
     // Constructors
     callback2() {}
-#ifdef BOOST_CALLBACK_EXPLICIT_COPY_CONSTRUCTOR
+#ifdef NDNBOOST_CALLBACK_EXPLICIT_COPY_CONSTRUCTOR
     callback2( callback2 const& rhs ) : m_impl( rhs.m_impl ) {}
 #endif
 
@@ -275,7 +275,7 @@
 public:
     // Constructors
     callback3() {}
-#ifdef BOOST_CALLBACK_EXPLICIT_COPY_CONSTRUCTOR
+#ifdef NDNBOOST_CALLBACK_EXPLICIT_COPY_CONSTRUCTOR
     callback3( callback3 const& rhs ) : m_impl( rhs.m_impl ) {}
 #endif
 
@@ -301,10 +301,10 @@
 
 } // namespace ndnboost
 
-#undef BOOST_CALLBACK_EXPLICIT_COPY_CONSTRUCTOR
+#undef NDNBOOST_CALLBACK_EXPLICIT_COPY_CONSTRUCTOR
 
 //____________________________________________________________________________//
 
 #include <ndnboost/test/detail/enable_warnings.hpp>
 
-#endif // BOOST_TEST_CALLBACK_020505GER
+#endif // NDNBOOST_TEST_CALLBACK_020505GER
diff --git a/include/ndnboost/test/utils/class_properties.hpp b/include/ndnboost/test/utils/class_properties.hpp
index 8da1f45..b5ea998 100644
--- a/include/ndnboost/test/utils/class_properties.hpp
+++ b/include/ndnboost/test/utils/class_properties.hpp
@@ -13,14 +13,14 @@
 //  properties in C++ classes. Original idea by Henrik Ravn.
 // ***************************************************************************
 
-#ifndef BOOST_TEST_CLASS_PROPERTIES_HPP_071894GER
-#define BOOST_TEST_CLASS_PROPERTIES_HPP_071894GER
+#ifndef NDNBOOST_TEST_CLASS_PROPERTIES_HPP_071894GER
+#define NDNBOOST_TEST_CLASS_PROPERTIES_HPP_071894GER
 
 // Boost.Test
 #include <ndnboost/test/detail/config.hpp>
 
 // Boost
-#if !BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(600))
+#if !NDNBOOST_WORKAROUND(__IBMCPP__, NDNBOOST_TESTED_AT(600))
 #include <ndnboost/preprocessor/seq/for_each.hpp>
 #endif
 #include <ndnboost/call_traits.hpp>
@@ -62,7 +62,7 @@
     address_res_t   operator&() const       { return &value; }
 
     // Data members
-#ifndef BOOST_TEST_NO_PROTECTED_USING
+#ifndef NDNBOOST_TEST_NO_PROTECTED_USING
 protected:
 #endif
     PropertyType        value;
@@ -70,7 +70,7 @@
 
 //____________________________________________________________________________//
 
-#ifdef BOOST_CLASSIC_IOSTREAMS
+#ifdef NDNBOOST_CLASSIC_IOSTREAMS
 
 template<class PropertyType>
 inline std::ostream&
@@ -116,7 +116,7 @@
 
 #undef DEFINE_PROPERTY_FREE_BINARY_OPERATOR
 
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
+#if NDNBOOST_WORKAROUND(NDNBOOST_MSVC, < 1300)
 
 #define DEFINE_PROPERTY_LOGICAL_OPERATOR( op )                                  \
 template<class PropertyType>                                                    \
@@ -159,23 +159,23 @@
 
 //____________________________________________________________________________//
 
-#if BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(600))
+#if NDNBOOST_WORKAROUND(__IBMCPP__, NDNBOOST_TESTED_AT(600))
 
-#define BOOST_READONLY_PROPERTY( property_type, friends ) ndnboost::unit_test::readwrite_property<property_type >
+#define NDNBOOST_READONLY_PROPERTY( property_type, friends ) ndnboost::unit_test::readwrite_property<property_type >
 
 #else
 
-#define BOOST_READONLY_PROPERTY_DECLARE_FRIEND(r, data, elem) friend class elem;
+#define NDNBOOST_READONLY_PROPERTY_DECLARE_FRIEND(r, data, elem) friend class elem;
 
-#define BOOST_READONLY_PROPERTY( property_type, friends )                           \
-class BOOST_JOIN( readonly_property, __LINE__ )                                     \
+#define NDNBOOST_READONLY_PROPERTY( property_type, friends )                           \
+class NDNBOOST_JOIN( readonly_property, __LINE__ )                                     \
 : public ndnboost::unit_test::readonly_property<property_type > {                      \
     typedef ndnboost::unit_test::readonly_property<property_type > base_prop;          \
-    BOOST_PP_SEQ_FOR_EACH( BOOST_READONLY_PROPERTY_DECLARE_FRIEND, ' ', friends )   \
+    NDNBOOST_PP_SEQ_FOR_EACH( NDNBOOST_READONLY_PROPERTY_DECLARE_FRIEND, ' ', friends )   \
     typedef base_prop::write_param_t  write_param_t;                                \
 public:                                                                             \
-                BOOST_JOIN( readonly_property, __LINE__ )() {}                      \
-    explicit    BOOST_JOIN( readonly_property, __LINE__ )( write_param_t init_v  )  \
+                NDNBOOST_JOIN( readonly_property, __LINE__ )() {}                      \
+    explicit    NDNBOOST_JOIN( readonly_property, __LINE__ )( write_param_t init_v  )  \
     : base_prop( init_v ) {}                                                        \
 }                                                                                   \
 /**/
@@ -201,7 +201,7 @@
     arrow_res_t     operator->()            { return ndnboost::addressof( base_prop::value ); }
     const_arrow_res_t operator->() const    { return ndnboost::addressof( base_prop::value ); }
 
-#ifndef BOOST_TEST_NO_PROTECTED_USING
+#ifndef NDNBOOST_TEST_NO_PROTECTED_USING
     using           base_prop::value;
 #endif
 };
@@ -216,6 +216,6 @@
 
 #include <ndnboost/test/detail/enable_warnings.hpp>
 
-#undef BOOST_TEST_NO_PROTECTED_USING
+#undef NDNBOOST_TEST_NO_PROTECTED_USING
 
-#endif // BOOST_TEST_CLASS_PROPERTIES_HPP_071894GER
+#endif // NDNBOOST_TEST_CLASS_PROPERTIES_HPP_071894GER
diff --git a/include/ndnboost/test/utils/custom_manip.hpp b/include/ndnboost/test/utils/custom_manip.hpp
index cf5d76d..165ddc7 100644
--- a/include/ndnboost/test/utils/custom_manip.hpp
+++ b/include/ndnboost/test/utils/custom_manip.hpp
@@ -12,8 +12,8 @@
 //  Description : simple helpers for creating cusom output manipulators
 // ***************************************************************************
 
-#ifndef BOOST_TEST_CUSTOM_MANIP_HPP_071894GER
-#define BOOST_TEST_CUSTOM_MANIP_HPP_071894GER
+#ifndef NDNBOOST_TEST_CUSTOM_MANIP_HPP_071894GER
+#define NDNBOOST_TEST_CUSTOM_MANIP_HPP_071894GER
 
 // STL
 #include <iosfwd>
@@ -60,4 +60,4 @@
 
 #include <ndnboost/test/detail/enable_warnings.hpp>
 
-#endif // BOOST_TEST_CUSTOM_MANIP_HPP_071894GER
+#endif // NDNBOOST_TEST_CUSTOM_MANIP_HPP_071894GER
diff --git a/include/ndnboost/test/utils/fixed_mapping.hpp b/include/ndnboost/test/utils/fixed_mapping.hpp
index dc08593..76ab30a 100644
--- a/include/ndnboost/test/utils/fixed_mapping.hpp
+++ b/include/ndnboost/test/utils/fixed_mapping.hpp
@@ -12,8 +12,8 @@
 //  Description : fixed sized mapping with specified invalid value
 // ***************************************************************************
 
-#ifndef BOOST_TEST_FIXED_MAPPING_HPP_071894GER
-#define BOOST_TEST_FIXED_MAPPING_HPP_071894GER
+#ifndef NDNBOOST_TEST_FIXED_MAPPING_HPP_071894GER
+#define NDNBOOST_TEST_FIXED_MAPPING_HPP_071894GER
 
 // Boost
 #include <ndnboost/preprocessor/repetition/repeat.hpp>
@@ -45,16 +45,16 @@
 #define CONSTR_BODY_MID( z, i, dummy1 ) add_pair( key##i, v##i );
 
 #define CONSTR_DECL( z, n, dummy1 )                                 \
-    fixed_mapping( BOOST_PP_REPEAT_ ## z( n, CONSTR_DECL_MID, "" )  \
+    fixed_mapping( NDNBOOST_PP_REPEAT_ ## z( n, CONSTR_DECL_MID, "" )  \
                          value_param_type invalid_value )           \
     : m_invalid_value( invalid_value )                              \
     {                                                               \
-        BOOST_PP_REPEAT_ ## z( n, CONSTR_BODY_MID, "" )             \
+        NDNBOOST_PP_REPEAT_ ## z( n, CONSTR_BODY_MID, "" )             \
         init();                                                     \
     }                                                               \
 /**/
 
-#define CONTRUCTORS( n ) BOOST_PP_REPEAT( n, CONSTR_DECL, "" )
+#define CONTRUCTORS( n ) NDNBOOST_PP_REPEAT( n, CONSTR_DECL, "" )
 
 template<typename Key, typename Value, typename Compare = std::less<Key> >
 class fixed_mapping
@@ -67,7 +67,7 @@
     typedef typename call_traits<Value>::param_type         value_param_type;
     typedef typename call_traits<Value>::const_reference    value_ref_type;
 
-#if BOOST_WORKAROUND(__DECCXX_VER, BOOST_TESTED_AT(60590042))
+#if NDNBOOST_WORKAROUND(__DECCXX_VER, NDNBOOST_TESTED_AT(60590042))
     struct p1; friend struct p1;
     struct p2; friend struct p2;
 #endif
@@ -86,7 +86,7 @@
 
 public:
     // Constructors
-    CONTRUCTORS( BOOST_PP_ADD( MAX_MAP_SIZE, 1 ) )
+    CONTRUCTORS( NDNBOOST_PP_ADD( MAX_MAP_SIZE, 1 ) )
 
     // key -> value access
     value_ref_type  operator[]( key_param_type key ) const
@@ -120,5 +120,5 @@
 #undef CONSTR_DECL
 #undef CONTRUCTORS
 
-#endif // BOOST_TEST_FIXED_MAPPING_HPP_071894GER
+#endif // NDNBOOST_TEST_FIXED_MAPPING_HPP_071894GER
 
diff --git a/include/ndnboost/test/utils/foreach.hpp b/include/ndnboost/test/utils/foreach.hpp
index 8404e72..4bc2027 100644
--- a/include/ndnboost/test/utils/foreach.hpp
+++ b/include/ndnboost/test/utils/foreach.hpp
@@ -10,15 +10,15 @@
 //
 //  Version     : $Revision: 54633 $
 //
-//  Description : this is an abridged version of an excelent BOOST_FOREACH facility
+//  Description : this is an abridged version of an excelent NDNBOOST_FOREACH facility
 //  presented by Eric Niebler. I am so fond of it so I can't wait till it 
 //  going to be accepted into Boost. Also I need version with less number of dependencies 
 //  and more portable. This version doesn't support rvalues and will reeveluate it's 
 //  parameters, but should be good enough for my purposes.
 // ***************************************************************************
 
-#ifndef BOOST_TEST_FOREACH_HPP_021005GER
-#define BOOST_TEST_FOREACH_HPP_021005GER
+#ifndef NDNBOOST_TEST_FOREACH_HPP_021005GER
+#define NDNBOOST_TEST_FOREACH_HPP_021005GER
 
 // Boost.Test
 #include <ndnboost/test/detail/config.hpp>
@@ -92,19 +92,19 @@
 // ************************************************************************** //
 
 template<typename C>
-inline static_any<BOOST_DEDUCED_TYPENAME C::iterator>
+inline static_any<NDNBOOST_DEDUCED_TYPENAME C::iterator>
 begin( C& t, mpl::false_ )
 {
-    return static_any<BOOST_DEDUCED_TYPENAME C::iterator>( t.begin() );
+    return static_any<NDNBOOST_DEDUCED_TYPENAME C::iterator>( t.begin() );
 }
 
 //____________________________________________________________________________//
 
 template<typename C>
-inline static_any<BOOST_DEDUCED_TYPENAME C::const_iterator>
+inline static_any<NDNBOOST_DEDUCED_TYPENAME C::const_iterator>
 begin( C const& t, mpl::true_ )
 {
-    return static_any<BOOST_DEDUCED_TYPENAME C::const_iterator>( t.begin() );
+    return static_any<NDNBOOST_DEDUCED_TYPENAME C::const_iterator>( t.begin() );
 }
 
 //____________________________________________________________________________//
@@ -114,19 +114,19 @@
 // ************************************************************************** //
 
 template<typename C>
-inline static_any<BOOST_DEDUCED_TYPENAME C::iterator>
+inline static_any<NDNBOOST_DEDUCED_TYPENAME C::iterator>
 end( C& t, mpl::false_ )
 {
-    return static_any<BOOST_DEDUCED_TYPENAME C::iterator>( t.end() );
+    return static_any<NDNBOOST_DEDUCED_TYPENAME C::iterator>( t.end() );
 }
 
 //____________________________________________________________________________//
 
 template<typename C>
-inline static_any<BOOST_DEDUCED_TYPENAME C::const_iterator>
+inline static_any<NDNBOOST_DEDUCED_TYPENAME C::const_iterator>
 end( C const& t, mpl::true_ )
 {
-    return static_any<BOOST_DEDUCED_TYPENAME C::const_iterator>( t.end() );
+    return static_any<NDNBOOST_DEDUCED_TYPENAME C::const_iterator>( t.end() );
 }
 
 //____________________________________________________________________________//
@@ -139,8 +139,8 @@
 inline bool
 done( static_any_t cur, static_any_t end, C&, mpl::false_ )
 {
-    return  static_any_cast<BOOST_DEDUCED_TYPENAME C::iterator>( cur ) ==
-            static_any_cast<BOOST_DEDUCED_TYPENAME C::iterator>( end );
+    return  static_any_cast<NDNBOOST_DEDUCED_TYPENAME C::iterator>( cur ) ==
+            static_any_cast<NDNBOOST_DEDUCED_TYPENAME C::iterator>( end );
 }
 
 //____________________________________________________________________________//
@@ -149,8 +149,8 @@
 inline bool
 done( static_any_t cur, static_any_t end, C const&, mpl::true_ )
 {
-    return  static_any_cast<BOOST_DEDUCED_TYPENAME C::const_iterator>( cur ) ==
-            static_any_cast<BOOST_DEDUCED_TYPENAME C::const_iterator>( end );
+    return  static_any_cast<NDNBOOST_DEDUCED_TYPENAME C::const_iterator>( cur ) ==
+            static_any_cast<NDNBOOST_DEDUCED_TYPENAME C::const_iterator>( end );
 }
 
 //____________________________________________________________________________//
@@ -163,7 +163,7 @@
 inline void
 next( static_any_t cur, C&, mpl::false_ )
 {
-    ++static_any_cast<BOOST_DEDUCED_TYPENAME C::iterator>( cur );
+    ++static_any_cast<NDNBOOST_DEDUCED_TYPENAME C::iterator>( cur );
 }
 
 //____________________________________________________________________________//
@@ -172,7 +172,7 @@
 inline void
 next( static_any_t cur, C const&, mpl::true_ )
 {
-    ++static_any_cast<BOOST_DEDUCED_TYPENAME C::const_iterator>( cur );
+    ++static_any_cast<NDNBOOST_DEDUCED_TYPENAME C::const_iterator>( cur );
 }
 
 //____________________________________________________________________________//
@@ -185,7 +185,7 @@
 inline RefType
 deref( static_any_t cur, C&, ::ndnboost::type<RefType>, mpl::false_ )
 {
-    return *static_any_cast<BOOST_DEDUCED_TYPENAME C::iterator>( cur );
+    return *static_any_cast<NDNBOOST_DEDUCED_TYPENAME C::iterator>( cur );
 }
 
 //____________________________________________________________________________//
@@ -194,76 +194,76 @@
 inline RefType
 deref( static_any_t cur, C const&, ::ndnboost::type<RefType>, mpl::true_ )
 {
-    return *static_any_cast<BOOST_DEDUCED_TYPENAME C::const_iterator>( cur );
+    return *static_any_cast<NDNBOOST_DEDUCED_TYPENAME C::const_iterator>( cur );
 }
 
 //____________________________________________________________________________//
 
 // ************************************************************************** //
-// **************              BOOST_TEST_FOREACH              ************** //
+// **************              NDNBOOST_TEST_FOREACH              ************** //
 // ************************************************************************** //
 
-#define BOOST_TEST_FE_ANY                   ::ndnboost::unit_test::for_each::static_any_t
-#define BOOST_TEST_FE_IS_CONST( COL )       ::ndnboost::unit_test::for_each::is_const_coll( COL )
+#define NDNBOOST_TEST_FE_ANY                   ::ndnboost::unit_test::for_each::static_any_t
+#define NDNBOOST_TEST_FE_IS_CONST( COL )       ::ndnboost::unit_test::for_each::is_const_coll( COL )
 
-#define BOOST_TEST_FE_BEG( COL )            \
+#define NDNBOOST_TEST_FE_BEG( COL )            \
     ::ndnboost::unit_test::for_each::begin(    \
         COL,                                \
-        BOOST_TEST_FE_IS_CONST( COL ) )     \
+        NDNBOOST_TEST_FE_IS_CONST( COL ) )     \
 /**/
 
-#define BOOST_TEST_FE_END( COL )            \
+#define NDNBOOST_TEST_FE_END( COL )            \
     ::ndnboost::unit_test::for_each::end(      \
         COL,                                \
-        BOOST_TEST_FE_IS_CONST( COL ) )     \
+        NDNBOOST_TEST_FE_IS_CONST( COL ) )     \
 /**/
 
-#define BOOST_TEST_FE_DONE( COL )           \
+#define NDNBOOST_TEST_FE_DONE( COL )           \
     ::ndnboost::unit_test::for_each::done(     \
-        BOOST_TEST_FE_CUR_VAR,              \
-        BOOST_TEST_FE_END_VAR,              \
+        NDNBOOST_TEST_FE_CUR_VAR,              \
+        NDNBOOST_TEST_FE_END_VAR,              \
         COL,                                \
-        BOOST_TEST_FE_IS_CONST( COL ) )     \
+        NDNBOOST_TEST_FE_IS_CONST( COL ) )     \
 /**/
 
-#define BOOST_TEST_FE_NEXT( COL )           \
+#define NDNBOOST_TEST_FE_NEXT( COL )           \
     ::ndnboost::unit_test::for_each::next(     \
-        BOOST_TEST_FE_CUR_VAR,              \
+        NDNBOOST_TEST_FE_CUR_VAR,              \
         COL,                                \
-        BOOST_TEST_FE_IS_CONST( COL ) )     \
+        NDNBOOST_TEST_FE_IS_CONST( COL ) )     \
 /**/
 
-#define BOOST_FOREACH_NOOP(COL)             \
+#define NDNBOOST_FOREACH_NOOP(COL)             \
     ((void)&(COL))
 
-#define BOOST_TEST_FE_DEREF( COL, RefType ) \
+#define NDNBOOST_TEST_FE_DEREF( COL, RefType ) \
     ::ndnboost::unit_test::for_each::deref(    \
-        BOOST_TEST_FE_CUR_VAR,              \
+        NDNBOOST_TEST_FE_CUR_VAR,              \
         COL,                                \
         ::ndnboost::type<RefType >(),          \
-        BOOST_TEST_FE_IS_CONST( COL ) )     \
+        NDNBOOST_TEST_FE_IS_CONST( COL ) )     \
 /**/
 
-#if BOOST_WORKAROUND( BOOST_MSVC, == 1310 )
-#define BOOST_TEST_LINE_NUM
+#if NDNBOOST_WORKAROUND( NDNBOOST_MSVC, == 1310 )
+#define NDNBOOST_TEST_LINE_NUM
 #else
-#define BOOST_TEST_LINE_NUM     __LINE__
+#define NDNBOOST_TEST_LINE_NUM     __LINE__
 #endif
 
-#define BOOST_TEST_FE_CUR_VAR   BOOST_JOIN( _fe_cur_, BOOST_TEST_LINE_NUM )
-#define BOOST_TEST_FE_END_VAR   BOOST_JOIN( _fe_end_, BOOST_TEST_LINE_NUM )
-#define BOOST_TEST_FE_CON_VAR   BOOST_JOIN( _fe_con_, BOOST_TEST_LINE_NUM )
+#define NDNBOOST_TEST_FE_CUR_VAR   NDNBOOST_JOIN( _fe_cur_, NDNBOOST_TEST_LINE_NUM )
+#define NDNBOOST_TEST_FE_END_VAR   NDNBOOST_JOIN( _fe_end_, NDNBOOST_TEST_LINE_NUM )
+#define NDNBOOST_TEST_FE_CON_VAR   NDNBOOST_JOIN( _fe_con_, NDNBOOST_TEST_LINE_NUM )
 
-#define BOOST_TEST_FOREACH( RefType, var, COL )                                             \
-if( BOOST_TEST_FE_ANY BOOST_TEST_FE_CUR_VAR = BOOST_TEST_FE_BEG( COL ) ) {} else            \
-if( BOOST_TEST_FE_ANY BOOST_TEST_FE_END_VAR = BOOST_TEST_FE_END( COL ) ) {} else            \
-for( bool BOOST_TEST_FE_CON_VAR = true;                                                     \
-          BOOST_TEST_FE_CON_VAR && !BOOST_TEST_FE_DONE( COL );                              \
-          BOOST_TEST_FE_CON_VAR ? BOOST_TEST_FE_NEXT( COL ) : BOOST_FOREACH_NOOP( COL ))    \
+#define NDNBOOST_TEST_FOREACH( RefType, var, COL )                                             \
+if( NDNBOOST_TEST_FE_ANY NDNBOOST_TEST_FE_CUR_VAR = NDNBOOST_TEST_FE_BEG( COL ) ) {} else            \
+if( NDNBOOST_TEST_FE_ANY NDNBOOST_TEST_FE_END_VAR = NDNBOOST_TEST_FE_END( COL ) ) {} else            \
+for( bool NDNBOOST_TEST_FE_CON_VAR = true;                                                     \
+          NDNBOOST_TEST_FE_CON_VAR && !NDNBOOST_TEST_FE_DONE( COL );                              \
+          NDNBOOST_TEST_FE_CON_VAR ? NDNBOOST_TEST_FE_NEXT( COL ) : NDNBOOST_FOREACH_NOOP( COL ))    \
                                                                                             \
-    if( (BOOST_TEST_FE_CON_VAR = false, false) ) {} else                                    \
-    for( RefType var = BOOST_TEST_FE_DEREF( COL, RefType );                                 \
-         !BOOST_TEST_FE_CON_VAR; BOOST_TEST_FE_CON_VAR = true )                             \
+    if( (NDNBOOST_TEST_FE_CON_VAR = false, false) ) {} else                                    \
+    for( RefType var = NDNBOOST_TEST_FE_DEREF( COL, RefType );                                 \
+         !NDNBOOST_TEST_FE_CON_VAR; NDNBOOST_TEST_FE_CON_VAR = true )                             \
 /**/
 
 //____________________________________________________________________________//
@@ -278,4 +278,4 @@
 
 #include <ndnboost/test/detail/enable_warnings.hpp>
 
-#endif // BOOST_TEST_FOREACH_HPP_021005GER
+#endif // NDNBOOST_TEST_FOREACH_HPP_021005GER
diff --git a/include/ndnboost/test/utils/iterator/input_iterator_facade.hpp b/include/ndnboost/test/utils/iterator/input_iterator_facade.hpp
index 92968ac..7763fce 100644
--- a/include/ndnboost/test/utils/iterator/input_iterator_facade.hpp
+++ b/include/ndnboost/test/utils/iterator/input_iterator_facade.hpp
@@ -12,8 +12,8 @@
 //  Description : Input iterator facade 
 // ***************************************************************************
 
-#ifndef BOOST_INPUT_ITERATOR_FACADE_HPP_071894GER
-#define BOOST_INPUT_ITERATOR_FACADE_HPP_071894GER
+#ifndef NDNBOOST_INPUT_ITERATOR_FACADE_HPP_071894GER
+#define NDNBOOST_INPUT_ITERATOR_FACADE_HPP_071894GER
 
 // Boost
 #include <ndnboost/iterator/iterator_facade.hpp>
@@ -32,7 +32,7 @@
 
 class input_iterator_core_access
 {
-#if defined(BOOST_NO_MEMBER_TEMPLATE_FRIENDS) || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x551))
+#if defined(NDNBOOST_NO_MEMBER_TEMPLATE_FRIENDS) || NDNBOOST_WORKAROUND(__BORLANDC__, NDNBOOST_TESTED_AT(0x551))
 public:
 #else
     template <class I, class V, class R, class TC> friend class input_iterator_facade;
@@ -105,5 +105,5 @@
 
 #include <ndnboost/test/detail/enable_warnings.hpp>
 
-#endif // BOOST_INPUT_ITERATOR_FACADE_HPP_071894GER
+#endif // NDNBOOST_INPUT_ITERATOR_FACADE_HPP_071894GER
 
diff --git a/include/ndnboost/test/utils/iterator/token_iterator.hpp b/include/ndnboost/test/utils/iterator/token_iterator.hpp
index c1b2dbc..efc99fe 100644
--- a/include/ndnboost/test/utils/iterator/token_iterator.hpp
+++ b/include/ndnboost/test/utils/iterator/token_iterator.hpp
@@ -12,8 +12,8 @@
 //  Description : token iterator for string and range tokenization
 // ***************************************************************************
 
-#ifndef BOOST_TOKEN_ITERATOR_HPP_071894GER
-#define BOOST_TOKEN_ITERATOR_HPP_071894GER
+#ifndef NDNBOOST_TOKEN_ITERATOR_HPP_071894GER
+#define NDNBOOST_TOKEN_ITERATOR_HPP_071894GER
 
 // Boost
 #include <ndnboost/config.hpp>
@@ -35,7 +35,7 @@
 
 //____________________________________________________________________________//
 
-#ifdef BOOST_NO_STDC_NAMESPACE
+#ifdef NDNBOOST_NO_STDC_NAMESPACE
 namespace std{ using ::ispunct; using ::isspace; }
 #endif
 
@@ -65,7 +65,7 @@
 public:
     bool operator()( CharT c1, CharT c2 )
     {
-#ifdef BOOST_CLASSIC_IOSTREAMS
+#ifdef NDNBOOST_CLASSIC_IOSTREAMS
         return std::string_char_traits<CharT>::eq( c1, c2 );
 #else
         return std::char_traits<CharT>::eq( c1, c2 );
@@ -102,7 +102,7 @@
     {
         switch( m_type ) {
         case dt_char: {
-            BOOST_TEST_FOREACH( CharT, delim, m_delimeters )
+            NDNBOOST_TEST_FOREACH( CharT, delim, m_delimeters )
                 if( CharCompare()( delim, c ) )
                     return true;
 
@@ -131,7 +131,7 @@
 
 template<typename TraversalTag>
 struct token_assigner {
-#if BOOST_WORKAROUND( BOOST_DINKUMWARE_STDLIB, < 306 )
+#if NDNBOOST_WORKAROUND( NDNBOOST_DINKUMWARE_STDLIB, < 306 )
     template<typename Iterator, typename C, typename T>
     static void assign( Iterator b, Iterator e, std::basic_string<C,T>& t )
     { for( ; b != e; ++b ) t += *b; }
@@ -216,7 +216,7 @@
     template<typename Iter> 
     bool                    get( Iter& begin, Iter end )
     {
-        typedef ut_detail::token_assigner<BOOST_DEDUCED_TYPENAME iterator_traversal<Iter>::type> Assigner;
+        typedef ut_detail::token_assigner<NDNBOOST_DEDUCED_TYPENAME iterator_traversal<Iter>::type> Assigner;
         Iter check_point;
 
         this->m_value.clear();
@@ -336,8 +336,8 @@
 // ************************************************************************** //
 
 template<typename Iter,
-         typename CharCompare = ut_detail::default_char_compare<BOOST_DEDUCED_TYPENAME iterator_value<Iter>::type>,
-         typename ValueType   = std::basic_string<BOOST_DEDUCED_TYPENAME iterator_value<Iter>::type>,
+         typename CharCompare = ut_detail::default_char_compare<NDNBOOST_DEDUCED_TYPENAME iterator_value<Iter>::type>,
+         typename ValueType   = std::basic_string<NDNBOOST_DEDUCED_TYPENAME iterator_value<Iter>::type>,
          typename Reference   = ValueType const&>
 class range_token_iterator
 : public token_iterator_base<range_token_iterator<Iter,CharCompare,ValueType,Reference>,
@@ -414,5 +414,5 @@
 
 #include <ndnboost/test/detail/enable_warnings.hpp>
 
-#endif // BOOST_TOKEN_ITERATOR_HPP_071894GER
+#endif // NDNBOOST_TOKEN_ITERATOR_HPP_071894GER
 
diff --git a/include/ndnboost/test/utils/lazy_ostream.hpp b/include/ndnboost/test/utils/lazy_ostream.hpp
index 4b9a0a3..da3fa22 100644
--- a/include/ndnboost/test/utils/lazy_ostream.hpp
+++ b/include/ndnboost/test/utils/lazy_ostream.hpp
@@ -12,8 +12,8 @@
 //  Description : contains definition for all test tools in test toolbox
 // ***************************************************************************
 
-#ifndef BOOST_TEST_LAZY_OSTREAM_HPP_070708GER
-#define BOOST_TEST_LAZY_OSTREAM_HPP_070708GER
+#ifndef NDNBOOST_TEST_LAZY_OSTREAM_HPP_070708GER
+#define NDNBOOST_TEST_LAZY_OSTREAM_HPP_070708GER
 
 // Boost.Test
 #include <ndnboost/test/detail/config.hpp>
@@ -48,10 +48,10 @@
     explicit                lazy_ostream( bool empty = true ) : m_empty( empty )    {}
 
     // protected destructor to make sure right one is called
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x582))
+#if NDNBOOST_WORKAROUND(__BORLANDC__, NDNBOOST_TESTED_AT(0x582))
 public:
 #endif
-    BOOST_TEST_PROTECTED_VIRTUAL ~lazy_ostream()                                    {}
+    NDNBOOST_TEST_PROTECTED_VIRTUAL ~lazy_ostream()                                    {}
 
 private:
     // Data members
@@ -90,13 +90,13 @@
 
 //____________________________________________________________________________//
 
-#if BOOST_TEST_USE_STD_LOCALE
+#if NDNBOOST_TEST_USE_STD_LOCALE
 
 template<typename R,typename S>
-inline lazy_ostream_impl<R& (BOOST_TEST_CALL_DECL *)(S&)>
-operator<<( lazy_ostream const& prev, R& (BOOST_TEST_CALL_DECL *man)(S&) )
+inline lazy_ostream_impl<R& (NDNBOOST_TEST_CALL_DECL *)(S&)>
+operator<<( lazy_ostream const& prev, R& (NDNBOOST_TEST_CALL_DECL *man)(S&) )
 {
-    return lazy_ostream_impl<R& (BOOST_TEST_CALL_DECL *)(S&)>( prev, man );
+    return lazy_ostream_impl<R& (NDNBOOST_TEST_CALL_DECL *)(S&)>( prev, man );
 }
 
 //____________________________________________________________________________//
@@ -111,4 +111,4 @@
 
 #include <ndnboost/test/detail/enable_warnings.hpp>
 
-#endif // BOOST_TEST_LAZY_OSTREAM_HPP_070708GER
+#endif // NDNBOOST_TEST_LAZY_OSTREAM_HPP_070708GER
diff --git a/include/ndnboost/test/utils/named_params.hpp b/include/ndnboost/test/utils/named_params.hpp
index 371d594..b120e56 100644
--- a/include/ndnboost/test/utils/named_params.hpp
+++ b/include/ndnboost/test/utils/named_params.hpp
@@ -12,8 +12,8 @@
 //  Description : facilities for named function parameters support
 // ***************************************************************************
 
-#ifndef BOOST_TEST_NAMED_PARAM_022505GER
-#define BOOST_TEST_NAMED_PARAM_022505GER
+#ifndef NDNBOOST_TEST_NAMED_PARAM_022505GER
+#define NDNBOOST_TEST_NAMED_PARAM_022505GER
 
 // Boost
 #include <ndnboost/config.hpp>
@@ -139,8 +139,8 @@
     void        erase( keyword<typename NP::id,false> kw ) const        { m_param.erase( kw ); }
     using       Rest::erase;
 
-#if BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3206)) || \
-    BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x0610))
+#if NDNBOOST_WORKAROUND(__MWERKS__, NDNBOOST_TESTED_AT(0x3206)) || \
+    NDNBOOST_WORKAROUND(__BORLANDC__, NDNBOOST_TESTED_AT(0x0610))
     template<typename NP>
     named_parameter_combine<NP,self_type> operator,( NP const& np ) const
     { return named_parameter_combine<NP,self_type>( np, *this ); }
@@ -295,8 +295,8 @@
 
 template<typename T, typename Source>
 inline void
-#if BOOST_WORKAROUND( __MWERKS__, BOOST_TESTED_AT( 0x3003 ) ) \
-    || BOOST_WORKAROUND( __DECCXX_VER, BOOST_TESTED_AT(60590042) )
+#if NDNBOOST_WORKAROUND( __MWERKS__, NDNBOOST_TESTED_AT( 0x3003 ) ) \
+    || NDNBOOST_WORKAROUND( __DECCXX_VER, NDNBOOST_TESTED_AT(60590042) )
 optionally_assign( T& target, Source src )
 #else
 optionally_assign( T& target, Source const& src )
@@ -325,5 +325,5 @@
 
 #include <ndnboost/test/detail/enable_warnings.hpp>
 
-#endif // BOOST_TEST_NAMED_PARAM_022505GER
+#endif // NDNBOOST_TEST_NAMED_PARAM_022505GER
 
diff --git a/include/ndnboost/test/utils/rtti.hpp b/include/ndnboost/test/utils/rtti.hpp
index 2413106..e547ad2 100644
--- a/include/ndnboost/test/utils/rtti.hpp
+++ b/include/ndnboost/test/utils/rtti.hpp
@@ -12,8 +12,8 @@
 //  Description : simple facilities for accessing type information at runtime
 // ***************************************************************************
 
-#ifndef BOOST_TEST_RTTI_HPP_062604GER
-#define BOOST_TEST_RTTI_HPP_062604GER
+#ifndef NDNBOOST_TEST_RTTI_HPP_062604GER
+#define NDNBOOST_TEST_RTTI_HPP_062604GER
 
 #include <cstddef>
 
@@ -52,8 +52,8 @@
 
 //____________________________________________________________________________//
 
-#define BOOST_RTTI_SWITCH( type_id_ ) if( ::ndnboost::rtti::id_t switch_by_id = type_id_ )
-#define BOOST_RTTI_CASE( type )       if( switch_by_id == ::ndnboost::rtti::type_id<type>() )
+#define NDNBOOST_RTTI_SWITCH( type_id_ ) if( ::ndnboost::rtti::id_t switch_by_id = type_id_ )
+#define NDNBOOST_RTTI_CASE( type )       if( switch_by_id == ::ndnboost::rtti::type_id<type>() )
 
 //____________________________________________________________________________//
 
@@ -61,4 +61,4 @@
 
 } // namespace ndnboost
 
-#endif // BOOST_RT_RTTI_HPP_062604GER
+#endif // NDNBOOST_RT_RTTI_HPP_062604GER
diff --git a/include/ndnboost/test/utils/runtime/argument.hpp b/include/ndnboost/test/utils/runtime/argument.hpp
index c14956c..fa2b29d 100644
--- a/include/ndnboost/test/utils/runtime/argument.hpp
+++ b/include/ndnboost/test/utils/runtime/argument.hpp
@@ -12,8 +12,8 @@
 //  Description : model of actual argument (both typed and abstract interface)
 // ***************************************************************************
 
-#ifndef BOOST_RT_ARGUMENT_HPP_062604GER
-#define BOOST_RT_ARGUMENT_HPP_062604GER
+#ifndef NDNBOOST_RT_ARGUMENT_HPP_062604GER
+#define NDNBOOST_RT_ARGUMENT_HPP_062604GER
 
 // Boost.Runtime.Parameter
 #include <ndnboost/test/utils/runtime/config.hpp>
@@ -29,13 +29,13 @@
 
 namespace ndnboost {
 
-namespace BOOST_RT_PARAM_NAMESPACE {
+namespace NDNBOOST_RT_PARAM_NAMESPACE {
 
 // ************************************************************************** //
 // **************              runtime::argument               ************** //
 // ************************************************************************** //
 
-#ifdef BOOST_MSVC
+#ifdef NDNBOOST_MSVC
 #  pragma warning(push)
 #  pragma warning(disable:4244)
 #endif
@@ -99,14 +99,14 @@
     return static_cast<typed_argument<T>&>( arg_ ).p_value.value;
 }
 
-#ifdef BOOST_MSVC
+#ifdef NDNBOOST_MSVC
 #  pragma warning(pop)
 #endif
 
 //____________________________________________________________________________//
 
-} // namespace BOOST_RT_PARAM_NAMESPACE
+} // namespace NDNBOOST_RT_PARAM_NAMESPACE
 
 } // namespace ndnboost
 
-#endif // BOOST_RT_ARGUMENT_HPP_062604GER
+#endif // NDNBOOST_RT_ARGUMENT_HPP_062604GER
diff --git a/include/ndnboost/test/utils/runtime/cla/argument_factory.hpp b/include/ndnboost/test/utils/runtime/cla/argument_factory.hpp
index 4f6709b..90f1df4 100644
--- a/include/ndnboost/test/utils/runtime/cla/argument_factory.hpp
+++ b/include/ndnboost/test/utils/runtime/cla/argument_factory.hpp
@@ -12,8 +12,8 @@
 //  Description : generic typed_argument_factory implementation
 // ***************************************************************************
 
-#ifndef BOOST_RT_CLA_ARGUMENT_FACTORY_HPP_062604GER
-#define BOOST_RT_CLA_ARGUMENT_FACTORY_HPP_062604GER
+#ifndef NDNBOOST_RT_CLA_ARGUMENT_FACTORY_HPP_062604GER
+#define NDNBOOST_RT_CLA_ARGUMENT_FACTORY_HPP_062604GER
 
 // Boost.Runtime.Parameter
 #include <ndnboost/test/utils/runtime/config.hpp>
@@ -41,7 +41,7 @@
 
 namespace ndnboost {
 
-namespace BOOST_RT_PARAM_NAMESPACE {
+namespace NDNBOOST_RT_PARAM_NAMESPACE {
 
 namespace cla {
 
@@ -72,7 +72,7 @@
     typed_argument_factory()
     : m_value_interpreter( rt_cla_detail::default_value_interpreter() )
     {}
-    BOOST_RT_PARAM_UNNEEDED_VIRTUAL ~typed_argument_factory() {}
+    NDNBOOST_RT_PARAM_UNNEEDED_VIRTUAL ~typed_argument_factory() {}
 
     // properties modification
     template<typename Modifier>
@@ -82,24 +82,24 @@
         optionally_assign( m_value_interpreter, m, interpreter );
 
         if( m.has( default_value ) ) {
-            BOOST_RT_PARAM_VALIDATE_LOGIC( !m_value_generator, 
-                BOOST_RT_PARAM_LITERAL( "multiple value generators for parameter" ) );
+            NDNBOOST_RT_PARAM_VALIDATE_LOGIC( !m_value_generator, 
+                NDNBOOST_RT_PARAM_LITERAL( "multiple value generators for parameter" ) );
 
             T const& dv_ref = m[default_value];
             m_value_generator = rt_cla_detail::const_generator<T>( dv_ref );
         }
 
         if( m.has( default_refer_to ) ) {
-            BOOST_RT_PARAM_VALIDATE_LOGIC( !m_value_generator, 
-                BOOST_RT_PARAM_LITERAL( "multiple value generators for parameter" ) );
+            NDNBOOST_RT_PARAM_VALIDATE_LOGIC( !m_value_generator, 
+                NDNBOOST_RT_PARAM_LITERAL( "multiple value generators for parameter" ) );
 
             cstring ref_id = m[default_refer_to];
             m_value_generator = rt_cla_detail::ref_generator<T>( ref_id );
         }
 
         if( m.has( assign_to ) ) {
-            BOOST_RT_PARAM_VALIDATE_LOGIC( !m_value_handler, 
-                BOOST_RT_PARAM_LITERAL( "multiple value handlers for parameter" ) );
+            NDNBOOST_RT_PARAM_VALIDATE_LOGIC( !m_value_handler, 
+                NDNBOOST_RT_PARAM_LITERAL( "multiple value handlers for parameter" ) );
 
             m_value_handler = rt_cla_detail::assigner<T>( m[assign_to] );
         }
@@ -129,7 +129,7 @@
         m_value_interpreter( tr, value );
     }
     catch( ... ) { // !! should we do that?
-        BOOST_RT_PARAM_TRACE( "Fail to parse argument value" );
+        NDNBOOST_RT_PARAM_TRACE( "Fail to parse argument value" );
 
         if( !p.p_optional_value )
             throw;
@@ -137,11 +137,11 @@
 
     argument_ptr actual_arg = p.actual_argument();
 
-    BOOST_RT_CLA_VALIDATE_INPUT( !!value || p.p_optional_value, tr, 
-        BOOST_RT_PARAM_LITERAL( "Argument value missing for parameter " ) << p.id_2_report() );
+    NDNBOOST_RT_CLA_VALIDATE_INPUT( !!value || p.p_optional_value, tr, 
+        NDNBOOST_RT_PARAM_LITERAL( "Argument value missing for parameter " ) << p.id_2_report() );
 
-    BOOST_RT_CLA_VALIDATE_INPUT( !actual_arg || p.p_multiplicable, tr, 
-        BOOST_RT_PARAM_LITERAL( "Unexpected repetition of the parameter " ) << p.id_2_report() );
+    NDNBOOST_RT_CLA_VALIDATE_INPUT( !actual_arg || p.p_multiplicable, tr, 
+        NDNBOOST_RT_PARAM_LITERAL( "Unexpected repetition of the parameter " ) << p.id_2_report() );
 
     if( !!value && !!m_value_handler )
         m_value_handler( p, *value );
@@ -211,8 +211,8 @@
 
 } // namespace ndnboost
 
-} // namespace BOOST_RT_PARAM_NAMESPACE
+} // namespace NDNBOOST_RT_PARAM_NAMESPACE
 
 } // namespace cla
 
-#endif // BOOST_RT_CLA_ARGUMENT_FACTORY_HPP_062604GER
+#endif // NDNBOOST_RT_CLA_ARGUMENT_FACTORY_HPP_062604GER
diff --git a/include/ndnboost/test/utils/runtime/cla/argv_traverser.hpp b/include/ndnboost/test/utils/runtime/cla/argv_traverser.hpp
index 8674bd2..1e1f7bc 100644
--- a/include/ndnboost/test/utils/runtime/cla/argv_traverser.hpp
+++ b/include/ndnboost/test/utils/runtime/cla/argv_traverser.hpp
@@ -12,8 +12,8 @@
 //  Description : defines facility to hide input traversing details
 // ***************************************************************************
 
-#ifndef BOOST_RT_CLA_ARGV_TRAVERSER_HPP_062604GER
-#define BOOST_RT_CLA_ARGV_TRAVERSER_HPP_062604GER
+#ifndef NDNBOOST_RT_CLA_ARGV_TRAVERSER_HPP_062604GER
+#define NDNBOOST_RT_CLA_ARGV_TRAVERSER_HPP_062604GER
 
 // Boost.Runtime.Parameter
 #include <ndnboost/test/utils/runtime/config.hpp>
@@ -27,7 +27,7 @@
 
 namespace ndnboost {
 
-namespace BOOST_RT_PARAM_NAMESPACE {
+namespace NDNBOOST_RT_PARAM_NAMESPACE {
 
 namespace cla {
 
@@ -84,15 +84,15 @@
 
 } // namespace cla
 
-} // namespace BOOST_RT_PARAM_NAMESPACE
+} // namespace NDNBOOST_RT_PARAM_NAMESPACE
 
 } // namespace ndnboost
 
-#ifndef BOOST_RT_PARAM_OFFLINE
+#ifndef NDNBOOST_RT_PARAM_OFFLINE
 
-#  define BOOST_RT_PARAM_INLINE inline
+#  define NDNBOOST_RT_PARAM_INLINE inline
 #  include <ndnboost/test/utils/runtime/cla/argv_traverser.ipp>
 
 #endif
 
-#endif // BOOST_RT_CLA_ARGV_TRAVERSER_HPP_062604GER
+#endif // NDNBOOST_RT_CLA_ARGV_TRAVERSER_HPP_062604GER
diff --git a/include/ndnboost/test/utils/runtime/cla/argv_traverser.ipp b/include/ndnboost/test/utils/runtime/cla/argv_traverser.ipp
index da03cd9..99c047d 100644
--- a/include/ndnboost/test/utils/runtime/cla/argv_traverser.ipp
+++ b/include/ndnboost/test/utils/runtime/cla/argv_traverser.ipp
@@ -12,8 +12,8 @@
 //  Description : implements facility to hide input traversing details
 // ***************************************************************************
 
-#ifndef BOOST_RT_CLA_ARGV_TRAVERSER_IPP_070604GER
-#define BOOST_RT_CLA_ARGV_TRAVERSER_IPP_070604GER
+#ifndef NDNBOOST_RT_CLA_ARGV_TRAVERSER_IPP_070604GER
+#define NDNBOOST_RT_CLA_ARGV_TRAVERSER_IPP_070604GER
 
 // Boost.Runtime.Parameter
 #include <ndnboost/test/utils/runtime/trace.hpp>
@@ -24,13 +24,13 @@
 #include <memory>
 #include <cstring>
 
-#ifdef BOOST_NO_STDC_NAMESPACE
+#ifdef NDNBOOST_NO_STDC_NAMESPACE
 namespace std { using ::memcpy; }
 #endif
 
 namespace ndnboost {
 
-namespace BOOST_RT_PARAM_NAMESPACE {
+namespace NDNBOOST_RT_PARAM_NAMESPACE {
 
 namespace cla {
 
@@ -38,21 +38,21 @@
 // **************          runtime::cla::argv_traverser        ************** //
 // ************************************************************************** //
 
-BOOST_RT_PARAM_INLINE
+NDNBOOST_RT_PARAM_INLINE
 argv_traverser::argv_traverser()
-: p_ignore_mismatch( false ), p_separator( BOOST_RT_PARAM_LITERAL( ' ' ) )
+: p_ignore_mismatch( false ), p_separator( NDNBOOST_RT_PARAM_LITERAL( ' ' ) )
 {
 }
 
 //____________________________________________________________________________//
 
-BOOST_RT_PARAM_INLINE void
+NDNBOOST_RT_PARAM_INLINE void
 argv_traverser::init( int argc, char_type** argv )
 {
     for( int index = 1; index < argc; ++index ) {
         m_buffer += argv[index];
         if( index != argc-1 )
-            m_buffer += BOOST_RT_PARAM_LITERAL( ' ' );
+            m_buffer += NDNBOOST_RT_PARAM_LITERAL( ' ' );
     }
 
     m_remainder.reset( new char_type[m_buffer.size()+1] );
@@ -60,14 +60,14 @@
     m_work_buffer       = m_buffer;
     m_commited_end      = m_work_buffer.begin();
 
-    BOOST_RT_PARAM_TRACE( "Input buffer: " << m_buffer );
+    NDNBOOST_RT_PARAM_TRACE( "Input buffer: " << m_buffer );
 
     next_token();
 }
 
 //____________________________________________________________________________//
 
-BOOST_RT_PARAM_INLINE void
+NDNBOOST_RT_PARAM_INLINE void
 argv_traverser::remainder( int& argc, char_type** argv )
 {
     argc = 1;
@@ -76,14 +76,14 @@
         argv[argc++] = m_remainder.get() + pos;
 
         pos = std::find( m_remainder.get() + pos, m_remainder.get() + m_remainder_size, 
-                         BOOST_RT_PARAM_LITERAL( ' ' ) ) - m_remainder.get();
-        m_remainder[pos++] = BOOST_RT_PARAM_LITERAL( '\0' );
+                         NDNBOOST_RT_PARAM_LITERAL( ' ' ) ) - m_remainder.get();
+        m_remainder[pos++] = NDNBOOST_RT_PARAM_LITERAL( '\0' );
     }
 }
 
 //____________________________________________________________________________//
 
-BOOST_RT_PARAM_INLINE cstring
+NDNBOOST_RT_PARAM_INLINE cstring
 argv_traverser::token() const
 {
     return m_token;
@@ -91,7 +91,7 @@
 
 //____________________________________________________________________________//
 
-BOOST_RT_PARAM_INLINE void
+NDNBOOST_RT_PARAM_INLINE void
 argv_traverser::next_token()
 {
     if( m_work_buffer.is_empty() )
@@ -108,7 +108,7 @@
 
 //____________________________________________________________________________//
 
-BOOST_RT_PARAM_INLINE cstring
+NDNBOOST_RT_PARAM_INLINE cstring
 argv_traverser::input() const
 {
     return m_work_buffer;
@@ -116,7 +116,7 @@
 
 //____________________________________________________________________________//
 
-BOOST_RT_PARAM_INLINE void
+NDNBOOST_RT_PARAM_INLINE void
 argv_traverser::trim( std::size_t size )
 {
     m_work_buffer.trim_left( size );
@@ -131,7 +131,7 @@
 
 //____________________________________________________________________________//
 
-BOOST_RT_PARAM_INLINE bool
+NDNBOOST_RT_PARAM_INLINE bool
 argv_traverser::match_front( cstring str )
 {
     return m_work_buffer.size() < str.size() ? false : m_work_buffer.substr( 0, str.size() ) == str;
@@ -139,7 +139,7 @@
 
 //____________________________________________________________________________//
 
-BOOST_RT_PARAM_INLINE bool
+NDNBOOST_RT_PARAM_INLINE bool
 argv_traverser::match_front( char_type c )
 {
     return first_char( m_work_buffer ) == c;
@@ -147,7 +147,7 @@
 
 //____________________________________________________________________________//
 
-BOOST_RT_PARAM_INLINE bool
+NDNBOOST_RT_PARAM_INLINE bool
 argv_traverser::eoi() const
 {
     return m_work_buffer.is_empty();
@@ -155,7 +155,7 @@
 
 //____________________________________________________________________________//
 
-BOOST_RT_PARAM_INLINE void
+NDNBOOST_RT_PARAM_INLINE void
 argv_traverser::commit()
 {
     m_commited_end = m_work_buffer.begin();
@@ -163,7 +163,7 @@
 
 //____________________________________________________________________________//
 
-BOOST_RT_PARAM_INLINE void
+NDNBOOST_RT_PARAM_INLINE void
 argv_traverser::rollback()
 {
     m_work_buffer.assign( m_commited_end, m_work_buffer.end() );
@@ -174,7 +174,7 @@
 
 //____________________________________________________________________________//
 
-BOOST_RT_PARAM_INLINE std::size_t
+NDNBOOST_RT_PARAM_INLINE std::size_t
 argv_traverser::input_pos() const
 {
     return m_work_buffer.begin() - m_commited_end;
@@ -182,7 +182,7 @@
 
 //____________________________________________________________________________//
 
-BOOST_RT_PARAM_INLINE bool
+NDNBOOST_RT_PARAM_INLINE bool
 argv_traverser::handle_mismatch()
 {
     if( !p_ignore_mismatch )
@@ -202,8 +202,8 @@
 
 } // namespace cla
 
-} // namespace BOOST_RT_PARAM_NAMESPACE
+} // namespace NDNBOOST_RT_PARAM_NAMESPACE
 
 } // namespace ndnboost
 
-#endif // BOOST_RT_CLA_ARGV_TRAVERSER_IPP_070604GER
+#endif // NDNBOOST_RT_CLA_ARGV_TRAVERSER_IPP_070604GER
diff --git a/include/ndnboost/test/utils/runtime/cla/basic_parameter.hpp b/include/ndnboost/test/utils/runtime/cla/basic_parameter.hpp
index 39ebb72..79ec2b8 100644
--- a/include/ndnboost/test/utils/runtime/cla/basic_parameter.hpp
+++ b/include/ndnboost/test/utils/runtime/cla/basic_parameter.hpp
@@ -12,8 +12,8 @@
 //  Description : generic custom parameter generator
 // ***************************************************************************
 
-#ifndef BOOST_RT_CLA_BASIC_PARAMETER_HPP_062604GER
-#define BOOST_RT_CLA_BASIC_PARAMETER_HPP_062604GER
+#ifndef NDNBOOST_RT_CLA_BASIC_PARAMETER_HPP_062604GER
+#define NDNBOOST_RT_CLA_BASIC_PARAMETER_HPP_062604GER
 
 // Boost.Runtime.Parameter
 #include <ndnboost/test/utils/runtime/config.hpp>
@@ -28,7 +28,7 @@
 
 namespace ndnboost {
 
-namespace BOOST_RT_PARAM_NAMESPACE {
+namespace NDNBOOST_RT_PARAM_NAMESPACE {
 
 namespace cla {
 
@@ -59,7 +59,7 @@
 
 //____________________________________________________________________________//
 
-#define BOOST_RT_CLA_NAMED_PARAM_GENERATORS( param_type )                                       \
+#define NDNBOOST_RT_CLA_NAMED_PARAM_GENERATORS( param_type )                                       \
 template<typename T>                                                                            \
 inline shared_ptr<param_type ## _t<T> >                                                         \
 param_type( cstring name = cstring() )                                                          \
@@ -78,8 +78,8 @@
 
 } // namespace cla
 
-} // namespace BOOST_RT_PARAM_NAMESPACE
+} // namespace NDNBOOST_RT_PARAM_NAMESPACE
 
 } // namespace ndnboost
 
-#endif // BOOST_RT_CLA_BASIC_PARAMETER_HPP_062604GER
+#endif // NDNBOOST_RT_CLA_BASIC_PARAMETER_HPP_062604GER
diff --git a/include/ndnboost/test/utils/runtime/cla/char_parameter.hpp b/include/ndnboost/test/utils/runtime/cla/char_parameter.hpp
index d95b95b..ff9abca 100644
--- a/include/ndnboost/test/utils/runtime/cla/char_parameter.hpp
+++ b/include/ndnboost/test/utils/runtime/cla/char_parameter.hpp
@@ -12,8 +12,8 @@
 //  Description : defines model of parameter with single char name
 // ***************************************************************************
 
-#ifndef BOOST_RT_CLA_CHAR_PARAMETER_HPP_062604GER
-#define BOOST_RT_CLA_CHAR_PARAMETER_HPP_062604GER
+#ifndef NDNBOOST_RT_CLA_CHAR_PARAMETER_HPP_062604GER
+#define NDNBOOST_RT_CLA_CHAR_PARAMETER_HPP_062604GER
 
 // Boost.Runtime.Parameter
 #include <ndnboost/test/utils/runtime/config.hpp>
@@ -24,7 +24,7 @@
 
 namespace ndnboost {
 
-namespace BOOST_RT_PARAM_NAMESPACE {
+namespace NDNBOOST_RT_PARAM_NAMESPACE {
 
 namespace cla {
 
@@ -36,7 +36,7 @@
 public:
     // Constructor
     char_name_policy();
-    BOOST_RT_PARAM_UNNEEDED_VIRTUAL ~char_name_policy() {}
+    NDNBOOST_RT_PARAM_UNNEEDED_VIRTUAL ~char_name_policy() {}
 
     // policy interface
     virtual bool    conflict_with( identification_policy const& ) const;
@@ -47,7 +47,7 @@
     {
         basic_naming_policy::accept_modifier( m );
 
-        BOOST_RT_PARAM_VALIDATE_LOGIC( p_name->size() <= 1, "Invalid parameter name "  << p_name );
+        NDNBOOST_RT_PARAM_VALIDATE_LOGIC( p_name->size() <= 1, "Invalid parameter name "  << p_name );
     }
 };
 
@@ -84,15 +84,15 @@
 
 } // namespace cla
 
-} // namespace BOOST_RT_PARAM_NAMESPACE
+} // namespace NDNBOOST_RT_PARAM_NAMESPACE
 
 } // namespace ndnboost
 
-#ifndef BOOST_RT_PARAM_OFFLINE
+#ifndef NDNBOOST_RT_PARAM_OFFLINE
 
-#  define BOOST_RT_PARAM_INLINE inline
+#  define NDNBOOST_RT_PARAM_INLINE inline
 #  include <ndnboost/test/utils/runtime/cla/char_parameter.ipp>
 
 #endif
 
-#endif // BOOST_RT_CLA_CHAR_PARAMETER_HPP_062604GER
+#endif // NDNBOOST_RT_CLA_CHAR_PARAMETER_HPP_062604GER
diff --git a/include/ndnboost/test/utils/runtime/cla/char_parameter.ipp b/include/ndnboost/test/utils/runtime/cla/char_parameter.ipp
index 5922902..3b1db63 100644
--- a/include/ndnboost/test/utils/runtime/cla/char_parameter.ipp
+++ b/include/ndnboost/test/utils/runtime/cla/char_parameter.ipp
@@ -12,8 +12,8 @@
 //  Description : implements model of parameter with single char name
 // ***************************************************************************
 
-#ifndef BOOST_RT_CLA_CHAR_PARAMETER_IPP_062904GER
-#define BOOST_RT_CLA_CHAR_PARAMETER_IPP_062904GER
+#ifndef NDNBOOST_RT_CLA_CHAR_PARAMETER_IPP_062904GER
+#define NDNBOOST_RT_CLA_CHAR_PARAMETER_IPP_062904GER
 
 // Boost.Runtime.Parameter
 #include <ndnboost/test/utils/runtime/config.hpp>
@@ -22,7 +22,7 @@
 
 namespace ndnboost {
 
-namespace BOOST_RT_PARAM_NAMESPACE {
+namespace NDNBOOST_RT_PARAM_NAMESPACE {
 
 namespace cla {
 
@@ -30,16 +30,16 @@
 // **************               char_name_policy               ************** //
 // ************************************************************************** //
 
-BOOST_RT_PARAM_INLINE 
+NDNBOOST_RT_PARAM_INLINE 
 char_name_policy::char_name_policy()
 : basic_naming_policy( rtti::type_id<char_name_policy>() )
 {
-    assign_op( p_prefix.value, BOOST_RT_PARAM_CSTRING_LITERAL( "-" ), 0 );
+    assign_op( p_prefix.value, NDNBOOST_RT_PARAM_CSTRING_LITERAL( "-" ), 0 );
 }
 
 //____________________________________________________________________________//
 
-BOOST_RT_PARAM_INLINE bool
+NDNBOOST_RT_PARAM_INLINE bool
 char_name_policy::conflict_with( identification_policy const& id ) const
 {
     return id.p_type_id == p_type_id && 
@@ -50,8 +50,8 @@
 
 } // namespace cla
 
-} // namespace BOOST_RT_PARAM_NAMESPACE
+} // namespace NDNBOOST_RT_PARAM_NAMESPACE
 
 } // namespace ndnboost
 
-#endif // BOOST_RT_CLA_CHAR_PARAMETER_IPP_062904GER
+#endif // NDNBOOST_RT_CLA_CHAR_PARAMETER_IPP_062904GER
diff --git a/include/ndnboost/test/utils/runtime/cla/detail/argument_value_usage.hpp b/include/ndnboost/test/utils/runtime/cla/detail/argument_value_usage.hpp
index b78097b..a8050b2 100644
--- a/include/ndnboost/test/utils/runtime/cla/detail/argument_value_usage.hpp
+++ b/include/ndnboost/test/utils/runtime/cla/detail/argument_value_usage.hpp
@@ -13,8 +13,8 @@
 //  Description : argument usage printing helpers
 // ***************************************************************************
 
-#ifndef BOOST_RT_CLA_ARGUMENT_VALUE_USAGE_HPP_062604GER
-#define BOOST_RT_CLA_ARGUMENT_VALUE_USAGE_HPP_062604GER
+#ifndef NDNBOOST_RT_CLA_ARGUMENT_VALUE_USAGE_HPP_062604GER
+#define NDNBOOST_RT_CLA_ARGUMENT_VALUE_USAGE_HPP_062604GER
 
 // Boost.Runtime.Parameter
 #include <ndnboost/test/utils/runtime/config.hpp>
@@ -32,7 +32,7 @@
 
 namespace ndnboost {
 
-namespace BOOST_RT_PARAM_NAMESPACE {
+namespace NDNBOOST_RT_PARAM_NAMESPACE {
 
 namespace cla {
 
@@ -47,7 +47,7 @@
 inline void
 argument_value_usage( format_stream& fs, long, T* = 0 )
 {
-    fs << BOOST_RT_PARAM_CSTRING_LITERAL( "<value>" );
+    fs << NDNBOOST_RT_PARAM_CSTRING_LITERAL( "<value>" );
 }
 
 //____________________________________________________________________________//
@@ -57,7 +57,7 @@
 inline void
 argument_value_usage( format_stream& fs, int, std::list<T>* = 0 )
 {
-    fs << BOOST_RT_PARAM_CSTRING_LITERAL( "(<value1>, ..., <valueN>)" );
+    fs << NDNBOOST_RT_PARAM_CSTRING_LITERAL( "(<value1>, ..., <valueN>)" );
 }
 
 //____________________________________________________________________________//
@@ -66,7 +66,7 @@
 inline void
 argument_value_usage( format_stream& fs,  int, bool* = 0 )
 {
-    fs << BOOST_RT_PARAM_CSTRING_LITERAL( "yes|y|no|n" );
+    fs << NDNBOOST_RT_PARAM_CSTRING_LITERAL( "yes|y|no|n" );
 }
 
 //____________________________________________________________________________//
@@ -75,8 +75,8 @@
 
 } // namespace cla
 
-} // namespace BOOST_RT_PARAM_NAMESPACE
+} // namespace NDNBOOST_RT_PARAM_NAMESPACE
 
 } // namespace ndnboost
 
-#endif // BOOST_RT_CLA_ARGUMENT_VALUE_USAGE_HPP_062604GER
+#endif // NDNBOOST_RT_CLA_ARGUMENT_VALUE_USAGE_HPP_062604GER
diff --git a/include/ndnboost/test/utils/runtime/cla/dual_name_parameter.hpp b/include/ndnboost/test/utils/runtime/cla/dual_name_parameter.hpp
index 3adbb85..4c8c00d 100644
--- a/include/ndnboost/test/utils/runtime/cla/dual_name_parameter.hpp
+++ b/include/ndnboost/test/utils/runtime/cla/dual_name_parameter.hpp
@@ -12,8 +12,8 @@
 //  Description : defines model of generic parameter with dual naming
 // ***************************************************************************
 
-#ifndef BOOST_RT_CLA_DUAL_NAME_PARAMETER_HPP_062604GER
-#define BOOST_RT_CLA_DUAL_NAME_PARAMETER_HPP_062604GER
+#ifndef NDNBOOST_RT_CLA_DUAL_NAME_PARAMETER_HPP_062604GER
+#define NDNBOOST_RT_CLA_DUAL_NAME_PARAMETER_HPP_062604GER
 
 // Boost.Runtime.Parameter
 #include <ndnboost/test/utils/runtime/config.hpp>
@@ -23,7 +23,7 @@
 
 namespace ndnboost {
 
-namespace BOOST_RT_PARAM_NAMESPACE {
+namespace NDNBOOST_RT_PARAM_NAMESPACE {
 
 namespace cla {
 
@@ -76,21 +76,21 @@
 
 //____________________________________________________________________________//
 
-BOOST_RT_CLA_NAMED_PARAM_GENERATORS( dual_name_parameter )
+NDNBOOST_RT_CLA_NAMED_PARAM_GENERATORS( dual_name_parameter )
 
 //____________________________________________________________________________//
 
 } // namespace cla
 
-} // namespace BOOST_RT_PARAM_NAMESPACE
+} // namespace NDNBOOST_RT_PARAM_NAMESPACE
 
 } // namespace ndnboost
 
-#ifndef BOOST_RT_PARAM_OFFLINE
+#ifndef NDNBOOST_RT_PARAM_OFFLINE
 
-#  define BOOST_RT_PARAM_INLINE inline
+#  define NDNBOOST_RT_PARAM_INLINE inline
 #  include <ndnboost/test/utils/runtime/cla/dual_name_parameter.ipp>
 
 #endif
 
-#endif // BOOST_RT_CLA_DUAL_NAME_PARAMETER_HPP_062604GER
+#endif // NDNBOOST_RT_CLA_DUAL_NAME_PARAMETER_HPP_062604GER
diff --git a/include/ndnboost/test/utils/runtime/cla/dual_name_parameter.ipp b/include/ndnboost/test/utils/runtime/cla/dual_name_parameter.ipp
index 8fcb04f..9caf386 100644
--- a/include/ndnboost/test/utils/runtime/cla/dual_name_parameter.ipp
+++ b/include/ndnboost/test/utils/runtime/cla/dual_name_parameter.ipp
@@ -12,8 +12,8 @@
 //  Description : implements model of generic parameter with dual naming
 // ***************************************************************************
 
-#ifndef BOOST_RT_CLA_DUAL_NAME_PARAMETER_IPP_062904GER
-#define BOOST_RT_CLA_DUAL_NAME_PARAMETER_IPP_062904GER
+#ifndef NDNBOOST_RT_CLA_DUAL_NAME_PARAMETER_IPP_062904GER
+#define NDNBOOST_RT_CLA_DUAL_NAME_PARAMETER_IPP_062904GER
 
 // Boost.Runtime.Parameter
 #include <ndnboost/test/utils/runtime/config.hpp>
@@ -23,7 +23,7 @@
 
 namespace ndnboost {
 
-namespace BOOST_RT_PARAM_NAMESPACE {
+namespace NDNBOOST_RT_PARAM_NAMESPACE {
 
 namespace cla {
 
@@ -31,11 +31,11 @@
 // **************               dual_name_policy               ************** //
 // ************************************************************************** //
 
-BOOST_RT_PARAM_INLINE 
+NDNBOOST_RT_PARAM_INLINE 
 dual_name_policy::dual_name_policy()
 {
-    m_primary.accept_modifier( prefix = BOOST_RT_PARAM_CSTRING_LITERAL( "--" ) );
-    m_secondary.accept_modifier( prefix = BOOST_RT_PARAM_CSTRING_LITERAL( "-" ) );
+    m_primary.accept_modifier( prefix = NDNBOOST_RT_PARAM_CSTRING_LITERAL( "--" ) );
+    m_secondary.accept_modifier( prefix = NDNBOOST_RT_PARAM_CSTRING_LITERAL( "-" ) );
 }
 
 //____________________________________________________________________________//
@@ -46,7 +46,7 @@
 inline void
 split( string_name_policy& snp, char_name_policy& cnp, cstring src, K const& k )
 {
-    cstring::iterator sep = std::find( src.begin(), src.end(), BOOST_RT_PARAM_LITERAL( '|' ) );
+    cstring::iterator sep = std::find( src.begin(), src.end(), NDNBOOST_RT_PARAM_LITERAL( '|' ) );
     
     if( sep != src.begin() )
         snp.accept_modifier( k = cstring( src.begin(), sep ) );
@@ -57,7 +57,7 @@
 
 } // local namespace
 
-BOOST_RT_PARAM_INLINE void
+NDNBOOST_RT_PARAM_INLINE void
 dual_name_policy::set_prefix( cstring src )
 {
     split( m_primary, m_secondary, src, prefix );
@@ -65,7 +65,7 @@
 
 //____________________________________________________________________________//
 
-BOOST_RT_PARAM_INLINE void
+NDNBOOST_RT_PARAM_INLINE void
 dual_name_policy::set_name( cstring src )
 {
     split( m_primary, m_secondary, src, name );
@@ -73,7 +73,7 @@
 
 //____________________________________________________________________________//
 
-BOOST_RT_PARAM_INLINE void
+NDNBOOST_RT_PARAM_INLINE void
 dual_name_policy::set_separator( cstring src )
 {
     split( m_primary, m_secondary, src, separator );
@@ -83,8 +83,8 @@
 
 } // namespace cla
 
-} // namespace BOOST_RT_PARAM_NAMESPACE
+} // namespace NDNBOOST_RT_PARAM_NAMESPACE
 
 } // namespace ndnboost
 
-#endif // BOOST_RT_CLA_DUAL_NAME_PARAMETER_IPP_062904GER
+#endif // NDNBOOST_RT_CLA_DUAL_NAME_PARAMETER_IPP_062904GER
diff --git a/include/ndnboost/test/utils/runtime/cla/fwd.hpp b/include/ndnboost/test/utils/runtime/cla/fwd.hpp
index 4065e9b..d221808 100644
--- a/include/ndnboost/test/utils/runtime/cla/fwd.hpp
+++ b/include/ndnboost/test/utils/runtime/cla/fwd.hpp
@@ -12,8 +12,8 @@
 //  Description : cla subsystem forward declarations
 // ***************************************************************************
 
-#ifndef BOOST_RT_CLA_FWD_HPP_062604GER
-#define BOOST_RT_CLA_FWD_HPP_062604GER
+#ifndef NDNBOOST_RT_CLA_FWD_HPP_062604GER
+#define NDNBOOST_RT_CLA_FWD_HPP_062604GER
 
 // Boost.Runtime.Parameter
 #include <ndnboost/test/utils/runtime/config.hpp>
@@ -23,7 +23,7 @@
 
 namespace ndnboost {
 
-namespace BOOST_RT_PARAM_NAMESPACE {
+namespace NDNBOOST_RT_PARAM_NAMESPACE {
 
 namespace cla {
 
@@ -48,8 +48,8 @@
 
 } // namespace cla
 
-} // namespace BOOST_RT_PARAM_NAMESPACE
+} // namespace NDNBOOST_RT_PARAM_NAMESPACE
 
 } // namespace ndnboost
 
-#endif // BOOST_RT_CLA_FWD_HPP_062604GER
+#endif // NDNBOOST_RT_CLA_FWD_HPP_062604GER
diff --git a/include/ndnboost/test/utils/runtime/cla/id_policy.hpp b/include/ndnboost/test/utils/runtime/cla/id_policy.hpp
index fb29cb7..2f587b4 100644
--- a/include/ndnboost/test/utils/runtime/cla/id_policy.hpp
+++ b/include/ndnboost/test/utils/runtime/cla/id_policy.hpp
@@ -12,8 +12,8 @@
 //  Description : some generic identification policies definition
 // ***************************************************************************
 
-#ifndef BOOST_RT_CLA_ID_POLICY_HPP_062604GER
-#define BOOST_RT_CLA_ID_POLICY_HPP_062604GER
+#ifndef NDNBOOST_RT_CLA_ID_POLICY_HPP_062604GER
+#define NDNBOOST_RT_CLA_ID_POLICY_HPP_062604GER
 
 // Boost.Runtime.Parameter
 #include <ndnboost/test/utils/runtime/config.hpp>
@@ -30,7 +30,7 @@
 
 namespace ndnboost {
 
-namespace BOOST_RT_PARAM_NAMESPACE {
+namespace NDNBOOST_RT_PARAM_NAMESPACE {
 
 namespace cla {
 
@@ -65,7 +65,7 @@
     explicit basic_naming_policy( rtti::id_t dyn_type )
     : identification_policy( dyn_type )
     {}
-    BOOST_RT_PARAM_UNNEEDED_VIRTUAL ~basic_naming_policy() {}
+    NDNBOOST_RT_PARAM_UNNEEDED_VIRTUAL ~basic_naming_policy() {}
 
     // Naming policy interface
     virtual bool    match_prefix( argv_traverser& tr ) const;
@@ -102,11 +102,11 @@
     }
     virtual void    usage_info( format_stream& fs ) const
     {
-        fs << BOOST_RT_PARAM_LITERAL( '{' );
+        fs << NDNBOOST_RT_PARAM_LITERAL( '{' );
         m_primary.usage_info( fs );
-        fs << BOOST_RT_PARAM_LITERAL( '|' );
+        fs << NDNBOOST_RT_PARAM_LITERAL( '|' );
         m_secondary.usage_info( fs );
-        fs << BOOST_RT_PARAM_LITERAL( '}' );
+        fs << NDNBOOST_RT_PARAM_LITERAL( '}' );
     }
     virtual bool    matching( parameter const& p, argv_traverser& tr, bool primary ) const
     {
@@ -122,7 +122,7 @@
     }
 
 protected:
-    BOOST_RT_PARAM_UNNEEDED_VIRTUAL ~dual_id_policy() {}
+    NDNBOOST_RT_PARAM_UNNEEDED_VIRTUAL ~dual_id_policy() {}
 
     // Data members
     PrimaryId       m_primary;
@@ -131,15 +131,15 @@
 
 } // namespace cla
 
-} // namespace BOOST_RT_PARAM_NAMESPACE
+} // namespace NDNBOOST_RT_PARAM_NAMESPACE
 
 } // namespace ndnboost
 
-#ifndef BOOST_RT_PARAM_OFFLINE
+#ifndef NDNBOOST_RT_PARAM_OFFLINE
 
-#  define BOOST_RT_PARAM_INLINE inline
+#  define NDNBOOST_RT_PARAM_INLINE inline
 #  include <ndnboost/test/utils/runtime/cla/id_policy.ipp>
 
 #endif
 
-#endif // BOOST_RT_CLA_ID_POLICY_HPP_062604GER
+#endif // NDNBOOST_RT_CLA_ID_POLICY_HPP_062604GER
diff --git a/include/ndnboost/test/utils/runtime/cla/id_policy.ipp b/include/ndnboost/test/utils/runtime/cla/id_policy.ipp
index 6d2c2f4..49a462d 100644
--- a/include/ndnboost/test/utils/runtime/cla/id_policy.ipp
+++ b/include/ndnboost/test/utils/runtime/cla/id_policy.ipp
@@ -12,8 +12,8 @@
 //  Description : some generic identification policies implementation
 // ***************************************************************************
 
-#ifndef BOOST_RT_CLA_ID_POLICY_IPP_062904GER
-#define BOOST_RT_CLA_ID_POLICY_IPP_062904GER
+#ifndef NDNBOOST_RT_CLA_ID_POLICY_IPP_062904GER
+#define NDNBOOST_RT_CLA_ID_POLICY_IPP_062904GER
 
 // Boost.Runtime.Parameter
 #include <ndnboost/test/utils/runtime/config.hpp>
@@ -23,7 +23,7 @@
 
 namespace ndnboost {
 
-namespace BOOST_RT_PARAM_NAMESPACE {
+namespace NDNBOOST_RT_PARAM_NAMESPACE {
 
 namespace cla {
 
@@ -31,18 +31,18 @@
 // **************              basic_naming_policy             ************** //
 // ************************************************************************** //
 
-BOOST_RT_PARAM_INLINE void
+NDNBOOST_RT_PARAM_INLINE void
 basic_naming_policy::usage_info( format_stream& fs ) const
 {
     fs << p_prefix << p_name << p_separator;
 
     if( p_separator->empty() )
-        fs << BOOST_RT_PARAM_LITERAL( ' ' );
+        fs << NDNBOOST_RT_PARAM_LITERAL( ' ' );
 }
 
 //____________________________________________________________________________//
 
-BOOST_RT_PARAM_INLINE bool
+NDNBOOST_RT_PARAM_INLINE bool
 basic_naming_policy::match_prefix( argv_traverser& tr ) const
 {
     if( !tr.match_front( p_prefix.get() ) )
@@ -54,7 +54,7 @@
 
 //____________________________________________________________________________//
     
-BOOST_RT_PARAM_INLINE bool
+NDNBOOST_RT_PARAM_INLINE bool
 basic_naming_policy::match_name( argv_traverser& tr ) const
 {
     if( !tr.match_front( p_name.get() ) )
@@ -66,7 +66,7 @@
 
 //____________________________________________________________________________//
     
-BOOST_RT_PARAM_INLINE bool
+NDNBOOST_RT_PARAM_INLINE bool
 basic_naming_policy::match_separator( argv_traverser& tr, bool optional_value ) const
 {
     if( p_separator->empty() ) {
@@ -92,7 +92,7 @@
 
 //____________________________________________________________________________//
 
-BOOST_RT_PARAM_INLINE bool
+NDNBOOST_RT_PARAM_INLINE bool
 basic_naming_policy::matching( parameter const& p, argv_traverser& tr, bool ) const
 {
     if( !match_prefix( tr ) )
@@ -111,8 +111,8 @@
 
 } // namespace cla
 
-} // namespace BOOST_RT_PARAM_NAMESPACE
+} // namespace NDNBOOST_RT_PARAM_NAMESPACE
 
 } // namespace ndnboost
 
-#endif // BOOST_RT_CLA_ID_POLICY_IPP_062904GER
+#endif // NDNBOOST_RT_CLA_ID_POLICY_IPP_062904GER
diff --git a/include/ndnboost/test/utils/runtime/cla/iface/argument_factory.hpp b/include/ndnboost/test/utils/runtime/cla/iface/argument_factory.hpp
index 84c1e40..0c90bb9 100644
--- a/include/ndnboost/test/utils/runtime/cla/iface/argument_factory.hpp
+++ b/include/ndnboost/test/utils/runtime/cla/iface/argument_factory.hpp
@@ -12,8 +12,8 @@
 //  Description : defines interface for argument_factory
 // ***************************************************************************
 
-#ifndef BOOST_RT_CLA_IFACE_ARGUMENT_FACTORY_HPP_062604GER
-#define BOOST_RT_CLA_IFACE_ARGUMENT_FACTORY_HPP_062604GER
+#ifndef NDNBOOST_RT_CLA_IFACE_ARGUMENT_FACTORY_HPP_062604GER
+#define NDNBOOST_RT_CLA_IFACE_ARGUMENT_FACTORY_HPP_062604GER
 
 // Boost.Runtime.Parameter
 #include <ndnboost/test/utils/runtime/config.hpp>
@@ -23,7 +23,7 @@
 
 namespace ndnboost {
 
-namespace BOOST_RT_PARAM_NAMESPACE {
+namespace NDNBOOST_RT_PARAM_NAMESPACE {
 
 namespace cla {
 
@@ -39,13 +39,13 @@
     virtual argument_ptr produce_using( parameter& p, parser const& )      = 0;  /// produce argument based on internal generator and/or values of other parameters
     virtual void         argument_usage_info( format_stream& fs )          = 0;  /// argument value format information
 protected:
-    BOOST_TEST_PROTECTED_VIRTUAL ~argument_factory() {}
+    NDNBOOST_TEST_PROTECTED_VIRTUAL ~argument_factory() {}
 };
 
 } // namespace ndnboost
 
-} // namespace BOOST_RT_PARAM_NAMESPACE
+} // namespace NDNBOOST_RT_PARAM_NAMESPACE
 
 } // namespace cla
 
-#endif // BOOST_RT_CLA_IFACE_ARGUMENT_FACTORY_HPP_062604GER
+#endif // NDNBOOST_RT_CLA_IFACE_ARGUMENT_FACTORY_HPP_062604GER
diff --git a/include/ndnboost/test/utils/runtime/cla/iface/id_policy.hpp b/include/ndnboost/test/utils/runtime/cla/iface/id_policy.hpp
index 338f8d5..06a0d0d 100644
--- a/include/ndnboost/test/utils/runtime/cla/iface/id_policy.hpp
+++ b/include/ndnboost/test/utils/runtime/cla/iface/id_policy.hpp
@@ -12,8 +12,8 @@
 //  Description : defines interface for identification_policy
 // ***************************************************************************
 
-#ifndef BOOST_RT_CLA_IFACE_ID_POLICY_HPP_062604GER
-#define BOOST_RT_CLA_IFACE_ID_POLICY_HPP_062604GER
+#ifndef NDNBOOST_RT_CLA_IFACE_ID_POLICY_HPP_062604GER
+#define NDNBOOST_RT_CLA_IFACE_ID_POLICY_HPP_062604GER
 
 // Boost.Runtime.Parameter
 #include <ndnboost/test/utils/runtime/config.hpp>
@@ -26,7 +26,7 @@
 
 namespace ndnboost {
 
-namespace BOOST_RT_PARAM_NAMESPACE {
+namespace NDNBOOST_RT_PARAM_NAMESPACE {
 
 namespace cla {
 
@@ -34,7 +34,7 @@
 // **************             identification_policy            ************** //
 // ************************************************************************** //
 
-#ifdef BOOST_MSVC
+#ifdef NDNBOOST_MSVC
 #  pragma warning(push)
 #  pragma warning(disable:4244)
 #endif
@@ -57,17 +57,17 @@
     explicit        identification_policy( rtti::id_t dyn_type )
     : p_type_id( dyn_type )
     {}
-    BOOST_TEST_PROTECTED_VIRTUAL ~identification_policy() {}
+    NDNBOOST_TEST_PROTECTED_VIRTUAL ~identification_policy() {}
 };
 
-#ifdef BOOST_MSVC
+#ifdef NDNBOOST_MSVC
 #  pragma warning(pop)
 #endif
 
 } // namespace cla
 
-} // namespace BOOST_RT_PARAM_NAMESPACE
+} // namespace NDNBOOST_RT_PARAM_NAMESPACE
 
 } // namespace ndnboost
 
-#endif // BOOST_RT_CLA_IFACE_ID_POLICY_HPP_062604GER
+#endif // NDNBOOST_RT_CLA_IFACE_ID_POLICY_HPP_062604GER
diff --git a/include/ndnboost/test/utils/runtime/cla/modifier.hpp b/include/ndnboost/test/utils/runtime/cla/modifier.hpp
index 32719ab..d92e400 100644
--- a/include/ndnboost/test/utils/runtime/cla/modifier.hpp
+++ b/include/ndnboost/test/utils/runtime/cla/modifier.hpp
@@ -12,8 +12,8 @@
 //  Description : parameter modifiers
 // ***************************************************************************
 
-#ifndef BOOST_RT_CLA_MODIFIER_HPP_062604GER
-#define BOOST_RT_CLA_MODIFIER_HPP_062604GER
+#ifndef NDNBOOST_RT_CLA_MODIFIER_HPP_062604GER
+#define NDNBOOST_RT_CLA_MODIFIER_HPP_062604GER
 
 // Boost.Runtime.Parameter
 #include <ndnboost/test/utils/runtime/config.hpp>
@@ -23,7 +23,7 @@
 
 namespace ndnboost {
 
-namespace BOOST_RT_PARAM_NAMESPACE {
+namespace NDNBOOST_RT_PARAM_NAMESPACE {
 
 namespace cla {
 
@@ -62,8 +62,8 @@
 
 } // namespace cla
 
-} // namespace BOOST_RT_PARAM_NAMESPACE
+} // namespace NDNBOOST_RT_PARAM_NAMESPACE
 
 } // namespace ndnboost
 
-#endif // BOOST_RT_CLA_MODIFIER_HPP_062604GER
+#endif // NDNBOOST_RT_CLA_MODIFIER_HPP_062604GER
diff --git a/include/ndnboost/test/utils/runtime/cla/named_parameter.hpp b/include/ndnboost/test/utils/runtime/cla/named_parameter.hpp
index 28f03b4..0160f79 100644
--- a/include/ndnboost/test/utils/runtime/cla/named_parameter.hpp
+++ b/include/ndnboost/test/utils/runtime/cla/named_parameter.hpp
@@ -12,8 +12,8 @@
 //  Description : defines model of named parameter
 // ***************************************************************************
 
-#ifndef BOOST_RT_CLA_NAMED_PARAMETER_HPP_062604GER
-#define BOOST_RT_CLA_NAMED_PARAMETER_HPP_062604GER
+#ifndef NDNBOOST_RT_CLA_NAMED_PARAMETER_HPP_062604GER
+#define NDNBOOST_RT_CLA_NAMED_PARAMETER_HPP_062604GER
 
 // Boost.Runtime.Parameter
 #include <ndnboost/test/utils/runtime/config.hpp>
@@ -23,7 +23,7 @@
 
 namespace ndnboost {
 
-namespace BOOST_RT_PARAM_NAMESPACE {
+namespace NDNBOOST_RT_PARAM_NAMESPACE {
 
 namespace cla {
 
@@ -35,7 +35,7 @@
 public:
     // Constructor
     string_name_policy();
-    BOOST_RT_PARAM_UNNEEDED_VIRTUAL ~string_name_policy() {}
+    NDNBOOST_RT_PARAM_UNNEEDED_VIRTUAL ~string_name_policy() {}
 
     // policy interface
     virtual bool    responds_to( cstring name ) const;
@@ -73,21 +73,21 @@
 
 //____________________________________________________________________________//
 
-BOOST_RT_CLA_NAMED_PARAM_GENERATORS( named_parameter )
+NDNBOOST_RT_CLA_NAMED_PARAM_GENERATORS( named_parameter )
 
 //____________________________________________________________________________//
 
 } // namespace cla
 
-} // namespace BOOST_RT_PARAM_NAMESPACE
+} // namespace NDNBOOST_RT_PARAM_NAMESPACE
 
 } // namespace ndnboost
 
-#ifndef BOOST_RT_PARAM_OFFLINE
+#ifndef NDNBOOST_RT_PARAM_OFFLINE
 
-#  define BOOST_RT_PARAM_INLINE inline
+#  define NDNBOOST_RT_PARAM_INLINE inline
 #  include <ndnboost/test/utils/runtime/cla/named_parameter.ipp>
 
 #endif
 
-#endif // BOOST_RT_CLA_NAMED_PARAMETER_HPP_062604GER
+#endif // NDNBOOST_RT_CLA_NAMED_PARAMETER_HPP_062604GER
diff --git a/include/ndnboost/test/utils/runtime/cla/named_parameter.ipp b/include/ndnboost/test/utils/runtime/cla/named_parameter.ipp
index 1d77018..b626ee0 100644
--- a/include/ndnboost/test/utils/runtime/cla/named_parameter.ipp
+++ b/include/ndnboost/test/utils/runtime/cla/named_parameter.ipp
@@ -12,8 +12,8 @@
 //  Description : implements model of named parameter
 // ***************************************************************************
 
-#ifndef BOOST_RT_CLA_NAMED_PARAMETER_IPP_062904GER
-#define BOOST_RT_CLA_NAMED_PARAMETER_IPP_062904GER
+#ifndef NDNBOOST_RT_CLA_NAMED_PARAMETER_IPP_062904GER
+#define NDNBOOST_RT_CLA_NAMED_PARAMETER_IPP_062904GER
 
 // Boost.Runtime.Parameter
 #include <ndnboost/test/utils/runtime/config.hpp>
@@ -26,7 +26,7 @@
 
 namespace ndnboost {
 
-namespace BOOST_RT_PARAM_NAMESPACE {
+namespace NDNBOOST_RT_PARAM_NAMESPACE {
 
 namespace cla {
 
@@ -34,17 +34,17 @@
 // **************              string_name_policy              ************** //
 // ************************************************************************** //
 
-BOOST_RT_PARAM_INLINE 
+NDNBOOST_RT_PARAM_INLINE 
 string_name_policy::string_name_policy()
 : basic_naming_policy( rtti::type_id<string_name_policy>() )
 , m_guess_name( false )
 {
-    assign_op( p_prefix.value, BOOST_RT_PARAM_CSTRING_LITERAL( "-" ), 0 );
+    assign_op( p_prefix.value, NDNBOOST_RT_PARAM_CSTRING_LITERAL( "-" ), 0 );
 }
 
 //____________________________________________________________________________//
 
-BOOST_RT_PARAM_INLINE bool
+NDNBOOST_RT_PARAM_INLINE bool
 string_name_policy::responds_to( cstring name ) const
 {
     std::pair<cstring::iterator,dstring::const_iterator> mm_pos;
@@ -56,12 +56,12 @@
 
 //____________________________________________________________________________//
 
-#ifdef BOOST_MSVC
+#ifdef NDNBOOST_MSVC
 #  pragma warning(push)
 #  pragma warning(disable:4244)
 #endif
 
-BOOST_RT_PARAM_INLINE bool
+NDNBOOST_RT_PARAM_INLINE bool
 string_name_policy::conflict_with( identification_policy const& id ) const
 {
     if( id.p_type_id == p_type_id ) {
@@ -92,13 +92,13 @@
     return false;    
 }
 
-#ifdef BOOST_MSVC
+#ifdef NDNBOOST_MSVC
 #  pragma warning(pop)
 #endif
 
 //____________________________________________________________________________//
 
-BOOST_RT_PARAM_INLINE bool
+NDNBOOST_RT_PARAM_INLINE bool
 string_name_policy::match_name( argv_traverser& tr ) const
 {
     if( !m_guess_name )
@@ -122,8 +122,8 @@
 
 } // namespace cla
 
-} // namespace BOOST_RT_PARAM_NAMESPACE
+} // namespace NDNBOOST_RT_PARAM_NAMESPACE
 
 } // namespace ndnboost
 
-#endif // BOOST_RT_CLA_NAMED_PARAMETER_IPP_062904GER
+#endif // NDNBOOST_RT_CLA_NAMED_PARAMETER_IPP_062904GER
diff --git a/include/ndnboost/test/utils/runtime/cla/parameter.hpp b/include/ndnboost/test/utils/runtime/cla/parameter.hpp
index 36edbb6..84d60d3 100644
--- a/include/ndnboost/test/utils/runtime/cla/parameter.hpp
+++ b/include/ndnboost/test/utils/runtime/cla/parameter.hpp
@@ -12,8 +12,8 @@
 //  Description : defines model of formal parameter
 // ***************************************************************************
 
-#ifndef BOOST_RT_CLA_PARAMETER_HPP_062604GER
-#define BOOST_RT_CLA_PARAMETER_HPP_062604GER
+#ifndef NDNBOOST_RT_CLA_PARAMETER_HPP_062604GER
+#define NDNBOOST_RT_CLA_PARAMETER_HPP_062604GER
 
 // Boost.Runtime.Parameter
 #include <ndnboost/test/utils/runtime/config.hpp>
@@ -32,7 +32,7 @@
 
 namespace ndnboost {
 
-namespace BOOST_RT_PARAM_NAMESPACE {
+namespace NDNBOOST_RT_PARAM_NAMESPACE {
 
 namespace cla {
 
@@ -40,7 +40,7 @@
 // **************            runtime::cla::parameter           ************** //
 // ************************************************************************** //
 
-class parameter : public BOOST_RT_PARAM_NAMESPACE::parameter {
+class parameter : public NDNBOOST_RT_PARAM_NAMESPACE::parameter {
 public:
     parameter( identification_policy& ID, argument_factory& F, bool optional_value = false )
     : p_optional( false )
@@ -96,12 +96,12 @@
     { 
         m_id_policy.usage_info( fs );
         if( p_optional_value )
-            fs << BOOST_RT_PARAM_LITERAL( '[' );
+            fs << NDNBOOST_RT_PARAM_LITERAL( '[' );
 
         m_arg_factory.argument_usage_info( fs );
 
         if( p_optional_value )
-            fs << BOOST_RT_PARAM_LITERAL( ']' );
+            fs << NDNBOOST_RT_PARAM_LITERAL( ']' );
     }
 
     // argument match/produce based on input
@@ -143,8 +143,8 @@
 
 } // namespace cla
 
-} // namespace BOOST_RT_PARAM_NAMESPACE
+} // namespace NDNBOOST_RT_PARAM_NAMESPACE
 
 } // namespace ndnboost
 
-#endif // BOOST_RT_CLA_PARAMETER_HPP_062604GER
+#endif // NDNBOOST_RT_CLA_PARAMETER_HPP_062604GER
diff --git a/include/ndnboost/test/utils/runtime/cla/parser.hpp b/include/ndnboost/test/utils/runtime/cla/parser.hpp
index d98625c..f303f69 100644
--- a/include/ndnboost/test/utils/runtime/cla/parser.hpp
+++ b/include/ndnboost/test/utils/runtime/cla/parser.hpp
@@ -12,8 +12,8 @@
 //  Description : defines parser - public interface for CLA parsing and accessing
 // ***************************************************************************
 
-#ifndef BOOST_RT_CLA_PARSER_HPP_062604GER
-#define BOOST_RT_CLA_PARSER_HPP_062604GER
+#ifndef NDNBOOST_RT_CLA_PARSER_HPP_062604GER
+#define NDNBOOST_RT_CLA_PARSER_HPP_062604GER
 
 // Boost.Runtime.Parameter
 #include <ndnboost/test/utils/runtime/config.hpp>
@@ -32,7 +32,7 @@
 
 namespace ndnboost {
 
-namespace BOOST_RT_PARAM_NAMESPACE {
+namespace NDNBOOST_RT_PARAM_NAMESPACE {
 
 namespace cla {
 
@@ -139,15 +139,15 @@
 
 } // namespace cla
 
-} // namespace BOOST_RT_PARAM_NAMESPACE
+} // namespace NDNBOOST_RT_PARAM_NAMESPACE
 
 } // namespace ndnboost
 
-#ifndef BOOST_RT_PARAM_OFFLINE
+#ifndef NDNBOOST_RT_PARAM_OFFLINE
 
-#  define BOOST_RT_PARAM_INLINE inline
+#  define NDNBOOST_RT_PARAM_INLINE inline
 #  include <ndnboost/test/utils/runtime/cla/parser.ipp>
 
 #endif
 
-#endif // BOOST_RT_CLA_PARSER_HPP_062604GER
+#endif // NDNBOOST_RT_CLA_PARSER_HPP_062604GER
diff --git a/include/ndnboost/test/utils/runtime/cla/parser.ipp b/include/ndnboost/test/utils/runtime/cla/parser.ipp
index 5be8503..aa39485 100644
--- a/include/ndnboost/test/utils/runtime/cla/parser.ipp
+++ b/include/ndnboost/test/utils/runtime/cla/parser.ipp
@@ -12,8 +12,8 @@
 //  Description : implements parser - public interface for CLA parsing and accessing
 // ***************************************************************************
 
-#ifndef BOOST_RT_CLA_PARSER_IPP_062904GER
-#define BOOST_RT_CLA_PARSER_IPP_062904GER
+#ifndef NDNBOOST_RT_CLA_PARSER_IPP_062904GER
+#define NDNBOOST_RT_CLA_PARSER_IPP_062904GER
 
 // Boost.Runtime.Parameter
 #include <ndnboost/test/utils/runtime/config.hpp>
@@ -35,7 +35,7 @@
 
 namespace ndnboost {
 
-namespace BOOST_RT_PARAM_NAMESPACE {
+namespace NDNBOOST_RT_PARAM_NAMESPACE {
 
 namespace cla {
 
@@ -43,7 +43,7 @@
 // **************             runtime::cla::parser             ************** //
 // ************************************************************************** //
 
-BOOST_RT_PARAM_INLINE
+NDNBOOST_RT_PARAM_INLINE
 parser::parser( cstring program_name )
 {
     assign_op( m_program_name, program_name, 0 );
@@ -51,7 +51,7 @@
 
 //____________________________________________________________________________//
 
-BOOST_RT_PARAM_INLINE parser::param_iterator
+NDNBOOST_RT_PARAM_INLINE parser::param_iterator
 parser::first_param() const
 {
     return m_parameters.begin();
@@ -59,7 +59,7 @@
 
 //____________________________________________________________________________//
 
-BOOST_RT_PARAM_INLINE parser::param_iterator
+NDNBOOST_RT_PARAM_INLINE parser::param_iterator
 parser::last_param() const
 {
     return m_parameters.end();
@@ -67,25 +67,25 @@
 
 //____________________________________________________________________________//
 
-BOOST_RT_PARAM_INLINE argument const&
+NDNBOOST_RT_PARAM_INLINE argument const&
 parser::valid_argument( cstring string_id ) const
 {
     const_argument_ptr arg = (*this)[string_id];
 
-    BOOST_RT_PARAM_VALIDATE_LOGIC( !!arg, "Actual argument for parameter " << string_id << " is not present" );
+    NDNBOOST_RT_PARAM_VALIDATE_LOGIC( !!arg, "Actual argument for parameter " << string_id << " is not present" );
 
     return *arg;
 }
 
 //____________________________________________________________________________//
 
-BOOST_RT_PARAM_INLINE parser&
+NDNBOOST_RT_PARAM_INLINE parser&
 parser::operator<<( parameter_ptr new_param )
 {
-    BOOST_TEST_FOREACH( parameter_ptr, old_param, m_parameters ) {
-        BOOST_RT_PARAM_VALIDATE_LOGIC( !old_param->conflict_with( *new_param ),
-            BOOST_RT_PARAM_LITERAL( "Definition of parameter " )                << new_param->id_2_report() << 
-            BOOST_RT_PARAM_LITERAL( " conflicts with defintion of parameter " ) << old_param->id_2_report() );
+    NDNBOOST_TEST_FOREACH( parameter_ptr, old_param, m_parameters ) {
+        NDNBOOST_RT_PARAM_VALIDATE_LOGIC( !old_param->conflict_with( *new_param ),
+            NDNBOOST_RT_PARAM_LITERAL( "Definition of parameter " )                << new_param->id_2_report() << 
+            NDNBOOST_RT_PARAM_LITERAL( " conflicts with defintion of parameter " ) << old_param->id_2_report() );
     }
 
     m_parameters.push_back( new_param );
@@ -95,12 +95,12 @@
 
 //____________________________________________________________________________//
 
-BOOST_RT_PARAM_INLINE void
+NDNBOOST_RT_PARAM_INLINE void
 parser::parse( int& argc, char_type** argv )
 {
     if( m_program_name.empty() ) {
         m_program_name.assign( argv[0] );
-        dstring::size_type pos = m_program_name.find_last_of( BOOST_RT_PARAM_LITERAL( "/\\" ) );
+        dstring::size_type pos = m_program_name.find_last_of( NDNBOOST_RT_PARAM_LITERAL( "/\\" ) );
 
         if( pos != static_cast<dstring::size_type>(cstring::npos) )
             m_program_name.erase( 0, pos+1 );
@@ -112,14 +112,14 @@
         while( !m_traverser.eoi() ) {
             parameter_ptr found_param;
 
-            BOOST_RT_PARAM_TRACE( "Total " << m_parameters.size() << " parameters registered" );
+            NDNBOOST_RT_PARAM_TRACE( "Total " << m_parameters.size() << " parameters registered" );
 
-            BOOST_TEST_FOREACH( parameter_ptr const&, curr_param, m_parameters ) {
-                BOOST_RT_PARAM_TRACE( "Try parameter " << curr_param->id_2_report() );
+            NDNBOOST_TEST_FOREACH( parameter_ptr const&, curr_param, m_parameters ) {
+                NDNBOOST_RT_PARAM_TRACE( "Try parameter " << curr_param->id_2_report() );
 
                 if( curr_param->matching( m_traverser, !found_param ) ) {
-                    BOOST_RT_PARAM_TRACE( "Match found" );
-                    BOOST_RT_CLA_VALIDATE_INPUT( !found_param, (m_traverser.rollback(),m_traverser), "Ambiguous input" );
+                    NDNBOOST_RT_PARAM_TRACE( "Match found" );
+                    NDNBOOST_RT_CLA_VALIDATE_INPUT( !found_param, (m_traverser.rollback(),m_traverser), "Ambiguous input" );
 
                     found_param = curr_param;
                 }
@@ -128,32 +128,32 @@
             }
 
             if( !found_param ) {
-                BOOST_RT_PARAM_TRACE( "No match found" );
-                BOOST_RT_CLA_VALIDATE_INPUT( m_traverser.handle_mismatch(), m_traverser,
-                                             BOOST_RT_PARAM_LITERAL( "Unexpected input" ) );
+                NDNBOOST_RT_PARAM_TRACE( "No match found" );
+                NDNBOOST_RT_CLA_VALIDATE_INPUT( m_traverser.handle_mismatch(), m_traverser,
+                                             NDNBOOST_RT_PARAM_LITERAL( "Unexpected input" ) );
 
                 continue;
             }
 
-            BOOST_RT_PARAM_TRACE( "Parse argument value" );
+            NDNBOOST_RT_PARAM_TRACE( "Parse argument value" );
             found_param->produce_argument( m_traverser );
 
             m_traverser.commit();
         }
 
-        BOOST_TEST_FOREACH( parameter_ptr const&, curr_param, m_parameters ) {
+        NDNBOOST_TEST_FOREACH( parameter_ptr const&, curr_param, m_parameters ) {
             if( !curr_param->p_optional && !curr_param->actual_argument() ) {
                 curr_param->produce_argument( *this );
 
-                BOOST_RT_PARAM_VALIDATE_LOGIC( curr_param->actual_argument(),
-                    BOOST_RT_PARAM_LITERAL( "Required argument for parameter " ) << curr_param->id_2_report()
-                        << BOOST_RT_PARAM_LITERAL( " is missing" ) );
+                NDNBOOST_RT_PARAM_VALIDATE_LOGIC( curr_param->actual_argument(),
+                    NDNBOOST_RT_PARAM_LITERAL( "Required argument for parameter " ) << curr_param->id_2_report()
+                        << NDNBOOST_RT_PARAM_LITERAL( " is missing" ) );
             }
         }
     }
     catch( bad_lexical_cast const& ) {
-        BOOST_RT_PARAM_REPORT_LOGIC_ERROR( 
-            BOOST_RT_PARAM_LITERAL( "String to value convertion error during input parsing" ) );
+        NDNBOOST_RT_PARAM_REPORT_LOGIC_ERROR( 
+            NDNBOOST_RT_PARAM_LITERAL( "String to value convertion error during input parsing" ) );
     }
 
     m_traverser.remainder( argc, argv );
@@ -161,15 +161,15 @@
 
 //____________________________________________________________________________//
 
-BOOST_RT_PARAM_INLINE const_argument_ptr
+NDNBOOST_RT_PARAM_INLINE const_argument_ptr
 parser::operator[]( cstring string_id ) const
 {
     parameter_ptr found_param;
 
-    BOOST_TEST_FOREACH( parameter_ptr const&, curr_param, m_parameters ) {
+    NDNBOOST_TEST_FOREACH( parameter_ptr const&, curr_param, m_parameters ) {
         if( curr_param->responds_to( string_id ) ) {
-            BOOST_RT_PARAM_VALIDATE_LOGIC( !found_param,
-                                           BOOST_RT_PARAM_LITERAL( "Ambiguous parameter string id: " ) << string_id );
+            NDNBOOST_RT_PARAM_VALIDATE_LOGIC( !found_param,
+                                           NDNBOOST_RT_PARAM_LITERAL( "Ambiguous parameter string id: " ) << string_id );
 
             found_param = curr_param;
         }
@@ -180,7 +180,7 @@
 
 //____________________________________________________________________________//
 
-BOOST_RT_PARAM_INLINE cstring
+NDNBOOST_RT_PARAM_INLINE cstring
 parser::get( cstring string_id ) const
 {
     return get<cstring>( string_id );
@@ -188,62 +188,62 @@
 
 //____________________________________________________________________________//
 
-BOOST_RT_PARAM_INLINE void
+NDNBOOST_RT_PARAM_INLINE void
 parser::usage( out_stream& ostr )
 {
     if( m_program_name.empty() )
-        assign_op( m_program_name, BOOST_RT_PARAM_CSTRING_LITERAL( "<program>" ), 0 );
+        assign_op( m_program_name, NDNBOOST_RT_PARAM_CSTRING_LITERAL( "<program>" ), 0 );
 
     format_stream fs;
 
     fs << m_program_name;
 
-    BOOST_TEST_FOREACH( parameter_ptr const&, curr_param, m_parameters ) {
-        fs << BOOST_RT_PARAM_LITERAL( ' ' );
+    NDNBOOST_TEST_FOREACH( parameter_ptr const&, curr_param, m_parameters ) {
+        fs << NDNBOOST_RT_PARAM_LITERAL( ' ' );
 
         if( curr_param->p_optional )
-            fs << BOOST_RT_PARAM_LITERAL( '[' );
+            fs << NDNBOOST_RT_PARAM_LITERAL( '[' );
 
         curr_param->usage_info( fs );
 
         if( curr_param->p_optional )
-            fs << BOOST_RT_PARAM_LITERAL( ']' );
+            fs << NDNBOOST_RT_PARAM_LITERAL( ']' );
 
         if( curr_param->p_multiplicable ) {
-            fs << BOOST_RT_PARAM_CSTRING_LITERAL( " ... " );
+            fs << NDNBOOST_RT_PARAM_CSTRING_LITERAL( " ... " );
             
             if( curr_param->p_optional )
-                fs << BOOST_RT_PARAM_LITERAL( '[' );
+                fs << NDNBOOST_RT_PARAM_LITERAL( '[' );
 
             curr_param->usage_info( fs );
 
             if( curr_param->p_optional )
-                fs << BOOST_RT_PARAM_LITERAL( ']' );
+                fs << NDNBOOST_RT_PARAM_LITERAL( ']' );
         }
     }
 
-    ostr << BOOST_RT_PARAM_CSTRING_LITERAL( "Usage:\n" ) << fs.str() << std::endl;
+    ostr << NDNBOOST_RT_PARAM_CSTRING_LITERAL( "Usage:\n" ) << fs.str() << std::endl;
 }
 
 //____________________________________________________________________________//
 
-BOOST_RT_PARAM_INLINE void
+NDNBOOST_RT_PARAM_INLINE void
 parser::help( out_stream& ostr )
 {
     usage( ostr );
 
     bool need_where = true;
 
-    BOOST_TEST_FOREACH( parameter_ptr const&, curr_param, m_parameters ) {
+    NDNBOOST_TEST_FOREACH( parameter_ptr const&, curr_param, m_parameters ) {
         if( curr_param->p_description->empty() )
             continue;
 
         if( need_where ) {
-            ostr << BOOST_RT_PARAM_CSTRING_LITERAL( "where:\n" );
+            ostr << NDNBOOST_RT_PARAM_CSTRING_LITERAL( "where:\n" );
             need_where = false;
         }
 
-        ostr << curr_param->id_2_report() << BOOST_RT_PARAM_CSTRING_LITERAL( " - " ) << curr_param->p_description << std::endl;
+        ostr << curr_param->id_2_report() << NDNBOOST_RT_PARAM_CSTRING_LITERAL( " - " ) << curr_param->p_description << std::endl;
     }
 }
 
@@ -251,8 +251,8 @@
 
 } // namespace cla
 
-} // namespace BOOST_RT_PARAM_NAMESPACE
+} // namespace NDNBOOST_RT_PARAM_NAMESPACE
 
 } // namespace ndnboost
 
-#endif // BOOST_RT_CLA_PARSER_IPP_062904GER
+#endif // NDNBOOST_RT_CLA_PARSER_IPP_062904GER
diff --git a/include/ndnboost/test/utils/runtime/cla/typed_parameter.hpp b/include/ndnboost/test/utils/runtime/cla/typed_parameter.hpp
index b8ad9e4..743d755 100644
--- a/include/ndnboost/test/utils/runtime/cla/typed_parameter.hpp
+++ b/include/ndnboost/test/utils/runtime/cla/typed_parameter.hpp
@@ -12,8 +12,8 @@
 //  Description : generic typed parameter model
 // ***************************************************************************
 
-#ifndef BOOST_RT_CLA_TYPED_PARAMETER_HPP_062604GER
-#define BOOST_RT_CLA_TYPED_PARAMETER_HPP_062604GER
+#ifndef NDNBOOST_RT_CLA_TYPED_PARAMETER_HPP_062604GER
+#define NDNBOOST_RT_CLA_TYPED_PARAMETER_HPP_062604GER
 
 // Boost.Runtime.Parameter
 #include <ndnboost/test/utils/runtime/config.hpp>
@@ -29,7 +29,7 @@
 
 namespace ndnboost {
 
-namespace BOOST_RT_PARAM_NAMESPACE {
+namespace NDNBOOST_RT_PARAM_NAMESPACE {
 
 namespace cla {
 
@@ -52,8 +52,8 @@
 
         m_arg_factory.accept_modifier( m );
 
-        BOOST_RT_PARAM_VALIDATE_LOGIC( !p_optional || !m_arg_factory.m_value_generator,
-            BOOST_RT_PARAM_LITERAL( "can't define a value generator for optional parameter " ) << id_2_report() );
+        NDNBOOST_RT_PARAM_VALIDATE_LOGIC( !p_optional || !m_arg_factory.m_value_generator,
+            NDNBOOST_RT_PARAM_LITERAL( "can't define a value generator for optional parameter " ) << id_2_report() );
     }
 
 private:
@@ -63,8 +63,8 @@
 
 } // namespace cla
 
-} // namespace BOOST_RT_PARAM_NAMESPACE
+} // namespace NDNBOOST_RT_PARAM_NAMESPACE
 
 } // namespace ndnboost
 
-#endif // BOOST_RT_CLA_TYPED_PARAMETER_HPP_062604GER
+#endif // NDNBOOST_RT_CLA_TYPED_PARAMETER_HPP_062604GER
diff --git a/include/ndnboost/test/utils/runtime/cla/validation.hpp b/include/ndnboost/test/utils/runtime/cla/validation.hpp
index 18c9b77..011cfbe 100644
--- a/include/ndnboost/test/utils/runtime/cla/validation.hpp
+++ b/include/ndnboost/test/utils/runtime/cla/validation.hpp
@@ -12,8 +12,8 @@
 //  Description : input validation helpers definition
 // ***************************************************************************
 
-#ifndef BOOST_RT_CLA_VALIDATION_HPP_062604GER
-#define BOOST_RT_CLA_VALIDATION_HPP_062604GER
+#ifndef NDNBOOST_RT_CLA_VALIDATION_HPP_062604GER
+#define NDNBOOST_RT_CLA_VALIDATION_HPP_062604GER
 
 // Boost.Runtime.Parameter
 #include <ndnboost/test/utils/runtime/config.hpp>
@@ -22,7 +22,7 @@
 
 namespace ndnboost {
 
-namespace BOOST_RT_PARAM_NAMESPACE {
+namespace NDNBOOST_RT_PARAM_NAMESPACE {
 
 namespace cla {
 
@@ -34,22 +34,22 @@
 
 //____________________________________________________________________________//
 
-#define BOOST_RT_CLA_VALIDATE_INPUT( b, tr, msg ) \
-    if( b ) ; else ::ndnboost::BOOST_RT_PARAM_NAMESPACE::cla::report_input_error( tr, format_stream().ref() << msg )
+#define NDNBOOST_RT_CLA_VALIDATE_INPUT( b, tr, msg ) \
+    if( b ) ; else ::ndnboost::NDNBOOST_RT_PARAM_NAMESPACE::cla::report_input_error( tr, format_stream().ref() << msg )
 
 //____________________________________________________________________________//
 
 } // namespace cla
 
-} // namespace BOOST_RT_PARAM_NAMESPACE
+} // namespace NDNBOOST_RT_PARAM_NAMESPACE
 
 } // namespace ndnboost
 
-#ifndef BOOST_RT_PARAM_OFFLINE
+#ifndef NDNBOOST_RT_PARAM_OFFLINE
 
-#  define BOOST_RT_PARAM_INLINE inline
+#  define NDNBOOST_RT_PARAM_INLINE inline
 #  include <ndnboost/test/utils/runtime/cla/validation.ipp>
 
 #endif
 
-#endif // BOOST_RT_CLA_VALIDATION_HPP_062604GER
+#endif // NDNBOOST_RT_CLA_VALIDATION_HPP_062604GER
diff --git a/include/ndnboost/test/utils/runtime/cla/validation.ipp b/include/ndnboost/test/utils/runtime/cla/validation.ipp
index 5d295d7..4af9370 100644
--- a/include/ndnboost/test/utils/runtime/cla/validation.ipp
+++ b/include/ndnboost/test/utils/runtime/cla/validation.ipp
@@ -12,15 +12,15 @@
 //  Description : input validation helpers implementation
 // ***************************************************************************
 
-#ifndef BOOST_RT_CLA_VALIDATION_IPP_070604GER
-#define BOOST_RT_CLA_VALIDATION_IPP_070604GER
+#ifndef NDNBOOST_RT_CLA_VALIDATION_IPP_070604GER
+#define NDNBOOST_RT_CLA_VALIDATION_IPP_070604GER
 
 // Boost.Runtime.Parameter
 #include <ndnboost/test/utils/runtime/config.hpp>
 
 #include <ndnboost/test/utils/runtime/cla/argv_traverser.hpp>
 #include <ndnboost/test/utils/runtime/cla/validation.hpp>
-#include <ndnboost/test/utils/runtime/validation.hpp> // BOOST_RT_PARAM_NAMESPACE::logic_error
+#include <ndnboost/test/utils/runtime/validation.hpp> // NDNBOOST_RT_PARAM_NAMESPACE::logic_error
 
 // Boost
 #include <ndnboost/test/utils/basic_cstring/io.hpp>
@@ -29,7 +29,7 @@
 
 namespace ndnboost {
 
-namespace BOOST_RT_PARAM_NAMESPACE {
+namespace NDNBOOST_RT_PARAM_NAMESPACE {
 
 namespace cla {
 
@@ -37,29 +37,29 @@
 // **************           runtime::cla::validation           ************** //
 // ************************************************************************** //
 
-BOOST_RT_PARAM_INLINE void
+NDNBOOST_RT_PARAM_INLINE void
 report_input_error( argv_traverser const& tr, format_stream& msg )
 {
     if( tr.eoi() )
-        msg << BOOST_RT_PARAM_LITERAL( " at the end of input" );
+        msg << NDNBOOST_RT_PARAM_LITERAL( " at the end of input" );
     else {
-        msg << BOOST_RT_PARAM_LITERAL( " in the following position: " );
+        msg << NDNBOOST_RT_PARAM_LITERAL( " in the following position: " );
 
         if( tr.input().size() > 5 )
-            msg << tr.input().substr( 0, 5 ) << BOOST_RT_PARAM_LITERAL( "..." );
+            msg << tr.input().substr( 0, 5 ) << NDNBOOST_RT_PARAM_LITERAL( "..." );
         else
             msg << tr.input();
     }
 
-    throw BOOST_RT_PARAM_NAMESPACE::logic_error( msg.str() );
+    throw NDNBOOST_RT_PARAM_NAMESPACE::logic_error( msg.str() );
 }
 
 //____________________________________________________________________________//
 
 } // namespace cla
 
-} // namespace BOOST_RT_PARAM_NAMESPACE
+} // namespace NDNBOOST_RT_PARAM_NAMESPACE
 
 } // namespace ndnboost
 
-#endif // BOOST_RT_CLA_VALIDATION_IPP_070604GER
+#endif // NDNBOOST_RT_CLA_VALIDATION_IPP_070604GER
diff --git a/include/ndnboost/test/utils/runtime/cla/value_generator.hpp b/include/ndnboost/test/utils/runtime/cla/value_generator.hpp
index d402977..df92c36 100644
--- a/include/ndnboost/test/utils/runtime/cla/value_generator.hpp
+++ b/include/ndnboost/test/utils/runtime/cla/value_generator.hpp
@@ -12,8 +12,8 @@
 //  Description : specific value generators
 // ***************************************************************************
 
-#ifndef BOOST_RT_CLA_VALUE_GENERATOR_HPP_062604GER
-#define BOOST_RT_CLA_VALUE_GENERATOR_HPP_062604GER
+#ifndef NDNBOOST_RT_CLA_VALUE_GENERATOR_HPP_062604GER
+#define NDNBOOST_RT_CLA_VALUE_GENERATOR_HPP_062604GER
 
 // Boost.Runtime.Parameter
 #include <ndnboost/test/utils/runtime/config.hpp>
@@ -23,7 +23,7 @@
 
 namespace ndnboost {
 
-namespace BOOST_RT_PARAM_NAMESPACE {
+namespace NDNBOOST_RT_PARAM_NAMESPACE {
 
 namespace cla {
 
@@ -74,8 +74,8 @@
 
 } // namespace cla
 
-} // namespace BOOST_RT_PARAM_NAMESPACE
+} // namespace NDNBOOST_RT_PARAM_NAMESPACE
 
 } // namespace ndnboost
 
-#endif // BOOST_RT_CLA_VALUE_GENERATOR_HPP_062604GER
+#endif // NDNBOOST_RT_CLA_VALUE_GENERATOR_HPP_062604GER
diff --git a/include/ndnboost/test/utils/runtime/cla/value_handler.hpp b/include/ndnboost/test/utils/runtime/cla/value_handler.hpp
index 1d792ba..0090603 100644
--- a/include/ndnboost/test/utils/runtime/cla/value_handler.hpp
+++ b/include/ndnboost/test/utils/runtime/cla/value_handler.hpp
@@ -12,8 +12,8 @@
 //  Description : specific value handlers
 // ***************************************************************************
 
-#ifndef BOOST_RT_CLA_VALUE_HANDLER_HPP_062604GER
-#define BOOST_RT_CLA_VALUE_HANDLER_HPP_062604GER
+#ifndef NDNBOOST_RT_CLA_VALUE_HANDLER_HPP_062604GER
+#define NDNBOOST_RT_CLA_VALUE_HANDLER_HPP_062604GER
 
 // Boost.Runtime.Parameter
 #include <ndnboost/test/utils/runtime/config.hpp>
@@ -22,7 +22,7 @@
 
 namespace ndnboost {
 
-namespace BOOST_RT_PARAM_NAMESPACE {
+namespace NDNBOOST_RT_PARAM_NAMESPACE {
 
 namespace cla {
 
@@ -50,8 +50,8 @@
 
 } // namespace cla
 
-} // namespace BOOST_RT_PARAM_NAMESPACE
+} // namespace NDNBOOST_RT_PARAM_NAMESPACE
 
 } // namespace ndnboost
 
-#endif // BOOST_RT_CLA_VALUE_HANDLER_HPP_062604GER
+#endif // NDNBOOST_RT_CLA_VALUE_HANDLER_HPP_062604GER
diff --git a/include/ndnboost/test/utils/runtime/config.hpp b/include/ndnboost/test/utils/runtime/config.hpp
index 8067a96..f5f8f17 100644
--- a/include/ndnboost/test/utils/runtime/config.hpp
+++ b/include/ndnboost/test/utils/runtime/config.hpp
@@ -12,12 +12,12 @@
 //  Description : Runtime.Param library configuration
 // ***************************************************************************
 
-#ifndef BOOST_RT_CONFIG_HPP_062604GER
-#define BOOST_RT_CONFIG_HPP_062604GER
+#ifndef NDNBOOST_RT_CONFIG_HPP_062604GER
+#define NDNBOOST_RT_CONFIG_HPP_062604GER
 
 // Boost
 #include <ndnboost/config.hpp>
-#ifdef BOOST_MSVC
+#ifdef NDNBOOST_MSVC
 # pragma warning(disable: 4511) // copy constructor could not be generated
 # pragma warning(disable: 4512) // assignment operator could not be generated
 # pragma warning(disable: 4181) // qualifier applied to reference type; ignored
@@ -36,11 +36,11 @@
 
 //____________________________________________________________________________//
 
-#ifndef BOOST_RT_PARAM_CUSTOM_STRING
-#  ifndef BOOST_RT_PARAM_WIDE_STRING
-#    define BOOST_RT_PARAM_NAMESPACE                            runtime
+#ifndef NDNBOOST_RT_PARAM_CUSTOM_STRING
+#  ifndef NDNBOOST_RT_PARAM_WIDE_STRING
+#    define NDNBOOST_RT_PARAM_NAMESPACE                            runtime
 #  else
-#    define BOOST_RT_PARAM_NAMESPACE                            wide_runtime
+#    define NDNBOOST_RT_PARAM_NAMESPACE                            wide_runtime
 #  endif
 #endif
 
@@ -50,10 +50,10 @@
 
 namespace ndnboost {
 
-namespace BOOST_RT_PARAM_NAMESPACE {
+namespace NDNBOOST_RT_PARAM_NAMESPACE {
 
-#ifndef BOOST_RT_PARAM_CUSTOM_STRING
-#  ifndef BOOST_RT_PARAM_WIDE_STRING
+#ifndef NDNBOOST_RT_PARAM_CUSTOM_STRING
+#  ifndef NDNBOOST_RT_PARAM_WIDE_STRING
 
 typedef char                                                    char_type;
 typedef std::string                                             dstring;
@@ -61,13 +61,13 @@
 typedef unit_test::literal_string                               literal_cstring;
 typedef wrap_stringstream                                       format_stream;
 
-#ifdef BOOST_CLASSIC_IOSTREAMS
+#ifdef NDNBOOST_CLASSIC_IOSTREAMS
 typedef std::ostream                                            out_stream;
 #else
 typedef std::basic_ostream<char_type>                           out_stream;
 #endif
 
-#ifdef BOOST_MSVC
+#ifdef NDNBOOST_MSVC
 #pragma warning(push)
 #pragma warning(disable:4996) // putenv
 #endif
@@ -97,15 +97,15 @@
 #endif
 #endif
 
-#ifdef BOOST_MSVC 
+#ifdef NDNBOOST_MSVC 
 #pragma warning(pop) 
 #endif 
 
-#define BOOST_RT_PARAM_LITERAL( l ) l
-#define BOOST_RT_PARAM_CSTRING_LITERAL( l ) cstring( l, sizeof( l ) - 1 )
-#define BOOST_RT_PARAM_GETENV getenv
-#define BOOST_RT_PARAM_PUTENV ::ndnboost::BOOST_RT_PARAM_NAMESPACE::putenv_impl
-#define BOOST_RT_PARAM_EXCEPTION_INHERIT_STD
+#define NDNBOOST_RT_PARAM_LITERAL( l ) l
+#define NDNBOOST_RT_PARAM_CSTRING_LITERAL( l ) cstring( l, sizeof( l ) - 1 )
+#define NDNBOOST_RT_PARAM_GETENV getenv
+#define NDNBOOST_RT_PARAM_PUTENV ::ndnboost::NDNBOOST_RT_PARAM_NAMESPACE::putenv_impl
+#define NDNBOOST_RT_PARAM_EXCEPTION_INHERIT_STD
 
 //____________________________________________________________________________//
 
@@ -133,24 +133,24 @@
 }
 #endif
 
-#define BOOST_RT_PARAM_LITERAL( l ) L ## l
-#define BOOST_RT_PARAM_CSTRING_LITERAL( l ) cstring( L ## l, sizeof( L ## l )/sizeof(wchar_t) - 1 )
-#define BOOST_RT_PARAM_GETENV wgetenv
-#define BOOST_RT_PARAM_PUTENV putenv_impl
+#define NDNBOOST_RT_PARAM_LITERAL( l ) L ## l
+#define NDNBOOST_RT_PARAM_CSTRING_LITERAL( l ) cstring( L ## l, sizeof( L ## l )/sizeof(wchar_t) - 1 )
+#define NDNBOOST_RT_PARAM_GETENV wgetenv
+#define NDNBOOST_RT_PARAM_PUTENV putenv_impl
 
 #  endif
 #endif
 
 #ifdef __GNUC__
-#define BOOST_RT_PARAM_UNNEEDED_VIRTUAL virtual
+#define NDNBOOST_RT_PARAM_UNNEEDED_VIRTUAL virtual
 #else
-#define BOOST_RT_PARAM_UNNEEDED_VIRTUAL
+#define NDNBOOST_RT_PARAM_UNNEEDED_VIRTUAL
 #endif
 
 //____________________________________________________________________________//
 
-} // namespace BOOST_RT_PARAM_NAMESPACE
+} // namespace NDNBOOST_RT_PARAM_NAMESPACE
 
 } // namespace ndnboost
 
-#endif // BOOST_RT_CONFIG_HPP_062604GER
+#endif // NDNBOOST_RT_CONFIG_HPP_062604GER
diff --git a/include/ndnboost/test/utils/runtime/env/environment.hpp b/include/ndnboost/test/utils/runtime/env/environment.hpp
index b45f10f..3634fac 100644
--- a/include/ndnboost/test/utils/runtime/env/environment.hpp
+++ b/include/ndnboost/test/utils/runtime/env/environment.hpp
@@ -12,8 +12,8 @@
 //  Description : defines and implements inline model of program environment 
 // ***************************************************************************
 
-#ifndef BOOST_RT_ENV_ENVIRONMENT_HPP_062604GER
-#define BOOST_RT_ENV_ENVIRONMENT_HPP_062604GER
+#ifndef NDNBOOST_RT_ENV_ENVIRONMENT_HPP_062604GER
+#define NDNBOOST_RT_ENV_ENVIRONMENT_HPP_062604GER
 
 #ifdef UNDER_CE
 #error Windows CE does not support environment variables.
@@ -37,7 +37,7 @@
 
 namespace ndnboost {
 
-namespace BOOST_RT_PARAM_NAMESPACE {
+namespace NDNBOOST_RT_PARAM_NAMESPACE {
 
 // ************************************************************************** //
 // **************      runtime::environment implementation     ************** //
@@ -158,15 +158,15 @@
 
 namespace env = environment;
 
-} // namespace BOOST_RT_PARAM_NAMESPACE
+} // namespace NDNBOOST_RT_PARAM_NAMESPACE
 
 } // namespace ndnboost
 
-#ifndef BOOST_RT_PARAM_OFFLINE
+#ifndef NDNBOOST_RT_PARAM_OFFLINE
 
-#define BOOST_RT_PARAM_INLINE inline
+#define NDNBOOST_RT_PARAM_INLINE inline
 #include <ndnboost/test/utils/runtime/env/environment.ipp>
 
 #endif
 
-#endif // BOOST_RT_ENV_ENVIRONMENT_HPP_062604GER
+#endif // NDNBOOST_RT_ENV_ENVIRONMENT_HPP_062604GER
diff --git a/include/ndnboost/test/utils/runtime/env/environment.ipp b/include/ndnboost/test/utils/runtime/env/environment.ipp
index f2929de..3dd78f9 100644
--- a/include/ndnboost/test/utils/runtime/env/environment.ipp
+++ b/include/ndnboost/test/utils/runtime/env/environment.ipp
@@ -12,8 +12,8 @@
 //  Description : implements model of program environment 
 // ***************************************************************************
 
-#ifndef BOOST_RT_ENV_ENVIRONMENT_IPP_062904GER
-#define BOOST_RT_ENV_ENVIRONMENT_IPP_062904GER
+#ifndef NDNBOOST_RT_ENV_ENVIRONMENT_IPP_062904GER
+#define NDNBOOST_RT_ENV_ENVIRONMENT_IPP_062904GER
 
 // Boost.Runtime.Parameter
 #include <ndnboost/test/utils/runtime/config.hpp>
@@ -31,7 +31,7 @@
 
 namespace ndnboost {
 
-namespace BOOST_RT_PARAM_NAMESPACE {
+namespace NDNBOOST_RT_PARAM_NAMESPACE {
 
 namespace environment {
 
@@ -44,10 +44,10 @@
 typedef std::map<cstring,rt_env_detail::variable_data> registry;
 typedef std::list<dstring> keys;
 
-BOOST_RT_PARAM_INLINE registry& s_registry()    { static registry instance; return instance; }
-BOOST_RT_PARAM_INLINE keys&     s_keys()        { static keys instance; return instance; }
+NDNBOOST_RT_PARAM_INLINE registry& s_registry()    { static registry instance; return instance; }
+NDNBOOST_RT_PARAM_INLINE keys&     s_keys()        { static keys instance; return instance; }
 
-BOOST_RT_PARAM_INLINE variable_data&
+NDNBOOST_RT_PARAM_INLINE variable_data&
 new_var_record( cstring var_name )
 {
     // save the name in list of keys
@@ -65,7 +65,7 @@
 
 //____________________________________________________________________________//
 
-BOOST_RT_PARAM_INLINE variable_data*
+NDNBOOST_RT_PARAM_INLINE variable_data*
 find_var_record( cstring var_name )
 {
     registry::iterator it = s_registry().find( var_name );
@@ -75,41 +75,41 @@
 
 //____________________________________________________________________________//
 
-#ifdef BOOST_MSVC 
+#ifdef NDNBOOST_MSVC 
 #pragma warning(push) 
 #pragma warning(disable:4996) // getenv
 #endif
 
-BOOST_RT_PARAM_INLINE cstring
+NDNBOOST_RT_PARAM_INLINE cstring
 sys_read_var( cstring var_name )
 {
     using namespace std;
-    return BOOST_RT_PARAM_GETENV( var_name.begin() );
+    return NDNBOOST_RT_PARAM_GETENV( var_name.begin() );
 }
 
-#ifdef BOOST_MSVC 
+#ifdef NDNBOOST_MSVC 
 #pragma warning(pop) 
 #endif
 //____________________________________________________________________________//
 
-BOOST_RT_PARAM_INLINE void
+NDNBOOST_RT_PARAM_INLINE void
 sys_write_var( cstring var_name, format_stream& var_value )
 {
-    BOOST_RT_PARAM_PUTENV( var_name, cstring( var_value.str() ) );
+    NDNBOOST_RT_PARAM_PUTENV( var_name, cstring( var_value.str() ) );
 }
 
 //____________________________________________________________________________//
 
 } // namespace rt_env_detail
 
-BOOST_RT_PARAM_INLINE variable_base
+NDNBOOST_RT_PARAM_INLINE variable_base
 var( cstring var_name )
 {
     rt_env_detail::variable_data* vd = rt_env_detail::find_var_record( var_name );
 
-    BOOST_RT_PARAM_VALIDATE_LOGIC( !!vd,
-                                   BOOST_RT_PARAM_LITERAL( "First access to the environment variable " ) 
-                                        << var_name << BOOST_RT_PARAM_LITERAL( " should be typed" ) );
+    NDNBOOST_RT_PARAM_VALIDATE_LOGIC( !!vd,
+                                   NDNBOOST_RT_PARAM_LITERAL( "First access to the environment variable " ) 
+                                        << var_name << NDNBOOST_RT_PARAM_LITERAL( " should be typed" ) );
 
     return variable_base( *vd );
 }
@@ -118,8 +118,8 @@
 
 } // namespace environment
 
-} // namespace BOOST_RT_PARAM_NAMESPACE
+} // namespace NDNBOOST_RT_PARAM_NAMESPACE
 
 } // namespace ndnboost
 
-#endif // BOOST_RT_ENV_ENVIRONMENT_IPP_062904GER
+#endif // NDNBOOST_RT_ENV_ENVIRONMENT_IPP_062904GER
diff --git a/include/ndnboost/test/utils/runtime/env/fwd.hpp b/include/ndnboost/test/utils/runtime/env/fwd.hpp
index b869605..10721fc 100644
--- a/include/ndnboost/test/utils/runtime/env/fwd.hpp
+++ b/include/ndnboost/test/utils/runtime/env/fwd.hpp
@@ -12,8 +12,8 @@
 //  Description : environment subsystem forward declarations
 // ***************************************************************************
 
-#ifndef BOOST_RT_ENV_FWD_HPP_062604GER
-#define BOOST_RT_ENV_FWD_HPP_062604GER
+#ifndef NDNBOOST_RT_ENV_FWD_HPP_062604GER
+#define NDNBOOST_RT_ENV_FWD_HPP_062604GER
 
 #ifdef UNDER_CE
 #error Windows CE does not support environment variables.
@@ -24,7 +24,7 @@
 
 namespace ndnboost {
 
-namespace BOOST_RT_PARAM_NAMESPACE {
+namespace NDNBOOST_RT_PARAM_NAMESPACE {
 
 namespace environment {
 
@@ -47,8 +47,8 @@
 
 } // namespace environment
 
-} // namespace BOOST_RT_PARAM_NAMESPACE
+} // namespace NDNBOOST_RT_PARAM_NAMESPACE
 
 } // namespace ndnboost
 
-#endif // BOOST_RT_ENV_FWD_HPP_062604GER
+#endif // NDNBOOST_RT_ENV_FWD_HPP_062604GER
diff --git a/include/ndnboost/test/utils/runtime/env/modifier.hpp b/include/ndnboost/test/utils/runtime/env/modifier.hpp
index a760368..0cfcff3 100644
--- a/include/ndnboost/test/utils/runtime/env/modifier.hpp
+++ b/include/ndnboost/test/utils/runtime/env/modifier.hpp
@@ -12,8 +12,8 @@
 //  Description : defines variable modifiers
 // ***************************************************************************
 
-#ifndef BOOST_RT_ENV_MODIFIER_HPP_062604GER
-#define BOOST_RT_ENV_MODIFIER_HPP_062604GER
+#ifndef NDNBOOST_RT_ENV_MODIFIER_HPP_062604GER
+#define NDNBOOST_RT_ENV_MODIFIER_HPP_062604GER
 
 // Boost.Runtime.Parameter
 #include <ndnboost/test/utils/runtime/config.hpp>
@@ -23,7 +23,7 @@
 
 namespace ndnboost {
 
-namespace BOOST_RT_PARAM_NAMESPACE {
+namespace NDNBOOST_RT_PARAM_NAMESPACE {
 
 namespace environment {
 
@@ -40,8 +40,8 @@
 } // local namespace
 } // namespace environment
 
-} // namespace BOOST_RT_PARAM_NAMESPACE
+} // namespace NDNBOOST_RT_PARAM_NAMESPACE
 
 } // namespace ndnboost
 
-#endif // BOOST_RT_ENV_MODIFIER_HPP_062604GER
+#endif // NDNBOOST_RT_ENV_MODIFIER_HPP_062604GER
diff --git a/include/ndnboost/test/utils/runtime/env/variable.hpp b/include/ndnboost/test/utils/runtime/env/variable.hpp
index 17a4f39..d86bb22 100644
--- a/include/ndnboost/test/utils/runtime/env/variable.hpp
+++ b/include/ndnboost/test/utils/runtime/env/variable.hpp
@@ -12,8 +12,8 @@
 //  Description : defines model of program environment variable
 // ***************************************************************************
 
-#ifndef BOOST_RT_ENV_VARIABLE_HPP_062604GER
-#define BOOST_RT_ENV_VARIABLE_HPP_062604GER
+#ifndef NDNBOOST_RT_ENV_VARIABLE_HPP_062604GER
+#define NDNBOOST_RT_ENV_VARIABLE_HPP_062604GER
 
 #ifdef UNDER_CE
 #error Windows CE does not support environment variables.
@@ -32,7 +32,7 @@
 
 namespace ndnboost {
 
-namespace BOOST_RT_PARAM_NAMESPACE {
+namespace NDNBOOST_RT_PARAM_NAMESPACE {
 
 namespace environment {
 
@@ -104,8 +104,8 @@
     // access methods
     T const&    value() const                               { return variable_base::value<T>(); }
 
-#if BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3206)) || \
-    BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x0593))
+#if NDNBOOST_WORKAROUND(__MWERKS__, NDNBOOST_TESTED_AT(0x3206)) || \
+    NDNBOOST_WORKAROUND(__BORLANDC__, NDNBOOST_TESTED_AT(0x0593))
     template<typename T>
     void        value( ndnboost::optional<T>& res ) const      { variable_base::value( res ); }
 #else
@@ -179,7 +179,7 @@
 
 } // namespace environment
 
-} // namespace BOOST_RT_PARAM_NAMESPACE
+} // namespace NDNBOOST_RT_PARAM_NAMESPACE
 
 } // namespace ndnboost
 
@@ -195,7 +195,7 @@
 
 namespace ndnboost {
 
-namespace BOOST_RT_PARAM_NAMESPACE {
+namespace NDNBOOST_RT_PARAM_NAMESPACE {
 
 namespace environment {
 
@@ -216,8 +216,8 @@
 
 } // namespace environment
 
-} // namespace BOOST_RT_PARAM_NAMESPACE
+} // namespace NDNBOOST_RT_PARAM_NAMESPACE
 
 } // namespace ndnboost
 
-#endif // BOOST_RT_ENV_VARIABLE_HPP_062604GER
+#endif // NDNBOOST_RT_ENV_VARIABLE_HPP_062604GER
diff --git a/include/ndnboost/test/utils/runtime/fwd.hpp b/include/ndnboost/test/utils/runtime/fwd.hpp
index 3714bfc..3affb55 100644
--- a/include/ndnboost/test/utils/runtime/fwd.hpp
+++ b/include/ndnboost/test/utils/runtime/fwd.hpp
@@ -12,8 +12,8 @@
 //  Description : global framework level forward declaration
 // ***************************************************************************
 
-#ifndef BOOST_RT_FWD_HPP_062604GER
-#define BOOST_RT_FWD_HPP_062604GER
+#ifndef NDNBOOST_RT_FWD_HPP_062604GER
+#define NDNBOOST_RT_FWD_HPP_062604GER
 
 // Boost.Runtime.Parameter
 #include <ndnboost/test/utils/runtime/config.hpp>
@@ -23,7 +23,7 @@
 
 namespace ndnboost {
 
-namespace BOOST_RT_PARAM_NAMESPACE {
+namespace NDNBOOST_RT_PARAM_NAMESPACE {
 
 class parameter;
 
@@ -34,8 +34,8 @@
 template<typename T> class value_interpreter;
 template<typename T> class typed_argument;
 
-} // namespace BOOST_RT_PARAM_NAMESPACE
+} // namespace NDNBOOST_RT_PARAM_NAMESPACE
 
 } // namespace ndnboost
 
-#endif // BOOST_RT_FWD_HPP_062604GER
+#endif // NDNBOOST_RT_FWD_HPP_062604GER
diff --git a/include/ndnboost/test/utils/runtime/interpret_argument_value.hpp b/include/ndnboost/test/utils/runtime/interpret_argument_value.hpp
index 4f5a214..4dec761 100644
--- a/include/ndnboost/test/utils/runtime/interpret_argument_value.hpp
+++ b/include/ndnboost/test/utils/runtime/interpret_argument_value.hpp
@@ -12,8 +12,8 @@
 //  Description : default algorithms for string to specific type convertions
 // ***************************************************************************
 
-#ifndef BOOST_RT_INTERPRET_ARGUMENT_VALUE_HPP_062604GER
-#define BOOST_RT_INTERPRET_ARGUMENT_VALUE_HPP_062604GER
+#ifndef NDNBOOST_RT_INTERPRET_ARGUMENT_VALUE_HPP_062604GER
+#define NDNBOOST_RT_INTERPRET_ARGUMENT_VALUE_HPP_062604GER
 
 // Boost.Runtime.Parameter
 #include <ndnboost/test/utils/runtime/config.hpp>
@@ -33,7 +33,7 @@
 
 namespace ndnboost {
 
-namespace BOOST_RT_PARAM_NAMESPACE {
+namespace NDNBOOST_RT_PARAM_NAMESPACE {
 
 // ************************************************************************** //
 // **************       runtime::interpret_argument_value      ************** //
@@ -45,11 +45,11 @@
 struct interpret_argument_value_impl {
     static bool _( cstring source, ndnboost::optional<T>& res )
     {
-        BOOST_RT_PARAM_TRACE( "In interpret_argument_value_impl<" << typeid(T).name() << ">" );
+        NDNBOOST_RT_PARAM_TRACE( "In interpret_argument_value_impl<" << typeid(T).name() << ">" );
 
         res = lexical_cast<T>( source );
 
-        BOOST_RT_PARAM_TRACE( "String " << source << " is interpreted as " << *res );
+        NDNBOOST_RT_PARAM_TRACE( "String " << source << " is interpreted as " << *res );
         return true;
     }
 };
@@ -62,7 +62,7 @@
 struct interpret_argument_value_impl<dstring> {
     static bool _( cstring source, ndnboost::optional<dstring>& res )
     {
-        BOOST_RT_PARAM_TRACE( "In interpret_argument_value_impl<dstring>" );
+        NDNBOOST_RT_PARAM_TRACE( "In interpret_argument_value_impl<dstring>" );
 
         res = dstring();
         assign_op( *res, source, 0 );
@@ -78,7 +78,7 @@
 struct interpret_argument_value_impl<cstring> {
     static bool _( cstring source, ndnboost::optional<cstring>& res )
     {
-        BOOST_RT_PARAM_TRACE( "In interpret_argument_value_impl<cstring>" );
+        NDNBOOST_RT_PARAM_TRACE( "In interpret_argument_value_impl<cstring>" );
 
         res = source;
 
@@ -93,14 +93,14 @@
 struct interpret_argument_value_impl<bool> {
     static bool _( cstring source, ndnboost::optional<bool>& res )
     {
-        BOOST_RT_PARAM_TRACE( "In interpret_argument_value_impl<bool>" );
+        NDNBOOST_RT_PARAM_TRACE( "In interpret_argument_value_impl<bool>" );
 
-        static literal_cstring YES( BOOST_RT_PARAM_CSTRING_LITERAL( "YES" ) );
-        static literal_cstring Y( BOOST_RT_PARAM_CSTRING_LITERAL( "Y" ) );
-        static literal_cstring NO( BOOST_RT_PARAM_CSTRING_LITERAL( "NO" ) );
-        static literal_cstring N( BOOST_RT_PARAM_CSTRING_LITERAL( "N" ) );
-        static literal_cstring one( BOOST_RT_PARAM_CSTRING_LITERAL( "1" ) );
-        static literal_cstring zero( BOOST_RT_PARAM_CSTRING_LITERAL( "0" ) );
+        static literal_cstring YES( NDNBOOST_RT_PARAM_CSTRING_LITERAL( "YES" ) );
+        static literal_cstring Y( NDNBOOST_RT_PARAM_CSTRING_LITERAL( "Y" ) );
+        static literal_cstring NO( NDNBOOST_RT_PARAM_CSTRING_LITERAL( "NO" ) );
+        static literal_cstring N( NDNBOOST_RT_PARAM_CSTRING_LITERAL( "N" ) );
+        static literal_cstring one( NDNBOOST_RT_PARAM_CSTRING_LITERAL( "1" ) );
+        static literal_cstring zero( NDNBOOST_RT_PARAM_CSTRING_LITERAL( "0" ) );
 
         source.trim();
 
@@ -135,13 +135,13 @@
 inline bool
 interpret_argument_value( cstring source, ndnboost::optional<std::list<T> >& res, int )
 {
-    BOOST_RT_PARAM_TRACE( "In interpret_argument_value<std::list<T>>" );
+    NDNBOOST_RT_PARAM_TRACE( "In interpret_argument_value<std::list<T>>" );
 
     res = std::list<T>();
 
     while( !source.is_empty() ) {
         // !! should we use token_iterator
-        cstring::iterator single_value_end = std::find( source.begin(), source.end(), BOOST_RT_PARAM_LITERAL( ',' ) );
+        cstring::iterator single_value_end = std::find( source.begin(), source.end(), NDNBOOST_RT_PARAM_LITERAL( ',' ) );
 
         ndnboost::optional<T> value;
         interpret_argument_value( cstring( source.begin(), single_value_end ), value, 0 );
@@ -156,8 +156,8 @@
 
 //____________________________________________________________________________//
 
-} // namespace BOOST_RT_PARAM_NAMESPACE
+} // namespace NDNBOOST_RT_PARAM_NAMESPACE
 
 } // namespace ndnboost
 
-#endif // BOOST_RT_INTERPRET_ARGUMENT_VALUE_HPP_062604GER
+#endif // NDNBOOST_RT_INTERPRET_ARGUMENT_VALUE_HPP_062604GER
diff --git a/include/ndnboost/test/utils/runtime/parameter.hpp b/include/ndnboost/test/utils/runtime/parameter.hpp
index 2f6d1b7..73fb81c 100644
--- a/include/ndnboost/test/utils/runtime/parameter.hpp
+++ b/include/ndnboost/test/utils/runtime/parameter.hpp
@@ -12,15 +12,15 @@
 //  Description : abstract interface for the formal parameter
 // ***************************************************************************
 
-#ifndef BOOST_RT_PARAMETER_HPP_062604GER
-#define BOOST_RT_PARAMETER_HPP_062604GER
+#ifndef NDNBOOST_RT_PARAMETER_HPP_062604GER
+#define NDNBOOST_RT_PARAMETER_HPP_062604GER
 
 // Boost.Runtime.Parameter
 #include <ndnboost/test/utils/runtime/config.hpp>
 
 namespace ndnboost {
 
-namespace BOOST_RT_PARAM_NAMESPACE {
+namespace NDNBOOST_RT_PARAM_NAMESPACE {
 
 // ************************************************************************** //
 // **************              runtime::parameter              ************** //
@@ -31,8 +31,8 @@
     virtual ~parameter() {}
 };
 
-} // namespace BOOST_RT_PARAM_NAMESPACE
+} // namespace NDNBOOST_RT_PARAM_NAMESPACE
 
 } // namespace ndnboost
 
-#endif // BOOST_RT_PARAMETER_HPP_062604GER
+#endif // NDNBOOST_RT_PARAMETER_HPP_062604GER
diff --git a/include/ndnboost/test/utils/runtime/trace.hpp b/include/ndnboost/test/utils/runtime/trace.hpp
index c71eb8e..fd47429 100644
--- a/include/ndnboost/test/utils/runtime/trace.hpp
+++ b/include/ndnboost/test/utils/runtime/trace.hpp
@@ -12,19 +12,19 @@
 //  Description : optional internal tracing
 // ***************************************************************************
 
-#ifndef BOOST_RT_TRACE_HPP_062604GER
-#define BOOST_RT_TRACE_HPP_062604GER
+#ifndef NDNBOOST_RT_TRACE_HPP_062604GER
+#define NDNBOOST_RT_TRACE_HPP_062604GER
 
 // Boost.Runtime.Parameter
 #include <ndnboost/test/utils/runtime/config.hpp>
 
-#ifdef BOOST_RT_PARAM_DEBUG
+#ifdef NDNBOOST_RT_PARAM_DEBUG
 
 #include <iostream>
 
-#  define BOOST_RT_PARAM_TRACE( str ) std::cerr << str << std::endl
+#  define NDNBOOST_RT_PARAM_TRACE( str ) std::cerr << str << std::endl
 #else
-#  define BOOST_RT_PARAM_TRACE( str )
+#  define NDNBOOST_RT_PARAM_TRACE( str )
 #endif
 
-#endif // BOOST_RT_TRACE_HPP_062604GER
+#endif // NDNBOOST_RT_TRACE_HPP_062604GER
diff --git a/include/ndnboost/test/utils/runtime/validation.hpp b/include/ndnboost/test/utils/runtime/validation.hpp
index e794df9..9c8ce79 100644
--- a/include/ndnboost/test/utils/runtime/validation.hpp
+++ b/include/ndnboost/test/utils/runtime/validation.hpp
@@ -12,8 +12,8 @@
 //  Description : defines exceptions and validation tools
 // ***************************************************************************
 
-#ifndef BOOST_RT_VALIDATION_HPP_062604GER
-#define BOOST_RT_VALIDATION_HPP_062604GER
+#ifndef NDNBOOST_RT_VALIDATION_HPP_062604GER
+#define NDNBOOST_RT_VALIDATION_HPP_062604GER
 
 // Boost.Runtime.Parameter
 #include <ndnboost/test/utils/runtime/config.hpp>
@@ -25,20 +25,20 @@
 #include <ndnboost/shared_ptr.hpp>
 
 // STL
-#ifdef BOOST_RT_PARAM_EXCEPTION_INHERIT_STD
+#ifdef NDNBOOST_RT_PARAM_EXCEPTION_INHERIT_STD
 #include <stdexcept>
 #endif
 
 namespace ndnboost {
 
-namespace BOOST_RT_PARAM_NAMESPACE {
+namespace NDNBOOST_RT_PARAM_NAMESPACE {
 
 // ************************************************************************** //
 // **************             runtime::logic_error             ************** //
 // ************************************************************************** //
 
 class logic_error 
-#ifdef BOOST_RT_PARAM_EXCEPTION_INHERIT_STD
+#ifdef NDNBOOST_RT_PARAM_EXCEPTION_INHERIT_STD
 : public std::exception
 #endif
 {
@@ -62,21 +62,21 @@
 inline void
 report_logic_error( format_stream& msg )
 {
-    throw BOOST_RT_PARAM_NAMESPACE::logic_error( msg.str() );
+    throw NDNBOOST_RT_PARAM_NAMESPACE::logic_error( msg.str() );
 }
 
 //____________________________________________________________________________//
 
-#define BOOST_RT_PARAM_REPORT_LOGIC_ERROR( msg ) \
-    ndnboost::BOOST_RT_PARAM_NAMESPACE::report_logic_error( format_stream().ref() << msg )
+#define NDNBOOST_RT_PARAM_REPORT_LOGIC_ERROR( msg ) \
+    ndnboost::NDNBOOST_RT_PARAM_NAMESPACE::report_logic_error( format_stream().ref() << msg )
 
-#define BOOST_RT_PARAM_VALIDATE_LOGIC( b, msg ) \
-    if( b ) {} else BOOST_RT_PARAM_REPORT_LOGIC_ERROR( msg )
+#define NDNBOOST_RT_PARAM_VALIDATE_LOGIC( b, msg ) \
+    if( b ) {} else NDNBOOST_RT_PARAM_REPORT_LOGIC_ERROR( msg )
 
 //____________________________________________________________________________//
 
-} // namespace BOOST_RT_PARAM_NAMESPACE
+} // namespace NDNBOOST_RT_PARAM_NAMESPACE
 
 } // namespace ndnboost
 
-#endif // BOOST_RT_VALIDATION_HPP_062604GER
+#endif // NDNBOOST_RT_VALIDATION_HPP_062604GER
diff --git a/include/ndnboost/test/utils/trivial_singleton.hpp b/include/ndnboost/test/utils/trivial_singleton.hpp
index 6fba5c9..9fcff0b 100644
--- a/include/ndnboost/test/utils/trivial_singleton.hpp
+++ b/include/ndnboost/test/utils/trivial_singleton.hpp
@@ -12,8 +12,8 @@
 //  Description : simple helpers for creating cusom output manipulators
 // ***************************************************************************
 
-#ifndef BOOST_TEST_TRIVIAL_SIGNLETON_HPP_020505GER
-#define BOOST_TEST_TRIVIAL_SIGNLETON_HPP_020505GER
+#ifndef NDNBOOST_TEST_TRIVIAL_SIGNLETON_HPP_020505GER
+#define NDNBOOST_TEST_TRIVIAL_SIGNLETON_HPP_020505GER
 
 #include <ndnboost/config.hpp>
 #include <ndnboost/detail/workaround.hpp>
@@ -43,25 +43,25 @@
 
 } // namespace unit_test
 
-#define BOOST_TEST_SINGLETON_CONS( type )       \
+#define NDNBOOST_TEST_SINGLETON_CONS( type )       \
 friend class ndnboost::unit_test::singleton<type>; \
 type() {}                                       \
 /**/
 
-#if BOOST_WORKAROUND(__DECCXX_VER, BOOST_TESTED_AT(60590042))
+#if NDNBOOST_WORKAROUND(__DECCXX_VER, NDNBOOST_TESTED_AT(60590042))
 
-#define BOOST_TEST_SINGLETON_INST( inst ) \
-template class unit_test::singleton< BOOST_JOIN( inst, _t ) > ; \
-namespace { BOOST_JOIN( inst, _t)& inst = BOOST_JOIN( inst, _t)::instance(); }
+#define NDNBOOST_TEST_SINGLETON_INST( inst ) \
+template class unit_test::singleton< NDNBOOST_JOIN( inst, _t ) > ; \
+namespace { NDNBOOST_JOIN( inst, _t)& inst = NDNBOOST_JOIN( inst, _t)::instance(); }
 
 #elif defined(__APPLE_CC__) && defined(__GNUC__) && __GNUC__ < 4
-#define BOOST_TEST_SINGLETON_INST( inst ) \
-static BOOST_JOIN( inst, _t)& inst = BOOST_JOIN (inst, _t)::instance();
+#define NDNBOOST_TEST_SINGLETON_INST( inst ) \
+static NDNBOOST_JOIN( inst, _t)& inst = NDNBOOST_JOIN (inst, _t)::instance();
 
 #else
 
-#define BOOST_TEST_SINGLETON_INST( inst ) \
-namespace { BOOST_JOIN( inst, _t)& inst = BOOST_JOIN( inst, _t)::instance(); }
+#define NDNBOOST_TEST_SINGLETON_INST( inst ) \
+namespace { NDNBOOST_JOIN( inst, _t)& inst = NDNBOOST_JOIN( inst, _t)::instance(); }
 
 #endif
 
@@ -71,4 +71,4 @@
 
 #include <ndnboost/test/detail/enable_warnings.hpp>
 
-#endif // BOOST_TEST_TRIVIAL_SIGNLETON_HPP_020505GER
+#endif // NDNBOOST_TEST_TRIVIAL_SIGNLETON_HPP_020505GER
diff --git a/include/ndnboost/test/utils/wrap_stringstream.hpp b/include/ndnboost/test/utils/wrap_stringstream.hpp
index bd112e9..2fe1111 100644
--- a/include/ndnboost/test/utils/wrap_stringstream.hpp
+++ b/include/ndnboost/test/utils/wrap_stringstream.hpp
@@ -13,18 +13,18 @@
 //                to provide the unified interface
 // ***************************************************************************
 
-#ifndef BOOST_WRAP_STRINGSTREAM_HPP_071894GER
-#define BOOST_WRAP_STRINGSTREAM_HPP_071894GER
+#ifndef NDNBOOST_WRAP_STRINGSTREAM_HPP_071894GER
+#define NDNBOOST_WRAP_STRINGSTREAM_HPP_071894GER
 
 // Boost.Test
 #include <ndnboost/test/detail/config.hpp>
 
 // STL
-#ifdef BOOST_NO_STRINGSTREAM
+#ifdef NDNBOOST_NO_STRINGSTREAM
 #include <strstream>        // for std::ostrstream
 #else
 #include <sstream>          // for std::ostringstream
-#endif // BOOST_NO_STRINGSTREAM
+#endif // NDNBOOST_NO_STRINGSTREAM
 
 #include <ndnboost/test/detail/suppress_warnings.hpp>
 
@@ -39,13 +39,13 @@
 template<typename CharT>
 class basic_wrap_stringstream {
 public:
-#if defined(BOOST_CLASSIC_IOSTREAMS)
+#if defined(NDNBOOST_CLASSIC_IOSTREAMS)
     typedef std::ostringstream               wrapped_stream;
-#elif defined(BOOST_NO_STRINGSTREAM)
+#elif defined(NDNBOOST_NO_STRINGSTREAM)
     typedef std::basic_ostrstream<CharT>     wrapped_stream;
 #else
     typedef std::basic_ostringstream<CharT>  wrapped_stream;
-#endif // BOOST_NO_STRINGSTREAM
+#endif // NDNBOOST_NO_STRINGSTREAM
     // Access methods
     basic_wrap_stringstream&        ref();
     wrapped_stream&                 stream();
@@ -92,7 +92,7 @@
 basic_wrap_stringstream<CharT>::str()
 {
 
-#ifdef BOOST_NO_STRINGSTREAM
+#ifdef NDNBOOST_NO_STRINGSTREAM
     m_str.assign( m_stream.str(), m_stream.pcount() );
     m_stream.freeze( false );
 #else
@@ -114,11 +114,11 @@
 
 //____________________________________________________________________________//
 
-#if BOOST_TEST_USE_STD_LOCALE 
+#if NDNBOOST_TEST_USE_STD_LOCALE 
 
 template <typename CharT>
 inline basic_wrap_stringstream<CharT>&
-operator<<( basic_wrap_stringstream<CharT>& targ, std::ios_base& (BOOST_TEST_CALL_DECL *man)(std::ios_base&) )
+operator<<( basic_wrap_stringstream<CharT>& targ, std::ios_base& (NDNBOOST_TEST_CALL_DECL *man)(std::ios_base&) )
 {
     targ.stream() << man;
     return targ;
@@ -128,7 +128,7 @@
 
 template<typename CharT,typename Elem,typename Tr>
 inline basic_wrap_stringstream<CharT>&
-operator<<( basic_wrap_stringstream<CharT>& targ, std::basic_ostream<Elem,Tr>& (BOOST_TEST_CALL_DECL *man)(std::basic_ostream<Elem, Tr>&) )
+operator<<( basic_wrap_stringstream<CharT>& targ, std::basic_ostream<Elem,Tr>& (NDNBOOST_TEST_CALL_DECL *man)(std::basic_ostream<Elem, Tr>&) )
 {
     targ.stream() << man;
     return targ;
@@ -138,7 +138,7 @@
 
 template<typename CharT,typename Elem,typename Tr>
 inline basic_wrap_stringstream<CharT>&
-operator<<( basic_wrap_stringstream<CharT>& targ, std::basic_ios<Elem, Tr>& (BOOST_TEST_CALL_DECL *man)(std::basic_ios<Elem, Tr>&) )
+operator<<( basic_wrap_stringstream<CharT>& targ, std::basic_ios<Elem, Tr>& (NDNBOOST_TEST_CALL_DECL *man)(std::basic_ios<Elem, Tr>&) )
 {
     targ.stream() << man;
     return targ;
@@ -161,4 +161,4 @@
 
 #include <ndnboost/test/detail/enable_warnings.hpp>
 
-#endif  // BOOST_WRAP_STRINGSTREAM_HPP_071894GER
+#endif  // NDNBOOST_WRAP_STRINGSTREAM_HPP_071894GER
diff --git a/include/ndnboost/test/utils/xml_printer.hpp b/include/ndnboost/test/utils/xml_printer.hpp
index 58ecc6b..50f2972 100644
--- a/include/ndnboost/test/utils/xml_printer.hpp
+++ b/include/ndnboost/test/utils/xml_printer.hpp
@@ -12,8 +12,8 @@
 //  Description : common code used by any agent serving as XML printer
 // ***************************************************************************
 
-#ifndef BOOST_TEST_XML_PRINTER_HPP_071894GER
-#define BOOST_TEST_XML_PRINTER_HPP_071894GER
+#ifndef NDNBOOST_TEST_XML_PRINTER_HPP_071894GER
+#define NDNBOOST_TEST_XML_PRINTER_HPP_071894GER
 
 // Boost.Test
 #include <ndnboost/test/utils/basic_cstring/basic_cstring.hpp>
@@ -53,7 +53,7 @@
         0
     );
 
-    BOOST_TEST_FOREACH( char, c, value ) {
+    NDNBOOST_TEST_FOREACH( char, c, value ) {
         char const* ref = char_type[c];
 
         if( ref )
@@ -102,7 +102,7 @@
 inline std::ostream&
 operator<<( custom_printer<cdata> const& p, const_string value )
 {
-    return *p << BOOST_TEST_L( "<![CDATA[" ) << value << BOOST_TEST_L( "]]>" );
+    return *p << NDNBOOST_TEST_L( "<![CDATA[" ) << value << NDNBOOST_TEST_L( "]]>" );
 }
 
 //____________________________________________________________________________//
@@ -115,4 +115,4 @@
 
 #include <ndnboost/test/detail/enable_warnings.hpp>
 
-#endif // BOOST_TEST_XML_PRINTER_HPP_071894GER
+#endif // NDNBOOST_TEST_XML_PRINTER_HPP_071894GER
diff --git a/include/ndnboost/throw_exception.hpp b/include/ndnboost/throw_exception.hpp
index 08cef38..9ee3ca5 100644
--- a/include/ndnboost/throw_exception.hpp
+++ b/include/ndnboost/throw_exception.hpp
@@ -1,9 +1,9 @@
 #ifndef UUID_AA15E74A856F11E08B8D93F24824019B
 #define UUID_AA15E74A856F11E08B8D93F24824019B
-#if defined(__GNUC__) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
+#if defined(__GNUC__) && !defined(NDNBOOST_EXCEPTION_ENABLE_WARNINGS)
 #pragma GCC system_header
 #endif
-#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
+#if defined(_MSC_VER) && !defined(NDNBOOST_EXCEPTION_ENABLE_WARNINGS)
 #pragma warning(push,1)
 #endif
 
@@ -31,25 +31,25 @@
 #include <ndnboost/config.hpp>
 #include <exception>
 
-#if !defined( BOOST_EXCEPTION_DISABLE ) && defined( __BORLANDC__ ) && BOOST_WORKAROUND( __BORLANDC__, BOOST_TESTED_AT(0x593) )
-# define BOOST_EXCEPTION_DISABLE
+#if !defined( NDNBOOST_EXCEPTION_DISABLE ) && defined( __BORLANDC__ ) && NDNBOOST_WORKAROUND( __BORLANDC__, NDNBOOST_TESTED_AT(0x593) )
+# define NDNBOOST_EXCEPTION_DISABLE
 #endif
 
-#if !defined( BOOST_EXCEPTION_DISABLE ) && defined( BOOST_MSVC ) && BOOST_WORKAROUND( BOOST_MSVC, < 1310 )
-# define BOOST_EXCEPTION_DISABLE
+#if !defined( NDNBOOST_EXCEPTION_DISABLE ) && defined( NDNBOOST_MSVC ) && NDNBOOST_WORKAROUND( NDNBOOST_MSVC, < 1310 )
+# define NDNBOOST_EXCEPTION_DISABLE
 #endif
 
-#if !defined( BOOST_EXCEPTION_DISABLE )
+#if !defined( NDNBOOST_EXCEPTION_DISABLE )
 # include <ndnboost/exception/exception.hpp>
 # include <ndnboost/current_function.hpp>
-# define BOOST_THROW_EXCEPTION(x) ::ndnboost::exception_detail::throw_exception_(x,BOOST_CURRENT_FUNCTION,__FILE__,__LINE__)
+# define NDNBOOST_THROW_EXCEPTION(x) ::ndnboost::exception_detail::throw_exception_(x,NDNBOOST_CURRENT_FUNCTION,__FILE__,__LINE__)
 #else
-# define BOOST_THROW_EXCEPTION(x) ::ndnboost::throw_exception(x)
+# define NDNBOOST_THROW_EXCEPTION(x) ::ndnboost::throw_exception(x)
 #endif
 
 namespace ndnboost
 {
-#ifdef BOOST_NO_EXCEPTIONS
+#ifdef NDNBOOST_NO_EXCEPTIONS
 
 void throw_exception( std::exception const & e ); // user defined
 
@@ -57,13 +57,13 @@
 
 inline void throw_exception_assert_compatibility( std::exception const & ) { }
 
-template<class E> BOOST_ATTRIBUTE_NORETURN inline void throw_exception( E const & e )
+template<class E> NDNBOOST_ATTRIBUTE_NORETURN inline void throw_exception( E const & e )
 {
     //All boost exceptions are required to derive from std::exception,
-    //to ensure compatibility with BOOST_NO_EXCEPTIONS.
+    //to ensure compatibility with NDNBOOST_NO_EXCEPTIONS.
     throw_exception_assert_compatibility(e);
 
-#ifndef BOOST_EXCEPTION_DISABLE
+#ifndef NDNBOOST_EXCEPTION_DISABLE
     throw enable_current_exception(enable_error_info(e));
 #else
     throw e;
@@ -72,12 +72,12 @@
 
 #endif
 
-#if !defined( BOOST_EXCEPTION_DISABLE )
+#if !defined( NDNBOOST_EXCEPTION_DISABLE )
     namespace
     exception_detail
     {
         template <class E>
-        BOOST_ATTRIBUTE_NORETURN
+        NDNBOOST_ATTRIBUTE_NORETURN
         void
         throw_exception_( E const & x, char const * current_function, char const * file, int line )
         {
@@ -94,7 +94,7 @@
 #endif
 } // namespace ndnboost
 
-#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
+#if defined(_MSC_VER) && !defined(NDNBOOST_EXCEPTION_ENABLE_WARNINGS)
 #pragma warning(pop)
 #endif
 #endif
diff --git a/include/ndnboost/timer.hpp b/include/ndnboost/timer.hpp
index 95ca7b0..e19f360 100644
--- a/include/ndnboost/timer.hpp
+++ b/include/ndnboost/timer.hpp
@@ -14,14 +14,14 @@
 //  16 Jul 99  Second beta
 //   6 Jul 99  Initial boost version
 
-#ifndef BOOST_TIMER_HPP
-#define BOOST_TIMER_HPP
+#ifndef NDNBOOST_TIMER_HPP
+#define NDNBOOST_TIMER_HPP
 
 #include <ndnboost/config.hpp>
 #include <ctime>
 #include <ndnboost/limits.hpp>
 
-# ifdef BOOST_NO_STDC_NAMESPACE
+# ifdef NDNBOOST_NO_STDC_NAMESPACE
     namespace std { using ::clock_t; using ::clock; }
 # endif
 
@@ -69,4 +69,4 @@
 
 } // namespace ndnboost
 
-#endif  // BOOST_TIMER_HPP
+#endif  // NDNBOOST_TIMER_HPP
diff --git a/include/ndnboost/tuple/detail/tuple_basic.hpp b/include/ndnboost/tuple/detail/tuple_basic.hpp
index 75f7d80..cbb6774 100644
--- a/include/ndnboost/tuple/detail/tuple_basic.hpp
+++ b/include/ndnboost/tuple/detail/tuple_basic.hpp
@@ -29,8 +29,8 @@
 //      Added default constructor for cons<>.
 // -----------------------------------------------------------------
 
-#ifndef BOOST_TUPLE_BASIC_HPP
-#define BOOST_TUPLE_BASIC_HPP
+#ifndef NDNBOOST_TUPLE_BASIC_HPP
+#define NDNBOOST_TUPLE_BASIC_HPP
 
 
 #include <utility> // needed for the assignment from pair to tuple
@@ -39,7 +39,7 @@
 #include "ndnboost/type_traits/function_traits.hpp"
 #include "ndnboost/utility/swap.hpp"
 
-#include "ndnboost/detail/workaround.hpp" // needed for BOOST_WORKAROUND
+#include "ndnboost/detail/workaround.hpp" // needed for NDNBOOST_WORKAROUND
 
 namespace ndnboost {
 namespace tuples {
@@ -91,9 +91,9 @@
 struct drop_front {
     template<class Tuple>
     struct apply {
-        typedef BOOST_DEDUCED_TYPENAME drop_front<N-1>::BOOST_NESTED_TEMPLATE
+        typedef NDNBOOST_DEDUCED_TYPENAME drop_front<N-1>::NDNBOOST_NESTED_TEMPLATE
             apply<Tuple> next;
-        typedef BOOST_DEDUCED_TYPENAME next::type::tail_type type;
+        typedef NDNBOOST_DEDUCED_TYPENAME next::type::tail_type type;
         static const type& call(const Tuple& tup) {
             return next::call(tup).tail;
         }
@@ -119,12 +119,12 @@
 // Nth element ot T, first element is at index 0
 // -------------------------------------------------------
 
-#ifndef BOOST_NO_CV_SPECIALIZATIONS
+#ifndef NDNBOOST_NO_CV_SPECIALIZATIONS
 
 template<int N, class T>
 struct element
 {
-  typedef BOOST_DEDUCED_TYPENAME detail::drop_front<N>::BOOST_NESTED_TEMPLATE
+  typedef NDNBOOST_DEDUCED_TYPENAME detail::drop_front<N>::NDNBOOST_NESTED_TEMPLATE
       apply<T>::type::head_type type;
 };
 
@@ -132,30 +132,30 @@
 struct element<N, const T>
 {
 private:
-  typedef BOOST_DEDUCED_TYPENAME detail::drop_front<N>::BOOST_NESTED_TEMPLATE
+  typedef NDNBOOST_DEDUCED_TYPENAME detail::drop_front<N>::NDNBOOST_NESTED_TEMPLATE
       apply<T>::type::head_type unqualified_type;
 public:
-#if BOOST_WORKAROUND(__BORLANDC__,<0x600)
+#if NDNBOOST_WORKAROUND(__BORLANDC__,<0x600)
   typedef const unqualified_type type;
 #else
-  typedef BOOST_DEDUCED_TYPENAME ndnboost::add_const<unqualified_type>::type type;
+  typedef NDNBOOST_DEDUCED_TYPENAME ndnboost::add_const<unqualified_type>::type type;
 #endif
 };
-#else // def BOOST_NO_CV_SPECIALIZATIONS
+#else // def NDNBOOST_NO_CV_SPECIALIZATIONS
 
 namespace detail {
 
 template<int N, class T, bool IsConst>
 struct element_impl
 {
-  typedef BOOST_DEDUCED_TYPENAME detail::drop_front<N>::BOOST_NESTED_TEMPLATE
+  typedef NDNBOOST_DEDUCED_TYPENAME detail::drop_front<N>::NDNBOOST_NESTED_TEMPLATE
       apply<T>::type::head_type type;
 };
 
 template<int N, class T>
 struct element_impl<N, T, true /* IsConst */>
 {
-  typedef BOOST_DEDUCED_TYPENAME detail::drop_front<N>::BOOST_NESTED_TEMPLATE
+  typedef NDNBOOST_DEDUCED_TYPENAME detail::drop_front<N>::NDNBOOST_NESTED_TEMPLATE
       apply<T>::type::head_type unqualified_type;
   typedef const unqualified_type type;
 };
@@ -208,10 +208,10 @@
 inline typename access_traits<
                   typename element<N, cons<HT, TT> >::type
                 >::non_const_type
-get(cons<HT, TT>& c BOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE(int, N)) {
-  typedef BOOST_DEDUCED_TYPENAME detail::drop_front<N>::BOOST_NESTED_TEMPLATE
+get(cons<HT, TT>& c NDNBOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE(int, N)) {
+  typedef NDNBOOST_DEDUCED_TYPENAME detail::drop_front<N>::NDNBOOST_NESTED_TEMPLATE
       apply<cons<HT, TT> > impl;
-  typedef BOOST_DEDUCED_TYPENAME impl::type cons_element;
+  typedef NDNBOOST_DEDUCED_TYPENAME impl::type cons_element;
   return const_cast<cons_element&>(impl::call(c)).head;
 }
 
@@ -222,10 +222,10 @@
 inline typename access_traits<
                   typename element<N, cons<HT, TT> >::type
                 >::const_type
-get(const cons<HT, TT>& c BOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE(int, N)) {
-  typedef BOOST_DEDUCED_TYPENAME detail::drop_front<N>::BOOST_NESTED_TEMPLATE
+get(const cons<HT, TT>& c NDNBOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE(int, N)) {
+  typedef NDNBOOST_DEDUCED_TYPENAME detail::drop_front<N>::NDNBOOST_NESTED_TEMPLATE
       apply<cons<HT, TT> > impl;
-  typedef BOOST_DEDUCED_TYPENAME impl::type cons_element;
+  typedef NDNBOOST_DEDUCED_TYPENAME impl::type cons_element;
   return impl::call(c).head;
 }
 
@@ -322,7 +322,7 @@
 
   template <class T1, class T2>
   cons& operator=( const std::pair<T1, T2>& u ) {
-    BOOST_STATIC_ASSERT(length<cons>::value == 2); // check length = 2
+    NDNBOOST_STATIC_ASSERT(length<cons>::value == 2); // check length = 2
     head = u.first; tail.head = u.second; return *this;
   }
 
@@ -399,7 +399,7 @@
   typename access_traits<
              typename element<N, self_type>::type
             >::non_const_type
-  get(BOOST_EXPLICIT_TEMPLATE_NON_TYPE(int, N)) {
+  get(NDNBOOST_EXPLICIT_TEMPLATE_NON_TYPE(int, N)) {
     return ndnboost::tuples::get<N>(*this);
   }
 
@@ -407,7 +407,7 @@
   typename access_traits<
              typename element<N, self_type>::type
            >::const_type
-  get(BOOST_EXPLICIT_TEMPLATE_NON_TYPE(int, N)) const {
+  get(NDNBOOST_EXPLICIT_TEMPLATE_NON_TYPE(int, N)) const {
     return ndnboost::tuples::get<N>(*this);
   }
 
@@ -417,27 +417,27 @@
 
 template<class T>
 struct length  {
-  BOOST_STATIC_CONSTANT(int, value = 1 + length<typename T::tail_type>::value);
+  NDNBOOST_STATIC_CONSTANT(int, value = 1 + length<typename T::tail_type>::value);
 };
 
 template<>
 struct length<tuple<> > {
-  BOOST_STATIC_CONSTANT(int, value = 0);
+  NDNBOOST_STATIC_CONSTANT(int, value = 0);
 };
 
 template<>
 struct length<tuple<> const> {
-  BOOST_STATIC_CONSTANT(int, value = 0);
+  NDNBOOST_STATIC_CONSTANT(int, value = 0);
 };
 
 template<>
 struct length<null_type> {
-  BOOST_STATIC_CONSTANT(int, value = 0);
+  NDNBOOST_STATIC_CONSTANT(int, value = 0);
 };
 
 template<>
 struct length<null_type const> {
-  BOOST_STATIC_CONSTANT(int, value = 0);
+  NDNBOOST_STATIC_CONSTANT(int, value = 0);
 };
 
 namespace detail {
@@ -579,7 +579,7 @@
 
   template <class U1, class U2>
   tuple& operator=(const std::pair<U1, U2>& k) {
-    BOOST_STATIC_ASSERT(length<tuple>::value == 2);// check_length = 2
+    NDNBOOST_STATIC_ASSERT(length<tuple>::value == 2);// check_length = 2
     this->head = k.first;
     this->tail.head = k.second;
     return *this;
@@ -975,6 +975,6 @@
 } // end of namespace ndnboost
 
 
-#endif // BOOST_TUPLE_BASIC_HPP
+#endif // NDNBOOST_TUPLE_BASIC_HPP
 
 
diff --git a/include/ndnboost/tuple/detail/tuple_basic_no_partial_spec.hpp b/include/ndnboost/tuple/detail/tuple_basic_no_partial_spec.hpp
index 5f89415..59222b7 100644
--- a/include/ndnboost/tuple/detail/tuple_basic_no_partial_spec.hpp
+++ b/include/ndnboost/tuple/detail/tuple_basic_no_partial_spec.hpp
@@ -23,14 +23,14 @@
 
 // -----------------------------------------------------------------
 
-#ifndef BOOST_TUPLE_BASIC_NO_PARTIAL_SPEC_HPP
-#define BOOST_TUPLE_BASIC_NO_PARTIAL_SPEC_HPP
+#ifndef NDNBOOST_TUPLE_BASIC_NO_PARTIAL_SPEC_HPP
+#define NDNBOOST_TUPLE_BASIC_NO_PARTIAL_SPEC_HPP
 
 #include "ndnboost/type_traits.hpp"
 #include "ndnboost/utility/swap.hpp"
 #include <utility>
 
-#if defined BOOST_MSVC
+#if defined NDNBOOST_MSVC
 #pragma warning(disable:4518) // storage-class or type specifier(s) unexpected here; ignored
 #pragma warning(disable:4181) // qualifier applied to reference type ignored
 #pragma warning(disable:4227) // qualifier applied to reference type ignored
@@ -106,7 +106,7 @@
         // Each of vc6 and vc7 seem to require a different formulation
         // of this return type
         template <class H, class T>
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
+#if NDNBOOST_WORKAROUND(NDNBOOST_MSVC, < 1300)
         static typename add_reference<typename add_const<T>::type>::type
 #else
         static typename add_const_reference<T>::type
@@ -179,7 +179,7 @@
 
      cons() : head(), tail() {}
 
-#if defined BOOST_MSVC
+#if defined NDNBOOST_MSVC
       template<typename Tail>
       cons(head_cref h /* = head_type() */, // causes MSVC 6.5 to barf.
                     const Tail& t) : head(h), tail(t.head, t.tail)
@@ -314,7 +314,7 @@
 
     namespace detail {
 
-#if defined(BOOST_MSVC) && (BOOST_MSVC == 1300)
+#if defined(NDNBOOST_MSVC) && (NDNBOOST_MSVC == 1300)
       // special workaround for vc7:
 
       template <bool x>
@@ -397,17 +397,17 @@
     template<typename Tuple>
     struct length
     {
-      BOOST_STATIC_CONSTANT(int, value = 1 + length<typename Tuple::tail_type>::value);
+      NDNBOOST_STATIC_CONSTANT(int, value = 1 + length<typename Tuple::tail_type>::value);
     };
 
     template<> struct length<tuple<> > {
-      BOOST_STATIC_CONSTANT(int, value = 0);
+      NDNBOOST_STATIC_CONSTANT(int, value = 0);
     };
 
     template<>
     struct length<null_type>
     {
-      BOOST_STATIC_CONSTANT(int, value = 0);
+      NDNBOOST_STATIC_CONSTANT(int, value = 0);
     };
 
     namespace detail {
@@ -862,4 +862,4 @@
 
 } // namespace tuples
 } // namespace ndnboost
-#endif // BOOST_TUPLE_BASIC_NO_PARTIAL_SPEC_HPP
+#endif // NDNBOOST_TUPLE_BASIC_NO_PARTIAL_SPEC_HPP
diff --git a/include/ndnboost/tuple/tuple.hpp b/include/ndnboost/tuple/tuple.hpp
index 06689bd..40b5804 100644
--- a/include/ndnboost/tuple/tuple.hpp
+++ b/include/ndnboost/tuple/tuple.hpp
@@ -10,8 +10,8 @@
 
 // ----------------------------------------------------------------- 
 
-#ifndef BOOST_TUPLE_HPP
-#define BOOST_TUPLE_HPP
+#ifndef NDNBOOST_TUPLE_HPP
+#define NDNBOOST_TUPLE_HPP
 
 #if defined(__sgi) && defined(_COMPILER_VERSION) && _COMPILER_VERSION <= 730
 // Work around a compiler bug.
@@ -23,7 +23,7 @@
 #include "ndnboost/config.hpp"
 #include "ndnboost/static_assert.hpp"
 
-#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+#if defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
 // The MSVC version
 #include "ndnboost/tuple/detail/tuple_basic_no_partial_spec.hpp"
 
@@ -32,16 +32,16 @@
 #include "ndnboost/ref.hpp"
 #include "ndnboost/tuple/detail/tuple_basic.hpp"
 
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#endif // NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 
 namespace ndnboost {    
 
 using tuples::tuple;
 using tuples::make_tuple;
 using tuples::tie;
-#if !defined(BOOST_NO_USING_TEMPLATE)
+#if !defined(NDNBOOST_NO_USING_TEMPLATE)
 using tuples::get;
-#elif !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+#elif !defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
 //
 // The "using tuples::get" statement causes the
 // Borland compiler to ICE, use forwarding
@@ -64,7 +64,7 @@
 get(const tuples::cons<HT, TT>& c) {
   return tuples::get<N,HT,TT>(c);
 }
-#else  // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#else  // NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 //
 // MSVC, using declarations don't mix with templates well,
 // so use forwarding functions instead:
@@ -82,9 +82,9 @@
 {
    return tuples::detail::get_class<N>::get(t);
 }
-#endif // BOOST_NO_USING_TEMPLATE
+#endif // NDNBOOST_NO_USING_TEMPLATE
    
 } // end namespace ndnboost
 
 
-#endif // BOOST_TUPLE_HPP
+#endif // NDNBOOST_TUPLE_HPP
diff --git a/include/ndnboost/type.hpp b/include/ndnboost/type.hpp
index ce726f8..92e4192 100644
--- a/include/ndnboost/type.hpp
+++ b/include/ndnboost/type.hpp
@@ -3,8 +3,8 @@
 // accompanying file LICENSE_1_0.txt or copy at
 // http://www.boost.org/LICENSE_1_0.txt)
 
-#ifndef BOOST_TYPE_DWA20010120_HPP
-# define BOOST_TYPE_DWA20010120_HPP
+#ifndef NDNBOOST_TYPE_DWA20010120_HPP
+# define NDNBOOST_TYPE_DWA20010120_HPP
 
 namespace ndnboost {
 
@@ -15,4 +15,4 @@
 
 }
 
-#endif // BOOST_TYPE_DWA20010120_HPP
+#endif // NDNBOOST_TYPE_DWA20010120_HPP
diff --git a/include/ndnboost/type_traits.hpp b/include/ndnboost/type_traits.hpp
index 01081e0..10cccea 100644
--- a/include/ndnboost/type_traits.hpp
+++ b/include/ndnboost/type_traits.hpp
@@ -7,8 +7,8 @@
 
 //  See ndnboost/type_traits/*.hpp for full copyright notices.
 
-#ifndef BOOST_TYPE_TRAITS_HPP
-#define BOOST_TYPE_TRAITS_HPP
+#ifndef NDNBOOST_TYPE_TRAITS_HPP
+#define NDNBOOST_TYPE_TRAITS_HPP
 
 #include "ndnboost/type_traits/add_const.hpp"
 #include "ndnboost/type_traits/add_cv.hpp"
@@ -97,4 +97,4 @@
 
 #include "ndnboost/type_traits/ice.hpp"
 
-#endif // BOOST_TYPE_TRAITS_HPP
+#endif // NDNBOOST_TYPE_TRAITS_HPP
diff --git a/include/ndnboost/type_traits/add_const.hpp b/include/ndnboost/type_traits/add_const.hpp
index 61fe636..47c5ed0 100644
--- a/include/ndnboost/type_traits/add_const.hpp
+++ b/include/ndnboost/type_traits/add_const.hpp
@@ -7,8 +7,8 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#ifndef BOOST_TT_ADD_CONST_HPP_INCLUDED
-#define BOOST_TT_ADD_CONST_HPP_INCLUDED
+#ifndef NDNBOOST_TT_ADD_CONST_HPP_INCLUDED
+#define NDNBOOST_TT_ADD_CONST_HPP_INCLUDED
 
 #include <ndnboost/config.hpp>
 
@@ -22,7 +22,7 @@
 // the same as "T const", but it does suppress warnings
 // from some compilers:
 
-#if defined(BOOST_MSVC)
+#if defined(NDNBOOST_MSVC)
 // This bogus warning will appear when add_const is applied to a
 // const volatile reference because we can't detect const volatile
 // references with MSVC6.
@@ -30,18 +30,18 @@
 #   pragma warning(disable:4181) // warning C4181: qualifier applied to reference type ignored
 #endif 
 
-BOOST_TT_AUX_TYPE_TRAIT_DEF1(add_const,T,T const)
+NDNBOOST_TT_AUX_TYPE_TRAIT_DEF1(add_const,T,T const)
 
-#if defined(BOOST_MSVC)
+#if defined(NDNBOOST_MSVC)
 #   pragma warning(pop)
 #endif 
 
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,add_const,T&,T&)
+#ifndef NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+NDNBOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,add_const,T&,T&)
 #endif
 
 } // namespace ndnboost
 
 #include <ndnboost/type_traits/detail/type_trait_undef.hpp>
 
-#endif // BOOST_TT_ADD_CONST_HPP_INCLUDED
+#endif // NDNBOOST_TT_ADD_CONST_HPP_INCLUDED
diff --git a/include/ndnboost/type_traits/add_cv.hpp b/include/ndnboost/type_traits/add_cv.hpp
index ddf3ac1..8cd56d8 100644
--- a/include/ndnboost/type_traits/add_cv.hpp
+++ b/include/ndnboost/type_traits/add_cv.hpp
@@ -8,8 +8,8 @@
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
 
-#ifndef BOOST_TT_ADD_CV_HPP_INCLUDED
-#define BOOST_TT_ADD_CV_HPP_INCLUDED
+#ifndef NDNBOOST_TT_ADD_CV_HPP_INCLUDED
+#define NDNBOOST_TT_ADD_CV_HPP_INCLUDED
 
 #include <ndnboost/config.hpp>
 
@@ -23,7 +23,7 @@
 // the same as "T const volatile", but it does suppress warnings
 // from some compilers:
 
-#if defined(BOOST_MSVC)
+#if defined(NDNBOOST_MSVC)
 // This bogus warning will appear when add_volatile is applied to a
 // const volatile reference because we can't detect const volatile
 // references with MSVC6.
@@ -31,18 +31,18 @@
 #   pragma warning(disable:4181) // warning C4181: qualifier applied to reference type ignored
 #endif 
 
-BOOST_TT_AUX_TYPE_TRAIT_DEF1(add_cv,T,T const volatile)
+NDNBOOST_TT_AUX_TYPE_TRAIT_DEF1(add_cv,T,T const volatile)
 
-#if defined(BOOST_MSVC)
+#if defined(NDNBOOST_MSVC)
 #   pragma warning(pop)
 #endif 
 
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,add_cv,T&,T&)
+#ifndef NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+NDNBOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,add_cv,T&,T&)
 #endif
 
 } // namespace ndnboost
 
 #include <ndnboost/type_traits/detail/type_trait_undef.hpp>
 
-#endif // BOOST_TT_ADD_CV_HPP_INCLUDED
+#endif // NDNBOOST_TT_ADD_CV_HPP_INCLUDED
diff --git a/include/ndnboost/type_traits/add_lvalue_reference.hpp b/include/ndnboost/type_traits/add_lvalue_reference.hpp
index 5a3a256..592efc5 100644
--- a/include/ndnboost/type_traits/add_lvalue_reference.hpp
+++ b/include/ndnboost/type_traits/add_lvalue_reference.hpp
@@ -3,8 +3,8 @@
 //  Distributed under the Boost Software License, Version 1.0.
 //  See http://www.boost.org/LICENSE_1_0.txt
 
-#ifndef BOOST_TYPE_TRAITS_EXT_ADD_LVALUE_REFERENCE__HPP
-#define BOOST_TYPE_TRAITS_EXT_ADD_LVALUE_REFERENCE__HPP
+#ifndef NDNBOOST_TYPE_TRAITS_EXT_ADD_LVALUE_REFERENCE__HPP
+#define NDNBOOST_TYPE_TRAITS_EXT_ADD_LVALUE_REFERENCE__HPP
 
 #include <ndnboost/type_traits/add_reference.hpp>
 
@@ -13,14 +13,14 @@
 
 namespace ndnboost{
 
-BOOST_TT_AUX_TYPE_TRAIT_DEF1(add_lvalue_reference,T,typename ndnboost::add_reference<T>::type)
+NDNBOOST_TT_AUX_TYPE_TRAIT_DEF1(add_lvalue_reference,T,typename ndnboost::add_reference<T>::type)
 
-#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,add_lvalue_reference,T&&,T&)
+#ifndef NDNBOOST_NO_CXX11_RVALUE_REFERENCES
+NDNBOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,add_lvalue_reference,T&&,T&)
 #endif
 
 }
 
 #include <ndnboost/type_traits/detail/type_trait_undef.hpp>
 
-#endif  // BOOST_TYPE_TRAITS_EXT_ADD_LVALUE_REFERENCE__HPP
+#endif  // NDNBOOST_TYPE_TRAITS_EXT_ADD_LVALUE_REFERENCE__HPP
diff --git a/include/ndnboost/type_traits/add_pointer.hpp b/include/ndnboost/type_traits/add_pointer.hpp
index 0347139..726f60b 100644
--- a/include/ndnboost/type_traits/add_pointer.hpp
+++ b/include/ndnboost/type_traits/add_pointer.hpp
@@ -6,8 +6,8 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#ifndef BOOST_TT_ADD_POINTER_HPP_INCLUDED
-#define BOOST_TT_ADD_POINTER_HPP_INCLUDED
+#ifndef NDNBOOST_TT_ADD_POINTER_HPP_INCLUDED
+#define NDNBOOST_TT_ADD_POINTER_HPP_INCLUDED
 
 #include <ndnboost/type_traits/remove_reference.hpp>
 
@@ -63,10 +63,10 @@
 
 } // namespace detail
 
-BOOST_TT_AUX_TYPE_TRAIT_DEF1(add_pointer,T,typename ndnboost::detail::add_pointer_impl<T>::type)
+NDNBOOST_TT_AUX_TYPE_TRAIT_DEF1(add_pointer,T,typename ndnboost::detail::add_pointer_impl<T>::type)
 
 } // namespace ndnboost
 
 #include <ndnboost/type_traits/detail/type_trait_undef.hpp>
 
-#endif // BOOST_TT_ADD_POINTER_HPP_INCLUDED
+#endif // NDNBOOST_TT_ADD_POINTER_HPP_INCLUDED
diff --git a/include/ndnboost/type_traits/add_reference.hpp b/include/ndnboost/type_traits/add_reference.hpp
index d825355..993b8bc 100644
--- a/include/ndnboost/type_traits/add_reference.hpp
+++ b/include/ndnboost/type_traits/add_reference.hpp
@@ -6,8 +6,8 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#ifndef BOOST_TT_ADD_REFERENCE_HPP_INCLUDED
-#define BOOST_TT_ADD_REFERENCE_HPP_INCLUDED
+#ifndef NDNBOOST_TT_ADD_REFERENCE_HPP_INCLUDED
+#define NDNBOOST_TT_ADD_REFERENCE_HPP_INCLUDED
 
 #include <ndnboost/type_traits/is_reference.hpp>
 #include <ndnboost/detail/workaround.hpp>
@@ -20,7 +20,7 @@
 
 namespace detail {
 
-#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && defined(BOOST_MSVC6_MEMBER_TEMPLATES)
+#if defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && defined(NDNBOOST_MSVC6_MEMBER_TEMPLATES)
 
 template <bool x>
 struct reference_adder
@@ -62,7 +62,7 @@
     typedef T& type;
 };
 
-#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
+#ifndef NDNBOOST_NO_CXX11_RVALUE_REFERENCES
 template <typename T>
 struct add_reference_rvalue_layer<T&&>
 {
@@ -76,32 +76,32 @@
     typedef typename add_reference_rvalue_layer<T>::type type;
 };
 
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-BOOST_TT_AUX_TYPE_TRAIT_IMPL_PARTIAL_SPEC1_1(typename T,add_reference,T&,T&)
+#ifndef NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+NDNBOOST_TT_AUX_TYPE_TRAIT_IMPL_PARTIAL_SPEC1_1(typename T,add_reference,T&,T&)
 #endif
 
 #endif
 
 // these full specialisations are always required:
-BOOST_TT_AUX_TYPE_TRAIT_IMPL_SPEC1(add_reference,void,void)
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-BOOST_TT_AUX_TYPE_TRAIT_IMPL_SPEC1(add_reference,void const,void const)
-BOOST_TT_AUX_TYPE_TRAIT_IMPL_SPEC1(add_reference,void volatile,void volatile)
-BOOST_TT_AUX_TYPE_TRAIT_IMPL_SPEC1(add_reference,void const volatile,void const volatile)
+NDNBOOST_TT_AUX_TYPE_TRAIT_IMPL_SPEC1(add_reference,void,void)
+#ifndef NDNBOOST_NO_CV_VOID_SPECIALIZATIONS
+NDNBOOST_TT_AUX_TYPE_TRAIT_IMPL_SPEC1(add_reference,void const,void const)
+NDNBOOST_TT_AUX_TYPE_TRAIT_IMPL_SPEC1(add_reference,void volatile,void volatile)
+NDNBOOST_TT_AUX_TYPE_TRAIT_IMPL_SPEC1(add_reference,void const volatile,void const volatile)
 #endif
 
 } // namespace detail
 
-BOOST_TT_AUX_TYPE_TRAIT_DEF1(add_reference,T,typename ndnboost::detail::add_reference_impl<T>::type)
+NDNBOOST_TT_AUX_TYPE_TRAIT_DEF1(add_reference,T,typename ndnboost::detail::add_reference_impl<T>::type)
 
 // agurt, 07/mar/03: workaround Borland's ill-formed sensitivity to an additional
 // level of indirection, here
-#if BOOST_WORKAROUND(__BORLANDC__, < 0x600)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,add_reference,T&,T&)
+#if NDNBOOST_WORKAROUND(__BORLANDC__, < 0x600)
+NDNBOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,add_reference,T&,T&)
 #endif
 
 } // namespace ndnboost
 
 #include <ndnboost/type_traits/detail/type_trait_undef.hpp>
 
-#endif // BOOST_TT_ADD_REFERENCE_HPP_INCLUDED
+#endif // NDNBOOST_TT_ADD_REFERENCE_HPP_INCLUDED
diff --git a/include/ndnboost/type_traits/add_rvalue_reference.hpp b/include/ndnboost/type_traits/add_rvalue_reference.hpp
index 1a09de7..b163075 100644
--- a/include/ndnboost/type_traits/add_rvalue_reference.hpp
+++ b/include/ndnboost/type_traits/add_rvalue_reference.hpp
@@ -5,8 +5,8 @@
 //  Distributed under the Boost Software License, Version 1.0.
 //  See http://www.boost.org/LICENSE_1_0.txt
 
-#ifndef BOOST_TYPE_TRAITS_EXT_ADD_RVALUE_REFERENCE__HPP
-#define BOOST_TYPE_TRAITS_EXT_ADD_RVALUE_REFERENCE__HPP
+#ifndef NDNBOOST_TYPE_TRAITS_EXT_ADD_RVALUE_REFERENCE__HPP
+#define NDNBOOST_TYPE_TRAITS_EXT_ADD_RVALUE_REFERENCE__HPP
 
 #include <ndnboost/config.hpp>
 
@@ -39,7 +39,7 @@
     struct add_rvalue_reference_helper
     { typedef T   type; };
 
-#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+#if !defined(NDNBOOST_NO_CXX11_RVALUE_REFERENCES) && !defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
     template <typename T>
     struct add_rvalue_reference_helper<T, true>
     {
@@ -56,11 +56,11 @@
 
 }
 
-BOOST_TT_AUX_TYPE_TRAIT_DEF1(add_rvalue_reference,T,typename ndnboost::type_traits_detail::add_rvalue_reference_imp<T>::type)
+NDNBOOST_TT_AUX_TYPE_TRAIT_DEF1(add_rvalue_reference,T,typename ndnboost::type_traits_detail::add_rvalue_reference_imp<T>::type)
 
 }  // namespace ndnboost
 
 #include <ndnboost/type_traits/detail/type_trait_undef.hpp>
 
-#endif  // BOOST_TYPE_TRAITS_EXT_ADD_RVALUE_REFERENCE__HPP
+#endif  // NDNBOOST_TYPE_TRAITS_EXT_ADD_RVALUE_REFERENCE__HPP
 
diff --git a/include/ndnboost/type_traits/add_volatile.hpp b/include/ndnboost/type_traits/add_volatile.hpp
index 51ddce9..a8f1162 100644
--- a/include/ndnboost/type_traits/add_volatile.hpp
+++ b/include/ndnboost/type_traits/add_volatile.hpp
@@ -7,8 +7,8 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#ifndef BOOST_TT_ADD_VOLATILE_HPP_INCLUDED
-#define BOOST_TT_ADD_VOLATILE_HPP_INCLUDED
+#ifndef NDNBOOST_TT_ADD_VOLATILE_HPP_INCLUDED
+#define NDNBOOST_TT_ADD_VOLATILE_HPP_INCLUDED
 
 #include <ndnboost/config.hpp>
 
@@ -22,7 +22,7 @@
 // the same as "T volatile", but it does suppress warnings
 // from some compilers:
 
-#if defined(BOOST_MSVC)
+#if defined(NDNBOOST_MSVC)
 // This bogus warning will appear when add_volatile is applied to a
 // const volatile reference because we can't detect const volatile
 // references with MSVC6.
@@ -30,18 +30,18 @@
 #   pragma warning(disable:4181) // warning C4181: qualifier applied to reference type ignored
 #endif 
 
-BOOST_TT_AUX_TYPE_TRAIT_DEF1(add_volatile,T,T volatile)
+NDNBOOST_TT_AUX_TYPE_TRAIT_DEF1(add_volatile,T,T volatile)
 
-#if defined(BOOST_MSVC)
+#if defined(NDNBOOST_MSVC)
 #   pragma warning(pop)
 #endif 
 
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,add_volatile,T&,T&)
+#ifndef NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+NDNBOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,add_volatile,T&,T&)
 #endif
 
 } // namespace ndnboost
 
 #include <ndnboost/type_traits/detail/type_trait_undef.hpp>
 
-#endif // BOOST_TT_ADD_VOLATILE_HPP_INCLUDED
+#endif // NDNBOOST_TT_ADD_VOLATILE_HPP_INCLUDED
diff --git a/include/ndnboost/type_traits/aligned_storage.hpp b/include/ndnboost/type_traits/aligned_storage.hpp
index bdb9735..ade66a1 100644
--- a/include/ndnboost/type_traits/aligned_storage.hpp
+++ b/include/ndnboost/type_traits/aligned_storage.hpp
@@ -6,8 +6,8 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#ifndef BOOST_TT_ALIGNED_STORAGE_HPP_INCLUDED
-#  define BOOST_TT_ALIGNED_STORAGE_HPP_INCLUDED
+#ifndef NDNBOOST_TT_ALIGNED_STORAGE_HPP_INCLUDED
+#  define NDNBOOST_TT_ALIGNED_STORAGE_HPP_INCLUDED
 #  include <ndnboost/aligned_storage.hpp>
-#endif // BOOST_TT_ALIGNED_STORAGE_HPP_INCLUDED
+#endif // NDNBOOST_TT_ALIGNED_STORAGE_HPP_INCLUDED
 
diff --git a/include/ndnboost/type_traits/alignment_of.hpp b/include/ndnboost/type_traits/alignment_of.hpp
index e27ff7b..c7d35ac 100644
--- a/include/ndnboost/type_traits/alignment_of.hpp
+++ b/include/ndnboost/type_traits/alignment_of.hpp
@@ -6,8 +6,8 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#ifndef BOOST_TT_ALIGNMENT_OF_HPP_INCLUDED
-#define BOOST_TT_ALIGNMENT_OF_HPP_INCLUDED
+#ifndef NDNBOOST_TT_ALIGNMENT_OF_HPP_INCLUDED
+#define NDNBOOST_TT_ALIGNMENT_OF_HPP_INCLUDED
 
 #include <ndnboost/config.hpp>
 #include <cstddef>
@@ -16,7 +16,7 @@
 // should be the last #include
 #include <ndnboost/type_traits/detail/size_t_trait_def.hpp>
 
-#ifdef BOOST_MSVC
+#ifdef NDNBOOST_MSVC
 #   pragma warning(push)
 #   pragma warning(disable: 4121 4512) // alignment is sensitive to packing
 #endif
@@ -31,7 +31,7 @@
 // get the alignment of some arbitrary type:
 namespace detail {
 
-#ifdef BOOST_MSVC
+#ifdef NDNBOOST_MSVC
 #pragma warning(push)
 #pragma warning(disable:4324) // structure was padded due to __declspec(align())
 #endif
@@ -42,33 +42,33 @@
     T t;
     alignment_of_hack();
 };
-#ifdef BOOST_MSVC
+#ifdef NDNBOOST_MSVC
 #pragma warning(pop)
 #endif
 
 template <unsigned A, unsigned S>
 struct alignment_logic
 {
-    BOOST_STATIC_CONSTANT(std::size_t, value = A < S ? A : S);
+    NDNBOOST_STATIC_CONSTANT(std::size_t, value = A < S ? A : S);
 };
 
 
 template< typename T >
 struct alignment_of_impl
 {
-#if defined(BOOST_MSVC) && (BOOST_MSVC >= 1400)
+#if defined(NDNBOOST_MSVC) && (NDNBOOST_MSVC >= 1400)
     //
     // With MSVC both the native __alignof operator
     // and our own logic gets things wrong from time to time :-(
     // Using a combination of the two seems to make the most of a bad job:
     //
-    BOOST_STATIC_CONSTANT(std::size_t, value =
+    NDNBOOST_STATIC_CONSTANT(std::size_t, value =
         (::ndnboost::detail::alignment_logic<
             sizeof(::ndnboost::detail::alignment_of_hack<T>) - sizeof(T),
             __alignof(T)
         >::value));
-#elif !defined(BOOST_ALIGNMENT_OF)
-    BOOST_STATIC_CONSTANT(std::size_t, value =
+#elif !defined(NDNBOOST_ALIGNMENT_OF)
+    NDNBOOST_STATIC_CONSTANT(std::size_t, value =
         (::ndnboost::detail::alignment_logic<
             sizeof(::ndnboost::detail::alignment_of_hack<T>) - sizeof(T),
             sizeof(T)
@@ -80,17 +80,17 @@
    // always work in that context for some unexplained reason.
    // (See type_with_alignment tests for test cases).
    //
-   BOOST_STATIC_CONSTANT(std::size_t, value = BOOST_ALIGNMENT_OF(T));
+   NDNBOOST_STATIC_CONSTANT(std::size_t, value = NDNBOOST_ALIGNMENT_OF(T));
 #endif
 };
 
 } // namespace detail
 
-BOOST_TT_AUX_SIZE_T_TRAIT_DEF1(alignment_of,T,::ndnboost::detail::alignment_of_impl<T>::value)
+NDNBOOST_TT_AUX_SIZE_T_TRAIT_DEF1(alignment_of,T,::ndnboost::detail::alignment_of_impl<T>::value)
 
 // references have to be treated specially, assume
 // that a reference is just a special pointer:
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#ifndef NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 template <typename T>
 struct alignment_of<T&>
     : public alignment_of<T*>
@@ -106,11 +106,11 @@
 #endif
 
 // void has to be treated specially:
-BOOST_TT_AUX_SIZE_T_TRAIT_SPEC1(alignment_of,void,0)
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-BOOST_TT_AUX_SIZE_T_TRAIT_SPEC1(alignment_of,void const,0)
-BOOST_TT_AUX_SIZE_T_TRAIT_SPEC1(alignment_of,void volatile,0)
-BOOST_TT_AUX_SIZE_T_TRAIT_SPEC1(alignment_of,void const volatile,0)
+NDNBOOST_TT_AUX_SIZE_T_TRAIT_SPEC1(alignment_of,void,0)
+#ifndef NDNBOOST_NO_CV_VOID_SPECIALIZATIONS
+NDNBOOST_TT_AUX_SIZE_T_TRAIT_SPEC1(alignment_of,void const,0)
+NDNBOOST_TT_AUX_SIZE_T_TRAIT_SPEC1(alignment_of,void volatile,0)
+NDNBOOST_TT_AUX_SIZE_T_TRAIT_SPEC1(alignment_of,void const volatile,0)
 #endif
 
 } // namespace ndnboost
@@ -118,11 +118,11 @@
 #if defined(__BORLANDC__) && (__BORLANDC__ < 0x600)
 #pragma option pop
 #endif
-#ifdef BOOST_MSVC
+#ifdef NDNBOOST_MSVC
 #   pragma warning(pop)
 #endif
 
 #include <ndnboost/type_traits/detail/size_t_trait_undef.hpp>
 
-#endif // BOOST_TT_ALIGNMENT_OF_HPP_INCLUDED
+#endif // NDNBOOST_TT_ALIGNMENT_OF_HPP_INCLUDED
 
diff --git a/include/ndnboost/type_traits/arithmetic_traits.hpp b/include/ndnboost/type_traits/arithmetic_traits.hpp
index 31e6500..dc8e197 100644
--- a/include/ndnboost/type_traits/arithmetic_traits.hpp
+++ b/include/ndnboost/type_traits/arithmetic_traits.hpp
@@ -8,8 +8,8 @@
 //  defines traits classes for arithmetic types:
 //  is_void, is_integral, is_float, is_arithmetic, is_fundamental.
 
-#ifndef BOOST_TT_ARITHMETIC_TRAITS_HPP_INCLUDED
-#define BOOST_TT_ARITHMETIC_TRAITS_HPP_INCLUDED
+#ifndef NDNBOOST_TT_ARITHMETIC_TRAITS_HPP_INCLUDED
+#define NDNBOOST_TT_ARITHMETIC_TRAITS_HPP_INCLUDED
 
 #include <ndnboost/type_traits/is_arithmetic.hpp>
 #include <ndnboost/type_traits/is_float.hpp>
@@ -17,4 +17,4 @@
 #include <ndnboost/type_traits/is_integral.hpp>
 #include <ndnboost/type_traits/is_void.hpp>
 
-#endif // BOOST_TT_ARITHMETIC_TRAITS_HPP_INCLUDED
+#endif // NDNBOOST_TT_ARITHMETIC_TRAITS_HPP_INCLUDED
diff --git a/include/ndnboost/type_traits/broken_compiler_spec.hpp b/include/ndnboost/type_traits/broken_compiler_spec.hpp
index 7e5023d..00a5ee0 100644
--- a/include/ndnboost/type_traits/broken_compiler_spec.hpp
+++ b/include/ndnboost/type_traits/broken_compiler_spec.hpp
@@ -6,112 +6,112 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#ifndef BOOST_TT_BROKEN_COMPILER_SPEC_HPP_INCLUDED
-#define BOOST_TT_BROKEN_COMPILER_SPEC_HPP_INCLUDED
+#ifndef NDNBOOST_TT_BROKEN_COMPILER_SPEC_HPP_INCLUDED
+#define NDNBOOST_TT_BROKEN_COMPILER_SPEC_HPP_INCLUDED
 
 #include <ndnboost/mpl/aux_/lambda_support.hpp>
 #include <ndnboost/config.hpp>
 
-// these are needed regardless of BOOST_TT_NO_BROKEN_COMPILER_SPEC 
-#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+// these are needed regardless of NDNBOOST_TT_NO_BROKEN_COMPILER_SPEC 
+#if defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
 namespace ndnboost { namespace detail {
 template< typename T > struct remove_const_impl     { typedef T type; };
 template< typename T > struct remove_volatile_impl  { typedef T type; };
 template< typename T > struct remove_pointer_impl   { typedef T type; };
 template< typename T > struct remove_reference_impl { typedef T type; };
-typedef int invoke_BOOST_TT_BROKEN_COMPILER_SPEC_outside_all_namespaces;
+typedef int invoke_NDNBOOST_TT_BROKEN_COMPILER_SPEC_outside_all_namespaces;
 }}
 #endif
 
 // agurt, 27/jun/03: disable the workaround if user defined 
-// BOOST_TT_NO_BROKEN_COMPILER_SPEC
-#if    !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
-    || defined(BOOST_TT_NO_BROKEN_COMPILER_SPEC)
+// NDNBOOST_TT_NO_BROKEN_COMPILER_SPEC
+#if    !defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
+    || defined(NDNBOOST_TT_NO_BROKEN_COMPILER_SPEC)
 
-#   define BOOST_TT_BROKEN_COMPILER_SPEC(T) /**/
+#   define NDNBOOST_TT_BROKEN_COMPILER_SPEC(T) /**/
 
 #else
 
-// same as BOOST_TT_AUX_TYPE_TRAIT_IMPL_SPEC1 macro, except that it
+// same as NDNBOOST_TT_AUX_TYPE_TRAIT_IMPL_SPEC1 macro, except that it
 // never gets #undef-ined
-#   define BOOST_TT_AUX_BROKEN_TYPE_TRAIT_SPEC1(trait,spec,result) \
+#   define NDNBOOST_TT_AUX_BROKEN_TYPE_TRAIT_SPEC1(trait,spec,result) \
 template<> struct trait##_impl<spec> \
 { \
     typedef result type; \
 }; \
 /**/
 
-#   define BOOST_TT_AUX_REMOVE_CONST_VOLATILE_RANK1_SPEC(T)                         \
-    BOOST_TT_AUX_BROKEN_TYPE_TRAIT_SPEC1(remove_const,T const,T)                    \
-    BOOST_TT_AUX_BROKEN_TYPE_TRAIT_SPEC1(remove_const,T const volatile,T volatile)  \
-    BOOST_TT_AUX_BROKEN_TYPE_TRAIT_SPEC1(remove_volatile,T volatile,T)              \
-    BOOST_TT_AUX_BROKEN_TYPE_TRAIT_SPEC1(remove_volatile,T const volatile,T const)  \
+#   define NDNBOOST_TT_AUX_REMOVE_CONST_VOLATILE_RANK1_SPEC(T)                         \
+    NDNBOOST_TT_AUX_BROKEN_TYPE_TRAIT_SPEC1(remove_const,T const,T)                    \
+    NDNBOOST_TT_AUX_BROKEN_TYPE_TRAIT_SPEC1(remove_const,T const volatile,T volatile)  \
+    NDNBOOST_TT_AUX_BROKEN_TYPE_TRAIT_SPEC1(remove_volatile,T volatile,T)              \
+    NDNBOOST_TT_AUX_BROKEN_TYPE_TRAIT_SPEC1(remove_volatile,T const volatile,T const)  \
     /**/
 
-#   define BOOST_TT_AUX_REMOVE_PTR_REF_RANK_1_SPEC(T)                               \
-    BOOST_TT_AUX_BROKEN_TYPE_TRAIT_SPEC1(remove_pointer,T*,T)                       \
-    BOOST_TT_AUX_BROKEN_TYPE_TRAIT_SPEC1(remove_pointer,T*const,T)                  \
-    BOOST_TT_AUX_BROKEN_TYPE_TRAIT_SPEC1(remove_pointer,T*volatile,T)               \
-    BOOST_TT_AUX_BROKEN_TYPE_TRAIT_SPEC1(remove_pointer,T*const volatile,T)         \
-    BOOST_TT_AUX_BROKEN_TYPE_TRAIT_SPEC1(remove_reference,T&,T)                     \
+#   define NDNBOOST_TT_AUX_REMOVE_PTR_REF_RANK_1_SPEC(T)                               \
+    NDNBOOST_TT_AUX_BROKEN_TYPE_TRAIT_SPEC1(remove_pointer,T*,T)                       \
+    NDNBOOST_TT_AUX_BROKEN_TYPE_TRAIT_SPEC1(remove_pointer,T*const,T)                  \
+    NDNBOOST_TT_AUX_BROKEN_TYPE_TRAIT_SPEC1(remove_pointer,T*volatile,T)               \
+    NDNBOOST_TT_AUX_BROKEN_TYPE_TRAIT_SPEC1(remove_pointer,T*const volatile,T)         \
+    NDNBOOST_TT_AUX_BROKEN_TYPE_TRAIT_SPEC1(remove_reference,T&,T)                     \
     /**/
 
-#   define BOOST_TT_AUX_REMOVE_PTR_REF_RANK_2_SPEC(T)                               \
-    BOOST_TT_AUX_REMOVE_PTR_REF_RANK_1_SPEC(T)                                      \
-    BOOST_TT_AUX_REMOVE_PTR_REF_RANK_1_SPEC(T const)                                \
-    BOOST_TT_AUX_REMOVE_PTR_REF_RANK_1_SPEC(T volatile)                             \
-    BOOST_TT_AUX_REMOVE_PTR_REF_RANK_1_SPEC(T const volatile)                       \
+#   define NDNBOOST_TT_AUX_REMOVE_PTR_REF_RANK_2_SPEC(T)                               \
+    NDNBOOST_TT_AUX_REMOVE_PTR_REF_RANK_1_SPEC(T)                                      \
+    NDNBOOST_TT_AUX_REMOVE_PTR_REF_RANK_1_SPEC(T const)                                \
+    NDNBOOST_TT_AUX_REMOVE_PTR_REF_RANK_1_SPEC(T volatile)                             \
+    NDNBOOST_TT_AUX_REMOVE_PTR_REF_RANK_1_SPEC(T const volatile)                       \
     /**/
 
-#   define BOOST_TT_AUX_REMOVE_ALL_RANK_1_SPEC(T)                                   \
-    BOOST_TT_AUX_REMOVE_PTR_REF_RANK_2_SPEC(T)                                      \
-    BOOST_TT_AUX_REMOVE_CONST_VOLATILE_RANK1_SPEC(T)                                \
+#   define NDNBOOST_TT_AUX_REMOVE_ALL_RANK_1_SPEC(T)                                   \
+    NDNBOOST_TT_AUX_REMOVE_PTR_REF_RANK_2_SPEC(T)                                      \
+    NDNBOOST_TT_AUX_REMOVE_CONST_VOLATILE_RANK1_SPEC(T)                                \
     /**/
 
-#   define BOOST_TT_AUX_REMOVE_ALL_RANK_2_SPEC(T)                                   \
-    BOOST_TT_AUX_REMOVE_ALL_RANK_1_SPEC(T*)                                         \
-    BOOST_TT_AUX_REMOVE_ALL_RANK_1_SPEC(T const*)                                   \
-    BOOST_TT_AUX_REMOVE_ALL_RANK_1_SPEC(T volatile*)                                \
-    BOOST_TT_AUX_REMOVE_ALL_RANK_1_SPEC(T const volatile*)                          \
+#   define NDNBOOST_TT_AUX_REMOVE_ALL_RANK_2_SPEC(T)                                   \
+    NDNBOOST_TT_AUX_REMOVE_ALL_RANK_1_SPEC(T*)                                         \
+    NDNBOOST_TT_AUX_REMOVE_ALL_RANK_1_SPEC(T const*)                                   \
+    NDNBOOST_TT_AUX_REMOVE_ALL_RANK_1_SPEC(T volatile*)                                \
+    NDNBOOST_TT_AUX_REMOVE_ALL_RANK_1_SPEC(T const volatile*)                          \
     /**/
 
-#   define BOOST_TT_BROKEN_COMPILER_SPEC(T)                                         \
+#   define NDNBOOST_TT_BROKEN_COMPILER_SPEC(T)                                         \
     namespace ndnboost { namespace detail {                                            \
-    typedef invoke_BOOST_TT_BROKEN_COMPILER_SPEC_outside_all_namespaces             \
-      please_invoke_BOOST_TT_BROKEN_COMPILER_SPEC_outside_all_namespaces;           \
-    BOOST_TT_AUX_REMOVE_ALL_RANK_1_SPEC(T)                                          \
-    BOOST_TT_AUX_REMOVE_ALL_RANK_2_SPEC(T)                                          \
-    BOOST_TT_AUX_REMOVE_ALL_RANK_2_SPEC(T*)                                         \
-    BOOST_TT_AUX_REMOVE_ALL_RANK_2_SPEC(T const*)                                   \
-    BOOST_TT_AUX_REMOVE_ALL_RANK_2_SPEC(T volatile*)                                \
-    BOOST_TT_AUX_REMOVE_ALL_RANK_2_SPEC(T const volatile*)                          \
+    typedef invoke_NDNBOOST_TT_BROKEN_COMPILER_SPEC_outside_all_namespaces             \
+      please_invoke_NDNBOOST_TT_BROKEN_COMPILER_SPEC_outside_all_namespaces;           \
+    NDNBOOST_TT_AUX_REMOVE_ALL_RANK_1_SPEC(T)                                          \
+    NDNBOOST_TT_AUX_REMOVE_ALL_RANK_2_SPEC(T)                                          \
+    NDNBOOST_TT_AUX_REMOVE_ALL_RANK_2_SPEC(T*)                                         \
+    NDNBOOST_TT_AUX_REMOVE_ALL_RANK_2_SPEC(T const*)                                   \
+    NDNBOOST_TT_AUX_REMOVE_ALL_RANK_2_SPEC(T volatile*)                                \
+    NDNBOOST_TT_AUX_REMOVE_ALL_RANK_2_SPEC(T const volatile*)                          \
     }}                                                                              \
     /**/
 
 #   include <ndnboost/type_traits/detail/type_trait_undef.hpp>
 
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#endif // NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 
-BOOST_TT_BROKEN_COMPILER_SPEC(bool)
-BOOST_TT_BROKEN_COMPILER_SPEC(char)
-#ifndef BOOST_NO_INTRINSIC_WCHAR_T
-BOOST_TT_BROKEN_COMPILER_SPEC(wchar_t)
+NDNBOOST_TT_BROKEN_COMPILER_SPEC(bool)
+NDNBOOST_TT_BROKEN_COMPILER_SPEC(char)
+#ifndef NDNBOOST_NO_INTRINSIC_WCHAR_T
+NDNBOOST_TT_BROKEN_COMPILER_SPEC(wchar_t)
 #endif
-BOOST_TT_BROKEN_COMPILER_SPEC(signed char)
-BOOST_TT_BROKEN_COMPILER_SPEC(unsigned char)
-BOOST_TT_BROKEN_COMPILER_SPEC(signed short)
-BOOST_TT_BROKEN_COMPILER_SPEC(unsigned short)
-BOOST_TT_BROKEN_COMPILER_SPEC(signed int)
-BOOST_TT_BROKEN_COMPILER_SPEC(unsigned int)
-BOOST_TT_BROKEN_COMPILER_SPEC(signed long)
-BOOST_TT_BROKEN_COMPILER_SPEC(unsigned long)
-BOOST_TT_BROKEN_COMPILER_SPEC(float)
-BOOST_TT_BROKEN_COMPILER_SPEC(double)
-//BOOST_TT_BROKEN_COMPILER_SPEC(long double)
+NDNBOOST_TT_BROKEN_COMPILER_SPEC(signed char)
+NDNBOOST_TT_BROKEN_COMPILER_SPEC(unsigned char)
+NDNBOOST_TT_BROKEN_COMPILER_SPEC(signed short)
+NDNBOOST_TT_BROKEN_COMPILER_SPEC(unsigned short)
+NDNBOOST_TT_BROKEN_COMPILER_SPEC(signed int)
+NDNBOOST_TT_BROKEN_COMPILER_SPEC(unsigned int)
+NDNBOOST_TT_BROKEN_COMPILER_SPEC(signed long)
+NDNBOOST_TT_BROKEN_COMPILER_SPEC(unsigned long)
+NDNBOOST_TT_BROKEN_COMPILER_SPEC(float)
+NDNBOOST_TT_BROKEN_COMPILER_SPEC(double)
+//NDNBOOST_TT_BROKEN_COMPILER_SPEC(long double)
 
 // for backward compatibility
-#define BOOST_BROKEN_COMPILER_TYPE_TRAITS_SPECIALIZATION(T) \
-    BOOST_TT_BROKEN_COMPILER_SPEC(T) \
+#define NDNBOOST_BROKEN_COMPILER_TYPE_TRAITS_SPECIALIZATION(T) \
+    NDNBOOST_TT_BROKEN_COMPILER_SPEC(T) \
 /**/
 
-#endif // BOOST_TT_BROKEN_COMPILER_SPEC_HPP_INCLUDED
+#endif // NDNBOOST_TT_BROKEN_COMPILER_SPEC_HPP_INCLUDED
diff --git a/include/ndnboost/type_traits/common_type.hpp b/include/ndnboost/type_traits/common_type.hpp
index 0981526..c72c34e 100644
--- a/include/ndnboost/type_traits/common_type.hpp
+++ b/include/ndnboost/type_traits/common_type.hpp
@@ -6,46 +6,46 @@
 //  Distributed under the Boost Software License, Version 1.0.
 //  See http://www.boost.org/LICENSE_1_0.txt
 
-#ifndef BOOST_TYPE_TRAITS_COMMON_TYPE_HPP
-#define BOOST_TYPE_TRAITS_COMMON_TYPE_HPP
+#ifndef NDNBOOST_TYPE_TRAITS_COMMON_TYPE_HPP
+#define NDNBOOST_TYPE_TRAITS_COMMON_TYPE_HPP
 
 #include <ndnboost/config.hpp>
 
-#if defined(__SUNPRO_CC) && !defined(BOOST_COMMON_TYPE_DONT_USE_TYPEOF)
-#  define BOOST_COMMON_TYPE_DONT_USE_TYPEOF
+#if defined(__SUNPRO_CC) && !defined(NDNBOOST_COMMON_TYPE_DONT_USE_TYPEOF)
+#  define NDNBOOST_COMMON_TYPE_DONT_USE_TYPEOF
 #endif
-#if defined(__IBMCPP__) && !defined(BOOST_COMMON_TYPE_DONT_USE_TYPEOF)
-#  define BOOST_COMMON_TYPE_DONT_USE_TYPEOF
+#if defined(__IBMCPP__) && !defined(NDNBOOST_COMMON_TYPE_DONT_USE_TYPEOF)
+#  define NDNBOOST_COMMON_TYPE_DONT_USE_TYPEOF
 #endif
 
 //----------------------------------------------------------------------------//
-#if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && !defined(BOOST_COMMON_TYPE_ARITY)
-#define BOOST_COMMON_TYPE_ARITY 3
+#if defined(NDNBOOST_NO_CXX11_VARIADIC_TEMPLATES) && !defined(NDNBOOST_COMMON_TYPE_ARITY)
+#define NDNBOOST_COMMON_TYPE_ARITY 3
 #endif
 
 //----------------------------------------------------------------------------//
-#if defined(BOOST_NO_CXX11_DECLTYPE) && !defined(BOOST_COMMON_TYPE_DONT_USE_TYPEOF)
+#if defined(NDNBOOST_NO_CXX11_DECLTYPE) && !defined(NDNBOOST_COMMON_TYPE_DONT_USE_TYPEOF)
 #include <ndnboost/typeof/typeof.hpp>   // boost wonders never cease!
 #endif
 
 //----------------------------------------------------------------------------//
-#ifndef BOOST_NO_CXX11_STATIC_ASSERT
-#define BOOST_COMMON_TYPE_STATIC_ASSERT(CND, MSG, TYPES) static_assert(CND,MSG)
-#elif defined(BOOST_COMMON_TYPE_USES_MPL_ASSERT)
+#ifndef NDNBOOST_NO_CXX11_STATIC_ASSERT
+#define NDNBOOST_COMMON_TYPE_STATIC_ASSERT(CND, MSG, TYPES) static_assert(CND,MSG)
+#elif defined(NDNBOOST_COMMON_TYPE_USES_MPL_ASSERT)
 #include <ndnboost/mpl/assert.hpp>
 #include <ndnboost/mpl/bool.hpp>
-#define BOOST_COMMON_TYPE_STATIC_ASSERT(CND, MSG, TYPES)                                 \
-    BOOST_MPL_ASSERT_MSG(ndnboost::mpl::bool_< (CND) >::type::value, MSG, TYPES)
+#define NDNBOOST_COMMON_TYPE_STATIC_ASSERT(CND, MSG, TYPES)                                 \
+    NDNBOOST_MPL_ASSERT_MSG(ndnboost::mpl::bool_< (CND) >::type::value, MSG, TYPES)
 #else
 #include <ndnboost/static_assert.hpp>
-#define BOOST_COMMON_TYPE_STATIC_ASSERT(CND, MSG, TYPES) BOOST_STATIC_ASSERT(CND)
+#define NDNBOOST_COMMON_TYPE_STATIC_ASSERT(CND, MSG, TYPES) NDNBOOST_STATIC_ASSERT(CND)
 #endif
 
-#if !defined(BOOST_NO_CXX11_STATIC_ASSERT) || !defined(BOOST_COMMON_TYPE_USES_MPL_ASSERT)
-#define BOOST_COMMON_TYPE_MUST_BE_A_COMPLE_TYPE "must be complete type"
+#if !defined(NDNBOOST_NO_CXX11_STATIC_ASSERT) || !defined(NDNBOOST_COMMON_TYPE_USES_MPL_ASSERT)
+#define NDNBOOST_COMMON_TYPE_MUST_BE_A_COMPLE_TYPE "must be complete type"
 #endif
 
-#if defined(BOOST_NO_CXX11_DECLTYPE) && defined(BOOST_COMMON_TYPE_DONT_USE_TYPEOF)
+#if defined(NDNBOOST_NO_CXX11_DECLTYPE) && defined(NDNBOOST_COMMON_TYPE_DONT_USE_TYPEOF)
 #include <ndnboost/type_traits/detail/common_type_imp.hpp>
 #include <ndnboost/type_traits/remove_cv.hpp>
 #endif
@@ -65,7 +65,7 @@
 namespace ndnboost {
 
 // prototype
-#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
+#if !defined(NDNBOOST_NO_CXX11_VARIADIC_TEMPLATES)
     template<typename... T>
     struct common_type;
 #else // or no specialization
@@ -80,14 +80,14 @@
 
 // 1 arg
     template<typename T>
-#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
+#if !defined(NDNBOOST_NO_CXX11_VARIADIC_TEMPLATES)
     struct common_type<T>
 #else
     struct common_type<T, void, void>
 
 #endif
     {
-        BOOST_COMMON_TYPE_STATIC_ASSERT(sizeof(T) > 0, BOOST_COMMON_TYPE_MUST_BE_A_COMPLE_TYPE, (T));
+        NDNBOOST_COMMON_TYPE_STATIC_ASSERT(sizeof(T) > 0, NDNBOOST_COMMON_TYPE_MUST_BE_A_COMPLE_TYPE, (T));
     public:
         typedef T type;
     };
@@ -99,17 +99,17 @@
     struct common_type_2
     {
     private:
-        BOOST_COMMON_TYPE_STATIC_ASSERT(sizeof(T) > 0, BOOST_COMMON_TYPE_MUST_BE_A_COMPLE_TYPE, (T));
-        BOOST_COMMON_TYPE_STATIC_ASSERT(sizeof(U) > 0, BOOST_COMMON_TYPE_MUST_BE_A_COMPLE_TYPE, (U));
+        NDNBOOST_COMMON_TYPE_STATIC_ASSERT(sizeof(T) > 0, NDNBOOST_COMMON_TYPE_MUST_BE_A_COMPLE_TYPE, (T));
+        NDNBOOST_COMMON_TYPE_STATIC_ASSERT(sizeof(U) > 0, NDNBOOST_COMMON_TYPE_MUST_BE_A_COMPLE_TYPE, (U));
         static bool declval_bool();  // workaround gcc bug; not required by std
         static typename add_rvalue_reference<T>::type declval_T();  // workaround gcc bug; not required by std
         static typename add_rvalue_reference<U>::type declval_U();  // workaround gcc bug; not required by std
         static typename add_rvalue_reference<bool>::type declval_b();  
 
-#if !defined(BOOST_NO_CXX11_DECLTYPE)
+#if !defined(NDNBOOST_NO_CXX11_DECLTYPE)
     public:
         typedef decltype(declval<bool>() ? declval<T>() : declval<U>()) type;
-#elif defined(BOOST_COMMON_TYPE_DONT_USE_TYPEOF)
+#elif defined(NDNBOOST_COMMON_TYPE_DONT_USE_TYPEOF)
     public:
     typedef typename detail_type_traits_common_type::common_type_impl<
           typename remove_cv<T>::type,
@@ -117,7 +117,7 @@
       >::type type;
 #else
     public:
-        typedef BOOST_TYPEOF_TPL(declval_b() ? declval_T() : declval_U()) type;
+        typedef NDNBOOST_TYPEOF_TPL(declval_b() ? declval_T() : declval_U()) type;
 #endif
 
 #if defined(__GNUC__) && __GNUC__ == 3 && (__GNUC_MINOR__ == 2 || __GNUC_MINOR__ == 3)
@@ -133,7 +133,7 @@
     };
     }
 
-#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
+#if !defined(NDNBOOST_NO_CXX11_VARIADIC_TEMPLATES)
     template <class T, class U>
     struct common_type<T, U>
 #else
@@ -145,7 +145,7 @@
 
 
 // 3 or more args
-#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
+#if !defined(NDNBOOST_NO_CXX11_VARIADIC_TEMPLATES)
     template<typename T, typename U, typename... V>
     struct common_type<T, U, V...> {
     public:
@@ -154,4 +154,4 @@
 #endif
 }  // namespace ndnboost
 
-#endif  // BOOST_TYPE_TRAITS_COMMON_TYPE_HPP
+#endif  // NDNBOOST_TYPE_TRAITS_COMMON_TYPE_HPP
diff --git a/include/ndnboost/type_traits/composite_traits.hpp b/include/ndnboost/type_traits/composite_traits.hpp
index 6be9467..0c5b5e8 100644
--- a/include/ndnboost/type_traits/composite_traits.hpp
+++ b/include/ndnboost/type_traits/composite_traits.hpp
@@ -10,8 +10,8 @@
 //  is_array, is_pointer, is_reference, is_member_pointer, is_enum, is_union.
 //
 
-#ifndef BOOST_TT_COMPOSITE_TRAITS_HPP_INCLUDED
-#define BOOST_TT_COMPOSITE_TRAITS_HPP_INCLUDED
+#ifndef NDNBOOST_TT_COMPOSITE_TRAITS_HPP_INCLUDED
+#define NDNBOOST_TT_COMPOSITE_TRAITS_HPP_INCLUDED
 
 #include <ndnboost/type_traits/is_array.hpp>
 #include <ndnboost/type_traits/is_enum.hpp>
@@ -21,7 +21,7 @@
 #include <ndnboost/type_traits/is_reference.hpp>
 #include <ndnboost/type_traits/is_union.hpp>
 
-#endif // BOOST_TT_COMPOSITE_TRAITS_HPP_INCLUDED
+#endif // NDNBOOST_TT_COMPOSITE_TRAITS_HPP_INCLUDED
 
 
 
diff --git a/include/ndnboost/type_traits/conditional.hpp b/include/ndnboost/type_traits/conditional.hpp
index 6d2f45c..91a9ce0 100644
--- a/include/ndnboost/type_traits/conditional.hpp
+++ b/include/ndnboost/type_traits/conditional.hpp
@@ -7,8 +7,8 @@
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
 
-#ifndef BOOST_TT_CONDITIONAL_HPP_INCLUDED
-#define BOOST_TT_CONDITIONAL_HPP_INCLUDED
+#ifndef NDNBOOST_TT_CONDITIONAL_HPP_INCLUDED
+#define NDNBOOST_TT_CONDITIONAL_HPP_INCLUDED
 
 #include <ndnboost/mpl/if.hpp>
 
@@ -22,4 +22,4 @@
 } // namespace ndnboost
 
 
-#endif // BOOST_TT_CONDITIONAL_HPP_INCLUDED
+#endif // NDNBOOST_TT_CONDITIONAL_HPP_INCLUDED
diff --git a/include/ndnboost/type_traits/config.hpp b/include/ndnboost/type_traits/config.hpp
index 05fc352..8effeec 100644
--- a/include/ndnboost/type_traits/config.hpp
+++ b/include/ndnboost/type_traits/config.hpp
@@ -6,10 +6,10 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#ifndef BOOST_TT_CONFIG_HPP_INCLUDED
-#define BOOST_TT_CONFIG_HPP_INCLUDED
+#ifndef NDNBOOST_TT_CONFIG_HPP_INCLUDED
+#define NDNBOOST_TT_CONFIG_HPP_INCLUDED
 
-#ifndef BOOST_CONFIG_HPP
+#ifndef NDNBOOST_CONFIG_HPP
 #include <ndnboost/config.hpp>
 #endif
 
@@ -20,57 +20,57 @@
 // it needs to be declared __cdecl to suppress compiler
 // warnings from MS and Borland compilers (this *must*
 // appear before we include is_same.hpp below):
-#if defined(BOOST_MSVC) || (defined(__BORLANDC__) && !defined(BOOST_DISABLE_WIN32))
-#   define BOOST_TT_DECL __cdecl
+#if defined(NDNBOOST_MSVC) || (defined(__BORLANDC__) && !defined(NDNBOOST_DISABLE_WIN32))
+#   define NDNBOOST_TT_DECL __cdecl
 #else
-#   define BOOST_TT_DECL /**/
+#   define NDNBOOST_TT_DECL /**/
 #endif
 
-# if (BOOST_WORKAROUND(__MWERKS__, < 0x3000)                         \
-    || BOOST_WORKAROUND(BOOST_MSVC, <= 1301)                        \
-    || !defined(__EDG_VERSION__) && BOOST_WORKAROUND(__GNUC__, < 3) \
-    || BOOST_WORKAROUND(__IBMCPP__, < 600 )                         \
-    || BOOST_WORKAROUND(__BORLANDC__, < 0x5A0)                      \
+# if (NDNBOOST_WORKAROUND(__MWERKS__, < 0x3000)                         \
+    || NDNBOOST_WORKAROUND(NDNBOOST_MSVC, <= 1301)                        \
+    || !defined(__EDG_VERSION__) && NDNBOOST_WORKAROUND(__GNUC__, < 3) \
+    || NDNBOOST_WORKAROUND(__IBMCPP__, < 600 )                         \
+    || NDNBOOST_WORKAROUND(__BORLANDC__, < 0x5A0)                      \
     || defined(__ghs)                                               \
-    || BOOST_WORKAROUND(__HP_aCC, < 60700)           \
-    || BOOST_WORKAROUND(MPW_CPLUS, BOOST_TESTED_AT(0x890))          \
-    || BOOST_WORKAROUND(__SUNPRO_CC, BOOST_TESTED_AT(0x580)))       \
-    && defined(BOOST_NO_IS_ABSTRACT)
+    || NDNBOOST_WORKAROUND(__HP_aCC, < 60700)           \
+    || NDNBOOST_WORKAROUND(MPW_CPLUS, NDNBOOST_TESTED_AT(0x890))          \
+    || NDNBOOST_WORKAROUND(__SUNPRO_CC, NDNBOOST_TESTED_AT(0x580)))       \
+    && defined(NDNBOOST_NO_IS_ABSTRACT)
 
-#   define BOOST_TT_NO_CONFORMING_IS_CLASS_IMPLEMENTATION 1
+#   define NDNBOOST_TT_NO_CONFORMING_IS_CLASS_IMPLEMENTATION 1
 
 #endif
 
-#ifndef BOOST_TT_NO_CONFORMING_IS_CLASS_IMPLEMENTATION
-# define BOOST_TT_HAS_CONFORMING_IS_CLASS_IMPLEMENTATION 1
+#ifndef NDNBOOST_TT_NO_CONFORMING_IS_CLASS_IMPLEMENTATION
+# define NDNBOOST_TT_HAS_CONFORMING_IS_CLASS_IMPLEMENTATION 1
 #endif
 
 //
-// Define BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING 
+// Define NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING 
 // when we can't test for function types with elipsis:
 //
-#if BOOST_WORKAROUND(__GNUC__, < 3)
-#  define BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+#if NDNBOOST_WORKAROUND(__GNUC__, < 3)
+#  define NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 #endif
 
 //
-// define BOOST_TT_TEST_MS_FUNC_SIGS
+// define NDNBOOST_TT_TEST_MS_FUNC_SIGS
 // when we want to test __stdcall etc function types with is_function etc
 // (Note, does not work with Borland, even though it does support __stdcall etc):
 //
 #if defined(_MSC_EXTENSIONS) && !defined(__BORLANDC__)
-#  define BOOST_TT_TEST_MS_FUNC_SIGS
+#  define NDNBOOST_TT_TEST_MS_FUNC_SIGS
 #endif
 
 //
-// define BOOST_TT_NO_CV_FUNC_TEST
+// define NDNBOOST_TT_NO_CV_FUNC_TEST
 // if tests for cv-qualified member functions don't 
 // work in is_member_function_pointer
 //
-#if BOOST_WORKAROUND(__MWERKS__, < 0x3000) || BOOST_WORKAROUND(__IBMCPP__, <= 600)
-#  define BOOST_TT_NO_CV_FUNC_TEST
+#if NDNBOOST_WORKAROUND(__MWERKS__, < 0x3000) || NDNBOOST_WORKAROUND(__IBMCPP__, <= 600)
+#  define NDNBOOST_TT_NO_CV_FUNC_TEST
 #endif
 
-#endif // BOOST_TT_CONFIG_HPP_INCLUDED
+#endif // NDNBOOST_TT_CONFIG_HPP_INCLUDED
 
 
diff --git a/include/ndnboost/type_traits/conversion_traits.hpp b/include/ndnboost/type_traits/conversion_traits.hpp
index 589c617..d3bb165 100644
--- a/include/ndnboost/type_traits/conversion_traits.hpp
+++ b/include/ndnboost/type_traits/conversion_traits.hpp
@@ -9,9 +9,9 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#ifndef BOOST_TT_CONVERSION_TRAITS_HPP_INCLUDED
-#define BOOST_TT_CONVERSION_TRAITS_HPP_INCLUDED
+#ifndef NDNBOOST_TT_CONVERSION_TRAITS_HPP_INCLUDED
+#define NDNBOOST_TT_CONVERSION_TRAITS_HPP_INCLUDED
 
 #include <ndnboost/type_traits/is_convertible.hpp>
 
-#endif // BOOST_TT_CONVERSION_TRAITS_HPP_INCLUDED
+#endif // NDNBOOST_TT_CONVERSION_TRAITS_HPP_INCLUDED
diff --git a/include/ndnboost/type_traits/cv_traits.hpp b/include/ndnboost/type_traits/cv_traits.hpp
index f6840b8..1fba149 100644
--- a/include/ndnboost/type_traits/cv_traits.hpp
+++ b/include/ndnboost/type_traits/cv_traits.hpp
@@ -9,8 +9,8 @@
 //  defines traits classes for cv-qualified types:
 //  is_const, is_volatile, remove_const, remove_volatile, remove_cv.
 
-#ifndef BOOST_TT_CV_TRAITS_HPP_INCLUDED
-#define BOOST_TT_CV_TRAITS_HPP_INCLUDED
+#ifndef NDNBOOST_TT_CV_TRAITS_HPP_INCLUDED
+#define NDNBOOST_TT_CV_TRAITS_HPP_INCLUDED
 
 #include <ndnboost/type_traits/add_const.hpp>
 #include <ndnboost/type_traits/add_volatile.hpp>
@@ -21,4 +21,4 @@
 #include <ndnboost/type_traits/remove_volatile.hpp>
 #include <ndnboost/type_traits/remove_cv.hpp>
 
-#endif // BOOST_TT_CV_TRAITS_HPP_INCLUDED
+#endif // NDNBOOST_TT_CV_TRAITS_HPP_INCLUDED
diff --git a/include/ndnboost/type_traits/decay.hpp b/include/ndnboost/type_traits/decay.hpp
index 442367e..7e736dc 100644
--- a/include/ndnboost/type_traits/decay.hpp
+++ b/include/ndnboost/type_traits/decay.hpp
@@ -6,8 +6,8 @@
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
 
-#ifndef BOOST_TT_DECAY_HPP_INCLUDED
-#define BOOST_TT_DECAY_HPP_INCLUDED
+#ifndef NDNBOOST_TT_DECAY_HPP_INCLUDED
+#define NDNBOOST_TT_DECAY_HPP_INCLUDED
 
 #include <ndnboost/type_traits/config.hpp>
 #include <ndnboost/type_traits/is_array.hpp>
@@ -25,12 +25,12 @@
     struct decay
     {
     private:
-        typedef BOOST_DEDUCED_TYPENAME remove_reference<T>::type Ty;
+        typedef NDNBOOST_DEDUCED_TYPENAME remove_reference<T>::type Ty;
     public:
-        typedef BOOST_DEDUCED_TYPENAME mpl::eval_if< 
+        typedef NDNBOOST_DEDUCED_TYPENAME mpl::eval_if< 
             is_array<Ty>,
-            mpl::identity<BOOST_DEDUCED_TYPENAME remove_bounds<Ty>::type*>,
-            BOOST_DEDUCED_TYPENAME mpl::eval_if< 
+            mpl::identity<NDNBOOST_DEDUCED_TYPENAME remove_bounds<Ty>::type*>,
+            NDNBOOST_DEDUCED_TYPENAME mpl::eval_if< 
                 is_function<Ty>,
                 add_pointer<Ty>,
                 mpl::identity<Ty>
@@ -41,4 +41,4 @@
 } // namespace ndnboost
 
 
-#endif // BOOST_TT_DECAY_HPP_INCLUDED
+#endif // NDNBOOST_TT_DECAY_HPP_INCLUDED
diff --git a/include/ndnboost/type_traits/detail/bool_trait_def.hpp b/include/ndnboost/type_traits/detail/bool_trait_def.hpp
index a80e999..568847e 100644
--- a/include/ndnboost/type_traits/detail/bool_trait_def.hpp
+++ b/include/ndnboost/type_traits/detail/bool_trait_def.hpp
@@ -22,175 +22,175 @@
 // cleaning up afterwards: so we'd better undef the macros just in case 
 // they've been defined already....
 //
-#ifdef BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL
-#undef BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL
-#undef BOOST_TT_AUX_BOOL_C_BASE
-#undef BOOST_TT_AUX_BOOL_TRAIT_DEF1
-#undef BOOST_TT_AUX_BOOL_TRAIT_DEF2
-#undef BOOST_TT_AUX_BOOL_TRAIT_SPEC1
-#undef BOOST_TT_AUX_BOOL_TRAIT_SPEC2
-#undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1
-#undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2
-#undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1
-#undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2
-#undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1
-#undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2
-#undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1
-#undef BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1
+#ifdef NDNBOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL
+#undef NDNBOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL
+#undef NDNBOOST_TT_AUX_BOOL_C_BASE
+#undef NDNBOOST_TT_AUX_BOOL_TRAIT_DEF1
+#undef NDNBOOST_TT_AUX_BOOL_TRAIT_DEF2
+#undef NDNBOOST_TT_AUX_BOOL_TRAIT_SPEC1
+#undef NDNBOOST_TT_AUX_BOOL_TRAIT_SPEC2
+#undef NDNBOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1
+#undef NDNBOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2
+#undef NDNBOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1
+#undef NDNBOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2
+#undef NDNBOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1
+#undef NDNBOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2
+#undef NDNBOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1
+#undef NDNBOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1
 #endif
 
 #if defined(__SUNPRO_CC) && (__SUNPRO_CC < 0x570)
-#   define BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) \
+#   define NDNBOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) \
     typedef ::ndnboost::integral_constant<bool,C> type; \
     enum { value = type::value }; \
     /**/
-#   define BOOST_TT_AUX_BOOL_C_BASE(C)
+#   define NDNBOOST_TT_AUX_BOOL_C_BASE(C)
 
-#elif defined(BOOST_MSVC) && BOOST_MSVC < 1300
+#elif defined(NDNBOOST_MSVC) && NDNBOOST_MSVC < 1300
 
-#   define BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) \
+#   define NDNBOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) \
     typedef ::ndnboost::integral_constant<bool,C> base_; \
     using base_::value; \
     /**/
 
 #endif
 
-#ifndef BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL
-#   define BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) /**/
+#ifndef NDNBOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL
+#   define NDNBOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) /**/
 #endif
 
-#ifndef BOOST_TT_AUX_BOOL_C_BASE
-#   define BOOST_TT_AUX_BOOL_C_BASE(C) : public ::ndnboost::integral_constant<bool,C>
+#ifndef NDNBOOST_TT_AUX_BOOL_C_BASE
+#   define NDNBOOST_TT_AUX_BOOL_C_BASE(C) : public ::ndnboost::integral_constant<bool,C>
 #endif 
 
 
-#define BOOST_TT_AUX_BOOL_TRAIT_DEF1(trait,T,C) \
+#define NDNBOOST_TT_AUX_BOOL_TRAIT_DEF1(trait,T,C) \
 template< typename T > struct trait \
-    BOOST_TT_AUX_BOOL_C_BASE(C) \
+    NDNBOOST_TT_AUX_BOOL_C_BASE(C) \
 { \
 public:\
-    BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) \
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,trait,(T)) \
+    NDNBOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) \
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(1,trait,(T)) \
 }; \
 \
-BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1,trait) \
+NDNBOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1,trait) \
 /**/
 
 
-#define BOOST_TT_AUX_BOOL_TRAIT_DEF2(trait,T1,T2,C) \
+#define NDNBOOST_TT_AUX_BOOL_TRAIT_DEF2(trait,T1,T2,C) \
 template< typename T1, typename T2 > struct trait \
-    BOOST_TT_AUX_BOOL_C_BASE(C) \
+    NDNBOOST_TT_AUX_BOOL_C_BASE(C) \
 { \
 public:\
-    BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) \
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2,trait,(T1,T2)) \
+    NDNBOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) \
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2,trait,(T1,T2)) \
 }; \
 \
-BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(2,trait) \
+NDNBOOST_TT_AUX_TEMPLATE_ARITY_SPEC(2,trait) \
 /**/
 
-#define BOOST_TT_AUX_BOOL_TRAIT_DEF3(trait,T1,T2,T3,C) \
+#define NDNBOOST_TT_AUX_BOOL_TRAIT_DEF3(trait,T1,T2,T3,C) \
 template< typename T1, typename T2, typename T3 > struct trait \
-    BOOST_TT_AUX_BOOL_C_BASE(C) \
+    NDNBOOST_TT_AUX_BOOL_C_BASE(C) \
 { \
 public:\
-    BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) \
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(3,trait,(T1,T2,T3)) \
+    NDNBOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) \
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(3,trait,(T1,T2,T3)) \
 }; \
 \
-BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(3,trait) \
+NDNBOOST_TT_AUX_TEMPLATE_ARITY_SPEC(3,trait) \
 /**/
 
-#define BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,C) \
+#define NDNBOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,C) \
 template<> struct trait< sp > \
-    BOOST_TT_AUX_BOOL_C_BASE(C) \
+    NDNBOOST_TT_AUX_BOOL_C_BASE(C) \
 { \
 public:\
-    BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) \
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(1,trait,(sp)) \
+    NDNBOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) \
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(1,trait,(sp)) \
 }; \
 /**/
 
-#define BOOST_TT_AUX_BOOL_TRAIT_SPEC2(trait,sp1,sp2,C) \
+#define NDNBOOST_TT_AUX_BOOL_TRAIT_SPEC2(trait,sp1,sp2,C) \
 template<> struct trait< sp1,sp2 > \
-    BOOST_TT_AUX_BOOL_C_BASE(C) \
+    NDNBOOST_TT_AUX_BOOL_C_BASE(C) \
 { \
 public:\
-    BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) \
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) \
+    NDNBOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) \
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) \
 }; \
 /**/
 
-#define BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(trait,sp,C) \
+#define NDNBOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(trait,sp,C) \
 template<> struct trait##_impl< sp > \
 { \
 public:\
-    BOOST_STATIC_CONSTANT(bool, value = (C)); \
+    NDNBOOST_STATIC_CONSTANT(bool, value = (C)); \
 }; \
 /**/
 
-#define BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2(trait,sp1,sp2,C) \
+#define NDNBOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2(trait,sp1,sp2,C) \
 template<> struct trait##_impl< sp1,sp2 > \
 { \
 public:\
-    BOOST_STATIC_CONSTANT(bool, value = (C)); \
+    NDNBOOST_STATIC_CONSTANT(bool, value = (C)); \
 }; \
 /**/
 
-#define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(param,trait,sp,C) \
+#define NDNBOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(param,trait,sp,C) \
 template< param > struct trait< sp > \
-    BOOST_TT_AUX_BOOL_C_BASE(C) \
+    NDNBOOST_TT_AUX_BOOL_C_BASE(C) \
 { \
 public:\
-    BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) \
+    NDNBOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) \
 }; \
 /**/
 
-#define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(param1,param2,trait,sp,C) \
+#define NDNBOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(param1,param2,trait,sp,C) \
 template< param1, param2 > struct trait< sp > \
-    BOOST_TT_AUX_BOOL_C_BASE(C) \
+    NDNBOOST_TT_AUX_BOOL_C_BASE(C) \
 { \
 public:\
-    BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) \
+    NDNBOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) \
 }; \
 /**/
 
-#define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) \
+#define NDNBOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) \
 template< param > struct trait< sp1,sp2 > \
-    BOOST_TT_AUX_BOOL_C_BASE(C) \
+    NDNBOOST_TT_AUX_BOOL_C_BASE(C) \
 { \
 public:\
-    BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) \
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) \
+    NDNBOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) \
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) \
 }; \
 /**/
 
-#define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(param1,param2,trait,sp1,sp2,C) \
+#define NDNBOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(param1,param2,trait,sp1,sp2,C) \
 template< param1, param2 > struct trait< sp1,sp2 > \
-    BOOST_TT_AUX_BOOL_C_BASE(C) \
+    NDNBOOST_TT_AUX_BOOL_C_BASE(C) \
 { \
 public:\
-    BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) \
+    NDNBOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) \
 }; \
 /**/
 
-#define BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) \
+#define NDNBOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) \
 template< param > struct trait##_impl< sp1,sp2 > \
 { \
 public:\
-    BOOST_STATIC_CONSTANT(bool, value = (C)); \
+    NDNBOOST_STATIC_CONSTANT(bool, value = (C)); \
 }; \
 /**/
 
-#ifndef BOOST_NO_CV_SPECIALIZATIONS
-#   define BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(trait,sp,value) \
-    BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,value) \
-    BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const,value) \
-    BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp volatile,value) \
-    BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const volatile,value) \
+#ifndef NDNBOOST_NO_CV_SPECIALIZATIONS
+#   define NDNBOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(trait,sp,value) \
+    NDNBOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,value) \
+    NDNBOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const,value) \
+    NDNBOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp volatile,value) \
+    NDNBOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const volatile,value) \
     /**/
 #else
-#   define BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(trait,sp,value) \
-    BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,value) \
+#   define NDNBOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(trait,sp,value) \
+    NDNBOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,value) \
     /**/
 #endif
diff --git a/include/ndnboost/type_traits/detail/bool_trait_undef.hpp b/include/ndnboost/type_traits/detail/bool_trait_undef.hpp
index 008febe..24bd220 100644
--- a/include/ndnboost/type_traits/detail/bool_trait_undef.hpp
+++ b/include/ndnboost/type_traits/detail/bool_trait_undef.hpp
@@ -11,18 +11,18 @@
 // $Date: 2011-10-09 15:28:33 -0700 (Sun, 09 Oct 2011) $
 // $Revision: 74865 $
 
-#undef BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL
-#undef BOOST_TT_AUX_BOOL_C_BASE
-#undef BOOST_TT_AUX_BOOL_TRAIT_DEF1
-#undef BOOST_TT_AUX_BOOL_TRAIT_DEF2
-#undef BOOST_TT_AUX_BOOL_TRAIT_DEF3
-#undef BOOST_TT_AUX_BOOL_TRAIT_SPEC1
-#undef BOOST_TT_AUX_BOOL_TRAIT_SPEC2
-#undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1
-#undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2
-#undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1
-#undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2
-#undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1
-#undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2
-#undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1
-#undef BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1
+#undef NDNBOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL
+#undef NDNBOOST_TT_AUX_BOOL_C_BASE
+#undef NDNBOOST_TT_AUX_BOOL_TRAIT_DEF1
+#undef NDNBOOST_TT_AUX_BOOL_TRAIT_DEF2
+#undef NDNBOOST_TT_AUX_BOOL_TRAIT_DEF3
+#undef NDNBOOST_TT_AUX_BOOL_TRAIT_SPEC1
+#undef NDNBOOST_TT_AUX_BOOL_TRAIT_SPEC2
+#undef NDNBOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1
+#undef NDNBOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2
+#undef NDNBOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1
+#undef NDNBOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2
+#undef NDNBOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1
+#undef NDNBOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2
+#undef NDNBOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1
+#undef NDNBOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1
diff --git a/include/ndnboost/type_traits/detail/common_type_imp.hpp b/include/ndnboost/type_traits/detail/common_type_imp.hpp
index 8dd12b4..70dedf9 100644
--- a/include/ndnboost/type_traits/detail/common_type_imp.hpp
+++ b/include/ndnboost/type_traits/detail/common_type_imp.hpp
@@ -16,8 +16,8 @@
  * Note that this evaluates to void if one or both of T and U is void.
  ******************************************************************************/
 
-#ifndef BOOST_TYPE_TRAITS_DETAIL_COMMON_TYPE_IMP_HPP
-#define BOOST_TYPE_TRAITS_DETAIL_COMMON_TYPE_IMP_HPP
+#ifndef NDNBOOST_TYPE_TRAITS_DETAIL_COMMON_TYPE_IMP_HPP
+#define NDNBOOST_TYPE_TRAITS_DETAIL_COMMON_TYPE_IMP_HPP
 
 #include <cstddef>
 
@@ -124,8 +124,8 @@
 template< std::size_t N > struct sizeof_t { char _dummy[N]; };
 typedef sizeof_t<1> yes_type;
 typedef sizeof_t<2> no_type;
-BOOST_MPL_ASSERT_RELATION( sizeof( yes_type ), ==, 1 );
-BOOST_MPL_ASSERT_RELATION( sizeof( no_type ), ==, 2 );
+NDNBOOST_MPL_ASSERT_RELATION( sizeof( yes_type ), ==, 1 );
+NDNBOOST_MPL_ASSERT_RELATION( sizeof( no_type ), ==, 2 );
 
 /*******************************************************************************
  * rvalue_test(T&) -> no_type
@@ -329,5 +329,5 @@
 
 } // namespace ndnboost
 
-#endif // BOOST_TYPE_TRAITS_DETAIL_COMMON_TYPE_HPP
+#endif // NDNBOOST_TYPE_TRAITS_DETAIL_COMMON_TYPE_HPP
 
diff --git a/include/ndnboost/type_traits/detail/cv_traits_impl.hpp b/include/ndnboost/type_traits/detail/cv_traits_impl.hpp
index 5f1dd5e..7574e5b 100644
--- a/include/ndnboost/type_traits/detail/cv_traits_impl.hpp
+++ b/include/ndnboost/type_traits/detail/cv_traits_impl.hpp
@@ -8,18 +8,18 @@
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
 
-#ifndef BOOST_TT_DETAIL_CV_TRAITS_IMPL_HPP_INCLUDED
-#define BOOST_TT_DETAIL_CV_TRAITS_IMPL_HPP_INCLUDED
+#ifndef NDNBOOST_TT_DETAIL_CV_TRAITS_IMPL_HPP_INCLUDED
+#define NDNBOOST_TT_DETAIL_CV_TRAITS_IMPL_HPP_INCLUDED
 
 #include <ndnboost/config.hpp>
 #include <ndnboost/detail/workaround.hpp>
 
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#ifndef NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 
 // implementation helper:
 
 
-#if !(BOOST_WORKAROUND(__GNUC__,== 3) && BOOST_WORKAROUND(__GNUC_MINOR__, <= 2))
+#if !(NDNBOOST_WORKAROUND(__GNUC__,== 3) && NDNBOOST_WORKAROUND(__GNUC_MINOR__, <= 2))
 namespace ndnboost {
 namespace detail {
 #else
@@ -34,36 +34,36 @@
 template <typename T>
 struct cv_traits_imp<T*>
 {
-    BOOST_STATIC_CONSTANT(bool, is_const = false);
-    BOOST_STATIC_CONSTANT(bool, is_volatile = false);
+    NDNBOOST_STATIC_CONSTANT(bool, is_const = false);
+    NDNBOOST_STATIC_CONSTANT(bool, is_volatile = false);
     typedef T unqualified_type;
 };
 
 template <typename T>
 struct cv_traits_imp<const T*>
 {
-    BOOST_STATIC_CONSTANT(bool, is_const = true);
-    BOOST_STATIC_CONSTANT(bool, is_volatile = false);
+    NDNBOOST_STATIC_CONSTANT(bool, is_const = true);
+    NDNBOOST_STATIC_CONSTANT(bool, is_volatile = false);
     typedef T unqualified_type;
 };
 
 template <typename T>
 struct cv_traits_imp<volatile T*>
 {
-    BOOST_STATIC_CONSTANT(bool, is_const = false);
-    BOOST_STATIC_CONSTANT(bool, is_volatile = true);
+    NDNBOOST_STATIC_CONSTANT(bool, is_const = false);
+    NDNBOOST_STATIC_CONSTANT(bool, is_volatile = true);
     typedef T unqualified_type;
 };
 
 template <typename T>
 struct cv_traits_imp<const volatile T*>
 {
-    BOOST_STATIC_CONSTANT(bool, is_const = true);
-    BOOST_STATIC_CONSTANT(bool, is_volatile = true);
+    NDNBOOST_STATIC_CONSTANT(bool, is_const = true);
+    NDNBOOST_STATIC_CONSTANT(bool, is_volatile = true);
     typedef T unqualified_type;
 };
 
-#if BOOST_WORKAROUND(__GNUC__,== 3) && BOOST_WORKAROUND(__GNUC_MINOR__, <= 2)
+#if NDNBOOST_WORKAROUND(__GNUC__,== 3) && NDNBOOST_WORKAROUND(__GNUC_MINOR__, <= 2)
 // We have to exclude function pointers 
 // (see http://gcc.gnu.org/bugzilla/show_bug.cgi?8503)
 yes_type mini_funcptr_tester(...);
@@ -82,8 +82,8 @@
 // Functions are never cv-qualified
 template <typename T> struct cv_traits_imp<T*,1>
 {
-    BOOST_STATIC_CONSTANT(bool, is_const = false);
-    BOOST_STATIC_CONSTANT(bool, is_volatile = false);
+    NDNBOOST_STATIC_CONSTANT(bool, is_const = false);
+    NDNBOOST_STATIC_CONSTANT(bool, is_volatile = false);
     typedef T unqualified_type;
 };
 
@@ -92,6 +92,6 @@
 } // namespace detail
 } // namespace ndnboost 
 
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#endif // NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 
-#endif // BOOST_TT_DETAIL_CV_TRAITS_IMPL_HPP_INCLUDED
+#endif // NDNBOOST_TT_DETAIL_CV_TRAITS_IMPL_HPP_INCLUDED
diff --git a/include/ndnboost/type_traits/detail/false_result.hpp b/include/ndnboost/type_traits/detail/false_result.hpp
index d0bd864..d4bc23b 100644
--- a/include/ndnboost/type_traits/detail/false_result.hpp
+++ b/include/ndnboost/type_traits/detail/false_result.hpp
@@ -6,8 +6,8 @@
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
 
-#ifndef BOOST_TT_DETAIL_FALSE_RESULT_HPP_INCLUDED
-#define BOOST_TT_DETAIL_FALSE_RESULT_HPP_INCLUDED
+#ifndef NDNBOOST_TT_DETAIL_FALSE_RESULT_HPP_INCLUDED
+#define NDNBOOST_TT_DETAIL_FALSE_RESULT_HPP_INCLUDED
 
 #include <ndnboost/config.hpp>
 
@@ -19,10 +19,10 @@
 {
     template <typename T> struct result_
     {
-        BOOST_STATIC_CONSTANT(bool, value = false);
+        NDNBOOST_STATIC_CONSTANT(bool, value = false);
     };
 };
 
 }} // namespace ndnboost::type_traits
 
-#endif // BOOST_TT_DETAIL_FALSE_RESULT_HPP_INCLUDED
+#endif // NDNBOOST_TT_DETAIL_FALSE_RESULT_HPP_INCLUDED
diff --git a/include/ndnboost/type_traits/detail/has_binary_operator.hpp b/include/ndnboost/type_traits/detail/has_binary_operator.hpp
index a18f00d..c10ef10 100644
--- a/include/ndnboost/type_traits/detail/has_binary_operator.hpp
+++ b/include/ndnboost/type_traits/detail/has_binary_operator.hpp
@@ -38,7 +38,7 @@
 // cannot find another implementation -> declared as system header to suppress these warnings.
 #if defined(__GNUC__) && ((__GNUC__==3 && __GNUC_MINOR__>=1) || (__GNUC__>3))
 #   pragma GCC system_header
-#elif defined(BOOST_MSVC)
+#elif defined(NDNBOOST_MSVC)
 #   pragma warning ( push )
 #   pragma warning ( disable : 4018 4244 4547 4800 4804 4805 4913 )
 #endif
@@ -47,7 +47,7 @@
 namespace detail {
 
 // This namespace ensures that argument-dependent name lookup does not mess things up.
-namespace BOOST_JOIN(BOOST_TT_TRAIT_NAME,_impl) {
+namespace NDNBOOST_JOIN(NDNBOOST_TT_TRAIT_NAME,_impl) {
 
 // 1. a function to have an instance of type T without requiring T to be default
 // constructible
@@ -56,7 +56,7 @@
 
 // 2. we provide our operator definition for types that do not have one already
 
-// a type returned from operator BOOST_TT_TRAIT_OP when no such operator is
+// a type returned from operator NDNBOOST_TT_TRAIT_OP when no such operator is
 // found in the type's own namespace (our own operator is used) so that we have
 // a means to know that our operator was used
 struct no_operator { };
@@ -66,33 +66,33 @@
 // via argument-dependent name lookup
 struct any { template <class T> any(T const&); };
 
-// when operator BOOST_TT_TRAIT_OP is not available, this one is used
-no_operator operator BOOST_TT_TRAIT_OP (const any&, const any&);
+// when operator NDNBOOST_TT_TRAIT_OP is not available, this one is used
+no_operator operator NDNBOOST_TT_TRAIT_OP (const any&, const any&);
 
 
 // 3. checks if the operator returns void or not
 // conditions: Lhs!=void and Rhs!=void
 
 // we first redefine "operator," so that we have no compilation error if
-// operator BOOST_TT_TRAIT_OP returns void and we can use the return type of
-// (lhs BOOST_TT_TRAIT_OP rhs, returns_void_t()) to deduce if
-// operator BOOST_TT_TRAIT_OP returns void or not:
-// - operator BOOST_TT_TRAIT_OP returns void   -> (lhs BOOST_TT_TRAIT_OP rhs, returns_void_t()) returns returns_void_t
-// - operator BOOST_TT_TRAIT_OP returns !=void -> (lhs BOOST_TT_TRAIT_OP rhs, returns_void_t()) returns int
+// operator NDNBOOST_TT_TRAIT_OP returns void and we can use the return type of
+// (lhs NDNBOOST_TT_TRAIT_OP rhs, returns_void_t()) to deduce if
+// operator NDNBOOST_TT_TRAIT_OP returns void or not:
+// - operator NDNBOOST_TT_TRAIT_OP returns void   -> (lhs NDNBOOST_TT_TRAIT_OP rhs, returns_void_t()) returns returns_void_t
+// - operator NDNBOOST_TT_TRAIT_OP returns !=void -> (lhs NDNBOOST_TT_TRAIT_OP rhs, returns_void_t()) returns int
 struct returns_void_t { };
 template <typename T> int operator,(const T&, returns_void_t);
 template <typename T> int operator,(const volatile T&, returns_void_t);
 
 // this intermediate trait has member value of type bool:
-// - value==true -> operator BOOST_TT_TRAIT_OP returns void
-// - value==false -> operator BOOST_TT_TRAIT_OP does not return void
+// - value==true -> operator NDNBOOST_TT_TRAIT_OP returns void
+// - value==false -> operator NDNBOOST_TT_TRAIT_OP does not return void
 template < typename Lhs, typename Rhs >
 struct operator_returns_void {
    // overloads of function returns_void make the difference
    // yes_type and no_type have different size by construction
    static ::ndnboost::type_traits::yes_type returns_void(returns_void_t);
    static ::ndnboost::type_traits::no_type returns_void(int);
-   BOOST_STATIC_CONSTANT(bool, value = (sizeof(::ndnboost::type_traits::yes_type)==sizeof(returns_void((make<Lhs>() BOOST_TT_TRAIT_OP make<Rhs>(),returns_void_t())))));
+   NDNBOOST_STATIC_CONSTANT(bool, value = (sizeof(::ndnboost::type_traits::yes_type)==sizeof(returns_void((make<Lhs>() NDNBOOST_TT_TRAIT_OP make<Rhs>(),returns_void_t())))));
 };
 
 
@@ -106,27 +106,27 @@
 
 template < typename Lhs, typename Rhs >
 struct operator_returns_Ret < Lhs, Rhs, dont_care, true > {
-   BOOST_STATIC_CONSTANT(bool, value = true);
+   NDNBOOST_STATIC_CONSTANT(bool, value = true);
 };
 
 template < typename Lhs, typename Rhs >
 struct operator_returns_Ret < Lhs, Rhs, dont_care, false > {
-   BOOST_STATIC_CONSTANT(bool, value = true);
+   NDNBOOST_STATIC_CONSTANT(bool, value = true);
 };
 
 template < typename Lhs, typename Rhs >
 struct operator_returns_Ret < Lhs, Rhs, void, true > {
-   BOOST_STATIC_CONSTANT(bool, value = true);
+   NDNBOOST_STATIC_CONSTANT(bool, value = true);
 };
 
 template < typename Lhs, typename Rhs >
 struct operator_returns_Ret < Lhs, Rhs, void, false > {
-   BOOST_STATIC_CONSTANT(bool, value = false);
+   NDNBOOST_STATIC_CONSTANT(bool, value = false);
 };
 
 template < typename Lhs, typename Rhs, typename Ret >
 struct operator_returns_Ret < Lhs, Rhs, Ret, true > {
-   BOOST_STATIC_CONSTANT(bool, value = false);
+   NDNBOOST_STATIC_CONSTANT(bool, value = false);
 };
 
 // otherwise checks if it is convertible to Ret using the sizeof trick
@@ -137,14 +137,14 @@
    static ::ndnboost::type_traits::yes_type is_convertible_to_Ret(Ret); // this version is preferred for types convertible to Ret
    static ::ndnboost::type_traits::no_type is_convertible_to_Ret(...); // this version is used otherwise
 
-   BOOST_STATIC_CONSTANT(bool, value = (sizeof(is_convertible_to_Ret(make<Lhs>() BOOST_TT_TRAIT_OP make<Rhs>()))==sizeof(::ndnboost::type_traits::yes_type)));
+   NDNBOOST_STATIC_CONSTANT(bool, value = (sizeof(is_convertible_to_Ret(make<Lhs>() NDNBOOST_TT_TRAIT_OP make<Rhs>()))==sizeof(::ndnboost::type_traits::yes_type)));
 };
 
 
 // 5. checks for operator existence
 // condition: Lhs!=void and Rhs!=void
 
-// checks if our definition of operator BOOST_TT_TRAIT_OP is used or an other
+// checks if our definition of operator NDNBOOST_TT_TRAIT_OP is used or an other
 // existing one;
 // this is done with redefinition of "operator," that returns no_operator or has_operator
 struct has_operator { };
@@ -155,15 +155,15 @@
    static ::ndnboost::type_traits::yes_type check(has_operator); // this version is preferred when operator exists
    static ::ndnboost::type_traits::no_type check(no_operator); // this version is used otherwise
 
-   BOOST_STATIC_CONSTANT(bool, value = (sizeof(check(((make<Lhs>() BOOST_TT_TRAIT_OP make<Rhs>()),make<has_operator>())))==sizeof(::ndnboost::type_traits::yes_type)));
+   NDNBOOST_STATIC_CONSTANT(bool, value = (sizeof(check(((make<Lhs>() NDNBOOST_TT_TRAIT_OP make<Rhs>()),make<has_operator>())))==sizeof(::ndnboost::type_traits::yes_type)));
 };
 
 
 // 6. main trait: to avoid any compilation error, this class behaves
-// differently when operator BOOST_TT_TRAIT_OP(Lhs, Rhs) is forbidden by the
+// differently when operator NDNBOOST_TT_TRAIT_OP(Lhs, Rhs) is forbidden by the
 // standard.
 // Forbidden_if is a bool that is:
-// - true when the operator BOOST_TT_TRAIT_OP(Lhs, Rhs) is forbidden by the standard
+// - true when the operator NDNBOOST_TT_TRAIT_OP(Lhs, Rhs) is forbidden by the standard
 //   (would yield compilation error if used)
 // - false otherwise
 template < typename Lhs, typename Rhs, typename Ret, bool Forbidden_if >
@@ -171,12 +171,12 @@
 
 template < typename Lhs, typename Rhs, typename Ret >
 struct trait_impl1 < Lhs, Rhs, Ret, true > {
-   BOOST_STATIC_CONSTANT(bool, value = false);
+   NDNBOOST_STATIC_CONSTANT(bool, value = false);
 };
 
 template < typename Lhs, typename Rhs, typename Ret >
 struct trait_impl1 < Lhs, Rhs, Ret, false > {
-   BOOST_STATIC_CONSTANT(bool,
+   NDNBOOST_STATIC_CONSTANT(bool,
       value = (
          ::ndnboost::type_traits::ice_and<
             operator_exists < Lhs, Rhs >::value,
@@ -189,17 +189,17 @@
 // some specializations needs to be declared for the special void case
 template < typename Rhs, typename Ret >
 struct trait_impl1 < void, Rhs, Ret, false > {
-   BOOST_STATIC_CONSTANT(bool, value = false);
+   NDNBOOST_STATIC_CONSTANT(bool, value = false);
 };
 
 template < typename Lhs, typename Ret >
 struct trait_impl1 < Lhs, void, Ret, false > {
-   BOOST_STATIC_CONSTANT(bool, value = false);
+   NDNBOOST_STATIC_CONSTANT(bool, value = false);
 };
 
 template < typename Ret >
 struct trait_impl1 < void, void, Ret, false > {
-   BOOST_STATIC_CONSTANT(bool, value = false);
+   NDNBOOST_STATIC_CONSTANT(bool, value = false);
 };
 
 // defines some typedef for convenience
@@ -211,18 +211,18 @@
    typedef typename ::ndnboost::remove_cv<Rhs_noref>::type Rhs_nocv;
    typedef typename ::ndnboost::remove_cv< typename ::ndnboost::remove_reference< typename ::ndnboost::remove_pointer<Lhs_noref>::type >::type >::type Lhs_noptr;
    typedef typename ::ndnboost::remove_cv< typename ::ndnboost::remove_reference< typename ::ndnboost::remove_pointer<Rhs_noref>::type >::type >::type Rhs_noptr;
-   BOOST_STATIC_CONSTANT(bool, value = (trait_impl1 < Lhs_noref, Rhs_noref, Ret, BOOST_TT_FORBIDDEN_IF >::value));
+   NDNBOOST_STATIC_CONSTANT(bool, value = (trait_impl1 < Lhs_noref, Rhs_noref, Ret, NDNBOOST_TT_FORBIDDEN_IF >::value));
 };
 
 } // namespace impl
 } // namespace detail
 
 // this is the accessible definition of the trait to end user
-BOOST_TT_AUX_BOOL_TRAIT_DEF3(BOOST_TT_TRAIT_NAME, Lhs, Rhs=Lhs, Ret=::ndnboost::detail::BOOST_JOIN(BOOST_TT_TRAIT_NAME,_impl)::dont_care, (::ndnboost::detail::BOOST_JOIN(BOOST_TT_TRAIT_NAME,_impl)::trait_impl < Lhs, Rhs, Ret >::value))
+NDNBOOST_TT_AUX_BOOL_TRAIT_DEF3(NDNBOOST_TT_TRAIT_NAME, Lhs, Rhs=Lhs, Ret=::ndnboost::detail::NDNBOOST_JOIN(NDNBOOST_TT_TRAIT_NAME,_impl)::dont_care, (::ndnboost::detail::NDNBOOST_JOIN(NDNBOOST_TT_TRAIT_NAME,_impl)::trait_impl < Lhs, Rhs, Ret >::value))
 
 } // namespace ndnboost
 
-#if defined(BOOST_MSVC)
+#if defined(NDNBOOST_MSVC)
 #   pragma warning ( pop )
 #endif
 
diff --git a/include/ndnboost/type_traits/detail/has_postfix_operator.hpp b/include/ndnboost/type_traits/detail/has_postfix_operator.hpp
index bdd7f5a..5d23573 100644
--- a/include/ndnboost/type_traits/detail/has_postfix_operator.hpp
+++ b/include/ndnboost/type_traits/detail/has_postfix_operator.hpp
@@ -24,7 +24,7 @@
 // avoid warnings
 #if defined(__GNUC__) && ((__GNUC__==3 && __GNUC_MINOR__>=1) || (__GNUC__>3))
 #   pragma GCC system_header
-#elif defined(BOOST_MSVC)
+#elif defined(NDNBOOST_MSVC)
 #   pragma warning ( push )
 #   pragma warning ( disable : 4244 4913 )
 #endif
@@ -33,7 +33,7 @@
 namespace detail {
 
 // This namespace ensures that argument-dependent name lookup does not mess things up.
-namespace BOOST_JOIN(BOOST_TT_TRAIT_NAME,_impl) {
+namespace NDNBOOST_JOIN(NDNBOOST_TT_TRAIT_NAME,_impl) {
 
 // 1. a function to have an instance of type T without requiring T to be default
 // constructible
@@ -42,7 +42,7 @@
 
 // 2. we provide our operator definition for types that do not have one already
 
-// a type returned from operator BOOST_TT_TRAIT_OP when no such operator is
+// a type returned from operator NDNBOOST_TT_TRAIT_OP when no such operator is
 // found in the type's own namespace (our own operator is used) so that we have
 // a means to know that our operator was used
 struct no_operator { };
@@ -52,33 +52,33 @@
 // via argument-dependent name lookup
 struct any { template <class T> any(T const&); };
 
-// when operator BOOST_TT_TRAIT_OP is not available, this one is used
-no_operator operator BOOST_TT_TRAIT_OP (const any&, int);
+// when operator NDNBOOST_TT_TRAIT_OP is not available, this one is used
+no_operator operator NDNBOOST_TT_TRAIT_OP (const any&, int);
 
 
 // 3. checks if the operator returns void or not
 // conditions: Lhs!=void
 
 // we first redefine "operator," so that we have no compilation error if
-// operator BOOST_TT_TRAIT_OP returns void and we can use the return type of
-// (lhs BOOST_TT_TRAIT_OP, returns_void_t()) to deduce if
-// operator BOOST_TT_TRAIT_OP returns void or not:
-// - operator BOOST_TT_TRAIT_OP returns void   -> (lhs BOOST_TT_TRAIT_OP, returns_void_t()) returns returns_void_t
-// - operator BOOST_TT_TRAIT_OP returns !=void -> (lhs BOOST_TT_TRAIT_OP, returns_void_t()) returns int
+// operator NDNBOOST_TT_TRAIT_OP returns void and we can use the return type of
+// (lhs NDNBOOST_TT_TRAIT_OP, returns_void_t()) to deduce if
+// operator NDNBOOST_TT_TRAIT_OP returns void or not:
+// - operator NDNBOOST_TT_TRAIT_OP returns void   -> (lhs NDNBOOST_TT_TRAIT_OP, returns_void_t()) returns returns_void_t
+// - operator NDNBOOST_TT_TRAIT_OP returns !=void -> (lhs NDNBOOST_TT_TRAIT_OP, returns_void_t()) returns int
 struct returns_void_t { };
 template <typename T> int operator,(const T&, returns_void_t);
 template <typename T> int operator,(const volatile T&, returns_void_t);
 
 // this intermediate trait has member value of type bool:
-// - value==true -> operator BOOST_TT_TRAIT_OP returns void
-// - value==false -> operator BOOST_TT_TRAIT_OP does not return void
+// - value==true -> operator NDNBOOST_TT_TRAIT_OP returns void
+// - value==false -> operator NDNBOOST_TT_TRAIT_OP does not return void
 template < typename Lhs >
 struct operator_returns_void {
    // overloads of function returns_void make the difference
    // yes_type and no_type have different size by construction
    static ::ndnboost::type_traits::yes_type returns_void(returns_void_t);
    static ::ndnboost::type_traits::no_type returns_void(int);
-   BOOST_STATIC_CONSTANT(bool, value = (sizeof(::ndnboost::type_traits::yes_type)==sizeof(returns_void((make<Lhs>() BOOST_TT_TRAIT_OP,returns_void_t())))));
+   NDNBOOST_STATIC_CONSTANT(bool, value = (sizeof(::ndnboost::type_traits::yes_type)==sizeof(returns_void((make<Lhs>() NDNBOOST_TT_TRAIT_OP,returns_void_t())))));
 };
 
 
@@ -92,27 +92,27 @@
 
 template < typename Lhs >
 struct operator_returns_Ret < Lhs, dont_care, true > {
-   BOOST_STATIC_CONSTANT(bool, value = true);
+   NDNBOOST_STATIC_CONSTANT(bool, value = true);
 };
 
 template < typename Lhs >
 struct operator_returns_Ret < Lhs, dont_care, false > {
-   BOOST_STATIC_CONSTANT(bool, value = true);
+   NDNBOOST_STATIC_CONSTANT(bool, value = true);
 };
 
 template < typename Lhs >
 struct operator_returns_Ret < Lhs, void, true > {
-   BOOST_STATIC_CONSTANT(bool, value = true);
+   NDNBOOST_STATIC_CONSTANT(bool, value = true);
 };
 
 template < typename Lhs >
 struct operator_returns_Ret < Lhs, void, false > {
-   BOOST_STATIC_CONSTANT(bool, value = false);
+   NDNBOOST_STATIC_CONSTANT(bool, value = false);
 };
 
 template < typename Lhs, typename Ret >
 struct operator_returns_Ret < Lhs, Ret, true > {
-   BOOST_STATIC_CONSTANT(bool, value = false);
+   NDNBOOST_STATIC_CONSTANT(bool, value = false);
 };
 
 // otherwise checks if it is convertible to Ret using the sizeof trick
@@ -123,14 +123,14 @@
    static ::ndnboost::type_traits::yes_type is_convertible_to_Ret(Ret); // this version is preferred for types convertible to Ret
    static ::ndnboost::type_traits::no_type is_convertible_to_Ret(...); // this version is used otherwise
 
-   BOOST_STATIC_CONSTANT(bool, value = (sizeof(is_convertible_to_Ret(make<Lhs>() BOOST_TT_TRAIT_OP))==sizeof(::ndnboost::type_traits::yes_type)));
+   NDNBOOST_STATIC_CONSTANT(bool, value = (sizeof(is_convertible_to_Ret(make<Lhs>() NDNBOOST_TT_TRAIT_OP))==sizeof(::ndnboost::type_traits::yes_type)));
 };
 
 
 // 5. checks for operator existence
 // condition: Lhs!=void
 
-// checks if our definition of operator BOOST_TT_TRAIT_OP is used or an other
+// checks if our definition of operator NDNBOOST_TT_TRAIT_OP is used or an other
 // existing one;
 // this is done with redefinition of "operator," that returns no_operator or has_operator
 struct has_operator { };
@@ -141,15 +141,15 @@
    static ::ndnboost::type_traits::yes_type check(has_operator); // this version is preferred when operator exists
    static ::ndnboost::type_traits::no_type check(no_operator); // this version is used otherwise
 
-   BOOST_STATIC_CONSTANT(bool, value = (sizeof(check(((make<Lhs>() BOOST_TT_TRAIT_OP),make<has_operator>())))==sizeof(::ndnboost::type_traits::yes_type)));
+   NDNBOOST_STATIC_CONSTANT(bool, value = (sizeof(check(((make<Lhs>() NDNBOOST_TT_TRAIT_OP),make<has_operator>())))==sizeof(::ndnboost::type_traits::yes_type)));
 };
 
 
 // 6. main trait: to avoid any compilation error, this class behaves
-// differently when operator BOOST_TT_TRAIT_OP(Lhs) is forbidden by the
+// differently when operator NDNBOOST_TT_TRAIT_OP(Lhs) is forbidden by the
 // standard.
 // Forbidden_if is a bool that is:
-// - true when the operator BOOST_TT_TRAIT_OP(Lhs) is forbidden by the standard
+// - true when the operator NDNBOOST_TT_TRAIT_OP(Lhs) is forbidden by the standard
 //   (would yield compilation error if used)
 // - false otherwise
 template < typename Lhs, typename Ret, bool Forbidden_if >
@@ -157,12 +157,12 @@
 
 template < typename Lhs, typename Ret >
 struct trait_impl1 < Lhs, Ret, true > {
-   BOOST_STATIC_CONSTANT(bool, value = false);
+   NDNBOOST_STATIC_CONSTANT(bool, value = false);
 };
 
 template < typename Lhs, typename Ret >
 struct trait_impl1 < Lhs, Ret, false > {
-   BOOST_STATIC_CONSTANT(bool,
+   NDNBOOST_STATIC_CONSTANT(bool,
       value = (
          ::ndnboost::type_traits::ice_and<
             operator_exists < Lhs >::value,
@@ -175,7 +175,7 @@
 // specialization needs to be declared for the special void case
 template < typename Ret >
 struct trait_impl1 < void, Ret, false > {
-   BOOST_STATIC_CONSTANT(bool, value = false);
+   NDNBOOST_STATIC_CONSTANT(bool, value = false);
 };
 
 // defines some typedef for convenience
@@ -184,18 +184,18 @@
    typedef typename ::ndnboost::remove_reference<Lhs>::type Lhs_noref;
    typedef typename ::ndnboost::remove_cv<Lhs_noref>::type Lhs_nocv;
    typedef typename ::ndnboost::remove_cv< typename ::ndnboost::remove_reference< typename ::ndnboost::remove_pointer<Lhs_noref>::type >::type >::type Lhs_noptr;
-   BOOST_STATIC_CONSTANT(bool, value = (trait_impl1 < Lhs_noref, Ret, BOOST_TT_FORBIDDEN_IF >::value));
+   NDNBOOST_STATIC_CONSTANT(bool, value = (trait_impl1 < Lhs_noref, Ret, NDNBOOST_TT_FORBIDDEN_IF >::value));
 };
 
 } // namespace impl
 } // namespace detail
 
 // this is the accessible definition of the trait to end user
-BOOST_TT_AUX_BOOL_TRAIT_DEF2(BOOST_TT_TRAIT_NAME, Lhs, Ret=::ndnboost::detail::BOOST_JOIN(BOOST_TT_TRAIT_NAME,_impl)::dont_care, (::ndnboost::detail::BOOST_JOIN(BOOST_TT_TRAIT_NAME,_impl)::trait_impl< Lhs, Ret >::value))
+NDNBOOST_TT_AUX_BOOL_TRAIT_DEF2(NDNBOOST_TT_TRAIT_NAME, Lhs, Ret=::ndnboost::detail::NDNBOOST_JOIN(NDNBOOST_TT_TRAIT_NAME,_impl)::dont_care, (::ndnboost::detail::NDNBOOST_JOIN(NDNBOOST_TT_TRAIT_NAME,_impl)::trait_impl< Lhs, Ret >::value))
 
 } // namespace ndnboost
 
-#if defined(BOOST_MSVC)
+#if defined(NDNBOOST_MSVC)
 #   pragma warning ( pop )
 #endif
 
diff --git a/include/ndnboost/type_traits/detail/has_prefix_operator.hpp b/include/ndnboost/type_traits/detail/has_prefix_operator.hpp
index b1113d2..3a25c58 100644
--- a/include/ndnboost/type_traits/detail/has_prefix_operator.hpp
+++ b/include/ndnboost/type_traits/detail/has_prefix_operator.hpp
@@ -32,7 +32,7 @@
 // cannot find another implementation -> declared as system header to suppress these warnings.
 #if defined(__GNUC__) && ((__GNUC__==3 && __GNUC_MINOR__>=1) || (__GNUC__>3))
 #   pragma GCC system_header
-#elif defined(BOOST_MSVC)
+#elif defined(NDNBOOST_MSVC)
 #   pragma warning ( push )
 #   pragma warning ( disable : 4146 4804 4913 4244 )
 #endif
@@ -41,7 +41,7 @@
 namespace detail {
 
 // This namespace ensures that argument-dependent name lookup does not mess things up.
-namespace BOOST_JOIN(BOOST_TT_TRAIT_NAME,_impl) {
+namespace NDNBOOST_JOIN(NDNBOOST_TT_TRAIT_NAME,_impl) {
 
 // 1. a function to have an instance of type T without requiring T to be default
 // constructible
@@ -50,7 +50,7 @@
 
 // 2. we provide our operator definition for types that do not have one already
 
-// a type returned from operator BOOST_TT_TRAIT_OP when no such operator is
+// a type returned from operator NDNBOOST_TT_TRAIT_OP when no such operator is
 // found in the type's own namespace (our own operator is used) so that we have
 // a means to know that our operator was used
 struct no_operator { };
@@ -60,33 +60,33 @@
 // via argument-dependent name lookup
 struct any { template <class T> any(T const&); };
 
-// when operator BOOST_TT_TRAIT_OP is not available, this one is used
-no_operator operator BOOST_TT_TRAIT_OP (const any&);
+// when operator NDNBOOST_TT_TRAIT_OP is not available, this one is used
+no_operator operator NDNBOOST_TT_TRAIT_OP (const any&);
 
 
 // 3. checks if the operator returns void or not
 // conditions: Rhs!=void
 
 // we first redefine "operator," so that we have no compilation error if
-// operator BOOST_TT_TRAIT_OP returns void and we can use the return type of
-// (BOOST_TT_TRAIT_OP rhs, returns_void_t()) to deduce if
-// operator BOOST_TT_TRAIT_OP returns void or not:
-// - operator BOOST_TT_TRAIT_OP returns void   -> (BOOST_TT_TRAIT_OP rhs, returns_void_t()) returns returns_void_t
-// - operator BOOST_TT_TRAIT_OP returns !=void -> (BOOST_TT_TRAIT_OP rhs, returns_void_t()) returns int
+// operator NDNBOOST_TT_TRAIT_OP returns void and we can use the return type of
+// (NDNBOOST_TT_TRAIT_OP rhs, returns_void_t()) to deduce if
+// operator NDNBOOST_TT_TRAIT_OP returns void or not:
+// - operator NDNBOOST_TT_TRAIT_OP returns void   -> (NDNBOOST_TT_TRAIT_OP rhs, returns_void_t()) returns returns_void_t
+// - operator NDNBOOST_TT_TRAIT_OP returns !=void -> (NDNBOOST_TT_TRAIT_OP rhs, returns_void_t()) returns int
 struct returns_void_t { };
 template <typename T> int operator,(const T&, returns_void_t);
 template <typename T> int operator,(const volatile T&, returns_void_t);
 
 // this intermediate trait has member value of type bool:
-// - value==true -> operator BOOST_TT_TRAIT_OP returns void
-// - value==false -> operator BOOST_TT_TRAIT_OP does not return void
+// - value==true -> operator NDNBOOST_TT_TRAIT_OP returns void
+// - value==false -> operator NDNBOOST_TT_TRAIT_OP does not return void
 template < typename Rhs >
 struct operator_returns_void {
    // overloads of function returns_void make the difference
    // yes_type and no_type have different size by construction
    static ::ndnboost::type_traits::yes_type returns_void(returns_void_t);
    static ::ndnboost::type_traits::no_type returns_void(int);
-   BOOST_STATIC_CONSTANT(bool, value = (sizeof(::ndnboost::type_traits::yes_type)==sizeof(returns_void((BOOST_TT_TRAIT_OP make<Rhs>(),returns_void_t())))));
+   NDNBOOST_STATIC_CONSTANT(bool, value = (sizeof(::ndnboost::type_traits::yes_type)==sizeof(returns_void((NDNBOOST_TT_TRAIT_OP make<Rhs>(),returns_void_t())))));
 };
 
 
@@ -100,27 +100,27 @@
 
 template < typename Rhs >
 struct operator_returns_Ret < Rhs, dont_care, true > {
-   BOOST_STATIC_CONSTANT(bool, value = true);
+   NDNBOOST_STATIC_CONSTANT(bool, value = true);
 };
 
 template < typename Rhs >
 struct operator_returns_Ret < Rhs, dont_care, false > {
-   BOOST_STATIC_CONSTANT(bool, value = true);
+   NDNBOOST_STATIC_CONSTANT(bool, value = true);
 };
 
 template < typename Rhs >
 struct operator_returns_Ret < Rhs, void, true > {
-   BOOST_STATIC_CONSTANT(bool, value = true);
+   NDNBOOST_STATIC_CONSTANT(bool, value = true);
 };
 
 template < typename Rhs >
 struct operator_returns_Ret < Rhs, void, false > {
-   BOOST_STATIC_CONSTANT(bool, value = false);
+   NDNBOOST_STATIC_CONSTANT(bool, value = false);
 };
 
 template < typename Rhs, typename Ret >
 struct operator_returns_Ret < Rhs, Ret, true > {
-   BOOST_STATIC_CONSTANT(bool, value = false);
+   NDNBOOST_STATIC_CONSTANT(bool, value = false);
 };
 
 // otherwise checks if it is convertible to Ret using the sizeof trick
@@ -131,14 +131,14 @@
    static ::ndnboost::type_traits::yes_type is_convertible_to_Ret(Ret); // this version is preferred for types convertible to Ret
    static ::ndnboost::type_traits::no_type is_convertible_to_Ret(...); // this version is used otherwise
 
-   BOOST_STATIC_CONSTANT(bool, value = (sizeof(is_convertible_to_Ret(BOOST_TT_TRAIT_OP make<Rhs>()))==sizeof(::ndnboost::type_traits::yes_type)));
+   NDNBOOST_STATIC_CONSTANT(bool, value = (sizeof(is_convertible_to_Ret(NDNBOOST_TT_TRAIT_OP make<Rhs>()))==sizeof(::ndnboost::type_traits::yes_type)));
 };
 
 
 // 5. checks for operator existence
 // condition: Rhs!=void
 
-// checks if our definition of operator BOOST_TT_TRAIT_OP is used or an other
+// checks if our definition of operator NDNBOOST_TT_TRAIT_OP is used or an other
 // existing one;
 // this is done with redefinition of "operator," that returns no_operator or has_operator
 struct has_operator { };
@@ -149,15 +149,15 @@
    static ::ndnboost::type_traits::yes_type check(has_operator); // this version is preferred when operator exists
    static ::ndnboost::type_traits::no_type check(no_operator); // this version is used otherwise
 
-   BOOST_STATIC_CONSTANT(bool, value = (sizeof(check(((BOOST_TT_TRAIT_OP make<Rhs>()),make<has_operator>())))==sizeof(::ndnboost::type_traits::yes_type)));
+   NDNBOOST_STATIC_CONSTANT(bool, value = (sizeof(check(((NDNBOOST_TT_TRAIT_OP make<Rhs>()),make<has_operator>())))==sizeof(::ndnboost::type_traits::yes_type)));
 };
 
 
 // 6. main trait: to avoid any compilation error, this class behaves
-// differently when operator BOOST_TT_TRAIT_OP(Rhs) is forbidden by the
+// differently when operator NDNBOOST_TT_TRAIT_OP(Rhs) is forbidden by the
 // standard.
 // Forbidden_if is a bool that is:
-// - true when the operator BOOST_TT_TRAIT_OP(Rhs) is forbidden by the standard
+// - true when the operator NDNBOOST_TT_TRAIT_OP(Rhs) is forbidden by the standard
 //   (would yield compilation error if used)
 // - false otherwise
 template < typename Rhs, typename Ret, bool Forbidden_if >
@@ -165,12 +165,12 @@
 
 template < typename Rhs, typename Ret >
 struct trait_impl1 < Rhs, Ret, true > {
-   BOOST_STATIC_CONSTANT(bool, value = false);
+   NDNBOOST_STATIC_CONSTANT(bool, value = false);
 };
 
 template < typename Rhs, typename Ret >
 struct trait_impl1 < Rhs, Ret, false > {
-   BOOST_STATIC_CONSTANT(bool,
+   NDNBOOST_STATIC_CONSTANT(bool,
       value = (
          ::ndnboost::type_traits::ice_and<
             operator_exists < Rhs >::value,
@@ -183,7 +183,7 @@
 // specialization needs to be declared for the special void case
 template < typename Ret >
 struct trait_impl1 < void, Ret, false > {
-   BOOST_STATIC_CONSTANT(bool, value = false);
+   NDNBOOST_STATIC_CONSTANT(bool, value = false);
 };
 
 // defines some typedef for convenience
@@ -192,18 +192,18 @@
    typedef typename ::ndnboost::remove_reference<Rhs>::type Rhs_noref;
    typedef typename ::ndnboost::remove_cv<Rhs_noref>::type Rhs_nocv;
    typedef typename ::ndnboost::remove_cv< typename ::ndnboost::remove_reference< typename ::ndnboost::remove_pointer<Rhs_noref>::type >::type >::type Rhs_noptr;
-   BOOST_STATIC_CONSTANT(bool, value = (trait_impl1 < Rhs_noref, Ret, BOOST_TT_FORBIDDEN_IF >::value));
+   NDNBOOST_STATIC_CONSTANT(bool, value = (trait_impl1 < Rhs_noref, Ret, NDNBOOST_TT_FORBIDDEN_IF >::value));
 };
 
 } // namespace impl
 } // namespace detail
 
 // this is the accessible definition of the trait to end user
-BOOST_TT_AUX_BOOL_TRAIT_DEF2(BOOST_TT_TRAIT_NAME, Rhs, Ret=::ndnboost::detail::BOOST_JOIN(BOOST_TT_TRAIT_NAME,_impl)::dont_care, (::ndnboost::detail::BOOST_JOIN(BOOST_TT_TRAIT_NAME,_impl)::trait_impl < Rhs, Ret >::value))
+NDNBOOST_TT_AUX_BOOL_TRAIT_DEF2(NDNBOOST_TT_TRAIT_NAME, Rhs, Ret=::ndnboost::detail::NDNBOOST_JOIN(NDNBOOST_TT_TRAIT_NAME,_impl)::dont_care, (::ndnboost::detail::NDNBOOST_JOIN(NDNBOOST_TT_TRAIT_NAME,_impl)::trait_impl < Rhs, Ret >::value))
 
 } // namespace ndnboost
 
-#if defined(BOOST_MSVC)
+#if defined(NDNBOOST_MSVC)
 #   pragma warning ( pop )
 #endif
 
diff --git a/include/ndnboost/type_traits/detail/ice_and.hpp b/include/ndnboost/type_traits/detail/ice_and.hpp
index 75d1ae6..c61917e 100644
--- a/include/ndnboost/type_traits/detail/ice_and.hpp
+++ b/include/ndnboost/type_traits/detail/ice_and.hpp
@@ -6,8 +6,8 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#ifndef BOOST_TT_DETAIL_ICE_AND_HPP_INCLUDED
-#define BOOST_TT_DETAIL_ICE_AND_HPP_INCLUDED
+#ifndef NDNBOOST_TT_DETAIL_ICE_AND_HPP_INCLUDED
+#define NDNBOOST_TT_DETAIL_ICE_AND_HPP_INCLUDED
 
 #include <ndnboost/config.hpp>
 
@@ -20,16 +20,16 @@
 template <bool b1, bool b2, bool b3, bool b4, bool b5, bool b6, bool b7>
 struct ice_and
 {
-    BOOST_STATIC_CONSTANT(bool, value = false);
+    NDNBOOST_STATIC_CONSTANT(bool, value = false);
 };
 
 template <>
 struct ice_and<true, true, true, true, true, true, true>
 {
-    BOOST_STATIC_CONSTANT(bool, value = true);
+    NDNBOOST_STATIC_CONSTANT(bool, value = true);
 };
 
 } // namespace type_traits
 } // namespace ndnboost
 
-#endif // BOOST_TT_DETAIL_ICE_AND_HPP_INCLUDED
+#endif // NDNBOOST_TT_DETAIL_ICE_AND_HPP_INCLUDED
diff --git a/include/ndnboost/type_traits/detail/ice_eq.hpp b/include/ndnboost/type_traits/detail/ice_eq.hpp
index 293d3d7..d96240a 100644
--- a/include/ndnboost/type_traits/detail/ice_eq.hpp
+++ b/include/ndnboost/type_traits/detail/ice_eq.hpp
@@ -5,8 +5,8 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#ifndef BOOST_TT_DETAIL_ICE_EQ_HPP_INCLUDED
-#define BOOST_TT_DETAIL_ICE_EQ_HPP_INCLUDED
+#ifndef NDNBOOST_TT_DETAIL_ICE_EQ_HPP_INCLUDED
+#define NDNBOOST_TT_DETAIL_ICE_EQ_HPP_INCLUDED
 
 #include <ndnboost/config.hpp>
 
@@ -16,16 +16,16 @@
 template <int b1, int b2>
 struct ice_eq
 {
-    BOOST_STATIC_CONSTANT(bool, value = (b1 == b2));
+    NDNBOOST_STATIC_CONSTANT(bool, value = (b1 == b2));
 };
 
 template <int b1, int b2>
 struct ice_ne
 {
-    BOOST_STATIC_CONSTANT(bool, value = (b1 != b2));
+    NDNBOOST_STATIC_CONSTANT(bool, value = (b1 != b2));
 };
 
-#ifndef BOOST_NO_INCLASS_MEMBER_INITIALIZATION
+#ifndef NDNBOOST_NO_INCLASS_MEMBER_INITIALIZATION
 template <int b1, int b2> bool const ice_eq<b1,b2>::value;
 template <int b1, int b2> bool const ice_ne<b1,b2>::value;
 #endif
@@ -33,4 +33,4 @@
 } // namespace type_traits
 } // namespace ndnboost
 
-#endif // BOOST_TT_DETAIL_ICE_EQ_HPP_INCLUDED
+#endif // NDNBOOST_TT_DETAIL_ICE_EQ_HPP_INCLUDED
diff --git a/include/ndnboost/type_traits/detail/ice_not.hpp b/include/ndnboost/type_traits/detail/ice_not.hpp
index 47457d4..ee4879d 100644
--- a/include/ndnboost/type_traits/detail/ice_not.hpp
+++ b/include/ndnboost/type_traits/detail/ice_not.hpp
@@ -5,8 +5,8 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#ifndef BOOST_TT_DETAIL_ICE_NOT_HPP_INCLUDED
-#define BOOST_TT_DETAIL_ICE_NOT_HPP_INCLUDED
+#ifndef NDNBOOST_TT_DETAIL_ICE_NOT_HPP_INCLUDED
+#define NDNBOOST_TT_DETAIL_ICE_NOT_HPP_INCLUDED
 
 #include <ndnboost/config.hpp>
 
@@ -16,16 +16,16 @@
 template <bool b>
 struct ice_not
 {
-    BOOST_STATIC_CONSTANT(bool, value = true);
+    NDNBOOST_STATIC_CONSTANT(bool, value = true);
 };
 
 template <>
 struct ice_not<true>
 {
-    BOOST_STATIC_CONSTANT(bool, value = false);
+    NDNBOOST_STATIC_CONSTANT(bool, value = false);
 };
 
 } // namespace type_traits
 } // namespace ndnboost
 
-#endif // BOOST_TT_DETAIL_ICE_NOT_HPP_INCLUDED
+#endif // NDNBOOST_TT_DETAIL_ICE_NOT_HPP_INCLUDED
diff --git a/include/ndnboost/type_traits/detail/ice_or.hpp b/include/ndnboost/type_traits/detail/ice_or.hpp
index 0d49b96..12255b5 100644
--- a/include/ndnboost/type_traits/detail/ice_or.hpp
+++ b/include/ndnboost/type_traits/detail/ice_or.hpp
@@ -5,8 +5,8 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#ifndef BOOST_TT_DETAIL_ICE_OR_HPP_INCLUDED
-#define BOOST_TT_DETAIL_ICE_OR_HPP_INCLUDED
+#ifndef NDNBOOST_TT_DETAIL_ICE_OR_HPP_INCLUDED
+#define NDNBOOST_TT_DETAIL_ICE_OR_HPP_INCLUDED
 
 #include <ndnboost/config.hpp>
 
@@ -19,16 +19,16 @@
 template <bool b1, bool b2, bool b3, bool b4, bool b5, bool b6, bool b7>
 struct ice_or
 {
-    BOOST_STATIC_CONSTANT(bool, value = true);
+    NDNBOOST_STATIC_CONSTANT(bool, value = true);
 };
 
 template <>
 struct ice_or<false, false, false, false, false, false, false>
 {
-    BOOST_STATIC_CONSTANT(bool, value = false);
+    NDNBOOST_STATIC_CONSTANT(bool, value = false);
 };
 
 } // namespace type_traits
 } // namespace ndnboost
 
-#endif // BOOST_TT_DETAIL_ICE_OR_HPP_INCLUDED
+#endif // NDNBOOST_TT_DETAIL_ICE_OR_HPP_INCLUDED
diff --git a/include/ndnboost/type_traits/detail/is_function_ptr_helper.hpp b/include/ndnboost/type_traits/detail/is_function_ptr_helper.hpp
index aa6fdde..6263255 100644
--- a/include/ndnboost/type_traits/detail/is_function_ptr_helper.hpp
+++ b/include/ndnboost/type_traits/detail/is_function_ptr_helper.hpp
@@ -8,16 +8,16 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#if !defined(BOOST_PP_IS_ITERATING)
+#if !defined(NDNBOOST_PP_IS_ITERATING)
 
 ///// header body
 
-#ifndef BOOST_TT_DETAIL_IS_FUNCTION_PTR_HELPER_HPP_INCLUDED
-#define BOOST_TT_DETAIL_IS_FUNCTION_PTR_HELPER_HPP_INCLUDED
+#ifndef NDNBOOST_TT_DETAIL_IS_FUNCTION_PTR_HELPER_HPP_INCLUDED
+#define NDNBOOST_TT_DETAIL_IS_FUNCTION_PTR_HELPER_HPP_INCLUDED
 
 #include <ndnboost/type_traits/config.hpp>
 
-#if defined(BOOST_TT_PREPROCESSING_MODE)
+#if defined(NDNBOOST_TT_PREPROCESSING_MODE)
 #   include <ndnboost/preprocessor/iterate.hpp>
 #   include <ndnboost/preprocessor/enum_params.hpp>
 #   include <ndnboost/preprocessor/comma_if.hpp>
@@ -29,192 +29,192 @@
 template <class R>
 struct is_function_ptr_helper
 {
-    BOOST_STATIC_CONSTANT(bool, value = false);
+    NDNBOOST_STATIC_CONSTANT(bool, value = false);
 };
 
-#if !defined(BOOST_TT_PREPROCESSING_MODE)
+#if !defined(NDNBOOST_TT_PREPROCESSING_MODE)
 // preprocessor-generated part, don't edit by hand!
 
 template <class R >
-struct is_function_ptr_helper<R (*)()> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+struct is_function_ptr_helper<R (*)()> { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R >
-struct is_function_ptr_helper<R (*)( ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_function_ptr_helper<R (*)( ...)> { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 #endif
 template <class R , class T0>
-struct is_function_ptr_helper<R (*)( T0)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+struct is_function_ptr_helper<R (*)( T0)> { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R , class T0>
-struct is_function_ptr_helper<R (*)( T0 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_function_ptr_helper<R (*)( T0 ...)> { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 #endif
 template <class R , class T0 , class T1>
-struct is_function_ptr_helper<R (*)( T0 , T1)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+struct is_function_ptr_helper<R (*)( T0 , T1)> { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R , class T0 , class T1>
-struct is_function_ptr_helper<R (*)( T0 , T1 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_function_ptr_helper<R (*)( T0 , T1 ...)> { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 #endif
 template <class R , class T0 , class T1 , class T2>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+struct is_function_ptr_helper<R (*)( T0 , T1 , T2)> { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R , class T0 , class T1 , class T2>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_function_ptr_helper<R (*)( T0 , T1 , T2 ...)> { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 #endif
 template <class R , class T0 , class T1 , class T2 , class T3>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3)> { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R , class T0 , class T1 , class T2 , class T3>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 ...)> { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 #endif
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4)> { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 ...)> { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 #endif
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5)> { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 ...)> { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 #endif
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6)> { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...)> { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 #endif
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7)> { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...)> { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 #endif
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8)> { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...)> { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 #endif
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9)> { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...)> { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 #endif
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10)> { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...)> { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 #endif
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11)> { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...)> { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 #endif
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12)> { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...)> { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 #endif
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13)> { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...)> { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 #endif
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14)> { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...)> { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 #endif
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15)> { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...)> { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 #endif
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16)> { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...)> { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 #endif
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17)> { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...)> { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 #endif
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18)> { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...)> { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 #endif
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19)> { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...)> { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 #endif
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20)> { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...)> { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 #endif
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21)> { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...)> { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 #endif
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22)> { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...)> { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 #endif
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23)> { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...)> { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 #endif
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24)> { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 ...)> { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 #endif
 #else
 
-#undef BOOST_STATIC_CONSTANT
-#define BOOST_PP_ITERATION_PARAMS_1 \
+#undef NDNBOOST_STATIC_CONSTANT
+#define NDNBOOST_PP_ITERATION_PARAMS_1 \
     (3, (0, 25, "ndnboost/type_traits/detail/is_function_ptr_helper.hpp"))
-#include BOOST_PP_ITERATE()
+#include NDNBOOST_PP_ITERATE()
 
-#endif // BOOST_TT_PREPROCESSING_MODE
+#endif // NDNBOOST_TT_PREPROCESSING_MODE
 
 } // namespace type_traits
 } // namespace ndnboost
 
-#endif // BOOST_TT_DETAIL_IS_FUNCTION_PTR_HELPER_HPP_INCLUDED
+#endif // NDNBOOST_TT_DETAIL_IS_FUNCTION_PTR_HELPER_HPP_INCLUDED
 
 ///// iteration
 
 #else
-#define BOOST_PP_COUNTER BOOST_PP_FRAME_ITERATION(1)
+#define NDNBOOST_PP_COUNTER NDNBOOST_PP_FRAME_ITERATION(1)
 
-template <class R BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T)>
-struct is_function_ptr_helper<R (*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T))> { BOOST_STATIC_CONSTANT(bool, value = true); };
-@#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T)>
-struct is_function_ptr_helper<R (*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
+template <class R NDNBOOST_PP_COMMA_IF(NDNBOOST_PP_COUNTER) NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,class T)>
+struct is_function_ptr_helper<R (*)(NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,T))> { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
+@#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+template <class R NDNBOOST_PP_COMMA_IF(NDNBOOST_PP_COUNTER) NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,class T)>
+struct is_function_ptr_helper<R (*)(NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,T) ...)> { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 @#endif
-#undef BOOST_PP_COUNTER
-#endif // BOOST_PP_IS_ITERATING
+#undef NDNBOOST_PP_COUNTER
+#endif // NDNBOOST_PP_IS_ITERATING
diff --git a/include/ndnboost/type_traits/detail/is_function_ptr_tester.hpp b/include/ndnboost/type_traits/detail/is_function_ptr_tester.hpp
index dc0654a..079f907 100644
--- a/include/ndnboost/type_traits/detail/is_function_ptr_tester.hpp
+++ b/include/ndnboost/type_traits/detail/is_function_ptr_tester.hpp
@@ -7,17 +7,17 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#if !defined(BOOST_PP_IS_ITERATING)
+#if !defined(NDNBOOST_PP_IS_ITERATING)
 
 ///// header body
 
-#ifndef BOOST_TT_DETAIL_IS_FUNCTION_PTR_TESTER_HPP_INCLUDED
-#define BOOST_TT_DETAIL_IS_FUNCTION_PTR_TESTER_HPP_INCLUDED
+#ifndef NDNBOOST_TT_DETAIL_IS_FUNCTION_PTR_TESTER_HPP_INCLUDED
+#define NDNBOOST_TT_DETAIL_IS_FUNCTION_PTR_TESTER_HPP_INCLUDED
 
 #include <ndnboost/type_traits/detail/yes_no_type.hpp>
 #include <ndnboost/type_traits/config.hpp>
 
-#if defined(BOOST_TT_PREPROCESSING_MODE)
+#if defined(NDNBOOST_TT_PREPROCESSING_MODE)
 #   include <ndnboost/preprocessor/iterate.hpp>
 #   include <ndnboost/preprocessor/enum_params.hpp>
 #   include <ndnboost/preprocessor/comma_if.hpp>
@@ -28,19 +28,19 @@
 
 // Note it is acceptable to use ellipsis here, since the argument will
 // always be a pointer type of some sort (JM 2005/06/04):
-no_type BOOST_TT_DECL is_function_ptr_tester(...);
+no_type NDNBOOST_TT_DECL is_function_ptr_tester(...);
 
-#if !defined(BOOST_TT_PREPROCESSING_MODE)
+#if !defined(NDNBOOST_TT_PREPROCESSING_MODE)
 // pre-processed code, don't edit, try GNU cpp with 
-// cpp -I../../../ -DBOOST_TT_PREPROCESSING_MODE -x c++ -P filename
+// cpp -I../../../ -DNDNBOOST_TT_PREPROCESSING_MODE -x c++ -P filename
 
 template <class R >
 yes_type is_function_ptr_tester(R (*)());
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R >
 yes_type is_function_ptr_tester(R (*)( ...));
 #endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
+#ifdef NDNBOOST_TT_TEST_MS_FUNC_SIGS
 template <class R >
 yes_type is_function_ptr_tester(R (__stdcall*)());
 template <class R >
@@ -58,11 +58,11 @@
 #endif
 template <class R , class T0 >
 yes_type is_function_ptr_tester(R (*)( T0));
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R , class T0 >
 yes_type is_function_ptr_tester(R (*)( T0 ...));
 #endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
+#ifdef NDNBOOST_TT_TEST_MS_FUNC_SIGS
 template <class R , class T0 >
 yes_type is_function_ptr_tester(R (__stdcall*)( T0));
 template <class R , class T0 >
@@ -80,11 +80,11 @@
 #endif
 template <class R , class T0 , class T1 >
 yes_type is_function_ptr_tester(R (*)( T0 , T1));
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R , class T0 , class T1 >
 yes_type is_function_ptr_tester(R (*)( T0 , T1 ...));
 #endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
+#ifdef NDNBOOST_TT_TEST_MS_FUNC_SIGS
 template <class R , class T0 , class T1 >
 yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1));
 template <class R , class T0 , class T1 >
@@ -102,11 +102,11 @@
 #endif
 template <class R , class T0 , class T1 , class T2 >
 yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2));
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R , class T0 , class T1 , class T2 >
 yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 ...));
 #endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
+#ifdef NDNBOOST_TT_TEST_MS_FUNC_SIGS
 template <class R , class T0 , class T1 , class T2 >
 yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2));
 template <class R , class T0 , class T1 , class T2 >
@@ -124,11 +124,11 @@
 #endif
 template <class R , class T0 , class T1 , class T2 , class T3 >
 yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3));
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R , class T0 , class T1 , class T2 , class T3 >
 yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 ...));
 #endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
+#ifdef NDNBOOST_TT_TEST_MS_FUNC_SIGS
 template <class R , class T0 , class T1 , class T2 , class T3 >
 yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3));
 template <class R , class T0 , class T1 , class T2 , class T3 >
@@ -146,11 +146,11 @@
 #endif
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 >
 yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4));
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 >
 yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 ...));
 #endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
+#ifdef NDNBOOST_TT_TEST_MS_FUNC_SIGS
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 >
 yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4));
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 >
@@ -168,11 +168,11 @@
 #endif
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
 yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5));
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
 yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 ...));
 #endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
+#ifdef NDNBOOST_TT_TEST_MS_FUNC_SIGS
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
 yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5));
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
@@ -190,11 +190,11 @@
 #endif
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
 yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6));
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
 yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...));
 #endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
+#ifdef NDNBOOST_TT_TEST_MS_FUNC_SIGS
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
 yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6));
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
@@ -212,11 +212,11 @@
 #endif
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
 yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7));
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
 yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...));
 #endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
+#ifdef NDNBOOST_TT_TEST_MS_FUNC_SIGS
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
 yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7));
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
@@ -234,11 +234,11 @@
 #endif
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
 yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8));
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
 yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...));
 #endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
+#ifdef NDNBOOST_TT_TEST_MS_FUNC_SIGS
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
 yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8));
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
@@ -256,11 +256,11 @@
 #endif
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
 yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9));
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
 yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...));
 #endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
+#ifdef NDNBOOST_TT_TEST_MS_FUNC_SIGS
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
 yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9));
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
@@ -278,11 +278,11 @@
 #endif
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
 yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10));
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
 yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...));
 #endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
+#ifdef NDNBOOST_TT_TEST_MS_FUNC_SIGS
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
 yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10));
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
@@ -300,11 +300,11 @@
 #endif
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
 yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11));
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
 yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...));
 #endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
+#ifdef NDNBOOST_TT_TEST_MS_FUNC_SIGS
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
 yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11));
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
@@ -322,11 +322,11 @@
 #endif
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >
 yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12));
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >
 yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...));
 #endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
+#ifdef NDNBOOST_TT_TEST_MS_FUNC_SIGS
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >
 yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12));
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >
@@ -344,11 +344,11 @@
 #endif
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >
 yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13));
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >
 yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...));
 #endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
+#ifdef NDNBOOST_TT_TEST_MS_FUNC_SIGS
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >
 yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13));
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >
@@ -366,11 +366,11 @@
 #endif
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >
 yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14));
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >
 yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...));
 #endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
+#ifdef NDNBOOST_TT_TEST_MS_FUNC_SIGS
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >
 yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14));
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >
@@ -388,11 +388,11 @@
 #endif
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
 yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15));
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
 yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...));
 #endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
+#ifdef NDNBOOST_TT_TEST_MS_FUNC_SIGS
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
 yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15));
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
@@ -410,11 +410,11 @@
 #endif
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >
 yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16));
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >
 yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...));
 #endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
+#ifdef NDNBOOST_TT_TEST_MS_FUNC_SIGS
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >
 yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16));
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >
@@ -432,11 +432,11 @@
 #endif
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >
 yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17));
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >
 yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...));
 #endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
+#ifdef NDNBOOST_TT_TEST_MS_FUNC_SIGS
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >
 yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17));
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >
@@ -454,11 +454,11 @@
 #endif
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >
 yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18));
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >
 yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...));
 #endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
+#ifdef NDNBOOST_TT_TEST_MS_FUNC_SIGS
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >
 yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18));
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >
@@ -476,11 +476,11 @@
 #endif
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >
 yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19));
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >
 yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...));
 #endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
+#ifdef NDNBOOST_TT_TEST_MS_FUNC_SIGS
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >
 yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19));
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >
@@ -498,11 +498,11 @@
 #endif
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >
 yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20));
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >
 yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...));
 #endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
+#ifdef NDNBOOST_TT_TEST_MS_FUNC_SIGS
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >
 yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20));
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >
@@ -520,11 +520,11 @@
 #endif
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >
 yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21));
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >
 yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...));
 #endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
+#ifdef NDNBOOST_TT_TEST_MS_FUNC_SIGS
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >
 yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21));
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >
@@ -542,11 +542,11 @@
 #endif
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >
 yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22));
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >
 yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...));
 #endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
+#ifdef NDNBOOST_TT_TEST_MS_FUNC_SIGS
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >
 yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22));
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >
@@ -564,11 +564,11 @@
 #endif
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >
 yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23));
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >
 yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...));
 #endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
+#ifdef NDNBOOST_TT_TEST_MS_FUNC_SIGS
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >
 yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23));
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >
@@ -586,11 +586,11 @@
 #endif
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >
 yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24));
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >
 yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 ...));
 #endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
+#ifdef NDNBOOST_TT_TEST_MS_FUNC_SIGS
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >
 yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24));
 template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >
@@ -608,47 +608,47 @@
 #endif
 #else
 
-#define BOOST_PP_ITERATION_PARAMS_1 \
+#define NDNBOOST_PP_ITERATION_PARAMS_1 \
     (3, (0, 25, "ndnboost/type_traits/detail/is_function_ptr_tester.hpp"))
-#include BOOST_PP_ITERATE()
+#include NDNBOOST_PP_ITERATE()
 
-#endif // BOOST_TT_PREPROCESSING_MODE
+#endif // NDNBOOST_TT_PREPROCESSING_MODE
 
 } // namespace type_traits
 } // namespace ndnboost
 
-#endif // BOOST_TT_DETAIL_IS_FUNCTION_PTR_TESTER_HPP_INCLUDED
+#endif // NDNBOOST_TT_DETAIL_IS_FUNCTION_PTR_TESTER_HPP_INCLUDED
 
 ///// iteration
 
 #else
-#define BOOST_PP_COUNTER BOOST_PP_FRAME_ITERATION(1)
+#define NDNBOOST_PP_COUNTER NDNBOOST_PP_FRAME_ITERATION(1)
 #undef __stdcall
 #undef __fastcall
 #undef __cdecl
 
-template <class R BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_function_ptr_tester(R (*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)));
-@#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_function_ptr_tester(R (*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...));
+template <class R NDNBOOST_PP_COMMA_IF(NDNBOOST_PP_COUNTER) NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,class T) >
+yes_type is_function_ptr_tester(R (*)(NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,T)));
+@#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+template <class R NDNBOOST_PP_COMMA_IF(NDNBOOST_PP_COUNTER) NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,class T) >
+yes_type is_function_ptr_tester(R (*)(NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,T) ...));
 @#endif
-@#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_function_ptr_tester(R (__stdcall*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)));
-template <class R BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_function_ptr_tester(R (__stdcall*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...));
+@#ifdef NDNBOOST_TT_TEST_MS_FUNC_SIGS
+template <class R NDNBOOST_PP_COMMA_IF(NDNBOOST_PP_COUNTER) NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,class T) >
+yes_type is_function_ptr_tester(R (__stdcall*)(NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,T)));
+template <class R NDNBOOST_PP_COMMA_IF(NDNBOOST_PP_COUNTER) NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,class T) >
+yes_type is_function_ptr_tester(R (__stdcall*)(NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,T) ...));
 @#ifndef _MANAGED
-template <class R BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_function_ptr_tester(R (__fastcall*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)));
-template <class R BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_function_ptr_tester(R (__fastcall*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...));
+template <class R NDNBOOST_PP_COMMA_IF(NDNBOOST_PP_COUNTER) NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,class T) >
+yes_type is_function_ptr_tester(R (__fastcall*)(NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,T)));
+template <class R NDNBOOST_PP_COMMA_IF(NDNBOOST_PP_COUNTER) NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,class T) >
+yes_type is_function_ptr_tester(R (__fastcall*)(NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,T) ...));
 @#endif
-template <class R BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_function_ptr_tester(R (__cdecl*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)));
-template <class R BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_function_ptr_tester(R (__cdecl*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...));
+template <class R NDNBOOST_PP_COMMA_IF(NDNBOOST_PP_COUNTER) NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,class T) >
+yes_type is_function_ptr_tester(R (__cdecl*)(NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,T)));
+template <class R NDNBOOST_PP_COMMA_IF(NDNBOOST_PP_COUNTER) NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,class T) >
+yes_type is_function_ptr_tester(R (__cdecl*)(NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,T) ...));
 @#endif
 
-#undef BOOST_PP_COUNTER
-#endif // BOOST_PP_IS_ITERATING
+#undef NDNBOOST_PP_COUNTER
+#endif // NDNBOOST_PP_IS_ITERATING
diff --git a/include/ndnboost/type_traits/detail/is_mem_fun_pointer_impl.hpp b/include/ndnboost/type_traits/detail/is_mem_fun_pointer_impl.hpp
index b278ea3..d5008e0 100644
--- a/include/ndnboost/type_traits/detail/is_mem_fun_pointer_impl.hpp
+++ b/include/ndnboost/type_traits/detail/is_mem_fun_pointer_impl.hpp
@@ -7,16 +7,16 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#if !defined(BOOST_PP_IS_ITERATING)
+#if !defined(NDNBOOST_PP_IS_ITERATING)
 
 ///// header body
 
-#ifndef BOOST_TT_DETAIL_IS_MEM_FUN_POINTER_IMPL_HPP_INCLUDED
-#define BOOST_TT_DETAIL_IS_MEM_FUN_POINTER_IMPL_HPP_INCLUDED
+#ifndef NDNBOOST_TT_DETAIL_IS_MEM_FUN_POINTER_IMPL_HPP_INCLUDED
+#define NDNBOOST_TT_DETAIL_IS_MEM_FUN_POINTER_IMPL_HPP_INCLUDED
 
 #include <ndnboost/config.hpp>
 
-#if defined(BOOST_TT_PREPROCESSING_MODE)
+#if defined(NDNBOOST_TT_PREPROCESSING_MODE)
 #   include <ndnboost/preprocessor/iterate.hpp>
 #   include <ndnboost/preprocessor/enum_params.hpp>
 #   include <ndnboost/preprocessor/comma_if.hpp>
@@ -28,790 +28,790 @@
 template <typename T>
 struct is_mem_fun_pointer_impl
 {
-    BOOST_STATIC_CONSTANT(bool, value = false);
+    NDNBOOST_STATIC_CONSTANT(bool, value = false);
 };
 
-#if !defined(BOOST_TT_PREPROCESSING_MODE)
+#if !defined(NDNBOOST_TT_PREPROCESSING_MODE)
 // pre-processed code, don't edit, try GNU cpp with 
-// cpp -I../../../ -DBOOST_TT_PREPROCESSING_MODE -x c++ -P filename
+// cpp -I../../../ -DNDNBOOST_TT_PREPROCESSING_MODE -x c++ -P filename
 
 template <class R, class T >
-struct is_mem_fun_pointer_impl<R (T::*)() > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+struct is_mem_fun_pointer_impl<R (T::*)() > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R, class T >
-struct is_mem_fun_pointer_impl<R (T::*)( ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( ...) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 #endif
 
-#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
+#if !defined(NDNBOOST_TT_NO_CV_FUNC_TEST)
 template <class R, class T >
-struct is_mem_fun_pointer_impl<R (T::*)() const > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)() const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T >
-struct is_mem_fun_pointer_impl<R (T::*)() volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)() volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T >
-struct is_mem_fun_pointer_impl<R (T::*)() const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)() const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R, class T >
-struct is_mem_fun_pointer_impl<R (T::*)( ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( ...) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T >
-struct is_mem_fun_pointer_impl<R (T::*)( ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( ...) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T >
-struct is_mem_fun_pointer_impl<R (T::*)( ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( ...) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 #endif
 #endif
 template <class R, class T , class T0>
-struct is_mem_fun_pointer_impl<R (T::*)( T0) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+struct is_mem_fun_pointer_impl<R (T::*)( T0) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R, class T , class T0>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 ...) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 #endif
 
-#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
+#if !defined(NDNBOOST_TT_NO_CV_FUNC_TEST)
 template <class R, class T , class T0>
-struct is_mem_fun_pointer_impl<R (T::*)( T0) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0>
-struct is_mem_fun_pointer_impl<R (T::*)( T0) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0>
-struct is_mem_fun_pointer_impl<R (T::*)( T0) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R, class T , class T0>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 ...) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 ...) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 ...) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 #endif
 #endif
 template <class R, class T , class T0 , class T1>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R, class T , class T0 , class T1>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 ...) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 #endif
 
-#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
+#if !defined(NDNBOOST_TT_NO_CV_FUNC_TEST)
 template <class R, class T , class T0 , class T1>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R, class T , class T0 , class T1>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 ...) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 ...) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 ...) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 #endif
 #endif
 template <class R, class T , class T0 , class T1 , class T2>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R, class T , class T0 , class T1 , class T2>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 ...) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 #endif
 
-#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
+#if !defined(NDNBOOST_TT_NO_CV_FUNC_TEST)
 template <class R, class T , class T0 , class T1 , class T2>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1 , class T2>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1 , class T2>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R, class T , class T0 , class T1 , class T2>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 ...) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1 , class T2>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 ...) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1 , class T2>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 ...) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 #endif
 #endif
 template <class R, class T , class T0 , class T1 , class T2 , class T3>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R, class T , class T0 , class T1 , class T2 , class T3>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 ...) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 #endif
 
-#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
+#if !defined(NDNBOOST_TT_NO_CV_FUNC_TEST)
 template <class R, class T , class T0 , class T1 , class T2 , class T3>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1 , class T2 , class T3>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1 , class T2 , class T3>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R, class T , class T0 , class T1 , class T2 , class T3>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 ...) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1 , class T2 , class T3>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 ...) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1 , class T2 , class T3>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 ...) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 #endif
 #endif
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 ...) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 #endif
 
-#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
+#if !defined(NDNBOOST_TT_NO_CV_FUNC_TEST)
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 ...) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 ...) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 ...) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 #endif
 #endif
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 ...) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 #endif
 
-#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
+#if !defined(NDNBOOST_TT_NO_CV_FUNC_TEST)
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 ...) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 ...) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 ...) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 #endif
 #endif
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 #endif
 
-#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
+#if !defined(NDNBOOST_TT_NO_CV_FUNC_TEST)
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 #endif
 #endif
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 #endif
 
-#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
+#if !defined(NDNBOOST_TT_NO_CV_FUNC_TEST)
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 #endif
 #endif
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 #endif
 
-#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
+#if !defined(NDNBOOST_TT_NO_CV_FUNC_TEST)
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 #endif
 #endif
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 #endif
 
-#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
+#if !defined(NDNBOOST_TT_NO_CV_FUNC_TEST)
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 #endif
 #endif
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 #endif
 
-#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
+#if !defined(NDNBOOST_TT_NO_CV_FUNC_TEST)
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 #endif
 #endif
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 #endif
 
-#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
+#if !defined(NDNBOOST_TT_NO_CV_FUNC_TEST)
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 #endif
 #endif
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 #endif
 
-#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
+#if !defined(NDNBOOST_TT_NO_CV_FUNC_TEST)
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 #endif
 #endif
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 #endif
 
-#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
+#if !defined(NDNBOOST_TT_NO_CV_FUNC_TEST)
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 #endif
 #endif
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 #endif
 
-#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
+#if !defined(NDNBOOST_TT_NO_CV_FUNC_TEST)
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 #endif
 #endif
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 #endif
 
-#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
+#if !defined(NDNBOOST_TT_NO_CV_FUNC_TEST)
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 #endif
 #endif
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 #endif
 
-#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
+#if !defined(NDNBOOST_TT_NO_CV_FUNC_TEST)
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 #endif
 #endif
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 #endif
 
-#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
+#if !defined(NDNBOOST_TT_NO_CV_FUNC_TEST)
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 #endif
 #endif
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 #endif
 
-#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
+#if !defined(NDNBOOST_TT_NO_CV_FUNC_TEST)
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 #endif
 #endif
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 #endif
 
-#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
+#if !defined(NDNBOOST_TT_NO_CV_FUNC_TEST)
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 #endif
 #endif
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 #endif
 
-#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
+#if !defined(NDNBOOST_TT_NO_CV_FUNC_TEST)
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 #endif
 #endif
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 #endif
 
-#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
+#if !defined(NDNBOOST_TT_NO_CV_FUNC_TEST)
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 #endif
 #endif
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 #endif
 
-#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
+#if !defined(NDNBOOST_TT_NO_CV_FUNC_TEST)
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 #endif
 #endif
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 #endif
 
-#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
+#if !defined(NDNBOOST_TT_NO_CV_FUNC_TEST)
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 #endif
 #endif
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 ...) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 #endif
 
-#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
+#if !defined(NDNBOOST_TT_NO_CV_FUNC_TEST)
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 ...) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 ...) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 ...) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 #endif
 #endif
 
 #else
 
-#undef BOOST_STATIC_CONSTANT
-#define BOOST_PP_ITERATION_PARAMS_1 \
+#undef NDNBOOST_STATIC_CONSTANT
+#define NDNBOOST_PP_ITERATION_PARAMS_1 \
     (3, (0, 25, "ndnboost/type_traits/detail/is_mem_fun_pointer_impl.hpp"))
-#include BOOST_PP_ITERATE()
+#include NDNBOOST_PP_ITERATE()
 
-#endif // BOOST_TT_PREPROCESSING_MODE
+#endif // NDNBOOST_TT_PREPROCESSING_MODE
 
 } // namespace type_traits
 } // namespace ndnboost
 
-#endif // BOOST_TT_DETAIL_IS_MEM_FUN_POINTER_IMPL_HPP_INCLUDED
+#endif // NDNBOOST_TT_DETAIL_IS_MEM_FUN_POINTER_IMPL_HPP_INCLUDED
 
 ///// iteration
 
 #else
-#define BOOST_PP_COUNTER BOOST_PP_FRAME_ITERATION(1)
+#define NDNBOOST_PP_COUNTER NDNBOOST_PP_FRAME_ITERATION(1)
 
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T)>
-struct is_mem_fun_pointer_impl<R (T::*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-@#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T)>
-struct is_mem_fun_pointer_impl<R (T::*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
+template <class R, class T NDNBOOST_PP_COMMA_IF(NDNBOOST_PP_COUNTER) NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,class T)>
+struct is_mem_fun_pointer_impl<R (T::*)(NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,T)) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
+@#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+template <class R, class T NDNBOOST_PP_COMMA_IF(NDNBOOST_PP_COUNTER) NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,class T)>
+struct is_mem_fun_pointer_impl<R (T::*)(NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,T) ...) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 @#endif
 
-@#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T)>
-struct is_mem_fun_pointer_impl<R (T::*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
+@#if !defined(NDNBOOST_TT_NO_CV_FUNC_TEST)
+template <class R, class T NDNBOOST_PP_COMMA_IF(NDNBOOST_PP_COUNTER) NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,class T)>
+struct is_mem_fun_pointer_impl<R (T::*)(NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,T)) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T)>
-struct is_mem_fun_pointer_impl<R (T::*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+template <class R, class T NDNBOOST_PP_COMMA_IF(NDNBOOST_PP_COUNTER) NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,class T)>
+struct is_mem_fun_pointer_impl<R (T::*)(NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,T)) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T)>
-struct is_mem_fun_pointer_impl<R (T::*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+template <class R, class T NDNBOOST_PP_COMMA_IF(NDNBOOST_PP_COUNTER) NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,class T)>
+struct is_mem_fun_pointer_impl<R (T::*)(NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,T)) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
-@#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T)>
-struct is_mem_fun_pointer_impl<R (T::*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
+@#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+template <class R, class T NDNBOOST_PP_COMMA_IF(NDNBOOST_PP_COUNTER) NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,class T)>
+struct is_mem_fun_pointer_impl<R (T::*)(NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,T) ...) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T)>
-struct is_mem_fun_pointer_impl<R (T::*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+template <class R, class T NDNBOOST_PP_COMMA_IF(NDNBOOST_PP_COUNTER) NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,class T)>
+struct is_mem_fun_pointer_impl<R (T::*)(NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,T) ...) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T)>
-struct is_mem_fun_pointer_impl<R (T::*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
+template <class R, class T NDNBOOST_PP_COMMA_IF(NDNBOOST_PP_COUNTER) NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,class T)>
+struct is_mem_fun_pointer_impl<R (T::*)(NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,T) ...) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
 @#endif
 @#endif
 
-#undef BOOST_PP_COUNTER
-#endif // BOOST_PP_IS_ITERATING
+#undef NDNBOOST_PP_COUNTER
+#endif // NDNBOOST_PP_IS_ITERATING
 
diff --git a/include/ndnboost/type_traits/detail/is_mem_fun_pointer_tester.hpp b/include/ndnboost/type_traits/detail/is_mem_fun_pointer_tester.hpp
index 767c4f1..50744de 100644
--- a/include/ndnboost/type_traits/detail/is_mem_fun_pointer_tester.hpp
+++ b/include/ndnboost/type_traits/detail/is_mem_fun_pointer_tester.hpp
@@ -7,17 +7,17 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#if !defined(BOOST_PP_IS_ITERATING)
+#if !defined(NDNBOOST_PP_IS_ITERATING)
 
 ///// header body
 
-#ifndef BOOST_TT_DETAIL_IS_MEM_FUN_POINTER_TESTER_HPP_INCLUDED
-#define BOOST_TT_DETAIL_IS_MEM_FUN_POINTER_TESTER_HPP_INCLUDED
+#ifndef NDNBOOST_TT_DETAIL_IS_MEM_FUN_POINTER_TESTER_HPP_INCLUDED
+#define NDNBOOST_TT_DETAIL_IS_MEM_FUN_POINTER_TESTER_HPP_INCLUDED
 
 #include <ndnboost/type_traits/detail/yes_no_type.hpp>
 #include <ndnboost/type_traits/config.hpp>
 
-#if defined(BOOST_TT_PREPROCESSING_MODE)
+#if defined(NDNBOOST_TT_PREPROCESSING_MODE)
 #   include <ndnboost/preprocessor/iterate.hpp>
 #   include <ndnboost/preprocessor/enum_params.hpp>
 #   include <ndnboost/preprocessor/comma_if.hpp>
@@ -26,11 +26,11 @@
 namespace ndnboost {
 namespace type_traits {
 
-no_type BOOST_TT_DECL is_mem_fun_pointer_tester(...);
+no_type NDNBOOST_TT_DECL is_mem_fun_pointer_tester(...);
 
-#if !defined(BOOST_TT_PREPROCESSING_MODE)
+#if !defined(NDNBOOST_TT_PREPROCESSING_MODE)
 // pre-processed code, don't edit, try GNU cpp with 
-// cpp -I../../../ -DBOOST_TT_PREPROCESSING_MODE -x c++ -P filename
+// cpp -I../../../ -DNDNBOOST_TT_PREPROCESSING_MODE -x c++ -P filename
 
 template <class R, class T >
 yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)());
@@ -44,7 +44,7 @@
 template <class R, class T >
 yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)() const volatile);
 
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R, class T >
 yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( ...));
 
@@ -57,7 +57,7 @@
 template <class R, class T >
 yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( ...) const volatile);
 #endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
+#ifdef NDNBOOST_TT_TEST_MS_FUNC_SIGS
 template <class R, class T >
 yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)());
 
@@ -144,7 +144,7 @@
 template <class R, class T , class T0 >
 yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0) const volatile);
 
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R, class T , class T0 >
 yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 ...));
 
@@ -157,7 +157,7 @@
 template <class R, class T , class T0 >
 yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 ...) const volatile);
 #endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
+#ifdef NDNBOOST_TT_TEST_MS_FUNC_SIGS
 template <class R, class T , class T0 >
 yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0));
 
@@ -244,7 +244,7 @@
 template <class R, class T , class T0 , class T1 >
 yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1) const volatile);
 
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R, class T , class T0 , class T1 >
 yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 ...));
 
@@ -257,7 +257,7 @@
 template <class R, class T , class T0 , class T1 >
 yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 ...) const volatile);
 #endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
+#ifdef NDNBOOST_TT_TEST_MS_FUNC_SIGS
 template <class R, class T , class T0 , class T1 >
 yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1));
 
@@ -344,7 +344,7 @@
 template <class R, class T , class T0 , class T1 , class T2 >
 yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2) const volatile);
 
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R, class T , class T0 , class T1 , class T2 >
 yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 ...));
 
@@ -357,7 +357,7 @@
 template <class R, class T , class T0 , class T1 , class T2 >
 yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 ...) const volatile);
 #endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
+#ifdef NDNBOOST_TT_TEST_MS_FUNC_SIGS
 template <class R, class T , class T0 , class T1 , class T2 >
 yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2));
 
@@ -444,7 +444,7 @@
 template <class R, class T , class T0 , class T1 , class T2 , class T3 >
 yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3) const volatile);
 
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R, class T , class T0 , class T1 , class T2 , class T3 >
 yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 ...));
 
@@ -457,7 +457,7 @@
 template <class R, class T , class T0 , class T1 , class T2 , class T3 >
 yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 ...) const volatile);
 #endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
+#ifdef NDNBOOST_TT_TEST_MS_FUNC_SIGS
 template <class R, class T , class T0 , class T1 , class T2 , class T3 >
 yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3));
 
@@ -544,7 +544,7 @@
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >
 yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4) const volatile);
 
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >
 yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 ...));
 
@@ -557,7 +557,7 @@
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >
 yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 ...) const volatile);
 #endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
+#ifdef NDNBOOST_TT_TEST_MS_FUNC_SIGS
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >
 yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4));
 
@@ -644,7 +644,7 @@
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
 yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5) const volatile);
 
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
 yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 ...));
 
@@ -657,7 +657,7 @@
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
 yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 ...) const volatile);
 #endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
+#ifdef NDNBOOST_TT_TEST_MS_FUNC_SIGS
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
 yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5));
 
@@ -744,7 +744,7 @@
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
 yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6) const volatile);
 
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
 yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...));
 
@@ -757,7 +757,7 @@
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
 yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...) const volatile);
 #endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
+#ifdef NDNBOOST_TT_TEST_MS_FUNC_SIGS
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
 yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6));
 
@@ -844,7 +844,7 @@
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
 yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7) const volatile);
 
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
 yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...));
 
@@ -857,7 +857,7 @@
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
 yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...) const volatile);
 #endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
+#ifdef NDNBOOST_TT_TEST_MS_FUNC_SIGS
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
 yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7));
 
@@ -944,7 +944,7 @@
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
 yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8) const volatile);
 
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
 yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...));
 
@@ -957,7 +957,7 @@
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
 yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...) const volatile);
 #endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
+#ifdef NDNBOOST_TT_TEST_MS_FUNC_SIGS
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
 yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8));
 
@@ -1044,7 +1044,7 @@
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
 yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9) const volatile);
 
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
 yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...));
 
@@ -1057,7 +1057,7 @@
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
 yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...) const volatile);
 #endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
+#ifdef NDNBOOST_TT_TEST_MS_FUNC_SIGS
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
 yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9));
 
@@ -1144,7 +1144,7 @@
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
 yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10) const volatile);
 
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
 yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...));
 
@@ -1157,7 +1157,7 @@
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
 yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...) const volatile);
 #endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
+#ifdef NDNBOOST_TT_TEST_MS_FUNC_SIGS
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
 yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10));
 
@@ -1244,7 +1244,7 @@
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
 yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11) const volatile);
 
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
 yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...));
 
@@ -1257,7 +1257,7 @@
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
 yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...) const volatile);
 #endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
+#ifdef NDNBOOST_TT_TEST_MS_FUNC_SIGS
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
 yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11));
 
@@ -1344,7 +1344,7 @@
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >
 yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12) const volatile);
 
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >
 yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...));
 
@@ -1357,7 +1357,7 @@
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >
 yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...) const volatile);
 #endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
+#ifdef NDNBOOST_TT_TEST_MS_FUNC_SIGS
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >
 yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12));
 
@@ -1444,7 +1444,7 @@
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >
 yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13) const volatile);
 
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >
 yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...));
 
@@ -1457,7 +1457,7 @@
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >
 yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...) const volatile);
 #endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
+#ifdef NDNBOOST_TT_TEST_MS_FUNC_SIGS
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >
 yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13));
 
@@ -1544,7 +1544,7 @@
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >
 yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14) const volatile);
 
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >
 yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...));
 
@@ -1557,7 +1557,7 @@
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >
 yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...) const volatile);
 #endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
+#ifdef NDNBOOST_TT_TEST_MS_FUNC_SIGS
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >
 yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14));
 
@@ -1644,7 +1644,7 @@
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
 yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15) const volatile);
 
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
 yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...));
 
@@ -1657,7 +1657,7 @@
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
 yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...) const volatile);
 #endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
+#ifdef NDNBOOST_TT_TEST_MS_FUNC_SIGS
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
 yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15));
 
@@ -1744,7 +1744,7 @@
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >
 yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16) const volatile);
 
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >
 yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...));
 
@@ -1757,7 +1757,7 @@
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >
 yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...) const volatile);
 #endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
+#ifdef NDNBOOST_TT_TEST_MS_FUNC_SIGS
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >
 yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16));
 
@@ -1844,7 +1844,7 @@
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >
 yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17) const volatile);
 
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >
 yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...));
 
@@ -1857,7 +1857,7 @@
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >
 yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...) const volatile);
 #endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
+#ifdef NDNBOOST_TT_TEST_MS_FUNC_SIGS
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >
 yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17));
 
@@ -1944,7 +1944,7 @@
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >
 yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18) const volatile);
 
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >
 yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...));
 
@@ -1957,7 +1957,7 @@
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >
 yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...) const volatile);
 #endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
+#ifdef NDNBOOST_TT_TEST_MS_FUNC_SIGS
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >
 yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18));
 
@@ -2044,7 +2044,7 @@
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >
 yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19) const volatile);
 
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >
 yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...));
 
@@ -2057,7 +2057,7 @@
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >
 yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...) const volatile);
 #endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
+#ifdef NDNBOOST_TT_TEST_MS_FUNC_SIGS
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >
 yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19));
 
@@ -2144,7 +2144,7 @@
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >
 yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20) const volatile);
 
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >
 yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...));
 
@@ -2157,7 +2157,7 @@
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >
 yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...) const volatile);
 #endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
+#ifdef NDNBOOST_TT_TEST_MS_FUNC_SIGS
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >
 yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20));
 
@@ -2244,7 +2244,7 @@
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >
 yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21) const volatile);
 
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >
 yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...));
 
@@ -2257,7 +2257,7 @@
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >
 yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...) const volatile);
 #endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
+#ifdef NDNBOOST_TT_TEST_MS_FUNC_SIGS
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >
 yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21));
 
@@ -2344,7 +2344,7 @@
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >
 yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22) const volatile);
 
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >
 yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...));
 
@@ -2357,7 +2357,7 @@
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >
 yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...) const volatile);
 #endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
+#ifdef NDNBOOST_TT_TEST_MS_FUNC_SIGS
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >
 yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22));
 
@@ -2444,7 +2444,7 @@
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >
 yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23) const volatile);
 
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >
 yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...));
 
@@ -2457,7 +2457,7 @@
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >
 yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...) const volatile);
 #endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
+#ifdef NDNBOOST_TT_TEST_MS_FUNC_SIGS
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >
 yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23));
 
@@ -2544,7 +2544,7 @@
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >
 yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24) const volatile);
 
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >
 yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 ...));
 
@@ -2557,7 +2557,7 @@
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >
 yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 ...) const volatile);
 #endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
+#ifdef NDNBOOST_TT_TEST_MS_FUNC_SIGS
 template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >
 yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24));
 
@@ -2635,125 +2635,125 @@
 
 #else
 
-#define BOOST_PP_ITERATION_PARAMS_1 \
+#define NDNBOOST_PP_ITERATION_PARAMS_1 \
     (3, (0, 25, "ndnboost/type_traits/detail/is_mem_fun_pointer_tester.hpp"))
-#include BOOST_PP_ITERATE()
+#include NDNBOOST_PP_ITERATE()
 
-#endif // BOOST_TT_PREPROCESSING_MODE
+#endif // NDNBOOST_TT_PREPROCESSING_MODE
 
 } // namespace type_traits
 } // namespace ndnboost
 
-#endif // BOOST_TT_DETAIL_IS_MEM_FUN_POINTER_TESTER_HPP_INCLUDED
+#endif // NDNBOOST_TT_DETAIL_IS_MEM_FUN_POINTER_TESTER_HPP_INCLUDED
 
 ///// iteration
 
 #else
-#define BOOST_PP_COUNTER BOOST_PP_FRAME_ITERATION(1)
+#define NDNBOOST_PP_COUNTER NDNBOOST_PP_FRAME_ITERATION(1)
 #undef __stdcall
 #undef __fastcall
 #undef __cdecl
 
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)));
+template <class R, class T NDNBOOST_PP_COMMA_IF(NDNBOOST_PP_COUNTER) NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,class T) >
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)(NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,T)));
 
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)) const);
+template <class R, class T NDNBOOST_PP_COMMA_IF(NDNBOOST_PP_COUNTER) NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,class T) >
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)(NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,T)) const);
 
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)) volatile);
+template <class R, class T NDNBOOST_PP_COMMA_IF(NDNBOOST_PP_COUNTER) NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,class T) >
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)(NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,T)) volatile);
 
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)) const volatile);
+template <class R, class T NDNBOOST_PP_COMMA_IF(NDNBOOST_PP_COUNTER) NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,class T) >
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)(NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,T)) const volatile);
 
-@#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...));
+@#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
+template <class R, class T NDNBOOST_PP_COMMA_IF(NDNBOOST_PP_COUNTER) NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,class T) >
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)(NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,T) ...));
 
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...) const);
+template <class R, class T NDNBOOST_PP_COMMA_IF(NDNBOOST_PP_COUNTER) NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,class T) >
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)(NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,T) ...) const);
 
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...) volatile);
+template <class R, class T NDNBOOST_PP_COMMA_IF(NDNBOOST_PP_COUNTER) NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,class T) >
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)(NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,T) ...) volatile);
 
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...) const volatile);
+template <class R, class T NDNBOOST_PP_COMMA_IF(NDNBOOST_PP_COUNTER) NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,class T) >
+yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)(NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,T) ...) const volatile);
 @#endif
-@#ifdef BOOST_TT_TEST_MS_FUNC_SIGS // Other calling conventions used by MS compatible compilers:
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)));
+@#ifdef NDNBOOST_TT_TEST_MS_FUNC_SIGS // Other calling conventions used by MS compatible compilers:
+template <class R, class T NDNBOOST_PP_COMMA_IF(NDNBOOST_PP_COUNTER) NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,class T) >
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)(NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,T)));
 
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)) const);
+template <class R, class T NDNBOOST_PP_COMMA_IF(NDNBOOST_PP_COUNTER) NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,class T) >
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)(NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,T)) const);
 
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)) volatile);
+template <class R, class T NDNBOOST_PP_COMMA_IF(NDNBOOST_PP_COUNTER) NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,class T) >
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)(NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,T)) volatile);
 
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)) const volatile);
+template <class R, class T NDNBOOST_PP_COMMA_IF(NDNBOOST_PP_COUNTER) NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,class T) >
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)(NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,T)) const volatile);
 
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...));
+template <class R, class T NDNBOOST_PP_COMMA_IF(NDNBOOST_PP_COUNTER) NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,class T) >
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)(NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,T) ...));
 
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...) const);
+template <class R, class T NDNBOOST_PP_COMMA_IF(NDNBOOST_PP_COUNTER) NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,class T) >
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)(NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,T) ...) const);
 
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...) volatile);
+template <class R, class T NDNBOOST_PP_COMMA_IF(NDNBOOST_PP_COUNTER) NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,class T) >
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)(NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,T) ...) volatile);
 
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...) const volatile);
+template <class R, class T NDNBOOST_PP_COMMA_IF(NDNBOOST_PP_COUNTER) NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,class T) >
+yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)(NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,T) ...) const volatile);
 
 @#ifndef _MANAGED
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)));
+template <class R, class T NDNBOOST_PP_COMMA_IF(NDNBOOST_PP_COUNTER) NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,class T) >
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)(NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,T)));
 
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)) const);
+template <class R, class T NDNBOOST_PP_COMMA_IF(NDNBOOST_PP_COUNTER) NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,class T) >
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)(NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,T)) const);
 
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)) volatile);
+template <class R, class T NDNBOOST_PP_COMMA_IF(NDNBOOST_PP_COUNTER) NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,class T) >
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)(NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,T)) volatile);
 
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)) const volatile);
+template <class R, class T NDNBOOST_PP_COMMA_IF(NDNBOOST_PP_COUNTER) NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,class T) >
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)(NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,T)) const volatile);
 
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...));
+template <class R, class T NDNBOOST_PP_COMMA_IF(NDNBOOST_PP_COUNTER) NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,class T) >
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)(NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,T) ...));
 
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...) const);
+template <class R, class T NDNBOOST_PP_COMMA_IF(NDNBOOST_PP_COUNTER) NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,class T) >
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)(NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,T) ...) const);
 
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...) volatile);
+template <class R, class T NDNBOOST_PP_COMMA_IF(NDNBOOST_PP_COUNTER) NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,class T) >
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)(NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,T) ...) volatile);
 
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...) const volatile);
+template <class R, class T NDNBOOST_PP_COMMA_IF(NDNBOOST_PP_COUNTER) NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,class T) >
+yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)(NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,T) ...) const volatile);
 @#endif
 
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)));
+template <class R, class T NDNBOOST_PP_COMMA_IF(NDNBOOST_PP_COUNTER) NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,class T) >
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)(NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,T)));
 
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)) const);
+template <class R, class T NDNBOOST_PP_COMMA_IF(NDNBOOST_PP_COUNTER) NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,class T) >
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)(NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,T)) const);
 
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)) volatile);
+template <class R, class T NDNBOOST_PP_COMMA_IF(NDNBOOST_PP_COUNTER) NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,class T) >
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)(NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,T)) volatile);
 
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)) const volatile);
+template <class R, class T NDNBOOST_PP_COMMA_IF(NDNBOOST_PP_COUNTER) NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,class T) >
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)(NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,T)) const volatile);
 
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...));
+template <class R, class T NDNBOOST_PP_COMMA_IF(NDNBOOST_PP_COUNTER) NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,class T) >
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)(NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,T) ...));
 
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...) const);
+template <class R, class T NDNBOOST_PP_COMMA_IF(NDNBOOST_PP_COUNTER) NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,class T) >
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)(NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,T) ...) const);
 
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...) volatile);
+template <class R, class T NDNBOOST_PP_COMMA_IF(NDNBOOST_PP_COUNTER) NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,class T) >
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)(NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,T) ...) volatile);
 
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...) const volatile);
+template <class R, class T NDNBOOST_PP_COMMA_IF(NDNBOOST_PP_COUNTER) NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,class T) >
+yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)(NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,T) ...) const volatile);
 @#endif
 
-#undef BOOST_PP_COUNTER
-#endif // BOOST_PP_IS_ITERATING
+#undef NDNBOOST_PP_COUNTER
+#endif // NDNBOOST_PP_IS_ITERATING
diff --git a/include/ndnboost/type_traits/detail/size_t_trait_def.hpp b/include/ndnboost/type_traits/detail/size_t_trait_def.hpp
index 48afada..40908e7 100644
--- a/include/ndnboost/type_traits/detail/size_t_trait_def.hpp
+++ b/include/ndnboost/type_traits/detail/size_t_trait_def.hpp
@@ -18,43 +18,43 @@
 
 #include <cstddef>
 
-#if !defined(BOOST_MSVC) || BOOST_MSVC >= 1300
-#   define BOOST_TT_AUX_SIZE_T_BASE(C) public ::ndnboost::integral_constant<std::size_t,C>
-#   define BOOST_TT_AUX_SIZE_T_TRAIT_VALUE_DECL(C) /**/
+#if !defined(NDNBOOST_MSVC) || NDNBOOST_MSVC >= 1300
+#   define NDNBOOST_TT_AUX_SIZE_T_BASE(C) public ::ndnboost::integral_constant<std::size_t,C>
+#   define NDNBOOST_TT_AUX_SIZE_T_TRAIT_VALUE_DECL(C) /**/
 #else
-#   define BOOST_TT_AUX_SIZE_T_BASE(C) public ::ndnboost::mpl::size_t<C>
-#   define BOOST_TT_AUX_SIZE_T_TRAIT_VALUE_DECL(C) \
+#   define NDNBOOST_TT_AUX_SIZE_T_BASE(C) public ::ndnboost::mpl::size_t<C>
+#   define NDNBOOST_TT_AUX_SIZE_T_TRAIT_VALUE_DECL(C) \
     typedef ::ndnboost::mpl::size_t<C> base_; \
     using base_::value; \
     /**/
 #endif
 
 
-#define BOOST_TT_AUX_SIZE_T_TRAIT_DEF1(trait,T,C) \
+#define NDNBOOST_TT_AUX_SIZE_T_TRAIT_DEF1(trait,T,C) \
 template< typename T > struct trait \
-    : BOOST_TT_AUX_SIZE_T_BASE(C) \
+    : NDNBOOST_TT_AUX_SIZE_T_BASE(C) \
 { \
 public:\
-    BOOST_TT_AUX_SIZE_T_TRAIT_VALUE_DECL(C) \
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,trait,(T)) \
+    NDNBOOST_TT_AUX_SIZE_T_TRAIT_VALUE_DECL(C) \
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(1,trait,(T)) \
 }; \
 \
-BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1,trait) \
+NDNBOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1,trait) \
 /**/
 
-#define BOOST_TT_AUX_SIZE_T_TRAIT_SPEC1(trait,spec,C) \
+#define NDNBOOST_TT_AUX_SIZE_T_TRAIT_SPEC1(trait,spec,C) \
 template<> struct trait<spec> \
-    : BOOST_TT_AUX_SIZE_T_BASE(C) \
+    : NDNBOOST_TT_AUX_SIZE_T_BASE(C) \
 { \
 public:\
-    BOOST_TT_AUX_SIZE_T_TRAIT_VALUE_DECL(C) \
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(1,trait,(spec)) \
+    NDNBOOST_TT_AUX_SIZE_T_TRAIT_VALUE_DECL(C) \
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(1,trait,(spec)) \
 }; \
 /**/
 
-#define BOOST_TT_AUX_SIZE_T_TRAIT_PARTIAL_SPEC1_1(param,trait,spec,C) \
+#define NDNBOOST_TT_AUX_SIZE_T_TRAIT_PARTIAL_SPEC1_1(param,trait,spec,C) \
 template< param > struct trait<spec> \
-    : BOOST_TT_AUX_SIZE_T_BASE(C) \
+    : NDNBOOST_TT_AUX_SIZE_T_BASE(C) \
 { \
 }; \
 /**/
diff --git a/include/ndnboost/type_traits/detail/size_t_trait_undef.hpp b/include/ndnboost/type_traits/detail/size_t_trait_undef.hpp
index 967fd91..5ab14d9 100644
--- a/include/ndnboost/type_traits/detail/size_t_trait_undef.hpp
+++ b/include/ndnboost/type_traits/detail/size_t_trait_undef.hpp
@@ -11,6 +11,6 @@
 // $Date: 2004-09-02 08:41:37 -0700 (Thu, 02 Sep 2004) $
 // $Revision: 24874 $
 
-#undef BOOST_TT_AUX_SIZE_T_TRAIT_DEF1
-#undef BOOST_TT_AUX_SIZE_T_TRAIT_SPEC1
-#undef BOOST_TT_AUX_SIZE_T_TRAIT_PARTIAL_SPEC1_1
+#undef NDNBOOST_TT_AUX_SIZE_T_TRAIT_DEF1
+#undef NDNBOOST_TT_AUX_SIZE_T_TRAIT_SPEC1
+#undef NDNBOOST_TT_AUX_SIZE_T_TRAIT_PARTIAL_SPEC1_1
diff --git a/include/ndnboost/type_traits/detail/template_arity_spec.hpp b/include/ndnboost/type_traits/detail/template_arity_spec.hpp
index cef622d..4feb8d3 100644
--- a/include/ndnboost/type_traits/detail/template_arity_spec.hpp
+++ b/include/ndnboost/type_traits/detail/template_arity_spec.hpp
@@ -13,13 +13,13 @@
 #include <ndnboost/mpl/aux_/config/lambda.hpp>
 #include <ndnboost/mpl/aux_/config/overload_resolution.hpp>
 
-#if defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT) \
-    && defined(BOOST_MPL_CFG_BROKEN_OVERLOAD_RESOLUTION)
-#   define BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(i, name) \
+#if defined(NDNBOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT) \
+    && defined(NDNBOOST_MPL_CFG_BROKEN_OVERLOAD_RESOLUTION)
+#   define NDNBOOST_TT_AUX_TEMPLATE_ARITY_SPEC(i, name) \
 namespace mpl { namespace aux { \
-template< BOOST_MPL_PP_PARAMS(i, typename T) > \
+template< NDNBOOST_MPL_PP_PARAMS(i, typename T) > \
 struct template_arity< \
-          name< BOOST_MPL_PP_PARAMS(i, T) > \
+          name< NDNBOOST_MPL_PP_PARAMS(i, T) > \
         > \
     : int_<i> \
 { \
@@ -27,5 +27,5 @@
 }} \
 /**/
 #else
-#   define BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(i, name) /**/
+#   define NDNBOOST_TT_AUX_TEMPLATE_ARITY_SPEC(i, name) /**/
 #endif
diff --git a/include/ndnboost/type_traits/detail/type_trait_def.hpp b/include/ndnboost/type_traits/detail/type_trait_def.hpp
index acb8111..83d0444 100644
--- a/include/ndnboost/type_traits/detail/type_trait_def.hpp
+++ b/include/ndnboost/type_traits/detail/type_trait_def.hpp
@@ -14,27 +14,27 @@
 #include <ndnboost/type_traits/detail/template_arity_spec.hpp>
 #include <ndnboost/mpl/aux_/lambda_support.hpp>
 
-#define BOOST_TT_AUX_TYPE_TRAIT_DEF1(trait,T,result) \
+#define NDNBOOST_TT_AUX_TYPE_TRAIT_DEF1(trait,T,result) \
 template< typename T > struct trait \
 { \
 public:\
     typedef result type; \
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,trait,(T)) \
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(1,trait,(T)) \
 }; \
 \
-BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1,trait) \
+NDNBOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1,trait) \
 /**/
 
-#define BOOST_TT_AUX_TYPE_TRAIT_SPEC1(trait,spec,result) \
+#define NDNBOOST_TT_AUX_TYPE_TRAIT_SPEC1(trait,spec,result) \
 template<> struct trait<spec> \
 { \
 public:\
     typedef result type; \
-    BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(1,trait,(spec)) \
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(1,trait,(spec)) \
 }; \
 /**/
 
-#define BOOST_TT_AUX_TYPE_TRAIT_IMPL_SPEC1(trait,spec,result) \
+#define NDNBOOST_TT_AUX_TYPE_TRAIT_IMPL_SPEC1(trait,spec,result) \
 template<> struct trait##_impl<spec> \
 { \
 public:\
@@ -42,7 +42,7 @@
 }; \
 /**/
 
-#define BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(param,trait,spec,result) \
+#define NDNBOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(param,trait,spec,result) \
 template< param > struct trait<spec> \
 { \
 public:\
@@ -50,7 +50,7 @@
 }; \
 /**/
 
-#define BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(param1,param2,trait,spec,result) \
+#define NDNBOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(param1,param2,trait,spec,result) \
 template< param1, param2 > struct trait<spec> \
 { \
 public:\
@@ -58,7 +58,7 @@
 }; \
 /**/
 
-#define BOOST_TT_AUX_TYPE_TRAIT_IMPL_PARTIAL_SPEC1_1(param,trait,spec,result) \
+#define NDNBOOST_TT_AUX_TYPE_TRAIT_IMPL_PARTIAL_SPEC1_1(param,trait,spec,result) \
 template< param > struct trait##_impl<spec> \
 { \
 public:\
diff --git a/include/ndnboost/type_traits/detail/type_trait_undef.hpp b/include/ndnboost/type_traits/detail/type_trait_undef.hpp
index c4f14ff..9646333 100644
--- a/include/ndnboost/type_traits/detail/type_trait_undef.hpp
+++ b/include/ndnboost/type_traits/detail/type_trait_undef.hpp
@@ -11,9 +11,9 @@
 // $Date: 2004-09-02 08:41:37 -0700 (Thu, 02 Sep 2004) $
 // $Revision: 24874 $
 
-#undef BOOST_TT_AUX_TYPE_TRAIT_DEF1
-#undef BOOST_TT_AUX_TYPE_TRAIT_SPEC1
-#undef BOOST_TT_AUX_TYPE_TRAIT_IMPL_SPEC1
-#undef BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1
-#undef BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2
-#undef BOOST_TT_AUX_TYPE_TRAIT_IMPL_PARTIAL_SPEC1_1
+#undef NDNBOOST_TT_AUX_TYPE_TRAIT_DEF1
+#undef NDNBOOST_TT_AUX_TYPE_TRAIT_SPEC1
+#undef NDNBOOST_TT_AUX_TYPE_TRAIT_IMPL_SPEC1
+#undef NDNBOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1
+#undef NDNBOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2
+#undef NDNBOOST_TT_AUX_TYPE_TRAIT_IMPL_PARTIAL_SPEC1_1
diff --git a/include/ndnboost/type_traits/detail/wrap.hpp b/include/ndnboost/type_traits/detail/wrap.hpp
index 6985113..216b657 100644
--- a/include/ndnboost/type_traits/detail/wrap.hpp
+++ b/include/ndnboost/type_traits/detail/wrap.hpp
@@ -5,8 +5,8 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#ifndef BOOST_TT_DETAIL_WRAP_HPP_INCLUDED
-#define BOOST_TT_DETAIL_WRAP_HPP_INCLUDED
+#ifndef NDNBOOST_TT_DETAIL_WRAP_HPP_INCLUDED
+#define NDNBOOST_TT_DETAIL_WRAP_HPP_INCLUDED
 
 namespace ndnboost {
 namespace type_traits {
@@ -15,4 +15,4 @@
 
 }} // namespace ndnboost::type_traits
 
-#endif // BOOST_TT_DETAIL_WRAP_HPP_INCLUDED
+#endif // NDNBOOST_TT_DETAIL_WRAP_HPP_INCLUDED
diff --git a/include/ndnboost/type_traits/detail/yes_no_type.hpp b/include/ndnboost/type_traits/detail/yes_no_type.hpp
index 4a6cb68..e49877d 100644
--- a/include/ndnboost/type_traits/detail/yes_no_type.hpp
+++ b/include/ndnboost/type_traits/detail/yes_no_type.hpp
@@ -8,8 +8,8 @@
 //
 //  macros and helpers for working with integral-constant-expressions.
 
-#ifndef BOOST_TT_DETAIL_YES_NO_TYPE_HPP_INCLUDED
-#define BOOST_TT_DETAIL_YES_NO_TYPE_HPP_INCLUDED
+#ifndef NDNBOOST_TT_DETAIL_YES_NO_TYPE_HPP_INCLUDED
+#define NDNBOOST_TT_DETAIL_YES_NO_TYPE_HPP_INCLUDED
 
 namespace ndnboost {
 namespace type_traits {
@@ -23,4 +23,4 @@
 } // namespace type_traits
 } // namespace ndnboost
 
-#endif // BOOST_TT_DETAIL_YES_NO_TYPE_HPP_INCLUDED
+#endif // NDNBOOST_TT_DETAIL_YES_NO_TYPE_HPP_INCLUDED
diff --git a/include/ndnboost/type_traits/extent.hpp b/include/ndnboost/type_traits/extent.hpp
index f894eba..94de548 100644
--- a/include/ndnboost/type_traits/extent.hpp
+++ b/include/ndnboost/type_traits/extent.hpp
@@ -7,8 +7,8 @@
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
 
-#ifndef BOOST_TT_EXTENT_HPP_INCLUDED
-#define BOOST_TT_EXTENT_HPP_INCLUDED
+#ifndef NDNBOOST_TT_EXTENT_HPP_INCLUDED
+#define NDNBOOST_TT_EXTENT_HPP_INCLUDED
 
 // should be the last #include
 #include <ndnboost/type_traits/detail/size_t_trait_def.hpp>
@@ -29,97 +29,97 @@
 template <class T, std::size_t N>
 struct extent_imp
 {
-   BOOST_STATIC_CONSTANT(std::size_t, value = 0);
+   NDNBOOST_STATIC_CONSTANT(std::size_t, value = 0);
 };
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)
+#if !defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(NDNBOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)
 template <class T, std::size_t R, std::size_t N>
 struct extent_imp<T[R], N>
 {
-   BOOST_STATIC_CONSTANT(std::size_t, value = (::ndnboost::detail::extent_imp<T, N-1>::value));
+   NDNBOOST_STATIC_CONSTANT(std::size_t, value = (::ndnboost::detail::extent_imp<T, N-1>::value));
 };
 
 template <class T, std::size_t R, std::size_t N>
 struct extent_imp<T const[R], N>
 {
-   BOOST_STATIC_CONSTANT(std::size_t, value = (::ndnboost::detail::extent_imp<T, N-1>::value));
+   NDNBOOST_STATIC_CONSTANT(std::size_t, value = (::ndnboost::detail::extent_imp<T, N-1>::value));
 };
 
 template <class T, std::size_t R, std::size_t N>
 struct extent_imp<T volatile[R], N>
 {
-   BOOST_STATIC_CONSTANT(std::size_t, value = (::ndnboost::detail::extent_imp<T, N-1>::value));
+   NDNBOOST_STATIC_CONSTANT(std::size_t, value = (::ndnboost::detail::extent_imp<T, N-1>::value));
 };
 
 template <class T, std::size_t R, std::size_t N>
 struct extent_imp<T const volatile[R], N>
 {
-   BOOST_STATIC_CONSTANT(std::size_t, value = (::ndnboost::detail::extent_imp<T, N-1>::value));
+   NDNBOOST_STATIC_CONSTANT(std::size_t, value = (::ndnboost::detail::extent_imp<T, N-1>::value));
 };
 
 template <class T, std::size_t R>
 struct extent_imp<T[R],0>
 {
-   BOOST_STATIC_CONSTANT(std::size_t, value = R);
+   NDNBOOST_STATIC_CONSTANT(std::size_t, value = R);
 };
 
 template <class T, std::size_t R>
 struct extent_imp<T const[R], 0>
 {
-   BOOST_STATIC_CONSTANT(std::size_t, value = R);
+   NDNBOOST_STATIC_CONSTANT(std::size_t, value = R);
 };
 
 template <class T, std::size_t R>
 struct extent_imp<T volatile[R], 0>
 {
-   BOOST_STATIC_CONSTANT(std::size_t, value = R);
+   NDNBOOST_STATIC_CONSTANT(std::size_t, value = R);
 };
 
 template <class T, std::size_t R>
 struct extent_imp<T const volatile[R], 0>
 {
-   BOOST_STATIC_CONSTANT(std::size_t, value = R);
+   NDNBOOST_STATIC_CONSTANT(std::size_t, value = R);
 };
 
-#if !BOOST_WORKAROUND(__BORLANDC__, < 0x600) && !defined(__IBMCPP__) &&  !BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840)) && !defined(__MWERKS__)
+#if !NDNBOOST_WORKAROUND(__BORLANDC__, < 0x600) && !defined(__IBMCPP__) &&  !NDNBOOST_WORKAROUND(__DMC__, NDNBOOST_TESTED_AT(0x840)) && !defined(__MWERKS__)
 template <class T, std::size_t N>
 struct extent_imp<T[], N>
 {
-   BOOST_STATIC_CONSTANT(std::size_t, value = (::ndnboost::detail::extent_imp<T, N-1>::value));
+   NDNBOOST_STATIC_CONSTANT(std::size_t, value = (::ndnboost::detail::extent_imp<T, N-1>::value));
 };
 template <class T, std::size_t N>
 struct extent_imp<T const[], N>
 {
-   BOOST_STATIC_CONSTANT(std::size_t, value = (::ndnboost::detail::extent_imp<T, N-1>::value));
+   NDNBOOST_STATIC_CONSTANT(std::size_t, value = (::ndnboost::detail::extent_imp<T, N-1>::value));
 };
 template <class T, std::size_t N>
 struct extent_imp<T volatile[], N>
 {
-   BOOST_STATIC_CONSTANT(std::size_t, value = (::ndnboost::detail::extent_imp<T, N-1>::value));
+   NDNBOOST_STATIC_CONSTANT(std::size_t, value = (::ndnboost::detail::extent_imp<T, N-1>::value));
 };
 template <class T, std::size_t N>
 struct extent_imp<T const volatile[], N>
 {
-   BOOST_STATIC_CONSTANT(std::size_t, value = (::ndnboost::detail::extent_imp<T, N-1>::value));
+   NDNBOOST_STATIC_CONSTANT(std::size_t, value = (::ndnboost::detail::extent_imp<T, N-1>::value));
 };
 template <class T>
 struct extent_imp<T[], 0>
 {
-   BOOST_STATIC_CONSTANT(std::size_t, value = 0);
+   NDNBOOST_STATIC_CONSTANT(std::size_t, value = 0);
 };
 template <class T>
 struct extent_imp<T const[], 0>
 {
-   BOOST_STATIC_CONSTANT(std::size_t, value = 0);
+   NDNBOOST_STATIC_CONSTANT(std::size_t, value = 0);
 };
 template <class T>
 struct extent_imp<T volatile[], 0>
 {
-   BOOST_STATIC_CONSTANT(std::size_t, value = 0);
+   NDNBOOST_STATIC_CONSTANT(std::size_t, value = 0);
 };
 template <class T>
 struct extent_imp<T const volatile[], 0>
 {
-   BOOST_STATIC_CONSTANT(std::size_t, value = 0);
+   NDNBOOST_STATIC_CONSTANT(std::size_t, value = 0);
 };
 #endif
 #endif
@@ -131,15 +131,15 @@
 struct extent
    : public ::ndnboost::integral_constant<std::size_t, ::ndnboost::detail::extent_imp<T,N>::value>
 {
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1300) 
+#if NDNBOOST_WORKAROUND(NDNBOOST_MSVC, < 1300) 
    typedef ::ndnboost::integral_constant<std::size_t, ::ndnboost::detail::extent_imp<T,N>::value> base_; 
    using base_::value;
 #endif
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,extent,(T))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(1,extent,(T))
 };
 
 } // namespace ndnboost
 
 #include <ndnboost/type_traits/detail/size_t_trait_undef.hpp>
 
-#endif // BOOST_TT_IS_MEMBER_FUNCTION_POINTER_HPP_INCLUDED
+#endif // NDNBOOST_TT_IS_MEMBER_FUNCTION_POINTER_HPP_INCLUDED
diff --git a/include/ndnboost/type_traits/floating_point_promotion.hpp b/include/ndnboost/type_traits/floating_point_promotion.hpp
index a5a5861..3db875d 100644
--- a/include/ndnboost/type_traits/floating_point_promotion.hpp
+++ b/include/ndnboost/type_traits/floating_point_promotion.hpp
@@ -8,7 +8,7 @@
 
 #include <ndnboost/config.hpp>
 
-#ifdef BOOST_NO_CV_SPECIALIZATIONS
+#ifdef NDNBOOST_NO_CV_SPECIALIZATIONS
 #include <ndnboost/mpl/at.hpp>
 #include <ndnboost/mpl/int.hpp>
 #include <ndnboost/mpl/multiplies.hpp>
@@ -24,7 +24,7 @@
 
 namespace type_traits { namespace detail {
 
-#ifndef BOOST_NO_CV_SPECIALIZATIONS
+#ifndef NDNBOOST_NO_CV_SPECIALIZATIONS
 
 template<class T>
 struct floating_point_promotion
@@ -77,10 +77,10 @@
 
 } }
 
-BOOST_TT_AUX_TYPE_TRAIT_DEF1(
+NDNBOOST_TT_AUX_TYPE_TRAIT_DEF1(
       floating_point_promotion
     , T
-    , BOOST_DEDUCED_TYPENAME
+    , NDNBOOST_DEDUCED_TYPENAME
         ndnboost::type_traits::detail::floating_point_promotion<T>::type
     )
 }
diff --git a/include/ndnboost/type_traits/function_traits.hpp b/include/ndnboost/type_traits/function_traits.hpp
index 59ca94f..41260db 100644
--- a/include/ndnboost/type_traits/function_traits.hpp
+++ b/include/ndnboost/type_traits/function_traits.hpp
@@ -6,8 +6,8 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#ifndef BOOST_TT_FUNCTION_TRAITS_HPP_INCLUDED
-#define BOOST_TT_FUNCTION_TRAITS_HPP_INCLUDED
+#ifndef NDNBOOST_TT_FUNCTION_TRAITS_HPP_INCLUDED
+#define NDNBOOST_TT_FUNCTION_TRAITS_HPP_INCLUDED
 
 #include <ndnboost/config.hpp>
 #include <ndnboost/type_traits/is_function.hpp>
@@ -15,7 +15,7 @@
 
 namespace ndnboost {
 
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#ifndef NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 namespace detail {
 
 template<typename Function> struct function_traits_helper;
@@ -23,14 +23,14 @@
 template<typename R>
 struct function_traits_helper<R (*)(void)>
 {
-  BOOST_STATIC_CONSTANT(unsigned, arity = 0);
+  NDNBOOST_STATIC_CONSTANT(unsigned, arity = 0);
   typedef R result_type;
 };
 
 template<typename R, typename T1>
 struct function_traits_helper<R (*)(T1)>
 {
-  BOOST_STATIC_CONSTANT(unsigned, arity = 1);
+  NDNBOOST_STATIC_CONSTANT(unsigned, arity = 1);
   typedef R result_type;
   typedef T1 arg1_type;
   typedef T1 argument_type;
@@ -39,7 +39,7 @@
 template<typename R, typename T1, typename T2>
 struct function_traits_helper<R (*)(T1, T2)>
 {
-  BOOST_STATIC_CONSTANT(unsigned, arity = 2);
+  NDNBOOST_STATIC_CONSTANT(unsigned, arity = 2);
   typedef R result_type;
   typedef T1 arg1_type;
   typedef T2 arg2_type;
@@ -50,7 +50,7 @@
 template<typename R, typename T1, typename T2, typename T3>
 struct function_traits_helper<R (*)(T1, T2, T3)>
 {
-  BOOST_STATIC_CONSTANT(unsigned, arity = 3);
+  NDNBOOST_STATIC_CONSTANT(unsigned, arity = 3);
   typedef R result_type;
   typedef T1 arg1_type;
   typedef T2 arg2_type;
@@ -60,7 +60,7 @@
 template<typename R, typename T1, typename T2, typename T3, typename T4>
 struct function_traits_helper<R (*)(T1, T2, T3, T4)>
 {
-  BOOST_STATIC_CONSTANT(unsigned, arity = 4);
+  NDNBOOST_STATIC_CONSTANT(unsigned, arity = 4);
   typedef R result_type;
   typedef T1 arg1_type;
   typedef T2 arg2_type;
@@ -72,7 +72,7 @@
          typename T5>
 struct function_traits_helper<R (*)(T1, T2, T3, T4, T5)>
 {
-  BOOST_STATIC_CONSTANT(unsigned, arity = 5);
+  NDNBOOST_STATIC_CONSTANT(unsigned, arity = 5);
   typedef R result_type;
   typedef T1 arg1_type;
   typedef T2 arg2_type;
@@ -85,7 +85,7 @@
          typename T5, typename T6>
 struct function_traits_helper<R (*)(T1, T2, T3, T4, T5, T6)>
 {
-  BOOST_STATIC_CONSTANT(unsigned, arity = 6);
+  NDNBOOST_STATIC_CONSTANT(unsigned, arity = 6);
   typedef R result_type;
   typedef T1 arg1_type;
   typedef T2 arg2_type;
@@ -99,7 +99,7 @@
          typename T5, typename T6, typename T7>
 struct function_traits_helper<R (*)(T1, T2, T3, T4, T5, T6, T7)>
 {
-  BOOST_STATIC_CONSTANT(unsigned, arity = 7);
+  NDNBOOST_STATIC_CONSTANT(unsigned, arity = 7);
   typedef R result_type;
   typedef T1 arg1_type;
   typedef T2 arg2_type;
@@ -114,7 +114,7 @@
          typename T5, typename T6, typename T7, typename T8>
 struct function_traits_helper<R (*)(T1, T2, T3, T4, T5, T6, T7, T8)>
 {
-  BOOST_STATIC_CONSTANT(unsigned, arity = 8);
+  NDNBOOST_STATIC_CONSTANT(unsigned, arity = 8);
   typedef R result_type;
   typedef T1 arg1_type;
   typedef T2 arg2_type;
@@ -130,7 +130,7 @@
          typename T5, typename T6, typename T7, typename T8, typename T9>
 struct function_traits_helper<R (*)(T1, T2, T3, T4, T5, T6, T7, T8, T9)>
 {
-  BOOST_STATIC_CONSTANT(unsigned, arity = 9);
+  NDNBOOST_STATIC_CONSTANT(unsigned, arity = 9);
   typedef R result_type;
   typedef T1 arg1_type;
   typedef T2 arg2_type;
@@ -148,7 +148,7 @@
          typename T10>
 struct function_traits_helper<R (*)(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)>
 {
-  BOOST_STATIC_CONSTANT(unsigned, arity = 10);
+  NDNBOOST_STATIC_CONSTANT(unsigned, arity = 10);
   typedef R result_type;
   typedef T1 arg1_type;
   typedef T2 arg2_type;
@@ -227,10 +227,10 @@
 template<typename Function>
 struct function_traits
 {
-  BOOST_STATIC_CONSTANT(unsigned, arity = (sizeof(ndnboost::detail::function_arity_helper((Function*)0))-1));
+  NDNBOOST_STATIC_CONSTANT(unsigned, arity = (sizeof(ndnboost::detail::function_arity_helper((Function*)0))-1));
 };
 
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#endif // NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 }
 
-#endif // BOOST_TT_FUNCTION_TRAITS_HPP_INCLUDED
+#endif // NDNBOOST_TT_FUNCTION_TRAITS_HPP_INCLUDED
diff --git a/include/ndnboost/type_traits/has_bit_and.hpp b/include/ndnboost/type_traits/has_bit_and.hpp
index 0cc0982..ba2d0e5 100644
--- a/include/ndnboost/type_traits/has_bit_and.hpp
+++ b/include/ndnboost/type_traits/has_bit_and.hpp
@@ -6,12 +6,12 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#ifndef BOOST_TT_HAS_BIT_AND_HPP_INCLUDED
-#define BOOST_TT_HAS_BIT_AND_HPP_INCLUDED
+#ifndef NDNBOOST_TT_HAS_BIT_AND_HPP_INCLUDED
+#define NDNBOOST_TT_HAS_BIT_AND_HPP_INCLUDED
 
-#define BOOST_TT_TRAIT_NAME has_bit_and
-#define BOOST_TT_TRAIT_OP &
-#define BOOST_TT_FORBIDDEN_IF\
+#define NDNBOOST_TT_TRAIT_NAME has_bit_and
+#define NDNBOOST_TT_TRAIT_OP &
+#define NDNBOOST_TT_FORBIDDEN_IF\
    ::ndnboost::type_traits::ice_or<\
       /* Lhs==fundamental and Rhs==fundamental and (Lhs!=integral or Rhs!=integral) */\
       ::ndnboost::type_traits::ice_and<\
@@ -42,8 +42,8 @@
 
 #include <ndnboost/type_traits/detail/has_binary_operator.hpp>
 
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
+#undef NDNBOOST_TT_TRAIT_NAME
+#undef NDNBOOST_TT_TRAIT_OP
+#undef NDNBOOST_TT_FORBIDDEN_IF
 
 #endif
diff --git a/include/ndnboost/type_traits/has_bit_and_assign.hpp b/include/ndnboost/type_traits/has_bit_and_assign.hpp
index 41a9365..ecf65e0 100644
--- a/include/ndnboost/type_traits/has_bit_and_assign.hpp
+++ b/include/ndnboost/type_traits/has_bit_and_assign.hpp
@@ -6,12 +6,12 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#ifndef BOOST_TT_HAS_BIT_AND_ASSIGN_HPP_INCLUDED
-#define BOOST_TT_HAS_BIT_AND_ASSIGN_HPP_INCLUDED
+#ifndef NDNBOOST_TT_HAS_BIT_AND_ASSIGN_HPP_INCLUDED
+#define NDNBOOST_TT_HAS_BIT_AND_ASSIGN_HPP_INCLUDED
 
-#define BOOST_TT_TRAIT_NAME has_bit_and_assign
-#define BOOST_TT_TRAIT_OP &=
-#define BOOST_TT_FORBIDDEN_IF\
+#define NDNBOOST_TT_TRAIT_NAME has_bit_and_assign
+#define NDNBOOST_TT_TRAIT_OP &=
+#define NDNBOOST_TT_FORBIDDEN_IF\
    ::ndnboost::type_traits::ice_or<\
       /* Lhs==fundamental and Rhs==fundamental and (Lhs!=integral or Rhs!=integral) */\
       ::ndnboost::type_traits::ice_and<\
@@ -48,8 +48,8 @@
 
 #include <ndnboost/type_traits/detail/has_binary_operator.hpp>
 
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
+#undef NDNBOOST_TT_TRAIT_NAME
+#undef NDNBOOST_TT_TRAIT_OP
+#undef NDNBOOST_TT_FORBIDDEN_IF
 
 #endif
diff --git a/include/ndnboost/type_traits/has_bit_or.hpp b/include/ndnboost/type_traits/has_bit_or.hpp
index 2ce3273..1a97651 100644
--- a/include/ndnboost/type_traits/has_bit_or.hpp
+++ b/include/ndnboost/type_traits/has_bit_or.hpp
@@ -6,12 +6,12 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#ifndef BOOST_TT_HAS_BIT_OR_HPP_INCLUDED
-#define BOOST_TT_HAS_BIT_OR_HPP_INCLUDED
+#ifndef NDNBOOST_TT_HAS_BIT_OR_HPP_INCLUDED
+#define NDNBOOST_TT_HAS_BIT_OR_HPP_INCLUDED
 
-#define BOOST_TT_TRAIT_NAME has_bit_or
-#define BOOST_TT_TRAIT_OP |
-#define BOOST_TT_FORBIDDEN_IF\
+#define NDNBOOST_TT_TRAIT_NAME has_bit_or
+#define NDNBOOST_TT_TRAIT_OP |
+#define NDNBOOST_TT_FORBIDDEN_IF\
    ::ndnboost::type_traits::ice_or<\
       /* Lhs==fundamental and Rhs==fundamental and (Lhs!=integral or Rhs!=integral) */\
       ::ndnboost::type_traits::ice_and<\
@@ -42,8 +42,8 @@
 
 #include <ndnboost/type_traits/detail/has_binary_operator.hpp>
 
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
+#undef NDNBOOST_TT_TRAIT_NAME
+#undef NDNBOOST_TT_TRAIT_OP
+#undef NDNBOOST_TT_FORBIDDEN_IF
 
 #endif
diff --git a/include/ndnboost/type_traits/has_bit_or_assign.hpp b/include/ndnboost/type_traits/has_bit_or_assign.hpp
index 17b7c18..bf73437 100644
--- a/include/ndnboost/type_traits/has_bit_or_assign.hpp
+++ b/include/ndnboost/type_traits/has_bit_or_assign.hpp
@@ -6,12 +6,12 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#ifndef BOOST_TT_HAS_BIT_OR_ASSIGN_HPP_INCLUDED
-#define BOOST_TT_HAS_BIT_OR_ASSIGN_HPP_INCLUDED
+#ifndef NDNBOOST_TT_HAS_BIT_OR_ASSIGN_HPP_INCLUDED
+#define NDNBOOST_TT_HAS_BIT_OR_ASSIGN_HPP_INCLUDED
 
-#define BOOST_TT_TRAIT_NAME has_bit_or_assign
-#define BOOST_TT_TRAIT_OP |=
-#define BOOST_TT_FORBIDDEN_IF\
+#define NDNBOOST_TT_TRAIT_NAME has_bit_or_assign
+#define NDNBOOST_TT_TRAIT_OP |=
+#define NDNBOOST_TT_FORBIDDEN_IF\
    ::ndnboost::type_traits::ice_or<\
       /* Lhs==fundamental and Rhs==fundamental and (Lhs!=integral or Rhs!=integral) */\
       ::ndnboost::type_traits::ice_and<\
@@ -48,8 +48,8 @@
 
 #include <ndnboost/type_traits/detail/has_binary_operator.hpp>
 
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
+#undef NDNBOOST_TT_TRAIT_NAME
+#undef NDNBOOST_TT_TRAIT_OP
+#undef NDNBOOST_TT_FORBIDDEN_IF
 
 #endif
diff --git a/include/ndnboost/type_traits/has_bit_xor.hpp b/include/ndnboost/type_traits/has_bit_xor.hpp
index 8298e0e..083a4fc 100644
--- a/include/ndnboost/type_traits/has_bit_xor.hpp
+++ b/include/ndnboost/type_traits/has_bit_xor.hpp
@@ -6,12 +6,12 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#ifndef BOOST_TT_HAS_BIT_XOR_HPP_INCLUDED
-#define BOOST_TT_HAS_BIT_XOR_HPP_INCLUDED
+#ifndef NDNBOOST_TT_HAS_BIT_XOR_HPP_INCLUDED
+#define NDNBOOST_TT_HAS_BIT_XOR_HPP_INCLUDED
 
-#define BOOST_TT_TRAIT_NAME has_bit_xor
-#define BOOST_TT_TRAIT_OP ^
-#define BOOST_TT_FORBIDDEN_IF\
+#define NDNBOOST_TT_TRAIT_NAME has_bit_xor
+#define NDNBOOST_TT_TRAIT_OP ^
+#define NDNBOOST_TT_FORBIDDEN_IF\
    ::ndnboost::type_traits::ice_or<\
       /* Lhs==fundamental and Rhs==fundamental and (Lhs!=integral or Rhs!=integral) */\
       ::ndnboost::type_traits::ice_and<\
@@ -42,8 +42,8 @@
 
 #include <ndnboost/type_traits/detail/has_binary_operator.hpp>
 
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
+#undef NDNBOOST_TT_TRAIT_NAME
+#undef NDNBOOST_TT_TRAIT_OP
+#undef NDNBOOST_TT_FORBIDDEN_IF
 
 #endif
diff --git a/include/ndnboost/type_traits/has_bit_xor_assign.hpp b/include/ndnboost/type_traits/has_bit_xor_assign.hpp
index 81cae95..d7fa3af 100644
--- a/include/ndnboost/type_traits/has_bit_xor_assign.hpp
+++ b/include/ndnboost/type_traits/has_bit_xor_assign.hpp
@@ -6,12 +6,12 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#ifndef BOOST_TT_HAS_BIT_XOR_ASSIGN_HPP_INCLUDED
-#define BOOST_TT_HAS_BIT_XOR_ASSIGN_HPP_INCLUDED
+#ifndef NDNBOOST_TT_HAS_BIT_XOR_ASSIGN_HPP_INCLUDED
+#define NDNBOOST_TT_HAS_BIT_XOR_ASSIGN_HPP_INCLUDED
 
-#define BOOST_TT_TRAIT_NAME has_bit_xor_assign
-#define BOOST_TT_TRAIT_OP ^=
-#define BOOST_TT_FORBIDDEN_IF\
+#define NDNBOOST_TT_TRAIT_NAME has_bit_xor_assign
+#define NDNBOOST_TT_TRAIT_OP ^=
+#define NDNBOOST_TT_FORBIDDEN_IF\
    ::ndnboost::type_traits::ice_or<\
       /* Lhs==fundamental and Rhs==fundamental and (Lhs!=integral or Rhs!=integral) */\
       ::ndnboost::type_traits::ice_and<\
@@ -48,8 +48,8 @@
 
 #include <ndnboost/type_traits/detail/has_binary_operator.hpp>
 
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
+#undef NDNBOOST_TT_TRAIT_NAME
+#undef NDNBOOST_TT_TRAIT_OP
+#undef NDNBOOST_TT_FORBIDDEN_IF
 
 #endif
diff --git a/include/ndnboost/type_traits/has_complement.hpp b/include/ndnboost/type_traits/has_complement.hpp
index c87d360..427f6ff 100644
--- a/include/ndnboost/type_traits/has_complement.hpp
+++ b/include/ndnboost/type_traits/has_complement.hpp
@@ -6,12 +6,12 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#ifndef BOOST_TT_HAS_COMPLEMENT_HPP_INCLUDED
-#define BOOST_TT_HAS_COMPLEMENT_HPP_INCLUDED
+#ifndef NDNBOOST_TT_HAS_COMPLEMENT_HPP_INCLUDED
+#define NDNBOOST_TT_HAS_COMPLEMENT_HPP_INCLUDED
 
-#define BOOST_TT_TRAIT_NAME has_complement
-#define BOOST_TT_TRAIT_OP ~
-#define BOOST_TT_FORBIDDEN_IF\
+#define NDNBOOST_TT_TRAIT_NAME has_complement
+#define NDNBOOST_TT_TRAIT_OP ~
+#define NDNBOOST_TT_FORBIDDEN_IF\
    ::ndnboost::type_traits::ice_or<\
       /* pointer */\
       ::ndnboost::is_pointer< Rhs_noref >::value,\
@@ -25,8 +25,8 @@
 
 #include <ndnboost/type_traits/detail/has_prefix_operator.hpp>
 
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
+#undef NDNBOOST_TT_TRAIT_NAME
+#undef NDNBOOST_TT_TRAIT_OP
+#undef NDNBOOST_TT_FORBIDDEN_IF
 
 #endif
diff --git a/include/ndnboost/type_traits/has_dereference.hpp b/include/ndnboost/type_traits/has_dereference.hpp
index b890f68..66f255a 100644
--- a/include/ndnboost/type_traits/has_dereference.hpp
+++ b/include/ndnboost/type_traits/has_dereference.hpp
@@ -6,12 +6,12 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#ifndef BOOST_TT_HAS_DEREFERENCE_HPP_INCLUDED
-#define BOOST_TT_HAS_DEREFERENCE_HPP_INCLUDED
+#ifndef NDNBOOST_TT_HAS_DEREFERENCE_HPP_INCLUDED
+#define NDNBOOST_TT_HAS_DEREFERENCE_HPP_INCLUDED
 
-#define BOOST_TT_TRAIT_NAME has_dereference
-#define BOOST_TT_TRAIT_OP *
-#define BOOST_TT_FORBIDDEN_IF\
+#define NDNBOOST_TT_TRAIT_NAME has_dereference
+#define NDNBOOST_TT_TRAIT_OP *
+#define NDNBOOST_TT_FORBIDDEN_IF\
    /* void* or fundamental */\
    ::ndnboost::type_traits::ice_or<\
       ::ndnboost::type_traits::ice_and<\
@@ -24,8 +24,8 @@
 
 #include <ndnboost/type_traits/detail/has_prefix_operator.hpp>
 
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
+#undef NDNBOOST_TT_TRAIT_NAME
+#undef NDNBOOST_TT_TRAIT_OP
+#undef NDNBOOST_TT_FORBIDDEN_IF
 
 #endif
diff --git a/include/ndnboost/type_traits/has_divides.hpp b/include/ndnboost/type_traits/has_divides.hpp
index 3825743..b1e79eb 100644
--- a/include/ndnboost/type_traits/has_divides.hpp
+++ b/include/ndnboost/type_traits/has_divides.hpp
@@ -6,12 +6,12 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#ifndef BOOST_TT_HAS_DIVIDES_HPP_INCLUDED
-#define BOOST_TT_HAS_DIVIDES_HPP_INCLUDED
+#ifndef NDNBOOST_TT_HAS_DIVIDES_HPP_INCLUDED
+#define NDNBOOST_TT_HAS_DIVIDES_HPP_INCLUDED
 
-#define BOOST_TT_TRAIT_NAME has_divides
-#define BOOST_TT_TRAIT_OP /
-#define BOOST_TT_FORBIDDEN_IF\
+#define NDNBOOST_TT_TRAIT_NAME has_divides
+#define NDNBOOST_TT_TRAIT_OP /
+#define NDNBOOST_TT_FORBIDDEN_IF\
    /* pointer with pointer or fundamental */\
    ::ndnboost::type_traits::ice_or<\
       ::ndnboost::type_traits::ice_and<\
@@ -33,8 +33,8 @@
 
 #include <ndnboost/type_traits/detail/has_binary_operator.hpp>
 
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
+#undef NDNBOOST_TT_TRAIT_NAME
+#undef NDNBOOST_TT_TRAIT_OP
+#undef NDNBOOST_TT_FORBIDDEN_IF
 
 #endif
diff --git a/include/ndnboost/type_traits/has_divides_assign.hpp b/include/ndnboost/type_traits/has_divides_assign.hpp
index d594dfe..7c3150f 100644
--- a/include/ndnboost/type_traits/has_divides_assign.hpp
+++ b/include/ndnboost/type_traits/has_divides_assign.hpp
@@ -6,12 +6,12 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#ifndef BOOST_TT_HAS_DIVIDES_ASSIGN_HPP_INCLUDED
-#define BOOST_TT_HAS_DIVIDES_ASSIGN_HPP_INCLUDED
+#ifndef NDNBOOST_TT_HAS_DIVIDES_ASSIGN_HPP_INCLUDED
+#define NDNBOOST_TT_HAS_DIVIDES_ASSIGN_HPP_INCLUDED
 
-#define BOOST_TT_TRAIT_NAME has_divides_assign
-#define BOOST_TT_TRAIT_OP /=
-#define BOOST_TT_FORBIDDEN_IF\
+#define NDNBOOST_TT_TRAIT_NAME has_divides_assign
+#define NDNBOOST_TT_TRAIT_OP /=
+#define NDNBOOST_TT_FORBIDDEN_IF\
    ::ndnboost::type_traits::ice_or<\
       /* Lhs==fundamental and Lhs==const and Rhs==fundamental */\
       ::ndnboost::type_traits::ice_and<\
@@ -40,8 +40,8 @@
 
 #include <ndnboost/type_traits/detail/has_binary_operator.hpp>
 
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
+#undef NDNBOOST_TT_TRAIT_NAME
+#undef NDNBOOST_TT_TRAIT_OP
+#undef NDNBOOST_TT_FORBIDDEN_IF
 
 #endif
diff --git a/include/ndnboost/type_traits/has_equal_to.hpp b/include/ndnboost/type_traits/has_equal_to.hpp
index cd0b8d1..ad129e8 100644
--- a/include/ndnboost/type_traits/has_equal_to.hpp
+++ b/include/ndnboost/type_traits/has_equal_to.hpp
@@ -6,12 +6,12 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#ifndef BOOST_TT_HAS_EQUAL_TO_HPP_INCLUDED
-#define BOOST_TT_HAS_EQUAL_TO_HPP_INCLUDED
+#ifndef NDNBOOST_TT_HAS_EQUAL_TO_HPP_INCLUDED
+#define NDNBOOST_TT_HAS_EQUAL_TO_HPP_INCLUDED
 
-#define BOOST_TT_TRAIT_NAME has_equal_to
-#define BOOST_TT_TRAIT_OP ==
-#define BOOST_TT_FORBIDDEN_IF\
+#define NDNBOOST_TT_TRAIT_NAME has_equal_to
+#define NDNBOOST_TT_TRAIT_OP ==
+#define NDNBOOST_TT_FORBIDDEN_IF\
    ::ndnboost::type_traits::ice_or<\
       /* Lhs==pointer and Rhs==fundamental */\
       ::ndnboost::type_traits::ice_and<\
@@ -42,8 +42,8 @@
 
 #include <ndnboost/type_traits/detail/has_binary_operator.hpp>
 
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
+#undef NDNBOOST_TT_TRAIT_NAME
+#undef NDNBOOST_TT_TRAIT_OP
+#undef NDNBOOST_TT_FORBIDDEN_IF
 
 #endif
diff --git a/include/ndnboost/type_traits/has_greater.hpp b/include/ndnboost/type_traits/has_greater.hpp
index dc8889a..65d7df6 100644
--- a/include/ndnboost/type_traits/has_greater.hpp
+++ b/include/ndnboost/type_traits/has_greater.hpp
@@ -6,12 +6,12 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#ifndef BOOST_TT_HAS_GREATER_HPP_INCLUDED
-#define BOOST_TT_HAS_GREATER_HPP_INCLUDED
+#ifndef NDNBOOST_TT_HAS_GREATER_HPP_INCLUDED
+#define NDNBOOST_TT_HAS_GREATER_HPP_INCLUDED
 
-#define BOOST_TT_TRAIT_NAME has_greater
-#define BOOST_TT_TRAIT_OP >
-#define BOOST_TT_FORBIDDEN_IF\
+#define NDNBOOST_TT_TRAIT_NAME has_greater
+#define NDNBOOST_TT_TRAIT_OP >
+#define NDNBOOST_TT_FORBIDDEN_IF\
    ::ndnboost::type_traits::ice_or<\
       /* Lhs==pointer and Rhs==fundamental */\
       ::ndnboost::type_traits::ice_and<\
@@ -42,8 +42,8 @@
 
 #include <ndnboost/type_traits/detail/has_binary_operator.hpp>
 
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
+#undef NDNBOOST_TT_TRAIT_NAME
+#undef NDNBOOST_TT_TRAIT_OP
+#undef NDNBOOST_TT_FORBIDDEN_IF
 
 #endif
diff --git a/include/ndnboost/type_traits/has_greater_equal.hpp b/include/ndnboost/type_traits/has_greater_equal.hpp
index f1ec262..03e6c90 100644
--- a/include/ndnboost/type_traits/has_greater_equal.hpp
+++ b/include/ndnboost/type_traits/has_greater_equal.hpp
@@ -6,12 +6,12 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#ifndef BOOST_TT_HAS_GREATER_EQUAL_HPP_INCLUDED
-#define BOOST_TT_HAS_GREATER_EQUAL_HPP_INCLUDED
+#ifndef NDNBOOST_TT_HAS_GREATER_EQUAL_HPP_INCLUDED
+#define NDNBOOST_TT_HAS_GREATER_EQUAL_HPP_INCLUDED
 
-#define BOOST_TT_TRAIT_NAME has_greater_equal
-#define BOOST_TT_TRAIT_OP >=
-#define BOOST_TT_FORBIDDEN_IF\
+#define NDNBOOST_TT_TRAIT_NAME has_greater_equal
+#define NDNBOOST_TT_TRAIT_OP >=
+#define NDNBOOST_TT_FORBIDDEN_IF\
    ::ndnboost::type_traits::ice_or<\
       /* Lhs==pointer and Rhs==fundamental */\
       ::ndnboost::type_traits::ice_and<\
@@ -42,8 +42,8 @@
 
 #include <ndnboost/type_traits/detail/has_binary_operator.hpp>
 
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
+#undef NDNBOOST_TT_TRAIT_NAME
+#undef NDNBOOST_TT_TRAIT_OP
+#undef NDNBOOST_TT_FORBIDDEN_IF
 
 #endif
diff --git a/include/ndnboost/type_traits/has_left_shift.hpp b/include/ndnboost/type_traits/has_left_shift.hpp
index 27978aa..bf6d341 100644
--- a/include/ndnboost/type_traits/has_left_shift.hpp
+++ b/include/ndnboost/type_traits/has_left_shift.hpp
@@ -6,12 +6,12 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#ifndef BOOST_TT_HAS_LEFT_SHIFT_HPP_INCLUDED
-#define BOOST_TT_HAS_LEFT_SHIFT_HPP_INCLUDED
+#ifndef NDNBOOST_TT_HAS_LEFT_SHIFT_HPP_INCLUDED
+#define NDNBOOST_TT_HAS_LEFT_SHIFT_HPP_INCLUDED
 
-#define BOOST_TT_TRAIT_NAME has_left_shift
-#define BOOST_TT_TRAIT_OP <<
-#define BOOST_TT_FORBIDDEN_IF\
+#define NDNBOOST_TT_TRAIT_NAME has_left_shift
+#define NDNBOOST_TT_TRAIT_OP <<
+#define NDNBOOST_TT_FORBIDDEN_IF\
    ::ndnboost::type_traits::ice_or<\
       /* Lhs==fundamental and Rhs==fundamental and (Lhs!=integral or Rhs!=integral) */\
       ::ndnboost::type_traits::ice_and<\
@@ -42,8 +42,8 @@
 
 #include <ndnboost/type_traits/detail/has_binary_operator.hpp>
 
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
+#undef NDNBOOST_TT_TRAIT_NAME
+#undef NDNBOOST_TT_TRAIT_OP
+#undef NDNBOOST_TT_FORBIDDEN_IF
 
 #endif
diff --git a/include/ndnboost/type_traits/has_left_shift_assign.hpp b/include/ndnboost/type_traits/has_left_shift_assign.hpp
index 59aec51..6df35e9 100644
--- a/include/ndnboost/type_traits/has_left_shift_assign.hpp
+++ b/include/ndnboost/type_traits/has_left_shift_assign.hpp
@@ -6,12 +6,12 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#ifndef BOOST_TT_HAS_LEFT_SHIFT_ASSIGN_HPP_INCLUDED
-#define BOOST_TT_HAS_LEFT_SHIFT_ASSIGN_HPP_INCLUDED
+#ifndef NDNBOOST_TT_HAS_LEFT_SHIFT_ASSIGN_HPP_INCLUDED
+#define NDNBOOST_TT_HAS_LEFT_SHIFT_ASSIGN_HPP_INCLUDED
 
-#define BOOST_TT_TRAIT_NAME has_left_shift_assign
-#define BOOST_TT_TRAIT_OP <<=
-#define BOOST_TT_FORBIDDEN_IF\
+#define NDNBOOST_TT_TRAIT_NAME has_left_shift_assign
+#define NDNBOOST_TT_TRAIT_OP <<=
+#define NDNBOOST_TT_FORBIDDEN_IF\
    ::ndnboost::type_traits::ice_or<\
       /* Lhs==fundamental and Rhs==fundamental and (Lhs!=integral or Rhs!=integral) */\
       ::ndnboost::type_traits::ice_and<\
@@ -48,8 +48,8 @@
 
 #include <ndnboost/type_traits/detail/has_binary_operator.hpp>
 
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
+#undef NDNBOOST_TT_TRAIT_NAME
+#undef NDNBOOST_TT_TRAIT_OP
+#undef NDNBOOST_TT_FORBIDDEN_IF
 
 #endif
diff --git a/include/ndnboost/type_traits/has_less.hpp b/include/ndnboost/type_traits/has_less.hpp
index 167941d..962c260 100644
--- a/include/ndnboost/type_traits/has_less.hpp
+++ b/include/ndnboost/type_traits/has_less.hpp
@@ -6,12 +6,12 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#ifndef BOOST_TT_HAS_LESS_HPP_INCLUDED
-#define BOOST_TT_HAS_LESS_HPP_INCLUDED
+#ifndef NDNBOOST_TT_HAS_LESS_HPP_INCLUDED
+#define NDNBOOST_TT_HAS_LESS_HPP_INCLUDED
 
-#define BOOST_TT_TRAIT_NAME has_less
-#define BOOST_TT_TRAIT_OP <
-#define BOOST_TT_FORBIDDEN_IF\
+#define NDNBOOST_TT_TRAIT_NAME has_less
+#define NDNBOOST_TT_TRAIT_OP <
+#define NDNBOOST_TT_FORBIDDEN_IF\
    ::ndnboost::type_traits::ice_or<\
       /* Lhs==pointer and Rhs==fundamental */\
       ::ndnboost::type_traits::ice_and<\
@@ -42,8 +42,8 @@
 
 #include <ndnboost/type_traits/detail/has_binary_operator.hpp>
 
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
+#undef NDNBOOST_TT_TRAIT_NAME
+#undef NDNBOOST_TT_TRAIT_OP
+#undef NDNBOOST_TT_FORBIDDEN_IF
 
 #endif
diff --git a/include/ndnboost/type_traits/has_less_equal.hpp b/include/ndnboost/type_traits/has_less_equal.hpp
index 5e180c6..ee2a25e 100644
--- a/include/ndnboost/type_traits/has_less_equal.hpp
+++ b/include/ndnboost/type_traits/has_less_equal.hpp
@@ -6,12 +6,12 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#ifndef BOOST_TT_HAS_LESS_EQUAL_HPP_INCLUDED
-#define BOOST_TT_HAS_LESS_EQUAL_HPP_INCLUDED
+#ifndef NDNBOOST_TT_HAS_LESS_EQUAL_HPP_INCLUDED
+#define NDNBOOST_TT_HAS_LESS_EQUAL_HPP_INCLUDED
 
-#define BOOST_TT_TRAIT_NAME has_less_equal
-#define BOOST_TT_TRAIT_OP <=
-#define BOOST_TT_FORBIDDEN_IF\
+#define NDNBOOST_TT_TRAIT_NAME has_less_equal
+#define NDNBOOST_TT_TRAIT_OP <=
+#define NDNBOOST_TT_FORBIDDEN_IF\
    ::ndnboost::type_traits::ice_or<\
       /* Lhs==pointer and Rhs==fundamental */\
       ::ndnboost::type_traits::ice_and<\
@@ -42,8 +42,8 @@
 
 #include <ndnboost/type_traits/detail/has_binary_operator.hpp>
 
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
+#undef NDNBOOST_TT_TRAIT_NAME
+#undef NDNBOOST_TT_TRAIT_OP
+#undef NDNBOOST_TT_FORBIDDEN_IF
 
 #endif
diff --git a/include/ndnboost/type_traits/has_logical_and.hpp b/include/ndnboost/type_traits/has_logical_and.hpp
index a5b7944..80bca8e 100644
--- a/include/ndnboost/type_traits/has_logical_and.hpp
+++ b/include/ndnboost/type_traits/has_logical_and.hpp
@@ -6,12 +6,12 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#ifndef BOOST_TT_HAS_LOGICAL_AND_HPP_INCLUDED
-#define BOOST_TT_HAS_LOGICAL_AND_HPP_INCLUDED
+#ifndef NDNBOOST_TT_HAS_LOGICAL_AND_HPP_INCLUDED
+#define NDNBOOST_TT_HAS_LOGICAL_AND_HPP_INCLUDED
 
-#define BOOST_TT_TRAIT_NAME has_logical_and
-#define BOOST_TT_TRAIT_OP &&
-#define BOOST_TT_FORBIDDEN_IF\
+#define NDNBOOST_TT_TRAIT_NAME has_logical_and
+#define NDNBOOST_TT_TRAIT_OP &&
+#define NDNBOOST_TT_FORBIDDEN_IF\
    /* pointer with fundamental non convertible to bool */\
    ::ndnboost::type_traits::ice_or<\
       ::ndnboost::type_traits::ice_and<\
@@ -33,8 +33,8 @@
 
 #include <ndnboost/type_traits/detail/has_binary_operator.hpp>
 
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
+#undef NDNBOOST_TT_TRAIT_NAME
+#undef NDNBOOST_TT_TRAIT_OP
+#undef NDNBOOST_TT_FORBIDDEN_IF
 
 #endif
diff --git a/include/ndnboost/type_traits/has_logical_not.hpp b/include/ndnboost/type_traits/has_logical_not.hpp
index 548f944..d16cd44 100644
--- a/include/ndnboost/type_traits/has_logical_not.hpp
+++ b/include/ndnboost/type_traits/has_logical_not.hpp
@@ -6,18 +6,18 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#ifndef BOOST_TT_HAS_LOGICAL_NOT_HPP_INCLUDED
-#define BOOST_TT_HAS_LOGICAL_NOT_HPP_INCLUDED
+#ifndef NDNBOOST_TT_HAS_LOGICAL_NOT_HPP_INCLUDED
+#define NDNBOOST_TT_HAS_LOGICAL_NOT_HPP_INCLUDED
 
-#define BOOST_TT_TRAIT_NAME has_logical_not
-#define BOOST_TT_TRAIT_OP !
-#define BOOST_TT_FORBIDDEN_IF\
+#define NDNBOOST_TT_TRAIT_NAME has_logical_not
+#define NDNBOOST_TT_TRAIT_OP !
+#define NDNBOOST_TT_FORBIDDEN_IF\
    false
 
 #include <ndnboost/type_traits/detail/has_prefix_operator.hpp>
 
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
+#undef NDNBOOST_TT_TRAIT_NAME
+#undef NDNBOOST_TT_TRAIT_OP
+#undef NDNBOOST_TT_FORBIDDEN_IF
 
 #endif
diff --git a/include/ndnboost/type_traits/has_logical_or.hpp b/include/ndnboost/type_traits/has_logical_or.hpp
index 7348b30..0fd1d05 100644
--- a/include/ndnboost/type_traits/has_logical_or.hpp
+++ b/include/ndnboost/type_traits/has_logical_or.hpp
@@ -6,12 +6,12 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#ifndef BOOST_TT_HAS_LOGICAL_OR_HPP_INCLUDED
-#define BOOST_TT_HAS_LOGICAL_OR_HPP_INCLUDED
+#ifndef NDNBOOST_TT_HAS_LOGICAL_OR_HPP_INCLUDED
+#define NDNBOOST_TT_HAS_LOGICAL_OR_HPP_INCLUDED
 
-#define BOOST_TT_TRAIT_NAME has_logical_or
-#define BOOST_TT_TRAIT_OP ||
-#define BOOST_TT_FORBIDDEN_IF\
+#define NDNBOOST_TT_TRAIT_NAME has_logical_or
+#define NDNBOOST_TT_TRAIT_OP ||
+#define NDNBOOST_TT_FORBIDDEN_IF\
    /* pointer with fundamental non convertible to bool */\
    ::ndnboost::type_traits::ice_or<\
       ::ndnboost::type_traits::ice_and<\
@@ -33,8 +33,8 @@
 
 #include <ndnboost/type_traits/detail/has_binary_operator.hpp>
 
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
+#undef NDNBOOST_TT_TRAIT_NAME
+#undef NDNBOOST_TT_TRAIT_OP
+#undef NDNBOOST_TT_FORBIDDEN_IF
 
 #endif
diff --git a/include/ndnboost/type_traits/has_minus.hpp b/include/ndnboost/type_traits/has_minus.hpp
index a7d5789..54d6e05 100644
--- a/include/ndnboost/type_traits/has_minus.hpp
+++ b/include/ndnboost/type_traits/has_minus.hpp
@@ -6,12 +6,12 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#ifndef BOOST_TT_HAS_MINUS_HPP_INCLUDED
-#define BOOST_TT_HAS_MINUS_HPP_INCLUDED
+#ifndef NDNBOOST_TT_HAS_MINUS_HPP_INCLUDED
+#define NDNBOOST_TT_HAS_MINUS_HPP_INCLUDED
 
-#define BOOST_TT_TRAIT_NAME has_minus
-#define BOOST_TT_TRAIT_OP -
-#define BOOST_TT_FORBIDDEN_IF\
+#define NDNBOOST_TT_TRAIT_NAME has_minus
+#define NDNBOOST_TT_TRAIT_OP -
+#define NDNBOOST_TT_FORBIDDEN_IF\
    ::ndnboost::type_traits::ice_or<\
       /* Lhs==pointer and Rhs==fundamental and Rhs!=integral */\
       ::ndnboost::type_traits::ice_and<\
@@ -53,8 +53,8 @@
 
 #include <ndnboost/type_traits/detail/has_binary_operator.hpp>
 
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
+#undef NDNBOOST_TT_TRAIT_NAME
+#undef NDNBOOST_TT_TRAIT_OP
+#undef NDNBOOST_TT_FORBIDDEN_IF
 
 #endif
diff --git a/include/ndnboost/type_traits/has_minus_assign.hpp b/include/ndnboost/type_traits/has_minus_assign.hpp
index ce3f35a..391b83d 100644
--- a/include/ndnboost/type_traits/has_minus_assign.hpp
+++ b/include/ndnboost/type_traits/has_minus_assign.hpp
@@ -6,12 +6,12 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#ifndef BOOST_TT_HAS_MINUS_ASSIGN_HPP_INCLUDED
-#define BOOST_TT_HAS_MINUS_ASSIGN_HPP_INCLUDED
+#ifndef NDNBOOST_TT_HAS_MINUS_ASSIGN_HPP_INCLUDED
+#define NDNBOOST_TT_HAS_MINUS_ASSIGN_HPP_INCLUDED
 
-#define BOOST_TT_TRAIT_NAME has_minus_assign
-#define BOOST_TT_TRAIT_OP -=
-#define BOOST_TT_FORBIDDEN_IF\
+#define NDNBOOST_TT_TRAIT_NAME has_minus_assign
+#define NDNBOOST_TT_TRAIT_OP -=
+#define NDNBOOST_TT_FORBIDDEN_IF\
    ::ndnboost::type_traits::ice_or<\
       /* Lhs==pointer and Rhs==fundamental and Rhs!=integral */\
       ::ndnboost::type_traits::ice_and<\
@@ -58,8 +58,8 @@
 
 #include <ndnboost/type_traits/detail/has_binary_operator.hpp>
 
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
+#undef NDNBOOST_TT_TRAIT_NAME
+#undef NDNBOOST_TT_TRAIT_OP
+#undef NDNBOOST_TT_FORBIDDEN_IF
 
 #endif
diff --git a/include/ndnboost/type_traits/has_modulus.hpp b/include/ndnboost/type_traits/has_modulus.hpp
index 044893a..e0f8e9f 100644
--- a/include/ndnboost/type_traits/has_modulus.hpp
+++ b/include/ndnboost/type_traits/has_modulus.hpp
@@ -6,12 +6,12 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#ifndef BOOST_TT_HAS_MODULUS_HPP_INCLUDED
-#define BOOST_TT_HAS_MODULUS_HPP_INCLUDED
+#ifndef NDNBOOST_TT_HAS_MODULUS_HPP_INCLUDED
+#define NDNBOOST_TT_HAS_MODULUS_HPP_INCLUDED
 
-#define BOOST_TT_TRAIT_NAME has_modulus
-#define BOOST_TT_TRAIT_OP %
-#define BOOST_TT_FORBIDDEN_IF\
+#define NDNBOOST_TT_TRAIT_NAME has_modulus
+#define NDNBOOST_TT_TRAIT_OP %
+#define NDNBOOST_TT_FORBIDDEN_IF\
    ::ndnboost::type_traits::ice_or<\
       /* Lhs==fundamental and Rhs==fundamental and (Lhs!=integral or Rhs!=integral) */\
       ::ndnboost::type_traits::ice_and<\
@@ -42,8 +42,8 @@
 
 #include <ndnboost/type_traits/detail/has_binary_operator.hpp>
 
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
+#undef NDNBOOST_TT_TRAIT_NAME
+#undef NDNBOOST_TT_TRAIT_OP
+#undef NDNBOOST_TT_FORBIDDEN_IF
 
 #endif
diff --git a/include/ndnboost/type_traits/has_modulus_assign.hpp b/include/ndnboost/type_traits/has_modulus_assign.hpp
index e9c1eb2..2412ee2 100644
--- a/include/ndnboost/type_traits/has_modulus_assign.hpp
+++ b/include/ndnboost/type_traits/has_modulus_assign.hpp
@@ -6,12 +6,12 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#ifndef BOOST_TT_HAS_MODULUS_ASSIGN_HPP_INCLUDED
-#define BOOST_TT_HAS_MODULUS_ASSIGN_HPP_INCLUDED
+#ifndef NDNBOOST_TT_HAS_MODULUS_ASSIGN_HPP_INCLUDED
+#define NDNBOOST_TT_HAS_MODULUS_ASSIGN_HPP_INCLUDED
 
-#define BOOST_TT_TRAIT_NAME has_modulus_assign
-#define BOOST_TT_TRAIT_OP %=
-#define BOOST_TT_FORBIDDEN_IF\
+#define NDNBOOST_TT_TRAIT_NAME has_modulus_assign
+#define NDNBOOST_TT_TRAIT_OP %=
+#define NDNBOOST_TT_FORBIDDEN_IF\
    ::ndnboost::type_traits::ice_or<\
       /* Lhs==fundamental and Rhs==fundamental and (Lhs!=integral or Rhs!=integral) */\
       ::ndnboost::type_traits::ice_and<\
@@ -48,8 +48,8 @@
 
 #include <ndnboost/type_traits/detail/has_binary_operator.hpp>
 
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
+#undef NDNBOOST_TT_TRAIT_NAME
+#undef NDNBOOST_TT_TRAIT_OP
+#undef NDNBOOST_TT_FORBIDDEN_IF
 
 #endif
diff --git a/include/ndnboost/type_traits/has_multiplies.hpp b/include/ndnboost/type_traits/has_multiplies.hpp
index 3fd7738..f53eeaa 100644
--- a/include/ndnboost/type_traits/has_multiplies.hpp
+++ b/include/ndnboost/type_traits/has_multiplies.hpp
@@ -6,12 +6,12 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#ifndef BOOST_TT_HAS_MULTIPLIES_HPP_INCLUDED
-#define BOOST_TT_HAS_MULTIPLIES_HPP_INCLUDED
+#ifndef NDNBOOST_TT_HAS_MULTIPLIES_HPP_INCLUDED
+#define NDNBOOST_TT_HAS_MULTIPLIES_HPP_INCLUDED
 
-#define BOOST_TT_TRAIT_NAME has_multiplies
-#define BOOST_TT_TRAIT_OP *
-#define BOOST_TT_FORBIDDEN_IF\
+#define NDNBOOST_TT_TRAIT_NAME has_multiplies
+#define NDNBOOST_TT_TRAIT_OP *
+#define NDNBOOST_TT_FORBIDDEN_IF\
    /* pointer with pointer or fundamental */\
    ::ndnboost::type_traits::ice_or<\
       ::ndnboost::type_traits::ice_and<\
@@ -33,8 +33,8 @@
 
 #include <ndnboost/type_traits/detail/has_binary_operator.hpp>
 
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
+#undef NDNBOOST_TT_TRAIT_NAME
+#undef NDNBOOST_TT_TRAIT_OP
+#undef NDNBOOST_TT_FORBIDDEN_IF
 
 #endif
diff --git a/include/ndnboost/type_traits/has_multiplies_assign.hpp b/include/ndnboost/type_traits/has_multiplies_assign.hpp
index 73e497f..ce70851 100644
--- a/include/ndnboost/type_traits/has_multiplies_assign.hpp
+++ b/include/ndnboost/type_traits/has_multiplies_assign.hpp
@@ -6,12 +6,12 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#ifndef BOOST_TT_HAS_MULTIPLIES_ASSIGN_HPP_INCLUDED
-#define BOOST_TT_HAS_MULTIPLIES_ASSIGN_HPP_INCLUDED
+#ifndef NDNBOOST_TT_HAS_MULTIPLIES_ASSIGN_HPP_INCLUDED
+#define NDNBOOST_TT_HAS_MULTIPLIES_ASSIGN_HPP_INCLUDED
 
-#define BOOST_TT_TRAIT_NAME has_multiplies_assign
-#define BOOST_TT_TRAIT_OP *=
-#define BOOST_TT_FORBIDDEN_IF\
+#define NDNBOOST_TT_TRAIT_NAME has_multiplies_assign
+#define NDNBOOST_TT_TRAIT_OP *=
+#define NDNBOOST_TT_FORBIDDEN_IF\
    ::ndnboost::type_traits::ice_or<\
       /* Lhs==fundamental and Lhs==const and Rhs==fundamental */\
       ::ndnboost::type_traits::ice_and<\
@@ -40,8 +40,8 @@
 
 #include <ndnboost/type_traits/detail/has_binary_operator.hpp>
 
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
+#undef NDNBOOST_TT_TRAIT_NAME
+#undef NDNBOOST_TT_TRAIT_OP
+#undef NDNBOOST_TT_FORBIDDEN_IF
 
 #endif
diff --git a/include/ndnboost/type_traits/has_negate.hpp b/include/ndnboost/type_traits/has_negate.hpp
index 9273153..bee3a82 100644
--- a/include/ndnboost/type_traits/has_negate.hpp
+++ b/include/ndnboost/type_traits/has_negate.hpp
@@ -6,20 +6,20 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#ifndef BOOST_TT_HAS_NEGATE_HPP_INCLUDED
-#define BOOST_TT_HAS_NEGATE_HPP_INCLUDED
+#ifndef NDNBOOST_TT_HAS_NEGATE_HPP_INCLUDED
+#define NDNBOOST_TT_HAS_NEGATE_HPP_INCLUDED
 
-#define BOOST_TT_TRAIT_NAME has_negate
-#define BOOST_TT_TRAIT_OP -
-#define BOOST_TT_FORBIDDEN_IF\
+#define NDNBOOST_TT_TRAIT_NAME has_negate
+#define NDNBOOST_TT_TRAIT_OP -
+#define NDNBOOST_TT_FORBIDDEN_IF\
    /* pointer */\
    ::ndnboost::is_pointer< Rhs_noref >::value
 
 
 #include <ndnboost/type_traits/detail/has_prefix_operator.hpp>
 
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
+#undef NDNBOOST_TT_TRAIT_NAME
+#undef NDNBOOST_TT_TRAIT_OP
+#undef NDNBOOST_TT_FORBIDDEN_IF
 
 #endif
diff --git a/include/ndnboost/type_traits/has_new_operator.hpp b/include/ndnboost/type_traits/has_new_operator.hpp
index b437ee9..099c1f2 100644
--- a/include/ndnboost/type_traits/has_new_operator.hpp
+++ b/include/ndnboost/type_traits/has_new_operator.hpp
@@ -6,8 +6,8 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#ifndef BOOST_TT_HAS_NEW_OPERATOR_HPP_INCLUDED
-#define BOOST_TT_HAS_NEW_OPERATOR_HPP_INCLUDED
+#ifndef NDNBOOST_TT_HAS_NEW_OPERATOR_HPP_INCLUDED
+#define NDNBOOST_TT_HAS_NEW_OPERATOR_HPP_INCLUDED
 
 #include <new> // std::nothrow_t
 #include <cstddef> // std::size_t
@@ -95,30 +95,30 @@
         // GCC2 won't even parse this template if we embed the computation
         // of s1 in the computation of value.
         #ifdef __GNUC__
-            BOOST_STATIC_CONSTANT(unsigned, s1 = sizeof(has_new_operator_impl<T>::template check_sig1<T>(0)));
-            BOOST_STATIC_CONSTANT(unsigned, s2 = sizeof(has_new_operator_impl<T>::template check_sig2<T>(0)));
-            BOOST_STATIC_CONSTANT(unsigned, s3 = sizeof(has_new_operator_impl<T>::template check_sig3<T>(0)));
-            BOOST_STATIC_CONSTANT(unsigned, s4 = sizeof(has_new_operator_impl<T>::template check_sig4<T>(0)));
-            BOOST_STATIC_CONSTANT(unsigned, s5 = sizeof(has_new_operator_impl<T>::template check_sig5<T>(0)));
-            BOOST_STATIC_CONSTANT(unsigned, s6 = sizeof(has_new_operator_impl<T>::template check_sig6<T>(0)));
+            NDNBOOST_STATIC_CONSTANT(unsigned, s1 = sizeof(has_new_operator_impl<T>::template check_sig1<T>(0)));
+            NDNBOOST_STATIC_CONSTANT(unsigned, s2 = sizeof(has_new_operator_impl<T>::template check_sig2<T>(0)));
+            NDNBOOST_STATIC_CONSTANT(unsigned, s3 = sizeof(has_new_operator_impl<T>::template check_sig3<T>(0)));
+            NDNBOOST_STATIC_CONSTANT(unsigned, s4 = sizeof(has_new_operator_impl<T>::template check_sig4<T>(0)));
+            NDNBOOST_STATIC_CONSTANT(unsigned, s5 = sizeof(has_new_operator_impl<T>::template check_sig5<T>(0)));
+            NDNBOOST_STATIC_CONSTANT(unsigned, s6 = sizeof(has_new_operator_impl<T>::template check_sig6<T>(0)));
         #else
-            #if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000)
+            #if NDNBOOST_WORKAROUND(NDNBOOST_MSVC_FULL_VER, >= 140050000)
                 #pragma warning(push)
                 #pragma warning(disable:6334)
             #endif
 
-            BOOST_STATIC_CONSTANT(unsigned, s1 = sizeof(check_sig1<T>(0)));
-            BOOST_STATIC_CONSTANT(unsigned, s2 = sizeof(check_sig2<T>(0)));
-            BOOST_STATIC_CONSTANT(unsigned, s3 = sizeof(check_sig3<T>(0)));
-            BOOST_STATIC_CONSTANT(unsigned, s4 = sizeof(check_sig4<T>(0)));
-            BOOST_STATIC_CONSTANT(unsigned, s5 = sizeof(check_sig5<T>(0)));
-            BOOST_STATIC_CONSTANT(unsigned, s6 = sizeof(check_sig6<T>(0)));
+            NDNBOOST_STATIC_CONSTANT(unsigned, s1 = sizeof(check_sig1<T>(0)));
+            NDNBOOST_STATIC_CONSTANT(unsigned, s2 = sizeof(check_sig2<T>(0)));
+            NDNBOOST_STATIC_CONSTANT(unsigned, s3 = sizeof(check_sig3<T>(0)));
+            NDNBOOST_STATIC_CONSTANT(unsigned, s4 = sizeof(check_sig4<T>(0)));
+            NDNBOOST_STATIC_CONSTANT(unsigned, s5 = sizeof(check_sig5<T>(0)));
+            NDNBOOST_STATIC_CONSTANT(unsigned, s6 = sizeof(check_sig6<T>(0)));
 
-            #if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000)
+            #if NDNBOOST_WORKAROUND(NDNBOOST_MSVC_FULL_VER, >= 140050000)
                 #pragma warning(pop)
             #endif
         #endif
-        BOOST_STATIC_CONSTANT(bool, value = 
+        NDNBOOST_STATIC_CONSTANT(bool, value = 
            (::ndnboost::type_traits::ice_or<
             (s1 == sizeof(type_traits::yes_type)),
             (s2 == sizeof(type_traits::yes_type)),
@@ -131,10 +131,10 @@
     };
 } // namespace detail
 
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(has_new_operator,T,::ndnboost::detail::has_new_operator_impl<T>::value)
+NDNBOOST_TT_AUX_BOOL_TRAIT_DEF1(has_new_operator,T,::ndnboost::detail::has_new_operator_impl<T>::value)
 
 } // namespace ndnboost
 
 #include <ndnboost/type_traits/detail/bool_trait_undef.hpp>
 
-#endif // BOOST_TT_HAS_NEW_OPERATOR_HPP_INCLUDED
+#endif // NDNBOOST_TT_HAS_NEW_OPERATOR_HPP_INCLUDED
diff --git a/include/ndnboost/type_traits/has_not_equal_to.hpp b/include/ndnboost/type_traits/has_not_equal_to.hpp
index b7a70ca..8a5f2c6 100644
--- a/include/ndnboost/type_traits/has_not_equal_to.hpp
+++ b/include/ndnboost/type_traits/has_not_equal_to.hpp
@@ -6,12 +6,12 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#ifndef BOOST_TT_HAS_NOT_EQUAL_TO_HPP_INCLUDED
-#define BOOST_TT_HAS_NOT_EQUAL_TO_HPP_INCLUDED
+#ifndef NDNBOOST_TT_HAS_NOT_EQUAL_TO_HPP_INCLUDED
+#define NDNBOOST_TT_HAS_NOT_EQUAL_TO_HPP_INCLUDED
 
-#define BOOST_TT_TRAIT_NAME has_not_equal_to
-#define BOOST_TT_TRAIT_OP !=
-#define BOOST_TT_FORBIDDEN_IF\
+#define NDNBOOST_TT_TRAIT_NAME has_not_equal_to
+#define NDNBOOST_TT_TRAIT_OP !=
+#define NDNBOOST_TT_FORBIDDEN_IF\
    ::ndnboost::type_traits::ice_or<\
       /* Lhs==pointer and Rhs==fundamental */\
       ::ndnboost::type_traits::ice_and<\
@@ -42,8 +42,8 @@
 
 #include <ndnboost/type_traits/detail/has_binary_operator.hpp>
 
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
+#undef NDNBOOST_TT_TRAIT_NAME
+#undef NDNBOOST_TT_TRAIT_OP
+#undef NDNBOOST_TT_FORBIDDEN_IF
 
 #endif
diff --git a/include/ndnboost/type_traits/has_nothrow_assign.hpp b/include/ndnboost/type_traits/has_nothrow_assign.hpp
index 83ff0cd..6e4ee21 100644
--- a/include/ndnboost/type_traits/has_nothrow_assign.hpp
+++ b/include/ndnboost/type_traits/has_nothrow_assign.hpp
@@ -6,8 +6,8 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#ifndef BOOST_TT_HAS_NOTHROW_ASSIGN_HPP_INCLUDED
-#define BOOST_TT_HAS_NOTHROW_ASSIGN_HPP_INCLUDED
+#ifndef NDNBOOST_TT_HAS_NOTHROW_ASSIGN_HPP_INCLUDED
+#define NDNBOOST_TT_HAS_NOTHROW_ASSIGN_HPP_INCLUDED
 
 #include <ndnboost/type_traits/has_trivial_assign.hpp>
 
@@ -20,25 +20,25 @@
 
 template <class T>
 struct has_nothrow_assign_imp{
-#ifndef BOOST_HAS_NOTHROW_ASSIGN
-   BOOST_STATIC_CONSTANT(bool, value = ::ndnboost::has_trivial_assign<T>::value);
+#ifndef NDNBOOST_HAS_NOTHROW_ASSIGN
+   NDNBOOST_STATIC_CONSTANT(bool, value = ::ndnboost::has_trivial_assign<T>::value);
 #else
-   BOOST_STATIC_CONSTANT(bool, value = BOOST_HAS_NOTHROW_ASSIGN(T));
+   NDNBOOST_STATIC_CONSTANT(bool, value = NDNBOOST_HAS_NOTHROW_ASSIGN(T));
 #endif
 };
 
 }
 
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(has_nothrow_assign,T,::ndnboost::detail::has_nothrow_assign_imp<T>::value)
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_nothrow_assign,void,false)
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_nothrow_assign,void const,false)
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_nothrow_assign,void const volatile,false)
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_nothrow_assign,void volatile,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_DEF1(has_nothrow_assign,T,::ndnboost::detail::has_nothrow_assign_imp<T>::value)
+NDNBOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_nothrow_assign,void,false)
+#ifndef NDNBOOST_NO_CV_VOID_SPECIALIZATIONS
+NDNBOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_nothrow_assign,void const,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_nothrow_assign,void const volatile,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_nothrow_assign,void volatile,false)
 #endif
 
 } // namespace ndnboost
 
 #include <ndnboost/type_traits/detail/bool_trait_undef.hpp>
 
-#endif // BOOST_TT_HAS_NOTHROW_ASSIGN_HPP_INCLUDED
+#endif // NDNBOOST_TT_HAS_NOTHROW_ASSIGN_HPP_INCLUDED
diff --git a/include/ndnboost/type_traits/has_nothrow_constructor.hpp b/include/ndnboost/type_traits/has_nothrow_constructor.hpp
index 6f23506..18baf1d 100644
--- a/include/ndnboost/type_traits/has_nothrow_constructor.hpp
+++ b/include/ndnboost/type_traits/has_nothrow_constructor.hpp
@@ -6,8 +6,8 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#ifndef BOOST_TT_HAS_NOTHROW_CONSTRUCTOR_HPP_INCLUDED
-#define BOOST_TT_HAS_NOTHROW_CONSTRUCTOR_HPP_INCLUDED
+#ifndef NDNBOOST_TT_HAS_NOTHROW_CONSTRUCTOR_HPP_INCLUDED
+#define NDNBOOST_TT_HAS_NOTHROW_CONSTRUCTOR_HPP_INCLUDED
 
 #include <ndnboost/type_traits/has_trivial_constructor.hpp>
 
@@ -20,34 +20,34 @@
 
 template <class T>
 struct has_nothrow_constructor_imp{
-#ifdef BOOST_HAS_NOTHROW_CONSTRUCTOR
-   BOOST_STATIC_CONSTANT(bool, value = BOOST_HAS_NOTHROW_CONSTRUCTOR(T));
+#ifdef NDNBOOST_HAS_NOTHROW_CONSTRUCTOR
+   NDNBOOST_STATIC_CONSTANT(bool, value = NDNBOOST_HAS_NOTHROW_CONSTRUCTOR(T));
 #else
-   BOOST_STATIC_CONSTANT(bool, value = ::ndnboost::has_trivial_constructor<T>::value);
+   NDNBOOST_STATIC_CONSTANT(bool, value = ::ndnboost::has_trivial_constructor<T>::value);
 #endif
 };
 
 }
 
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(has_nothrow_constructor,T,::ndnboost::detail::has_nothrow_constructor_imp<T>::value)
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(has_nothrow_default_constructor,T,::ndnboost::detail::has_nothrow_constructor_imp<T>::value)
+NDNBOOST_TT_AUX_BOOL_TRAIT_DEF1(has_nothrow_constructor,T,::ndnboost::detail::has_nothrow_constructor_imp<T>::value)
+NDNBOOST_TT_AUX_BOOL_TRAIT_DEF1(has_nothrow_default_constructor,T,::ndnboost::detail::has_nothrow_constructor_imp<T>::value)
 
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_nothrow_constructor,void,false)
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_nothrow_constructor,void const,false)
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_nothrow_constructor,void const volatile,false)
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_nothrow_constructor,void volatile,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_nothrow_constructor,void,false)
+#ifndef NDNBOOST_NO_CV_VOID_SPECIALIZATIONS
+NDNBOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_nothrow_constructor,void const,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_nothrow_constructor,void const volatile,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_nothrow_constructor,void volatile,false)
 #endif
 
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_nothrow_default_constructor,void,false)
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_nothrow_default_constructor,void const,false)
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_nothrow_default_constructor,void const volatile,false)
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_nothrow_default_constructor,void volatile,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_nothrow_default_constructor,void,false)
+#ifndef NDNBOOST_NO_CV_VOID_SPECIALIZATIONS
+NDNBOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_nothrow_default_constructor,void const,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_nothrow_default_constructor,void const volatile,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_nothrow_default_constructor,void volatile,false)
 #endif
 
 } // namespace ndnboost
 
 #include <ndnboost/type_traits/detail/bool_trait_undef.hpp>
 
-#endif // BOOST_TT_HAS_NOTHROW_CONSTRUCTOR_HPP_INCLUDED
+#endif // NDNBOOST_TT_HAS_NOTHROW_CONSTRUCTOR_HPP_INCLUDED
diff --git a/include/ndnboost/type_traits/has_nothrow_copy.hpp b/include/ndnboost/type_traits/has_nothrow_copy.hpp
index 4bf3e30..1359ca3 100644
--- a/include/ndnboost/type_traits/has_nothrow_copy.hpp
+++ b/include/ndnboost/type_traits/has_nothrow_copy.hpp
@@ -6,8 +6,8 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#ifndef BOOST_TT_HAS_NOTHROW_COPY_HPP_INCLUDED
-#define BOOST_TT_HAS_NOTHROW_COPY_HPP_INCLUDED
+#ifndef NDNBOOST_TT_HAS_NOTHROW_COPY_HPP_INCLUDED
+#define NDNBOOST_TT_HAS_NOTHROW_COPY_HPP_INCLUDED
 
 #include <ndnboost/type_traits/has_trivial_copy.hpp>
 
@@ -20,34 +20,34 @@
 
 template <class T>
 struct has_nothrow_copy_imp{
-#ifdef BOOST_HAS_NOTHROW_COPY
-   BOOST_STATIC_CONSTANT(bool, value = BOOST_HAS_NOTHROW_COPY(T));
+#ifdef NDNBOOST_HAS_NOTHROW_COPY
+   NDNBOOST_STATIC_CONSTANT(bool, value = NDNBOOST_HAS_NOTHROW_COPY(T));
 #else
-   BOOST_STATIC_CONSTANT(bool, value = ::ndnboost::has_trivial_copy<T>::value);
+   NDNBOOST_STATIC_CONSTANT(bool, value = ::ndnboost::has_trivial_copy<T>::value);
 #endif
 };
 
 }
 
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(has_nothrow_copy,T,::ndnboost::detail::has_nothrow_copy_imp<T>::value)
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(has_nothrow_copy_constructor,T,::ndnboost::detail::has_nothrow_copy_imp<T>::value)
+NDNBOOST_TT_AUX_BOOL_TRAIT_DEF1(has_nothrow_copy,T,::ndnboost::detail::has_nothrow_copy_imp<T>::value)
+NDNBOOST_TT_AUX_BOOL_TRAIT_DEF1(has_nothrow_copy_constructor,T,::ndnboost::detail::has_nothrow_copy_imp<T>::value)
 
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_nothrow_copy,void,false)
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_nothrow_copy,void const,false)
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_nothrow_copy,void const volatile,false)
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_nothrow_copy,void volatile,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_nothrow_copy,void,false)
+#ifndef NDNBOOST_NO_CV_VOID_SPECIALIZATIONS
+NDNBOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_nothrow_copy,void const,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_nothrow_copy,void const volatile,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_nothrow_copy,void volatile,false)
 #endif
 
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_nothrow_copy_constructor,void,false)
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_nothrow_copy_constructor,void const,false)
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_nothrow_copy_constructor,void const volatile,false)
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_nothrow_copy_constructor,void volatile,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_nothrow_copy_constructor,void,false)
+#ifndef NDNBOOST_NO_CV_VOID_SPECIALIZATIONS
+NDNBOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_nothrow_copy_constructor,void const,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_nothrow_copy_constructor,void const volatile,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_nothrow_copy_constructor,void volatile,false)
 #endif
 
 } // namespace ndnboost
 
 #include <ndnboost/type_traits/detail/bool_trait_undef.hpp>
 
-#endif // BOOST_TT_HAS_NOTHROW_COPY_HPP_INCLUDED
+#endif // NDNBOOST_TT_HAS_NOTHROW_COPY_HPP_INCLUDED
diff --git a/include/ndnboost/type_traits/has_nothrow_destructor.hpp b/include/ndnboost/type_traits/has_nothrow_destructor.hpp
index 0499d56..3c11cab 100644
--- a/include/ndnboost/type_traits/has_nothrow_destructor.hpp
+++ b/include/ndnboost/type_traits/has_nothrow_destructor.hpp
@@ -6,8 +6,8 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#ifndef BOOST_TT_HAS_NOTHROW_DESTRUCTOR_HPP_INCLUDED
-#define BOOST_TT_HAS_NOTHROW_DESTRUCTOR_HPP_INCLUDED
+#ifndef NDNBOOST_TT_HAS_NOTHROW_DESTRUCTOR_HPP_INCLUDED
+#define NDNBOOST_TT_HAS_NOTHROW_DESTRUCTOR_HPP_INCLUDED
 
 #include <ndnboost/type_traits/has_trivial_destructor.hpp>
 
@@ -16,10 +16,10 @@
 
 namespace ndnboost {
 
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(has_nothrow_destructor,T,::ndnboost::has_trivial_destructor<T>::value)
+NDNBOOST_TT_AUX_BOOL_TRAIT_DEF1(has_nothrow_destructor,T,::ndnboost::has_trivial_destructor<T>::value)
 
 } // namespace ndnboost
 
 #include <ndnboost/type_traits/detail/bool_trait_undef.hpp>
 
-#endif // BOOST_TT_HAS_NOTHROW_DESTRUCTOR_HPP_INCLUDED
+#endif // NDNBOOST_TT_HAS_NOTHROW_DESTRUCTOR_HPP_INCLUDED
diff --git a/include/ndnboost/type_traits/has_operator.hpp b/include/ndnboost/type_traits/has_operator.hpp
index 3066ed3..a63d87a 100644
--- a/include/ndnboost/type_traits/has_operator.hpp
+++ b/include/ndnboost/type_traits/has_operator.hpp
@@ -6,8 +6,8 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#ifndef BOOST_TT_HAS_OPERATOR_HPP_INCLUDED
-#define BOOST_TT_HAS_OPERATOR_HPP_INCLUDED
+#ifndef NDNBOOST_TT_HAS_OPERATOR_HPP_INCLUDED
+#define NDNBOOST_TT_HAS_OPERATOR_HPP_INCLUDED
 
 #include <ndnboost/type_traits/has_bit_and.hpp>
 #include <ndnboost/type_traits/has_bit_and_assign.hpp>
diff --git a/include/ndnboost/type_traits/has_plus.hpp b/include/ndnboost/type_traits/has_plus.hpp
index edca7e0..92e8150 100644
--- a/include/ndnboost/type_traits/has_plus.hpp
+++ b/include/ndnboost/type_traits/has_plus.hpp
@@ -6,12 +6,12 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#ifndef BOOST_TT_HAS_PLUS_HPP_INCLUDED
-#define BOOST_TT_HAS_PLUS_HPP_INCLUDED
+#ifndef NDNBOOST_TT_HAS_PLUS_HPP_INCLUDED
+#define NDNBOOST_TT_HAS_PLUS_HPP_INCLUDED
 
-#define BOOST_TT_TRAIT_NAME has_plus
-#define BOOST_TT_TRAIT_OP +
-#define BOOST_TT_FORBIDDEN_IF\
+#define NDNBOOST_TT_TRAIT_NAME has_plus
+#define NDNBOOST_TT_TRAIT_OP +
+#define NDNBOOST_TT_FORBIDDEN_IF\
    ::ndnboost::type_traits::ice_or<\
       /* Lhs==pointer and Rhs==pointer */\
       ::ndnboost::type_traits::ice_and<\
@@ -47,8 +47,8 @@
 
 #include <ndnboost/type_traits/detail/has_binary_operator.hpp>
 
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
+#undef NDNBOOST_TT_TRAIT_NAME
+#undef NDNBOOST_TT_TRAIT_OP
+#undef NDNBOOST_TT_FORBIDDEN_IF
 
 #endif
diff --git a/include/ndnboost/type_traits/has_plus_assign.hpp b/include/ndnboost/type_traits/has_plus_assign.hpp
index d97d477..1daa28e 100644
--- a/include/ndnboost/type_traits/has_plus_assign.hpp
+++ b/include/ndnboost/type_traits/has_plus_assign.hpp
@@ -6,12 +6,12 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#ifndef BOOST_TT_HAS_PLUS_ASSIGN_HPP_INCLUDED
-#define BOOST_TT_HAS_PLUS_ASSIGN_HPP_INCLUDED
+#ifndef NDNBOOST_TT_HAS_PLUS_ASSIGN_HPP_INCLUDED
+#define NDNBOOST_TT_HAS_PLUS_ASSIGN_HPP_INCLUDED
 
-#define BOOST_TT_TRAIT_NAME has_plus_assign
-#define BOOST_TT_TRAIT_OP +=
-#define BOOST_TT_FORBIDDEN_IF\
+#define NDNBOOST_TT_TRAIT_NAME has_plus_assign
+#define NDNBOOST_TT_TRAIT_OP +=
+#define NDNBOOST_TT_FORBIDDEN_IF\
    ::ndnboost::type_traits::ice_or<\
       /* Lhs==pointer and Rhs==pointer */\
       ::ndnboost::type_traits::ice_and<\
@@ -59,8 +59,8 @@
 
 #include <ndnboost/type_traits/detail/has_binary_operator.hpp>
 
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
+#undef NDNBOOST_TT_TRAIT_NAME
+#undef NDNBOOST_TT_TRAIT_OP
+#undef NDNBOOST_TT_FORBIDDEN_IF
 
 #endif
diff --git a/include/ndnboost/type_traits/has_post_decrement.hpp b/include/ndnboost/type_traits/has_post_decrement.hpp
index 8ecce6b..7fd7771 100644
--- a/include/ndnboost/type_traits/has_post_decrement.hpp
+++ b/include/ndnboost/type_traits/has_post_decrement.hpp
@@ -6,12 +6,12 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#ifndef BOOST_TT_HAS_POST_DECREMENT_HPP_INCLUDED
-#define BOOST_TT_HAS_POST_DECREMENT_HPP_INCLUDED
+#ifndef NDNBOOST_TT_HAS_POST_DECREMENT_HPP_INCLUDED
+#define NDNBOOST_TT_HAS_POST_DECREMENT_HPP_INCLUDED
 
-#define BOOST_TT_TRAIT_NAME has_post_decrement
-#define BOOST_TT_TRAIT_OP --
-#define BOOST_TT_FORBIDDEN_IF\
+#define NDNBOOST_TT_TRAIT_NAME has_post_decrement
+#define NDNBOOST_TT_TRAIT_OP --
+#define NDNBOOST_TT_FORBIDDEN_IF\
    ::ndnboost::type_traits::ice_or<\
       /* bool */\
       ::ndnboost::is_same< bool, Lhs_nocv >::value,\
@@ -33,8 +33,8 @@
 
 #include <ndnboost/type_traits/detail/has_postfix_operator.hpp>
 
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
+#undef NDNBOOST_TT_TRAIT_NAME
+#undef NDNBOOST_TT_TRAIT_OP
+#undef NDNBOOST_TT_FORBIDDEN_IF
 
 #endif
diff --git a/include/ndnboost/type_traits/has_post_increment.hpp b/include/ndnboost/type_traits/has_post_increment.hpp
index b9b2d70..3d929ac 100644
--- a/include/ndnboost/type_traits/has_post_increment.hpp
+++ b/include/ndnboost/type_traits/has_post_increment.hpp
@@ -6,12 +6,12 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#ifndef BOOST_TT_HAS_POST_INCREMENT_HPP_INCLUDED
-#define BOOST_TT_HAS_POST_INCREMENT_HPP_INCLUDED
+#ifndef NDNBOOST_TT_HAS_POST_INCREMENT_HPP_INCLUDED
+#define NDNBOOST_TT_HAS_POST_INCREMENT_HPP_INCLUDED
 
-#define BOOST_TT_TRAIT_NAME has_post_increment
-#define BOOST_TT_TRAIT_OP ++
-#define BOOST_TT_FORBIDDEN_IF\
+#define NDNBOOST_TT_TRAIT_NAME has_post_increment
+#define NDNBOOST_TT_TRAIT_OP ++
+#define NDNBOOST_TT_FORBIDDEN_IF\
    ::ndnboost::type_traits::ice_or<\
       /* bool */\
       ::ndnboost::is_same< bool, Lhs_nocv >::value,\
@@ -33,8 +33,8 @@
 
 #include <ndnboost/type_traits/detail/has_postfix_operator.hpp>
 
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
+#undef NDNBOOST_TT_TRAIT_NAME
+#undef NDNBOOST_TT_TRAIT_OP
+#undef NDNBOOST_TT_FORBIDDEN_IF
 
 #endif
diff --git a/include/ndnboost/type_traits/has_pre_decrement.hpp b/include/ndnboost/type_traits/has_pre_decrement.hpp
index 33ebb8c..116238e 100644
--- a/include/ndnboost/type_traits/has_pre_decrement.hpp
+++ b/include/ndnboost/type_traits/has_pre_decrement.hpp
@@ -6,12 +6,12 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#ifndef BOOST_TT_HAS_PRE_DECREMENT_HPP_INCLUDED
-#define BOOST_TT_HAS_PRE_DECREMENT_HPP_INCLUDED
+#ifndef NDNBOOST_TT_HAS_PRE_DECREMENT_HPP_INCLUDED
+#define NDNBOOST_TT_HAS_PRE_DECREMENT_HPP_INCLUDED
 
-#define BOOST_TT_TRAIT_NAME has_pre_decrement
-#define BOOST_TT_TRAIT_OP --
-#define BOOST_TT_FORBIDDEN_IF\
+#define NDNBOOST_TT_TRAIT_NAME has_pre_decrement
+#define NDNBOOST_TT_TRAIT_OP --
+#define NDNBOOST_TT_FORBIDDEN_IF\
    ::ndnboost::type_traits::ice_or<\
       /* bool */\
       ::ndnboost::is_same< bool, Rhs_nocv >::value,\
@@ -33,8 +33,8 @@
 
 #include <ndnboost/type_traits/detail/has_prefix_operator.hpp>
 
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
+#undef NDNBOOST_TT_TRAIT_NAME
+#undef NDNBOOST_TT_TRAIT_OP
+#undef NDNBOOST_TT_FORBIDDEN_IF
 
 #endif
diff --git a/include/ndnboost/type_traits/has_pre_increment.hpp b/include/ndnboost/type_traits/has_pre_increment.hpp
index 16ae2b1..c40c13a 100644
--- a/include/ndnboost/type_traits/has_pre_increment.hpp
+++ b/include/ndnboost/type_traits/has_pre_increment.hpp
@@ -6,12 +6,12 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#ifndef BOOST_TT_HAS_PRE_INCREMENT_HPP_INCLUDED
-#define BOOST_TT_HAS_PRE_INCREMENT_HPP_INCLUDED
+#ifndef NDNBOOST_TT_HAS_PRE_INCREMENT_HPP_INCLUDED
+#define NDNBOOST_TT_HAS_PRE_INCREMENT_HPP_INCLUDED
 
-#define BOOST_TT_TRAIT_NAME has_pre_increment
-#define BOOST_TT_TRAIT_OP ++
-#define BOOST_TT_FORBIDDEN_IF\
+#define NDNBOOST_TT_TRAIT_NAME has_pre_increment
+#define NDNBOOST_TT_TRAIT_OP ++
+#define NDNBOOST_TT_FORBIDDEN_IF\
    ::ndnboost::type_traits::ice_or<\
       /* bool */\
       ::ndnboost::is_same< bool, Rhs_nocv >::value,\
@@ -33,8 +33,8 @@
 
 #include <ndnboost/type_traits/detail/has_prefix_operator.hpp>
 
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
+#undef NDNBOOST_TT_TRAIT_NAME
+#undef NDNBOOST_TT_TRAIT_OP
+#undef NDNBOOST_TT_FORBIDDEN_IF
 
 #endif
diff --git a/include/ndnboost/type_traits/has_right_shift.hpp b/include/ndnboost/type_traits/has_right_shift.hpp
index a29c47a..7a05b7d 100644
--- a/include/ndnboost/type_traits/has_right_shift.hpp
+++ b/include/ndnboost/type_traits/has_right_shift.hpp
@@ -6,12 +6,12 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#ifndef BOOST_TT_HAS_RIGHT_SHIFT_HPP_INCLUDED
-#define BOOST_TT_HAS_RIGHT_SHIFT_HPP_INCLUDED
+#ifndef NDNBOOST_TT_HAS_RIGHT_SHIFT_HPP_INCLUDED
+#define NDNBOOST_TT_HAS_RIGHT_SHIFT_HPP_INCLUDED
 
-#define BOOST_TT_TRAIT_NAME has_right_shift
-#define BOOST_TT_TRAIT_OP >>
-#define BOOST_TT_FORBIDDEN_IF\
+#define NDNBOOST_TT_TRAIT_NAME has_right_shift
+#define NDNBOOST_TT_TRAIT_OP >>
+#define NDNBOOST_TT_FORBIDDEN_IF\
    ::ndnboost::type_traits::ice_or<\
       /* Lhs==fundamental and Rhs==fundamental and (Lhs!=integral or Rhs!=integral) */\
       ::ndnboost::type_traits::ice_and<\
@@ -42,8 +42,8 @@
 
 #include <ndnboost/type_traits/detail/has_binary_operator.hpp>
 
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
+#undef NDNBOOST_TT_TRAIT_NAME
+#undef NDNBOOST_TT_TRAIT_OP
+#undef NDNBOOST_TT_FORBIDDEN_IF
 
 #endif
diff --git a/include/ndnboost/type_traits/has_right_shift_assign.hpp b/include/ndnboost/type_traits/has_right_shift_assign.hpp
index dc6565c..75e8c24 100644
--- a/include/ndnboost/type_traits/has_right_shift_assign.hpp
+++ b/include/ndnboost/type_traits/has_right_shift_assign.hpp
@@ -6,12 +6,12 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#ifndef BOOST_TT_HAS_RIGHT_SHIFT_ASSIGN_HPP_INCLUDED
-#define BOOST_TT_HAS_RIGHT_SHIFT_ASSIGN_HPP_INCLUDED
+#ifndef NDNBOOST_TT_HAS_RIGHT_SHIFT_ASSIGN_HPP_INCLUDED
+#define NDNBOOST_TT_HAS_RIGHT_SHIFT_ASSIGN_HPP_INCLUDED
 
-#define BOOST_TT_TRAIT_NAME has_right_shift_assign
-#define BOOST_TT_TRAIT_OP >>=
-#define BOOST_TT_FORBIDDEN_IF\
+#define NDNBOOST_TT_TRAIT_NAME has_right_shift_assign
+#define NDNBOOST_TT_TRAIT_OP >>=
+#define NDNBOOST_TT_FORBIDDEN_IF\
    ::ndnboost::type_traits::ice_or<\
       /* Lhs==fundamental and Rhs==fundamental and (Lhs!=integral or Rhs!=integral) */\
       ::ndnboost::type_traits::ice_and<\
@@ -48,8 +48,8 @@
 
 #include <ndnboost/type_traits/detail/has_binary_operator.hpp>
 
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
+#undef NDNBOOST_TT_TRAIT_NAME
+#undef NDNBOOST_TT_TRAIT_OP
+#undef NDNBOOST_TT_FORBIDDEN_IF
 
 #endif
diff --git a/include/ndnboost/type_traits/has_trivial_assign.hpp b/include/ndnboost/type_traits/has_trivial_assign.hpp
index 222f747..fd8a2f8 100644
--- a/include/ndnboost/type_traits/has_trivial_assign.hpp
+++ b/include/ndnboost/type_traits/has_trivial_assign.hpp
@@ -6,8 +6,8 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#ifndef BOOST_TT_HAS_TRIVIAL_ASSIGN_HPP_INCLUDED
-#define BOOST_TT_HAS_TRIVIAL_ASSIGN_HPP_INCLUDED
+#ifndef NDNBOOST_TT_HAS_TRIVIAL_ASSIGN_HPP_INCLUDED
+#define NDNBOOST_TT_HAS_TRIVIAL_ASSIGN_HPP_INCLUDED
 
 #include <ndnboost/type_traits/config.hpp>
 #include <ndnboost/type_traits/intrinsics.hpp>
@@ -28,10 +28,10 @@
 template <typename T>
 struct has_trivial_assign_impl
 {
-#ifdef BOOST_HAS_TRIVIAL_ASSIGN
-   BOOST_STATIC_CONSTANT(bool, value = BOOST_HAS_TRIVIAL_ASSIGN(T));
+#ifdef NDNBOOST_HAS_TRIVIAL_ASSIGN
+   NDNBOOST_STATIC_CONSTANT(bool, value = NDNBOOST_HAS_TRIVIAL_ASSIGN(T));
 #else
-   BOOST_STATIC_CONSTANT(bool, value =
+   NDNBOOST_STATIC_CONSTANT(bool, value =
       (::ndnboost::type_traits::ice_and<
         ::ndnboost::is_pod<T>::value,
         ::ndnboost::type_traits::ice_not< ::ndnboost::is_const<T>::value >::value,
@@ -42,16 +42,16 @@
 
 } // namespace detail
 
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(has_trivial_assign,T,::ndnboost::detail::has_trivial_assign_impl<T>::value)
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_assign,void,false)
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_assign,void const,false)
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_assign,void const volatile,false)
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_assign,void volatile,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_DEF1(has_trivial_assign,T,::ndnboost::detail::has_trivial_assign_impl<T>::value)
+NDNBOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_assign,void,false)
+#ifndef NDNBOOST_NO_CV_VOID_SPECIALIZATIONS
+NDNBOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_assign,void const,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_assign,void const volatile,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_assign,void volatile,false)
 #endif
 
 } // namespace ndnboost
 
 #include <ndnboost/type_traits/detail/bool_trait_undef.hpp>
 
-#endif // BOOST_TT_HAS_TRIVIAL_ASSIGN_HPP_INCLUDED
+#endif // NDNBOOST_TT_HAS_TRIVIAL_ASSIGN_HPP_INCLUDED
diff --git a/include/ndnboost/type_traits/has_trivial_constructor.hpp b/include/ndnboost/type_traits/has_trivial_constructor.hpp
index 9eb5ded..c025bd1 100644
--- a/include/ndnboost/type_traits/has_trivial_constructor.hpp
+++ b/include/ndnboost/type_traits/has_trivial_constructor.hpp
@@ -6,8 +6,8 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#ifndef BOOST_TT_HAS_TRIVIAL_CONSTRUCTOR_HPP_INCLUDED
-#define BOOST_TT_HAS_TRIVIAL_CONSTRUCTOR_HPP_INCLUDED
+#ifndef NDNBOOST_TT_HAS_TRIVIAL_CONSTRUCTOR_HPP_INCLUDED
+#define NDNBOOST_TT_HAS_TRIVIAL_CONSTRUCTOR_HPP_INCLUDED
 
 #include <ndnboost/type_traits/config.hpp>
 #include <ndnboost/type_traits/intrinsics.hpp>
@@ -24,14 +24,14 @@
 template <typename T>
 struct has_trivial_ctor_impl
 {
-#ifdef BOOST_HAS_TRIVIAL_CONSTRUCTOR
-   BOOST_STATIC_CONSTANT(bool, value =
+#ifdef NDNBOOST_HAS_TRIVIAL_CONSTRUCTOR
+   NDNBOOST_STATIC_CONSTANT(bool, value =
       (::ndnboost::type_traits::ice_or<
          ::ndnboost::is_pod<T>::value,
-         BOOST_HAS_TRIVIAL_CONSTRUCTOR(T)
+         NDNBOOST_HAS_TRIVIAL_CONSTRUCTOR(T)
       >::value));
 #else
-   BOOST_STATIC_CONSTANT(bool, value =
+   NDNBOOST_STATIC_CONSTANT(bool, value =
       (::ndnboost::type_traits::ice_or<
          ::ndnboost::is_pod<T>::value,
          false
@@ -41,11 +41,11 @@
 
 } // namespace detail
 
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(has_trivial_constructor,T,::ndnboost::detail::has_trivial_ctor_impl<T>::value)
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(has_trivial_default_constructor,T,::ndnboost::detail::has_trivial_ctor_impl<T>::value)
+NDNBOOST_TT_AUX_BOOL_TRAIT_DEF1(has_trivial_constructor,T,::ndnboost::detail::has_trivial_ctor_impl<T>::value)
+NDNBOOST_TT_AUX_BOOL_TRAIT_DEF1(has_trivial_default_constructor,T,::ndnboost::detail::has_trivial_ctor_impl<T>::value)
 
 } // namespace ndnboost
 
 #include <ndnboost/type_traits/detail/bool_trait_undef.hpp>
 
-#endif // BOOST_TT_HAS_TRIVIAL_CONSTRUCTOR_HPP_INCLUDED
+#endif // NDNBOOST_TT_HAS_TRIVIAL_CONSTRUCTOR_HPP_INCLUDED
diff --git a/include/ndnboost/type_traits/has_trivial_copy.hpp b/include/ndnboost/type_traits/has_trivial_copy.hpp
index afa6f14..cb9e887 100644
--- a/include/ndnboost/type_traits/has_trivial_copy.hpp
+++ b/include/ndnboost/type_traits/has_trivial_copy.hpp
@@ -6,8 +6,8 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#ifndef BOOST_TT_HAS_TRIVIAL_COPY_HPP_INCLUDED
-#define BOOST_TT_HAS_TRIVIAL_COPY_HPP_INCLUDED
+#ifndef NDNBOOST_TT_HAS_TRIVIAL_COPY_HPP_INCLUDED
+#define NDNBOOST_TT_HAS_TRIVIAL_COPY_HPP_INCLUDED
 
 #include <ndnboost/type_traits/config.hpp>
 #include <ndnboost/type_traits/intrinsics.hpp>
@@ -27,10 +27,10 @@
 template <typename T>
 struct has_trivial_copy_impl
 {
-#ifdef BOOST_HAS_TRIVIAL_COPY
-   BOOST_STATIC_CONSTANT(bool, value = BOOST_HAS_TRIVIAL_COPY(T));
+#ifdef NDNBOOST_HAS_TRIVIAL_COPY
+   NDNBOOST_STATIC_CONSTANT(bool, value = NDNBOOST_HAS_TRIVIAL_COPY(T));
 #else
-   BOOST_STATIC_CONSTANT(bool, value =
+   NDNBOOST_STATIC_CONSTANT(bool, value =
       (::ndnboost::type_traits::ice_and<
          ::ndnboost::is_pod<T>::value,
          ::ndnboost::type_traits::ice_not< ::ndnboost::is_volatile<T>::value >::value
@@ -40,25 +40,25 @@
 
 } // namespace detail
 
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(has_trivial_copy,T,::ndnboost::detail::has_trivial_copy_impl<T>::value)
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(has_trivial_copy_constructor,T,::ndnboost::detail::has_trivial_copy_impl<T>::value)
+NDNBOOST_TT_AUX_BOOL_TRAIT_DEF1(has_trivial_copy,T,::ndnboost::detail::has_trivial_copy_impl<T>::value)
+NDNBOOST_TT_AUX_BOOL_TRAIT_DEF1(has_trivial_copy_constructor,T,::ndnboost::detail::has_trivial_copy_impl<T>::value)
 
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_copy,void,false)
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_copy,void const,false)
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_copy,void const volatile,false)
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_copy,void volatile,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_copy,void,false)
+#ifndef NDNBOOST_NO_CV_VOID_SPECIALIZATIONS
+NDNBOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_copy,void const,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_copy,void const volatile,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_copy,void volatile,false)
 #endif
 
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_copy_constructor,void,false)
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_copy_constructor,void const,false)
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_copy_constructor,void const volatile,false)
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_copy_constructor,void volatile,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_copy_constructor,void,false)
+#ifndef NDNBOOST_NO_CV_VOID_SPECIALIZATIONS
+NDNBOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_copy_constructor,void const,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_copy_constructor,void const volatile,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_copy_constructor,void volatile,false)
 #endif
 
 } // namespace ndnboost
 
 #include <ndnboost/type_traits/detail/bool_trait_undef.hpp>
 
-#endif // BOOST_TT_HAS_TRIVIAL_COPY_HPP_INCLUDED
+#endif // NDNBOOST_TT_HAS_TRIVIAL_COPY_HPP_INCLUDED
diff --git a/include/ndnboost/type_traits/has_trivial_destructor.hpp b/include/ndnboost/type_traits/has_trivial_destructor.hpp
index f47ab64..5b83af9 100644
--- a/include/ndnboost/type_traits/has_trivial_destructor.hpp
+++ b/include/ndnboost/type_traits/has_trivial_destructor.hpp
@@ -6,8 +6,8 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#ifndef BOOST_TT_HAS_TRIVIAL_DESTRUCTOR_HPP_INCLUDED
-#define BOOST_TT_HAS_TRIVIAL_DESTRUCTOR_HPP_INCLUDED
+#ifndef NDNBOOST_TT_HAS_TRIVIAL_DESTRUCTOR_HPP_INCLUDED
+#define NDNBOOST_TT_HAS_TRIVIAL_DESTRUCTOR_HPP_INCLUDED
 
 #include <ndnboost/type_traits/config.hpp>
 #include <ndnboost/type_traits/intrinsics.hpp>
@@ -24,26 +24,26 @@
 template <typename T>
 struct has_trivial_dtor_impl
 {
-#ifdef BOOST_HAS_TRIVIAL_DESTRUCTOR
-   BOOST_STATIC_CONSTANT(bool, value = BOOST_HAS_TRIVIAL_DESTRUCTOR(T));
+#ifdef NDNBOOST_HAS_TRIVIAL_DESTRUCTOR
+   NDNBOOST_STATIC_CONSTANT(bool, value = NDNBOOST_HAS_TRIVIAL_DESTRUCTOR(T));
 #else
-   BOOST_STATIC_CONSTANT(bool, value = ::ndnboost::is_pod<T>::value);
+   NDNBOOST_STATIC_CONSTANT(bool, value = ::ndnboost::is_pod<T>::value);
 #endif
 };
 
 } // namespace detail
 
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(has_trivial_destructor,T,::ndnboost::detail::has_trivial_dtor_impl<T>::value)
+NDNBOOST_TT_AUX_BOOL_TRAIT_DEF1(has_trivial_destructor,T,::ndnboost::detail::has_trivial_dtor_impl<T>::value)
 
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_destructor,void,false)
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_destructor,void const,false)
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_destructor,void const volatile,false)
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_destructor,void volatile,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_destructor,void,false)
+#ifndef NDNBOOST_NO_CV_VOID_SPECIALIZATIONS
+NDNBOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_destructor,void const,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_destructor,void const volatile,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_destructor,void volatile,false)
 #endif
 
 } // namespace ndnboost
 
 #include <ndnboost/type_traits/detail/bool_trait_undef.hpp>
 
-#endif // BOOST_TT_HAS_TRIVIAL_DESTRUCTOR_HPP_INCLUDED
+#endif // NDNBOOST_TT_HAS_TRIVIAL_DESTRUCTOR_HPP_INCLUDED
diff --git a/include/ndnboost/type_traits/has_trivial_move_assign.hpp b/include/ndnboost/type_traits/has_trivial_move_assign.hpp
index b753d74..7067eff 100644
--- a/include/ndnboost/type_traits/has_trivial_move_assign.hpp
+++ b/include/ndnboost/type_traits/has_trivial_move_assign.hpp
@@ -8,8 +8,8 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#ifndef BOOST_TT_HAS_TRIVIAL_MOVE_ASSIGN_HPP_INCLUDED
-#define BOOST_TT_HAS_TRIVIAL_MOVE_ASSIGN_HPP_INCLUDED
+#ifndef NDNBOOST_TT_HAS_TRIVIAL_MOVE_ASSIGN_HPP_INCLUDED
+#define NDNBOOST_TT_HAS_TRIVIAL_MOVE_ASSIGN_HPP_INCLUDED
 
 #include <ndnboost/type_traits/config.hpp>
 #include <ndnboost/type_traits/is_pod.hpp>
@@ -28,10 +28,10 @@
 template <typename T>
 struct has_trivial_move_assign_impl
 {
-#ifdef BOOST_HAS_TRIVIAL_MOVE_ASSIGN
-   BOOST_STATIC_CONSTANT(bool, value = (BOOST_HAS_TRIVIAL_MOVE_ASSIGN(T)));
+#ifdef NDNBOOST_HAS_TRIVIAL_MOVE_ASSIGN
+   NDNBOOST_STATIC_CONSTANT(bool, value = (NDNBOOST_HAS_TRIVIAL_MOVE_ASSIGN(T)));
 #else
-   BOOST_STATIC_CONSTANT(bool, value =
+   NDNBOOST_STATIC_CONSTANT(bool, value =
            (::ndnboost::type_traits::ice_and<
               ::ndnboost::is_pod<T>::value,
               ::ndnboost::type_traits::ice_not< ::ndnboost::is_const<T>::value >::value,
@@ -42,16 +42,16 @@
 
 } // namespace detail
 
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(has_trivial_move_assign,T,::ndnboost::detail::has_trivial_move_assign_impl<T>::value)
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_move_assign,void,false)
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_move_assign,void const,false)
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_move_assign,void const volatile,false)
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_move_assign,void volatile,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_DEF1(has_trivial_move_assign,T,::ndnboost::detail::has_trivial_move_assign_impl<T>::value)
+NDNBOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_move_assign,void,false)
+#ifndef NDNBOOST_NO_CV_VOID_SPECIALIZATIONS
+NDNBOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_move_assign,void const,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_move_assign,void const volatile,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_move_assign,void volatile,false)
 #endif
 
 } // namespace ndnboost
 
 #include <ndnboost/type_traits/detail/bool_trait_undef.hpp>
 
-#endif // BOOST_TT_HAS_TRIVIAL_MOVE_ASSIGN_HPP_INCLUDED
+#endif // NDNBOOST_TT_HAS_TRIVIAL_MOVE_ASSIGN_HPP_INCLUDED
diff --git a/include/ndnboost/type_traits/has_trivial_move_constructor.hpp b/include/ndnboost/type_traits/has_trivial_move_constructor.hpp
index 4bf836d..4e9c95c 100644
--- a/include/ndnboost/type_traits/has_trivial_move_constructor.hpp
+++ b/include/ndnboost/type_traits/has_trivial_move_constructor.hpp
@@ -8,8 +8,8 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#ifndef BOOST_TT_HAS_TRIVIAL_MOVE_CONSTRUCTOR_HPP_INCLUDED
-#define BOOST_TT_HAS_TRIVIAL_MOVE_CONSTRUCTOR_HPP_INCLUDED
+#ifndef NDNBOOST_TT_HAS_TRIVIAL_MOVE_CONSTRUCTOR_HPP_INCLUDED
+#define NDNBOOST_TT_HAS_TRIVIAL_MOVE_CONSTRUCTOR_HPP_INCLUDED
 
 #include <ndnboost/type_traits/config.hpp>
 #include <ndnboost/type_traits/intrinsics.hpp>
@@ -28,10 +28,10 @@
 template <typename T>
 struct has_trivial_move_ctor_impl
 {
-#ifdef BOOST_HAS_TRIVIAL_MOVE_CONSTRUCTOR
-   BOOST_STATIC_CONSTANT(bool, value = (BOOST_HAS_TRIVIAL_MOVE_CONSTRUCTOR(T)));
+#ifdef NDNBOOST_HAS_TRIVIAL_MOVE_CONSTRUCTOR
+   NDNBOOST_STATIC_CONSTANT(bool, value = (NDNBOOST_HAS_TRIVIAL_MOVE_CONSTRUCTOR(T)));
 #else
-   BOOST_STATIC_CONSTANT(bool, value =
+   NDNBOOST_STATIC_CONSTANT(bool, value =
            (::ndnboost::type_traits::ice_and<
               ::ndnboost::is_pod<T>::value,
               ::ndnboost::type_traits::ice_not< ::ndnboost::is_volatile<T>::value >::value
@@ -41,17 +41,17 @@
 
 } // namespace detail
 
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(has_trivial_move_constructor,T,::ndnboost::detail::has_trivial_move_ctor_impl<T>::value)
+NDNBOOST_TT_AUX_BOOL_TRAIT_DEF1(has_trivial_move_constructor,T,::ndnboost::detail::has_trivial_move_ctor_impl<T>::value)
 
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_move_constructor,void,false)
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_move_constructor,void const,false)
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_move_constructor,void const volatile,false)
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_move_constructor,void volatile,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_move_constructor,void,false)
+#ifndef NDNBOOST_NO_CV_VOID_SPECIALIZATIONS
+NDNBOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_move_constructor,void const,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_move_constructor,void const volatile,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_move_constructor,void volatile,false)
 #endif
 
 } // namespace ndnboost
 
 #include <ndnboost/type_traits/detail/bool_trait_undef.hpp>
 
-#endif // BOOST_TT_HAS_TRIVIAL_MOVE_CONSTRUCTOR_HPP_INCLUDED
+#endif // NDNBOOST_TT_HAS_TRIVIAL_MOVE_CONSTRUCTOR_HPP_INCLUDED
diff --git a/include/ndnboost/type_traits/has_unary_minus.hpp b/include/ndnboost/type_traits/has_unary_minus.hpp
index aba9b00..0f795da 100644
--- a/include/ndnboost/type_traits/has_unary_minus.hpp
+++ b/include/ndnboost/type_traits/has_unary_minus.hpp
@@ -6,20 +6,20 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#ifndef BOOST_TT_HAS_UNARY_MINUS_HPP_INCLUDED
-#define BOOST_TT_HAS_UNARY_MINUS_HPP_INCLUDED
+#ifndef NDNBOOST_TT_HAS_UNARY_MINUS_HPP_INCLUDED
+#define NDNBOOST_TT_HAS_UNARY_MINUS_HPP_INCLUDED
 
-#define BOOST_TT_TRAIT_NAME has_unary_minus
-#define BOOST_TT_TRAIT_OP -
-#define BOOST_TT_FORBIDDEN_IF\
+#define NDNBOOST_TT_TRAIT_NAME has_unary_minus
+#define NDNBOOST_TT_TRAIT_OP -
+#define NDNBOOST_TT_FORBIDDEN_IF\
    /* pointer */\
    ::ndnboost::is_pointer< Rhs_noref >::value
 
 
 #include <ndnboost/type_traits/detail/has_prefix_operator.hpp>
 
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
+#undef NDNBOOST_TT_TRAIT_NAME
+#undef NDNBOOST_TT_TRAIT_OP
+#undef NDNBOOST_TT_FORBIDDEN_IF
 
 #endif
diff --git a/include/ndnboost/type_traits/has_unary_plus.hpp b/include/ndnboost/type_traits/has_unary_plus.hpp
index ad8ca4d..096af6d 100644
--- a/include/ndnboost/type_traits/has_unary_plus.hpp
+++ b/include/ndnboost/type_traits/has_unary_plus.hpp
@@ -6,18 +6,18 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#ifndef BOOST_TT_HAS_UNARY_PLUS_HPP_INCLUDED
-#define BOOST_TT_HAS_UNARY_PLUS_HPP_INCLUDED
+#ifndef NDNBOOST_TT_HAS_UNARY_PLUS_HPP_INCLUDED
+#define NDNBOOST_TT_HAS_UNARY_PLUS_HPP_INCLUDED
 
-#define BOOST_TT_TRAIT_NAME has_unary_plus
-#define BOOST_TT_TRAIT_OP +
-#define BOOST_TT_FORBIDDEN_IF\
+#define NDNBOOST_TT_TRAIT_NAME has_unary_plus
+#define NDNBOOST_TT_TRAIT_OP +
+#define NDNBOOST_TT_FORBIDDEN_IF\
    false
 
 #include <ndnboost/type_traits/detail/has_prefix_operator.hpp>
 
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
+#undef NDNBOOST_TT_TRAIT_NAME
+#undef NDNBOOST_TT_TRAIT_OP
+#undef NDNBOOST_TT_FORBIDDEN_IF
 
 #endif
diff --git a/include/ndnboost/type_traits/has_virtual_destructor.hpp b/include/ndnboost/type_traits/has_virtual_destructor.hpp
index 897463e..b644edf 100644
--- a/include/ndnboost/type_traits/has_virtual_destructor.hpp
+++ b/include/ndnboost/type_traits/has_virtual_destructor.hpp
@@ -7,8 +7,8 @@
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
 
-#ifndef BOOST_TT_HAS_VIRTUAL_DESTRUCTOR_HPP_INCLUDED
-#define BOOST_TT_HAS_VIRTUAL_DESTRUCTOR_HPP_INCLUDED
+#ifndef NDNBOOST_TT_HAS_VIRTUAL_DESTRUCTOR_HPP_INCLUDED
+#define NDNBOOST_TT_HAS_VIRTUAL_DESTRUCTOR_HPP_INCLUDED
 
 #include <ndnboost/type_traits/intrinsics.hpp>
 // should be the last #include
@@ -16,14 +16,14 @@
 
 namespace ndnboost {
 
-#ifdef BOOST_HAS_VIRTUAL_DESTRUCTOR
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(has_virtual_destructor,T,BOOST_HAS_VIRTUAL_DESTRUCTOR(T))
+#ifdef NDNBOOST_HAS_VIRTUAL_DESTRUCTOR
+NDNBOOST_TT_AUX_BOOL_TRAIT_DEF1(has_virtual_destructor,T,NDNBOOST_HAS_VIRTUAL_DESTRUCTOR(T))
 #else
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(has_virtual_destructor,T,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_DEF1(has_virtual_destructor,T,false)
 #endif
 
 } // namespace ndnboost
 
 #include <ndnboost/type_traits/detail/bool_trait_undef.hpp>
 
-#endif // BOOST_TT_IS_MEMBER_FUNCTION_POINTER_HPP_INCLUDED
+#endif // NDNBOOST_TT_IS_MEMBER_FUNCTION_POINTER_HPP_INCLUDED
diff --git a/include/ndnboost/type_traits/ice.hpp b/include/ndnboost/type_traits/ice.hpp
index e68c229..dd2ee99 100644
--- a/include/ndnboost/type_traits/ice.hpp
+++ b/include/ndnboost/type_traits/ice.hpp
@@ -8,8 +8,8 @@
 //
 //  macros and helpers for working with integral-constant-expressions.
 
-#ifndef BOOST_TT_ICE_HPP_INCLUDED
-#define BOOST_TT_ICE_HPP_INCLUDED
+#ifndef NDNBOOST_TT_ICE_HPP_INCLUDED
+#define NDNBOOST_TT_ICE_HPP_INCLUDED
 
 #include <ndnboost/type_traits/detail/yes_no_type.hpp>
 #include <ndnboost/type_traits/detail/ice_or.hpp>
@@ -17,4 +17,4 @@
 #include <ndnboost/type_traits/detail/ice_not.hpp>
 #include <ndnboost/type_traits/detail/ice_eq.hpp>
 
-#endif // BOOST_TT_ICE_HPP_INCLUDED
+#endif // NDNBOOST_TT_ICE_HPP_INCLUDED
diff --git a/include/ndnboost/type_traits/integral_constant.hpp b/include/ndnboost/type_traits/integral_constant.hpp
index 0539f1c..78b9050 100644
--- a/include/ndnboost/type_traits/integral_constant.hpp
+++ b/include/ndnboost/type_traits/integral_constant.hpp
@@ -3,8 +3,8 @@
 //  Boost Software License, Version 1.0. (See accompanying file 
 //  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 
-#ifndef BOOST_TYPE_TRAITS_INTEGRAL_CONSTANT_HPP
-#define BOOST_TYPE_TRAITS_INTEGRAL_CONSTANT_HPP
+#ifndef NDNBOOST_TYPE_TRAITS_INTEGRAL_CONSTANT_HPP
+#define NDNBOOST_TYPE_TRAITS_INTEGRAL_CONSTANT_HPP
 
 #include <ndnboost/config.hpp>
 #include <ndnboost/mpl/bool.hpp>
@@ -12,7 +12,7 @@
 
 namespace ndnboost{
 
-#if defined(BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS) || defined(__BORLANDC__)
+#if defined(NDNBOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS) || defined(__BORLANDC__)
 template <class T, int val>
 #else
 template <class T, T val>
@@ -24,7 +24,7 @@
 
 template<> struct integral_constant<bool,true> : public mpl::true_ 
 {
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
+#if NDNBOOST_WORKAROUND(NDNBOOST_MSVC, < 1300)
 # pragma warning(push)
 # pragma warning(disable:4097)
    typedef mpl::true_ base_;
@@ -35,7 +35,7 @@
 };
 template<> struct integral_constant<bool,false> : public mpl::false_ 
 {
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
+#if NDNBOOST_WORKAROUND(NDNBOOST_MSVC, < 1300)
 # pragma warning(push)
 # pragma warning(disable:4097)
    typedef mpl::false_ base_;
diff --git a/include/ndnboost/type_traits/integral_promotion.hpp b/include/ndnboost/type_traits/integral_promotion.hpp
index 0f26a9e..48cfffe 100644
--- a/include/ndnboost/type_traits/integral_promotion.hpp
+++ b/include/ndnboost/type_traits/integral_promotion.hpp
@@ -37,40 +37,40 @@
 // Specializations for non-standard types.
 // Type is promoted if it's smaller then int.
 
-#define BOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE(T) \
+#define NDNBOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE(T) \
     template<> struct need_promotion<T>          \
         : public integral_constant<bool, (sizeof(T) < sizeof(int))> {};
 
 // Same set of integral types as in ndnboost/type_traits/is_integral.hpp.
 // Please, keep in sync.
-#if (defined(BOOST_MSVC) && (BOOST_MSVC < 1300)) \
-    || (defined(BOOST_INTEL_CXX_VERSION) && defined(_MSC_VER) && (BOOST_INTEL_CXX_VERSION <= 600)) \
+#if (defined(NDNBOOST_MSVC) && (NDNBOOST_MSVC < 1300)) \
+    || (defined(NDNBOOST_INTEL_CXX_VERSION) && defined(_MSC_VER) && (NDNBOOST_INTEL_CXX_VERSION <= 600)) \
     || (defined(__BORLANDC__) && (__BORLANDC__ == 0x600) && (_MSC_VER < 1300))
 // TODO: common macro for this #if. Or better yet, PP SEQ of non-standard types.
-BOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE(__int8          )
-BOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE(unsigned __int8 )
-BOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE(__int16         )
-BOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE(unsigned __int16)
-BOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE(__int32         )
-BOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE(unsigned __int32)
+NDNBOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE(__int8          )
+NDNBOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE(unsigned __int8 )
+NDNBOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE(__int16         )
+NDNBOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE(unsigned __int16)
+NDNBOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE(__int32         )
+NDNBOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE(unsigned __int32)
 #ifdef __BORLANDC__
-BOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE(unsigned __int64)
-BOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE(         __int64)
+NDNBOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE(unsigned __int64)
+NDNBOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE(         __int64)
 #endif
 #endif
 
-#if defined(BOOST_HAS_LONG_LONG)
-BOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE(ndnboost::ulong_long_type)
-BOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE(ndnboost::long_long_type )
-#elif defined(BOOST_HAS_MS_INT64)
-BOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE(unsigned __int64)
-BOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE(         __int64)
+#if defined(NDNBOOST_HAS_LONG_LONG)
+NDNBOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE(ndnboost::ulong_long_type)
+NDNBOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE(ndnboost::long_long_type )
+#elif defined(NDNBOOST_HAS_MS_INT64)
+NDNBOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE(unsigned __int64)
+NDNBOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE(         __int64)
 #endif
 
-#undef BOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE
+#undef NDNBOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE
 
 
-#ifndef BOOST_NO_INTRINSIC_WCHAR_T
+#ifndef NDNBOOST_NO_INTRINSIC_WCHAR_T
 // 4.5/2
 template<> struct need_promotion<wchar_t> : public true_type {};
 #endif
@@ -85,17 +85,17 @@
 
 template<int Index, int IsConst, int IsVolatile> struct promote_from_index;
 
-#define BOOST_TT_AUX_PROMOTE_FROM_INDEX(N,T)                                   \
+#define NDNBOOST_TT_AUX_PROMOTE_FROM_INDEX(N,T)                                   \
     template<> struct promote_from_index<N,0,0> { typedef T type; };           \
     template<> struct promote_from_index<N,0,1> { typedef T volatile type; };  \
     template<> struct promote_from_index<N,1,0> { typedef T const type; };     \
     template<> struct promote_from_index<N,1,1> { typedef T const volatile type; };
 
 
-BOOST_TT_AUX_PROMOTE_FROM_INDEX(1, int          )
-BOOST_TT_AUX_PROMOTE_FROM_INDEX(2, unsigned int )
-BOOST_TT_AUX_PROMOTE_FROM_INDEX(3, long         )
-BOOST_TT_AUX_PROMOTE_FROM_INDEX(4, unsigned long)
+NDNBOOST_TT_AUX_PROMOTE_FROM_INDEX(1, int          )
+NDNBOOST_TT_AUX_PROMOTE_FROM_INDEX(2, unsigned int )
+NDNBOOST_TT_AUX_PROMOTE_FROM_INDEX(3, long         )
+NDNBOOST_TT_AUX_PROMOTE_FROM_INDEX(4, unsigned long)
 
 
 // WARNING: integral promotions to non-standard types
@@ -103,19 +103,19 @@
 // Additional specialisations and overloads shouldn't
 // introduce ambiguity, though.
 
-#if defined(BOOST_HAS_LONG_LONG)
-BOOST_TT_AUX_PROMOTE_FROM_INDEX(5, ndnboost::long_long_type )
-BOOST_TT_AUX_PROMOTE_FROM_INDEX(6, ndnboost::ulong_long_type)
-#elif defined(BOOST_HAS_MS_INT64)
-BOOST_TT_AUX_PROMOTE_FROM_INDEX(7, __int64         )
-BOOST_TT_AUX_PROMOTE_FROM_INDEX(8, unsigned __int64)
+#if defined(NDNBOOST_HAS_LONG_LONG)
+NDNBOOST_TT_AUX_PROMOTE_FROM_INDEX(5, ndnboost::long_long_type )
+NDNBOOST_TT_AUX_PROMOTE_FROM_INDEX(6, ndnboost::ulong_long_type)
+#elif defined(NDNBOOST_HAS_MS_INT64)
+NDNBOOST_TT_AUX_PROMOTE_FROM_INDEX(7, __int64         )
+NDNBOOST_TT_AUX_PROMOTE_FROM_INDEX(8, unsigned __int64)
 #endif
 
-#undef BOOST_TT_AUX_PROMOTE_FROM_INDEX
+#undef NDNBOOST_TT_AUX_PROMOTE_FROM_INDEX
 
 
-// Define BOOST_TT_AUX_PROMOTED_INDEX_TESTER:
-#if !defined(BOOST_MSVC)
+// Define NDNBOOST_TT_AUX_PROMOTED_INDEX_TESTER:
+#if !defined(NDNBOOST_MSVC)
 
 template<int N>
 struct sized_type_for_promotion
@@ -123,30 +123,30 @@
     typedef char (&type)[N];
 };
 
-#define BOOST_TT_AUX_PROMOTED_INDEX_TESTER(I,T) \
+#define NDNBOOST_TT_AUX_PROMOTED_INDEX_TESTER(I,T) \
     sized_type_for_promotion<I>::type promoted_index_tester(T);
 
 #else
 
-#define BOOST_TT_AUX_PROMOTED_INDEX_TESTER(I,T) \
+#define NDNBOOST_TT_AUX_PROMOTED_INDEX_TESTER(I,T) \
     char (&promoted_index_tester(T))[I];
 
 #endif
 
-BOOST_TT_AUX_PROMOTED_INDEX_TESTER(1, int          )
-BOOST_TT_AUX_PROMOTED_INDEX_TESTER(2, unsigned int )
-BOOST_TT_AUX_PROMOTED_INDEX_TESTER(3, long         )
-BOOST_TT_AUX_PROMOTED_INDEX_TESTER(4, unsigned long)
+NDNBOOST_TT_AUX_PROMOTED_INDEX_TESTER(1, int          )
+NDNBOOST_TT_AUX_PROMOTED_INDEX_TESTER(2, unsigned int )
+NDNBOOST_TT_AUX_PROMOTED_INDEX_TESTER(3, long         )
+NDNBOOST_TT_AUX_PROMOTED_INDEX_TESTER(4, unsigned long)
 
-#if defined(BOOST_HAS_LONG_LONG)
-BOOST_TT_AUX_PROMOTED_INDEX_TESTER(5, ndnboost::long_long_type )
-BOOST_TT_AUX_PROMOTED_INDEX_TESTER(6, ndnboost::ulong_long_type)
-#elif defined(BOOST_HAS_MS_INT64)
-BOOST_TT_AUX_PROMOTED_INDEX_TESTER(7, __int64         )
-BOOST_TT_AUX_PROMOTED_INDEX_TESTER(8, unsigned __int64)
+#if defined(NDNBOOST_HAS_LONG_LONG)
+NDNBOOST_TT_AUX_PROMOTED_INDEX_TESTER(5, ndnboost::long_long_type )
+NDNBOOST_TT_AUX_PROMOTED_INDEX_TESTER(6, ndnboost::ulong_long_type)
+#elif defined(NDNBOOST_HAS_MS_INT64)
+NDNBOOST_TT_AUX_PROMOTED_INDEX_TESTER(7, __int64         )
+NDNBOOST_TT_AUX_PROMOTED_INDEX_TESTER(8, unsigned __int64)
 #endif
 
-#undef BOOST_TT_AUX_PROMOTED_INDEX_TESTER
+#undef NDNBOOST_TT_AUX_PROMOTED_INDEX_TESTER
 
 
 // Get an index of promoted type for type T.
@@ -155,14 +155,14 @@
 struct promoted_index
 {
     static T testee; // undefined
-    BOOST_STATIC_CONSTANT(int, value = sizeof(promoted_index_tester(+testee)) );
+    NDNBOOST_STATIC_CONSTANT(int, value = sizeof(promoted_index_tester(+testee)) );
     // Unary plus promotes testee                    LOOK HERE ---> ^
 };
 
 template<class T>
 struct integral_promotion_impl
 {
-    typedef BOOST_DEDUCED_TYPENAME promote_from_index<
+    typedef NDNBOOST_DEDUCED_TYPENAME promote_from_index<
         (ndnboost::type_traits::detail::promoted_index<T>::value)
       , (ndnboost::is_const<T>::value)
       , (ndnboost::is_volatile<T>::value)
@@ -172,7 +172,7 @@
 template<class T>
 struct integral_promotion
   : public ndnboost::mpl::eval_if<
-        need_promotion<BOOST_DEDUCED_TYPENAME remove_cv<T>::type>
+        need_promotion<NDNBOOST_DEDUCED_TYPENAME remove_cv<T>::type>
       , integral_promotion_impl<T>
       , ndnboost::mpl::identity<T>
       >
@@ -181,10 +181,10 @@
 
 } }
 
-BOOST_TT_AUX_TYPE_TRAIT_DEF1(
+NDNBOOST_TT_AUX_TYPE_TRAIT_DEF1(
       integral_promotion
     , T
-    , BOOST_DEDUCED_TYPENAME
+    , NDNBOOST_DEDUCED_TYPENAME
         ndnboost::type_traits::detail::integral_promotion<T>::type
     )
 }
diff --git a/include/ndnboost/type_traits/intrinsics.hpp b/include/ndnboost/type_traits/intrinsics.hpp
index 25f1a28..978b2e1 100644
--- a/include/ndnboost/type_traits/intrinsics.hpp
+++ b/include/ndnboost/type_traits/intrinsics.hpp
@@ -5,10 +5,10 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#ifndef BOOST_TT_INTRINSICS_HPP_INCLUDED
-#define BOOST_TT_INTRINSICS_HPP_INCLUDED
+#ifndef NDNBOOST_TT_INTRINSICS_HPP_INCLUDED
+#define NDNBOOST_TT_INTRINSICS_HPP_INCLUDED
 
-#ifndef BOOST_TT_CONFIG_HPP_INCLUDED
+#ifndef NDNBOOST_TT_CONFIG_HPP_INCLUDED
 #include <ndnboost/type_traits/config.hpp>
 #endif
 
@@ -19,31 +19,31 @@
 // up on the compiler support:
 //
 // (these should largely ignore cv-qualifiers)
-// BOOST_IS_UNION(T) should evaluate to true if T is a union type
-// BOOST_IS_POD(T) should evaluate to true if T is a POD type
-// BOOST_IS_EMPTY(T) should evaluate to true if T is an empty class type (and not a union)
-// BOOST_HAS_TRIVIAL_CONSTRUCTOR(T) should evaluate to true if "T x;" has no effect
-// BOOST_HAS_TRIVIAL_COPY(T) should evaluate to true if T(t) <==> memcpy
-// BOOST_HAS_TRIVIAL_MOVE_CONSTRUCTOR(T) should evaluate to true if T(ndnboost::move(t)) <==> memcpy
-// BOOST_HAS_TRIVIAL_ASSIGN(T) should evaluate to true if t = u <==> memcpy
-// BOOST_HAS_TRIVIAL_MOVE_ASSIGN(T) should evaluate to true if t = ndnboost::move(u) <==> memcpy
-// BOOST_HAS_TRIVIAL_DESTRUCTOR(T) should evaluate to true if ~T() has no effect
-// BOOST_HAS_NOTHROW_CONSTRUCTOR(T) should evaluate to true if "T x;" can not throw
-// BOOST_HAS_NOTHROW_COPY(T) should evaluate to true if T(t) can not throw
-// BOOST_HAS_NOTHROW_ASSIGN(T) should evaluate to true if t = u can not throw
-// BOOST_HAS_VIRTUAL_DESTRUCTOR(T) should evaluate to true T has a virtual destructor
+// NDNBOOST_IS_UNION(T) should evaluate to true if T is a union type
+// NDNBOOST_IS_POD(T) should evaluate to true if T is a POD type
+// NDNBOOST_IS_EMPTY(T) should evaluate to true if T is an empty class type (and not a union)
+// NDNBOOST_HAS_TRIVIAL_CONSTRUCTOR(T) should evaluate to true if "T x;" has no effect
+// NDNBOOST_HAS_TRIVIAL_COPY(T) should evaluate to true if T(t) <==> memcpy
+// NDNBOOST_HAS_TRIVIAL_MOVE_CONSTRUCTOR(T) should evaluate to true if T(ndnboost::move(t)) <==> memcpy
+// NDNBOOST_HAS_TRIVIAL_ASSIGN(T) should evaluate to true if t = u <==> memcpy
+// NDNBOOST_HAS_TRIVIAL_MOVE_ASSIGN(T) should evaluate to true if t = ndnboost::move(u) <==> memcpy
+// NDNBOOST_HAS_TRIVIAL_DESTRUCTOR(T) should evaluate to true if ~T() has no effect
+// NDNBOOST_HAS_NOTHROW_CONSTRUCTOR(T) should evaluate to true if "T x;" can not throw
+// NDNBOOST_HAS_NOTHROW_COPY(T) should evaluate to true if T(t) can not throw
+// NDNBOOST_HAS_NOTHROW_ASSIGN(T) should evaluate to true if t = u can not throw
+// NDNBOOST_HAS_VIRTUAL_DESTRUCTOR(T) should evaluate to true T has a virtual destructor
 //
 // The following can also be defined: when detected our implementation is greatly simplified.
 //
-// BOOST_IS_ABSTRACT(T) true if T is an abstract type
-// BOOST_IS_BASE_OF(T,U) true if T is a base class of U
-// BOOST_IS_CLASS(T) true if T is a class type (and not a union)
-// BOOST_IS_CONVERTIBLE(T,U) true if T is convertible to U
-// BOOST_IS_ENUM(T) true is T is an enum
-// BOOST_IS_POLYMORPHIC(T) true if T is a polymorphic type
-// BOOST_ALIGNMENT_OF(T) should evaluate to the alignment requirements of type T.
+// NDNBOOST_IS_ABSTRACT(T) true if T is an abstract type
+// NDNBOOST_IS_BASE_OF(T,U) true if T is a base class of U
+// NDNBOOST_IS_CLASS(T) true if T is a class type (and not a union)
+// NDNBOOST_IS_CONVERTIBLE(T,U) true if T is convertible to U
+// NDNBOOST_IS_ENUM(T) true is T is an enum
+// NDNBOOST_IS_POLYMORPHIC(T) true if T is a polymorphic type
+// NDNBOOST_ALIGNMENT_OF(T) should evaluate to the alignment requirements of type T.
 
-#ifdef BOOST_HAS_SGI_TYPE_TRAITS
+#ifdef NDNBOOST_HAS_SGI_TYPE_TRAITS
     // Hook into SGI's __type_traits class, this will pick up user supplied
     // specializations as well as SGI - compiler supplied specializations.
 #   include <ndnboost/type_traits/is_same.hpp>
@@ -55,14 +55,14 @@
 #   else
 #    include <type_traits.h>
 #   endif
-#   define BOOST_IS_POD(T) ::ndnboost::is_same< typename ::__type_traits<T>::is_POD_type, ::__true_type>::value
-#   define BOOST_HAS_TRIVIAL_CONSTRUCTOR(T) ::ndnboost::is_same< typename ::__type_traits<T>::has_trivial_default_constructor, ::__true_type>::value
-#   define BOOST_HAS_TRIVIAL_COPY(T) ::ndnboost::is_same< typename ::__type_traits<T>::has_trivial_copy_constructor, ::__true_type>::value
-#   define BOOST_HAS_TRIVIAL_ASSIGN(T) ::ndnboost::is_same< typename ::__type_traits<T>::has_trivial_assignment_operator, ::__true_type>::value
-#   define BOOST_HAS_TRIVIAL_DESTRUCTOR(T) ::ndnboost::is_same< typename ::__type_traits<T>::has_trivial_destructor, ::__true_type>::value
+#   define NDNBOOST_IS_POD(T) ::ndnboost::is_same< typename ::__type_traits<T>::is_POD_type, ::__true_type>::value
+#   define NDNBOOST_HAS_TRIVIAL_CONSTRUCTOR(T) ::ndnboost::is_same< typename ::__type_traits<T>::has_trivial_default_constructor, ::__true_type>::value
+#   define NDNBOOST_HAS_TRIVIAL_COPY(T) ::ndnboost::is_same< typename ::__type_traits<T>::has_trivial_copy_constructor, ::__true_type>::value
+#   define NDNBOOST_HAS_TRIVIAL_ASSIGN(T) ::ndnboost::is_same< typename ::__type_traits<T>::has_trivial_assignment_operator, ::__true_type>::value
+#   define NDNBOOST_HAS_TRIVIAL_DESTRUCTOR(T) ::ndnboost::is_same< typename ::__type_traits<T>::has_trivial_destructor, ::__true_type>::value
 
 #   ifdef __sgi
-#      define BOOST_HAS_TYPE_TRAITS_INTRINSICS
+#      define NDNBOOST_HAS_TYPE_TRAITS_INTRINSICS
 #   endif
 #endif
 
@@ -72,171 +72,171 @@
     // user defined specializations as well as compiler intrinsics as 
     // and when they become available:
 #   include <msl_utility>
-#   define BOOST_IS_UNION(T) BOOST_STD_EXTENSION_NAMESPACE::is_union<T>::value
-#   define BOOST_IS_POD(T) BOOST_STD_EXTENSION_NAMESPACE::is_POD<T>::value
-#   define BOOST_HAS_TRIVIAL_CONSTRUCTOR(T) BOOST_STD_EXTENSION_NAMESPACE::has_trivial_default_ctor<T>::value
-#   define BOOST_HAS_TRIVIAL_COPY(T) BOOST_STD_EXTENSION_NAMESPACE::has_trivial_copy_ctor<T>::value
-#   define BOOST_HAS_TRIVIAL_ASSIGN(T) BOOST_STD_EXTENSION_NAMESPACE::has_trivial_assignment<T>::value
-#   define BOOST_HAS_TRIVIAL_DESTRUCTOR(T) BOOST_STD_EXTENSION_NAMESPACE::has_trivial_dtor<T>::value
-#   define BOOST_HAS_TYPE_TRAITS_INTRINSICS
+#   define NDNBOOST_IS_UNION(T) NDNBOOST_STD_EXTENSION_NAMESPACE::is_union<T>::value
+#   define NDNBOOST_IS_POD(T) NDNBOOST_STD_EXTENSION_NAMESPACE::is_POD<T>::value
+#   define NDNBOOST_HAS_TRIVIAL_CONSTRUCTOR(T) NDNBOOST_STD_EXTENSION_NAMESPACE::has_trivial_default_ctor<T>::value
+#   define NDNBOOST_HAS_TRIVIAL_COPY(T) NDNBOOST_STD_EXTENSION_NAMESPACE::has_trivial_copy_ctor<T>::value
+#   define NDNBOOST_HAS_TRIVIAL_ASSIGN(T) NDNBOOST_STD_EXTENSION_NAMESPACE::has_trivial_assignment<T>::value
+#   define NDNBOOST_HAS_TRIVIAL_DESTRUCTOR(T) NDNBOOST_STD_EXTENSION_NAMESPACE::has_trivial_dtor<T>::value
+#   define NDNBOOST_HAS_TYPE_TRAITS_INTRINSICS
 #endif
 
-#if (defined(BOOST_MSVC) && defined(BOOST_MSVC_FULL_VER) && (BOOST_MSVC_FULL_VER >=140050215))\
-         || (defined(BOOST_INTEL) && defined(_MSC_VER) && (_MSC_VER >= 1500))
+#if (defined(NDNBOOST_MSVC) && defined(NDNBOOST_MSVC_FULL_VER) && (NDNBOOST_MSVC_FULL_VER >=140050215))\
+         || (defined(NDNBOOST_INTEL) && defined(_MSC_VER) && (_MSC_VER >= 1500))
 #   include <ndnboost/type_traits/is_same.hpp>
 #   include <ndnboost/type_traits/is_function.hpp>
 
-#   define BOOST_IS_UNION(T) __is_union(T)
-#   define BOOST_IS_POD(T) (__is_pod(T) && __has_trivial_constructor(T))
-#   define BOOST_IS_EMPTY(T) __is_empty(T)
-#   define BOOST_HAS_TRIVIAL_CONSTRUCTOR(T) __has_trivial_constructor(T)
-#   define BOOST_HAS_TRIVIAL_COPY(T) (__has_trivial_copy(T)|| ( ::ndnboost::is_pod<T>::value && !::ndnboost::is_volatile<T>::value))
-#   define BOOST_HAS_TRIVIAL_ASSIGN(T) (__has_trivial_assign(T) || ( ::ndnboost::is_pod<T>::value && ! ::ndnboost::is_const<T>::value && !::ndnboost::is_volatile<T>::value))
-#   define BOOST_HAS_TRIVIAL_DESTRUCTOR(T) (__has_trivial_destructor(T) || ::ndnboost::is_pod<T>::value)
-#   define BOOST_HAS_NOTHROW_CONSTRUCTOR(T) (__has_nothrow_constructor(T) || ::ndnboost::has_trivial_constructor<T>::value)
-#   define BOOST_HAS_NOTHROW_COPY(T) (__has_nothrow_copy(T) || ::ndnboost::has_trivial_copy<T>::value)
-#   define BOOST_HAS_NOTHROW_ASSIGN(T) (__has_nothrow_assign(T) || ::ndnboost::has_trivial_assign<T>::value)
-#   define BOOST_HAS_VIRTUAL_DESTRUCTOR(T) __has_virtual_destructor(T)
+#   define NDNBOOST_IS_UNION(T) __is_union(T)
+#   define NDNBOOST_IS_POD(T) (__is_pod(T) && __has_trivial_constructor(T))
+#   define NDNBOOST_IS_EMPTY(T) __is_empty(T)
+#   define NDNBOOST_HAS_TRIVIAL_CONSTRUCTOR(T) __has_trivial_constructor(T)
+#   define NDNBOOST_HAS_TRIVIAL_COPY(T) (__has_trivial_copy(T)|| ( ::ndnboost::is_pod<T>::value && !::ndnboost::is_volatile<T>::value))
+#   define NDNBOOST_HAS_TRIVIAL_ASSIGN(T) (__has_trivial_assign(T) || ( ::ndnboost::is_pod<T>::value && ! ::ndnboost::is_const<T>::value && !::ndnboost::is_volatile<T>::value))
+#   define NDNBOOST_HAS_TRIVIAL_DESTRUCTOR(T) (__has_trivial_destructor(T) || ::ndnboost::is_pod<T>::value)
+#   define NDNBOOST_HAS_NOTHROW_CONSTRUCTOR(T) (__has_nothrow_constructor(T) || ::ndnboost::has_trivial_constructor<T>::value)
+#   define NDNBOOST_HAS_NOTHROW_COPY(T) (__has_nothrow_copy(T) || ::ndnboost::has_trivial_copy<T>::value)
+#   define NDNBOOST_HAS_NOTHROW_ASSIGN(T) (__has_nothrow_assign(T) || ::ndnboost::has_trivial_assign<T>::value)
+#   define NDNBOOST_HAS_VIRTUAL_DESTRUCTOR(T) __has_virtual_destructor(T)
 
-#   define BOOST_IS_ABSTRACT(T) __is_abstract(T)
-#   define BOOST_IS_BASE_OF(T,U) (__is_base_of(T,U) && !is_same<T,U>::value)
-#   define BOOST_IS_CLASS(T) __is_class(T)
-#   define BOOST_IS_CONVERTIBLE(T,U) ((__is_convertible_to(T,U) || (is_same<T,U>::value && !is_function<U>::value)) && !__is_abstract(U))
-#   define BOOST_IS_ENUM(T) __is_enum(T)
+#   define NDNBOOST_IS_ABSTRACT(T) __is_abstract(T)
+#   define NDNBOOST_IS_BASE_OF(T,U) (__is_base_of(T,U) && !is_same<T,U>::value)
+#   define NDNBOOST_IS_CLASS(T) __is_class(T)
+#   define NDNBOOST_IS_CONVERTIBLE(T,U) ((__is_convertible_to(T,U) || (is_same<T,U>::value && !is_function<U>::value)) && !__is_abstract(U))
+#   define NDNBOOST_IS_ENUM(T) __is_enum(T)
 //  This one doesn't quite always do the right thing:
-//  #   define BOOST_IS_POLYMORPHIC(T) __is_polymorphic(T)
+//  #   define NDNBOOST_IS_POLYMORPHIC(T) __is_polymorphic(T)
 //  This one fails if the default alignment has been changed with /Zp:
-//  #   define BOOST_ALIGNMENT_OF(T) __alignof(T)
+//  #   define NDNBOOST_ALIGNMENT_OF(T) __alignof(T)
 
 #   if defined(_MSC_VER) && (_MSC_VER >= 1700)
-#       define BOOST_HAS_TRIVIAL_MOVE_CONSTRUCTOR(T) ((__has_trivial_move_constructor(T) || ::ndnboost::is_pod<T>::value) && !::ndnboost::is_volatile<T>::value)
-#       define BOOST_HAS_TRIVIAL_MOVE_ASSIGN(T) ((__has_trivial_move_assign(T) || ::ndnboost::is_pod<T>::value) && ! ::ndnboost::is_const<T>::value && !::ndnboost::is_volatile<T>::value)
+#       define NDNBOOST_HAS_TRIVIAL_MOVE_CONSTRUCTOR(T) ((__has_trivial_move_constructor(T) || ::ndnboost::is_pod<T>::value) && !::ndnboost::is_volatile<T>::value)
+#       define NDNBOOST_HAS_TRIVIAL_MOVE_ASSIGN(T) ((__has_trivial_move_assign(T) || ::ndnboost::is_pod<T>::value) && ! ::ndnboost::is_const<T>::value && !::ndnboost::is_volatile<T>::value)
 #   endif
 
-#   define BOOST_HAS_TYPE_TRAITS_INTRINSICS
+#   define NDNBOOST_HAS_TYPE_TRAITS_INTRINSICS
 #endif
 
 #if defined(__DMC__) && (__DMC__ >= 0x848)
 // For Digital Mars C++, www.digitalmars.com
-#   define BOOST_IS_UNION(T) (__typeinfo(T) & 0x400)
-#   define BOOST_IS_POD(T) (__typeinfo(T) & 0x800)
-#   define BOOST_IS_EMPTY(T) (__typeinfo(T) & 0x1000)
-#   define BOOST_HAS_TRIVIAL_CONSTRUCTOR(T) (__typeinfo(T) & 0x10)
-#   define BOOST_HAS_TRIVIAL_COPY(T) (__typeinfo(T) & 0x20)
-#   define BOOST_HAS_TRIVIAL_ASSIGN(T) (__typeinfo(T) & 0x40)
-#   define BOOST_HAS_TRIVIAL_DESTRUCTOR(T) (__typeinfo(T) & 0x8)
-#   define BOOST_HAS_NOTHROW_CONSTRUCTOR(T) (__typeinfo(T) & 0x80)
-#   define BOOST_HAS_NOTHROW_COPY(T) (__typeinfo(T) & 0x100)
-#   define BOOST_HAS_NOTHROW_ASSIGN(T) (__typeinfo(T) & 0x200)
-#   define BOOST_HAS_VIRTUAL_DESTRUCTOR(T) (__typeinfo(T) & 0x4)
-#   define BOOST_HAS_TYPE_TRAITS_INTRINSICS
+#   define NDNBOOST_IS_UNION(T) (__typeinfo(T) & 0x400)
+#   define NDNBOOST_IS_POD(T) (__typeinfo(T) & 0x800)
+#   define NDNBOOST_IS_EMPTY(T) (__typeinfo(T) & 0x1000)
+#   define NDNBOOST_HAS_TRIVIAL_CONSTRUCTOR(T) (__typeinfo(T) & 0x10)
+#   define NDNBOOST_HAS_TRIVIAL_COPY(T) (__typeinfo(T) & 0x20)
+#   define NDNBOOST_HAS_TRIVIAL_ASSIGN(T) (__typeinfo(T) & 0x40)
+#   define NDNBOOST_HAS_TRIVIAL_DESTRUCTOR(T) (__typeinfo(T) & 0x8)
+#   define NDNBOOST_HAS_NOTHROW_CONSTRUCTOR(T) (__typeinfo(T) & 0x80)
+#   define NDNBOOST_HAS_NOTHROW_COPY(T) (__typeinfo(T) & 0x100)
+#   define NDNBOOST_HAS_NOTHROW_ASSIGN(T) (__typeinfo(T) & 0x200)
+#   define NDNBOOST_HAS_VIRTUAL_DESTRUCTOR(T) (__typeinfo(T) & 0x4)
+#   define NDNBOOST_HAS_TYPE_TRAITS_INTRINSICS
 #endif
 
-#if defined(BOOST_CLANG) && defined(__has_feature)
+#if defined(NDNBOOST_CLANG) && defined(__has_feature)
 #   include <cstddef>
 #   include <ndnboost/type_traits/is_same.hpp>
 #   include <ndnboost/type_traits/is_reference.hpp>
 #   include <ndnboost/type_traits/is_volatile.hpp>
 
 #   if __has_feature(is_union)
-#     define BOOST_IS_UNION(T) __is_union(T)
+#     define NDNBOOST_IS_UNION(T) __is_union(T)
 #   endif
 #   if (!defined(__GLIBCXX__) || (__GLIBCXX__ >= 20080306 && __GLIBCXX__ != 20080519)) && __has_feature(is_pod)
-#     define BOOST_IS_POD(T) __is_pod(T)
+#     define NDNBOOST_IS_POD(T) __is_pod(T)
 #   endif
 #   if (!defined(__GLIBCXX__) || (__GLIBCXX__ >= 20080306 && __GLIBCXX__ != 20080519)) && __has_feature(is_empty)
-#     define BOOST_IS_EMPTY(T) __is_empty(T)
+#     define NDNBOOST_IS_EMPTY(T) __is_empty(T)
 #   endif
 #   if __has_feature(has_trivial_constructor)
-#     define BOOST_HAS_TRIVIAL_CONSTRUCTOR(T) __has_trivial_constructor(T)
+#     define NDNBOOST_HAS_TRIVIAL_CONSTRUCTOR(T) __has_trivial_constructor(T)
 #   endif
 #   if __has_feature(has_trivial_copy)
-#     define BOOST_HAS_TRIVIAL_COPY(T) (__has_trivial_copy(T) && !is_reference<T>::value && !is_volatile<T>::value)
+#     define NDNBOOST_HAS_TRIVIAL_COPY(T) (__has_trivial_copy(T) && !is_reference<T>::value && !is_volatile<T>::value)
 #   endif
 #   if __has_feature(has_trivial_assign)
-#     define BOOST_HAS_TRIVIAL_ASSIGN(T) (__has_trivial_assign(T) && !is_volatile<T>::value)
+#     define NDNBOOST_HAS_TRIVIAL_ASSIGN(T) (__has_trivial_assign(T) && !is_volatile<T>::value)
 #   endif
 #   if __has_feature(has_trivial_destructor)
-#     define BOOST_HAS_TRIVIAL_DESTRUCTOR(T) __has_trivial_destructor(T)
+#     define NDNBOOST_HAS_TRIVIAL_DESTRUCTOR(T) __has_trivial_destructor(T)
 #   endif
 #   if __has_feature(has_nothrow_constructor)
-#     define BOOST_HAS_NOTHROW_CONSTRUCTOR(T) __has_nothrow_constructor(T)
+#     define NDNBOOST_HAS_NOTHROW_CONSTRUCTOR(T) __has_nothrow_constructor(T)
 #   endif
 #   if __has_feature(has_nothrow_copy)
-#     define BOOST_HAS_NOTHROW_COPY(T) (__has_nothrow_copy(T) && !is_volatile<T>::value && !is_reference<T>::value)
+#     define NDNBOOST_HAS_NOTHROW_COPY(T) (__has_nothrow_copy(T) && !is_volatile<T>::value && !is_reference<T>::value)
 #   endif
 #   if __has_feature(has_nothrow_assign)
-#     define BOOST_HAS_NOTHROW_ASSIGN(T) (__has_nothrow_assign(T) && !is_volatile<T>::value)
+#     define NDNBOOST_HAS_NOTHROW_ASSIGN(T) (__has_nothrow_assign(T) && !is_volatile<T>::value)
 #   endif
 #   if __has_feature(has_virtual_destructor)
-#     define BOOST_HAS_VIRTUAL_DESTRUCTOR(T) __has_virtual_destructor(T)
+#     define NDNBOOST_HAS_VIRTUAL_DESTRUCTOR(T) __has_virtual_destructor(T)
 #   endif
 #   if __has_feature(is_abstract)
-#     define BOOST_IS_ABSTRACT(T) __is_abstract(T)
+#     define NDNBOOST_IS_ABSTRACT(T) __is_abstract(T)
 #   endif
 #   if __has_feature(is_base_of)
-#     define BOOST_IS_BASE_OF(T,U) (__is_base_of(T,U) && !is_same<T,U>::value)
+#     define NDNBOOST_IS_BASE_OF(T,U) (__is_base_of(T,U) && !is_same<T,U>::value)
 #   endif
 #   if __has_feature(is_class)
-#     define BOOST_IS_CLASS(T) __is_class(T)
+#     define NDNBOOST_IS_CLASS(T) __is_class(T)
 #   endif
 #   if __has_feature(is_convertible_to)
 #     include <ndnboost/type_traits/is_abstract.hpp>
-#     define BOOST_IS_CONVERTIBLE(T,U) (__is_convertible_to(T,U) && !::ndnboost::is_abstract<U>::value)
+#     define NDNBOOST_IS_CONVERTIBLE(T,U) (__is_convertible_to(T,U) && !::ndnboost::is_abstract<U>::value)
 #   endif
 #   if __has_feature(is_enum)
-#     define BOOST_IS_ENUM(T) __is_enum(T)
+#     define NDNBOOST_IS_ENUM(T) __is_enum(T)
 #   endif
 #   if __has_feature(is_polymorphic)
-#     define BOOST_IS_POLYMORPHIC(T) __is_polymorphic(T)
+#     define NDNBOOST_IS_POLYMORPHIC(T) __is_polymorphic(T)
 #   endif
 #   if __has_feature(has_trivial_move_constructor)
-#     define BOOST_HAS_TRIVIAL_MOVE_CONSTRUCTOR(T) __has_trivial_move_constructor(T)
+#     define NDNBOOST_HAS_TRIVIAL_MOVE_CONSTRUCTOR(T) __has_trivial_move_constructor(T)
 #   endif
 #   if __has_feature(has_trivial_move_assign)
-#     define BOOST_HAS_TRIVIAL_MOVE_ASSIGN(T) __has_trivial_move_assign(T)
+#     define NDNBOOST_HAS_TRIVIAL_MOVE_ASSIGN(T) __has_trivial_move_assign(T)
 #   endif
-#   define BOOST_ALIGNMENT_OF(T) __alignof(T)
+#   define NDNBOOST_ALIGNMENT_OF(T) __alignof(T)
 
-#   define BOOST_HAS_TYPE_TRAITS_INTRINSICS
+#   define NDNBOOST_HAS_TYPE_TRAITS_INTRINSICS
 #endif
 
-#if defined(__GNUC__) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 3) && !defined(__GCCXML__))) && !defined(BOOST_CLANG)
+#if defined(__GNUC__) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 3) && !defined(__GCCXML__))) && !defined(NDNBOOST_CLANG)
 #   include <ndnboost/type_traits/is_same.hpp>
 #   include <ndnboost/type_traits/is_reference.hpp>
 #   include <ndnboost/type_traits/is_volatile.hpp>
 
-#ifdef BOOST_INTEL
-#  define BOOST_INTEL_TT_OPTS || is_pod<T>::value
+#ifdef NDNBOOST_INTEL
+#  define NDNBOOST_INTEL_TT_OPTS || is_pod<T>::value
 #else
-#  define BOOST_INTEL_TT_OPTS
+#  define NDNBOOST_INTEL_TT_OPTS
 #endif
 
-#   define BOOST_IS_UNION(T) __is_union(T)
-#   define BOOST_IS_POD(T) __is_pod(T)
-#   define BOOST_IS_EMPTY(T) __is_empty(T)
-#   define BOOST_HAS_TRIVIAL_CONSTRUCTOR(T) ((__has_trivial_constructor(T) BOOST_INTEL_TT_OPTS) && ! ::ndnboost::is_volatile<T>::value)
-#   define BOOST_HAS_TRIVIAL_COPY(T) ((__has_trivial_copy(T) BOOST_INTEL_TT_OPTS) && !is_reference<T>::value && ! ::ndnboost::is_volatile<T>::value)
-#   define BOOST_HAS_TRIVIAL_ASSIGN(T) ((__has_trivial_assign(T) BOOST_INTEL_TT_OPTS) && ! ::ndnboost::is_volatile<T>::value && ! ::ndnboost::is_const<T>::value)
-#   define BOOST_HAS_TRIVIAL_DESTRUCTOR(T) (__has_trivial_destructor(T) BOOST_INTEL_TT_OPTS)
-#   define BOOST_HAS_NOTHROW_CONSTRUCTOR(T) (__has_nothrow_constructor(T) BOOST_INTEL_TT_OPTS)
-#   define BOOST_HAS_NOTHROW_COPY(T) ((__has_nothrow_copy(T) BOOST_INTEL_TT_OPTS) && !is_volatile<T>::value && !is_reference<T>::value)
-#   define BOOST_HAS_NOTHROW_ASSIGN(T) ((__has_nothrow_assign(T) BOOST_INTEL_TT_OPTS) && !is_volatile<T>::value && !is_const<T>::value)
-#   define BOOST_HAS_VIRTUAL_DESTRUCTOR(T) __has_virtual_destructor(T)
+#   define NDNBOOST_IS_UNION(T) __is_union(T)
+#   define NDNBOOST_IS_POD(T) __is_pod(T)
+#   define NDNBOOST_IS_EMPTY(T) __is_empty(T)
+#   define NDNBOOST_HAS_TRIVIAL_CONSTRUCTOR(T) ((__has_trivial_constructor(T) NDNBOOST_INTEL_TT_OPTS) && ! ::ndnboost::is_volatile<T>::value)
+#   define NDNBOOST_HAS_TRIVIAL_COPY(T) ((__has_trivial_copy(T) NDNBOOST_INTEL_TT_OPTS) && !is_reference<T>::value && ! ::ndnboost::is_volatile<T>::value)
+#   define NDNBOOST_HAS_TRIVIAL_ASSIGN(T) ((__has_trivial_assign(T) NDNBOOST_INTEL_TT_OPTS) && ! ::ndnboost::is_volatile<T>::value && ! ::ndnboost::is_const<T>::value)
+#   define NDNBOOST_HAS_TRIVIAL_DESTRUCTOR(T) (__has_trivial_destructor(T) NDNBOOST_INTEL_TT_OPTS)
+#   define NDNBOOST_HAS_NOTHROW_CONSTRUCTOR(T) (__has_nothrow_constructor(T) NDNBOOST_INTEL_TT_OPTS)
+#   define NDNBOOST_HAS_NOTHROW_COPY(T) ((__has_nothrow_copy(T) NDNBOOST_INTEL_TT_OPTS) && !is_volatile<T>::value && !is_reference<T>::value)
+#   define NDNBOOST_HAS_NOTHROW_ASSIGN(T) ((__has_nothrow_assign(T) NDNBOOST_INTEL_TT_OPTS) && !is_volatile<T>::value && !is_const<T>::value)
+#   define NDNBOOST_HAS_VIRTUAL_DESTRUCTOR(T) __has_virtual_destructor(T)
 
-#   define BOOST_IS_ABSTRACT(T) __is_abstract(T)
-#   define BOOST_IS_BASE_OF(T,U) (__is_base_of(T,U) && !is_same<T,U>::value)
-#   define BOOST_IS_CLASS(T) __is_class(T)
-#   define BOOST_IS_ENUM(T) __is_enum(T)
-#   define BOOST_IS_POLYMORPHIC(T) __is_polymorphic(T)
+#   define NDNBOOST_IS_ABSTRACT(T) __is_abstract(T)
+#   define NDNBOOST_IS_BASE_OF(T,U) (__is_base_of(T,U) && !is_same<T,U>::value)
+#   define NDNBOOST_IS_CLASS(T) __is_class(T)
+#   define NDNBOOST_IS_ENUM(T) __is_enum(T)
+#   define NDNBOOST_IS_POLYMORPHIC(T) __is_polymorphic(T)
 #   if (!defined(unix) && !defined(__unix__)) || defined(__LP64__)
       // GCC sometimes lies about alignment requirements
       // of type double on 32-bit unix platforms, use the
       // old implementation instead in that case:
-#     define BOOST_ALIGNMENT_OF(T) __alignof__(T)
+#     define NDNBOOST_ALIGNMENT_OF(T) __alignof__(T)
 #   endif
 
-#   define BOOST_HAS_TYPE_TRAITS_INTRINSICS
+#   define NDNBOOST_HAS_TYPE_TRAITS_INTRINSICS
 #endif
 
 #if defined(__ghs__) && (__GHS_VERSION_NUMBER >= 600)
@@ -244,26 +244,26 @@
 #   include <ndnboost/type_traits/is_reference.hpp>
 #   include <ndnboost/type_traits/is_volatile.hpp>
 
-#   define BOOST_IS_UNION(T) __is_union(T)
-#   define BOOST_IS_POD(T) __is_pod(T)
-#   define BOOST_IS_EMPTY(T) __is_empty(T)
-#   define BOOST_HAS_TRIVIAL_CONSTRUCTOR(T) __has_trivial_constructor(T)
-#   define BOOST_HAS_TRIVIAL_COPY(T) (__has_trivial_copy(T) && !is_reference<T>::value && !is_volatile<T>::value)
-#   define BOOST_HAS_TRIVIAL_ASSIGN(T) (__has_trivial_assign(T) && !is_volatile<T>::value)
-#   define BOOST_HAS_TRIVIAL_DESTRUCTOR(T) __has_trivial_destructor(T)
-#   define BOOST_HAS_NOTHROW_CONSTRUCTOR(T) __has_nothrow_constructor(T)
-#   define BOOST_HAS_NOTHROW_COPY(T) (__has_nothrow_copy(T) && !is_volatile<T>::value && !is_reference<T>::value)
-#   define BOOST_HAS_NOTHROW_ASSIGN(T) (__has_nothrow_assign(T) && !is_volatile<T>::value)
-#   define BOOST_HAS_VIRTUAL_DESTRUCTOR(T) __has_virtual_destructor(T)
+#   define NDNBOOST_IS_UNION(T) __is_union(T)
+#   define NDNBOOST_IS_POD(T) __is_pod(T)
+#   define NDNBOOST_IS_EMPTY(T) __is_empty(T)
+#   define NDNBOOST_HAS_TRIVIAL_CONSTRUCTOR(T) __has_trivial_constructor(T)
+#   define NDNBOOST_HAS_TRIVIAL_COPY(T) (__has_trivial_copy(T) && !is_reference<T>::value && !is_volatile<T>::value)
+#   define NDNBOOST_HAS_TRIVIAL_ASSIGN(T) (__has_trivial_assign(T) && !is_volatile<T>::value)
+#   define NDNBOOST_HAS_TRIVIAL_DESTRUCTOR(T) __has_trivial_destructor(T)
+#   define NDNBOOST_HAS_NOTHROW_CONSTRUCTOR(T) __has_nothrow_constructor(T)
+#   define NDNBOOST_HAS_NOTHROW_COPY(T) (__has_nothrow_copy(T) && !is_volatile<T>::value && !is_reference<T>::value)
+#   define NDNBOOST_HAS_NOTHROW_ASSIGN(T) (__has_nothrow_assign(T) && !is_volatile<T>::value)
+#   define NDNBOOST_HAS_VIRTUAL_DESTRUCTOR(T) __has_virtual_destructor(T)
 
-#   define BOOST_IS_ABSTRACT(T) __is_abstract(T)
-#   define BOOST_IS_BASE_OF(T,U) (__is_base_of(T,U) && !is_same<T,U>::value)
-#   define BOOST_IS_CLASS(T) __is_class(T)
-#   define BOOST_IS_ENUM(T) __is_enum(T)
-#   define BOOST_IS_POLYMORPHIC(T) __is_polymorphic(T)
-#   define BOOST_ALIGNMENT_OF(T) __alignof__(T)
+#   define NDNBOOST_IS_ABSTRACT(T) __is_abstract(T)
+#   define NDNBOOST_IS_BASE_OF(T,U) (__is_base_of(T,U) && !is_same<T,U>::value)
+#   define NDNBOOST_IS_CLASS(T) __is_class(T)
+#   define NDNBOOST_IS_ENUM(T) __is_enum(T)
+#   define NDNBOOST_IS_POLYMORPHIC(T) __is_polymorphic(T)
+#   define NDNBOOST_ALIGNMENT_OF(T) __alignof__(T)
 
-#   define BOOST_HAS_TYPE_TRAITS_INTRINSICS
+#   define NDNBOOST_HAS_TYPE_TRAITS_INTRINSICS
 #endif
 
 # if defined(__CODEGEARC__)
@@ -272,30 +272,30 @@
 #   include <ndnboost/type_traits/is_volatile.hpp>
 #   include <ndnboost/type_traits/is_void.hpp>
 
-#   define BOOST_IS_UNION(T) __is_union(T)
-#   define BOOST_IS_POD(T) __is_pod(T)
-#   define BOOST_IS_EMPTY(T) __is_empty(T)
-#   define BOOST_HAS_TRIVIAL_CONSTRUCTOR(T) (__has_trivial_default_constructor(T))
-#   define BOOST_HAS_TRIVIAL_COPY(T) (__has_trivial_copy_constructor(T) && !is_volatile<T>::value && !is_reference<T>::value)
-#   define BOOST_HAS_TRIVIAL_ASSIGN(T) (__has_trivial_assign(T) && !is_volatile<T>::value)
-#   define BOOST_HAS_TRIVIAL_DESTRUCTOR(T) (__has_trivial_destructor(T))
-#   define BOOST_HAS_NOTHROW_CONSTRUCTOR(T) (__has_nothrow_default_constructor(T))
-#   define BOOST_HAS_NOTHROW_COPY(T) (__has_nothrow_copy_constructor(T) && !is_volatile<T>::value && !is_reference<T>::value)
-#   define BOOST_HAS_NOTHROW_ASSIGN(T) (__has_nothrow_assign(T) && !is_volatile<T>::value)
-#   define BOOST_HAS_VIRTUAL_DESTRUCTOR(T) __has_virtual_destructor(T)
+#   define NDNBOOST_IS_UNION(T) __is_union(T)
+#   define NDNBOOST_IS_POD(T) __is_pod(T)
+#   define NDNBOOST_IS_EMPTY(T) __is_empty(T)
+#   define NDNBOOST_HAS_TRIVIAL_CONSTRUCTOR(T) (__has_trivial_default_constructor(T))
+#   define NDNBOOST_HAS_TRIVIAL_COPY(T) (__has_trivial_copy_constructor(T) && !is_volatile<T>::value && !is_reference<T>::value)
+#   define NDNBOOST_HAS_TRIVIAL_ASSIGN(T) (__has_trivial_assign(T) && !is_volatile<T>::value)
+#   define NDNBOOST_HAS_TRIVIAL_DESTRUCTOR(T) (__has_trivial_destructor(T))
+#   define NDNBOOST_HAS_NOTHROW_CONSTRUCTOR(T) (__has_nothrow_default_constructor(T))
+#   define NDNBOOST_HAS_NOTHROW_COPY(T) (__has_nothrow_copy_constructor(T) && !is_volatile<T>::value && !is_reference<T>::value)
+#   define NDNBOOST_HAS_NOTHROW_ASSIGN(T) (__has_nothrow_assign(T) && !is_volatile<T>::value)
+#   define NDNBOOST_HAS_VIRTUAL_DESTRUCTOR(T) __has_virtual_destructor(T)
 
-#   define BOOST_IS_ABSTRACT(T) __is_abstract(T)
-#   define BOOST_IS_BASE_OF(T,U) (__is_base_of(T,U) && !is_void<T>::value && !is_void<U>::value)
-#   define BOOST_IS_CLASS(T) __is_class(T)
-#   define BOOST_IS_CONVERTIBLE(T,U) (__is_convertible(T,U) || is_void<U>::value)
-#   define BOOST_IS_ENUM(T) __is_enum(T)
-#   define BOOST_IS_POLYMORPHIC(T) __is_polymorphic(T)
-#   define BOOST_ALIGNMENT_OF(T) alignof(T)
+#   define NDNBOOST_IS_ABSTRACT(T) __is_abstract(T)
+#   define NDNBOOST_IS_BASE_OF(T,U) (__is_base_of(T,U) && !is_void<T>::value && !is_void<U>::value)
+#   define NDNBOOST_IS_CLASS(T) __is_class(T)
+#   define NDNBOOST_IS_CONVERTIBLE(T,U) (__is_convertible(T,U) || is_void<U>::value)
+#   define NDNBOOST_IS_ENUM(T) __is_enum(T)
+#   define NDNBOOST_IS_POLYMORPHIC(T) __is_polymorphic(T)
+#   define NDNBOOST_ALIGNMENT_OF(T) alignof(T)
 
-#   define BOOST_HAS_TYPE_TRAITS_INTRINSICS
+#   define NDNBOOST_HAS_TYPE_TRAITS_INTRINSICS
 #endif
 
-#endif // BOOST_TT_INTRINSICS_HPP_INCLUDED
+#endif // NDNBOOST_TT_INTRINSICS_HPP_INCLUDED
 
 
 
diff --git a/include/ndnboost/type_traits/is_abstract.hpp b/include/ndnboost/type_traits/is_abstract.hpp
index 8a13010..a63029c 100644
--- a/include/ndnboost/type_traits/is_abstract.hpp
+++ b/include/ndnboost/type_traits/is_abstract.hpp
@@ -1,5 +1,5 @@
-#ifndef BOOST_TT_IS_ABSTRACT_CLASS_HPP
-#define BOOST_TT_IS_ABSTRACT_CLASS_HPP
+#ifndef NDNBOOST_TT_IS_ABSTRACT_CLASS_HPP
+#define NDNBOOST_TT_IS_ABSTRACT_CLASS_HPP
 
 #if defined(_MSC_VER) && (_MSC_VER >= 1020)
 # pragma once
@@ -44,17 +44,17 @@
 //  - Nov 2004: Christoph Ludwig found that the implementation did not work with
 //              template types and gcc-3.4 or VC7.1, fix due to Christoph Ludwig
 //              and John Maddock.
-//  - Dec 2004: Added new config macro BOOST_NO_IS_ABSTRACT which causes the template
+//  - Dec 2004: Added new config macro NDNBOOST_NO_IS_ABSTRACT which causes the template
 //              to degrade gracefully, rather than trash the compiler (John Maddock).
 //
 
 #include <ndnboost/type_traits/intrinsics.hpp>
-#ifndef BOOST_IS_ABSTRACT
+#ifndef NDNBOOST_IS_ABSTRACT
 #include <ndnboost/static_assert.hpp>
 #include <ndnboost/type_traits/detail/yes_no_type.hpp>
 #include <ndnboost/type_traits/is_class.hpp>
 #include <ndnboost/type_traits/detail/ice_and.hpp>
-#ifdef BOOST_NO_IS_ABSTRACT
+#ifdef NDNBOOST_NO_IS_ABSTRACT
 #include <ndnboost/type_traits/is_polymorphic.hpp>
 #endif
 #endif
@@ -65,13 +65,13 @@
 namespace ndnboost {
 namespace detail{
 
-#ifdef BOOST_IS_ABSTRACT
+#ifdef NDNBOOST_IS_ABSTRACT
 template <class T>
 struct is_abstract_imp
 {
-   BOOST_STATIC_CONSTANT(bool, value = BOOST_IS_ABSTRACT(T));
+   NDNBOOST_STATIC_CONSTANT(bool, value = NDNBOOST_IS_ABSTRACT(T));
 };
-#elif !defined(BOOST_NO_IS_ABSTRACT)
+#elif !defined(NDNBOOST_NO_IS_ABSTRACT)
 template<class T>
 struct is_abstract_imp2
 {
@@ -87,24 +87,24 @@
    // T must be a complete type, further if T is a template then
    // it must be instantiated in order for us to get the right answer:
    //
-   BOOST_STATIC_ASSERT(sizeof(T) != 0);
+   NDNBOOST_STATIC_ASSERT(sizeof(T) != 0);
 
    // GCC2 won't even parse this template if we embed the computation
    // of s1 in the computation of value.
 #ifdef __GNUC__
-   BOOST_STATIC_CONSTANT(std::size_t, s1 = sizeof(is_abstract_imp2<T>::template check_sig<T>(0)));
+   NDNBOOST_STATIC_CONSTANT(std::size_t, s1 = sizeof(is_abstract_imp2<T>::template check_sig<T>(0)));
 #else
-#if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000)
+#if NDNBOOST_WORKAROUND(NDNBOOST_MSVC_FULL_VER, >= 140050000)
 #pragma warning(push)
 #pragma warning(disable:6334)
 #endif
-   BOOST_STATIC_CONSTANT(std::size_t, s1 = sizeof(check_sig<T>(0)));
-#if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000)
+   NDNBOOST_STATIC_CONSTANT(std::size_t, s1 = sizeof(check_sig<T>(0)));
+#if NDNBOOST_WORKAROUND(NDNBOOST_MSVC_FULL_VER, >= 140050000)
 #pragma warning(pop)
 #endif
 #endif
     
-   BOOST_STATIC_CONSTANT(bool, value = 
+   NDNBOOST_STATIC_CONSTANT(bool, value = 
       (s1 == sizeof(type_traits::yes_type)));
 };
 
@@ -134,20 +134,20 @@
    typedef typename selector::template rebind<T> binder;
    typedef typename binder::type type;
 
-   BOOST_STATIC_CONSTANT(bool, value = type::value);
+   NDNBOOST_STATIC_CONSTANT(bool, value = type::value);
 };
 
 #endif
 }
 
-#ifndef BOOST_NO_IS_ABSTRACT
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_abstract,T,::ndnboost::detail::is_abstract_imp<T>::value)
+#ifndef NDNBOOST_NO_IS_ABSTRACT
+NDNBOOST_TT_AUX_BOOL_TRAIT_DEF1(is_abstract,T,::ndnboost::detail::is_abstract_imp<T>::value)
 #else
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_abstract,T,::ndnboost::detail::is_polymorphic_imp<T>::value)
+NDNBOOST_TT_AUX_BOOL_TRAIT_DEF1(is_abstract,T,::ndnboost::detail::is_polymorphic_imp<T>::value)
 #endif
 
 } // namespace ndnboost
 
 #include <ndnboost/type_traits/detail/bool_trait_undef.hpp>
 
-#endif //BOOST_TT_IS_ABSTRACT_CLASS_HPP
+#endif //NDNBOOST_TT_IS_ABSTRACT_CLASS_HPP
diff --git a/include/ndnboost/type_traits/is_arithmetic.hpp b/include/ndnboost/type_traits/is_arithmetic.hpp
index 9878ca9..71f7014 100644
--- a/include/ndnboost/type_traits/is_arithmetic.hpp
+++ b/include/ndnboost/type_traits/is_arithmetic.hpp
@@ -6,8 +6,8 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#ifndef BOOST_TT_IS_ARITHMETIC_HPP_INCLUDED
-#define BOOST_TT_IS_ARITHMETIC_HPP_INCLUDED
+#ifndef NDNBOOST_TT_IS_ARITHMETIC_HPP_INCLUDED
+#define NDNBOOST_TT_IS_ARITHMETIC_HPP_INCLUDED
 
 #if !defined( __CODEGEARC__ )
 #include <ndnboost/type_traits/is_integral.hpp>
@@ -27,7 +27,7 @@
 template< typename T >
 struct is_arithmetic_impl
 { 
-    BOOST_STATIC_CONSTANT(bool, value = 
+    NDNBOOST_STATIC_CONSTANT(bool, value = 
         (::ndnboost::type_traits::ice_or< 
             ::ndnboost::is_integral<T>::value,
             ::ndnboost::is_float<T>::value
@@ -39,13 +39,13 @@
 
 //* is a type T an arithmetic type described in the standard (3.9.1p8)
 #if defined(__CODEGEARC__)
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_arithmetic,T,__is_arithmetic(T))
+NDNBOOST_TT_AUX_BOOL_TRAIT_DEF1(is_arithmetic,T,__is_arithmetic(T))
 #else
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_arithmetic,T,::ndnboost::detail::is_arithmetic_impl<T>::value)
+NDNBOOST_TT_AUX_BOOL_TRAIT_DEF1(is_arithmetic,T,::ndnboost::detail::is_arithmetic_impl<T>::value)
 #endif
 
 } // namespace ndnboost
 
 #include <ndnboost/type_traits/detail/bool_trait_undef.hpp>
 
-#endif // BOOST_TT_IS_ARITHMETIC_HPP_INCLUDED
+#endif // NDNBOOST_TT_IS_ARITHMETIC_HPP_INCLUDED
diff --git a/include/ndnboost/type_traits/is_array.hpp b/include/ndnboost/type_traits/is_array.hpp
index 51d3571..78ff652 100644
--- a/include/ndnboost/type_traits/is_array.hpp
+++ b/include/ndnboost/type_traits/is_array.hpp
@@ -11,12 +11,12 @@
 // Some fixes for is_array are based on a newsgroup posting by Jonathan Lundquist.
 
 
-#ifndef BOOST_TT_IS_ARRAY_HPP_INCLUDED
-#define BOOST_TT_IS_ARRAY_HPP_INCLUDED
+#ifndef NDNBOOST_TT_IS_ARRAY_HPP_INCLUDED
+#define NDNBOOST_TT_IS_ARRAY_HPP_INCLUDED
 
 #include <ndnboost/type_traits/config.hpp>
 
-#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#ifdef NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 #   include <ndnboost/type_traits/detail/yes_no_type.hpp>
 #   include <ndnboost/type_traits/detail/wrap.hpp>
 #endif
@@ -29,23 +29,23 @@
 namespace ndnboost {
 
 #if defined( __CODEGEARC__ )
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_array,T,__is_array(T))
-#elif !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_array,T,false)
-#if !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,is_array,T[N],true)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,is_array,T const[N],true)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,is_array,T volatile[N],true)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,is_array,T const volatile[N],true)
-#if !BOOST_WORKAROUND(__BORLANDC__, < 0x600) && !defined(__IBMCPP__) &&  !BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840))
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_array,T[],true)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_array,T const[],true)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_array,T volatile[],true)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_array,T const volatile[],true)
+NDNBOOST_TT_AUX_BOOL_TRAIT_DEF1(is_array,T,__is_array(T))
+#elif !defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+NDNBOOST_TT_AUX_BOOL_TRAIT_DEF1(is_array,T,false)
+#if !defined(NDNBOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)
+NDNBOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,is_array,T[N],true)
+NDNBOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,is_array,T const[N],true)
+NDNBOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,is_array,T volatile[N],true)
+NDNBOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,is_array,T const volatile[N],true)
+#if !NDNBOOST_WORKAROUND(__BORLANDC__, < 0x600) && !defined(__IBMCPP__) &&  !NDNBOOST_WORKAROUND(__DMC__, NDNBOOST_TESTED_AT(0x840))
+NDNBOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_array,T[],true)
+NDNBOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_array,T const[],true)
+NDNBOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_array,T volatile[],true)
+NDNBOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_array,T const volatile[],true)
 #endif
 #endif
 
-#else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#else // NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 
 namespace detail {
 
@@ -54,15 +54,15 @@
 using ::ndnboost::type_traits::wrap;
 
 template< typename T > T(* is_array_tester1(wrap<T>) )(wrap<T>);
-char BOOST_TT_DECL is_array_tester1(...);
+char NDNBOOST_TT_DECL is_array_tester1(...);
 
 template< typename T> no_type is_array_tester2(T(*)(wrap<T>));
-yes_type BOOST_TT_DECL is_array_tester2(...);
+yes_type NDNBOOST_TT_DECL is_array_tester2(...);
 
 template< typename T >
 struct is_array_impl
 { 
-    BOOST_STATIC_CONSTANT(bool, value = 
+    NDNBOOST_STATIC_CONSTANT(bool, value = 
         sizeof(::ndnboost::detail::is_array_tester2(
             ::ndnboost::detail::is_array_tester1(
                 ::ndnboost::type_traits::wrap<T>()
@@ -71,21 +71,21 @@
     );
 };
 
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_array,void,false)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_array,void const,false)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_array,void volatile,false)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_array,void const volatile,false)
+#ifndef NDNBOOST_NO_CV_VOID_SPECIALIZATIONS
+NDNBOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_array,void,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_array,void const,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_array,void volatile,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_array,void const volatile,false)
 #endif
 
 } // namespace detail
 
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_array,T,::ndnboost::detail::is_array_impl<T>::value)
+NDNBOOST_TT_AUX_BOOL_TRAIT_DEF1(is_array,T,::ndnboost::detail::is_array_impl<T>::value)
 
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#endif // NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 
 } // namespace ndnboost
 
 #include <ndnboost/type_traits/detail/bool_trait_undef.hpp>
 
-#endif // BOOST_TT_IS_ARRAY_HPP_INCLUDED
+#endif // NDNBOOST_TT_IS_ARRAY_HPP_INCLUDED
diff --git a/include/ndnboost/type_traits/is_base_and_derived.hpp b/include/ndnboost/type_traits/is_base_and_derived.hpp
index 5995588..8dc35af 100644
--- a/include/ndnboost/type_traits/is_base_and_derived.hpp
+++ b/include/ndnboost/type_traits/is_base_and_derived.hpp
@@ -6,11 +6,11 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
  
-#ifndef BOOST_TT_IS_BASE_AND_DERIVED_HPP_INCLUDED
-#define BOOST_TT_IS_BASE_AND_DERIVED_HPP_INCLUDED
+#ifndef NDNBOOST_TT_IS_BASE_AND_DERIVED_HPP_INCLUDED
+#define NDNBOOST_TT_IS_BASE_AND_DERIVED_HPP_INCLUDED
 
 #include <ndnboost/type_traits/intrinsics.hpp>
-#ifndef BOOST_IS_BASE_OF
+#ifndef NDNBOOST_IS_BASE_OF
 #include <ndnboost/type_traits/is_class.hpp>
 #include <ndnboost/type_traits/is_same.hpp>
 #include <ndnboost/type_traits/is_convertible.hpp>
@@ -27,11 +27,11 @@
 
 namespace detail {
 
-#ifndef BOOST_IS_BASE_OF
-#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x581)) \
- && !BOOST_WORKAROUND(__SUNPRO_CC , <= 0x540) \
- && !BOOST_WORKAROUND(__EDG_VERSION__, <= 243) \
- && !BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840))
+#ifndef NDNBOOST_IS_BASE_OF
+#if !NDNBOOST_WORKAROUND(__BORLANDC__, NDNBOOST_TESTED_AT(0x581)) \
+ && !NDNBOOST_WORKAROUND(__SUNPRO_CC , <= 0x540) \
+ && !NDNBOOST_WORKAROUND(__EDG_VERSION__, <= 243) \
+ && !NDNBOOST_WORKAROUND(__DMC__, NDNBOOST_TESTED_AT(0x840))
 
                              // The EDG version number is a lower estimate.
                              // It is not currently known which EDG version
@@ -120,7 +120,7 @@
    // an internal compiler error when compiling with /vmg (thanks to
    // Aleksey Gurtovoy for figuring out the workaround).
    //
-#if !BOOST_WORKAROUND(BOOST_MSVC, == 1310)
+#if !NDNBOOST_WORKAROUND(NDNBOOST_MSVC, == 1310)
     template <typename T>
     static type_traits::yes_type check_sig(D const volatile *, T);
     static type_traits::no_type  check_sig(B const volatile *, int);
@@ -133,7 +133,7 @@
 template<typename B, typename D>
 struct is_base_and_derived_impl2
 {
-#if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000)
+#if NDNBOOST_WORKAROUND(NDNBOOST_MSVC_FULL_VER, >= 140050000)
 #pragma warning(push)
 #pragma warning(disable:6334)
 #endif
@@ -141,12 +141,12 @@
     // May silently do the wrong thing with incomplete types
     // unless we trap them here:
     //
-    BOOST_STATIC_ASSERT(sizeof(B) != 0);
-    BOOST_STATIC_ASSERT(sizeof(D) != 0);
+    NDNBOOST_STATIC_ASSERT(sizeof(B) != 0);
+    NDNBOOST_STATIC_ASSERT(sizeof(D) != 0);
 
     struct Host
     {
-#if !BOOST_WORKAROUND(BOOST_MSVC, == 1310)
+#if !NDNBOOST_WORKAROUND(NDNBOOST_MSVC, == 1310)
         operator B const volatile *() const;
 #else
         operator B const volatile * const&() const;
@@ -154,9 +154,9 @@
         operator D const volatile *();
     };
 
-    BOOST_STATIC_CONSTANT(bool, value =
+    NDNBOOST_STATIC_CONSTANT(bool, value =
         sizeof(bd_helper<B,D>::check_sig(Host(), 0)) == sizeof(type_traits::yes_type));
-#if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000)
+#if NDNBOOST_WORKAROUND(NDNBOOST_MSVC_FULL_VER, >= 140050000)
 #pragma warning(pop)
 #endif
 };
@@ -169,18 +169,18 @@
 template<typename B, typename D>
 struct is_base_and_derived_impl2
 {
-    BOOST_STATIC_CONSTANT(bool, value =
+    NDNBOOST_STATIC_CONSTANT(bool, value =
         (::ndnboost::is_convertible<D*,B*>::value));
 };
 
-#define BOOST_BROKEN_IS_BASE_AND_DERIVED
+#define NDNBOOST_BROKEN_IS_BASE_AND_DERIVED
 
 #endif
 
 template <typename B, typename D>
 struct is_base_and_derived_impl3
 {
-    BOOST_STATIC_CONSTANT(bool, value = false);
+    NDNBOOST_STATIC_CONSTANT(bool, value = false);
 };
 
 template <bool ic1, bool ic2, bool iss>
@@ -216,7 +216,7 @@
     typedef typename selector::template rebind<ncvB,ncvD> binder;
     typedef typename binder::type bound_type;
 
-    BOOST_STATIC_CONSTANT(bool, value = bound_type::value);
+    NDNBOOST_STATIC_CONSTANT(bool, value = bound_type::value);
 };
 #else
 template <typename B, typename D>
@@ -225,30 +225,30 @@
     typedef typename remove_cv<B>::type ncvB;
     typedef typename remove_cv<D>::type ncvD;
 
-    BOOST_STATIC_CONSTANT(bool, value = (BOOST_IS_BASE_OF(B,D) && ! ::ndnboost::is_same<ncvB,ncvD>::value));
+    NDNBOOST_STATIC_CONSTANT(bool, value = (NDNBOOST_IS_BASE_OF(B,D) && ! ::ndnboost::is_same<ncvB,ncvD>::value));
 };
 #endif
 } // namespace detail
 
-BOOST_TT_AUX_BOOL_TRAIT_DEF2(
+NDNBOOST_TT_AUX_BOOL_TRAIT_DEF2(
       is_base_and_derived
     , Base
     , Derived
     , (::ndnboost::detail::is_base_and_derived_impl<Base,Derived>::value)
     )
 
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(typename Base,typename Derived,is_base_and_derived,Base&,Derived,false)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(typename Base,typename Derived,is_base_and_derived,Base,Derived&,false)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(typename Base,typename Derived,is_base_and_derived,Base&,Derived&,false)
+#ifndef NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+NDNBOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(typename Base,typename Derived,is_base_and_derived,Base&,Derived,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(typename Base,typename Derived,is_base_and_derived,Base,Derived&,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(typename Base,typename Derived,is_base_and_derived,Base&,Derived&,false)
 #endif
 
-#if BOOST_WORKAROUND(__CODEGEARC__, BOOST_TESTED_AT(0x610))
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1(typename Base,is_base_and_derived,Base,Base,false)
+#if NDNBOOST_WORKAROUND(__CODEGEARC__, NDNBOOST_TESTED_AT(0x610))
+NDNBOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1(typename Base,is_base_and_derived,Base,Base,false)
 #endif
 
 } // namespace ndnboost
 
 #include <ndnboost/type_traits/detail/bool_trait_undef.hpp>
 
-#endif // BOOST_TT_IS_BASE_AND_DERIVED_HPP_INCLUDED
+#endif // NDNBOOST_TT_IS_BASE_AND_DERIVED_HPP_INCLUDED
diff --git a/include/ndnboost/type_traits/is_base_of.hpp b/include/ndnboost/type_traits/is_base_of.hpp
index 432766b..b7b3aa6 100644
--- a/include/ndnboost/type_traits/is_base_of.hpp
+++ b/include/ndnboost/type_traits/is_base_of.hpp
@@ -6,8 +6,8 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
  
-#ifndef BOOST_TT_IS_BASE_OF_HPP_INCLUDED
-#define BOOST_TT_IS_BASE_OF_HPP_INCLUDED
+#ifndef NDNBOOST_TT_IS_BASE_OF_HPP_INCLUDED
+#define NDNBOOST_TT_IS_BASE_OF_HPP_INCLUDED
 
 #include <ndnboost/type_traits/is_base_and_derived.hpp>
 #include <ndnboost/type_traits/is_same.hpp>
@@ -26,26 +26,26 @@
       {
           typedef typename remove_cv<B>::type ncvB;
           typedef typename remove_cv<D>::type ncvD;
-          BOOST_STATIC_CONSTANT(bool, value = (::ndnboost::type_traits::ice_or<      
+          NDNBOOST_STATIC_CONSTANT(bool, value = (::ndnboost::type_traits::ice_or<      
             (::ndnboost::detail::is_base_and_derived_impl<ncvB,ncvD>::value),
             (::ndnboost::type_traits::ice_and< ::ndnboost::is_same<ncvB,ncvD>::value, ::ndnboost::is_class<ncvB>::value>::value)>::value));
       };
    }
 
-BOOST_TT_AUX_BOOL_TRAIT_DEF2(
+NDNBOOST_TT_AUX_BOOL_TRAIT_DEF2(
       is_base_of
     , Base
     , Derived
     , (::ndnboost::detail::is_base_of_imp<Base, Derived>::value))
 
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(typename Base,typename Derived,is_base_of,Base&,Derived,false)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(typename Base,typename Derived,is_base_of,Base,Derived&,false)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(typename Base,typename Derived,is_base_of,Base&,Derived&,false)
+#ifndef NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+NDNBOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(typename Base,typename Derived,is_base_of,Base&,Derived,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(typename Base,typename Derived,is_base_of,Base,Derived&,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(typename Base,typename Derived,is_base_of,Base&,Derived&,false)
 #endif
 
 } // namespace ndnboost
 
 #include <ndnboost/type_traits/detail/bool_trait_undef.hpp>
 
-#endif // BOOST_TT_IS_BASE_AND_DERIVED_HPP_INCLUDED
+#endif // NDNBOOST_TT_IS_BASE_AND_DERIVED_HPP_INCLUDED
diff --git a/include/ndnboost/type_traits/is_class.hpp b/include/ndnboost/type_traits/is_class.hpp
index 91e08e6..1885d5c 100644
--- a/include/ndnboost/type_traits/is_class.hpp
+++ b/include/ndnboost/type_traits/is_class.hpp
@@ -7,17 +7,17 @@
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
 
-#ifndef BOOST_TT_IS_CLASS_HPP_INCLUDED
-#define BOOST_TT_IS_CLASS_HPP_INCLUDED
+#ifndef NDNBOOST_TT_IS_CLASS_HPP_INCLUDED
+#define NDNBOOST_TT_IS_CLASS_HPP_INCLUDED
 
 #include <ndnboost/type_traits/config.hpp>
 #include <ndnboost/type_traits/intrinsics.hpp>
-#ifndef BOOST_IS_CLASS
+#ifndef NDNBOOST_IS_CLASS
 #   include <ndnboost/type_traits/is_union.hpp>
 #   include <ndnboost/type_traits/detail/ice_and.hpp>
 #   include <ndnboost/type_traits/detail/ice_not.hpp>
 
-#ifdef BOOST_TT_HAS_CONFORMING_IS_CLASS_IMPLEMENTATION
+#ifdef NDNBOOST_TT_HAS_CONFORMING_IS_CLASS_IMPLEMENTATION
 #   include <ndnboost/type_traits/detail/yes_no_type.hpp>
 #else
 #   include <ndnboost/type_traits/is_scalar.hpp>
@@ -27,7 +27,7 @@
 #   include <ndnboost/type_traits/is_function.hpp>
 #endif
 
-#endif // BOOST_IS_CLASS
+#endif // NDNBOOST_IS_CLASS
 
 #ifdef __EDG_VERSION__
 #   include <ndnboost/type_traits/remove_cv.hpp>
@@ -40,8 +40,8 @@
 
 namespace detail {
 
-#ifndef BOOST_IS_CLASS
-#ifdef BOOST_TT_HAS_CONFORMING_IS_CLASS_IMPLEMENTATION
+#ifndef NDNBOOST_IS_CLASS
+#ifdef NDNBOOST_TT_HAS_CONFORMING_IS_CLASS_IMPLEMENTATION
 
 // This is actually the conforming implementation which works with
 // abstract classes.  However, enough compilers have trouble with
@@ -62,7 +62,7 @@
 struct is_class_impl
 {
 
-    BOOST_STATIC_CONSTANT(bool, value =
+    NDNBOOST_STATIC_CONSTANT(bool, value =
         (::ndnboost::type_traits::ice_and<
             sizeof(is_class_tester<T>(0)) == sizeof(::ndnboost::type_traits::yes_type),
             ::ndnboost::type_traits::ice_not< ::ndnboost::is_union<T>::value >::value
@@ -78,7 +78,7 @@
     template <class U> static ::ndnboost::type_traits::yes_type is_class_tester(void(U::*)(void));
     template <class U> static ::ndnboost::type_traits::no_type is_class_tester(...);
 
-    BOOST_STATIC_CONSTANT(bool, value =
+    NDNBOOST_STATIC_CONSTANT(bool, value =
         (::ndnboost::type_traits::ice_and<
             sizeof(is_class_tester<T>(0)) == sizeof(::ndnboost::type_traits::yes_type),
             ::ndnboost::type_traits::ice_not< ::ndnboost::is_union<T>::value >::value
@@ -93,8 +93,8 @@
 template <typename T>
 struct is_class_impl
 {
-#   ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-    BOOST_STATIC_CONSTANT(bool, value =
+#   ifndef NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+    NDNBOOST_STATIC_CONSTANT(bool, value =
     (::ndnboost::type_traits::ice_and<
         ::ndnboost::type_traits::ice_not< ::ndnboost::is_union<T>::value >::value,
         ::ndnboost::type_traits::ice_not< ::ndnboost::is_scalar<T>::value >::value,
@@ -104,7 +104,7 @@
         ::ndnboost::type_traits::ice_not< ::ndnboost::is_function<T>::value >::value
         >::value));
 #   else
-    BOOST_STATIC_CONSTANT(bool, value =
+    NDNBOOST_STATIC_CONSTANT(bool, value =
     (::ndnboost::type_traits::ice_and<
         ::ndnboost::type_traits::ice_not< ::ndnboost::is_union<T>::value >::value,
         ::ndnboost::type_traits::ice_not< ::ndnboost::is_scalar<T>::value >::value,
@@ -115,26 +115,26 @@
 #   endif
 };
 
-# endif // BOOST_TT_HAS_CONFORMING_IS_CLASS_IMPLEMENTATION
-# else // BOOST_IS_CLASS
+# endif // NDNBOOST_TT_HAS_CONFORMING_IS_CLASS_IMPLEMENTATION
+# else // NDNBOOST_IS_CLASS
 template <typename T>
 struct is_class_impl
 {
-    BOOST_STATIC_CONSTANT(bool, value = BOOST_IS_CLASS(T));
+    NDNBOOST_STATIC_CONSTANT(bool, value = NDNBOOST_IS_CLASS(T));
 };
-# endif // BOOST_IS_CLASS
+# endif // NDNBOOST_IS_CLASS
 
 } // namespace detail
 
 # ifdef __EDG_VERSION__
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(
+NDNBOOST_TT_AUX_BOOL_TRAIT_DEF1(
    is_class,T, ndnboost::detail::is_class_impl<typename ndnboost::remove_cv<T>::type>::value)
 # else 
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_class,T,::ndnboost::detail::is_class_impl<T>::value)
+NDNBOOST_TT_AUX_BOOL_TRAIT_DEF1(is_class,T,::ndnboost::detail::is_class_impl<T>::value)
 # endif
     
 } // namespace ndnboost
 
 #include <ndnboost/type_traits/detail/bool_trait_undef.hpp>
 
-#endif // BOOST_TT_IS_CLASS_HPP_INCLUDED
+#endif // NDNBOOST_TT_IS_CLASS_HPP_INCLUDED
diff --git a/include/ndnboost/type_traits/is_complex.hpp b/include/ndnboost/type_traits/is_complex.hpp
index 3eeaae5..f1d9713 100644
--- a/include/ndnboost/type_traits/is_complex.hpp
+++ b/include/ndnboost/type_traits/is_complex.hpp
@@ -5,8 +5,8 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#ifndef BOOST_TT_IS_COMPLEX_HPP
-#define BOOST_TT_IS_COMPLEX_HPP
+#ifndef NDNBOOST_TT_IS_COMPLEX_HPP
+#define NDNBOOST_TT_IS_COMPLEX_HPP
 
 #include <ndnboost/type_traits/is_convertible.hpp>
 #include <complex>
@@ -25,10 +25,10 @@
 
 }
 
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_complex,T,(::ndnboost::is_convertible<T, ndnboost::detail::is_convertible_from_tester>::value))
+NDNBOOST_TT_AUX_BOOL_TRAIT_DEF1(is_complex,T,(::ndnboost::is_convertible<T, ndnboost::detail::is_convertible_from_tester>::value))
 
 } // namespace ndnboost
 
 #include <ndnboost/type_traits/detail/bool_trait_undef.hpp>
 
-#endif //BOOST_TT_IS_COMPLEX_HPP
+#endif //NDNBOOST_TT_IS_COMPLEX_HPP
diff --git a/include/ndnboost/type_traits/is_compound.hpp b/include/ndnboost/type_traits/is_compound.hpp
index 6fd34c5..ef34a9e 100644
--- a/include/ndnboost/type_traits/is_compound.hpp
+++ b/include/ndnboost/type_traits/is_compound.hpp
@@ -6,8 +6,8 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#ifndef BOOST_TT_IS_COMPOUND_HPP_INCLUDED
-#define BOOST_TT_IS_COMPOUND_HPP_INCLUDED
+#ifndef NDNBOOST_TT_IS_COMPOUND_HPP_INCLUDED
+#define NDNBOOST_TT_IS_COMPOUND_HPP_INCLUDED
 
 #include <ndnboost/config.hpp>
 #include <ndnboost/type_traits/is_fundamental.hpp>
@@ -24,7 +24,7 @@
 template <typename T>
 struct is_compound_impl
 {
-   BOOST_STATIC_CONSTANT(bool, value =
+   NDNBOOST_STATIC_CONSTANT(bool, value =
       (::ndnboost::type_traits::ice_not<
          ::ndnboost::is_fundamental<T>::value
        >::value));
@@ -34,13 +34,13 @@
 #endif // !defined( __CODEGEARC__ )
 
 #if defined( __CODEGEARC__ )
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_compound,T,__is_compound(T))
+NDNBOOST_TT_AUX_BOOL_TRAIT_DEF1(is_compound,T,__is_compound(T))
 #else
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_compound,T,::ndnboost::detail::is_compound_impl<T>::value)
+NDNBOOST_TT_AUX_BOOL_TRAIT_DEF1(is_compound,T,::ndnboost::detail::is_compound_impl<T>::value)
 #endif
 
 } // namespace ndnboost
 
 #include <ndnboost/type_traits/detail/bool_trait_undef.hpp>
 
-#endif // BOOST_TT_IS_COMPOUND_HPP_INCLUDED
+#endif // NDNBOOST_TT_IS_COMPOUND_HPP_INCLUDED
diff --git a/include/ndnboost/type_traits/is_const.hpp b/include/ndnboost/type_traits/is_const.hpp
index 369239b..919b750 100644
--- a/include/ndnboost/type_traits/is_const.hpp
+++ b/include/ndnboost/type_traits/is_const.hpp
@@ -18,18 +18,18 @@
 //    by Andrei Alexandrescu (see http://www.cuj.com/experts/1810/alexandr.html).
 
 
-#ifndef BOOST_TT_IS_CONST_HPP_INCLUDED
-#define BOOST_TT_IS_CONST_HPP_INCLUDED
+#ifndef NDNBOOST_TT_IS_CONST_HPP_INCLUDED
+#define NDNBOOST_TT_IS_CONST_HPP_INCLUDED
 
 #include <ndnboost/config.hpp>
 #include <ndnboost/detail/workaround.hpp>
 
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#ifndef NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 #   include <ndnboost/type_traits/detail/cv_traits_impl.hpp>
 #   ifdef __GNUC__
 #       include <ndnboost/type_traits/is_reference.hpp>
 #   endif
-#   if BOOST_WORKAROUND(BOOST_MSVC, < 1400)
+#   if NDNBOOST_WORKAROUND(NDNBOOST_MSVC, < 1400)
 #       include <ndnboost/type_traits/remove_bounds.hpp>
 #   endif
 #else
@@ -46,9 +46,9 @@
 
 #if defined( __CODEGEARC__ )
 
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_const,T,__is_const(T))
+NDNBOOST_TT_AUX_BOOL_TRAIT_DEF1(is_const,T,__is_const(T))
 
-#elif !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+#elif !defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
 
 namespace detail{
 //
@@ -58,40 +58,40 @@
 template <class T>
 struct is_const_rvalue_filter
 {
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1400)
-   BOOST_STATIC_CONSTANT(bool, value = ::ndnboost::detail::cv_traits_imp<typename ndnboost::remove_bounds<T>::type*>::is_const);
+#if NDNBOOST_WORKAROUND(NDNBOOST_MSVC, < 1400)
+   NDNBOOST_STATIC_CONSTANT(bool, value = ::ndnboost::detail::cv_traits_imp<typename ndnboost::remove_bounds<T>::type*>::is_const);
 #else
-   BOOST_STATIC_CONSTANT(bool, value = ::ndnboost::detail::cv_traits_imp<T*>::is_const);
+   NDNBOOST_STATIC_CONSTANT(bool, value = ::ndnboost::detail::cv_traits_imp<T*>::is_const);
 #endif
 };
-#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
+#ifndef NDNBOOST_NO_CXX11_RVALUE_REFERENCES
 template <class T>
 struct is_const_rvalue_filter<T&&>
 {
-   BOOST_STATIC_CONSTANT(bool, value = false);
+   NDNBOOST_STATIC_CONSTANT(bool, value = false);
 };
 #endif
 }
 
 //* is a type T  declared const - is_const<T>
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_const,T,::ndnboost::detail::is_const_rvalue_filter<T>::value)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_const,T&,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_DEF1(is_const,T,::ndnboost::detail::is_const_rvalue_filter<T>::value)
+NDNBOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_const,T&,false)
 
-#if  defined(BOOST_ILLEGAL_CV_REFERENCES)
+#if  defined(NDNBOOST_ILLEGAL_CV_REFERENCES)
 // these are illegal specialisations; cv-qualifies applied to
 // references have no effect according to [8.3.2p1],
 // C++ Builder requires them though as it treats cv-qualified
 // references as distinct types...
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_const,T& const,false)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_const,T& volatile,false)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_const,T& const volatile,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_const,T& const,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_const,T& volatile,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_const,T& const volatile,false)
 #endif
 
 #if defined(__GNUC__) && (__GNUC__ < 3)
 // special case for gcc where illegally cv-qualified reference types can be
 // generated in some corner cases:
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_const,T const,!(::ndnboost::is_reference<T>::value))
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_const,T volatile const,!(::ndnboost::is_reference<T>::value))
+NDNBOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_const,T const,!(::ndnboost::is_reference<T>::value))
+NDNBOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_const,T volatile const,!(::ndnboost::is_reference<T>::value))
 #endif
 
 #else
@@ -116,7 +116,7 @@
     template <typename T> struct result_
     {
         static T* t;
-        BOOST_STATIC_CONSTANT(bool, value = (
+        NDNBOOST_STATIC_CONSTANT(bool, value = (
             sizeof(ndnboost::detail::yes_type) == sizeof(ndnboost::detail::is_const_tester(t))
             ));
     };
@@ -128,7 +128,7 @@
     template <typename T> struct result_
     {
         static T t;
-        BOOST_STATIC_CONSTANT(bool, value = (
+        NDNBOOST_STATIC_CONSTANT(bool, value = (
             sizeof(ndnboost::detail::yes_type) == sizeof(ndnboost::detail::is_const_tester(&t))
             ));
     };
@@ -143,23 +143,23 @@
 {
 };
 
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_const,void,false)
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_const,void const,true)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_const,void volatile,false)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_const,void const volatile,true)
+NDNBOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_const,void,false)
+#ifndef NDNBOOST_NO_CV_VOID_SPECIALIZATIONS
+NDNBOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_const,void const,true)
+NDNBOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_const,void volatile,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_const,void const volatile,true)
 #endif
 
 } // namespace detail
 
 //* is a type T  declared const - is_const<T>
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_const,T,::ndnboost::detail::is_const_impl<T>::value)
+NDNBOOST_TT_AUX_BOOL_TRAIT_DEF1(is_const,T,::ndnboost::detail::is_const_impl<T>::value)
 
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#endif // NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 
 } // namespace ndnboost
 
 #include <ndnboost/type_traits/detail/bool_trait_undef.hpp>
 
-#endif // BOOST_TT_IS_CONST_HPP_INCLUDED
+#endif // NDNBOOST_TT_IS_CONST_HPP_INCLUDED
 
diff --git a/include/ndnboost/type_traits/is_convertible.hpp b/include/ndnboost/type_traits/is_convertible.hpp
index e34579d..ef26322 100644
--- a/include/ndnboost/type_traits/is_convertible.hpp
+++ b/include/ndnboost/type_traits/is_convertible.hpp
@@ -9,18 +9,18 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#ifndef BOOST_TT_IS_CONVERTIBLE_HPP_INCLUDED
-#define BOOST_TT_IS_CONVERTIBLE_HPP_INCLUDED
+#ifndef NDNBOOST_TT_IS_CONVERTIBLE_HPP_INCLUDED
+#define NDNBOOST_TT_IS_CONVERTIBLE_HPP_INCLUDED
 
 #include <ndnboost/type_traits/intrinsics.hpp>
-#ifndef BOOST_IS_CONVERTIBLE
+#ifndef NDNBOOST_IS_CONVERTIBLE
 #include <ndnboost/type_traits/detail/yes_no_type.hpp>
 #include <ndnboost/type_traits/config.hpp>
 #include <ndnboost/type_traits/is_array.hpp>
 #include <ndnboost/type_traits/ice.hpp>
 #include <ndnboost/type_traits/is_arithmetic.hpp>
 #include <ndnboost/type_traits/is_void.hpp>
-#ifndef BOOST_NO_IS_ABSTRACT
+#ifndef NDNBOOST_NO_IS_ABSTRACT
 #include <ndnboost/type_traits/is_abstract.hpp>
 #endif
 #include <ndnboost/type_traits/add_lvalue_reference.hpp>
@@ -31,14 +31,14 @@
 #include <ndnboost/type_traits/remove_reference.hpp>
 #endif
 
-#endif // BOOST_IS_CONVERTIBLE
+#endif // NDNBOOST_IS_CONVERTIBLE
 
 // should be always the last #include directive
 #include <ndnboost/type_traits/detail/bool_trait_def.hpp>
 
 namespace ndnboost {
 
-#ifndef BOOST_IS_CONVERTIBLE
+#ifndef NDNBOOST_IS_CONVERTIBLE
 
 // is one type convertible to another?
 //
@@ -54,7 +54,7 @@
 
 // MS specific version:
 
-#if defined(BOOST_MSVC) && (BOOST_MSVC <= 1300)
+#if defined(NDNBOOST_MSVC) && (NDNBOOST_MSVC <= 1300)
 
 // This workaround is necessary to handle when From is void
 // which is normally taken care of by the partial specialization
@@ -67,8 +67,8 @@
 {
     template< typename To > struct result_
     {
-        static no_type BOOST_TT_DECL _m_check(...);
-        static yes_type BOOST_TT_DECL _m_check(To);
+        static no_type NDNBOOST_TT_DECL _m_check(...);
+        static yes_type NDNBOOST_TT_DECL _m_check(To);
         static typename add_lvalue_reference<From>::type  _m_from;
         enum { value = sizeof( _m_check(_m_from) ) == sizeof(yes_type) };
     };
@@ -103,8 +103,8 @@
     // so we only use it for Borland.
     template <typename T> struct checker
     {
-        static ::ndnboost::type_traits::no_type BOOST_TT_DECL _m_check(...);
-        static ::ndnboost::type_traits::yes_type BOOST_TT_DECL _m_check(T);
+        static ::ndnboost::type_traits::no_type NDNBOOST_TT_DECL _m_check(...);
+        static ::ndnboost::type_traits::yes_type NDNBOOST_TT_DECL _m_check(T);
     };
 
     static typename add_lvalue_reference<From>::type  _m_from;
@@ -137,7 +137,7 @@
     typedef typename add_lvalue_reference<From>::type lvalue_type;
     typedef typename add_rvalue_reference<From>::type rvalue_type;
     static lvalue_type _m_from;
-#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ > 6)))
+#if !defined(NDNBOOST_NO_CXX11_RVALUE_REFERENCES) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ > 6)))
     static bool const value =
         sizeof( ndnboost::detail::checker<To>::_m_check(static_cast<rvalue_type>(_m_from), 0) )
         == sizeof(::ndnboost::type_traits::yes_type);
@@ -173,18 +173,18 @@
 template <typename From, typename To>
 struct is_convertible_basic_impl
 {
-    static ::ndnboost::type_traits::no_type BOOST_TT_DECL _m_check(any_conversion ...);
-    static ::ndnboost::type_traits::yes_type BOOST_TT_DECL _m_check(To, int);
+    static ::ndnboost::type_traits::no_type NDNBOOST_TT_DECL _m_check(any_conversion ...);
+    static ::ndnboost::type_traits::yes_type NDNBOOST_TT_DECL _m_check(To, int);
     typedef typename add_lvalue_reference<From>::type lvalue_type;
     typedef typename add_rvalue_reference<From>::type rvalue_type; 
     static lvalue_type _m_from;
 
-#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
-    BOOST_STATIC_CONSTANT(bool, value =
+#ifndef NDNBOOST_NO_CXX11_RVALUE_REFERENCES
+    NDNBOOST_STATIC_CONSTANT(bool, value =
         sizeof( _m_check(static_cast<rvalue_type>(_m_from), 0) ) == sizeof(::ndnboost::type_traits::yes_type)
         );
 #else
-    BOOST_STATIC_CONSTANT(bool, value =
+    NDNBOOST_STATIC_CONSTANT(bool, value =
         sizeof( _m_check(_m_from, 0) ) == sizeof(::ndnboost::type_traits::yes_type)
         );
 #endif
@@ -207,15 +207,15 @@
 {
     // Using '...' doesn't always work on Digital Mars. This version seems to.
     template <class T>
-    static ::ndnboost::type_traits::no_type BOOST_TT_DECL _m_check(any_conversion,  float, T);
-    static ::ndnboost::type_traits::yes_type BOOST_TT_DECL _m_check(To, int, int);
+    static ::ndnboost::type_traits::no_type NDNBOOST_TT_DECL _m_check(any_conversion,  float, T);
+    static ::ndnboost::type_traits::yes_type NDNBOOST_TT_DECL _m_check(To, int, int);
     typedef typename add_lvalue_reference<From>::type lvalue_type;
     typedef typename add_rvalue_reference<From>::type rvalue_type;
     static lvalue_type _m_from;
 
     // Static constants sometime cause the conversion of _m_from to To to be
     // called. This doesn't happen with an enum.
-#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
+#ifndef NDNBOOST_NO_CXX11_RVALUE_REFERENCES
     enum { value =
         sizeof( _m_check(static_cast<rvalue_type>(_m_from), 0, 0) ) == sizeof(::ndnboost::type_traits::yes_type)
         };
@@ -248,18 +248,18 @@
 template <typename From, typename To>
 struct is_convertible_basic_impl_aux<From,To,false /*FromIsFunctionRef*/>
 {
-    static ::ndnboost::type_traits::no_type BOOST_TT_DECL _m_check(any_conversion ...);
-    static ::ndnboost::type_traits::yes_type BOOST_TT_DECL _m_check(To, int);
+    static ::ndnboost::type_traits::no_type NDNBOOST_TT_DECL _m_check(any_conversion ...);
+    static ::ndnboost::type_traits::yes_type NDNBOOST_TT_DECL _m_check(To, int);
     typedef typename add_lvalue_reference<From>::type lvalue_type;
     typedef typename add_rvalue_reference<From>::type rvalue_type; 
     static lvalue_type _m_from;
 
-#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
-    BOOST_STATIC_CONSTANT(bool, value =
+#ifndef NDNBOOST_NO_CXX11_RVALUE_REFERENCES
+    NDNBOOST_STATIC_CONSTANT(bool, value =
         sizeof( _m_check(static_cast<rvalue_type>(_m_from), 0) ) == sizeof(::ndnboost::type_traits::yes_type)
         );
 #else
-    BOOST_STATIC_CONSTANT(bool, value =
+    NDNBOOST_STATIC_CONSTANT(bool, value =
         sizeof( _m_check(_m_from, 0) ) == sizeof(::ndnboost::type_traits::yes_type)
         );
 #endif
@@ -268,17 +268,17 @@
 template <typename From, typename To>
 struct is_convertible_basic_impl_aux<From,To,true /*FromIsFunctionRef*/>
 {
-    static ::ndnboost::type_traits::no_type BOOST_TT_DECL _m_check(...);
-    static ::ndnboost::type_traits::yes_type BOOST_TT_DECL _m_check(To);
+    static ::ndnboost::type_traits::no_type NDNBOOST_TT_DECL _m_check(...);
+    static ::ndnboost::type_traits::yes_type NDNBOOST_TT_DECL _m_check(To);
     typedef typename add_lvalue_reference<From>::type lvalue_type;
     typedef typename add_rvalue_reference<From>::type rvalue_type;
     static lvalue_type _m_from;
-#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
-    BOOST_STATIC_CONSTANT(bool, value =
+#ifndef NDNBOOST_NO_CXX11_RVALUE_REFERENCES
+    NDNBOOST_STATIC_CONSTANT(bool, value =
         sizeof( _m_check(static_cast<rvalue_type>(_m_from)) ) == sizeof(::ndnboost::type_traits::yes_type)
         );
 #else
-    BOOST_STATIC_CONSTANT(bool, value =
+    NDNBOOST_STATIC_CONSTANT(bool, value =
         sizeof( _m_check(_m_from) ) == sizeof(::ndnboost::type_traits::yes_type)
         );
 #endif
@@ -300,28 +300,28 @@
 template <typename From, typename To>
 struct is_convertible_basic_impl
 {
-    static ::ndnboost::type_traits::no_type BOOST_TT_DECL _m_check(...);
-    static ::ndnboost::type_traits::yes_type BOOST_TT_DECL _m_check(To);
+    static ::ndnboost::type_traits::no_type NDNBOOST_TT_DECL _m_check(...);
+    static ::ndnboost::type_traits::yes_type NDNBOOST_TT_DECL _m_check(To);
     typedef typename add_lvalue_reference<From>::type lvalue_type;
     typedef typename add_rvalue_reference<From>::type rvalue_type; 
     static lvalue_type _m_from;
-#ifdef BOOST_MSVC
+#ifdef NDNBOOST_MSVC
 #pragma warning(push)
 #pragma warning(disable:4244)
-#if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000)
+#if NDNBOOST_WORKAROUND(NDNBOOST_MSVC_FULL_VER, >= 140050000)
 #pragma warning(disable:6334)
 #endif
 #endif
-#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
-    BOOST_STATIC_CONSTANT(bool, value =
+#ifndef NDNBOOST_NO_CXX11_RVALUE_REFERENCES
+    NDNBOOST_STATIC_CONSTANT(bool, value =
         sizeof( _m_check(static_cast<rvalue_type>(_m_from)) ) == sizeof(::ndnboost::type_traits::yes_type)
         );
 #else
-    BOOST_STATIC_CONSTANT(bool, value =
+    NDNBOOST_STATIC_CONSTANT(bool, value =
         sizeof( _m_check(_m_from) ) == sizeof(::ndnboost::type_traits::yes_type)
         );
 #endif
-#ifdef BOOST_MSVC
+#ifdef NDNBOOST_MSVC
 #pragma warning(pop)
 #endif
 };
@@ -351,7 +351,7 @@
 template <typename From, typename To>
 struct is_convertible_impl
 {
-    BOOST_STATIC_CONSTANT(bool, value =
+    NDNBOOST_STATIC_CONSTANT(bool, value =
         (::ndnboost::type_traits::ice_and<
             ::ndnboost::type_traits::ice_or<
                ::ndnboost::detail::is_convertible_basic_impl<From,To>::value,
@@ -411,11 +411,11 @@
 template <typename From, typename To>
 struct is_convertible_impl_dispatch_base
 {
-#if !BOOST_WORKAROUND(__HP_aCC, < 60700)
+#if !NDNBOOST_WORKAROUND(__HP_aCC, < 60700)
    typedef is_convertible_impl_select< 
       ::ndnboost::is_arithmetic<From>::value, 
       ::ndnboost::is_arithmetic<To>::value,
-#ifndef BOOST_NO_IS_ABSTRACT
+#ifndef NDNBOOST_NO_IS_ABSTRACT
       ::ndnboost::is_abstract<To>::value
 #else
       false
@@ -438,12 +438,12 @@
 // for void types, these are common to all the
 // implementation above:
 //
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
+#ifndef NDNBOOST_NO_CV_VOID_SPECIALIZATIONS
 #   define TT_AUX_BOOL_CV_VOID_TRAIT_SPEC2_PART1(trait,spec1,spec2,value) \
-    BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2(trait,spec1,spec2,value) \
-    BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2(trait,spec1,spec2 const,value) \
-    BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2(trait,spec1,spec2 volatile,value) \
-    BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2(trait,spec1,spec2 const volatile,value) \
+    NDNBOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2(trait,spec1,spec2,value) \
+    NDNBOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2(trait,spec1,spec2 const,value) \
+    NDNBOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2(trait,spec1,spec2 volatile,value) \
+    NDNBOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2(trait,spec1,spec2 const volatile,value) \
     /**/
 
 #   define TT_AUX_BOOL_CV_VOID_TRAIT_SPEC2(trait,spec1,spec2,value) \
@@ -459,29 +459,29 @@
 #   undef TT_AUX_BOOL_CV_VOID_TRAIT_SPEC2_PART1
 
 #else
-    BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2(is_convertible,void,void,true)
-#endif // BOOST_NO_CV_VOID_SPECIALIZATIONS
+    NDNBOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2(is_convertible,void,void,true)
+#endif // NDNBOOST_NO_CV_VOID_SPECIALIZATIONS
 
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1(typename To,is_convertible,void,To,false)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1(typename From,is_convertible,From,void,false)
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1(typename To,is_convertible,void const,To,false)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1(typename To,is_convertible,void volatile,To,false)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1(typename To,is_convertible,void const volatile,To,false)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1(typename From,is_convertible,From,void const,false)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1(typename From,is_convertible,From,void volatile,false)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1(typename From,is_convertible,From,void const volatile,false)
+#ifndef NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+NDNBOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1(typename To,is_convertible,void,To,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1(typename From,is_convertible,From,void,false)
+#ifndef NDNBOOST_NO_CV_VOID_SPECIALIZATIONS
+NDNBOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1(typename To,is_convertible,void const,To,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1(typename To,is_convertible,void volatile,To,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1(typename To,is_convertible,void const volatile,To,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1(typename From,is_convertible,From,void const,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1(typename From,is_convertible,From,void volatile,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1(typename From,is_convertible,From,void const volatile,false)
 #endif
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#endif // NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 
 } // namespace detail
 
-BOOST_TT_AUX_BOOL_TRAIT_DEF2(is_convertible,From,To,(::ndnboost::detail::is_convertible_impl_dispatch<From,To>::value))
+NDNBOOST_TT_AUX_BOOL_TRAIT_DEF2(is_convertible,From,To,(::ndnboost::detail::is_convertible_impl_dispatch<From,To>::value))
 
 #else
 
-BOOST_TT_AUX_BOOL_TRAIT_DEF2(is_convertible,From,To,BOOST_IS_CONVERTIBLE(From,To))
+NDNBOOST_TT_AUX_BOOL_TRAIT_DEF2(is_convertible,From,To,NDNBOOST_IS_CONVERTIBLE(From,To))
 
 #endif
 
@@ -489,4 +489,4 @@
 
 #include <ndnboost/type_traits/detail/bool_trait_undef.hpp>
 
-#endif // BOOST_TT_IS_CONVERTIBLE_HPP_INCLUDED
+#endif // NDNBOOST_TT_IS_CONVERTIBLE_HPP_INCLUDED
diff --git a/include/ndnboost/type_traits/is_empty.hpp b/include/ndnboost/type_traits/is_empty.hpp
index b30e90d..46ec4aa 100644
--- a/include/ndnboost/type_traits/is_empty.hpp
+++ b/include/ndnboost/type_traits/is_empty.hpp
@@ -6,15 +6,15 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#ifndef BOOST_TT_IS_EMPTY_HPP_INCLUDED
-#define BOOST_TT_IS_EMPTY_HPP_INCLUDED
+#ifndef NDNBOOST_TT_IS_EMPTY_HPP_INCLUDED
+#define NDNBOOST_TT_IS_EMPTY_HPP_INCLUDED
 
 #include <ndnboost/type_traits/is_convertible.hpp>
 #include <ndnboost/type_traits/detail/ice_or.hpp>
 #include <ndnboost/type_traits/config.hpp>
 #include <ndnboost/type_traits/intrinsics.hpp>
 
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#ifndef NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 #   include <ndnboost/type_traits/remove_cv.hpp>
 #   include <ndnboost/type_traits/is_class.hpp>
 #   include <ndnboost/type_traits/add_reference.hpp>
@@ -31,19 +31,19 @@
 // should be always the last #include directive
 #include <ndnboost/type_traits/detail/bool_trait_def.hpp>
 
-#ifndef BOOST_INTERNAL_IS_EMPTY
-#define BOOST_INTERNAL_IS_EMPTY(T) false
+#ifndef NDNBOOST_INTERNAL_IS_EMPTY
+#define NDNBOOST_INTERNAL_IS_EMPTY(T) false
 #else
-#define BOOST_INTERNAL_IS_EMPTY(T) BOOST_IS_EMPTY(T)
+#define NDNBOOST_INTERNAL_IS_EMPTY(T) NDNBOOST_IS_EMPTY(T)
 #endif
 
 namespace ndnboost {
 
 namespace detail {
 
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#ifndef NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 
-#ifdef BOOST_MSVC
+#ifdef NDNBOOST_MSVC
 #pragma warning(push)
 #pragma warning(disable:4624) // destructor could not be generated
 #endif
@@ -59,24 +59,24 @@
    empty_helper_t1& operator=(const empty_helper_t1&);
 };
 
-#ifdef BOOST_MSVC
+#ifdef NDNBOOST_MSVC
 #pragma warning(pop)
 #endif
 
 struct empty_helper_t2 { int i[256]; };
 
-#if !BOOST_WORKAROUND(__BORLANDC__, < 0x600)
+#if !NDNBOOST_WORKAROUND(__BORLANDC__, < 0x600)
 
 template <typename T, bool is_a_class = false>
 struct empty_helper
 {
-    BOOST_STATIC_CONSTANT(bool, value = false);
+    NDNBOOST_STATIC_CONSTANT(bool, value = false);
 };
 
 template <typename T>
 struct empty_helper<T, true>
 {
-    BOOST_STATIC_CONSTANT(
+    NDNBOOST_STATIC_CONSTANT(
         bool, value = (sizeof(empty_helper_t1<T>) == sizeof(empty_helper_t2))
         );
 };
@@ -85,11 +85,11 @@
 struct is_empty_impl
 {
     typedef typename remove_cv<T>::type cvt;
-    BOOST_STATIC_CONSTANT(
+    NDNBOOST_STATIC_CONSTANT(
         bool, value = (
             ::ndnboost::type_traits::ice_or<
               ::ndnboost::detail::empty_helper<cvt,::ndnboost::is_class<T>::value>::value
-              , BOOST_INTERNAL_IS_EMPTY(cvt)
+              , NDNBOOST_INTERNAL_IS_EMPTY(cvt)
             >::value
             ));
 };
@@ -99,13 +99,13 @@
 template <typename T, bool is_a_class, bool convertible_to_int>
 struct empty_helper
 {
-    BOOST_STATIC_CONSTANT(bool, value = false);
+    NDNBOOST_STATIC_CONSTANT(bool, value = false);
 };
 
 template <typename T>
 struct empty_helper<T, true, false>
 {
-    BOOST_STATIC_CONSTANT(bool, value = (
+    NDNBOOST_STATIC_CONSTANT(bool, value = (
         sizeof(empty_helper_t1<T>) == sizeof(empty_helper_t2)
         ));
 };
@@ -116,7 +116,7 @@
    typedef typename remove_cv<T>::type cvt;
    typedef typename add_reference<T>::type r_type;
 
-   BOOST_STATIC_CONSTANT(
+   NDNBOOST_STATIC_CONSTANT(
        bool, value = (
            ::ndnboost::type_traits::ice_or<
               ::ndnboost::detail::empty_helper<
@@ -124,15 +124,15 @@
                 , ::ndnboost::is_class<T>::value
                 , ::ndnboost::is_convertible< r_type,int>::value
               >::value
-              , BOOST_INTERNAL_IS_EMPTY(cvt)
+              , NDNBOOST_INTERNAL_IS_EMPTY(cvt)
            >::value));
 };
 
 #endif // __BORLANDC__
 
-#else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#else // NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 
-#ifdef BOOST_MSVC6_MEMBER_TEMPLATES
+#ifdef NDNBOOST_MSVC6_MEMBER_TEMPLATES
 
 template <typename T>
 struct empty_helper_t1 : public T
@@ -192,38 +192,38 @@
    typedef typename chooser::template result_<T> result;
    typedef typename result::type eh_type;
 
-   BOOST_STATIC_CONSTANT(bool, value =
-      (::ndnboost::type_traits::ice_or<eh_type::value, BOOST_INTERNAL_IS_EMPTY(T)>::value));
+   NDNBOOST_STATIC_CONSTANT(bool, value =
+      (::ndnboost::type_traits::ice_or<eh_type::value, NDNBOOST_INTERNAL_IS_EMPTY(T)>::value));
 };
 
 #else
 
 template <typename T> struct is_empty_impl
 {
-    BOOST_STATIC_CONSTANT(bool, value = BOOST_INTERNAL_IS_EMPTY(T));
+    NDNBOOST_STATIC_CONSTANT(bool, value = NDNBOOST_INTERNAL_IS_EMPTY(T));
 };
 
-#endif  // BOOST_MSVC6_MEMBER_TEMPLATES
+#endif  // NDNBOOST_MSVC6_MEMBER_TEMPLATES
 
-#endif  // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#endif  // NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 
 // these help when the compiler has no partial specialization support:
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_empty,void,false)
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_empty,void const,false)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_empty,void volatile,false)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_empty,void const volatile,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_empty,void,false)
+#ifndef NDNBOOST_NO_CV_VOID_SPECIALIZATIONS
+NDNBOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_empty,void const,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_empty,void volatile,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_empty,void const volatile,false)
 #endif
 
 } // namespace detail
 
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_empty,T,::ndnboost::detail::is_empty_impl<T>::value)
+NDNBOOST_TT_AUX_BOOL_TRAIT_DEF1(is_empty,T,::ndnboost::detail::is_empty_impl<T>::value)
 
 } // namespace ndnboost
 
 #include <ndnboost/type_traits/detail/bool_trait_undef.hpp>
 
-#undef BOOST_INTERNAL_IS_EMPTY
+#undef NDNBOOST_INTERNAL_IS_EMPTY
 
-#endif // BOOST_TT_IS_EMPTY_HPP_INCLUDED
+#endif // NDNBOOST_TT_IS_EMPTY_HPP_INCLUDED
 
diff --git a/include/ndnboost/type_traits/is_enum.hpp b/include/ndnboost/type_traits/is_enum.hpp
index 814632d..0106c09 100644
--- a/include/ndnboost/type_traits/is_enum.hpp
+++ b/include/ndnboost/type_traits/is_enum.hpp
@@ -8,11 +8,11 @@
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
 
-#ifndef BOOST_TT_IS_ENUM_HPP_INCLUDED
-#define BOOST_TT_IS_ENUM_HPP_INCLUDED
+#ifndef NDNBOOST_TT_IS_ENUM_HPP_INCLUDED
+#define NDNBOOST_TT_IS_ENUM_HPP_INCLUDED
 
 #include <ndnboost/type_traits/intrinsics.hpp>
-#ifndef BOOST_IS_ENUM
+#ifndef NDNBOOST_IS_ENUM
 #include <ndnboost/type_traits/add_reference.hpp>
 #include <ndnboost/type_traits/is_arithmetic.hpp>
 #include <ndnboost/type_traits/is_reference.hpp>
@@ -22,7 +22,7 @@
 #include <ndnboost/type_traits/is_function.hpp>
 #endif
 #include <ndnboost/type_traits/config.hpp>
-#if defined(BOOST_TT_HAS_CONFORMING_IS_CLASS_IMPLEMENTATION) 
+#if defined(NDNBOOST_TT_HAS_CONFORMING_IS_CLASS_IMPLEMENTATION) 
 #  include <ndnboost/type_traits/is_class.hpp>
 #  include <ndnboost/type_traits/is_union.hpp>
 #endif
@@ -33,17 +33,17 @@
 
 namespace ndnboost {
 
-#ifndef BOOST_IS_ENUM
+#ifndef NDNBOOST_IS_ENUM
 #if !(defined(__BORLANDC__) && (__BORLANDC__ <= 0x551))
 
 namespace detail {
 
-#if defined(BOOST_TT_HAS_CONFORMING_IS_CLASS_IMPLEMENTATION) 
+#if defined(NDNBOOST_TT_HAS_CONFORMING_IS_CLASS_IMPLEMENTATION) 
 
 template <typename T>
 struct is_class_or_union
 {
-   BOOST_STATIC_CONSTANT(bool, value =
+   NDNBOOST_STATIC_CONSTANT(bool, value =
       (::ndnboost::type_traits::ice_or<
            ::ndnboost::is_class<T>::value
          , ::ndnboost::is_union<T>::value
@@ -55,20 +55,20 @@
 template <typename T>
 struct is_class_or_union
 {
-# if BOOST_WORKAROUND(BOOST_MSVC, < 1300) || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x581))// we simply can't detect it this way.
-    BOOST_STATIC_CONSTANT(bool, value = false);
+# if NDNBOOST_WORKAROUND(NDNBOOST_MSVC, < 1300) || NDNBOOST_WORKAROUND(__BORLANDC__, NDNBOOST_TESTED_AT(0x581))// we simply can't detect it this way.
+    NDNBOOST_STATIC_CONSTANT(bool, value = false);
 # else
     template <class U> static ::ndnboost::type_traits::yes_type is_class_or_union_tester(void(U::*)(void));
 
-#  if BOOST_WORKAROUND(BOOST_MSVC, == 1300)                 \
-    || BOOST_WORKAROUND(__MWERKS__, <= 0x3000) // no SFINAE
+#  if NDNBOOST_WORKAROUND(NDNBOOST_MSVC, == 1300)                 \
+    || NDNBOOST_WORKAROUND(__MWERKS__, <= 0x3000) // no SFINAE
     static ::ndnboost::type_traits::no_type is_class_or_union_tester(...);
-    BOOST_STATIC_CONSTANT(
+    NDNBOOST_STATIC_CONSTANT(
         bool, value = sizeof(is_class_or_union_tester(0)) == sizeof(::ndnboost::type_traits::yes_type));
 #  else
     template <class U>
     static ::ndnboost::type_traits::no_type is_class_or_union_tester(...);
-    BOOST_STATIC_CONSTANT(
+    NDNBOOST_STATIC_CONSTANT(
         bool, value = sizeof(is_class_or_union_tester<T>(0)) == sizeof(::ndnboost::type_traits::yes_type));
 #  endif
 # endif
@@ -87,7 +87,7 @@
 {
     template <typename T> struct type
     {
-        BOOST_STATIC_CONSTANT(bool, value = false);
+        NDNBOOST_STATIC_CONSTANT(bool, value = false);
     };
 };
 
@@ -107,12 +107,12 @@
 
 #if defined(__GNUC__)
 
-#ifdef BOOST_TT_HAS_CONFORMING_IS_CLASS_IMPLEMENTATION
+#ifdef NDNBOOST_TT_HAS_CONFORMING_IS_CLASS_IMPLEMENTATION
     
    // We MUST check for is_class_or_union on conforming compilers in
    // order to correctly deduce that noncopyable types are not enums
    // (dwa 2002/04/15)...
-   BOOST_STATIC_CONSTANT(bool, selector =
+   NDNBOOST_STATIC_CONSTANT(bool, selector =
       (::ndnboost::type_traits::ice_or<
            ::ndnboost::is_arithmetic<T>::value
          , ::ndnboost::is_reference<T>::value
@@ -123,18 +123,18 @@
 #else
    // ...however, not checking is_class_or_union on non-conforming
    // compilers prevents a dependency recursion.
-   BOOST_STATIC_CONSTANT(bool, selector =
+   NDNBOOST_STATIC_CONSTANT(bool, selector =
       (::ndnboost::type_traits::ice_or<
            ::ndnboost::is_arithmetic<T>::value
          , ::ndnboost::is_reference<T>::value
          , ::ndnboost::is_function<T>::value
          , is_array<T>::value
       >::value));
-#endif // BOOST_TT_HAS_CONFORMING_IS_CLASS_IMPLEMENTATION
+#endif // NDNBOOST_TT_HAS_CONFORMING_IS_CLASS_IMPLEMENTATION
 
 #else // !defined(__GNUC__):
     
-   BOOST_STATIC_CONSTANT(bool, selector =
+   NDNBOOST_STATIC_CONSTANT(bool, selector =
       (::ndnboost::type_traits::ice_or<
            ::ndnboost::is_arithmetic<T>::value
          , ::ndnboost::is_reference<T>::value
@@ -144,7 +144,7 @@
     
 #endif
 
-#if BOOST_WORKAROUND(__BORLANDC__, < 0x600)
+#if NDNBOOST_WORKAROUND(__BORLANDC__, < 0x600)
     typedef ::ndnboost::detail::is_enum_helper<
           ::ndnboost::detail::is_enum_impl<T>::selector
         > se_t;
@@ -153,32 +153,32 @@
 #endif
 
     typedef typename se_t::template type<T> helper;
-    BOOST_STATIC_CONSTANT(bool, value = helper::value);
+    NDNBOOST_STATIC_CONSTANT(bool, value = helper::value);
 };
 
 // these help on compilers with no partial specialization support:
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_enum,void,false)
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_enum,void const,false)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_enum,void volatile,false)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_enum,void const volatile,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_enum,void,false)
+#ifndef NDNBOOST_NO_CV_VOID_SPECIALIZATIONS
+NDNBOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_enum,void const,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_enum,void volatile,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_enum,void const volatile,false)
 #endif
 
 } // namespace detail
 
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_enum,T,::ndnboost::detail::is_enum_impl<T>::value)
+NDNBOOST_TT_AUX_BOOL_TRAIT_DEF1(is_enum,T,::ndnboost::detail::is_enum_impl<T>::value)
 
 #else // __BORLANDC__
 //
 // buggy is_convertible prevents working
 // implementation of is_enum:
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_enum,T,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_DEF1(is_enum,T,false)
 
 #endif
 
-#else // BOOST_IS_ENUM
+#else // NDNBOOST_IS_ENUM
 
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_enum,T,BOOST_IS_ENUM(T))
+NDNBOOST_TT_AUX_BOOL_TRAIT_DEF1(is_enum,T,NDNBOOST_IS_ENUM(T))
 
 #endif
 
@@ -186,4 +186,4 @@
 
 #include <ndnboost/type_traits/detail/bool_trait_undef.hpp>
 
-#endif // BOOST_TT_IS_ENUM_HPP_INCLUDED
+#endif // NDNBOOST_TT_IS_ENUM_HPP_INCLUDED
diff --git a/include/ndnboost/type_traits/is_float.hpp b/include/ndnboost/type_traits/is_float.hpp
index b16495a..c11b585 100644
--- a/include/ndnboost/type_traits/is_float.hpp
+++ b/include/ndnboost/type_traits/is_float.hpp
@@ -6,8 +6,8 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#ifndef BOOST_TYPE_TRAITS_IS_FLOAT_HPP_INCLUDED
-#define BOOST_TYPE_TRAITS_IS_FLOAT_HPP_INCLUDED
+#ifndef NDNBOOST_TYPE_TRAITS_IS_FLOAT_HPP_INCLUDED
+#define NDNBOOST_TYPE_TRAITS_IS_FLOAT_HPP_INCLUDED
 
 // should be the last #include
 #include <ndnboost/type_traits/detail/bool_trait_def.hpp>
@@ -15,13 +15,13 @@
 namespace ndnboost {
 
 //* is a type T a floating-point type described in the standard (3.9.1p8)
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_float,T,false)
-BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_float,float,true)
-BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_float,double,true)
-BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_float,long double,true)
+NDNBOOST_TT_AUX_BOOL_TRAIT_DEF1(is_float,T,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_float,float,true)
+NDNBOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_float,double,true)
+NDNBOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_float,long double,true)
 
 } // namespace ndnboost
 
 #include <ndnboost/type_traits/detail/bool_trait_undef.hpp>
 
-#endif // BOOST_TYPE_TRAITS_IS_FLOAT_HPP_INCLUDED
+#endif // NDNBOOST_TYPE_TRAITS_IS_FLOAT_HPP_INCLUDED
diff --git a/include/ndnboost/type_traits/is_floating_point.hpp b/include/ndnboost/type_traits/is_floating_point.hpp
index 6a3e88d..3338266 100644
--- a/include/ndnboost/type_traits/is_floating_point.hpp
+++ b/include/ndnboost/type_traits/is_floating_point.hpp
@@ -6,8 +6,8 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#ifndef BOOST_TYPE_TRAITS_IS_FLOATING_HPP_INCLUDED
-#define BOOST_TYPE_TRAITS_IS_FLOATING_HPP_INCLUDED
+#ifndef NDNBOOST_TYPE_TRAITS_IS_FLOATING_HPP_INCLUDED
+#define NDNBOOST_TYPE_TRAITS_IS_FLOATING_HPP_INCLUDED
 
 // should be the last #include
 #include <ndnboost/type_traits/detail/bool_trait_def.hpp>
@@ -15,13 +15,13 @@
 namespace ndnboost {
 
 //* is a type T a floating-point type described in the standard (3.9.1p8)
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_floating_point,T,false)
-BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_floating_point,float,true)
-BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_floating_point,double,true)
-BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_floating_point,long double,true)
+NDNBOOST_TT_AUX_BOOL_TRAIT_DEF1(is_floating_point,T,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_floating_point,float,true)
+NDNBOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_floating_point,double,true)
+NDNBOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_floating_point,long double,true)
 
 } // namespace ndnboost
 
 #include <ndnboost/type_traits/detail/bool_trait_undef.hpp>
 
-#endif // BOOST_TYPE_TRAITS_IS_FLOAT_HPP_INCLUDED
+#endif // NDNBOOST_TYPE_TRAITS_IS_FLOAT_HPP_INCLUDED
diff --git a/include/ndnboost/type_traits/is_function.hpp b/include/ndnboost/type_traits/is_function.hpp
index 51136f5..ccb42b7 100644
--- a/include/ndnboost/type_traits/is_function.hpp
+++ b/include/ndnboost/type_traits/is_function.hpp
@@ -8,14 +8,14 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#ifndef BOOST_TT_IS_FUNCTION_HPP_INCLUDED
-#define BOOST_TT_IS_FUNCTION_HPP_INCLUDED
+#ifndef NDNBOOST_TT_IS_FUNCTION_HPP_INCLUDED
+#define NDNBOOST_TT_IS_FUNCTION_HPP_INCLUDED
 
 #include <ndnboost/type_traits/is_reference.hpp>
 #include <ndnboost/type_traits/detail/false_result.hpp>
 #include <ndnboost/config.hpp>
 
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_TT_TEST_MS_FUNC_SIGS)
+#if !defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(NDNBOOST_TT_TEST_MS_FUNC_SIGS)
 #   include <ndnboost/type_traits/detail/is_function_ptr_helper.hpp>
 #else
 #   include <ndnboost/type_traits/detail/is_function_ptr_tester.hpp>
@@ -37,7 +37,7 @@
 
 namespace detail {
 
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_TT_TEST_MS_FUNC_SIGS)
+#if !defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(NDNBOOST_TT_TEST_MS_FUNC_SIGS)
 template<bool is_ref = true>
 struct is_function_chooser
     : public ::ndnboost::type_traits::false_result
@@ -56,7 +56,7 @@
 template <typename T>
 struct is_function_impl
     : public is_function_chooser< ::ndnboost::is_reference<T>::value >
-        ::BOOST_NESTED_TEMPLATE result_<T>
+        ::NDNBOOST_NESTED_TEMPLATE result_<T>
 {
 };
 
@@ -65,25 +65,25 @@
 template <typename T>
 struct is_function_impl
 {
-#if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000)
+#if NDNBOOST_WORKAROUND(NDNBOOST_MSVC_FULL_VER, >= 140050000)
 #pragma warning(push)
 #pragma warning(disable:6334)
 #endif
     static T* t;
-    BOOST_STATIC_CONSTANT(
+    NDNBOOST_STATIC_CONSTANT(
         bool, value = sizeof(::ndnboost::type_traits::is_function_ptr_tester(t))
         == sizeof(::ndnboost::type_traits::yes_type)
         );
-#if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000)
+#if NDNBOOST_WORKAROUND(NDNBOOST_MSVC_FULL_VER, >= 140050000)
 #pragma warning(pop)
 #endif
 };
 
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+#if !defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
 template <typename T>
 struct is_function_impl<T&> : public false_type
 {};
-#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
+#ifndef NDNBOOST_NO_CXX11_RVALUE_REFERENCES
 template <typename T>
 struct is_function_impl<T&&> : public false_type
 {};
@@ -97,15 +97,15 @@
 #endif // !defined( __CODEGEARC__ )
 
 #if defined( __CODEGEARC__ )
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_function,T,__is_function(T))
+NDNBOOST_TT_AUX_BOOL_TRAIT_DEF1(is_function,T,__is_function(T))
 #else
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_function,T,::ndnboost::detail::is_function_impl<T>::value)
-#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_function,T&&,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_DEF1(is_function,T,::ndnboost::detail::is_function_impl<T>::value)
+#ifndef NDNBOOST_NO_CXX11_RVALUE_REFERENCES
+NDNBOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_function,T&&,false)
 #endif
 #endif
 } // namespace ndnboost
 
 #include <ndnboost/type_traits/detail/bool_trait_undef.hpp>
 
-#endif // BOOST_TT_IS_FUNCTION_HPP_INCLUDED
+#endif // NDNBOOST_TT_IS_FUNCTION_HPP_INCLUDED
diff --git a/include/ndnboost/type_traits/is_fundamental.hpp b/include/ndnboost/type_traits/is_fundamental.hpp
index 74497c4..c8b94d9 100644
--- a/include/ndnboost/type_traits/is_fundamental.hpp
+++ b/include/ndnboost/type_traits/is_fundamental.hpp
@@ -6,8 +6,8 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#ifndef BOOST_TT_IS_FUNDAMENTAL_HPP_INCLUDED
-#define BOOST_TT_IS_FUNDAMENTAL_HPP_INCLUDED
+#ifndef NDNBOOST_TT_IS_FUNDAMENTAL_HPP_INCLUDED
+#define NDNBOOST_TT_IS_FUNDAMENTAL_HPP_INCLUDED
 
 #include <ndnboost/type_traits/is_arithmetic.hpp>
 #include <ndnboost/type_traits/is_void.hpp>
@@ -33,13 +33,13 @@
 
 //* is a type T a fundamental type described in the standard (3.9.1)
 #if defined( __CODEGEARC__ )
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_fundamental,T,__is_fundamental(T))
+NDNBOOST_TT_AUX_BOOL_TRAIT_DEF1(is_fundamental,T,__is_fundamental(T))
 #else
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_fundamental,T,::ndnboost::detail::is_fundamental_impl<T>::value)
+NDNBOOST_TT_AUX_BOOL_TRAIT_DEF1(is_fundamental,T,::ndnboost::detail::is_fundamental_impl<T>::value)
 #endif
 
 } // namespace ndnboost
 
 #include <ndnboost/type_traits/detail/bool_trait_undef.hpp>
 
-#endif // BOOST_TT_IS_FUNDAMENTAL_HPP_INCLUDED
+#endif // NDNBOOST_TT_IS_FUNDAMENTAL_HPP_INCLUDED
diff --git a/include/ndnboost/type_traits/is_integral.hpp b/include/ndnboost/type_traits/is_integral.hpp
index c622b3d..1e44256 100644
--- a/include/ndnboost/type_traits/is_integral.hpp
+++ b/include/ndnboost/type_traits/is_integral.hpp
@@ -6,8 +6,8 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#ifndef BOOST_TT_IS_INTEGRAL_HPP_INCLUDED
-#define BOOST_TT_IS_INTEGRAL_HPP_INCLUDED
+#ifndef NDNBOOST_TT_IS_INTEGRAL_HPP_INCLUDED
+#define NDNBOOST_TT_IS_INTEGRAL_HPP_INCLUDED
 
 #include <ndnboost/config.hpp>
 
@@ -20,58 +20,58 @@
 // as an extension we include long long, as this is likely to be added to the
 // standard at a later date
 #if defined( __CODEGEARC__ )
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_integral,T,__is_integral(T))
+NDNBOOST_TT_AUX_BOOL_TRAIT_DEF1(is_integral,T,__is_integral(T))
 #else
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_integral,T,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_DEF1(is_integral,T,false)
 
-BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,unsigned char,true)
-BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,unsigned short,true)
-BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,unsigned int,true)
-BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,unsigned long,true)
+NDNBOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,unsigned char,true)
+NDNBOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,unsigned short,true)
+NDNBOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,unsigned int,true)
+NDNBOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,unsigned long,true)
 
-BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,signed char,true)
-BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,signed short,true)
-BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,signed int,true)
-BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,signed long,true)
+NDNBOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,signed char,true)
+NDNBOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,signed short,true)
+NDNBOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,signed int,true)
+NDNBOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,signed long,true)
 
-BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,bool,true)
-BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,char,true)
+NDNBOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,bool,true)
+NDNBOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,char,true)
 
-#ifndef BOOST_NO_INTRINSIC_WCHAR_T
+#ifndef NDNBOOST_NO_INTRINSIC_WCHAR_T
 // If the following line fails to compile and you're using the Intel
 // compiler, see http://lists.boost.org/MailArchives/boost-users/msg06567.php,
-// and define BOOST_NO_INTRINSIC_WCHAR_T on the command line.
-BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,wchar_t,true)
+// and define NDNBOOST_NO_INTRINSIC_WCHAR_T on the command line.
+NDNBOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,wchar_t,true)
 #endif
 
 // Same set of integral types as in ndnboost/type_traits/integral_promotion.hpp.
 // Please, keep in sync. -- Alexander Nasonov
-#if (defined(BOOST_MSVC) && (BOOST_MSVC < 1300)) \
-    || (defined(BOOST_INTEL_CXX_VERSION) && defined(_MSC_VER) && (BOOST_INTEL_CXX_VERSION <= 600)) \
+#if (defined(NDNBOOST_MSVC) && (NDNBOOST_MSVC < 1300)) \
+    || (defined(NDNBOOST_INTEL_CXX_VERSION) && defined(_MSC_VER) && (NDNBOOST_INTEL_CXX_VERSION <= 600)) \
     || (defined(__BORLANDC__) && (__BORLANDC__ == 0x600) && (_MSC_VER < 1300))
-BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,unsigned __int8,true)
-BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,__int8,true)
-BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,unsigned __int16,true)
-BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,__int16,true)
-BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,unsigned __int32,true)
-BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,__int32,true)
+NDNBOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,unsigned __int8,true)
+NDNBOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,__int8,true)
+NDNBOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,unsigned __int16,true)
+NDNBOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,__int16,true)
+NDNBOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,unsigned __int32,true)
+NDNBOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,__int32,true)
 #ifdef __BORLANDC__
-BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,unsigned __int64,true)
-BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,__int64,true)
+NDNBOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,unsigned __int64,true)
+NDNBOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,__int64,true)
 #endif
 #endif
 
-# if defined(BOOST_HAS_LONG_LONG)
-BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral, ::ndnboost::ulong_long_type,true)
-BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral, ::ndnboost::long_long_type,true)
-#elif defined(BOOST_HAS_MS_INT64)
-BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,unsigned __int64,true)
-BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,__int64,true)
+# if defined(NDNBOOST_HAS_LONG_LONG)
+NDNBOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral, ::ndnboost::ulong_long_type,true)
+NDNBOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral, ::ndnboost::long_long_type,true)
+#elif defined(NDNBOOST_HAS_MS_INT64)
+NDNBOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,unsigned __int64,true)
+NDNBOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,__int64,true)
 #endif
         
-#ifdef BOOST_HAS_INT128
-BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,ndnboost::int128_type,true)
-BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,ndnboost::uint128_type,true)
+#ifdef NDNBOOST_HAS_INT128
+NDNBOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,ndnboost::int128_type,true)
+NDNBOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,ndnboost::uint128_type,true)
 #endif
 
 #endif  // non-CodeGear implementation
@@ -80,4 +80,4 @@
 
 #include <ndnboost/type_traits/detail/bool_trait_undef.hpp>
 
-#endif // BOOST_TT_IS_INTEGRAL_HPP_INCLUDED
+#endif // NDNBOOST_TT_IS_INTEGRAL_HPP_INCLUDED
diff --git a/include/ndnboost/type_traits/is_lvalue_reference.hpp b/include/ndnboost/type_traits/is_lvalue_reference.hpp
index 420c2e6..678e2c6 100644
--- a/include/ndnboost/type_traits/is_lvalue_reference.hpp
+++ b/include/ndnboost/type_traits/is_lvalue_reference.hpp
@@ -18,12 +18,12 @@
 //    by Andrei Alexandrescu (see http://www.cuj.com/experts/1810/alexandr.html).
 
 
-#ifndef BOOST_TT_IS_LVALUE_REFERENCE_HPP_INCLUDED
-#define BOOST_TT_IS_LVALUE_REFERENCE_HPP_INCLUDED
+#ifndef NDNBOOST_TT_IS_LVALUE_REFERENCE_HPP_INCLUDED
+#define NDNBOOST_TT_IS_LVALUE_REFERENCE_HPP_INCLUDED
 
 #include <ndnboost/type_traits/config.hpp>
 
-#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#ifdef NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 #   include <ndnboost/type_traits/detail/yes_no_type.hpp>
 #   include <ndnboost/type_traits/detail/wrap.hpp>
 #endif
@@ -34,39 +34,39 @@
 namespace ndnboost {
 
 #if defined( __CODEGEARC__ )
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_lvalue_reference,T,__is_reference(T))
-#elif !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+NDNBOOST_TT_AUX_BOOL_TRAIT_DEF1(is_lvalue_reference,T,__is_reference(T))
+#elif !defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
 
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_lvalue_reference,T,false)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_lvalue_reference,T&,true)
+NDNBOOST_TT_AUX_BOOL_TRAIT_DEF1(is_lvalue_reference,T,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_lvalue_reference,T&,true)
 
-#if  defined(BOOST_ILLEGAL_CV_REFERENCES)
+#if  defined(NDNBOOST_ILLEGAL_CV_REFERENCES)
 // these are illegal specialisations; cv-qualifies applied to
 // references have no effect according to [8.3.2p1],
 // C++ Builder requires them though as it treats cv-qualified
 // references as distinct types...
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_lvalue_reference,T& const,true)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_lvalue_reference,T& volatile,true)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_lvalue_reference,T& const volatile,true)
+NDNBOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_lvalue_reference,T& const,true)
+NDNBOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_lvalue_reference,T& volatile,true)
+NDNBOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_lvalue_reference,T& const volatile,true)
 #endif
 
 #if defined(__GNUC__) && (__GNUC__ < 3)
 // these allow us to work around illegally cv-qualified reference
 // types.
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_lvalue_reference,T const ,::ndnboost::is_lvalue_reference<T>::value)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_lvalue_reference,T volatile ,::ndnboost::is_lvalue_reference<T>::value)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_lvalue_reference,T const volatile ,::ndnboost::is_lvalue_reference<T>::value)
+NDNBOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_lvalue_reference,T const ,::ndnboost::is_lvalue_reference<T>::value)
+NDNBOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_lvalue_reference,T volatile ,::ndnboost::is_lvalue_reference<T>::value)
+NDNBOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_lvalue_reference,T const volatile ,::ndnboost::is_lvalue_reference<T>::value)
 // However, the above specializations confuse gcc 2.96 unless we also
 // supply these specializations for array types
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(typename T,unsigned long N,is_lvalue_reference,T[N],false)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(typename T,unsigned long N,is_lvalue_reference,const T[N],false)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(typename T,unsigned long N,is_lvalue_reference,volatile T[N],false)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(typename T,unsigned long N,is_lvalue_reference,const volatile T[N],false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(typename T,unsigned long N,is_lvalue_reference,T[N],false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(typename T,unsigned long N,is_lvalue_reference,const T[N],false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(typename T,unsigned long N,is_lvalue_reference,volatile T[N],false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(typename T,unsigned long N,is_lvalue_reference,const volatile T[N],false)
 #endif
 
 #else
 
-#ifdef BOOST_MSVC
+#ifdef NDNBOOST_MSVC
 #   pragma warning(push)
 #   pragma warning(disable: 4181 4097)
 #endif
@@ -86,33 +86,33 @@
 template <typename T>
 struct is_lvalue_reference_impl
 {
-    BOOST_STATIC_CONSTANT(
+    NDNBOOST_STATIC_CONSTANT(
         bool, value = sizeof(
             ::ndnboost::detail::is_lvalue_reference_helper2(
                 ::ndnboost::detail::is_lvalue_reference_helper1(::ndnboost::type_traits::wrap<T>()))) == 1
         );
 };
 
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_lvalue_reference,void,false)
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_lvalue_reference,void const,false)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_lvalue_reference,void volatile,false)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_lvalue_reference,void const volatile,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_lvalue_reference,void,false)
+#ifndef NDNBOOST_NO_CV_VOID_SPECIALIZATIONS
+NDNBOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_lvalue_reference,void const,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_lvalue_reference,void volatile,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_lvalue_reference,void const volatile,false)
 #endif
 
 } // namespace detail
 
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_lvalue_reference,T,::ndnboost::detail::is_lvalue_reference_impl<T>::value)
+NDNBOOST_TT_AUX_BOOL_TRAIT_DEF1(is_lvalue_reference,T,::ndnboost::detail::is_lvalue_reference_impl<T>::value)
 
-#ifdef BOOST_MSVC
+#ifdef NDNBOOST_MSVC
 #   pragma warning(pop)
 #endif
 
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#endif // NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 
 } // namespace ndnboost
 
 #include <ndnboost/type_traits/detail/bool_trait_undef.hpp>
 
-#endif // BOOST_TT_IS_REFERENCE_HPP_INCLUDED
+#endif // NDNBOOST_TT_IS_REFERENCE_HPP_INCLUDED
 
diff --git a/include/ndnboost/type_traits/is_member_function_pointer.hpp b/include/ndnboost/type_traits/is_member_function_pointer.hpp
index 63115b9..38ef2ec 100644
--- a/include/ndnboost/type_traits/is_member_function_pointer.hpp
+++ b/include/ndnboost/type_traits/is_member_function_pointer.hpp
@@ -8,14 +8,14 @@
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
 
-#ifndef BOOST_TT_IS_MEMBER_FUNCTION_POINTER_HPP_INCLUDED
-#define BOOST_TT_IS_MEMBER_FUNCTION_POINTER_HPP_INCLUDED
+#ifndef NDNBOOST_TT_IS_MEMBER_FUNCTION_POINTER_HPP_INCLUDED
+#define NDNBOOST_TT_IS_MEMBER_FUNCTION_POINTER_HPP_INCLUDED
 
 #include <ndnboost/type_traits/config.hpp>
 #include <ndnboost/detail/workaround.hpp>
 
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
-   && !BOOST_WORKAROUND(__BORLANDC__, < 0x600) && !defined(BOOST_TT_TEST_MS_FUNC_SIGS)
+#if !defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
+   && !NDNBOOST_WORKAROUND(__BORLANDC__, < 0x600) && !defined(NDNBOOST_TT_TEST_MS_FUNC_SIGS)
    //
    // Note: we use the "workaround" version for MSVC because it works for 
    // __stdcall etc function types, where as the partial specialisation
@@ -38,10 +38,10 @@
 namespace ndnboost {
 
 #if defined( __CODEGEARC__ )
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_member_function_pointer,T,__is_member_function_pointer( T ))
-#elif !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !BOOST_WORKAROUND(__BORLANDC__, < 0x600) && !defined(BOOST_TT_TEST_MS_FUNC_SIGS)
+NDNBOOST_TT_AUX_BOOL_TRAIT_DEF1(is_member_function_pointer,T,__is_member_function_pointer( T ))
+#elif !defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !NDNBOOST_WORKAROUND(__BORLANDC__, < 0x600) && !defined(NDNBOOST_TT_TEST_MS_FUNC_SIGS)
 
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(
+NDNBOOST_TT_AUX_BOOL_TRAIT_DEF1(
       is_member_function_pointer
     , T
     , ::ndnboost::type_traits::is_mem_fun_pointer_impl<typename remove_cv<T>::type>::value
@@ -64,18 +64,18 @@
 {
     template <typename T> struct result_
     {
-#if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000)
+#if NDNBOOST_WORKAROUND(NDNBOOST_MSVC_FULL_VER, >= 140050000)
 #pragma warning(push)
 #pragma warning(disable:6334)
 #endif
         static T* make_t;
         typedef result_<T> self_type;
 
-        BOOST_STATIC_CONSTANT(
+        NDNBOOST_STATIC_CONSTANT(
             bool, value = (
                 1 == sizeof(::ndnboost::type_traits::is_mem_fun_pointer_tester(self_type::make_t))
             ));
-#if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000)
+#if NDNBOOST_WORKAROUND(NDNBOOST_MSVC_FULL_VER, >= 140050000)
 #pragma warning(pop)
 #endif
     };
@@ -92,7 +92,7 @@
 {
 };
 
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#ifndef NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 template <typename T>
 struct is_member_function_pointer_impl<T&> : public false_type{};
 #endif
@@ -103,7 +103,7 @@
 struct is_member_function_pointer_impl
 {
    static T* m_t;
-   BOOST_STATIC_CONSTANT(
+   NDNBOOST_STATIC_CONSTANT(
               bool, value =
                (1 == sizeof(type_traits::is_mem_fun_pointer_tester(m_t))) );
 };
@@ -111,26 +111,26 @@
 template <typename T>
 struct is_member_function_pointer_impl<T&>
 {
-   BOOST_STATIC_CONSTANT(bool, value = false);
+   NDNBOOST_STATIC_CONSTANT(bool, value = false);
 };
 
 #endif
 
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_member_function_pointer,void,false)
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_member_function_pointer,void const,false)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_member_function_pointer,void volatile,false)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_member_function_pointer,void const volatile,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_member_function_pointer,void,false)
+#ifndef NDNBOOST_NO_CV_VOID_SPECIALIZATIONS
+NDNBOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_member_function_pointer,void const,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_member_function_pointer,void volatile,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_member_function_pointer,void const volatile,false)
 #endif
 
 } // namespace detail
 
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_member_function_pointer,T,::ndnboost::detail::is_member_function_pointer_impl<T>::value)
+NDNBOOST_TT_AUX_BOOL_TRAIT_DEF1(is_member_function_pointer,T,::ndnboost::detail::is_member_function_pointer_impl<T>::value)
 
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#endif // NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 
 } // namespace ndnboost
 
 #include <ndnboost/type_traits/detail/bool_trait_undef.hpp>
 
-#endif // BOOST_TT_IS_MEMBER_FUNCTION_POINTER_HPP_INCLUDED
+#endif // NDNBOOST_TT_IS_MEMBER_FUNCTION_POINTER_HPP_INCLUDED
diff --git a/include/ndnboost/type_traits/is_member_object_pointer.hpp b/include/ndnboost/type_traits/is_member_object_pointer.hpp
index 321093e..29567dd 100644
--- a/include/ndnboost/type_traits/is_member_object_pointer.hpp
+++ b/include/ndnboost/type_traits/is_member_object_pointer.hpp
@@ -7,8 +7,8 @@
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
 
-#ifndef BOOST_TT_IS_MEMBER_OBJECT_POINTER_HPP_INCLUDED
-#define BOOST_TT_IS_MEMBER_OBJECT_POINTER_HPP_INCLUDED
+#ifndef NDNBOOST_TT_IS_MEMBER_OBJECT_POINTER_HPP_INCLUDED
+#define NDNBOOST_TT_IS_MEMBER_OBJECT_POINTER_HPP_INCLUDED
 
 #include <ndnboost/type_traits/config.hpp>
 #include <ndnboost/type_traits/is_member_pointer.hpp>
@@ -26,7 +26,7 @@
 template <typename T>
 struct is_member_object_pointer_impl
 {
-   BOOST_STATIC_CONSTANT(
+   NDNBOOST_STATIC_CONSTANT(
       bool, value = (::ndnboost::type_traits::ice_and<
          ::ndnboost::is_member_pointer<T>::value,
          ::ndnboost::type_traits::ice_not<
@@ -37,10 +37,10 @@
 
 } // namespace detail
 
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_member_object_pointer,T,::ndnboost::detail::is_member_object_pointer_impl<T>::value)
+NDNBOOST_TT_AUX_BOOL_TRAIT_DEF1(is_member_object_pointer,T,::ndnboost::detail::is_member_object_pointer_impl<T>::value)
 
 } // namespace ndnboost
 
 #include <ndnboost/type_traits/detail/bool_trait_undef.hpp>
 
-#endif // BOOST_TT_IS_MEMBER_FUNCTION_POINTER_HPP_INCLUDED
+#endif // NDNBOOST_TT_IS_MEMBER_FUNCTION_POINTER_HPP_INCLUDED
diff --git a/include/ndnboost/type_traits/is_member_pointer.hpp b/include/ndnboost/type_traits/is_member_pointer.hpp
index 6a2bd61..7bfca6b 100644
--- a/include/ndnboost/type_traits/is_member_pointer.hpp
+++ b/include/ndnboost/type_traits/is_member_pointer.hpp
@@ -18,13 +18,13 @@
 //    by Andrei Alexandrescu (see http://www.cuj.com/experts/1810/alexandr.html).
 
 
-#ifndef BOOST_TT_IS_MEMBER_POINTER_HPP_INCLUDED
-#define BOOST_TT_IS_MEMBER_POINTER_HPP_INCLUDED
+#ifndef NDNBOOST_TT_IS_MEMBER_POINTER_HPP_INCLUDED
+#define NDNBOOST_TT_IS_MEMBER_POINTER_HPP_INCLUDED
 
 #include <ndnboost/type_traits/config.hpp>
 #include <ndnboost/detail/workaround.hpp>
 
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !BOOST_WORKAROUND(__BORLANDC__, < 0x600)
+#if !defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !NDNBOOST_WORKAROUND(__BORLANDC__, < 0x600)
 #   include <ndnboost/type_traits/is_member_function_pointer.hpp>
 #else
 #   include <ndnboost/type_traits/is_reference.hpp>
@@ -41,19 +41,19 @@
 namespace ndnboost {
 
 #if defined( __CODEGEARC__ )
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_member_pointer,T,__is_member_pointer(T))
-#elif BOOST_WORKAROUND(__BORLANDC__, < 0x600)
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_member_pointer,T,false)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(typename T,typename U,is_member_pointer,U T::*,true)
+NDNBOOST_TT_AUX_BOOL_TRAIT_DEF1(is_member_pointer,T,__is_member_pointer(T))
+#elif NDNBOOST_WORKAROUND(__BORLANDC__, < 0x600)
+NDNBOOST_TT_AUX_BOOL_TRAIT_DEF1(is_member_pointer,T,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(typename T,typename U,is_member_pointer,U T::*,true)
 
-#elif !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_member_pointer,T,::ndnboost::is_member_function_pointer<T>::value)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(typename T,typename U,is_member_pointer,U T::*,true)
+#elif !defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+NDNBOOST_TT_AUX_BOOL_TRAIT_DEF1(is_member_pointer,T,::ndnboost::is_member_function_pointer<T>::value)
+NDNBOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(typename T,typename U,is_member_pointer,U T::*,true)
 
-#if !BOOST_WORKAROUND(__MWERKS__,<=0x3003) && !BOOST_WORKAROUND(__IBMCPP__, <=600)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(typename T,typename U,is_member_pointer,U T::*const,true)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(typename T,typename U,is_member_pointer,U T::*volatile,true)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(typename T,typename U,is_member_pointer,U T::*const volatile,true)
+#if !NDNBOOST_WORKAROUND(__MWERKS__,<=0x3003) && !NDNBOOST_WORKAROUND(__IBMCPP__, <=600)
+NDNBOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(typename T,typename U,is_member_pointer,U T::*const,true)
+NDNBOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(typename T,typename U,is_member_pointer,U T::*volatile,true)
+NDNBOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(typename T,typename U,is_member_pointer,U T::*const volatile,true)
 #endif
 
 #else // no partial template specialization
@@ -61,8 +61,8 @@
 namespace detail {
 
 template <typename R, typename T>
-::ndnboost::type_traits::yes_type BOOST_TT_DECL is_member_pointer_tester(R T::*const volatile*);
-::ndnboost::type_traits::no_type BOOST_TT_DECL is_member_pointer_tester(...);
+::ndnboost::type_traits::yes_type NDNBOOST_TT_DECL is_member_pointer_tester(R T::*const volatile*);
+::ndnboost::type_traits::no_type NDNBOOST_TT_DECL is_member_pointer_tester(...);
 
 template <bool>
 struct is_member_pointer_select
@@ -76,7 +76,7 @@
     template <typename T> struct result_
     {
         static T* make_t();
-        BOOST_STATIC_CONSTANT(
+        NDNBOOST_STATIC_CONSTANT(
             bool, value =
             (::ndnboost::type_traits::ice_or<
                 (1 == sizeof(::ndnboost::type_traits::is_mem_fun_pointer_tester(make_t()))),
@@ -96,16 +96,16 @@
 {
 };
 
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_member_pointer,void,false)
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_member_pointer,void const,false)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_member_pointer,void volatile,false)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_member_pointer,void const volatile,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_member_pointer,void,false)
+#ifndef NDNBOOST_NO_CV_VOID_SPECIALIZATIONS
+NDNBOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_member_pointer,void const,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_member_pointer,void volatile,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_member_pointer,void const volatile,false)
 #endif
 
 } // namespace detail
 
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_member_pointer,T,::ndnboost::detail::is_member_pointer_impl<T>::value)
+NDNBOOST_TT_AUX_BOOL_TRAIT_DEF1(is_member_pointer,T,::ndnboost::detail::is_member_pointer_impl<T>::value)
 
 #endif // __BORLANDC__
 
@@ -113,4 +113,4 @@
 
 #include <ndnboost/type_traits/detail/bool_trait_undef.hpp>
 
-#endif // BOOST_TT_IS_MEMBER_POINTER_HPP_INCLUDED
+#endif // NDNBOOST_TT_IS_MEMBER_POINTER_HPP_INCLUDED
diff --git a/include/ndnboost/type_traits/is_nothrow_move_assignable.hpp b/include/ndnboost/type_traits/is_nothrow_move_assignable.hpp
index 889598b..25864ac 100644
--- a/include/ndnboost/type_traits/is_nothrow_move_assignable.hpp
+++ b/include/ndnboost/type_traits/is_nothrow_move_assignable.hpp
@@ -8,8 +8,8 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#ifndef BOOST_TT_IS_NOTHROW_MOVE_ASSIGNABLE_HPP_INCLUDED
-#define BOOST_TT_IS_NOTHROW_MOVE_ASSIGNABLE_HPP_INCLUDED
+#ifndef NDNBOOST_TT_IS_NOTHROW_MOVE_ASSIGNABLE_HPP_INCLUDED
+#define NDNBOOST_TT_IS_NOTHROW_MOVE_ASSIGNABLE_HPP_INCLUDED
 
 #include <ndnboost/config.hpp>
 #include <ndnboost/type_traits/has_trivial_move_assign.hpp>
@@ -29,7 +29,7 @@
 
 namespace detail{
 
-#ifndef BOOST_NO_CXX11_NOEXCEPT
+#ifndef NDNBOOST_NO_CXX11_NOEXCEPT
 
 template <class T, class Enable = void>
 struct false_or_cpp11_noexcept_move_assignable: public ::ndnboost::false_type {};
@@ -37,13 +37,13 @@
 template <class T>
 struct false_or_cpp11_noexcept_move_assignable <
         T,
-        typename ::ndnboost::enable_if_c<sizeof(T) && BOOST_NOEXCEPT_EXPR(::ndnboost::declval<T&>() = ::ndnboost::declval<T>())>::type
-    > : public ::ndnboost::integral_constant<bool, BOOST_NOEXCEPT_EXPR(::ndnboost::declval<T&>() = ::ndnboost::declval<T>())>
+        typename ::ndnboost::enable_if_c<sizeof(T) && NDNBOOST_NOEXCEPT_EXPR(::ndnboost::declval<T&>() = ::ndnboost::declval<T>())>::type
+    > : public ::ndnboost::integral_constant<bool, NDNBOOST_NOEXCEPT_EXPR(::ndnboost::declval<T&>() = ::ndnboost::declval<T>())>
 {};
 
 template <class T>
 struct is_nothrow_move_assignable_imp{
-    BOOST_STATIC_CONSTANT(bool, value = (
+    NDNBOOST_STATIC_CONSTANT(bool, value = (
         ::ndnboost::type_traits::ice_and<
             ::ndnboost::type_traits::ice_not< ::ndnboost::is_volatile<T>::value >::value,
             ::ndnboost::type_traits::ice_not< ::ndnboost::is_reference<T>::value >::value,
@@ -55,7 +55,7 @@
 
 template <class T>
 struct is_nothrow_move_assignable_imp{
-    BOOST_STATIC_CONSTANT(bool, value = (
+    NDNBOOST_STATIC_CONSTANT(bool, value = (
         ::ndnboost::type_traits::ice_and<
             ::ndnboost::type_traits::ice_or<
                 ::ndnboost::has_trivial_move_assign<T>::value,
@@ -69,16 +69,16 @@
 
 }
 
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_nothrow_move_assignable,T,::ndnboost::detail::is_nothrow_move_assignable_imp<T>::value)
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(is_nothrow_move_assignable,void,false)
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(is_nothrow_move_assignable,void const,false)
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(is_nothrow_move_assignable,void const volatile,false)
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(is_nothrow_move_assignable,void volatile,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_DEF1(is_nothrow_move_assignable,T,::ndnboost::detail::is_nothrow_move_assignable_imp<T>::value)
+NDNBOOST_TT_AUX_BOOL_TRAIT_SPEC1(is_nothrow_move_assignable,void,false)
+#ifndef NDNBOOST_NO_CV_VOID_SPECIALIZATIONS
+NDNBOOST_TT_AUX_BOOL_TRAIT_SPEC1(is_nothrow_move_assignable,void const,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_SPEC1(is_nothrow_move_assignable,void const volatile,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_SPEC1(is_nothrow_move_assignable,void volatile,false)
 #endif
 
 } // namespace ndnboost
 
 #include <ndnboost/type_traits/detail/bool_trait_undef.hpp>
 
-#endif // BOOST_TT_IS_NOTHROW_MOVE_ASSIGNABLE_HPP_INCLUDED
+#endif // NDNBOOST_TT_IS_NOTHROW_MOVE_ASSIGNABLE_HPP_INCLUDED
diff --git a/include/ndnboost/type_traits/is_nothrow_move_constructible.hpp b/include/ndnboost/type_traits/is_nothrow_move_constructible.hpp
index 3bbc889..8891135 100644
--- a/include/ndnboost/type_traits/is_nothrow_move_constructible.hpp
+++ b/include/ndnboost/type_traits/is_nothrow_move_constructible.hpp
@@ -8,8 +8,8 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#ifndef BOOST_TT_IS_NOTHROW_MOVE_CONSTRUCTIBLE_HPP_INCLUDED
-#define BOOST_TT_IS_NOTHROW_MOVE_CONSTRUCTIBLE_HPP_INCLUDED
+#ifndef NDNBOOST_TT_IS_NOTHROW_MOVE_CONSTRUCTIBLE_HPP_INCLUDED
+#define NDNBOOST_TT_IS_NOTHROW_MOVE_CONSTRUCTIBLE_HPP_INCLUDED
 
 #include <ndnboost/config.hpp>
 #include <ndnboost/type_traits/has_trivial_move_constructor.hpp>
@@ -28,7 +28,7 @@
 
 namespace detail{
 
-#ifndef BOOST_NO_CXX11_NOEXCEPT
+#ifndef NDNBOOST_NO_CXX11_NOEXCEPT
 
 template <class T, class Enable = void>
 struct false_or_cpp11_noexcept_move_constructible: public ::ndnboost::false_type {};
@@ -36,13 +36,13 @@
 template <class T>
 struct false_or_cpp11_noexcept_move_constructible <
         T,
-        typename ::ndnboost::enable_if_c<sizeof(T) && BOOST_NOEXCEPT_EXPR(T(::ndnboost::declval<T>()))>::type
-    > : public ::ndnboost::integral_constant<bool, BOOST_NOEXCEPT_EXPR(T(::ndnboost::declval<T>()))>
+        typename ::ndnboost::enable_if_c<sizeof(T) && NDNBOOST_NOEXCEPT_EXPR(T(::ndnboost::declval<T>()))>::type
+    > : public ::ndnboost::integral_constant<bool, NDNBOOST_NOEXCEPT_EXPR(T(::ndnboost::declval<T>()))>
 {};
 
 template <class T>
 struct is_nothrow_move_constructible_imp{
-   BOOST_STATIC_CONSTANT(bool, value = 
+   NDNBOOST_STATIC_CONSTANT(bool, value = 
         (::ndnboost::type_traits::ice_and<
             ::ndnboost::type_traits::ice_not< ::ndnboost::is_volatile<T>::value >::value,
             ::ndnboost::type_traits::ice_not< ::ndnboost::is_reference<T>::value >::value,
@@ -54,7 +54,7 @@
 
 template <class T>
 struct is_nothrow_move_constructible_imp{
-    BOOST_STATIC_CONSTANT(bool, value =(
+    NDNBOOST_STATIC_CONSTANT(bool, value =(
         ::ndnboost::type_traits::ice_and<
             ::ndnboost::type_traits::ice_or<
                 ::ndnboost::has_trivial_move_constructor<T>::value,
@@ -68,17 +68,17 @@
 
 }
 
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_nothrow_move_constructible,T,::ndnboost::detail::is_nothrow_move_constructible_imp<T>::value)
+NDNBOOST_TT_AUX_BOOL_TRAIT_DEF1(is_nothrow_move_constructible,T,::ndnboost::detail::is_nothrow_move_constructible_imp<T>::value)
 
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(is_nothrow_move_constructible,void,false)
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(is_nothrow_move_constructible,void const,false)
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(is_nothrow_move_constructible,void const volatile,false)
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(is_nothrow_move_constructible,void volatile,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_SPEC1(is_nothrow_move_constructible,void,false)
+#ifndef NDNBOOST_NO_CV_VOID_SPECIALIZATIONS
+NDNBOOST_TT_AUX_BOOL_TRAIT_SPEC1(is_nothrow_move_constructible,void const,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_SPEC1(is_nothrow_move_constructible,void const volatile,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_SPEC1(is_nothrow_move_constructible,void volatile,false)
 #endif
 
 } // namespace ndnboost
 
 #include <ndnboost/type_traits/detail/bool_trait_undef.hpp>
 
-#endif // BOOST_TT_IS_NOTHROW_MOVE_CONSTRUCTIBLE_HPP_INCLUDED
+#endif // NDNBOOST_TT_IS_NOTHROW_MOVE_CONSTRUCTIBLE_HPP_INCLUDED
diff --git a/include/ndnboost/type_traits/is_object.hpp b/include/ndnboost/type_traits/is_object.hpp
index ea18e32..206eb9a 100644
--- a/include/ndnboost/type_traits/is_object.hpp
+++ b/include/ndnboost/type_traits/is_object.hpp
@@ -6,8 +6,8 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#ifndef BOOST_TT_IS_OBJECT_HPP_INCLUDED
-#define BOOST_TT_IS_OBJECT_HPP_INCLUDED
+#ifndef NDNBOOST_TT_IS_OBJECT_HPP_INCLUDED
+#define NDNBOOST_TT_IS_OBJECT_HPP_INCLUDED
 
 #include <ndnboost/type_traits/is_reference.hpp>
 #include <ndnboost/type_traits/is_void.hpp>
@@ -26,15 +26,15 @@
 template <typename T>
 struct is_object_impl
 {
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-   BOOST_STATIC_CONSTANT(bool, value =
+#ifndef NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+   NDNBOOST_STATIC_CONSTANT(bool, value =
       (::ndnboost::type_traits::ice_and<
          ::ndnboost::type_traits::ice_not< ::ndnboost::is_reference<T>::value>::value,
          ::ndnboost::type_traits::ice_not< ::ndnboost::is_void<T>::value>::value,
          ::ndnboost::type_traits::ice_not< ::ndnboost::is_function<T>::value>::value
       >::value));
 #else
-   BOOST_STATIC_CONSTANT(bool, value =
+   NDNBOOST_STATIC_CONSTANT(bool, value =
       (::ndnboost::type_traits::ice_and<
          ::ndnboost::type_traits::ice_not< ::ndnboost::is_reference<T>::value>::value,
          ::ndnboost::type_traits::ice_not< ::ndnboost::is_void<T>::value>::value
@@ -44,10 +44,10 @@
 
 } // namespace detail
 
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_object,T,::ndnboost::detail::is_object_impl<T>::value)
+NDNBOOST_TT_AUX_BOOL_TRAIT_DEF1(is_object,T,::ndnboost::detail::is_object_impl<T>::value)
 
 } // namespace ndnboost
 
 #include <ndnboost/type_traits/detail/bool_trait_undef.hpp>
 
-#endif // BOOST_TT_IS_OBJECT_HPP_INCLUDED
+#endif // NDNBOOST_TT_IS_OBJECT_HPP_INCLUDED
diff --git a/include/ndnboost/type_traits/is_pod.hpp b/include/ndnboost/type_traits/is_pod.hpp
index 2d462cd..390761a 100644
--- a/include/ndnboost/type_traits/is_pod.hpp
+++ b/include/ndnboost/type_traits/is_pod.hpp
@@ -6,8 +6,8 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#ifndef BOOST_TT_IS_POD_HPP_INCLUDED
-#define BOOST_TT_IS_POD_HPP_INCLUDED
+#ifndef NDNBOOST_TT_IS_POD_HPP_INCLUDED
+#define NDNBOOST_TT_IS_POD_HPP_INCLUDED
 
 #include <ndnboost/type_traits/config.hpp>
 #include <ndnboost/type_traits/is_void.hpp>
@@ -20,10 +20,10 @@
 // should be the last #include
 #include <ndnboost/type_traits/detail/bool_trait_def.hpp>
 
-#ifndef BOOST_IS_POD
-#define BOOST_INTERNAL_IS_POD(T) false
+#ifndef NDNBOOST_IS_POD
+#define NDNBOOST_INTERNAL_IS_POD(T) false
 #else
-#define BOOST_INTERNAL_IS_POD(T) BOOST_IS_POD(T)
+#define NDNBOOST_INTERNAL_IS_POD(T) NDNBOOST_IS_POD(T)
 #endif
 
 namespace ndnboost {
@@ -33,20 +33,20 @@
 
 namespace detail {
 
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#ifndef NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 
 template <typename T> struct is_pod_impl
 { 
-    BOOST_STATIC_CONSTANT(
+    NDNBOOST_STATIC_CONSTANT(
         bool, value =
         (::ndnboost::type_traits::ice_or<
             ::ndnboost::is_scalar<T>::value,
             ::ndnboost::is_void<T>::value,
-            BOOST_INTERNAL_IS_POD(T)
+            NDNBOOST_INTERNAL_IS_POD(T)
          >::value));
 };
 
-#if !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)
+#if !defined(NDNBOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)
 template <typename T, std::size_t sz>
 struct is_pod_impl<T[sz]>
     : public is_pod_impl<T>
@@ -61,12 +61,12 @@
 {
     template <typename T> struct result_
     {
-        BOOST_STATIC_CONSTANT(
+        NDNBOOST_STATIC_CONSTANT(
             bool, value =
             (::ndnboost::type_traits::ice_or<
                 ::ndnboost::is_scalar<T>::value,
                 ::ndnboost::is_void<T>::value,
-                BOOST_INTERNAL_IS_POD(T)
+                NDNBOOST_INTERNAL_IS_POD(T)
             >::value));
     };
 };
@@ -100,7 +100,7 @@
     template <typename T> struct result_
     {
         static T& help();
-        BOOST_STATIC_CONSTANT(bool, value =
+        NDNBOOST_STATIC_CONSTANT(bool, value =
             sizeof(is_POD_array(help()).instance()) == sizeof(::ndnboost::type_traits::yes_type)
             );
     };
@@ -109,7 +109,7 @@
 
 template <typename T> struct is_pod_impl
 { 
-   BOOST_STATIC_CONSTANT(
+   NDNBOOST_STATIC_CONSTANT(
        bool, value = (
            ::ndnboost::detail::is_pod_helper<
               ::ndnboost::is_array<T>::value
@@ -118,28 +118,28 @@
        );
 };
 
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#endif // NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 
 // the following help compilers without partial specialization support:
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,void,true)
+NDNBOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,void,true)
 
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,void const,true)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,void volatile,true)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,void const volatile,true)
+#ifndef NDNBOOST_NO_CV_VOID_SPECIALIZATIONS
+NDNBOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,void const,true)
+NDNBOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,void volatile,true)
+NDNBOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,void const volatile,true)
 #endif
 
 } // namespace detail
 
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_pod,T,::ndnboost::detail::is_pod_impl<T>::value)
+NDNBOOST_TT_AUX_BOOL_TRAIT_DEF1(is_pod,T,::ndnboost::detail::is_pod_impl<T>::value)
 // is_POD is the old depricated name for this trait, do not use this as it may
 // be removed in future without warning!!
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_POD,T,::ndnboost::is_pod<T>::value)
+NDNBOOST_TT_AUX_BOOL_TRAIT_DEF1(is_POD,T,::ndnboost::is_pod<T>::value)
 
 } // namespace ndnboost
 
 #include <ndnboost/type_traits/detail/bool_trait_undef.hpp>
 
-#undef BOOST_INTERNAL_IS_POD
+#undef NDNBOOST_INTERNAL_IS_POD
 
-#endif // BOOST_TT_IS_POD_HPP_INCLUDED
+#endif // NDNBOOST_TT_IS_POD_HPP_INCLUDED
diff --git a/include/ndnboost/type_traits/is_pointer.hpp b/include/ndnboost/type_traits/is_pointer.hpp
index 0f3f87e..812d36d 100644
--- a/include/ndnboost/type_traits/is_pointer.hpp
+++ b/include/ndnboost/type_traits/is_pointer.hpp
@@ -18,18 +18,18 @@
 //    by Andrei Alexandrescu (see http://www.cuj.com/experts/1810/alexandr.html).
 
 
-#ifndef BOOST_TT_IS_POINTER_HPP_INCLUDED
-#define BOOST_TT_IS_POINTER_HPP_INCLUDED
+#ifndef NDNBOOST_TT_IS_POINTER_HPP_INCLUDED
+#define NDNBOOST_TT_IS_POINTER_HPP_INCLUDED
 
 #include <ndnboost/type_traits/is_member_pointer.hpp>
 #include <ndnboost/type_traits/detail/ice_and.hpp>
 #include <ndnboost/type_traits/detail/ice_not.hpp>
 #include <ndnboost/type_traits/config.hpp>
-#if !BOOST_WORKAROUND(BOOST_MSVC,<=1300)
+#if !NDNBOOST_WORKAROUND(NDNBOOST_MSVC,<=1300)
 #include <ndnboost/type_traits/remove_cv.hpp>
 #endif
 
-#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#ifdef NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 #   include <ndnboost/type_traits/is_reference.hpp>
 #   include <ndnboost/type_traits/is_array.hpp>
 #   include <ndnboost/type_traits/detail/is_function_ptr_tester.hpp>
@@ -43,20 +43,20 @@
 namespace ndnboost {
 
 #if defined( __CODEGEARC__ )
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_pointer,T,__is_pointer(T))
-#elif !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+NDNBOOST_TT_AUX_BOOL_TRAIT_DEF1(is_pointer,T,__is_pointer(T))
+#elif !defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
 
 namespace detail {
 
 template< typename T > struct is_pointer_helper
 {
-    BOOST_STATIC_CONSTANT(bool, value = false);
+    NDNBOOST_STATIC_CONSTANT(bool, value = false);
 };
 
 #   define TT_AUX_BOOL_TRAIT_HELPER_PARTIAL_SPEC(helper,sp,result) \
 template< typename T > struct helper<sp> \
 { \
-    BOOST_STATIC_CONSTANT(bool, value = result); \
+    NDNBOOST_STATIC_CONSTANT(bool, value = result); \
 }; \
 /**/
 
@@ -67,8 +67,8 @@
 template< typename T >
 struct is_pointer_impl
 {
-#if BOOST_WORKAROUND(BOOST_MSVC,<=1300)
-    BOOST_STATIC_CONSTANT(bool, value =
+#if NDNBOOST_WORKAROUND(NDNBOOST_MSVC,<=1300)
+    NDNBOOST_STATIC_CONSTANT(bool, value =
         (::ndnboost::type_traits::ice_and<
               ::ndnboost::detail::is_pointer_helper<T>::value
             , ::ndnboost::type_traits::ice_not<
@@ -77,7 +77,7 @@
             >::value)
         );
 #else
-    BOOST_STATIC_CONSTANT(bool, value =
+    NDNBOOST_STATIC_CONSTANT(bool, value =
         (::ndnboost::type_traits::ice_and<
         ::ndnboost::detail::is_pointer_helper<typename remove_cv<T>::type>::value
             , ::ndnboost::type_traits::ice_not<
@@ -90,13 +90,13 @@
 
 } // namespace detail
 
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_pointer,T,::ndnboost::detail::is_pointer_impl<T>::value)
+NDNBOOST_TT_AUX_BOOL_TRAIT_DEF1(is_pointer,T,::ndnboost::detail::is_pointer_impl<T>::value)
 
 #if defined(__BORLANDC__) && !defined(__COMO__) && (__BORLANDC__ < 0x600)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_pointer,T&,false)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_pointer,T& const,false)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_pointer,T& volatile,false)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_pointer,T& const volatile,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_pointer,T&,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_pointer,T& const,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_pointer,T& volatile,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_pointer,T& const volatile,false)
 #endif
 
 #else // no partial template specialization
@@ -108,8 +108,8 @@
     pointer_helper(const volatile void*);
 };
 
-yes_type BOOST_TT_DECL is_pointer_tester(pointer_helper);
-no_type BOOST_TT_DECL is_pointer_tester(...);
+yes_type NDNBOOST_TT_DECL is_pointer_tester(pointer_helper);
+no_type NDNBOOST_TT_DECL is_pointer_tester(...);
 
 template <bool>
 struct is_pointer_select
@@ -123,7 +123,7 @@
     template <typename T> struct result_
     {
         static T& make_t();
-        BOOST_STATIC_CONSTANT(bool, value =
+        NDNBOOST_STATIC_CONSTANT(bool, value =
                 (::ndnboost::type_traits::ice_or<
                     (1 == sizeof(is_pointer_tester(make_t()))),
                     (1 == sizeof(type_traits::is_function_ptr_tester(make_t())))
@@ -142,21 +142,21 @@
 {
 };
 
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pointer,void,false)
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pointer,void const,false)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pointer,void volatile,false)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pointer,void const volatile,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pointer,void,false)
+#ifndef NDNBOOST_NO_CV_VOID_SPECIALIZATIONS
+NDNBOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pointer,void const,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pointer,void volatile,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pointer,void const volatile,false)
 #endif
 
 } // namespace detail
 
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_pointer,T,::ndnboost::detail::is_pointer_impl<T>::value)
+NDNBOOST_TT_AUX_BOOL_TRAIT_DEF1(is_pointer,T,::ndnboost::detail::is_pointer_impl<T>::value)
 
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#endif // NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 
 } // namespace ndnboost
 
 #include <ndnboost/type_traits/detail/bool_trait_undef.hpp>
 
-#endif // BOOST_TT_IS_POINTER_HPP_INCLUDED
+#endif // NDNBOOST_TT_IS_POINTER_HPP_INCLUDED
diff --git a/include/ndnboost/type_traits/is_polymorphic.hpp b/include/ndnboost/type_traits/is_polymorphic.hpp
index f49cd12..76b6615 100644
--- a/include/ndnboost/type_traits/is_polymorphic.hpp
+++ b/include/ndnboost/type_traits/is_polymorphic.hpp
@@ -5,11 +5,11 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#ifndef BOOST_TT_IS_POLYMORPHIC_HPP
-#define BOOST_TT_IS_POLYMORPHIC_HPP
+#ifndef NDNBOOST_TT_IS_POLYMORPHIC_HPP
+#define NDNBOOST_TT_IS_POLYMORPHIC_HPP
 
 #include <ndnboost/type_traits/intrinsics.hpp>
-#ifndef BOOST_IS_POLYMORPHIC
+#ifndef NDNBOOST_IS_POLYMORPHIC
 #include <ndnboost/type_traits/is_class.hpp>
 #include <ndnboost/type_traits/remove_cv.hpp>
 #endif
@@ -19,14 +19,14 @@
 
 namespace ndnboost{
 
-#ifndef BOOST_IS_POLYMORPHIC
+#ifndef NDNBOOST_IS_POLYMORPHIC
 
 namespace detail{
 
 template <class T>
 struct is_polymorphic_imp1
 {
-# if BOOST_WORKAROUND(__MWERKS__, <= 0x2407) // CWPro7 should return false always.
+# if NDNBOOST_WORKAROUND(__MWERKS__, <= 0x2407) // CWPro7 should return false always.
     typedef char d1, (&d2)[2];
 # else 
    typedef typename remove_cv<T>::type ncvT;
@@ -46,7 +46,7 @@
    {
       d2();
       virtual ~d2()throw();
-#  if !defined(BOOST_MSVC) && !defined(__ICL)
+#  if !defined(NDNBOOST_MSVC) && !defined(__ICL)
       // for some reason this messes up VC++ when T has virtual bases,
       // probably likewise for compilers that use the same ABI:
       struct unique{};
@@ -59,13 +59,13 @@
       d2& operator=(const d2&);
    };
 # endif 
-   BOOST_STATIC_CONSTANT(bool, value = (sizeof(d2) == sizeof(d1)));
+   NDNBOOST_STATIC_CONSTANT(bool, value = (sizeof(d2) == sizeof(d1)));
 };
 
 template <class T>
 struct is_polymorphic_imp2
 {
-   BOOST_STATIC_CONSTANT(bool, value = false);
+   NDNBOOST_STATIC_CONSTANT(bool, value = false);
 };
 
 template <bool is_class>
@@ -94,16 +94,16 @@
    typedef is_polymorphic_selector< ::ndnboost::is_class<T>::value> selector;
    typedef typename selector::template rebind<T> binder;
    typedef typename binder::type imp_type;
-   BOOST_STATIC_CONSTANT(bool, value = imp_type::value);
+   NDNBOOST_STATIC_CONSTANT(bool, value = imp_type::value);
 };
 
 } // namespace detail
 
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_polymorphic,T,::ndnboost::detail::is_polymorphic_imp<T>::value)
+NDNBOOST_TT_AUX_BOOL_TRAIT_DEF1(is_polymorphic,T,::ndnboost::detail::is_polymorphic_imp<T>::value)
 
-#else // BOOST_IS_POLYMORPHIC
+#else // NDNBOOST_IS_POLYMORPHIC
 
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_polymorphic,T,BOOST_IS_POLYMORPHIC(T))
+NDNBOOST_TT_AUX_BOOL_TRAIT_DEF1(is_polymorphic,T,NDNBOOST_IS_POLYMORPHIC(T))
 
 #endif
 
diff --git a/include/ndnboost/type_traits/is_reference.hpp b/include/ndnboost/type_traits/is_reference.hpp
index 72ff28d..39d6c4f 100644
--- a/include/ndnboost/type_traits/is_reference.hpp
+++ b/include/ndnboost/type_traits/is_reference.hpp
@@ -9,8 +9,8 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#ifndef BOOST_TT_IS_REFERENCE_HPP_INCLUDED
-#define BOOST_TT_IS_REFERENCE_HPP_INCLUDED
+#ifndef NDNBOOST_TT_IS_REFERENCE_HPP_INCLUDED
+#define NDNBOOST_TT_IS_REFERENCE_HPP_INCLUDED
 
 #include <ndnboost/type_traits/config.hpp>
 #include <ndnboost/type_traits/is_lvalue_reference.hpp>
@@ -27,7 +27,7 @@
 template <typename T>
 struct is_reference_impl
 {
-   BOOST_STATIC_CONSTANT(bool, value =
+   NDNBOOST_STATIC_CONSTANT(bool, value =
       (::ndnboost::type_traits::ice_or<
          ::ndnboost::is_lvalue_reference<T>::value, ::ndnboost::is_rvalue_reference<T>::value
        >::value));
@@ -35,11 +35,11 @@
 
 } // namespace detail
 
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_reference,T,::ndnboost::detail::is_reference_impl<T>::value)
+NDNBOOST_TT_AUX_BOOL_TRAIT_DEF1(is_reference,T,::ndnboost::detail::is_reference_impl<T>::value)
 
 } // namespace ndnboost
 
 #include <ndnboost/type_traits/detail/bool_trait_undef.hpp>
 
-#endif // BOOST_TT_IS_REFERENCE_HPP_INCLUDED
+#endif // NDNBOOST_TT_IS_REFERENCE_HPP_INCLUDED
 
diff --git a/include/ndnboost/type_traits/is_rvalue_reference.hpp b/include/ndnboost/type_traits/is_rvalue_reference.hpp
index 78aa8d6..7cfe142 100644
--- a/include/ndnboost/type_traits/is_rvalue_reference.hpp
+++ b/include/ndnboost/type_traits/is_rvalue_reference.hpp
@@ -6,8 +6,8 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#ifndef BOOST_TT_IS_RVALUE_REFERENCE_HPP_INCLUDED
-#define BOOST_TT_IS_RVALUE_REFERENCE_HPP_INCLUDED
+#ifndef NDNBOOST_TT_IS_RVALUE_REFERENCE_HPP_INCLUDED
+#define NDNBOOST_TT_IS_RVALUE_REFERENCE_HPP_INCLUDED
 
 #include <ndnboost/type_traits/config.hpp>
 
@@ -16,14 +16,14 @@
 
 namespace ndnboost {
 
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_rvalue_reference,T,false)
-#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_rvalue_reference,T&&,true)
+NDNBOOST_TT_AUX_BOOL_TRAIT_DEF1(is_rvalue_reference,T,false)
+#ifndef NDNBOOST_NO_CXX11_RVALUE_REFERENCES
+NDNBOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_rvalue_reference,T&&,true)
 #endif
 
 } // namespace ndnboost
 
 #include <ndnboost/type_traits/detail/bool_trait_undef.hpp>
 
-#endif // BOOST_TT_IS_REFERENCE_HPP_INCLUDED
+#endif // NDNBOOST_TT_IS_REFERENCE_HPP_INCLUDED
 
diff --git a/include/ndnboost/type_traits/is_same.hpp b/include/ndnboost/type_traits/is_same.hpp
index 58a03c4..d00bd2f 100644
--- a/include/ndnboost/type_traits/is_same.hpp
+++ b/include/ndnboost/type_traits/is_same.hpp
@@ -18,11 +18,11 @@
 //    by Andrei Alexandrescu (see http://www.cuj.com/experts/1810/alexandr.html).
 
 
-#ifndef BOOST_TT_IS_SAME_HPP_INCLUDED
-#define BOOST_TT_IS_SAME_HPP_INCLUDED
+#ifndef NDNBOOST_TT_IS_SAME_HPP_INCLUDED
+#define NDNBOOST_TT_IS_SAME_HPP_INCLUDED
 
 #include <ndnboost/type_traits/config.hpp>
-#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#ifdef NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 #include <ndnboost/type_traits/detail/yes_no_type.hpp>
 #include <ndnboost/type_traits/detail/ice_and.hpp>
 #include <ndnboost/type_traits/is_reference.hpp>
@@ -32,21 +32,21 @@
 
 namespace ndnboost {
 
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#ifndef NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 
-BOOST_TT_AUX_BOOL_TRAIT_DEF2(is_same,T,U,false)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1(typename T,is_same,T,T,true)
-#if BOOST_WORKAROUND(__BORLANDC__, < 0x600)
+NDNBOOST_TT_AUX_BOOL_TRAIT_DEF2(is_same,T,U,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1(typename T,is_same,T,T,true)
+#if NDNBOOST_WORKAROUND(__BORLANDC__, < 0x600)
 // without this, Borland's compiler gives the wrong answer for
 // references to arrays:
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1(typename T,is_same,T&,T&,true)
+NDNBOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1(typename T,is_same,T&,T&,true)
 #endif
 
-#else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#else // NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 
 namespace detail {
 
-#ifdef BOOST_MSVC
+#ifdef NDNBOOST_MSVC
 // the following VC6 specific implementation is *NOT* legal
 // C++, but has the advantage that it works for incomplete
 // types.
@@ -68,10 +68,10 @@
 
 template <typename T>
 ::ndnboost::type_traits::yes_type
-BOOST_TT_DECL is_same_tester(T*, T*);
+NDNBOOST_TT_DECL is_same_tester(T*, T*);
 
 ::ndnboost::type_traits::no_type
-BOOST_TT_DECL is_same_tester(...);
+NDNBOOST_TT_DECL is_same_tester(...);
 
 template <typename T, typename U>
 struct is_same_impl
@@ -79,7 +79,7 @@
    static T t;
    static U u;
 
-   BOOST_STATIC_CONSTANT(bool, value =
+   NDNBOOST_STATIC_CONSTANT(bool, value =
       (::ndnboost::type_traits::ice_and<
          (sizeof(type_traits::yes_type) == sizeof(ndnboost::detail::is_same_tester(&t,&u))),
          (::ndnboost::is_reference<T>::value == ::ndnboost::is_reference<U>::value),
@@ -87,17 +87,17 @@
         >::value));
 };
 
-#endif // BOOST_MSVC
+#endif // NDNBOOST_MSVC
 
 } // namespace detail
 
-BOOST_TT_AUX_BOOL_TRAIT_DEF2(is_same,T,U,(::ndnboost::detail::is_same_impl<T,U>::value))
+NDNBOOST_TT_AUX_BOOL_TRAIT_DEF2(is_same,T,U,(::ndnboost::detail::is_same_impl<T,U>::value))
 
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#endif // NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 
 } // namespace ndnboost
 
 #include <ndnboost/type_traits/detail/bool_trait_undef.hpp>
 
-#endif  // BOOST_TT_IS_SAME_HPP_INCLUDED
+#endif  // NDNBOOST_TT_IS_SAME_HPP_INCLUDED
 
diff --git a/include/ndnboost/type_traits/is_scalar.hpp b/include/ndnboost/type_traits/is_scalar.hpp
index 358d3d5..e4e208e 100644
--- a/include/ndnboost/type_traits/is_scalar.hpp
+++ b/include/ndnboost/type_traits/is_scalar.hpp
@@ -6,8 +6,8 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#ifndef BOOST_TT_IS_SCALAR_HPP_INCLUDED
-#define BOOST_TT_IS_SCALAR_HPP_INCLUDED
+#ifndef NDNBOOST_TT_IS_SCALAR_HPP_INCLUDED
+#define NDNBOOST_TT_IS_SCALAR_HPP_INCLUDED
 
 #include <ndnboost/type_traits/is_arithmetic.hpp>
 #include <ndnboost/type_traits/is_enum.hpp>
@@ -26,7 +26,7 @@
 template <typename T>
 struct is_scalar_impl
 { 
-   BOOST_STATIC_CONSTANT(bool, value =
+   NDNBOOST_STATIC_CONSTANT(bool, value =
       (::ndnboost::type_traits::ice_or<
          ::ndnboost::is_arithmetic<T>::value,
          ::ndnboost::is_enum<T>::value,
@@ -37,19 +37,19 @@
 
 // these specializations are only really needed for compilers 
 // without partial specialization support:
-template <> struct is_scalar_impl<void>{ BOOST_STATIC_CONSTANT(bool, value = false ); };
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-template <> struct is_scalar_impl<void const>{ BOOST_STATIC_CONSTANT(bool, value = false ); };
-template <> struct is_scalar_impl<void volatile>{ BOOST_STATIC_CONSTANT(bool, value = false ); };
-template <> struct is_scalar_impl<void const volatile>{ BOOST_STATIC_CONSTANT(bool, value = false ); };
+template <> struct is_scalar_impl<void>{ NDNBOOST_STATIC_CONSTANT(bool, value = false ); };
+#ifndef NDNBOOST_NO_CV_VOID_SPECIALIZATIONS
+template <> struct is_scalar_impl<void const>{ NDNBOOST_STATIC_CONSTANT(bool, value = false ); };
+template <> struct is_scalar_impl<void volatile>{ NDNBOOST_STATIC_CONSTANT(bool, value = false ); };
+template <> struct is_scalar_impl<void const volatile>{ NDNBOOST_STATIC_CONSTANT(bool, value = false ); };
 #endif
 
 } // namespace detail
 
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_scalar,T,::ndnboost::detail::is_scalar_impl<T>::value)
+NDNBOOST_TT_AUX_BOOL_TRAIT_DEF1(is_scalar,T,::ndnboost::detail::is_scalar_impl<T>::value)
 
 } // namespace ndnboost
 
 #include <ndnboost/type_traits/detail/bool_trait_undef.hpp>
 
-#endif // BOOST_TT_IS_SCALAR_HPP_INCLUDED
+#endif // NDNBOOST_TT_IS_SCALAR_HPP_INCLUDED
diff --git a/include/ndnboost/type_traits/is_signed.hpp b/include/ndnboost/type_traits/is_signed.hpp
index 1697dee..440c6e0 100644
--- a/include/ndnboost/type_traits/is_signed.hpp
+++ b/include/ndnboost/type_traits/is_signed.hpp
@@ -7,8 +7,8 @@
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
 
-#ifndef BOOST_TT_IS_SIGNED_HPP_INCLUDED
-#define BOOST_TT_IS_SIGNED_HPP_INCLUDED
+#ifndef NDNBOOST_TT_IS_SIGNED_HPP_INCLUDED
+#define NDNBOOST_TT_IS_SIGNED_HPP_INCLUDED
 
 #include <ndnboost/type_traits/is_integral.hpp>
 #include <ndnboost/type_traits/remove_cv.hpp>
@@ -24,13 +24,13 @@
 
 namespace detail{
 
-#if !(defined(__EDG_VERSION__) && __EDG_VERSION__ <= 238) && !defined(BOOST_NO_INCLASS_MEMBER_INITIALIZATION)
+#if !(defined(__EDG_VERSION__) && __EDG_VERSION__ <= 238) && !defined(NDNBOOST_NO_INCLASS_MEMBER_INITIALIZATION)
 
 template <class T>
 struct is_signed_values
 {
    //
-   // Note that we cannot use BOOST_STATIC_CONSTANT here, using enum's
+   // Note that we cannot use NDNBOOST_STATIC_CONSTANT here, using enum's
    // rather than "real" static constants simply doesn't work or give
    // the correct answer.
    //
@@ -43,7 +43,7 @@
 struct is_signed_helper
 {
    typedef typename remove_cv<T>::type no_cv_t;
-   BOOST_STATIC_CONSTANT(bool, value = (!(::ndnboost::detail::is_signed_values<T>::minus_one  > ndnboost::detail::is_signed_values<T>::zero)));
+   NDNBOOST_STATIC_CONSTANT(bool, value = (!(::ndnboost::detail::is_signed_values<T>::minus_one  > ndnboost::detail::is_signed_values<T>::zero)));
 };
 
 template <bool integral_type>
@@ -76,10 +76,10 @@
    > selector;
    typedef typename selector::template rebind<T> binder;
    typedef typename binder::type type;
-#if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
-   BOOST_STATIC_CONSTANT(bool, value = is_signed_imp<T>::type::value);
+#if defined(NDNBOOST_MSVC) && (NDNBOOST_MSVC < 1300)
+   NDNBOOST_STATIC_CONSTANT(bool, value = is_signed_imp<T>::type::value);
 #else
-   BOOST_STATIC_CONSTANT(bool, value = type::value);
+   NDNBOOST_STATIC_CONSTANT(bool, value = type::value);
 #endif
 };
 
@@ -102,7 +102,7 @@
 template <> struct is_signed_imp<const long> : public true_type{};
 template <> struct is_signed_imp<volatile long> : public true_type{};
 template <> struct is_signed_imp<const volatile long> : public true_type{};
-#ifdef BOOST_HAS_LONG_LONG
+#ifdef NDNBOOST_HAS_LONG_LONG
 template <> struct is_signed_imp<long long> : public true_type{};
 template <> struct is_signed_imp<const long long> : public true_type{};
 template <> struct is_signed_imp<volatile long long> : public true_type{};
@@ -128,13 +128,13 @@
 #endif // !defined( __CODEGEARC__ )
 
 #if defined( __CODEGEARC__ )
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_signed,T,__is_signed(T))
+NDNBOOST_TT_AUX_BOOL_TRAIT_DEF1(is_signed,T,__is_signed(T))
 #else
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_signed,T,::ndnboost::detail::is_signed_imp<T>::value)
+NDNBOOST_TT_AUX_BOOL_TRAIT_DEF1(is_signed,T,::ndnboost::detail::is_signed_imp<T>::value)
 #endif
 
 } // namespace ndnboost
 
 #include <ndnboost/type_traits/detail/bool_trait_undef.hpp>
 
-#endif // BOOST_TT_IS_MEMBER_FUNCTION_POINTER_HPP_INCLUDED
+#endif // NDNBOOST_TT_IS_MEMBER_FUNCTION_POINTER_HPP_INCLUDED
diff --git a/include/ndnboost/type_traits/is_stateless.hpp b/include/ndnboost/type_traits/is_stateless.hpp
index a9b18dc..27968dc 100644
--- a/include/ndnboost/type_traits/is_stateless.hpp
+++ b/include/ndnboost/type_traits/is_stateless.hpp
@@ -6,8 +6,8 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#ifndef BOOST_TT_IS_STATELESS_HPP_INCLUDED
-#define BOOST_TT_IS_STATELESS_HPP_INCLUDED
+#ifndef NDNBOOST_TT_IS_STATELESS_HPP_INCLUDED
+#define NDNBOOST_TT_IS_STATELESS_HPP_INCLUDED
 
 #include <ndnboost/type_traits/has_trivial_constructor.hpp>
 #include <ndnboost/type_traits/has_trivial_copy.hpp>
@@ -27,7 +27,7 @@
 template <typename T>
 struct is_stateless_impl
 {
-  BOOST_STATIC_CONSTANT(bool, value = 
+  NDNBOOST_STATIC_CONSTANT(bool, value = 
     (::ndnboost::type_traits::ice_and<
        ::ndnboost::has_trivial_constructor<T>::value,
        ::ndnboost::has_trivial_copy<T>::value,
@@ -39,10 +39,10 @@
 
 } // namespace detail
 
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_stateless,T,::ndnboost::detail::is_stateless_impl<T>::value)
+NDNBOOST_TT_AUX_BOOL_TRAIT_DEF1(is_stateless,T,::ndnboost::detail::is_stateless_impl<T>::value)
 
 } // namespace ndnboost
 
 #include <ndnboost/type_traits/detail/bool_trait_undef.hpp>
 
-#endif // BOOST_TT_IS_STATELESS_HPP_INCLUDED
+#endif // NDNBOOST_TT_IS_STATELESS_HPP_INCLUDED
diff --git a/include/ndnboost/type_traits/is_union.hpp b/include/ndnboost/type_traits/is_union.hpp
index 7be09d9..14b4bd7 100644
--- a/include/ndnboost/type_traits/is_union.hpp
+++ b/include/ndnboost/type_traits/is_union.hpp
@@ -8,8 +8,8 @@
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
 
-#ifndef BOOST_TT_IS_UNION_HPP_INCLUDED
-#define BOOST_TT_IS_UNION_HPP_INCLUDED
+#ifndef NDNBOOST_TT_IS_UNION_HPP_INCLUDED
+#define NDNBOOST_TT_IS_UNION_HPP_INCLUDED
 
 #include <ndnboost/type_traits/remove_cv.hpp>
 #include <ndnboost/type_traits/config.hpp>
@@ -25,10 +25,10 @@
 template <typename T> struct is_union_impl
 {
    typedef typename remove_cv<T>::type cvt;
-#ifdef BOOST_IS_UNION
-   BOOST_STATIC_CONSTANT(bool, value = BOOST_IS_UNION(cvt));
+#ifdef NDNBOOST_IS_UNION
+   NDNBOOST_STATIC_CONSTANT(bool, value = NDNBOOST_IS_UNION(cvt));
 #else
-   BOOST_STATIC_CONSTANT(bool, value = false);
+   NDNBOOST_STATIC_CONSTANT(bool, value = false);
 #endif
 };
 #else
@@ -39,19 +39,19 @@
 //
 template <typename T> struct is_union_impl
 {
-#ifdef BOOST_IS_UNION
-   BOOST_STATIC_CONSTANT(bool, value = BOOST_IS_UNION(T));
+#ifdef NDNBOOST_IS_UNION
+   NDNBOOST_STATIC_CONSTANT(bool, value = NDNBOOST_IS_UNION(T));
 #else
-   BOOST_STATIC_CONSTANT(bool, value = false);
+   NDNBOOST_STATIC_CONSTANT(bool, value = false);
 #endif
 };
 #endif
 } // namespace detail
 
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_union,T,::ndnboost::detail::is_union_impl<T>::value)
+NDNBOOST_TT_AUX_BOOL_TRAIT_DEF1(is_union,T,::ndnboost::detail::is_union_impl<T>::value)
 
 } // namespace ndnboost
 
 #include <ndnboost/type_traits/detail/bool_trait_undef.hpp>
 
-#endif // BOOST_TT_IS_UNION_HPP_INCLUDED
+#endif // NDNBOOST_TT_IS_UNION_HPP_INCLUDED
diff --git a/include/ndnboost/type_traits/is_unsigned.hpp b/include/ndnboost/type_traits/is_unsigned.hpp
index 046984e..76baf11 100644
--- a/include/ndnboost/type_traits/is_unsigned.hpp
+++ b/include/ndnboost/type_traits/is_unsigned.hpp
@@ -7,8 +7,8 @@
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
 
-#ifndef BOOST_TT_IS_UNSIGNED_HPP_INCLUDED
-#define BOOST_TT_IS_UNSIGNED_HPP_INCLUDED
+#ifndef NDNBOOST_TT_IS_UNSIGNED_HPP_INCLUDED
+#define NDNBOOST_TT_IS_UNSIGNED_HPP_INCLUDED
 
 #include <ndnboost/type_traits/is_integral.hpp>
 #include <ndnboost/type_traits/is_enum.hpp>
@@ -24,13 +24,13 @@
 
 namespace detail{
 
-#if !(defined(__EDG_VERSION__) && __EDG_VERSION__ <= 238) && !defined(BOOST_NO_INCLASS_MEMBER_INITIALIZATION)
+#if !(defined(__EDG_VERSION__) && __EDG_VERSION__ <= 238) && !defined(NDNBOOST_NO_INCLASS_MEMBER_INITIALIZATION)
 
 template <class T>
 struct is_unsigned_values
 {
    //
-   // Note that we cannot use BOOST_STATIC_CONSTANT here, using enum's
+   // Note that we cannot use NDNBOOST_STATIC_CONSTANT here, using enum's
    // rather than "real" static constants simply doesn't work or give
    // the correct answer.
    //
@@ -42,7 +42,7 @@
 template <class T>
 struct is_ununsigned_helper
 {
-   BOOST_STATIC_CONSTANT(bool, value = (::ndnboost::detail::is_unsigned_values<T>::minus_one > ::ndnboost::detail::is_unsigned_values<T>::zero));
+   NDNBOOST_STATIC_CONSTANT(bool, value = (::ndnboost::detail::is_unsigned_values<T>::minus_one > ::ndnboost::detail::is_unsigned_values<T>::zero));
 };
 
 template <bool integral_type>
@@ -75,7 +75,7 @@
    > selector;
    typedef typename selector::template rebind<T> binder;
    typedef typename binder::type type;
-   BOOST_STATIC_CONSTANT(bool, value = type::value);
+   NDNBOOST_STATIC_CONSTANT(bool, value = type::value);
 };
 
 #else
@@ -97,7 +97,7 @@
 template <> struct is_unsigned_imp<const unsigned long> : public true_type{};
 template <> struct is_unsigned_imp<volatile unsigned long> : public true_type{};
 template <> struct is_unsigned_imp<const volatile unsigned long> : public true_type{};
-#ifdef BOOST_HAS_LONG_LONG
+#ifdef NDNBOOST_HAS_LONG_LONG
 template <> struct is_unsigned_imp<unsigned long long> : public true_type{};
 template <> struct is_unsigned_imp<const unsigned long long> : public true_type{};
 template <> struct is_unsigned_imp<volatile unsigned long long> : public true_type{};
@@ -109,7 +109,7 @@
 template <> struct is_unsigned_imp<volatile char> : public true_type{};
 template <> struct is_unsigned_imp<const volatile char> : public true_type{};
 #endif
-#if defined(WCHAR_MIN) && (WCHAR_MIN == 0) && !defined(BOOST_NO_INTRINSIC_WCHAR_T)
+#if defined(WCHAR_MIN) && (WCHAR_MIN == 0) && !defined(NDNBOOST_NO_INTRINSIC_WCHAR_T)
 template <> struct is_unsigned_imp<wchar_t> : public true_type{};
 template <> struct is_unsigned_imp<const wchar_t> : public true_type{};
 template <> struct is_unsigned_imp<volatile wchar_t> : public true_type{};
@@ -123,13 +123,13 @@
 #endif // !defined( __CODEGEARC__ )
 
 #if defined( __CODEGEARC__ )
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_unsigned,T,__is_unsigned(T))
+NDNBOOST_TT_AUX_BOOL_TRAIT_DEF1(is_unsigned,T,__is_unsigned(T))
 #else
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_unsigned,T,::ndnboost::detail::is_unsigned_imp<T>::value)
+NDNBOOST_TT_AUX_BOOL_TRAIT_DEF1(is_unsigned,T,::ndnboost::detail::is_unsigned_imp<T>::value)
 #endif
 
 } // namespace ndnboost
 
 #include <ndnboost/type_traits/detail/bool_trait_undef.hpp>
 
-#endif // BOOST_TT_IS_MEMBER_FUNCTION_POINTER_HPP_INCLUDED
+#endif // NDNBOOST_TT_IS_MEMBER_FUNCTION_POINTER_HPP_INCLUDED
diff --git a/include/ndnboost/type_traits/is_virtual_base_of.hpp b/include/ndnboost/type_traits/is_virtual_base_of.hpp
index 50e8a5b..21c3f25 100644
--- a/include/ndnboost/type_traits/is_virtual_base_of.hpp
+++ b/include/ndnboost/type_traits/is_virtual_base_of.hpp
@@ -5,8 +5,8 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
  
-#ifndef BOOST_TT_IS_VIRTUAL_BASE_OF_HPP_INCLUDED
-#define BOOST_TT_IS_VIRTUAL_BASE_OF_HPP_INCLUDED
+#ifndef NDNBOOST_TT_IS_VIRTUAL_BASE_OF_HPP_INCLUDED
+#define NDNBOOST_TT_IS_VIRTUAL_BASE_OF_HPP_INCLUDED
 
 #include <ndnboost/type_traits/is_base_of.hpp>
 #include <ndnboost/type_traits/is_same.hpp>
@@ -20,7 +20,7 @@
 namespace detail {
 
 
-#ifdef BOOST_MSVC
+#ifdef NDNBOOST_MSVC
 #pragma warning( push )
 #pragma warning( disable : 4584 4250)
 #elif defined(__GNUC__) && (__GNUC__ >= 4)
@@ -30,7 +30,7 @@
 template<typename Base, typename Derived, typename tag>
 struct is_virtual_base_of_impl
 {
-    BOOST_STATIC_CONSTANT(bool, value = false);
+    NDNBOOST_STATIC_CONSTANT(bool, value = false);
 };
 
 template<typename Base, typename Derived>
@@ -67,7 +67,7 @@
        ~boost_type_traits_internal_struct_Y()throw();
     };
 #endif
-    BOOST_STATIC_CONSTANT(bool, value = (sizeof(boost_type_traits_internal_struct_X)==sizeof(boost_type_traits_internal_struct_Y)));
+    NDNBOOST_STATIC_CONSTANT(bool, value = (sizeof(boost_type_traits_internal_struct_X)==sizeof(boost_type_traits_internal_struct_Y)));
 };
 
 template<typename Base, typename Derived>
@@ -75,26 +75,26 @@
 {
    typedef typename mpl::and_<is_base_of<Base, Derived>, mpl::not_<is_same<Base, Derived> > >::type tag_type;
    typedef is_virtual_base_of_impl<Base, Derived, tag_type> imp;
-   BOOST_STATIC_CONSTANT(bool, value = imp::value);
+   NDNBOOST_STATIC_CONSTANT(bool, value = imp::value);
 };
 
-#ifdef BOOST_MSVC
+#ifdef NDNBOOST_MSVC
 #pragma warning( pop )
 #endif
 
 } // namespace detail
 
-BOOST_TT_AUX_BOOL_TRAIT_DEF2(
+NDNBOOST_TT_AUX_BOOL_TRAIT_DEF2(
       is_virtual_base_of
        , Base
        , Derived
        , (::ndnboost::detail::is_virtual_base_of_impl2<Base,Derived>::value) 
 )
 
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(typename Base,typename Derived,is_virtual_base_of,Base&,Derived,false)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(typename Base,typename Derived,is_virtual_base_of,Base,Derived&,false)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(typename Base,typename Derived,is_virtual_base_of,Base&,Derived&,false)
+#ifndef NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+NDNBOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(typename Base,typename Derived,is_virtual_base_of,Base&,Derived,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(typename Base,typename Derived,is_virtual_base_of,Base,Derived&,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(typename Base,typename Derived,is_virtual_base_of,Base&,Derived&,false)
 #endif
 
 } // namespace ndnboost
diff --git a/include/ndnboost/type_traits/is_void.hpp b/include/ndnboost/type_traits/is_void.hpp
index 3b19b2d..95c6c3b 100644
--- a/include/ndnboost/type_traits/is_void.hpp
+++ b/include/ndnboost/type_traits/is_void.hpp
@@ -6,8 +6,8 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#ifndef BOOST_TT_IS_VOID_HPP_INCLUDED
-#define BOOST_TT_IS_VOID_HPP_INCLUDED
+#ifndef NDNBOOST_TT_IS_VOID_HPP_INCLUDED
+#define NDNBOOST_TT_IS_VOID_HPP_INCLUDED
 
 #include <ndnboost/config.hpp>
 
@@ -18,15 +18,15 @@
 
 //* is a type T void - is_void<T>
 #if defined( __CODEGEARC__ )
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_void,T,__is_void(T))
+NDNBOOST_TT_AUX_BOOL_TRAIT_DEF1(is_void,T,__is_void(T))
 #else
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_void,T,false)
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(is_void,void,true)
+NDNBOOST_TT_AUX_BOOL_TRAIT_DEF1(is_void,T,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_SPEC1(is_void,void,true)
 
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(is_void,void const,true)
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(is_void,void volatile,true)
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(is_void,void const volatile,true)
+#ifndef NDNBOOST_NO_CV_VOID_SPECIALIZATIONS
+NDNBOOST_TT_AUX_BOOL_TRAIT_SPEC1(is_void,void const,true)
+NDNBOOST_TT_AUX_BOOL_TRAIT_SPEC1(is_void,void volatile,true)
+NDNBOOST_TT_AUX_BOOL_TRAIT_SPEC1(is_void,void const volatile,true)
 #endif
 
 #endif  // non-CodeGear implementation
@@ -35,4 +35,4 @@
 
 #include <ndnboost/type_traits/detail/bool_trait_undef.hpp>
 
-#endif // BOOST_TT_IS_VOID_HPP_INCLUDED
+#endif // NDNBOOST_TT_IS_VOID_HPP_INCLUDED
diff --git a/include/ndnboost/type_traits/is_volatile.hpp b/include/ndnboost/type_traits/is_volatile.hpp
index 07af0b4..98a4e46 100644
--- a/include/ndnboost/type_traits/is_volatile.hpp
+++ b/include/ndnboost/type_traits/is_volatile.hpp
@@ -18,15 +18,15 @@
 //    by Andrei Alexandrescu (see http://www.cuj.com/experts/1810/alexandr.html).
 
 
-#ifndef BOOST_TT_IS_VOLATILE_HPP_INCLUDED
-#define BOOST_TT_IS_VOLATILE_HPP_INCLUDED
+#ifndef NDNBOOST_TT_IS_VOLATILE_HPP_INCLUDED
+#define NDNBOOST_TT_IS_VOLATILE_HPP_INCLUDED
 
 #include <ndnboost/config.hpp>
 #include <ndnboost/detail/workaround.hpp>
 
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#ifndef NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 #   include <ndnboost/type_traits/detail/cv_traits_impl.hpp>
-#   if BOOST_WORKAROUND(BOOST_MSVC, < 1400)
+#   if NDNBOOST_WORKAROUND(NDNBOOST_MSVC, < 1400)
 #       include <ndnboost/type_traits/remove_bounds.hpp>
 #   endif
 #else
@@ -45,13 +45,13 @@
 template <class T>
 struct is_volatile_rval_filter
 {
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1400)
-   BOOST_STATIC_CONSTANT(bool, value = ::ndnboost::detail::cv_traits_imp<typename ndnboost::remove_bounds<T>::type*>::is_volatile);
+#if NDNBOOST_WORKAROUND(NDNBOOST_MSVC, < 1400)
+   NDNBOOST_STATIC_CONSTANT(bool, value = ::ndnboost::detail::cv_traits_imp<typename ndnboost::remove_bounds<T>::type*>::is_volatile);
 #else
-   BOOST_STATIC_CONSTANT(bool, value = ::ndnboost::detail::cv_traits_imp<T*>::is_volatile);
+   NDNBOOST_STATIC_CONSTANT(bool, value = ::ndnboost::detail::cv_traits_imp<T*>::is_volatile);
 #endif
 };
-#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
+#ifndef NDNBOOST_NO_CXX11_RVALUE_REFERENCES
 //
 // We can't filter out rvalue_references at the same level as
 // references or we get ambiguities from msvc:
@@ -59,27 +59,27 @@
 template <class T>
 struct is_volatile_rval_filter<T&&>
 {
-   BOOST_STATIC_CONSTANT(bool, value = false);
+   NDNBOOST_STATIC_CONSTANT(bool, value = false);
 };
 #endif
 }
 
 #if defined( __CODEGEARC__ )
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_volatile,T,__is_volatile(T))
-#elif !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+NDNBOOST_TT_AUX_BOOL_TRAIT_DEF1(is_volatile,T,__is_volatile(T))
+#elif !defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
 
 //* is a type T declared volatile - is_volatile<T>
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_volatile,T,::ndnboost::detail::is_volatile_rval_filter<T>::value)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_volatile,T&,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_DEF1(is_volatile,T,::ndnboost::detail::is_volatile_rval_filter<T>::value)
+NDNBOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_volatile,T&,false)
 
-#if  defined(BOOST_ILLEGAL_CV_REFERENCES)
+#if  defined(NDNBOOST_ILLEGAL_CV_REFERENCES)
 // these are illegal specialisations; cv-qualifies applied to
 // references have no effect according to [8.3.2p1],
 // C++ Builder requires them though as it treats cv-qualified
 // references as distinct types...
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_volatile,T& const,false)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_volatile,T& volatile,false)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_volatile,T& const volatile,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_volatile,T& const,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_volatile,T& volatile,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_volatile,T& const volatile,false)
 #endif
 
 #else
@@ -104,7 +104,7 @@
     template <typename T> struct result_
     {
         static T* t;
-        BOOST_STATIC_CONSTANT(bool, value = (
+        NDNBOOST_STATIC_CONSTANT(bool, value = (
             sizeof(ndnboost::detail::yes_type) == sizeof(ndnboost::detail::is_volatile_tester(t))
             ));
     };
@@ -116,7 +116,7 @@
     template <typename T> struct result_
     {
         static T t;
-        BOOST_STATIC_CONSTANT(bool, value = (
+        NDNBOOST_STATIC_CONSTANT(bool, value = (
             sizeof(ndnboost::detail::yes_type) == sizeof(ndnboost::detail::is_volatile_tester(&t))
             ));
     };
@@ -131,22 +131,22 @@
 {
 };
 
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_volatile,void,false)
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_volatile,void const,false)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_volatile,void volatile,true)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_volatile,void const volatile,true)
+NDNBOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_volatile,void,false)
+#ifndef NDNBOOST_NO_CV_VOID_SPECIALIZATIONS
+NDNBOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_volatile,void const,false)
+NDNBOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_volatile,void volatile,true)
+NDNBOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_volatile,void const volatile,true)
 #endif
 
 } // namespace detail
 
 //* is a type T declared volatile - is_volatile<T>
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_volatile,T,::ndnboost::detail::is_volatile_impl<T>::value)
+NDNBOOST_TT_AUX_BOOL_TRAIT_DEF1(is_volatile,T,::ndnboost::detail::is_volatile_impl<T>::value)
 
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#endif // NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 
 } // namespace ndnboost
 
 #include <ndnboost/type_traits/detail/bool_trait_undef.hpp>
 
-#endif // BOOST_TT_IS_VOLATILE_HPP_INCLUDED
+#endif // NDNBOOST_TT_IS_VOLATILE_HPP_INCLUDED
diff --git a/include/ndnboost/type_traits/make_signed.hpp b/include/ndnboost/type_traits/make_signed.hpp
index b852dc3..8ed07f0 100644
--- a/include/ndnboost/type_traits/make_signed.hpp
+++ b/include/ndnboost/type_traits/make_signed.hpp
@@ -6,8 +6,8 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#ifndef BOOST_TT_MAKE_SIGNED_HPP_INCLUDED
-#define BOOST_TT_MAKE_SIGNED_HPP_INCLUDED
+#ifndef NDNBOOST_TT_MAKE_SIGNED_HPP_INCLUDED
+#define NDNBOOST_TT_MAKE_SIGNED_HPP_INCLUDED
 
 #include <ndnboost/mpl/if.hpp>
 #include <ndnboost/type_traits/is_integral.hpp>
@@ -35,10 +35,10 @@
 template <class T>
 struct make_signed_imp
 {
-   BOOST_STATIC_ASSERT(
+   NDNBOOST_STATIC_ASSERT(
       (::ndnboost::type_traits::ice_or< ::ndnboost::is_integral<T>::value, ::ndnboost::is_enum<T>::value>::value));
-#if !BOOST_WORKAROUND(BOOST_MSVC, <=1300)
-   BOOST_STATIC_ASSERT(
+#if !NDNBOOST_WORKAROUND(NDNBOOST_MSVC, <=1300)
+   NDNBOOST_STATIC_ASSERT(
       (::ndnboost::type_traits::ice_not< ::ndnboost::is_same<
          typename remove_cv<T>::type, bool>::value>::value));
 #endif
@@ -71,8 +71,8 @@
                   typename mpl::if_<
                      is_same<t_no_cv, unsigned long>,
                      long,
-#if defined(BOOST_HAS_LONG_LONG)
-#ifdef BOOST_HAS_INT128
+#if defined(NDNBOOST_HAS_LONG_LONG)
+#ifdef NDNBOOST_HAS_INT128
                      typename mpl::if_c<
                         sizeof(t_no_cv) == sizeof(ndnboost::long_long_type), 
                         ndnboost::long_long_type, 
@@ -81,7 +81,7 @@
 #else
                      ndnboost::long_long_type
 #endif
-#elif defined(BOOST_HAS_MS_INT64)
+#elif defined(NDNBOOST_HAS_MS_INT64)
                      __int64
 #else
                      long
@@ -103,8 +103,8 @@
                   typename mpl::if_c<
                      sizeof(t_no_cv) == sizeof(unsigned long),
                      long,
-#if defined(BOOST_HAS_LONG_LONG)
-#ifdef BOOST_HAS_INT128
+#if defined(NDNBOOST_HAS_LONG_LONG)
+#ifdef NDNBOOST_HAS_INT128
                      typename mpl::if_c<
                         sizeof(t_no_cv) == sizeof(ndnboost::long_long_type), 
                         ndnboost::long_long_type, 
@@ -113,7 +113,7 @@
 #else
                      ndnboost::long_long_type
 #endif
-#elif defined(BOOST_HAS_MS_INT64)
+#elif defined(NDNBOOST_HAS_MS_INT64)
                      __int64
 #else
                      long
@@ -143,11 +143,11 @@
 
 } // namespace detail
 
-BOOST_TT_AUX_TYPE_TRAIT_DEF1(make_signed,T,typename ndnboost::detail::make_signed_imp<T>::type)
+NDNBOOST_TT_AUX_TYPE_TRAIT_DEF1(make_signed,T,typename ndnboost::detail::make_signed_imp<T>::type)
 
 } // namespace ndnboost
 
 #include <ndnboost/type_traits/detail/type_trait_undef.hpp>
 
-#endif // BOOST_TT_ADD_REFERENCE_HPP_INCLUDED
+#endif // NDNBOOST_TT_ADD_REFERENCE_HPP_INCLUDED
 
diff --git a/include/ndnboost/type_traits/make_unsigned.hpp b/include/ndnboost/type_traits/make_unsigned.hpp
index f7be5a8..34b1dca 100644
--- a/include/ndnboost/type_traits/make_unsigned.hpp
+++ b/include/ndnboost/type_traits/make_unsigned.hpp
@@ -6,8 +6,8 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#ifndef BOOST_TT_MAKE_UNSIGNED_HPP_INCLUDED
-#define BOOST_TT_MAKE_UNSIGNED_HPP_INCLUDED
+#ifndef NDNBOOST_TT_MAKE_UNSIGNED_HPP_INCLUDED
+#define NDNBOOST_TT_MAKE_UNSIGNED_HPP_INCLUDED
 
 #include <ndnboost/mpl/if.hpp>
 #include <ndnboost/type_traits/is_integral.hpp>
@@ -35,10 +35,10 @@
 template <class T>
 struct make_unsigned_imp
 {
-   BOOST_STATIC_ASSERT(
+   NDNBOOST_STATIC_ASSERT(
       (::ndnboost::type_traits::ice_or< ::ndnboost::is_integral<T>::value, ::ndnboost::is_enum<T>::value>::value));
-#if !BOOST_WORKAROUND(BOOST_MSVC, <=1300)
-   BOOST_STATIC_ASSERT(
+#if !NDNBOOST_WORKAROUND(NDNBOOST_MSVC, <=1300)
+   NDNBOOST_STATIC_ASSERT(
       (::ndnboost::type_traits::ice_not< ::ndnboost::is_same<
          typename remove_cv<T>::type, bool>::value>::value));
 #endif
@@ -71,8 +71,8 @@
                   typename mpl::if_<
                      is_same<t_no_cv, long>,
                      unsigned long,
-#if defined(BOOST_HAS_LONG_LONG)
-#ifdef BOOST_HAS_INT128
+#if defined(NDNBOOST_HAS_LONG_LONG)
+#ifdef NDNBOOST_HAS_INT128
                      typename mpl::if_c<
                         sizeof(t_no_cv) == sizeof(ndnboost::ulong_long_type), 
                         ndnboost::ulong_long_type, 
@@ -81,7 +81,7 @@
 #else
                      ndnboost::ulong_long_type
 #endif
-#elif defined(BOOST_HAS_MS_INT64)
+#elif defined(NDNBOOST_HAS_MS_INT64)
                      unsigned __int64
 #else
                      unsigned long
@@ -103,8 +103,8 @@
                   typename mpl::if_c<
                      sizeof(t_no_cv) == sizeof(unsigned long),
                      unsigned long,
-#if defined(BOOST_HAS_LONG_LONG)
-#ifdef BOOST_HAS_INT128
+#if defined(NDNBOOST_HAS_LONG_LONG)
+#ifdef NDNBOOST_HAS_INT128
                      typename mpl::if_c<
                         sizeof(t_no_cv) == sizeof(ndnboost::ulong_long_type), 
                         ndnboost::ulong_long_type, 
@@ -113,7 +113,7 @@
 #else
                      ndnboost::ulong_long_type
 #endif
-#elif defined(BOOST_HAS_MS_INT64)
+#elif defined(NDNBOOST_HAS_MS_INT64)
                      unsigned __int64
 #else
                      unsigned long
@@ -143,11 +143,11 @@
 
 } // namespace detail
 
-BOOST_TT_AUX_TYPE_TRAIT_DEF1(make_unsigned,T,typename ndnboost::detail::make_unsigned_imp<T>::type)
+NDNBOOST_TT_AUX_TYPE_TRAIT_DEF1(make_unsigned,T,typename ndnboost::detail::make_unsigned_imp<T>::type)
 
 } // namespace ndnboost
 
 #include <ndnboost/type_traits/detail/type_trait_undef.hpp>
 
-#endif // BOOST_TT_ADD_REFERENCE_HPP_INCLUDED
+#endif // NDNBOOST_TT_ADD_REFERENCE_HPP_INCLUDED
 
diff --git a/include/ndnboost/type_traits/msvc/remove_all_extents.hpp b/include/ndnboost/type_traits/msvc/remove_all_extents.hpp
index cc9e8b8..b3a9c76 100644
--- a/include/ndnboost/type_traits/msvc/remove_all_extents.hpp
+++ b/include/ndnboost/type_traits/msvc/remove_all_extents.hpp
@@ -2,8 +2,8 @@
 // Use, modification and distribution is subject to the Boost Software
 // License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt)
 
-#ifndef BOOST_TYPE_TRAITS_MSVC_REMOVE_ALL_EXTENT_HOLT_2004_0827
-#define BOOST_TYPE_TRAITS_MSVC_REMOVE_ALL_EXTENT_HOLT_2004_0827
+#ifndef NDNBOOST_TYPE_TRAITS_MSVC_REMOVE_ALL_EXTENT_HOLT_2004_0827
+#define NDNBOOST_TYPE_TRAITS_MSVC_REMOVE_ALL_EXTENT_HOLT_2004_0827
 
 #include <ndnboost/type_traits/msvc/typeof.hpp>
 #include <ndnboost/type_traits/is_array.hpp>
@@ -27,7 +27,7 @@
                 template<typename U>
                 static msvc_register_type<U,ID> test(U[]);
                 static msvc_register_type<T,ID> test(...);
-                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( *((T*)NULL) ) ));
+                NDNBOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( *((T*)NULL) ) ));
                 typedef typename msvc_extract_type<ID>::id2type::type reduced_type;
                 typedef typename remove_all_extents<reduced_type>::type type;
             };
@@ -39,9 +39,9 @@
         typedef typename ndnboost::detail::remove_all_extents_impl_typeof<
             ndnboost::is_array<T>::value                
         >::template inner<T,remove_all_extents<T> >::type type;
-        BOOST_MPL_AUX_LAMBDA_SUPPORT(1,remove_all_extents,T)
+        NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(1,remove_all_extents,T)
     };
 } //namespace ndnboost
 
-#endif //BOOST_TYPE_TRAITS_MSVC_REMOVE_BOUNDS_HOLT_2004_0827
+#endif //NDNBOOST_TYPE_TRAITS_MSVC_REMOVE_BOUNDS_HOLT_2004_0827
 
diff --git a/include/ndnboost/type_traits/msvc/remove_bounds.hpp b/include/ndnboost/type_traits/msvc/remove_bounds.hpp
index ab923bc..377e767 100644
--- a/include/ndnboost/type_traits/msvc/remove_bounds.hpp
+++ b/include/ndnboost/type_traits/msvc/remove_bounds.hpp
@@ -2,8 +2,8 @@
 // Use, modification and distribution is subject to the Boost Software
 // License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt)
 
-#ifndef BOOST_TYPE_TRAITS_MSVC_REMOVE_BOUNDS_HOLT_2004_0827
-#define BOOST_TYPE_TRAITS_MSVC_REMOVE_BOUNDS_HOLT_2004_0827
+#ifndef NDNBOOST_TYPE_TRAITS_MSVC_REMOVE_BOUNDS_HOLT_2004_0827
+#define NDNBOOST_TYPE_TRAITS_MSVC_REMOVE_BOUNDS_HOLT_2004_0827
 
 #include <ndnboost/type_traits/msvc/typeof.hpp>
 #include <ndnboost/type_traits/is_array.hpp>
@@ -24,7 +24,7 @@
                 template<typename U>
                 static msvc_register_type<U,ID> test(U[]);
                 static msvc_register_type<T,ID> test(...);
-                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( *((T*)NULL) ) ));
+                NDNBOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( *((T*)NULL) ) ));
                 typedef typename msvc_extract_type<ID>::id2type::type type;
             };
         };
@@ -35,9 +35,9 @@
         typedef typename ndnboost::detail::remove_bounds_impl_typeof<
             ndnboost::is_array<T>::value                
         >::template inner<T,remove_bounds<T> >::type type;
-        BOOST_MPL_AUX_LAMBDA_SUPPORT(1,remove_bounds,T)
+        NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(1,remove_bounds,T)
     };
 } //namespace ndnboost
 
-#endif //BOOST_TYPE_TRAITS_MSVC_REMOVE_BOUNDS_HOLT_2004_0827
+#endif //NDNBOOST_TYPE_TRAITS_MSVC_REMOVE_BOUNDS_HOLT_2004_0827
 
diff --git a/include/ndnboost/type_traits/msvc/remove_const.hpp b/include/ndnboost/type_traits/msvc/remove_const.hpp
index 6e20040..8f3b9a4 100644
--- a/include/ndnboost/type_traits/msvc/remove_const.hpp
+++ b/include/ndnboost/type_traits/msvc/remove_const.hpp
@@ -2,8 +2,8 @@
 // Use, modification and distribution is subject to the Boost Software
 // License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt)
 
-#ifndef BOOST_TYPE_TRAITS_MSVC_REMOVE_CONST_HOLT_2004_0828
-#define BOOST_TYPE_TRAITS_MSVC_REMOVE_CONST_HOLT_2004_0828
+#ifndef NDNBOOST_TYPE_TRAITS_MSVC_REMOVE_CONST_HOLT_2004_0828
+#define NDNBOOST_TYPE_TRAITS_MSVC_REMOVE_CONST_HOLT_2004_0828
 
 #include <ndnboost/type_traits/msvc/typeof.hpp>
 #include <ndnboost/type_traits/is_volatile.hpp>
@@ -31,7 +31,7 @@
                 template<typename U>
                 static msvc_register_type<U,ID> test(U const&(*)());
                 static msvc_register_type<T,ID> test(...);
-                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (T(*)())(NULL) ) ));
+                NDNBOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (T(*)())(NULL) ) ));
                 typedef typename msvc_extract_type<ID>::id2type::type type;
             };
             template<typename T>
@@ -46,7 +46,7 @@
                 template<typename U>
                 static msvc_register_type<U volatile,ID> test(U const volatile&(*)());
                 static msvc_register_type<T,ID> test(...);
-                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (T(*)())(NULL) ) ));
+                NDNBOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (T(*)())(NULL) ) ));
                 typedef typename msvc_extract_type<ID>::id2type::type type;
             };
             template<typename T>
@@ -61,7 +61,7 @@
                 template<typename U>
                 static msvc_register_type<U,ID> test(void(*)(U const[]));
                 static msvc_register_type<T,ID> test(...);
-                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));
+                NDNBOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));
                 typedef typename msvc_extract_type<ID>::id2type::type type;
             };
             template<typename T>
@@ -76,7 +76,7 @@
                 template<typename U>
                 static msvc_register_type<U volatile,ID> test(void(*)(U const volatile[]));
                 static msvc_register_type<T,ID> test(...);
-                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));
+                NDNBOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));
                 typedef typename msvc_extract_type<ID>::id2type::type type;
             };
             template<typename T>
@@ -88,12 +88,12 @@
         struct remove_const_impl_typeof<false,true,true,false> {
             template<typename T,typename ID>
             struct inner {
-                BOOST_STATIC_CONSTANT(unsigned,value=(sizeof(T)/sizeof((*((T*)NULL))[0])));
+                NDNBOOST_STATIC_CONSTANT(unsigned,value=(sizeof(T)/sizeof((*((T*)NULL))[0])));
 
                 template<typename U>
                 static msvc_register_type<U[value],ID> test(void(*)(U const[]));
                 static msvc_register_type<T,ID> test(...);
-                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));
+                NDNBOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));
                 typedef typename msvc_extract_type<ID>::id2type::type type;
             };
             template<typename T>
@@ -106,12 +106,12 @@
         struct remove_const_impl_typeof<false,true,true,true> {
             template<typename T,typename ID>
             struct inner {
-                BOOST_STATIC_CONSTANT(unsigned,value=(sizeof(T)/sizeof((*((T*)NULL))[0])));
+                NDNBOOST_STATIC_CONSTANT(unsigned,value=(sizeof(T)/sizeof((*((T*)NULL))[0])));
 
                 template<typename U>
                 static msvc_register_type<U volatile[value],ID> test(void(*)(U const volatile[]));
                 static msvc_register_type<T,ID> test(...);
-                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));
+                NDNBOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));
                 typedef typename msvc_extract_type<ID>::id2type::type type;
             };
             template<typename T>
@@ -136,8 +136,8 @@
                 remove_const<T>
             >::type
         type;
-        BOOST_MPL_AUX_LAMBDA_SUPPORT(1,remove_const,T)
+        NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(1,remove_const,T)
     };
 }//namespace ndnboost
 
-#endif //BOOST_TYPE_TRAITS_MSVC_REMOVE_CONST_HOLT_2004_0828
+#endif //NDNBOOST_TYPE_TRAITS_MSVC_REMOVE_CONST_HOLT_2004_0828
diff --git a/include/ndnboost/type_traits/msvc/remove_cv.hpp b/include/ndnboost/type_traits/msvc/remove_cv.hpp
index ae16e9f..f3a0438 100644
--- a/include/ndnboost/type_traits/msvc/remove_cv.hpp
+++ b/include/ndnboost/type_traits/msvc/remove_cv.hpp
@@ -2,8 +2,8 @@
 // Use, modification and distribution is subject to the Boost Software
 // License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt)
 
-#ifndef BOOST_TYPE_TRAITS_MSVC_REMOVE_CV_HOLT_2004_0901
-#define BOOST_TYPE_TRAITS_MSVC_REMOVE_CV_HOLT_2004_0901
+#ifndef NDNBOOST_TYPE_TRAITS_MSVC_REMOVE_CV_HOLT_2004_0901
+#define NDNBOOST_TYPE_TRAITS_MSVC_REMOVE_CV_HOLT_2004_0901
 
 #include <ndnboost/type_traits/msvc/typeof.hpp>
 #include <ndnboost/type_traits/is_volatile.hpp>
@@ -31,7 +31,7 @@
                 template<typename U>
                 static msvc_register_type<U,ID> test(U volatile&(*)());
                 static msvc_register_type<T,ID> test(...);
-                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (T(*)())(NULL) ) ));
+                NDNBOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (T(*)())(NULL) ) ));
                 typedef typename msvc_extract_type<ID>::id2type::type type;
             };
             template<typename T>
@@ -46,7 +46,7 @@
                 template<typename U>
                 static msvc_register_type<U,ID> test(U const&(*)());
                 static msvc_register_type<T,ID> test(...);
-                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (T(*)())(NULL) ) ));
+                NDNBOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (T(*)())(NULL) ) ));
                 typedef typename msvc_extract_type<ID>::id2type::type type;
             };
             template<typename T>
@@ -61,7 +61,7 @@
                 template<typename U>
                 static msvc_register_type<U,ID> test(U const volatile&(*)());
                 static msvc_register_type<T,ID> test(...);
-                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (T(*)())(NULL) ) ));
+                NDNBOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (T(*)())(NULL) ) ));
                 typedef typename msvc_extract_type<ID>::id2type::type type;
             };
             template<typename T>
@@ -76,7 +76,7 @@
                 template<typename U>
                 static msvc_register_type<U,ID> test(void(*)(U volatile[]));
                 static msvc_register_type<T,ID> test(...);
-                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));
+                NDNBOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));
                 typedef typename msvc_extract_type<ID>::id2type::type type;
             };
             template<typename T>
@@ -91,7 +91,7 @@
                 template<typename U>
                 static msvc_register_type<U,ID> test(void(*)(U const[]));
                 static msvc_register_type<T,ID> test(...);
-                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));
+                NDNBOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));
                 typedef typename msvc_extract_type<ID>::id2type::type type;
             };
             template<typename T>
@@ -106,7 +106,7 @@
                 template<typename U>
                 static msvc_register_type<U,ID> test(void(*)(U const volatile[]));
                 static msvc_register_type<T,ID> test(...);
-                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));
+                NDNBOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));
                 typedef typename msvc_extract_type<ID>::id2type::type type;
             };
             template<typename T>
@@ -118,12 +118,12 @@
         struct remove_cv_impl_typeof<false,true,false,true> {
             template<typename T,typename ID>
             struct inner {
-                BOOST_STATIC_CONSTANT(unsigned,value=(sizeof(T)/sizeof((*((T*)NULL))[0])));
+                NDNBOOST_STATIC_CONSTANT(unsigned,value=(sizeof(T)/sizeof((*((T*)NULL))[0])));
 
                 template<typename U>
                 static msvc_register_type<U[value],ID> test(void(*)(U volatile[]));
                 static msvc_register_type<T,ID> test(...);
-                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));
+                NDNBOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));
                 typedef typename msvc_extract_type<ID>::id2type::type type;
             };
             template<typename T>
@@ -135,12 +135,12 @@
         struct remove_cv_impl_typeof<false,true,true,false> {
             template<typename T,typename ID>
             struct inner {
-                BOOST_STATIC_CONSTANT(unsigned,value=(sizeof(T)/sizeof((*((T*)NULL))[0])));
+                NDNBOOST_STATIC_CONSTANT(unsigned,value=(sizeof(T)/sizeof((*((T*)NULL))[0])));
 
                 template<typename U>
                 static msvc_register_type<U[value],ID> test(void(*)(U const[]));
                 static msvc_register_type<T,ID> test(...);
-                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));
+                NDNBOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));
                 typedef typename msvc_extract_type<ID>::id2type::type type;
             };
             template<typename T>
@@ -153,12 +153,12 @@
         struct remove_cv_impl_typeof<false,true,true,true> {
             template<typename T,typename ID>
             struct inner {
-                BOOST_STATIC_CONSTANT(unsigned,value=(sizeof(T)/sizeof((*((T*)NULL))[0])));
+                NDNBOOST_STATIC_CONSTANT(unsigned,value=(sizeof(T)/sizeof((*((T*)NULL))[0])));
 
                 template<typename U>
                 static msvc_register_type<U[value],ID> test(void(*)(U const volatile[]));
                 static msvc_register_type<T,ID> test(...);
-                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));
+                NDNBOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));
                 typedef typename msvc_extract_type<ID>::id2type::type type;
             };
             template<typename T>
@@ -183,8 +183,8 @@
                 remove_cv<T>
             >::type
         type;
-        BOOST_MPL_AUX_LAMBDA_SUPPORT(1,remove_cv,T)
+        NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(1,remove_cv,T)
     };
 }//namespace ndnboost
 
-#endif //BOOST_TYPE_TRAITS_MSVC_REMOVE_CV_HOLT_2004_0901
+#endif //NDNBOOST_TYPE_TRAITS_MSVC_REMOVE_CV_HOLT_2004_0901
diff --git a/include/ndnboost/type_traits/msvc/remove_extent.hpp b/include/ndnboost/type_traits/msvc/remove_extent.hpp
index 54c36bc..a88f75d 100644
--- a/include/ndnboost/type_traits/msvc/remove_extent.hpp
+++ b/include/ndnboost/type_traits/msvc/remove_extent.hpp
@@ -2,8 +2,8 @@
 // Use, modification and distribution is subject to the Boost Software
 // License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt)
 
-#ifndef BOOST_TYPE_TRAITS_MSVC_REMOVE_EXTENT_HOLT_2004_0827
-#define BOOST_TYPE_TRAITS_MSVC_REMOVE_EXTENT_HOLT_2004_0827
+#ifndef NDNBOOST_TYPE_TRAITS_MSVC_REMOVE_EXTENT_HOLT_2004_0827
+#define NDNBOOST_TYPE_TRAITS_MSVC_REMOVE_EXTENT_HOLT_2004_0827
 
 #include <ndnboost/type_traits/msvc/typeof.hpp>
 #include <ndnboost/type_traits/is_array.hpp>
@@ -24,7 +24,7 @@
                 template<typename U>
                 static msvc_register_type<U,ID> test(U[]);
                 static msvc_register_type<T,ID> test(...);
-                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( *((T*)NULL) ) ));
+                NDNBOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( *((T*)NULL) ) ));
                 typedef typename msvc_extract_type<ID>::id2type::type type;
             };
         };
@@ -35,9 +35,9 @@
         typedef typename ndnboost::detail::remove_extent_impl_typeof<
             ndnboost::is_array<T>::value                
         >::template inner<T,remove_extent<T> >::type type;
-        BOOST_MPL_AUX_LAMBDA_SUPPORT(1,remove_extent,T)
+        NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(1,remove_extent,T)
     };
 } //namespace ndnboost
 
-#endif //BOOST_TYPE_TRAITS_MSVC_REMOVE_BOUNDS_HOLT_2004_0827
+#endif //NDNBOOST_TYPE_TRAITS_MSVC_REMOVE_BOUNDS_HOLT_2004_0827
 
diff --git a/include/ndnboost/type_traits/msvc/remove_pointer.hpp b/include/ndnboost/type_traits/msvc/remove_pointer.hpp
index 694bef8..4311bcc 100644
--- a/include/ndnboost/type_traits/msvc/remove_pointer.hpp
+++ b/include/ndnboost/type_traits/msvc/remove_pointer.hpp
@@ -2,8 +2,8 @@
 // Use, modification and distribution is subject to the Boost Software
 // License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt)
 
-#ifndef BOOST_TYPE_TRAITS_MSVC_REMOVE_POINTER_HOLT_2004_0827
-#define BOOST_TYPE_TRAITS_MSVC_REMOVE_POINTER_HOLT_2004_0827
+#ifndef NDNBOOST_TYPE_TRAITS_MSVC_REMOVE_POINTER_HOLT_2004_0827
+#define NDNBOOST_TYPE_TRAITS_MSVC_REMOVE_POINTER_HOLT_2004_0827
 
 #include <ndnboost/type_traits/msvc/typeof.hpp>
 #include <ndnboost/type_traits/is_pointer.hpp>
@@ -24,7 +24,7 @@
                 template<typename U>
                 static msvc_register_type<U,ID> test(U*);
                 static msvc_register_type<T,ID> test(...);
-                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( *((T*)NULL) ) ));
+                NDNBOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( *((T*)NULL) ) ));
                 typedef typename msvc_extract_type<ID>::id2type::type type;
             };
         };
@@ -35,8 +35,8 @@
         typedef typename ndnboost::detail::remove_pointer_impl_typeof<
             ndnboost::is_pointer<T>::value
         >::template inner<T,remove_pointer<T> >::type type;
-        BOOST_MPL_AUX_LAMBDA_SUPPORT(1,remove_pointer,T)
+        NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(1,remove_pointer,T)
     };
 } //namespace ndnboost
 
-#endif //BOOST_TYPE_TRAITS_REMOVE_POINTER_HOLT_2004_0827
+#endif //NDNBOOST_TYPE_TRAITS_REMOVE_POINTER_HOLT_2004_0827
diff --git a/include/ndnboost/type_traits/msvc/remove_reference.hpp b/include/ndnboost/type_traits/msvc/remove_reference.hpp
index 7d8ef67..a833456 100644
--- a/include/ndnboost/type_traits/msvc/remove_reference.hpp
+++ b/include/ndnboost/type_traits/msvc/remove_reference.hpp
@@ -2,8 +2,8 @@
 // Use, modification and distribution is subject to the Boost Software
 // License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt)
 
-#ifndef BOOST_TYPE_TRAITS_MSVC_REMOVE_REFERENCE_HOLT_2004_0827
-#define BOOST_TYPE_TRAITS_MSVC_REMOVE_REFERENCE_HOLT_2004_0827
+#ifndef NDNBOOST_TYPE_TRAITS_MSVC_REMOVE_REFERENCE_HOLT_2004_0827
+#define NDNBOOST_TYPE_TRAITS_MSVC_REMOVE_REFERENCE_HOLT_2004_0827
 
 #include <ndnboost/type_traits/msvc/typeof.hpp>
 #include <ndnboost/type_traits/is_reference.hpp>
@@ -24,7 +24,7 @@
                 template<typename U>
                 static msvc_register_type<U,ID> test(U&(*)());
                 static msvc_register_type<T,ID> test(...);
-                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (T(*)())(NULL) ) ));
+                NDNBOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (T(*)())(NULL) ) ));
                 typedef typename msvc_extract_type<ID>::id2type::type type;
             };
         };
@@ -35,8 +35,8 @@
         typedef typename ndnboost::detail::remove_reference_impl_typeof<
             ndnboost::is_reference<T>::value
         >::template inner<T,remove_reference<T> >::type type;
-        BOOST_MPL_AUX_LAMBDA_SUPPORT(1,remove_reference,T)
+        NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(1,remove_reference,T)
     };
 } //namespace ndnboost
 
-#endif //BOOST_TYPE_TRAITS_MSVC_REMOVE_REFERENCE_HOLT_2004_0827
+#endif //NDNBOOST_TYPE_TRAITS_MSVC_REMOVE_REFERENCE_HOLT_2004_0827
diff --git a/include/ndnboost/type_traits/msvc/remove_volatile.hpp b/include/ndnboost/type_traits/msvc/remove_volatile.hpp
index b787bec..00e1497 100644
--- a/include/ndnboost/type_traits/msvc/remove_volatile.hpp
+++ b/include/ndnboost/type_traits/msvc/remove_volatile.hpp
@@ -2,8 +2,8 @@
 // Use, modification and distribution is subject to the Boost Software
 // License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt)
 
-#ifndef BOOST_TYPE_TRAITS_MSVC_REMOVE_VOLATILE_HOLT_2004_0828
-#define BOOST_TYPE_TRAITS_MSVC_REMOVE_VOLATILE_HOLT_2004_0828
+#ifndef NDNBOOST_TYPE_TRAITS_MSVC_REMOVE_VOLATILE_HOLT_2004_0828
+#define NDNBOOST_TYPE_TRAITS_MSVC_REMOVE_VOLATILE_HOLT_2004_0828
 
 #include <ndnboost/type_traits/msvc/typeof.hpp>
 #include <ndnboost/type_traits/is_volatile.hpp>
@@ -31,7 +31,7 @@
                 template<typename U>
                 static msvc_register_type<U,ID> test(U volatile&(*)());
                 static msvc_register_type<T,ID> test(...);
-                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (T(*)())(NULL) ) ));
+                NDNBOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (T(*)())(NULL) ) ));
                 typedef typename msvc_extract_type<ID>::id2type::type type;
             };            
             template<typename T>
@@ -46,7 +46,7 @@
                 template<typename U>
                 static msvc_register_type<U const,ID> test(U const volatile&(*)());
                 static msvc_register_type<T,ID> test(...);
-                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (T(*)())(NULL) ) ));
+                NDNBOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (T(*)())(NULL) ) ));
                 typedef typename msvc_extract_type<ID>::id2type::type type;
             };
             template<typename T>
@@ -61,7 +61,7 @@
                 template<typename U>
                 static msvc_register_type<U,ID> test(void(*)(U volatile[]));
                 static msvc_register_type<T,ID> test(...);
-                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));
+                NDNBOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));
                 typedef typename msvc_extract_type<ID>::id2type::type type;
             };
             template<typename T>
@@ -76,7 +76,7 @@
                 template<typename U>
                 static msvc_register_type<U const,ID> test(void(*)(U const volatile[]));
                 static msvc_register_type<T,ID> test(...);
-                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));
+                NDNBOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));
                 typedef typename msvc_extract_type<ID>::id2type::type type;
             };
             template<typename T>
@@ -88,12 +88,12 @@
         struct remove_volatile_impl_typeof<false,true,false,true> {
             template<typename T,typename ID>
             struct inner {
-                BOOST_STATIC_CONSTANT(unsigned,value=(sizeof(T)/sizeof((*((T*)NULL))[0])));
+                NDNBOOST_STATIC_CONSTANT(unsigned,value=(sizeof(T)/sizeof((*((T*)NULL))[0])));
 
                 template<typename U>
                 static msvc_register_type<U[value],ID> test(void(*)(U volatile[]));
                 static msvc_register_type<T,ID> test(...);
-                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));
+                NDNBOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));
                 typedef typename msvc_extract_type<ID>::id2type::type type;                
             };
             template<typename T>
@@ -106,12 +106,12 @@
         struct remove_volatile_impl_typeof<false,true,true,true> {
             template<typename T,typename ID>
             struct inner {
-                BOOST_STATIC_CONSTANT(unsigned,value=(sizeof(T)/sizeof((*((T*)NULL))[0])));
+                NDNBOOST_STATIC_CONSTANT(unsigned,value=(sizeof(T)/sizeof((*((T*)NULL))[0])));
 
                 template<typename U>
                 static msvc_register_type<U const[value],ID> test(void(*)(U const volatile[]));
                 static msvc_register_type<T,ID> test(...);
-                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));
+                NDNBOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));
                 typedef typename msvc_extract_type<ID>::id2type::type type;
             };
             template<typename T>
@@ -136,8 +136,8 @@
                 remove_volatile<T>
             >::type
         type;
-        BOOST_MPL_AUX_LAMBDA_SUPPORT(1,remove_volatile,T)
+        NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(1,remove_volatile,T)
     };
 }//namespace ndnboost
 
-#endif //BOOST_TYPE_TRAITS_MSVC_REMOVE_VOLATILE_HOLT_2004_0828
+#endif //NDNBOOST_TYPE_TRAITS_MSVC_REMOVE_VOLATILE_HOLT_2004_0828
diff --git a/include/ndnboost/type_traits/msvc/typeof.hpp b/include/ndnboost/type_traits/msvc/typeof.hpp
index dabc975..c25dade 100644
--- a/include/ndnboost/type_traits/msvc/typeof.hpp
+++ b/include/ndnboost/type_traits/msvc/typeof.hpp
@@ -2,14 +2,14 @@
 // Use, modification and distribution is subject to the Boost Software
 // License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt)
 
-#ifndef BOOST_TYPETRAITS_MSVC_TYPEOF_HPP
-#define BOOST_TYPETRAITS_MSVC_TYPEOF_HPP
+#ifndef NDNBOOST_TYPETRAITS_MSVC_TYPEOF_HPP
+#define NDNBOOST_TYPETRAITS_MSVC_TYPEOF_HPP
 
 #include <ndnboost/config.hpp>
 #include <ndnboost/detail/workaround.hpp>
 
 namespace ndnboost { namespace detail {
-# if BOOST_WORKAROUND(BOOST_MSVC,==1300)
+# if NDNBOOST_WORKAROUND(NDNBOOST_MSVC,==1300)
         template<typename ID>
         struct msvc_extract_type
         {
@@ -47,4 +47,4 @@
 # endif
 }}
 
-#endif //BOOST_TYPETRAITS_MSVC_TYPEOF_IMPL_HPP
+#endif //NDNBOOST_TYPETRAITS_MSVC_TYPEOF_IMPL_HPP
diff --git a/include/ndnboost/type_traits/object_traits.hpp b/include/ndnboost/type_traits/object_traits.hpp
index a13a998..ffc9aee 100644
--- a/include/ndnboost/type_traits/object_traits.hpp
+++ b/include/ndnboost/type_traits/object_traits.hpp
@@ -11,8 +11,8 @@
 //  has_trivial_destructor, is_empty.
 //
 
-#ifndef BOOST_TT_OBJECT_TRAITS_HPP_INLCUDED
-#define BOOST_TT_OBJECT_TRAITS_HPP_INLCUDED
+#ifndef NDNBOOST_TT_OBJECT_TRAITS_HPP_INLCUDED
+#define NDNBOOST_TT_OBJECT_TRAITS_HPP_INLCUDED
 
 #include <ndnboost/type_traits/has_trivial_assign.hpp>
 #include <ndnboost/type_traits/has_trivial_constructor.hpp>
@@ -30,4 +30,4 @@
 #include <ndnboost/type_traits/is_scalar.hpp>
 #include <ndnboost/type_traits/is_stateless.hpp>
 
-#endif // BOOST_TT_OBJECT_TRAITS_HPP_INLCUDED
+#endif // NDNBOOST_TT_OBJECT_TRAITS_HPP_INLCUDED
diff --git a/include/ndnboost/type_traits/promote.hpp b/include/ndnboost/type_traits/promote.hpp
index 06065f6..54d491f 100644
--- a/include/ndnboost/type_traits/promote.hpp
+++ b/include/ndnboost/type_traits/promote.hpp
@@ -20,17 +20,17 @@
 template<class T>
 struct promote_impl
   : public integral_promotion<
-        BOOST_DEDUCED_TYPENAME floating_point_promotion<T>::type
+        NDNBOOST_DEDUCED_TYPENAME floating_point_promotion<T>::type
       >
 {
 };
 
 }
 
-BOOST_TT_AUX_TYPE_TRAIT_DEF1(
+NDNBOOST_TT_AUX_TYPE_TRAIT_DEF1(
       promote
     , T
-    , BOOST_DEDUCED_TYPENAME ndnboost::detail::promote_impl<T>::type
+    , NDNBOOST_DEDUCED_TYPENAME ndnboost::detail::promote_impl<T>::type
     )
 }
 
diff --git a/include/ndnboost/type_traits/rank.hpp b/include/ndnboost/type_traits/rank.hpp
index 495b91b..2a4f62f 100644
--- a/include/ndnboost/type_traits/rank.hpp
+++ b/include/ndnboost/type_traits/rank.hpp
@@ -7,8 +7,8 @@
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
 
-#ifndef BOOST_TT_RANK_HPP_INCLUDED
-#define BOOST_TT_RANK_HPP_INCLUDED
+#ifndef NDNBOOST_TT_RANK_HPP_INCLUDED
+#define NDNBOOST_TT_RANK_HPP_INCLUDED
 
 // should be the last #include
 #include <ndnboost/type_traits/detail/size_t_trait_def.hpp>
@@ -22,53 +22,53 @@
 template <class T, std::size_t N>
 struct rank_imp
 {
-   BOOST_STATIC_CONSTANT(std::size_t, value = N);
+   NDNBOOST_STATIC_CONSTANT(std::size_t, value = N);
 };
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)
+#if !defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(NDNBOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)
 template <class T, std::size_t R, std::size_t N>
 struct rank_imp<T[R], N>
 {
-   BOOST_STATIC_CONSTANT(std::size_t, value = (::ndnboost::detail::rank_imp<T, N+1>::value));
+   NDNBOOST_STATIC_CONSTANT(std::size_t, value = (::ndnboost::detail::rank_imp<T, N+1>::value));
 };
 
 template <class T, std::size_t R, std::size_t N>
 struct rank_imp<T const[R], N>
 {
-   BOOST_STATIC_CONSTANT(std::size_t, value = (::ndnboost::detail::rank_imp<T, N+1>::value));
+   NDNBOOST_STATIC_CONSTANT(std::size_t, value = (::ndnboost::detail::rank_imp<T, N+1>::value));
 };
 
 template <class T, std::size_t R, std::size_t N>
 struct rank_imp<T volatile[R], N>
 {
-   BOOST_STATIC_CONSTANT(std::size_t, value = (::ndnboost::detail::rank_imp<T, N+1>::value));
+   NDNBOOST_STATIC_CONSTANT(std::size_t, value = (::ndnboost::detail::rank_imp<T, N+1>::value));
 };
 
 template <class T, std::size_t R, std::size_t N>
 struct rank_imp<T const volatile[R], N>
 {
-   BOOST_STATIC_CONSTANT(std::size_t, value = (::ndnboost::detail::rank_imp<T, N+1>::value));
+   NDNBOOST_STATIC_CONSTANT(std::size_t, value = (::ndnboost::detail::rank_imp<T, N+1>::value));
 };
 
-#if !BOOST_WORKAROUND(__BORLANDC__, < 0x600) && !defined(__IBMCPP__) &&  !BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840))
+#if !NDNBOOST_WORKAROUND(__BORLANDC__, < 0x600) && !defined(__IBMCPP__) &&  !NDNBOOST_WORKAROUND(__DMC__, NDNBOOST_TESTED_AT(0x840))
 template <class T, std::size_t N>
 struct rank_imp<T[], N>
 {
-   BOOST_STATIC_CONSTANT(std::size_t, value = (::ndnboost::detail::rank_imp<T, N+1>::value));
+   NDNBOOST_STATIC_CONSTANT(std::size_t, value = (::ndnboost::detail::rank_imp<T, N+1>::value));
 };
 template <class T, std::size_t N>
 struct rank_imp<T const[], N>
 {
-   BOOST_STATIC_CONSTANT(std::size_t, value = (::ndnboost::detail::rank_imp<T, N+1>::value));
+   NDNBOOST_STATIC_CONSTANT(std::size_t, value = (::ndnboost::detail::rank_imp<T, N+1>::value));
 };
 template <class T, std::size_t N>
 struct rank_imp<T volatile[], N>
 {
-   BOOST_STATIC_CONSTANT(std::size_t, value = (::ndnboost::detail::rank_imp<T, N+1>::value));
+   NDNBOOST_STATIC_CONSTANT(std::size_t, value = (::ndnboost::detail::rank_imp<T, N+1>::value));
 };
 template <class T, std::size_t N>
 struct rank_imp<T const volatile[], N>
 {
-   BOOST_STATIC_CONSTANT(std::size_t, value = (::ndnboost::detail::rank_imp<T, N+1>::value));
+   NDNBOOST_STATIC_CONSTANT(std::size_t, value = (::ndnboost::detail::rank_imp<T, N+1>::value));
 };
 #endif
 #endif
@@ -77,13 +77,13 @@
 #endif // !defined( __CODEGEARC__ )
 
 #if defined( __CODEGEARC__ )
-BOOST_TT_AUX_SIZE_T_TRAIT_DEF1(rank,T,__array_rank(T))
+NDNBOOST_TT_AUX_SIZE_T_TRAIT_DEF1(rank,T,__array_rank(T))
 #else
-BOOST_TT_AUX_SIZE_T_TRAIT_DEF1(rank,T,(::ndnboost::detail::rank_imp<T,0>::value))
+NDNBOOST_TT_AUX_SIZE_T_TRAIT_DEF1(rank,T,(::ndnboost::detail::rank_imp<T,0>::value))
 #endif
 
 } // namespace ndnboost
 
 #include <ndnboost/type_traits/detail/size_t_trait_undef.hpp>
 
-#endif // BOOST_TT_IS_MEMBER_FUNCTION_POINTER_HPP_INCLUDED
+#endif // NDNBOOST_TT_IS_MEMBER_FUNCTION_POINTER_HPP_INCLUDED
diff --git a/include/ndnboost/type_traits/remove_all_extents.hpp b/include/ndnboost/type_traits/remove_all_extents.hpp
index 7436774..675aaaf 100644
--- a/include/ndnboost/type_traits/remove_all_extents.hpp
+++ b/include/ndnboost/type_traits/remove_all_extents.hpp
@@ -6,36 +6,36 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#ifndef BOOST_TT_REMOVE_ALL_EXTENTS_HPP_INCLUDED
-#define BOOST_TT_REMOVE_ALL_EXTENTS_HPP_INCLUDED
+#ifndef NDNBOOST_TT_REMOVE_ALL_EXTENTS_HPP_INCLUDED
+#define NDNBOOST_TT_REMOVE_ALL_EXTENTS_HPP_INCLUDED
 
 #include <ndnboost/config.hpp>
 #include <cstddef>
 #include <ndnboost/detail/workaround.hpp>
 
-#if BOOST_WORKAROUND(BOOST_MSVC,<=1300)
+#if NDNBOOST_WORKAROUND(NDNBOOST_MSVC,<=1300)
 #include <ndnboost/type_traits/msvc/remove_all_extents.hpp>
 #endif
 
 // should be the last #include
 #include <ndnboost/type_traits/detail/type_trait_def.hpp>
 
-#if !BOOST_WORKAROUND(BOOST_MSVC,<=1300)
+#if !NDNBOOST_WORKAROUND(NDNBOOST_MSVC,<=1300)
 
 namespace ndnboost {
 
-BOOST_TT_AUX_TYPE_TRAIT_DEF1(remove_all_extents,T,T)
+NDNBOOST_TT_AUX_TYPE_TRAIT_DEF1(remove_all_extents,T,T)
 
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_all_extents,T[N],typename ndnboost::remove_all_extents<T>::type type)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_all_extents,T const[N],typename ndnboost::remove_all_extents<T const>::type type)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_all_extents,T volatile[N],typename ndnboost::remove_all_extents<T volatile>::type type)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_all_extents,T const volatile[N],typename ndnboost::remove_all_extents<T const volatile>::type type)
-#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) && !defined(__IBMCPP__) &&  !BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840))
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_all_extents,T[],typename ndnboost::remove_all_extents<T>::type)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_all_extents,T const[],typename ndnboost::remove_all_extents<T const>::type)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_all_extents,T volatile[],typename ndnboost::remove_all_extents<T volatile>::type)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_all_extents,T const volatile[],typename ndnboost::remove_all_extents<T const volatile>::type)
+#if !defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(NDNBOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)
+NDNBOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_all_extents,T[N],typename ndnboost::remove_all_extents<T>::type type)
+NDNBOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_all_extents,T const[N],typename ndnboost::remove_all_extents<T const>::type type)
+NDNBOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_all_extents,T volatile[N],typename ndnboost::remove_all_extents<T volatile>::type type)
+NDNBOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_all_extents,T const volatile[N],typename ndnboost::remove_all_extents<T const volatile>::type type)
+#if !NDNBOOST_WORKAROUND(__BORLANDC__, NDNBOOST_TESTED_AT(0x610)) && !defined(__IBMCPP__) &&  !NDNBOOST_WORKAROUND(__DMC__, NDNBOOST_TESTED_AT(0x840))
+NDNBOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_all_extents,T[],typename ndnboost::remove_all_extents<T>::type)
+NDNBOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_all_extents,T const[],typename ndnboost::remove_all_extents<T const>::type)
+NDNBOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_all_extents,T volatile[],typename ndnboost::remove_all_extents<T volatile>::type)
+NDNBOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_all_extents,T const volatile[],typename ndnboost::remove_all_extents<T const volatile>::type)
 #endif
 #endif
 
@@ -45,4 +45,4 @@
 
 #include <ndnboost/type_traits/detail/type_trait_undef.hpp>
 
-#endif // BOOST_TT_REMOVE_BOUNDS_HPP_INCLUDED
+#endif // NDNBOOST_TT_REMOVE_BOUNDS_HPP_INCLUDED
diff --git a/include/ndnboost/type_traits/remove_bounds.hpp b/include/ndnboost/type_traits/remove_bounds.hpp
index 11372da..fa09715 100644
--- a/include/ndnboost/type_traits/remove_bounds.hpp
+++ b/include/ndnboost/type_traits/remove_bounds.hpp
@@ -6,36 +6,36 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#ifndef BOOST_TT_REMOVE_BOUNDS_HPP_INCLUDED
-#define BOOST_TT_REMOVE_BOUNDS_HPP_INCLUDED
+#ifndef NDNBOOST_TT_REMOVE_BOUNDS_HPP_INCLUDED
+#define NDNBOOST_TT_REMOVE_BOUNDS_HPP_INCLUDED
 
 #include <ndnboost/config.hpp>
 #include <cstddef>
 #include <ndnboost/detail/workaround.hpp>
 
-#if BOOST_WORKAROUND(BOOST_MSVC,<=1300)
+#if NDNBOOST_WORKAROUND(NDNBOOST_MSVC,<=1300)
 #include <ndnboost/type_traits/msvc/remove_bounds.hpp>
 #endif
 
 // should be the last #include
 #include <ndnboost/type_traits/detail/type_trait_def.hpp>
 
-#if !BOOST_WORKAROUND(BOOST_MSVC,<=1300)
+#if !NDNBOOST_WORKAROUND(NDNBOOST_MSVC,<=1300)
 
 namespace ndnboost {
 
-BOOST_TT_AUX_TYPE_TRAIT_DEF1(remove_bounds,T,T)
+NDNBOOST_TT_AUX_TYPE_TRAIT_DEF1(remove_bounds,T,T)
 
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_bounds,T[N],T type)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_bounds,T const[N],T const type)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_bounds,T volatile[N],T volatile type)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_bounds,T const volatile[N],T const volatile type)
-#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) && !defined(__IBMCPP__) &&  !BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840))
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_bounds,T[],T)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_bounds,T const[],T const)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_bounds,T volatile[],T volatile)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_bounds,T const volatile[],T const volatile)
+#if !defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(NDNBOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)
+NDNBOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_bounds,T[N],T type)
+NDNBOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_bounds,T const[N],T const type)
+NDNBOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_bounds,T volatile[N],T volatile type)
+NDNBOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_bounds,T const volatile[N],T const volatile type)
+#if !NDNBOOST_WORKAROUND(__BORLANDC__, NDNBOOST_TESTED_AT(0x610)) && !defined(__IBMCPP__) &&  !NDNBOOST_WORKAROUND(__DMC__, NDNBOOST_TESTED_AT(0x840))
+NDNBOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_bounds,T[],T)
+NDNBOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_bounds,T const[],T const)
+NDNBOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_bounds,T volatile[],T volatile)
+NDNBOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_bounds,T const volatile[],T const volatile)
 #endif
 #endif
 
@@ -45,4 +45,4 @@
 
 #include <ndnboost/type_traits/detail/type_trait_undef.hpp>
 
-#endif // BOOST_TT_REMOVE_BOUNDS_HPP_INCLUDED
+#endif // NDNBOOST_TT_REMOVE_BOUNDS_HPP_INCLUDED
diff --git a/include/ndnboost/type_traits/remove_const.hpp b/include/ndnboost/type_traits/remove_const.hpp
index b9b31dd..5a31613 100644
--- a/include/ndnboost/type_traits/remove_const.hpp
+++ b/include/ndnboost/type_traits/remove_const.hpp
@@ -8,8 +8,8 @@
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
 
-#ifndef BOOST_TT_REMOVE_CONST_HPP_INCLUDED
-#define BOOST_TT_REMOVE_CONST_HPP_INCLUDED
+#ifndef NDNBOOST_TT_REMOVE_CONST_HPP_INCLUDED
+#define NDNBOOST_TT_REMOVE_CONST_HPP_INCLUDED
 
 #include <ndnboost/type_traits/is_volatile.hpp>
 #include <ndnboost/type_traits/broken_compiler_spec.hpp>
@@ -19,7 +19,7 @@
 
 #include <cstddef>
 
-#if BOOST_WORKAROUND(BOOST_MSVC,<=1300)
+#if NDNBOOST_WORKAROUND(NDNBOOST_MSVC,<=1300)
 #include <ndnboost/type_traits/msvc/remove_const.hpp>
 #endif
 
@@ -28,7 +28,7 @@
 
 namespace ndnboost {
 
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#ifndef NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 
 namespace detail {
 
@@ -54,7 +54,7 @@
         >::type type;
 };
 
-#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
+#ifndef NDNBOOST_NO_CXX11_RVALUE_REFERENCES
 //
 // We can't filter out rvalue_references at the same level as
 // references or we get ambiguities from msvc:
@@ -70,21 +70,21 @@
 
 // * convert a type T to non-const type - remove_const<T>
 
-BOOST_TT_AUX_TYPE_TRAIT_DEF1(remove_const,T,typename ndnboost::detail::remove_const_impl<T>::type)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_const,T&,T&)
-#if !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_const,T const[N],T type[N])
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_const,T const volatile[N],T volatile type[N])
+NDNBOOST_TT_AUX_TYPE_TRAIT_DEF1(remove_const,T,typename ndnboost::detail::remove_const_impl<T>::type)
+NDNBOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_const,T&,T&)
+#if !defined(NDNBOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)
+NDNBOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_const,T const[N],T type[N])
+NDNBOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_const,T const volatile[N],T volatile type[N])
 #endif
 
-#elif !BOOST_WORKAROUND(BOOST_MSVC,<=1300)
+#elif !NDNBOOST_WORKAROUND(NDNBOOST_MSVC,<=1300)
 
-BOOST_TT_AUX_TYPE_TRAIT_DEF1(remove_const,T,typename ndnboost::detail::remove_const_impl<T>::type)
+NDNBOOST_TT_AUX_TYPE_TRAIT_DEF1(remove_const,T,typename ndnboost::detail::remove_const_impl<T>::type)
 
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#endif // NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 
 } // namespace ndnboost
 
 #include <ndnboost/type_traits/detail/type_trait_undef.hpp>
 
-#endif // BOOST_TT_REMOVE_CONST_HPP_INCLUDED
+#endif // NDNBOOST_TT_REMOVE_CONST_HPP_INCLUDED
diff --git a/include/ndnboost/type_traits/remove_cv.hpp b/include/ndnboost/type_traits/remove_cv.hpp
index 22cf78f..d5cb86a 100644
--- a/include/ndnboost/type_traits/remove_cv.hpp
+++ b/include/ndnboost/type_traits/remove_cv.hpp
@@ -8,8 +8,8 @@
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
 
-#ifndef BOOST_TT_REMOVE_CV_HPP_INCLUDED
-#define BOOST_TT_REMOVE_CV_HPP_INCLUDED
+#ifndef NDNBOOST_TT_REMOVE_CV_HPP_INCLUDED
+#define NDNBOOST_TT_REMOVE_CV_HPP_INCLUDED
 
 #include <ndnboost/type_traits/broken_compiler_spec.hpp>
 #include <ndnboost/type_traits/detail/cv_traits_impl.hpp>
@@ -18,7 +18,7 @@
 
 #include <cstddef>
 
-#if BOOST_WORKAROUND(BOOST_MSVC,<=1300)
+#if NDNBOOST_WORKAROUND(NDNBOOST_MSVC,<=1300)
 #include <ndnboost/type_traits/msvc/remove_cv.hpp>
 #endif
 
@@ -27,7 +27,7 @@
 
 namespace ndnboost {
 
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#ifndef NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 
 namespace detail{
 
@@ -37,7 +37,7 @@
    typedef typename ndnboost::detail::cv_traits_imp<T*>::unqualified_type type;
 };
 
-#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
+#ifndef NDNBOOST_NO_CXX11_RVALUE_REFERENCES
 //
 // We can't filter out rvalue_references at the same level as
 // references or we get ambiguities from msvc:
@@ -53,15 +53,15 @@
 
 
 //  convert a type T to a non-cv-qualified type - remove_cv<T>
-BOOST_TT_AUX_TYPE_TRAIT_DEF1(remove_cv,T,typename ndnboost::detail::rvalue_ref_filter_rem_cv<T>::type)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_cv,T&,T&)
-#if !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_cv,T const[N],T type[N])
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_cv,T volatile[N],T type[N])
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_cv,T const volatile[N],T type[N])
+NDNBOOST_TT_AUX_TYPE_TRAIT_DEF1(remove_cv,T,typename ndnboost::detail::rvalue_ref_filter_rem_cv<T>::type)
+NDNBOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_cv,T&,T&)
+#if !defined(NDNBOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)
+NDNBOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_cv,T const[N],T type[N])
+NDNBOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_cv,T volatile[N],T type[N])
+NDNBOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_cv,T const volatile[N],T type[N])
 #endif
 
-#elif !BOOST_WORKAROUND(BOOST_MSVC,<=1300)
+#elif !NDNBOOST_WORKAROUND(NDNBOOST_MSVC,<=1300)
 
 namespace detail {
 template <typename T>
@@ -73,12 +73,12 @@
 };
 }
 
-BOOST_TT_AUX_TYPE_TRAIT_DEF1(remove_cv,T,typename ndnboost::detail::remove_cv_impl<T>::type)
+NDNBOOST_TT_AUX_TYPE_TRAIT_DEF1(remove_cv,T,typename ndnboost::detail::remove_cv_impl<T>::type)
 
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#endif // NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 
 } // namespace ndnboost
 
 #include <ndnboost/type_traits/detail/type_trait_undef.hpp>
 
-#endif // BOOST_TT_REMOVE_CV_HPP_INCLUDED
+#endif // NDNBOOST_TT_REMOVE_CV_HPP_INCLUDED
diff --git a/include/ndnboost/type_traits/remove_extent.hpp b/include/ndnboost/type_traits/remove_extent.hpp
index 1c4bc0d..a13317d 100644
--- a/include/ndnboost/type_traits/remove_extent.hpp
+++ b/include/ndnboost/type_traits/remove_extent.hpp
@@ -6,36 +6,36 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#ifndef BOOST_TT_REMOVE_EXTENT_HPP_INCLUDED
-#define BOOST_TT_REMOVE_EXTENT_HPP_INCLUDED
+#ifndef NDNBOOST_TT_REMOVE_EXTENT_HPP_INCLUDED
+#define NDNBOOST_TT_REMOVE_EXTENT_HPP_INCLUDED
 
 #include <ndnboost/config.hpp>
 #include <ndnboost/detail/workaround.hpp>
 #include <cstddef>
 
-#if BOOST_WORKAROUND(BOOST_MSVC,<=1300)
+#if NDNBOOST_WORKAROUND(NDNBOOST_MSVC,<=1300)
 #include <ndnboost/type_traits/msvc/remove_extent.hpp>
 #endif
 
 // should be the last #include
 #include <ndnboost/type_traits/detail/type_trait_def.hpp>
 
-#if !BOOST_WORKAROUND(BOOST_MSVC,<=1300)
+#if !NDNBOOST_WORKAROUND(NDNBOOST_MSVC,<=1300)
 
 namespace ndnboost {
 
-BOOST_TT_AUX_TYPE_TRAIT_DEF1(remove_extent,T,T)
+NDNBOOST_TT_AUX_TYPE_TRAIT_DEF1(remove_extent,T,T)
 
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_extent,T[N],T type)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_extent,T const[N],T const type)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_extent,T volatile[N],T volatile type)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_extent,T const volatile[N],T const volatile type)
-#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) && !defined(__IBMCPP__) &&  !BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840))
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_extent,T[],T)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_extent,T const[],T const)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_extent,T volatile[],T volatile)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_extent,T const volatile[],T const volatile)
+#if !defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(NDNBOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)
+NDNBOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_extent,T[N],T type)
+NDNBOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_extent,T const[N],T const type)
+NDNBOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_extent,T volatile[N],T volatile type)
+NDNBOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_extent,T const volatile[N],T const volatile type)
+#if !NDNBOOST_WORKAROUND(__BORLANDC__, NDNBOOST_TESTED_AT(0x610)) && !defined(__IBMCPP__) &&  !NDNBOOST_WORKAROUND(__DMC__, NDNBOOST_TESTED_AT(0x840))
+NDNBOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_extent,T[],T)
+NDNBOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_extent,T const[],T const)
+NDNBOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_extent,T volatile[],T volatile)
+NDNBOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_extent,T const volatile[],T const volatile)
 #endif
 #endif
 
@@ -45,4 +45,4 @@
 
 #include <ndnboost/type_traits/detail/type_trait_undef.hpp>
 
-#endif // BOOST_TT_REMOVE_BOUNDS_HPP_INCLUDED
+#endif // NDNBOOST_TT_REMOVE_BOUNDS_HPP_INCLUDED
diff --git a/include/ndnboost/type_traits/remove_pointer.hpp b/include/ndnboost/type_traits/remove_pointer.hpp
index c3d2bee..aa8a2e8 100644
--- a/include/ndnboost/type_traits/remove_pointer.hpp
+++ b/include/ndnboost/type_traits/remove_pointer.hpp
@@ -6,18 +6,18 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#ifndef BOOST_TT_REMOVE_POINTER_HPP_INCLUDED
-#define BOOST_TT_REMOVE_POINTER_HPP_INCLUDED
+#ifndef NDNBOOST_TT_REMOVE_POINTER_HPP_INCLUDED
+#define NDNBOOST_TT_REMOVE_POINTER_HPP_INCLUDED
 
 #include <ndnboost/config.hpp>
 #include <ndnboost/detail/workaround.hpp>
-#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#ifdef NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 #include <ndnboost/type_traits/broken_compiler_spec.hpp>
 #endif
 
-#if BOOST_WORKAROUND(BOOST_MSVC,<=1300)
+#if NDNBOOST_WORKAROUND(NDNBOOST_MSVC,<=1300)
 #include <ndnboost/type_traits/msvc/remove_pointer.hpp>
-#elif defined(BOOST_MSVC)
+#elif defined(NDNBOOST_MSVC)
 #include <ndnboost/type_traits/remove_cv.hpp>
 #include <ndnboost/type_traits/is_pointer.hpp>
 #endif
@@ -27,7 +27,7 @@
 
 namespace ndnboost {
 
-#ifdef BOOST_MSVC
+#ifdef NDNBOOST_MSVC
 
 namespace detail{
 
@@ -69,19 +69,19 @@
    };
 }
 
-BOOST_TT_AUX_TYPE_TRAIT_DEF1(remove_pointer,T,typename ndnboost::detail::remove_pointer_imp2<T>::type)
+NDNBOOST_TT_AUX_TYPE_TRAIT_DEF1(remove_pointer,T,typename ndnboost::detail::remove_pointer_imp2<T>::type)
 
-#elif !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+#elif !defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
 
-BOOST_TT_AUX_TYPE_TRAIT_DEF1(remove_pointer,T,T)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_pointer,T*,T)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_pointer,T* const,T)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_pointer,T* volatile,T)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_pointer,T* const volatile,T)
+NDNBOOST_TT_AUX_TYPE_TRAIT_DEF1(remove_pointer,T,T)
+NDNBOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_pointer,T*,T)
+NDNBOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_pointer,T* const,T)
+NDNBOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_pointer,T* volatile,T)
+NDNBOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_pointer,T* const volatile,T)
 
-#elif !BOOST_WORKAROUND(BOOST_MSVC,<=1300)
+#elif !NDNBOOST_WORKAROUND(NDNBOOST_MSVC,<=1300)
 
-BOOST_TT_AUX_TYPE_TRAIT_DEF1(remove_pointer,T,typename ndnboost::detail::remove_pointer_impl<T>::type)
+NDNBOOST_TT_AUX_TYPE_TRAIT_DEF1(remove_pointer,T,typename ndnboost::detail::remove_pointer_impl<T>::type)
 
 #endif
 
@@ -89,4 +89,4 @@
 
 #include <ndnboost/type_traits/detail/type_trait_undef.hpp>
 
-#endif // BOOST_TT_REMOVE_POINTER_HPP_INCLUDED
+#endif // NDNBOOST_TT_REMOVE_POINTER_HPP_INCLUDED
diff --git a/include/ndnboost/type_traits/remove_reference.hpp b/include/ndnboost/type_traits/remove_reference.hpp
index d84c6ac..4421c59 100644
--- a/include/ndnboost/type_traits/remove_reference.hpp
+++ b/include/ndnboost/type_traits/remove_reference.hpp
@@ -6,14 +6,14 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#ifndef BOOST_TT_REMOVE_REFERENCE_HPP_INCLUDED
-#define BOOST_TT_REMOVE_REFERENCE_HPP_INCLUDED
+#ifndef NDNBOOST_TT_REMOVE_REFERENCE_HPP_INCLUDED
+#define NDNBOOST_TT_REMOVE_REFERENCE_HPP_INCLUDED
 
 #include <ndnboost/type_traits/broken_compiler_spec.hpp>
 #include <ndnboost/config.hpp>
 #include <ndnboost/detail/workaround.hpp>
 
-#if BOOST_WORKAROUND(BOOST_MSVC,<=1300)
+#if NDNBOOST_WORKAROUND(NDNBOOST_MSVC,<=1300)
 #include <ndnboost/type_traits/msvc/remove_reference.hpp>
 #endif
 
@@ -22,7 +22,7 @@
 
 namespace ndnboost {
 
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#ifndef NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 
 namespace detail{
 //
@@ -34,7 +34,7 @@
 {
    typedef T type;
 };
-#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
+#ifndef NDNBOOST_NO_CXX11_RVALUE_REFERENCES
 template <class T>
 struct remove_rvalue_ref<T&&>
 {
@@ -44,27 +44,27 @@
 
 } // namespace detail
 
-BOOST_TT_AUX_TYPE_TRAIT_DEF1(remove_reference,T,typename ndnboost::detail::remove_rvalue_ref<T>::type)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_reference,T&,T)
+NDNBOOST_TT_AUX_TYPE_TRAIT_DEF1(remove_reference,T,typename ndnboost::detail::remove_rvalue_ref<T>::type)
+NDNBOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_reference,T&,T)
 
-#if defined(BOOST_ILLEGAL_CV_REFERENCES)
+#if defined(NDNBOOST_ILLEGAL_CV_REFERENCES)
 // these are illegal specialisations; cv-qualifies applied to
 // references have no effect according to [8.3.2p1],
 // C++ Builder requires them though as it treats cv-qualified
 // references as distinct types...
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_reference,T& const,T)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_reference,T& volatile,T)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_reference,T& const volatile,T)
+NDNBOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_reference,T& const,T)
+NDNBOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_reference,T& volatile,T)
+NDNBOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_reference,T& const volatile,T)
 #endif
 
-#elif !BOOST_WORKAROUND(BOOST_MSVC,<=1300)
+#elif !NDNBOOST_WORKAROUND(NDNBOOST_MSVC,<=1300)
 
-BOOST_TT_AUX_TYPE_TRAIT_DEF1(remove_reference,T,typename ndnboost::detail::remove_reference_impl<T>::type)
+NDNBOOST_TT_AUX_TYPE_TRAIT_DEF1(remove_reference,T,typename ndnboost::detail::remove_reference_impl<T>::type)
 
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#endif // NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 
 } // namespace ndnboost
 
 #include <ndnboost/type_traits/detail/type_trait_undef.hpp>
 
-#endif // BOOST_TT_REMOVE_REFERENCE_HPP_INCLUDED
+#endif // NDNBOOST_TT_REMOVE_REFERENCE_HPP_INCLUDED
diff --git a/include/ndnboost/type_traits/remove_volatile.hpp b/include/ndnboost/type_traits/remove_volatile.hpp
index 7549a28..731e9b1 100644
--- a/include/ndnboost/type_traits/remove_volatile.hpp
+++ b/include/ndnboost/type_traits/remove_volatile.hpp
@@ -8,8 +8,8 @@
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
 
-#ifndef BOOST_TT_REMOVE_VOLATILE_HPP_INCLUDED
-#define BOOST_TT_REMOVE_VOLATILE_HPP_INCLUDED
+#ifndef NDNBOOST_TT_REMOVE_VOLATILE_HPP_INCLUDED
+#define NDNBOOST_TT_REMOVE_VOLATILE_HPP_INCLUDED
 
 #include <ndnboost/type_traits/is_const.hpp>
 #include <ndnboost/type_traits/broken_compiler_spec.hpp>
@@ -19,7 +19,7 @@
 
 #include <cstddef>
 
-#if BOOST_WORKAROUND(BOOST_MSVC,<=1300)
+#if NDNBOOST_WORKAROUND(NDNBOOST_MSVC,<=1300)
 #include <ndnboost/type_traits/msvc/remove_volatile.hpp>
 #endif
 
@@ -28,7 +28,7 @@
 
 namespace ndnboost {
 
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#ifndef NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 
 namespace detail {
 
@@ -57,7 +57,7 @@
 // We can't filter out rvalue_references at the same level as
 // references or we get ambiguities from msvc:
 //
-#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
+#ifndef NDNBOOST_NO_CXX11_RVALUE_REFERENCES
 template <typename T>
 struct remove_volatile_impl<T&&>
 {
@@ -68,21 +68,21 @@
 
 // * convert a type T to a non-volatile type - remove_volatile<T>
 
-BOOST_TT_AUX_TYPE_TRAIT_DEF1(remove_volatile,T,typename ndnboost::detail::remove_volatile_impl<T>::type)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_volatile,T&,T&)
-#if !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_volatile,T volatile[N],T type[N])
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_volatile,T const volatile[N],T const type[N])
+NDNBOOST_TT_AUX_TYPE_TRAIT_DEF1(remove_volatile,T,typename ndnboost::detail::remove_volatile_impl<T>::type)
+NDNBOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_volatile,T&,T&)
+#if !defined(NDNBOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)
+NDNBOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_volatile,T volatile[N],T type[N])
+NDNBOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_volatile,T const volatile[N],T const type[N])
 #endif
 
-#elif !BOOST_WORKAROUND(BOOST_MSVC,<=1300)
+#elif !NDNBOOST_WORKAROUND(NDNBOOST_MSVC,<=1300)
 
-BOOST_TT_AUX_TYPE_TRAIT_DEF1(remove_volatile,T,typename ndnboost::detail::remove_volatile_impl<T>::type)
+NDNBOOST_TT_AUX_TYPE_TRAIT_DEF1(remove_volatile,T,typename ndnboost::detail::remove_volatile_impl<T>::type)
 
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#endif // NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 
 } // namespace ndnboost
 
 #include <ndnboost/type_traits/detail/type_trait_undef.hpp>
 
-#endif // BOOST_TT_REMOVE_VOLATILE_HPP_INCLUDED
+#endif // NDNBOOST_TT_REMOVE_VOLATILE_HPP_INCLUDED
diff --git a/include/ndnboost/type_traits/same_traits.hpp b/include/ndnboost/type_traits/same_traits.hpp
index ece4b42..d476c0d 100644
--- a/include/ndnboost/type_traits/same_traits.hpp
+++ b/include/ndnboost/type_traits/same_traits.hpp
@@ -7,9 +7,9 @@
 //
 //  defines is_same:
 
-#ifndef BOOST_TT_SAME_TRAITS_HPP_INCLUDED
-#define BOOST_TT_SAME_TRAITS_HPP_INCLUDED
+#ifndef NDNBOOST_TT_SAME_TRAITS_HPP_INCLUDED
+#define NDNBOOST_TT_SAME_TRAITS_HPP_INCLUDED
 
 #include <ndnboost/type_traits/is_same.hpp>
 
-#endif  // BOOST_TT_SAME_TRAITS_HPP_INCLUDED
+#endif  // NDNBOOST_TT_SAME_TRAITS_HPP_INCLUDED
diff --git a/include/ndnboost/type_traits/transform_traits.hpp b/include/ndnboost/type_traits/transform_traits.hpp
index be4ccf5..f2baa0c 100644
--- a/include/ndnboost/type_traits/transform_traits.hpp
+++ b/include/ndnboost/type_traits/transform_traits.hpp
@@ -9,8 +9,8 @@
 //  remove_reference, add_reference, remove_bounds, remove_pointer.
 //
 
-#ifndef BOOST_TT_TRANSFORM_TRAITS_HPP_INCLUDED
-#define BOOST_TT_TRANSFORM_TRAITS_HPP_INCLUDED
+#ifndef NDNBOOST_TT_TRANSFORM_TRAITS_HPP_INCLUDED
+#define NDNBOOST_TT_TRANSFORM_TRAITS_HPP_INCLUDED
 
 #include <ndnboost/type_traits/add_pointer.hpp>
 #include <ndnboost/type_traits/add_reference.hpp>
@@ -18,4 +18,4 @@
 #include <ndnboost/type_traits/remove_pointer.hpp>
 #include <ndnboost/type_traits/remove_reference.hpp>
 
-#endif // BOOST_TT_TRANSFORM_TRAITS_HPP_INCLUDED
+#endif // NDNBOOST_TT_TRANSFORM_TRAITS_HPP_INCLUDED
diff --git a/include/ndnboost/type_traits/type_with_alignment.hpp b/include/ndnboost/type_traits/type_with_alignment.hpp
index 06b7f91..39160c6 100644
--- a/include/ndnboost/type_traits/type_with_alignment.hpp
+++ b/include/ndnboost/type_traits/type_with_alignment.hpp
@@ -5,8 +5,8 @@
 //
 //  See http://www.boost.org/libs/type_traits for most recent version including documentation.
 
-#ifndef BOOST_TT_TYPE_WITH_ALIGNMENT_INCLUDED
-#define BOOST_TT_TYPE_WITH_ALIGNMENT_INCLUDED
+#ifndef NDNBOOST_TT_TYPE_WITH_ALIGNMENT_INCLUDED
+#define NDNBOOST_TT_TYPE_WITH_ALIGNMENT_INCLUDED
 
 #include <ndnboost/mpl/if.hpp>
 #include <ndnboost/preprocessor/list/for_each_i.hpp>
@@ -24,7 +24,7 @@
 
 #include <cstddef>
 
-#ifdef BOOST_MSVC
+#ifdef NDNBOOST_MSVC
 #   pragma warning(push)
 #   pragma warning(disable: 4121) // alignment is sensitive to packing
 #endif
@@ -40,28 +40,28 @@
 typedef int (alignment_dummy::*member_ptr);
 typedef int (alignment_dummy::*member_function_ptr)();
 
-#ifdef BOOST_HAS_LONG_LONG
-#define BOOST_TT_ALIGNMENT_BASE_TYPES BOOST_PP_TUPLE_TO_LIST( \
+#ifdef NDNBOOST_HAS_LONG_LONG
+#define NDNBOOST_TT_ALIGNMENT_BASE_TYPES NDNBOOST_PP_TUPLE_TO_LIST( \
         12, ( \
         char, short, int, long,  ::ndnboost::long_long_type, float, double, long double \
         , void*, function_ptr, member_ptr, member_function_ptr))
 #else
-#define BOOST_TT_ALIGNMENT_BASE_TYPES BOOST_PP_TUPLE_TO_LIST( \
+#define NDNBOOST_TT_ALIGNMENT_BASE_TYPES NDNBOOST_PP_TUPLE_TO_LIST( \
         11, ( \
         char, short, int, long, float, double, long double \
         , void*, function_ptr, member_ptr, member_function_ptr))
 #endif
 
-#define BOOST_TT_HAS_ONE_T(D,Data,T) ndnboost::detail::has_one_T< T >
+#define NDNBOOST_TT_HAS_ONE_T(D,Data,T) ndnboost::detail::has_one_T< T >
 
-#define BOOST_TT_ALIGNMENT_STRUCT_TYPES                         \
-        BOOST_PP_LIST_TRANSFORM(BOOST_TT_HAS_ONE_T,             \
+#define NDNBOOST_TT_ALIGNMENT_STRUCT_TYPES                         \
+        NDNBOOST_PP_LIST_TRANSFORM(NDNBOOST_TT_HAS_ONE_T,             \
                                 X,                              \
-                                BOOST_TT_ALIGNMENT_BASE_TYPES)
+                                NDNBOOST_TT_ALIGNMENT_BASE_TYPES)
 
-#define BOOST_TT_ALIGNMENT_TYPES                                \
-        BOOST_PP_LIST_APPEND(BOOST_TT_ALIGNMENT_BASE_TYPES,     \
-                             BOOST_TT_ALIGNMENT_STRUCT_TYPES)
+#define NDNBOOST_TT_ALIGNMENT_TYPES                                \
+        NDNBOOST_PP_LIST_APPEND(NDNBOOST_TT_ALIGNMENT_BASE_TYPES,     \
+                             NDNBOOST_TT_ALIGNMENT_STRUCT_TYPES)
 
 //
 // lower_alignment_helper --
@@ -69,7 +69,7 @@
 // This template gets instantiated a lot, so use partial
 // specialization when available to reduce the compiler burden.
 //
-#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#ifdef NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 template <bool found = true>
 struct lower_alignment_helper_impl
 {
@@ -113,16 +113,16 @@
 };
 #endif
 
-#define BOOST_TT_CHOOSE_MIN_ALIGNMENT(R,P,I,T)                                  \
+#define NDNBOOST_TT_CHOOSE_MIN_ALIGNMENT(R,P,I,T)                                  \
         typename lower_alignment_helper<                                        \
-          BOOST_PP_CAT(found,I),target,T                                        \
-        >::type BOOST_PP_CAT(t,I);                                              \
+          NDNBOOST_PP_CAT(found,I),target,T                                        \
+        >::type NDNBOOST_PP_CAT(t,I);                                              \
         enum {                                                                  \
-            BOOST_PP_CAT(found,BOOST_PP_INC(I))                                 \
-              = lower_alignment_helper<BOOST_PP_CAT(found,I),target,T >::value  \
+            NDNBOOST_PP_CAT(found,NDNBOOST_PP_INC(I))                                 \
+              = lower_alignment_helper<NDNBOOST_PP_CAT(found,I),target,T >::value  \
         };
 
-#define BOOST_TT_CHOOSE_T(R,P,I,T) T BOOST_PP_CAT(t,I);
+#define NDNBOOST_TT_CHOOSE_T(R,P,I,T) T NDNBOOST_PP_CAT(t,I);
 
 template <typename T>
 struct has_one_T
@@ -135,55 +135,55 @@
 {
     enum { found0 = false };
 
-    BOOST_PP_LIST_FOR_EACH_I(
-          BOOST_TT_CHOOSE_MIN_ALIGNMENT
+    NDNBOOST_PP_LIST_FOR_EACH_I(
+          NDNBOOST_TT_CHOOSE_MIN_ALIGNMENT
         , ignored
-        , BOOST_TT_ALIGNMENT_TYPES
+        , NDNBOOST_TT_ALIGNMENT_TYPES
         )
 };
 
 union max_align
 {
-    BOOST_PP_LIST_FOR_EACH_I(
-          BOOST_TT_CHOOSE_T
+    NDNBOOST_PP_LIST_FOR_EACH_I(
+          NDNBOOST_TT_CHOOSE_T
         , ignored
-        , BOOST_TT_ALIGNMENT_TYPES
+        , NDNBOOST_TT_ALIGNMENT_TYPES
         )
 };
 
-#undef BOOST_TT_ALIGNMENT_BASE_TYPES
-#undef BOOST_TT_HAS_ONE_T
-#undef BOOST_TT_ALIGNMENT_STRUCT_TYPES
-#undef BOOST_TT_ALIGNMENT_TYPES
-#undef BOOST_TT_CHOOSE_MIN_ALIGNMENT
-#undef BOOST_TT_CHOOSE_T
+#undef NDNBOOST_TT_ALIGNMENT_BASE_TYPES
+#undef NDNBOOST_TT_HAS_ONE_T
+#undef NDNBOOST_TT_ALIGNMENT_STRUCT_TYPES
+#undef NDNBOOST_TT_ALIGNMENT_TYPES
+#undef NDNBOOST_TT_CHOOSE_MIN_ALIGNMENT
+#undef NDNBOOST_TT_CHOOSE_T
 
 template<std::size_t TAlign, std::size_t Align>
 struct is_aligned
 {
-    BOOST_STATIC_CONSTANT(bool,
+    NDNBOOST_STATIC_CONSTANT(bool,
         value = (TAlign >= Align) & (TAlign % Align == 0)
         );
 };
 
-#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::ndnboost::detail::max_align,true)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::ndnboost::detail::lower_alignment<1> ,true)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::ndnboost::detail::lower_alignment<2> ,true)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::ndnboost::detail::lower_alignment<4> ,true)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::ndnboost::detail::lower_alignment<8> ,true)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::ndnboost::detail::lower_alignment<10> ,true)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::ndnboost::detail::lower_alignment<16> ,true)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::ndnboost::detail::lower_alignment<32> ,true)
+#ifdef NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+NDNBOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::ndnboost::detail::max_align,true)
+NDNBOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::ndnboost::detail::lower_alignment<1> ,true)
+NDNBOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::ndnboost::detail::lower_alignment<2> ,true)
+NDNBOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::ndnboost::detail::lower_alignment<4> ,true)
+NDNBOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::ndnboost::detail::lower_alignment<8> ,true)
+NDNBOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::ndnboost::detail::lower_alignment<10> ,true)
+NDNBOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::ndnboost::detail::lower_alignment<16> ,true)
+NDNBOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::ndnboost::detail::lower_alignment<32> ,true)
 #endif
 
 } // namespace detail
 
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#ifndef NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 template<std::size_t Align>
 struct is_pod< ::ndnboost::detail::lower_alignment<Align> >
 {
-        BOOST_STATIC_CONSTANT(std::size_t, value = true);
+        NDNBOOST_STATIC_CONSTANT(std::size_t, value = true);
 };
 #endif
 
@@ -201,10 +201,10 @@
         , ::ndnboost::detail::max_align
         >::type align_t;
 
-    BOOST_STATIC_CONSTANT(std::size_t, found = alignment_of<align_t>::value);
+    NDNBOOST_STATIC_CONSTANT(std::size_t, found = alignment_of<align_t>::value);
 
-    BOOST_STATIC_ASSERT(found >= Align);
-    BOOST_STATIC_ASSERT(found % Align == 0);
+    NDNBOOST_STATIC_ASSERT(found >= Align);
+    NDNBOOST_STATIC_ASSERT(found % Align == 0);
 
  public:
     typedef align_t type;
@@ -239,16 +239,16 @@
 template<> class type_with_alignment<128> { public: typedef align::a128 type; };
 
 namespace detail {
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::ndnboost::align::a2,true)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::ndnboost::align::a4,true)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::ndnboost::align::a8,true)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::ndnboost::align::a16,true)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::ndnboost::align::a32,true)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::ndnboost::align::a64,true)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::ndnboost::align::a128,true)
+NDNBOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::ndnboost::align::a2,true)
+NDNBOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::ndnboost::align::a4,true)
+NDNBOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::ndnboost::align::a8,true)
+NDNBOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::ndnboost::align::a16,true)
+NDNBOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::ndnboost::align::a32,true)
+NDNBOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::ndnboost::align::a64,true)
+NDNBOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::ndnboost::align::a128,true)
 }
 #endif
-#if (defined(BOOST_MSVC) || (defined(BOOST_INTEL) && defined(_MSC_VER))) && _MSC_VER >= 1300
+#if (defined(NDNBOOST_MSVC) || (defined(NDNBOOST_INTEL) && defined(_MSC_VER))) && _MSC_VER >= 1300
 //
 // MSVC supports types which have alignments greater than the normal
 // maximum: these are used for example in the types __m64 and __m128
@@ -334,11 +334,11 @@
 };
 
 namespace detail {
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::ndnboost::align::a8,true)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::ndnboost::align::a16,true)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::ndnboost::align::a32,true)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::ndnboost::align::a64,true)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::ndnboost::align::a128,true)
+NDNBOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::ndnboost::align::a8,true)
+NDNBOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::ndnboost::align::a16,true)
+NDNBOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::ndnboost::align::a32,true)
+NDNBOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::ndnboost::align::a64,true)
+NDNBOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::ndnboost::align::a128,true)
 }
 #endif
 
@@ -363,11 +363,11 @@
 
 typedef ::ndnboost::align::a16 max_align;
 
-//#if ! BOOST_WORKAROUND(__CODEGEARC__, BOOST_TESTED_AT(0x610))
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::ndnboost::align::a2,true)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::ndnboost::align::a4,true)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::ndnboost::align::a8,true)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::ndnboost::align::a16,true)
+//#if ! NDNBOOST_WORKAROUND(__CODEGEARC__, NDNBOOST_TESTED_AT(0x610))
+NDNBOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::ndnboost::align::a2,true)
+NDNBOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::ndnboost::align::a4,true)
+NDNBOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::ndnboost::align::a8,true)
+NDNBOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::ndnboost::align::a16,true)
 //#endif
 }
 
@@ -375,7 +375,7 @@
 {
    // We should never get to here, but if we do use the maximally
    // aligned type:
-   // BOOST_STATIC_ASSERT(0);
+   // NDNBOOST_STATIC_ASSERT(0);
    typedef align::a16 type;
 };
 template <> struct type_with_alignment<1>{ typedef char type; };
@@ -388,12 +388,12 @@
 
 } // namespace ndnboost
 
-#ifdef BOOST_MSVC
+#ifdef NDNBOOST_MSVC
 #   pragma warning(pop)
 #endif
 
 #include <ndnboost/type_traits/detail/bool_trait_undef.hpp>
 
-#endif // BOOST_TT_TYPE_WITH_ALIGNMENT_INCLUDED
+#endif // NDNBOOST_TT_TYPE_WITH_ALIGNMENT_INCLUDED
 
 
diff --git a/include/ndnboost/typeof/dmc/typeof_impl.hpp b/include/ndnboost/typeof/dmc/typeof_impl.hpp
index ff77ab0..3b40f76 100644
--- a/include/ndnboost/typeof/dmc/typeof_impl.hpp
+++ b/include/ndnboost/typeof/dmc/typeof_impl.hpp
@@ -3,8 +3,8 @@
 // Use, modification and distribution is subject to the Boost Software
 // License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt)
 
-#ifndef BOOST_TYPEOF_MSVC_TYPEOF_IMPL_HPP_INCLUDED
-# define BOOST_TYPEOF_MSVC_TYPEOF_IMPL_HPP_INCLUDED
+#ifndef NDNBOOST_TYPEOF_MSVC_TYPEOF_IMPL_HPP_INCLUDED
+# define NDNBOOST_TYPEOF_MSVC_TYPEOF_IMPL_HPP_INCLUDED
 
 # include <ndnboost/config.hpp>
 # include <ndnboost/detail/workaround.hpp>
@@ -20,8 +20,8 @@
 
         char (*encode_index(...))[1];
 
-# define BOOST_TYPEOF_INDEX(T) (sizeof(*ndnboost::type_of::encode_index((ndnboost::type_of::encode_counter<1000>*)0)))
-# define BOOST_TYPEOF_NEXT_INDEX(next) friend char (*encode_index(encode_counter<next>*))[next];
+# define NDNBOOST_TYPEOF_INDEX(T) (sizeof(*ndnboost::type_of::encode_index((ndnboost::type_of::encode_counter<1000>*)0)))
+# define NDNBOOST_TYPEOF_NEXT_INDEX(next) friend char (*encode_index(encode_counter<next>*))[next];
 
 
         //Typeof code
@@ -54,13 +54,13 @@
         struct encode_type
         {
             //Get the next available compile time constants index
-            BOOST_STATIC_CONSTANT(unsigned,value=BOOST_TYPEOF_INDEX(T));
+            NDNBOOST_STATIC_CONSTANT(unsigned,value=NDNBOOST_TYPEOF_INDEX(T));
             //Instantiate the template
             typedef typename msvc_register_type<T,mpl::int_<value> >::id2type type;
             //Set the next compile time constants index
-            BOOST_STATIC_CONSTANT(unsigned,next=value+1);
+            NDNBOOST_STATIC_CONSTANT(unsigned,next=value+1);
             //Increment the compile time constant (only needed when extensions are not active
-            BOOST_TYPEOF_NEXT_INDEX(next);
+            NDNBOOST_TYPEOF_NEXT_INDEX(next);
         };
 
         template<class T>
@@ -75,21 +75,21 @@
         template<typename Organizer, typename T>
         msvc_register_type<T,Organizer> typeof_register_type(const T&,Organizer* =0);
 
-# define BOOST_TYPEOF(expr) \
+# define NDNBOOST_TYPEOF(expr) \
     ndnboost::type_of::msvc_typeid_wrapper<sizeof(*ndnboost::type_of::encode_start(expr))>::type
 
-# define BOOST_TYPEOF_TPL(expr) typename BOOST_TYPEOF(expr)
+# define NDNBOOST_TYPEOF_TPL(expr) typename NDNBOOST_TYPEOF(expr)
 
-# define BOOST_TYPEOF_NESTED_TYPEDEF_TPL(name,expr) \
+# define NDNBOOST_TYPEOF_NESTED_TYPEDEF_TPL(name,expr) \
     struct name {\
-        BOOST_STATIC_CONSTANT(int,_typeof_register_value=sizeof(ndnboost::type_of::typeof_register_type<name>(expr)));\
+        NDNBOOST_STATIC_CONSTANT(int,_typeof_register_value=sizeof(ndnboost::type_of::typeof_register_type<name>(expr)));\
         typedef typename ndnboost::type_of::msvc_extract_type<name>::id2type id2type;\
         typedef typename id2type::type type;\
     };
 
-# define BOOST_TYPEOF_NESTED_TYPEDEF(name,expr) \
+# define NDNBOOST_TYPEOF_NESTED_TYPEDEF(name,expr) \
     struct name {\
-        BOOST_STATIC_CONSTANT(int,_typeof_register_value=sizeof(ndnboost::type_of::typeof_register_type<name>(expr)));\
+        NDNBOOST_STATIC_CONSTANT(int,_typeof_register_value=sizeof(ndnboost::type_of::typeof_register_type<name>(expr)));\
         typedef ndnboost::type_of::msvc_extract_type<name>::id2type id2type;\
         typedef id2type::type type;\
     };
@@ -97,4 +97,4 @@
     }
 }
 
-#endif//BOOST_TYPEOF_MSVC_TYPEOF_IMPL_HPP_INCLUDED
+#endif//NDNBOOST_TYPEOF_MSVC_TYPEOF_IMPL_HPP_INCLUDED
diff --git a/include/ndnboost/typeof/encode_decode.hpp b/include/ndnboost/typeof/encode_decode.hpp
index 5a1d62a..d5a1160 100644
--- a/include/ndnboost/typeof/encode_decode.hpp
+++ b/include/ndnboost/typeof/encode_decode.hpp
@@ -5,30 +5,30 @@
 
 // boostinspect:nounnamed
 
-#ifndef BOOST_TYPEOF_ENCODE_DECODE_HPP_INCLUDED
-#define BOOST_TYPEOF_ENCODE_DECODE_HPP_INCLUDED
+#ifndef NDNBOOST_TYPEOF_ENCODE_DECODE_HPP_INCLUDED
+#define NDNBOOST_TYPEOF_ENCODE_DECODE_HPP_INCLUDED
 
 #include <ndnboost/mpl/deref.hpp>
 #include <ndnboost/mpl/next.hpp>
 
-#ifndef BOOST_TYPEOF_SUPPRESS_UNNAMED_NAMESPACE
+#ifndef NDNBOOST_TYPEOF_SUPPRESS_UNNAMED_NAMESPACE
 
-#   define BOOST_TYPEOF_BEGIN_ENCODE_NS namespace { namespace ndnboost_typeof {
-#   define BOOST_TYPEOF_END_ENCODE_NS }}
-#   define BOOST_TYPEOF_ENCODE_NS_QUALIFIER ndnboost_typeof
+#   define NDNBOOST_TYPEOF_BEGIN_ENCODE_NS namespace { namespace ndnboost_typeof {
+#   define NDNBOOST_TYPEOF_END_ENCODE_NS }}
+#   define NDNBOOST_TYPEOF_ENCODE_NS_QUALIFIER ndnboost_typeof
 
 #else
 
-#   define BOOST_TYPEOF_BEGIN_ENCODE_NS namespace ndnboost { namespace type_of {
-#   define BOOST_TYPEOF_END_ENCODE_NS }}
-#   define BOOST_TYPEOF_ENCODE_NS_QUALIFIER ndnboost::type_of
+#   define NDNBOOST_TYPEOF_BEGIN_ENCODE_NS namespace ndnboost { namespace type_of {
+#   define NDNBOOST_TYPEOF_END_ENCODE_NS }}
+#   define NDNBOOST_TYPEOF_ENCODE_NS_QUALIFIER ndnboost::type_of
 
-#   define BOOST_TYPEOF_TEXT "unnamed namespace is off"
+#   define NDNBOOST_TYPEOF_TEXT "unnamed namespace is off"
 #   include <ndnboost/typeof/message.hpp>
 
 #endif
 
-BOOST_TYPEOF_BEGIN_ENCODE_NS
+NDNBOOST_TYPEOF_BEGIN_ENCODE_NS
 
 template<class V, class Type_Not_Registered_With_Typeof_System>
 struct encode_type_impl;
@@ -42,20 +42,20 @@
 template<class T>
 struct decode_nested_template_helper_impl;
 
-BOOST_TYPEOF_END_ENCODE_NS
+NDNBOOST_TYPEOF_END_ENCODE_NS
 
 namespace ndnboost { namespace type_of {
 
     template<class V, class T>
-    struct encode_type : BOOST_TYPEOF_ENCODE_NS_QUALIFIER::encode_type_impl<V, T>
+    struct encode_type : NDNBOOST_TYPEOF_ENCODE_NS_QUALIFIER::encode_type_impl<V, T>
     {};
 
     template<class Iter>
-    struct decode_type : BOOST_TYPEOF_ENCODE_NS_QUALIFIER::decode_type_impl<
+    struct decode_type : NDNBOOST_TYPEOF_ENCODE_NS_QUALIFIER::decode_type_impl<
         typename Iter::type,
         typename Iter::next
     >
     {};
 }}
 
-#endif//BOOST_TYPEOF_ENCODE_DECODE_HPP_INCLUDED
+#endif//NDNBOOST_TYPEOF_ENCODE_DECODE_HPP_INCLUDED
diff --git a/include/ndnboost/typeof/encode_decode_params.hpp b/include/ndnboost/typeof/encode_decode_params.hpp
index 2e57a84..622b476 100644
--- a/include/ndnboost/typeof/encode_decode_params.hpp
+++ b/include/ndnboost/typeof/encode_decode_params.hpp
@@ -2,33 +2,33 @@
 // Distributed under the Boost Software License, Version 1.0. (See accompanying
 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 
-#ifndef BOOST_TYPEOF_ENCODE_DECODE_PARAMS_HPP_INCLUDED
-#define BOOST_TYPEOF_ENCODE_DECODE_PARAMS_HPP_INCLUDED
+#ifndef NDNBOOST_TYPEOF_ENCODE_DECODE_PARAMS_HPP_INCLUDED
+#define NDNBOOST_TYPEOF_ENCODE_DECODE_PARAMS_HPP_INCLUDED
 
 #include <ndnboost/preprocessor/cat.hpp>
 #include <ndnboost/preprocessor/repetition/repeat.hpp>
 
 // Assumes iter0 contains initial iterator
 
-#define BOOST_TYPEOF_DECODE_PARAM(z, n, text)   \
+#define NDNBOOST_TYPEOF_DECODE_PARAM(z, n, text)   \
     typedef ndnboost::type_of::decode_type<iter##n> decode##n;     \
     typedef typename decode##n::type p##n;      \
-    typedef typename decode##n::iter BOOST_PP_CAT(iter, BOOST_PP_INC(n));
+    typedef typename decode##n::iter NDNBOOST_PP_CAT(iter, NDNBOOST_PP_INC(n));
 
-#define BOOST_TYPEOF_DECODE_PARAMS(n)\
-    BOOST_PP_REPEAT(n, BOOST_TYPEOF_DECODE_PARAM, ~)
+#define NDNBOOST_TYPEOF_DECODE_PARAMS(n)\
+    NDNBOOST_PP_REPEAT(n, NDNBOOST_TYPEOF_DECODE_PARAM, ~)
 
 // The P0, P1, ... PN are encoded and added to V 
 
-#define BOOST_TYPEOF_ENCODE_PARAMS_BEGIN(z, n, text)\
+#define NDNBOOST_TYPEOF_ENCODE_PARAMS_BEGIN(z, n, text)\
     typename ndnboost::type_of::encode_type<
 
-#define BOOST_TYPEOF_ENCODE_PARAMS_END(z, n, text)\
-    , BOOST_PP_CAT(P, n)>::type
+#define NDNBOOST_TYPEOF_ENCODE_PARAMS_END(z, n, text)\
+    , NDNBOOST_PP_CAT(P, n)>::type
 
-#define BOOST_TYPEOF_ENCODE_PARAMS(n, ID)                   \
-    BOOST_PP_REPEAT(n, BOOST_TYPEOF_ENCODE_PARAMS_BEGIN, ~) \
+#define NDNBOOST_TYPEOF_ENCODE_PARAMS(n, ID)                   \
+    NDNBOOST_PP_REPEAT(n, NDNBOOST_TYPEOF_ENCODE_PARAMS_BEGIN, ~) \
     typename ndnboost::type_of::push_back<V, ndnboost::mpl::size_t<ID> >::type      \
-    BOOST_PP_REPEAT(n, BOOST_TYPEOF_ENCODE_PARAMS_END, ~)
+    NDNBOOST_PP_REPEAT(n, NDNBOOST_TYPEOF_ENCODE_PARAMS_END, ~)
 
-#endif//BOOST_TYPEOF_ENCODE_DECODE_PARAMS_HPP_INCLUDED
+#endif//NDNBOOST_TYPEOF_ENCODE_DECODE_PARAMS_HPP_INCLUDED
diff --git a/include/ndnboost/typeof/int_encoding.hpp b/include/ndnboost/typeof/int_encoding.hpp
index faccdda..037277c 100644
--- a/include/ndnboost/typeof/int_encoding.hpp
+++ b/include/ndnboost/typeof/int_encoding.hpp
@@ -2,8 +2,8 @@
 // Use, modification and distribution is subject to the Boost Software
 // License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt)
 
-#ifndef BOOST_TYPEOF_INT_ENCODING_HPP_INCLUDED
-#define BOOST_TYPEOF_INT_ENCODING_HPP_INCLUDED
+#ifndef NDNBOOST_TYPEOF_INT_ENCODING_HPP_INCLUDED
+#define NDNBOOST_TYPEOF_INT_ENCODING_HPP_INCLUDED
 
 #include <ndnboost/mpl/if.hpp>
 #include <ndnboost/mpl/size_t.hpp>
@@ -41,14 +41,14 @@
     template<std::size_t n, bool Overflow>
     struct pack
     {
-        BOOST_STATIC_CONSTANT(std::size_t , value=((n + 1) * 2 + (Overflow ? 1 : 0)));
+        NDNBOOST_STATIC_CONSTANT(std::size_t , value=((n + 1) * 2 + (Overflow ? 1 : 0)));
     };
 
     template<std::size_t m>
     struct unpack
     {
-        BOOST_STATIC_CONSTANT(std::size_t, value = (m / 2) - 1);
-        BOOST_STATIC_CONSTANT(std::size_t, overflow = (m % 2 == 1));
+        NDNBOOST_STATIC_CONSTANT(std::size_t, value = (m / 2) - 1);
+        NDNBOOST_STATIC_CONSTANT(std::size_t, overflow = (m % 2 == 1));
     };
 
     ////////////////////////////////
@@ -83,16 +83,16 @@
     template<std::size_t n, class Iter>
     struct decode_size_t<n, Iter, false>
     {
-        BOOST_STATIC_CONSTANT(std::size_t,value = n);
+        NDNBOOST_STATIC_CONSTANT(std::size_t,value = n);
         typedef Iter iter;
     };
 
     template<std::size_t n, class Iter>
     struct decode_size_t<n, Iter, true>
     {
-        BOOST_STATIC_CONSTANT(std::size_t,m = Iter::type::value);
+        NDNBOOST_STATIC_CONSTANT(std::size_t,m = Iter::type::value);
 
-        BOOST_STATIC_CONSTANT(std::size_t,value = (std::size_t)m * 0x3ffffffe + n);
+        NDNBOOST_STATIC_CONSTANT(std::size_t,value = (std::size_t)m * 0x3ffffffe + n);
         typedef typename Iter::next iter;
     };
 
@@ -100,11 +100,11 @@
     struct decode_integral
     {
         typedef decode_integral<T,Iter> self_t;
-        BOOST_STATIC_CONSTANT(std::size_t,m = Iter::type::value);
+        NDNBOOST_STATIC_CONSTANT(std::size_t,m = Iter::type::value);
 
-        BOOST_STATIC_CONSTANT(std::size_t,n = unpack<m>::value);
+        NDNBOOST_STATIC_CONSTANT(std::size_t,n = unpack<m>::value);
 
-        BOOST_STATIC_CONSTANT(std::size_t,overflow = unpack<m>::overflow);
+        NDNBOOST_STATIC_CONSTANT(std::size_t,overflow = unpack<m>::overflow);
 
         typedef typename Iter::next nextpos;
 
@@ -115,4 +115,4 @@
 
 }}//namespace
 
-#endif//BOOST_TYPEOF_INT_ENCODING_HPP_INCLUDED
+#endif//NDNBOOST_TYPEOF_INT_ENCODING_HPP_INCLUDED
diff --git a/include/ndnboost/typeof/integral_template_param.hpp b/include/ndnboost/typeof/integral_template_param.hpp
index 446a3d1..1e418f3 100644
--- a/include/ndnboost/typeof/integral_template_param.hpp
+++ b/include/ndnboost/typeof/integral_template_param.hpp
@@ -2,79 +2,79 @@
 // Distributed under the Boost Software License, Version 1.0. (See accompanying
 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 
-#ifndef BOOST_TYPEOF_INTEGRAL_TEMPLATE_PARAM_HPP_INCLUDED
-#define BOOST_TYPEOF_INTEGRAL_TEMPLATE_PARAM_HPP_INCLUDED
+#ifndef NDNBOOST_TYPEOF_INTEGRAL_TEMPLATE_PARAM_HPP_INCLUDED
+#define NDNBOOST_TYPEOF_INTEGRAL_TEMPLATE_PARAM_HPP_INCLUDED
 
-#define BOOST_TYPEOF_unsigned (unsigned)
-#define BOOST_TYPEOF_signed (signed)
+#define NDNBOOST_TYPEOF_unsigned (unsigned)
+#define NDNBOOST_TYPEOF_signed (signed)
 
-#define char_BOOST_TYPEOF (char)
-#define short_BOOST_TYPEOF (short)
-#define int_BOOST_TYPEOF (int)
-#define long_BOOST_TYPEOF (long)
+#define char_NDNBOOST_TYPEOF (char)
+#define short_NDNBOOST_TYPEOF (short)
+#define int_NDNBOOST_TYPEOF (int)
+#define long_NDNBOOST_TYPEOF (long)
 
-#define BOOST_TYPEOF_char_BOOST_TYPEOF (char)
-#define BOOST_TYPEOF_short_BOOST_TYPEOF (short)
-#define BOOST_TYPEOF_int_BOOST_TYPEOF (int)
-#define BOOST_TYPEOF_long_BOOST_TYPEOF (long)
-#define BOOST_TYPEOF_bool_BOOST_TYPEOF (bool)
-#define BOOST_TYPEOF_unsigned_BOOST_TYPEOF (unsigned)
-#define BOOST_TYPEOF_size_t_BOOST_TYPEOF (size_t)
+#define NDNBOOST_TYPEOF_char_NDNBOOST_TYPEOF (char)
+#define NDNBOOST_TYPEOF_short_NDNBOOST_TYPEOF (short)
+#define NDNBOOST_TYPEOF_int_NDNBOOST_TYPEOF (int)
+#define NDNBOOST_TYPEOF_long_NDNBOOST_TYPEOF (long)
+#define NDNBOOST_TYPEOF_bool_NDNBOOST_TYPEOF (bool)
+#define NDNBOOST_TYPEOF_unsigned_NDNBOOST_TYPEOF (unsigned)
+#define NDNBOOST_TYPEOF_size_t_NDNBOOST_TYPEOF (size_t)
 
-#define BOOST_TYPEOF_MAKE_OBJ_char          BOOST_TYPEOF_INTEGRAL_PARAM(char)
-#define BOOST_TYPEOF_MAKE_OBJ_short         BOOST_TYPEOF_INTEGRAL_PARAM(short)
-#define BOOST_TYPEOF_MAKE_OBJ_int           BOOST_TYPEOF_INTEGRAL_PARAM(int)
-#define BOOST_TYPEOF_MAKE_OBJ_long          BOOST_TYPEOF_INTEGRAL_PARAM(long)
-#define BOOST_TYPEOF_MAKE_OBJ_bool          BOOST_TYPEOF_INTEGRAL_PARAM(bool)
-#define BOOST_TYPEOF_MAKE_OBJ_unsigned      BOOST_TYPEOF_INTEGRAL_PARAM(unsigned)
-#define BOOST_TYPEOF_MAKE_OBJ_size_t        BOOST_TYPEOF_INTEGRAL_PARAM(size_t)
-#define BOOST_TYPEOF_MAKE_OBJ_unsignedchar  BOOST_TYPEOF_INTEGRAL_PARAM(unsigned char)
-#define BOOST_TYPEOF_MAKE_OBJ_unsignedshort BOOST_TYPEOF_INTEGRAL_PARAM(unsigned short)
-#define BOOST_TYPEOF_MAKE_OBJ_unsignedint   BOOST_TYPEOF_INTEGRAL_PARAM(unsigned int)
-#define BOOST_TYPEOF_MAKE_OBJ_unsignedlong  BOOST_TYPEOF_INTEGRAL_PARAM(unsigned long)
-#define BOOST_TYPEOF_MAKE_OBJ_signedchar    BOOST_TYPEOF_INTEGRAL_PARAM(signed char)
-#define BOOST_TYPEOF_MAKE_OBJ_signedshort   BOOST_TYPEOF_INTEGRAL_PARAM(signed short)
-#define BOOST_TYPEOF_MAKE_OBJ_signedint     BOOST_TYPEOF_INTEGRAL_PARAM(signed int)
-#define BOOST_TYPEOF_MAKE_OBJ_signedlong    BOOST_TYPEOF_INTEGRAL_PARAM(signed long)
-#define BOOST_TYPEOF_MAKE_OBJ_integral(x)   BOOST_TYPEOF_INTEGRAL_PARAM(x)
+#define NDNBOOST_TYPEOF_MAKE_OBJ_char          NDNBOOST_TYPEOF_INTEGRAL_PARAM(char)
+#define NDNBOOST_TYPEOF_MAKE_OBJ_short         NDNBOOST_TYPEOF_INTEGRAL_PARAM(short)
+#define NDNBOOST_TYPEOF_MAKE_OBJ_int           NDNBOOST_TYPEOF_INTEGRAL_PARAM(int)
+#define NDNBOOST_TYPEOF_MAKE_OBJ_long          NDNBOOST_TYPEOF_INTEGRAL_PARAM(long)
+#define NDNBOOST_TYPEOF_MAKE_OBJ_bool          NDNBOOST_TYPEOF_INTEGRAL_PARAM(bool)
+#define NDNBOOST_TYPEOF_MAKE_OBJ_unsigned      NDNBOOST_TYPEOF_INTEGRAL_PARAM(unsigned)
+#define NDNBOOST_TYPEOF_MAKE_OBJ_size_t        NDNBOOST_TYPEOF_INTEGRAL_PARAM(size_t)
+#define NDNBOOST_TYPEOF_MAKE_OBJ_unsignedchar  NDNBOOST_TYPEOF_INTEGRAL_PARAM(unsigned char)
+#define NDNBOOST_TYPEOF_MAKE_OBJ_unsignedshort NDNBOOST_TYPEOF_INTEGRAL_PARAM(unsigned short)
+#define NDNBOOST_TYPEOF_MAKE_OBJ_unsignedint   NDNBOOST_TYPEOF_INTEGRAL_PARAM(unsigned int)
+#define NDNBOOST_TYPEOF_MAKE_OBJ_unsignedlong  NDNBOOST_TYPEOF_INTEGRAL_PARAM(unsigned long)
+#define NDNBOOST_TYPEOF_MAKE_OBJ_signedchar    NDNBOOST_TYPEOF_INTEGRAL_PARAM(signed char)
+#define NDNBOOST_TYPEOF_MAKE_OBJ_signedshort   NDNBOOST_TYPEOF_INTEGRAL_PARAM(signed short)
+#define NDNBOOST_TYPEOF_MAKE_OBJ_signedint     NDNBOOST_TYPEOF_INTEGRAL_PARAM(signed int)
+#define NDNBOOST_TYPEOF_MAKE_OBJ_signedlong    NDNBOOST_TYPEOF_INTEGRAL_PARAM(signed long)
+#define NDNBOOST_TYPEOF_MAKE_OBJ_integral(x)   NDNBOOST_TYPEOF_INTEGRAL_PARAM(x)
 
-#define BOOST_TYPEOF_INTEGRAL(X) integral(X) BOOST_TYPEOF_EAT
-#define BOOST_TYPEOF_EAT_BOOST_TYPEOF
-#define BOOST_TYPEOF_integral(X) (integral(X))
+#define NDNBOOST_TYPEOF_INTEGRAL(X) integral(X) NDNBOOST_TYPEOF_EAT
+#define NDNBOOST_TYPEOF_EAT_NDNBOOST_TYPEOF
+#define NDNBOOST_TYPEOF_integral(X) (integral(X))
 
-#define BOOST_TYPEOF_INTEGRAL_PARAM(Type)\
+#define NDNBOOST_TYPEOF_INTEGRAL_PARAM(Type)\
     (INTEGRAL_PARAM)\
     (Type)
 
-#define BOOST_TYPEOF_INTEGRAL_PARAM_GETTYPE(Param)\
-    BOOST_PP_SEQ_ELEM(1, Param)
+#define NDNBOOST_TYPEOF_INTEGRAL_PARAM_GETTYPE(Param)\
+    NDNBOOST_PP_SEQ_ELEM(1, Param)
 
-#define BOOST_TYPEOF_INTEGRAL_PARAM_EXPANDTYPE(Param)\
-    BOOST_TYPEOF_INTEGRAL_PARAM_GETTYPE(Param)
+#define NDNBOOST_TYPEOF_INTEGRAL_PARAM_EXPANDTYPE(Param)\
+    NDNBOOST_TYPEOF_INTEGRAL_PARAM_GETTYPE(Param)
 
 // INTEGRAL_PARAM "virtual functions" implementation
 
-#define BOOST_TYPEOF_INTEGRAL_PARAM_ENCODE(This, n)\
+#define NDNBOOST_TYPEOF_INTEGRAL_PARAM_ENCODE(This, n)\
     typedef typename ndnboost::type_of::encode_integral<\
-        BOOST_PP_CAT(V, n),\
-        BOOST_TYPEOF_INTEGRAL_PARAM_GETTYPE(This),\
-        BOOST_PP_CAT(P, n)\
-    >::type BOOST_PP_CAT(V, BOOST_PP_INC(n)); 
+        NDNBOOST_PP_CAT(V, n),\
+        NDNBOOST_TYPEOF_INTEGRAL_PARAM_GETTYPE(This),\
+        NDNBOOST_PP_CAT(P, n)\
+    >::type NDNBOOST_PP_CAT(V, NDNBOOST_PP_INC(n)); 
 
-#define BOOST_TYPEOF_INTEGRAL_PARAM_DECODE(This, n)\
-    typedef ndnboost::type_of::decode_integral<BOOST_TYPEOF_INTEGRAL_PARAM_GETTYPE(This), BOOST_PP_CAT(iter, n)> BOOST_PP_CAT(d, n);\
-    static const BOOST_TYPEOF_INTEGRAL_PARAM_GETTYPE(This) BOOST_PP_CAT(P, n) = BOOST_PP_CAT(d, n)::value;\
-    typedef typename BOOST_PP_CAT(d, n)::iter BOOST_PP_CAT(iter, BOOST_PP_INC(n));
+#define NDNBOOST_TYPEOF_INTEGRAL_PARAM_DECODE(This, n)\
+    typedef ndnboost::type_of::decode_integral<NDNBOOST_TYPEOF_INTEGRAL_PARAM_GETTYPE(This), NDNBOOST_PP_CAT(iter, n)> NDNBOOST_PP_CAT(d, n);\
+    static const NDNBOOST_TYPEOF_INTEGRAL_PARAM_GETTYPE(This) NDNBOOST_PP_CAT(P, n) = NDNBOOST_PP_CAT(d, n)::value;\
+    typedef typename NDNBOOST_PP_CAT(d, n)::iter NDNBOOST_PP_CAT(iter, NDNBOOST_PP_INC(n));
 
-#define BOOST_TYPEOF_INTEGRAL_PARAM_PLACEHOLDER(Param)\
-    (BOOST_TYPEOF_INTEGRAL_PARAM_GETTYPE(Param))0
+#define NDNBOOST_TYPEOF_INTEGRAL_PARAM_PLACEHOLDER(Param)\
+    (NDNBOOST_TYPEOF_INTEGRAL_PARAM_GETTYPE(Param))0
 
-#define BOOST_TYPEOF_INTEGRAL_PARAM_DECLARATION_TYPE(Param)\
-    BOOST_TYPEOF_INTEGRAL_PARAM_GETTYPE(Param)
+#define NDNBOOST_TYPEOF_INTEGRAL_PARAM_DECLARATION_TYPE(Param)\
+    NDNBOOST_TYPEOF_INTEGRAL_PARAM_GETTYPE(Param)
 
-#define BOOST_TYPEOF_INTEGRAL_PARAM_PLACEHOLDER_TYPES(Param, n)\
-    BOOST_PP_CAT(T,n)
+#define NDNBOOST_TYPEOF_INTEGRAL_PARAM_PLACEHOLDER_TYPES(Param, n)\
+    NDNBOOST_PP_CAT(T,n)
 
-#define BOOST_TYPEOF_INTEGRAL_PARAM_ISTEMPLATE 0
+#define NDNBOOST_TYPEOF_INTEGRAL_PARAM_ISTEMPLATE 0
 
-#endif//BOOST_TYPEOF_INTEGRAL_TEMPLATE_PARAM_HPP_INCLUDED
+#endif//NDNBOOST_TYPEOF_INTEGRAL_TEMPLATE_PARAM_HPP_INCLUDED
diff --git a/include/ndnboost/typeof/message.hpp b/include/ndnboost/typeof/message.hpp
index cabbb82..a47868f 100644
--- a/include/ndnboost/typeof/message.hpp
+++ b/include/ndnboost/typeof/message.hpp
@@ -2,7 +2,7 @@
 // Use, modification and distribution is subject to the Boost Software
 // License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt)
 
-#if defined(_MSC_VER) && defined BOOST_TYPEOF_MESSAGES
-#    pragma message(BOOST_TYPEOF_TEXT)
+#if defined(_MSC_VER) && defined NDNBOOST_TYPEOF_MESSAGES
+#    pragma message(NDNBOOST_TYPEOF_TEXT)
 #endif
-#undef BOOST_TYPEOF_TEXT
+#undef NDNBOOST_TYPEOF_TEXT
diff --git a/include/ndnboost/typeof/modifiers.hpp b/include/ndnboost/typeof/modifiers.hpp
index afd65df..b985b6b 100644
--- a/include/ndnboost/typeof/modifiers.hpp
+++ b/include/ndnboost/typeof/modifiers.hpp
@@ -2,17 +2,17 @@
 // Distributed under the Boost Software License, Version 1.0. (See accompanying
 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 
-#ifndef BOOST_TYPEOF_MODIFIERS_HPP_INCLUDED
-#define BOOST_TYPEOF_MODIFIERS_HPP_INCLUDED
+#ifndef NDNBOOST_TYPEOF_MODIFIERS_HPP_INCLUDED
+#define NDNBOOST_TYPEOF_MODIFIERS_HPP_INCLUDED
 
 #include <ndnboost/typeof/encode_decode.hpp>
 #include <ndnboost/preprocessor/facilities/identity.hpp>
 
-#include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()
+#include NDNBOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()
 
 // modifiers
 
-#define BOOST_TYPEOF_modifier_support(ID, Fun)\
+#define NDNBOOST_TYPEOF_modifier_support(ID, Fun)\
     template<class V, class T> struct encode_type_impl<V, Fun(T)>\
     {\
         typedef\
@@ -31,61 +31,61 @@
     }
 
 
-#define BOOST_TYPEOF_const_fun(T) const T
-#define BOOST_TYPEOF_volatile_fun(T) volatile T
-#define BOOST_TYPEOF_volatile_const_fun(T) volatile const T
-#define BOOST_TYPEOF_pointer_fun(T) T*
-#define BOOST_TYPEOF_reference_fun(T) T&
+#define NDNBOOST_TYPEOF_const_fun(T) const T
+#define NDNBOOST_TYPEOF_volatile_fun(T) volatile T
+#define NDNBOOST_TYPEOF_volatile_const_fun(T) volatile const T
+#define NDNBOOST_TYPEOF_pointer_fun(T) T*
+#define NDNBOOST_TYPEOF_reference_fun(T) T&
 
 #if defined(__BORLANDC__) && (__BORLANDC__ < 0x600)
 //Borland incorrectly handles T const, T const volatile and T volatile.
 //It drops the decoration no matter what, so we need to try to handle T* const etc. without loosing the top modifier.
-#define BOOST_TYPEOF_const_pointer_fun(T) T const *
-#define BOOST_TYPEOF_const_reference_fun(T) T const &
-#define BOOST_TYPEOF_volatile_pointer_fun(T) T volatile*
-#define BOOST_TYPEOF_volatile_reference_fun(T) T volatile&
-#define BOOST_TYPEOF_volatile_const_pointer_fun(T) T volatile const *
-#define BOOST_TYPEOF_volatile_const_reference_fun(T) T volatile const &
+#define NDNBOOST_TYPEOF_const_pointer_fun(T) T const *
+#define NDNBOOST_TYPEOF_const_reference_fun(T) T const &
+#define NDNBOOST_TYPEOF_volatile_pointer_fun(T) T volatile*
+#define NDNBOOST_TYPEOF_volatile_reference_fun(T) T volatile&
+#define NDNBOOST_TYPEOF_volatile_const_pointer_fun(T) T volatile const *
+#define NDNBOOST_TYPEOF_volatile_const_reference_fun(T) T volatile const &
 #endif
 
-BOOST_TYPEOF_BEGIN_ENCODE_NS
+NDNBOOST_TYPEOF_BEGIN_ENCODE_NS
 
-BOOST_TYPEOF_modifier_support(BOOST_TYPEOF_UNIQUE_ID(), BOOST_TYPEOF_const_fun);
-BOOST_TYPEOF_modifier_support(BOOST_TYPEOF_UNIQUE_ID(), BOOST_TYPEOF_volatile_fun);
-BOOST_TYPEOF_modifier_support(BOOST_TYPEOF_UNIQUE_ID(), BOOST_TYPEOF_volatile_const_fun);
-BOOST_TYPEOF_modifier_support(BOOST_TYPEOF_UNIQUE_ID(), BOOST_TYPEOF_pointer_fun);
-BOOST_TYPEOF_modifier_support(BOOST_TYPEOF_UNIQUE_ID(), BOOST_TYPEOF_reference_fun);
+NDNBOOST_TYPEOF_modifier_support(NDNBOOST_TYPEOF_UNIQUE_ID(), NDNBOOST_TYPEOF_const_fun);
+NDNBOOST_TYPEOF_modifier_support(NDNBOOST_TYPEOF_UNIQUE_ID(), NDNBOOST_TYPEOF_volatile_fun);
+NDNBOOST_TYPEOF_modifier_support(NDNBOOST_TYPEOF_UNIQUE_ID(), NDNBOOST_TYPEOF_volatile_const_fun);
+NDNBOOST_TYPEOF_modifier_support(NDNBOOST_TYPEOF_UNIQUE_ID(), NDNBOOST_TYPEOF_pointer_fun);
+NDNBOOST_TYPEOF_modifier_support(NDNBOOST_TYPEOF_UNIQUE_ID(), NDNBOOST_TYPEOF_reference_fun);
 
 #if defined(__BORLANDC__) && (__BORLANDC__ < 0x600)
-BOOST_TYPEOF_modifier_support(BOOST_TYPEOF_UNIQUE_ID(), BOOST_TYPEOF_const_pointer_fun);
-BOOST_TYPEOF_modifier_support(BOOST_TYPEOF_UNIQUE_ID(), BOOST_TYPEOF_const_reference_fun);
-BOOST_TYPEOF_modifier_support(BOOST_TYPEOF_UNIQUE_ID(), BOOST_TYPEOF_volatile_pointer_fun);
-BOOST_TYPEOF_modifier_support(BOOST_TYPEOF_UNIQUE_ID(), BOOST_TYPEOF_volatile_reference_fun);
-BOOST_TYPEOF_modifier_support(BOOST_TYPEOF_UNIQUE_ID(), BOOST_TYPEOF_volatile_const_pointer_fun);
-BOOST_TYPEOF_modifier_support(BOOST_TYPEOF_UNIQUE_ID(), BOOST_TYPEOF_volatile_const_reference_fun);
+NDNBOOST_TYPEOF_modifier_support(NDNBOOST_TYPEOF_UNIQUE_ID(), NDNBOOST_TYPEOF_const_pointer_fun);
+NDNBOOST_TYPEOF_modifier_support(NDNBOOST_TYPEOF_UNIQUE_ID(), NDNBOOST_TYPEOF_const_reference_fun);
+NDNBOOST_TYPEOF_modifier_support(NDNBOOST_TYPEOF_UNIQUE_ID(), NDNBOOST_TYPEOF_volatile_pointer_fun);
+NDNBOOST_TYPEOF_modifier_support(NDNBOOST_TYPEOF_UNIQUE_ID(), NDNBOOST_TYPEOF_volatile_reference_fun);
+NDNBOOST_TYPEOF_modifier_support(NDNBOOST_TYPEOF_UNIQUE_ID(), NDNBOOST_TYPEOF_volatile_const_pointer_fun);
+NDNBOOST_TYPEOF_modifier_support(NDNBOOST_TYPEOF_UNIQUE_ID(), NDNBOOST_TYPEOF_volatile_const_reference_fun);
 #endif
 
-BOOST_TYPEOF_END_ENCODE_NS
+NDNBOOST_TYPEOF_END_ENCODE_NS
 
-#undef BOOST_TYPEOF_modifier_support
-#undef BOOST_TYPEOF_const_fun
-#undef BOOST_TYPEOF_volatile_fun
-#undef BOOST_TYPEOF_volatile_const_fun
-#undef BOOST_TYPEOF_pointer_fun
-#undef BOOST_TYPEOF_reference_fun
+#undef NDNBOOST_TYPEOF_modifier_support
+#undef NDNBOOST_TYPEOF_const_fun
+#undef NDNBOOST_TYPEOF_volatile_fun
+#undef NDNBOOST_TYPEOF_volatile_const_fun
+#undef NDNBOOST_TYPEOF_pointer_fun
+#undef NDNBOOST_TYPEOF_reference_fun
 
 #if defined(__BORLANDC__) && (__BORLANDC__ < 0x600)
-#undef BOOST_TYPEOF_const_pointer_fun
-#undef BOOST_TYPEOF_const_reference_fun
-#undef BOOST_TYPEOF_volatile_pointer_fun
-#undef BOOST_TYPEOF_volatile_reference_fun
-#undef BOOST_TYPEOF_volatile_const_pointer_fun
-#undef BOOST_TYPEOF_volatile_const_reference_fun
+#undef NDNBOOST_TYPEOF_const_pointer_fun
+#undef NDNBOOST_TYPEOF_const_reference_fun
+#undef NDNBOOST_TYPEOF_volatile_pointer_fun
+#undef NDNBOOST_TYPEOF_volatile_reference_fun
+#undef NDNBOOST_TYPEOF_volatile_const_pointer_fun
+#undef NDNBOOST_TYPEOF_volatile_const_reference_fun
 #endif
 
 // arrays
 
-#define BOOST_TYPEOF_array_support(ID, Qualifier)\
+#define NDNBOOST_TYPEOF_array_support(ID, Qualifier)\
     template<class V, class T, int N>\
     struct encode_type_impl<V, Qualifier() T[N]>\
     {\
@@ -108,14 +108,14 @@
         typedef typename d::iter iter;\
     }
 
-BOOST_TYPEOF_BEGIN_ENCODE_NS
+NDNBOOST_TYPEOF_BEGIN_ENCODE_NS
 
-BOOST_TYPEOF_array_support(BOOST_TYPEOF_UNIQUE_ID(), BOOST_PP_EMPTY);
-BOOST_TYPEOF_array_support(BOOST_TYPEOF_UNIQUE_ID(), BOOST_PP_IDENTITY(const));
-BOOST_TYPEOF_array_support(BOOST_TYPEOF_UNIQUE_ID(), BOOST_PP_IDENTITY(volatile));
-BOOST_TYPEOF_array_support(BOOST_TYPEOF_UNIQUE_ID(), BOOST_PP_IDENTITY(volatile const));
-BOOST_TYPEOF_END_ENCODE_NS
+NDNBOOST_TYPEOF_array_support(NDNBOOST_TYPEOF_UNIQUE_ID(), NDNBOOST_PP_EMPTY);
+NDNBOOST_TYPEOF_array_support(NDNBOOST_TYPEOF_UNIQUE_ID(), NDNBOOST_PP_IDENTITY(const));
+NDNBOOST_TYPEOF_array_support(NDNBOOST_TYPEOF_UNIQUE_ID(), NDNBOOST_PP_IDENTITY(volatile));
+NDNBOOST_TYPEOF_array_support(NDNBOOST_TYPEOF_UNIQUE_ID(), NDNBOOST_PP_IDENTITY(volatile const));
+NDNBOOST_TYPEOF_END_ENCODE_NS
 
-#undef BOOST_TYPEOF_array_support
+#undef NDNBOOST_TYPEOF_array_support
 
-#endif//BOOST_TYPEOF_MODIFIERS_HPP_INCLUDED
+#endif//NDNBOOST_TYPEOF_MODIFIERS_HPP_INCLUDED
diff --git a/include/ndnboost/typeof/msvc/typeof_impl.hpp b/include/ndnboost/typeof/msvc/typeof_impl.hpp
index 2f2dd61..5dea7e1 100644
--- a/include/ndnboost/typeof/msvc/typeof_impl.hpp
+++ b/include/ndnboost/typeof/msvc/typeof_impl.hpp
@@ -6,8 +6,8 @@
 // Use, modification and distribution is subject to the Boost Software
 // License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt)
 
-#ifndef BOOST_TYPEOF_MSVC_TYPEOF_IMPL_HPP_INCLUDED
-# define BOOST_TYPEOF_MSVC_TYPEOF_IMPL_HPP_INCLUDED
+#ifndef NDNBOOST_TYPEOF_MSVC_TYPEOF_IMPL_HPP_INCLUDED
+# define NDNBOOST_TYPEOF_MSVC_TYPEOF_IMPL_HPP_INCLUDED
 
 # include <ndnboost/config.hpp>
 # include <ndnboost/detail/workaround.hpp>
@@ -15,7 +15,7 @@
 # include <ndnboost/type_traits/is_function.hpp>
 # include <ndnboost/utility/enable_if.hpp>
 
-# if BOOST_WORKAROUND(BOOST_MSVC,>=1310)
+# if NDNBOOST_WORKAROUND(NDNBOOST_MSVC,>=1310)
 #  include <typeinfo>
 # endif
 
@@ -25,7 +25,7 @@
     {
 
         //Compile time constant code
-# if BOOST_WORKAROUND(BOOST_MSVC,>=1300) && defined(_MSC_EXTENSIONS)
+# if NDNBOOST_WORKAROUND(NDNBOOST_MSVC,>=1300) && defined(_MSC_EXTENSIONS)
         template<int N> struct the_counter;
 
         template<typename T,int N = 5/*for similarity*/>
@@ -33,35 +33,35 @@
         {
             __if_exists(the_counter<N + 256>)
             {
-                BOOST_STATIC_CONSTANT(unsigned,count=(encode_counter<T,N + 257>::count));
+                NDNBOOST_STATIC_CONSTANT(unsigned,count=(encode_counter<T,N + 257>::count));
             }
             __if_not_exists(the_counter<N + 256>)
             {
                 __if_exists(the_counter<N + 64>)
                 {
-                    BOOST_STATIC_CONSTANT(unsigned,count=(encode_counter<T,N + 65>::count));
+                    NDNBOOST_STATIC_CONSTANT(unsigned,count=(encode_counter<T,N + 65>::count));
                 }
                 __if_not_exists(the_counter<N + 64>)
                 {
                     __if_exists(the_counter<N + 16>)
                     {
-                        BOOST_STATIC_CONSTANT(unsigned,count=(encode_counter<T,N + 17>::count));
+                        NDNBOOST_STATIC_CONSTANT(unsigned,count=(encode_counter<T,N + 17>::count));
                     }
                     __if_not_exists(the_counter<N + 16>)
                     {
                         __if_exists(the_counter<N + 4>)
                         {
-                            BOOST_STATIC_CONSTANT(unsigned,count=(encode_counter<T,N + 5>::count));
+                            NDNBOOST_STATIC_CONSTANT(unsigned,count=(encode_counter<T,N + 5>::count));
                         }
                         __if_not_exists(the_counter<N + 4>)
                         {
                             __if_exists(the_counter<N>)
                             {
-                                BOOST_STATIC_CONSTANT(unsigned,count=(encode_counter<T,N + 1>::count));
+                                NDNBOOST_STATIC_CONSTANT(unsigned,count=(encode_counter<T,N + 1>::count));
                             }
                             __if_not_exists(the_counter<N>)
                             {
-                                BOOST_STATIC_CONSTANT(unsigned,count=N);
+                                NDNBOOST_STATIC_CONSTANT(unsigned,count=N);
                                 typedef the_counter<N> type;
                             }
                         }
@@ -70,8 +70,8 @@
             }
         };
 
-# define BOOST_TYPEOF_INDEX(T) (encode_counter<T>::count)
-# define BOOST_TYPEOF_NEXT_INDEX(next)
+# define NDNBOOST_TYPEOF_INDEX(T) (encode_counter<T>::count)
+# define NDNBOOST_TYPEOF_NEXT_INDEX(next)
 # else
         template<int N> struct encode_counter : encode_counter<N - 1> {};
         template<> struct encode_counter<0> {};
@@ -79,13 +79,13 @@
         //Need to default to a larger value than 4, as due to MSVC's ETI errors. (sizeof(int)==4)
         char (*encode_index(...))[5];
 
-# define BOOST_TYPEOF_INDEX(T) (sizeof(*ndnboost::type_of::encode_index((ndnboost::type_of::encode_counter<1005>*)0)))
-# define BOOST_TYPEOF_NEXT_INDEX(next) friend char (*encode_index(encode_counter<next>*))[next];
+# define NDNBOOST_TYPEOF_INDEX(T) (sizeof(*ndnboost::type_of::encode_index((ndnboost::type_of::encode_counter<1005>*)0)))
+# define NDNBOOST_TYPEOF_NEXT_INDEX(next) friend char (*encode_index(encode_counter<next>*))[next];
 # endif
 
         //Typeof code
 
-# if BOOST_WORKAROUND(BOOST_MSVC,==1300)
+# if NDNBOOST_WORKAROUND(NDNBOOST_MSVC,==1300)
         template<typename ID>
         struct msvc_extract_type
         {
@@ -104,7 +104,7 @@
                 typedef T type;
             };
         };
-#elif BOOST_WORKAROUND(BOOST_MSVC,>=1400)
+#elif NDNBOOST_WORKAROUND(NDNBOOST_MSVC,>=1400)
         struct msvc_extract_type_default_param {};
 
         template<typename ID, typename T = msvc_extract_type_default_param>
@@ -155,7 +155,7 @@
 # endif
 // EAN: preprocess this block out on advice of Peder Holt
 // to eliminate errors in type_traits/common_type.hpp
-# if 0 //BOOST_WORKAROUND(BOOST_MSVC,==1310)
+# if 0 //NDNBOOST_WORKAROUND(NDNBOOST_MSVC,==1310)
         template<const std::type_info& ref_type_info>
         struct msvc_typeid_wrapper {
             typedef typename msvc_extract_type<msvc_typeid_wrapper>::id2type id2type;
@@ -187,19 +187,19 @@
         msvc_register_type<T,Organizer> typeof_register_type(const T&);
 
 
-# define BOOST_TYPEOF(expr) \
+# define NDNBOOST_TYPEOF(expr) \
     ndnboost::type_of::msvc_typeid_wrapper<typeid(ndnboost::type_of::encode_start(expr))>::type
 
-# define BOOST_TYPEOF_TPL(expr) typename BOOST_TYPEOF(expr)
+# define NDNBOOST_TYPEOF_TPL(expr) typename NDNBOOST_TYPEOF(expr)
 
-# define BOOST_TYPEOF_NESTED_TYPEDEF_TPL(name,expr) \
+# define NDNBOOST_TYPEOF_NESTED_TYPEDEF_TPL(name,expr) \
 struct name {\
     enum {_typeof_register_value=sizeof(typeid(ndnboost::type_of::typeof_register_type<name>(expr)))};\
     typedef typename ndnboost::type_of::msvc_extract_type<name>::id2type id2type;\
     typedef typename id2type::type type;\
 };
 
-# define BOOST_TYPEOF_NESTED_TYPEDEF(name,expr) \
+# define NDNBOOST_TYPEOF_NESTED_TYPEDEF(name,expr) \
 struct name {\
     enum {_typeof_register_value=sizeof(typeid(ndnboost::type_of::typeof_register_type<name>(expr)))};\
     typedef ndnboost::type_of::msvc_extract_type<name>::id2type id2type;\
@@ -228,13 +228,13 @@
         struct encode_type
         {
             //Get the next available compile time constants index
-            BOOST_STATIC_CONSTANT(unsigned,value=BOOST_TYPEOF_INDEX(T));
+            NDNBOOST_STATIC_CONSTANT(unsigned,value=NDNBOOST_TYPEOF_INDEX(T));
             //Instantiate the template
             typedef typename msvc_register_type<T,mpl::int_<value> >::id2type type;
             //Set the next compile time constants index
-            BOOST_STATIC_CONSTANT(unsigned,next=value+1);
+            NDNBOOST_STATIC_CONSTANT(unsigned,next=value+1);
             //Increment the compile time constant (only needed when extensions are not active
-            BOOST_TYPEOF_NEXT_INDEX(next);
+            NDNBOOST_TYPEOF_NEXT_INDEX(next);
         };
 
         template<class T>
@@ -242,7 +242,7 @@
         {
             typedef char(*type)[encode_type<T>::value];
         };
-# if BOOST_WORKAROUND(BOOST_MSVC,>=1310)
+# if NDNBOOST_WORKAROUND(NDNBOOST_MSVC,>=1310)
         template<typename T> typename disable_if<
             typename is_function<T>::type,
             typename sizer<T>::type>::type encode_start(T const&);
@@ -257,21 +257,21 @@
         template<typename Organizer, typename T>
         msvc_register_type<T,Organizer> typeof_register_type(const T&,Organizer* =0);
 
-# define BOOST_TYPEOF(expr) \
+# define NDNBOOST_TYPEOF(expr) \
     ndnboost::type_of::msvc_typeid_wrapper<sizeof(*ndnboost::type_of::encode_start(expr))>::type
 
-# define BOOST_TYPEOF_TPL(expr) typename BOOST_TYPEOF(expr)
+# define NDNBOOST_TYPEOF_TPL(expr) typename NDNBOOST_TYPEOF(expr)
 
-# define BOOST_TYPEOF_NESTED_TYPEDEF_TPL(name,expr) \
+# define NDNBOOST_TYPEOF_NESTED_TYPEDEF_TPL(name,expr) \
     struct name {\
-        BOOST_STATIC_CONSTANT(int,_typeof_register_value=sizeof(ndnboost::type_of::typeof_register_type<name>(expr)));\
+        NDNBOOST_STATIC_CONSTANT(int,_typeof_register_value=sizeof(ndnboost::type_of::typeof_register_type<name>(expr)));\
         typedef typename ndnboost::type_of::msvc_extract_type<name>::id2type id2type;\
         typedef typename id2type::type type;\
     };
 
-# define BOOST_TYPEOF_NESTED_TYPEDEF(name,expr) \
+# define NDNBOOST_TYPEOF_NESTED_TYPEDEF(name,expr) \
     struct name {\
-        BOOST_STATIC_CONSTANT(int,_typeof_register_value=sizeof(ndnboost::type_of::typeof_register_type<name>(expr)));\
+        NDNBOOST_STATIC_CONSTANT(int,_typeof_register_value=sizeof(ndnboost::type_of::typeof_register_type<name>(expr)));\
         typedef ndnboost::type_of::msvc_extract_type<name>::id2type id2type;\
         typedef id2type::type type;\
     };
@@ -280,4 +280,4 @@
     }
 }
 
-#endif//BOOST_TYPEOF_MSVC_TYPEOF_IMPL_HPP_INCLUDED
+#endif//NDNBOOST_TYPEOF_MSVC_TYPEOF_IMPL_HPP_INCLUDED
diff --git a/include/ndnboost/typeof/native.hpp b/include/ndnboost/typeof/native.hpp
index 3caf7ba..d88b419 100644
--- a/include/ndnboost/typeof/native.hpp
+++ b/include/ndnboost/typeof/native.hpp
@@ -2,12 +2,12 @@
 // Use, modification and distribution is subject to the Boost Software
 // License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt)
 
-#ifndef BOOST_TYPEOF_NATIVE_HPP_INCLUDED
-#define BOOST_TYPEOF_NATIVE_HPP_INCLUDED
+#ifndef NDNBOOST_TYPEOF_NATIVE_HPP_INCLUDED
+#define NDNBOOST_TYPEOF_NATIVE_HPP_INCLUDED
 
 #ifndef MSVC_TYPEOF_HACK
 
-#ifdef BOOST_NO_SFINAE
+#ifdef NDNBOOST_NO_SFINAE
 
 namespace ndnboost { namespace type_of {
 
@@ -22,7 +22,7 @@
 #include <ndnboost/utility/enable_if.hpp>
 
 namespace ndnboost { namespace type_of {
-# ifdef BOOST_NO_SFINAE
+# ifdef NDNBOOST_NO_SFINAE
     template<class T> 
     T& ensure_obj(const T&);
 # else
@@ -36,25 +36,25 @@
 # endif
 }}
 
-#endif//BOOST_NO_SFINAE
+#endif//NDNBOOST_NO_SFINAE
 
-#define BOOST_TYPEOF(expr) BOOST_TYPEOF_KEYWORD(ndnboost::type_of::ensure_obj(expr))
-#define BOOST_TYPEOF_TPL BOOST_TYPEOF
+#define NDNBOOST_TYPEOF(expr) NDNBOOST_TYPEOF_KEYWORD(ndnboost::type_of::ensure_obj(expr))
+#define NDNBOOST_TYPEOF_TPL NDNBOOST_TYPEOF
 
-#define BOOST_TYPEOF_NESTED_TYPEDEF_TPL(name,expr) \
+#define NDNBOOST_TYPEOF_NESTED_TYPEDEF_TPL(name,expr) \
     struct name {\
-        typedef BOOST_TYPEOF_TPL(expr) type;\
+        typedef NDNBOOST_TYPEOF_TPL(expr) type;\
     };
 
-#define BOOST_TYPEOF_NESTED_TYPEDEF(name,expr) \
+#define NDNBOOST_TYPEOF_NESTED_TYPEDEF(name,expr) \
     struct name {\
-        typedef BOOST_TYPEOF(expr) type;\
+        typedef NDNBOOST_TYPEOF(expr) type;\
     };
 
 #endif//MSVC_TYPEOF_HACK
 
-#define BOOST_TYPEOF_REGISTER_TYPE(x)
-#define BOOST_TYPEOF_REGISTER_TEMPLATE(x, params)
+#define NDNBOOST_TYPEOF_REGISTER_TYPE(x)
+#define NDNBOOST_TYPEOF_REGISTER_TEMPLATE(x, params)
 
-#endif//BOOST_TYPEOF_NATIVE_HPP_INCLUDED
+#endif//NDNBOOST_TYPEOF_NATIVE_HPP_INCLUDED
 
diff --git a/include/ndnboost/typeof/pointers_data_members.hpp b/include/ndnboost/typeof/pointers_data_members.hpp
index e376f8e..e1872d9 100644
--- a/include/ndnboost/typeof/pointers_data_members.hpp
+++ b/include/ndnboost/typeof/pointers_data_members.hpp
@@ -2,29 +2,29 @@
 // Use, modification and distribution is subject to the Boost Software
 // License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt)
 
-#ifndef BOOST_TYPEOF_POINTERS_DATA_MEMBERS_HPP_INCLUDED
-#define BOOST_TYPEOF_POINTERS_DATA_MEMBERS_HPP_INCLUDED
+#ifndef NDNBOOST_TYPEOF_POINTERS_DATA_MEMBERS_HPP_INCLUDED
+#define NDNBOOST_TYPEOF_POINTERS_DATA_MEMBERS_HPP_INCLUDED
 
 #include <ndnboost/typeof/encode_decode_params.hpp>
 #include <ndnboost/typeof/encode_decode.hpp>
 
-#include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()
+#include NDNBOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()
 
-BOOST_TYPEOF_BEGIN_ENCODE_NS
+NDNBOOST_TYPEOF_BEGIN_ENCODE_NS
 
-enum {PTR_DATA_MEM_ID = BOOST_TYPEOF_UNIQUE_ID()};
+enum {PTR_DATA_MEM_ID = NDNBOOST_TYPEOF_UNIQUE_ID()};
 
 template<class V, class P0, class P1>
 struct encode_type_impl<V, P0 P1::*>
 {
-    typedef BOOST_TYPEOF_ENCODE_PARAMS(2, PTR_DATA_MEM_ID) type;
+    typedef NDNBOOST_TYPEOF_ENCODE_PARAMS(2, PTR_DATA_MEM_ID) type;
 };
 
 template<class Iter>
 struct decode_type_impl<ndnboost::mpl::size_t<PTR_DATA_MEM_ID>, Iter>
 {
     typedef Iter iter0;
-    BOOST_TYPEOF_DECODE_PARAMS(2)
+    NDNBOOST_TYPEOF_DECODE_PARAMS(2)
 
     template<class T> struct workaround{
         typedef p0 T::* type;
@@ -33,6 +33,6 @@
     typedef iter2 iter;
 };
 
-BOOST_TYPEOF_END_ENCODE_NS
+NDNBOOST_TYPEOF_END_ENCODE_NS
 
-#endif//BOOST_TYPEOF_POINTERS_DATA_MEMBERS_HPP_INCLUDED
+#endif//NDNBOOST_TYPEOF_POINTERS_DATA_MEMBERS_HPP_INCLUDED
diff --git a/include/ndnboost/typeof/register_functions.hpp b/include/ndnboost/typeof/register_functions.hpp
index 6d0e107..bb229f9 100644
--- a/include/ndnboost/typeof/register_functions.hpp
+++ b/include/ndnboost/typeof/register_functions.hpp
@@ -2,8 +2,8 @@
 // Use, modification and distribution is subject to the Boost Software
 // License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt)
 
-#ifndef BOOST_TYPEOF_REGISTER_FUNCTIONS_HPP_INCLUDED
-#define BOOST_TYPEOF_REGISTER_FUNCTIONS_HPP_INCLUDED
+#ifndef NDNBOOST_TYPEOF_REGISTER_FUNCTIONS_HPP_INCLUDED
+#define NDNBOOST_TYPEOF_REGISTER_FUNCTIONS_HPP_INCLUDED
 
 #include <ndnboost/preprocessor/repetition/enum.hpp>
 #include <ndnboost/preprocessor/repetition/enum_params.hpp>
@@ -15,36 +15,36 @@
 #include <ndnboost/preprocessor/arithmetic/add.hpp>
 #include <ndnboost/preprocessor/iteration/iterate.hpp>
 
-#include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()
+#include NDNBOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()
 
-#ifndef BOOST_TYPEOF_LIMIT_FUNCTION_ARITY
-#define BOOST_TYPEOF_LIMIT_FUNCTION_ARITY 10
+#ifndef NDNBOOST_TYPEOF_LIMIT_FUNCTION_ARITY
+#define NDNBOOST_TYPEOF_LIMIT_FUNCTION_ARITY 10
 #endif
 
 enum 
 {
-    FUN_ID                          = BOOST_TYPEOF_UNIQUE_ID(),
-    FUN_PTR_ID                      = FUN_ID +  1 * BOOST_PP_INC(BOOST_TYPEOF_LIMIT_FUNCTION_ARITY),
-    FUN_REF_ID                      = FUN_ID +  2 * BOOST_PP_INC(BOOST_TYPEOF_LIMIT_FUNCTION_ARITY),
-    MEM_FUN_ID                      = FUN_ID +  3 * BOOST_PP_INC(BOOST_TYPEOF_LIMIT_FUNCTION_ARITY),
-    CONST_MEM_FUN_ID                = FUN_ID +  4 * BOOST_PP_INC(BOOST_TYPEOF_LIMIT_FUNCTION_ARITY),
-    VOLATILE_MEM_FUN_ID             = FUN_ID +  5 * BOOST_PP_INC(BOOST_TYPEOF_LIMIT_FUNCTION_ARITY),
-    VOLATILE_CONST_MEM_FUN_ID       = FUN_ID +  6 * BOOST_PP_INC(BOOST_TYPEOF_LIMIT_FUNCTION_ARITY),
-    FUN_VAR_ID                      = FUN_ID +  7 * BOOST_PP_INC(BOOST_TYPEOF_LIMIT_FUNCTION_ARITY),
-    FUN_VAR_PTR_ID                  = FUN_ID +  8 * BOOST_PP_INC(BOOST_TYPEOF_LIMIT_FUNCTION_ARITY),
-    FUN_VAR_REF_ID                  = FUN_ID +  9 * BOOST_PP_INC(BOOST_TYPEOF_LIMIT_FUNCTION_ARITY),
-    MEM_FUN_VAR_ID                  = FUN_ID + 10 * BOOST_PP_INC(BOOST_TYPEOF_LIMIT_FUNCTION_ARITY),
-    CONST_MEM_FUN_VAR_ID            = FUN_ID + 11 * BOOST_PP_INC(BOOST_TYPEOF_LIMIT_FUNCTION_ARITY),
-    VOLATILE_MEM_FUN_VAR_ID         = FUN_ID + 12 * BOOST_PP_INC(BOOST_TYPEOF_LIMIT_FUNCTION_ARITY),
-    VOLATILE_CONST_MEM_FUN_VAR_ID   = FUN_ID + 13 * BOOST_PP_INC(BOOST_TYPEOF_LIMIT_FUNCTION_ARITY)
+    FUN_ID                          = NDNBOOST_TYPEOF_UNIQUE_ID(),
+    FUN_PTR_ID                      = FUN_ID +  1 * NDNBOOST_PP_INC(NDNBOOST_TYPEOF_LIMIT_FUNCTION_ARITY),
+    FUN_REF_ID                      = FUN_ID +  2 * NDNBOOST_PP_INC(NDNBOOST_TYPEOF_LIMIT_FUNCTION_ARITY),
+    MEM_FUN_ID                      = FUN_ID +  3 * NDNBOOST_PP_INC(NDNBOOST_TYPEOF_LIMIT_FUNCTION_ARITY),
+    CONST_MEM_FUN_ID                = FUN_ID +  4 * NDNBOOST_PP_INC(NDNBOOST_TYPEOF_LIMIT_FUNCTION_ARITY),
+    VOLATILE_MEM_FUN_ID             = FUN_ID +  5 * NDNBOOST_PP_INC(NDNBOOST_TYPEOF_LIMIT_FUNCTION_ARITY),
+    VOLATILE_CONST_MEM_FUN_ID       = FUN_ID +  6 * NDNBOOST_PP_INC(NDNBOOST_TYPEOF_LIMIT_FUNCTION_ARITY),
+    FUN_VAR_ID                      = FUN_ID +  7 * NDNBOOST_PP_INC(NDNBOOST_TYPEOF_LIMIT_FUNCTION_ARITY),
+    FUN_VAR_PTR_ID                  = FUN_ID +  8 * NDNBOOST_PP_INC(NDNBOOST_TYPEOF_LIMIT_FUNCTION_ARITY),
+    FUN_VAR_REF_ID                  = FUN_ID +  9 * NDNBOOST_PP_INC(NDNBOOST_TYPEOF_LIMIT_FUNCTION_ARITY),
+    MEM_FUN_VAR_ID                  = FUN_ID + 10 * NDNBOOST_PP_INC(NDNBOOST_TYPEOF_LIMIT_FUNCTION_ARITY),
+    CONST_MEM_FUN_VAR_ID            = FUN_ID + 11 * NDNBOOST_PP_INC(NDNBOOST_TYPEOF_LIMIT_FUNCTION_ARITY),
+    VOLATILE_MEM_FUN_VAR_ID         = FUN_ID + 12 * NDNBOOST_PP_INC(NDNBOOST_TYPEOF_LIMIT_FUNCTION_ARITY),
+    VOLATILE_CONST_MEM_FUN_VAR_ID   = FUN_ID + 13 * NDNBOOST_PP_INC(NDNBOOST_TYPEOF_LIMIT_FUNCTION_ARITY)
 };
 
-BOOST_TYPEOF_BEGIN_ENCODE_NS
+NDNBOOST_TYPEOF_BEGIN_ENCODE_NS
 
-# define BOOST_PP_ITERATION_LIMITS (0, BOOST_TYPEOF_LIMIT_FUNCTION_ARITY)
-# define BOOST_PP_FILENAME_1 <ndnboost/typeof/register_functions_iterate.hpp>
-# include BOOST_PP_ITERATE()
+# define NDNBOOST_PP_ITERATION_LIMITS (0, NDNBOOST_TYPEOF_LIMIT_FUNCTION_ARITY)
+# define NDNBOOST_PP_FILENAME_1 <ndnboost/typeof/register_functions_iterate.hpp>
+# include NDNBOOST_PP_ITERATE()
 
-BOOST_TYPEOF_END_ENCODE_NS
+NDNBOOST_TYPEOF_END_ENCODE_NS
 
-#endif//BOOST_TYPEOF_REGISTER_FUNCTIONS_HPP_INCLUDED
+#endif//NDNBOOST_TYPEOF_REGISTER_FUNCTIONS_HPP_INCLUDED
diff --git a/include/ndnboost/typeof/register_functions_iterate.hpp b/include/ndnboost/typeof/register_functions_iterate.hpp
index 0d3d9df..3f487a9 100644
--- a/include/ndnboost/typeof/register_functions_iterate.hpp
+++ b/include/ndnboost/typeof/register_functions_iterate.hpp
@@ -4,131 +4,131 @@
 
 #include <ndnboost/typeof/encode_decode_params.hpp>
 
-#define n BOOST_PP_ITERATION()
+#define n NDNBOOST_PP_ITERATION()
 
 // function pointers
 
-template<class V, class R BOOST_PP_ENUM_TRAILING_PARAMS(n, class P)>
-struct encode_type_impl<V, R(*)(BOOST_PP_ENUM_PARAMS(n, P))>
+template<class V, class R NDNBOOST_PP_ENUM_TRAILING_PARAMS(n, class P)>
+struct encode_type_impl<V, R(*)(NDNBOOST_PP_ENUM_PARAMS(n, P))>
 {
-    typedef R BOOST_PP_CAT(P, n);
-    typedef BOOST_TYPEOF_ENCODE_PARAMS(BOOST_PP_INC(n), FUN_PTR_ID + n) type;
+    typedef R NDNBOOST_PP_CAT(P, n);
+    typedef NDNBOOST_TYPEOF_ENCODE_PARAMS(NDNBOOST_PP_INC(n), FUN_PTR_ID + n) type;
 };
 
-template<class V, class R BOOST_PP_ENUM_TRAILING_PARAMS(n, class P)>
-struct encode_type_impl<V, R(*)(BOOST_PP_ENUM_PARAMS(n, P) ...)>
+template<class V, class R NDNBOOST_PP_ENUM_TRAILING_PARAMS(n, class P)>
+struct encode_type_impl<V, R(*)(NDNBOOST_PP_ENUM_PARAMS(n, P) ...)>
 {
-    typedef R BOOST_PP_CAT(P, n);
-    typedef BOOST_TYPEOF_ENCODE_PARAMS(BOOST_PP_INC(n), FUN_VAR_PTR_ID + n) type;
+    typedef R NDNBOOST_PP_CAT(P, n);
+    typedef NDNBOOST_TYPEOF_ENCODE_PARAMS(NDNBOOST_PP_INC(n), FUN_VAR_PTR_ID + n) type;
 };
 
 template<class Iter>
 struct decode_type_impl<ndnboost::mpl::size_t<FUN_PTR_ID + n>, Iter>
 {
     typedef Iter iter0;
-    BOOST_TYPEOF_DECODE_PARAMS(BOOST_PP_INC(n))
-    typedef BOOST_PP_CAT(p, n)(*type)(BOOST_PP_ENUM_PARAMS(n, p));
-    typedef BOOST_PP_CAT(iter, BOOST_PP_INC(n)) iter;
+    NDNBOOST_TYPEOF_DECODE_PARAMS(NDNBOOST_PP_INC(n))
+    typedef NDNBOOST_PP_CAT(p, n)(*type)(NDNBOOST_PP_ENUM_PARAMS(n, p));
+    typedef NDNBOOST_PP_CAT(iter, NDNBOOST_PP_INC(n)) iter;
 };
 
 template<class Iter>
 struct decode_type_impl<ndnboost::mpl::size_t<FUN_VAR_PTR_ID + n>, Iter>
 {
     typedef Iter iter0;
-    BOOST_TYPEOF_DECODE_PARAMS(BOOST_PP_INC(n))
-    typedef BOOST_PP_CAT(p, n)(*type)(BOOST_PP_ENUM_PARAMS(n, p) ...);
-    typedef BOOST_PP_CAT(iter, BOOST_PP_INC(n)) iter;
+    NDNBOOST_TYPEOF_DECODE_PARAMS(NDNBOOST_PP_INC(n))
+    typedef NDNBOOST_PP_CAT(p, n)(*type)(NDNBOOST_PP_ENUM_PARAMS(n, p) ...);
+    typedef NDNBOOST_PP_CAT(iter, NDNBOOST_PP_INC(n)) iter;
 };
 
-#ifndef BOOST_TYPEOF_NO_FUNCTION_TYPES
+#ifndef NDNBOOST_TYPEOF_NO_FUNCTION_TYPES
 
     // function references
 
-    template<class V, class R BOOST_PP_ENUM_TRAILING_PARAMS(n, class P)>
-    struct encode_type_impl<V, R(&)(BOOST_PP_ENUM_PARAMS(n, P))>
+    template<class V, class R NDNBOOST_PP_ENUM_TRAILING_PARAMS(n, class P)>
+    struct encode_type_impl<V, R(&)(NDNBOOST_PP_ENUM_PARAMS(n, P))>
     {
-        typedef R BOOST_PP_CAT(P, n);
-        typedef BOOST_TYPEOF_ENCODE_PARAMS(BOOST_PP_INC(n), FUN_REF_ID + n) type;
+        typedef R NDNBOOST_PP_CAT(P, n);
+        typedef NDNBOOST_TYPEOF_ENCODE_PARAMS(NDNBOOST_PP_INC(n), FUN_REF_ID + n) type;
     };
 
-    template<class V, class R BOOST_PP_ENUM_TRAILING_PARAMS(n, class P)>
-    struct encode_type_impl<V, R(&)(BOOST_PP_ENUM_PARAMS(n, P) ...)>
+    template<class V, class R NDNBOOST_PP_ENUM_TRAILING_PARAMS(n, class P)>
+    struct encode_type_impl<V, R(&)(NDNBOOST_PP_ENUM_PARAMS(n, P) ...)>
     {
-        typedef R BOOST_PP_CAT(P, n);
-        typedef BOOST_TYPEOF_ENCODE_PARAMS(BOOST_PP_INC(n), FUN_VAR_REF_ID + n) type;
+        typedef R NDNBOOST_PP_CAT(P, n);
+        typedef NDNBOOST_TYPEOF_ENCODE_PARAMS(NDNBOOST_PP_INC(n), FUN_VAR_REF_ID + n) type;
     };
 
     template<class Iter>
     struct decode_type_impl<ndnboost::mpl::size_t<FUN_REF_ID + n>, Iter>
     {
         typedef Iter iter0;
-        BOOST_TYPEOF_DECODE_PARAMS(BOOST_PP_INC(n))
-        typedef BOOST_PP_CAT(p, n)(&type)(BOOST_PP_ENUM_PARAMS(n, p));
-        typedef BOOST_PP_CAT(iter, BOOST_PP_INC(n)) iter;
+        NDNBOOST_TYPEOF_DECODE_PARAMS(NDNBOOST_PP_INC(n))
+        typedef NDNBOOST_PP_CAT(p, n)(&type)(NDNBOOST_PP_ENUM_PARAMS(n, p));
+        typedef NDNBOOST_PP_CAT(iter, NDNBOOST_PP_INC(n)) iter;
     };
 
     template<class Iter>
     struct decode_type_impl<ndnboost::mpl::size_t<FUN_VAR_REF_ID + n>, Iter>
     {
         typedef Iter iter0;
-        BOOST_TYPEOF_DECODE_PARAMS(BOOST_PP_INC(n))
-        typedef BOOST_PP_CAT(p, n)(&type)(BOOST_PP_ENUM_PARAMS(n, p) ...);
-        typedef BOOST_PP_CAT(iter, BOOST_PP_INC(n)) iter;
+        NDNBOOST_TYPEOF_DECODE_PARAMS(NDNBOOST_PP_INC(n))
+        typedef NDNBOOST_PP_CAT(p, n)(&type)(NDNBOOST_PP_ENUM_PARAMS(n, p) ...);
+        typedef NDNBOOST_PP_CAT(iter, NDNBOOST_PP_INC(n)) iter;
     };
 
     // functions
 
-    template<class V, class R BOOST_PP_ENUM_TRAILING_PARAMS(n, class P)>
-    struct encode_type_impl<V, R(BOOST_PP_ENUM_PARAMS(n, P))>
+    template<class V, class R NDNBOOST_PP_ENUM_TRAILING_PARAMS(n, class P)>
+    struct encode_type_impl<V, R(NDNBOOST_PP_ENUM_PARAMS(n, P))>
     {
-        typedef R BOOST_PP_CAT(P, n);
-        typedef BOOST_TYPEOF_ENCODE_PARAMS(BOOST_PP_INC(n), FUN_ID + n) type;
+        typedef R NDNBOOST_PP_CAT(P, n);
+        typedef NDNBOOST_TYPEOF_ENCODE_PARAMS(NDNBOOST_PP_INC(n), FUN_ID + n) type;
     };
 
-    template<class V, class R BOOST_PP_ENUM_TRAILING_PARAMS(n, class P)>
-    struct encode_type_impl<V, R(BOOST_PP_ENUM_PARAMS(n, P) ...)>
+    template<class V, class R NDNBOOST_PP_ENUM_TRAILING_PARAMS(n, class P)>
+    struct encode_type_impl<V, R(NDNBOOST_PP_ENUM_PARAMS(n, P) ...)>
     {
-        typedef R BOOST_PP_CAT(P, n);
-        typedef BOOST_TYPEOF_ENCODE_PARAMS(BOOST_PP_INC(n), FUN_VAR_ID + n) type;
+        typedef R NDNBOOST_PP_CAT(P, n);
+        typedef NDNBOOST_TYPEOF_ENCODE_PARAMS(NDNBOOST_PP_INC(n), FUN_VAR_ID + n) type;
     };
 
     template<class Iter>
     struct decode_type_impl<ndnboost::mpl::size_t<FUN_ID + n>, Iter>
     {
         typedef Iter iter0;
-        BOOST_TYPEOF_DECODE_PARAMS(BOOST_PP_INC(n))
-        typedef BOOST_PP_CAT(p, n)(type)(BOOST_PP_ENUM_PARAMS(n, p));
-        typedef BOOST_PP_CAT(iter, BOOST_PP_INC(n)) iter;
+        NDNBOOST_TYPEOF_DECODE_PARAMS(NDNBOOST_PP_INC(n))
+        typedef NDNBOOST_PP_CAT(p, n)(type)(NDNBOOST_PP_ENUM_PARAMS(n, p));
+        typedef NDNBOOST_PP_CAT(iter, NDNBOOST_PP_INC(n)) iter;
     };
 
     template<class Iter>
     struct decode_type_impl<ndnboost::mpl::size_t<FUN_VAR_ID + n>, Iter>
     {
         typedef Iter iter0;
-        BOOST_TYPEOF_DECODE_PARAMS(BOOST_PP_INC(n))
-        typedef BOOST_PP_CAT(p, n)(type)(BOOST_PP_ENUM_PARAMS(n, p) ...);
-        typedef BOOST_PP_CAT(iter, BOOST_PP_INC(n)) iter;
+        NDNBOOST_TYPEOF_DECODE_PARAMS(NDNBOOST_PP_INC(n))
+        typedef NDNBOOST_PP_CAT(p, n)(type)(NDNBOOST_PP_ENUM_PARAMS(n, p) ...);
+        typedef NDNBOOST_PP_CAT(iter, NDNBOOST_PP_INC(n)) iter;
     };
 
-#endif//BOOST_TYPEOF_NO_FUNCTION_TYPES
+#endif//NDNBOOST_TYPEOF_NO_FUNCTION_TYPES
 
-#ifndef BOOST_TYPEOF_NO_MEMBER_FUNCTION_TYPES
+#ifndef NDNBOOST_TYPEOF_NO_MEMBER_FUNCTION_TYPES
 // member functions
 
-#define BOOST_TYPEOF_qualifier
-#define BOOST_TYPEOF_id MEM_FUN_ID
+#define NDNBOOST_TYPEOF_qualifier
+#define NDNBOOST_TYPEOF_id MEM_FUN_ID
 #include <ndnboost/typeof/register_mem_functions.hpp>
 
-#define BOOST_TYPEOF_qualifier const
-#define BOOST_TYPEOF_id CONST_MEM_FUN_ID
+#define NDNBOOST_TYPEOF_qualifier const
+#define NDNBOOST_TYPEOF_id CONST_MEM_FUN_ID
 #include <ndnboost/typeof/register_mem_functions.hpp>
 
-#define BOOST_TYPEOF_qualifier volatile
-#define BOOST_TYPEOF_id VOLATILE_MEM_FUN_ID
+#define NDNBOOST_TYPEOF_qualifier volatile
+#define NDNBOOST_TYPEOF_id VOLATILE_MEM_FUN_ID
 #include <ndnboost/typeof/register_mem_functions.hpp>
 
-#define BOOST_TYPEOF_qualifier volatile const
-#define BOOST_TYPEOF_id VOLATILE_CONST_MEM_FUN_ID
+#define NDNBOOST_TYPEOF_qualifier volatile const
+#define NDNBOOST_TYPEOF_id VOLATILE_CONST_MEM_FUN_ID
 #include <ndnboost/typeof/register_mem_functions.hpp>
 
 #undef n
diff --git a/include/ndnboost/typeof/register_fundamental.hpp b/include/ndnboost/typeof/register_fundamental.hpp
index c1b99d8..2e72ef3 100644
--- a/include/ndnboost/typeof/register_fundamental.hpp
+++ b/include/ndnboost/typeof/register_fundamental.hpp
@@ -3,60 +3,60 @@
 // Use, modification and distribution is subject to the Boost Software
 // License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt)
 
-#ifndef BOOST_TYPEOF_REGISTER_FUNDAMENTAL_HPP_INCLUDED
-#define BOOST_TYPEOF_REGISTER_FUNDAMENTAL_HPP_INCLUDED
+#ifndef NDNBOOST_TYPEOF_REGISTER_FUNDAMENTAL_HPP_INCLUDED
+#define NDNBOOST_TYPEOF_REGISTER_FUNDAMENTAL_HPP_INCLUDED
 
 #include <ndnboost/typeof/typeof.hpp>
 
-#include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()
+#include NDNBOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()
 
-BOOST_TYPEOF_REGISTER_TYPE(unsigned char)
-BOOST_TYPEOF_REGISTER_TYPE(unsigned short)
-BOOST_TYPEOF_REGISTER_TYPE(unsigned int)
-BOOST_TYPEOF_REGISTER_TYPE(unsigned long)
+NDNBOOST_TYPEOF_REGISTER_TYPE(unsigned char)
+NDNBOOST_TYPEOF_REGISTER_TYPE(unsigned short)
+NDNBOOST_TYPEOF_REGISTER_TYPE(unsigned int)
+NDNBOOST_TYPEOF_REGISTER_TYPE(unsigned long)
 
-BOOST_TYPEOF_REGISTER_TYPE(signed char)
-BOOST_TYPEOF_REGISTER_TYPE(signed short)
-BOOST_TYPEOF_REGISTER_TYPE(signed int)
-BOOST_TYPEOF_REGISTER_TYPE(signed long)
+NDNBOOST_TYPEOF_REGISTER_TYPE(signed char)
+NDNBOOST_TYPEOF_REGISTER_TYPE(signed short)
+NDNBOOST_TYPEOF_REGISTER_TYPE(signed int)
+NDNBOOST_TYPEOF_REGISTER_TYPE(signed long)
 
-BOOST_TYPEOF_REGISTER_TYPE(bool)
-BOOST_TYPEOF_REGISTER_TYPE(char)
+NDNBOOST_TYPEOF_REGISTER_TYPE(bool)
+NDNBOOST_TYPEOF_REGISTER_TYPE(char)
 
-BOOST_TYPEOF_REGISTER_TYPE(float)
-BOOST_TYPEOF_REGISTER_TYPE(double)
-BOOST_TYPEOF_REGISTER_TYPE(long double)
+NDNBOOST_TYPEOF_REGISTER_TYPE(float)
+NDNBOOST_TYPEOF_REGISTER_TYPE(double)
+NDNBOOST_TYPEOF_REGISTER_TYPE(long double)
 
-#ifndef BOOST_NO_INTRINSIC_WCHAR_T
+#ifndef NDNBOOST_NO_INTRINSIC_WCHAR_T
 // If the following line fails to compile and you're using the Intel
 // compiler, see http://lists.boost.org/MailArchives/boost-users/msg06567.php,
-// and define BOOST_NO_INTRINSIC_WCHAR_T on the command line.
-BOOST_TYPEOF_REGISTER_TYPE(wchar_t)
+// and define NDNBOOST_NO_INTRINSIC_WCHAR_T on the command line.
+NDNBOOST_TYPEOF_REGISTER_TYPE(wchar_t)
 #endif
 
-#if (defined(BOOST_MSVC) && (BOOST_MSVC == 1200)) \
-    || (defined(BOOST_INTEL_CXX_VERSION) && defined(_MSC_VER) && (BOOST_INTEL_CXX_VERSION <= 600)) \
+#if (defined(NDNBOOST_MSVC) && (NDNBOOST_MSVC == 1200)) \
+    || (defined(NDNBOOST_INTEL_CXX_VERSION) && defined(_MSC_VER) && (NDNBOOST_INTEL_CXX_VERSION <= 600)) \
     || (defined(__BORLANDC__) && (__BORLANDC__ == 0x600) && (_MSC_VER == 1200))
-BOOST_TYPEOF_REGISTER_TYPE(unsigned __int8)
-BOOST_TYPEOF_REGISTER_TYPE(__int8)
-BOOST_TYPEOF_REGISTER_TYPE(unsigned __int16)
-BOOST_TYPEOF_REGISTER_TYPE(__int16)
-BOOST_TYPEOF_REGISTER_TYPE(unsigned __int32)
-BOOST_TYPEOF_REGISTER_TYPE(__int32)
+NDNBOOST_TYPEOF_REGISTER_TYPE(unsigned __int8)
+NDNBOOST_TYPEOF_REGISTER_TYPE(__int8)
+NDNBOOST_TYPEOF_REGISTER_TYPE(unsigned __int16)
+NDNBOOST_TYPEOF_REGISTER_TYPE(__int16)
+NDNBOOST_TYPEOF_REGISTER_TYPE(unsigned __int32)
+NDNBOOST_TYPEOF_REGISTER_TYPE(__int32)
 #ifdef __BORLANDC__
-BOOST_TYPEOF_REGISTER_TYPE(unsigned __int64)
-BOOST_TYPEOF_REGISTER_TYPE(__int64)
+NDNBOOST_TYPEOF_REGISTER_TYPE(unsigned __int64)
+NDNBOOST_TYPEOF_REGISTER_TYPE(__int64)
 #endif
 #endif
 
-# if defined(BOOST_HAS_LONG_LONG)
-BOOST_TYPEOF_REGISTER_TYPE(::ndnboost::ulong_long_type)
-BOOST_TYPEOF_REGISTER_TYPE(::ndnboost::long_long_type)
-#elif defined(BOOST_HAS_MS_INT64)
-BOOST_TYPEOF_REGISTER_TYPE(unsigned __int64)
-BOOST_TYPEOF_REGISTER_TYPE(__int64)
+# if defined(NDNBOOST_HAS_LONG_LONG)
+NDNBOOST_TYPEOF_REGISTER_TYPE(::ndnboost::ulong_long_type)
+NDNBOOST_TYPEOF_REGISTER_TYPE(::ndnboost::long_long_type)
+#elif defined(NDNBOOST_HAS_MS_INT64)
+NDNBOOST_TYPEOF_REGISTER_TYPE(unsigned __int64)
+NDNBOOST_TYPEOF_REGISTER_TYPE(__int64)
 #endif
 
-BOOST_TYPEOF_REGISTER_TYPE(void)
+NDNBOOST_TYPEOF_REGISTER_TYPE(void)
 
-#endif//BOOST_TYPEOF_REGISTER_FUNDAMENTAL_HPP_INCLUDED
+#endif//NDNBOOST_TYPEOF_REGISTER_FUNDAMENTAL_HPP_INCLUDED
diff --git a/include/ndnboost/typeof/register_mem_functions.hpp b/include/ndnboost/typeof/register_mem_functions.hpp
index efb40a9..35de8c3 100644
--- a/include/ndnboost/typeof/register_mem_functions.hpp
+++ b/include/ndnboost/typeof/register_mem_functions.hpp
@@ -6,27 +6,27 @@
 
 // member functions
 
-template<class V, class T, class R BOOST_PP_ENUM_TRAILING_PARAMS(n, class P)> 
-struct encode_type_impl<V, R(T::*)(BOOST_PP_ENUM_PARAMS(n, P)) BOOST_TYPEOF_qualifier>
+template<class V, class T, class R NDNBOOST_PP_ENUM_TRAILING_PARAMS(n, class P)> 
+struct encode_type_impl<V, R(T::*)(NDNBOOST_PP_ENUM_PARAMS(n, P)) NDNBOOST_TYPEOF_qualifier>
 {
-    typedef R BOOST_PP_CAT(P, n);
-    typedef T BOOST_PP_CAT(P, BOOST_PP_INC(n));
-    typedef BOOST_TYPEOF_ENCODE_PARAMS(BOOST_PP_ADD(n, 2), BOOST_TYPEOF_id + n) type;
+    typedef R NDNBOOST_PP_CAT(P, n);
+    typedef T NDNBOOST_PP_CAT(P, NDNBOOST_PP_INC(n));
+    typedef NDNBOOST_TYPEOF_ENCODE_PARAMS(NDNBOOST_PP_ADD(n, 2), NDNBOOST_TYPEOF_id + n) type;
 };
 
 template<class Iter>
-struct decode_type_impl<ndnboost::mpl::size_t<BOOST_TYPEOF_id + n>, Iter>
+struct decode_type_impl<ndnboost::mpl::size_t<NDNBOOST_TYPEOF_id + n>, Iter>
 {
     typedef Iter iter0;
-    BOOST_TYPEOF_DECODE_PARAMS(BOOST_PP_ADD(n, 2))
+    NDNBOOST_TYPEOF_DECODE_PARAMS(NDNBOOST_PP_ADD(n, 2))
     template<class T> struct workaround{
-        typedef BOOST_PP_CAT(p, n)(T::*type)(BOOST_PP_ENUM_PARAMS(n, p)) BOOST_TYPEOF_qualifier;
+        typedef NDNBOOST_PP_CAT(p, n)(T::*type)(NDNBOOST_PP_ENUM_PARAMS(n, p)) NDNBOOST_TYPEOF_qualifier;
     };
-    typedef typename workaround<BOOST_PP_CAT(p, BOOST_PP_INC(n))>::type type;
-    typedef BOOST_PP_CAT(iter, BOOST_PP_ADD(n, 2)) iter;
+    typedef typename workaround<NDNBOOST_PP_CAT(p, NDNBOOST_PP_INC(n))>::type type;
+    typedef NDNBOOST_PP_CAT(iter, NDNBOOST_PP_ADD(n, 2)) iter;
 };
 
 // undef parameters
 
-#undef BOOST_TYPEOF_id
-#undef BOOST_TYPEOF_qualifier
+#undef NDNBOOST_TYPEOF_id
+#undef NDNBOOST_TYPEOF_qualifier
diff --git a/include/ndnboost/typeof/template_encoding.hpp b/include/ndnboost/typeof/template_encoding.hpp
index 6c5781b..b2a0fe1 100644
--- a/include/ndnboost/typeof/template_encoding.hpp
+++ b/include/ndnboost/typeof/template_encoding.hpp
@@ -3,8 +3,8 @@
 // Distributed under the Boost Software License, Version 1.0. (See accompanying
 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 
-#ifndef BOOST_TYPEOF_TEMPLATE_ENCODING_HPP_INCLUDED
-#define BOOST_TYPEOF_TEMPLATE_ENCODING_HPP_INCLUDED
+#ifndef NDNBOOST_TYPEOF_TEMPLATE_ENCODING_HPP_INCLUDED
+#define NDNBOOST_TYPEOF_TEMPLATE_ENCODING_HPP_INCLUDED
 
 #include <ndnboost/preprocessor/cat.hpp>
 #include <ndnboost/preprocessor/repetition/enum_trailing.hpp>
@@ -24,9 +24,9 @@
 #include <ndnboost/typeof/template_template_param.hpp>
 
 #ifdef __BORLANDC__
-#define BOOST_TYPEOF_QUALIFY(P) self_t::P
+#define NDNBOOST_TYPEOF_QUALIFY(P) self_t::P
 #else
-#define BOOST_TYPEOF_QUALIFY(P) P
+#define NDNBOOST_TYPEOF_QUALIFY(P) P
 #endif
 // The template parameter description, entered by the user,
 // is converted into a polymorphic "object"
@@ -34,116 +34,116 @@
 // encoding/decoding the parameter, etc.
 
 // make sure to cat the sequence first, and only then add the prefix.
-#define BOOST_TYPEOF_MAKE_OBJ(elem) BOOST_PP_CAT(\
-    BOOST_TYPEOF_MAKE_OBJ,\
-    BOOST_PP_SEQ_CAT((_) BOOST_TYPEOF_TO_SEQ(elem))\
+#define NDNBOOST_TYPEOF_MAKE_OBJ(elem) NDNBOOST_PP_CAT(\
+    NDNBOOST_TYPEOF_MAKE_OBJ,\
+    NDNBOOST_PP_SEQ_CAT((_) NDNBOOST_TYPEOF_TO_SEQ(elem))\
     )
 
-#define BOOST_TYPEOF_TO_SEQ(tokens) BOOST_TYPEOF_ ## tokens ## _BOOST_TYPEOF
+#define NDNBOOST_TYPEOF_TO_SEQ(tokens) NDNBOOST_TYPEOF_ ## tokens ## _NDNBOOST_TYPEOF
 
-// BOOST_TYPEOF_REGISTER_TEMPLATE
+// NDNBOOST_TYPEOF_REGISTER_TEMPLATE
 
-#define BOOST_TYPEOF_REGISTER_TEMPLATE_EXPLICIT_ID(Name, Params, Id)\
-    BOOST_TYPEOF_REGISTER_TEMPLATE_IMPL(\
+#define NDNBOOST_TYPEOF_REGISTER_TEMPLATE_EXPLICIT_ID(Name, Params, Id)\
+    NDNBOOST_TYPEOF_REGISTER_TEMPLATE_IMPL(\
         Name,\
-        BOOST_TYPEOF_MAKE_OBJS(BOOST_TYPEOF_TOSEQ(Params)),\
-        BOOST_PP_SEQ_SIZE(BOOST_TYPEOF_TOSEQ(Params)),\
+        NDNBOOST_TYPEOF_MAKE_OBJS(NDNBOOST_TYPEOF_TOSEQ(Params)),\
+        NDNBOOST_PP_SEQ_SIZE(NDNBOOST_TYPEOF_TOSEQ(Params)),\
         Id)
 
-#define BOOST_TYPEOF_REGISTER_TEMPLATE(Name, Params)\
-    BOOST_TYPEOF_REGISTER_TEMPLATE_EXPLICIT_ID(Name, Params, BOOST_TYPEOF_UNIQUE_ID())
+#define NDNBOOST_TYPEOF_REGISTER_TEMPLATE(Name, Params)\
+    NDNBOOST_TYPEOF_REGISTER_TEMPLATE_EXPLICIT_ID(Name, Params, NDNBOOST_TYPEOF_UNIQUE_ID())
 
-#define BOOST_TYPEOF_OBJECT_MAKER(s, data, elem)\
-    BOOST_TYPEOF_MAKE_OBJ(elem)
+#define NDNBOOST_TYPEOF_OBJECT_MAKER(s, data, elem)\
+    NDNBOOST_TYPEOF_MAKE_OBJ(elem)
 
-#define BOOST_TYPEOF_MAKE_OBJS(Params)\
-    BOOST_PP_SEQ_TRANSFORM(BOOST_TYPEOF_OBJECT_MAKER, ~, Params)
+#define NDNBOOST_TYPEOF_MAKE_OBJS(Params)\
+    NDNBOOST_PP_SEQ_TRANSFORM(NDNBOOST_TYPEOF_OBJECT_MAKER, ~, Params)
 
 // As suggested by Paul Mensonides:
 
-#define BOOST_TYPEOF_TOSEQ(x)\
-    BOOST_PP_IIF(\
-        BOOST_PP_IS_UNARY(x),\
-        x BOOST_PP_TUPLE_EAT(3), BOOST_PP_REPEAT\
-    )(x, BOOST_TYPEOF_TOSEQ_2, ~)
+#define NDNBOOST_TYPEOF_TOSEQ(x)\
+    NDNBOOST_PP_IIF(\
+        NDNBOOST_PP_IS_UNARY(x),\
+        x NDNBOOST_PP_TUPLE_EAT(3), NDNBOOST_PP_REPEAT\
+    )(x, NDNBOOST_TYPEOF_TOSEQ_2, ~)
 
-#define BOOST_TYPEOF_TOSEQ_2(z, n, _) (class)
+#define NDNBOOST_TYPEOF_TOSEQ_2(z, n, _) (class)
 
-// BOOST_TYPEOF_VIRTUAL
+// NDNBOOST_TYPEOF_VIRTUAL
 
-#define BOOST_TYPEOF_CAT_4(a, b, c, d) BOOST_TYPEOF_CAT_4_I(a, b, c, d)
-#define BOOST_TYPEOF_CAT_4_I(a, b, c, d) a ## b ## c ## d
+#define NDNBOOST_TYPEOF_CAT_4(a, b, c, d) NDNBOOST_TYPEOF_CAT_4_I(a, b, c, d)
+#define NDNBOOST_TYPEOF_CAT_4_I(a, b, c, d) a ## b ## c ## d
 
-#define BOOST_TYPEOF_VIRTUAL(Fun, Obj)\
-    BOOST_TYPEOF_CAT_4(BOOST_TYPEOF_, BOOST_PP_SEQ_HEAD(Obj), _, Fun)
+#define NDNBOOST_TYPEOF_VIRTUAL(Fun, Obj)\
+    NDNBOOST_TYPEOF_CAT_4(NDNBOOST_TYPEOF_, NDNBOOST_PP_SEQ_HEAD(Obj), _, Fun)
 
-// BOOST_TYPEOF_SEQ_ENUM[_TRAILING][_1]
+// NDNBOOST_TYPEOF_SEQ_ENUM[_TRAILING][_1]
 // Two versions provided due to reentrancy issue
 
-#define BOOST_TYPEOF_SEQ_EXPAND_ELEMENT(z,n,seq)\
-   BOOST_PP_SEQ_ELEM(0,seq) (z,n,BOOST_PP_SEQ_ELEM(n,BOOST_PP_SEQ_ELEM(1,seq)))
+#define NDNBOOST_TYPEOF_SEQ_EXPAND_ELEMENT(z,n,seq)\
+   NDNBOOST_PP_SEQ_ELEM(0,seq) (z,n,NDNBOOST_PP_SEQ_ELEM(n,NDNBOOST_PP_SEQ_ELEM(1,seq)))
 
-#define BOOST_TYPEOF_SEQ_ENUM(seq,macro)\
-    BOOST_PP_ENUM(BOOST_PP_SEQ_SIZE(seq),BOOST_TYPEOF_SEQ_EXPAND_ELEMENT,(macro)(seq))
+#define NDNBOOST_TYPEOF_SEQ_ENUM(seq,macro)\
+    NDNBOOST_PP_ENUM(NDNBOOST_PP_SEQ_SIZE(seq),NDNBOOST_TYPEOF_SEQ_EXPAND_ELEMENT,(macro)(seq))
 
-#define BOOST_TYPEOF_SEQ_ENUM_TRAILING(seq,macro)\
-    BOOST_PP_ENUM_TRAILING(BOOST_PP_SEQ_SIZE(seq),BOOST_TYPEOF_SEQ_EXPAND_ELEMENT,(macro)(seq))
+#define NDNBOOST_TYPEOF_SEQ_ENUM_TRAILING(seq,macro)\
+    NDNBOOST_PP_ENUM_TRAILING(NDNBOOST_PP_SEQ_SIZE(seq),NDNBOOST_TYPEOF_SEQ_EXPAND_ELEMENT,(macro)(seq))
 
-#define BOOST_TYPEOF_SEQ_EXPAND_ELEMENT_1(z,n,seq)\
-    BOOST_PP_SEQ_ELEM(0,seq) (z,n,BOOST_PP_SEQ_ELEM(n,BOOST_PP_SEQ_ELEM(1,seq)))
+#define NDNBOOST_TYPEOF_SEQ_EXPAND_ELEMENT_1(z,n,seq)\
+    NDNBOOST_PP_SEQ_ELEM(0,seq) (z,n,NDNBOOST_PP_SEQ_ELEM(n,NDNBOOST_PP_SEQ_ELEM(1,seq)))
 
-#define BOOST_TYPEOF_SEQ_ENUM_1(seq,macro)\
-    BOOST_PP_ENUM(BOOST_PP_SEQ_SIZE(seq),BOOST_TYPEOF_SEQ_EXPAND_ELEMENT_1,(macro)(seq))
+#define NDNBOOST_TYPEOF_SEQ_ENUM_1(seq,macro)\
+    NDNBOOST_PP_ENUM(NDNBOOST_PP_SEQ_SIZE(seq),NDNBOOST_TYPEOF_SEQ_EXPAND_ELEMENT_1,(macro)(seq))
 
-#define BOOST_TYPEOF_SEQ_ENUM_TRAILING_1(seq,macro)\
-    BOOST_PP_ENUM_TRAILING(BOOST_PP_SEQ_SIZE(seq),BOOST_TYPEOF_SEQ_EXPAND_ELEMENT_1,(macro)(seq))
+#define NDNBOOST_TYPEOF_SEQ_ENUM_TRAILING_1(seq,macro)\
+    NDNBOOST_PP_ENUM_TRAILING(NDNBOOST_PP_SEQ_SIZE(seq),NDNBOOST_TYPEOF_SEQ_EXPAND_ELEMENT_1,(macro)(seq))
 
 //
 
-#define BOOST_TYPEOF_PLACEHOLDER(z, n, elem)\
-    BOOST_TYPEOF_VIRTUAL(PLACEHOLDER, elem)(elem)
+#define NDNBOOST_TYPEOF_PLACEHOLDER(z, n, elem)\
+    NDNBOOST_TYPEOF_VIRTUAL(PLACEHOLDER, elem)(elem)
 
-#define BOOST_TYPEOF_PLACEHOLDER_TYPES(z, n, elem)\
-    BOOST_TYPEOF_VIRTUAL(PLACEHOLDER_TYPES, elem)(elem, n)
+#define NDNBOOST_TYPEOF_PLACEHOLDER_TYPES(z, n, elem)\
+    NDNBOOST_TYPEOF_VIRTUAL(PLACEHOLDER_TYPES, elem)(elem, n)
 
-#define BOOST_TYPEOF_REGISTER_TEMPLATE_ENCODE_PARAM(r, data, n, elem)\
-    BOOST_TYPEOF_VIRTUAL(ENCODE, elem)(elem, n)
+#define NDNBOOST_TYPEOF_REGISTER_TEMPLATE_ENCODE_PARAM(r, data, n, elem)\
+    NDNBOOST_TYPEOF_VIRTUAL(ENCODE, elem)(elem, n)
 
-#define BOOST_TYPEOF_REGISTER_TEMPLATE_DECODE_PARAM(r, data, n, elem)\
-    BOOST_TYPEOF_VIRTUAL(DECODE, elem)(elem, n)
+#define NDNBOOST_TYPEOF_REGISTER_TEMPLATE_DECODE_PARAM(r, data, n, elem)\
+    NDNBOOST_TYPEOF_VIRTUAL(DECODE, elem)(elem, n)
 
-#define BOOST_TYPEOF_REGISTER_TEMPLATE_PARAM_PAIR(z, n, elem) \
-    BOOST_TYPEOF_VIRTUAL(EXPANDTYPE, elem)(elem) BOOST_PP_CAT(P, n)
+#define NDNBOOST_TYPEOF_REGISTER_TEMPLATE_PARAM_PAIR(z, n, elem) \
+    NDNBOOST_TYPEOF_VIRTUAL(EXPANDTYPE, elem)(elem) NDNBOOST_PP_CAT(P, n)
 
-#define BOOST_TYPEOF_REGISTER_DEFAULT_TEMPLATE_TYPE(Name,Params,ID)\
-    Name< BOOST_PP_ENUM_PARAMS(BOOST_PP_SEQ_SIZE(Params), P) >
+#define NDNBOOST_TYPEOF_REGISTER_DEFAULT_TEMPLATE_TYPE(Name,Params,ID)\
+    Name< NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_SEQ_SIZE(Params), P) >
 
 //Since we are creating an internal decode struct, we need to use different template names, T instead of P.
-#define BOOST_TYPEOF_REGISTER_DECODER_TYPE_PARAM_PAIR(z,n,elem) \
-    BOOST_TYPEOF_VIRTUAL(EXPANDTYPE, elem)(elem) BOOST_PP_CAT(T, n)
+#define NDNBOOST_TYPEOF_REGISTER_DECODER_TYPE_PARAM_PAIR(z,n,elem) \
+    NDNBOOST_TYPEOF_VIRTUAL(EXPANDTYPE, elem)(elem) NDNBOOST_PP_CAT(T, n)
 
 //Default template param decoding
 
-#define BOOST_TYPEOF_TYPEDEF_DECODED_TEMPLATE_TYPE(Name,Params)\
-    typedef Name<BOOST_PP_ENUM_PARAMS(BOOST_PP_SEQ_SIZE(Params),BOOST_TYPEOF_QUALIFY(P))> type;
+#define NDNBOOST_TYPEOF_TYPEDEF_DECODED_TEMPLATE_TYPE(Name,Params)\
+    typedef Name<NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_SEQ_SIZE(Params),NDNBOOST_TYPEOF_QUALIFY(P))> type;
 
 //Branch the decoding
-#define BOOST_TYPEOF_TYPEDEF_DECODED_TYPE(Name,Params)\
-    BOOST_PP_IF(BOOST_TYPEOF_HAS_TEMPLATES(Params),\
-        BOOST_TYPEOF_TYPEDEF_DECODED_TEMPLATE_TEMPLATE_TYPE,\
-        BOOST_TYPEOF_TYPEDEF_DECODED_TEMPLATE_TYPE)(Name,Params)
+#define NDNBOOST_TYPEOF_TYPEDEF_DECODED_TYPE(Name,Params)\
+    NDNBOOST_PP_IF(NDNBOOST_TYPEOF_HAS_TEMPLATES(Params),\
+        NDNBOOST_TYPEOF_TYPEDEF_DECODED_TEMPLATE_TEMPLATE_TYPE,\
+        NDNBOOST_TYPEOF_TYPEDEF_DECODED_TEMPLATE_TYPE)(Name,Params)
 
-#define BOOST_TYPEOF_REGISTER_TEMPLATE_IMPL(Name, Params, Size, ID)\
-    BOOST_TYPEOF_BEGIN_ENCODE_NS\
-    BOOST_TYPEOF_REGISTER_TEMPLATE_TEMPLATE_IMPL(Name, Params, ID)\
+#define NDNBOOST_TYPEOF_REGISTER_TEMPLATE_IMPL(Name, Params, Size, ID)\
+    NDNBOOST_TYPEOF_BEGIN_ENCODE_NS\
+    NDNBOOST_TYPEOF_REGISTER_TEMPLATE_TEMPLATE_IMPL(Name, Params, ID)\
     template<class V\
-        BOOST_TYPEOF_SEQ_ENUM_TRAILING(Params, BOOST_TYPEOF_REGISTER_TEMPLATE_PARAM_PAIR)\
+        NDNBOOST_TYPEOF_SEQ_ENUM_TRAILING(Params, NDNBOOST_TYPEOF_REGISTER_TEMPLATE_PARAM_PAIR)\
     >\
-    struct encode_type_impl<V, Name<BOOST_PP_ENUM_PARAMS(Size, P)> >\
+    struct encode_type_impl<V, Name<NDNBOOST_PP_ENUM_PARAMS(Size, P)> >\
     {\
         typedef typename ndnboost::type_of::push_back<V, ndnboost::mpl::size_t<ID> >::type V0;\
-        BOOST_PP_SEQ_FOR_EACH_I(BOOST_TYPEOF_REGISTER_TEMPLATE_ENCODE_PARAM, ~, Params)\
-        typedef BOOST_PP_CAT(V, Size) type;\
+        NDNBOOST_PP_SEQ_FOR_EACH_I(NDNBOOST_TYPEOF_REGISTER_TEMPLATE_ENCODE_PARAM, ~, Params)\
+        typedef NDNBOOST_PP_CAT(V, Size) type;\
     };\
     template<class Iter>\
     struct decode_type_impl<ndnboost::mpl::size_t<ID>, Iter>\
@@ -151,10 +151,10 @@
         typedef decode_type_impl<ndnboost::mpl::size_t<ID>, Iter> self_t;\
         typedef ndnboost::mpl::size_t<ID> self_id;\
         typedef Iter iter0;\
-        BOOST_PP_SEQ_FOR_EACH_I(BOOST_TYPEOF_REGISTER_TEMPLATE_DECODE_PARAM, ~, Params)\
-        BOOST_TYPEOF_TYPEDEF_DECODED_TYPE(Name, Params)\
-        typedef BOOST_PP_CAT(iter, Size) iter;\
+        NDNBOOST_PP_SEQ_FOR_EACH_I(NDNBOOST_TYPEOF_REGISTER_TEMPLATE_DECODE_PARAM, ~, Params)\
+        NDNBOOST_TYPEOF_TYPEDEF_DECODED_TYPE(Name, Params)\
+        typedef NDNBOOST_PP_CAT(iter, Size) iter;\
     };\
-    BOOST_TYPEOF_END_ENCODE_NS
+    NDNBOOST_TYPEOF_END_ENCODE_NS
 
-#endif//BOOST_TYPEOF_TEMPLATE_ENCODING_HPP_INCLUDED
+#endif//NDNBOOST_TYPEOF_TEMPLATE_ENCODING_HPP_INCLUDED
diff --git a/include/ndnboost/typeof/template_template_param.hpp b/include/ndnboost/typeof/template_template_param.hpp
index b704616..d0802b7 100644
--- a/include/ndnboost/typeof/template_template_param.hpp
+++ b/include/ndnboost/typeof/template_template_param.hpp
@@ -3,69 +3,69 @@
 // Distributed under the Boost Software License, Version 1.0. (See accompanying
 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 
-#ifndef BOOST_TYPEOF_TEMPLATE_TEMPLATE_PARAM_HPP_INCLUDED
-#define BOOST_TYPEOF_TEMPLATE_TEMPLATE_PARAM_HPP_INCLUDED
+#ifndef NDNBOOST_TYPEOF_TEMPLATE_TEMPLATE_PARAM_HPP_INCLUDED
+#define NDNBOOST_TYPEOF_TEMPLATE_TEMPLATE_PARAM_HPP_INCLUDED
 
 #include <ndnboost/preprocessor/logical/or.hpp>
 #include <ndnboost/preprocessor/seq/fold_left.hpp>
 #include <ndnboost/preprocessor/seq/enum.hpp>
 
-#define BOOST_TYPEOF_MAKE_OBJ_template(x)   BOOST_TYPEOF_TEMPLATE_PARAM(x)
-#define BOOST_TYPEOF_TEMPLATE(X) template(X) BOOST_TYPEOF_EAT
-#define BOOST_TYPEOF_template(X) (template(X))
+#define NDNBOOST_TYPEOF_MAKE_OBJ_template(x)   NDNBOOST_TYPEOF_TEMPLATE_PARAM(x)
+#define NDNBOOST_TYPEOF_TEMPLATE(X) template(X) NDNBOOST_TYPEOF_EAT
+#define NDNBOOST_TYPEOF_template(X) (template(X))
 
-#define BOOST_TYPEOF_TEMPLATE_PARAM(Params)\
+#define NDNBOOST_TYPEOF_TEMPLATE_PARAM(Params)\
     (TEMPLATE_PARAM)\
     (Params)
 
-#define BOOST_TYPEOF_TEMPLATE_PARAM_GETPARAMS(This)\
-    BOOST_TYPEOF_TOSEQ(BOOST_PP_SEQ_ELEM(1, This))
+#define NDNBOOST_TYPEOF_TEMPLATE_PARAM_GETPARAMS(This)\
+    NDNBOOST_TYPEOF_TOSEQ(NDNBOOST_PP_SEQ_ELEM(1, This))
 
 //Encode / decode this
-#define BOOST_TYPEOF_TEMPLATE_PARAM_ENCODE(This, n)\
-   typedef typename ndnboost::type_of::encode_template<BOOST_PP_CAT(V, n),\
-       BOOST_PP_CAT(P, n)<BOOST_TYPEOF_SEQ_ENUM(BOOST_TYPEOF_MAKE_OBJS(BOOST_TYPEOF_TEMPLATE_PARAM_GETPARAMS(This)),BOOST_TYPEOF_PLACEHOLDER) >\
-   >::type BOOST_PP_CAT(V, BOOST_PP_INC(n));
+#define NDNBOOST_TYPEOF_TEMPLATE_PARAM_ENCODE(This, n)\
+   typedef typename ndnboost::type_of::encode_template<NDNBOOST_PP_CAT(V, n),\
+       NDNBOOST_PP_CAT(P, n)<NDNBOOST_TYPEOF_SEQ_ENUM(NDNBOOST_TYPEOF_MAKE_OBJS(NDNBOOST_TYPEOF_TEMPLATE_PARAM_GETPARAMS(This)),NDNBOOST_TYPEOF_PLACEHOLDER) >\
+   >::type NDNBOOST_PP_CAT(V, NDNBOOST_PP_INC(n));
 
-#define BOOST_TYPEOF_TEMPLATE_PARAM_DECODE(This, n)\
-   typedef ndnboost::type_of::decode_template< BOOST_PP_CAT(iter, n) > BOOST_PP_CAT(d, n);\
-   typedef typename BOOST_PP_CAT(d, n)::type BOOST_PP_CAT(P, n);\
-   typedef typename BOOST_PP_CAT(d, n)::iter BOOST_PP_CAT(iter,BOOST_PP_INC(n));
+#define NDNBOOST_TYPEOF_TEMPLATE_PARAM_DECODE(This, n)\
+   typedef ndnboost::type_of::decode_template< NDNBOOST_PP_CAT(iter, n) > NDNBOOST_PP_CAT(d, n);\
+   typedef typename NDNBOOST_PP_CAT(d, n)::type NDNBOOST_PP_CAT(P, n);\
+   typedef typename NDNBOOST_PP_CAT(d, n)::iter NDNBOOST_PP_CAT(iter,NDNBOOST_PP_INC(n));
 
 // template<class, unsigned int, ...> class
-#define BOOST_TYPEOF_TEMPLATE_PARAM_EXPANDTYPE(This) \
-    template <BOOST_PP_SEQ_ENUM(BOOST_TYPEOF_TEMPLATE_PARAM_GETPARAMS(This)) > class
+#define NDNBOOST_TYPEOF_TEMPLATE_PARAM_EXPANDTYPE(This) \
+    template <NDNBOOST_PP_SEQ_ENUM(NDNBOOST_TYPEOF_TEMPLATE_PARAM_GETPARAMS(This)) > class
 
-#define BOOST_TYPEOF_TEMPLATE_PARAM_PLACEHOLDER(Param)\
+#define NDNBOOST_TYPEOF_TEMPLATE_PARAM_PLACEHOLDER(Param)\
     Nested_Template_Template_Arguments_Not_Supported
 
 //'template<class,int> class' is reduced to 'class'
-#define BOOST_TYPEOF_TEMPLATE_PARAM_DECLARATION_TYPE(Param) class
+#define NDNBOOST_TYPEOF_TEMPLATE_PARAM_DECLARATION_TYPE(Param) class
 
 // T3<int, (unsigned int)0, ...>
-#define BOOST_TYPEOF_TEMPLATE_PARAM_PLACEHOLDER_TYPES(Param, n)\
-    BOOST_PP_CAT(T,n)<BOOST_TYPEOF_SEQ_ENUM_1(BOOST_TYPEOF_MAKE_OBJS(BOOST_TYPEOF_TEMPLATE_PARAM_GETPARAMS(Param)),BOOST_TYPEOF_PLACEHOLDER) >
+#define NDNBOOST_TYPEOF_TEMPLATE_PARAM_PLACEHOLDER_TYPES(Param, n)\
+    NDNBOOST_PP_CAT(T,n)<NDNBOOST_TYPEOF_SEQ_ENUM_1(NDNBOOST_TYPEOF_MAKE_OBJS(NDNBOOST_TYPEOF_TEMPLATE_PARAM_GETPARAMS(Param)),NDNBOOST_TYPEOF_PLACEHOLDER) >
 
-#define BOOST_TYPEOF_TEMPLATE_PARAM_ISTEMPLATE 1
+#define NDNBOOST_TYPEOF_TEMPLATE_PARAM_ISTEMPLATE 1
 
 ////////////////////////////
 // move to encode_decode?
 
-BOOST_TYPEOF_BEGIN_ENCODE_NS
+NDNBOOST_TYPEOF_BEGIN_ENCODE_NS
 
 template<class V, class Type_Not_Registered_With_Typeof_System> struct encode_template_impl;
 template<class T, class Iter> struct decode_template_impl;
 
-BOOST_TYPEOF_END_ENCODE_NS
+NDNBOOST_TYPEOF_END_ENCODE_NS
 
 namespace ndnboost { namespace type_of {
 
     template<class V, class T> struct encode_template
-        : BOOST_TYPEOF_ENCODE_NS_QUALIFIER::encode_template_impl<V, T>
+        : NDNBOOST_TYPEOF_ENCODE_NS_QUALIFIER::encode_template_impl<V, T>
     {};
 
     template<class Iter> struct decode_template
-        : BOOST_TYPEOF_ENCODE_NS_QUALIFIER::decode_template_impl<typename Iter::type, typename Iter::next>
+        : NDNBOOST_TYPEOF_ENCODE_NS_QUALIFIER::decode_template_impl<typename Iter::type, typename Iter::next>
     {};
 }}
 
@@ -73,77 +73,77 @@
 // move to template_encoding.hpp?
 
 //Template template registration
-#define BOOST_TYPEOF_REGISTER_TYPE_FOR_TEMPLATE_TEMPLATE(Name,Params,ID)\
+#define NDNBOOST_TYPEOF_REGISTER_TYPE_FOR_TEMPLATE_TEMPLATE(Name,Params,ID)\
     template<class V\
-        BOOST_TYPEOF_SEQ_ENUM_TRAILING(Params,BOOST_TYPEOF_REGISTER_TEMPLATE_PARAM_PAIR)\
+        NDNBOOST_TYPEOF_SEQ_ENUM_TRAILING(Params,NDNBOOST_TYPEOF_REGISTER_TEMPLATE_PARAM_PAIR)\
     >\
     struct encode_template_impl<V,Name<\
-        BOOST_PP_ENUM_PARAMS(\
-        BOOST_PP_SEQ_SIZE(Params),\
+        NDNBOOST_PP_ENUM_PARAMS(\
+        NDNBOOST_PP_SEQ_SIZE(Params),\
         P)> >\
         : ndnboost::type_of::push_back<V, ndnboost::mpl::size_t<ID> >\
     {\
     };\
     template<class Iter> struct decode_template_impl<ndnboost::mpl::size_t<ID>, Iter>\
     {\
-        BOOST_PP_REPEAT(BOOST_PP_SEQ_SIZE(Params),BOOST_TYPEOF_TYPEDEF_INT_PN,_)\
-        typedef Name<BOOST_TYPEOF_SEQ_ENUM(Params,BOOST_TYPEOF_PLACEHOLDER) > type;\
+        NDNBOOST_PP_REPEAT(NDNBOOST_PP_SEQ_SIZE(Params),NDNBOOST_TYPEOF_TYPEDEF_INT_PN,_)\
+        typedef Name<NDNBOOST_TYPEOF_SEQ_ENUM(Params,NDNBOOST_TYPEOF_PLACEHOLDER) > type;\
         typedef Iter iter;\
     };
 
-#define BOOST_TYPEOF_TYPEDEF_INT_PN(z,n,Params) typedef int BOOST_PP_CAT(P,n);
+#define NDNBOOST_TYPEOF_TYPEDEF_INT_PN(z,n,Params) typedef int NDNBOOST_PP_CAT(P,n);
 
 #ifdef __BORLANDC__
-#define BOOST_TYPEOF_DECODE_NESTED_TEMPLATE_HELPER_NAME BOOST_PP_CAT(\
-        BOOST_PP_CAT(\
-            BOOST_PP_CAT(\
+#define NDNBOOST_TYPEOF_DECODE_NESTED_TEMPLATE_HELPER_NAME NDNBOOST_PP_CAT(\
+        NDNBOOST_PP_CAT(\
+            NDNBOOST_PP_CAT(\
                 decode_nested_template_helper,\
-                BOOST_TYPEOF_REGISTRATION_GROUP\
+                NDNBOOST_TYPEOF_REGISTRATION_GROUP\
             ),0x10000\
         ),__LINE__\
     )
-#define BOOST_TYPEOF_REGISTER_DECODE_NESTED_TEMPLATE_HELPER_IMPL(Name,Params,ID)\
-    struct BOOST_TYPEOF_DECODE_NESTED_TEMPLATE_HELPER_NAME {\
-        template<BOOST_TYPEOF_SEQ_ENUM(Params,BOOST_TYPEOF_REGISTER_DECLARE_DECODER_TYPE_PARAM_PAIR) >\
+#define NDNBOOST_TYPEOF_REGISTER_DECODE_NESTED_TEMPLATE_HELPER_IMPL(Name,Params,ID)\
+    struct NDNBOOST_TYPEOF_DECODE_NESTED_TEMPLATE_HELPER_NAME {\
+        template<NDNBOOST_TYPEOF_SEQ_ENUM(Params,NDNBOOST_TYPEOF_REGISTER_DECLARE_DECODER_TYPE_PARAM_PAIR) >\
         struct decode_params;\
-        template<BOOST_TYPEOF_SEQ_ENUM(Params,BOOST_TYPEOF_REGISTER_DECODER_TYPE_PARAM_PAIR) >\
-        struct decode_params<BOOST_TYPEOF_SEQ_ENUM(Params,BOOST_TYPEOF_PLACEHOLDER_TYPES) >\
+        template<NDNBOOST_TYPEOF_SEQ_ENUM(Params,NDNBOOST_TYPEOF_REGISTER_DECODER_TYPE_PARAM_PAIR) >\
+        struct decode_params<NDNBOOST_TYPEOF_SEQ_ENUM(Params,NDNBOOST_TYPEOF_PLACEHOLDER_TYPES) >\
         {\
-            typedef Name<BOOST_PP_ENUM_PARAMS(BOOST_PP_SEQ_SIZE(Params),T)> type;\
+            typedef Name<NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_SEQ_SIZE(Params),T)> type;\
         };\
     };
 //Template template param decoding
-#define BOOST_TYPEOF_TYPEDEF_DECODED_TEMPLATE_TEMPLATE_TYPE(Name,Params)\
-    typedef typename BOOST_TYPEOF_DECODE_NESTED_TEMPLATE_HELPER_NAME::decode_params<BOOST_PP_ENUM_PARAMS(BOOST_PP_SEQ_SIZE(Params),P)>::type type;
+#define NDNBOOST_TYPEOF_TYPEDEF_DECODED_TEMPLATE_TEMPLATE_TYPE(Name,Params)\
+    typedef typename NDNBOOST_TYPEOF_DECODE_NESTED_TEMPLATE_HELPER_NAME::decode_params<NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_SEQ_SIZE(Params),P)>::type type;
 
 #else
-#define BOOST_TYPEOF_REGISTER_DECODE_NESTED_TEMPLATE_HELPER_IMPL(Name,Params,ID)
+#define NDNBOOST_TYPEOF_REGISTER_DECODE_NESTED_TEMPLATE_HELPER_IMPL(Name,Params,ID)
 
 //Template template param decoding
-#define BOOST_TYPEOF_TYPEDEF_DECODED_TEMPLATE_TEMPLATE_TYPE(Name,Params)\
-    template<BOOST_TYPEOF_SEQ_ENUM(Params,BOOST_TYPEOF_REGISTER_DECLARE_DECODER_TYPE_PARAM_PAIR) >\
+#define NDNBOOST_TYPEOF_TYPEDEF_DECODED_TEMPLATE_TEMPLATE_TYPE(Name,Params)\
+    template<NDNBOOST_TYPEOF_SEQ_ENUM(Params,NDNBOOST_TYPEOF_REGISTER_DECLARE_DECODER_TYPE_PARAM_PAIR) >\
     struct decode_params;\
-    template<BOOST_TYPEOF_SEQ_ENUM(Params,BOOST_TYPEOF_REGISTER_DECODER_TYPE_PARAM_PAIR) >\
-    struct decode_params<BOOST_TYPEOF_SEQ_ENUM(Params,BOOST_TYPEOF_PLACEHOLDER_TYPES) >\
+    template<NDNBOOST_TYPEOF_SEQ_ENUM(Params,NDNBOOST_TYPEOF_REGISTER_DECODER_TYPE_PARAM_PAIR) >\
+    struct decode_params<NDNBOOST_TYPEOF_SEQ_ENUM(Params,NDNBOOST_TYPEOF_PLACEHOLDER_TYPES) >\
     {\
-        typedef Name<BOOST_PP_ENUM_PARAMS(BOOST_PP_SEQ_SIZE(Params),T)> type;\
+        typedef Name<NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_SEQ_SIZE(Params),T)> type;\
     };\
-    typedef typename decode_params<BOOST_PP_ENUM_PARAMS(BOOST_PP_SEQ_SIZE(Params),P)>::type type;
+    typedef typename decode_params<NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_SEQ_SIZE(Params),P)>::type type;
 #endif
-#define BOOST_TYPEOF_REGISTER_DECLARE_DECODER_TYPE_PARAM_PAIR(z,n,elem) \
-    BOOST_TYPEOF_VIRTUAL(DECLARATION_TYPE, elem)(elem) BOOST_PP_CAT(T, n)
+#define NDNBOOST_TYPEOF_REGISTER_DECLARE_DECODER_TYPE_PARAM_PAIR(z,n,elem) \
+    NDNBOOST_TYPEOF_VIRTUAL(DECLARATION_TYPE, elem)(elem) NDNBOOST_PP_CAT(T, n)
 
-// BOOST_TYPEOF_HAS_TEMPLATES
-#define BOOST_TYPEOF_HAS_TEMPLATES(Params)\
-    BOOST_PP_SEQ_FOLD_LEFT(BOOST_TYPEOF_HAS_TEMPLATES_OP, 0, Params)
+// NDNBOOST_TYPEOF_HAS_TEMPLATES
+#define NDNBOOST_TYPEOF_HAS_TEMPLATES(Params)\
+    NDNBOOST_PP_SEQ_FOLD_LEFT(NDNBOOST_TYPEOF_HAS_TEMPLATES_OP, 0, Params)
 
-#define BOOST_TYPEOF_HAS_TEMPLATES_OP(s, state, elem)\
-    BOOST_PP_OR(state, BOOST_TYPEOF_VIRTUAL(ISTEMPLATE, elem))
+#define NDNBOOST_TYPEOF_HAS_TEMPLATES_OP(s, state, elem)\
+    NDNBOOST_PP_OR(state, NDNBOOST_TYPEOF_VIRTUAL(ISTEMPLATE, elem))
 
 //Define template template arguments
-#define BOOST_TYPEOF_REGISTER_TEMPLATE_TEMPLATE_IMPL(Name,Params,ID)\
-    BOOST_PP_IF(BOOST_TYPEOF_HAS_TEMPLATES(Params),\
-        BOOST_TYPEOF_REGISTER_DECODE_NESTED_TEMPLATE_HELPER_IMPL,\
-        BOOST_TYPEOF_REGISTER_TYPE_FOR_TEMPLATE_TEMPLATE)(Name,Params,ID)
+#define NDNBOOST_TYPEOF_REGISTER_TEMPLATE_TEMPLATE_IMPL(Name,Params,ID)\
+    NDNBOOST_PP_IF(NDNBOOST_TYPEOF_HAS_TEMPLATES(Params),\
+        NDNBOOST_TYPEOF_REGISTER_DECODE_NESTED_TEMPLATE_HELPER_IMPL,\
+        NDNBOOST_TYPEOF_REGISTER_TYPE_FOR_TEMPLATE_TEMPLATE)(Name,Params,ID)
 
-#endif //BOOST_TYPEOF_TEMPLATE_TEMPLATE_PARAM_HPP_INCLUDED
+#endif //NDNBOOST_TYPEOF_TEMPLATE_TEMPLATE_PARAM_HPP_INCLUDED
diff --git a/include/ndnboost/typeof/type_encoding.hpp b/include/ndnboost/typeof/type_encoding.hpp
index 53c4508..ad59bf2 100644
--- a/include/ndnboost/typeof/type_encoding.hpp
+++ b/include/ndnboost/typeof/type_encoding.hpp
@@ -2,10 +2,10 @@
 // Distributed under the Boost Software License, Version 1.0. (See accompanying
 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 
-#ifndef BOOST_TYPEOF_TYPE_ENCODING_HPP_INCLUDED
-#define BOOST_TYPEOF_TYPE_ENCODING_HPP_INCLUDED
+#ifndef NDNBOOST_TYPEOF_TYPE_ENCODING_HPP_INCLUDED
+#define NDNBOOST_TYPEOF_TYPE_ENCODING_HPP_INCLUDED
 
-#define BOOST_TYPEOF_REGISTER_TYPE_IMPL(T, Id)                          \
+#define NDNBOOST_TYPEOF_REGISTER_TYPE_IMPL(T, Id)                          \
                                                                         \
     template<class V> struct encode_type_impl<V, T >                    \
         : ndnboost::type_of::push_back<V, ndnboost::mpl::size_t<Id> >         \
@@ -16,12 +16,12 @@
         typedef Iter iter;                                              \
     };
 
-#define BOOST_TYPEOF_REGISTER_TYPE_EXPLICIT_ID(Type, Id)                \
-    BOOST_TYPEOF_BEGIN_ENCODE_NS                                        \
-    BOOST_TYPEOF_REGISTER_TYPE_IMPL(Type, Id)                           \
-    BOOST_TYPEOF_END_ENCODE_NS
+#define NDNBOOST_TYPEOF_REGISTER_TYPE_EXPLICIT_ID(Type, Id)                \
+    NDNBOOST_TYPEOF_BEGIN_ENCODE_NS                                        \
+    NDNBOOST_TYPEOF_REGISTER_TYPE_IMPL(Type, Id)                           \
+    NDNBOOST_TYPEOF_END_ENCODE_NS
 
-#define BOOST_TYPEOF_REGISTER_TYPE(Type)                                \
-    BOOST_TYPEOF_REGISTER_TYPE_EXPLICIT_ID(Type, BOOST_TYPEOF_UNIQUE_ID())
+#define NDNBOOST_TYPEOF_REGISTER_TYPE(Type)                                \
+    NDNBOOST_TYPEOF_REGISTER_TYPE_EXPLICIT_ID(Type, NDNBOOST_TYPEOF_UNIQUE_ID())
 
-#endif//BOOST_TYPEOF_TYPE_ENCODING_HPP_INCLUDED
+#endif//NDNBOOST_TYPEOF_TYPE_ENCODING_HPP_INCLUDED
diff --git a/include/ndnboost/typeof/type_template_param.hpp b/include/ndnboost/typeof/type_template_param.hpp
index 283f480..9abc45c 100644
--- a/include/ndnboost/typeof/type_template_param.hpp
+++ b/include/ndnboost/typeof/type_template_param.hpp
@@ -2,36 +2,36 @@
 // Distributed under the Boost Software License, Version 1.0. (See accompanying
 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 
-#ifndef BOOST_TYPEOF_TYPE_TEMPLATE_PARAM_HPP_INCLUDED
-#define BOOST_TYPEOF_TYPE_TEMPLATE_PARAM_HPP_INCLUDED
+#ifndef NDNBOOST_TYPEOF_TYPE_TEMPLATE_PARAM_HPP_INCLUDED
+#define NDNBOOST_TYPEOF_TYPE_TEMPLATE_PARAM_HPP_INCLUDED
 
-#define BOOST_TYPEOF_class_BOOST_TYPEOF (class)
-#define BOOST_TYPEOF_typename_BOOST_TYPEOF (typename)
+#define NDNBOOST_TYPEOF_class_NDNBOOST_TYPEOF (class)
+#define NDNBOOST_TYPEOF_typename_NDNBOOST_TYPEOF (typename)
 
-#define BOOST_TYPEOF_MAKE_OBJ_class BOOST_TYPEOF_TYPE_PARAM
-#define BOOST_TYPEOF_MAKE_OBJ_typename BOOST_TYPEOF_TYPE_PARAM
+#define NDNBOOST_TYPEOF_MAKE_OBJ_class NDNBOOST_TYPEOF_TYPE_PARAM
+#define NDNBOOST_TYPEOF_MAKE_OBJ_typename NDNBOOST_TYPEOF_TYPE_PARAM
 
-#define BOOST_TYPEOF_TYPE_PARAM\
+#define NDNBOOST_TYPEOF_TYPE_PARAM\
     (TYPE_PARAM)
 
-#define BOOST_TYPEOF_TYPE_PARAM_EXPANDTYPE(Param) class
+#define NDNBOOST_TYPEOF_TYPE_PARAM_EXPANDTYPE(Param) class
 
 // TYPE_PARAM "virtual functions" implementation
 
-#define BOOST_TYPEOF_TYPE_PARAM_ENCODE(This, n)\
+#define NDNBOOST_TYPEOF_TYPE_PARAM_ENCODE(This, n)\
     typedef typename ndnboost::type_of::encode_type<\
-        BOOST_PP_CAT(V, n),\
-        BOOST_PP_CAT(P, n)\
-    >::type BOOST_PP_CAT(V, BOOST_PP_INC(n)); 
+        NDNBOOST_PP_CAT(V, n),\
+        NDNBOOST_PP_CAT(P, n)\
+    >::type NDNBOOST_PP_CAT(V, NDNBOOST_PP_INC(n)); 
 
-#define BOOST_TYPEOF_TYPE_PARAM_DECODE(This, n)\
-    typedef ndnboost::type_of::decode_type< BOOST_PP_CAT(iter, n) > BOOST_PP_CAT(d, n);\
-    typedef typename BOOST_PP_CAT(d, n)::type BOOST_PP_CAT(P, n);\
-    typedef typename BOOST_PP_CAT(d, n)::iter BOOST_PP_CAT(iter, BOOST_PP_INC(n));
+#define NDNBOOST_TYPEOF_TYPE_PARAM_DECODE(This, n)\
+    typedef ndnboost::type_of::decode_type< NDNBOOST_PP_CAT(iter, n) > NDNBOOST_PP_CAT(d, n);\
+    typedef typename NDNBOOST_PP_CAT(d, n)::type NDNBOOST_PP_CAT(P, n);\
+    typedef typename NDNBOOST_PP_CAT(d, n)::iter NDNBOOST_PP_CAT(iter, NDNBOOST_PP_INC(n));
 
-#define BOOST_TYPEOF_TYPE_PARAM_PLACEHOLDER(Param) int
-#define BOOST_TYPEOF_TYPE_PARAM_DECLARATION_TYPE(Param) class
-#define BOOST_TYPEOF_TYPE_PARAM_PLACEHOLDER_TYPES(Param, n) BOOST_PP_CAT(T,n)
-#define BOOST_TYPEOF_TYPE_PARAM_ISTEMPLATE 0
+#define NDNBOOST_TYPEOF_TYPE_PARAM_PLACEHOLDER(Param) int
+#define NDNBOOST_TYPEOF_TYPE_PARAM_DECLARATION_TYPE(Param) class
+#define NDNBOOST_TYPEOF_TYPE_PARAM_PLACEHOLDER_TYPES(Param, n) NDNBOOST_PP_CAT(T,n)
+#define NDNBOOST_TYPEOF_TYPE_PARAM_ISTEMPLATE 0
 
-#endif//BOOST_TYPEOF_TYPE_TEMPLATE_PARAM_HPP_INCLUDED
+#endif//NDNBOOST_TYPEOF_TYPE_TEMPLATE_PARAM_HPP_INCLUDED
diff --git a/include/ndnboost/typeof/typeof.hpp b/include/ndnboost/typeof/typeof.hpp
index 98505d9..4847baf 100644
--- a/include/ndnboost/typeof/typeof.hpp
+++ b/include/ndnboost/typeof/typeof.hpp
@@ -2,29 +2,29 @@
 // Distributed under the Boost Software License, Version 1.0. (See accompanying
 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 
-#ifndef BOOST_TYPEOF_TYPEOF_HPP_INCLUDED
-#define BOOST_TYPEOF_TYPEOF_HPP_INCLUDED
+#ifndef NDNBOOST_TYPEOF_TYPEOF_HPP_INCLUDED
+#define NDNBOOST_TYPEOF_TYPEOF_HPP_INCLUDED
 
-#if defined(BOOST_TYPEOF_COMPLIANT)
-#   define BOOST_TYPEOF_EMULATION
+#if defined(NDNBOOST_TYPEOF_COMPLIANT)
+#   define NDNBOOST_TYPEOF_EMULATION
 #endif
 
-#if defined(BOOST_TYPEOF_EMULATION) && defined(BOOST_TYPEOF_NATIVE)
+#if defined(NDNBOOST_TYPEOF_EMULATION) && defined(NDNBOOST_TYPEOF_NATIVE)
 #   error both typeof emulation and native mode requested
 #endif
 
 #if defined(__COMO__)
 #   ifdef __GNUG__
-#       ifndef BOOST_TYPEOF_EMULATION
-#           ifndef BOOST_TYPEOF_NATIVE
-#               define BOOST_TYPEOF_NATIVE
+#       ifndef NDNBOOST_TYPEOF_EMULATION
+#           ifndef NDNBOOST_TYPEOF_NATIVE
+#               define NDNBOOST_TYPEOF_NATIVE
 #           endif
-#           define BOOST_TYPEOF_KEYWORD typeof
+#           define NDNBOOST_TYPEOF_KEYWORD typeof
 #       endif
 #   else
-#       ifndef BOOST_TYPEOF_NATIVE
-#           ifndef BOOST_TYPEOF_EMULATION
-#               define BOOST_TYPEOF_EMULATION
+#       ifndef NDNBOOST_TYPEOF_NATIVE
+#           ifndef NDNBOOST_TYPEOF_EMULATION
+#               define NDNBOOST_TYPEOF_EMULATION
 #           endif
 #       else
 #           error native typeof is not supported
@@ -33,16 +33,16 @@
 
 #elif defined(__INTEL_COMPILER) || defined(__ICL) || defined(__ICC) || defined(__ECC)
 #   ifdef __GNUC__
-#       ifndef BOOST_TYPEOF_EMULATION
-#           ifndef BOOST_TYPEOF_NATIVE
-#               define BOOST_TYPEOF_NATIVE
+#       ifndef NDNBOOST_TYPEOF_EMULATION
+#           ifndef NDNBOOST_TYPEOF_NATIVE
+#               define NDNBOOST_TYPEOF_NATIVE
 #           endif
-#           define BOOST_TYPEOF_KEYWORD __typeof__
+#           define NDNBOOST_TYPEOF_KEYWORD __typeof__
 #       endif
 #   else
-#       ifndef BOOST_TYPEOF_NATIVE
-#           ifndef BOOST_TYPEOF_EMULATION
-#               define BOOST_TYPEOF_EMULATION
+#       ifndef NDNBOOST_TYPEOF_NATIVE
+#           ifndef NDNBOOST_TYPEOF_EMULATION
+#               define NDNBOOST_TYPEOF_EMULATION
 #           endif
 #       else
 #           error native typeof is not supported
@@ -50,60 +50,60 @@
 #   endif
 
 #elif defined(__GNUC__)
-#   ifndef BOOST_TYPEOF_EMULATION
-#       ifndef BOOST_TYPEOF_NATIVE
-#           define BOOST_TYPEOF_NATIVE
+#   ifndef NDNBOOST_TYPEOF_EMULATION
+#       ifndef NDNBOOST_TYPEOF_NATIVE
+#           define NDNBOOST_TYPEOF_NATIVE
 #       endif
-#       define BOOST_TYPEOF_KEYWORD __typeof__
+#       define NDNBOOST_TYPEOF_KEYWORD __typeof__
 #   endif
 
 #elif defined(__MWERKS__)
 #   if(__MWERKS__ <= 0x3003)  // 8.x
-#       ifndef BOOST_TYPEOF_EMULATION
-#           ifndef BOOST_TYPEOF_NATIVE
-#               define BOOST_TYPEOF_NATIVE
+#       ifndef NDNBOOST_TYPEOF_EMULATION
+#           ifndef NDNBOOST_TYPEOF_NATIVE
+#               define NDNBOOST_TYPEOF_NATIVE
 #           endif
-#           define BOOST_TYPEOF_KEYWORD __typeof__
+#           define NDNBOOST_TYPEOF_KEYWORD __typeof__
 #       else
-#           define BOOST_TYPEOF_EMULATION_UNSUPPORTED
+#           define NDNBOOST_TYPEOF_EMULATION_UNSUPPORTED
 #       endif
 #   else // 9.x
-#       ifndef BOOST_TYPEOF_EMULATION
-#           ifndef BOOST_TYPEOF_NATIVE
-#               define BOOST_TYPEOF_NATIVE
+#       ifndef NDNBOOST_TYPEOF_EMULATION
+#           ifndef NDNBOOST_TYPEOF_NATIVE
+#               define NDNBOOST_TYPEOF_NATIVE
 #           endif
-#           define BOOST_TYPEOF_KEYWORD __typeof__
+#           define NDNBOOST_TYPEOF_KEYWORD __typeof__
 #       endif
 #   endif
 #elif defined __CODEGEARC__
-#   ifndef BOOST_TYPEOF_EMULATION
-#       ifndef BOOST_TYPEOF_NATIVE
-#           define BOOST_TYPEOF_EMULATION_UNSUPPORTED
+#   ifndef NDNBOOST_TYPEOF_EMULATION
+#       ifndef NDNBOOST_TYPEOF_NATIVE
+#           define NDNBOOST_TYPEOF_EMULATION_UNSUPPORTED
 #       endif
 #   else
-#       define BOOST_TYPEOF_EMULATION_UNSUPPORTED
+#       define NDNBOOST_TYPEOF_EMULATION_UNSUPPORTED
 #   endif
 #elif defined __BORLANDC__
-#   ifndef BOOST_TYPEOF_EMULATION
-#       ifndef BOOST_TYPEOF_NATIVE
-#           define BOOST_TYPEOF_EMULATION_UNSUPPORTED
+#   ifndef NDNBOOST_TYPEOF_EMULATION
+#       ifndef NDNBOOST_TYPEOF_NATIVE
+#           define NDNBOOST_TYPEOF_EMULATION_UNSUPPORTED
 #       endif
 #   else
-#       define BOOST_TYPEOF_EMULATION_UNSUPPORTED
+#       define NDNBOOST_TYPEOF_EMULATION_UNSUPPORTED
 #   endif
 #elif defined __DMC__
-#   ifndef BOOST_TYPEOF_EMULATION
-#       ifndef BOOST_TYPEOF_NATIVE
-#           define BOOST_TYPEOF_NATIVE
+#   ifndef NDNBOOST_TYPEOF_EMULATION
+#       ifndef NDNBOOST_TYPEOF_NATIVE
+#           define NDNBOOST_TYPEOF_NATIVE
 #       endif
 #       include <ndnboost/typeof/dmc/typeof_impl.hpp>
 #       define MSVC_TYPEOF_HACK
 #   endif
 #elif defined(_MSC_VER)
 #   if (_MSC_VER <= 1300)  // 6.5, 7.0
-#       ifndef BOOST_TYPEOF_EMULATION
-#           ifndef BOOST_TYPEOF_NATIVE
-#               define BOOST_TYPEOF_NATIVE
+#       ifndef NDNBOOST_TYPEOF_EMULATION
+#           ifndef NDNBOOST_TYPEOF_NATIVE
+#               define NDNBOOST_TYPEOF_NATIVE
 #           endif
 #           include <ndnboost/typeof/msvc/typeof_impl.hpp>
 #           define MSVC_TYPEOF_HACK
@@ -111,33 +111,33 @@
 #           error typeof emulation is not supported
 #       endif
 #   elif (_MSC_VER >= 1310)  // 7.1 ->
-#       ifndef BOOST_TYPEOF_EMULATION
-#           ifndef BOOST_TYPEOF_NATIVE
+#       ifndef NDNBOOST_TYPEOF_EMULATION
+#           ifndef NDNBOOST_TYPEOF_NATIVE
 #               ifndef _MSC_EXTENSIONS
-#                   define BOOST_TYPEOF_EMULATION
+#                   define NDNBOOST_TYPEOF_EMULATION
 #               else
-#                   define BOOST_TYPEOF_NATIVE
+#                   define NDNBOOST_TYPEOF_NATIVE
 #               endif
 #           endif
 #       endif
-#       ifdef BOOST_TYPEOF_NATIVE
+#       ifdef NDNBOOST_TYPEOF_NATIVE
 #           include <ndnboost/typeof/msvc/typeof_impl.hpp>
 #           define MSVC_TYPEOF_HACK
 #       endif
 #   endif
 #elif defined(__HP_aCC)
-#   ifndef BOOST_TYPEOF_NATIVE
-#       ifndef BOOST_TYPEOF_EMULATION
-#           define BOOST_TYPEOF_EMULATION
+#   ifndef NDNBOOST_TYPEOF_NATIVE
+#       ifndef NDNBOOST_TYPEOF_EMULATION
+#           define NDNBOOST_TYPEOF_EMULATION
 #       endif
 #   else
 #       error native typeof is not supported
 #   endif
 
 #elif defined(__DECCXX)
-#   ifndef BOOST_TYPEOF_NATIVE
-#       ifndef BOOST_TYPEOF_EMULATION
-#           define BOOST_TYPEOF_EMULATION
+#   ifndef NDNBOOST_TYPEOF_NATIVE
+#       ifndef NDNBOOST_TYPEOF_EMULATION
+#           define NDNBOOST_TYPEOF_EMULATION
 #       endif
 #   else
 #       error native typeof is not supported
@@ -145,55 +145,55 @@
 
 #elif defined(__BORLANDC__)
 #   if (__BORLANDC__ < 0x590)
-#       define BOOST_TYPEOF_NO_FUNCTION_TYPES
-#       define BOOST_TYPEOF_NO_MEMBER_FUNCTION_TYPES
+#       define NDNBOOST_TYPEOF_NO_FUNCTION_TYPES
+#       define NDNBOOST_TYPEOF_NO_MEMBER_FUNCTION_TYPES
 #   endif
-#   ifndef BOOST_TYPEOF_NATIVE
-#       ifndef BOOST_TYPEOF_EMULATION
-#           define BOOST_TYPEOF_EMULATION
+#   ifndef NDNBOOST_TYPEOF_NATIVE
+#       ifndef NDNBOOST_TYPEOF_EMULATION
+#           define NDNBOOST_TYPEOF_EMULATION
 #       endif
 #   else
 #       error native typeof is not supported
 #   endif
 #elif defined(__SUNPRO_CC)
 #   if (__SUNPRO_CC < 0x590 )
-#     ifdef BOOST_TYPEOF_NATIVE
+#     ifdef NDNBOOST_TYPEOF_NATIVE
 #         error native typeof is not supported
 #     endif
-#     ifndef BOOST_TYPEOF_EMULATION
-#         define BOOST_TYPEOF_EMULATION
+#     ifndef NDNBOOST_TYPEOF_EMULATION
+#         define NDNBOOST_TYPEOF_EMULATION
 #     endif
 #   else
-#     ifndef BOOST_TYPEOF_EMULATION
-#         ifndef BOOST_TYPEOF_NATIVE
-#             define BOOST_TYPEOF_NATIVE
+#     ifndef NDNBOOST_TYPEOF_EMULATION
+#         ifndef NDNBOOST_TYPEOF_NATIVE
+#             define NDNBOOST_TYPEOF_NATIVE
 #         endif
-#         define BOOST_TYPEOF_KEYWORD __typeof__
+#         define NDNBOOST_TYPEOF_KEYWORD __typeof__
 #     endif
 #   endif
 #else //unknown compiler
-#   ifndef BOOST_TYPEOF_NATIVE
-#       ifndef BOOST_TYPEOF_EMULATION
-#           define BOOST_TYPEOF_EMULATION
+#   ifndef NDNBOOST_TYPEOF_NATIVE
+#       ifndef NDNBOOST_TYPEOF_EMULATION
+#           define NDNBOOST_TYPEOF_EMULATION
 #       endif
 #   else
-#       ifndef BOOST_TYPEOF_KEYWORD
-#           define BOOST_TYPEOF_KEYWORD typeof
+#       ifndef NDNBOOST_TYPEOF_KEYWORD
+#           define NDNBOOST_TYPEOF_KEYWORD typeof
 #       endif
 #   endif
 
 #endif
 
-#define BOOST_TYPEOF_UNIQUE_ID()\
-     BOOST_TYPEOF_REGISTRATION_GROUP * 0x10000 + __LINE__
+#define NDNBOOST_TYPEOF_UNIQUE_ID()\
+     NDNBOOST_TYPEOF_REGISTRATION_GROUP * 0x10000 + __LINE__
 
-#define BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()\
+#define NDNBOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()\
      <ndnboost/typeof/incr_registration_group.hpp>
 
-#ifdef BOOST_TYPEOF_EMULATION_UNSUPPORTED
+#ifdef NDNBOOST_TYPEOF_EMULATION_UNSUPPORTED
 #   include <ndnboost/typeof/unsupported.hpp>
-#elif defined BOOST_TYPEOF_EMULATION
-#   define BOOST_TYPEOF_TEXT "using typeof emulation"
+#elif defined NDNBOOST_TYPEOF_EMULATION
+#   define NDNBOOST_TYPEOF_TEXT "using typeof emulation"
 #   include <ndnboost/typeof/message.hpp>
 #   include <ndnboost/typeof/typeof_impl.hpp>
 #   include <ndnboost/typeof/type_encoding.hpp>
@@ -203,8 +203,8 @@
 #   include <ndnboost/typeof/register_functions.hpp>
 #   include <ndnboost/typeof/register_fundamental.hpp>
 
-#elif defined(BOOST_TYPEOF_NATIVE)
-#   define BOOST_TYPEOF_TEXT "using native typeof"
+#elif defined(NDNBOOST_TYPEOF_NATIVE)
+#   define NDNBOOST_TYPEOF_TEXT "using native typeof"
 #   include <ndnboost/typeof/message.hpp>
 #   include <ndnboost/typeof/native.hpp>
 #else
@@ -212,7 +212,7 @@
 #endif
 
 // auto
-#define BOOST_AUTO(Var, Expr) BOOST_TYPEOF(Expr) Var = Expr
-#define BOOST_AUTO_TPL(Var, Expr) BOOST_TYPEOF_TPL(Expr) Var = Expr
+#define NDNBOOST_AUTO(Var, Expr) NDNBOOST_TYPEOF(Expr) Var = Expr
+#define NDNBOOST_AUTO_TPL(Var, Expr) NDNBOOST_TYPEOF_TPL(Expr) Var = Expr
 
-#endif//BOOST_TYPEOF_TYPEOF_HPP_INCLUDED
+#endif//NDNBOOST_TYPEOF_TYPEOF_HPP_INCLUDED
diff --git a/include/ndnboost/typeof/typeof_impl.hpp b/include/ndnboost/typeof/typeof_impl.hpp
index 880afed..95ec28c 100644
--- a/include/ndnboost/typeof/typeof_impl.hpp
+++ b/include/ndnboost/typeof/typeof_impl.hpp
@@ -3,8 +3,8 @@
 // Distributed under the Boost Software License, Version 1.0. (See accompanying
 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 
-#ifndef BOOST_TYPEOF_TYPEOF_IMPL_HPP_INCLUDED
-#define BOOST_TYPEOF_TYPEOF_IMPL_HPP_INCLUDED
+#ifndef NDNBOOST_TYPEOF_TYPEOF_IMPL_HPP_INCLUDED
+#define NDNBOOST_TYPEOF_TYPEOF_IMPL_HPP_INCLUDED
 
 #include <ndnboost/mpl/size_t.hpp>
 #include <ndnboost/preprocessor/repetition/enum.hpp>
@@ -13,9 +13,9 @@
 #include <ndnboost/type_traits/is_function.hpp>
 #include <ndnboost/utility/enable_if.hpp>
 
-#define BOOST_TYPEOF_VECTOR(n) BOOST_PP_CAT(ndnboost::type_of::vector, n)
+#define NDNBOOST_TYPEOF_VECTOR(n) NDNBOOST_PP_CAT(ndnboost::type_of::vector, n)
 
-#define BOOST_TYPEOF_sizer_item(z, n, _)\
+#define NDNBOOST_TYPEOF_sizer_item(z, n, _)\
     char item ## n[V::item ## n ::value];
 
 namespace ndnboost { namespace type_of {
@@ -26,15 +26,15 @@
         // char item1[V::item1::value];
         // ...
 
-        BOOST_PP_REPEAT(BOOST_TYPEOF_LIMIT_SIZE, BOOST_TYPEOF_sizer_item, ~)
+        NDNBOOST_PP_REPEAT(NDNBOOST_TYPEOF_LIMIT_SIZE, NDNBOOST_TYPEOF_sizer_item, ~)
     };
 }}
 
-#undef BOOST_TYPEOF_sizer_item
+#undef NDNBOOST_TYPEOF_sizer_item
 
 //
 namespace ndnboost { namespace type_of {
-# ifdef BOOST_NO_SFINAE
+# ifdef NDNBOOST_NO_SFINAE
     template<class V, class T>
     sizer<typename encode_type<V, T>::type> encode(const T&);
 # else
@@ -59,18 +59,18 @@
     };
 }}
 
-#define BOOST_TYPEOF_TYPEITEM(z, n, expr)\
-    ndnboost::mpl::size_t<sizeof(ndnboost::type_of::encode<BOOST_TYPEOF_VECTOR(0)<> >(expr).item ## n)>
+#define NDNBOOST_TYPEOF_TYPEITEM(z, n, expr)\
+    ndnboost::mpl::size_t<sizeof(ndnboost::type_of::encode<NDNBOOST_TYPEOF_VECTOR(0)<> >(expr).item ## n)>
 
-#define BOOST_TYPEOF_ENCODED_VECTOR(Expr)                                   \
-    BOOST_TYPEOF_VECTOR(BOOST_TYPEOF_LIMIT_SIZE)<                           \
-        BOOST_PP_ENUM(BOOST_TYPEOF_LIMIT_SIZE, BOOST_TYPEOF_TYPEITEM, Expr) \
+#define NDNBOOST_TYPEOF_ENCODED_VECTOR(Expr)                                   \
+    NDNBOOST_TYPEOF_VECTOR(NDNBOOST_TYPEOF_LIMIT_SIZE)<                           \
+        NDNBOOST_PP_ENUM(NDNBOOST_TYPEOF_LIMIT_SIZE, NDNBOOST_TYPEOF_TYPEITEM, Expr) \
     >
 
-#define BOOST_TYPEOF(Expr)\
-    ndnboost::type_of::decode_begin<BOOST_TYPEOF_ENCODED_VECTOR(Expr) >::type
+#define NDNBOOST_TYPEOF(Expr)\
+    ndnboost::type_of::decode_begin<NDNBOOST_TYPEOF_ENCODED_VECTOR(Expr) >::type
 
-#define BOOST_TYPEOF_TPL typename BOOST_TYPEOF
+#define NDNBOOST_TYPEOF_TPL typename NDNBOOST_TYPEOF
 
 //offset_vector is used to delay the insertion of data into the vector in order to allow
 //encoding to be done in many steps
@@ -90,19 +90,19 @@
     };
 }}
 
-#define BOOST_TYPEOF_NESTED_TYPEITEM(z, n, expr)\
-    BOOST_STATIC_CONSTANT(int,BOOST_PP_CAT(value,n) = sizeof(ndnboost::type_of::encode<_typeof_start_vector>(expr).item ## n));\
-    typedef ndnboost::mpl::size_t<BOOST_PP_CAT(self_t::value,n)> BOOST_PP_CAT(item,n);
+#define NDNBOOST_TYPEOF_NESTED_TYPEITEM(z, n, expr)\
+    NDNBOOST_STATIC_CONSTANT(int,NDNBOOST_PP_CAT(value,n) = sizeof(ndnboost::type_of::encode<_typeof_start_vector>(expr).item ## n));\
+    typedef ndnboost::mpl::size_t<NDNBOOST_PP_CAT(self_t::value,n)> NDNBOOST_PP_CAT(item,n);
 
 #ifdef __DMC__
-#define BOOST_TYPEOF_NESTED_TYPEITEM_2(z,n,expr)\
-    typedef typename _typeof_encode_fraction<iteration>::BOOST_PP_CAT(item,n) BOOST_PP_CAT(item,n);
+#define NDNBOOST_TYPEOF_NESTED_TYPEITEM_2(z,n,expr)\
+    typedef typename _typeof_encode_fraction<iteration>::NDNBOOST_PP_CAT(item,n) NDNBOOST_PP_CAT(item,n);
 
-#define BOOST_TYPEOF_FRACTIONTYPE()\
-    BOOST_PP_REPEAT(BOOST_TYPEOF_LIMIT_SIZE,BOOST_TYPEOF_NESTED_TYPEITEM_2,_)\
+#define NDNBOOST_TYPEOF_FRACTIONTYPE()\
+    NDNBOOST_PP_REPEAT(NDNBOOST_TYPEOF_LIMIT_SIZE,NDNBOOST_TYPEOF_NESTED_TYPEITEM_2,_)\
     typedef _typeof_fraction_iter<Pos> fraction_type;
 #else
-#define BOOST_TYPEOF_FRACTIONTYPE()\
+#define NDNBOOST_TYPEOF_FRACTIONTYPE()\
     typedef _typeof_encode_fraction<self_t::iteration> fraction_type;
 #endif
 
@@ -119,13 +119,13 @@
         typedef typename v_iter<fraction_type,mpl::int_<self_t::where> >::type type;
     };
 }}
-#define BOOST_TYPEOF_NESTED_TYPEDEF_IMPL(expr) \
+#define NDNBOOST_TYPEOF_NESTED_TYPEDEF_IMPL(expr) \
         template<int _Typeof_Iteration>\
         struct _typeof_encode_fraction {\
             typedef _typeof_encode_fraction<_Typeof_Iteration> self_t;\
-            BOOST_STATIC_CONSTANT(int,_typeof_encode_offset = (_Typeof_Iteration*BOOST_TYPEOF_LIMIT_SIZE));\
-            typedef ndnboost::type_of::offset_vector<BOOST_TYPEOF_VECTOR(0)<>,ndnboost::mpl::size_t<self_t::_typeof_encode_offset> > _typeof_start_vector;\
-            BOOST_PP_REPEAT(BOOST_TYPEOF_LIMIT_SIZE,BOOST_TYPEOF_NESTED_TYPEITEM,expr)\
+            NDNBOOST_STATIC_CONSTANT(int,_typeof_encode_offset = (_Typeof_Iteration*NDNBOOST_TYPEOF_LIMIT_SIZE));\
+            typedef ndnboost::type_of::offset_vector<NDNBOOST_TYPEOF_VECTOR(0)<>,ndnboost::mpl::size_t<self_t::_typeof_encode_offset> > _typeof_start_vector;\
+            NDNBOOST_PP_REPEAT(NDNBOOST_TYPEOF_LIMIT_SIZE,NDNBOOST_TYPEOF_NESTED_TYPEITEM,expr)\
             template<int Next>\
             struct _apply_next {\
                 typedef _typeof_encode_fraction<Next> type;\
@@ -138,49 +138,49 @@
             typedef typename self_t::type type;\
         };
 #else
-#define BOOST_TYPEOF_NESTED_TYPEDEF_IMPL(expr) \
+#define NDNBOOST_TYPEOF_NESTED_TYPEDEF_IMPL(expr) \
         template<int _Typeof_Iteration>\
         struct _typeof_encode_fraction {\
             typedef _typeof_encode_fraction<_Typeof_Iteration> self_t;\
-            BOOST_STATIC_CONSTANT(int,_typeof_encode_offset = (_Typeof_Iteration*BOOST_TYPEOF_LIMIT_SIZE));\
-            typedef ndnboost::type_of::offset_vector<BOOST_TYPEOF_VECTOR(0)<>,ndnboost::mpl::size_t<self_t::_typeof_encode_offset> > _typeof_start_vector;\
-            BOOST_PP_REPEAT(BOOST_TYPEOF_LIMIT_SIZE,BOOST_TYPEOF_NESTED_TYPEITEM,expr)\
+            NDNBOOST_STATIC_CONSTANT(int,_typeof_encode_offset = (_Typeof_Iteration*NDNBOOST_TYPEOF_LIMIT_SIZE));\
+            typedef ndnboost::type_of::offset_vector<NDNBOOST_TYPEOF_VECTOR(0)<>,ndnboost::mpl::size_t<self_t::_typeof_encode_offset> > _typeof_start_vector;\
+            NDNBOOST_PP_REPEAT(NDNBOOST_TYPEOF_LIMIT_SIZE,NDNBOOST_TYPEOF_NESTED_TYPEITEM,expr)\
         };\
         template<typename Pos>\
         struct _typeof_fraction_iter {\
             typedef _typeof_fraction_iter<Pos> self_t;\
-            BOOST_STATIC_CONSTANT(int,pos=(Pos::value));\
-            BOOST_STATIC_CONSTANT(int,iteration=(pos/BOOST_TYPEOF_LIMIT_SIZE));\
-            BOOST_STATIC_CONSTANT(int,where=pos%BOOST_TYPEOF_LIMIT_SIZE);\
-            BOOST_TYPEOF_FRACTIONTYPE()\
+            NDNBOOST_STATIC_CONSTANT(int,pos=(Pos::value));\
+            NDNBOOST_STATIC_CONSTANT(int,iteration=(pos/NDNBOOST_TYPEOF_LIMIT_SIZE));\
+            NDNBOOST_STATIC_CONSTANT(int,where=pos%NDNBOOST_TYPEOF_LIMIT_SIZE);\
+            NDNBOOST_TYPEOF_FRACTIONTYPE()\
             typedef typename ndnboost::type_of::v_iter<fraction_type,ndnboost::mpl::int_<self_t::where> >::type type;\
             typedef _typeof_fraction_iter<typename Pos::next> next;\
         };
 #endif
 #ifdef __MWERKS__
 
-# define BOOST_TYPEOF_NESTED_TYPEDEF(name,expr) \
+# define NDNBOOST_TYPEOF_NESTED_TYPEDEF(name,expr) \
 template<typename T>\
-struct BOOST_PP_CAT(_typeof_template_,name) {\
-    BOOST_TYPEOF_NESTED_TYPEDEF_IMPL(expr)\
+struct NDNBOOST_PP_CAT(_typeof_template_,name) {\
+    NDNBOOST_TYPEOF_NESTED_TYPEDEF_IMPL(expr)\
     typedef typename ndnboost::type_of::decode_type<_typeof_fraction_iter<ndnboost::mpl::size_t<0> > >::type type;\
 };\
-typedef BOOST_PP_CAT(_typeof_template_,name)<int> name;
+typedef NDNBOOST_PP_CAT(_typeof_template_,name)<int> name;
 
-# define BOOST_TYPEOF_NESTED_TYPEDEF_TPL(name,expr) BOOST_TYPEOF_NESTED_TYPEDEF(name,expr)
+# define NDNBOOST_TYPEOF_NESTED_TYPEDEF_TPL(name,expr) NDNBOOST_TYPEOF_NESTED_TYPEDEF(name,expr)
 
 #else
-# define BOOST_TYPEOF_NESTED_TYPEDEF_TPL(name,expr) \
+# define NDNBOOST_TYPEOF_NESTED_TYPEDEF_TPL(name,expr) \
     struct name {\
-        BOOST_TYPEOF_NESTED_TYPEDEF_IMPL(expr)\
+        NDNBOOST_TYPEOF_NESTED_TYPEDEF_IMPL(expr)\
         typedef typename ndnboost::type_of::decode_type<_typeof_fraction_iter<ndnboost::mpl::size_t<0> > >::type type;\
     };
 
-# define BOOST_TYPEOF_NESTED_TYPEDEF(name,expr) \
+# define NDNBOOST_TYPEOF_NESTED_TYPEDEF(name,expr) \
     struct name {\
-        BOOST_TYPEOF_NESTED_TYPEDEF_IMPL(expr)\
+        NDNBOOST_TYPEOF_NESTED_TYPEDEF_IMPL(expr)\
         typedef ndnboost::type_of::decode_type<_typeof_fraction_iter<ndnboost::mpl::size_t<0> > >::type type;\
     };
 #endif
 
-#endif//BOOST_TYPEOF_COMPLIANT_TYPEOF_IMPL_HPP_INCLUDED
+#endif//NDNBOOST_TYPEOF_COMPLIANT_TYPEOF_IMPL_HPP_INCLUDED
diff --git a/include/ndnboost/typeof/unsupported.hpp b/include/ndnboost/typeof/unsupported.hpp
index d3aae47..11b2a82 100644
--- a/include/ndnboost/typeof/unsupported.hpp
+++ b/include/ndnboost/typeof/unsupported.hpp
@@ -2,28 +2,28 @@
 // Use, modification and distribution is subject to the Boost Software
 // License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt)
 
-#ifndef BOOST_TYPEOF_UNSUPPORTED_HPP_INCLUDED
-#define BOOST_TYPEOF_UNSUPPORTED_HPP_INCLUDED
+#ifndef NDNBOOST_TYPEOF_UNSUPPORTED_HPP_INCLUDED
+#define NDNBOOST_TYPEOF_UNSUPPORTED_HPP_INCLUDED
 
 namespace ndnboost { namespace type_of {
     struct typeof_emulation_is_unsupported_on_this_compiler {};
 }}
 
-#define BOOST_TYPEOF(expr) ndnboost::type_of::typeof_emulation_is_unsupported_on_this_compiler
-#define BOOST_TYPEOF_TPL BOOST_TYPEOF
+#define NDNBOOST_TYPEOF(expr) ndnboost::type_of::typeof_emulation_is_unsupported_on_this_compiler
+#define NDNBOOST_TYPEOF_TPL NDNBOOST_TYPEOF
 
-#define BOOST_TYPEOF_NESTED_TYPEDEF_TPL(name,expr) \
+#define NDNBOOST_TYPEOF_NESTED_TYPEDEF_TPL(name,expr) \
 struct name {\
-    typedef BOOST_TYPEOF_TPL(expr) type;\
+    typedef NDNBOOST_TYPEOF_TPL(expr) type;\
 };
 
-#define BOOST_TYPEOF_NESTED_TYPEDEF(name,expr) \
+#define NDNBOOST_TYPEOF_NESTED_TYPEDEF(name,expr) \
 struct name {\
-    typedef BOOST_TYPEOF(expr) type;\
+    typedef NDNBOOST_TYPEOF(expr) type;\
 };
 
 
-#define BOOST_TYPEOF_REGISTER_TYPE(x)
-#define BOOST_TYPEOF_REGISTER_TEMPLATE(x, params)
+#define NDNBOOST_TYPEOF_REGISTER_TYPE(x)
+#define NDNBOOST_TYPEOF_REGISTER_TEMPLATE(x, params)
 
 #endif
diff --git a/include/ndnboost/typeof/vector.hpp b/include/ndnboost/typeof/vector.hpp
index 0673d1c..dfb1dfd 100644
--- a/include/ndnboost/typeof/vector.hpp
+++ b/include/ndnboost/typeof/vector.hpp
@@ -6,60 +6,60 @@
 // Use, modification and distribution is subject to the Boost Software
 // License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt)
 
-#ifndef BOOST_TYPEOF_VECTOR_HPP_INCLUDED
+#ifndef NDNBOOST_TYPEOF_VECTOR_HPP_INCLUDED
 
 #include <ndnboost/mpl/int.hpp>
 #include <ndnboost/preprocessor/iteration/self.hpp>
 
-#ifndef BOOST_TYPEOF_LIMIT_SIZE
-#   define BOOST_TYPEOF_LIMIT_SIZE 50
+#ifndef NDNBOOST_TYPEOF_LIMIT_SIZE
+#   define NDNBOOST_TYPEOF_LIMIT_SIZE 50
 #endif
 
 //
 // To recreate the preprocessed versions of this file preprocess and run
 //
-//   $(BOOST_ROOT)/libs/typeof/tools/preprocess.pl
+//   $(NDNBOOST_ROOT)/libs/typeof/tools/preprocess.pl
 //
 
-#if defined(BOOST_TYPEOF_PP_INCLUDE_EXTERNAL)
+#if defined(NDNBOOST_TYPEOF_PP_INCLUDE_EXTERNAL)
 
-#   undef BOOST_TYPEOF_PP_INCLUDE_EXTERNAL
+#   undef NDNBOOST_TYPEOF_PP_INCLUDE_EXTERNAL
 
-#elif !defined(BOOST_TYPEOF_PREPROCESSING_MODE) && !BOOST_PP_IS_SELFISH
+#elif !defined(NDNBOOST_TYPEOF_PREPROCESSING_MODE) && !NDNBOOST_PP_IS_SELFISH
 
-#   define BOOST_PP_INDIRECT_SELF <ndnboost/typeof/vector.hpp>
-#   if   BOOST_TYPEOF_LIMIT_SIZE < 50
-#     include BOOST_PP_INCLUDE_SELF()
-#   elif BOOST_TYPEOF_LIMIT_SIZE < 100
+#   define NDNBOOST_PP_INDIRECT_SELF <ndnboost/typeof/vector.hpp>
+#   if   NDNBOOST_TYPEOF_LIMIT_SIZE < 50
+#     include NDNBOOST_PP_INCLUDE_SELF()
+#   elif NDNBOOST_TYPEOF_LIMIT_SIZE < 100
 #     include <ndnboost/typeof/vector50.hpp>
-#     define  BOOST_TYPEOF_PP_START_SIZE 51
-#     include BOOST_PP_INCLUDE_SELF()
-#   elif BOOST_TYPEOF_LIMIT_SIZE < 150
+#     define  NDNBOOST_TYPEOF_PP_START_SIZE 51
+#     include NDNBOOST_PP_INCLUDE_SELF()
+#   elif NDNBOOST_TYPEOF_LIMIT_SIZE < 150
 #     include <ndnboost/typeof/vector100.hpp>
-#     define  BOOST_TYPEOF_PP_START_SIZE 101
-#     include BOOST_PP_INCLUDE_SELF()
-#   elif BOOST_TYPEOF_LIMIT_SIZE < 200
+#     define  NDNBOOST_TYPEOF_PP_START_SIZE 101
+#     include NDNBOOST_PP_INCLUDE_SELF()
+#   elif NDNBOOST_TYPEOF_LIMIT_SIZE < 200
 #     include <ndnboost/typeof/vector150.hpp>
-#     define  BOOST_TYPEOF_PP_START_SIZE 151
-#     include BOOST_PP_INCLUDE_SELF()
-#   elif BOOST_TYPEOF_LIMIT_SIZE <= 250
+#     define  NDNBOOST_TYPEOF_PP_START_SIZE 151
+#     include NDNBOOST_PP_INCLUDE_SELF()
+#   elif NDNBOOST_TYPEOF_LIMIT_SIZE <= 250
 #     include <ndnboost/typeof/vector200.hpp>
-#     define  BOOST_TYPEOF_PP_START_SIZE 201
-#     include BOOST_PP_INCLUDE_SELF()
+#     define  NDNBOOST_TYPEOF_PP_START_SIZE 201
+#     include NDNBOOST_PP_INCLUDE_SELF()
 #   else
-#     error "BOOST_TYPEOF_LIMIT_SIZE too high"
+#     error "NDNBOOST_TYPEOF_LIMIT_SIZE too high"
 #   endif
 
-#else// defined(BOOST_TYPEOF_PREPROCESSING_MODE) || BOOST_PP_IS_SELFISH
+#else// defined(NDNBOOST_TYPEOF_PREPROCESSING_MODE) || NDNBOOST_PP_IS_SELFISH
 
-#   ifndef BOOST_TYPEOF_PP_NEXT_SIZE
-#     define BOOST_TYPEOF_PP_NEXT_SIZE BOOST_TYPEOF_LIMIT_SIZE
+#   ifndef NDNBOOST_TYPEOF_PP_NEXT_SIZE
+#     define NDNBOOST_TYPEOF_PP_NEXT_SIZE NDNBOOST_TYPEOF_LIMIT_SIZE
 #   endif
-#   ifndef BOOST_TYPEOF_PP_START_SIZE
-#     define BOOST_TYPEOF_PP_START_SIZE 0
+#   ifndef NDNBOOST_TYPEOF_PP_START_SIZE
+#     define NDNBOOST_TYPEOF_PP_START_SIZE 0
 #   endif
 
-#   if BOOST_TYPEOF_PP_START_SIZE <= BOOST_TYPEOF_LIMIT_SIZE
+#   if NDNBOOST_TYPEOF_PP_START_SIZE <= NDNBOOST_TYPEOF_LIMIT_SIZE
 
 #     include <ndnboost/preprocessor/enum_params.hpp>
 #     include <ndnboost/preprocessor/repeat.hpp>
@@ -74,7 +74,7 @@
 
 // iterator
 
-#     define BOOST_TYPEOF_spec_iter(n)\
+#     define NDNBOOST_TYPEOF_spec_iter(n)\
         template<class V>\
         struct v_iter<V, mpl::int_<n> >\
         {\
@@ -84,83 +84,83 @@
 
 namespace ndnboost { namespace type_of {
 
-    template<class V, class Increase_BOOST_TYPEOF_LIMIT_SIZE> struct v_iter; // not defined
-#     define  BOOST_PP_LOCAL_MACRO  BOOST_TYPEOF_spec_iter
-#     define  BOOST_PP_LOCAL_LIMITS \
-        (BOOST_PP_DEC(BOOST_TYPEOF_PP_START_SIZE), \
-         BOOST_PP_DEC(BOOST_TYPEOF_LIMIT_SIZE))
-#     include BOOST_PP_LOCAL_ITERATE()
+    template<class V, class Increase_NDNBOOST_TYPEOF_LIMIT_SIZE> struct v_iter; // not defined
+#     define  NDNBOOST_PP_LOCAL_MACRO  NDNBOOST_TYPEOF_spec_iter
+#     define  NDNBOOST_PP_LOCAL_LIMITS \
+        (NDNBOOST_PP_DEC(NDNBOOST_TYPEOF_PP_START_SIZE), \
+         NDNBOOST_PP_DEC(NDNBOOST_TYPEOF_LIMIT_SIZE))
+#     include NDNBOOST_PP_LOCAL_ITERATE()
 
 }}
 
-#     undef BOOST_TYPEOF_spec_iter
+#     undef NDNBOOST_TYPEOF_spec_iter
 
 // vector
 
-#     define BOOST_TYPEOF_typedef_item(z, n, _)\
+#     define NDNBOOST_TYPEOF_typedef_item(z, n, _)\
         typedef P ## n item ## n;
 
-#     define BOOST_TYPEOF_typedef_fake_item(z, n, _)\
+#     define NDNBOOST_TYPEOF_typedef_fake_item(z, n, _)\
         typedef mpl::int_<1> item ## n;
 
-#     define BOOST_TYPEOF_define_vector(n)\
-        template<BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_EXPR_IIF(BOOST_PP_NOT(n), class T = void)>\
+#     define NDNBOOST_TYPEOF_define_vector(n)\
+        template<NDNBOOST_PP_ENUM_PARAMS(n, class P) NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_NOT(n), class T = void)>\
         struct vector ## n\
         {\
-            typedef v_iter<vector ## n<BOOST_PP_ENUM_PARAMS(n,P)>, ndnboost::mpl::int_<0> > begin;\
-            BOOST_PP_REPEAT(n, BOOST_TYPEOF_typedef_item, ~)\
-            BOOST_PP_REPEAT_FROM_TO(n, BOOST_TYPEOF_PP_NEXT_SIZE, BOOST_TYPEOF_typedef_fake_item, ~)\
+            typedef v_iter<vector ## n<NDNBOOST_PP_ENUM_PARAMS(n,P)>, ndnboost::mpl::int_<0> > begin;\
+            NDNBOOST_PP_REPEAT(n, NDNBOOST_TYPEOF_typedef_item, ~)\
+            NDNBOOST_PP_REPEAT_FROM_TO(n, NDNBOOST_TYPEOF_PP_NEXT_SIZE, NDNBOOST_TYPEOF_typedef_fake_item, ~)\
         };
 
 namespace ndnboost { namespace type_of {
 
-#     define  BOOST_PP_LOCAL_MACRO  BOOST_TYPEOF_define_vector
-#     define  BOOST_PP_LOCAL_LIMITS \
-        (BOOST_TYPEOF_PP_START_SIZE,BOOST_TYPEOF_LIMIT_SIZE)
-#     include BOOST_PP_LOCAL_ITERATE()
+#     define  NDNBOOST_PP_LOCAL_MACRO  NDNBOOST_TYPEOF_define_vector
+#     define  NDNBOOST_PP_LOCAL_LIMITS \
+        (NDNBOOST_TYPEOF_PP_START_SIZE,NDNBOOST_TYPEOF_LIMIT_SIZE)
+#     include NDNBOOST_PP_LOCAL_ITERATE()
 
 }}
 
-#     undef BOOST_TYPEOF_typedef_item
-#     undef BOOST_TYPEOF_typedef_fake_item
-#     undef BOOST_TYPEOF_define_vector
+#     undef NDNBOOST_TYPEOF_typedef_item
+#     undef NDNBOOST_TYPEOF_typedef_fake_item
+#     undef NDNBOOST_TYPEOF_define_vector
 
 // push_back
 
-#     define BOOST_TYPEOF_spec_push_back(n)\
-        template<BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_COMMA_IF(n) class T>\
-        struct push_back<BOOST_PP_CAT(ndnboost::type_of::vector, n)<BOOST_PP_ENUM_PARAMS(n, P)>, T>\
+#     define NDNBOOST_TYPEOF_spec_push_back(n)\
+        template<NDNBOOST_PP_ENUM_PARAMS(n, class P) NDNBOOST_PP_COMMA_IF(n) class T>\
+        struct push_back<NDNBOOST_PP_CAT(ndnboost::type_of::vector, n)<NDNBOOST_PP_ENUM_PARAMS(n, P)>, T>\
         {\
-            typedef BOOST_PP_CAT(ndnboost::type_of::vector, BOOST_PP_INC(n))<\
-                BOOST_PP_ENUM_PARAMS(n, P) BOOST_PP_COMMA_IF(n) T\
+            typedef NDNBOOST_PP_CAT(ndnboost::type_of::vector, NDNBOOST_PP_INC(n))<\
+                NDNBOOST_PP_ENUM_PARAMS(n, P) NDNBOOST_PP_COMMA_IF(n) T\
             > type;\
         };
 
 namespace ndnboost { namespace type_of {
 
-#   if   BOOST_TYPEOF_LIMIT_SIZE < 50
+#   if   NDNBOOST_TYPEOF_LIMIT_SIZE < 50
     template<class V, class T> struct push_back {
         typedef V type;
     };
 #   endif
     //default behaviour is to let push_back ignore T, and return the input vector.
-    //This is to let BOOST_TYPEOF_NESTED_TYPEDEF work properly with the default vector.
-#     define  BOOST_PP_LOCAL_MACRO  BOOST_TYPEOF_spec_push_back
-#     define  BOOST_PP_LOCAL_LIMITS \
-        (BOOST_PP_DEC(BOOST_TYPEOF_PP_START_SIZE), \
-         BOOST_PP_DEC(BOOST_TYPEOF_LIMIT_SIZE))
-#     include BOOST_PP_LOCAL_ITERATE()
+    //This is to let NDNBOOST_TYPEOF_NESTED_TYPEDEF work properly with the default vector.
+#     define  NDNBOOST_PP_LOCAL_MACRO  NDNBOOST_TYPEOF_spec_push_back
+#     define  NDNBOOST_PP_LOCAL_LIMITS \
+        (NDNBOOST_PP_DEC(NDNBOOST_TYPEOF_PP_START_SIZE), \
+         NDNBOOST_PP_DEC(NDNBOOST_TYPEOF_LIMIT_SIZE))
+#     include NDNBOOST_PP_LOCAL_ITERATE()
 
 }}
 
-#     undef BOOST_TYPEOF_spec_push_back
+#     undef NDNBOOST_TYPEOF_spec_push_back
 
-#   endif//BOOST_TYPEOF_PP_START_SIZE<=BOOST_TYPEOF_LIMIT_SIZE
-#   undef  BOOST_TYPEOF_PP_START_SIZE
-#   undef  BOOST_TYPEOF_PP_NEXT_SIZE
+#   endif//NDNBOOST_TYPEOF_PP_START_SIZE<=NDNBOOST_TYPEOF_LIMIT_SIZE
+#   undef  NDNBOOST_TYPEOF_PP_START_SIZE
+#   undef  NDNBOOST_TYPEOF_PP_NEXT_SIZE
 
-#endif//BOOST_TYPEOF_PREPROCESSING_MODE || BOOST_PP_IS_SELFISH
+#endif//NDNBOOST_TYPEOF_PREPROCESSING_MODE || NDNBOOST_PP_IS_SELFISH
 
-#define BOOST_TYPEOF_VECTOR_HPP_INCLUDED
-#endif//BOOST_TYPEOF_VECTOR_HPP_INCLUDED
+#define NDNBOOST_TYPEOF_VECTOR_HPP_INCLUDED
+#endif//NDNBOOST_TYPEOF_VECTOR_HPP_INCLUDED
 
diff --git a/include/ndnboost/typeof/vector100.hpp b/include/ndnboost/typeof/vector100.hpp
index 9887744..2216cd9 100644
--- a/include/ndnboost/typeof/vector100.hpp
+++ b/include/ndnboost/typeof/vector100.hpp
@@ -9,7 +9,7 @@
 
 
 namespace ndnboost { namespace type_of {
-    template<class V, class Increase_BOOST_TYPEOF_LIMIT_SIZE> struct v_iter;
+    template<class V, class Increase_NDNBOOST_TYPEOF_LIMIT_SIZE> struct v_iter;
         template<class V> struct v_iter<V, mpl::int_<0> > { typedef typename V::item0 type; typedef v_iter<V, mpl::int_<0 + 1> > next; };
         template<class V> struct v_iter<V, mpl::int_<1> > { typedef typename V::item1 type; typedef v_iter<V, mpl::int_<1 + 1> > next; };
         template<class V> struct v_iter<V, mpl::int_<2> > { typedef typename V::item2 type; typedef v_iter<V, mpl::int_<2 + 1> > next; };
diff --git a/include/ndnboost/typeof/vector150.hpp b/include/ndnboost/typeof/vector150.hpp
index dc9a754..882e846 100644
--- a/include/ndnboost/typeof/vector150.hpp
+++ b/include/ndnboost/typeof/vector150.hpp
@@ -9,7 +9,7 @@
 
 
 namespace ndnboost { namespace type_of {
-    template<class V, class Increase_BOOST_TYPEOF_LIMIT_SIZE> struct v_iter;
+    template<class V, class Increase_NDNBOOST_TYPEOF_LIMIT_SIZE> struct v_iter;
         template<class V> struct v_iter<V, mpl::int_<0> > { typedef typename V::item0 type; typedef v_iter<V, mpl::int_<0 + 1> > next; };
         template<class V> struct v_iter<V, mpl::int_<1> > { typedef typename V::item1 type; typedef v_iter<V, mpl::int_<1 + 1> > next; };
         template<class V> struct v_iter<V, mpl::int_<2> > { typedef typename V::item2 type; typedef v_iter<V, mpl::int_<2 + 1> > next; };
diff --git a/include/ndnboost/typeof/vector200.hpp b/include/ndnboost/typeof/vector200.hpp
index 8285902..40a8d0c 100644
--- a/include/ndnboost/typeof/vector200.hpp
+++ b/include/ndnboost/typeof/vector200.hpp
@@ -9,7 +9,7 @@
 
 
 namespace ndnboost { namespace type_of {
-    template<class V, class Increase_BOOST_TYPEOF_LIMIT_SIZE> struct v_iter;
+    template<class V, class Increase_NDNBOOST_TYPEOF_LIMIT_SIZE> struct v_iter;
         template<class V> struct v_iter<V, mpl::int_<0> > { typedef typename V::item0 type; typedef v_iter<V, mpl::int_<0 + 1> > next; };
         template<class V> struct v_iter<V, mpl::int_<1> > { typedef typename V::item1 type; typedef v_iter<V, mpl::int_<1 + 1> > next; };
         template<class V> struct v_iter<V, mpl::int_<2> > { typedef typename V::item2 type; typedef v_iter<V, mpl::int_<2 + 1> > next; };
diff --git a/include/ndnboost/typeof/vector50.hpp b/include/ndnboost/typeof/vector50.hpp
index 8c368e2..a041ce7 100644
--- a/include/ndnboost/typeof/vector50.hpp
+++ b/include/ndnboost/typeof/vector50.hpp
@@ -9,7 +9,7 @@
 
 
 namespace ndnboost { namespace type_of {
-    template<class V, class Increase_BOOST_TYPEOF_LIMIT_SIZE> struct v_iter;
+    template<class V, class Increase_NDNBOOST_TYPEOF_LIMIT_SIZE> struct v_iter;
         template<class V> struct v_iter<V, mpl::int_<0> > { typedef typename V::item0 type; typedef v_iter<V, mpl::int_<0 + 1> > next; };
         template<class V> struct v_iter<V, mpl::int_<1> > { typedef typename V::item1 type; typedef v_iter<V, mpl::int_<1 + 1> > next; };
         template<class V> struct v_iter<V, mpl::int_<2> > { typedef typename V::item2 type; typedef v_iter<V, mpl::int_<2 + 1> > next; };
diff --git a/include/ndnboost/units/detail/utility.hpp b/include/ndnboost/units/detail/utility.hpp
index 47946be..4eeebc1 100644
--- a/include/ndnboost/units/detail/utility.hpp
+++ b/include/ndnboost/units/detail/utility.hpp
@@ -8,19 +8,19 @@
 // accompanying file LICENSE_1_0.txt or copy at
 // http://www.boost.org/LICENSE_1_0.txt)
 
-#ifndef BOOST_UNITS_UTILITY_HPP
-#define BOOST_UNITS_UTILITY_HPP
+#ifndef NDNBOOST_UNITS_UTILITY_HPP
+#define NDNBOOST_UNITS_UTILITY_HPP
 
 #include <cstdlib>
 #include <typeinfo>
 #include <string>
 
 #if defined(__GLIBCXX__) || defined(__GLIBCPP__)
-#define BOOST_UNITS_USE_DEMANGLING
+#define NDNBOOST_UNITS_USE_DEMANGLING
 #include <cxxabi.h>
 #endif // __GNUC__
 
-#ifdef BOOST_UNITS_USE_DEMANGLING
+#ifdef NDNBOOST_UNITS_USE_DEMANGLING
 
 #include <ndnboost/algorithm/string/replace.hpp>
 
@@ -69,7 +69,7 @@
 
 } // namespace ndnboost
 
-#else // BOOST_UNITS_USE_DEMANGLING
+#else // NDNBOOST_UNITS_USE_DEMANGLING
 
 namespace ndnboost {
 
@@ -99,6 +99,6 @@
 // To get system-specific predefined macros:
 // gcc -arch ppc -dM -E - < /dev/null | sort 
 
-#endif // BOOST_UNITS_USE_DEMANGLING
+#endif // NDNBOOST_UNITS_USE_DEMANGLING
 
-#endif // BOOST_UNITS_UTILITY_HPP
+#endif // NDNBOOST_UNITS_UTILITY_HPP
diff --git a/include/ndnboost/unordered/detail/allocate.hpp b/include/ndnboost/unordered/detail/allocate.hpp
index 4ad6724..4d6a8ed 100644
--- a/include/ndnboost/unordered/detail/allocate.hpp
+++ b/include/ndnboost/unordered/detail/allocate.hpp
@@ -6,8 +6,8 @@
 
 //  See http://www.boost.org/libs/unordered for documentation
 
-#ifndef BOOST_UNORDERED_ALLOCATE_HPP
-#define BOOST_UNORDERED_ALLOCATE_HPP
+#ifndef NDNBOOST_UNORDERED_ALLOCATE_HPP
+#define NDNBOOST_UNORDERED_ALLOCATE_HPP
 
 #if defined(_MSC_VER) && (_MSC_VER >= 1020)
 # pragma once
@@ -31,11 +31,11 @@
 #include <ndnboost/assert.hpp>
 #include <utility>
 
-#if !defined(BOOST_NO_CXX11_HDR_TUPLE)
+#if !defined(NDNBOOST_NO_CXX11_HDR_TUPLE)
 #include <tuple>
 #endif
 
-#if defined(BOOST_MSVC)
+#if defined(NDNBOOST_MSVC)
 #pragma warning(push)
 #pragma warning(disable:4512) // assignment operator could not be generated.
 #pragma warning(disable:4345) // behavior change: an object of POD type
@@ -43,7 +43,7 @@
                               // will be default-initialized.
 #endif
 
-#define BOOST_UNORDERED_EMPLACE_LIMIT 10
+#define NDNBOOST_UNORDERED_EMPLACE_LIMIT 10
 
 namespace ndnboost { namespace unordered { namespace detail {
 
@@ -85,85 +85,85 @@
     // Either forwarding variadic arguments, or storing the arguments in
     // emplace_args##n
 
-#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
+#if !defined(NDNBOOST_NO_CXX11_VARIADIC_TEMPLATES)
 
-#define BOOST_UNORDERED_EMPLACE_TEMPLATE typename... Args
-#define BOOST_UNORDERED_EMPLACE_ARGS BOOST_FWD_REF(Args)... args
-#define BOOST_UNORDERED_EMPLACE_FORWARD ndnboost::forward<Args>(args)...
+#define NDNBOOST_UNORDERED_EMPLACE_TEMPLATE typename... Args
+#define NDNBOOST_UNORDERED_EMPLACE_ARGS NDNBOOST_FWD_REF(Args)... args
+#define NDNBOOST_UNORDERED_EMPLACE_FORWARD ndnboost::forward<Args>(args)...
 
-#define BOOST_UNORDERED_EMPLACE_ARGS1(a0) a0
-#define BOOST_UNORDERED_EMPLACE_ARGS2(a0, a1) a0, a1
-#define BOOST_UNORDERED_EMPLACE_ARGS3(a0, a1, a2) a0, a1, a2
+#define NDNBOOST_UNORDERED_EMPLACE_ARGS1(a0) a0
+#define NDNBOOST_UNORDERED_EMPLACE_ARGS2(a0, a1) a0, a1
+#define NDNBOOST_UNORDERED_EMPLACE_ARGS3(a0, a1, a2) a0, a1, a2
 
 #else
 
-#define BOOST_UNORDERED_EMPLACE_TEMPLATE typename Args
-#define BOOST_UNORDERED_EMPLACE_ARGS Args const& args
-#define BOOST_UNORDERED_EMPLACE_FORWARD args
+#define NDNBOOST_UNORDERED_EMPLACE_TEMPLATE typename Args
+#define NDNBOOST_UNORDERED_EMPLACE_ARGS Args const& args
+#define NDNBOOST_UNORDERED_EMPLACE_FORWARD args
 
-#define BOOST_UNORDERED_FWD_PARAM(z, n, a) \
-    BOOST_FWD_REF(BOOST_PP_CAT(A, n)) BOOST_PP_CAT(a, n)
+#define NDNBOOST_UNORDERED_FWD_PARAM(z, n, a) \
+    NDNBOOST_FWD_REF(NDNBOOST_PP_CAT(A, n)) NDNBOOST_PP_CAT(a, n)
 
-#define BOOST_UNORDERED_CALL_FORWARD(z, i, a) \
-    ndnboost::forward<BOOST_PP_CAT(A,i)>(BOOST_PP_CAT(a,i))
+#define NDNBOOST_UNORDERED_CALL_FORWARD(z, i, a) \
+    ndnboost::forward<NDNBOOST_PP_CAT(A,i)>(NDNBOOST_PP_CAT(a,i))
 
-#define BOOST_UNORDERED_EARGS(z, n, _)                                      \
-    template <BOOST_PP_ENUM_PARAMS_Z(z, n, typename A)>                     \
-    struct BOOST_PP_CAT(emplace_args, n)                                    \
+#define NDNBOOST_UNORDERED_EARGS(z, n, _)                                      \
+    template <NDNBOOST_PP_ENUM_PARAMS_Z(z, n, typename A)>                     \
+    struct NDNBOOST_PP_CAT(emplace_args, n)                                    \
     {                                                                       \
-        BOOST_PP_REPEAT_##z(n, BOOST_UNORDERED_EARGS_MEMBER, _)             \
-        BOOST_PP_CAT(emplace_args, n) (                                     \
-            BOOST_PP_ENUM_BINARY_PARAMS_Z(z, n, Arg, b)                     \
-        ) : BOOST_PP_ENUM_##z(n, BOOST_UNORDERED_EARGS_INIT, _)             \
+        NDNBOOST_PP_REPEAT_##z(n, NDNBOOST_UNORDERED_EARGS_MEMBER, _)             \
+        NDNBOOST_PP_CAT(emplace_args, n) (                                     \
+            NDNBOOST_PP_ENUM_BINARY_PARAMS_Z(z, n, Arg, b)                     \
+        ) : NDNBOOST_PP_ENUM_##z(n, NDNBOOST_UNORDERED_EARGS_INIT, _)             \
         {}                                                                  \
                                                                             \
     };                                                                      \
                                                                             \
-    template <BOOST_PP_ENUM_PARAMS_Z(z, n, typename A)>                     \
-    inline BOOST_PP_CAT(emplace_args, n) <                                  \
-        BOOST_PP_ENUM_PARAMS_Z(z, n, A)                                     \
+    template <NDNBOOST_PP_ENUM_PARAMS_Z(z, n, typename A)>                     \
+    inline NDNBOOST_PP_CAT(emplace_args, n) <                                  \
+        NDNBOOST_PP_ENUM_PARAMS_Z(z, n, A)                                     \
     > create_emplace_args(                                                  \
-        BOOST_PP_ENUM_##z(n, BOOST_UNORDERED_FWD_PARAM, b)                  \
+        NDNBOOST_PP_ENUM_##z(n, NDNBOOST_UNORDERED_FWD_PARAM, b)                  \
     )                                                                       \
     {                                                                       \
-        BOOST_PP_CAT(emplace_args, n) <                                     \
-            BOOST_PP_ENUM_PARAMS_Z(z, n, A)                                 \
-        > e(BOOST_PP_ENUM_PARAMS_Z(z, n, b));                               \
+        NDNBOOST_PP_CAT(emplace_args, n) <                                     \
+            NDNBOOST_PP_ENUM_PARAMS_Z(z, n, A)                                 \
+        > e(NDNBOOST_PP_ENUM_PARAMS_Z(z, n, b));                               \
         return e;                                                           \
     }
 
-#define BOOST_UNORDERED_EMPLACE_ARGS1 create_emplace_args
-#define BOOST_UNORDERED_EMPLACE_ARGS2 create_emplace_args
-#define BOOST_UNORDERED_EMPLACE_ARGS3 create_emplace_args
+#define NDNBOOST_UNORDERED_EMPLACE_ARGS1 create_emplace_args
+#define NDNBOOST_UNORDERED_EMPLACE_ARGS2 create_emplace_args
+#define NDNBOOST_UNORDERED_EMPLACE_ARGS3 create_emplace_args
 
-#if defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
+#if defined(NDNBOOST_NO_CXX11_RVALUE_REFERENCES)
 
-#define BOOST_UNORDERED_EARGS_MEMBER(z, n, _)                               \
-    typedef BOOST_FWD_REF(BOOST_PP_CAT(A, n)) BOOST_PP_CAT(Arg, n);         \
-    BOOST_PP_CAT(Arg, n) BOOST_PP_CAT(a, n);
+#define NDNBOOST_UNORDERED_EARGS_MEMBER(z, n, _)                               \
+    typedef NDNBOOST_FWD_REF(NDNBOOST_PP_CAT(A, n)) NDNBOOST_PP_CAT(Arg, n);         \
+    NDNBOOST_PP_CAT(Arg, n) NDNBOOST_PP_CAT(a, n);
 
-#define BOOST_UNORDERED_EARGS_INIT(z, n, _)                                 \
-    BOOST_PP_CAT(a, n)(                                                     \
-        ndnboost::forward<BOOST_PP_CAT(A,n)>(BOOST_PP_CAT(b, n)))
+#define NDNBOOST_UNORDERED_EARGS_INIT(z, n, _)                                 \
+    NDNBOOST_PP_CAT(a, n)(                                                     \
+        ndnboost::forward<NDNBOOST_PP_CAT(A,n)>(NDNBOOST_PP_CAT(b, n)))
 
 #else
 
-#define BOOST_UNORDERED_EARGS_MEMBER(z, n, _)                               \
-    typedef typename ndnboost::add_lvalue_reference<BOOST_PP_CAT(A, n)>::type  \
-        BOOST_PP_CAT(Arg, n);                                               \
-    BOOST_PP_CAT(Arg, n) BOOST_PP_CAT(a, n);
+#define NDNBOOST_UNORDERED_EARGS_MEMBER(z, n, _)                               \
+    typedef typename ndnboost::add_lvalue_reference<NDNBOOST_PP_CAT(A, n)>::type  \
+        NDNBOOST_PP_CAT(Arg, n);                                               \
+    NDNBOOST_PP_CAT(Arg, n) NDNBOOST_PP_CAT(a, n);
 
-#define BOOST_UNORDERED_EARGS_INIT(z, n, _)                                 \
-    BOOST_PP_CAT(a, n)(BOOST_PP_CAT(b, n))
+#define NDNBOOST_UNORDERED_EARGS_INIT(z, n, _)                                 \
+    NDNBOOST_PP_CAT(a, n)(NDNBOOST_PP_CAT(b, n))
 
 #endif
 
-BOOST_PP_REPEAT_FROM_TO(1, BOOST_UNORDERED_EMPLACE_LIMIT, BOOST_UNORDERED_EARGS,
+NDNBOOST_PP_REPEAT_FROM_TO(1, NDNBOOST_UNORDERED_EMPLACE_LIMIT, NDNBOOST_UNORDERED_EARGS,
     _)
 
-#undef BOOST_UNORDERED_DEFINE_EMPLACE_ARGS
-#undef BOOST_UNORDERED_EARGS_MEMBER
-#undef BOOST_UNORDERED_EARGS_INIT
+#undef NDNBOOST_UNORDERED_DEFINE_EMPLACE_ARGS
+#undef NDNBOOST_UNORDERED_EARGS_MEMBER
+#undef NDNBOOST_UNORDERED_EARGS_INIT
 
 #endif
 
@@ -177,21 +177,21 @@
 // 1 = std::allocator_traits
 // 2 = ndnboost::container::allocator_traits
 
-#if !defined(BOOST_UNORDERED_USE_ALLOCATOR_TRAITS)
+#if !defined(NDNBOOST_UNORDERED_USE_ALLOCATOR_TRAITS)
 #   if defined(__GXX_EXPERIMENTAL_CXX0X__) && \
             (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7))
-#       define BOOST_UNORDERED_USE_ALLOCATOR_TRAITS 0
-#   elif defined(BOOST_MSVC)
-#       if BOOST_MSVC < 1400
+#       define NDNBOOST_UNORDERED_USE_ALLOCATOR_TRAITS 0
+#   elif defined(NDNBOOST_MSVC)
+#       if NDNBOOST_MSVC < 1400
             // Use container's allocator_traits for older versions of Visual
             // C++ as I don't test with them.
-#           define BOOST_UNORDERED_USE_ALLOCATOR_TRAITS 2
+#           define NDNBOOST_UNORDERED_USE_ALLOCATOR_TRAITS 2
 #       endif
 #   endif
 #endif
 
-#if !defined(BOOST_UNORDERED_USE_ALLOCATOR_TRAITS)
-#   define BOOST_UNORDERED_USE_ALLOCATOR_TRAITS 0
+#if !defined(NDNBOOST_UNORDERED_USE_ALLOCATOR_TRAITS)
+#   define NDNBOOST_UNORDERED_USE_ALLOCATOR_TRAITS 0
 #endif
 
 ////////////////////////////////////////////////////////////////////////////////
@@ -199,7 +199,7 @@
 // Some utilities for implementing allocator_traits, but useful elsewhere so
 // they're always defined.
 
-#if !defined(BOOST_NO_CXX11_HDR_TYPE_TRAITS)
+#if !defined(NDNBOOST_NO_CXX11_HDR_TYPE_TRAITS)
 #  include <type_traits>
 #endif
 
@@ -210,7 +210,7 @@
     //
     // Uses the standard versions if available.
 
-#if !defined(BOOST_NO_CXX11_HDR_TYPE_TRAITS)
+#if !defined(NDNBOOST_NO_CXX11_HDR_TYPE_TRAITS)
 
     using std::integral_constant;
     using std::true_type;
@@ -229,7 +229,7 @@
     ////////////////////////////////////////////////////////////////////////////
     // Explicitly call a destructor
 
-#if defined(BOOST_MSVC)
+#if defined(NDNBOOST_MSVC)
 #pragma warning(push)
 #pragma warning(disable:4100) // unreferenced formal parameter
 #endif
@@ -239,7 +239,7 @@
         x->~T();
     }
 
-#if defined(BOOST_MSVC)
+#if defined(NDNBOOST_MSVC)
 #pragma warning(pop)
 #endif
 
@@ -247,38 +247,38 @@
     // Expression test mechanism
     //
     // When SFINAE expressions are available, define
-    // BOOST_UNORDERED_HAS_FUNCTION which can check if a function call is
-    // supported by a class, otherwise define BOOST_UNORDERED_HAS_MEMBER which
+    // NDNBOOST_UNORDERED_HAS_FUNCTION which can check if a function call is
+    // supported by a class, otherwise define NDNBOOST_UNORDERED_HAS_MEMBER which
     // can detect if a class has the specified member, but not that it has the
     // correct type, this is good enough for a passable impression of
     // allocator_traits.
 
-#if !defined(BOOST_NO_SFINAE_EXPR)
+#if !defined(NDNBOOST_NO_SFINAE_EXPR)
 
     template <typename T, unsigned int> struct expr_test;
     template <typename T> struct expr_test<T, sizeof(char)> : T {};
     template <typename U> static char for_expr_test(U const&);
 
-#   define BOOST_UNORDERED_CHECK_EXPRESSION(count, result, expression)      \
+#   define NDNBOOST_UNORDERED_CHECK_EXPRESSION(count, result, expression)      \
         template <typename U>                                               \
         static typename ndnboost::unordered::detail::expr_test<                \
-            BOOST_PP_CAT(choice, result),                                   \
+            NDNBOOST_PP_CAT(choice, result),                                   \
             sizeof(ndnboost::unordered::detail::for_expr_test((                \
                 (expression),                                               \
             0)))>::type test(                                               \
-            BOOST_PP_CAT(choice, count))
+            NDNBOOST_PP_CAT(choice, count))
 
-#   define BOOST_UNORDERED_DEFAULT_EXPRESSION(count, result)                \
+#   define NDNBOOST_UNORDERED_DEFAULT_EXPRESSION(count, result)                \
         template <typename U>                                               \
-        static BOOST_PP_CAT(choice, result)::type test(                     \
-            BOOST_PP_CAT(choice, count))
+        static NDNBOOST_PP_CAT(choice, result)::type test(                     \
+            NDNBOOST_PP_CAT(choice, count))
 
-#   define BOOST_UNORDERED_HAS_FUNCTION(name, thing, args, _)               \
-    struct BOOST_PP_CAT(has_, name)                                         \
+#   define NDNBOOST_UNORDERED_HAS_FUNCTION(name, thing, args, _)               \
+    struct NDNBOOST_PP_CAT(has_, name)                                         \
     {                                                                       \
-        BOOST_UNORDERED_CHECK_EXPRESSION(1, 1,                              \
+        NDNBOOST_UNORDERED_CHECK_EXPRESSION(1, 1,                              \
             ndnboost::unordered::detail::make< thing >().name args);           \
-        BOOST_UNORDERED_DEFAULT_EXPRESSION(2, 2);                           \
+        NDNBOOST_UNORDERED_DEFAULT_EXPRESSION(2, 2);                           \
                                                                             \
         enum { value = sizeof(test<T>(choose())) == sizeof(choice1::type) };\
     }
@@ -287,33 +287,33 @@
 
     template <typename T> struct identity { typedef T type; };
 
-#   define BOOST_UNORDERED_CHECK_MEMBER(count, result, name, member)        \
+#   define NDNBOOST_UNORDERED_CHECK_MEMBER(count, result, name, member)        \
                                                                             \
     typedef typename ndnboost::unordered::detail::identity<member>::type       \
-        BOOST_PP_CAT(check, count);                                         \
+        NDNBOOST_PP_CAT(check, count);                                         \
                                                                             \
-    template <BOOST_PP_CAT(check, count) e>                                 \
-    struct BOOST_PP_CAT(test, count) {                                      \
-        typedef BOOST_PP_CAT(choice, result) type;                          \
+    template <NDNBOOST_PP_CAT(check, count) e>                                 \
+    struct NDNBOOST_PP_CAT(test, count) {                                      \
+        typedef NDNBOOST_PP_CAT(choice, result) type;                          \
     };                                                                      \
                                                                             \
     template <class U> static typename                                      \
-        BOOST_PP_CAT(test, count)<&U::name>::type                           \
-        test(BOOST_PP_CAT(choice, count))
+        NDNBOOST_PP_CAT(test, count)<&U::name>::type                           \
+        test(NDNBOOST_PP_CAT(choice, count))
 
-#   define BOOST_UNORDERED_DEFAULT_MEMBER(count, result)                    \
-    template <class U> static BOOST_PP_CAT(choice, result)::type            \
-        test(BOOST_PP_CAT(choice, count))
+#   define NDNBOOST_UNORDERED_DEFAULT_MEMBER(count, result)                    \
+    template <class U> static NDNBOOST_PP_CAT(choice, result)::type            \
+        test(NDNBOOST_PP_CAT(choice, count))
 
-#   define BOOST_UNORDERED_HAS_MEMBER(name)                                 \
-    struct BOOST_PP_CAT(has_, name)                                         \
+#   define NDNBOOST_UNORDERED_HAS_MEMBER(name)                                 \
+    struct NDNBOOST_PP_CAT(has_, name)                                         \
     {                                                                       \
         struct impl {                                                       \
             struct base_mixin { int name; };                                \
             struct base : public T, public base_mixin {};                   \
                                                                             \
-            BOOST_UNORDERED_CHECK_MEMBER(1, 1, name, int base_mixin::*);    \
-            BOOST_UNORDERED_DEFAULT_MEMBER(2, 2);                           \
+            NDNBOOST_UNORDERED_CHECK_MEMBER(1, 1, name, int base_mixin::*);    \
+            NDNBOOST_UNORDERED_DEFAULT_MEMBER(2, 2);                           \
                                                                             \
             enum { value = sizeof(choice2::type) ==                         \
                 sizeof(test<base>(choose()))                                \
@@ -333,20 +333,20 @@
 //
 // First our implementation, then later light wrappers around the alternatives
 
-#if BOOST_UNORDERED_USE_ALLOCATOR_TRAITS == 0
+#if NDNBOOST_UNORDERED_USE_ALLOCATOR_TRAITS == 0
 
 #   include <ndnboost/limits.hpp>
 #   include <ndnboost/utility/enable_if.hpp>
 #   include <ndnboost/pointer_to_other.hpp>
-#   if defined(BOOST_NO_SFINAE_EXPR)
+#   if defined(NDNBOOST_NO_SFINAE_EXPR)
 #       include <ndnboost/type_traits/is_same.hpp>
 #   endif
 
-#   if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && \
-        !defined(BOOST_NO_SFINAE_EXPR)
-#       define BOOST_UNORDERED_DETAIL_FULL_CONSTRUCT 1
+#   if !defined(NDNBOOST_NO_CXX11_VARIADIC_TEMPLATES) && \
+        !defined(NDNBOOST_NO_SFINAE_EXPR)
+#       define NDNBOOST_UNORDERED_DETAIL_FULL_CONSTRUCT 1
 #   else
-#       define BOOST_UNORDERED_DETAIL_FULL_CONSTRUCT 0
+#       define NDNBOOST_UNORDERED_DETAIL_FULL_CONSTRUCT 0
 #   endif
 
 namespace ndnboost { namespace unordered { namespace detail {
@@ -355,12 +355,12 @@
     template <typename Alloc, typename T>
     struct rebind_wrap
     {
-        typedef typename Alloc::BOOST_NESTED_TEMPLATE rebind<T>::other type;
+        typedef typename Alloc::NDNBOOST_NESTED_TEMPLATE rebind<T>::other type;
     };
 
-#   if defined(BOOST_MSVC) && BOOST_MSVC <= 1400
+#   if defined(NDNBOOST_MSVC) && NDNBOOST_MSVC <= 1400
 
-#       define BOOST_UNORDERED_DEFAULT_TYPE_TMPLT(tname)                    \
+#       define NDNBOOST_UNORDERED_DEFAULT_TYPE_TMPLT(tname)                    \
     template <typename Tp, typename Default>                                \
     struct default_type_ ## tname {                                         \
                                                                             \
@@ -375,7 +375,7 @@
         enum { value = (1 == sizeof(test<Tp>(choose()))) };                 \
                                                                             \
         typedef typename ndnboost::detail::if_true<value>::                    \
-            BOOST_NESTED_TEMPLATE then<Tp, DefaultWrap>                     \
+            NDNBOOST_NESTED_TEMPLATE then<Tp, DefaultWrap>                     \
             ::type::tname type;                                             \
     }
 
@@ -384,7 +384,7 @@
     template <typename T, typename T2>
     struct sfinae : T2 {};
 
-#       define BOOST_UNORDERED_DEFAULT_TYPE_TMPLT(tname)                    \
+#       define NDNBOOST_UNORDERED_DEFAULT_TYPE_TMPLT(tname)                    \
     template <typename Tp, typename Default>                                \
     struct default_type_ ## tname {                                         \
                                                                             \
@@ -401,41 +401,41 @@
         enum { value = (1 == sizeof(test<Tp>(choose()))) };                 \
                                                                             \
         typedef typename ndnboost::detail::if_true<value>::                    \
-            BOOST_NESTED_TEMPLATE then<Tp, DefaultWrap>                     \
+            NDNBOOST_NESTED_TEMPLATE then<Tp, DefaultWrap>                     \
             ::type::tname type;                                             \
     }
 
 #   endif
 
-#   define BOOST_UNORDERED_DEFAULT_TYPE(T,tname, arg)                   \
+#   define NDNBOOST_UNORDERED_DEFAULT_TYPE(T,tname, arg)                   \
     typename default_type_ ## tname<T, arg>::type
 
-    BOOST_UNORDERED_DEFAULT_TYPE_TMPLT(pointer);
-    BOOST_UNORDERED_DEFAULT_TYPE_TMPLT(const_pointer);
-    BOOST_UNORDERED_DEFAULT_TYPE_TMPLT(void_pointer);
-    BOOST_UNORDERED_DEFAULT_TYPE_TMPLT(const_void_pointer);
-    BOOST_UNORDERED_DEFAULT_TYPE_TMPLT(difference_type);
-    BOOST_UNORDERED_DEFAULT_TYPE_TMPLT(size_type);
-    BOOST_UNORDERED_DEFAULT_TYPE_TMPLT(propagate_on_container_copy_assignment);
-    BOOST_UNORDERED_DEFAULT_TYPE_TMPLT(propagate_on_container_move_assignment);
-    BOOST_UNORDERED_DEFAULT_TYPE_TMPLT(propagate_on_container_swap);
+    NDNBOOST_UNORDERED_DEFAULT_TYPE_TMPLT(pointer);
+    NDNBOOST_UNORDERED_DEFAULT_TYPE_TMPLT(const_pointer);
+    NDNBOOST_UNORDERED_DEFAULT_TYPE_TMPLT(void_pointer);
+    NDNBOOST_UNORDERED_DEFAULT_TYPE_TMPLT(const_void_pointer);
+    NDNBOOST_UNORDERED_DEFAULT_TYPE_TMPLT(difference_type);
+    NDNBOOST_UNORDERED_DEFAULT_TYPE_TMPLT(size_type);
+    NDNBOOST_UNORDERED_DEFAULT_TYPE_TMPLT(propagate_on_container_copy_assignment);
+    NDNBOOST_UNORDERED_DEFAULT_TYPE_TMPLT(propagate_on_container_move_assignment);
+    NDNBOOST_UNORDERED_DEFAULT_TYPE_TMPLT(propagate_on_container_swap);
 
-#   if !defined(BOOST_NO_SFINAE_EXPR)
+#   if !defined(NDNBOOST_NO_SFINAE_EXPR)
 
     template <typename T>
-    BOOST_UNORDERED_HAS_FUNCTION(
+    NDNBOOST_UNORDERED_HAS_FUNCTION(
         select_on_container_copy_construction, U const, (), 0
     );
 
     template <typename T>
-    BOOST_UNORDERED_HAS_FUNCTION(
+    NDNBOOST_UNORDERED_HAS_FUNCTION(
         max_size, U const, (), 0
     );
 
-#       if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
+#       if !defined(NDNBOOST_NO_CXX11_VARIADIC_TEMPLATES)
 
     template <typename T, typename ValueType, typename... Args>
-    BOOST_UNORDERED_HAS_FUNCTION(
+    NDNBOOST_UNORDERED_HAS_FUNCTION(
     construct, U, (
         ndnboost::unordered::detail::make<ValueType*>(),
         ndnboost::unordered::detail::make<Args const>()...), 2
@@ -444,7 +444,7 @@
 #       else
 
     template <typename T, typename ValueType>
-    BOOST_UNORDERED_HAS_FUNCTION(
+    NDNBOOST_UNORDERED_HAS_FUNCTION(
     construct, U, (
         ndnboost::unordered::detail::make<ValueType*>(),
         ndnboost::unordered::detail::make<ValueType const>()), 2
@@ -453,23 +453,23 @@
 #       endif
 
     template <typename T, typename ValueType>
-    BOOST_UNORDERED_HAS_FUNCTION(
+    NDNBOOST_UNORDERED_HAS_FUNCTION(
         destroy, U, (ndnboost::unordered::detail::make<ValueType*>()), 1
     );
 
 #   else
 
     template <typename T>
-    BOOST_UNORDERED_HAS_MEMBER(select_on_container_copy_construction);
+    NDNBOOST_UNORDERED_HAS_MEMBER(select_on_container_copy_construction);
 
     template <typename T>
-    BOOST_UNORDERED_HAS_MEMBER(max_size);
+    NDNBOOST_UNORDERED_HAS_MEMBER(max_size);
 
     template <typename T, typename ValueType>
-    BOOST_UNORDERED_HAS_MEMBER(construct);
+    NDNBOOST_UNORDERED_HAS_MEMBER(construct);
 
     template <typename T, typename ValueType>
-    BOOST_UNORDERED_HAS_MEMBER(destroy);
+    NDNBOOST_UNORDERED_HAS_MEMBER(destroy);
 
 #   endif
 
@@ -516,28 +516,28 @@
         typedef Alloc allocator_type;
         typedef typename Alloc::value_type value_type;
 
-        typedef BOOST_UNORDERED_DEFAULT_TYPE(Alloc, pointer, value_type*)
+        typedef NDNBOOST_UNORDERED_DEFAULT_TYPE(Alloc, pointer, value_type*)
             pointer;
 
         template <typename T>
         struct pointer_to_other : ndnboost::pointer_to_other<pointer, T> {};
 
-        typedef BOOST_UNORDERED_DEFAULT_TYPE(Alloc, const_pointer,
+        typedef NDNBOOST_UNORDERED_DEFAULT_TYPE(Alloc, const_pointer,
             typename pointer_to_other<const value_type>::type)
             const_pointer;
 
-        //typedef BOOST_UNORDERED_DEFAULT_TYPE(Alloc, void_pointer,
+        //typedef NDNBOOST_UNORDERED_DEFAULT_TYPE(Alloc, void_pointer,
         //    typename pointer_to_other<void>::type)
         //    void_pointer;
         //
-        //typedef BOOST_UNORDERED_DEFAULT_TYPE(Alloc, const_void_pointer,
+        //typedef NDNBOOST_UNORDERED_DEFAULT_TYPE(Alloc, const_void_pointer,
         //    typename pointer_to_other<const void>::type)
         //    const_void_pointer;
 
-        typedef BOOST_UNORDERED_DEFAULT_TYPE(Alloc, difference_type,
+        typedef NDNBOOST_UNORDERED_DEFAULT_TYPE(Alloc, difference_type,
             std::ptrdiff_t) difference_type;
 
-        typedef BOOST_UNORDERED_DEFAULT_TYPE(Alloc, size_type, std::size_t)
+        typedef NDNBOOST_UNORDERED_DEFAULT_TYPE(Alloc, size_type, std::size_t)
             size_type;
 
         // TODO: rebind_alloc and rebind_traits
@@ -556,13 +556,13 @@
 
     public:
 
-#   if BOOST_UNORDERED_DETAIL_FULL_CONSTRUCT
+#   if NDNBOOST_UNORDERED_DETAIL_FULL_CONSTRUCT
 
         template <typename T, typename... Args>
         static typename ndnboost::enable_if_c<
                 ndnboost::unordered::detail::has_construct<Alloc, T, Args...>
                 ::value>::type
-            construct(Alloc& a, T* p, BOOST_FWD_REF(Args)... x)
+            construct(Alloc& a, T* p, NDNBOOST_FWD_REF(Args)... x)
         {
             a.construct(p, ndnboost::forward<Args>(x)...);
         }
@@ -571,7 +571,7 @@
         static typename ndnboost::disable_if_c<
                 ndnboost::unordered::detail::has_construct<Alloc, T, Args...>
                 ::value>::type
-            construct(Alloc&, T* p, BOOST_FWD_REF(Args)... x)
+            construct(Alloc&, T* p, NDNBOOST_FWD_REF(Args)... x)
         {
             new ((void*) p) T(ndnboost::forward<Args>(x)...);
         }
@@ -592,7 +592,7 @@
             ndnboost::unordered::detail::destroy(p);
         }
 
-#   elif !defined(BOOST_NO_SFINAE_EXPR)
+#   elif !defined(NDNBOOST_NO_SFINAE_EXPR)
 
         template <typename T>
         static typename ndnboost::enable_if_c<
@@ -689,30 +689,30 @@
 
         // Allocator propagation on assignment and swap.
         // Return true if lhs is modified.
-        typedef BOOST_UNORDERED_DEFAULT_TYPE(
+        typedef NDNBOOST_UNORDERED_DEFAULT_TYPE(
             Alloc, propagate_on_container_copy_assignment, false_type)
             propagate_on_container_copy_assignment;
-        typedef BOOST_UNORDERED_DEFAULT_TYPE(
+        typedef NDNBOOST_UNORDERED_DEFAULT_TYPE(
             Alloc,propagate_on_container_move_assignment, false_type)
             propagate_on_container_move_assignment;
-        typedef BOOST_UNORDERED_DEFAULT_TYPE(
+        typedef NDNBOOST_UNORDERED_DEFAULT_TYPE(
             Alloc,propagate_on_container_swap,false_type)
             propagate_on_container_swap;
     };
 }}}
 
-#   undef BOOST_UNORDERED_DEFAULT_TYPE_TMPLT
-#   undef BOOST_UNORDERED_DEFAULT_TYPE
+#   undef NDNBOOST_UNORDERED_DEFAULT_TYPE_TMPLT
+#   undef NDNBOOST_UNORDERED_DEFAULT_TYPE
 
 ////////////////////////////////////////////////////////////////////////////////
 //
 // std::allocator_traits
 
-#elif BOOST_UNORDERED_USE_ALLOCATOR_TRAITS == 1
+#elif NDNBOOST_UNORDERED_USE_ALLOCATOR_TRAITS == 1
 
 #   include <memory>
 
-#   define BOOST_UNORDERED_DETAIL_FULL_CONSTRUCT 1
+#   define NDNBOOST_UNORDERED_DETAIL_FULL_CONSTRUCT 1
 
 namespace ndnboost { namespace unordered { namespace detail {
 
@@ -731,11 +731,11 @@
 //
 // ndnboost::container::allocator_traits
 
-#elif BOOST_UNORDERED_USE_ALLOCATOR_TRAITS == 2
+#elif NDNBOOST_UNORDERED_USE_ALLOCATOR_TRAITS == 2
 
 #   include <ndnboost/container/allocator_traits.hpp>
 
-#   define BOOST_UNORDERED_DETAIL_FULL_CONSTRUCT 0
+#   define NDNBOOST_UNORDERED_DETAIL_FULL_CONSTRUCT 0
 
 namespace ndnboost { namespace unordered { namespace detail {
 
@@ -753,7 +753,7 @@
 
 #else
 
-#error "Invalid BOOST_UNORDERED_USE_ALLOCATOR_TRAITS value."
+#error "Invalid NDNBOOST_UNORDERED_USE_ALLOCATOR_TRAITS value."
 
 #endif
 
@@ -763,13 +763,13 @@
     ////////////////////////////////////////////////////////////////////////////
     // call_construct
 
-#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
+#if !defined(NDNBOOST_NO_CXX11_VARIADIC_TEMPLATES)
 
-#   if BOOST_UNORDERED_DETAIL_FULL_CONSTRUCT
+#   if NDNBOOST_UNORDERED_DETAIL_FULL_CONSTRUCT
 
     template <typename Alloc, typename T, typename... Args>
     inline void call_construct(Alloc& alloc, T* address,
-        BOOST_FWD_REF(Args)... args)
+        NDNBOOST_FWD_REF(Args)... args)
     {
         ndnboost::unordered::detail::allocator_traits<Alloc>::construct(alloc,
             address, ndnboost::forward<Args>(args)...);
@@ -785,7 +785,7 @@
 
     template <typename Alloc, typename T, typename... Args>
     inline void call_construct(Alloc&, T* address,
-        BOOST_FWD_REF(Args)... args)
+        NDNBOOST_FWD_REF(Args)... args)
     {
         new((void*) address) T(ndnboost::forward<Args>(args)...);
     }
@@ -812,63 +812,63 @@
     //
     // Used for piecewise construction.
 
-#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
+#if !defined(NDNBOOST_NO_CXX11_VARIADIC_TEMPLATES)
 
-#   define BOOST_UNORDERED_CONSTRUCT_FROM_TUPLE(n, namespace_)              \
+#   define NDNBOOST_UNORDERED_CONSTRUCT_FROM_TUPLE(n, namespace_)              \
     template<typename Alloc, typename T>                                    \
     void construct_from_tuple(Alloc& alloc, T* ptr, namespace_ tuple<>)     \
     {                                                                       \
         ndnboost::unordered::detail::call_construct(alloc, ptr);               \
     }                                                                       \
                                                                             \
-    BOOST_PP_REPEAT_FROM_TO(1, n,                                           \
-        BOOST_UNORDERED_CONSTRUCT_FROM_TUPLE_IMPL, namespace_)
+    NDNBOOST_PP_REPEAT_FROM_TO(1, n,                                           \
+        NDNBOOST_UNORDERED_CONSTRUCT_FROM_TUPLE_IMPL, namespace_)
 
-#   define BOOST_UNORDERED_CONSTRUCT_FROM_TUPLE_IMPL(z, n, namespace_)      \
+#   define NDNBOOST_UNORDERED_CONSTRUCT_FROM_TUPLE_IMPL(z, n, namespace_)      \
     template<typename Alloc, typename T,                                    \
-        BOOST_PP_ENUM_PARAMS_Z(z, n, typename A)>                           \
+        NDNBOOST_PP_ENUM_PARAMS_Z(z, n, typename A)>                           \
     void construct_from_tuple(Alloc& alloc, T* ptr,                         \
-            namespace_ tuple<BOOST_PP_ENUM_PARAMS_Z(z, n, A)> const& x)     \
+            namespace_ tuple<NDNBOOST_PP_ENUM_PARAMS_Z(z, n, A)> const& x)     \
     {                                                                       \
         ndnboost::unordered::detail::call_construct(alloc, ptr,                \
-            BOOST_PP_ENUM_##z(n, BOOST_UNORDERED_GET_TUPLE_ARG, namespace_) \
+            NDNBOOST_PP_ENUM_##z(n, NDNBOOST_UNORDERED_GET_TUPLE_ARG, namespace_) \
         );                                                                  \
     }
 
-#   define BOOST_UNORDERED_GET_TUPLE_ARG(z, n, namespace_)                  \
+#   define NDNBOOST_UNORDERED_GET_TUPLE_ARG(z, n, namespace_)                  \
     namespace_ get<n>(x)
 
 #elif !defined(__SUNPRO_CC)
 
-#   define BOOST_UNORDERED_CONSTRUCT_FROM_TUPLE(n, namespace_)              \
+#   define NDNBOOST_UNORDERED_CONSTRUCT_FROM_TUPLE(n, namespace_)              \
     template<typename Alloc, typename T>                                    \
     void construct_from_tuple(Alloc&, T* ptr, namespace_ tuple<>)           \
     {                                                                       \
         new ((void*) ptr) T();                                              \
     }                                                                       \
                                                                             \
-    BOOST_PP_REPEAT_FROM_TO(1, n,                                           \
-        BOOST_UNORDERED_CONSTRUCT_FROM_TUPLE_IMPL, namespace_)
+    NDNBOOST_PP_REPEAT_FROM_TO(1, n,                                           \
+        NDNBOOST_UNORDERED_CONSTRUCT_FROM_TUPLE_IMPL, namespace_)
 
-#   define BOOST_UNORDERED_CONSTRUCT_FROM_TUPLE_IMPL(z, n, namespace_)      \
+#   define NDNBOOST_UNORDERED_CONSTRUCT_FROM_TUPLE_IMPL(z, n, namespace_)      \
     template<typename Alloc, typename T,                                    \
-        BOOST_PP_ENUM_PARAMS_Z(z, n, typename A)>                           \
+        NDNBOOST_PP_ENUM_PARAMS_Z(z, n, typename A)>                           \
     void construct_from_tuple(Alloc&, T* ptr,                               \
-            namespace_ tuple<BOOST_PP_ENUM_PARAMS_Z(z, n, A)> const& x)     \
+            namespace_ tuple<NDNBOOST_PP_ENUM_PARAMS_Z(z, n, A)> const& x)     \
     {                                                                       \
         new ((void*) ptr) T(                                                \
-            BOOST_PP_ENUM_##z(n, BOOST_UNORDERED_GET_TUPLE_ARG, namespace_) \
+            NDNBOOST_PP_ENUM_##z(n, NDNBOOST_UNORDERED_GET_TUPLE_ARG, namespace_) \
         );                                                                  \
     }
 
-#   define BOOST_UNORDERED_GET_TUPLE_ARG(z, n, namespace_)                  \
+#   define NDNBOOST_UNORDERED_GET_TUPLE_ARG(z, n, namespace_)                  \
     namespace_ get<n>(x)
 
 #else
 
     template <int N> struct length {};
 
-#   define BOOST_UNORDERED_CONSTRUCT_FROM_TUPLE(n, namespace_)              \
+#   define NDNBOOST_UNORDERED_CONSTRUCT_FROM_TUPLE(n, namespace_)              \
     template<typename Alloc, typename T>                                    \
     void construct_from_tuple_impl(                                         \
             ndnboost::unordered::detail::length<0>, Alloc&, T* ptr,            \
@@ -877,35 +877,35 @@
         new ((void*) ptr) T();                                              \
     }                                                                       \
                                                                             \
-    BOOST_PP_REPEAT_FROM_TO(1, n,                                           \
-        BOOST_UNORDERED_CONSTRUCT_FROM_TUPLE_IMPL, namespace_)
+    NDNBOOST_PP_REPEAT_FROM_TO(1, n,                                           \
+        NDNBOOST_UNORDERED_CONSTRUCT_FROM_TUPLE_IMPL, namespace_)
 
-#   define BOOST_UNORDERED_CONSTRUCT_FROM_TUPLE_IMPL(z, n, namespace_)      \
+#   define NDNBOOST_UNORDERED_CONSTRUCT_FROM_TUPLE_IMPL(z, n, namespace_)      \
     template<typename Alloc, typename T,                                    \
-        BOOST_PP_ENUM_PARAMS_Z(z, n, typename A)>                           \
+        NDNBOOST_PP_ENUM_PARAMS_Z(z, n, typename A)>                           \
     void construct_from_tuple_impl(                                         \
             ndnboost::unordered::detail::length<n>, Alloc&, T* ptr,            \
-            namespace_ tuple<BOOST_PP_ENUM_PARAMS_Z(z, n, A)> const& x)     \
+            namespace_ tuple<NDNBOOST_PP_ENUM_PARAMS_Z(z, n, A)> const& x)     \
     {                                                                       \
         new ((void*) ptr) T(                                                \
-            BOOST_PP_ENUM_##z(n, BOOST_UNORDERED_GET_TUPLE_ARG, namespace_) \
+            NDNBOOST_PP_ENUM_##z(n, NDNBOOST_UNORDERED_GET_TUPLE_ARG, namespace_) \
         );                                                                  \
     }
 
-#   define BOOST_UNORDERED_GET_TUPLE_ARG(z, n, namespace_)                  \
+#   define NDNBOOST_UNORDERED_GET_TUPLE_ARG(z, n, namespace_)                  \
     namespace_ get<n>(x)
 
 #endif
 
-BOOST_UNORDERED_CONSTRUCT_FROM_TUPLE(10, ndnboost::)
+NDNBOOST_UNORDERED_CONSTRUCT_FROM_TUPLE(10, ndnboost::)
 
-#if !defined(__SUNPRO_CC) && !defined(BOOST_NO_CXX11_HDR_TUPLE)
-   BOOST_UNORDERED_CONSTRUCT_FROM_TUPLE(10, std::)
+#if !defined(__SUNPRO_CC) && !defined(NDNBOOST_NO_CXX11_HDR_TUPLE)
+   NDNBOOST_UNORDERED_CONSTRUCT_FROM_TUPLE(10, std::)
 #endif
 
-#undef BOOST_UNORDERED_CONSTRUCT_FROM_TUPLE
-#undef BOOST_UNORDERED_CONSTRUCT_FROM_TUPLE_IMPL
-#undef BOOST_UNORDERED_GET_TUPLE_ARG
+#undef NDNBOOST_UNORDERED_CONSTRUCT_FROM_TUPLE
+#undef NDNBOOST_UNORDERED_CONSTRUCT_FROM_TUPLE_IMPL
+#undef NDNBOOST_UNORDERED_GET_TUPLE_ARG
 
 #if defined(__SUNPRO_CC)
 
@@ -934,7 +934,7 @@
             sizeof(test(choose(), ndnboost::unordered::detail::make<A0>())) };
     };
 
-#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
+#if !defined(NDNBOOST_NO_CXX11_VARIADIC_TEMPLATES)
 
     ////////////////////////////////////////////////////////////////////////////
     // Construct from variadic parameters
@@ -943,7 +943,7 @@
 
     template <typename Alloc, typename T, typename... Args>
     inline void construct_value_impl(Alloc& alloc, T* address,
-        BOOST_FWD_REF(Args)... args)
+        NDNBOOST_FWD_REF(Args)... args)
     {
         ndnboost::unordered::detail::call_construct(alloc,
             address, ndnboost::forward<Args>(args)...);
@@ -958,7 +958,7 @@
         typename A0, typename A1, typename A2>
     inline typename enable_if<use_piecewise<A0>, void>::type
         construct_value_impl(Alloc& alloc, std::pair<A, B>* address,
-            BOOST_FWD_REF(A0), BOOST_FWD_REF(A1) a1, BOOST_FWD_REF(A2) a2)
+            NDNBOOST_FWD_REF(A0), NDNBOOST_FWD_REF(A1) a1, NDNBOOST_FWD_REF(A2) a2)
     {
         ndnboost::unordered::detail::construct_from_tuple(alloc,
             ndnboost::addressof(address->first), ndnboost::forward<A1>(a1));
@@ -966,7 +966,7 @@
             ndnboost::addressof(address->second), ndnboost::forward<A2>(a2));
     }
 
-#else // BOOST_NO_CXX11_VARIADIC_TEMPLATES
+#else // NDNBOOST_NO_CXX11_VARIADIC_TEMPLATES
 
 ////////////////////////////////////////////////////////////////////////////////
 // Construct from emplace_args
@@ -1004,25 +1004,25 @@
 
     // Use a macro for the rest.
 
-#define BOOST_UNORDERED_CONSTRUCT_IMPL(z, num_params, _)                    \
+#define NDNBOOST_UNORDERED_CONSTRUCT_IMPL(z, num_params, _)                    \
     template <                                                              \
         typename Alloc, typename T,                                         \
-        BOOST_PP_ENUM_PARAMS_Z(z, num_params, typename A)                   \
+        NDNBOOST_PP_ENUM_PARAMS_Z(z, num_params, typename A)                   \
     >                                                                       \
     inline void construct_value_impl(Alloc&, T* address,                    \
-        ndnboost::unordered::detail::BOOST_PP_CAT(emplace_args,num_params) <   \
-            BOOST_PP_ENUM_PARAMS_Z(z, num_params, A)                        \
+        ndnboost::unordered::detail::NDNBOOST_PP_CAT(emplace_args,num_params) <   \
+            NDNBOOST_PP_ENUM_PARAMS_Z(z, num_params, A)                        \
         > const& args)                                                      \
     {                                                                       \
         new((void*) address) T(                                             \
-            BOOST_PP_ENUM_##z(num_params, BOOST_UNORDERED_CALL_FORWARD,     \
+            NDNBOOST_PP_ENUM_##z(num_params, NDNBOOST_UNORDERED_CALL_FORWARD,     \
                 args.a));                                                   \
     }
 
-    BOOST_PP_REPEAT_FROM_TO(4, BOOST_UNORDERED_EMPLACE_LIMIT,
-        BOOST_UNORDERED_CONSTRUCT_IMPL, _)
+    NDNBOOST_PP_REPEAT_FROM_TO(4, NDNBOOST_UNORDERED_EMPLACE_LIMIT,
+        NDNBOOST_UNORDERED_CONSTRUCT_IMPL, _)
 
-#undef BOOST_UNORDERED_CONSTRUCT_IMPL
+#undef NDNBOOST_UNORDERED_CONSTRUCT_IMPL
 
     // Construct with piece_construct
 
@@ -1038,7 +1038,7 @@
             ndnboost::addressof(address->second), args.a2);
     }
 
-#endif // BOOST_NO_CXX11_VARIADIC_TEMPLATES
+#endif // NDNBOOST_NO_CXX11_VARIADIC_TEMPLATES
 
 }}}
 
@@ -1086,7 +1086,7 @@
         template <typename V>
         void construct(V const& v, std::size_t l)
         {
-            BOOST_ASSERT(!ptr_);
+            NDNBOOST_ASSERT(!ptr_);
             length_ = l;
             ptr_ = traits::allocate(alloc_, length_);
             pointer end = ptr_ + static_cast<std::ptrdiff_t>(length_);
@@ -1113,7 +1113,7 @@
     };
 }}}
 
-#if defined(BOOST_MSVC)
+#if defined(NDNBOOST_MSVC)
 #pragma warning(pop)
 #endif
 
diff --git a/include/ndnboost/unordered/detail/buckets.hpp b/include/ndnboost/unordered/detail/buckets.hpp
index df44e70..322df49 100644
--- a/include/ndnboost/unordered/detail/buckets.hpp
+++ b/include/ndnboost/unordered/detail/buckets.hpp
@@ -4,8 +4,8 @@
 // Distributed under the Boost Software License, Version 1.0. (See accompanying
 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 
-#ifndef BOOST_UNORDERED_DETAIL_MANAGER_HPP_INCLUDED
-#define BOOST_UNORDERED_DETAIL_MANAGER_HPP_INCLUDED
+#ifndef NDNBOOST_UNORDERED_DETAIL_MANAGER_HPP_INCLUDED
+#define NDNBOOST_UNORDERED_DETAIL_MANAGER_HPP_INCLUDED
 
 #if defined(_MSC_VER) && (_MSC_VER >= 1020)
 # pragma once
@@ -58,7 +58,7 @@
             typename Node::node_pointer,
             typename Node::value_type&>
     {
-#if !defined(BOOST_NO_MEMBER_TEMPLATE_FRIENDS)
+#if !defined(NDNBOOST_NO_MEMBER_TEMPLATE_FRIENDS)
         template <typename Node2, typename ConstNodePointer, typename Policy2>
         friend struct ndnboost::unordered::iterator_detail::cl_iterator;
     private:
@@ -182,7 +182,7 @@
             typename Node::node_pointer,
             typename Node::value_type&>
     {
-#if !defined(BOOST_NO_MEMBER_TEMPLATE_FRIENDS)
+#if !defined(NDNBOOST_NO_MEMBER_TEMPLATE_FRIENDS)
         template <typename, typename>
         friend struct ndnboost::unordered::iterator_detail::c_iterator;
         template <typename, typename>
@@ -248,7 +248,7 @@
     {
         friend struct ndnboost::unordered::iterator_detail::iterator<Node>;
 
-#if !defined(BOOST_NO_MEMBER_TEMPLATE_FRIENDS)
+#if !defined(NDNBOOST_NO_MEMBER_TEMPLATE_FRIENDS)
         template <typename>
         friend struct ndnboost::unordered::detail::table;
         template <typename>
@@ -341,34 +341,34 @@
 
         void construct();
 
-        template <BOOST_UNORDERED_EMPLACE_TEMPLATE>
-        void construct_with_value(BOOST_UNORDERED_EMPLACE_ARGS)
+        template <NDNBOOST_UNORDERED_EMPLACE_TEMPLATE>
+        void construct_with_value(NDNBOOST_UNORDERED_EMPLACE_ARGS)
         {
             construct();
             ndnboost::unordered::detail::construct_value_impl(
-                alloc_, node_->value_ptr(), BOOST_UNORDERED_EMPLACE_FORWARD);
+                alloc_, node_->value_ptr(), NDNBOOST_UNORDERED_EMPLACE_FORWARD);
             value_constructed_ = true;
         }
 
         template <typename A0>
-        void construct_with_value2(BOOST_FWD_REF(A0) a0)
+        void construct_with_value2(NDNBOOST_FWD_REF(A0) a0)
         {
             construct();
             ndnboost::unordered::detail::construct_value_impl(
                 alloc_, node_->value_ptr(),
-                BOOST_UNORDERED_EMPLACE_ARGS1(ndnboost::forward<A0>(a0)));
+                NDNBOOST_UNORDERED_EMPLACE_ARGS1(ndnboost::forward<A0>(a0)));
             value_constructed_ = true;
         }
 
         value_type const& value() const {
-            BOOST_ASSERT(node_ && node_constructed_ && value_constructed_);
+            NDNBOOST_ASSERT(node_ && node_constructed_ && value_constructed_);
             return node_->value();
         }
 
         // no throw
         node_pointer release()
         {
-            BOOST_ASSERT(node_ && node_constructed_);
+            NDNBOOST_ASSERT(node_ && node_constructed_);
             node_pointer p = node_;
             node_ = node_pointer();
             return p;
@@ -412,7 +412,7 @@
             node_constructed_ = true;
         }
         else {
-            BOOST_ASSERT(node_constructed_);
+            NDNBOOST_ASSERT(node_constructed_);
 
             if (value_constructed_)
             {
@@ -843,11 +843,11 @@
     };
     
     ////////////////////////////////////////////////////////////////////////////
-    // rvalue parameters when type can't be a BOOST_RV_REF(T) parameter
+    // rvalue parameters when type can't be a NDNBOOST_RV_REF(T) parameter
     // e.g. for int
 
-#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
-#   define BOOST_UNORDERED_RV_REF(T) BOOST_RV_REF(T)
+#if !defined(NDNBOOST_NO_CXX11_RVALUE_REFERENCES)
+#   define NDNBOOST_UNORDERED_RV_REF(T) NDNBOOST_RV_REF(T)
 #else
     struct please_ignore_this_overload {
         typedef please_ignore_this_overload type;
@@ -855,20 +855,20 @@
 
     template <typename T>
     struct rv_ref_impl {
-        typedef BOOST_RV_REF(T) type;
+        typedef NDNBOOST_RV_REF(T) type;
     };
 
     template <typename T>
     struct rv_ref :
         ndnboost::detail::if_true<
             ndnboost::is_class<T>::value
-        >::BOOST_NESTED_TEMPLATE then <
+        >::NDNBOOST_NESTED_TEMPLATE then <
             ndnboost::unordered::detail::rv_ref_impl<T>,
             please_ignore_this_overload
         >::type
     {};
 
-#   define BOOST_UNORDERED_RV_REF(T) \
+#   define NDNBOOST_UNORDERED_RV_REF(T) \
         typename ndnboost::unordered::detail::rv_ref<T>::type
 #endif
 }}}
diff --git a/include/ndnboost/unordered/detail/equivalent.hpp b/include/ndnboost/unordered/detail/equivalent.hpp
index 511fa0c..8b62d59 100644
--- a/include/ndnboost/unordered/detail/equivalent.hpp
+++ b/include/ndnboost/unordered/detail/equivalent.hpp
@@ -4,8 +4,8 @@
 // Distributed under the Boost Software License, Version 1.0. (See accompanying
 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 
-#ifndef BOOST_UNORDERED_DETAIL_EQUIVALENT_HPP_INCLUDED
-#define BOOST_UNORDERED_DETAIL_EQUIVALENT_HPP_INCLUDED
+#ifndef NDNBOOST_UNORDERED_DETAIL_EQUIVALENT_HPP_INCLUDED
+#define NDNBOOST_UNORDERED_DETAIL_EQUIVALENT_HPP_INCLUDED
 
 #if defined(_MSC_VER) && (_MSC_VER >= 1020)
 # pragma once
@@ -438,29 +438,29 @@
             this->add_node(a, key_hash, this->find_node(key_hash, k));
         }
 
-#if defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
-#   if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
+#if defined(NDNBOOST_NO_CXX11_RVALUE_REFERENCES)
+#   if defined(NDNBOOST_NO_CXX11_VARIADIC_TEMPLATES)
         iterator emplace(ndnboost::unordered::detail::emplace_args1<
                 ndnboost::unordered::detail::please_ignore_this_overload> const&)
         {
-            BOOST_ASSERT(false);
+            NDNBOOST_ASSERT(false);
             return iterator();
         }
 #   else
         iterator emplace(
                 ndnboost::unordered::detail::please_ignore_this_overload const&)
         {
-            BOOST_ASSERT(false);
+            NDNBOOST_ASSERT(false);
             return iterator();
         }
 #   endif
 #endif
 
-        template <BOOST_UNORDERED_EMPLACE_TEMPLATE>
-        iterator emplace(BOOST_UNORDERED_EMPLACE_ARGS)
+        template <NDNBOOST_UNORDERED_EMPLACE_TEMPLATE>
+        iterator emplace(NDNBOOST_UNORDERED_EMPLACE_ARGS)
         {
             node_constructor a(this->node_alloc());
-            a.construct_with_value(BOOST_UNORDERED_EMPLACE_FORWARD);
+            a.construct_with_value(NDNBOOST_UNORDERED_EMPLACE_FORWARD);
 
             return iterator(emplace_impl(a));
         }
@@ -543,7 +543,7 @@
 
         iterator erase(c_iterator r)
         {
-            BOOST_ASSERT(r.node_);
+            NDNBOOST_ASSERT(r.node_);
             iterator next(r.node_);
             ++next;
             erase_nodes(r.node_, next.node_);
@@ -646,7 +646,7 @@
         // strong otherwise exception safety
         void rehash_impl(std::size_t num_buckets)
         {
-            BOOST_ASSERT(this->buckets_);
+            NDNBOOST_ASSERT(this->buckets_);
 
             this->create_buckets(num_buckets);
             link_pointer prev = this->get_previous_start();
diff --git a/include/ndnboost/unordered/detail/extract_key.hpp b/include/ndnboost/unordered/detail/extract_key.hpp
index 74dfdab..37e7aba 100644
--- a/include/ndnboost/unordered/detail/extract_key.hpp
+++ b/include/ndnboost/unordered/detail/extract_key.hpp
@@ -3,8 +3,8 @@
 // Distributed under the Boost Software License, Version 1.0. (See accompanying
 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 
-#ifndef BOOST_UNORDERED_DETAIL_EXTRACT_KEY_HPP_INCLUDED
-#define BOOST_UNORDERED_DETAIL_EXTRACT_KEY_HPP_INCLUDED
+#ifndef NDNBOOST_UNORDERED_DETAIL_EXTRACT_KEY_HPP_INCLUDED
+#define NDNBOOST_UNORDERED_DETAIL_EXTRACT_KEY_HPP_INCLUDED
 
 #include <ndnboost/unordered/detail/table.hpp>
 
@@ -37,7 +37,7 @@
             sizeof(choice2::type) };
         
         typedef typename ndnboost::detail::if_true<value>::
-            BOOST_NESTED_TEMPLATE then<Key const&, no_key>::type type;
+            NDNBOOST_NESTED_TEMPLATE then<Key const&, no_key>::type type;
     };
 
     template <class ValueType>
@@ -56,7 +56,7 @@
             return no_key();
         }
         
-#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
+#if !defined(NDNBOOST_NO_CXX11_VARIADIC_TEMPLATES)
         template <class... Args>
         static no_key extract(Args const&...)
         {
@@ -107,7 +107,7 @@
             return k;
         }
 
-#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
+#if !defined(NDNBOOST_NO_CXX11_VARIADIC_TEMPLATES)
         template <class... Args>
         static no_key extract(Args const&...)
         {
@@ -133,9 +133,9 @@
         }
 #endif
 
-#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
+#if !defined(NDNBOOST_NO_CXX11_VARIADIC_TEMPLATES)
 
-#define BOOST_UNORDERED_KEY_FROM_TUPLE(namespace_)                          \
+#define NDNBOOST_UNORDERED_KEY_FROM_TUPLE(namespace_)                          \
         template <typename T2>                                              \
         static no_key extract(ndnboost::unordered::piecewise_construct_t,      \
                 namespace_ tuple<> const&, T2 const&)                       \
@@ -154,7 +154,7 @@
 
 #else
 
-#define BOOST_UNORDERED_KEY_FROM_TUPLE(namespace_)                          \
+#define NDNBOOST_UNORDERED_KEY_FROM_TUPLE(namespace_)                          \
         static no_key extract(ndnboost::unordered::piecewise_construct_t,      \
                 namespace_ tuple<> const&)                                  \
         {                                                                   \
@@ -172,10 +172,10 @@
 
 #endif
 
-BOOST_UNORDERED_KEY_FROM_TUPLE(ndnboost::)
+NDNBOOST_UNORDERED_KEY_FROM_TUPLE(ndnboost::)
 
-#if !defined(BOOST_NO_CXX11_HDR_TUPLE)
-BOOST_UNORDERED_KEY_FROM_TUPLE(std::)
+#if !defined(NDNBOOST_NO_CXX11_HDR_TUPLE)
+NDNBOOST_UNORDERED_KEY_FROM_TUPLE(std::)
 #endif
     };
 }}}
diff --git a/include/ndnboost/unordered/detail/fwd.hpp b/include/ndnboost/unordered/detail/fwd.hpp
index 929466f..c4f4cda 100644
--- a/include/ndnboost/unordered/detail/fwd.hpp
+++ b/include/ndnboost/unordered/detail/fwd.hpp
@@ -3,8 +3,8 @@
 // Distributed under the Boost Software License, Version 1.0. (See accompanying
 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 
-#ifndef BOOST_UNORDERED_FWD_HPP_INCLUDED
-#define BOOST_UNORDERED_FWD_HPP_INCLUDED
+#ifndef NDNBOOST_UNORDERED_FWD_HPP_INCLUDED
+#define NDNBOOST_UNORDERED_FWD_HPP_INCLUDED
 
 #if defined(_MSC_VER) && (_MSC_VER >= 1020)
 # pragma once
diff --git a/include/ndnboost/unordered/detail/table.hpp b/include/ndnboost/unordered/detail/table.hpp
index 3d2cf86..7641483 100644
--- a/include/ndnboost/unordered/detail/table.hpp
+++ b/include/ndnboost/unordered/detail/table.hpp
@@ -4,8 +4,8 @@
 // Distributed under the Boost Software License, Version 1.0. (See accompanying
 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 
-#ifndef BOOST_UNORDERED_DETAIL_ALL_HPP_INCLUDED
-#define BOOST_UNORDERED_DETAIL_ALL_HPP_INCLUDED
+#ifndef NDNBOOST_UNORDERED_DETAIL_ALL_HPP_INCLUDED
+#define NDNBOOST_UNORDERED_DETAIL_ALL_HPP_INCLUDED
 
 #include <ndnboost/unordered/detail/buckets.hpp>
 #include <ndnboost/unordered/detail/util.hpp>
@@ -13,19 +13,19 @@
 #include <ndnboost/type_traits/alignment_of.hpp>
 #include <cmath>
 
-#if defined(BOOST_MSVC)
+#if defined(NDNBOOST_MSVC)
 #pragma warning(push)
 #pragma warning(disable:4127) // conditional expression is constant
 #endif
 
-#if defined(BOOST_UNORDERED_DEPRECATED_EQUALITY)
+#if defined(NDNBOOST_UNORDERED_DEPRECATED_EQUALITY)
 
 #if defined(__EDG__)
 #elif defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__)
-#pragma message("Warning: BOOST_UNORDERED_DEPRECATED_EQUALITY is no longer supported.")
+#pragma message("Warning: NDNBOOST_UNORDERED_DEPRECATED_EQUALITY is no longer supported.")
 #elif defined(__GNUC__) || defined(__HP_aCC) || \
     defined(__SUNPRO_CC) || defined(__IBMCPP__)
-#warning "BOOST_UNORDERED_DEPRECATED_EQUALITY is no longer supported."
+#warning "NDNBOOST_UNORDERED_DEPRECATED_EQUALITY is no longer supported."
 #endif
 
 #endif
@@ -231,7 +231,7 @@
 
         bucket_pointer get_bucket(std::size_t bucket_index) const
         {
-            BOOST_ASSERT(buckets_);
+            NDNBOOST_ASSERT(buckets_);
             return buckets_ + static_cast<std::ptrdiff_t>(bucket_index);
         }
 
@@ -264,7 +264,7 @@
 
         float load_factor() const
         {
-            BOOST_ASSERT(bucket_count_ != 0);
+            NDNBOOST_ASSERT(bucket_count_ != 0);
             return static_cast<float>(size_)
                 / static_cast<float>(bucket_count_);
         }
@@ -313,14 +313,14 @@
 
         void max_load_factor(float z)
         {
-            BOOST_ASSERT(z > 0);
+            NDNBOOST_ASSERT(z > 0);
             mlf_ = (std::max)(z, minimum_max_load_factor);
             recalculate_max_load();
         }
 
         std::size_t min_buckets_for_size(std::size_t size) const
         {
-            BOOST_ASSERT(mlf_ >= minimum_max_load_factor);
+            NDNBOOST_ASSERT(mlf_ >= minimum_max_load_factor);
     
             using namespace std;
     
@@ -459,7 +459,7 @@
             // According to 23.2.1.8, if propagate_on_container_swap is
             // false the behaviour is undefined unless the allocators
             // are equal.
-            BOOST_ASSERT(node_alloc() == other.node_alloc());
+            NDNBOOST_ASSERT(node_alloc() == other.node_alloc());
         }
 
         void swap_allocators(table& other, true_type)
@@ -491,8 +491,8 @@
 
         void move_buckets_from(table& other)
         {
-            BOOST_ASSERT(node_alloc() == other.node_alloc());
-            BOOST_ASSERT(!buckets_);
+            NDNBOOST_ASSERT(node_alloc() == other.node_alloc());
+            NDNBOOST_ASSERT(!buckets_);
             buckets_ = other.buckets_;
             bucket_count_ = other.bucket_count_;
             size_ = other.size_;
@@ -524,7 +524,7 @@
 
         std::size_t delete_nodes(link_pointer prev, link_pointer end)
         {
-            BOOST_ASSERT(prev->next_ != end);
+            NDNBOOST_ASSERT(prev->next_ != end);
 
             std::size_t count = 0;
 
@@ -554,7 +554,7 @@
                 max_load_ = 0;
             }
 
-            BOOST_ASSERT(!size_);
+            NDNBOOST_ASSERT(!size_);
         }
 
         void clear()
@@ -564,7 +564,7 @@
             delete_nodes(get_previous_start(), link_pointer());
             clear_buckets();
 
-            BOOST_ASSERT(!size_);
+            NDNBOOST_ASSERT(!size_);
         }
 
         void clear_buckets()
@@ -854,7 +854,7 @@
     }
 }}}
 
-#if defined(BOOST_MSVC)
+#if defined(NDNBOOST_MSVC)
 #pragma warning(pop)
 #endif
 
diff --git a/include/ndnboost/unordered/detail/unique.hpp b/include/ndnboost/unordered/detail/unique.hpp
index 44fc04d..d413255 100644
--- a/include/ndnboost/unordered/detail/unique.hpp
+++ b/include/ndnboost/unordered/detail/unique.hpp
@@ -4,8 +4,8 @@
 // Distributed under the Boost Software License, Version 1.0. (See accompanying
 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 
-#ifndef BOOST_UNORDERED_DETAIL_UNIQUE_HPP_INCLUDED
-#define BOOST_UNORDERED_DETAIL_UNIQUE_HPP_INCLUDED
+#ifndef NDNBOOST_UNORDERED_DETAIL_UNIQUE_HPP_INCLUDED
+#define NDNBOOST_UNORDERED_DETAIL_UNIQUE_HPP_INCLUDED
 
 #if defined(_MSC_VER) && (_MSC_VER >= 1020)
 # pragma once
@@ -344,7 +344,7 @@
             // Create the node before rehashing in case it throws an
             // exception (need strong safety in such a case).
             node_constructor a(this->node_alloc());
-            a.construct_with_value(BOOST_UNORDERED_EMPLACE_ARGS3(
+            a.construct_with_value(NDNBOOST_UNORDERED_EMPLACE_ARGS3(
                 ndnboost::unordered::piecewise_construct,
                 ndnboost::make_tuple(k),
                 ndnboost::make_tuple()));
@@ -353,39 +353,39 @@
             return *add_node(a, key_hash);
         }
 
-#if defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
-#   if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
+#if defined(NDNBOOST_NO_CXX11_RVALUE_REFERENCES)
+#   if defined(NDNBOOST_NO_CXX11_VARIADIC_TEMPLATES)
         emplace_return emplace(ndnboost::unordered::detail::emplace_args1<
                 ndnboost::unordered::detail::please_ignore_this_overload> const&)
         {
-            BOOST_ASSERT(false);
+            NDNBOOST_ASSERT(false);
             return emplace_return(this->begin(), false);
         }
 #   else
         emplace_return emplace(
                 ndnboost::unordered::detail::please_ignore_this_overload const&)
         {
-            BOOST_ASSERT(false);
+            NDNBOOST_ASSERT(false);
             return emplace_return(this->begin(), false);
         }
 #   endif
 #endif
 
-        template <BOOST_UNORDERED_EMPLACE_TEMPLATE>
-        emplace_return emplace(BOOST_UNORDERED_EMPLACE_ARGS)
+        template <NDNBOOST_UNORDERED_EMPLACE_TEMPLATE>
+        emplace_return emplace(NDNBOOST_UNORDERED_EMPLACE_ARGS)
         {
-#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
+#if !defined(NDNBOOST_NO_CXX11_VARIADIC_TEMPLATES)
             return emplace_impl(
-                extractor::extract(BOOST_UNORDERED_EMPLACE_FORWARD),
-                BOOST_UNORDERED_EMPLACE_FORWARD);
+                extractor::extract(NDNBOOST_UNORDERED_EMPLACE_FORWARD),
+                NDNBOOST_UNORDERED_EMPLACE_FORWARD);
 #else
             return emplace_impl(
                 extractor::extract(args.a0, args.a1),
-                BOOST_UNORDERED_EMPLACE_FORWARD);
+                NDNBOOST_UNORDERED_EMPLACE_FORWARD);
 #endif
         }
 
-#if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
+#if defined(NDNBOOST_NO_CXX11_VARIADIC_TEMPLATES)
         template <typename A0>
         emplace_return emplace(
                 ndnboost::unordered::detail::emplace_args1<A0> const& args)
@@ -394,9 +394,9 @@
         }
 #endif
 
-        template <BOOST_UNORDERED_EMPLACE_TEMPLATE>
+        template <NDNBOOST_UNORDERED_EMPLACE_TEMPLATE>
         emplace_return emplace_impl(key_type const& k,
-            BOOST_UNORDERED_EMPLACE_ARGS)
+            NDNBOOST_UNORDERED_EMPLACE_ARGS)
         {
             std::size_t key_hash = this->hash(k);
             iterator pos = this->find_node(key_hash, k);
@@ -406,7 +406,7 @@
             // Create the node before rehashing in case it throws an
             // exception (need strong safety in such a case).
             node_constructor a(this->node_alloc());
-            a.construct_with_value(BOOST_UNORDERED_EMPLACE_FORWARD);
+            a.construct_with_value(NDNBOOST_UNORDERED_EMPLACE_FORWARD);
     
             // reserve has basic exception safety if the hash function
             // throws, strong otherwise.
@@ -428,13 +428,13 @@
             return emplace_return(this->add_node(a, key_hash), true);
         }
 
-        template <BOOST_UNORDERED_EMPLACE_TEMPLATE>
-        emplace_return emplace_impl(no_key, BOOST_UNORDERED_EMPLACE_ARGS)
+        template <NDNBOOST_UNORDERED_EMPLACE_TEMPLATE>
+        emplace_return emplace_impl(no_key, NDNBOOST_UNORDERED_EMPLACE_ARGS)
         {
             // Don't have a key, so construct the node first in order
             // to be able to lookup the position.
             node_constructor a(this->node_alloc());
-            a.construct_with_value(BOOST_UNORDERED_EMPLACE_FORWARD);
+            a.construct_with_value(NDNBOOST_UNORDERED_EMPLACE_FORWARD);
             return emplace_impl_with_node(a);
         }
 
@@ -538,7 +538,7 @@
 
         iterator erase(c_iterator r)
         {
-            BOOST_ASSERT(r.node_);
+            NDNBOOST_ASSERT(r.node_);
             iterator next(r.node_);
             ++next;
             erase_nodes(r.node_, next.node_);
@@ -590,7 +590,7 @@
         // strong otherwise exception safety
         void rehash_impl(std::size_t num_buckets)
         {
-            BOOST_ASSERT(this->buckets_);
+            NDNBOOST_ASSERT(this->buckets_);
 
             this->create_buckets(num_buckets);
             link_pointer prev = this->get_previous_start();
diff --git a/include/ndnboost/unordered/detail/util.hpp b/include/ndnboost/unordered/detail/util.hpp
index 41f8e42..0e1db85 100644
--- a/include/ndnboost/unordered/detail/util.hpp
+++ b/include/ndnboost/unordered/detail/util.hpp
@@ -4,8 +4,8 @@
 // Distributed under the Boost Software License, Version 1.0. (See accompanying
 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 
-#ifndef BOOST_UNORDERED_DETAIL_UTIL_HPP_INCLUDED
-#define BOOST_UNORDERED_DETAIL_UTIL_HPP_INCLUDED
+#ifndef NDNBOOST_UNORDERED_DETAIL_UTIL_HPP_INCLUDED
+#define NDNBOOST_UNORDERED_DETAIL_UTIL_HPP_INCLUDED
 
 #if defined(_MSC_VER) && (_MSC_VER >= 1020)
 # pragma once
@@ -55,7 +55,7 @@
     ////////////////////////////////////////////////////////////////////////////
     // primes
 
-#define BOOST_UNORDERED_PRIMES \
+#define NDNBOOST_UNORDERED_PRIMES \
     (17ul)(29ul)(37ul)(53ul)(67ul)(79ul) \
     (97ul)(131ul)(193ul)(257ul)(389ul)(521ul)(769ul) \
     (1031ul)(1543ul)(2053ul)(3079ul)(6151ul)(12289ul)(24593ul) \
@@ -72,22 +72,22 @@
         static std::ptrdiff_t const length;
 #else
         static std::ptrdiff_t const length
-            = BOOST_PP_SEQ_SIZE(BOOST_UNORDERED_PRIMES);
+            = NDNBOOST_PP_SEQ_SIZE(NDNBOOST_UNORDERED_PRIMES);
 #endif
     };
 
     template<class T>
     std::size_t const prime_list_template<T>::value[] = {
-        BOOST_PP_SEQ_ENUM(BOOST_UNORDERED_PRIMES)
+        NDNBOOST_PP_SEQ_ENUM(NDNBOOST_UNORDERED_PRIMES)
     };
 
 #if !defined(SUNPRO_CC)
     template<class T>
     std::ptrdiff_t const prime_list_template<T>::length
-        = BOOST_PP_SEQ_SIZE(BOOST_UNORDERED_PRIMES);
+        = NDNBOOST_PP_SEQ_SIZE(NDNBOOST_UNORDERED_PRIMES);
 #endif
 
-#undef BOOST_UNORDERED_PRIMES
+#undef NDNBOOST_UNORDERED_PRIMES
 
     typedef prime_list_template<std::size_t> prime_list;
 
@@ -118,7 +118,7 @@
     ////////////////////////////////////////////////////////////////////////////
     // insert_size/initial_size
 
-#if !defined(BOOST_NO_STD_DISTANCE)
+#if !defined(NDNBOOST_NO_STD_DISTANCE)
 
     using ::std::distance;
 
@@ -189,7 +189,7 @@
     struct generate_base
       : ndnboost::detail::if_true<
             ndnboost::is_empty<T>::value
-        >:: BOOST_NESTED_TEMPLATE then<
+        >:: NDNBOOST_NESTED_TEMPLATE then<
             ndnboost::unordered::detail::compressed_base<T, Index>,
             ndnboost::unordered::detail::uncompressed_base<T, Index>
         >
diff --git a/include/ndnboost/unordered/unordered_set.hpp b/include/ndnboost/unordered/unordered_set.hpp
index 5a68be6..eb32393 100644
--- a/include/ndnboost/unordered/unordered_set.hpp
+++ b/include/ndnboost/unordered/unordered_set.hpp
@@ -6,8 +6,8 @@
 
 //  See http://www.boost.org/libs/unordered for documentation
 
-#ifndef BOOST_UNORDERED_UNORDERED_SET_HPP_INCLUDED
-#define BOOST_UNORDERED_UNORDERED_SET_HPP_INCLUDED
+#ifndef NDNBOOST_UNORDERED_UNORDERED_SET_HPP_INCLUDED
+#define NDNBOOST_UNORDERED_UNORDERED_SET_HPP_INCLUDED
 
 #if defined(_MSC_VER) && (_MSC_VER >= 1020)
 # pragma once
@@ -20,13 +20,13 @@
 #include <ndnboost/functional/hash.hpp>
 #include <ndnboost/move/move.hpp>
 
-#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
+#if !defined(NDNBOOST_NO_CXX11_HDR_INITIALIZER_LIST)
 #include <initializer_list>
 #endif
 
-#if defined(BOOST_MSVC)
+#if defined(NDNBOOST_MSVC)
 #pragma warning(push)
-#if BOOST_MSVC >= 1400
+#if NDNBOOST_MSVC >= 1400
 #pragma warning(disable:4396) //the inline specifier cannot be used when a
                               // friend declaration refers to a specialization
                               // of a function template
@@ -40,8 +40,8 @@
     template <class T, class H, class P, class A>
     class unordered_set
     {
-#if defined(BOOST_UNORDERED_USE_MOVE)
-        BOOST_COPYABLE_AND_MOVABLE(unordered_set)
+#if defined(NDNBOOST_UNORDERED_USE_MOVE)
+        NDNBOOST_COPYABLE_AND_MOVABLE(unordered_set)
 #endif
     public:
 
@@ -113,23 +113,23 @@
 
         unordered_set(unordered_set const&, allocator_type const&);
 
-#if defined(BOOST_UNORDERED_USE_MOVE)
-        unordered_set(BOOST_RV_REF(unordered_set) other)
+#if defined(NDNBOOST_UNORDERED_USE_MOVE)
+        unordered_set(NDNBOOST_RV_REF(unordered_set) other)
             : table_(other.table_, ndnboost::unordered::detail::move_tag())
         {
         }
-#elif !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
+#elif !defined(NDNBOOST_NO_CXX11_RVALUE_REFERENCES)
         unordered_set(unordered_set&& other)
             : table_(other.table_, ndnboost::unordered::detail::move_tag())
         {
         }
 #endif
 
-#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
+#if !defined(NDNBOOST_NO_CXX11_RVALUE_REFERENCES)
         unordered_set(unordered_set&&, allocator_type const&);
 #endif
 
-#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
+#if !defined(NDNBOOST_NO_CXX11_HDR_INITIALIZER_LIST)
         unordered_set(
                 std::initializer_list<value_type>,
                 size_type = ndnboost::unordered::detail::default_bucket_count,
@@ -144,14 +144,14 @@
 
         // Assign
 
-#if defined(BOOST_UNORDERED_USE_MOVE)
-        unordered_set& operator=(BOOST_COPY_ASSIGN_REF(unordered_set) x)
+#if defined(NDNBOOST_UNORDERED_USE_MOVE)
+        unordered_set& operator=(NDNBOOST_COPY_ASSIGN_REF(unordered_set) x)
         {
             table_.assign(x.table_);
             return *this;
         }
 
-        unordered_set& operator=(BOOST_RV_REF(unordered_set) x)
+        unordered_set& operator=(NDNBOOST_RV_REF(unordered_set) x)
         {
             table_.move_assign(x.table_);
             return *this;
@@ -163,7 +163,7 @@
             return *this;
         }
 
-#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
+#if !defined(NDNBOOST_NO_CXX11_RVALUE_REFERENCES)
         unordered_set& operator=(unordered_set&& x)
         {
             table_.move_assign(x.table_);
@@ -172,78 +172,78 @@
 #endif
 #endif
 
-#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
+#if !defined(NDNBOOST_NO_CXX11_HDR_INITIALIZER_LIST)
         unordered_set& operator=(std::initializer_list<value_type>);
 #endif
 
-        allocator_type get_allocator() const BOOST_NOEXCEPT
+        allocator_type get_allocator() const NDNBOOST_NOEXCEPT
         {
             return table_.node_alloc();
         }
 
         // size and capacity
 
-        bool empty() const BOOST_NOEXCEPT
+        bool empty() const NDNBOOST_NOEXCEPT
         {
             return table_.size_ == 0;
         }
 
-        size_type size() const BOOST_NOEXCEPT
+        size_type size() const NDNBOOST_NOEXCEPT
         {
             return table_.size_;
         }
 
-        size_type max_size() const BOOST_NOEXCEPT;
+        size_type max_size() const NDNBOOST_NOEXCEPT;
 
         // iterators
 
-        iterator begin() BOOST_NOEXCEPT
+        iterator begin() NDNBOOST_NOEXCEPT
         {
             return table_.begin();
         }
 
-        const_iterator begin() const BOOST_NOEXCEPT
+        const_iterator begin() const NDNBOOST_NOEXCEPT
         {
             return table_.begin();
         }
 
-        iterator end() BOOST_NOEXCEPT
+        iterator end() NDNBOOST_NOEXCEPT
         {
             return iterator();
         }
 
-        const_iterator end() const BOOST_NOEXCEPT
+        const_iterator end() const NDNBOOST_NOEXCEPT
         {
             return const_iterator();
         }
 
-        const_iterator cbegin() const BOOST_NOEXCEPT
+        const_iterator cbegin() const NDNBOOST_NOEXCEPT
         {
             return table_.begin();
         }
 
-        const_iterator cend() const BOOST_NOEXCEPT
+        const_iterator cend() const NDNBOOST_NOEXCEPT
         {
             return const_iterator();
         }
 
         // emplace
 
-#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
+#if !defined(NDNBOOST_NO_CXX11_VARIADIC_TEMPLATES)
         template <class... Args>
-        std::pair<iterator, bool> emplace(BOOST_FWD_REF(Args)... args)
+        std::pair<iterator, bool> emplace(NDNBOOST_FWD_REF(Args)... args)
         {
             return table_.emplace(ndnboost::forward<Args>(args)...);
         }
 
         template <class... Args>
-        iterator emplace_hint(const_iterator, BOOST_FWD_REF(Args)... args)
+        iterator emplace_hint(const_iterator, NDNBOOST_FWD_REF(Args)... args)
         {
             return table_.emplace(ndnboost::forward<Args>(args)...).first;
         }
 #else
 
-#if !BOOST_WORKAROUND(__SUNPRO_CC, BOOST_TESTED_AT(0x5100))
+#if !NDNBOOST_WORKAROUND(__SUNPRO_CC, NDNBOOST_TESTED_AT(0x5100))
 
         // 0 argument emplace requires special treatment in case
         // the container is instantiated with a value type that
@@ -269,7 +269,7 @@
 #endif
 
         template <typename A0>
-        std::pair<iterator, bool> emplace(BOOST_FWD_REF(A0) a0)
+        std::pair<iterator, bool> emplace(NDNBOOST_FWD_REF(A0) a0)
         {
             return table_.emplace(
                 ndnboost::unordered::detail::create_emplace_args(
@@ -278,7 +278,7 @@
         }
 
         template <typename A0>
-        iterator emplace_hint(const_iterator, BOOST_FWD_REF(A0) a0)
+        iterator emplace_hint(const_iterator, NDNBOOST_FWD_REF(A0) a0)
         {
             return table_.emplace(
                 ndnboost::unordered::detail::create_emplace_args(
@@ -288,8 +288,8 @@
 
         template <typename A0, typename A1>
         std::pair<iterator, bool> emplace(
-            BOOST_FWD_REF(A0) a0,
-            BOOST_FWD_REF(A1) a1)
+            NDNBOOST_FWD_REF(A0) a0,
+            NDNBOOST_FWD_REF(A1) a1)
         {
             return table_.emplace(
                 ndnboost::unordered::detail::create_emplace_args(
@@ -300,8 +300,8 @@
 
         template <typename A0, typename A1>
         iterator emplace_hint(const_iterator,
-            BOOST_FWD_REF(A0) a0,
-            BOOST_FWD_REF(A1) a1)
+            NDNBOOST_FWD_REF(A0) a0,
+            NDNBOOST_FWD_REF(A1) a1)
         {
             return table_.emplace(
                 ndnboost::unordered::detail::create_emplace_args(
@@ -312,9 +312,9 @@
 
         template <typename A0, typename A1, typename A2>
         std::pair<iterator, bool> emplace(
-            BOOST_FWD_REF(A0) a0,
-            BOOST_FWD_REF(A1) a1,
-            BOOST_FWD_REF(A2) a2)
+            NDNBOOST_FWD_REF(A0) a0,
+            NDNBOOST_FWD_REF(A1) a1,
+            NDNBOOST_FWD_REF(A2) a2)
         {
             return table_.emplace(
                 ndnboost::unordered::detail::create_emplace_args(
@@ -326,9 +326,9 @@
 
         template <typename A0, typename A1, typename A2>
         iterator emplace_hint(const_iterator,
-            BOOST_FWD_REF(A0) a0,
-            BOOST_FWD_REF(A1) a1,
-            BOOST_FWD_REF(A2) a2)
+            NDNBOOST_FWD_REF(A0) a0,
+            NDNBOOST_FWD_REF(A1) a1,
+            NDNBOOST_FWD_REF(A2) a2)
         {
             return table_.emplace(
                 ndnboost::unordered::detail::create_emplace_args(
@@ -338,40 +338,40 @@
             ).first;
         }
 
-#define BOOST_UNORDERED_EMPLACE(z, n, _)                                    \
+#define NDNBOOST_UNORDERED_EMPLACE(z, n, _)                                    \
             template <                                                      \
-                BOOST_PP_ENUM_PARAMS_Z(z, n, typename A)                    \
+                NDNBOOST_PP_ENUM_PARAMS_Z(z, n, typename A)                    \
             >                                                               \
             std::pair<iterator, bool> emplace(                              \
-                    BOOST_PP_ENUM_##z(n, BOOST_UNORDERED_FWD_PARAM, a)      \
+                    NDNBOOST_PP_ENUM_##z(n, NDNBOOST_UNORDERED_FWD_PARAM, a)      \
             )                                                               \
             {                                                               \
                 return table_.emplace(                                      \
                     ndnboost::unordered::detail::create_emplace_args(          \
-                        BOOST_PP_ENUM_##z(n, BOOST_UNORDERED_CALL_FORWARD,  \
+                        NDNBOOST_PP_ENUM_##z(n, NDNBOOST_UNORDERED_CALL_FORWARD,  \
                             a)                                              \
                 ));                                                         \
             }                                                               \
                                                                             \
             template <                                                      \
-                BOOST_PP_ENUM_PARAMS_Z(z, n, typename A)                    \
+                NDNBOOST_PP_ENUM_PARAMS_Z(z, n, typename A)                    \
             >                                                               \
             iterator emplace_hint(                                          \
                     const_iterator,                                         \
-                    BOOST_PP_ENUM_##z(n, BOOST_UNORDERED_FWD_PARAM, a)      \
+                    NDNBOOST_PP_ENUM_##z(n, NDNBOOST_UNORDERED_FWD_PARAM, a)      \
             )                                                               \
             {                                                               \
                 return table_.emplace(                                      \
                     ndnboost::unordered::detail::create_emplace_args(          \
-                        BOOST_PP_ENUM_##z(n, BOOST_UNORDERED_CALL_FORWARD,  \
+                        NDNBOOST_PP_ENUM_##z(n, NDNBOOST_UNORDERED_CALL_FORWARD,  \
                             a)                                              \
                 )).first;                                                   \
             }
 
-        BOOST_PP_REPEAT_FROM_TO(4, BOOST_UNORDERED_EMPLACE_LIMIT,
-            BOOST_UNORDERED_EMPLACE, _)
+        NDNBOOST_PP_REPEAT_FROM_TO(4, NDNBOOST_UNORDERED_EMPLACE_LIMIT,
+            NDNBOOST_UNORDERED_EMPLACE, _)
 
-#undef BOOST_UNORDERED_EMPLACE
+#undef NDNBOOST_UNORDERED_EMPLACE
 
 #endif
 
@@ -380,7 +380,7 @@
             return this->emplace(x);
         }
 
-        std::pair<iterator, bool> insert(BOOST_UNORDERED_RV_REF(value_type) x)
+        std::pair<iterator, bool> insert(NDNBOOST_UNORDERED_RV_REF(value_type) x)
         {
             return this->emplace(ndnboost::move(x));
         }
@@ -391,14 +391,14 @@
         }
 
         iterator insert(const_iterator hint,
-                BOOST_UNORDERED_RV_REF(value_type) x)
+                NDNBOOST_UNORDERED_RV_REF(value_type) x)
         {
             return this->emplace_hint(hint, ndnboost::move(x));
         }
 
         template <class InputIt> void insert(InputIt, InputIt);
 
-#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
+#if !defined(NDNBOOST_NO_CXX11_HDR_INITIALIZER_LIST)
         void insert(std::initializer_list<value_type>);
 #endif
 
@@ -434,12 +434,12 @@
 
         // bucket interface
 
-        size_type bucket_count() const BOOST_NOEXCEPT
+        size_type bucket_count() const NDNBOOST_NOEXCEPT
         {
             return table_.bucket_count_;
         }
 
-        size_type max_bucket_count() const BOOST_NOEXCEPT
+        size_type max_bucket_count() const NDNBOOST_NOEXCEPT
         {
             return table_.max_bucket_count();
         }
@@ -486,17 +486,17 @@
 
         // hash policy
 
-        float max_load_factor() const BOOST_NOEXCEPT
+        float max_load_factor() const NDNBOOST_NOEXCEPT
         {
             return table_.mlf_;
         }
 
-        float load_factor() const BOOST_NOEXCEPT;
-        void max_load_factor(float) BOOST_NOEXCEPT;
+        float load_factor() const NDNBOOST_NOEXCEPT;
+        void max_load_factor(float) NDNBOOST_NOEXCEPT;
         void rehash(size_type);
         void reserve(size_type);
 
-#if !BOOST_WORKAROUND(__BORLANDC__, < 0x0582)
+#if !NDNBOOST_WORKAROUND(__BORLANDC__, < 0x0582)
         friend bool operator==<T,H,P,A>(
                 unordered_set const&, unordered_set const&);
         friend bool operator!=<T,H,P,A>(
@@ -507,8 +507,8 @@
     template <class T, class H, class P, class A>
     class unordered_multiset
     {
-#if defined(BOOST_UNORDERED_USE_MOVE)
-        BOOST_COPYABLE_AND_MOVABLE(unordered_multiset)
+#if defined(NDNBOOST_UNORDERED_USE_MOVE)
+        NDNBOOST_COPYABLE_AND_MOVABLE(unordered_multiset)
 #endif
     public:
 
@@ -580,23 +580,23 @@
 
         unordered_multiset(unordered_multiset const&, allocator_type const&);
 
-#if defined(BOOST_UNORDERED_USE_MOVE)
-        unordered_multiset(BOOST_RV_REF(unordered_multiset) other)
+#if defined(NDNBOOST_UNORDERED_USE_MOVE)
+        unordered_multiset(NDNBOOST_RV_REF(unordered_multiset) other)
             : table_(other.table_, ndnboost::unordered::detail::move_tag())
         {
         }
-#elif !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
+#elif !defined(NDNBOOST_NO_CXX11_RVALUE_REFERENCES)
         unordered_multiset(unordered_multiset&& other)
             : table_(other.table_, ndnboost::unordered::detail::move_tag())
         {
         }
 #endif
 
-#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
+#if !defined(NDNBOOST_NO_CXX11_RVALUE_REFERENCES)
         unordered_multiset(unordered_multiset&&, allocator_type const&);
 #endif
 
-#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
+#if !defined(NDNBOOST_NO_CXX11_HDR_INITIALIZER_LIST)
         unordered_multiset(
                 std::initializer_list<value_type>,
                 size_type = ndnboost::unordered::detail::default_bucket_count,
@@ -611,15 +611,15 @@
 
         // Assign
 
-#if defined(BOOST_UNORDERED_USE_MOVE)
+#if defined(NDNBOOST_UNORDERED_USE_MOVE)
         unordered_multiset& operator=(
-                BOOST_COPY_ASSIGN_REF(unordered_multiset) x)
+                NDNBOOST_COPY_ASSIGN_REF(unordered_multiset) x)
         {
             table_.assign(x.table_);
             return *this;
         }
 
-        unordered_multiset& operator=(BOOST_RV_REF(unordered_multiset) x)
+        unordered_multiset& operator=(NDNBOOST_RV_REF(unordered_multiset) x)
         {
             table_.move_assign(x.table_);
             return *this;
@@ -631,7 +631,7 @@
             return *this;
         }
 
-#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
+#if !defined(NDNBOOST_NO_CXX11_RVALUE_REFERENCES)
         unordered_multiset& operator=(unordered_multiset&& x)
         {
             table_.move_assign(x.table_);
@@ -640,78 +640,78 @@
 #endif
 #endif
 
-#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
+#if !defined(NDNBOOST_NO_CXX11_HDR_INITIALIZER_LIST)
         unordered_multiset& operator=(std::initializer_list<value_type>);
 #endif
 
-        allocator_type get_allocator() const BOOST_NOEXCEPT
+        allocator_type get_allocator() const NDNBOOST_NOEXCEPT
         {
             return table_.node_alloc();
         }
 
         // size and capacity
 
-        bool empty() const BOOST_NOEXCEPT
+        bool empty() const NDNBOOST_NOEXCEPT
         {
             return table_.size_ == 0;
         }
 
-        size_type size() const BOOST_NOEXCEPT
+        size_type size() const NDNBOOST_NOEXCEPT
         {
             return table_.size_;
         }
 
-        size_type max_size() const BOOST_NOEXCEPT;
+        size_type max_size() const NDNBOOST_NOEXCEPT;
 
         // iterators
 
-        iterator begin() BOOST_NOEXCEPT
+        iterator begin() NDNBOOST_NOEXCEPT
         {
             return iterator(table_.begin());
         }
 
-        const_iterator begin() const BOOST_NOEXCEPT
+        const_iterator begin() const NDNBOOST_NOEXCEPT
         {
             return const_iterator(table_.begin());
         }
 
-        iterator end() BOOST_NOEXCEPT
+        iterator end() NDNBOOST_NOEXCEPT
         {
             return iterator();
         }
 
-        const_iterator end() const BOOST_NOEXCEPT
+        const_iterator end() const NDNBOOST_NOEXCEPT
         {
             return const_iterator();
         }
 
-        const_iterator cbegin() const BOOST_NOEXCEPT
+        const_iterator cbegin() const NDNBOOST_NOEXCEPT
         {
             return const_iterator(table_.begin());
         }
 
-        const_iterator cend() const BOOST_NOEXCEPT
+        const_iterator cend() const NDNBOOST_NOEXCEPT
         {
             return const_iterator();
         }
 
         // emplace
 
-#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
+#if !defined(NDNBOOST_NO_CXX11_VARIADIC_TEMPLATES)
         template <class... Args>
-        iterator emplace(BOOST_FWD_REF(Args)... args)
+        iterator emplace(NDNBOOST_FWD_REF(Args)... args)
         {
             return table_.emplace(ndnboost::forward<Args>(args)...);
         }
 
         template <class... Args>
-        iterator emplace_hint(const_iterator, BOOST_FWD_REF(Args)... args)
+        iterator emplace_hint(const_iterator, NDNBOOST_FWD_REF(Args)... args)
         {
             return table_.emplace(ndnboost::forward<Args>(args)...);
         }
 #else
 
-#if !BOOST_WORKAROUND(__SUNPRO_CC, BOOST_TESTED_AT(0x5100))
+#if !NDNBOOST_WORKAROUND(__SUNPRO_CC, NDNBOOST_TESTED_AT(0x5100))
 
         // 0 argument emplace requires special treatment in case
         // the container is instantiated with a value type that
@@ -737,7 +737,7 @@
 #endif
 
         template <typename A0>
-        iterator emplace(BOOST_FWD_REF(A0) a0)
+        iterator emplace(NDNBOOST_FWD_REF(A0) a0)
         {
             return table_.emplace(
                 ndnboost::unordered::detail::create_emplace_args(
@@ -746,7 +746,7 @@
         }
 
         template <typename A0>
-        iterator emplace_hint(const_iterator, BOOST_FWD_REF(A0) a0)
+        iterator emplace_hint(const_iterator, NDNBOOST_FWD_REF(A0) a0)
         {
             return table_.emplace(
                 ndnboost::unordered::detail::create_emplace_args(
@@ -756,8 +756,8 @@
 
         template <typename A0, typename A1>
         iterator emplace(
-            BOOST_FWD_REF(A0) a0,
-            BOOST_FWD_REF(A1) a1)
+            NDNBOOST_FWD_REF(A0) a0,
+            NDNBOOST_FWD_REF(A1) a1)
         {
             return table_.emplace(
                 ndnboost::unordered::detail::create_emplace_args(
@@ -768,8 +768,8 @@
 
         template <typename A0, typename A1>
         iterator emplace_hint(const_iterator,
-            BOOST_FWD_REF(A0) a0,
-            BOOST_FWD_REF(A1) a1)
+            NDNBOOST_FWD_REF(A0) a0,
+            NDNBOOST_FWD_REF(A1) a1)
         {
             return table_.emplace(
                 ndnboost::unordered::detail::create_emplace_args(
@@ -780,9 +780,9 @@
 
         template <typename A0, typename A1, typename A2>
         iterator emplace(
-            BOOST_FWD_REF(A0) a0,
-            BOOST_FWD_REF(A1) a1,
-            BOOST_FWD_REF(A2) a2)
+            NDNBOOST_FWD_REF(A0) a0,
+            NDNBOOST_FWD_REF(A1) a1,
+            NDNBOOST_FWD_REF(A2) a2)
         {
             return table_.emplace(
                 ndnboost::unordered::detail::create_emplace_args(
@@ -794,9 +794,9 @@
 
         template <typename A0, typename A1, typename A2>
         iterator emplace_hint(const_iterator,
-            BOOST_FWD_REF(A0) a0,
-            BOOST_FWD_REF(A1) a1,
-            BOOST_FWD_REF(A2) a2)
+            NDNBOOST_FWD_REF(A0) a0,
+            NDNBOOST_FWD_REF(A1) a1,
+            NDNBOOST_FWD_REF(A2) a2)
         {
             return table_.emplace(
                 ndnboost::unordered::detail::create_emplace_args(
@@ -806,40 +806,40 @@
             );
         }
 
-#define BOOST_UNORDERED_EMPLACE(z, n, _)                                    \
+#define NDNBOOST_UNORDERED_EMPLACE(z, n, _)                                    \
             template <                                                      \
-                BOOST_PP_ENUM_PARAMS_Z(z, n, typename A)                    \
+                NDNBOOST_PP_ENUM_PARAMS_Z(z, n, typename A)                    \
             >                                                               \
             iterator emplace(                                               \
-                    BOOST_PP_ENUM_##z(n, BOOST_UNORDERED_FWD_PARAM, a)      \
+                    NDNBOOST_PP_ENUM_##z(n, NDNBOOST_UNORDERED_FWD_PARAM, a)      \
             )                                                               \
             {                                                               \
                 return table_.emplace(                                      \
                     ndnboost::unordered::detail::create_emplace_args(          \
-                        BOOST_PP_ENUM_##z(n, BOOST_UNORDERED_CALL_FORWARD,  \
+                        NDNBOOST_PP_ENUM_##z(n, NDNBOOST_UNORDERED_CALL_FORWARD,  \
                             a)                                              \
                 ));                                                         \
             }                                                               \
                                                                             \
             template <                                                      \
-                BOOST_PP_ENUM_PARAMS_Z(z, n, typename A)                    \
+                NDNBOOST_PP_ENUM_PARAMS_Z(z, n, typename A)                    \
             >                                                               \
             iterator emplace_hint(                                          \
                     const_iterator,                                         \
-                    BOOST_PP_ENUM_##z(n, BOOST_UNORDERED_FWD_PARAM, a)      \
+                    NDNBOOST_PP_ENUM_##z(n, NDNBOOST_UNORDERED_FWD_PARAM, a)      \
             )                                                               \
             {                                                               \
                 return table_.emplace(                                      \
                     ndnboost::unordered::detail::create_emplace_args(          \
-                        BOOST_PP_ENUM_##z(n, BOOST_UNORDERED_CALL_FORWARD,  \
+                        NDNBOOST_PP_ENUM_##z(n, NDNBOOST_UNORDERED_CALL_FORWARD,  \
                             a)                                              \
                 ));                                                         \
             }
 
-        BOOST_PP_REPEAT_FROM_TO(4, BOOST_UNORDERED_EMPLACE_LIMIT,
-            BOOST_UNORDERED_EMPLACE, _)
+        NDNBOOST_PP_REPEAT_FROM_TO(4, NDNBOOST_UNORDERED_EMPLACE_LIMIT,
+            NDNBOOST_UNORDERED_EMPLACE, _)
 
-#undef BOOST_UNORDERED_EMPLACE
+#undef NDNBOOST_UNORDERED_EMPLACE
 
 #endif
 
@@ -848,7 +848,7 @@
             return this->emplace(x);
         }
 
-        iterator insert(BOOST_UNORDERED_RV_REF(value_type) x)
+        iterator insert(NDNBOOST_UNORDERED_RV_REF(value_type) x)
         {
             return this->emplace(ndnboost::move(x));
         }
@@ -859,14 +859,14 @@
         }
 
         iterator insert(const_iterator hint,
-                BOOST_UNORDERED_RV_REF(value_type) x)
+                NDNBOOST_UNORDERED_RV_REF(value_type) x)
         {
             return this->emplace_hint(hint, ndnboost::move(x));
         }
 
         template <class InputIt> void insert(InputIt, InputIt);
 
-#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
+#if !defined(NDNBOOST_NO_CXX11_HDR_INITIALIZER_LIST)
         void insert(std::initializer_list<value_type>);
 #endif
 
@@ -902,12 +902,12 @@
 
         // bucket interface
 
-        size_type bucket_count() const BOOST_NOEXCEPT
+        size_type bucket_count() const NDNBOOST_NOEXCEPT
         {
             return table_.bucket_count_;
         }
 
-        size_type max_bucket_count() const BOOST_NOEXCEPT
+        size_type max_bucket_count() const NDNBOOST_NOEXCEPT
         {
             return table_.max_bucket_count();
         }
@@ -954,17 +954,17 @@
 
         // hash policy
 
-        float max_load_factor() const BOOST_NOEXCEPT
+        float max_load_factor() const NDNBOOST_NOEXCEPT
         {
             return table_.mlf_;
         }
 
-        float load_factor() const BOOST_NOEXCEPT;
-        void max_load_factor(float) BOOST_NOEXCEPT;
+        float load_factor() const NDNBOOST_NOEXCEPT;
+        void max_load_factor(float) NDNBOOST_NOEXCEPT;
         void rehash(size_type);
         void reserve(size_type);
 
-#if !BOOST_WORKAROUND(__BORLANDC__, < 0x0582)
+#if !NDNBOOST_WORKAROUND(__BORLANDC__, < 0x0582)
         friend bool operator==<T,H,P,A>(
                 unordered_multiset const&, unordered_multiset const&);
         friend bool operator!=<T,H,P,A>(
@@ -1041,7 +1041,7 @@
     {
     }
 
-#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
+#if !defined(NDNBOOST_NO_CXX11_RVALUE_REFERENCES)
 
     template <class T, class H, class P, class A>
     unordered_set<T,H,P,A>::unordered_set(
@@ -1052,7 +1052,7 @@
 
 #endif
 
-#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
+#if !defined(NDNBOOST_NO_CXX11_HDR_INITIALIZER_LIST)
 
     template <class T, class H, class P, class A>
     unordered_set<T,H,P,A>::unordered_set(
@@ -1080,7 +1080,7 @@
     // size and capacity
 
     template <class T, class H, class P, class A>
-    std::size_t unordered_set<T,H,P,A>::max_size() const BOOST_NOEXCEPT
+    std::size_t unordered_set<T,H,P,A>::max_size() const NDNBOOST_NOEXCEPT
     {
         return table_.max_size();
     }
@@ -1094,7 +1094,7 @@
         table_.insert_range(first, last);
     }
 
-#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
+#if !defined(NDNBOOST_NO_CXX11_HDR_INITIALIZER_LIST)
     template <class T, class H, class P, class A>
     void unordered_set<T,H,P,A>::insert(
             std::initializer_list<value_type> list)
@@ -1200,13 +1200,13 @@
     // hash policy
 
     template <class T, class H, class P, class A>
-    float unordered_set<T,H,P,A>::load_factor() const BOOST_NOEXCEPT
+    float unordered_set<T,H,P,A>::load_factor() const NDNBOOST_NOEXCEPT
     {
         return table_.load_factor();
     }
 
     template <class T, class H, class P, class A>
-    void unordered_set<T,H,P,A>::max_load_factor(float m) BOOST_NOEXCEPT
+    void unordered_set<T,H,P,A>::max_load_factor(float m) NDNBOOST_NOEXCEPT
     {
         table_.max_load_factor(m);
     }
@@ -1228,7 +1228,7 @@
             unordered_set<T,H,P,A> const& m1,
             unordered_set<T,H,P,A> const& m2)
     {
-#if BOOST_WORKAROUND(__CODEGEARC__, BOOST_TESTED_AT(0x0613))
+#if NDNBOOST_WORKAROUND(__CODEGEARC__, NDNBOOST_TESTED_AT(0x0613))
         struct dummy { unordered_set<T,H,P,A> x; };
 #endif
         return m1.table_.equals(m2.table_);
@@ -1239,7 +1239,7 @@
             unordered_set<T,H,P,A> const& m1,
             unordered_set<T,H,P,A> const& m2)
     {
-#if BOOST_WORKAROUND(__CODEGEARC__, BOOST_TESTED_AT(0x0613))
+#if NDNBOOST_WORKAROUND(__CODEGEARC__, NDNBOOST_TESTED_AT(0x0613))
         struct dummy { unordered_set<T,H,P,A> x; };
 #endif
         return !m1.table_.equals(m2.table_);
@@ -1250,7 +1250,7 @@
             unordered_set<T,H,P,A> &m1,
             unordered_set<T,H,P,A> &m2)
     {
-#if BOOST_WORKAROUND(__CODEGEARC__, BOOST_TESTED_AT(0x0613))
+#if NDNBOOST_WORKAROUND(__CODEGEARC__, NDNBOOST_TESTED_AT(0x0613))
         struct dummy { unordered_set<T,H,P,A> x; };
 #endif
         m1.swap(m2);
@@ -1325,7 +1325,7 @@
     {
     }
 
-#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
+#if !defined(NDNBOOST_NO_CXX11_RVALUE_REFERENCES)
 
     template <class T, class H, class P, class A>
     unordered_multiset<T,H,P,A>::unordered_multiset(
@@ -1336,7 +1336,7 @@
 
 #endif
 
-#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
+#if !defined(NDNBOOST_NO_CXX11_HDR_INITIALIZER_LIST)
 
     template <class T, class H, class P, class A>
     unordered_multiset<T,H,P,A>::unordered_multiset(
@@ -1364,7 +1364,7 @@
     // size and capacity
 
     template <class T, class H, class P, class A>
-    std::size_t unordered_multiset<T,H,P,A>::max_size() const BOOST_NOEXCEPT
+    std::size_t unordered_multiset<T,H,P,A>::max_size() const NDNBOOST_NOEXCEPT
     {
         return table_.max_size();
     }
@@ -1378,7 +1378,7 @@
         table_.insert_range(first, last);
     }
 
-#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
+#if !defined(NDNBOOST_NO_CXX11_HDR_INITIALIZER_LIST)
     template <class T, class H, class P, class A>
     void unordered_multiset<T,H,P,A>::insert(
             std::initializer_list<value_type> list)
@@ -1484,13 +1484,13 @@
     // hash policy
 
     template <class T, class H, class P, class A>
-    float unordered_multiset<T,H,P,A>::load_factor() const BOOST_NOEXCEPT
+    float unordered_multiset<T,H,P,A>::load_factor() const NDNBOOST_NOEXCEPT
     {
         return table_.load_factor();
     }
 
     template <class T, class H, class P, class A>
-    void unordered_multiset<T,H,P,A>::max_load_factor(float m) BOOST_NOEXCEPT
+    void unordered_multiset<T,H,P,A>::max_load_factor(float m) NDNBOOST_NOEXCEPT
     {
         table_.max_load_factor(m);
     }
@@ -1512,7 +1512,7 @@
             unordered_multiset<T,H,P,A> const& m1,
             unordered_multiset<T,H,P,A> const& m2)
     {
-#if BOOST_WORKAROUND(__CODEGEARC__, BOOST_TESTED_AT(0x0613))
+#if NDNBOOST_WORKAROUND(__CODEGEARC__, NDNBOOST_TESTED_AT(0x0613))
         struct dummy { unordered_multiset<T,H,P,A> x; };
 #endif
         return m1.table_.equals(m2.table_);
@@ -1523,7 +1523,7 @@
             unordered_multiset<T,H,P,A> const& m1,
             unordered_multiset<T,H,P,A> const& m2)
     {
-#if BOOST_WORKAROUND(__CODEGEARC__, BOOST_TESTED_AT(0x0613))
+#if NDNBOOST_WORKAROUND(__CODEGEARC__, NDNBOOST_TESTED_AT(0x0613))
         struct dummy { unordered_multiset<T,H,P,A> x; };
 #endif
         return !m1.table_.equals(m2.table_);
@@ -1534,7 +1534,7 @@
             unordered_multiset<T,H,P,A> &m1,
             unordered_multiset<T,H,P,A> &m2)
     {
-#if BOOST_WORKAROUND(__CODEGEARC__, BOOST_TESTED_AT(0x0613))
+#if NDNBOOST_WORKAROUND(__CODEGEARC__, NDNBOOST_TESTED_AT(0x0613))
         struct dummy { unordered_multiset<T,H,P,A> x; };
 #endif
         m1.swap(m2);
@@ -1542,8 +1542,8 @@
 } // namespace unordered
 } // namespace ndnboost
 
-#if defined(BOOST_MSVC)
+#if defined(NDNBOOST_MSVC)
 #pragma warning(pop)
 #endif
 
-#endif // BOOST_UNORDERED_UNORDERED_SET_HPP_INCLUDED
+#endif // NDNBOOST_UNORDERED_UNORDERED_SET_HPP_INCLUDED
diff --git a/include/ndnboost/unordered/unordered_set_fwd.hpp b/include/ndnboost/unordered/unordered_set_fwd.hpp
index 622f837..7e1a653 100644
--- a/include/ndnboost/unordered/unordered_set_fwd.hpp
+++ b/include/ndnboost/unordered/unordered_set_fwd.hpp
@@ -3,8 +3,8 @@
 // Distributed under the Boost Software License, Version 1.0. (See accompanying
 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 
-#ifndef BOOST_UNORDERED_SET_FWD_HPP_INCLUDED
-#define BOOST_UNORDERED_SET_FWD_HPP_INCLUDED
+#ifndef NDNBOOST_UNORDERED_SET_FWD_HPP_INCLUDED
+#define NDNBOOST_UNORDERED_SET_FWD_HPP_INCLUDED
 
 #if defined(_MSC_VER) && (_MSC_VER >= 1020)
 # pragma once
diff --git a/include/ndnboost/unordered_set.hpp b/include/ndnboost/unordered_set.hpp
index 76a462d..3ce85ee 100644
--- a/include/ndnboost/unordered_set.hpp
+++ b/include/ndnboost/unordered_set.hpp
@@ -6,8 +6,8 @@
 
 //  See http://www.boost.org/libs/unordered for documentation
 
-#ifndef BOOST_UNORDERED_SET_HPP_INCLUDED
-#define BOOST_UNORDERED_SET_HPP_INCLUDED
+#ifndef NDNBOOST_UNORDERED_SET_HPP_INCLUDED
+#define NDNBOOST_UNORDERED_SET_HPP_INCLUDED
 
 #if defined(_MSC_VER) && (_MSC_VER >= 1020)
 # pragma once
@@ -15,4 +15,4 @@
 
 #include <ndnboost/unordered/unordered_set.hpp>
 
-#endif // BOOST_UNORDERED_SET_HPP_INCLUDED
+#endif // NDNBOOST_UNORDERED_SET_HPP_INCLUDED
diff --git a/include/ndnboost/utility.hpp b/include/ndnboost/utility.hpp
index 7e3e60e..883f0ec 100644
--- a/include/ndnboost/utility.hpp
+++ b/include/ndnboost/utility.hpp
@@ -6,8 +6,8 @@
 
 //  See <http://www.boost.org/libs/utility/> for the library's home page.
 
-#ifndef BOOST_UTILITY_HPP
-#define BOOST_UTILITY_HPP
+#ifndef NDNBOOST_UTILITY_HPP
+#define NDNBOOST_UTILITY_HPP
 
 #include <ndnboost/utility/addressof.hpp>
 #include <ndnboost/utility/base_from_member.hpp>
@@ -18,4 +18,4 @@
 #include <ndnboost/next_prior.hpp>
 #include <ndnboost/noncopyable.hpp>
 
-#endif  // BOOST_UTILITY_HPP
+#endif  // NDNBOOST_UTILITY_HPP
diff --git a/include/ndnboost/utility/addressof.hpp b/include/ndnboost/utility/addressof.hpp
index 20d5b8c..296fbad 100644
--- a/include/ndnboost/utility/addressof.hpp
+++ b/include/ndnboost/utility/addressof.hpp
@@ -9,8 +9,8 @@
 
 // For more information, see http://www.boost.org
 
-#ifndef BOOST_UTILITY_ADDRESSOF_HPP
-# define BOOST_UTILITY_ADDRESSOF_HPP
+#ifndef NDNBOOST_UTILITY_ADDRESSOF_HPP
+# define NDNBOOST_UTILITY_ADDRESSOF_HPP
 
 # include <ndnboost/config.hpp>
 # include <ndnboost/detail/workaround.hpp>
@@ -50,7 +50,7 @@
 
 template<class T> T * addressof( T & v )
 {
-#if (defined( __BORLANDC__ ) && BOOST_WORKAROUND( __BORLANDC__, BOOST_TESTED_AT( 0x610 ) ) ) || defined( __SUNPRO_CC )
+#if (defined( __BORLANDC__ ) && NDNBOOST_WORKAROUND( __BORLANDC__, NDNBOOST_TESTED_AT( 0x610 ) ) ) || defined( __SUNPRO_CC )
 
     return ndnboost::detail::addressof_impl<T>::f( v, 0 );
 
@@ -61,7 +61,7 @@
 #endif
 }
 
-#if defined( __SUNPRO_CC ) && BOOST_WORKAROUND( __SUNPRO_CC, BOOST_TESTED_AT( 0x590 ) )
+#if defined( __SUNPRO_CC ) && NDNBOOST_WORKAROUND( __SUNPRO_CC, NDNBOOST_TESTED_AT( 0x590 ) )
 
 namespace detail
 {
@@ -83,7 +83,7 @@
 
 // Borland doesn't like casting an array reference to a char reference
 // but these overloads work around the problem.
-#if defined( __BORLANDC__ ) && BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
+#if defined( __BORLANDC__ ) && NDNBOOST_WORKAROUND(__BORLANDC__, NDNBOOST_TESTED_AT(0x564))
 template<typename T,std::size_t N>
 T (*addressof(T (&t)[N]))[N]
 {
@@ -99,4 +99,4 @@
 
 } // namespace ndnboost
 
-#endif // BOOST_UTILITY_ADDRESSOF_HPP
+#endif // NDNBOOST_UTILITY_ADDRESSOF_HPP
diff --git a/include/ndnboost/utility/base_from_member.hpp b/include/ndnboost/utility/base_from_member.hpp
index 7091f02..899bd37 100644
--- a/include/ndnboost/utility/base_from_member.hpp
+++ b/include/ndnboost/utility/base_from_member.hpp
@@ -7,8 +7,8 @@
 
 //  See <http://www.boost.org/libs/utility/> for the library's home page.
 
-#ifndef BOOST_UTILITY_BASE_FROM_MEMBER_HPP
-#define BOOST_UTILITY_BASE_FROM_MEMBER_HPP
+#ifndef NDNBOOST_UTILITY_BASE_FROM_MEMBER_HPP
+#define NDNBOOST_UTILITY_BASE_FROM_MEMBER_HPP
 
 #include <ndnboost/preprocessor/arithmetic/inc.hpp>
 #include <ndnboost/preprocessor/repetition/enum_binary_params.hpp>
@@ -28,8 +28,8 @@
 
 // Contributed by Jonathan Turkanis
 
-#ifndef BOOST_BASE_FROM_MEMBER_MAX_ARITY
-#define BOOST_BASE_FROM_MEMBER_MAX_ARITY  10
+#ifndef NDNBOOST_BASE_FROM_MEMBER_MAX_ARITY
+#define NDNBOOST_BASE_FROM_MEMBER_MAX_ARITY  10
 #endif
 
 
@@ -42,10 +42,10 @@
 //         {}
 // This macro should only persist within this file.
 
-#define BOOST_PRIVATE_CTR_DEF( z, n, data )                            \
-    template < BOOST_PP_ENUM_PARAMS(n, typename T) >                   \
-    explicit base_from_member( BOOST_PP_ENUM_BINARY_PARAMS(n, T, x) )  \
-        : member( BOOST_PP_ENUM_PARAMS(n, x) )                         \
+#define NDNBOOST_PRIVATE_CTR_DEF( z, n, data )                            \
+    template < NDNBOOST_PP_ENUM_PARAMS(n, typename T) >                   \
+    explicit base_from_member( NDNBOOST_PP_ENUM_BINARY_PARAMS(n, T, x) )  \
+        : member( NDNBOOST_PP_ENUM_PARAMS(n, x) )                         \
         {}                                                             \
     /**/
 
@@ -72,8 +72,8 @@
         : member()
         {}
 
-    BOOST_PP_REPEAT_FROM_TO( 1, BOOST_PP_INC(BOOST_BASE_FROM_MEMBER_MAX_ARITY),
-     BOOST_PRIVATE_CTR_DEF, _ )
+    NDNBOOST_PP_REPEAT_FROM_TO( 1, NDNBOOST_PP_INC(NDNBOOST_BASE_FROM_MEMBER_MAX_ARITY),
+     NDNBOOST_PRIVATE_CTR_DEF, _ )
 
 };  // ndnboost::base_from_member
 
@@ -81,7 +81,7 @@
 
 
 // Undo any private macros
-#undef BOOST_PRIVATE_CTR_DEF
+#undef NDNBOOST_PRIVATE_CTR_DEF
 
 
-#endif  // BOOST_UTILITY_BASE_FROM_MEMBER_HPP
+#endif  // NDNBOOST_UTILITY_BASE_FROM_MEMBER_HPP
diff --git a/include/ndnboost/utility/binary.hpp b/include/ndnboost/utility/binary.hpp
index 4ea209f..e841afa 100644
--- a/include/ndnboost/utility/binary.hpp
+++ b/include/ndnboost/utility/binary.hpp
@@ -6,8 +6,8 @@
     http://www.boost.org/LICENSE_1_0.txt)
 ==============================================================================*/
 
-#ifndef BOOST_UTILITY_BINARY_HPP
-#define BOOST_UTILITY_BINARY_HPP
+#ifndef NDNBOOST_UTILITY_BINARY_HPP
+#define NDNBOOST_UTILITY_BINARY_HPP
 
 /*=============================================================================
 
@@ -33,676 +33,676 @@
 #include <ndnboost/preprocessor/facilities/empty.hpp>
 #include <ndnboost/preprocessor/control/while.hpp>
 
-#define BOOST_BINARY( bit_groupings )                                          \
-  BOOST_BINARY_LITERAL_D( BOOST_PP_DEDUCE_D(), bit_groupings ) 
+#define NDNBOOST_BINARY( bit_groupings )                                          \
+  NDNBOOST_BINARY_LITERAL_D( NDNBOOST_PP_DEDUCE_D(), bit_groupings ) 
 
-#define BOOST_BINARY_U( bit_groupings )                                        \
-  BOOST_SUFFIXED_BINARY_LITERAL( bit_groupings, U ) 
+#define NDNBOOST_BINARY_U( bit_groupings )                                        \
+  NDNBOOST_SUFFIXED_BINARY_LITERAL( bit_groupings, U ) 
 
-#define BOOST_BINARY_L( bit_groupings )                                        \
-  BOOST_SUFFIXED_BINARY_LITERAL( bit_groupings, L ) 
+#define NDNBOOST_BINARY_L( bit_groupings )                                        \
+  NDNBOOST_SUFFIXED_BINARY_LITERAL( bit_groupings, L ) 
 
-#define BOOST_BINARY_UL( bit_groupings )                                       \
-  BOOST_SUFFIXED_BINARY_LITERAL( bit_groupings, UL ) 
+#define NDNBOOST_BINARY_UL( bit_groupings )                                       \
+  NDNBOOST_SUFFIXED_BINARY_LITERAL( bit_groupings, UL ) 
 
-#define BOOST_BINARY_LU( bit_groupings )                                       \
-  BOOST_SUFFIXED_BINARY_LITERAL( bit_groupings, LU ) 
+#define NDNBOOST_BINARY_LU( bit_groupings )                                       \
+  NDNBOOST_SUFFIXED_BINARY_LITERAL( bit_groupings, LU ) 
 
-#define BOOST_BINARY_LL( bit_groupings )                                       \
-  BOOST_SUFFIXED_BINARY_LITERAL( bit_groupings, LL ) 
+#define NDNBOOST_BINARY_LL( bit_groupings )                                       \
+  NDNBOOST_SUFFIXED_BINARY_LITERAL( bit_groupings, LL ) 
 
-#define BOOST_BINARY_ULL( bit_groupings )                                      \
-  BOOST_SUFFIXED_BINARY_LITERAL( bit_groupings, ULL ) 
+#define NDNBOOST_BINARY_ULL( bit_groupings )                                      \
+  NDNBOOST_SUFFIXED_BINARY_LITERAL( bit_groupings, ULL ) 
 
-#define BOOST_BINARY_LLU( bit_groupings )                                      \
-  BOOST_SUFFIXED_BINARY_LITERAL( bit_groupings, LLU ) 
+#define NDNBOOST_BINARY_LLU( bit_groupings )                                      \
+  NDNBOOST_SUFFIXED_BINARY_LITERAL( bit_groupings, LLU ) 
 
-#define BOOST_SUFFIXED_BINARY_LITERAL( bit_groupings, suffix )                 \
-  BOOST_SUFFIXED_BINARY_LITERAL_D( BOOST_PP_DEDUCE_D(), bit_groupings, suffix ) 
+#define NDNBOOST_SUFFIXED_BINARY_LITERAL( bit_groupings, suffix )                 \
+  NDNBOOST_SUFFIXED_BINARY_LITERAL_D( NDNBOOST_PP_DEDUCE_D(), bit_groupings, suffix ) 
 
-#define BOOST_SUFFIXED_BINARY_LITERAL_D( d, bit_groupings, suffix )            \
-  BOOST_PP_CAT( BOOST_BINARY_LITERAL_D( d, bit_groupings ), suffix ) 
+#define NDNBOOST_SUFFIXED_BINARY_LITERAL_D( d, bit_groupings, suffix )            \
+  NDNBOOST_PP_CAT( NDNBOOST_BINARY_LITERAL_D( d, bit_groupings ), suffix ) 
 
-#define BOOST_BINARY_LITERAL_D( d, bit_groupings )                             \
-  BOOST_PP_SEQ_CAT                                                             \
-  ( (0) BOOST_DETAIL_CREATE_BINARY_LITERAL_OCTAL_SEQUENCE( d, bit_groupings )  \
+#define NDNBOOST_BINARY_LITERAL_D( d, bit_groupings )                             \
+  NDNBOOST_PP_SEQ_CAT                                                             \
+  ( (0) NDNBOOST_DETAIL_CREATE_BINARY_LITERAL_OCTAL_SEQUENCE( d, bit_groupings )  \
   ) 
 
-#define BOOST_DETAIL_CREATE_BINARY_LITERAL_OCTAL_SEQUENCE( d, bit_groupings )  \
-  BOOST_PP_SEQ_TRANSFORM                                                       \
-  ( BOOST_DETAIL_TRIPLE_TO_OCTAL_OPERATION                                     \
-  , BOOST_PP_NIL                                                               \
-  , BOOST_PP_IDENTITY( BOOST_DETAIL_CONVERT_BIT_SEQUENCE_TO_TRIPLE_SEQUENCE )()\
-    ( BOOST_DETAIL_COMPLETE_TRIPLE_SEQUENCE                                    \
+#define NDNBOOST_DETAIL_CREATE_BINARY_LITERAL_OCTAL_SEQUENCE( d, bit_groupings )  \
+  NDNBOOST_PP_SEQ_TRANSFORM                                                       \
+  ( NDNBOOST_DETAIL_TRIPLE_TO_OCTAL_OPERATION                                     \
+  , NDNBOOST_PP_NIL                                                               \
+  , NDNBOOST_PP_IDENTITY( NDNBOOST_DETAIL_CONVERT_BIT_SEQUENCE_TO_TRIPLE_SEQUENCE )()\
+    ( NDNBOOST_DETAIL_COMPLETE_TRIPLE_SEQUENCE                                    \
       (                                                                        \
         d                                                                      \
-      , BOOST_DETAIL_CREATE_BINARY_LITERAL_BIT_SEQUENCE( d, bit_groupings )    \
+      , NDNBOOST_DETAIL_CREATE_BINARY_LITERAL_BIT_SEQUENCE( d, bit_groupings )    \
       )                                                                        \
     )                                                                          \
   ) 
 
-#define BOOST_DETAIL_CONVERT_BIT_SEQUENCE_TO_TRIPLE_SEQUENCE( bit_sequence )   \
-  BOOST_PP_CAT                                                                 \
-  ( BOOST_DETAIL_CONVERT_BIT_SEQUENCE_TO_PARENTHETIC_TUPLE_1 bit_sequence      \
+#define NDNBOOST_DETAIL_CONVERT_BIT_SEQUENCE_TO_TRIPLE_SEQUENCE( bit_sequence )   \
+  NDNBOOST_PP_CAT                                                                 \
+  ( NDNBOOST_DETAIL_CONVERT_BIT_SEQUENCE_TO_PARENTHETIC_TUPLE_1 bit_sequence      \
   , END_BIT                                                                    \
   ) 
 
-#define BOOST_DETAIL_BITS_PER_OCTIT 3
+#define NDNBOOST_DETAIL_BITS_PER_OCTIT 3
 
-#define BOOST_DETAIL_COMPLETE_TRIPLE_SEQUENCE( d, incomplete_nibble_sequence ) \
-  BOOST_PP_CAT                                                                 \
-  ( BOOST_DETAIL_CREATE_TRIPLE_COMPLETION_SEQUENCE_                            \
-  , BOOST_PP_MOD_D( d                                                          \
-                  , BOOST_PP_SEQ_SIZE( incomplete_nibble_sequence )            \
-                  , BOOST_DETAIL_BITS_PER_OCTIT                                \
+#define NDNBOOST_DETAIL_COMPLETE_TRIPLE_SEQUENCE( d, incomplete_nibble_sequence ) \
+  NDNBOOST_PP_CAT                                                                 \
+  ( NDNBOOST_DETAIL_CREATE_TRIPLE_COMPLETION_SEQUENCE_                            \
+  , NDNBOOST_PP_MOD_D( d                                                          \
+                  , NDNBOOST_PP_SEQ_SIZE( incomplete_nibble_sequence )            \
+                  , NDNBOOST_DETAIL_BITS_PER_OCTIT                                \
                   )                                                            \
   )                                                                            \
   incomplete_nibble_sequence 
 
-#define BOOST_DETAIL_FIXED_COMPL( bit )                                        \
-  BOOST_PP_CAT( BOOST_DETAIL_FIXED_COMPL_, bit )
+#define NDNBOOST_DETAIL_FIXED_COMPL( bit )                                        \
+  NDNBOOST_PP_CAT( NDNBOOST_DETAIL_FIXED_COMPL_, bit )
 
-#define BOOST_DETAIL_FIXED_COMPL_0 1 
+#define NDNBOOST_DETAIL_FIXED_COMPL_0 1 
 
-#define BOOST_DETAIL_FIXED_COMPL_1 0 
+#define NDNBOOST_DETAIL_FIXED_COMPL_1 0 
 
-#define BOOST_DETAIL_CREATE_BINARY_LITERAL_BIT_SEQUENCE( d, bit_groupings )    \
-  BOOST_PP_EMPTY                                                               \
-  BOOST_PP_CAT( BOOST_PP_WHILE_, d )                                           \
-  ( BOOST_DETAIL_BINARY_LITERAL_PREDICATE                                      \
-  , BOOST_DETAIL_BINARY_LITERAL_OPERATION                                      \
+#define NDNBOOST_DETAIL_CREATE_BINARY_LITERAL_BIT_SEQUENCE( d, bit_groupings )    \
+  NDNBOOST_PP_EMPTY                                                               \
+  NDNBOOST_PP_CAT( NDNBOOST_PP_WHILE_, d )                                           \
+  ( NDNBOOST_DETAIL_BINARY_LITERAL_PREDICATE                                      \
+  , NDNBOOST_DETAIL_BINARY_LITERAL_OPERATION                                      \
   , bit_groupings ()                                                           \
   ) 
 
-#define BOOST_DETAIL_BINARY_LITERAL_PREDICATE( d, state )                      \
-  BOOST_DETAIL_FIXED_COMPL( BOOST_DETAIL_IS_NULLARY_ARGS( state ) ) 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_PREDICATE( d, state )                      \
+  NDNBOOST_DETAIL_FIXED_COMPL( NDNBOOST_DETAIL_IS_NULLARY_ARGS( state ) ) 
 
-#define BOOST_DETAIL_BINARY_LITERAL_OPERATION( d, state )                      \
-  BOOST_DETAIL_SPLIT_AND_SWAP                                                  \
-  ( BOOST_PP_CAT( BOOST_DETAIL_BINARY_LITERAL_ELEMENT_, state ) ) 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_OPERATION( d, state )                      \
+  NDNBOOST_DETAIL_SPLIT_AND_SWAP                                                  \
+  ( NDNBOOST_PP_CAT( NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_, state ) ) 
 
-#define BOOST_DETAIL_TRIPLE_TO_OCTAL_OPERATION( s, dummy_param, tuple )        \
-  BOOST_DETAIL_TERNARY_TRIPLE_TO_OCTAL tuple 
+#define NDNBOOST_DETAIL_TRIPLE_TO_OCTAL_OPERATION( s, dummy_param, tuple )        \
+  NDNBOOST_DETAIL_TERNARY_TRIPLE_TO_OCTAL tuple 
 
-#define BOOST_DETAIL_TERNARY_TRIPLE_TO_OCTAL( bit2, bit1, bit0 )               \
-  BOOST_DETAIL_TRIPLE_TO_OCTAL_ ## bit2 ## bit1 ## bit0 
+#define NDNBOOST_DETAIL_TERNARY_TRIPLE_TO_OCTAL( bit2, bit1, bit0 )               \
+  NDNBOOST_DETAIL_TRIPLE_TO_OCTAL_ ## bit2 ## bit1 ## bit0 
 
-#define BOOST_DETAIL_CREATE_TRIPLE_COMPLETION_SEQUENCE_1 (0)(0)
-#define BOOST_DETAIL_CREATE_TRIPLE_COMPLETION_SEQUENCE_2 (0)
-#define BOOST_DETAIL_CREATE_TRIPLE_COMPLETION_SEQUENCE_0  
+#define NDNBOOST_DETAIL_CREATE_TRIPLE_COMPLETION_SEQUENCE_1 (0)(0)
+#define NDNBOOST_DETAIL_CREATE_TRIPLE_COMPLETION_SEQUENCE_2 (0)
+#define NDNBOOST_DETAIL_CREATE_TRIPLE_COMPLETION_SEQUENCE_0  
 
-#define BOOST_DETAIL_CONVERT_BIT_SEQUENCE_TO_PARENTHETIC_TUPLE_1END_BIT  
+#define NDNBOOST_DETAIL_CONVERT_BIT_SEQUENCE_TO_PARENTHETIC_TUPLE_1END_BIT  
 
-#define BOOST_DETAIL_CONVERT_BIT_SEQUENCE_TO_PARENTHETIC_TUPLE_1( bit )        \
-  ( ( bit, BOOST_DETAIL_CONVERT_BIT_SEQUENCE_TO_PARENTHETIC_TUPLE_2 
+#define NDNBOOST_DETAIL_CONVERT_BIT_SEQUENCE_TO_PARENTHETIC_TUPLE_1( bit )        \
+  ( ( bit, NDNBOOST_DETAIL_CONVERT_BIT_SEQUENCE_TO_PARENTHETIC_TUPLE_2 
 
-#define BOOST_DETAIL_CONVERT_BIT_SEQUENCE_TO_PARENTHETIC_TUPLE_2( bit )        \
-  bit, BOOST_DETAIL_CONVERT_BIT_SEQUENCE_TO_PARENTHETIC_TUPLE_3 
+#define NDNBOOST_DETAIL_CONVERT_BIT_SEQUENCE_TO_PARENTHETIC_TUPLE_2( bit )        \
+  bit, NDNBOOST_DETAIL_CONVERT_BIT_SEQUENCE_TO_PARENTHETIC_TUPLE_3 
 
-#define BOOST_DETAIL_CONVERT_BIT_SEQUENCE_TO_PARENTHETIC_TUPLE_3( bit )        \
-  bit ) ) BOOST_DETAIL_CONVERT_BIT_SEQUENCE_TO_PARENTHETIC_TUPLE_1 
+#define NDNBOOST_DETAIL_CONVERT_BIT_SEQUENCE_TO_PARENTHETIC_TUPLE_3( bit )        \
+  bit ) ) NDNBOOST_DETAIL_CONVERT_BIT_SEQUENCE_TO_PARENTHETIC_TUPLE_1 
 
-#define BOOST_DETAIL_SPLIT_AND_SWAP( params )                                  \
-  BOOST_PP_IDENTITY( BOOST_DETAIL_SPLIT_AND_SWAP_PARAMS )()( params )
+#define NDNBOOST_DETAIL_SPLIT_AND_SWAP( params )                                  \
+  NDNBOOST_PP_IDENTITY( NDNBOOST_DETAIL_SPLIT_AND_SWAP_PARAMS )()( params )
 
-#define BOOST_DETAIL_SPLIT_AND_SWAP_PARAMS( first_param, second_param )        \
+#define NDNBOOST_DETAIL_SPLIT_AND_SWAP_PARAMS( first_param, second_param )        \
   second_param first_param 
 
-#define BOOST_DETAIL_LEFT_OF_COMMA( params )                                   \
-  BOOST_PP_IDENTITY( BOOST_DETAIL_FIRST_MACRO_PARAM )()( params ) 
+#define NDNBOOST_DETAIL_LEFT_OF_COMMA( params )                                   \
+  NDNBOOST_PP_IDENTITY( NDNBOOST_DETAIL_FIRST_MACRO_PARAM )()( params ) 
 
-#define BOOST_DETAIL_FIRST_MACRO_PARAM( first_param, second_param )            \
+#define NDNBOOST_DETAIL_FIRST_MACRO_PARAM( first_param, second_param )            \
   first_param 
 
 /* Begin derived concepts from Chaos by Paul Mensonides */
 
-#define BOOST_DETAIL_IS_NULLARY_ARGS( param )                                  \
-  BOOST_DETAIL_LEFT_OF_COMMA                                                   \
-  ( BOOST_PP_CAT( BOOST_DETAIL_IS_NULLARY_ARGS_R_                              \
-                , BOOST_DETAIL_IS_NULLARY_ARGS_C param                         \
+#define NDNBOOST_DETAIL_IS_NULLARY_ARGS( param )                                  \
+  NDNBOOST_DETAIL_LEFT_OF_COMMA                                                   \
+  ( NDNBOOST_PP_CAT( NDNBOOST_DETAIL_IS_NULLARY_ARGS_R_                              \
+                , NDNBOOST_DETAIL_IS_NULLARY_ARGS_C param                         \
                 )                                                              \
   ) 
 
-#define BOOST_DETAIL_IS_NULLARY_ARGS_C()                                       \
+#define NDNBOOST_DETAIL_IS_NULLARY_ARGS_C()                                       \
   1 
 
-#define BOOST_DETAIL_IS_NULLARY_ARGS_R_1                                       \
-  1, BOOST_PP_NIL 
+#define NDNBOOST_DETAIL_IS_NULLARY_ARGS_R_1                                       \
+  1, NDNBOOST_PP_NIL 
 
-#define BOOST_DETAIL_IS_NULLARY_ARGS_R_BOOST_DETAIL_IS_NULLARY_ARGS_C          \
-  0, BOOST_PP_NIL 
+#define NDNBOOST_DETAIL_IS_NULLARY_ARGS_R_NDNBOOST_DETAIL_IS_NULLARY_ARGS_C          \
+  0, NDNBOOST_PP_NIL 
 
 /* End derived concepts from Chaos by Paul Mensonides */
 
-#define BOOST_DETAIL_TRIPLE_TO_OCTAL_000 0 
-#define BOOST_DETAIL_TRIPLE_TO_OCTAL_001 1 
-#define BOOST_DETAIL_TRIPLE_TO_OCTAL_010 2 
-#define BOOST_DETAIL_TRIPLE_TO_OCTAL_011 3 
-#define BOOST_DETAIL_TRIPLE_TO_OCTAL_100 4 
-#define BOOST_DETAIL_TRIPLE_TO_OCTAL_101 5 
-#define BOOST_DETAIL_TRIPLE_TO_OCTAL_110 6 
-#define BOOST_DETAIL_TRIPLE_TO_OCTAL_111 7 
+#define NDNBOOST_DETAIL_TRIPLE_TO_OCTAL_000 0 
+#define NDNBOOST_DETAIL_TRIPLE_TO_OCTAL_001 1 
+#define NDNBOOST_DETAIL_TRIPLE_TO_OCTAL_010 2 
+#define NDNBOOST_DETAIL_TRIPLE_TO_OCTAL_011 3 
+#define NDNBOOST_DETAIL_TRIPLE_TO_OCTAL_100 4 
+#define NDNBOOST_DETAIL_TRIPLE_TO_OCTAL_101 5 
+#define NDNBOOST_DETAIL_TRIPLE_TO_OCTAL_110 6 
+#define NDNBOOST_DETAIL_TRIPLE_TO_OCTAL_111 7 
 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0 (0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1 (1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_0 (0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_1 (1), 
 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00 (0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01 (0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10 (1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11 (1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00 (0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01 (0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10 (1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11 (1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_00 (0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_01 (0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_10 (1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_11 (1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_00 (0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_01 (0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_10 (1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_11 (1)(1), 
 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_000 (0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_001 (0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_010 (0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_011 (0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_100 (1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_101 (1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_110 (1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_111 (1)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_000 (0)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_001 (0)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_010 (0)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_011 (0)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_100 (1)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_101 (1)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_110 (1)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_111 (1)(1)(1), 
 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0000 (0)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0001 (0)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0010 (0)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0011 (0)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0100 (0)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0101 (0)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0110 (0)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0111 (0)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1000 (1)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1001 (1)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1010 (1)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1011 (1)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1100 (1)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1101 (1)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1110 (1)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1111 (1)(1)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_0000 (0)(0)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_0001 (0)(0)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_0010 (0)(0)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_0011 (0)(0)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_0100 (0)(1)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_0101 (0)(1)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_0110 (0)(1)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_0111 (0)(1)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_1000 (1)(0)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_1001 (1)(0)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_1010 (1)(0)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_1011 (1)(0)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_1100 (1)(1)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_1101 (1)(1)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_1110 (1)(1)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_1111 (1)(1)(1)(1), 
 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00000 (0)(0)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00001 (0)(0)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00010 (0)(0)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00011 (0)(0)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00100 (0)(0)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00101 (0)(0)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00110 (0)(0)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00111 (0)(0)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01000 (0)(1)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01001 (0)(1)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01010 (0)(1)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01011 (0)(1)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01100 (0)(1)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01101 (0)(1)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01110 (0)(1)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01111 (0)(1)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10000 (1)(0)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10001 (1)(0)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10010 (1)(0)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10011 (1)(0)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10100 (1)(0)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10101 (1)(0)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10110 (1)(0)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10111 (1)(0)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11000 (1)(1)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11001 (1)(1)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11010 (1)(1)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11011 (1)(1)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11100 (1)(1)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11101 (1)(1)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11110 (1)(1)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11111 (1)(1)(1)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_00000 (0)(0)(0)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_00001 (0)(0)(0)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_00010 (0)(0)(0)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_00011 (0)(0)(0)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_00100 (0)(0)(1)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_00101 (0)(0)(1)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_00110 (0)(0)(1)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_00111 (0)(0)(1)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_01000 (0)(1)(0)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_01001 (0)(1)(0)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_01010 (0)(1)(0)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_01011 (0)(1)(0)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_01100 (0)(1)(1)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_01101 (0)(1)(1)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_01110 (0)(1)(1)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_01111 (0)(1)(1)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_10000 (1)(0)(0)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_10001 (1)(0)(0)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_10010 (1)(0)(0)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_10011 (1)(0)(0)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_10100 (1)(0)(1)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_10101 (1)(0)(1)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_10110 (1)(0)(1)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_10111 (1)(0)(1)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_11000 (1)(1)(0)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_11001 (1)(1)(0)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_11010 (1)(1)(0)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_11011 (1)(1)(0)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_11100 (1)(1)(1)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_11101 (1)(1)(1)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_11110 (1)(1)(1)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_11111 (1)(1)(1)(1)(1), 
 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_000000 (0)(0)(0)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_000001 (0)(0)(0)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_000010 (0)(0)(0)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_000011 (0)(0)(0)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_000100 (0)(0)(0)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_000101 (0)(0)(0)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_000110 (0)(0)(0)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_000111 (0)(0)(0)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_001000 (0)(0)(1)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_001001 (0)(0)(1)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_001010 (0)(0)(1)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_001011 (0)(0)(1)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_001100 (0)(0)(1)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_001101 (0)(0)(1)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_001110 (0)(0)(1)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_001111 (0)(0)(1)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_010000 (0)(1)(0)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_010001 (0)(1)(0)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_010010 (0)(1)(0)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_010011 (0)(1)(0)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_010100 (0)(1)(0)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_010101 (0)(1)(0)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_010110 (0)(1)(0)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_010111 (0)(1)(0)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_011000 (0)(1)(1)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_011001 (0)(1)(1)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_011010 (0)(1)(1)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_011011 (0)(1)(1)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_011100 (0)(1)(1)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_011101 (0)(1)(1)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_011110 (0)(1)(1)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_011111 (0)(1)(1)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_100000 (1)(0)(0)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_100001 (1)(0)(0)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_100010 (1)(0)(0)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_100011 (1)(0)(0)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_100100 (1)(0)(0)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_100101 (1)(0)(0)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_100110 (1)(0)(0)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_100111 (1)(0)(0)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_101000 (1)(0)(1)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_101001 (1)(0)(1)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_101010 (1)(0)(1)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_101011 (1)(0)(1)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_101100 (1)(0)(1)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_101101 (1)(0)(1)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_101110 (1)(0)(1)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_101111 (1)(0)(1)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_110000 (1)(1)(0)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_110001 (1)(1)(0)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_110010 (1)(1)(0)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_110011 (1)(1)(0)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_110100 (1)(1)(0)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_110101 (1)(1)(0)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_110110 (1)(1)(0)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_110111 (1)(1)(0)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_111000 (1)(1)(1)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_111001 (1)(1)(1)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_111010 (1)(1)(1)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_111011 (1)(1)(1)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_111100 (1)(1)(1)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_111101 (1)(1)(1)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_111110 (1)(1)(1)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_111111 (1)(1)(1)(1)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_000000 (0)(0)(0)(0)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_000001 (0)(0)(0)(0)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_000010 (0)(0)(0)(0)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_000011 (0)(0)(0)(0)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_000100 (0)(0)(0)(1)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_000101 (0)(0)(0)(1)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_000110 (0)(0)(0)(1)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_000111 (0)(0)(0)(1)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_001000 (0)(0)(1)(0)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_001001 (0)(0)(1)(0)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_001010 (0)(0)(1)(0)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_001011 (0)(0)(1)(0)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_001100 (0)(0)(1)(1)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_001101 (0)(0)(1)(1)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_001110 (0)(0)(1)(1)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_001111 (0)(0)(1)(1)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_010000 (0)(1)(0)(0)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_010001 (0)(1)(0)(0)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_010010 (0)(1)(0)(0)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_010011 (0)(1)(0)(0)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_010100 (0)(1)(0)(1)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_010101 (0)(1)(0)(1)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_010110 (0)(1)(0)(1)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_010111 (0)(1)(0)(1)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_011000 (0)(1)(1)(0)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_011001 (0)(1)(1)(0)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_011010 (0)(1)(1)(0)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_011011 (0)(1)(1)(0)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_011100 (0)(1)(1)(1)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_011101 (0)(1)(1)(1)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_011110 (0)(1)(1)(1)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_011111 (0)(1)(1)(1)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_100000 (1)(0)(0)(0)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_100001 (1)(0)(0)(0)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_100010 (1)(0)(0)(0)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_100011 (1)(0)(0)(0)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_100100 (1)(0)(0)(1)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_100101 (1)(0)(0)(1)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_100110 (1)(0)(0)(1)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_100111 (1)(0)(0)(1)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_101000 (1)(0)(1)(0)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_101001 (1)(0)(1)(0)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_101010 (1)(0)(1)(0)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_101011 (1)(0)(1)(0)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_101100 (1)(0)(1)(1)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_101101 (1)(0)(1)(1)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_101110 (1)(0)(1)(1)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_101111 (1)(0)(1)(1)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_110000 (1)(1)(0)(0)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_110001 (1)(1)(0)(0)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_110010 (1)(1)(0)(0)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_110011 (1)(1)(0)(0)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_110100 (1)(1)(0)(1)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_110101 (1)(1)(0)(1)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_110110 (1)(1)(0)(1)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_110111 (1)(1)(0)(1)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_111000 (1)(1)(1)(0)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_111001 (1)(1)(1)(0)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_111010 (1)(1)(1)(0)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_111011 (1)(1)(1)(0)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_111100 (1)(1)(1)(1)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_111101 (1)(1)(1)(1)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_111110 (1)(1)(1)(1)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_111111 (1)(1)(1)(1)(1)(1), 
 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0000000 (0)(0)(0)(0)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0000001 (0)(0)(0)(0)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0000010 (0)(0)(0)(0)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0000011 (0)(0)(0)(0)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0000100 (0)(0)(0)(0)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0000101 (0)(0)(0)(0)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0000110 (0)(0)(0)(0)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0000111 (0)(0)(0)(0)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0001000 (0)(0)(0)(1)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0001001 (0)(0)(0)(1)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0001010 (0)(0)(0)(1)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0001011 (0)(0)(0)(1)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0001100 (0)(0)(0)(1)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0001101 (0)(0)(0)(1)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0001110 (0)(0)(0)(1)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0001111 (0)(0)(0)(1)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0010000 (0)(0)(1)(0)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0010001 (0)(0)(1)(0)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0010010 (0)(0)(1)(0)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0010011 (0)(0)(1)(0)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0010100 (0)(0)(1)(0)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0010101 (0)(0)(1)(0)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0010110 (0)(0)(1)(0)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0010111 (0)(0)(1)(0)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0011000 (0)(0)(1)(1)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0011001 (0)(0)(1)(1)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0011010 (0)(0)(1)(1)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0011011 (0)(0)(1)(1)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0011100 (0)(0)(1)(1)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0011101 (0)(0)(1)(1)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0011110 (0)(0)(1)(1)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0011111 (0)(0)(1)(1)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0100000 (0)(1)(0)(0)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0100001 (0)(1)(0)(0)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0100010 (0)(1)(0)(0)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0100011 (0)(1)(0)(0)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0100100 (0)(1)(0)(0)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0100101 (0)(1)(0)(0)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0100110 (0)(1)(0)(0)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0100111 (0)(1)(0)(0)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0101000 (0)(1)(0)(1)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0101001 (0)(1)(0)(1)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0101010 (0)(1)(0)(1)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0101011 (0)(1)(0)(1)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0101100 (0)(1)(0)(1)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0101101 (0)(1)(0)(1)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0101110 (0)(1)(0)(1)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0101111 (0)(1)(0)(1)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0110000 (0)(1)(1)(0)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0110001 (0)(1)(1)(0)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0110010 (0)(1)(1)(0)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0110011 (0)(1)(1)(0)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0110100 (0)(1)(1)(0)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0110101 (0)(1)(1)(0)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0110110 (0)(1)(1)(0)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0110111 (0)(1)(1)(0)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0111000 (0)(1)(1)(1)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0111001 (0)(1)(1)(1)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0111010 (0)(1)(1)(1)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0111011 (0)(1)(1)(1)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0111100 (0)(1)(1)(1)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0111101 (0)(1)(1)(1)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0111110 (0)(1)(1)(1)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_0111111 (0)(1)(1)(1)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1000000 (1)(0)(0)(0)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1000001 (1)(0)(0)(0)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1000010 (1)(0)(0)(0)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1000011 (1)(0)(0)(0)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1000100 (1)(0)(0)(0)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1000101 (1)(0)(0)(0)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1000110 (1)(0)(0)(0)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1000111 (1)(0)(0)(0)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1001000 (1)(0)(0)(1)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1001001 (1)(0)(0)(1)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1001010 (1)(0)(0)(1)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1001011 (1)(0)(0)(1)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1001100 (1)(0)(0)(1)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1001101 (1)(0)(0)(1)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1001110 (1)(0)(0)(1)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1001111 (1)(0)(0)(1)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1010000 (1)(0)(1)(0)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1010001 (1)(0)(1)(0)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1010010 (1)(0)(1)(0)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1010011 (1)(0)(1)(0)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1010100 (1)(0)(1)(0)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1010101 (1)(0)(1)(0)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1010110 (1)(0)(1)(0)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1010111 (1)(0)(1)(0)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1011000 (1)(0)(1)(1)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1011001 (1)(0)(1)(1)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1011010 (1)(0)(1)(1)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1011011 (1)(0)(1)(1)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1011100 (1)(0)(1)(1)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1011101 (1)(0)(1)(1)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1011110 (1)(0)(1)(1)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1011111 (1)(0)(1)(1)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1100000 (1)(1)(0)(0)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1100001 (1)(1)(0)(0)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1100010 (1)(1)(0)(0)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1100011 (1)(1)(0)(0)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1100100 (1)(1)(0)(0)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1100101 (1)(1)(0)(0)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1100110 (1)(1)(0)(0)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1100111 (1)(1)(0)(0)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1101000 (1)(1)(0)(1)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1101001 (1)(1)(0)(1)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1101010 (1)(1)(0)(1)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1101011 (1)(1)(0)(1)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1101100 (1)(1)(0)(1)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1101101 (1)(1)(0)(1)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1101110 (1)(1)(0)(1)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1101111 (1)(1)(0)(1)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1110000 (1)(1)(1)(0)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1110001 (1)(1)(1)(0)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1110010 (1)(1)(1)(0)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1110011 (1)(1)(1)(0)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1110100 (1)(1)(1)(0)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1110101 (1)(1)(1)(0)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1110110 (1)(1)(1)(0)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1110111 (1)(1)(1)(0)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1111000 (1)(1)(1)(1)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1111001 (1)(1)(1)(1)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1111010 (1)(1)(1)(1)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1111011 (1)(1)(1)(1)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1111100 (1)(1)(1)(1)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1111101 (1)(1)(1)(1)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1111110 (1)(1)(1)(1)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_1111111 (1)(1)(1)(1)(1)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_0000000 (0)(0)(0)(0)(0)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_0000001 (0)(0)(0)(0)(0)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_0000010 (0)(0)(0)(0)(0)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_0000011 (0)(0)(0)(0)(0)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_0000100 (0)(0)(0)(0)(1)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_0000101 (0)(0)(0)(0)(1)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_0000110 (0)(0)(0)(0)(1)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_0000111 (0)(0)(0)(0)(1)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_0001000 (0)(0)(0)(1)(0)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_0001001 (0)(0)(0)(1)(0)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_0001010 (0)(0)(0)(1)(0)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_0001011 (0)(0)(0)(1)(0)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_0001100 (0)(0)(0)(1)(1)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_0001101 (0)(0)(0)(1)(1)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_0001110 (0)(0)(0)(1)(1)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_0001111 (0)(0)(0)(1)(1)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_0010000 (0)(0)(1)(0)(0)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_0010001 (0)(0)(1)(0)(0)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_0010010 (0)(0)(1)(0)(0)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_0010011 (0)(0)(1)(0)(0)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_0010100 (0)(0)(1)(0)(1)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_0010101 (0)(0)(1)(0)(1)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_0010110 (0)(0)(1)(0)(1)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_0010111 (0)(0)(1)(0)(1)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_0011000 (0)(0)(1)(1)(0)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_0011001 (0)(0)(1)(1)(0)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_0011010 (0)(0)(1)(1)(0)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_0011011 (0)(0)(1)(1)(0)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_0011100 (0)(0)(1)(1)(1)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_0011101 (0)(0)(1)(1)(1)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_0011110 (0)(0)(1)(1)(1)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_0011111 (0)(0)(1)(1)(1)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_0100000 (0)(1)(0)(0)(0)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_0100001 (0)(1)(0)(0)(0)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_0100010 (0)(1)(0)(0)(0)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_0100011 (0)(1)(0)(0)(0)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_0100100 (0)(1)(0)(0)(1)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_0100101 (0)(1)(0)(0)(1)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_0100110 (0)(1)(0)(0)(1)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_0100111 (0)(1)(0)(0)(1)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_0101000 (0)(1)(0)(1)(0)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_0101001 (0)(1)(0)(1)(0)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_0101010 (0)(1)(0)(1)(0)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_0101011 (0)(1)(0)(1)(0)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_0101100 (0)(1)(0)(1)(1)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_0101101 (0)(1)(0)(1)(1)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_0101110 (0)(1)(0)(1)(1)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_0101111 (0)(1)(0)(1)(1)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_0110000 (0)(1)(1)(0)(0)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_0110001 (0)(1)(1)(0)(0)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_0110010 (0)(1)(1)(0)(0)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_0110011 (0)(1)(1)(0)(0)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_0110100 (0)(1)(1)(0)(1)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_0110101 (0)(1)(1)(0)(1)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_0110110 (0)(1)(1)(0)(1)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_0110111 (0)(1)(1)(0)(1)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_0111000 (0)(1)(1)(1)(0)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_0111001 (0)(1)(1)(1)(0)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_0111010 (0)(1)(1)(1)(0)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_0111011 (0)(1)(1)(1)(0)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_0111100 (0)(1)(1)(1)(1)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_0111101 (0)(1)(1)(1)(1)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_0111110 (0)(1)(1)(1)(1)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_0111111 (0)(1)(1)(1)(1)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_1000000 (1)(0)(0)(0)(0)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_1000001 (1)(0)(0)(0)(0)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_1000010 (1)(0)(0)(0)(0)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_1000011 (1)(0)(0)(0)(0)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_1000100 (1)(0)(0)(0)(1)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_1000101 (1)(0)(0)(0)(1)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_1000110 (1)(0)(0)(0)(1)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_1000111 (1)(0)(0)(0)(1)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_1001000 (1)(0)(0)(1)(0)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_1001001 (1)(0)(0)(1)(0)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_1001010 (1)(0)(0)(1)(0)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_1001011 (1)(0)(0)(1)(0)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_1001100 (1)(0)(0)(1)(1)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_1001101 (1)(0)(0)(1)(1)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_1001110 (1)(0)(0)(1)(1)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_1001111 (1)(0)(0)(1)(1)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_1010000 (1)(0)(1)(0)(0)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_1010001 (1)(0)(1)(0)(0)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_1010010 (1)(0)(1)(0)(0)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_1010011 (1)(0)(1)(0)(0)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_1010100 (1)(0)(1)(0)(1)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_1010101 (1)(0)(1)(0)(1)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_1010110 (1)(0)(1)(0)(1)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_1010111 (1)(0)(1)(0)(1)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_1011000 (1)(0)(1)(1)(0)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_1011001 (1)(0)(1)(1)(0)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_1011010 (1)(0)(1)(1)(0)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_1011011 (1)(0)(1)(1)(0)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_1011100 (1)(0)(1)(1)(1)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_1011101 (1)(0)(1)(1)(1)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_1011110 (1)(0)(1)(1)(1)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_1011111 (1)(0)(1)(1)(1)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_1100000 (1)(1)(0)(0)(0)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_1100001 (1)(1)(0)(0)(0)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_1100010 (1)(1)(0)(0)(0)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_1100011 (1)(1)(0)(0)(0)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_1100100 (1)(1)(0)(0)(1)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_1100101 (1)(1)(0)(0)(1)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_1100110 (1)(1)(0)(0)(1)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_1100111 (1)(1)(0)(0)(1)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_1101000 (1)(1)(0)(1)(0)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_1101001 (1)(1)(0)(1)(0)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_1101010 (1)(1)(0)(1)(0)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_1101011 (1)(1)(0)(1)(0)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_1101100 (1)(1)(0)(1)(1)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_1101101 (1)(1)(0)(1)(1)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_1101110 (1)(1)(0)(1)(1)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_1101111 (1)(1)(0)(1)(1)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_1110000 (1)(1)(1)(0)(0)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_1110001 (1)(1)(1)(0)(0)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_1110010 (1)(1)(1)(0)(0)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_1110011 (1)(1)(1)(0)(0)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_1110100 (1)(1)(1)(0)(1)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_1110101 (1)(1)(1)(0)(1)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_1110110 (1)(1)(1)(0)(1)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_1110111 (1)(1)(1)(0)(1)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_1111000 (1)(1)(1)(1)(0)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_1111001 (1)(1)(1)(1)(0)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_1111010 (1)(1)(1)(1)(0)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_1111011 (1)(1)(1)(1)(0)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_1111100 (1)(1)(1)(1)(1)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_1111101 (1)(1)(1)(1)(1)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_1111110 (1)(1)(1)(1)(1)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_1111111 (1)(1)(1)(1)(1)(1)(1), 
 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00000000 (0)(0)(0)(0)(0)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00000001 (0)(0)(0)(0)(0)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00000010 (0)(0)(0)(0)(0)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00000011 (0)(0)(0)(0)(0)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00000100 (0)(0)(0)(0)(0)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00000101 (0)(0)(0)(0)(0)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00000110 (0)(0)(0)(0)(0)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00000111 (0)(0)(0)(0)(0)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00001000 (0)(0)(0)(0)(1)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00001001 (0)(0)(0)(0)(1)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00001010 (0)(0)(0)(0)(1)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00001011 (0)(0)(0)(0)(1)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00001100 (0)(0)(0)(0)(1)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00001101 (0)(0)(0)(0)(1)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00001110 (0)(0)(0)(0)(1)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00001111 (0)(0)(0)(0)(1)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00010000 (0)(0)(0)(1)(0)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00010001 (0)(0)(0)(1)(0)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00010010 (0)(0)(0)(1)(0)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00010011 (0)(0)(0)(1)(0)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00010100 (0)(0)(0)(1)(0)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00010101 (0)(0)(0)(1)(0)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00010110 (0)(0)(0)(1)(0)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00010111 (0)(0)(0)(1)(0)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00011000 (0)(0)(0)(1)(1)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00011001 (0)(0)(0)(1)(1)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00011010 (0)(0)(0)(1)(1)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00011011 (0)(0)(0)(1)(1)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00011100 (0)(0)(0)(1)(1)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00011101 (0)(0)(0)(1)(1)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00011110 (0)(0)(0)(1)(1)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00011111 (0)(0)(0)(1)(1)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00100000 (0)(0)(1)(0)(0)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00100001 (0)(0)(1)(0)(0)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00100010 (0)(0)(1)(0)(0)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00100011 (0)(0)(1)(0)(0)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00100100 (0)(0)(1)(0)(0)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00100101 (0)(0)(1)(0)(0)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00100110 (0)(0)(1)(0)(0)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00100111 (0)(0)(1)(0)(0)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00101000 (0)(0)(1)(0)(1)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00101001 (0)(0)(1)(0)(1)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00101010 (0)(0)(1)(0)(1)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00101011 (0)(0)(1)(0)(1)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00101100 (0)(0)(1)(0)(1)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00101101 (0)(0)(1)(0)(1)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00101110 (0)(0)(1)(0)(1)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00101111 (0)(0)(1)(0)(1)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00110000 (0)(0)(1)(1)(0)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00110001 (0)(0)(1)(1)(0)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00110010 (0)(0)(1)(1)(0)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00110011 (0)(0)(1)(1)(0)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00110100 (0)(0)(1)(1)(0)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00110101 (0)(0)(1)(1)(0)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00110110 (0)(0)(1)(1)(0)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00110111 (0)(0)(1)(1)(0)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00111000 (0)(0)(1)(1)(1)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00111001 (0)(0)(1)(1)(1)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00111010 (0)(0)(1)(1)(1)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00111011 (0)(0)(1)(1)(1)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00111100 (0)(0)(1)(1)(1)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00111101 (0)(0)(1)(1)(1)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00111110 (0)(0)(1)(1)(1)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_00111111 (0)(0)(1)(1)(1)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01000000 (0)(1)(0)(0)(0)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01000001 (0)(1)(0)(0)(0)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01000010 (0)(1)(0)(0)(0)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01000011 (0)(1)(0)(0)(0)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01000100 (0)(1)(0)(0)(0)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01000101 (0)(1)(0)(0)(0)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01000110 (0)(1)(0)(0)(0)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01000111 (0)(1)(0)(0)(0)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01001000 (0)(1)(0)(0)(1)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01001001 (0)(1)(0)(0)(1)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01001010 (0)(1)(0)(0)(1)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01001011 (0)(1)(0)(0)(1)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01001100 (0)(1)(0)(0)(1)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01001101 (0)(1)(0)(0)(1)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01001110 (0)(1)(0)(0)(1)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01001111 (0)(1)(0)(0)(1)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01010000 (0)(1)(0)(1)(0)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01010001 (0)(1)(0)(1)(0)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01010010 (0)(1)(0)(1)(0)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01010011 (0)(1)(0)(1)(0)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01010100 (0)(1)(0)(1)(0)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01010101 (0)(1)(0)(1)(0)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01010110 (0)(1)(0)(1)(0)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01010111 (0)(1)(0)(1)(0)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01011000 (0)(1)(0)(1)(1)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01011001 (0)(1)(0)(1)(1)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01011010 (0)(1)(0)(1)(1)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01011011 (0)(1)(0)(1)(1)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01011100 (0)(1)(0)(1)(1)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01011101 (0)(1)(0)(1)(1)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01011110 (0)(1)(0)(1)(1)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01011111 (0)(1)(0)(1)(1)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01100000 (0)(1)(1)(0)(0)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01100001 (0)(1)(1)(0)(0)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01100010 (0)(1)(1)(0)(0)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01100011 (0)(1)(1)(0)(0)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01100100 (0)(1)(1)(0)(0)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01100101 (0)(1)(1)(0)(0)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01100110 (0)(1)(1)(0)(0)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01100111 (0)(1)(1)(0)(0)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01101000 (0)(1)(1)(0)(1)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01101001 (0)(1)(1)(0)(1)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01101010 (0)(1)(1)(0)(1)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01101011 (0)(1)(1)(0)(1)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01101100 (0)(1)(1)(0)(1)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01101101 (0)(1)(1)(0)(1)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01101110 (0)(1)(1)(0)(1)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01101111 (0)(1)(1)(0)(1)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01110000 (0)(1)(1)(1)(0)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01110001 (0)(1)(1)(1)(0)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01110010 (0)(1)(1)(1)(0)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01110011 (0)(1)(1)(1)(0)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01110100 (0)(1)(1)(1)(0)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01110101 (0)(1)(1)(1)(0)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01110110 (0)(1)(1)(1)(0)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01110111 (0)(1)(1)(1)(0)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01111000 (0)(1)(1)(1)(1)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01111001 (0)(1)(1)(1)(1)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01111010 (0)(1)(1)(1)(1)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01111011 (0)(1)(1)(1)(1)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01111100 (0)(1)(1)(1)(1)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01111101 (0)(1)(1)(1)(1)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01111110 (0)(1)(1)(1)(1)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_01111111 (0)(1)(1)(1)(1)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10000000 (1)(0)(0)(0)(0)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10000001 (1)(0)(0)(0)(0)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10000010 (1)(0)(0)(0)(0)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10000011 (1)(0)(0)(0)(0)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10000100 (1)(0)(0)(0)(0)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10000101 (1)(0)(0)(0)(0)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10000110 (1)(0)(0)(0)(0)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10000111 (1)(0)(0)(0)(0)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10001000 (1)(0)(0)(0)(1)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10001001 (1)(0)(0)(0)(1)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10001010 (1)(0)(0)(0)(1)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10001011 (1)(0)(0)(0)(1)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10001100 (1)(0)(0)(0)(1)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10001101 (1)(0)(0)(0)(1)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10001110 (1)(0)(0)(0)(1)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10001111 (1)(0)(0)(0)(1)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10010000 (1)(0)(0)(1)(0)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10010001 (1)(0)(0)(1)(0)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10010010 (1)(0)(0)(1)(0)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10010011 (1)(0)(0)(1)(0)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10010100 (1)(0)(0)(1)(0)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10010101 (1)(0)(0)(1)(0)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10010110 (1)(0)(0)(1)(0)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10010111 (1)(0)(0)(1)(0)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10011000 (1)(0)(0)(1)(1)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10011001 (1)(0)(0)(1)(1)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10011010 (1)(0)(0)(1)(1)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10011011 (1)(0)(0)(1)(1)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10011100 (1)(0)(0)(1)(1)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10011101 (1)(0)(0)(1)(1)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10011110 (1)(0)(0)(1)(1)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10011111 (1)(0)(0)(1)(1)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10100000 (1)(0)(1)(0)(0)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10100001 (1)(0)(1)(0)(0)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10100010 (1)(0)(1)(0)(0)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10100011 (1)(0)(1)(0)(0)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10100100 (1)(0)(1)(0)(0)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10100101 (1)(0)(1)(0)(0)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10100110 (1)(0)(1)(0)(0)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10100111 (1)(0)(1)(0)(0)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10101000 (1)(0)(1)(0)(1)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10101001 (1)(0)(1)(0)(1)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10101010 (1)(0)(1)(0)(1)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10101011 (1)(0)(1)(0)(1)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10101100 (1)(0)(1)(0)(1)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10101101 (1)(0)(1)(0)(1)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10101110 (1)(0)(1)(0)(1)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10101111 (1)(0)(1)(0)(1)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10110000 (1)(0)(1)(1)(0)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10110001 (1)(0)(1)(1)(0)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10110010 (1)(0)(1)(1)(0)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10110011 (1)(0)(1)(1)(0)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10110100 (1)(0)(1)(1)(0)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10110101 (1)(0)(1)(1)(0)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10110110 (1)(0)(1)(1)(0)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10110111 (1)(0)(1)(1)(0)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10111000 (1)(0)(1)(1)(1)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10111001 (1)(0)(1)(1)(1)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10111010 (1)(0)(1)(1)(1)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10111011 (1)(0)(1)(1)(1)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10111100 (1)(0)(1)(1)(1)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10111101 (1)(0)(1)(1)(1)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10111110 (1)(0)(1)(1)(1)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_10111111 (1)(0)(1)(1)(1)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11000000 (1)(1)(0)(0)(0)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11000001 (1)(1)(0)(0)(0)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11000010 (1)(1)(0)(0)(0)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11000011 (1)(1)(0)(0)(0)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11000100 (1)(1)(0)(0)(0)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11000101 (1)(1)(0)(0)(0)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11000110 (1)(1)(0)(0)(0)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11000111 (1)(1)(0)(0)(0)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11001000 (1)(1)(0)(0)(1)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11001001 (1)(1)(0)(0)(1)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11001010 (1)(1)(0)(0)(1)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11001011 (1)(1)(0)(0)(1)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11001100 (1)(1)(0)(0)(1)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11001101 (1)(1)(0)(0)(1)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11001110 (1)(1)(0)(0)(1)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11001111 (1)(1)(0)(0)(1)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11010000 (1)(1)(0)(1)(0)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11010001 (1)(1)(0)(1)(0)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11010010 (1)(1)(0)(1)(0)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11010011 (1)(1)(0)(1)(0)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11010100 (1)(1)(0)(1)(0)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11010101 (1)(1)(0)(1)(0)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11010110 (1)(1)(0)(1)(0)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11010111 (1)(1)(0)(1)(0)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11011000 (1)(1)(0)(1)(1)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11011001 (1)(1)(0)(1)(1)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11011010 (1)(1)(0)(1)(1)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11011011 (1)(1)(0)(1)(1)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11011100 (1)(1)(0)(1)(1)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11011101 (1)(1)(0)(1)(1)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11011110 (1)(1)(0)(1)(1)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11011111 (1)(1)(0)(1)(1)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11100000 (1)(1)(1)(0)(0)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11100001 (1)(1)(1)(0)(0)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11100010 (1)(1)(1)(0)(0)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11100011 (1)(1)(1)(0)(0)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11100100 (1)(1)(1)(0)(0)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11100101 (1)(1)(1)(0)(0)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11100110 (1)(1)(1)(0)(0)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11100111 (1)(1)(1)(0)(0)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11101000 (1)(1)(1)(0)(1)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11101001 (1)(1)(1)(0)(1)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11101010 (1)(1)(1)(0)(1)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11101011 (1)(1)(1)(0)(1)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11101100 (1)(1)(1)(0)(1)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11101101 (1)(1)(1)(0)(1)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11101110 (1)(1)(1)(0)(1)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11101111 (1)(1)(1)(0)(1)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11110000 (1)(1)(1)(1)(0)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11110001 (1)(1)(1)(1)(0)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11110010 (1)(1)(1)(1)(0)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11110011 (1)(1)(1)(1)(0)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11110100 (1)(1)(1)(1)(0)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11110101 (1)(1)(1)(1)(0)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11110110 (1)(1)(1)(1)(0)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11110111 (1)(1)(1)(1)(0)(1)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11111000 (1)(1)(1)(1)(1)(0)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11111001 (1)(1)(1)(1)(1)(0)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11111010 (1)(1)(1)(1)(1)(0)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11111011 (1)(1)(1)(1)(1)(0)(1)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11111100 (1)(1)(1)(1)(1)(1)(0)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11111101 (1)(1)(1)(1)(1)(1)(0)(1), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11111110 (1)(1)(1)(1)(1)(1)(1)(0), 
-#define BOOST_DETAIL_BINARY_LITERAL_ELEMENT_11111111 (1)(1)(1)(1)(1)(1)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_00000000 (0)(0)(0)(0)(0)(0)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_00000001 (0)(0)(0)(0)(0)(0)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_00000010 (0)(0)(0)(0)(0)(0)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_00000011 (0)(0)(0)(0)(0)(0)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_00000100 (0)(0)(0)(0)(0)(1)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_00000101 (0)(0)(0)(0)(0)(1)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_00000110 (0)(0)(0)(0)(0)(1)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_00000111 (0)(0)(0)(0)(0)(1)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_00001000 (0)(0)(0)(0)(1)(0)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_00001001 (0)(0)(0)(0)(1)(0)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_00001010 (0)(0)(0)(0)(1)(0)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_00001011 (0)(0)(0)(0)(1)(0)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_00001100 (0)(0)(0)(0)(1)(1)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_00001101 (0)(0)(0)(0)(1)(1)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_00001110 (0)(0)(0)(0)(1)(1)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_00001111 (0)(0)(0)(0)(1)(1)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_00010000 (0)(0)(0)(1)(0)(0)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_00010001 (0)(0)(0)(1)(0)(0)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_00010010 (0)(0)(0)(1)(0)(0)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_00010011 (0)(0)(0)(1)(0)(0)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_00010100 (0)(0)(0)(1)(0)(1)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_00010101 (0)(0)(0)(1)(0)(1)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_00010110 (0)(0)(0)(1)(0)(1)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_00010111 (0)(0)(0)(1)(0)(1)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_00011000 (0)(0)(0)(1)(1)(0)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_00011001 (0)(0)(0)(1)(1)(0)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_00011010 (0)(0)(0)(1)(1)(0)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_00011011 (0)(0)(0)(1)(1)(0)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_00011100 (0)(0)(0)(1)(1)(1)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_00011101 (0)(0)(0)(1)(1)(1)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_00011110 (0)(0)(0)(1)(1)(1)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_00011111 (0)(0)(0)(1)(1)(1)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_00100000 (0)(0)(1)(0)(0)(0)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_00100001 (0)(0)(1)(0)(0)(0)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_00100010 (0)(0)(1)(0)(0)(0)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_00100011 (0)(0)(1)(0)(0)(0)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_00100100 (0)(0)(1)(0)(0)(1)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_00100101 (0)(0)(1)(0)(0)(1)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_00100110 (0)(0)(1)(0)(0)(1)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_00100111 (0)(0)(1)(0)(0)(1)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_00101000 (0)(0)(1)(0)(1)(0)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_00101001 (0)(0)(1)(0)(1)(0)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_00101010 (0)(0)(1)(0)(1)(0)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_00101011 (0)(0)(1)(0)(1)(0)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_00101100 (0)(0)(1)(0)(1)(1)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_00101101 (0)(0)(1)(0)(1)(1)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_00101110 (0)(0)(1)(0)(1)(1)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_00101111 (0)(0)(1)(0)(1)(1)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_00110000 (0)(0)(1)(1)(0)(0)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_00110001 (0)(0)(1)(1)(0)(0)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_00110010 (0)(0)(1)(1)(0)(0)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_00110011 (0)(0)(1)(1)(0)(0)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_00110100 (0)(0)(1)(1)(0)(1)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_00110101 (0)(0)(1)(1)(0)(1)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_00110110 (0)(0)(1)(1)(0)(1)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_00110111 (0)(0)(1)(1)(0)(1)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_00111000 (0)(0)(1)(1)(1)(0)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_00111001 (0)(0)(1)(1)(1)(0)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_00111010 (0)(0)(1)(1)(1)(0)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_00111011 (0)(0)(1)(1)(1)(0)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_00111100 (0)(0)(1)(1)(1)(1)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_00111101 (0)(0)(1)(1)(1)(1)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_00111110 (0)(0)(1)(1)(1)(1)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_00111111 (0)(0)(1)(1)(1)(1)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_01000000 (0)(1)(0)(0)(0)(0)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_01000001 (0)(1)(0)(0)(0)(0)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_01000010 (0)(1)(0)(0)(0)(0)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_01000011 (0)(1)(0)(0)(0)(0)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_01000100 (0)(1)(0)(0)(0)(1)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_01000101 (0)(1)(0)(0)(0)(1)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_01000110 (0)(1)(0)(0)(0)(1)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_01000111 (0)(1)(0)(0)(0)(1)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_01001000 (0)(1)(0)(0)(1)(0)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_01001001 (0)(1)(0)(0)(1)(0)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_01001010 (0)(1)(0)(0)(1)(0)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_01001011 (0)(1)(0)(0)(1)(0)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_01001100 (0)(1)(0)(0)(1)(1)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_01001101 (0)(1)(0)(0)(1)(1)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_01001110 (0)(1)(0)(0)(1)(1)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_01001111 (0)(1)(0)(0)(1)(1)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_01010000 (0)(1)(0)(1)(0)(0)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_01010001 (0)(1)(0)(1)(0)(0)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_01010010 (0)(1)(0)(1)(0)(0)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_01010011 (0)(1)(0)(1)(0)(0)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_01010100 (0)(1)(0)(1)(0)(1)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_01010101 (0)(1)(0)(1)(0)(1)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_01010110 (0)(1)(0)(1)(0)(1)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_01010111 (0)(1)(0)(1)(0)(1)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_01011000 (0)(1)(0)(1)(1)(0)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_01011001 (0)(1)(0)(1)(1)(0)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_01011010 (0)(1)(0)(1)(1)(0)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_01011011 (0)(1)(0)(1)(1)(0)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_01011100 (0)(1)(0)(1)(1)(1)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_01011101 (0)(1)(0)(1)(1)(1)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_01011110 (0)(1)(0)(1)(1)(1)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_01011111 (0)(1)(0)(1)(1)(1)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_01100000 (0)(1)(1)(0)(0)(0)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_01100001 (0)(1)(1)(0)(0)(0)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_01100010 (0)(1)(1)(0)(0)(0)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_01100011 (0)(1)(1)(0)(0)(0)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_01100100 (0)(1)(1)(0)(0)(1)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_01100101 (0)(1)(1)(0)(0)(1)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_01100110 (0)(1)(1)(0)(0)(1)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_01100111 (0)(1)(1)(0)(0)(1)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_01101000 (0)(1)(1)(0)(1)(0)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_01101001 (0)(1)(1)(0)(1)(0)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_01101010 (0)(1)(1)(0)(1)(0)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_01101011 (0)(1)(1)(0)(1)(0)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_01101100 (0)(1)(1)(0)(1)(1)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_01101101 (0)(1)(1)(0)(1)(1)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_01101110 (0)(1)(1)(0)(1)(1)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_01101111 (0)(1)(1)(0)(1)(1)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_01110000 (0)(1)(1)(1)(0)(0)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_01110001 (0)(1)(1)(1)(0)(0)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_01110010 (0)(1)(1)(1)(0)(0)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_01110011 (0)(1)(1)(1)(0)(0)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_01110100 (0)(1)(1)(1)(0)(1)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_01110101 (0)(1)(1)(1)(0)(1)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_01110110 (0)(1)(1)(1)(0)(1)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_01110111 (0)(1)(1)(1)(0)(1)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_01111000 (0)(1)(1)(1)(1)(0)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_01111001 (0)(1)(1)(1)(1)(0)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_01111010 (0)(1)(1)(1)(1)(0)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_01111011 (0)(1)(1)(1)(1)(0)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_01111100 (0)(1)(1)(1)(1)(1)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_01111101 (0)(1)(1)(1)(1)(1)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_01111110 (0)(1)(1)(1)(1)(1)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_01111111 (0)(1)(1)(1)(1)(1)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_10000000 (1)(0)(0)(0)(0)(0)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_10000001 (1)(0)(0)(0)(0)(0)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_10000010 (1)(0)(0)(0)(0)(0)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_10000011 (1)(0)(0)(0)(0)(0)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_10000100 (1)(0)(0)(0)(0)(1)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_10000101 (1)(0)(0)(0)(0)(1)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_10000110 (1)(0)(0)(0)(0)(1)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_10000111 (1)(0)(0)(0)(0)(1)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_10001000 (1)(0)(0)(0)(1)(0)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_10001001 (1)(0)(0)(0)(1)(0)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_10001010 (1)(0)(0)(0)(1)(0)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_10001011 (1)(0)(0)(0)(1)(0)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_10001100 (1)(0)(0)(0)(1)(1)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_10001101 (1)(0)(0)(0)(1)(1)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_10001110 (1)(0)(0)(0)(1)(1)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_10001111 (1)(0)(0)(0)(1)(1)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_10010000 (1)(0)(0)(1)(0)(0)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_10010001 (1)(0)(0)(1)(0)(0)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_10010010 (1)(0)(0)(1)(0)(0)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_10010011 (1)(0)(0)(1)(0)(0)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_10010100 (1)(0)(0)(1)(0)(1)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_10010101 (1)(0)(0)(1)(0)(1)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_10010110 (1)(0)(0)(1)(0)(1)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_10010111 (1)(0)(0)(1)(0)(1)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_10011000 (1)(0)(0)(1)(1)(0)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_10011001 (1)(0)(0)(1)(1)(0)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_10011010 (1)(0)(0)(1)(1)(0)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_10011011 (1)(0)(0)(1)(1)(0)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_10011100 (1)(0)(0)(1)(1)(1)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_10011101 (1)(0)(0)(1)(1)(1)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_10011110 (1)(0)(0)(1)(1)(1)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_10011111 (1)(0)(0)(1)(1)(1)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_10100000 (1)(0)(1)(0)(0)(0)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_10100001 (1)(0)(1)(0)(0)(0)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_10100010 (1)(0)(1)(0)(0)(0)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_10100011 (1)(0)(1)(0)(0)(0)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_10100100 (1)(0)(1)(0)(0)(1)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_10100101 (1)(0)(1)(0)(0)(1)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_10100110 (1)(0)(1)(0)(0)(1)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_10100111 (1)(0)(1)(0)(0)(1)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_10101000 (1)(0)(1)(0)(1)(0)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_10101001 (1)(0)(1)(0)(1)(0)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_10101010 (1)(0)(1)(0)(1)(0)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_10101011 (1)(0)(1)(0)(1)(0)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_10101100 (1)(0)(1)(0)(1)(1)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_10101101 (1)(0)(1)(0)(1)(1)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_10101110 (1)(0)(1)(0)(1)(1)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_10101111 (1)(0)(1)(0)(1)(1)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_10110000 (1)(0)(1)(1)(0)(0)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_10110001 (1)(0)(1)(1)(0)(0)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_10110010 (1)(0)(1)(1)(0)(0)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_10110011 (1)(0)(1)(1)(0)(0)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_10110100 (1)(0)(1)(1)(0)(1)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_10110101 (1)(0)(1)(1)(0)(1)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_10110110 (1)(0)(1)(1)(0)(1)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_10110111 (1)(0)(1)(1)(0)(1)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_10111000 (1)(0)(1)(1)(1)(0)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_10111001 (1)(0)(1)(1)(1)(0)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_10111010 (1)(0)(1)(1)(1)(0)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_10111011 (1)(0)(1)(1)(1)(0)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_10111100 (1)(0)(1)(1)(1)(1)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_10111101 (1)(0)(1)(1)(1)(1)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_10111110 (1)(0)(1)(1)(1)(1)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_10111111 (1)(0)(1)(1)(1)(1)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_11000000 (1)(1)(0)(0)(0)(0)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_11000001 (1)(1)(0)(0)(0)(0)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_11000010 (1)(1)(0)(0)(0)(0)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_11000011 (1)(1)(0)(0)(0)(0)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_11000100 (1)(1)(0)(0)(0)(1)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_11000101 (1)(1)(0)(0)(0)(1)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_11000110 (1)(1)(0)(0)(0)(1)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_11000111 (1)(1)(0)(0)(0)(1)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_11001000 (1)(1)(0)(0)(1)(0)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_11001001 (1)(1)(0)(0)(1)(0)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_11001010 (1)(1)(0)(0)(1)(0)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_11001011 (1)(1)(0)(0)(1)(0)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_11001100 (1)(1)(0)(0)(1)(1)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_11001101 (1)(1)(0)(0)(1)(1)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_11001110 (1)(1)(0)(0)(1)(1)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_11001111 (1)(1)(0)(0)(1)(1)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_11010000 (1)(1)(0)(1)(0)(0)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_11010001 (1)(1)(0)(1)(0)(0)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_11010010 (1)(1)(0)(1)(0)(0)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_11010011 (1)(1)(0)(1)(0)(0)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_11010100 (1)(1)(0)(1)(0)(1)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_11010101 (1)(1)(0)(1)(0)(1)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_11010110 (1)(1)(0)(1)(0)(1)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_11010111 (1)(1)(0)(1)(0)(1)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_11011000 (1)(1)(0)(1)(1)(0)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_11011001 (1)(1)(0)(1)(1)(0)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_11011010 (1)(1)(0)(1)(1)(0)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_11011011 (1)(1)(0)(1)(1)(0)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_11011100 (1)(1)(0)(1)(1)(1)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_11011101 (1)(1)(0)(1)(1)(1)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_11011110 (1)(1)(0)(1)(1)(1)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_11011111 (1)(1)(0)(1)(1)(1)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_11100000 (1)(1)(1)(0)(0)(0)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_11100001 (1)(1)(1)(0)(0)(0)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_11100010 (1)(1)(1)(0)(0)(0)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_11100011 (1)(1)(1)(0)(0)(0)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_11100100 (1)(1)(1)(0)(0)(1)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_11100101 (1)(1)(1)(0)(0)(1)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_11100110 (1)(1)(1)(0)(0)(1)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_11100111 (1)(1)(1)(0)(0)(1)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_11101000 (1)(1)(1)(0)(1)(0)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_11101001 (1)(1)(1)(0)(1)(0)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_11101010 (1)(1)(1)(0)(1)(0)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_11101011 (1)(1)(1)(0)(1)(0)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_11101100 (1)(1)(1)(0)(1)(1)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_11101101 (1)(1)(1)(0)(1)(1)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_11101110 (1)(1)(1)(0)(1)(1)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_11101111 (1)(1)(1)(0)(1)(1)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_11110000 (1)(1)(1)(1)(0)(0)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_11110001 (1)(1)(1)(1)(0)(0)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_11110010 (1)(1)(1)(1)(0)(0)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_11110011 (1)(1)(1)(1)(0)(0)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_11110100 (1)(1)(1)(1)(0)(1)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_11110101 (1)(1)(1)(1)(0)(1)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_11110110 (1)(1)(1)(1)(0)(1)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_11110111 (1)(1)(1)(1)(0)(1)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_11111000 (1)(1)(1)(1)(1)(0)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_11111001 (1)(1)(1)(1)(1)(0)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_11111010 (1)(1)(1)(1)(1)(0)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_11111011 (1)(1)(1)(1)(1)(0)(1)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_11111100 (1)(1)(1)(1)(1)(1)(0)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_11111101 (1)(1)(1)(1)(1)(1)(0)(1), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_11111110 (1)(1)(1)(1)(1)(1)(1)(0), 
+#define NDNBOOST_DETAIL_BINARY_LITERAL_ELEMENT_11111111 (1)(1)(1)(1)(1)(1)(1)(1), 
 
 #endif
diff --git a/include/ndnboost/utility/compare_pointees.hpp b/include/ndnboost/utility/compare_pointees.hpp
index 6e20bf0..11f1ddd 100644
--- a/include/ndnboost/utility/compare_pointees.hpp
+++ b/include/ndnboost/utility/compare_pointees.hpp
@@ -9,8 +9,8 @@
 // You are welcome to contact the author at:
 //  fernando_cacciola@hotmail.com
 //
-#ifndef BOOST_UTILITY_COMPARE_POINTEES_25AGO2003_HPP
-#define BOOST_UTILITY_COMPARE_POINTEES_25AGO2003_HPP
+#ifndef NDNBOOST_UTILITY_COMPARE_POINTEES_25AGO2003_HPP
+#define NDNBOOST_UTILITY_COMPARE_POINTEES_25AGO2003_HPP
 
 #include<functional>
 
diff --git a/include/ndnboost/utility/declval.hpp b/include/ndnboost/utility/declval.hpp
index c22154c..b9e1a35 100644
--- a/include/ndnboost/utility/declval.hpp
+++ b/include/ndnboost/utility/declval.hpp
@@ -5,8 +5,8 @@
 //  Distributed under the Boost Software License, Version 1.0.
 //  See http://www.boost.org/LICENSE_1_0.txt
 
-#ifndef BOOST_TYPE_TRAITS_EXT_DECLVAL__HPP
-#define BOOST_TYPE_TRAITS_EXT_DECLVAL__HPP
+#ifndef NDNBOOST_TYPE_TRAITS_EXT_DECLVAL__HPP
+#define NDNBOOST_TYPE_TRAITS_EXT_DECLVAL__HPP
 
 #include <ndnboost/config.hpp>
 
@@ -37,13 +37,13 @@
 
 namespace ndnboost {
 
-//#if !defined(BOOST_NO_RVALUE_REFERENCES)
+//#if !defined(NDNBOOST_NO_RVALUE_REFERENCES)
     template <typename T>
-    typename add_rvalue_reference<T>::type declval() BOOST_NOEXCEPT; // as unevaluated operand
+    typename add_rvalue_reference<T>::type declval() NDNBOOST_NOEXCEPT; // as unevaluated operand
 //#else
 //    template <typename T>
-//    typename add_lvalue_reference<T>::type declval() BOOST_NOEXCEPT; // as unevaluated operand
+//    typename add_lvalue_reference<T>::type declval() NDNBOOST_NOEXCEPT; // as unevaluated operand
 //#endif
 }  // namespace ndnboost
 
-#endif  // BOOST_TYPE_TRAITS_EXT_DECLVAL__HPP
+#endif  // NDNBOOST_TYPE_TRAITS_EXT_DECLVAL__HPP
diff --git a/include/ndnboost/utility/detail/in_place_factory_prefix.hpp b/include/ndnboost/utility/detail/in_place_factory_prefix.hpp
index 17c82e7..1c4c5ac 100644
--- a/include/ndnboost/utility/detail/in_place_factory_prefix.hpp
+++ b/include/ndnboost/utility/detail/in_place_factory_prefix.hpp
@@ -10,8 +10,8 @@
 // You are welcome to contact the author at:
 //  fernando_cacciola@hotmail.com
 //
-#ifndef BOOST_UTILITY_DETAIL_INPLACE_FACTORY_PREFIX_04APR2007_HPP
-#define BOOST_UTILITY_DETAIL_INPLACE_FACTORY_PREFIX_04APR2007_HPP
+#ifndef NDNBOOST_UTILITY_DETAIL_INPLACE_FACTORY_PREFIX_04APR2007_HPP
+#define NDNBOOST_UTILITY_DETAIL_INPLACE_FACTORY_PREFIX_04APR2007_HPP
 
 #include <new>
 #include <cstddef>
@@ -25,12 +25,12 @@
 #include <ndnboost/preprocessor/repetition/enum_binary_params.hpp>
 #include <ndnboost/preprocessor/repetition/enum_trailing_params.hpp>
 
-#define BOOST_DEFINE_INPLACE_FACTORY_CLASS_MEMBER_INIT(z,n,_) BOOST_PP_CAT(m_a,n) BOOST_PP_LPAREN() BOOST_PP_CAT(a,n) BOOST_PP_RPAREN()
-#define BOOST_DEFINE_INPLACE_FACTORY_CLASS_MEMBER_DECL(z,n,_) BOOST_PP_CAT(A,n) const& BOOST_PP_CAT(m_a,n);
+#define NDNBOOST_DEFINE_INPLACE_FACTORY_CLASS_MEMBER_INIT(z,n,_) NDNBOOST_PP_CAT(m_a,n) NDNBOOST_PP_LPAREN() NDNBOOST_PP_CAT(a,n) NDNBOOST_PP_RPAREN()
+#define NDNBOOST_DEFINE_INPLACE_FACTORY_CLASS_MEMBER_DECL(z,n,_) NDNBOOST_PP_CAT(A,n) const& NDNBOOST_PP_CAT(m_a,n);
 
-#define BOOST_MAX_INPLACE_FACTORY_ARITY 10
+#define NDNBOOST_MAX_INPLACE_FACTORY_ARITY 10
 
-#undef BOOST_UTILITY_DETAIL_INPLACE_FACTORY_SUFFIX_04APR2007_HPP
+#undef NDNBOOST_UTILITY_DETAIL_INPLACE_FACTORY_SUFFIX_04APR2007_HPP
 
 #endif
 
diff --git a/include/ndnboost/utility/detail/in_place_factory_suffix.hpp b/include/ndnboost/utility/detail/in_place_factory_suffix.hpp
index 58f48c7..2762da1 100644
--- a/include/ndnboost/utility/detail/in_place_factory_suffix.hpp
+++ b/include/ndnboost/utility/detail/in_place_factory_suffix.hpp
@@ -10,14 +10,14 @@
 // You are welcome to contact the author at:
 //  fernando_cacciola@hotmail.com
 //
-#ifndef BOOST_UTILITY_DETAIL_INPLACE_FACTORY_SUFFIX_04APR2007_HPP
-#define BOOST_UTILITY_DETAIL_INPLACE_FACTORY_SUFFIX_04APR2007_HPP
+#ifndef NDNBOOST_UTILITY_DETAIL_INPLACE_FACTORY_SUFFIX_04APR2007_HPP
+#define NDNBOOST_UTILITY_DETAIL_INPLACE_FACTORY_SUFFIX_04APR2007_HPP
 
-#undef BOOST_DEFINE_INPLACE_FACTORY_CLASS_MEMBER_INIT
-#undef BOOST_DEFINE_INPLACE_FACTORY_CLASS_MEMBER_DECL
-#undef BOOST_MAX_INPLACE_FACTORY_ARITY
+#undef NDNBOOST_DEFINE_INPLACE_FACTORY_CLASS_MEMBER_INIT
+#undef NDNBOOST_DEFINE_INPLACE_FACTORY_CLASS_MEMBER_DECL
+#undef NDNBOOST_MAX_INPLACE_FACTORY_ARITY
 
-#undef BOOST_UTILITY_DETAIL_INPLACE_FACTORY_PREFIX_04APR2007_HPP
+#undef NDNBOOST_UTILITY_DETAIL_INPLACE_FACTORY_PREFIX_04APR2007_HPP
 
 #endif
 
diff --git a/include/ndnboost/utility/detail/result_of_iterate.hpp b/include/ndnboost/utility/detail/result_of_iterate.hpp
index 3a9dc3f..96298a4 100644
--- a/include/ndnboost/utility/detail/result_of_iterate.hpp
+++ b/include/ndnboost/utility/detail/result_of_iterate.hpp
@@ -11,192 +11,192 @@
 //  copy at http://www.boost.org/LICENSE_1_0.txt)
 
 // For more information, see http://www.boost.org/libs/utility
-#if !defined(BOOST_PP_IS_ITERATING)
+#if !defined(NDNBOOST_PP_IS_ITERATING)
 # error Boost result_of - do not include this file!
 #endif
 
 // CWPro8 requires an argument in a function type specialization
-#if BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3002)) && BOOST_PP_ITERATION() == 0
-# define BOOST_RESULT_OF_ARGS void
+#if NDNBOOST_WORKAROUND(__MWERKS__, NDNBOOST_TESTED_AT(0x3002)) && NDNBOOST_PP_ITERATION() == 0
+# define NDNBOOST_RESULT_OF_ARGS void
 #else
-# define BOOST_RESULT_OF_ARGS BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(),T)
+# define NDNBOOST_RESULT_OF_ARGS NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_ITERATION(),T)
 #endif
 
-#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x551))
-template<typename F BOOST_PP_ENUM_TRAILING_PARAMS(BOOST_PP_ITERATION(),typename T)>
-struct tr1_result_of<F(BOOST_RESULT_OF_ARGS)>
+#if !NDNBOOST_WORKAROUND(__BORLANDC__, NDNBOOST_TESTED_AT(0x551))
+template<typename F NDNBOOST_PP_ENUM_TRAILING_PARAMS(NDNBOOST_PP_ITERATION(),typename T)>
+struct tr1_result_of<F(NDNBOOST_RESULT_OF_ARGS)>
     : mpl::if_<
           mpl::or_< is_pointer<F>, is_member_function_pointer<F> >
         , ndnboost::detail::tr1_result_of_impl<
             typename remove_cv<F>::type,
-            typename remove_cv<F>::type(BOOST_RESULT_OF_ARGS),
+            typename remove_cv<F>::type(NDNBOOST_RESULT_OF_ARGS),
             (ndnboost::detail::has_result_type<F>::value)>
         , ndnboost::detail::tr1_result_of_impl<
             F,
-            F(BOOST_RESULT_OF_ARGS),
+            F(NDNBOOST_RESULT_OF_ARGS),
             (ndnboost::detail::has_result_type<F>::value)> >::type { };
 #endif
 
-#ifdef BOOST_RESULT_OF_USE_DECLTYPE
+#ifdef NDNBOOST_RESULT_OF_USE_DECLTYPE
 
 // Uses declval following N3225 20.7.7.6 when F is not a pointer.
-template<typename F BOOST_PP_ENUM_TRAILING_PARAMS(BOOST_PP_ITERATION(),typename T)>
-struct result_of<F(BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(),T))>
+template<typename F NDNBOOST_PP_ENUM_TRAILING_PARAMS(NDNBOOST_PP_ITERATION(),typename T)>
+struct result_of<F(NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_ITERATION(),T))>
     : mpl::if_<
           is_member_function_pointer<F>
         , detail::tr1_result_of_impl<
             typename remove_cv<F>::type,
-            typename remove_cv<F>::type(BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(),T)), false
+            typename remove_cv<F>::type(NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_ITERATION(),T)), false
           >
         , detail::cpp0x_result_of_impl<
-              F(BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(),T))
+              F(NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_ITERATION(),T))
           >
       >::type
 {};
 
 namespace detail {
 
-#ifdef BOOST_NO_SFINAE_EXPR
+#ifdef NDNBOOST_NO_SFINAE_EXPR
 
 template<typename F>
-struct BOOST_PP_CAT(result_of_callable_fun_2_, BOOST_PP_ITERATION());
+struct NDNBOOST_PP_CAT(result_of_callable_fun_2_, NDNBOOST_PP_ITERATION());
 
-template<typename R BOOST_PP_ENUM_TRAILING_PARAMS(BOOST_PP_ITERATION(), typename T)>
-struct BOOST_PP_CAT(result_of_callable_fun_2_, BOOST_PP_ITERATION())<R(BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(), T))> {
-    R operator()(BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(), T)) const;
+template<typename R NDNBOOST_PP_ENUM_TRAILING_PARAMS(NDNBOOST_PP_ITERATION(), typename T)>
+struct NDNBOOST_PP_CAT(result_of_callable_fun_2_, NDNBOOST_PP_ITERATION())<R(NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_ITERATION(), T))> {
+    R operator()(NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_ITERATION(), T)) const;
     typedef result_of_private_type const &(*pfn_t)(...);
     operator pfn_t() const volatile;
 };
 
 template<typename F>
-struct BOOST_PP_CAT(result_of_callable_fun_, BOOST_PP_ITERATION());
+struct NDNBOOST_PP_CAT(result_of_callable_fun_, NDNBOOST_PP_ITERATION());
 
 template<typename F>
-struct BOOST_PP_CAT(result_of_callable_fun_, BOOST_PP_ITERATION())<F *>
-  : BOOST_PP_CAT(result_of_callable_fun_2_, BOOST_PP_ITERATION())<F>
+struct NDNBOOST_PP_CAT(result_of_callable_fun_, NDNBOOST_PP_ITERATION())<F *>
+  : NDNBOOST_PP_CAT(result_of_callable_fun_2_, NDNBOOST_PP_ITERATION())<F>
 {};
 
 template<typename F>
-struct BOOST_PP_CAT(result_of_callable_fun_, BOOST_PP_ITERATION())<F &>
-  : BOOST_PP_CAT(result_of_callable_fun_2_, BOOST_PP_ITERATION())<F>
+struct NDNBOOST_PP_CAT(result_of_callable_fun_, NDNBOOST_PP_ITERATION())<F &>
+  : NDNBOOST_PP_CAT(result_of_callable_fun_2_, NDNBOOST_PP_ITERATION())<F>
 {};
 
 template<typename F>
-struct BOOST_PP_CAT(result_of_select_call_wrapper_type_, BOOST_PP_ITERATION())
+struct NDNBOOST_PP_CAT(result_of_select_call_wrapper_type_, NDNBOOST_PP_ITERATION())
   : mpl::eval_if<
         is_class<typename remove_reference<F>::type>,
         result_of_wrap_callable_class<F>,
-        mpl::identity<BOOST_PP_CAT(result_of_callable_fun_, BOOST_PP_ITERATION())<typename remove_cv<F>::type> >
+        mpl::identity<NDNBOOST_PP_CAT(result_of_callable_fun_, NDNBOOST_PP_ITERATION())<typename remove_cv<F>::type> >
     >
 {};
 
-template<typename F BOOST_PP_ENUM_TRAILING_PARAMS(BOOST_PP_ITERATION(), typename T)>
-struct BOOST_PP_CAT(result_of_is_callable_, BOOST_PP_ITERATION()) {
-    typedef typename BOOST_PP_CAT(result_of_select_call_wrapper_type_, BOOST_PP_ITERATION())<F>::type wrapper_t;
+template<typename F NDNBOOST_PP_ENUM_TRAILING_PARAMS(NDNBOOST_PP_ITERATION(), typename T)>
+struct NDNBOOST_PP_CAT(result_of_is_callable_, NDNBOOST_PP_ITERATION()) {
+    typedef typename NDNBOOST_PP_CAT(result_of_select_call_wrapper_type_, NDNBOOST_PP_ITERATION())<F>::type wrapper_t;
     static const bool value = (
         sizeof(result_of_no_type) == sizeof(detail::result_of_is_private_type(
-            (ndnboost::declval<wrapper_t>()(BOOST_PP_ENUM_BINARY_PARAMS(BOOST_PP_ITERATION(), ndnboost::declval<T, >() BOOST_PP_INTERCEPT)), result_of_weird_type())
+            (ndnboost::declval<wrapper_t>()(NDNBOOST_PP_ENUM_BINARY_PARAMS(NDNBOOST_PP_ITERATION(), ndnboost::declval<T, >() NDNBOOST_PP_INTERCEPT)), result_of_weird_type())
         ))
     );
     typedef mpl::bool_<value> type;
 };
 
-template<typename F BOOST_PP_ENUM_TRAILING_PARAMS(BOOST_PP_ITERATION(),typename T)>
-struct cpp0x_result_of_impl<F(BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(),T)), true>
+template<typename F NDNBOOST_PP_ENUM_TRAILING_PARAMS(NDNBOOST_PP_ITERATION(),typename T)>
+struct cpp0x_result_of_impl<F(NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_ITERATION(),T)), true>
     : lazy_enable_if<
-          BOOST_PP_CAT(result_of_is_callable_, BOOST_PP_ITERATION())<F BOOST_PP_ENUM_TRAILING_PARAMS(BOOST_PP_ITERATION(), T)>
-        , cpp0x_result_of_impl<F(BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(),T)), false>
+          NDNBOOST_PP_CAT(result_of_is_callable_, NDNBOOST_PP_ITERATION())<F NDNBOOST_PP_ENUM_TRAILING_PARAMS(NDNBOOST_PP_ITERATION(), T)>
+        , cpp0x_result_of_impl<F(NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_ITERATION(),T)), false>
       >
 {};
 
-template<typename F BOOST_PP_ENUM_TRAILING_PARAMS(BOOST_PP_ITERATION(),typename T)>
-struct cpp0x_result_of_impl<F(BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(),T)), false>
+template<typename F NDNBOOST_PP_ENUM_TRAILING_PARAMS(NDNBOOST_PP_ITERATION(),typename T)>
+struct cpp0x_result_of_impl<F(NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_ITERATION(),T)), false>
 {
   typedef decltype(
     ndnboost::declval<F>()(
-      BOOST_PP_ENUM_BINARY_PARAMS(BOOST_PP_ITERATION(), ndnboost::declval<T, >() BOOST_PP_INTERCEPT)
+      NDNBOOST_PP_ENUM_BINARY_PARAMS(NDNBOOST_PP_ITERATION(), ndnboost::declval<T, >() NDNBOOST_PP_INTERCEPT)
     )
   ) type;
 };
 
-#else // BOOST_NO_SFINAE_EXPR
+#else // NDNBOOST_NO_SFINAE_EXPR
 
-template<typename F BOOST_PP_ENUM_TRAILING_PARAMS(BOOST_PP_ITERATION(),typename T)>
-struct cpp0x_result_of_impl<F(BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(),T)),
+template<typename F NDNBOOST_PP_ENUM_TRAILING_PARAMS(NDNBOOST_PP_ITERATION(),typename T)>
+struct cpp0x_result_of_impl<F(NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_ITERATION(),T)),
                             typename result_of_always_void<decltype(
                                 ndnboost::declval<F>()(
-                                    BOOST_PP_ENUM_BINARY_PARAMS(BOOST_PP_ITERATION(), ndnboost::declval<T, >() BOOST_PP_INTERCEPT)
+                                    NDNBOOST_PP_ENUM_BINARY_PARAMS(NDNBOOST_PP_ITERATION(), ndnboost::declval<T, >() NDNBOOST_PP_INTERCEPT)
                                 )
                             )>::type> {
   typedef decltype(
     ndnboost::declval<F>()(
-      BOOST_PP_ENUM_BINARY_PARAMS(BOOST_PP_ITERATION(), ndnboost::declval<T, >() BOOST_PP_INTERCEPT)
+      NDNBOOST_PP_ENUM_BINARY_PARAMS(NDNBOOST_PP_ITERATION(), ndnboost::declval<T, >() NDNBOOST_PP_INTERCEPT)
     )
   ) type;
 };
 
-#endif // BOOST_NO_SFINAE_EXPR
+#endif // NDNBOOST_NO_SFINAE_EXPR
 
 } // namespace detail
 
-#else // defined(BOOST_RESULT_OF_USE_DECLTYPE)
+#else // defined(NDNBOOST_RESULT_OF_USE_DECLTYPE)
 
-#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x551))
-template<typename F BOOST_PP_ENUM_TRAILING_PARAMS(BOOST_PP_ITERATION(),typename T)>
-struct result_of<F(BOOST_RESULT_OF_ARGS)>
-    : tr1_result_of<F(BOOST_RESULT_OF_ARGS)> { };
+#if !NDNBOOST_WORKAROUND(__BORLANDC__, NDNBOOST_TESTED_AT(0x551))
+template<typename F NDNBOOST_PP_ENUM_TRAILING_PARAMS(NDNBOOST_PP_ITERATION(),typename T)>
+struct result_of<F(NDNBOOST_RESULT_OF_ARGS)>
+    : tr1_result_of<F(NDNBOOST_RESULT_OF_ARGS)> { };
 #endif
 
-#endif // defined(BOOST_RESULT_OF_USE_DECLTYPE)
+#endif // defined(NDNBOOST_RESULT_OF_USE_DECLTYPE)
 
-#undef BOOST_RESULT_OF_ARGS
+#undef NDNBOOST_RESULT_OF_ARGS
 
-#if BOOST_PP_ITERATION() >= 1
+#if NDNBOOST_PP_ITERATION() >= 1
 
 namespace detail {
 
-template<typename R,  typename FArgs BOOST_PP_ENUM_TRAILING_PARAMS(BOOST_PP_ITERATION(),typename T)>
-struct tr1_result_of_impl<R (*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(),T)), FArgs, false>
+template<typename R,  typename FArgs NDNBOOST_PP_ENUM_TRAILING_PARAMS(NDNBOOST_PP_ITERATION(),typename T)>
+struct tr1_result_of_impl<R (*)(NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_ITERATION(),T)), FArgs, false>
 {
   typedef R type;
 };
 
-template<typename R,  typename FArgs BOOST_PP_ENUM_TRAILING_PARAMS(BOOST_PP_ITERATION(),typename T)>
-struct tr1_result_of_impl<R (&)(BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(),T)), FArgs, false>
+template<typename R,  typename FArgs NDNBOOST_PP_ENUM_TRAILING_PARAMS(NDNBOOST_PP_ITERATION(),typename T)>
+struct tr1_result_of_impl<R (&)(NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_ITERATION(),T)), FArgs, false>
 {
   typedef R type;
 };
 
-#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x551))
-template<typename R, typename FArgs BOOST_PP_ENUM_TRAILING_PARAMS(BOOST_PP_ITERATION(),typename T)>
+#if !NDNBOOST_WORKAROUND(__BORLANDC__, NDNBOOST_TESTED_AT(0x551))
+template<typename R, typename FArgs NDNBOOST_PP_ENUM_TRAILING_PARAMS(NDNBOOST_PP_ITERATION(),typename T)>
 struct tr1_result_of_impl<R (T0::*)
-                     (BOOST_PP_ENUM_SHIFTED_PARAMS(BOOST_PP_ITERATION(),T)),
+                     (NDNBOOST_PP_ENUM_SHIFTED_PARAMS(NDNBOOST_PP_ITERATION(),T)),
                  FArgs, false>
 {
   typedef R type;
 };
 
-template<typename R, typename FArgs BOOST_PP_ENUM_TRAILING_PARAMS(BOOST_PP_ITERATION(),typename T)>
+template<typename R, typename FArgs NDNBOOST_PP_ENUM_TRAILING_PARAMS(NDNBOOST_PP_ITERATION(),typename T)>
 struct tr1_result_of_impl<R (T0::*)
-                     (BOOST_PP_ENUM_SHIFTED_PARAMS(BOOST_PP_ITERATION(),T))
+                     (NDNBOOST_PP_ENUM_SHIFTED_PARAMS(NDNBOOST_PP_ITERATION(),T))
                      const,
                  FArgs, false>
 {
   typedef R type;
 };
 
-template<typename R, typename FArgs BOOST_PP_ENUM_TRAILING_PARAMS(BOOST_PP_ITERATION(),typename T)>
+template<typename R, typename FArgs NDNBOOST_PP_ENUM_TRAILING_PARAMS(NDNBOOST_PP_ITERATION(),typename T)>
 struct tr1_result_of_impl<R (T0::*)
-                     (BOOST_PP_ENUM_SHIFTED_PARAMS(BOOST_PP_ITERATION(),T))
+                     (NDNBOOST_PP_ENUM_SHIFTED_PARAMS(NDNBOOST_PP_ITERATION(),T))
                      volatile,
                  FArgs, false>
 {
   typedef R type;
 };
 
-template<typename R, typename FArgs BOOST_PP_ENUM_TRAILING_PARAMS(BOOST_PP_ITERATION(),typename T)>
+template<typename R, typename FArgs NDNBOOST_PP_ENUM_TRAILING_PARAMS(NDNBOOST_PP_ITERATION(),typename T)>
 struct tr1_result_of_impl<R (T0::*)
-                     (BOOST_PP_ENUM_SHIFTED_PARAMS(BOOST_PP_ITERATION(),T))
+                     (NDNBOOST_PP_ENUM_SHIFTED_PARAMS(NDNBOOST_PP_ITERATION(),T))
                      const volatile,
                  FArgs, false>
 {
diff --git a/include/ndnboost/utility/enable_if.hpp b/include/ndnboost/utility/enable_if.hpp
index 85ed292..04128d6 100644
--- a/include/ndnboost/utility/enable_if.hpp
+++ b/include/ndnboost/utility/enable_if.hpp
@@ -11,15 +11,15 @@
 //             Andrew Lumsdaine (lums at osl.iu.edu)
 
 
-#ifndef BOOST_UTILITY_ENABLE_IF_HPP
-#define BOOST_UTILITY_ENABLE_IF_HPP
+#ifndef NDNBOOST_UTILITY_ENABLE_IF_HPP
+#define NDNBOOST_UTILITY_ENABLE_IF_HPP
 
 #include "ndnboost/config.hpp"
 
 // Even the definition of enable_if causes problems on some compilers,
 // so it's macroed out for all compilers that do not support SFINAE
 
-#ifndef BOOST_NO_SFINAE
+#ifndef NDNBOOST_NO_SFINAE
 
 namespace ndnboost
 {
@@ -114,6 +114,6 @@
 
 } // namespace ndnboost
 
-#endif // BOOST_NO_SFINAE
+#endif // NDNBOOST_NO_SFINAE
 
 #endif
diff --git a/include/ndnboost/utility/identity_type.hpp b/include/ndnboost/utility/identity_type.hpp
index 060ddbd..37eb835 100644
--- a/include/ndnboost/utility/identity_type.hpp
+++ b/include/ndnboost/utility/identity_type.hpp
@@ -10,8 +10,8 @@
 even if they contain commas.
 */
 
-#ifndef BOOST_IDENTITY_TYPE_HPP_
-#define BOOST_IDENTITY_TYPE_HPP_
+#ifndef NDNBOOST_IDENTITY_TYPE_HPP_
+#define NDNBOOST_IDENTITY_TYPE_HPP_
 
 #include <ndnboost/type_traits/function_traits.hpp>
 
@@ -38,7 +38,7 @@
 On some compilers (like GCC), using this macro on abstract types requires to
 add and remove a reference to the specified type.
 */
-#define BOOST_IDENTITY_TYPE(parenthesized_type) \
+#define NDNBOOST_IDENTITY_TYPE(parenthesized_type) \
     /* must NOT prefix this with `::` to work with parenthesized syntax */ \
     ndnboost::function_traits< void parenthesized_type >::arg1_type
 
diff --git a/include/ndnboost/utility/in_place_factory.hpp b/include/ndnboost/utility/in_place_factory.hpp
index f849649..cc077dd 100644
--- a/include/ndnboost/utility/in_place_factory.hpp
+++ b/include/ndnboost/utility/in_place_factory.hpp
@@ -10,8 +10,8 @@
 // You are welcome to contact the author at:
 //  fernando_cacciola@hotmail.com
 //
-#ifndef BOOST_UTILITY_INPLACE_FACTORY_04APR2007_HPP
-#ifndef BOOST_PP_IS_ITERATING
+#ifndef NDNBOOST_UTILITY_INPLACE_FACTORY_04APR2007_HPP
+#ifndef NDNBOOST_PP_IS_ITERATING
 
 #include <ndnboost/utility/detail/in_place_factory_prefix.hpp>
 
@@ -19,61 +19,61 @@
 
 class in_place_factory_base {} ;
 
-#define  BOOST_PP_ITERATION_LIMITS (0, BOOST_MAX_INPLACE_FACTORY_ARITY)
-#define  BOOST_PP_FILENAME_1 <ndnboost/utility/in_place_factory.hpp>
-#include BOOST_PP_ITERATE()
+#define  NDNBOOST_PP_ITERATION_LIMITS (0, NDNBOOST_MAX_INPLACE_FACTORY_ARITY)
+#define  NDNBOOST_PP_FILENAME_1 <ndnboost/utility/in_place_factory.hpp>
+#include NDNBOOST_PP_ITERATE()
 
 } // namespace ndnboost
 
 #include <ndnboost/utility/detail/in_place_factory_suffix.hpp>
 
-#define BOOST_UTILITY_INPLACE_FACTORY_04APR2007_HPP
+#define NDNBOOST_UTILITY_INPLACE_FACTORY_04APR2007_HPP
 #else
-#define N BOOST_PP_ITERATION()
+#define N NDNBOOST_PP_ITERATION()
 
 #if N
-template< BOOST_PP_ENUM_PARAMS(N, class A) >
+template< NDNBOOST_PP_ENUM_PARAMS(N, class A) >
 #endif
-class BOOST_PP_CAT(in_place_factory,N)
+class NDNBOOST_PP_CAT(in_place_factory,N)
   : 
   public in_place_factory_base
 {
 public:
 
-  explicit BOOST_PP_CAT(in_place_factory,N)
-      ( BOOST_PP_ENUM_BINARY_PARAMS(N,A,const& a) )
+  explicit NDNBOOST_PP_CAT(in_place_factory,N)
+      ( NDNBOOST_PP_ENUM_BINARY_PARAMS(N,A,const& a) )
 #if N > 0
-    : BOOST_PP_ENUM(N, BOOST_DEFINE_INPLACE_FACTORY_CLASS_MEMBER_INIT, _)
+    : NDNBOOST_PP_ENUM(N, NDNBOOST_DEFINE_INPLACE_FACTORY_CLASS_MEMBER_INIT, _)
 #endif
   {}
 
   template<class T>
   void* apply(void* address
-      BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE(T)) const
+      NDNBOOST_APPEND_EXPLICIT_TEMPLATE_TYPE(T)) const
   {
-    return new(address) T( BOOST_PP_ENUM_PARAMS(N, m_a) );
+    return new(address) T( NDNBOOST_PP_ENUM_PARAMS(N, m_a) );
   }
 
   template<class T>
   void* apply(void* address, std::size_t n
-      BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE(T)) const
+      NDNBOOST_APPEND_EXPLICIT_TEMPLATE_TYPE(T)) const
   {
-    for(char* next = address = this->BOOST_NESTED_TEMPLATE apply<T>(address);
+    for(char* next = address = this->NDNBOOST_NESTED_TEMPLATE apply<T>(address);
         !! --n;)
-      this->BOOST_NESTED_TEMPLATE apply<T>(next = next+sizeof(T));
+      this->NDNBOOST_NESTED_TEMPLATE apply<T>(next = next+sizeof(T));
     return address; 
   }
 
-  BOOST_PP_REPEAT(N, BOOST_DEFINE_INPLACE_FACTORY_CLASS_MEMBER_DECL, _)
+  NDNBOOST_PP_REPEAT(N, NDNBOOST_DEFINE_INPLACE_FACTORY_CLASS_MEMBER_DECL, _)
 };
 
 #if N > 0
-template< BOOST_PP_ENUM_PARAMS(N, class A) >
-inline BOOST_PP_CAT(in_place_factory,N)< BOOST_PP_ENUM_PARAMS(N, A) >
-in_place( BOOST_PP_ENUM_BINARY_PARAMS(N, A, const& a) )
+template< NDNBOOST_PP_ENUM_PARAMS(N, class A) >
+inline NDNBOOST_PP_CAT(in_place_factory,N)< NDNBOOST_PP_ENUM_PARAMS(N, A) >
+in_place( NDNBOOST_PP_ENUM_BINARY_PARAMS(N, A, const& a) )
 {
-  return BOOST_PP_CAT(in_place_factory,N)< BOOST_PP_ENUM_PARAMS(N, A) >
-      ( BOOST_PP_ENUM_PARAMS(N, a) );
+  return NDNBOOST_PP_CAT(in_place_factory,N)< NDNBOOST_PP_ENUM_PARAMS(N, A) >
+      ( NDNBOOST_PP_ENUM_PARAMS(N, a) );
 }
 #else
 inline in_place_factory0 in_place()
diff --git a/include/ndnboost/utility/result_of.hpp b/include/ndnboost/utility/result_of.hpp
index 7cc2ec6..b98fc8a 100644
--- a/include/ndnboost/utility/result_of.hpp
+++ b/include/ndnboost/utility/result_of.hpp
@@ -6,8 +6,8 @@
 //  http://www.boost.org/LICENSE_1_0.txt)
 
 // For more information, see http://www.boost.org/libs/utility
-#ifndef BOOST_RESULT_OF_HPP
-#define BOOST_RESULT_OF_HPP
+#ifndef NDNBOOST_RESULT_OF_HPP
+#define NDNBOOST_RESULT_OF_HPP
 
 #include <ndnboost/config.hpp>
 #include <ndnboost/preprocessor/cat.hpp>
@@ -32,24 +32,24 @@
 #include <ndnboost/utility/declval.hpp>
 #include <ndnboost/utility/enable_if.hpp>
 
-#ifndef BOOST_RESULT_OF_NUM_ARGS
-#  define BOOST_RESULT_OF_NUM_ARGS 16
+#ifndef NDNBOOST_RESULT_OF_NUM_ARGS
+#  define NDNBOOST_RESULT_OF_NUM_ARGS 16
 #endif
 
 // Use the decltype-based version of result_of by default if the compiler
 // supports N3276 <http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2011/n3276.pdf>.
-// The user can force the choice by defining either BOOST_RESULT_OF_USE_DECLTYPE or
-// BOOST_RESULT_OF_USE_TR1, but not both!
-#if defined(BOOST_RESULT_OF_USE_DECLTYPE) && defined(BOOST_RESULT_OF_USE_TR1)
-#  error Both BOOST_RESULT_OF_USE_DECLTYPE and BOOST_RESULT_OF_USE_TR1 cannot be defined at the same time.
+// The user can force the choice by defining either NDNBOOST_RESULT_OF_USE_DECLTYPE or
+// NDNBOOST_RESULT_OF_USE_TR1, but not both!
+#if defined(NDNBOOST_RESULT_OF_USE_DECLTYPE) && defined(NDNBOOST_RESULT_OF_USE_TR1)
+#  error Both NDNBOOST_RESULT_OF_USE_DECLTYPE and NDNBOOST_RESULT_OF_USE_TR1 cannot be defined at the same time.
 #endif
 
-#ifndef BOOST_RESULT_OF_USE_TR1
-#  ifndef BOOST_RESULT_OF_USE_DECLTYPE
-#    ifndef BOOST_NO_CXX11_DECLTYPE_N3276 // this implies !defined(BOOST_NO_CXX11_DECLTYPE)
-#      define BOOST_RESULT_OF_USE_DECLTYPE
+#ifndef NDNBOOST_RESULT_OF_USE_TR1
+#  ifndef NDNBOOST_RESULT_OF_USE_DECLTYPE
+#    ifndef NDNBOOST_NO_CXX11_DECLTYPE_N3276 // this implies !defined(NDNBOOST_NO_CXX11_DECLTYPE)
+#      define NDNBOOST_RESULT_OF_USE_DECLTYPE
 #    else
-#      define BOOST_RESULT_OF_USE_TR1
+#      define NDNBOOST_RESULT_OF_USE_TR1
 #    endif
 #  endif
 #endif
@@ -59,19 +59,19 @@
 template<typename F> struct result_of;
 template<typename F> struct tr1_result_of; // a TR1-style implementation of result_of
 
-#if !defined(BOOST_NO_SFINAE) && !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+#if !defined(NDNBOOST_NO_SFINAE) && !defined(NDNBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
 namespace detail {
 
-BOOST_MPL_HAS_XXX_TRAIT_DEF(result_type)
+NDNBOOST_MPL_HAS_XXX_TRAIT_DEF(result_type)
 
 template<typename F, typename FArgs, bool HasResultType> struct tr1_result_of_impl;
 
-#ifdef BOOST_NO_SFINAE_EXPR
+#ifdef NDNBOOST_NO_SFINAE_EXPR
 
 // There doesn't seem to be any other way to turn this off such that the presence of
 // the user-defined operator,() below doesn't cause spurious warning all over the place,
 // so unconditionally turn it off.
-#if BOOST_MSVC
+#if NDNBOOST_MSVC
 #  pragma warning(disable: 4913) // user defined binary operator ',' exists but no overload could convert all operands, default built-in binary operator ',' used
 #endif
 
@@ -122,7 +122,7 @@
 
 template<typename F, bool TestCallability = true> struct cpp0x_result_of_impl;
 
-#else // BOOST_NO_SFINAE_EXPR
+#else // NDNBOOST_NO_SFINAE_EXPR
 
 template<typename T>
 struct result_of_always_void
@@ -132,7 +132,7 @@
 
 template<typename F, typename Enable = void> struct cpp0x_result_of_impl {};
 
-#endif // BOOST_NO_SFINAE_EXPR
+#endif // NDNBOOST_NO_SFINAE_EXPR
 
 template<typename F>
 struct result_of_void_impl
@@ -182,13 +182,13 @@
 
 } // end namespace detail
 
-#define BOOST_PP_ITERATION_PARAMS_1 (3,(0,BOOST_RESULT_OF_NUM_ARGS,<ndnboost/utility/detail/result_of_iterate.hpp>))
-#include BOOST_PP_ITERATE()
+#define NDNBOOST_PP_ITERATION_PARAMS_1 (3,(0,NDNBOOST_RESULT_OF_NUM_ARGS,<ndnboost/utility/detail/result_of_iterate.hpp>))
+#include NDNBOOST_PP_ITERATE()
 
 #else
-#  define BOOST_NO_RESULT_OF 1
+#  define NDNBOOST_NO_RESULT_OF 1
 #endif
 
 }
 
-#endif // BOOST_RESULT_OF_HPP
+#endif // NDNBOOST_RESULT_OF_HPP
diff --git a/include/ndnboost/utility/swap.hpp b/include/ndnboost/utility/swap.hpp
index 6f4e366..95f80f3 100644
--- a/include/ndnboost/utility/swap.hpp
+++ b/include/ndnboost/utility/swap.hpp
@@ -6,8 +6,8 @@
 // For more information, see http://www.boost.org
 
 
-#ifndef BOOST_UTILITY_SWAP_HPP
-#define BOOST_UTILITY_SWAP_HPP
+#ifndef NDNBOOST_UTILITY_SWAP_HPP
+#define NDNBOOST_UTILITY_SWAP_HPP
 
 // Note: the implementation of this utility contains various workarounds:
 // - swap_impl is put outside the boost namespace, to avoid infinite
diff --git a/include/ndnboost/utility/value_init.hpp b/include/ndnboost/utility/value_init.hpp
index 6767810..8e34ae2 100644
--- a/include/ndnboost/utility/value_init.hpp
+++ b/include/ndnboost/utility/value_init.hpp
@@ -12,8 +12,8 @@
 // 03 Apr 2010 (Added initialized<T>, suggested by Jeffrey Hellrung, fixing #3472) Niels Dekker
 // 30 May 2010 (Made memset call conditional, fixing #3869) Niels Dekker
 //
-#ifndef BOOST_UTILITY_VALUE_INIT_21AGO2002_HPP
-#define BOOST_UTILITY_VALUE_INIT_21AGO2002_HPP
+#ifndef NDNBOOST_UTILITY_VALUE_INIT_21AGO2002_HPP
+#define NDNBOOST_UTILITY_VALUE_INIT_21AGO2002_HPP
 
 // Note: The implementation of ndnboost::value_initialized had to deal with the
 // fact that various compilers haven't fully implemented value-initialization.
@@ -22,7 +22,7 @@
 // contains. More details on these issues are at libs/utility/value_init.htm
 
 #include <ndnboost/aligned_storage.hpp>
-#include <ndnboost/config.hpp> // For BOOST_NO_COMPLETE_VALUE_INITIALIZATION.
+#include <ndnboost/config.hpp> // For NDNBOOST_NO_COMPLETE_VALUE_INITIALIZATION.
 #include <ndnboost/detail/workaround.hpp>
 #include <ndnboost/static_assert.hpp>
 #include <ndnboost/type_traits/cv_traits.hpp>
@@ -31,7 +31,7 @@
 #include <cstring>
 #include <new>
 
-#ifdef BOOST_MSVC
+#ifdef NDNBOOST_MSVC
 #pragma warning(push)
 #if _MSC_VER >= 1310
 // It is safe to ignore the following warning from MSVC 7.1 or higher:
@@ -43,20 +43,20 @@
 #endif
 #endif
 
-#ifdef BOOST_NO_COMPLETE_VALUE_INITIALIZATION
-  // Implementation detail: The macro BOOST_DETAIL_VALUE_INIT_WORKAROUND_SUGGESTED 
+#ifdef NDNBOOST_NO_COMPLETE_VALUE_INITIALIZATION
+  // Implementation detail: The macro NDNBOOST_DETAIL_VALUE_INIT_WORKAROUND_SUGGESTED 
   // suggests that a workaround should be applied, because of compiler issues 
   // regarding value-initialization.
-  #define BOOST_DETAIL_VALUE_INIT_WORKAROUND_SUGGESTED
+  #define NDNBOOST_DETAIL_VALUE_INIT_WORKAROUND_SUGGESTED
 #endif
 
-// Implementation detail: The macro BOOST_DETAIL_VALUE_INIT_WORKAROUND
+// Implementation detail: The macro NDNBOOST_DETAIL_VALUE_INIT_WORKAROUND
 // switches the value-initialization workaround either on or off.
-#ifndef BOOST_DETAIL_VALUE_INIT_WORKAROUND
-  #ifdef BOOST_DETAIL_VALUE_INIT_WORKAROUND_SUGGESTED
-  #define BOOST_DETAIL_VALUE_INIT_WORKAROUND 1
+#ifndef NDNBOOST_DETAIL_VALUE_INIT_WORKAROUND
+  #ifdef NDNBOOST_DETAIL_VALUE_INIT_WORKAROUND_SUGGESTED
+  #define NDNBOOST_DETAIL_VALUE_INIT_WORKAROUND 1
   #else
-  #define BOOST_DETAIL_VALUE_INIT_WORKAROUND 0
+  #define NDNBOOST_DETAIL_VALUE_INIT_WORKAROUND 0
   #endif
 #endif
 
@@ -68,7 +68,7 @@
   private :
     struct wrapper
     {
-#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x592))
+#if !NDNBOOST_WORKAROUND(__BORLANDC__, NDNBOOST_TESTED_AT(0x592))
       typename
 #endif 
       remove_const<T>::type data;
@@ -87,7 +87,7 @@
     };
 
     mutable
-#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x592))
+#if !NDNBOOST_WORKAROUND(__BORLANDC__, NDNBOOST_TESTED_AT(0x592))
       typename
 #endif 
       aligned_storage<sizeof(wrapper), alignment_of<wrapper>::value>::type x;
@@ -101,7 +101,7 @@
 
     initialized()
     {
-#if BOOST_DETAIL_VALUE_INIT_WORKAROUND
+#if NDNBOOST_DETAIL_VALUE_INIT_WORKAROUND
       std::memset(&x, 0, sizeof(x));
 #endif
       new (wrapper_address()) wrapper();
@@ -120,7 +120,7 @@
     initialized & operator=(initialized const & arg)
     {
       // Assignment is only allowed when T is non-const.
-      BOOST_STATIC_ASSERT( ! is_const<T>::value );
+      NDNBOOST_STATIC_ASSERT( ! is_const<T>::value );
       *wrapper_address() = static_cast<wrapper const &>(*(arg.wrapper_address()));
       return *this;
     }
@@ -251,7 +251,7 @@
 
 } // namespace ndnboost
 
-#ifdef BOOST_MSVC
+#ifdef NDNBOOST_MSVC
 #pragma warning(pop)
 #endif
 
diff --git a/include/ndnboost/version.hpp b/include/ndnboost/version.hpp
index d3826c2..8f35f13 100644
--- a/include/ndnboost/version.hpp
+++ b/include/ndnboost/version.hpp
@@ -6,8 +6,8 @@
 
 //  See http://www.boost.org/libs/config for documentation
 
-#ifndef BOOST_VERSION_HPP
-#define BOOST_VERSION_HPP
+#ifndef NDNBOOST_VERSION_HPP
+#define NDNBOOST_VERSION_HPP
 
 //
 //  Caution, this is the only boost header that is guarenteed
@@ -15,18 +15,18 @@
 //  will cause a recompile every time a new boost version is
 //  released.
 //
-//  BOOST_VERSION % 100 is the patch level
-//  BOOST_VERSION / 100 % 1000 is the minor version
-//  BOOST_VERSION / 100000 is the major version
+//  NDNBOOST_VERSION % 100 is the patch level
+//  NDNBOOST_VERSION / 100 % 1000 is the minor version
+//  NDNBOOST_VERSION / 100000 is the major version
 
-#define BOOST_VERSION 105400
+#define NDNBOOST_VERSION 105400
 
 //
-//  BOOST_LIB_VERSION must be defined to be the same as BOOST_VERSION
+//  NDNBOOST_LIB_VERSION must be defined to be the same as NDNBOOST_VERSION
 //  but as a *string* in the form "x_y[_z]" where x is the major version
 //  number, y is the minor version number, and z is the patch level if not 0.
 //  This is used by <config/auto_link.hpp> to select which library version to link to.
 
-#define BOOST_LIB_VERSION "1_54"
+#define NDNBOOST_LIB_VERSION "1_54"
 
 #endif
diff --git a/include/ndnboost/visit_each.hpp b/include/ndnboost/visit_each.hpp
index 43dfa65..64d015e 100644
--- a/include/ndnboost/visit_each.hpp
+++ b/include/ndnboost/visit_each.hpp
@@ -7,8 +7,8 @@
 
 // For more information, see http://www.boost.org/libs/signals
 
-#ifndef BOOST_VISIT_EACH_HPP
-#define BOOST_VISIT_EACH_HPP
+#ifndef NDNBOOST_VISIT_EACH_HPP
+#define NDNBOOST_VISIT_EACH_HPP
 
 #include <ndnboost/config.hpp>
 
@@ -26,4 +26,4 @@
   }
 }
 
-#endif // BOOST_VISIT_EACH_HPP
+#endif // NDNBOOST_VISIT_EACH_HPP
diff --git a/include/ndnboost/weak_ptr.hpp b/include/ndnboost/weak_ptr.hpp
index d7bbb7d..cd3d77f 100644
--- a/include/ndnboost/weak_ptr.hpp
+++ b/include/ndnboost/weak_ptr.hpp
@@ -1,5 +1,5 @@
-#ifndef BOOST_WEAK_PTR_HPP_INCLUDED
-#define BOOST_WEAK_PTR_HPP_INCLUDED
+#ifndef NDNBOOST_WEAK_PTR_HPP_INCLUDED
+#define NDNBOOST_WEAK_PTR_HPP_INCLUDED
 
 //
 //  weak_ptr.hpp
@@ -15,4 +15,4 @@
 
 #include <ndnboost/smart_ptr/weak_ptr.hpp>
 
-#endif  // #ifndef BOOST_WEAK_PTR_HPP_INCLUDED
+#endif  // #ifndef NDNBOOST_WEAK_PTR_HPP_INCLUDED